{
  "version": 3,
  "sources": ["ssg:https://ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js", "ssg:https://ga.jspm.io/npm:@motionone/easing@10.13.1/dist/index.es.js", "ssg:https://framerusercontent.com/modules/cKGD16u2MGB7MfqfVXFp/wiztTCbXokZrMicHAmZc/Grain.js", "ssg:https://framerusercontent.com/modules/DVYtI0I60utFDv4RKjrL/vS0JVzPfVZXqcrY9nI7B/AutoCopyright_Prod.js", "ssg:https://ga.jspm.io/npm:@emotion/hash@0.8.0/dist/hash.browser.esm.js", "ssg:https://framerusercontent.com/modules/dZ9c6z10n71dmz3JQVi4/0dSuyhnHD9HrUa3w2XFr/Arc.js", "ssg:https://framerusercontent.com/modules/E8j1LvFVym0PZuXXBXks/6fi1bHOBdNCu826w2y7g/HandyArrows_Prod.js", "ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js", "ssg:https://framer.com/m/framer/useAutoMotionValue.js@0.3.0", "ssg:https://jspm.dev/npm:lottie-web@5.7.8!cjs", "ssg:https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/RLfsHd78NBd0kbafA9hd/Lottie.js", "ssg:https://framerusercontent.com/modules/loNlkT8cIFGAYEtp8v0V/TFTfPfvIiwrbg3wHXGqz/oLaCv7REM.js", "ssg:https://framerusercontent.com/modules/6TqI6qIuzSY6zcFGsaEX/yjT5IhlDOFL1FxNilCcZ/tbYx7absT.js", "ssg:https://framerusercontent.com/modules/xrqQ1HdwNNewJP3Os0eD/opm7Vzyo1dUHvDy8duWJ/XLJpEU7au.js", "ssg:https://framerusercontent.com/modules/IJ0JUB1FrbM74CXXuMwf/gphrxuF7R6zLinqWWhRX/oZ7dedNc0.js", "ssg:https://framerusercontent.com/modules/Taou76jXpXobIkxFBv0S/Z9yHOyL8R5JmKTgG4opq/O5xt7w8c2.js", "ssg:https://framerusercontent.com/modules/WGxmAfhNeHBnc0mbZIuZ/3Xo6NJmCBwgRQKBomLvv/mGctrih77.js", "ssg:https://framerusercontent.com/modules/38sUhLK23NrJC7VBXb0d/mKtrApozNgwHLHMt4WsR/RCHbZjYBB.js", "ssg:https://framerusercontent.com/modules/yHyyI3cEOaApo409osGD/u66WPJi3aoiIg1a9aQK3/Nb6PHI77H.js", "ssg:https://framerusercontent.com/modules/8cZxtAOUqmrxSAbbtOR7/1vczmYQyIcw8Ije1xBZq/l2AX6yYet.js"],
  "sourcesContent": ["function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map", "import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{motion}from\"framer-motion\";import{steps}from\"@motionone/easing\";/**\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function Grain(props){const{opacity,style}=props;const keyframesX=[\"0%\",\"-5%\",\"-15%\",\"7%\",\"-5%\",\"-15%\",\"15%\",\"0%\",\"3%\",\"-10%\",];const keyframesY=[\"0%\",\"-10%\",\"5%\",\"-25%\",\"25%\",\"10%\",\"0%\",\"15%\",\"35%\",\"10%\",];const isCanvas=RenderTarget.current()===RenderTarget.canvas;return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",height:\"100%\",position:\"relative\",overflow:\"hidden\"},children:/*#__PURE__*/ _jsx(motion.div,{style:{...containerStyle,opacity:opacity,inset:isCanvas?0:\"-200%\",width:isCanvas?\"100%\":\"400%\",height:isCanvas?\"100%\":\"400%\",position:\"absolute\"},animate:!isCanvas&&{x:keyframesX,y:keyframesY},transition:{ease:steps(10,\"start\"),repeat:Infinity,duration:8}})});};Grain.defaultProps={opacity:.5};addPropertyControls(Grain,{opacity:{title:\"Opacity\",type:ControlType.Number,step:.1,displayStepper:true,max:1,min:0}});const containerStyle={backgroundSize:\"256px 256px\",backgroundRepeat:\"repeat\",background:\"url('https://framerusercontent.com/images/rR6HYXBrMmX4cRpXfXUOvpvpB0.png')\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Grain\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"100\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"100\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Grain.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";const currentYear=new Date().getFullYear();/**\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth any-prefer-auto\n * @framerSupportedLayoutHeight any-prefer-auto\n */export default function AutoCopyright(props){const{name,statement,dateRange,startYear,font,color,fontSize}=props;const yearDisplay=dateRange?`${startYear}-${currentYear}`:currentYear;let displayText=`\\xa9 ${yearDisplay} ${name.trim()}`;if(statement.trim()){displayText+=` ${statement.trim()}`;}const textStyle={fontSize:`${fontSize}px`,color:color,...font};return /*#__PURE__*/_jsx(\"div\",{style:textStyle,children:displayText});}AutoCopyright.defaultProps={name:\"Your Name\",statement:\"All rights reserved.\",dateRange:false,startYear:currentYear-1,color:\"#999999\",fontSize:14,font:{family:\"Inter\"}};AutoCopyright.displayName=\"Auto Copyright\";addPropertyControls(AutoCopyright,{font:{type:ControlType.Font,title:\"Font\",defaultValue:\"Inter\",controls:\"extended\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#999999\"},dateRange:{type:ControlType.Boolean,title:\"Date Range\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\"},startYear:{type:ControlType.Number,title:\"Start Year\",min:1e3,max:currentYear-1,defaultValue:currentYear-2,displayStepper:true,hidden:({dateRange})=>!dateRange},name:{type:ControlType.String,title:\"Name\",defaultValue:\"Your Name\"},statement:{type:ControlType.String,title:\"Statement\",defaultValue:\"All rights reserved.\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AutoCopyright\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AutoCopyright_Prod.map", "function murmur2(r){var t=0;var a,e=0,c=r.length;for(;c>=4;++e,c-=4){a=255&r.charCodeAt(e)|(255&r.charCodeAt(++e))<<8|(255&r.charCodeAt(++e))<<16|(255&r.charCodeAt(++e))<<24;a=1540483477*(65535&a)+(59797*(a>>>16)<<16);a^=a>>>24;t=1540483477*(65535&a)+(59797*(a>>>16)<<16)^1540483477*(65535&t)+(59797*(t>>>16)<<16)}switch(c){case 3:t^=(255&r.charCodeAt(e+2))<<16;case 2:t^=(255&r.charCodeAt(e+1))<<8;case 1:t^=255&r.charCodeAt(e);t=1540483477*(65535&t)+(59797*(t>>>16)<<16)}t^=t>>>13;t=1540483477*(65535&t)+(59797*(t>>>16)<<16);return((t^t>>>15)>>>0).toString(36)}export{murmur2 as default};\n\n//# sourceMappingURL=hash.browser.esm.js.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import hash from\"@emotion/hash\";function getAlignmentIcon(alignmentBaseline){switch(alignmentBaseline){case\"top\":return\"Text Top\";case\"center\":return\"Central\";case\"bottom\":return\"Hanging\";}}/**\n * ARC TEXT FOR INSERT\n * By Adam and Benjamin\n *\n * @framerIntrinsicWidth 150\n * @framerIntrinsicHeight 150\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */const Arc=withCSS(function Arc(props){// Checks\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;// For Ellipse\nconst isEllipse=!props.type;const cylinder=isEllipse?props.cylinderHeight/2:0;// Base arc path\nconst path=createPath(props.flip,cylinder);// Unique IDs to avoid multiple instances on the canvas sharing a single path\nconst id=`curve-${hash(path)}`;// Alignment icon conversion\nconst alignmentValue=getAlignmentIcon(props.alignmentBaseline);return /*#__PURE__*/_jsxs(\"svg\",{className:\"transform-origin-center-center\",style:{width:\"100%\",height:\"100%\",transformOrigin:\"center\"},viewBox:`0 0 100 100`,overflow:\"visible\",children:[/*#__PURE__*/_jsx(\"path\",{id:id,d:path,strokeWidth:\"none\",fill:\"transparent\"}),/*#__PURE__*/_jsx(\"text\",{children:/*#__PURE__*/_jsx(\"textPath\",{href:`#${id}`,startOffset:props.startOffset,dominantBaseline:alignmentValue,style:{letterSpacing:props.font.letterSpacing?props.font.letterSpacing:1.85,...props.font,fill:props.color},children:props.text})})]});},// Work around a bug with framer-motion that calculates a px origin when animating SVG elements.\n[\".transform-origin-center-center { transform-origin: center center !important; }\"]);export default Arc;Arc.defaultProps={height:50,width:50};addPropertyControls(Arc,{text:{title:\"Content\",type:ControlType.String,defaultValue:\"DESIGN SITES LIKE A PRO WITH FRAMER\",displayTextArea:true},type:{title:\"Type\",type:ControlType.Boolean,enabledTitle:\"Circle\",disabledTitle:\"Ellipse\",defaultValue:true},cylinderHeight:{title:\"Height\",type:ControlType.Number,min:0,max:1e3,displayStepper:true,hidden:props=>props.type},alignmentBaseline:{title:\"Align\",type:ControlType.Enum,options:[\"top\",\"center\",\"bottom\"],optionIcons:[\"align-top\",\"align-middle\",\"align-bottom\"],defaultValue:\"bottom\",displaySegmentedControl:true},flip:{type:ControlType.Boolean,defaultValue:false,title:\"Direction\",enabledTitle:\"CW\",disabledTitle:\"CCW\"},startOffset:{title:\"Offset\",type:ControlType.Number,defaultValue:0,max:360,unit:\"\\xb0\",step:.5},font:{type:ControlType.Font,title:\"Font\",controls:\"extended\",displayTextAlignment:false},color:{title:\"Color\",type:ControlType.Color,defaultValue:\"#999\"}});/* Path creation method */const createPath=(flip,cylinder)=>{const cylinderTop=50-cylinder;const cylinderBottom=50+cylinder;return!flip?`M 0 50 L 0 ${cylinderTop} A 1 1 0 0 1 100 ${cylinderTop} L 100 50 L 100 ${cylinderBottom} A 1 1 0 0 1 0 ${cylinderBottom} L 0 ${cylinderTop}`:`M 0 50 L 0 ${cylinderBottom} A 1 1 0 1 0 100 ${cylinderBottom} L 100 ${cylinderTop} A 1 1 0 1 0 0 ${cylinderTop} L 0 50`;};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Arc\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerIntrinsicHeight\":\"150\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"150\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Arc.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerIntrinsicWidth 100\n * @framerIntrinsicHeight 100\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function HandyArrows(props){const{color,arrows}=props;const ArrowComponents={Arrow1,Arrow2,Arrow3,Arrow4,Arrow5,Arrow6,Arrow7,Arrow8,Arrow9,Arrow10,Arrow11,Arrow12,Arrow13,Arrow14,Arrow15,Arrow16};const SelectedArrow=ArrowComponents[arrows];return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsx(SelectedArrow,{color:color,width:\"100%\",height:\"100%\",style:{maxWidth:\"100%\",maxHeight:\"100%\"}})});}HandyArrows.displayName=\"Handy Arrows\";addPropertyControls(HandyArrows,{arrows:{type:ControlType.Enum,title:\"Arrow\",options:[\"Arrow1\",\"Arrow2\",\"Arrow3\",\"Arrow4\",\"Arrow5\",\"Arrow6\",\"Arrow7\",\"Arrow8\",\"Arrow9\",\"Arrow10\",\"Arrow11\",\"Arrow12\",\"Arrow13\",\"Arrow14\",\"Arrow15\",\"Arrow16\"],optionTitles:[\"Arrow 1\",\"Arrow 2\",\"Arrow 3\",\"Arrow 4\",\"Arrow 5\",\"Arrow 6\",\"Arrow 7\",\"Arrow 8\",\"Arrow 9\",\"Arrow 10\",\"Arrow 11\",\"Arrow 12\",\"Arrow 13\",\"Arrow 14\",\"Arrow 15\",\"Arrow 16\"],defaultValue:\"Arrow1\"},color:{type:ControlType.Color,title:\"Color\",defaultValue:\"#ffffff\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const Arrow1=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"150\",height:\"82\",viewBox:\"0 0 150 82\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M67.616 0.147978C57.1498 0.781251 46.3786 4.08834 38.3061 9.10762C31.9231 13.0949 25.4463 19.3807 20.0724 26.7689C15.5199 33.0312 11.249 40.1849 8.76149 45.6967C6.18015 51.4431 4.37323 57.0487 2.26123 65.7738C-0.226243 76.0234 -0.531333 79.0491 0.712402 80.8785C1.1348 81.5118 1.36949 81.6525 2.02656 81.6525H2.84789L3.01215 79.6589C3.15295 77.6887 3.36414 76.774 6.34441 66.0552C8.85535 56.9314 10.7796 51.7714 14.018 45.4152C19.5796 34.4854 27.9103 23.626 35.2554 17.8092C42.5066 12.0629 51.1658 8.5447 61.984 6.90288C63.3216 6.71525 66.1845 6.59798 69.8453 6.59798C76.1813 6.62143 78.9269 6.90288 83.8315 8.09907C93.8987 10.5852 100.352 14.3614 113.259 25.3382C115.817 27.5194 121.003 32.4918 121.003 32.7732C121.003 32.8436 120.346 32.7732 119.548 32.6091C117.389 32.1634 116.286 32.2103 115.136 32.8202C113.939 33.4534 113.024 34.9311 113.024 36.2211C113.024 38.1678 114.291 39.5985 117.131 40.8651C117.905 41.1934 121.918 43.1636 126.048 45.2276C134.332 49.3791 135.857 50.0358 139.494 51.0443C143.906 52.2874 146.511 51.9356 148.271 49.8951C149.82 48.0891 150.031 45.6498 148.858 43.2574C148.506 42.5772 147.027 40.4898 145.549 38.6134C142.404 34.6496 141.7 33.5472 140.433 30.592C139.236 27.8009 138.18 24.0951 136.843 18.0438C134.543 7.44234 134.684 7.95834 134.027 8.61507C133.229 9.41252 132.032 17.8796 132.032 22.7112C132.032 26.1122 132.29 28.1996 133.088 31.4832C133.393 32.7732 133.628 33.8287 133.604 33.8522C133.581 33.8756 132.76 32.8202 131.797 31.5067C127.503 25.69 116.826 16.3551 107.275 10.0927C99.4838 5.00307 92.6784 2.35271 83.4091 0.851615C78.3872 0.0307056 73.248 -0.180385 67.616 0.147978Z\",fill:\"currentColor\"})});const Arrow2=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"144\",height:\"141\",viewBox:\"0 0 144 141\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M129.189 0.0490494C128.744 0.119441 126.422 0.377545 124.03 0.635648C114.719 1.6446 109.23 2.4893 108.058 3.09936C107.119 3.56864 106.674 4.34295 106.674 5.44576C106.674 6.71281 107.424 7.51058 109.043 7.97986C110.403 8.37875 110.825 8.42567 118.87 9.52847C121.778 9.92736 124.288 10.3028 124.475 10.3732C124.663 10.4436 122.951 11.1006 120.676 11.8749C110.028 15.4414 100.412 20.7677 91.7339 27.9242C88.38 30.7164 81.6957 37.4271 79.2096 40.5009C73.8387 47.2116 69.6874 54.8139 66.5681 63.7302C65.9348 65.4665 65.3484 66.8978 65.2546 66.8978C65.1374 66.8978 63.7771 66.7336 62.2291 66.5693C52.9649 65.5134 43.1847 68.1649 34.1316 74.2186C24.7735 80.46 18.5349 87.7338 10.5371 101.742C2.53943 115.726 -1.0959 127.482 0.287874 135.014C0.89767 138.463 2.0469 140.035 3.97011 140.082C5.28352 140.105 5.37733 139.659 4.20465 139.049C3.05541 138.463 2.6567 137.9 2.32835 136.281C0.616228 128.021 6.24512 113.028 17.4325 96.1104C23.2725 87.241 28.362 81.9147 35.5622 77.1046C43.8649 71.5437 52.7069 69.033 61.1737 69.8308C64.9967 70.1828 64.6917 69.9247 64.1992 72.4822C62.2525 82.5013 63.8005 92.6378 67.9753 97.354C73.1116 103.079 81.9771 102 85.0027 95.2657C86.3395 92.2858 86.3864 87.7103 85.1434 83.9796C83.1498 78.0901 80.007 73.8197 75.4335 70.8163C73.8152 69.7604 70.4848 68.1883 69.875 68.1883C69.359 68.1883 69.4294 67.6487 70.2268 65.3257C72.3377 59.2486 75.457 52.7021 78.4122 48.244C83.2436 40.9232 91.4524 32.5701 99.1687 27.103C105.806 22.4102 113.241 18.5386 120.512 16.0045C123.772 14.8548 129.87 13.1889 130.081 13.3766C130.128 13.447 129.541 14.362 128.791 15.4414C124.78 21.0258 122.716 26.0706 122.388 30.998C122.224 33.7198 122.341 34.588 122.88 34.2595C122.998 34.1891 123.678 32.969 124.405 31.5611C126.281 27.8069 131.722 20.6738 139.579 11.6402C141.127 9.85697 142.652 7.86254 143.027 7.08823C144.552 4.03792 143.52 1.48035 140.377 0.471397C139.439 0.166366 138.102 0.0490408 134.584 0.0255769C132.074 -0.021351 129.635 0.00212153 129.189 0.0490494ZM137.117 4.92955C137.187 5.0234 136.718 5.63346 136.061 6.29045L134.865 7.48712L131.042 6.73627C128.931 6.33739 126.727 5.9385 126.14 5.8681C124.827 5.68039 124.123 5.32843 124.968 5.28151C125.296 5.28151 126.868 5.11725 128.486 4.953C131.3 4.64797 136.812 4.62451 137.117 4.92955ZM71.5168 72.5292C76.2075 74.899 79.4441 78.8175 81.3204 84.355C83.6189 91.1361 81.2266 96.8378 76.0433 96.8847C73.3227 96.9082 70.9773 95.2188 69.5936 92.2389C68.2802 89.4232 67.6938 86.5606 67.5765 82.1259C67.4593 78.3248 67.6 76.4242 68.2333 72.7403L68.4912 71.2856L69.359 71.5906C69.8515 71.7548 70.8132 72.1772 71.5168 72.5292Z\",fill:\"currentColor\"})});const Arrow3=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"45\",height:\"119\",viewBox:\"0 0 45 119\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M41.9623 0.226546C41.9154 0.320411 41.329 1.82224 40.6723 3.55873C40.039 5.29523 38.1628 9.73034 36.5444 13.4145C31.6425 24.4436 29.8835 28.8084 24.0669 44.2726C19.8921 55.3486 13.4187 75.7642 8.72794 92.6129L7.2269 97.9867L7.08616 94.8422C6.82816 89.3511 5.89001 87.333 3.52116 87.333C2.51263 87.333 1.71519 88.1544 1.45719 89.4919C1.33992 90.0551 1.08195 93.0823 0.894318 96.2502C0.706686 99.4181 0.448692 103.572 0.307967 105.519C0.190697 107.444 0.0499847 110.682 0.0265307 112.677C-0.0438314 115.985 0.00303082 116.384 0.448657 117.135C1.43373 118.825 3.28661 119.435 5.09257 118.684C6.03073 118.285 6.94542 117.206 9.713 113.263C13.9816 107.185 18.907 101.272 23.1991 97.0481C28.0775 92.2609 28.3355 91.7212 25.0754 93.1996C21.0647 94.983 16.6085 97.9867 12.7386 101.483C11.519 102.586 10.487 103.454 10.4401 103.407C10.3463 103.314 13.8409 91.0172 17.101 80.0585C19.7513 71.1883 22.7065 61.6141 24.747 55.419C27.5615 46.8069 34.6681 27.3065 38.2331 18.4598C41.7043 9.82421 43.4399 4.96671 43.9325 2.54969C44.167 1.37638 44.1435 1.11826 43.8386 0.602C43.4633 0.038811 42.2437 -0.219311 41.9623 0.226546Z\",fill:\"currentColor\"})});const Arrow4=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"91\",height:\"195\",viewBox:\"0 0 91 195\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M83.8275 2.83924C71.2259 10.0664 63.6462 14.9471 55.0809 21.3765C41.8223 31.3725 31.6613 40.3126 29.0565 44.3251C27.6954 46.4604 27.32 47.7744 27.4373 50.074C27.5546 52.4439 28.2821 53.9222 30.2533 55.729C33.8671 59.061 40.4143 61.2901 54.4943 63.9417C58.9764 64.7864 60.9476 65.42 60.9476 65.9831C60.9476 66.5463 58.6948 69.3151 56.6767 71.2392C54.0719 73.75 51.1855 76.0261 45.6239 79.9916C37.6687 85.6466 34.313 88.5797 31.3797 92.4984C29.2442 95.2907 28.2352 97.5433 28.1413 99.6551C28.0005 102.377 28.7983 104.067 30.8869 105.381C33.1397 106.812 34.2895 107 42.761 107.328C52.6873 107.704 53.0628 107.844 51.115 110.543C50.6223 111.247 47.9471 113.992 45.178 116.667C40.2501 121.407 38.0677 123.777 35.6037 127.062C33.7263 129.573 29.9248 135.439 26.5221 141.024C18.4027 154.399 16.5957 158.575 12.2309 173.804C11.48 176.432 10.7995 178.567 10.7056 178.567C10.424 178.567 10.0486 177.324 9.79044 175.447C9.3915 172.725 7.98349 167.375 7.30295 165.967C6.62242 164.535 5.87149 163.878 4.6043 163.55C2.72697 163.034 0.708845 164.23 0.145647 166.154C-0.112485 166.952 -0.0420511 167.75 0.474214 171.364C0.826212 173.71 1.20167 176.948 1.34247 178.567C1.92913 186.146 2.0934 187.648 2.39846 189.244C2.77393 191.285 3.36058 192.482 4.44004 193.514C6.05924 195.063 8.28857 195.415 10.3771 194.43C11.0342 194.148 12.536 192.975 13.7563 191.848C16.8773 188.986 20.3035 186.452 34.4303 176.573C43.066 170.542 45.9055 168.477 46.3983 167.914C46.7268 167.492 46.5156 167.07 46.0228 167.07C45.53 167.07 33.5386 171.786 29.6197 173.522C27.9301 174.273 25.0906 175.611 23.2837 176.549C21.4768 177.465 19.928 178.239 19.8341 178.286C19.7403 178.333 19.7637 178.075 19.8576 177.699C24.5509 162.94 26.0293 159.608 33.6324 146.726C41.8223 132.858 43.9812 129.807 50.7396 122.721C55.034 118.192 56.9348 115.775 58.1081 113.359C58.8121 111.857 58.9529 111.294 59.0233 109.534C59.1172 107.586 59.0937 107.375 58.3897 105.944C57.1694 103.456 54.9636 101.931 51.6314 101.251C50.7631 101.086 48.041 100.805 45.577 100.664C41.0949 100.406 37.2463 100.054 36.4954 99.8194C35.9557 99.6551 36.1669 99.2562 38.0677 96.7924C40.4613 93.7185 43.1364 91.3251 50.0356 86.1159C55.2687 82.1738 58.0612 79.8273 60.666 77.1993C67.0489 70.7465 68.9497 65.6546 66.2041 62.4399C64.5379 60.5158 62.778 59.8353 55.1983 58.2866C43.77 55.9636 37.7391 53.8753 34.9701 51.3176C33.304 49.7924 33.6325 48.713 36.7535 45.4044C44.6852 37.004 59.9855 24.4504 75.6142 13.4923C85.6814 6.42936 89.4595 3.47279 90.14 1.99451C90.5155 1.22017 90.5154 1.10285 90.1869 0.563162C89.9522 0.234654 89.5768 0 89.2717 0C88.9901 0 86.5496 1.29056 83.8275 2.83924Z\",fill:\"currentColor\"})});const Arrow5=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"97\",height:\"52\",viewBox:\"0 0 97 52\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M74.568 0.553803C74.0753 0.881909 73.6295 1.4678 73.3713 2.12401C73.1367 2.70991 72.3858 4.67856 71.6584 6.50658C70.9544 8.35803 69.4526 11.8031 68.3498 14.1936C66.1441 19.0214 65.839 20.2167 66.543 21.576C67.4581 23.3337 69.4527 23.9196 71.3064 22.9821C72.4797 22.3728 74.8965 19.5839 76.9615 16.4435C78.8387 13.5843 78.8387 13.6077 78.1113 18.3418C77.3369 23.4275 76.4687 26.2866 74.5915 30.0364C73.254 32.7316 71.8461 34.6299 69.218 37.3485C65.9563 40.6999 62.2254 42.9732 57.4385 44.4965C53.8718 45.6449 52.3935 45.8324 47.2546 45.8324C43.3594 45.8324 42.1158 45.7386 39.9805 45.2933C32.2604 43.7466 25.3382 40.9577 19.4015 36.9735C15.0839 34.0909 12.5028 31.7004 9.80427 27.9975C6.80073 23.9196 4.36038 17.2403 3.72682 11.475C3.37485 8.1471 3.1402 7.32683 2.43624 7.13934C0.770217 6.71749 0.183578 7.77211 0.0193217 11.5219C-0.26226 18.5996 2.55356 27.1304 7.17619 33.1066C13.8403 41.7545 25.432 48.4103 38.901 51.2696C41.6465 51.8555 42.2566 51.9023 47.4893 51.9023C52.3935 51.9023 53.426 51.832 55.5144 51.3867C62.2723 49.9337 68.5375 46.6292 72.949 42.1998C76.0464 39.1296 78.1113 36.2939 79.8946 32.7081C82.1942 28.0912 83.5317 23.3103 84.2591 17.17C84.3999 15.8576 84.6111 14.7795 84.7284 14.7795C84.8223 14.7795 85.4559 15.1311 86.1364 15.5763C88.037 16.7716 90.3835 17.8965 93.5748 19.0918C96.813 20.3339 97.3996 20.287 96.4141 18.9512C94.9123 16.9122 90.055 11.5219 87.1219 8.63926C84.0949 5.66288 83.8368 5.33477 83.5552 4.1864C83.3909 3.48332 83.0155 2.68649 82.6401 2.31151C82.0065 1.6553 80.4109 1.04595 79.9885 1.30375C79.8712 1.37406 79.2845 1.11626 78.6744 0.717845C77.2431 -0.172727 75.7413 -0.243024 74.568 0.553803Z\",fill:\"currentColor\"})});const Arrow6=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"209\",height:\"124\",viewBox:\"0 0 209 124\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M134.408 1.05383C124.929 1.96687 105.406 6.82747 93.7645 11.1644C88.2593 13.1919 79.9076 17.1932 75.7452 19.7712C66.1314 25.7328 52.57 38.0185 43.1441 49.2704C33.5571 60.7371 24.2655 74.755 15.7661 90.5049L12.7719 96.0503L12.933 93.9288C13.027 92.7607 13.2955 89.3636 13.5238 86.3962L13.9535 80.9851L12.8793 79.3202C10.8518 76.1648 5.38697 71.6265 4.3665 72.2441C3.93684 72.4993 3.38632 74.6207 3.35947 76.1514C3.35947 76.8631 3.10435 78.2729 2.76867 79.2531C2.339 80.5286 2.24501 81.2805 2.47327 81.831C2.6344 82.3144 2.63439 85.0535 2.40613 88.84C1.78848 99.7562 1.42596 103.771 0.714318 107.611L0.029541 111.33L0.969437 113.156C2.76868 116.58 10.3282 123.267 12.4362 123.267C13.4835 123.267 16.0213 120.796 25.5008 110.552C29.7438 105.986 37.4241 97.9972 42.6473 92.8547L52.0732 83.4691L51.2944 81.9385C49.7905 79.0382 43.2381 73.0766 41.5463 73.0766C41.224 73.0766 33.0335 79.0785 30.2675 81.3611L28.6696 82.7038L29.5827 81.0791C31.2745 78.1117 39.1025 66.4705 41.8417 62.8318C48.3001 54.2653 56.9338 44.9066 63.9696 38.8108C74.4025 29.7878 85.8424 22.8997 96.7587 19.0864C109.662 14.5615 122.539 11.433 135.389 9.63374C141.323 8.81469 159.02 8.81469 164.566 9.63374C174.113 11.0704 188.063 14.9777 198.134 19.0595C200.967 20.2277 201.719 20.6842 203.907 22.7788C206.579 25.3166 208.473 26.2699 208.661 25.1286C208.983 23.3696 203.961 17.502 199.664 14.6689C196.281 12.3863 192.696 10.8288 185.056 8.25076C175.146 4.89399 166.54 2.83964 157.221 1.56406C152.723 0.94642 138.839 0.65103 134.408 1.10755V1.05383Z\",fill:\"currentColor\"})});const Arrow7=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"106\",height:\"212\",viewBox:\"0 0 106 212\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M89.5523 0.499048C87.5651 0.982422 84.0069 2.94278 81.2677 4.99712C78.5689 7.05146 71.3854 14.1947 67.6392 18.5853C59.8112 27.7426 55.0848 39.0884 53.2319 52.9989C52.5202 58.316 52.5202 68.5743 53.2319 74.4822C53.7824 78.9802 55.3131 87.0634 56.1993 89.8965L56.6826 91.4943L53.581 94.7839C38.0726 111.474 28.3916 132.111 24.0815 157.623C23.1685 163.168 22.0943 172.057 21.5706 178.448L21.3155 181.55L19.3283 178.287C15.7701 172.513 12.2925 168.217 8.66717 165.155C0.839139 158.468 -1.2421 159.516 1.92671 168.512C5.99514 179.979 15.1928 195.755 22.43 203.61C24.6723 206.054 28.8884 209.344 31.2919 210.552C33.937 211.922 34.9441 211.076 37.7503 205.074C38.6365 203.154 42.0873 196.924 45.4038 191.217C48.7338 185.511 51.4729 180.596 51.4729 180.261C51.4729 178.757 48.5995 174.943 44.7862 171.291C41.7919 168.458 39.6302 167.022 38.3277 167.022H37.3475L37.5758 165.128C38.5829 156.454 43.6717 141.564 48.9217 131.883C53.2856 123.827 57.9851 117.315 65.2492 109.164L66.6859 107.54L68.6059 109.299C75.1852 115.368 84.45 118.389 91.0696 116.67C95.5945 115.462 98.4411 112.884 101.006 107.58C102.805 103.901 103.248 102.236 103.288 99.47C103.315 93.5084 95.5005 83.8945 87.2563 79.7187C83.8055 77.9598 81.6437 77.5301 78.4883 77.9867C74.4199 78.5775 70.6335 80.3632 65.0209 84.3779C63.6245 85.385 62.416 86.204 62.3489 86.1369C61.9595 85.7072 61.2344 76.1606 61.2344 70.9509C61.2344 63.8479 61.5567 60.1018 62.698 54.3953C64.8463 43.7342 69.0222 35.1006 76.0312 26.8833C87.6725 13.2279 98.1994 6.67551 103.839 9.57576C104.591 9.93829 105.275 10.1263 105.369 10.0054C106.054 8.89099 100.576 2.9025 97.3535 1.2644C95.4334 0.284225 91.7812 -0.0782881 89.5255 0.485649L89.5523 0.499048ZM89.418 92.9712C89.324 93.4949 88.5721 95.2136 87.7933 96.8785C84.4097 103.981 78.5957 107.378 71.9493 106.13C70.7811 105.902 69.6667 105.606 69.4384 105.472C68.9148 105.15 74.9839 99.9265 78.9851 97.2276C82.8253 94.6496 87.7799 92.1791 89.2166 92.1119C89.4717 92.0851 89.5389 92.367 89.418 92.9578V92.9712Z\",fill:\"currentColor\"})});const Arrow8=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"84\",height:\"76\",viewBox:\"0 0 84 76\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M1.76001 75.17C0.809995 74.96 0.280012 73.88 0.520017 72.99C0.780012 72.03 1.74 71.56 2.68001 71.75H2.69002C2.67001 71.75 2.66 71.74 2.65001 71.74H2.80002C2.89171 71.7286 2.98343 71.7138 3.07701 71.6958C3.23132 71.6572 3.38568 71.6182 3.54001 71.57C4.02 71.39 4.49 71.18 4.95001 70.95C6.66958 70.0682 8.2803 69.0075 9.89187 67.9462C10.1078 67.804 10.3238 67.6618 10.54 67.52C10.8151 67.3285 11.0903 67.1374 11.3653 66.9464C12.5695 66.1098 13.7715 65.2747 14.96 64.42C15.86 63.77 16.76 63.12 17.67 62.47C18.1966 62.09 18.7055 61.6923 19.2144 61.2945C19.4688 61.0956 19.7233 60.8967 19.98 60.7C21.57 59.48 23.13 58.24 24.69 56.98L24.9572 56.7685C25.4501 56.3786 25.9458 55.9864 26.42 55.58C26.8743 55.1856 27.326 54.7913 27.7778 54.397C28.231 54.0013 28.6843 53.6057 29.14 53.21C29.6868 52.7281 30.2422 52.2462 30.7903 51.7722C31.2079 51.3798 31.6246 50.9874 32.0409 50.5954C32.9268 49.7611 33.8111 48.9283 34.7 48.1C35.5072 47.339 36.2789 46.5543 37.0515 45.7687L37.058 45.762C37.2883 45.5279 37.5186 45.2937 37.75 45.06C37.9835 44.8218 38.2181 44.5847 38.4526 44.3477L38.4577 44.3426C39.2259 43.5663 39.9934 42.7907 40.72 41.98C41.91 40.65 43.1 39.33 44.29 38.01C44.9394 37.2107 45.5913 36.4114 46.2433 35.6122C46.8964 34.8115 47.5494 34.0107 48.2 33.21C48.59 32.7327 48.9482 32.2237 49.3053 31.7165C49.4793 31.4693 49.653 31.2225 49.83 30.98C49.9279 30.8456 50.0261 30.7116 50.1247 30.5779C50.2312 30.4333 50.338 30.2889 50.4448 30.1446L50.4456 30.1435C50.9156 29.5083 51.3849 28.8738 51.83 28.22V28.24C53.37 25.96 54.78 23.62 56.03 21.17C56.91 19.39 57.67 17.56 58.34 15.7C58.96 13.91 59.45 12.11 59.93 10.28C60.151 9.44028 60.3251 8.60055 60.5007 7.75392L60.57 7.42L60.5852 7.31476L60.5855 7.31259C60.7003 6.5192 60.8139 5.73419 60.9 4.94001C60.261 5.40915 59.6416 5.91753 59.026 6.42285C58.8805 6.54226 58.7353 6.6615 58.59 6.78C57.83 7.41 57.07 8.03 56.29 8.64C56.1778 8.7287 56.0657 8.8175 55.9535 8.90638L55.6428 9.15285C54.3795 10.155 53.1139 11.159 51.79 12.09L50.17 13.23C50.0875 13.2878 50.0057 13.3471 49.9238 13.4064C49.7082 13.5627 49.4919 13.7196 49.26 13.85C49.1133 13.938 48.9669 14.026 48.8207 14.114C48.494 14.3106 48.1681 14.5071 47.8422 14.7037C47.369 14.9891 46.8957 15.2746 46.42 15.56C46.2175 15.68 45.9981 15.7831 45.7787 15.8863C45.7056 15.9206 45.6325 15.955 45.56 15.99C45.2403 16.1499 44.923 16.3098 44.6057 16.4696L44.6 16.4725C44.2841 16.6317 43.9683 16.7908 43.65 16.95C42.892 17.3337 42.1078 17.6736 41.3301 18.0106L41.17 18.08C38.57 19.22 35.92 20.3 33.21 21.13C30.41 21.98 27.53 22.35 24.63 22.64C23.67 22.73 22.77 22.11 22.63 21.12C22.51 20.19 23.18 19.22 24.15 19.13C24.99 19.04 25.83 18.95 26.67 18.85C27.6 18.73 28.53 18.58 29.45 18.42C31.05 18.08 32.61 17.63 34.16 17.09C34.1533 17.0929 34.1466 17.0956 34.1397 17.0983C34.1351 17.1001 34.1305 17.1019 34.1259 17.1037C36.4823 16.2579 38.7679 15.2617 41.0629 14.2614L41.64 14.01C41.605 14.03 41.57 14.0475 41.535 14.065C41.5 14.0825 41.465 14.1 41.43 14.12C41.9546 13.8552 42.4817 13.5904 43.0088 13.3256C43.5367 13.0604 44.0646 12.7952 44.59 12.53C44.9151 12.3643 45.228 12.1661 45.539 11.969C45.716 11.8569 45.8923 11.7452 46.07 11.64C46.54 11.35 47.01 11.07 47.48 10.79C47.898 10.4964 48.3134 10.2028 48.7289 9.90928L48.7343 9.90548C49.152 9.61032 49.5698 9.31516 49.99 9.02C50.5461 8.62376 51.0829 8.20337 51.6205 7.78232C51.8563 7.59768 52.0922 7.41292 52.33 7.23001C53.7891 6.11369 55.2194 4.93982 56.6396 3.77417L56.6406 3.77344L56.73 3.7C56.8438 3.60573 56.9576 3.51081 57.0717 3.41569C57.9496 2.68341 58.8411 1.93989 59.85 1.40001C60.58 1.00001 61.57 0.710005 62.4 0.990003C62.4245 0.998182 62.449 1.00644 62.4734 1.01482C62.8621 0.965185 63.2588 1.04024 63.6 1.24C64.01 1.48 64.26 1.85 64.41 2.3C64.4818 2.50876 64.528 2.72603 64.5737 2.94071C64.598 3.0551 64.6222 3.16876 64.65 3.28C64.72 3.57 64.78 3.85 64.84 4.14C64.9169 4.48812 64.9917 4.83624 65.0663 5.18344C65.1567 5.6042 65.2469 6.0236 65.34 6.44L65.3843 6.63504C65.9892 9.29953 66.5917 11.9531 67.48 14.54C67.4597 14.4927 67.444 14.4454 67.4267 14.3982C67.4184 14.3754 67.4097 14.3527 67.4 14.33C68.04 16.15 68.79 17.92 69.65 19.64C70.62 21.55 71.66 23.42 72.85 25.21C73.6 26.32 74.41 27.37 75.29 28.39C75.72 28.87 76.17 29.33 76.64 29.77C77.4434 30.4706 78.2816 31.1275 79.1547 31.7327C79.1532 31.7318 79.1516 31.7309 79.15 31.73C79.1581 31.7354 79.166 31.7407 79.174 31.7461C79.2292 31.7843 79.2845 31.8222 79.34 31.86C79.318 31.8453 79.296 31.8293 79.2735 31.8129C79.2715 31.8115 79.2694 31.81 79.2674 31.8085C80.2296 32.4507 81.2097 33.0753 82.1896 33.6998C83.0096 34.2098 83.33 35.27 82.83 36.12C82.51 36.67 81.89 37 81.27 37C80.97 36.99 80.67 36.91 80.4 36.75C79.54 36.21 78.69 35.67 77.85 35.11C75.9 33.81 74.07 32.39 72.53 30.61C70.98 28.82 69.64 26.88 68.44 24.84C67.17 22.68 66.03 20.42 65.06 18.11C64.2542 16.1832 63.6096 14.195 63.0655 12.179C63.0181 12.3522 62.9706 12.5256 62.9239 12.6995C62.9024 12.7796 62.8811 12.8597 62.86 12.94C62.34 14.9 61.69 16.83 60.95 18.72C59.97 21.24 58.75 23.65 57.4 25.99C56.42 27.7 55.35 29.39 54.19 30.98C53.9655 31.2873 53.7409 31.5955 53.5161 31.904C52.98 32.6396 52.4425 33.3773 51.9 34.11C51.8177 34.2226 51.736 34.3355 51.6542 34.4486L51.6524 34.451L51.6516 34.4522C51.3563 34.8604 51.0603 35.2693 50.74 35.66C50.3406 36.1542 49.9387 36.646 49.5368 37.1377L49.5335 37.1418C49.1315 37.6337 48.7295 38.1256 48.33 38.62C48.2776 38.685 48.2253 38.7502 48.173 38.8155C48.1031 38.903 48.0332 38.9908 47.9633 39.0786C47.5873 39.5508 47.21 40.0246 46.81 40.47C45.8398 41.542 44.8742 42.6185 43.9101 43.6935C43.4532 44.2029 42.9966 44.712 42.54 45.22C42.169 45.6274 41.7716 46.0188 41.3746 46.4098C41.2259 46.5563 41.0772 46.7028 40.93 46.85C40.48 47.305 40.03 47.7625 39.58 48.22C39.13 48.6775 38.68 49.135 38.23 49.59C37.2684 50.5585 36.268 51.4882 35.2694 52.4163C34.8348 52.8202 34.4006 53.2237 33.97 53.63C32.8844 54.6544 31.7521 55.6321 30.6222 56.6076C30.2741 56.9082 29.9262 57.2085 29.58 57.51C26.7833 59.9465 23.8427 62.2032 20.9033 64.4591L20.42 64.83C19.3786 65.6328 18.311 66.3937 17.2437 67.1544C16.8353 67.4455 16.4269 67.7366 16.02 68.03C14.5 69.12 12.96 70.17 11.4 71.2C11.2446 71.3013 11.0894 71.4028 10.9343 71.5042C9.97105 72.134 9.00906 72.763 8.01001 73.34C6.98001 73.94 5.90001 74.5 4.78001 74.9C4.08 75.15 3.39001 75.3 2.69002 75.3L2.60632 75.2911C2.34709 75.2637 2.05745 75.2331 1.76001 75.17ZM79.2674 31.8085C79.2318 31.7826 79.1949 31.7561 79.1547 31.7327C79.1612 31.7372 79.1676 31.7416 79.174 31.7461C79.205 31.7669 79.2363 31.7877 79.2674 31.8085ZM3.23123 71.6635C3.17912 71.6752 3.12771 71.686 3.07701 71.6958C3.10875 71.6882 3.13923 71.6821 3.16949 71.6761L3.19229 71.6716C3.20518 71.669 3.21812 71.6663 3.23123 71.6635ZM34.0499 17.13C34.0633 17.1256 34.0768 17.1211 34.0901 17.1165L33.94 17.17C33.975 17.155 34.0124 17.1425 34.0499 17.13ZM51.85 28.2C51.85 28.205 51.8475 28.2075 51.845 28.21C51.8425 28.2125 51.84 28.215 51.84 28.22C51.84 28.21 51.85 28.2 51.85 28.2Z\",fill:\"currentColor\"})});const Arrow9=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"85\",height:\"63\",viewBox:\"0 0 85 63\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M79.13 17.55C79.8701 18.83 80.89 19.9 82.01 20.85C82.3101 21.11 82.68 21.23 83.06 21.22C83.61 21.22 84.16 20.97 84.5 20.53C85.11 19.74 84.91 18.67 84.18 18.05C84.13 18.01 84.09 17.97 84.04 17.93C83.69 17.6 83.34 17.27 83.01 16.92C82.83 16.7 82.65 16.47 82.48 16.23C81.9065 15.3437 81.384 14.4234 80.8626 13.5052C80.5839 13.0144 80.3056 12.5242 80.02 12.04C79.3186 10.8515 78.5317 9.70093 77.7519 8.56059L77.69 8.47002C77.6011 8.33955 77.5123 8.20882 77.4233 8.07794C76.4011 6.57382 75.366 5.05075 74.17 3.68001C73.53 2.96002 72.88 2.26002 72.16 1.62001L72.1267 1.59089C71.5758 1.10876 70.9764 0.584086 70.3 0.290011C69.64 0.0100118 68.93 -0.06999 68.29 0.310007C68.01 0.470011 67.76 0.720019 67.62 1.01001C67.5219 1.19959 67.4556 1.3996 67.4214 1.60163C67.1722 1.73492 66.9312 1.88244 66.7 2.05C65.3656 2.98002 64.1555 4.09316 62.9533 5.19902C62.6689 5.4606 62.385 5.72176 62.1 5.98L62.11 5.97C60.79 7.10999 59.46 8.22 58.07 9.26C56.65 10.33 55.2 11.36 53.74 12.37C53.09 12.8 52.43 13.22 51.76 13.63L50.65 14.29C50.05 14.64 49.67 15.22 49.67 15.93C49.67 16.9 50.48 17.69 51.44 17.7C51.9 17.71 52.26 17.56 52.65 17.34C52.83 17.24 52.99 17.11 53.11 16.95C54.21 16.29 55.29 15.61 56.34 14.88C57.66 13.96 58.95 13.03 60.24 12.07C61.48 11.15 62.67 10.17 63.84 9.16C64.7578 8.3663 65.6618 7.55208 66.5635 6.73997C66.7524 6.56982 66.9412 6.39976 67.13 6.23C67.65 5.77999 68.18 5.34 68.74 4.94C68.7766 4.91068 68.8187 4.88672 68.8582 4.86421C68.8726 4.85601 68.8867 4.848 68.9 4.83999C68.9106 4.85593 68.9185 4.86904 68.9249 4.88084C68.9307 4.89124 68.9353 4.90062 68.94 4.91C69 5.04 69.06 5.16999 69.11 5.3C69.27 5.8 69.39 6.29 69.5 6.8L69.5348 6.99099C69.8836 8.90858 70.2358 10.8446 70.41 12.79C70.4954 14.0893 70.4494 15.374 70.403 16.669C70.3951 16.889 70.3873 17.1093 70.38 17.33C70.3604 17.5919 70.3417 17.8534 70.323 18.1145C70.2561 19.0499 70.1895 19.9819 70.08 20.92C69.93 22.15 69.74 23.37 69.54 24.6C69.5077 24.7565 69.4757 24.913 69.4437 25.0694C69.2773 25.8827 69.1113 26.6949 68.91 27.5L68.9074 27.51C68.5883 28.7466 68.2691 29.9833 67.93 31.21C67.6706 32.1585 67.3915 33.1069 67.114 34.0501C67.0491 34.2704 66.9844 34.4904 66.92 34.71C66.7308 35.372 66.5052 36.0203 66.2801 36.6672C66.1719 36.978 66.0638 37.2885 65.96 37.6C65.9715 37.5541 65.9863 37.5114 66.0005 37.4702C66.0112 37.4396 66.0215 37.4098 66.03 37.38L65.9703 37.5372C65.3607 39.1441 64.755 40.7405 63.99 42.29C63.38 43.47 62.69 44.6 61.96 45.7C61.33 46.62 60.65 47.5 59.93 48.34C59.3 49.04 58.63 49.7 57.92 50.33C57.08 51.06 56.21 51.73 55.3 52.37C54.62 52.82 53.93 53.23 53.21 53.61C52.52 53.95 51.81 54.24 51.08 54.5C50.32 54.74 49.56 54.95 48.79 55.12C47.83 55.31 46.87 55.44 45.9 55.51C44.89 55.56 43.87 55.55 42.85 55.49C42.62 55.47 42.4 55.45 42.17 55.43C43.92 54 45.56 52.4 46.9 50.58C48.4 48.55 49.81 46.17 50.06 43.6C50.3 41.15 49.75 38.74 48.68 36.54C47.67 34.47 46.19 32.51 44.35 31.1C42.3199 29.54 39.94 28.61 37.39 28.4C34.88 28.19 32.39 28.81 30.28 30.19C28.21 31.54 26.8 33.68 26.21 36.06C25.57 38.63 25.44 41.36 25.68 43.99C25.91 46.5 26.43 49.08 27.64 51.31C28.83 53.5 30.72 55.3 32.91 56.48C33.05 56.55 33.18 56.62 33.32 56.69C32.96 56.84 32.59 56.98 32.23 57.11C31.09 57.5 29.93 57.82 28.75 58.07C27.7834 58.2537 26.8169 58.3906 25.8323 58.4808C25.7988 58.4818 25.7654 58.4842 25.7319 58.4897C25.7247 58.4899 25.7174 58.49 25.71 58.49C24.54 58.56 23.37 58.56 22.2 58.49H22.19C22.1528 58.49 22.1118 58.4861 22.0692 58.4832C20.6472 58.3625 19.2536 58.165 17.86 57.9L17.449 57.8052C15.9879 57.4687 14.5372 57.1346 13.12 56.65C12.51 56.43 11.9 56.18 11.31 55.91C10.83 55.66 10.37 55.4 9.91998 55.11C9.44 54.77 8.98004 54.41 8.53003 54.03C8.05005 53.58 7.59003 53.11 7.14001 52.62C6.35999 51.73 5.62 50.8 4.94 49.82C4.70001 49.46 4.48004 49.09 4.28003 48.71C4.18005 48.51 4.09003 48.31 4.01001 48.1C3.97668 47.9999 3.95221 47.8998 3.92773 47.7997C3.91553 47.7498 3.90332 47.6999 3.89001 47.65C3.88 47.6 3.88 47.54 3.87 47.49C3.86456 47.4193 3.86206 47.3487 3.86096 47.2764C3.85999 47.2157 3.85999 47.1539 3.85999 47.09C3.85999 46.12 3.06 45.32 2.09003 45.32C1.12006 45.32 0.320007 46.13 0.320007 47.09V47.2C0.340027 48.03 0.469971 48.85 0.799988 49.62C1.19 50.54 1.70001 51.41 2.28003 52.21C2.86005 53.01 3.48999 53.78 4.12 54.55C5.28998 56 6.72998 57.31 8.32001 58.29C10.09 59.38 12.03 60.09 14.02 60.63C16.62 61.34 19.3 61.84 21.99 62.02C22.63 62.06 23.26 62.08 23.88 62.07C27.55 62.07 31.22 61.37 34.62 59.97C35.76 59.5 36.88 58.95 37.96 58.34C38.69 58.51 39.42 58.64 40.16 58.75C45.33 59.5 50.8 59 55.43 56.44C56.65 55.77 57.81 54.99 58.9 54.12C59.87 53.34 60.83 52.52 61.7 51.63C63.44 49.82 64.93 47.77 66.19 45.6C67.67 43.06 68.75 40.33 69.69 37.56C70.32 35.72 70.87 33.86 71.38 31.98C71.65 31.01 71.91 30.03 72.16 29.05C72.4 28.1 72.61 27.15 72.81 26.19C73.22 24.27 73.47 22.33 73.69 20.38C73.765 19.6898 73.8063 18.9997 73.8475 18.3095C73.8613 18.0796 73.875 17.8498 73.89 17.62C73.98 16.44 74.01 15.24 73.99 14.06C73.961 12.1699 73.6909 10.2956 73.3693 8.43321C73.9069 9.18448 74.4266 9.94837 74.9456 10.7109L75.06 10.88L75.2397 11.1525C76.1107 12.4719 76.9841 13.7953 77.77 15.18C78.22 15.98 78.67 16.76 79.13 17.55ZM25.7343 58.4896C25.767 58.4867 25.7997 58.4838 25.8323 58.4808C25.8582 58.48 25.8841 58.48 25.91 58.48C25.875 58.48 25.8425 58.4825 25.81 58.485C25.7851 58.4869 25.7603 58.4888 25.7343 58.4896ZM25.7343 58.4896L25.73 58.49L25.7319 58.4897L25.7343 58.4896ZM34.79 32.06C35.13 32 35.47 31.96 35.82 31.92C36.02 31.91 36.22 31.91 36.43 31.9C36.63 31.9 36.82 31.9 37.02 31.91C37.46 31.95 37.9 32.01 38.34 32.09C38.78 32.19 39.22 32.32 39.65 32.46C39.97 32.59 40.29 32.73 40.61 32.88C40.96 33.07 41.3 33.27 41.64 33.49C41.96 33.71 42.26 33.94 42.56 34.19C42.91 34.5 43.23 34.82 43.55 35.16C43.96 35.64 44.34 36.14 44.7 36.66C44.98 37.1 45.24 37.55 45.48 38.01C45.71 38.48 45.91 38.96 46.08 39.44C46.21 39.85 46.32 40.27 46.42 40.69C46.49 41.07 46.54 41.47 46.58 41.86C46.6 42.2 46.6 42.53 46.59 42.86C46.56 43.14 46.53 43.41 46.48 43.69C46.4 44.01 46.3199 44.33 46.22 44.65C46.06 45.09 45.87 45.51 45.67 45.93C45.35 46.55 45 47.14 44.61 47.72C44.13 48.4 43.62 49.06 43.08 49.69C42.3635 50.4936 41.6094 51.2411 40.8088 51.9594C39.8873 52.7604 38.9368 53.5227 37.93 54.21C37.77 54.32 37.6 54.43 37.43 54.54C37.21 54.47 36.98 54.4 36.76 54.33C36.2 54.13 35.65 53.9 35.1 53.63C34.64 53.39 34.18 53.12 33.74 52.83C33.36 52.56 32.99 52.27 32.63 51.97C32.35 51.7 32.08 51.43 31.82 51.15C31.59 50.87 31.37 50.58 31.16 50.28C31.02 50.05 30.89 49.83 30.76 49.6C30.51 49.08 30.29 48.56 30.09 48.02C29.8701 47.34 29.69 46.66 29.54 45.96C29.37 45.07 29.26 44.18 29.19 43.28C29.14 42.21 29.13 41.14 29.19 40.07C29.25 39.3 29.33 38.54 29.47 37.77C29.59 37.23 29.73 36.7 29.9 36.18C29.9567 36.0383 30.0134 35.8998 30.0718 35.7627C30.1166 35.6579 30.1624 35.554 30.21 35.45C30.36 35.18 30.51 34.91 30.68 34.65C30.82 34.47 30.96 34.3 31.1 34.13C31.27 33.95 31.43 33.79 31.61 33.63C31.79 33.47 31.98 33.32 32.18 33.18C32.47 33 32.76 32.83 33.06 32.67C33.36 32.53 33.66 32.4 33.97 32.29C34.24 32.2 34.5099 32.13 34.79 32.06Z\",fill:\"currentColor\"})});const Arrow10=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"74\",height:\"81\",viewBox:\"0 0 74 81\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{d:\"M13.89 80.74C13.27 80.48 12.79 79.92 12.41 79.39C12.07 78.91 11.75 78.42 11.43 77.92C10.92 77.12 10.48 76.28 10.04 75.45C9.18 73.86 8.35004 72.25 7.40004 70.7C6.36004 69.03 5.32003 67.37 4.32003 65.68C3.50003 64.3 2.74999 62.86 2.15999 61.37C1.18999 58.93 0.850019 56.22 1.00002 53.61C1.16002 50.96 1.84999 48.33 2.90999 45.9C3.39999 44.78 4.00004 43.72 4.71004 42.72C5.38004 41.77 6.24002 40.97 7.13002 40.23C9.08002 38.62 11.43 37.5 13.88 36.9C15.13 36.6 16.41 36.46 17.69 36.4C19.08 36.33 20.49 36.54 21.84 36.87C23.61 37.3 25.26 38.12 26.89 38.92C28.25 39.59 29.55 40.41 30.75 41.34C31.96 42.28 33.03 43.38 34.11 44.46C34.79 45.15 35.47 45.84 36.15 46.53C37.07 47.46 38.01 48.35 38.97 49.24C40.13 50.21 41.32 51.14 42.54 52.04C42.94 52.31 43.34 52.57 43.75 52.83C44.19 53.12 44.66 53.36 45.11 53.62C46.11 54.12 47.1 54.6 48.15 54.99C48.96 55.26 49.78 55.49 50.61 55.67C51.8 55.9 52.98 56 54.18 56.08C54.81 56.1 55.44 56.1 56.07 56.06C56.75 56.01 57.41 55.92 58.08 55.79C58.68 55.65 59.26 55.49 59.84 55.3C60.43 55.09 61 54.84 61.56 54.57C62.18 54.25 62.78 53.9 63.37 53.52C63.96 53.11 64.52 52.68 65.07 52.22C65.64 51.71 66.19 51.17 66.7 50.6C67.16 50.06 67.6 49.49 68.01 48.91C68.35 48.41 68.65 47.89 68.94 47.36C69.22 46.79 69.46 46.22 69.67 45.63C69.83 45.12 69.97 44.6 70.08 44.08C70.17 43.59 70.23 43.11 70.27 42.62C70.29 42.16 70.29 41.7 70.26 41.24C70.21 40.59 70.11 39.95 69.99 39.3C69.82 38.49 69.6 37.69 69.35 36.9C69.35 36.9 69.35 36.9 69.35 36.89C69.07 36.1 68.78 35.31 68.46 34.53C68.12 33.73 67.75 32.96 67.36 32.19C67.04 31.64 66.74 31.1 66.43 30.55C66.13 30.03 65.78 29.55 65.45 29.05C64.11 27.18 62.7 25.36 61.38 23.49C60.7 22.53 60.07 21.51 59.43 20.52C58.85 19.63 58.27 18.74 57.68 17.85C57.03 16.92 56.38 16 55.68 15.12C55.37 14.73 55.06 14.35 54.74 13.97C54.14 14.52 53.53 15.05 52.92 15.57C51.55 16.72 50.18 17.91 48.49 18.55C47.56 18.9 46.58 18.96 45.61 18.73C44.73 18.52 44.02 17.84 43.59 17.07C43.01 16.02 42.82 14.75 42.66 13.57C42.53 12.63 42.52 11.66 42.52 10.71C42.5 8.85 42.5 7 42.56 5.14C42.58 4.45 42.59 3.75 42.66 3.07C42.75 2.11 42.88 0.929996 43.81 0.389996C44.22 0.149996 44.63 3.77744e-06 45.11 0.0700038C45.39 0.110004 45.65 0.209997 45.9 0.359997C46.13 0.299997 46.36 0.279994 46.61 0.309994C47.73 0.449994 48.83 0.640003 49.93 0.850003C50.57 0.980003 51.23 1.1 51.86 1.28C52.7 1.52 53.54 1.78999 54.39 1.97999C54.8 2.05999 55.21 2.10999 55.62 2.14999C56.69 2.19999 57.77 2.16 58.85 2.13C59.26 2.12 59.67 2.10999 60.08 2.08999C60.91 2.05999 61.72 2.01 62.53 2.21C63.42 2.42 64.06 3.28 64.06 4.19C64.06 4.96 63.55 5.53999 63.03 6.05999C62.39 6.70999 61.73 7.34 61.06 7.96C60.42 8.55 59.76 9.11999 59.13 9.72999C58.52 10.32 57.92 10.92 57.32 11.51C57.87 12.16 58.4 12.81 58.91 13.49C60.12 15.11 61.24 16.79 62.34 18.5C62.97 19.47 63.6 20.44 64.24 21.41C66.45 24.52 68.95 27.45 70.66 30.89C70.89 31.36 71.13 31.84 71.36 32.31C71.61 32.81 71.79 33.34 72.01 33.85C72.17 34.24 72.3 34.64 72.44 35.03C72.71 35.81 72.97 36.58 73.18 37.38C73.82 39.81 74.05 42.37 73.54 44.85C73.04 47.29 71.95 49.5 70.5 51.52C69.1 53.47 67.3 55.14 65.31 56.48C63.17 57.92 60.81 58.87 58.28 59.36C56.42 59.72 54.54 59.65 52.67 59.52C50.57 59.37 48.54 58.9 46.56 58.18C45.32 57.73 44.1 57.13 42.95 56.47C42.09 55.97 41.22 55.47 40.41 54.88C38.79 53.7 37.24 52.48 35.77 51.13C33.59 49.12 31.63 46.87 29.44 44.88C28.87 44.38 28.27 43.91 27.64 43.47C26.9 42.99 26.13 42.56 25.36 42.13C24.25 41.58 23.14 41.05 21.98 40.63C21.43 40.45 20.88 40.29 20.31 40.17C19.86 40.09 19.42 40.03 18.97 39.98C18.45 39.95 17.93 39.95 17.4 39.97C16.61 40.03 15.83 40.13 15.06 40.28C14.47 40.41 13.9 40.57 13.33 40.76C12.8 40.96 12.28 41.19 11.77 41.43C11.28 41.69 10.8 41.97 10.33 42.28C9.85004 42.61 9.40003 42.95 8.95003 43.32C8.66003 43.58 8.39001 43.84 8.12001 44.12C7.86001 44.42 7.61002 44.73 7.38002 45.05C7.07002 45.51 6.79005 45.99 6.53005 46.48C6.13005 47.3 5.78 48.14 5.48 49C5.51 48.93 5.53002 48.86 5.56002 48.78C5.26002 49.68 5.01003 50.59 4.82003 51.51C4.68003 52.26 4.58004 53 4.52004 53.76C4.48004 54.49 4.48005 55.21 4.53005 55.93C4.59005 56.59 4.67 57.23 4.79 57.88C4.92 58.46 5.07002 59.03 5.25002 59.59C5.50002 60.29 5.79 60.96 6.11 61.63C6.09 61.6 6.08003 61.57 6.07003 61.54C6.09003 61.58 6.11001 61.61 6.12001 61.65C6.13001 61.66 6.13003 61.67 6.14003 61.68C6.15003 61.69 6.15004 61.7 6.15004 61.7C6.86004 63.09 7.67001 64.45 8.49001 65.79C9.24001 67.01 10.04 68.21 10.77 69.45C12.18 71.87 13.38 74.41 14.89 76.78C15.08 77.04 15.26 77.31 15.47 77.56C15.49 77.58 15.5 77.6 15.52 77.61C16.22 78.06 16.53 78.99 16.2 79.79C15.91 80.46 15.25 80.87 14.55 80.87C14.34 80.88 14.11 80.84 13.89 80.74ZM46.07 8.25999C46.06 9.61999 46.06 10.97 46.11 12.33C46.18 13.01 46.25 13.67 46.38 14.33C46.43 14.55 46.49 14.78 46.56 14.99C46.6 15.11 46.65 15.23 46.7 15.34C46.74 15.34 46.77 15.34 46.81 15.34C46.87 15.33 46.93 15.32 47 15.31C47.09 15.29 47.18 15.26 47.27 15.23C47.39 15.18 47.51 15.13 47.63 15.08C47.92 14.93 48.19 14.76 48.47 14.59C49.39 13.95 50.24 13.21 51.1 12.5C51.55 12.1 51.99 11.69 52.43 11.29C52.16 11 51.89 10.71 51.61 10.43C50.86 9.67999 50.1 8.94999 49.32 8.22999C48.25 7.23999 47.2 6.23 46.12 5.24C46.08 6.24 46.07 7.24999 46.07 8.25999ZM51.23 5.17999C52.52 6.36999 53.8 7.56 54.98 8.85C55.39 8.45 55.8 8.04999 56.21 7.64999C56.9 6.96999 57.62 6.31999 58.33 5.66999C57.6 5.68999 56.86 5.71 56.12 5.71C54.6 5.71 53.14 5.34 51.69 4.91C51.34 4.8 50.98 4.70999 50.63 4.61999C50.83 4.81999 51.03 4.99999 51.23 5.17999Z\",fill:\"currentColor\"})});const Arrow11=props=>/*#__PURE__*/_jsxs(\"svg\",{width:\"60\",height:\"67\",viewBox:\"0 0 60 67\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:[/*#__PURE__*/_jsx(\"path\",{d:\"M0.609988 65.11C0.529971 64.47 0.82001 63.82 1.32001 63.43C1.74964 63.0155 2.15082 62.5612 2.54926 62.11C2.67951 61.9625 2.80945 61.8153 2.94001 61.67C3.14234 61.4506 3.34351 61.2311 3.54431 61.012C3.79419 60.7393 4.04346 60.4673 4.29383 60.1967C4.42884 60.0507 4.56409 59.9051 4.69995 59.76C5.7699 58.61 6.82996 57.44 7.87 56.27C9.11365 54.7928 10.3136 53.2847 11.5142 51.7758C12.6786 50.3122 13.8438 48.8477 15.0501 47.41C17.3247 44.6859 19.6666 42.0038 21.9988 39.333L22.63 38.61C24.6663 36.2793 26.6423 33.8884 28.6184 31.4974C29.0587 30.9647 29.499 30.432 29.9399 29.9C32.3999 26.94 34.8501 23.97 37.29 20.99C38.65 19.33 40.03 17.67 41.42 16.03C42.4869 14.7698 43.5837 13.5395 44.6827 12.3067C44.9602 11.9955 45.2377 11.6842 45.5149 11.3722L45.5486 11.332C45.5613 11.3171 45.574 11.3023 45.5867 11.2879C45.6073 11.2645 45.6279 11.2421 45.6486 11.2214C46.6169 10.1203 47.5596 9.0018 48.5039 7.8812C48.9115 7.39743 49.3195 6.9133 49.73 6.42999C50.3003 5.76129 50.8707 5.10229 51.441 4.44342L51.47 4.41C50.63 4.52002 49.7899 4.63998 48.96 4.76999C48.6976 4.81186 48.4353 4.85529 48.1727 4.89874C47.4945 5.01099 46.8148 5.12347 46.13 5.20999C45.04 5.35001 43.96 5.5 42.88 5.67999C42.0501 5.85999 41.23 6.04001 40.4 6.23001C40.2307 6.26822 40.0607 6.30942 39.8901 6.35077C39.436 6.46085 38.978 6.57187 38.52 6.63C37.5601 6.75 36.66 6.07999 36.53 5.12C36.4 4.17001 37.0801 3.23999 38.04 3.12C38.13 3.11002 38.22 3.09 38.32 3.07999C38.898 2.95758 39.4725 2.82709 40.0464 2.69675C41.1603 2.44379 42.2715 2.19141 43.4 2C43.8879 1.91388 44.379 1.85419 44.8716 1.79431L44.8745 1.79395C45.2393 1.74963 45.6046 1.70523 45.97 1.64999C46.7838 1.5275 47.59 1.39731 48.402 1.26617L48.75 1.20999C49.7626 1.05212 50.778 0.912048 51.7932 0.772003C52.6429 0.654785 53.4926 0.537567 54.34 0.410004C55.09 0.300018 55.91 0.230011 56.5501 0.730011C57.1194 1.17078 57.3093 1.85605 57.2127 2.53033C57.2822 2.63043 57.3419 2.74039 57.39 2.85999C57.6699 3.56 57.7599 4.28 57.85 5.01999C57.8999 5.42999 57.96 5.82999 58 6.23999C58.1 7.24969 58.2 8.26028 58.29 9.26999C58.45 11.11 58.6699 12.93 59 14.73C59.26 15.95 59.4899 17.14 59.46 18.4C59.4509 18.6905 59.4315 18.983 59.4121 19.2758C59.3888 19.628 59.3655 19.9805 59.36 20.33C59.4399 20.49 59.5 20.67 59.52 20.87C59.64 21.79 58.97 22.78 58 22.87C57.9299 22.87 57.87 22.88 57.8101 22.88C57.15 22.87 56.47 22.57 56.14 21.94C55.9 21.49 55.82 21.03 55.83 20.53C55.8341 20.1209 55.8566 19.7151 55.879 19.3107C55.9114 18.7265 55.9436 18.145 55.92 17.56C55.87 17.08 55.7899 16.62 55.7 16.14C55.33 14.36 55.0499 12.58 54.88 10.76C54.8385 10.312 54.7993 9.86313 54.7601 9.41394C54.671 8.39377 54.5818 7.37183 54.4651 6.35309C54.3257 6.51578 54.1863 6.67841 54.0469 6.841L54.0333 6.85666C52.9932 8.07019 51.9541 9.2825 50.9301 10.51C49.2478 12.5189 47.5066 14.4691 45.7745 16.4089L45.72 16.47L45.717 16.4729C45.7145 16.4753 45.7122 16.4775 45.71 16.48C45.7062 16.4838 45.7039 16.4876 45.7018 16.4909C45.6985 16.4962 45.6962 16.5 45.6899 16.5L45.6801 16.51L45.65 16.54C43.1801 19.4 40.77 22.33 38.38 25.25C36.5581 27.4768 34.7194 29.6867 32.8806 31.8966L32.8444 31.9401C32.2427 32.6632 31.641 33.3863 31.04 34.11C28.61 37.04 26.16 39.95 23.65 42.81C21.09 45.73 18.5499 48.68 16.1 51.69C15.8158 52.0404 15.5337 52.3923 15.2528 52.7451C14.8867 53.2047 14.5227 53.6658 14.1588 54.1269C12.7777 55.8766 11.3975 57.6252 9.91004 59.29C9.06275 60.2423 8.19849 61.1777 7.33435 62.1131C7.04602 62.4252 6.75769 62.7373 6.46997 63.05L6.45276 63.0686C5.88855 63.6824 5.32422 64.2963 4.76001 64.92L4.65125 65.0369L4.56861 65.125C4.37293 65.3339 4.17859 65.5413 3.98999 65.76C3.62 66.15 3.19007 66.55 2.63001 66.6C2.60291 66.6045 2.57581 66.607 2.54779 66.6084C2.5271 66.6094 2.50586 66.6097 2.48377 66.6099L2.44001 66.61C1.53998 66.63 0.739993 66.02 0.609988 65.11Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M45.64 16.56C45.66 16.54 45.67 16.53 45.6801 16.51C45.67 16.52 45.66 16.54 45.64 16.56Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M45.7 16.5C45.7 16.5 45.71 16.49 45.71 16.48C45.7042 16.4865 45.7 16.4935 45.7 16.5Z\",fill:\"currentColor\"})]});const Arrow12=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"78\",height:\"93\",viewBox:\"0 0 78 93\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M70.3849 49.2577C71.0433 48.9158 71.4391 48.1661 71.5201 47.4001C71.5701 46.9701 71.5101 46.59 71.3801 46.2C71.4872 44.9885 71.6283 43.7905 71.7698 42.5892C71.8 42.333 71.8302 42.0767 71.86 41.82C72.29 37.99 72.7201 34.1601 73.1701 30.3401C73.6101 26.6201 74.2501 22.94 74.9001 19.26C75.2701 17.18 75.62 15.09 75.94 13C76.21 11.21 76.4301 9.42004 76.6401 7.63004C76.7601 6.59004 76.8901 5.54003 77.0201 4.50003C77.0413 4.3322 77.0672 4.16118 77.0935 3.98831C77.2283 3.1003 77.3705 2.16359 76.9101 1.36002C76.4301 0.510019 75.4101 0.230029 74.5001 0.370029C74.0924 0.431792 73.6924 0.531703 73.2906 0.632064C73.0419 0.694196 72.7925 0.7565 72.5401 0.810031C72.1887 0.879151 71.8341 0.942465 71.4785 1.00594C70.5993 1.16288 69.7144 1.32084 68.86 1.57004C67.39 2.01004 65.9501 2.50004 64.5001 3.01004C64.546 2.99857 64.5886 2.9838 64.6298 2.96951C64.6604 2.9589 64.6902 2.94856 64.72 2.94004C64.0068 3.18665 63.3026 3.45993 62.5983 3.73322C62.246 3.86991 61.8935 4.00669 61.5401 4.14005C57.9601 5.50005 54.4 6.92005 50.86 8.39005C50.0301 8.73501 49.2027 9.08496 48.3753 9.43492C47.5479 9.78487 46.72 10.1351 45.8901 10.48C45.573 10.6116 45.2559 10.7477 44.9381 10.8841C44.3136 11.1521 43.6863 11.4214 43.0501 11.66L43.0473 11.6611C42.1482 12.0007 41.2491 12.3404 40.36 12.68C40.095 12.7645 39.8308 12.8507 39.5667 12.9368C38.9243 13.1463 38.2819 13.3558 37.6301 13.54C37.33 13.6251 37.0295 13.7089 36.729 13.7927C35.6177 14.1024 34.5062 14.4122 33.4201 14.79C32.3101 15.17 31.2101 15.58 30.1601 16.11C29.8905 16.2448 29.6184 16.3821 29.3463 16.5194L29.345 16.5201C29.0725 16.6576 28.8001 16.795 28.5301 16.93C27.7601 17.33 26.9701 17.8 26.3101 18.37H26.3001L26.2901 18.38C26.1301 18.47 25.98 18.57 25.84 18.7C25.38 19.12 25.2201 19.85 25.3801 20.43C25.5301 20.97 25.9201 21.38 26.4201 21.61C26.5779 21.6843 26.7528 21.7327 26.9211 21.7792L26.96 21.79C27.3757 21.9129 27.7928 22.0306 28.2097 22.1482C28.9461 22.3561 29.6822 22.5638 30.4101 22.8C31.0201 23.04 31.62 23.29 32.21 23.56C32.4099 23.65 32.6088 23.7444 32.8076 23.8388C33.2054 24.0277 33.6034 24.2167 34.0101 24.37C35.2701 24.84 36.52 25.27 37.82 25.61C38.18 25.705 38.5425 25.8 38.905 25.895C39.2675 25.99 39.63 26.085 39.99 26.18C40.0401 26.1967 40.0933 26.2103 40.1479 26.2243C40.1914 26.2354 40.2358 26.2467 40.2801 26.26C39.0901 27.11 37.9201 27.98 36.8101 28.93C34.2801 31.1 31.7901 33.33 29.4101 35.67C26.6601 38.37 23.92 41.08 21.34 43.94C21.1138 44.1906 20.8873 44.4411 20.6607 44.6917C18.2737 47.3322 15.8768 49.9836 13.6301 52.76C13.4385 52.9952 13.2461 53.2286 13.054 53.4616C12.5846 54.0311 12.1172 54.5981 11.6701 55.18C11.0001 56.07 10.3301 56.96 9.65008 57.85C9.28442 58.3282 8.9435 58.8162 8.60295 59.3038C8.45921 59.5095 8.31554 59.7152 8.1701 59.92C8.06299 60.0733 7.95543 60.2262 7.84799 60.3789C7.44388 60.9533 7.04139 61.5254 6.6701 62.11C6.50232 62.3707 6.33274 62.6287 6.16351 62.8861C5.76792 63.4879 5.37427 64.0867 5.01007 64.7101C4.48007 65.6201 3.9501 66.52 3.4201 67.42L3.22552 67.7502C2.78888 68.4906 2.35044 69.234 1.95001 70C1.70001 70.12 1.48011 70.29 1.30011 70.5201C0.840107 71.11 0.819999 71.93 1.19 72.54C1.24 72.85 1.37 73.1501 1.57 73.4001C1.65946 73.5126 1.76307 73.6151 1.87724 73.705C1.81479 74.277 1.93034 74.8778 2.03671 75.4309L2.05 75.5C2.13 75.91 2.21001 76.31 2.31001 76.71L2.3118 76.717C2.4012 77.0647 2.49058 77.4123 2.58991 77.75C2.77991 78.36 3.01991 78.86 3.58991 79.2C3.59492 79.205 3.59993 79.2075 3.60493 79.21C3.60994 79.2125 3.61495 79.215 3.61994 79.22C3.74994 79.37 3.9 79.51 4.05 79.65C4.46 80.03 4.86999 80.4 5.28999 80.77C5.73999 81.18 6.20992 81.55 6.71992 81.88C6.99981 82.0599 7.28859 82.231 7.57738 82.402C7.72194 82.4876 7.86651 82.5732 8.00996 82.66C8.16872 82.756 8.32613 82.8574 8.4842 82.9593C8.75421 83.1333 9.02618 83.3087 9.31001 83.46L9.31158 83.4609C9.71105 83.6706 10.1105 83.8803 10.52 84.08C10.789 84.2167 11.0471 84.3661 11.3044 84.5151C11.6496 84.7149 11.9932 84.9139 12.3599 85.08C12.6957 85.2283 13.0334 85.3708 13.3713 85.5135L13.3723 85.5139C13.809 85.6983 14.2461 85.8828 14.68 86.08C14.9036 86.1804 15.1272 86.284 15.3513 86.3878L15.3525 86.3884C15.9097 86.6466 16.4697 86.9062 17.04 87.12C17.1092 87.1452 17.1784 87.1706 17.2477 87.196C17.6186 87.3323 17.9908 87.4689 18.3699 87.57C18.4787 87.6011 18.5859 87.6291 18.6928 87.6571C18.8611 87.7011 19.0287 87.745 19.1999 87.8C19.5899 87.95 19.9699 88.1 20.3499 88.28C21.0325 88.6336 21.6861 89.0353 22.3392 89.4368C23.0161 89.8529 23.6925 90.2686 24.4 90.63L24.4789 90.6704C24.8837 90.8778 25.2975 91.0898 25.7199 91.24C26.1899 91.41 26.67 91.49 27.17 91.56C27.6697 91.63 28.1594 91.7199 28.6491 91.8098C28.9691 91.8699 29.2799 91.95 29.5899 92.04C29.7652 92.1066 29.9355 92.183 30.1056 92.2594C30.4209 92.4008 30.7357 92.5421 31.0799 92.62C31.3399 92.68 31.61 92.73 31.89 92.71C32.07 92.71 32.24 92.69 32.41 92.64C32.93 92.48 33.35 92.15 33.64 91.69C33.9872 91.1205 33.9389 90.4064 33.6024 89.8624C33.615 89.8513 33.6275 89.8404 33.64 89.83C33.9 89.58 34.0799 89.32 34.1899 88.96C34.2899 88.66 34.2899 88.35 34.2099 88.06C34.2199 87.9703 34.2398 87.8807 34.2597 87.7911L34.26 87.79C34.27 87.735 34.2825 87.6825 34.295 87.63C34.3074 87.5775 34.3199 87.525 34.3299 87.47V87.45L34.3626 87.29C34.5418 86.4123 34.7226 85.5267 34.93 84.65C35.1263 83.8089 35.3924 83.0027 35.6631 82.1824C35.682 82.125 35.701 82.0676 35.7199 82.01C36.0049 81.16 36.2649 80.305 36.5249 79.45C36.7849 78.595 37.0449 77.74 37.3299 76.89C37.5999 76.18 37.91 75.49 38.25 74.8C38.25 74.7938 38.2538 74.7876 38.2591 74.7791C38.2623 74.7738 38.2662 74.7676 38.27 74.76C38.28 74.73 38.2999 74.69 38.3199 74.65C38.316 74.6617 38.312 74.6739 38.3075 74.6855C38.2983 74.7037 38.2892 74.7218 38.28 74.74C38.2921 74.7218 38.3005 74.7037 38.3075 74.6855C38.403 74.4965 38.499 74.3075 38.5952 74.1182C39.0442 73.2345 39.495 72.3471 39.9 71.44C40.1131 70.9774 40.3181 70.5107 40.5232 70.0436C40.7703 69.4808 41.0177 68.9174 41.28 68.36C41.622 67.712 42.0072 67.0964 42.3924 66.4808C42.6492 66.0704 42.906 65.66 43.15 65.24C43.3865 64.8388 43.6016 64.4268 43.8164 64.0155C44.1102 63.4529 44.4034 62.8914 44.75 62.36C44.78 62.32 44.81 62.28 44.8499 62.24C45.0158 62.0638 45.1837 61.8902 45.3514 61.7168C45.8311 61.2209 46.3103 60.7256 46.74 60.17C47.26 59.51 47.72 58.8 48.18 58.09C48.53 57.59 48.9099 57.1 49.3199 56.63C49.7299 56.165 50.1499 55.7075 50.5699 55.25C50.9899 54.7925 51.4099 54.335 51.8199 53.87C51.83 53.8599 51.85 53.8399 51.86 53.82C51.87 53.82 51.87 53.81 51.87 53.81C51.87 53.8 51.88 53.8 51.88 53.8H51.87C51.88 53.8 51.89 53.79 51.89 53.79C52.145 53.485 52.385 53.1725 52.6249 52.86C52.8649 52.5475 53.1049 52.235 53.36 51.93C53.56 51.6966 53.7778 51.481 53.9956 51.2654C54.1044 51.1577 54.2133 51.05 54.3199 50.94C54.7299 50.51 55.13 50.07 55.51 49.62C55.726 49.3707 55.9236 49.1092 56.1214 48.8473C56.2808 48.6364 56.4404 48.4252 56.61 48.22C56.635 48.1949 56.6595 48.1698 56.6837 48.1449C56.7257 48.1019 56.7672 48.0594 56.8106 48.0181C57.6438 47.2849 58.4189 46.4848 59.0899 45.59C59.3699 45.22 59.6599 44.86 59.9599 44.5C59.9799 44.475 60.0024 44.45 60.0249 44.425C60.0474 44.4 60.0699 44.375 60.0899 44.35C60.2899 44.11 60.48 43.87 60.67 43.62L60.6705 43.6209C60.7403 43.7706 60.8102 43.9203 60.89 44.06C61.1 44.44 61.37 44.78 61.65 45.12C61.89 45.41 62.1 45.7 62.31 46C62.5174 46.3161 62.7139 46.6431 62.9109 46.9706C63.474 47.907 64.0402 48.8488 64.87 49.56C65.123 49.7768 65.3946 49.9643 65.6656 50.1515C65.9196 50.3267 66.173 50.5017 66.41 50.7C66.444 50.7318 66.478 50.7638 66.5122 50.7959C66.7788 51.0467 67.0508 51.3026 67.37 51.48C68.33 52.03 69.4799 51.81 70.0799 50.85C70.3399 50.42 70.37 49.91 70.38 49.42C70.3818 49.3658 70.3835 49.3117 70.3849 49.2577ZM56.8123 48.0165C56.8165 48.0127 56.8207 48.0089 56.825 48.005C56.8525 47.98 56.88 47.955 56.91 47.93C56.8758 47.958 56.8435 47.9869 56.8123 48.0165ZM56.74 48.08C56.7638 48.0602 56.786 48.0403 56.8079 48.0205C56.7853 48.0404 56.7626 48.0602 56.74 48.08ZM57.4824 41.9915C57.4516 42.0261 57.4208 42.063 57.39 42.1C57.421 42.0639 57.4518 42.0278 57.4824 41.9915ZM43.41 28.4318C43.2411 28.5393 43.072 28.6469 42.9001 28.75C42.4003 29.0999 41.9106 29.4497 41.4208 29.7995C41.0488 30.0613 40.6904 30.352 40.3338 30.6413C40.1727 30.7719 40.0118 30.9025 39.85 31.0301C39.1375 31.586 38.4556 32.1787 37.7756 32.7697C37.5872 32.9335 37.3988 33.0973 37.21 33.26C35.73 34.61 34.2501 35.9701 32.7901 37.3401C31.5301 38.5301 30.31 39.75 29.09 40.98C27.6022 42.4778 26.1445 44.0055 24.6866 45.5332L24.6801 45.54C23.5655 46.7098 22.4934 47.9306 21.4246 49.1476L21.1501 49.4601C20.8551 49.7901 20.5651 50.12 20.2751 50.45C19.9851 50.78 19.6951 51.11 19.4001 51.44C18.9646 51.9508 18.5262 52.4616 18.0864 52.9739L18.0857 52.9747C17.7078 53.415 17.3289 53.8564 16.95 54.3C16.368 54.9779 15.8141 55.6792 15.2595 56.3815C15.0042 56.7048 14.7486 57.0285 14.49 57.35C13.9478 58.0179 13.4362 58.7076 12.9234 59.399C12.6608 59.753 12.3976 60.1079 12.1301 60.4601C11.6215 61.1267 11.146 61.8217 10.6711 62.5158C10.455 62.8316 10.2389 63.1474 10.0201 63.4601C8.41008 65.9801 6.83006 68.5301 5.38006 71.1501C5.48506 71.2051 5.58756 71.2625 5.69006 71.32C5.79256 71.3775 5.89506 71.435 6.00006 71.49C6.65809 71.876 7.26807 72.338 7.87813 72.8001C8.23215 73.0683 8.58652 73.3367 8.95001 73.5901C9.30001 73.8101 9.65008 74.01 10.0201 74.2C10.8435 74.5965 11.7017 74.9174 12.5594 75.238C12.8264 75.3378 13.0942 75.438 13.36 75.54C14.7 76.06 15.98 76.74 17.21 77.48C18.46 78.24 19.72 79 20.98 79.75C21.6875 80.1724 22.3865 80.6059 23.0846 81.0387C23.7087 81.4257 24.3323 81.8124 24.96 82.19C25.712 82.646 26.4895 83.0508 27.267 83.4556C27.4615 83.5568 27.656 83.658 27.85 83.76C27.9686 83.2299 28.0726 82.6948 28.1756 82.1651C28.2203 81.9355 28.2648 81.7068 28.3101 81.48C28.6001 80.08 28.9501 78.68 29.4301 77.33C29.4151 77.3651 29.4026 77.4 29.3901 77.435C29.3776 77.47 29.365 77.505 29.35 77.54C30.6 73.93 32.0101 70.36 33.6801 66.92C33.8282 66.6203 33.9716 66.3183 34.1151 66.0159C34.3882 65.4405 34.662 64.8637 34.97 64.3C35.23 63.82 35.49 63.3375 35.7501 62.855C36.0101 62.3725 36.2701 61.89 36.5301 61.41C36.6307 61.2206 36.7453 61.0383 36.8594 60.8567C36.9381 60.7315 37.0165 60.6066 37.09 60.48C37.3476 60.0579 37.6 59.6359 37.8547 59.2102L37.8552 59.2092C37.9563 59.0402 38.0578 58.8705 38.1601 58.7C38.523 58.1048 38.9229 57.5307 39.3213 56.9585C39.4718 56.7424 39.6221 56.5266 39.7701 56.31C41.6181 53.6188 43.804 51.169 45.9742 48.7368C46.2232 48.4578 46.472 48.179 46.72 47.9001C48.0346 46.4062 49.4187 44.9619 50.7931 43.5278L50.8101 43.51C52.0801 42.18 53.34 40.84 54.58 39.48C54.8435 39.1927 55.1054 38.9031 55.3676 38.6132L55.3686 38.6121C56.4297 37.4388 57.4956 36.2602 58.69 35.2101C59.28 34.6901 59.9401 34.25 60.7501 34.23C61.0611 34.2218 61.3587 34.3007 61.6538 34.379C61.7193 34.3963 61.7847 34.4137 61.85 34.43C62.56 34.61 63.1401 35.11 63.6501 35.62C64.139 36.1089 64.6052 36.6261 65.0701 37.1417C65.2233 37.3116 65.3764 37.4815 65.5301 37.6501C66.1142 38.2813 66.6362 38.9746 67.1546 39.6632L67.2501 39.79C67.467 40.0755 67.6807 40.361 67.893 40.6446L67.8954 40.6478C68.0542 40.8599 68.2121 41.0709 68.3701 41.2801C68.3801 41.1801 68.3925 41.0826 68.405 40.9851C68.4175 40.8875 68.43 40.79 68.44 40.69C68.54 39.805 68.635 38.9225 68.73 38.04C68.8251 37.1575 68.9201 36.275 69.0201 35.39C69.2301 33.48 69.45 31.58 69.7 29.68C69.98 27.55 70.2901 25.42 70.6201 23.29C70.7745 22.2561 70.965 21.2267 71.1552 20.1988C71.2483 19.6959 71.3414 19.1926 71.4301 18.69L71.4688 18.4683C71.7859 16.653 72.1014 14.8461 72.3801 13.0301C72.6401 11.3201 72.87 9.61005 73.07 7.89005C73.1693 7.00647 73.2785 6.12289 73.3877 5.23931L73.3879 5.23767L73.3901 5.22004C73.4088 5.06561 73.4297 4.91119 73.4508 4.75575C73.4747 4.57912 73.4988 4.40081 73.5201 4.22004C73.4401 4.24004 73.3601 4.25753 73.2801 4.27503C73.2001 4.29252 73.1201 4.31002 73.0401 4.33002C72.6708 4.40168 72.3015 4.4703 71.9305 4.53923C71.6285 4.59534 71.3252 4.6517 71.0201 4.71003C70.1101 4.92003 69.1901 5.14005 68.2901 5.45005C68.3251 5.43505 68.3626 5.42254 68.4001 5.41004C68.4376 5.39753 68.4751 5.38503 68.5101 5.37003L65.8701 6.30002C62.1201 7.71002 58.3801 9.17001 54.6601 10.66C53.2929 11.2069 51.9394 11.7813 50.5883 12.3546L50.586 12.3556C50.3073 12.4739 50.0287 12.5921 49.7501 12.7101C49.2439 12.9219 48.7413 13.1372 48.24 13.3519C47.8898 13.502 47.5395 13.652 47.19 13.8C46.8992 13.922 46.6103 14.0459 46.3218 14.1697C45.688 14.4416 45.056 14.7127 44.4101 14.9601C43.9903 15.12 43.5706 15.2774 43.1508 15.4348L43.1494 15.4353C42.7296 15.5927 42.3098 15.7501 41.8901 15.91C41.3575 16.1125 40.8081 16.2813 40.2587 16.4501C40.0756 16.5063 39.8925 16.5625 39.71 16.62C38.9111 16.8762 38.1046 17.1079 37.2979 17.3396C36.2469 17.6416 35.1955 17.9436 34.1601 18.3C33.3701 18.59 32.59 18.91 31.82 19.26C31.7807 19.2797 31.7403 19.3004 31.6993 19.3215C31.6149 19.3648 31.5274 19.4097 31.44 19.45C31.64 19.52 31.8301 19.59 32.0201 19.66C32.6741 19.9249 33.3075 20.2104 33.9487 20.4994C34.082 20.5595 34.2158 20.6198 34.35 20.68C35.13 21.03 35.91 21.34 36.71 21.63C38.74 22.24 40.78 22.81 42.85 23.26C43.34 23.35 43.8201 23.43 44.3101 23.47C44.4505 23.4767 44.5953 23.4744 44.7386 23.4722C44.8096 23.4711 44.8804 23.47 44.95 23.47L45.22 23.44L46.09 22.99C46.68 22.67 47.3501 22.41 48.0201 22.74C48.7201 23.09 49.22 23.8 49.08 24.61C48.94 25.46 48.3201 25.91 47.6301 26.32C47.2401 26.55 46.8101 26.71 46.3801 26.82C46.2598 26.8877 46.1338 26.9497 46.0107 27.0104L45.9271 27.0516C45.931 27.0506 45.9352 27.05 45.94 27.05C45.36 27.32 44.8 27.62 44.24 27.93C43.9559 28.0845 43.6831 28.258 43.41 28.4318Z\",fill:\"currentColor\"})});const Arrow13=props=>/*#__PURE__*/_jsx(\"svg\",{width:\"75\",height:\"85\",viewBox:\"0 0 75 85\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M5.03001 74.19C5.54526 74.5936 6.08264 74.8423 6.69913 74.9805C6.6142 75.1552 6.52973 75.3298 6.44526 75.5045C6.29777 75.8095 6.15001 76.115 6.00002 76.42C5.87502 76.67 5.75002 76.9225 5.62502 77.175C5.50002 77.4275 5.37502 77.68 5.25002 77.93C5.18815 78.0556 5.12523 78.1812 5.06217 78.3071C5.01518 78.4009 4.96812 78.4948 4.92136 78.5891C4.86369 78.5299 4.80654 78.4703 4.75001 78.41C4.7101 78.3601 4.67268 78.3102 4.63527 78.2603C4.59776 78.2103 4.56002 78.16 4.52001 78.11L4.4 77.9C4.37007 77.8401 4.34015 77.7703 4.31022 77.7005L4.31001 77.69C4.2924 77.1793 4.32906 76.653 4.36539 76.1318L4.38001 75.92C4.40001 75.57 4.44001 75.22 4.50001 74.88L4.51202 74.8183C4.57399 74.5001 4.63459 74.1889 4.67296 73.8707C4.783 73.9846 4.90146 74.0916 5.03001 74.19ZM10.4954 75.2702C10.6929 74.8729 10.9001 74.456 10.9675 74.0283C11.113 73.9529 11.2579 73.8766 11.4023 73.8004L11.46 73.77C11.7153 73.6354 11.9707 73.4964 12.222 73.3502L12.1592 73.5006C12.0827 73.6836 12.0063 73.8667 11.93 74.05C11.8715 74.1926 11.8108 74.3369 11.7495 74.4826C11.3809 75.3584 10.99 76.287 10.93 77.23C10.8955 77.8988 11.3128 78.4869 11.8735 78.7908C10.7361 79.5354 9.53807 80.1849 8.33621 80.8364L8.09 80.97C8.03 80.995 7.96751 81.0225 7.90501 81.05C7.84251 81.0775 7.78001 81.105 7.72001 81.13C7.69634 81.13 7.67268 81.1362 7.64902 81.1438C7.68326 81.0716 7.71369 80.9969 7.74002 80.92C7.74002 80.91 7.75001 80.89 7.76001 80.87C7.76001 80.8798 7.75761 80.8896 7.75398 80.8994L7.74002 80.93C7.74512 80.9198 7.75021 80.9096 7.75398 80.8994C8.12277 80.0926 8.52037 79.2981 8.91717 78.5053C9.12979 78.0804 9.34242 77.6556 9.55002 77.23L10.33 75.61C10.3819 75.4985 10.4382 75.3852 10.4954 75.2702ZM14.8765 76.2298C14.961 76.1563 15.0455 76.083 15.13 76.01C15.445 75.74 15.765 75.475 16.085 75.21L16.0858 75.2093C16.3989 74.9501 16.7119 74.6908 17.0202 74.4269C17.6735 73.8455 18.3091 73.2464 18.9394 72.6419C18.2451 72.1541 18.0359 71.2956 18.32 70.5C18.4415 70.1597 18.5852 69.8269 18.7286 69.4946C18.8212 69.2801 18.9137 69.0658 19 68.85C19.3 68.12 19.58 67.38 19.86 66.64L19.8905 66.5605C19.4951 66.8896 19.1009 67.2187 18.71 67.55C18.234 67.9773 17.761 68.4104 17.294 68.851C17.3359 69.5027 17.1614 70.2018 16.99 70.79C16.7181 71.7234 16.3477 72.6241 15.9755 73.5291L15.86 73.81C15.7291 74.1343 15.5962 74.4585 15.4631 74.7831C15.266 75.2642 15.0683 75.7465 14.8765 76.2298ZM23.3248 68.7048C23.1027 68.8689 22.8811 69.0327 22.663 69.2008L22.7001 69.1047C22.8401 68.7423 22.98 68.3799 23.12 68.02C23.37 67.38 23.6 66.73 23.83 66.08C23.9298 65.8092 24.0257 65.5372 24.1215 65.2657C24.2945 64.7751 24.4669 64.2864 24.66 63.81C24.86 63.56 25.01 63.26 25.06 62.92C25.08 62.79 25.1 62.65 25.09 62.51C25.0826 62.3908 25.066 62.2741 25.0406 62.1609C25.3295 61.9127 25.6192 61.6655 25.91 61.42C26.2634 61.123 26.6238 60.8393 26.9891 60.5641C26.9547 60.6632 26.92 60.7621 26.8853 60.861C26.8434 60.9807 26.8014 61.1004 26.76 61.22C26.6878 61.4178 26.6156 61.615 26.5436 61.8116L26.5431 61.813C26.346 62.3513 26.1503 62.8856 25.96 63.42C25.9265 63.5131 25.8927 63.6065 25.8588 63.7002C25.6194 64.3612 25.3752 65.0356 25.2 65.71C25.083 66.1682 25.1514 66.6358 25.361 67.025C25.3171 67.0624 25.2733 67.1 25.2297 67.1379L25.255 67.115L25.1859 67.1761L25.1739 67.1867C24.9339 67.3999 24.6939 67.6174 24.4539 67.8355C24.0872 68.1413 23.7051 68.4237 23.3248 68.7048ZM29.6226 63.6923C30.2064 63.2188 30.7837 62.738 31.35 62.25C31.646 61.9888 31.9387 61.7251 32.2294 61.4601C31.6904 60.9667 31.5208 60.1726 31.79 59.46C32.001 58.8845 32.2407 58.3171 32.4802 57.75C32.6153 57.4304 32.7502 57.1108 32.88 56.79C32.995 56.5124 33.1084 56.2348 33.2204 55.957L32.897 56.2141C32.21 56.7605 31.5205 57.3089 30.8179 57.8371C30.889 57.9639 30.9414 58.0994 30.97 58.24L30.9766 58.2675C31.0243 58.4675 31.07 58.6592 31.07 58.86C31.07 59.0551 31.0307 59.2581 30.9939 59.448L30.98 59.52C30.89 59.98 30.77 60.42 30.62 60.86C30.54 61.095 30.4575 61.3325 30.375 61.57C30.2925 61.8075 30.21 62.045 30.13 62.2801C29.9696 62.7555 29.7961 63.2244 29.6226 63.6923ZM37.4878 56.6864C37.0948 57.0254 36.7058 57.3696 36.3193 57.7166L36.38 57.57C36.62 56.97 36.86 56.36 37.09 55.75C37.1276 55.6505 37.166 55.5517 37.2043 55.4531C37.3085 55.185 37.4123 54.9178 37.5 54.64C37.5305 54.5458 37.5625 54.4509 37.5948 54.3551C37.6789 54.1055 37.765 53.8501 37.83 53.59C37.92 53.38 37.97 53.15 37.97 52.91V52.7C37.9809 52.5486 37.9677 52.4014 37.9342 52.2607C38.8747 51.5162 39.8083 50.7633 40.7266 49.9916C40.6484 50.3545 40.5697 50.7172 40.491 51.0797L40.4897 51.0857C40.224 52.3103 39.9586 53.5332 39.7119 54.7597C39.5586 54.8799 39.4077 55.0031 39.26 55.13C38.6633 55.6428 38.0752 56.1643 37.4878 56.6864ZM44.0115 51.5547C44.3377 51.2836 44.6621 51.0096 44.9872 50.735L45.23 50.53C45.5315 50.2738 45.8355 50.02 46.1458 49.7739C45.9197 49.4276 45.8098 49.003 45.86 48.57C45.9586 47.7245 46.1168 46.8889 46.2752 46.0528C46.3415 45.7023 46.408 45.3515 46.47 45C46.5147 44.7601 46.5578 44.5202 46.5992 44.2802C45.7968 45.1795 44.9782 46.0632 44.127 46.9141C44.323 47.1613 44.4548 47.4588 44.49 47.77C44.52 48.02 44.54 48.28 44.55 48.53C44.5668 48.8577 44.4989 49.1995 44.4353 49.5198L44.4176 49.6089C44.4116 49.6395 44.4057 49.6699 44.4 49.7L44.399 49.7049C44.3293 50.0433 44.2597 50.3816 44.19 50.71C44.1351 50.9798 44.0776 51.2471 44.0201 51.5144L44.0115 51.5547ZM50.41 47.1C50.1314 47.1759 49.8688 47.2947 49.6155 47.4344C49.6701 47.1305 49.7276 46.827 49.785 46.5235C49.8514 46.173 49.918 45.8215 49.98 45.47C50.1 44.83 50.2 44.19 50.3 43.54C50.3357 43.3376 50.3608 43.1316 50.3858 42.9264C50.4028 42.7869 50.4198 42.6476 50.44 42.51C50.52 42.3 50.57 42.08 50.57 41.84C50.57 41.7 50.55 41.55 50.53 41.41C50.4598 41.0078 50.2694 40.6472 49.9945 40.3772C50.4131 39.9229 50.8336 39.4785 51.28 39.06C51.49 38.88 51.71 38.71 51.94 38.54L52.39 38.27C52.4367 38.2433 52.4834 38.2255 52.5301 38.2077L52.5534 38.1988C52.569 38.1928 52.5845 38.1866 52.6 38.18C52.67 38.17 52.73 38.15 52.79 38.13L52.81 38.1248C52.8407 38.1168 52.8669 38.11 52.9 38.11H53.02C53.035 38.11 53.05 38.1125 53.065 38.115C53.08 38.1175 53.095 38.12 53.11 38.12L53.1859 38.139C53.1674 38.2052 53.154 38.2726 53.15 38.34C53.14 38.3899 53.14 38.4398 53.14 38.4797C52.9792 39.4674 52.7774 40.4496 52.5749 41.4346C52.513 41.736 52.451 42.0378 52.39 42.34C52.12 43.52 51.83 44.7 51.52 45.88C51.4903 45.9929 51.4598 46.1063 51.4292 46.2199C51.3641 46.4617 51.2986 46.7049 51.2395 46.9488C50.959 46.9728 50.6811 47.022 50.41 47.1ZM53.11 38.12C53.1 38.12 53.09 38.1175 53.08 38.115C53.07 38.1125 53.06 38.11 53.05 38.11H53.07L53.11 38.12ZM54.6103 48.6123C54.7328 48.8526 54.8402 49.1028 54.94 49.35C55.0177 49.5395 55.0935 49.731 55.1694 49.923C55.3377 50.3484 55.5071 50.7767 55.7 51.19C55.7621 51.309 55.8269 51.4281 55.8944 51.5458C55.9505 51.3111 56.0075 51.0768 56.0645 50.8422C56.1334 50.5588 56.2023 50.275 56.27 49.99L56.3088 49.7865C56.4557 49.0158 56.6014 48.2521 56.73 47.48C56.77 47.2549 56.8126 47.0274 56.8551 46.7998C56.8976 46.5724 56.94 46.3449 56.98 46.12C57.1111 45.4282 57.274 44.6886 57.5846 44.0403C57.0643 43.4092 56.5482 42.7704 56.0544 42.1132C55.9712 42.5307 55.8837 42.9468 55.79 43.36C55.5945 44.2371 55.3709 45.1079 55.1471 45.9795C54.9703 46.6678 54.7933 47.3573 54.63 48.05C54.6552 48.2328 54.6487 48.4236 54.6103 48.6123ZM59.1073 55.2521C58.9725 55.1458 58.8379 55.0396 58.7049 54.9304C59.0181 54.5317 59.146 54.0025 59.06 53.51C59.15 53.1128 59.2455 52.7184 59.3409 52.3248C59.5 51.6678 59.6587 51.0128 59.79 50.35C59.945 49.5877 60.0807 48.8217 60.2162 48.0565C60.2633 47.7907 60.3104 47.5249 60.3583 47.2595C60.6225 47.5025 60.9013 47.7285 61.2 47.93C61.417 48.0784 61.6429 48.2248 61.8762 48.3635C61.8239 48.6488 61.8003 48.9418 61.78 49.2299C61.785 49.1899 61.7875 49.1499 61.79 49.1099C61.7925 49.0699 61.795 49.03 61.8 48.99C61.7821 49.2705 61.7749 49.551 61.7677 49.8294C61.7629 50.0175 61.7581 50.2045 61.75 50.39C61.75 50.4 61.7475 50.41 61.745 50.42C61.7425 50.43 61.74 50.44 61.74 50.45C61.7172 50.5573 61.6928 50.6636 61.6685 50.7695C61.5864 51.1271 61.5054 51.4796 61.49 51.8499C61.485 52.0049 61.485 52.1599 61.485 52.3149C61.485 52.47 61.485 52.625 61.48 52.78L61.4744 52.828C61.4562 52.9836 61.4372 53.1459 61.41 53.3C61.3558 53.5296 61.2893 53.7557 61.223 53.9813C61.1305 54.296 61.0383 54.6096 60.98 54.93C60.9532 55.0717 60.9475 55.2127 60.9602 55.3505C60.9585 55.3537 60.9568 55.3568 60.955 55.36C60.9425 55.3825 60.93 55.405 60.92 55.43C60.9 55.445 60.8801 55.4575 60.8601 55.47C60.8401 55.4824 60.82 55.495 60.8 55.51C60.82 55.5 60.8375 55.4875 60.855 55.475C60.8725 55.4625 60.89 55.45 60.91 55.44L60.04 56.04C60.0314 56.0313 60.0228 56.0232 60.0141 56.0153C60.0061 56.0079 59.998 56.0007 59.99 55.9937L59.98 55.985C59.96 55.9675 59.94 55.95 59.92 55.93C59.6568 55.6855 59.3818 55.4686 59.1073 55.2521ZM25.2589 67.1114L25.34 67.04C25.3114 67.0638 25.2851 67.0876 25.2589 67.1114ZM3.61966 64.0592C3.87188 63.7625 4.17965 63.501 4.47462 63.2503L4.47561 63.2495C4.55861 63.179 4.64058 63.1093 4.72001 63.04C5.10001 62.71 5.47 62.38 5.84 62.05C5.81001 62.075 5.78251 62.1 5.75501 62.125C5.72751 62.15 5.70001 62.175 5.67001 62.2C6.28013 61.6518 6.88635 61.0996 7.49212 60.5479C8.25638 59.8518 9.02024 59.156 9.79 58.4699C11.27 57.1399 12.78 55.83 14.29 54.53C15.5301 53.4659 16.7772 52.4087 18.0247 51.3513L18.0266 51.3497C19.7559 49.8838 21.4867 48.4167 23.2 46.93C24.6252 45.6901 26.0707 44.4727 27.5162 43.2554C29.1132 41.9105 30.7106 40.5652 32.28 39.19C32.28 39.19 32.27 39.19 32.27 39.2C34 37.63 35.72 36.04 37.42 34.44C39.11 32.85 40.77 31.23 42.33 29.51C42.69 29.07 43.03 28.63 43.37 28.18C43.51 27.95 43.65 27.72 43.78 27.48C43.8435 27.3529 43.8971 27.2209 43.9513 27.0874L43.9816 27.0127C43.9942 26.9818 44.007 26.9509 44.02 26.92L44.031 26.882C44.0471 26.8274 44.0619 26.777 44.07 26.7199C44.075 26.695 44.0775 26.6725 44.08 26.65C44.0825 26.6275 44.085 26.605 44.09 26.58V26.52C44.09 26.51 44.0875 26.4975 44.085 26.485C44.0825 26.4725 44.08 26.46 44.08 26.45C44.07 26.41 44.06 26.37 44.04 26.33C44.03 26.31 44.0225 26.29 44.015 26.27C44.0075 26.25 44 26.23 43.99 26.21C43.9701 26.1801 43.9526 26.1502 43.9352 26.1203C43.9177 26.0904 43.9 26.0599 43.88 26.03C43.76 25.8701 43.64 25.7099 43.5 25.57C43.55 25.62 43.6 25.68 43.65 25.74C43.51 25.6 43.37 25.46 43.22 25.32C42.3117 24.5654 41.3665 23.8607 40.4218 23.1563C39.3384 22.3486 38.2556 21.5414 37.23 20.66C36.5237 20.0575 35.9036 19.3591 35.2869 18.6644C35.0132 18.3561 34.7397 18.0481 34.46 17.75C33.6422 16.8757 32.7536 16.0633 31.8692 15.2547L31.7 15.1C31.6068 15.02 31.5146 14.9401 31.4225 14.8602C31.238 14.7001 31.0534 14.5401 30.86 14.38C30.23 13.85 29.59 13.28 29.47 12.42C29.17 10.22 31.56 9.16996 33.29 8.66996C35.22 8.10996 37.17 7.59 39.12 7.09C40.3747 6.76406 41.6319 6.44795 42.8893 6.13175C45.2197 5.54578 47.5513 4.95948 49.87 4.30998C50.684 4.08241 51.4975 3.84958 52.3114 3.61662C55.2172 2.78495 58.1295 1.95144 61.09 1.34995C62.99 0.959954 64.89 0.619983 66.82 0.379983C68.55 0.169983 70.52 0.199995 71.96 1.33C72.81 2 73.37 2.86999 73.72 3.88999C74.15 5.11999 74.35 6.43997 74.43 7.73997C74.4371 7.87575 74.4445 8.01154 74.4519 8.14732C74.4959 8.96154 74.54 9.77579 74.54 10.59C74.5487 11.4427 74.5044 12.2879 74.4598 13.1387L74.4597 13.141L74.4596 13.1432L74.4595 13.1456L74.4593 13.1482L74.4592 13.1509L74.459 13.1539L74.4589 13.1569C74.4525 13.2778 74.4462 13.3988 74.44 13.52C74.3965 14.3212 74.3074 15.1224 74.2191 15.917L74.18 16.27C74.06 17.32 73.94 18.37 73.8 19.42C73.3606 22.7505 72.705 26.0425 72.0503 29.3298L72.0479 29.3419C71.9584 29.7913 71.8689 30.2407 71.78 30.69L71.6875 31.1501C71.3484 32.8352 71.0108 34.5134 70.69 36.2C70.4664 37.3629 70.3081 38.5381 70.1498 39.7124C70.0605 40.376 69.9711 41.0393 69.87 41.7C69.72 42.66 69.51 43.62 69.29 44.56C69.18 44.99 69.05 45.43 68.9 45.85C68.73 46.33 68.54 46.83 68.29 47.28C68.1475 47.5282 67.9945 47.7532 67.825 47.9627C67.93 48.4565 67.8203 48.9944 67.51 49.44C67.4236 49.5642 67.3226 49.6826 67.2212 49.8014C67.1349 49.9026 67.0482 50.0042 66.97 50.11C66.9101 50.2396 66.8603 50.3793 66.8104 50.519L66.81 50.52C66.7705 50.6384 66.7343 50.7601 66.6978 50.8829L66.6974 50.884C66.623 51.1339 66.5472 51.3889 66.44 51.63C66.25 52.17 66.04 52.69 65.8 53.21C65.31 54.26 64.84 55.31 64.39 56.37C64.14 56.94 63.85 57.55 63.38 57.97C63.1833 58.1509 62.9742 58.2948 62.7625 58.4404C62.7051 58.4799 62.6476 58.5195 62.59 58.56C62.4207 58.6743 62.2534 58.7958 62.0855 58.9178C61.4895 59.3508 60.8855 59.7896 60.16 59.93C59.48 60.06 58.72 59.82 58.23 59.33C58.11 59.21 58.0069 59.0731 57.9037 58.9362C57.8694 58.8906 57.835 58.845 57.8 58.8C57.63 58.62 57.45 58.44 57.27 58.28C57.132 58.1671 56.991 58.0571 56.8499 57.947C56.5411 57.7061 56.2314 57.4645 55.95 57.19C55.49 56.73 55.08 56.23 54.67 55.72C54.5191 55.5329 54.3655 55.3484 54.2122 55.1642C53.6853 54.5309 53.1605 53.9003 52.75 53.18C52.4134 52.5769 52.1604 51.9344 51.9082 51.2939C51.8009 51.0213 51.6934 50.7486 51.58 50.48C51.53 50.48 51.47 50.49 51.42 50.5C51.4185 50.5 51.4169 50.5002 51.4153 50.5006L51.4139 50.501C51.4117 50.5017 51.4094 50.5027 51.4069 50.5037C51.4 50.5066 51.3917 50.51 51.38 50.51C51.1057 50.6624 50.8429 50.838 50.5786 51.0148C50.496 51.07 50.4133 51.1252 50.33 51.18C50.1898 51.2719 50.0459 51.3639 49.9006 51.4567C49.7142 51.5758 49.5254 51.6964 49.34 51.82C48.474 52.4132 47.6748 53.0978 46.8736 53.7842C46.3241 54.2549 45.7736 54.7265 45.2 55.17C44.49 55.73 43.75 56.24 43 56.75C42.2888 57.2366 41.6214 57.7582 40.9732 58.3231C40.2851 58.942 39.5874 59.5608 38.88 60.17C38.0488 60.9053 37.2364 61.6656 36.4237 62.4261L36.4229 62.4268C35.4565 63.3313 34.4893 64.2364 33.49 65.1C32.59 65.88 31.66 66.63 30.72 67.37C30.5798 67.4794 30.4403 67.5895 30.301 67.6996L30.2998 67.7005C29.9429 67.9826 29.5865 68.2641 29.22 68.53C29.0649 68.6479 28.9078 68.7629 28.7506 68.878C28.4012 69.1339 28.0511 69.3903 27.72 69.68C27.7313 69.6687 27.743 69.6575 27.7552 69.6462C27.6564 69.732 27.5559 69.821 27.46 69.91C27.49 69.885 27.5175 69.86 27.545 69.835C27.5724 69.81 27.5999 69.7851 27.6299 69.7601C27.06 70.28 26.4899 70.8001 25.88 71.26C25.6405 71.4491 25.3957 71.6294 25.1507 71.8097C24.813 72.0584 24.4745 72.3077 24.15 72.58C23.3899 73.2801 22.6476 73.998 21.9052 74.7159C21.5342 75.0746 21.1632 75.4334 20.79 75.79C20.15 76.4 19.49 77.01 18.81 77.58C18.6317 77.7301 18.4525 77.8803 18.2729 78.0307C17.8782 78.3612 17.4817 78.6933 17.09 79.03C16.9698 79.1362 16.8503 79.2422 16.7311 79.3478C16.1658 79.8487 15.6081 80.3427 15.03 80.83C14.37 81.39 13.69 81.88 12.94 82.33C12.21 82.78 11.46 83.19 10.7 83.6L10.6972 83.6015C10.2881 83.831 9.87906 84.0605 9.46002 84.27C8.87002 84.56 8.23001 84.73 7.58001 84.73L7.5352 84.7242C7.23833 84.686 6.92463 84.6457 6.62 84.56C5.77058 84.3306 5.10154 83.6684 4.47192 83.0451L4.46915 83.0424C4.35853 82.9329 4.24897 82.8244 4.14001 82.72C3.97508 82.5625 3.8089 82.4064 3.64273 82.2502C3.14411 81.7816 2.64488 81.3123 2.18 80.81C1.6 80.18 1.14 79.42 0.900002 78.59C0.785334 78.1843 0.787371 77.7707 0.789446 77.3494C0.789724 77.2931 0.790002 77.2366 0.790002 77.18C0.800002 76.73 0.820015 76.29 0.850015 75.84C0.854494 75.7728 0.85875 75.7054 0.863016 75.6378C0.887322 75.2529 0.911949 74.8628 0.980004 74.48C1.01392 74.285 1.05502 74.0972 1.09721 73.9044L1.12 73.8C1.16 73.56 1.19001 73.31 1.20001 73.07V73.11C1.208 72.992 1.2156 72.874 1.2232 72.756C1.2536 72.284 1.284 71.812 1.34 71.34C1.37799 71.0457 1.43625 70.7558 1.49447 70.4662C1.55889 70.1458 1.62325 69.8256 1.66001 69.5L1.78001 67.58V67.57L3.61966 64.0592ZM2.05701 65.1892C2.33579 64.5417 2.93279 64.0937 3.61966 64.0592L1.78001 67.54L1.78012 67.5376C1.78034 67.5174 1.78098 67.4982 1.78287 67.4784C1.79147 67.2889 1.79824 67.0996 1.805 66.9101C1.8125 66.7002 1.82001 66.49 1.83001 66.28C1.85001 65.96 1.91001 65.66 2.00001 65.36V65.35L2.03001 65.26C2.0418 65.2364 2.05012 65.2128 2.05701 65.1892ZM2.05701 65.1892C2.05121 65.2027 2.04553 65.2163 2.04 65.23L2.07002 65.14C2.06591 65.1564 2.06181 65.1728 2.05701 65.1892ZM5.31153 67.2313C5.90264 67.0998 6.38479 66.6667 6.59 66.1C6.65975 66.0352 6.73199 65.9704 6.80423 65.9057L6.80501 65.905C6.87676 65.8407 6.9485 65.7763 7.01783 65.712C8.37293 64.5161 9.71073 63.3028 11.0485 62.0896C11.8843 61.3316 12.72 60.5737 13.56 59.82L13.54 59.84C16.07 57.64 18.62 55.47 21.18 53.31C22.6003 52.1111 24.0045 50.896 25.408 49.6814C26.9193 48.3736 28.4306 47.0658 29.96 45.78L30.5535 45.2825C31.8452 44.2 33.1339 43.12 34.4 42.01C35.6949 40.8792 36.9483 39.7068 38.2056 38.5308L38.57 38.19C40 36.85 41.42 35.51 42.81 34.13C43.48 33.47 44.12 32.78 44.75 32.08C45.47 31.27 46.21 30.4 46.72 29.44C47.24 28.45 47.68 27.39 47.6 26.24C47.52 25.15 47.01 24.2 46.3 23.38C45.6568 22.6311 44.8429 22.0141 44.0496 21.4129C43.9425 21.3317 43.8358 21.2508 43.73 21.17C43.2757 20.822 42.8162 20.4802 42.3565 20.1383L42.3556 20.1377C41.389 19.4187 40.4215 18.6992 39.5 17.92C38.9452 17.3652 38.4118 16.7867 37.8777 16.2077C37.3145 15.597 36.7502 14.9851 36.16 14.4C35.39 13.63 34.59 12.91 33.77 12.2C33.77 12.2 33.78 12.19 33.79 12.19C35.355 11.6604 36.9638 11.2495 38.5719 10.8388C38.9982 10.73 39.4247 10.621 39.85 10.51C41.0498 10.2 42.2519 9.89897 43.4539 9.5979C45.8585 8.99562 48.2631 8.39334 50.65 7.71995C51.2864 7.53913 51.9215 7.35589 52.5563 7.17275L52.5573 7.17247C53.7476 6.82906 54.9367 6.48598 56.13 6.15995C58 5.64995 59.88 5.17999 61.77 4.75999C63.86 4.33999 65.95 3.95001 68.07 3.78001C68.1467 3.78001 68.2234 3.7789 68.3 3.77779C68.4534 3.77556 68.6067 3.77334 68.76 3.78001C68.89 3.79001 69.03 3.81 69.16 3.83C69.25 3.85 69.34 3.87 69.43 3.9C69.5098 3.92991 69.5903 3.9601 69.67 3.99998C69.69 4.01498 69.7125 4.02748 69.735 4.03999C69.7575 4.05249 69.78 4.065 69.8 4.08C69.8236 4.10362 69.8472 4.12101 69.8757 4.14198L69.9 4.15995C69.915 4.16995 69.9275 4.18245 69.94 4.19496C69.9525 4.20746 69.965 4.21996 69.98 4.22996C69.9998 4.25464 70.0171 4.27688 70.0343 4.2991L70.035 4.29997C70.0524 4.32238 70.0701 4.34507 70.09 4.36997C70.1099 4.4048 70.1298 4.43716 70.1497 4.4695L70.1503 4.47046C70.1702 4.5028 70.1901 4.53516 70.21 4.56999C70.28 4.72999 70.34 4.88997 70.4 5.04997C70.49 5.31997 70.56 5.58996 70.62 5.85996C70.74 6.53996 70.84 7.21 70.9 7.9C70.96 8.84 71 9.76995 71.01 10.7199C71.0199 11.6118 70.9709 12.4938 70.9214 13.3854L70.92 13.41C70.7 15.78 70.44 18.15 70.08 20.51C69.5693 23.8164 68.9088 27.1004 68.2476 30.3878C68.1449 30.8984 68.0422 31.4091 67.94 31.92C67.8755 32.2406 67.8101 32.5609 67.7447 32.8811L67.7439 32.8849L67.7437 32.8861C67.4442 34.3517 67.145 35.816 66.94 37.3C66.8849 37.6796 66.8311 38.0592 66.7773 38.4387C66.5775 39.8487 66.3779 41.2574 66.11 42.66C65.95 43.3299 65.78 43.98 65.58 44.64C65.47 44.94 65.35 45.23 65.21 45.52C65.1701 45.5899 65.1202 45.6697 65.0703 45.7496C65.0703 45.7451 65.0705 45.7416 65.0714 45.738C65.0776 45.7309 65.0838 45.7224 65.09 45.71C65.0822 45.7178 65.0745 45.7255 65.0714 45.738C65.0676 45.7424 65.0638 45.7462 65.06 45.75H64.99C64.9001 45.74 64.8099 45.73 64.72 45.71C64.6631 45.7019 64.6128 45.6871 64.5583 45.6711L64.52 45.66C64.28 45.5799 64.05 45.48 63.82 45.37C63.7 45.31 63.58 45.24 63.47 45.17C63.26 45.02 63.06 44.86 62.86 44.7C62.63 44.48 62.4 44.25 62.18 44.02C61.7722 43.5396 61.3738 43.0529 60.976 42.567L60.9748 42.5655L60.974 42.5645L60.9723 42.5624C60.6592 42.18 60.3465 41.798 60.03 41.42C59.5 40.78 59.01 40.1299 58.53 39.4699C58.2802 39.0802 58.0299 38.6897 57.8 38.29L57.7119 38.136C57.3106 37.4341 56.8997 36.7156 56.35 36.11C55.56 35.23 54.54 34.67 53.36 34.55C52.26 34.43 51.11 34.7999 50.2 35.41C48.92 36.27 47.88 37.38 46.88 38.53C46.5473 38.9165 46.2171 39.3006 45.8868 39.6846L45.8851 39.6866L45.865 39.71C45.5275 40.1025 45.19 40.495 44.85 40.89L44.7079 41.0507L44.7071 41.0516C43.8338 42.0393 42.9481 43.0408 42 43.9699C41 44.9599 39.97 45.92 38.92 46.86C37.18 48.31 35.4 49.71 33.6 51.1C32.9268 51.624 32.2594 52.1524 31.5929 52.6802C30.5169 53.5322 29.443 54.3826 28.35 55.21C27.7726 55.6548 27.1647 56.0691 26.5596 56.4815C26.3895 56.5975 26.219 56.7137 26.05 56.83C25.3 57.34 24.59 57.8999 23.88 58.4699C23.0794 59.115 22.3054 59.7966 21.5311 60.4783L21.5303 60.479L21.5295 60.4797C20.9601 60.9811 20.3904 61.4828 19.81 61.9699C19.375 62.3385 18.9354 62.7025 18.4957 63.0666C17.4798 63.9078 16.4631 64.7497 15.5 65.65C14.8635 66.239 14.2473 66.8506 13.631 67.4622C12.9499 68.1382 12.2687 68.8143 11.56 69.46C11.34 69.64 11.12 69.81 10.89 69.98C10.28 70.36 9.64001 70.7 9.00001 71.02C8.71001 71.15 8.43001 71.27 8.14001 71.38C7.99001 71.43 7.83001 71.47 7.67001 71.51C7.62001 71.52 7.56 71.53 7.51 71.53H7.45001C7.43001 71.52 7.42 71.52 7.4 71.52C7.39 71.51 7.37001 71.5 7.35001 71.5H7.34C7.32 71.5 7.31001 71.49 7.30001 71.48C7.29001 71.47 7.28 71.46 7.26 71.45L7.21001 71.4C7.19024 71.3753 7.17291 71.353 7.15561 71.3307L7.15442 71.3292C7.13718 71.3071 7.11972 71.2846 7.10001 71.26C7.04012 71.1602 6.97991 71.0598 6.93 70.96C6.76 70.58 6.58001 70.2 6.38001 69.83C6.29873 69.6732 6.20733 69.5199 6.11561 69.3659C6.04937 69.2548 5.9829 69.1432 5.92001 69.03L5.74001 68.58C5.70001 68.45 5.66001 68.32 5.63001 68.19C5.55634 67.8769 5.44875 67.5977 5.30723 67.3134L5.31153 67.2313ZM37.4887 56.6856L37.53 56.65C37.5158 56.6619 37.5021 56.6737 37.4887 56.6856Z\",fill:\"currentColor\"})});const Arrow14=props=>/*#__PURE__*/_jsxs(\"svg\",{width:\"69\",height:\"76\",viewBox:\"0 0 69 76\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:[/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M3.51869 57.301C3.49651 57.2658 3.47434 57.2306 3.45218 57.1954C3.33539 57.0098 3.2186 56.8242 3.10003 56.64C2.73002 56.12 2.35003 55.63 1.93003 55.15C1.62002 54.8101 1.30002 54.48 0.960028 54.17C0.250029 53.52 0.300024 52.33 0.960028 51.67C0.97859 51.6514 0.998 51.6329 1.018 51.6144C1.04224 51.5922 1.06735 51.5701 1.09286 51.5487C1.14832 51.502 1.20566 51.4581 1.26003 51.42C1.14003 51.31 1.04002 51.19 0.960028 51.04C0.47827 50.2141 0.760146 49.2432 1.48253 48.6976L1.47003 48.71C2.74133 47.7686 3.96732 46.7625 5.18967 45.7593C5.48648 45.5157 5.78306 45.2723 6.08003 45.03C7.51003 43.8701 8.94003 42.72 10.4 41.6C13.5 39.22 16.65 36.92 19.82 34.62L19.8398 34.6055L19.8559 34.5938C22.7939 32.4525 25.7319 30.3112 28.66 28.15C30.09 27.09 31.52 26.04 32.96 24.99C33.63 24.51 34.3 24.02 34.96 23.53C35.0466 23.4637 35.134 23.3981 35.2217 23.333C35.286 23.2852 35.3505 23.2376 35.415 23.19C35.4927 23.1327 35.5704 23.0754 35.6477 23.0178C35.7222 22.9622 35.7964 22.9064 35.87 22.85L35.8687 22.8492C35.8291 22.8295 35.7896 22.8098 35.75 22.78C34.95 22.3601 34.18 21.88 33.45 21.35C32.6505 20.7736 31.9028 20.1281 31.1587 19.4857L30.99 19.34C29.74 18.27 28.47 17.25 27.15 16.26C25.85 15.28 24.58 14.26 23.34 13.21C23.3053 13.1806 23.2701 13.1512 23.2345 13.1218C23.1788 13.0756 23.1222 13.0295 23.0652 12.983C22.5408 12.5554 21.9853 12.1022 21.79 11.44C21.59 10.74 21.84 9.97004 22.41 9.53004C22.7972 9.23286 23.2655 9.15467 23.7345 9.0763L23.737 9.07593C23.788 9.06739 23.8391 9.05884 23.89 9.04999C24.8461 8.84589 25.8008 8.63575 26.7554 8.4256C29.4951 7.82258 32.2338 7.21979 35 6.76002L35.0096 6.75855C37.0964 6.41907 39.1832 6.0796 41.27 5.78004L46.82 4.96998C47.2572 4.90351 47.6945 4.83741 48.1316 4.77137L48.1564 4.76771C50.6705 4.38807 53.1825 4.00873 55.68 3.54999C56.7 3.32001 57.71 3.06 58.7 2.75001C59.59 2.43 60.45 2.05006 61.29 1.64002C61.2954 1.63734 61.3 1.63465 61.3043 1.63215C61.3161 1.62537 61.3254 1.62 61.34 1.62L61.3417 1.61927C61.3543 1.61292 61.3668 1.60663 61.3766 1.60029C61.382 1.59687 61.3866 1.59345 61.39 1.59003L61.45 1.56H61.44C61.5175 1.52015 61.595 1.48005 61.6728 1.43983L61.6742 1.43909C62.2784 1.12653 62.8927 0.809027 63.53 0.570014C64.24 0.299994 64.99 0.300055 65.61 0.780036C66.41 1.39002 66.52 2.51002 66.53 3.43C66.5395 4.51319 66.3004 5.61414 66.0721 6.66596L66.03 6.85999C65.9129 7.4004 65.7796 7.93281 65.6447 8.47163L65.6 8.65003C65.3997 9.46015 65.1994 10.2778 64.9792 11.0899C65.2548 11.0884 65.5231 11.0784 65.8 11.06C66.22 11.02 66.64 10.98 67.06 10.95C67.67 10.92 68.26 11.1699 68.64 11.66C69 12.13 69.08 12.71 68.95 13.28C68.9387 13.3326 68.9232 13.3824 68.9051 13.4304C68.8893 13.4722 68.8715 13.5126 68.8528 13.5524C68.8357 13.5886 68.8179 13.6243 68.8 13.66C68.7808 14.0917 68.7432 14.5051 68.7049 14.9266L68.7 14.98C68.59 16.04 68.33 17.09 68.06 18.11C67.8614 18.8508 67.6195 19.5744 67.3777 20.2977C67.1692 20.9217 66.9606 21.5455 66.78 22.18C66.4486 23.3732 66.1789 24.587 65.9085 25.8043C65.8525 26.0561 65.7966 26.3081 65.74 26.56C65.6043 27.3002 65.5295 28.0443 65.4545 28.7897L65.4544 28.7912C65.4079 29.2537 65.3613 29.7169 65.3 30.18C65.13 31.48 64.85 32.75 64.54 34.03C64.24 35.26 63.93 36.48 63.61 37.7C63.485 38.178 63.3546 38.6533 63.2242 39.1283L63.2239 39.1296C62.9998 39.9462 62.7759 40.7621 62.58 41.59C62.39 42.57 62.26 43.55 62.18 44.55C62.1752 44.6589 62.1697 44.7683 62.164 44.8782C62.5337 45.3126 62.6794 45.9244 62.54 46.52L62.2654 47.7223C61.7853 49.8218 61.3051 51.9224 60.86 54.03C60.68 54.95 60.54 55.87 60.43 56.8L60.4228 56.8567L60.411 56.9519L60.3931 57.1001C60.3295 57.6318 60.2633 58.1842 60.07 58.68C59.72 59.6 58.8 60.1801 57.82 59.9C57.2196 59.7354 56.6755 59.2144 56.224 58.7821L56.18 58.74C55.82 58.4 55.5 58.04 55.18 57.67C54.9129 57.3657 54.6898 57.0175 54.4699 56.6741C54.3985 56.5627 54.3275 56.4518 54.2554 56.3431C53.8335 55.7288 53.4101 55.1152 52.97 54.51C52.5124 53.8909 52.0226 53.304 51.5294 52.7131L51.36 52.51C50.83 51.88 50.32 51.23 49.82 50.57C49.724 50.4414 49.6288 50.3122 49.5341 50.1828L49.352 49.9337C48.9561 49.3913 48.5611 48.8502 48.13 48.34C47.6657 48.6982 47.2277 49.0916 46.7928 49.4823L46.7905 49.4845C46.5706 49.682 46.3514 49.8788 46.13 50.07C45.9895 50.1944 45.8495 50.3193 45.7097 50.4445C45.5471 50.5903 45.3848 50.7365 45.2226 50.8826L45.2175 50.8874C44.9158 51.1591 44.6142 51.4309 44.31 51.7C43.6363 52.31 42.9293 52.8621 42.2195 53.4164L42.01 53.58C41.3893 54.0611 40.7926 54.5602 40.1967 55.0587C40.0246 55.2026 39.8526 55.3466 39.68 55.49C38.9834 56.0659 38.2868 56.6504 37.6062 57.2515L37.62 57.24C36.7322 58.0239 35.8555 58.8168 34.9795 59.6091C34.0005 60.4945 33.0222 61.3792 32.03 62.25C31.12 63.05 30.19 63.83 29.26 64.6C28.9222 64.8767 28.5818 65.1495 28.2416 65.4222C27.6352 65.9083 27.0294 66.3939 26.44 66.9C25.44 67.8001 24.44 68.7 23.36 69.52C22.6876 70.0306 21.9879 70.5102 21.2877 70.9902L21.2861 70.9913L21.2833 70.9933C20.8604 71.2831 20.4374 71.573 20.02 71.87C19.0847 72.5292 18.1732 73.2201 17.2573 73.9144L17.2549 73.9163L16.92 74.17C16.8402 74.2306 16.7615 74.2922 16.6831 74.3536L16.6822 74.3543L16.6803 74.3558C16.514 74.486 16.3493 74.6149 16.18 74.73C15.82 74.99 15.39 75.14 14.96 75.14C14.8 75.14 14.64 75.12 14.48 75.08C13.7749 74.8837 13.3885 74.305 13.0078 73.7349C12.962 73.6663 12.9162 73.5977 12.87 73.53C12.91 73.59 12.95 73.65 12.99 73.72C12.71 73.31 12.42 72.9 12.1 72.52L11.96 72.38C11.69 72.16 11.4 71.95 11.11 71.75C10.605 71.425 10.0925 71.115 9.58002 70.805C9.06752 70.495 8.55502 70.185 8.05002 69.86C6.84002 69.09 5.75001 68.18 4.68001 67.23L4.69002 67.24C4.20977 66.8212 3.76072 66.3743 3.31324 65.929L3.31237 65.9281C2.95881 65.5762 2.60622 65.2253 2.24001 64.89C1.66717 64.6406 1.26507 64.0753 1.18355 63.4228C1.16728 63.2441 1.17864 63.0651 1.21257 62.8912C1.21171 62.8908 1.21086 62.8904 1.21001 62.89C0.420004 62.52 -0.0499893 61.66 0.190009 60.79C0.370009 60.15 0.850005 59.67 1.32001 59.23C1.58001 58.99 1.83 58.75 2.09 58.52C2.55768 58.1052 3.03105 57.6959 3.51869 57.301ZM7.80003 61.8C8.22003 62.11 8.64003 62.41 9.07003 62.71C9.83002 63.25 10.79 63.88 11.77 63.92H11.88C12.45 63.89 12.95 63.76 13.44 63.46C13.78 63.2401 14.06 62.93 14.33 62.63C14.5783 62.342 14.8167 62.054 15.055 61.7661L15.06 61.76C15.26 61.54 15.46 61.33 15.68 61.13C16.0165 60.8478 16.3619 60.5773 16.7064 60.3075C16.9965 60.0803 17.2868 59.853 17.57 59.62C18.1734 59.1187 18.7551 58.5956 19.3336 58.0754L19.64 57.8C20.2 57.32 20.76 56.86 21.35 56.41C21.5108 56.2868 21.6723 56.1649 21.8338 56.0432L21.8471 56.0331C22.2837 55.7039 22.7197 55.3751 23.14 55.02C24.0397 54.2605 24.9013 53.4628 25.765 52.6632L25.768 52.6604L25.7692 52.6593C25.9235 52.5164 26.0779 52.3735 26.2326 52.2307C26.3847 52.0903 26.5371 51.95 26.69 51.81C27.21 51.36 27.73 50.9301 28.29 50.52C28.5273 50.3463 28.7646 50.1762 29.0011 50.0065L29.0044 50.0042L29.0066 50.0027C29.3264 49.7733 29.6449 49.5449 29.96 49.31C31.16 48.42 32.32 47.5 33.47 46.55C34.9215 45.3361 36.3033 44.0482 37.6844 42.7609C38.3966 42.097 39.1087 41.4333 39.83 40.78C41.15 39.6901 42.51 38.6701 43.92 37.71L44.7522 37.14C45.3078 36.76 45.8634 36.38 46.41 36C46.7991 35.7271 47.1646 35.4272 47.5319 35.1257C47.7971 34.9081 48.0633 34.6896 48.34 34.48L48.52 34.51C48.4918 34.5006 48.4636 34.4934 48.4364 34.4874C48.4058 34.4806 48.3765 34.4753 48.35 34.47C48.47 34.49 48.58 34.51 48.69 34.55C48.7249 34.5649 48.7623 34.5799 48.7997 34.5949L48.801 34.5954L48.8537 34.6166C48.8729 34.6244 48.8918 34.6322 48.91 34.64C48.9315 34.6543 48.9529 34.6673 48.9743 34.6799L48.9979 34.6937L49 34.695L49.0386 34.7177C49.0558 34.728 49.0729 34.7386 49.09 34.75C49.1056 34.7617 49.1227 34.7749 49.1407 34.789C49.169 34.8112 49.1995 34.8356 49.23 34.86L49.36 34.99C49.7675 35.473 50.1351 36.0014 50.5016 36.5282C50.5542 36.6038 50.6067 36.6794 50.6594 36.7548C50.726 36.8502 50.7928 36.9454 50.86 37.04C51.31 37.66 51.76 38.27 52.21 38.89C52.4167 39.1756 52.6205 39.4654 52.8247 39.7557L52.8255 39.7568C53.1645 40.2388 53.5045 40.7222 53.86 41.19C54.16 41.59 54.47 41.98 54.83 42.32C55.09 42.56 55.38 42.73 55.7 42.89C56.36 43.22 57.31 43.01 57.82 42.51C58.35 41.98 58.46 41.32 58.56 40.61L58.71 39.59C58.7781 39.0727 58.8462 38.5554 58.9143 38.0411C58.9462 37.7999 58.9781 37.5595 59.01 37.32C59.22 35.78 59.48 34.26 59.78 32.73C60.15 31.06 60.53 29.39 60.91 27.71C61.2163 26.3673 61.4978 25.0122 61.779 23.6592C61.8559 23.2893 61.9327 22.9194 62.01 22.55C62.5884 19.8119 63.3276 17.1113 64.0706 14.4129C64.322 14.5512 64.6086 14.63 64.91 14.63H65.18C65.1677 14.7191 65.1554 14.8073 65.1429 14.895L65.1238 15.0259C65.1011 15.1798 65.077 15.3334 65.05 15.49C64.78 16.76 64.43 17.9899 64.02 19.22C63.58 20.5399 63.18 21.85 62.88 23.21C62.8473 23.3545 62.8142 23.4989 62.7809 23.6432C62.7502 23.7756 62.7195 23.908 62.6887 24.0404C62.4351 25.1312 62.1816 26.2214 62.03 27.33C61.9603 27.812 61.9186 28.2981 61.8771 28.7831C61.8532 29.0627 61.8293 29.342 61.8 29.62C61.74 30.26 61.62 30.89 61.5 31.51C60.98 33.85 60.36 36.17 59.73 38.48C59.36 39.79 59.04 41.09 58.84 42.44C58.7036 43.4133 58.6499 44.3948 58.5961 45.3771L58.58 45.67C58.46 45.9 58.4 46.16 58.4 46.43C58.4 46.7951 58.5082 47.1458 58.7 47.4514C58.3785 48.8687 58.0619 50.2894 57.75 51.71C57.55 52.59 57.35 53.48 57.2 54.37C57.1766 54.3348 57.1531 54.2999 57.1297 54.2653C57.0862 54.2011 57.0427 54.1376 56.9993 54.0747C56.927 53.9701 56.8548 53.8669 56.7825 53.7637L56.78 53.76C56.6235 53.5415 56.4695 53.3211 56.3157 53.1009C55.9485 52.5754 55.5816 52.0503 55.18 51.55C54.92 51.23 54.6525 50.9125 54.385 50.595C54.1175 50.2775 53.85 49.96 53.59 49.64C53.02 48.93 52.47 48.2 51.93 47.47C51.842 47.3527 51.7549 47.2337 51.6676 47.1144C51.4573 46.827 51.2462 46.5386 51.02 46.27C50.51 45.65 49.89 44.9 49.06 44.7C48.37 44.54 47.66 44.56 47.02 44.87C46.42 45.16 45.92 45.58 45.42 46.01C44.15 47.11 42.9 48.23 41.65 49.35C41.1624 49.7703 40.6591 50.1624 40.1559 50.5544C39.7613 50.8618 39.3668 51.1691 38.98 51.49C38.7276 51.698 38.4745 51.9052 38.2213 52.1126L38.2096 52.1221L38.2064 52.1246C37.5513 52.6608 36.8955 53.1977 36.25 53.75C35.21 54.639 34.197 55.5617 33.1836 56.4847C32.507 57.101 31.8304 57.7173 31.1452 58.324L31.1305 58.337L31.0871 58.375L31.066 58.3941L30.8192 58.609L30.8168 58.611L30.815 58.6124C29.5079 59.7546 28.2052 60.8928 26.86 61.98C26.5741 62.2142 26.2835 62.4438 25.9925 62.6736L25.9913 62.6745C25.5499 63.0232 25.1077 63.3726 24.68 63.74C23.95 64.36 23.24 64.99 22.53 65.63C21.82 66.21 21.11 66.78 20.36 67.31C20.2154 67.4133 20.07 67.5153 19.924 67.6165C19.7167 67.7604 19.5084 67.9027 19.3 68.0451C19.1101 68.1748 18.9201 68.3046 18.7309 68.4355C18.5665 68.5492 18.4027 68.6638 18.24 68.78C17.45 69.34 16.67 69.91 15.89 70.49C15.75 70.5858 15.6154 70.6924 15.4823 70.7979L15.4124 70.8532L15.34 70.91C15.3008 70.854 15.2585 70.7979 15.2165 70.7437L15.1598 70.6709L15.12 70.62C14.53 69.88 13.82 69.31 13.03 68.79C12.4343 68.4019 11.8266 68.0348 11.2184 67.6674C10.7138 67.3625 10.2088 67.0574 9.71001 66.74L9.57699 66.6461L9.57189 66.6426C9.03676 66.2647 8.49719 65.8836 8.00001 65.46C7.67001 65.16 7.34001 64.87 7.00001 64.58H7.01002L6.97002 64.54C6.76517 64.3352 6.55534 64.1353 6.3455 63.9355L6.34459 63.9348C6.13473 63.7349 5.92487 63.535 5.72002 63.33C5.67246 63.2832 5.62491 63.2355 5.57727 63.1871C5.53728 63.1466 5.49724 63.1055 5.45707 63.0642L5.35798 62.962C4.89907 62.4883 4.41971 61.9936 3.84279 61.7003C4.18024 61.3744 4.53012 61.0672 4.88 60.76C5.14852 60.5362 5.42113 60.3124 5.6952 60.0913C6.35173 60.7131 7.07825 61.2707 7.80003 61.8ZM58.2 6.58002C59.16 6.31 60.11 6.01002 61.04 5.63001C61.65 5.38001 62.24 5.08997 62.81 4.78998C62.7785 4.98713 62.7469 5.17805 62.7105 5.37256C62.6979 5.42304 62.6867 5.47657 62.68 5.53004L62.6962 5.44782L62.7105 5.37256C62.7135 5.3606 62.7166 5.34876 62.7197 5.33716L62.73 5.29999C62.2952 7.37653 61.7422 9.42945 61.1899 11.4797L61.1895 11.4816C61.1196 11.7411 61.0497 12.0006 60.98 12.26C60.8124 12.8818 60.6438 13.5016 60.4755 14.1207L60.457 14.1886L60.4495 14.2161C60.0742 15.5957 59.7002 16.9706 59.34 18.35C58.9541 19.8265 58.6386 21.3171 58.3226 22.8099L58.14 23.67C57.73 25.64 57.29 27.61 56.84 29.57C56.42 31.38 56.02 33.2 55.74 35.03C55.62 35.79 55.52 36.55 55.42 37.32C55.21 37.02 55.01 36.73 54.8 36.44C54.21 35.64 53.62 34.83 53.05 34.02C52.9749 33.9144 52.9002 33.8064 52.8249 33.6975L52.8229 33.6945C52.5279 33.2678 52.2238 32.8278 51.85 32.47C51.1 31.75 50.24 31.23 49.21 31.02C48.19 30.82 47.16 30.94 46.3 31.56C46.0932 31.7138 45.8976 31.8788 45.7029 32.0432C45.5304 32.1887 45.3585 32.3337 45.18 32.47C44.1364 33.278 43.0429 34.0225 41.9483 34.7678L41.946 34.7692C41.4158 35.1303 40.8852 35.4914 40.36 35.86C38.89 36.89 37.51 38.04 36.21 39.27C34.83 40.57 33.44 41.85 32.03 43.11L31.6789 43.4023C30.9078 44.0444 30.1402 44.6835 29.35 45.3C28.6107 45.8846 27.8491 46.4396 27.0844 46.997L27.0819 46.9988L26.71 47.27C25.8 47.9201 24.92 48.6 24.09 49.36C23.835 49.5955 23.582 49.8309 23.3295 50.066L23.3253 50.0699C23.178 50.207 23.0309 50.344 22.8835 50.4808C22.7626 50.593 22.6416 50.7051 22.5202 50.817C22.2688 51.0488 22.016 51.28 21.76 51.51C20.8322 52.2929 19.8857 53.029 18.9295 53.7726L18.83 53.85C17.9475 54.5281 17.1168 55.2753 16.2897 56.0192L16.2888 56.0201L16.2866 56.0222L16.1 56.19C15.6137 56.606 15.1151 57.0055 14.6173 57.4044C14.3372 57.6289 14.0573 57.8532 13.78 58.08C13.33 58.45 12.91 58.84 12.52 59.27C12.3036 59.5097 12.0991 59.7553 11.8974 59.9976L11.7894 60.1271L11.72 60.21C11.55 60.1101 11.38 60.01 11.21 59.9C10.22 59.2 9.24003 58.49 8.32003 57.7C8.07003 57.47 7.82002 57.22 7.59003 56.97C7.4094 56.7501 7.24727 56.524 7.08427 56.2966L7.08294 56.2948C7.03882 56.2333 6.99465 56.1716 6.95003 56.11C6.45003 55.3 5.95003 54.5 5.38003 53.75C4.82002 53.02 4.20003 52.32 3.52003 51.7C4.11002 51.58 4.60003 51.16 4.82003 50.61C4.99 50.475 5.15747 50.3375 5.32494 50.2C5.49247 50.0625 5.66 49.925 5.83003 49.79C6.1884 49.4994 6.54648 49.2085 6.9045 48.9177L6.96158 48.8713L6.96367 48.8697L6.96499 48.8686C9.54397 46.7735 12.1214 44.6797 14.79 42.7C17.96 40.36 21.14 38.04 24.33 35.72C26.7436 33.9661 29.1403 32.1953 31.537 30.4244L31.5397 30.4224L33.94 28.65C34.4985 28.2377 35.0612 27.8297 35.6239 27.4216C36.5625 26.7409 37.501 26.0602 38.42 25.36C38.4634 25.3262 38.5072 25.2925 38.5514 25.2587C38.6049 25.218 38.6588 25.1771 38.713 25.1362C39.1316 24.8198 39.5647 24.4924 39.88 24.08C40.44 23.37 40.51 22.35 40.06 21.57C39.62 20.81 38.85 20.4 38.1 20.01C37.4 19.64 36.71 19.27 36.04 18.84C35.0395 18.1487 34.1185 17.3646 33.196 16.5794L33.1931 16.5768C32.9824 16.3976 32.7718 16.2183 32.56 16.04C31.66 15.27 30.74 14.53 29.79 13.82C29.5442 13.6328 29.2984 13.4481 29.0534 13.2639L29.0507 13.2619L29.0469 13.2592C28.4568 12.8156 27.8709 12.3753 27.3 11.91C27.58 11.84 27.86 11.78 28.14 11.72C29.38 11.45 30.63 11.19 31.87 10.93C35.02 10.34 38.16 9.80006 41.32 9.34003C45.11 8.79005 48.91 8.22004 52.7 7.64002C54.54 7.36005 56.4 7.07001 58.2 6.58002Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1.19581 63.5244C1.1907 63.4905 1.18664 63.4567 1.18355 63.4228C1.17683 63.3691 1.17229 63.3148 1.17001 63.26C1.17001 63.3063 1.17336 63.3526 1.17812 63.3989C1.18159 63.4326 1.1858 63.4663 1.19002 63.5L1.19581 63.5244Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1.19581 63.5244C1.20576 63.5902 1.21962 63.656 1.2376 63.7213C1.22793 63.6857 1.22059 63.6477 1.21303 63.6085C1.2077 63.5808 1.20226 63.5527 1.19581 63.5244Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M1.48253 48.6976C1.4949 48.6883 1.5074 48.6791 1.52003 48.67C1.50463 48.6777 1.4952 48.6854 1.48253 48.6976Z\",fill:\"currentColor\"})]});const Arrow15=props=>/*#__PURE__*/_jsxs(\"svg\",{width:\"71\",height:\"92\",viewBox:\"0 0 71 92\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:[/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M16.61 23.94C16.63 23.51 16.75 23.13 17.01 22.79C17.4131 22.2689 18.0578 21.9412 18.6401 21.6452L18.67 21.63C19.74 21.08 20.85 20.61 21.97 20.18C22.3205 20.0465 22.6721 19.9141 23.0237 19.7817C23.7254 19.5174 24.4271 19.2531 25.12 18.98C25.2127 18.9436 25.3058 18.9075 25.399 18.8716C25.5057 18.8306 25.6126 18.7898 25.7198 18.7492C25.8439 18.7022 25.9682 18.6554 26.0927 18.6085L26.1044 18.6041L26.1098 18.6019L26.1175 18.599L26.1234 18.5968C26.8723 18.3148 27.6254 18.0313 28.35 17.7C29.51 17.17 30.66 16.65 31.81 16.12L32.6903 15.6639L32.7394 15.6384C33.9721 15.0005 35.2075 14.3612 36.43 13.69C38.31 12.6601 40.19 11.64 42.07 10.62C45.45 8.77998 48.88 7.03005 52.36 5.39003C55.8 3.77004 59.3 2.3 62.9 1.05C63.1231 0.969926 63.3494 0.893144 63.5772 0.815873C63.7476 0.758073 63.9188 0.699967 64.09 0.640031C64.36 0.550004 64.64 0.460038 64.91 0.380021C65.42 0.229997 66.08 0.300004 66.55 0.570023C67.45 1.10005 67.76 2.04006 67.85 3.03005C67.9077 3.7383 67.8704 4.44655 67.833 5.1548C67.825 5.30653 67.817 5.45827 67.81 5.61L67.8099 5.61202C67.7 7.57137 67.59 9.53066 67.58 11.49C67.58 12.78 67.59 14.08 67.6 15.37C67.61 15.99 67.62 16.6 67.63 17.23C67.63 17.49 67.64 17.75 67.65 18C67.6539 18.0785 67.656 18.1563 67.6563 18.2335C67.8121 18.5399 67.8772 18.8892 67.81 19.24C67.7048 19.8098 67.6534 20.3872 67.6019 20.9657L67.58 21.21C67.48 22.74 67.39 24.27 67.37 25.81C67.34 27.6 67.32 29.38 67.3 31.17C67.28 32.8699 67.24 34.56 67.21 36.26C67.18 37.84 67.23 39.41 67.32 40.99C67.4685 42.9805 67.6986 44.959 67.9289 46.9387L67.9291 46.9401C68.1175 48.5602 68.3061 50.181 68.45 51.81C68.6201 53.71 68.8401 55.6 69.16 57.47L69.1831 57.6009L69.247 57.9605L69.2473 57.9619C69.3798 58.7055 69.5117 59.4461 69.61 60.2C69.6645 60.6359 69.7012 61.0747 69.7378 61.5133L69.738 61.5155C69.7686 61.8811 69.7992 62.2465 69.84 62.61C69.89 63.02 69.9301 63.45 70 63.86C70.23 64.78 69.6801 65.75 68.76 66C68.6768 66.0222 68.5934 66.0383 68.5085 66.0482C68.4404 66.056 68.3712 66.06 68.3 66.06C68.1048 66.0575 67.9126 66.0239 67.7307 65.9629C67.3511 66.6669 66.4868 67.1185 65.69 66.85C64.952 66.6091 64.2261 66.3443 63.4981 66.0786C63.289 66.0022 63.0798 65.9259 62.87 65.85C62.476 65.7255 62.0785 65.6131 61.6806 65.5005L61.6758 65.4992C60.9244 65.2868 60.1711 65.0738 59.44 64.78C58.3868 64.3643 57.3847 63.7863 56.4024 63.2197L56.16 63.08C55.5598 62.7323 54.9438 62.4127 54.328 62.0933C53.846 61.8433 53.3642 61.5935 52.89 61.33C52.33 61.02 51.7774 60.6949 51.2248 60.3698C50.6724 60.0449 50.12 59.7199 49.56 59.41C49.35 59.31 49.13 59.21 48.92 59.12C48.8611 59.1004 48.7999 59.0831 48.7385 59.0659L48.7351 59.065C48.6726 59.0475 48.61 59.03 48.55 59.01C48.5379 59.0161 48.5257 59.0231 48.5136 59.0304L48.49 59.0451C48.47 59.0576 48.45 59.07 48.43 59.08C48.1504 59.7576 47.8881 60.4439 47.626 61.1295C47.4008 61.7188 47.1758 62.3076 46.94 62.89C46.41 64.18 45.88 65.47 45.24 66.71C44.8992 67.3591 44.5351 67.9965 44.1713 68.6333L44.1704 68.6347C43.8619 69.1747 43.5536 69.7142 43.26 70.26C42.61 71.47 41.97 72.6801 41.34 73.9C40.6936 75.2882 40.0984 76.7019 39.5032 78.1157L39.4982 78.1278L39.4867 78.155C39.3414 78.5001 39.1961 78.8453 39.05 79.19C38.67 80.07 38.24 80.9301 37.8 81.78C37.4 82.57 36.99 83.35 36.53 84.11C35.47 85.89 34.42 87.6701 33.37 89.46C32.87 90.3001 32.26 91.11 31.38 91.58C30.97 91.8001 30.49 91.92 30.03 91.92C29.55 91.94 29.09 91.79 28.64 91.63C27.75 91.31 26.91 90.86 26.14 90.31C26.0042 90.215 25.8689 90.1195 25.7339 90.0236C25.5981 89.9272 25.4626 89.8304 25.3273 89.7334C25.0784 89.5549 24.8302 89.3756 24.5818 89.1961L24.5731 89.1898L24.555 89.1768L24.5432 89.1682C24.3226 89.0089 24.1017 88.8494 23.8801 88.6903C23.7404 88.59 23.6005 88.4899 23.46 88.39C22.36 87.6701 21.24 86.98 20.1 86.29C18.96 85.61 17.87 84.89 16.86 84.02C16.195 83.4323 15.5778 82.7908 14.9623 82.151C14.7818 81.9634 14.6014 81.776 14.42 81.59C12.63 79.72 10.8 77.91 8.89002 76.18C8.43003 75.8 7.98003 75.43 7.52002 75.06C7.2459 74.8346 6.95322 74.624 6.66234 74.4148L6.65817 74.4119C6.57208 74.3499 6.48575 74.2877 6.40051 74.2257C6.34516 74.1854 6.2901 74.145 6.23548 74.1043L6.16089 74.0485L6.11002 74.01C5.88501 73.845 5.66001 73.6825 5.43501 73.52L5.43213 73.518C5.2081 73.3562 4.98406 73.1944 4.76001 73.03C3.80002 72.33 2.71002 71.49 2.32002 70.32C2.273 70.1776 2.23859 70.0332 2.21662 69.8883C1.6644 69.8023 1.22907 69.4678 0.860018 69.03C0.520022 68.64 0.350023 68.1 0.330019 67.6C0.30002 66.95 0.69002 66.37 1.23001 66.06C1.25992 65.7859 1.28485 65.5117 1.30979 65.2376L1.31001 65.235C1.33502 64.96 1.36002 64.685 1.39002 64.41C1.47916 63.6079 1.57622 62.8057 1.67415 61.9965L1.71002 61.7C1.78391 61.12 1.86598 60.5386 1.94818 59.9563C2.08849 58.9625 2.22913 57.9663 2.33002 56.97C2.34715 56.4386 2.35123 55.9072 2.3553 55.3759C2.35837 54.9772 2.36144 54.5786 2.37001 54.18L2.37233 54.0664C2.38082 53.6386 2.38983 53.1832 2.50002 52.77C2.60002 52.41 2.78002 52.09 3.05002 51.82C3.31003 51.55 3.65003 51.41 3.99002 51.27C4.86002 50.91 5.70001 50.5401 6.54001 50.13C7.42002 49.7 8.33002 49.37 9.26001 49.07C9.42555 49.0119 9.59065 48.953 9.75543 48.8938C9.87013 48.8525 9.98468 48.8111 10.0991 48.7695C10.3062 48.6942 10.513 48.6185 10.7197 48.5428L10.7293 48.5393C11.3266 48.3206 11.9232 48.1021 12.5256 47.8952C12.5235 47.8968 12.5216 47.8985 12.52 47.9C13.5 47.5601 14.45 47.16 15.39 46.72C15.9635 46.4553 16.5528 46.2304 17.143 46.0051C17.4894 45.8729 17.8361 45.7406 18.18 45.6C18.5919 45.4317 18.9999 45.2534 19.4083 45.075L19.4154 45.0721L19.4199 45.0701C19.9298 44.8475 20.4403 44.6246 20.96 44.42C21.0768 44.374 21.1937 44.3284 21.3108 44.2827L21.3121 44.2821L21.3134 44.2816L21.3157 44.2805L21.322 44.2781C21.4783 44.2169 21.6349 44.1557 21.7914 44.0936C21.5215 43.8688 21.2539 43.6413 20.99 43.41C20.48 42.96 19.98 42.51 19.49 42.04C19.4283 41.9808 19.3661 41.9216 19.3036 41.8623L19.3014 41.8601L19.3006 41.8593L19.1786 41.7432L19.1344 41.7009C19.0899 41.6583 19.0454 41.6154 19.0013 41.5724C18.9126 41.4859 18.825 41.3986 18.74 41.31C18.2 40.78 17.64 40.22 17.35 39.52C17.1332 39.009 17.1802 38.4321 17.4445 37.961C17.4511 37.8058 17.4642 37.6492 17.4776 37.4884L17.48 37.46C17.5086 36.8457 17.5117 36.2312 17.5147 35.6168C17.5159 35.3712 17.5172 35.1256 17.52 34.88C17.53 33.9 17.54 32.91 17.54 31.93L17.5401 31.9249C17.55 30.7766 17.56 29.6283 17.56 28.48C17.56 28.0602 17.5696 27.6404 17.5793 27.2113L17.58 27.18C17.584 27.0257 17.5856 26.8701 17.5872 26.7139C17.5913 26.3223 17.5953 25.9271 17.6376 25.5386C17.0301 25.2512 16.5738 24.6349 16.61 23.94ZM24.8342 46.6176C24.4978 46.8007 24.1493 46.9611 23.7955 47.1099C24.059 47.4189 24.22 47.8176 24.22 48.25C24.22 48.6746 24.2382 49.1038 24.2562 49.5283C24.2648 49.7336 24.2735 49.9379 24.28 50.14C24.2934 50.4334 24.2889 50.7267 24.2845 51.02C24.2822 51.1667 24.28 51.3134 24.28 51.46C24.28 51.5703 24.2806 51.6805 24.2813 51.7905V51.7916L24.2822 51.9661L24.2824 52.0445L24.2825 52.134C24.2824 52.3477 24.2798 52.56 24.27 52.77C24.1858 54.4818 24.0929 56.1847 23.9749 57.8953L24.23 57.77C24.7734 57.5034 25.3221 57.25 25.872 56.9989C25.8077 56.8168 25.7774 56.622 25.79 56.42C25.87 55.04 25.95 53.67 26.04 52.3C26.0563 52.0229 26.0734 51.7462 26.0906 51.4698C26.1575 50.3895 26.2241 49.3129 26.24 48.23C26.2407 48.1642 26.245 48.0991 26.2528 48.0349C25.8946 47.6699 25.535 47.3049 25.17 46.94C25.0603 46.8303 24.948 46.723 24.8342 46.6176ZM29.6507 51.163C29.6402 51.3339 29.6295 51.5046 29.6189 51.6752L29.59 52.14C29.545 52.8545 29.5026 53.569 29.4601 54.2835L29.4044 55.2174C29.9877 54.8943 30.5688 54.5655 31.15 54.23C31.2576 54.169 31.3665 54.108 31.4763 54.0466C31.6016 53.9764 31.728 53.9056 31.8548 53.8336C31.9265 53.7929 31.9983 53.7517 32.07 53.71C31.85 53.5501 31.64 53.37 31.43 53.17C31.2854 53.0318 31.1567 52.8697 31.0288 52.7088C30.9532 52.6138 30.878 52.5191 30.8 52.43L30.7689 52.3943L30.7375 52.3586L30.6993 52.3154L30.6979 52.3137C30.5991 52.2019 30.4991 52.0887 30.41 51.97C30.1627 51.6951 29.9107 51.4251 29.6507 51.163ZM20.0901 48.6468C20.2871 48.5626 20.4839 48.4772 20.6808 48.3917C20.6844 48.7313 20.7001 49.0676 20.7157 49.4029L20.7158 49.404C20.7246 49.5927 20.7334 49.7816 20.74 49.97C20.7525 50.5003 20.7455 51.0307 20.7385 51.5635C20.7343 51.8846 20.73 52.2066 20.73 52.53C20.7222 53.6535 20.6464 54.777 20.5706 55.9005L20.5399 56.358L20.5232 56.6138L20.51 56.82V56.78C20.4982 56.9576 20.4859 57.1351 20.4737 57.3128C20.424 58.0354 20.3741 58.7597 20.35 59.49C20.349 59.5156 20.3485 59.5412 20.3488 59.5667L20.2431 59.6105C20.0645 59.6846 19.8858 59.7582 19.7073 59.8317L19.7047 59.8328L19.7019 59.8339C19.0183 60.1153 18.3364 60.3961 17.6661 60.7041C17.6667 60.4737 17.6758 60.2468 17.69 60.02V60.01C17.69 59.9812 17.6923 59.95 17.6947 59.9176L17.6973 59.8814L17.7365 59.4051C17.8621 57.8833 17.9877 56.3606 18.05 54.83C18.0812 54.1602 18.0699 53.4845 18.0586 52.812C18.0554 52.621 18.0522 52.4303 18.05 52.24C18.03 51.4 17.96 50.56 17.86 49.73L17.8556 49.6957L17.8529 49.6769C17.8496 49.6541 17.8459 49.6314 17.8418 49.6089C17.8385 49.5908 17.835 49.5729 17.8313 49.5551L17.8249 49.526C17.9033 49.4936 17.9816 49.4616 18.06 49.43C18.3002 49.3339 18.5426 49.2471 18.7841 49.1607C19.0453 49.0671 19.3054 48.974 19.56 48.87C19.737 48.7968 19.9136 48.7222 20.0901 48.6468ZM14.3319 62.3491L14.3303 62.3452C14.3165 62.3532 14.303 62.3613 14.29 62.37L14.3319 62.3491ZM14.3279 62.3394C14.2784 62.2158 14.2418 62.0855 14.22 61.95C14.0516 60.9312 14.1455 59.8981 14.2391 58.8689C14.2567 58.6757 14.2742 58.4827 14.29 58.29C14.315 57.9496 14.3426 57.6067 14.3701 57.2638L14.3906 57.0083C14.4038 56.8423 14.4169 56.6764 14.4296 56.511L14.4388 56.3903L14.45 56.24C14.4591 56.0817 14.4691 55.9238 14.4792 55.7663C14.5136 55.2274 14.5477 54.6917 14.54 54.15C14.5343 53.8826 14.5303 53.6151 14.5262 53.3479L14.5262 53.3461C14.5159 52.6747 14.5058 52.0048 14.47 51.34C14.4659 51.3008 14.4622 51.2616 14.4587 51.2223C14.4538 51.1665 14.4494 51.1106 14.445 51.0548L14.4373 50.9586C14.0253 51.1108 13.6099 51.2562 13.19 51.4C13.1965 51.4 13.2019 51.399 13.2066 51.3976C13.2104 51.3964 13.2137 51.395 13.2168 51.3938C13.2217 51.3917 13.2259 51.39 13.23 51.39C12.9753 51.4799 12.7205 51.5726 12.4658 51.6666C12.5386 53.5188 12.3846 55.382 12.2319 57.2281C12.2145 57.439 12.1971 57.6496 12.18 57.86C12.1275 58.5729 12.0581 59.2858 11.9886 59.9987C11.9656 60.2358 11.9425 60.4729 11.92 60.71C11.9021 60.8987 11.8821 61.0853 11.8619 61.2717L11.8307 61.5604C11.8165 61.693 11.8028 61.826 11.79 61.96C11.781 62.0473 11.7726 62.1351 11.7643 62.2234C11.7196 62.694 11.6739 63.1751 11.519 63.6205C12.4654 63.219 13.4 62.7919 14.3279 62.3394ZM7.42481 53.6364C7.92822 53.3957 8.42745 53.1569 8.93529 52.9372C8.92084 53.6801 8.88107 54.4208 8.84113 55.1647L8.82002 55.56C8.78499 55.9804 8.75118 56.4021 8.71732 56.8245C8.65451 57.6079 8.59148 58.3939 8.52002 59.18C8.49626 59.4342 8.4742 59.6896 8.45209 59.9455C8.38112 60.7668 8.30962 61.5942 8.18001 62.41V62.44C8.10001 62.7 8.06003 62.98 8.11002 63.25C8.23158 63.8821 8.62238 64.4157 9.19727 64.6539C8.71427 64.8903 8.2361 65.1352 7.76001 65.38C6.85001 65.83 5.92003 66.26 4.99002 66.67L4.8897 66.7139L4.78043 66.7622L4.69975 66.7982C4.70621 66.7213 4.7128 66.6452 4.72002 66.57L4.8102 65.6682C4.85015 65.2588 4.89009 64.8494 4.94002 64.44C5.06821 63.2741 5.22621 62.1156 5.38445 60.9555L5.38463 60.9542C5.48555 60.2142 5.58657 59.4736 5.68001 58.73C5.8 57.8 5.88002 56.87 5.88002 55.92L5.88016 55.5802L5.88069 55.348C5.88167 55.0687 5.88408 54.7894 5.89002 54.51V54.32C6.35002 54.13 6.80002 53.93 7.25002 53.72L7.42481 53.6364ZM66.2 61.87C66.2427 62.3559 66.2926 62.849 66.3497 63.3433L65.92 63.2C65.966 63.2115 66.0086 63.2263 66.0498 63.2406C66.0804 63.2512 66.1102 63.2615 66.14 63.27C65.8239 63.1609 65.5106 63.0404 65.197 62.9198C64.6772 62.7199 64.1564 62.5197 63.62 62.37C63.3996 62.307 63.18 62.2457 62.9612 62.1846C62.4157 62.0322 61.8753 61.8813 61.34 61.71C60.778 61.5048 60.24 61.2437 59.7045 60.9838L59.7012 60.9827L59.51 60.89C59.0427 60.6426 58.5895 60.381 58.1342 60.1182C57.9271 59.9987 57.7195 59.8789 57.51 59.76C56.9305 59.4354 56.345 59.1289 55.7581 58.8216L55.757 58.8211L55.7545 58.8198L55.7457 58.8152L55.7311 58.8079L55.24 58.55C54.44 58.13 53.66 57.68 52.89 57.22C52.7837 57.156 52.6765 57.0909 52.5687 57.0253C51.632 56.4561 50.6382 55.8521 49.58 55.61C49.15 55.51 48.74 55.44 48.3 55.47C47.78 55.51 47.31 55.65 46.86 55.9C46.18 56.28 45.58 56.7301 45.27 57.46C45.0368 58.0148 44.8234 58.5775 44.6098 59.1407L44.4804 59.4815L44.4221 59.6343C44.3588 59.7998 44.2949 59.965 44.23 60.13C43.63 61.69 42.97 63.22 42.27 64.74C41.9549 65.3431 41.6191 65.9314 41.2835 66.5194C41.0014 67.0137 40.7195 67.5077 40.45 68.01C40.2559 68.374 40.0609 68.737 39.8661 69.0997C39.4185 69.9328 38.972 70.7639 38.54 71.6C37.7626 73.1131 37.096 74.6762 36.4291 76.2402L36.4278 76.2432L36.4273 76.2443L36.4268 76.2454L36.4248 76.2501C35.9779 77.298 35.5309 78.3462 35.05 79.38C35.0741 79.3439 35.0946 79.3041 35.1158 79.2628C35.1298 79.2357 35.1441 79.2078 35.16 79.18C34.4 80.66 33.6 82.11 32.75 83.54C32.555 83.87 32.355 84.1975 32.155 84.525L32.1536 84.5274C32.0602 84.6804 31.9667 84.8333 31.8738 84.9866C31.8071 85.0966 31.7407 85.2067 31.6747 85.3172C31.6363 85.3814 31.5981 85.4456 31.56 85.51C31.4912 85.6271 31.423 85.7448 31.3554 85.8627C31.3068 85.9475 31.2584 86.0324 31.2101 86.1174L31.0688 86.3669C30.7444 86.9401 30.42 87.5134 30.06 88.06L29.88 88.3C29.7692 88.2584 29.6583 88.2147 29.5484 88.1688C29.4204 88.1155 29.2938 88.0592 29.17 88C28.83 87.81 28.51 87.62 28.19 87.41C27.9662 87.2507 27.7432 87.0903 27.5203 86.9295L27.1498 86.6618C26.3217 86.0631 25.4933 85.4642 24.64 84.9C23.9461 84.4458 23.2322 84.0189 22.5183 83.5921L22.5117 83.588C21.7978 83.1611 21.084 82.7343 20.39 82.28C19.95 81.97 19.53 81.64 19.13 81.29C18.2657 80.4876 17.4485 79.6283 16.6332 78.7708L16.6322 78.7697L16.6292 78.7668L16.6285 78.7661L16.6274 78.765L16.6267 78.7642L16.6256 78.7631L16.6235 78.7609C16.2535 78.3719 15.8835 77.9829 15.51 77.6C14.61 76.67 13.69 75.74 12.74 74.87C12.5385 74.6909 12.3412 74.5075 12.1439 74.3242L12.1408 74.3214C11.8104 74.0145 11.48 73.7075 11.13 73.42C10.9622 73.2824 10.7955 73.1413 10.6283 73L10.6249 72.997C10.2953 72.7183 9.96424 72.4382 9.62001 72.18C9.29119 71.9389 8.95941 71.7006 8.62747 71.4623C7.89946 70.9397 7.1706 70.4163 6.47002 69.86C6.99002 69.63 7.51003 69.4 8.02002 69.16C8.87003 68.76 9.70001 68.33 10.53 67.9C11.1684 67.5936 11.8149 67.3198 12.4644 67.0449L12.4659 67.0441L12.4752 67.0401C12.6315 66.974 12.7879 66.9077 12.9444 66.841C13.1528 66.752 13.3614 66.6621 13.57 66.57C14.6523 66.0994 15.6991 65.5758 16.7522 65.0489L16.95 64.95C16.89 64.99 16.82 65.02 16.75 65.06C18.22 64.33 19.7 63.63 21.22 63.01C22.06 62.67 22.89 62.32 23.72 61.94C24.0738 61.7788 24.4194 61.604 24.7639 61.4297C25.0817 61.269 25.3986 61.1088 25.72 60.96C25.8983 60.8769 26.0768 60.7943 26.2555 60.7121C26.4341 60.6299 26.6128 60.548 26.7915 60.4661C28.0676 59.8812 29.3413 59.2975 30.56 58.61C30.7483 58.505 30.9364 58.3996 31.1244 58.294C31.4253 58.1251 31.726 57.9556 32.0266 57.7862C33.0048 57.2349 33.983 56.6835 34.97 56.15L35.0421 56.1156L35.1246 56.0759C35.2798 56.0011 35.4321 55.9277 35.59 55.86C35.78 55.79 35.98 55.72 36.17 55.63C36.86 55.31 37.47 54.61 37.42 53.8C37.37 53.01 36.98 52.39 36.29 51.99C36.0859 51.882 35.8818 51.7847 35.6778 51.6875L35.5508 51.6269C35.5067 51.6058 35.4627 51.5846 35.4186 51.5632L35.3394 51.5244L35.27 51.49C35.27 51.5 35.28 51.5 35.28 51.5C35.2766 51.5 35.2744 51.4989 35.2725 51.4973C35.2689 51.4943 35.2666 51.49 35.26 51.49C35.2451 51.4801 35.2251 51.4701 35.204 51.4602L35.1816 51.4497L35.1783 51.4483L35.1768 51.4475C35.1642 51.4417 35.1517 51.4359 35.14 51.43C35.1325 51.425 35.125 51.4207 35.1175 51.4166L35.1026 51.4089L35.095 51.405C35.0869 51.401 35.0788 51.397 35.0707 51.3925L35.0628 51.388C35.0585 51.3855 35.0543 51.3828 35.05 51.38C34.81 51.25 34.56 51.1101 34.33 50.96C34.23 50.89 34.13 50.82 34.04 50.74L33.95 50.65L33.7956 50.4616C33.295 49.8503 32.782 49.2238 32.22 48.68C31.7265 48.2139 31.2095 47.776 30.6916 47.3373L30.6865 47.3331C30.4505 47.1331 30.2143 46.933 29.98 46.73C29.6299 46.387 29.2875 46.035 28.945 45.6828L28.9436 45.6813C28.3378 45.0583 27.7313 44.4347 27.08 43.86C26.2438 43.1217 25.3791 42.4231 24.516 41.7258C24.3778 41.6141 24.2395 41.5024 24.1015 41.3906C23.9607 41.2766 23.8201 41.1624 23.6797 41.0479C23.6794 41.0465 23.6788 41.0445 23.6773 41.0429C23.6759 41.0413 23.6736 41.04 23.67 41.04L23.6797 41.0479L23.68 41.05C22.9343 40.3975 22.1937 39.745 21.4914 39.0519C21.7656 38.8954 22.0388 38.7355 22.3114 38.5761L22.3508 38.553L22.6 38.4073C22.7134 38.3412 22.8267 38.2753 22.94 38.21C23.6889 37.7707 24.4477 37.3314 25.2065 36.892L25.21 36.89C26.2075 36.3023 27.2289 35.7445 28.2465 35.1889L28.2477 35.1883L28.2494 35.1874C28.5468 35.025 28.844 34.8627 29.14 34.7L32.68 33.02C33.0466 32.8468 33.431 32.7089 33.8153 32.5712L33.8165 32.5708C34.0084 32.502 34.2003 32.4332 34.39 32.36C34.5952 32.2786 34.8016 32.1986 35.0088 32.1189L35.2491 32.0266L35.4051 31.9669L35.7103 31.85C35.8568 31.7937 36.0034 31.7372 36.15 31.68C37.31 31.29 38.46 30.91 39.62 30.53C39.7287 30.4943 39.8375 30.4588 39.9464 30.4234C40.1008 30.3731 40.2553 30.323 40.4099 30.2728L40.4134 30.2717C41.4312 29.9415 42.4501 29.611 43.45 29.23C43.6265 29.1647 43.8034 29.0999 43.9804 29.035C44.7262 28.7616 45.4746 28.4871 46.21 28.18C46.4517 28.0791 46.6941 27.9782 46.937 27.8771L47.0212 27.842C47.3687 27.6973 47.7173 27.5523 48.0663 27.4063C48.364 27.2817 48.662 27.1564 48.96 27.03C50.79 26.2601 52.63 25.51 54.49 24.82C54.8669 24.6776 55.248 24.5457 55.6294 24.4136L55.6319 24.4127C56.0796 24.2577 56.5277 24.1026 56.97 23.93C57.85 23.58 58.72 23.21 59.59 22.82C60.46 22.44 61.32 22.0501 62.18 21.65C62.8106 21.3601 63.4464 21.0597 64.0608 20.726C64.0332 21.0943 64.0116 21.4628 63.99 21.8304C63.9771 22.0507 63.9642 22.2706 63.95 22.49C63.8301 24.29 63.8001 26.1 63.78 27.9C63.76 29.97 63.73 32.05 63.69 34.13C63.6501 35.98 63.64 37.83 63.69 39.68C63.7401 41.57 63.9401 43.46 64.14 45.34C64.24 46.2697 64.3525 47.1944 64.4649 48.119C64.5775 49.0444 64.69 49.9697 64.79 50.9C64.8596 51.5294 64.9195 52.1599 64.9793 52.7904C65.0916 53.9733 65.2039 55.1559 65.38 56.33C65.4682 56.9129 65.5664 57.4927 65.6644 58.072C65.8776 59.3317 66.0905 60.5891 66.2 61.87ZM64.08 16.69C64.082 16.8093 64.0857 16.9293 64.0901 17.0499C63.7101 16.9949 63.3137 17.0604 62.97 17.27C62.55 17.53 62.11 17.75 61.67 17.97C60.9591 18.3144 60.2403 18.6492 59.5181 18.9776C59.5135 18.5033 59.5326 18.0366 59.56 17.57C59.58 17.22 59.5989 16.8699 59.6178 16.5199C59.6556 15.82 59.6933 15.12 59.74 14.42C59.7833 13.67 59.8333 12.92 59.8833 12.17C59.9833 10.67 60.0833 9.17 60.13 7.67C60.14 7.62001 60.14 7.56001 60.14 7.51003V7.40004C60.14 6.88338 59.9102 6.41493 59.5503 6.08992C60.8716 5.55122 62.204 5.04176 63.55 4.57002C63.51 4.58003 63.48 4.58998 63.44 4.59999C63.5537 4.56209 63.6659 4.52278 63.7777 4.48311L63.8838 4.44539C64.0317 4.39278 64.1796 4.3401 64.33 4.28999C64.3149 4.80196 64.2829 5.30824 64.2509 5.81313L64.2507 5.81606L64.2503 5.82228L64.25 5.82832L64.2332 6.09389L64.22 6.31001C64.2155 6.42238 64.2105 6.53475 64.2052 6.64711C64.1988 6.78511 64.1919 6.92311 64.1849 7.06111C64.1725 7.31075 64.16 7.56038 64.15 7.81001C64.1426 7.99104 64.1351 8.17183 64.1275 8.35249C64.0837 9.39937 64.04 10.4411 64.04 11.49C64.04 12.67 64.04 13.8501 64.06 15.03C64.06 15.58 64.07 16.14 64.08 16.69ZM56.6025 7.34486C56.6014 7.36318 56.6006 7.38161 56.6 7.40004C56.558 9.03786 56.4475 10.6756 56.3369 12.3134C56.2895 13.0156 56.242 13.7178 56.2 14.42C56.13 15.53 56.07 16.63 56.01 17.74C55.969 18.4585 55.9888 19.1771 56.0086 19.8956C56.0142 20.1011 56.0199 20.3066 56.0241 20.5121C55.1232 20.8743 54.2042 21.1956 53.286 21.5165C53.0764 21.5897 52.8669 21.663 52.6576 21.7367L52.56 20.64C52.4238 18.0372 52.4479 15.4345 52.4721 12.8274C52.4798 11.9888 52.4876 11.1497 52.49 10.31C52.59 10 52.6 9.66005 52.49 9.33003C52.4804 9.30605 52.4714 9.28236 52.4625 9.25887C53.8336 8.6014 55.2127 7.96004 56.6025 7.34486ZM48.1317 23.5326C48.4946 23.3778 48.858 23.2227 49.2222 23.0694C49.1254 22.0182 49.0331 20.973 48.98 19.92C48.9241 18.9689 48.9193 18.0114 48.9144 17.0577V17.0566C48.9132 16.8175 48.9121 16.5786 48.91 16.34C48.91 15.1201 48.91 13.9 48.92 12.68C48.92 12.42 48.9251 12.1625 48.9301 11.905C48.9351 11.6475 48.94 11.39 48.94 11.13C48.9406 11.0846 48.9408 11.0388 48.9406 10.9926C48.7564 11.0891 48.572 11.1853 48.3876 11.2814C48.1797 11.3898 47.9718 11.498 47.7639 11.6062L47.7299 11.6237L47.6941 11.6424L47.682 11.649C47.3811 11.8055 47.0802 11.962 46.7795 12.1189C46.7799 12.1326 46.78 12.1463 46.78 12.16V12.17C46.78 13.8394 46.7001 15.4989 46.6201 17.1583L46.62 17.16C46.6092 17.3682 46.5978 17.5767 46.586 17.7854C46.575 17.9816 46.5637 18.178 46.5524 18.3745L46.5511 18.3978C46.464 19.9113 46.3765 21.4318 46.4 22.94C46.41 23.9 45.58 24.71 44.63 24.71C43.66 24.72 42.87 23.92 42.86 22.95C42.8365 21.4359 42.9237 19.9218 43.0107 18.4124L43.0115 18.3996C43.0246 18.1716 43.0377 17.9437 43.0504 17.7159C43.0606 17.5338 43.0705 17.3519 43.08 17.17C43.1364 16.1229 43.185 15.0757 43.2134 14.0286C42.3026 14.5235 41.3903 15.0203 40.4786 15.518C40.4771 15.5585 40.4742 15.5992 40.47 15.64C40.413 16.1647 40.317 16.6861 40.2208 17.2079C40.1484 17.6012 40.0759 17.9946 40.02 18.39C39.87 19.5 39.73 20.6001 39.62 21.71C39.58 22.2401 39.55 22.76 39.54 23.29C39.53 23.81 39.56 24.33 39.6 24.84C39.6059 24.9382 39.6114 25.0365 39.6169 25.1346L39.6171 25.1372C39.6395 25.5378 39.6619 25.9371 39.71 26.33C39.7599 26.4683 39.7898 26.6103 39.8015 26.7526L40.0261 26.6773C40.1407 26.6388 40.2551 26.6002 40.3693 26.5615L40.55 26.5C40.7595 26.4342 40.969 26.3648 41.1763 26.296L41.3506 26.2383C41.4309 26.2118 41.5107 26.1856 41.59 26.16C41.8168 26.0731 42.0436 25.9869 42.2702 25.9009L42.7754 25.7095L42.7817 25.7072C43.3232 25.5022 43.8633 25.2978 44.4 25.09C44.9541 24.8775 45.504 24.6441 46.0524 24.4114L46.308 24.303L46.493 24.2248L46.5858 24.1858C46.7106 24.1334 46.8353 24.0814 46.96 24.03C47.346 23.8678 47.7319 23.7031 48.1183 23.5383L48.1231 23.5363L48.1242 23.5357L48.1317 23.5326ZM48.9406 10.9849V10.9872C48.9104 11.0023 48.8802 11.0171 48.85 11.03L48.9406 10.9849ZM36.39 27.6C36.4023 27.6275 36.4153 27.6546 36.4288 27.6813C36.454 27.7309 36.4812 27.7789 36.5102 27.8253C35.9549 28.0011 35.4018 28.1828 34.86 28.39L34.6219 28.4808C34.6532 27.5094 34.7028 26.5416 34.7524 25.573C34.783 24.976 34.8136 24.3787 34.84 23.78C34.8554 23.3864 34.8733 22.9953 34.8912 22.6055L34.8913 22.6021L34.8917 22.5949L34.892 22.588C34.9033 22.3404 34.9147 22.0933 34.9253 21.8464C34.9304 21.7276 34.9353 21.6088 34.94 21.49L35 20.01C35.0026 19.9364 35.006 19.8631 35.0093 19.7901C35.029 19.3548 35.0483 18.9301 34.9175 18.5065C35.4596 18.228 35.9993 17.945 36.5373 17.659C36.5242 17.7424 36.5117 17.8261 36.5 17.91C36.34 19.04 36.2 20.16 36.09 21.3C35.99 22.3 35.95 23.31 36.01 24.31L36.0148 24.3928C36.0432 24.8862 36.0721 25.3876 36.11 25.88C36.1199 25.9926 36.1274 26.1066 36.135 26.2215C36.1658 26.6882 36.1974 27.1666 36.39 27.6ZM31.444 20.1999C30.4439 20.6572 29.4335 21.09 28.41 21.49C28.1917 21.576 27.9739 21.662 27.7563 21.7479L27.6792 21.7783C27.6644 24.6182 27.4619 27.4491 27.25 30.28L27.2348 30.5054C27.2067 30.9219 27.1785 31.3384 27.1623 31.7548C27.7231 31.4493 28.2995 31.1799 28.8754 30.9108L28.8782 30.9097L28.8941 30.9022L28.9071 30.8962C29.0749 30.8178 29.2427 30.7394 29.41 30.66C29.4508 30.6409 29.4915 30.6218 29.5321 30.6026L29.6426 30.5502L29.739 30.5042C29.839 30.4563 29.9388 30.4082 30.0385 30.3601L30.0613 30.3491L30.0636 30.348L30.0696 30.3452L30.0707 30.3447C30.5428 30.1171 31.0138 29.89 31.498 29.6896C31.2235 29.3792 31.0565 28.9768 31.07 28.54C31.11 27.2916 31.1757 26.0433 31.2413 24.7949C31.2577 24.4833 31.274 24.1716 31.29 23.86C31.3202 23.235 31.3448 22.6082 31.3694 21.9802L31.3695 21.9784C31.3927 21.3866 31.416 20.7929 31.444 20.1999ZM23.7674 33.6243C23.1015 33.9954 22.4476 34.3783 21.7937 34.7613L21.5583 34.8991C21.3924 34.9963 21.2263 35.0933 21.06 35.19C21.07 34.25 21.08 33.3 21.08 32.36C21.0826 31.8021 21.0818 31.2436 21.081 30.685C21.0787 29.1204 21.0763 27.5548 21.15 26C21.22 25.81 21.26 25.6101 21.26 25.4C21.26 25.047 21.1647 24.7228 20.993 24.444C22.0219 23.9768 23.0701 23.5643 24.1214 23.1599C24.1 24.166 24.0611 25.171 24.01 26.18L23.77 29.51C23.7579 29.6836 23.7452 29.8576 23.7324 30.0319L23.732 30.0376C23.6602 31.0165 23.5876 32.0054 23.63 32.98C23.6394 33.2059 23.6871 33.4236 23.7674 33.6243Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M12.5256 47.8952C12.5318 47.8906 12.5399 47.8863 12.5488 47.8835C12.5555 47.8814 12.5628 47.88 12.57 47.88L12.5256 47.8952Z\",fill:\"currentColor\"})]});const Arrow16=props=>/*#__PURE__*/_jsxs(\"svg\",{width:\"84\",height:\"73\",viewBox:\"0 0 84 73\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",...props,children:[/*#__PURE__*/_jsx(\"path\",{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",d:\"M54.04 50.18C53.7978 49.7682 53.6989 49.2392 53.6067 48.7454L53.605 48.7361C53.5836 48.6215 53.5625 48.5089 53.54 48.4C53.32 47.43 53.13 46.45 53 45.46C52.9728 45.2383 52.9467 45.0161 52.9206 44.7936L52.8807 44.4559L52.8563 44.252C52.8015 43.7988 52.7432 43.3461 52.6725 42.8968C52.2602 43.89 51.88 44.8991 51.4997 45.9083C51.3373 46.3393 51.1749 46.7703 51.01 47.2C50.8589 47.6028 50.7099 48.0036 50.5621 48.4041C50.387 48.8786 50.2135 49.3528 50.04 49.83C50.0125 49.9056 49.9859 49.9826 49.9597 50.0606C49.9371 50.1278 49.9148 50.1957 49.8923 50.2639L49.8908 50.2683C49.6357 51.0438 49.3651 51.8661 48.56 52.21C46.5399 53.069 45.5445 50.3193 44.9936 48.7972L44.9901 48.7878L44.9859 48.776L44.9519 48.6823C44.9342 48.6332 44.9168 48.5858 44.9 48.54C44.5963 47.6987 44.3379 46.8423 44.0789 45.9839L44.078 45.9806L43.96 45.59C43.79 45.13 43.61 44.68 43.42 44.23C43.3166 44.0356 43.2121 43.8431 43.1072 43.6516C43.0311 43.5128 42.9548 43.3746 42.8785 43.2365L42.8591 43.2012L42.8576 43.1986L42.722 42.9527L42.6416 42.8066C42.5325 42.6078 42.4241 42.4086 42.3172 42.208C42.261 42.1025 42.2052 41.9965 42.15 41.89C41.73 41.05 41.3299 40.21 40.93 39.37C40.8745 39.267 40.8183 39.1639 40.7614 39.0612C40.7064 38.9616 40.6507 38.8622 40.5944 38.7632C40.5457 38.6777 40.4965 38.5923 40.4469 38.5074C40.3886 38.4077 40.3296 38.3085 40.27 38.21C40.234 38.153 40.1971 38.0969 40.1595 38.0414C40.072 37.912 39.981 37.7859 39.89 37.66C39.83 37.65 39.77 37.64 39.7 37.64H39.4699C39.3599 37.65 39.26 37.66 39.15 37.68C38.8186 37.7537 38.5041 37.8527 38.1833 37.9538L38.0999 37.98C37.7499 38.12 37.3999 38.26 37.06 38.42C36.54 38.7 36.06 39.01 35.57 39.34C35.23 39.6 34.8799 39.86 34.55 40.14C34.29 40.38 34.04 40.63 33.8 40.89C33.6299 41.1 33.4699 41.3101 33.31 41.53C33.13 41.8 32.9699 42.08 32.81 42.37C32.7051 42.5915 32.6069 42.8164 32.5116 43.0428C32.4435 43.2047 32.3767 43.3674 32.31 43.53C31.8999 44.8 31.5699 46.08 31.29 47.39C31.2968 47.3627 31.3036 47.3354 31.31 47.3084C31.07 48.499 30.8304 49.6895 30.5999 50.88L30.5478 51.1543C30.3046 52.4318 30.0627 53.7028 29.96 55C29.94 55.41 29.94 55.81 29.96 56.22C30.05 57.18 30.1899 58.11 30.36 59.04C30.5999 60.13 30.84 61.22 31.09 62.3C31.33 63.31 31.6399 64.3 31.98 65.28C32.1399 65.71 32.32 66.1201 32.51 66.53C32.82 67.08 33.1499 67.62 33.5 68.15C33.7228 68.4471 33.966 68.7305 34.2071 69.0115L34.3029 69.1232L34.36 69.19C34.9099 69.81 35.1599 70.75 34.6599 71.49C34.4899 71.75 34.3 71.97 34.02 72.13C33.78 72.27 33.5199 72.33 33.25 72.38C33.1519 72.4002 33.0488 72.4104 32.9433 72.4147C32.7898 72.421 32.6312 72.4147 32.4759 72.4085H32.4742L32.4689 72.4083L32.463 72.4081C32.4155 72.4062 32.3684 72.4044 32.3218 72.4029C32.2669 72.4012 32.2129 72.4 32.1599 72.4C31.8537 72.4 31.5499 72.3975 31.2474 72.395C30.9475 72.3925 30.6487 72.39 30.3499 72.39C30.0853 72.39 29.8207 72.3898 29.556 72.3895H29.5529C27.4386 72.3876 25.3243 72.3856 23.21 72.51C22.346 72.574 21.4821 72.6124 20.6181 72.6508C20.4021 72.6604 20.186 72.67 19.9699 72.68C19.4699 72.72 18.98 72.76 18.48 72.81C18.4178 72.8167 18.3556 72.8235 18.2934 72.8306C18.2157 72.8394 18.138 72.8484 18.0603 72.8575L18.0581 72.8577C17.6387 72.9063 17.2193 72.955 16.8 72.97C16.54 72.98 16.27 72.98 16.01 72.98C15.2 72.95 14.3499 72.92 13.49 72.91C12.6974 72.9028 11.9048 72.8702 11.1122 72.8375C10.7947 72.8245 10.4773 72.8114 10.1599 72.8C10.0925 72.7974 10.0251 72.795 9.95761 72.7927L9.84165 72.7888C9.41776 72.7744 8.99387 72.7599 8.56998 72.72C8.45603 72.7109 8.34207 72.6986 8.228 72.6846C8.17289 72.6778 8.11771 72.6705 8.06253 72.663C7.96561 72.6498 7.86863 72.6359 7.77146 72.6218L7.76303 72.6205L7.76065 72.6204C7.52854 72.5868 7.29532 72.5531 7.05997 72.53C5.75602 72.4581 4.44394 72.4589 3.1384 72.4598L2.69999 72.46C1.73996 72.45 0.929966 71.66 0.929966 70.69C0.929966 70.53 0.949924 70.38 0.989963 70.24C0.731174 69.4385 0.91843 68.5396 1.09207 67.7059C1.12644 67.541 1.16025 67.3785 1.18998 67.22C1.37668 66.2424 1.53025 65.2619 1.68375 64.2817C1.80973 63.477 1.9357 62.6725 2.07999 61.87C2.42997 59.95 2.80991 58.01 3.47995 56.17C3.96408 54.8693 4.49527 53.5947 5.02817 52.3159L5.02872 52.3146C5.1514 52.0203 5.27414 51.7256 5.39646 51.4304C5.47788 51.2339 5.55912 51.0372 5.63999 50.84C6.34995 49.11 7.17997 47.45 8.11997 45.83C9.09995 44.16 10.0999 42.5 11.24 40.94C12.069 39.8143 12.9848 38.7349 13.8951 37.6622L13.8994 37.657C14.1845 37.3211 14.469 36.9858 14.75 36.65C15.9599 35.21 17.2099 33.81 18.56 32.5C19.94 31.15 21.46 29.97 23.02 28.84C24.55 27.73 26.1399 26.69 27.75 25.7C29.2699 24.75 30.86 23.93 32.53 23.27C33.39 22.93 34.3 22.73 35.21 22.56L35.2939 22.5446C35.3504 22.5342 35.4069 22.5243 35.4634 22.5146C35.4965 22.5089 35.5296 22.5034 35.5627 22.4979C35.5932 22.4929 35.6238 22.4879 35.6544 22.4831C35.8263 22.4558 35.9981 22.4315 36.17 22.41C35.9399 21.49 35.6599 20.57 35.36 19.67L34.9735 18.5226L34.9649 18.4969C34.8516 18.1608 34.7384 17.8252 34.6256 17.4895C34.5141 17.1577 34.4029 16.8257 34.2921 16.493C34.2011 16.2193 34.1103 15.9451 34.02 15.67C33.8217 15.0649 33.6364 14.4548 33.4508 13.8435L33.4466 13.8296L33.4444 13.8224L33.444 13.8212C33.3568 13.5338 33.2695 13.2462 33.1808 12.9588C33.0893 12.6622 32.9961 12.3658 32.9 12.07C32.69 11.52 32.4699 10.98 32.2199 10.45C31.9099 9.85004 31.5899 9.26001 31.23 8.67999C30.9699 8.25 30.6599 7.84003 30.43 7.40002C30.2199 7.01001 30.0999 6.60999 30.04 6.16998C29.8999 5.17999 30.61 4.15997 31.63 4.04999C32.0999 4 32.54 4.12 32.99 4.25C33.3407 4.34564 33.6914 4.435 34.037 4.52301L34.0408 4.52393L34.3 4.59003C35.0599 4.79004 35.8299 4.95001 36.5999 5.10999C37.8299 5.38 39.05 5.70001 40.21 6.17999C40.98 6.5 41.7599 6.80005 42.54 7.09003C42.8514 7.18732 43.1634 7.28278 43.476 7.37628L43.4099 7.04004C43.373 6.85156 43.3359 6.66309 43.2987 6.47461C43.2529 6.2431 43.2068 6.0116 43.1599 5.78003C42.9699 4.92004 42.77 4.07001 42.5 3.22998C42.18 2.88995 42.01 2.41998 41.99 1.95001C41.95 1.15002 42.57 0.400024 43.32 0.200012C43.77 0.0700072 44.2 0.130005 44.58 0.320007C44.77 0.340027 44.96 0.360046 45.15 0.400024L45.1564 0.401306C45.3348 0.43866 45.5131 0.476013 45.6907 0.514099C45.9392 0.567322 46.1863 0.621948 46.43 0.679993C47.11 0.849975 47.77 1.03998 48.44 1.23999C49.0023 1.41364 49.5578 1.60266 50.1128 1.79156C50.9001 2.05951 51.6864 2.32709 52.49 2.54999L52.7038 2.60736C53.3044 2.76843 53.9112 2.93121 54.51 3.10999C55.24 3.33997 55.97 3.59003 56.69 3.84003C57.0622 3.9682 57.4418 4.08514 57.8221 4.20227L57.836 4.20648C57.9552 4.24323 58.0744 4.28003 58.1935 4.31714L58.322 4.35742C58.3981 4.38141 58.4741 4.40552 58.55 4.42999C59.3499 4.69 60.14 4.97998 60.93 5.26001C60.8933 5.24426 60.8566 5.23126 60.8185 5.21814L60.7719 5.20221L60.7362 5.18958L60.71 5.17999C60.8561 5.22528 61.0023 5.26886 61.1487 5.3111C61.3387 5.36597 61.529 5.41858 61.7194 5.46991C61.9958 5.54449 62.2725 5.61633 62.549 5.68811C62.94 5.78961 63.3307 5.89099 63.7199 6C64.1155 6.10101 64.5041 6.23749 64.8914 6.37354L64.909 6.37976L65.11 6.45001C65.5199 6.58002 65.94 6.68005 66.36 6.78003C67.0999 6.90002 67.84 7.02002 68.57 7.21002C69.26 7.39001 69.95 7.56995 70.65 7.71997C70.878 7.76428 71.1064 7.80725 71.3347 7.84967C71.4904 7.8786 71.6462 7.90723 71.802 7.93585L71.8053 7.9364C72.8125 8.1217 73.8191 8.30688 74.81 8.56C75.5999 8.76001 76.38 8.98999 77.14 9.27002C77.5528 9.41748 77.9552 9.59967 78.3574 9.7818C78.6372 9.90851 78.9169 10.0352 79.2 10.15C79.67 10.3 80.15 10.42 80.64 10.53C80.6817 10.5394 80.7235 10.5485 80.7654 10.5576L80.8602 10.5777L80.9427 10.5951L80.9472 10.596C81.3396 10.6784 81.7354 10.7615 82.0999 10.92C82.61 11.15 83.0799 11.62 83.2199 12.18L83.2282 12.2131C83.3053 12.5208 83.3783 12.8118 83.33 13.14C83.28 13.53 83.15 13.92 82.95 14.26C82.5015 15.0265 81.8934 15.6866 81.2885 16.3433C81.1515 16.4919 81.0147 16.6404 80.88 16.79C80.26 17.54 79.67 18.29 79.11 19.09L78.9162 19.3867L78.9153 19.388C78.2809 20.3597 77.6457 21.3328 76.92 22.24C76.1681 23.1798 75.3441 24.0555 74.5199 24.9317L74.2299 25.24C73.86 25.69 73.5099 26.14 73.1599 26.6C73.0962 26.696 73.0331 26.7923 72.9702 26.8887C72.8393 27.0895 72.71 27.2908 72.5808 27.4918L72.58 27.4931L72.5786 27.4953C72.1571 28.1512 71.7372 28.8048 71.27 29.43C71.0576 29.7173 70.8423 30.0027 70.6269 30.2883L70.6197 30.2977C70.1476 30.9233 69.6747 31.5499 69.2299 32.2C68.3 33.61 67.36 35.0099 66.4099 36.41C66.4157 36.3999 66.4217 36.39 66.4278 36.3803C66.4468 36.3499 66.467 36.3213 66.4857 36.2935C66.5024 36.2686 66.5179 36.2443 66.53 36.22C65.8 37.33 65.0799 38.45 64.29 39.52C63.9933 39.9224 63.6867 40.3165 63.3803 40.7103L63.3796 40.7114C62.9323 41.2862 62.4851 41.861 62.07 42.46C61.96 42.62 61.86 42.79 61.76 42.96C61.48 43.58 61.19 44.17 60.8 44.74L59.93 45.97C59.8409 46.0959 59.7536 46.2228 59.6666 46.3495C59.4703 46.6352 59.2748 46.9198 59.06 47.19C58.7 47.66 58.31 48.1 57.92 48.54V48.53C57.7799 48.69 57.65 48.85 57.52 49.02C57.5 49.14 57.48 49.27 57.46 49.4C57.35 49.99 57.07 50.52 56.53 50.83C56.25 50.99 55.95 51.07 55.65 51.07C55 51.11 54.38 50.76 54.04 50.18ZM55.7165 40.4403C55.7229 40.4642 55.7292 40.488 55.7356 40.5119C55.9422 41.2824 56.1486 42.0525 56.25 42.85L56.49 44.74C56.916 44.1691 57.313 43.5837 57.7181 43.0023C57.7884 42.9014 57.859 42.8006 57.93 42.7C57.9666 42.64 58.0034 42.581 58.0401 42.522L58.0747 42.4666L58.1166 42.399L58.1562 42.3344C58.1908 42.2776 58.2254 42.2198 58.26 42.16C58.51 41.61 58.7599 41.07 59.0999 40.56C59.43 40.07 59.78 39.59 60.15 39.11C60.2198 39.0179 60.2898 38.926 60.3599 38.8342C60.4811 38.6755 60.6026 38.5172 60.7242 38.3589C60.8537 38.1901 60.9832 38.0215 61.1122 37.8524C60.3462 38.2509 59.5865 38.6763 58.81 39.06C58.1252 39.4024 57.4274 39.7014 56.7309 39.9999C56.3919 40.1452 56.0533 40.2903 55.7165 40.4403ZM63.4818 34.458C62.9845 34.0107 62.2495 33.8599 61.5999 34.13C61.5899 34.14 61.5799 34.14 61.56 34.15C61.5524 34.15 61.5448 34.1558 61.5329 34.1586C61.5291 34.1594 61.5248 34.16 61.52 34.16C61.4579 34.16 61.4037 34.1679 61.3433 34.1767L61.32 34.18H61.38C61.0299 34.2 60.6999 34.24 60.3499 34.32C60.0082 34.3969 59.6665 34.5905 59.3497 34.77C59.2957 34.8007 59.2424 34.8309 59.19 34.86C58.905 35.01 58.62 35.1625 58.3349 35.315C58.05 35.4675 57.765 35.62 57.48 35.77C56.8697 36.071 56.253 36.3522 55.6241 36.6189C56.0656 35.7712 56.5197 34.9278 56.9809 34.0877C57.014 34.0892 57.047 34.09 57.08 34.09C57.65 34.09 58.23 33.87 58.75 33.61C59.31 33.33 59.87 33.06 60.43 32.78C61.21 32.4 62.01 32.04 62.81 31.69C64.0091 31.172 65.1982 30.6439 66.3808 30.1022C66.0006 30.6497 65.6353 31.2099 65.2705 31.7695L65.2579 31.7889L65.2458 31.8074L65.2343 31.8252L65.0996 32.0316L64.9937 32.1935C64.894 32.3459 64.794 32.498 64.6934 32.6496C64.6681 32.6844 64.6424 32.7206 64.62 32.76L64.6934 32.6496C64.7058 32.6324 64.7182 32.6155 64.7301 32.5988C64.7369 32.5892 64.7436 32.5796 64.75 32.57C64.3233 33.1971 63.902 33.8269 63.4818 34.458ZM62 28.18C61.2176 28.5217 60.4431 28.8716 59.6697 29.2295L60.3713 27.9384C60.7011 27.3317 61.0318 26.7254 61.3658 26.1207C61.4359 26.1459 61.5073 26.167 61.5795 26.1843C61.7015 26.2135 61.8257 26.2317 61.95 26.24C62.0395 26.24 62.129 26.2344 62.217 26.2233C62.2962 26.2134 62.3742 26.1989 62.45 26.18C62.53 26.16 62.5999 26.14 62.67 26.11C63.1148 25.9401 63.54 25.6983 63.9615 25.4586C64.0201 25.4252 64.0787 25.3919 64.1372 25.3589C64.1782 25.3358 64.2191 25.3128 64.26 25.29L64.264 25.2878C64.5327 25.1385 64.8012 24.9893 65.06 24.84L67.0399 23.67L67.6134 23.3188C68.7918 22.5974 69.9684 21.8772 71.13 21.12C72.0658 20.5121 73.0273 19.9553 73.9888 19.3986L74.3028 19.2167C74.4386 19.1379 74.5744 19.0591 74.71 18.98C74.8333 18.9088 74.9566 18.8373 75.0797 18.7656L75.01 18.87C74.57 19.48 74.12 20.08 73.64 20.67C73.5042 20.8215 73.3673 20.972 73.2296 21.122C73.1443 21.2149 73.0588 21.3076 72.9731 21.4001C72.8805 21.5001 72.7877 21.6 72.6949 21.7C72.1331 22.3049 71.5702 22.9111 71.0399 23.55C70.397 24.3247 69.8495 25.1812 69.3069 26.0294L69.306 26.0309L69.3033 26.0351L69.3027 26.036L69.3003 26.0399C69.1869 26.2172 69.0738 26.3942 68.96 26.57C68.8717 26.6976 68.7825 26.8242 68.6926 26.9501C68.2731 26.1911 67.2739 25.7861 66.45 26.17C64.98 26.86 63.5 27.54 62 28.18ZM78.8228 13.7911L78.8499 13.76L78.7448 13.7337C78.7713 13.752 78.7973 13.7712 78.8228 13.7911ZM77.7308 13.4178C77.3724 13.2792 77.0204 13.1199 76.6693 12.9609C76.2775 12.7836 75.8869 12.6069 75.49 12.46C75.0751 12.328 74.6625 12.2094 74.248 12.0999C74.1061 12.3109 73.9182 12.4937 73.69 12.63C73.27 12.88 72.87 13.14 72.46 13.42C70.49 14.79 68.53 16.15 66.53 17.47C66.5097 17.4835 66.4895 17.4971 66.4695 17.5107L66.4248 17.5414C66.3842 17.6274 66.3424 17.7104 66.3 17.79C66.0884 18.1974 65.8523 18.5864 65.6157 18.9762L65.5357 19.108C65.497 19.1719 65.4584 19.2358 65.42 19.3C65.0983 19.8381 64.7652 20.3685 64.4325 20.8984L64.2311 21.2194C64.6188 20.9909 65.0049 20.7605 65.39 20.53C66.76 19.7 68.12 18.87 69.46 17.99C70.3531 17.4052 71.2712 16.8765 72.1945 16.3448C72.4395 16.2038 72.6847 16.0626 72.93 15.92C73.3091 15.6983 73.6873 15.475 74.0655 15.2518L74.0782 15.2443L74.0831 15.2413C74.9958 14.7024 75.9079 14.1638 76.83 13.65C77.1128 13.4918 77.4238 13.4163 77.7308 13.4178ZM65.4099 13.97L65.077 14.192C65.0403 14.1844 65.0036 14.1772 64.9671 14.1703C64.9366 14.1646 64.9062 14.1589 64.8757 14.1535L64.8464 14.1484L64.7913 14.1389C64.7497 14.132 64.7079 14.1254 64.666 14.1191C64.6209 14.1123 64.5757 14.106 64.53 14.1C64.4622 14.0912 64.3944 14.082 64.3266 14.0723C64.2594 14.0626 64.1922 14.0525 64.1253 14.0419C63.9515 14.0145 63.7791 13.9838 63.61 13.95C63.5505 13.9381 63.4911 13.9227 63.4296 13.9058C63.3876 13.8943 63.3446 13.8822 63.3 13.87C63.2849 13.865 63.2723 13.86 63.2598 13.855L63.2491 13.8508L63.2356 13.8455L63.2199 13.84C63.14 13.8071 63.0602 13.7739 62.9805 13.7406C63.0854 13.6469 63.1905 13.5536 63.2957 13.4604C63.3973 13.3704 63.4988 13.2803 63.5999 13.19C64.5299 12.44 65.47 11.69 66.44 10.98C66.6286 10.8422 66.7786 10.6699 66.8894 10.4772C66.9331 10.4847 66.9766 10.4922 67.02 10.5C67.46 10.5968 67.898 10.7091 68.3367 10.8215L68.3394 10.8223L68.5883 10.8859C68.687 10.9111 68.7857 10.936 68.8844 10.9607L69.019 10.9941C69.1935 11.0372 69.3682 11.079 69.5434 11.1186C69.1231 11.4112 68.7054 11.7082 68.2882 12.0048C67.8655 12.3054 67.4435 12.6055 67.02 12.9L66.8017 13.0454L66.2198 13.4318C65.9507 13.6104 65.6815 13.7889 65.4099 13.97ZM62.6811 9.40033L62.68 9.40002C62.3772 9.31818 62.0712 9.24304 61.7645 9.16779L61.6786 9.14667C61.5661 9.11902 61.4536 9.09125 61.3412 9.06311C61.052 9.26239 60.7635 9.46356 60.4749 9.66486L60.4699 9.66815C59.6483 10.2411 58.8251 10.8152 57.98 11.35C57.9439 11.3731 57.9076 11.3968 57.8707 11.4208C58.1563 11.5424 58.4395 11.6686 58.7199 11.8C58.9054 11.8871 59.0907 11.9744 59.2759 12.0616L59.2777 12.0626L59.483 12.1592C59.6789 11.9557 59.8905 11.7673 60.09 11.59C60.1645 11.524 60.2387 11.4574 60.3128 11.3905C60.3862 11.3242 60.4596 11.2575 60.533 11.1907L60.6971 11.0417L60.813 10.9371C61.0117 10.7584 61.2127 10.5811 61.42 10.41C61.838 10.072 62.2582 9.73395 62.6811 9.40033ZM54.39 9.40997C53.9592 9.3916 53.5367 9.52454 53.192 9.8241C53.0039 9.77258 52.8156 9.72241 52.6269 9.67334L52.4643 9.63135L52.355 9.60339L52.2264 9.57092L52.3401 9.46838C52.4364 9.3819 52.5331 9.29584 52.63 9.21002C52.8357 9.03296 53.0415 8.86047 53.2484 8.68927C53.3879 8.57385 53.5279 8.45898 53.6687 8.34375L53.93 8.13C54.3257 7.81342 54.56 7.35486 54.6048 6.87915C54.7469 6.92517 54.8886 6.97205 55.03 7.02002C55.6697 7.23938 56.3169 7.44751 56.9647 7.65588L57.0887 7.6958L56.2 8.29999C55.61 8.67999 55.0199 9.06006 54.4099 9.40002C54.4099 9.40002 54.4088 9.40118 54.4068 9.40271C54.4053 9.40393 54.4033 9.4054 54.401 9.40668C54.399 9.40778 54.3968 9.40875 54.3945 9.40936C54.393 9.40973 54.3915 9.40997 54.39 9.40997ZM51.123 5.85925C50.4804 5.66705 49.8437 5.45001 49.2091 5.23358L49.2072 5.23303C48.8878 5.12408 48.5689 5.01532 48.25 4.90997C47.6599 4.70996 47.06 4.52997 46.46 4.37C46.641 5.20435 46.8034 6.0387 46.9668 6.87787C47.011 7.10486 47.0552 7.33221 47.0999 7.56C47.1029 7.57794 47.1062 7.5957 47.1095 7.61322C47.1119 7.62537 47.1142 7.63745 47.1167 7.64941C47.122 7.67535 47.1277 7.70087 47.1333 7.72614C47.1463 7.78503 47.1595 7.84253 47.17 7.90002C47.17 7.92999 47.18 7.94995 47.19 7.97998C47.19 7.95996 47.18 7.92999 47.18 7.90002C47.2584 8.06396 47.3114 8.2381 47.3354 8.42242C47.4478 8.44971 47.5605 8.47675 47.6731 8.50348C47.7387 8.5191 47.8043 8.53461 47.87 8.54999L48.0018 8.58154L48.1524 8.61737C48.2931 8.45264 48.443 8.29706 48.59 8.15002C48.6934 8.04999 48.7957 7.94769 48.8983 7.84503C49.1034 7.63989 49.3101 7.43323 49.53 7.23999C49.8294 6.9693 50.1305 6.70361 50.4346 6.44165C50.5548 6.33807 50.6756 6.23505 50.7969 6.13251C50.9051 6.04108 51.0138 5.95001 51.123 5.85925ZM22.06 34.07C20.7799 35.25 19.5799 36.49 18.42 37.79C16.7799 39.7 15.14 41.61 13.65 43.63C12.27 45.68 11.0099 47.81 9.85996 50C9.35666 51.0889 8.90366 52.1861 8.44718 53.2918L8.44626 53.2942L8.31998 53.6C8.22922 53.8192 8.13816 54.0381 8.04715 54.2568L8.04569 54.2605C7.60581 55.318 7.16733 56.3721 6.76999 57.44C6.4 58.62 6.08994 59.81 5.81998 61.02C5.55997 62.4 5.33994 63.77 5.11997 65.15C5.00992 65.86 4.87998 66.58 4.74997 67.29C4.73423 67.3751 4.71793 67.4604 4.70139 67.546L4.66007 67.7584L4.65293 67.7949C4.57938 68.171 4.50516 68.5505 4.44999 68.93C4.75998 68.93 5.06998 68.93 5.37998 68.94C5.99997 68.95 6.60996 68.96 7.23996 69.01C7.59482 69.0369 7.94681 69.084 8.29905 69.1312C8.60184 69.1717 8.90488 69.2123 9.21 69.24C9.31034 69.2441 9.4108 69.2485 9.51133 69.2531L9.69944 69.2617C9.89322 69.2708 10.0873 69.2803 10.2813 69.2899L10.2856 69.29C11.1306 69.3315 11.9778 69.373 12.82 69.38C13.2903 69.3835 13.7605 69.3945 14.2304 69.4054L14.2399 69.4056H14.2417C15.1068 69.4257 15.9706 69.4459 16.83 69.42C17.1274 69.3906 17.4248 69.359 17.7225 69.3274C18.3358 69.2623 18.9506 69.1971 19.57 69.15C19.7423 69.1388 19.9151 69.129 20.0881 69.1201C20.4418 69.1019 20.7967 69.0876 21.1521 69.0734H21.1543L21.1622 69.073C21.5576 69.0572 21.9538 69.0413 22.3499 69.02C24.1299 68.9 25.8999 68.86 27.68 68.83H29.78C29.53 68.42 29.3 67.99 29.12 67.55C28.3899 65.84 27.8899 64.04 27.48 62.23C27.4453 62.0726 27.4101 61.9152 27.3747 61.7577L27.284 61.3574L27.2833 61.3539C27.1429 60.7352 27.0022 60.1149 26.88 59.49C26.69 58.52 26.5599 57.55 26.4699 56.56C26.2905 54.5052 26.7068 52.4262 27.1122 50.4026L27.1158 50.3846L27.1772 50.0777C27.2016 49.9549 27.2259 49.8323 27.25 49.71L27.2871 49.5192L27.3288 49.3059C27.3585 49.1547 27.3885 49.0035 27.4186 48.8522L27.4649 48.6199L27.5366 48.2625C27.5858 48.018 27.6353 47.7732 27.685 47.5279L27.81 46.91L27.8391 46.7642C27.9995 45.9608 28.1631 45.142 28.38 44.35C28.73 43.12 29.0999 41.91 29.67 40.76C30.1799 39.74 30.8499 38.82 31.64 37.99C32.19 37.42 32.82 36.94 33.45 36.46C34.52 35.64 35.7699 34.97 37.06 34.55C37.8 34.31 38.54 34.09 39.31 34.05C39.79 34.03 40.2699 34.0699 40.74 34.16C41.24 34.2599 41.6599 34.46 42.06 34.76C42.4262 35.028 42.6966 35.4236 42.9569 35.8043C42.988 35.8499 43.019 35.8951 43.05 35.94C43.3 36.32 43.54 36.7 43.76 37.09C44.0605 37.6243 44.3208 38.1853 44.5798 38.7433C44.7086 39.0209 44.8371 39.2977 44.9699 39.57C44.9299 39.5 44.8999 39.43 44.86 39.37C45.0959 39.8303 45.3476 40.2834 45.5994 40.7365C46.0094 41.4742 46.4192 42.2117 46.76 42.98C47.1499 43.8672 47.4353 44.7924 47.7182 45.7092L47.74 45.78C47.8399 45.52 47.94 45.26 48.03 44.99L48.0315 44.9863C48.6808 43.2579 49.3305 41.5284 50.0999 39.85C50.92 38.05 51.7799 36.28 52.68 34.53C53.5199 32.91 54.4099 31.33 55.3 29.75C55.8463 28.7725 56.3744 27.7878 56.9023 26.8035L56.9035 26.8011L56.9072 26.7944C57.6143 25.4758 58.3209 24.1581 59.07 22.86C59.73 21.72 60.41 20.59 61.09 19.47C61.2657 19.1873 61.4443 18.9061 61.6231 18.6247C61.7033 18.4984 61.7836 18.3719 61.8637 18.2454C62.0721 17.9158 62.279 17.5849 62.48 17.25C61.9399 17.09 61.43 16.88 60.89 16.65C60.3883 16.4343 59.8931 16.2098 59.4004 15.9817C59.222 15.899 59.0439 15.816 58.866 15.7327L58.4018 15.5149C58.1781 15.4098 57.9543 15.3047 57.73 15.2C56.5599 14.65 55.36 14.18 54.14 13.75C52.86 13.35 51.57 13 50.26 12.68C49.7269 12.5521 49.1902 12.4351 48.6537 12.3181L48.6493 12.317C47.9293 12.16 47.2097 12.0032 46.5 11.82C46.2354 11.7518 45.97 11.6845 45.7043 11.6171C44.6444 11.3481 43.5794 11.0778 42.54 10.75C41.7799 10.52 41.03 10.26 40.28 9.97998C39.9314 9.84869 39.5888 9.70917 39.2468 9.56982L39.2402 9.56708L39.2383 9.56635C38.828 9.39911 38.4184 9.23218 38 9.08002C37.07 8.77002 36.11 8.56 35.14 8.34998C35.1892 8.44843 35.2384 8.54932 35.2864 8.65021C35.3186 8.71783 35.3503 8.78546 35.381 8.85242L35.4022 8.89874L35.43 8.96002C35.79 9.77002 36.12 10.58 36.39 11.42C36.4521 11.6134 36.5132 11.8079 36.5738 12.0029C36.6446 12.231 36.7146 12.4597 36.7845 12.6885L36.9385 13.1907L37.0084 13.4166C37.0369 13.5082 37.0655 13.5997 37.0943 13.691L37.1328 13.8125L37.18 13.96C37.5877 15.2974 38.042 16.628 38.494 17.952L38.4956 17.9565L38.6407 18.3818C38.6939 18.538 38.747 18.694 38.8 18.85C39.0268 19.5307 39.2185 20.2185 39.4104 20.9075C39.4469 21.0383 39.4833 21.1691 39.52 21.3C39.5432 21.3802 39.5653 21.4608 39.5863 21.5416C39.609 21.6287 39.6306 21.716 39.6513 21.8035C39.6604 21.8421 39.6694 21.8807 39.6783 21.9193L39.6967 22.0009L39.706 22.0429C39.7263 22.1344 39.7459 22.226 39.7652 22.3177C39.7823 22.3987 39.7991 22.4799 39.816 22.561L39.8161 22.5621L39.8174 22.5685L39.8176 22.5698C39.8752 22.8468 39.933 23.1242 40 23.4C40.2099 23.7401 40.31 24.14 40.25 24.56C40.1248 25.5228 39.2859 26.1055 38.3669 26.0851C38.4112 26.0889 38.4556 26.0944 38.5 26.1C38.1999 26.09 37.8999 26.07 37.61 26C37.5513 25.987 37.4937 25.9708 37.4372 25.952C37.4021 25.9404 37.3673 25.9279 37.333 25.9144C37.2531 25.8832 37.1754 25.8477 37.0999 25.81C36.4999 25.87 35.92 25.97 35.33 26.08C34.8499 26.19 34.38 26.3199 33.9 26.47C33.21 26.74 32.55 27.04 31.88 27.36C30.05 28.31 28.3299 29.44 26.61 30.58C26.68 30.54 26.74 30.4901 26.8 30.46C25.1899 31.61 23.5999 32.79 22.06 34.07Z\",fill:\"currentColor\"}),/*#__PURE__*/_jsx(\"path\",{d:\"M31.31 47.3084L31.3363 47.1779L31.34 47.16C31.3353 47.1929 31.3283 47.228 31.3203 47.2642C31.3171 47.2787 31.3136 47.2936 31.31 47.3084Z\",fill:\"currentColor\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"HandyArrows\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerDisableUnlink\":\"*\",\"framerIntrinsicWidth\":\"100\",\"framerIntrinsicHeight\":\"100\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./HandyArrows_Prod.map", "import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here \u2014 there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map", "import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map", "import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map", "import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map", "import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map", "import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map", "import{MotionValue}from\"framer\";// Basic MotionValue check\nexport const isMotionValue=v=>v instanceof MotionValue;\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./isMotionValue.map", "import{useCallback,useEffect,useRef}from\"react\";import{motionValue,animate,RenderTarget}from\"framer\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";export function useAutoMotionValue(inputValue,options){// Put options on a local ref\n// Might wanna just memo instead but it works for now\nconst optionsRef=useRef(options);const animation=useRef();const didInitialMount=useRef(false);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;// in-progress - trying to figure out effect hooks\nconst onChangeDeps=(options===null||options===void 0?void 0:options.onChangeDeps)?options.onChangeDeps:[];// Memoize the onChange handler\nconst onChange=useCallback(options===null||options===void 0?void 0:options.onChange,[...onChangeDeps,]);// Optionally scale the value from props\nconst transformer=useCallback(value=>{var ref;return((ref=optionsRef.current)===null||ref===void 0?void 0:ref.transform)?optionsRef.current.transform(value):value;},[]);// Create new MotionValue from inputValue\nconst value1=useConstant(()=>isMotionValue(inputValue)?inputValue:motionValue(transformer(inputValue)));// Setting value from prop change\nuseEffect(()=>{if(!isMotionValue(inputValue)&&didInitialMount.current){var ref,ref1;const newValue=transformer(inputValue);(ref=animation.current)===null||ref===void 0?void 0:ref.stop();// Call change callback\nif(onChange)onChange(newValue,value1);// Trigger animation to new value\nif(((ref1=optionsRef.current)===null||ref1===void 0?void 0:ref1.animate)&&!isOnCanvas){var ref2;// @ts-ignore\nanimation.current=animate(value1,newValue,(ref2=optionsRef.current)===null||ref2===void 0?void 0:ref2.transition);}else{value1.set(newValue);}}didInitialMount.current=true;},[inputValue,...onChangeDeps]);return value1;}\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useAutoMotionValue.map", "var _global = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : global;\n\nvar exports = {};\ntypeof navigator !== \"undefined\" && function (root, factory) {\n  if (exports) {\n    exports = factory(root);\n  } else {\n    root.lottie = factory(root);\n    root.bodymovin = root.lottie;\n  }\n}(window || {}, function (window) {\n  /* global locationHref:writable, animationManager, subframeEnabled:writable, defaultCurveSegments:writable, roundValues,\r\n  expressionsPlugin:writable, PropertyFactory, ShapePropertyFactory, Matrix */\n\n  /* exported locationHref, subframeEnabled, expressionsPlugin */\n  'use strict';\n  /* exported svgNS, locationHref, initialDefaultFrame */\n\n  var svgNS = \"http://www.w3.org/2000/svg\";\n  var locationHref = \"\";\n  var initialDefaultFrame = -999999;\n  /* global createSizedArray */\n\n  /* exported subframeEnabled, expressionsPlugin, isSafari, cachedColors, bmPow, bmSqrt, bmFloor, bmMax, bmMin, ProjectInterface,\r\n  defaultCurveSegments, degToRads, roundCorner, bmRnd, styleDiv, BMEnterFrameEvent, BMCompleteEvent, BMCompleteLoopEvent,\r\n  BMSegmentStartEvent, BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, BMAnimationConfigErrorEvent, createElementID,\r\n  addSaturationToRGB, addBrightnessToRGB, addHueToRGB, rgbToHex */\n\n  var subframeEnabled = true;\n  var expressionsPlugin;\n  var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n  var cachedColors = {};\n  var bmRnd;\n  var bmPow = Math.pow;\n  var bmSqrt = Math.sqrt;\n  var bmFloor = Math.floor;\n  var bmMax = Math.max;\n  var bmMin = Math.min;\n  var BMMath = {};\n\n  (function () {\n    var propertyNames = [\"abs\", \"acos\", \"acosh\", \"asin\", \"asinh\", \"atan\", \"atanh\", \"atan2\", \"ceil\", \"cbrt\", \"expm1\", \"clz32\", \"cos\", \"cosh\", \"exp\", \"floor\", \"fround\", \"hypot\", \"imul\", \"log\", \"log1p\", \"log2\", \"log10\", \"max\", \"min\", \"pow\", \"random\", \"round\", \"sign\", \"sin\", \"sinh\", \"sqrt\", \"tan\", \"tanh\", \"trunc\", \"E\", \"LN10\", \"LN2\", \"LOG10E\", \"LOG2E\", \"PI\", \"SQRT1_2\", \"SQRT2\"];\n    var i;\n    var len = propertyNames.length;\n\n    for (i = 0; i < len; i += 1) {\n      BMMath[propertyNames[i]] = Math[propertyNames[i]];\n    }\n  })();\n\n  function ProjectInterface() {\n    return {};\n  }\n\n  BMMath.random = Math.random;\n\n  BMMath.abs = function (val) {\n    var tOfVal = typeof val;\n\n    if (tOfVal === \"object\" && val.length) {\n      var absArr = createSizedArray(val.length);\n      var i;\n      var len = val.length;\n\n      for (i = 0; i < len; i += 1) {\n        absArr[i] = Math.abs(val[i]);\n      }\n\n      return absArr;\n    }\n\n    return Math.abs(val);\n  };\n\n  var defaultCurveSegments = 150;\n  var degToRads = Math.PI / 180;\n  var roundCorner = 0.5519;\n\n  function roundValues(flag) {\n    if (flag) {\n      bmRnd = Math.round;\n    } else {\n      bmRnd = function (val) {\n        return val;\n      };\n    }\n  }\n\n  roundValues(false);\n\n  function styleDiv(element) {\n    element.style.position = \"absolute\";\n    element.style.top = 0;\n    element.style.left = 0;\n    element.style.display = \"block\";\n    element.style.transformOrigin = \"0 0\";\n    element.style.webkitTransformOrigin = \"0 0\";\n    element.style.backfaceVisibility = \"visible\";\n    element.style.webkitBackfaceVisibility = \"visible\";\n    element.style.transformStyle = \"preserve-3d\";\n    element.style.webkitTransformStyle = \"preserve-3d\";\n    element.style.mozTransformStyle = \"preserve-3d\";\n  }\n\n  function BMEnterFrameEvent(type, currentTime, totalTime, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentTime = currentTime;\n    (this || _global).totalTime = totalTime;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteEvent(type, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMCompleteLoopEvent(type, totalLoops, currentLoop, frameMultiplier) {\n    (this || _global).type = type;\n    (this || _global).currentLoop = currentLoop;\n    (this || _global).totalLoops = totalLoops;\n    (this || _global).direction = frameMultiplier < 0 ? -1 : 1;\n  }\n\n  function BMSegmentStartEvent(type, firstFrame, totalFrames) {\n    (this || _global).type = type;\n    (this || _global).firstFrame = firstFrame;\n    (this || _global).totalFrames = totalFrames;\n  }\n\n  function BMDestroyEvent(type, target) {\n    (this || _global).type = type;\n    (this || _global).target = target;\n  }\n\n  function BMRenderFrameErrorEvent(nativeError, currentTime) {\n    (this || _global).type = \"renderFrameError\";\n    (this || _global).nativeError = nativeError;\n    (this || _global).currentTime = currentTime;\n  }\n\n  function BMConfigErrorEvent(nativeError) {\n    (this || _global).type = \"configError\";\n    (this || _global).nativeError = nativeError;\n  }\n\n  function BMAnimationConfigErrorEvent(type, nativeError) {\n    (this || _global).type = type;\n    (this || _global).nativeError = nativeError;\n  }\n\n  var createElementID = function () {\n    var _count = 0;\n    return function createID() {\n      _count += 1;\n      return \"__lottie_element_\" + _count;\n    };\n  }();\n\n  function HSVtoRGB(h, s, v) {\n    var r;\n    var g;\n    var b;\n    var i;\n    var f;\n    var p;\n    var q;\n    var t;\n    i = Math.floor(h * 6);\n    f = h * 6 - i;\n    p = v * (1 - s);\n    q = v * (1 - f * s);\n    t = v * (1 - (1 - f) * s);\n\n    switch (i % 6) {\n      case 0:\n        r = v;\n        g = t;\n        b = p;\n        break;\n\n      case 1:\n        r = q;\n        g = v;\n        b = p;\n        break;\n\n      case 2:\n        r = p;\n        g = v;\n        b = t;\n        break;\n\n      case 3:\n        r = p;\n        g = q;\n        b = v;\n        break;\n\n      case 4:\n        r = t;\n        g = p;\n        b = v;\n        break;\n\n      case 5:\n        r = v;\n        g = p;\n        b = q;\n        break;\n\n      default:\n        break;\n    }\n\n    return [r, g, b];\n  }\n\n  function RGBtoHSV(r, g, b) {\n    var max = Math.max(r, g, b);\n    var min = Math.min(r, g, b);\n    var d = max - min;\n    var h;\n    var s = max === 0 ? 0 : d / max;\n    var v = max / 255;\n\n    switch (max) {\n      case min:\n        h = 0;\n        break;\n\n      case r:\n        h = g - b + d * (g < b ? 6 : 0);\n        h /= 6 * d;\n        break;\n\n      case g:\n        h = b - r + d * 2;\n        h /= 6 * d;\n        break;\n\n      case b:\n        h = r - g + d * 4;\n        h /= 6 * d;\n        break;\n\n      default:\n        break;\n    }\n\n    return [h, s, v];\n  }\n\n  function addSaturationToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[1] += offset;\n\n    if (hsv[1] > 1) {\n      hsv[1] = 1;\n    } else if (hsv[1] <= 0) {\n      hsv[1] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addBrightnessToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[2] += offset;\n\n    if (hsv[2] > 1) {\n      hsv[2] = 1;\n    } else if (hsv[2] < 0) {\n      hsv[2] = 0;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  function addHueToRGB(color, offset) {\n    var hsv = RGBtoHSV(color[0] * 255, color[1] * 255, color[2] * 255);\n    hsv[0] += offset / 360;\n\n    if (hsv[0] > 1) {\n      hsv[0] -= 1;\n    } else if (hsv[0] < 0) {\n      hsv[0] += 1;\n    }\n\n    return HSVtoRGB(hsv[0], hsv[1], hsv[2]);\n  }\n\n  var rgbToHex = function () {\n    var colorMap = [];\n    var i;\n    var hex;\n\n    for (i = 0; i < 256; i += 1) {\n      hex = i.toString(16);\n      colorMap[i] = hex.length === 1 ? \"0\" + hex : hex;\n    }\n\n    return function (r, g, b) {\n      if (r < 0) {\n        r = 0;\n      }\n\n      if (g < 0) {\n        g = 0;\n      }\n\n      if (b < 0) {\n        b = 0;\n      }\n\n      return \"#\" + colorMap[r] + colorMap[g] + colorMap[b];\n    };\n  }();\n\n  function BaseEvent() {}\n\n  BaseEvent.prototype = {\n    triggerEvent: function (eventName, args) {\n      if ((this || _global)._cbs[eventName]) {\n        var len = (this || _global)._cbs[eventName].length;\n\n        for (var i = 0; i < len; i += 1) {\n          (this || _global)._cbs[eventName][i](args);\n        }\n      }\n    },\n    addEventListener: function (eventName, callback) {\n      if (!(this || _global)._cbs[eventName]) {\n        (this || _global)._cbs[eventName] = [];\n      }\n\n      (this || _global)._cbs[eventName].push(callback);\n\n      return function () {\n        this.removeEventListener(eventName, callback);\n      }.bind(this || _global);\n    },\n    removeEventListener: function (eventName, callback) {\n      if (!callback) {\n        (this || _global)._cbs[eventName] = null;\n      } else if ((this || _global)._cbs[eventName]) {\n        var i = 0;\n        var len = (this || _global)._cbs[eventName].length;\n\n        while (i < len) {\n          if ((this || _global)._cbs[eventName][i] === callback) {\n            (this || _global)._cbs[eventName].splice(i, 1);\n\n            i -= 1;\n            len -= 1;\n          }\n\n          i += 1;\n        }\n\n        if (!(this || _global)._cbs[eventName].length) {\n          (this || _global)._cbs[eventName] = null;\n        }\n      }\n    }\n  };\n  /* exported createTypedArray, createSizedArray */\n\n  var createTypedArray = function () {\n    function createRegularArray(type, len) {\n      var i = 0;\n      var arr = [];\n      var value;\n\n      switch (type) {\n        case \"int16\":\n        case \"uint8c\":\n          value = 1;\n          break;\n\n        default:\n          value = 1.1;\n          break;\n      }\n\n      for (i = 0; i < len; i += 1) {\n        arr.push(value);\n      }\n\n      return arr;\n    }\n\n    function createTypedArrayFactory(type, len) {\n      if (type === \"float32\") {\n        return new Float32Array(len);\n      }\n\n      if (type === \"int16\") {\n        return new Int16Array(len);\n      }\n\n      if (type === \"uint8c\") {\n        return new Uint8ClampedArray(len);\n      }\n\n      return createRegularArray(type, len);\n    }\n\n    if (typeof Uint8ClampedArray === \"function\" && typeof Float32Array === \"function\") {\n      return createTypedArrayFactory;\n    }\n\n    return createRegularArray;\n  }();\n\n  function createSizedArray(len) {\n    return Array.apply(null, {\n      length: len\n    });\n  }\n  /* global svgNS */\n\n  /* exported createNS */\n\n\n  function createNS(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElementNS(svgNS, type);\n  }\n  /* exported createTag */\n\n\n  function createTag(type) {\n    // return {appendChild:function(){},setAttribute:function(){},style:{}}\n    return document.createElement(type);\n  }\n\n  function DynamicPropertyContainer() {}\n\n  DynamicPropertyContainer.prototype = {\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n\n        (this || _global).container.addDynamicProperty(this || _global);\n\n        (this || _global)._isAnimated = true;\n      }\n    },\n    iterateDynamicProperties: function () {\n      (this || _global)._mdf = false;\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).dynamicProperties[i].getValue();\n\n        if ((this || _global).dynamicProperties[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    },\n    initDynamicPropertyContainer: function (container) {\n      (this || _global).container = container;\n      (this || _global).dynamicProperties = [];\n      (this || _global)._mdf = false;\n      (this || _global)._isAnimated = false;\n    }\n  };\n  /* exported getBlendMode */\n\n  var getBlendMode = function () {\n    var blendModeEnums = {\n      0: \"source-over\",\n      1: \"multiply\",\n      2: \"screen\",\n      3: \"overlay\",\n      4: \"darken\",\n      5: \"lighten\",\n      6: \"color-dodge\",\n      7: \"color-burn\",\n      8: \"hard-light\",\n      9: \"soft-light\",\n      10: \"difference\",\n      11: \"exclusion\",\n      12: \"hue\",\n      13: \"saturation\",\n      14: \"color\",\n      15: \"luminosity\"\n    };\n    return function (mode) {\n      return blendModeEnums[mode] || \"\";\n    };\n  }();\n  /* global createTypedArray */\n\n  /*!\r\n   Transformation Matrix v2.0\r\n   (c) Epistemex 2014-2015\r\n   www.epistemex.com\r\n   By Ken Fyrstenberg\r\n   Contributions by leeoniya.\r\n   License: MIT, header required.\r\n   */\n\n  /**\r\n   * 2D transformation matrix object initialized with identity matrix.\r\n   *\r\n   * The matrix can synchronize a canvas context by supplying the context\r\n   * as an argument, or later apply current absolute transform to an\r\n   * existing context.\r\n   *\r\n   * All values are handled as floating point values.\r\n   *\r\n   * @param {CanvasRenderingContext2D} [context] - Optional context to sync with Matrix\r\n   * @prop {number} a - scale x\r\n   * @prop {number} b - shear y\r\n   * @prop {number} c - shear x\r\n   * @prop {number} d - scale y\r\n   * @prop {number} e - translate x\r\n   * @prop {number} f - translate y\r\n   * @prop {CanvasRenderingContext2D|null} [context=null] - set or get current canvas context\r\n   * @constructor\r\n   */\n\n\n  var Matrix = function () {\n    var _cos = Math.cos;\n    var _sin = Math.sin;\n    var _tan = Math.tan;\n    var _rnd = Math.round;\n\n    function reset() {\n      (this || _global).props[0] = 1;\n      (this || _global).props[1] = 0;\n      (this || _global).props[2] = 0;\n      (this || _global).props[3] = 0;\n      (this || _global).props[4] = 0;\n      (this || _global).props[5] = 1;\n      (this || _global).props[6] = 0;\n      (this || _global).props[7] = 0;\n      (this || _global).props[8] = 0;\n      (this || _global).props[9] = 0;\n      (this || _global).props[10] = 1;\n      (this || _global).props[11] = 0;\n      (this || _global).props[12] = 0;\n      (this || _global).props[13] = 0;\n      (this || _global).props[14] = 0;\n      (this || _global).props[15] = 1;\n      return this || _global;\n    }\n\n    function rotate(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function rotateX(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(1, 0, 0, 0, 0, mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateY(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, 0, mSin, 0, 0, 1, 0, 0, -mSin, 0, mCos, 0, 0, 0, 0, 1);\n    }\n\n    function rotateZ(angle) {\n      if (angle === 0) {\n        return this || _global;\n      }\n\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);\n    }\n\n    function shear(sx, sy) {\n      return this._t(1, sy, sx, 1, 0, 0);\n    }\n\n    function skew(ax, ay) {\n      return this.shear(_tan(ax), _tan(ay));\n    }\n\n    function skewFromAxis(ax, angle) {\n      var mCos = _cos(angle);\n\n      var mSin = _sin(angle);\n\n      return this._t(mCos, mSin, 0, 0, -mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(1, 0, 0, 0, _tan(ax), 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)._t(mCos, -mSin, 0, 0, mSin, mCos, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); // return this._t(mCos, mSin, -mSin, mCos, 0, 0)._t(1, 0, _tan(ax), 1, 0, 0)._t(mCos, -mSin, mSin, mCos, 0, 0);\n    }\n\n    function scale(sx, sy, sz) {\n      if (!sz && sz !== 0) {\n        sz = 1;\n      }\n\n      if (sx === 1 && sy === 1 && sz === 1) {\n        return this || _global;\n      }\n\n      return this._t(sx, 0, 0, 0, 0, sy, 0, 0, 0, 0, sz, 0, 0, 0, 0, 1);\n    }\n\n    function setTransform(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p) {\n      (this || _global).props[0] = a;\n      (this || _global).props[1] = b;\n      (this || _global).props[2] = c;\n      (this || _global).props[3] = d;\n      (this || _global).props[4] = e;\n      (this || _global).props[5] = f;\n      (this || _global).props[6] = g;\n      (this || _global).props[7] = h;\n      (this || _global).props[8] = i;\n      (this || _global).props[9] = j;\n      (this || _global).props[10] = k;\n      (this || _global).props[11] = l;\n      (this || _global).props[12] = m;\n      (this || _global).props[13] = n;\n      (this || _global).props[14] = o;\n      (this || _global).props[15] = p;\n      return this || _global;\n    }\n\n    function translate(tx, ty, tz) {\n      tz = tz || 0;\n\n      if (tx !== 0 || ty !== 0 || tz !== 0) {\n        return this._t(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, tx, ty, tz, 1);\n      }\n\n      return this || _global;\n    }\n\n    function transform(a2, b2, c2, d2, e2, f2, g2, h2, i2, j2, k2, l2, m2, n2, o2, p2) {\n      var _p = (this || _global).props;\n\n      if (a2 === 1 && b2 === 0 && c2 === 0 && d2 === 0 && e2 === 0 && f2 === 1 && g2 === 0 && h2 === 0 && i2 === 0 && j2 === 0 && k2 === 1 && l2 === 0) {\n        // NOTE: commenting this condition because TurboFan deoptimizes code when present\n        // if(m2 !== 0 || n2 !== 0 || o2 !== 0){\n        _p[12] = _p[12] * a2 + _p[15] * m2;\n        _p[13] = _p[13] * f2 + _p[15] * n2;\n        _p[14] = _p[14] * k2 + _p[15] * o2;\n        _p[15] *= p2; // }\n\n        (this || _global)._identityCalculated = false;\n        return this || _global;\n      }\n\n      var a1 = _p[0];\n      var b1 = _p[1];\n      var c1 = _p[2];\n      var d1 = _p[3];\n      var e1 = _p[4];\n      var f1 = _p[5];\n      var g1 = _p[6];\n      var h1 = _p[7];\n      var i1 = _p[8];\n      var j1 = _p[9];\n      var k1 = _p[10];\n      var l1 = _p[11];\n      var m1 = _p[12];\n      var n1 = _p[13];\n      var o1 = _p[14];\n      var p1 = _p[15];\n      /* matrix order (canvas compatible):\r\n           * ace\r\n           * bdf\r\n           * 001\r\n           */\n\n      _p[0] = a1 * a2 + b1 * e2 + c1 * i2 + d1 * m2;\n      _p[1] = a1 * b2 + b1 * f2 + c1 * j2 + d1 * n2;\n      _p[2] = a1 * c2 + b1 * g2 + c1 * k2 + d1 * o2;\n      _p[3] = a1 * d2 + b1 * h2 + c1 * l2 + d1 * p2;\n      _p[4] = e1 * a2 + f1 * e2 + g1 * i2 + h1 * m2;\n      _p[5] = e1 * b2 + f1 * f2 + g1 * j2 + h1 * n2;\n      _p[6] = e1 * c2 + f1 * g2 + g1 * k2 + h1 * o2;\n      _p[7] = e1 * d2 + f1 * h2 + g1 * l2 + h1 * p2;\n      _p[8] = i1 * a2 + j1 * e2 + k1 * i2 + l1 * m2;\n      _p[9] = i1 * b2 + j1 * f2 + k1 * j2 + l1 * n2;\n      _p[10] = i1 * c2 + j1 * g2 + k1 * k2 + l1 * o2;\n      _p[11] = i1 * d2 + j1 * h2 + k1 * l2 + l1 * p2;\n      _p[12] = m1 * a2 + n1 * e2 + o1 * i2 + p1 * m2;\n      _p[13] = m1 * b2 + n1 * f2 + o1 * j2 + p1 * n2;\n      _p[14] = m1 * c2 + n1 * g2 + o1 * k2 + p1 * o2;\n      _p[15] = m1 * d2 + n1 * h2 + o1 * l2 + p1 * p2;\n      (this || _global)._identityCalculated = false;\n      return this || _global;\n    }\n\n    function isIdentity() {\n      if (!(this || _global)._identityCalculated) {\n        (this || _global)._identity = !((this || _global).props[0] !== 1 || (this || _global).props[1] !== 0 || (this || _global).props[2] !== 0 || (this || _global).props[3] !== 0 || (this || _global).props[4] !== 0 || (this || _global).props[5] !== 1 || (this || _global).props[6] !== 0 || (this || _global).props[7] !== 0 || (this || _global).props[8] !== 0 || (this || _global).props[9] !== 0 || (this || _global).props[10] !== 1 || (this || _global).props[11] !== 0 || (this || _global).props[12] !== 0 || (this || _global).props[13] !== 0 || (this || _global).props[14] !== 0 || (this || _global).props[15] !== 1);\n        (this || _global)._identityCalculated = true;\n      }\n\n      return (this || _global)._identity;\n    }\n\n    function equals(matr) {\n      var i = 0;\n\n      while (i < 16) {\n        if (matr.props[i] !== (this || _global).props[i]) {\n          return false;\n        }\n\n        i += 1;\n      }\n\n      return true;\n    }\n\n    function clone(matr) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        matr.props[i] = (this || _global).props[i];\n      }\n\n      return matr;\n    }\n\n    function cloneFromProps(props) {\n      var i;\n\n      for (i = 0; i < 16; i += 1) {\n        (this || _global).props[i] = props[i];\n      }\n    }\n\n    function applyToPoint(x, y, z) {\n      return {\n        x: x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12],\n        y: x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13],\n        z: x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]\n      };\n      /* return {\r\n           x: x * me.a + y * me.c + me.e,\r\n           y: x * me.b + y * me.d + me.f\r\n           }; */\n    }\n\n    function applyToX(x, y, z) {\n      return x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12];\n    }\n\n    function applyToY(x, y, z) {\n      return x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13];\n    }\n\n    function applyToZ(x, y, z) {\n      return x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14];\n    }\n\n    function getInverseMatrix() {\n      var determinant = (this || _global).props[0] * (this || _global).props[5] - (this || _global).props[1] * (this || _global).props[4];\n      var a = (this || _global).props[5] / determinant;\n      var b = -(this || _global).props[1] / determinant;\n      var c = -(this || _global).props[4] / determinant;\n      var d = (this || _global).props[0] / determinant;\n      var e = ((this || _global).props[4] * (this || _global).props[13] - (this || _global).props[5] * (this || _global).props[12]) / determinant;\n      var f = -((this || _global).props[0] * (this || _global).props[13] - (this || _global).props[1] * (this || _global).props[12]) / determinant;\n      var inverseMatrix = new Matrix();\n      inverseMatrix.props[0] = a;\n      inverseMatrix.props[1] = b;\n      inverseMatrix.props[4] = c;\n      inverseMatrix.props[5] = d;\n      inverseMatrix.props[12] = e;\n      inverseMatrix.props[13] = f;\n      return inverseMatrix;\n    }\n\n    function inversePoint(pt) {\n      var inverseMatrix = this.getInverseMatrix();\n      return inverseMatrix.applyToPointArray(pt[0], pt[1], pt[2] || 0);\n    }\n\n    function inversePoints(pts) {\n      var i;\n      var len = pts.length;\n      var retPts = [];\n\n      for (i = 0; i < len; i += 1) {\n        retPts[i] = inversePoint(pts[i]);\n      }\n\n      return retPts;\n    }\n\n    function applyToTriplePoints(pt1, pt2, pt3) {\n      var arr = createTypedArray(\"float32\", 6);\n\n      if (this.isIdentity()) {\n        arr[0] = pt1[0];\n        arr[1] = pt1[1];\n        arr[2] = pt2[0];\n        arr[3] = pt2[1];\n        arr[4] = pt3[0];\n        arr[5] = pt3[1];\n      } else {\n        var p0 = (this || _global).props[0];\n        var p1 = (this || _global).props[1];\n        var p4 = (this || _global).props[4];\n        var p5 = (this || _global).props[5];\n        var p12 = (this || _global).props[12];\n        var p13 = (this || _global).props[13];\n        arr[0] = pt1[0] * p0 + pt1[1] * p4 + p12;\n        arr[1] = pt1[0] * p1 + pt1[1] * p5 + p13;\n        arr[2] = pt2[0] * p0 + pt2[1] * p4 + p12;\n        arr[3] = pt2[0] * p1 + pt2[1] * p5 + p13;\n        arr[4] = pt3[0] * p0 + pt3[1] * p4 + p12;\n        arr[5] = pt3[0] * p1 + pt3[1] * p5 + p13;\n      }\n\n      return arr;\n    }\n\n    function applyToPointArray(x, y, z) {\n      var arr;\n\n      if (this.isIdentity()) {\n        arr = [x, y, z];\n      } else {\n        arr = [x * (this || _global).props[0] + y * (this || _global).props[4] + z * (this || _global).props[8] + (this || _global).props[12], x * (this || _global).props[1] + y * (this || _global).props[5] + z * (this || _global).props[9] + (this || _global).props[13], x * (this || _global).props[2] + y * (this || _global).props[6] + z * (this || _global).props[10] + (this || _global).props[14]];\n      }\n\n      return arr;\n    }\n\n    function applyToPointStringified(x, y) {\n      if (this.isIdentity()) {\n        return x + \",\" + y;\n      }\n\n      var _p = (this || _global).props;\n      return Math.round((x * _p[0] + y * _p[4] + _p[12]) * 100) / 100 + \",\" + Math.round((x * _p[1] + y * _p[5] + _p[13]) * 100) / 100;\n    }\n\n    function toCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var i = 0;\n      var props = (this || _global).props;\n      var cssValue = \"matrix3d(\";\n      var v = 10000;\n\n      while (i < 16) {\n        cssValue += _rnd(props[i] * v) / v;\n        cssValue += i === 15 ? \")\" : \",\";\n        i += 1;\n      }\n\n      return cssValue;\n    }\n\n    function roundMatrixProperty(val) {\n      var v = 10000;\n\n      if (val < 0.000001 && val > 0 || val > -0.000001 && val < 0) {\n        return _rnd(val * v) / v;\n      }\n\n      return val;\n    }\n\n    function to2dCSS() {\n      // Doesn't make much sense to add this optimization. If it is an identity matrix, it's very likely this will get called only once since it won't be keyframed.\n\n      /* if(this.isIdentity()) {\r\n              return '';\r\n          } */\n      var props = (this || _global).props;\n\n      var _a = roundMatrixProperty(props[0]);\n\n      var _b = roundMatrixProperty(props[1]);\n\n      var _c = roundMatrixProperty(props[4]);\n\n      var _d = roundMatrixProperty(props[5]);\n\n      var _e = roundMatrixProperty(props[12]);\n\n      var _f = roundMatrixProperty(props[13]);\n\n      return \"matrix(\" + _a + \",\" + _b + \",\" + _c + \",\" + _d + \",\" + _e + \",\" + _f + \")\";\n    }\n\n    return function () {\n      (this || _global).reset = reset;\n      (this || _global).rotate = rotate;\n      (this || _global).rotateX = rotateX;\n      (this || _global).rotateY = rotateY;\n      (this || _global).rotateZ = rotateZ;\n      (this || _global).skew = skew;\n      (this || _global).skewFromAxis = skewFromAxis;\n      (this || _global).shear = shear;\n      (this || _global).scale = scale;\n      (this || _global).setTransform = setTransform;\n      (this || _global).translate = translate;\n      (this || _global).transform = transform;\n      (this || _global).applyToPoint = applyToPoint;\n      (this || _global).applyToX = applyToX;\n      (this || _global).applyToY = applyToY;\n      (this || _global).applyToZ = applyToZ;\n      (this || _global).applyToPointArray = applyToPointArray;\n      (this || _global).applyToTriplePoints = applyToTriplePoints;\n      (this || _global).applyToPointStringified = applyToPointStringified;\n      (this || _global).toCSS = toCSS;\n      (this || _global).to2dCSS = to2dCSS;\n      (this || _global).clone = clone;\n      (this || _global).cloneFromProps = cloneFromProps;\n      (this || _global).equals = equals;\n      (this || _global).inversePoints = inversePoints;\n      (this || _global).inversePoint = inversePoint;\n      (this || _global).getInverseMatrix = getInverseMatrix;\n      (this || _global)._t = (this || _global).transform;\n      (this || _global).isIdentity = isIdentity;\n      (this || _global)._identity = true;\n      (this || _global)._identityCalculated = false;\n      (this || _global).props = createTypedArray(\"float32\", 16);\n      this.reset();\n    };\n  }();\n  /* eslint-disable */\n\n  /*\r\n   Copyright 2014 David Bau.\r\n  \r\n   Permission is hereby granted, free of charge, to any person obtaining\r\n   a copy of this software and associated documentation files (the\r\n   \"Software\"), to deal in the Software without restriction, including\r\n   without limitation the rights to use, copy, modify, merge, publish,\r\n   distribute, sublicense, and/or sell copies of the Software, and to\r\n   permit persons to whom the Software is furnished to do so, subject to\r\n   the following conditions:\r\n  \r\n   The above copyright notice and this permission notice shall be\r\n   included in all copies or substantial portions of the Software.\r\n  \r\n   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\r\n   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\r\n   IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\r\n   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\r\n   TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\r\n   SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n  \r\n   */\n\n\n  (function (pool, math) {\n    //\n    // The following constants are related to IEEE 754 limits.\n    //\n    var global = this || _global,\n        width = 256,\n        // each RC4 output is 0 <= x < 256\n    chunks = 6,\n        // at least six RC4 outputs for each double\n    digits = 52,\n        // there are 52 significant digits in a double\n    rngname = \"random\",\n        // rngname: name for Math.random and Math.seedrandom\n    startdenom = math.pow(width, chunks),\n        significance = math.pow(2, digits),\n        overflow = significance * 2,\n        mask = width - 1,\n        nodecrypto; // node.js crypto module, initialized at the bottom.\n    //\n    // seedrandom()\n    // This is the seedrandom function described above.\n    //\n\n    function seedrandom(seed, options, callback) {\n      var key = [];\n      options = options === true ? {\n        entropy: true\n      } : options || {}; // Flatten the seed string or build one from local entropy if needed.\n\n      var shortseed = mixkey(flatten(options.entropy ? [seed, tostring(pool)] : seed === null ? autoseed() : seed, 3), key); // Use the seed to initialize an ARC4 generator.\n\n      var arc4 = new ARC4(key); // This function returns a random double in [0, 1) that contains\n      // randomness in every bit of the mantissa of the IEEE 754 value.\n\n      var prng = function () {\n        var n = arc4.g(chunks),\n            // Start with a numerator n < 2 ^ 48\n        d = startdenom,\n            //   and denominator d = 2 ^ 48.\n        x = 0; //   and no 'extra last byte'.\n\n        while (n < significance) {\n          // Fill up all significant digits by\n          n = (n + x) * width; //   shifting numerator and\n\n          d *= width; //   denominator and generating a\n\n          x = arc4.g(1); //   new least-significant-byte.\n        }\n\n        while (n >= overflow) {\n          // To avoid rounding up, before adding\n          n /= 2; //   last byte, shift everything\n\n          d /= 2; //   right using integer math until\n\n          x >>>= 1; //   we have exactly the desired bits.\n        }\n\n        return (n + x) / d; // Form the number within [0, 1).\n      };\n\n      prng.int32 = function () {\n        return arc4.g(4) | 0;\n      };\n\n      prng.quick = function () {\n        return arc4.g(4) / 4294967296;\n      };\n\n      prng.double = prng; // Mix the randomness into accumulated entropy.\n\n      mixkey(tostring(arc4.S), pool); // Calling convention: what to return as a function of prng, seed, is_math.\n\n      return (options.pass || callback || function (prng, seed, is_math_call, state) {\n        if (state) {\n          // Load the arc4 state from the given state if it has an S array.\n          if (state.S) {\n            copy(state, arc4);\n          } // Only provide the .state method if requested via options.state.\n\n\n          prng.state = function () {\n            return copy(arc4, {});\n          };\n        } // If called as a method of Math (Math.seedrandom()), mutate\n        // Math.random because that is how seedrandom.js has worked since v1.0.\n\n\n        if (is_math_call) {\n          math[rngname] = prng;\n          return seed;\n        } // Otherwise, it is a newer calling convention, so return the\n        // prng directly.\n        else return prng;\n      })(prng, shortseed, \"global\" in options ? options.global : (this || _global) == math, options.state);\n    }\n\n    math[\"seed\" + rngname] = seedrandom; //\n    // ARC4\n    //\n    // An ARC4 implementation.  The constructor takes a key in the form of\n    // an array of at most (width) integers that should be 0 <= x < (width).\n    //\n    // The g(count) method returns a pseudorandom integer that concatenates\n    // the next (count) outputs from ARC4.  Its return value is a number x\n    // that is in the range 0 <= x < (width ^ count).\n    //\n\n    function ARC4(key) {\n      var t,\n          keylen = key.length,\n          me = this || _global,\n          i = 0,\n          j = me.i = me.j = 0,\n          s = me.S = []; // The empty key [] is treated as [0].\n\n      if (!keylen) {\n        key = [keylen++];\n      } // Set up S using the standard key scheduling algorithm.\n\n\n      while (i < width) {\n        s[i] = i++;\n      }\n\n      for (i = 0; i < width; i++) {\n        s[i] = s[j = mask & j + key[i % keylen] + (t = s[i])];\n        s[j] = t;\n      } // The \"g\" method returns the next (count) outputs as one number.\n\n\n      me.g = function (count) {\n        // Using instance members instead of closure state nearly doubles speed.\n        var t,\n            r = 0,\n            i = me.i,\n            j = me.j,\n            s = me.S;\n\n        while (count--) {\n          t = s[i = mask & i + 1];\n          r = r * width + s[mask & (s[i] = s[j = mask & j + t]) + (s[j] = t)];\n        }\n\n        me.i = i;\n        me.j = j;\n        return r; // For robust unpredictability, the function call below automatically\n        // discards an initial batch of values.  This is called RC4-drop[256].\n        // See http://google.com/search?q=rsa+fluhrer+response&btnI\n      };\n    } //\n    // copy()\n    // Copies internal state of ARC4 to or from a plain object.\n    //\n\n\n    function copy(f, t) {\n      t.i = f.i;\n      t.j = f.j;\n      t.S = f.S.slice();\n      return t;\n    } //\n    // flatten()\n    // Converts an object tree to nested arrays of strings.\n    //\n\n\n    function flatten(obj, depth) {\n      var result = [],\n          typ = typeof obj,\n          prop;\n\n      if (depth && typ == \"object\") {\n        for (prop in obj) {\n          try {\n            result.push(flatten(obj[prop], depth - 1));\n          } catch (e) {}\n        }\n      }\n\n      return result.length ? result : typ == \"string\" ? obj : obj + \"\\0\";\n    } //\n    // mixkey()\n    // Mixes a string seed into a key that is an array of integers, and\n    // returns a shortened string seed that is equivalent to the result key.\n    //\n\n\n    function mixkey(seed, key) {\n      var stringseed = seed + \"\",\n          smear,\n          j = 0;\n\n      while (j < stringseed.length) {\n        key[mask & j] = mask & (smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++);\n      }\n\n      return tostring(key);\n    } //\n    // autoseed()\n    // Returns an object for autoseeding, using window.crypto and Node crypto\n    // module if available.\n    //\n\n\n    function autoseed() {\n      try {\n        if (nodecrypto) {\n          return tostring(nodecrypto.randomBytes(width));\n        }\n\n        var out = new Uint8Array(width);\n        (global.crypto || global.msCrypto).getRandomValues(out);\n        return tostring(out);\n      } catch (e) {\n        var browser = global.navigator,\n            plugins = browser && browser.plugins;\n        return [+new Date(), global, plugins, global.screen, tostring(pool)];\n      }\n    } //\n    // tostring()\n    // Converts an array of charcodes to a string\n    //\n\n\n    function tostring(a) {\n      return String.fromCharCode.apply(0, a);\n    } //\n    // When seedrandom.js is loaded, we immediately mix a few bits\n    // from the built-in RNG into the entropy pool.  Because we do\n    // not want to interfere with deterministic PRNG state later,\n    // seedrandom will not call math.random on its own again after\n    // initialization.\n    //\n\n\n    mixkey(math.random(), pool); //\n    // Nodejs and AMD support: export the implementation as a module using\n    // either convention.\n    //\n    // End anonymous scope, and pass initial values.\n  })([], // pool: entropy pool starts empty\n  BMMath // math: package containing random, pow, and seedrandom\n  );\n  /* eslint-disable */\n\n\n  var BezierFactory = function () {\n    /**\r\n       * BezierEasing - use bezier curve for transition easing function\r\n       * by Ga\u00EBtan Renaudeau 2014 - 2015 \u2013 MIT License\r\n       *\r\n       * Credits: is based on Firefox's nsSMILKeySpline.cpp\r\n       * Usage:\r\n       * var spline = BezierEasing([ 0.25, 0.1, 0.25, 1.0 ])\r\n       * spline.get(x) => returns the easing value | x must be in [0, 1] range\r\n       *\r\n       */\n    var ob = {};\n    ob.getBezierEasing = getBezierEasing;\n    var beziers = {};\n\n    function getBezierEasing(a, b, c, d, nm) {\n      var str = nm || (\"bez_\" + a + \"_\" + b + \"_\" + c + \"_\" + d).replace(/\\./g, \"p\");\n\n      if (beziers[str]) {\n        return beziers[str];\n      }\n\n      var bezEasing = new BezierEasing([a, b, c, d]);\n      beziers[str] = bezEasing;\n      return bezEasing;\n    } // These values are established by empiricism with tests (tradeoff: performance VS precision)\n\n\n    var NEWTON_ITERATIONS = 4;\n    var NEWTON_MIN_SLOPE = 0.001;\n    var SUBDIVISION_PRECISION = 1e-7;\n    var SUBDIVISION_MAX_ITERATIONS = 10;\n    var kSplineTableSize = 11;\n    var kSampleStepSize = 1 / (kSplineTableSize - 1);\n    var float32ArraySupported = typeof Float32Array === \"function\";\n\n    function A(aA1, aA2) {\n      return 1 - 3 * aA2 + 3 * aA1;\n    }\n\n    function B(aA1, aA2) {\n      return 3 * aA2 - 6 * aA1;\n    }\n\n    function C(aA1) {\n      return 3 * aA1;\n    } // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\n\n\n    function calcBezier(aT, aA1, aA2) {\n      return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n    } // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\n\n\n    function getSlope(aT, aA1, aA2) {\n      return 3 * A(aA1, aA2) * aT * aT + 2 * B(aA1, aA2) * aT + C(aA1);\n    }\n\n    function binarySubdivide(aX, aA, aB, mX1, mX2) {\n      var currentX,\n          currentT,\n          i = 0;\n\n      do {\n        currentT = aA + (aB - aA) / 2;\n        currentX = calcBezier(currentT, mX1, mX2) - aX;\n\n        if (currentX > 0) {\n          aB = currentT;\n        } else {\n          aA = currentT;\n        }\n      } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n\n      return currentT;\n    }\n\n    function newtonRaphsonIterate(aX, aGuessT, mX1, mX2) {\n      for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n        var currentSlope = getSlope(aGuessT, mX1, mX2);\n        if (currentSlope === 0) return aGuessT;\n        var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n        aGuessT -= currentX / currentSlope;\n      }\n\n      return aGuessT;\n    }\n    /**\r\n       * points is an array of [ mX1, mY1, mX2, mY2 ]\r\n       */\n\n\n    function BezierEasing(points) {\n      (this || _global)._p = points;\n      (this || _global)._mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n      (this || _global)._precomputed = false;\n      (this || _global).get = (this || _global).get.bind(this || _global);\n    }\n\n    BezierEasing.prototype = {\n      get: function (x) {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        if (!(this || _global)._precomputed) this._precompute();\n        if (mX1 === mY1 && mX2 === mY2) return x; // linear\n        // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n\n        if (x === 0) return 0;\n        if (x === 1) return 1;\n        return calcBezier(this._getTForX(x), mY1, mY2);\n      },\n      // Private part\n      _precompute: function () {\n        var mX1 = (this || _global)._p[0],\n            mY1 = (this || _global)._p[1],\n            mX2 = (this || _global)._p[2],\n            mY2 = (this || _global)._p[3];\n        (this || _global)._precomputed = true;\n\n        if (mX1 !== mY1 || mX2 !== mY2) {\n          this._calcSampleValues();\n        }\n      },\n      _calcSampleValues: function () {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2];\n\n        for (var i = 0; i < kSplineTableSize; ++i) {\n          (this || _global)._mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n        }\n      },\n\n      /**\r\n           * getTForX chose the fastest heuristic to determine the percentage value precisely from a given X projection.\r\n           */\n      _getTForX: function (aX) {\n        var mX1 = (this || _global)._p[0],\n            mX2 = (this || _global)._p[2],\n            mSampleValues = (this || _global)._mSampleValues;\n        var intervalStart = 0;\n        var currentSample = 1;\n        var lastSample = kSplineTableSize - 1;\n\n        for (; currentSample !== lastSample && mSampleValues[currentSample] <= aX; ++currentSample) {\n          intervalStart += kSampleStepSize;\n        }\n\n        --currentSample; // Interpolate to provide an initial guess for t\n\n        var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample + 1] - mSampleValues[currentSample]);\n        var guessForT = intervalStart + dist * kSampleStepSize;\n        var initialSlope = getSlope(guessForT, mX1, mX2);\n\n        if (initialSlope >= NEWTON_MIN_SLOPE) {\n          return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n        }\n\n        if (initialSlope === 0) {\n          return guessForT;\n        }\n\n        return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n      }\n    };\n    return ob;\n  }();\n\n  (function () {\n    var lastTime = 0;\n    var vendors = [\"ms\", \"moz\", \"webkit\", \"o\"];\n\n    for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) {\n      // eslint-disable-line no-plusplus\n      window.requestAnimationFrame = window[vendors[x] + \"RequestAnimationFrame\"];\n      window.cancelAnimationFrame = window[vendors[x] + \"CancelAnimationFrame\"] || window[vendors[x] + \"CancelRequestAnimationFrame\"];\n    }\n\n    if (!window.requestAnimationFrame) {\n      window.requestAnimationFrame = function (callback) {\n        var currTime = new Date().getTime();\n        var timeToCall = Math.max(0, 16 - (currTime - lastTime));\n        var id = setTimeout(function () {\n          callback(currTime + timeToCall);\n        }, timeToCall);\n        lastTime = currTime + timeToCall;\n        return id;\n      };\n    }\n\n    if (!window.cancelAnimationFrame) {\n      window.cancelAnimationFrame = function (id) {\n        clearTimeout(id);\n      };\n    }\n  })();\n  /* exported extendPrototype, getDescriptor, createProxyFunction */\n\n\n  function extendPrototype(sources, destination) {\n    var i;\n    var len = sources.length;\n    var sourcePrototype;\n\n    for (i = 0; i < len; i += 1) {\n      sourcePrototype = sources[i].prototype;\n\n      for (var attr in sourcePrototype) {\n        if (Object.prototype.hasOwnProperty.call(sourcePrototype, attr)) destination.prototype[attr] = sourcePrototype[attr];\n      }\n    }\n  }\n\n  function getDescriptor(object, prop) {\n    return Object.getOwnPropertyDescriptor(object, prop);\n  }\n\n  function createProxyFunction(prototype) {\n    function ProxyFunction() {}\n\n    ProxyFunction.prototype = prototype;\n    return ProxyFunction;\n  }\n  /* global segmentsLengthPool, defaultCurveSegments, createSizedArray, bmPow, bmSqrt, bmFloor, createTypedArray, bezierLengthPool */\n\n  /* exported bez */\n\n\n  function bezFunction() {\n    var math = Math;\n\n    function pointOnLine2D(x1, y1, x2, y2, x3, y3) {\n      var det1 = x1 * y2 + y1 * x3 + x2 * y3 - x3 * y2 - y3 * x1 - x2 * y1;\n      return det1 > -0.001 && det1 < 0.001;\n    }\n\n    function pointOnLine3D(x1, y1, z1, x2, y2, z2, x3, y3, z3) {\n      if (z1 === 0 && z2 === 0 && z3 === 0) {\n        return pointOnLine2D(x1, y1, x2, y2, x3, y3);\n      }\n\n      var dist1 = math.sqrt(math.pow(x2 - x1, 2) + math.pow(y2 - y1, 2) + math.pow(z2 - z1, 2));\n      var dist2 = math.sqrt(math.pow(x3 - x1, 2) + math.pow(y3 - y1, 2) + math.pow(z3 - z1, 2));\n      var dist3 = math.sqrt(math.pow(x3 - x2, 2) + math.pow(y3 - y2, 2) + math.pow(z3 - z2, 2));\n      var diffDist;\n\n      if (dist1 > dist2) {\n        if (dist1 > dist3) {\n          diffDist = dist1 - dist2 - dist3;\n        } else {\n          diffDist = dist3 - dist2 - dist1;\n        }\n      } else if (dist3 > dist2) {\n        diffDist = dist3 - dist2 - dist1;\n      } else {\n        diffDist = dist2 - dist1 - dist3;\n      }\n\n      return diffDist > -0.0001 && diffDist < 0.0001;\n    }\n\n    var getBezierLength = function () {\n      return function (pt1, pt2, pt3, pt4) {\n        var curveSegments = defaultCurveSegments;\n        var k;\n        var i;\n        var len;\n        var ptCoord;\n        var perc;\n        var addedLength = 0;\n        var ptDistance;\n        var point = [];\n        var lastPoint = [];\n        var lengthData = bezierLengthPool.newElement();\n        len = pt3.length;\n\n        for (k = 0; k < curveSegments; k += 1) {\n          perc = k / (curveSegments - 1);\n          ptDistance = 0;\n\n          for (i = 0; i < len; i += 1) {\n            ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * pt3[i] + 3 * (1 - perc) * bmPow(perc, 2) * pt4[i] + bmPow(perc, 3) * pt2[i];\n            point[i] = ptCoord;\n\n            if (lastPoint[i] !== null) {\n              ptDistance += bmPow(point[i] - lastPoint[i], 2);\n            }\n\n            lastPoint[i] = point[i];\n          }\n\n          if (ptDistance) {\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n          }\n\n          lengthData.percents[k] = perc;\n          lengthData.lengths[k] = addedLength;\n        }\n\n        lengthData.addedLength = addedLength;\n        return lengthData;\n      };\n    }();\n\n    function getSegmentsLength(shapeData) {\n      var segmentsLength = segmentsLengthPool.newElement();\n      var closed = shapeData.c;\n      var pathV = shapeData.v;\n      var pathO = shapeData.o;\n      var pathI = shapeData.i;\n      var i;\n      var len = shapeData._length;\n      var lengths = segmentsLength.lengths;\n      var totalLength = 0;\n\n      for (i = 0; i < len - 1; i += 1) {\n        lengths[i] = getBezierLength(pathV[i], pathV[i + 1], pathO[i], pathI[i + 1]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      if (closed && len) {\n        lengths[i] = getBezierLength(pathV[i], pathV[0], pathO[i], pathI[0]);\n        totalLength += lengths[i].addedLength;\n      }\n\n      segmentsLength.totalLength = totalLength;\n      return segmentsLength;\n    }\n\n    function BezierData(length) {\n      (this || _global).segmentLength = 0;\n      (this || _global).points = new Array(length);\n    }\n\n    function PointData(partial, point) {\n      (this || _global).partialLength = partial;\n      (this || _global).point = point;\n    }\n\n    var buildBezierData = function () {\n      var storedData = {};\n      return function (pt1, pt2, pt3, pt4) {\n        var bezierName = (pt1[0] + \"_\" + pt1[1] + \"_\" + pt2[0] + \"_\" + pt2[1] + \"_\" + pt3[0] + \"_\" + pt3[1] + \"_\" + pt4[0] + \"_\" + pt4[1]).replace(/\\./g, \"p\");\n\n        if (!storedData[bezierName]) {\n          var curveSegments = defaultCurveSegments;\n          var k;\n          var i;\n          var len;\n          var ptCoord;\n          var perc;\n          var addedLength = 0;\n          var ptDistance;\n          var point;\n          var lastPoint = null;\n\n          if (pt1.length === 2 && (pt1[0] !== pt2[0] || pt1[1] !== pt2[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt1[0] + pt3[0], pt1[1] + pt3[1]) && pointOnLine2D(pt1[0], pt1[1], pt2[0], pt2[1], pt2[0] + pt4[0], pt2[1] + pt4[1])) {\n            curveSegments = 2;\n          }\n\n          var bezierData = new BezierData(curveSegments);\n          len = pt3.length;\n\n          for (k = 0; k < curveSegments; k += 1) {\n            point = createSizedArray(len);\n            perc = k / (curveSegments - 1);\n            ptDistance = 0;\n\n            for (i = 0; i < len; i += 1) {\n              ptCoord = bmPow(1 - perc, 3) * pt1[i] + 3 * bmPow(1 - perc, 2) * perc * (pt1[i] + pt3[i]) + 3 * (1 - perc) * bmPow(perc, 2) * (pt2[i] + pt4[i]) + bmPow(perc, 3) * pt2[i];\n              point[i] = ptCoord;\n\n              if (lastPoint !== null) {\n                ptDistance += bmPow(point[i] - lastPoint[i], 2);\n              }\n            }\n\n            ptDistance = bmSqrt(ptDistance);\n            addedLength += ptDistance;\n            bezierData.points[k] = new PointData(ptDistance, point);\n            lastPoint = point;\n          }\n\n          bezierData.segmentLength = addedLength;\n          storedData[bezierName] = bezierData;\n        }\n\n        return storedData[bezierName];\n      };\n    }();\n\n    function getDistancePerc(perc, bezierData) {\n      var percents = bezierData.percents;\n      var lengths = bezierData.lengths;\n      var len = percents.length;\n      var initPos = bmFloor((len - 1) * perc);\n      var lengthPos = perc * bezierData.addedLength;\n      var lPerc = 0;\n\n      if (initPos === len - 1 || initPos === 0 || lengthPos === lengths[initPos]) {\n        return percents[initPos];\n      }\n\n      var dir = lengths[initPos] > lengthPos ? -1 : 1;\n      var flag = true;\n\n      while (flag) {\n        if (lengths[initPos] <= lengthPos && lengths[initPos + 1] > lengthPos) {\n          lPerc = (lengthPos - lengths[initPos]) / (lengths[initPos + 1] - lengths[initPos]);\n          flag = false;\n        } else {\n          initPos += dir;\n        }\n\n        if (initPos < 0 || initPos >= len - 1) {\n          // FIX for TypedArrays that don't store floating point values with enough accuracy\n          if (initPos === len - 1) {\n            return percents[initPos];\n          }\n\n          flag = false;\n        }\n      }\n\n      return percents[initPos] + (percents[initPos + 1] - percents[initPos]) * lPerc;\n    }\n\n    function getPointInSegment(pt1, pt2, pt3, pt4, percent, bezierData) {\n      var t1 = getDistancePerc(percent, bezierData);\n      var u1 = 1 - t1;\n      var ptX = math.round((u1 * u1 * u1 * pt1[0] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[0] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[0] + t1 * t1 * t1 * pt2[0]) * 1000) / 1000;\n      var ptY = math.round((u1 * u1 * u1 * pt1[1] + (t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1) * pt3[1] + (t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1) * pt4[1] + t1 * t1 * t1 * pt2[1]) * 1000) / 1000;\n      return [ptX, ptY];\n    }\n\n    var bezierSegmentPoints = createTypedArray(\"float32\", 8);\n\n    function getNewSegment(pt1, pt2, pt3, pt4, startPerc, endPerc, bezierData) {\n      if (startPerc < 0) {\n        startPerc = 0;\n      } else if (startPerc > 1) {\n        startPerc = 1;\n      }\n\n      var t0 = getDistancePerc(startPerc, bezierData);\n      endPerc = endPerc > 1 ? 1 : endPerc;\n      var t1 = getDistancePerc(endPerc, bezierData);\n      var i;\n      var len = pt1.length;\n      var u0 = 1 - t0;\n      var u1 = 1 - t1;\n      var u0u0u0 = u0 * u0 * u0;\n      var t0u0u0_3 = t0 * u0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0u0_3 = t0 * t0 * u0 * 3; // eslint-disable-line camelcase\n\n      var t0t0t0 = t0 * t0 * t0; //\n\n      var u0u0u1 = u0 * u0 * u1;\n      var t0u0u1_3 = t0 * u0 * u1 + u0 * t0 * u1 + u0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0u1_3 = t0 * t0 * u1 + u0 * t0 * t1 + t0 * u0 * t1; // eslint-disable-line camelcase\n\n      var t0t0t1 = t0 * t0 * t1; //\n\n      var u0u1u1 = u0 * u1 * u1;\n      var t0u1u1_3 = t0 * u1 * u1 + u0 * t1 * u1 + u0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1u1_3 = t0 * t1 * u1 + u0 * t1 * t1 + t0 * u1 * t1; // eslint-disable-line camelcase\n\n      var t0t1t1 = t0 * t1 * t1; //\n\n      var u1u1u1 = u1 * u1 * u1;\n      var t1u1u1_3 = t1 * u1 * u1 + u1 * t1 * u1 + u1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1u1_3 = t1 * t1 * u1 + u1 * t1 * t1 + t1 * u1 * t1; // eslint-disable-line camelcase\n\n      var t1t1t1 = t1 * t1 * t1;\n\n      for (i = 0; i < len; i += 1) {\n        bezierSegmentPoints[i * 4] = math.round((u0u0u0 * pt1[i] + t0u0u0_3 * pt3[i] + t0t0u0_3 * pt4[i] + t0t0t0 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 1] = math.round((u0u0u1 * pt1[i] + t0u0u1_3 * pt3[i] + t0t0u1_3 * pt4[i] + t0t0t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 2] = math.round((u0u1u1 * pt1[i] + t0u1u1_3 * pt3[i] + t0t1u1_3 * pt4[i] + t0t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n\n        bezierSegmentPoints[i * 4 + 3] = math.round((u1u1u1 * pt1[i] + t1u1u1_3 * pt3[i] + t1t1u1_3 * pt4[i] + t1t1t1 * pt2[i]) * 1000) / 1000; // eslint-disable-line camelcase\n      }\n\n      return bezierSegmentPoints;\n    }\n\n    return {\n      getSegmentsLength: getSegmentsLength,\n      getNewSegment: getNewSegment,\n      getPointInSegment: getPointInSegment,\n      buildBezierData: buildBezierData,\n      pointOnLine2D: pointOnLine2D,\n      pointOnLine3D: pointOnLine3D\n    };\n  }\n\n  var bez = bezFunction();\n  /* exported dataManager */\n\n  function dataFunctionManager() {\n    // var tCanvasHelper = createTag('canvas').getContext('2d');\n    function completeLayers(layers, comps, fontManager) {\n      var layerData;\n      var i;\n      var len = layers.length;\n      var j;\n      var jLen;\n      var k;\n      var kLen;\n\n      for (i = 0; i < len; i += 1) {\n        layerData = layers[i];\n\n        if (\"ks\" in layerData && !layerData.completed) {\n          layerData.completed = true;\n\n          if (layerData.tt) {\n            layers[i - 1].td = layerData.tt;\n          }\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                convertPathsToAbsoluteValues(maskProps[j].pt.k);\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].s[0]);\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    convertPathsToAbsoluteValues(maskProps[j].pt.k[k].e[0]);\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 0) {\n            layerData.layers = findCompLayers(layerData.refId, comps);\n            completeLayers(layerData.layers, comps, fontManager);\n          } else if (layerData.ty === 4) {\n            completeShapes(layerData.shapes);\n          } else if (layerData.ty === 5) {\n            completeText(layerData, fontManager);\n          }\n        }\n      }\n    }\n\n    function findCompLayers(id, comps) {\n      var i = 0;\n      var len = comps.length;\n\n      while (i < len) {\n        if (comps[i].id === id) {\n          if (!comps[i].layers.__used) {\n            comps[i].layers.__used = true;\n            return comps[i].layers;\n          }\n\n          return JSON.parse(JSON.stringify(comps[i].layers));\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function completeShapes(arr) {\n      var i;\n      var len = arr.length;\n      var j;\n      var jLen;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if (arr[i].ty === \"sh\") {\n          if (arr[i].ks.k.i) {\n            convertPathsToAbsoluteValues(arr[i].ks.k);\n          } else {\n            jLen = arr[i].ks.k.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (arr[i].ks.k[j].s) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].s[0]);\n              }\n\n              if (arr[i].ks.k[j].e) {\n                convertPathsToAbsoluteValues(arr[i].ks.k[j].e[0]);\n              }\n            }\n          }\n        } else if (arr[i].ty === \"gr\") {\n          completeShapes(arr[i].it);\n        }\n      }\n    }\n\n    function convertPathsToAbsoluteValues(path) {\n      var i;\n      var len = path.i.length;\n\n      for (i = 0; i < len; i += 1) {\n        path.i[i][0] += path.v[i][0];\n        path.i[i][1] += path.v[i][1];\n        path.o[i][0] += path.v[i][0];\n        path.o[i][1] += path.v[i][1];\n      }\n    }\n\n    function checkVersion(minimum, animVersionString) {\n      var animVersion = animVersionString ? animVersionString.split(\".\") : [100, 100, 100];\n\n      if (minimum[0] > animVersion[0]) {\n        return true;\n      }\n\n      if (animVersion[0] > minimum[0]) {\n        return false;\n      }\n\n      if (minimum[1] > animVersion[1]) {\n        return true;\n      }\n\n      if (animVersion[1] > minimum[1]) {\n        return false;\n      }\n\n      if (minimum[2] > animVersion[2]) {\n        return true;\n      }\n\n      if (animVersion[2] > minimum[2]) {\n        return false;\n      }\n\n      return null;\n    }\n\n    var checkText = function () {\n      var minimumVersion = [4, 4, 14];\n\n      function updateTextLayer(textLayer) {\n        var documentData = textLayer.t.d;\n        textLayer.t.d = {\n          k: [{\n            s: documentData,\n            t: 0\n          }]\n        };\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 5) {\n            updateTextLayer(layers[i]);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkChars = function () {\n      var minimumVersion = [4, 7, 99];\n      return function (animationData) {\n        if (animationData.chars && !checkVersion(minimumVersion, animationData.v)) {\n          var i;\n          var len = animationData.chars.length;\n          var j;\n          var jLen;\n          var pathData;\n          var paths;\n\n          for (i = 0; i < len; i += 1) {\n            if (animationData.chars[i].data && animationData.chars[i].data.shapes) {\n              paths = animationData.chars[i].data.shapes[0].it;\n              jLen = paths.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                pathData = paths[j].ks.k;\n\n                if (!pathData.__converted) {\n                  convertPathsToAbsoluteValues(paths[j].ks.k);\n                  pathData.__converted = true;\n                }\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkColors = function () {\n      var minimumVersion = [4, 1, 9];\n\n      function iterateShapes(shapes) {\n        var i;\n        var len = shapes.length;\n        var j;\n        var jLen;\n\n        for (i = 0; i < len; i += 1) {\n          if (shapes[i].ty === \"gr\") {\n            iterateShapes(shapes[i].it);\n          } else if (shapes[i].ty === \"fl\" || shapes[i].ty === \"st\") {\n            if (shapes[i].c.k && shapes[i].c.k[0].i) {\n              jLen = shapes[i].c.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (shapes[i].c.k[j].s) {\n                  shapes[i].c.k[j].s[0] /= 255;\n                  shapes[i].c.k[j].s[1] /= 255;\n                  shapes[i].c.k[j].s[2] /= 255;\n                  shapes[i].c.k[j].s[3] /= 255;\n                }\n\n                if (shapes[i].c.k[j].e) {\n                  shapes[i].c.k[j].e[0] /= 255;\n                  shapes[i].c.k[j].e[1] /= 255;\n                  shapes[i].c.k[j].e[2] /= 255;\n                  shapes[i].c.k[j].e[3] /= 255;\n                }\n              }\n            } else {\n              shapes[i].c.k[0] /= 255;\n              shapes[i].c.k[1] /= 255;\n              shapes[i].c.k[2] /= 255;\n              shapes[i].c.k[3] /= 255;\n            }\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var i;\n        var len = layers.length;\n\n        for (i = 0; i < len; i += 1) {\n          if (layers[i].ty === 4) {\n            iterateShapes(layers[i].shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    var checkShapes = function () {\n      var minimumVersion = [4, 4, 18];\n\n      function completeClosingShapes(arr) {\n        var i;\n        var len = arr.length;\n        var j;\n        var jLen;\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          if (arr[i].ty === \"sh\") {\n            if (arr[i].ks.k.i) {\n              arr[i].ks.k.c = arr[i].closed;\n            } else {\n              jLen = arr[i].ks.k.length;\n\n              for (j = 0; j < jLen; j += 1) {\n                if (arr[i].ks.k[j].s) {\n                  arr[i].ks.k[j].s[0].c = arr[i].closed;\n                }\n\n                if (arr[i].ks.k[j].e) {\n                  arr[i].ks.k[j].e[0].c = arr[i].closed;\n                }\n              }\n            }\n          } else if (arr[i].ty === \"gr\") {\n            completeClosingShapes(arr[i].it);\n          }\n        }\n      }\n\n      function iterateLayers(layers) {\n        var layerData;\n        var i;\n        var len = layers.length;\n        var j;\n        var jLen;\n        var k;\n        var kLen;\n\n        for (i = 0; i < len; i += 1) {\n          layerData = layers[i];\n\n          if (layerData.hasMask) {\n            var maskProps = layerData.masksProperties;\n            jLen = maskProps.length;\n\n            for (j = 0; j < jLen; j += 1) {\n              if (maskProps[j].pt.k.i) {\n                maskProps[j].pt.k.c = maskProps[j].cl;\n              } else {\n                kLen = maskProps[j].pt.k.length;\n\n                for (k = 0; k < kLen; k += 1) {\n                  if (maskProps[j].pt.k[k].s) {\n                    maskProps[j].pt.k[k].s[0].c = maskProps[j].cl;\n                  }\n\n                  if (maskProps[j].pt.k[k].e) {\n                    maskProps[j].pt.k[k].e[0].c = maskProps[j].cl;\n                  }\n                }\n              }\n            }\n          }\n\n          if (layerData.ty === 4) {\n            completeClosingShapes(layerData.shapes);\n          }\n        }\n      }\n\n      return function (animationData) {\n        if (checkVersion(minimumVersion, animationData.v)) {\n          iterateLayers(animationData.layers);\n\n          if (animationData.assets) {\n            var i;\n            var len = animationData.assets.length;\n\n            for (i = 0; i < len; i += 1) {\n              if (animationData.assets[i].layers) {\n                iterateLayers(animationData.assets[i].layers);\n              }\n            }\n          }\n        }\n      };\n    }();\n\n    function completeData(animationData, fontManager) {\n      if (animationData.__complete) {\n        return;\n      }\n\n      checkColors(animationData);\n      checkText(animationData);\n      checkChars(animationData);\n      checkShapes(animationData);\n      completeLayers(animationData.layers, animationData.assets, fontManager);\n      animationData.__complete = true;\n    }\n\n    function completeText(data) {\n      if (data.t.a.length === 0 && !(\"m\" in data.t.p)) {\n        data.singleShape = true;\n      }\n    }\n\n    var moduleOb = {};\n    moduleOb.completeData = completeData;\n    moduleOb.checkColors = checkColors;\n    moduleOb.checkChars = checkChars;\n    moduleOb.checkShapes = checkShapes;\n    moduleOb.completeLayers = completeLayers;\n    return moduleOb;\n  }\n\n  var dataManager = dataFunctionManager();\n  /* exported getFontProperties */\n\n  function getFontProperties(fontData) {\n    var styles = fontData.fStyle ? fontData.fStyle.split(\" \") : [];\n    var fWeight = \"normal\";\n    var fStyle = \"normal\";\n    var len = styles.length;\n    var styleName;\n\n    for (var i = 0; i < len; i += 1) {\n      styleName = styles[i].toLowerCase();\n\n      switch (styleName) {\n        case \"italic\":\n          fStyle = \"italic\";\n          break;\n\n        case \"bold\":\n          fWeight = \"700\";\n          break;\n\n        case \"black\":\n          fWeight = \"900\";\n          break;\n\n        case \"medium\":\n          fWeight = \"500\";\n          break;\n\n        case \"regular\":\n        case \"normal\":\n          fWeight = \"400\";\n          break;\n\n        case \"light\":\n        case \"thin\":\n          fWeight = \"200\";\n          break;\n\n        default:\n          break;\n      }\n    }\n\n    return {\n      style: fStyle,\n      weight: fontData.fWeight || fWeight\n    };\n  }\n  /* global createNS, createTag, getFontProperties */\n\n  /* exported FontManager */\n\n\n  var FontManager = function () {\n    var maxWaitingTime = 5000;\n    var emptyChar = {\n      w: 0,\n      size: 0,\n      shapes: []\n    };\n    var combinedCharacters = []; // Hindi characters\n\n    combinedCharacters = combinedCharacters.concat([2304, 2305, 2306, 2307, 2362, 2363, 2364, 2364, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383, 2387, 2388, 2389, 2390, 2391, 2402, 2403]);\n\n    function trimFontOptions(font) {\n      var familyArray = font.split(\",\");\n      var i;\n      var len = familyArray.length;\n      var enabledFamilies = [];\n\n      for (i = 0; i < len; i += 1) {\n        if (familyArray[i] !== \"sans-serif\" && familyArray[i] !== \"monospace\") {\n          enabledFamilies.push(familyArray[i]);\n        }\n      }\n\n      return enabledFamilies.join(\",\");\n    }\n\n    function setUpNode(font, family) {\n      var parentNode = createTag(\"span\"); // Node is invisible to screen readers.\n\n      parentNode.setAttribute(\"aria-hidden\", true);\n      parentNode.style.fontFamily = family;\n      var node = createTag(\"span\"); // Characters that vary significantly among different fonts\n\n      node.innerText = \"giItT1WQy@!-/#\"; // Visible - so we can measure it - but not on the screen\n\n      parentNode.style.position = \"absolute\";\n      parentNode.style.left = \"-10000px\";\n      parentNode.style.top = \"-10000px\"; // Large font size makes even subtle changes obvious\n\n      parentNode.style.fontSize = \"300px\"; // Reset any font properties\n\n      parentNode.style.fontVariant = \"normal\";\n      parentNode.style.fontStyle = \"normal\";\n      parentNode.style.fontWeight = \"normal\";\n      parentNode.style.letterSpacing = \"0\";\n      parentNode.appendChild(node);\n      document.body.appendChild(parentNode); // Remember width with no applied web font\n\n      var width = node.offsetWidth;\n      node.style.fontFamily = trimFontOptions(font) + \", \" + family;\n      return {\n        node: node,\n        w: width,\n        parent: parentNode\n      };\n    }\n\n    function checkLoadedFonts() {\n      var i;\n      var len = (this || _global).fonts.length;\n      var node;\n      var w;\n      var loadedCount = len;\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).fonts[i].loaded) {\n          loadedCount -= 1;\n        } else if ((this || _global).fonts[i].fOrigin === \"n\" || (this || _global).fonts[i].origin === 0) {\n          (this || _global).fonts[i].loaded = true;\n        } else {\n          node = (this || _global).fonts[i].monoCase.node;\n          w = (this || _global).fonts[i].monoCase.w;\n\n          if (node.offsetWidth !== w) {\n            loadedCount -= 1;\n            (this || _global).fonts[i].loaded = true;\n          } else {\n            node = (this || _global).fonts[i].sansCase.node;\n            w = (this || _global).fonts[i].sansCase.w;\n\n            if (node.offsetWidth !== w) {\n              loadedCount -= 1;\n              (this || _global).fonts[i].loaded = true;\n            }\n          }\n\n          if ((this || _global).fonts[i].loaded) {\n            (this || _global).fonts[i].sansCase.parent.parentNode.removeChild((this || _global).fonts[i].sansCase.parent);\n\n            (this || _global).fonts[i].monoCase.parent.parentNode.removeChild((this || _global).fonts[i].monoCase.parent);\n          }\n        }\n      }\n\n      if (loadedCount !== 0 && Date.now() - (this || _global).initTime < maxWaitingTime) {\n        setTimeout((this || _global).checkLoadedFontsBinded, 20);\n      } else {\n        setTimeout((this || _global).setIsLoadedBinded, 10);\n      }\n    }\n\n    function createHelper(def, fontData) {\n      var tHelper = createNS(\"text\");\n      tHelper.style.fontSize = \"100px\"; // tHelper.style.fontFamily = fontData.fFamily;\n\n      var fontProps = getFontProperties(fontData);\n      tHelper.setAttribute(\"font-family\", fontData.fFamily);\n      tHelper.setAttribute(\"font-style\", fontProps.style);\n      tHelper.setAttribute(\"font-weight\", fontProps.weight);\n      tHelper.textContent = \"1\";\n\n      if (fontData.fClass) {\n        tHelper.style.fontFamily = \"inherit\";\n        tHelper.setAttribute(\"class\", fontData.fClass);\n      } else {\n        tHelper.style.fontFamily = fontData.fFamily;\n      }\n\n      def.appendChild(tHelper);\n      var tCanvasHelper = createTag(\"canvas\").getContext(\"2d\");\n      tCanvasHelper.font = fontData.fWeight + \" \" + fontData.fStyle + \" 100px \" + fontData.fFamily; // tCanvasHelper.font = ' 100px '+ fontData.fFamily;\n\n      return tHelper;\n    }\n\n    function addFonts(fontData, defs) {\n      if (!fontData) {\n        (this || _global).isLoaded = true;\n        return;\n      }\n\n      if ((this || _global).chars) {\n        (this || _global).isLoaded = true;\n        (this || _global).fonts = fontData.list;\n        return;\n      }\n\n      var fontArr = fontData.list;\n      var i;\n      var len = fontArr.length;\n      var _pendingFonts = len;\n\n      for (i = 0; i < len; i += 1) {\n        var shouldLoadFont = true;\n        var loadedSelector;\n        var j;\n        fontArr[i].loaded = false;\n        fontArr[i].monoCase = setUpNode(fontArr[i].fFamily, \"monospace\");\n        fontArr[i].sansCase = setUpNode(fontArr[i].fFamily, \"sans-serif\");\n\n        if (!fontArr[i].fPath) {\n          fontArr[i].loaded = true;\n          _pendingFonts -= 1;\n        } else if (fontArr[i].fOrigin === \"p\" || fontArr[i].origin === 3) {\n          loadedSelector = document.querySelectorAll(\"style[f-forigin=\\\"p\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"], style[f-origin=\\\"3\\\"][f-family=\\\"\" + fontArr[i].fFamily + \"\\\"]\");\n\n          if (loadedSelector.length > 0) {\n            shouldLoadFont = false;\n          }\n\n          if (shouldLoadFont) {\n            var s = createTag(\"style\");\n            s.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            s.setAttribute(\"f-origin\", fontArr[i].origin);\n            s.setAttribute(\"f-family\", fontArr[i].fFamily);\n            s.type = \"text/css\";\n            s.innerText = \"@font-face {font-family: \" + fontArr[i].fFamily + \"; font-style: normal; src: url('\" + fontArr[i].fPath + \"');}\";\n            defs.appendChild(s);\n          }\n        } else if (fontArr[i].fOrigin === \"g\" || fontArr[i].origin === 1) {\n          loadedSelector = document.querySelectorAll(\"link[f-forigin=\\\"g\\\"], link[f-origin=\\\"1\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (loadedSelector[j].href.indexOf(fontArr[i].fPath) !== -1) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var l = createTag(\"link\");\n            l.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            l.setAttribute(\"f-origin\", fontArr[i].origin);\n            l.type = \"text/css\";\n            l.rel = \"stylesheet\";\n            l.href = fontArr[i].fPath;\n            document.body.appendChild(l);\n          }\n        } else if (fontArr[i].fOrigin === \"t\" || fontArr[i].origin === 2) {\n          loadedSelector = document.querySelectorAll(\"script[f-forigin=\\\"t\\\"], script[f-origin=\\\"2\\\"]\");\n\n          for (j = 0; j < loadedSelector.length; j += 1) {\n            if (fontArr[i].fPath === loadedSelector[j].src) {\n              // Font is already loaded\n              shouldLoadFont = false;\n            }\n          }\n\n          if (shouldLoadFont) {\n            var sc = createTag(\"link\");\n            sc.setAttribute(\"f-forigin\", fontArr[i].fOrigin);\n            sc.setAttribute(\"f-origin\", fontArr[i].origin);\n            sc.setAttribute(\"rel\", \"stylesheet\");\n            sc.setAttribute(\"href\", fontArr[i].fPath);\n            defs.appendChild(sc);\n          }\n        }\n\n        fontArr[i].helper = createHelper(defs, fontArr[i]);\n        fontArr[i].cache = {};\n\n        (this || _global).fonts.push(fontArr[i]);\n      }\n\n      if (_pendingFonts === 0) {\n        (this || _global).isLoaded = true;\n      } else {\n        // On some cases even if the font is loaded, it won't load correctly when measuring text on canvas.\n        // Adding this timeout seems to fix it\n        setTimeout((this || _global).checkLoadedFonts.bind(this || _global), 100);\n      }\n    }\n\n    function addChars(chars) {\n      if (!chars) {\n        return;\n      }\n\n      if (!(this || _global).chars) {\n        (this || _global).chars = [];\n      }\n\n      var i;\n      var len = chars.length;\n      var j;\n      var jLen = (this || _global).chars.length;\n      var found;\n\n      for (i = 0; i < len; i += 1) {\n        j = 0;\n        found = false;\n\n        while (j < jLen) {\n          if ((this || _global).chars[j].style === chars[i].style && (this || _global).chars[j].fFamily === chars[i].fFamily && (this || _global).chars[j].ch === chars[i].ch) {\n            found = true;\n          }\n\n          j += 1;\n        }\n\n        if (!found) {\n          (this || _global).chars.push(chars[i]);\n\n          jLen += 1;\n        }\n      }\n    }\n\n    function getCharData(char, style, font) {\n      var i = 0;\n      var len = (this || _global).chars.length;\n\n      while (i < len) {\n        if ((this || _global).chars[i].ch === char && (this || _global).chars[i].style === style && (this || _global).chars[i].fFamily === font) {\n          return (this || _global).chars[i];\n        }\n\n        i += 1;\n      }\n\n      if ((typeof char === \"string\" && char.charCodeAt(0) !== 13 || !char) && console && console.warn // eslint-disable-line no-console\n      && !(this || _global)._warned) {\n        (this || _global)._warned = true;\n        console.warn(\"Missing character from exported characters list: \", char, style, font); // eslint-disable-line no-console\n      }\n\n      return emptyChar;\n    }\n\n    function measureText(char, fontName, size) {\n      var fontData = this.getFontByName(fontName);\n      var index = char.charCodeAt(0);\n\n      if (!fontData.cache[index + 1]) {\n        var tHelper = fontData.helper; // Canvas version\n        // fontData.cache[index] = tHelper.measureText(char).width / 100;\n        // SVG version\n        // console.log(tHelper.getBBox().width)\n\n        if (char === \" \") {\n          tHelper.textContent = \"|\" + char + \"|\";\n          var doubleSize = tHelper.getComputedTextLength();\n          tHelper.textContent = \"||\";\n          var singleSize = tHelper.getComputedTextLength();\n          fontData.cache[index + 1] = (doubleSize - singleSize) / 100;\n        } else {\n          tHelper.textContent = char;\n          fontData.cache[index + 1] = tHelper.getComputedTextLength() / 100;\n        }\n      }\n\n      return fontData.cache[index + 1] * size;\n    }\n\n    function getFontByName(name) {\n      var i = 0;\n      var len = (this || _global).fonts.length;\n\n      while (i < len) {\n        if ((this || _global).fonts[i].fName === name) {\n          return (this || _global).fonts[i];\n        }\n\n        i += 1;\n      }\n\n      return (this || _global).fonts[0];\n    }\n\n    function getCombinedCharacterCodes() {\n      return combinedCharacters;\n    }\n\n    function setIsLoaded() {\n      (this || _global).isLoaded = true;\n    }\n\n    var Font = function () {\n      (this || _global).fonts = [];\n      (this || _global).chars = null;\n      (this || _global).typekitLoaded = 0;\n      (this || _global).isLoaded = false;\n      (this || _global)._warned = false;\n      (this || _global).initTime = Date.now();\n      (this || _global).setIsLoadedBinded = (this || _global).setIsLoaded.bind(this || _global);\n      (this || _global).checkLoadedFontsBinded = (this || _global).checkLoadedFonts.bind(this || _global);\n    }; // TODO: for now I'm adding these methods to the Class and not the prototype. Think of a better way to implement it.\n\n\n    Font.getCombinedCharacterCodes = getCombinedCharacterCodes;\n    var fontPrototype = {\n      addChars: addChars,\n      addFonts: addFonts,\n      getCharData: getCharData,\n      getFontByName: getFontByName,\n      measureText: measureText,\n      checkLoadedFonts: checkLoadedFonts,\n      setIsLoaded: setIsLoaded\n    };\n    Font.prototype = fontPrototype;\n    return Font;\n  }();\n  /* global initialDefaultFrame, BezierFactory, degToRads, bez, createTypedArray */\n\n  /* exported PropertyFactory */\n\n\n  var PropertyFactory = function () {\n    var initFrame = initialDefaultFrame;\n    var mathAbs = Math.abs;\n\n    function interpolateValue(frameNum, caching) {\n      var offsetTime = (this || _global).offsetTime;\n      var newValue;\n\n      if ((this || _global).propType === \"multidimensional\") {\n        newValue = createTypedArray(\"float32\", (this || _global).pv.length);\n      }\n\n      var iterationIndex = caching.lastIndex;\n      var i = iterationIndex;\n      var len = (this || _global).keyframes.length - 1;\n      var flag = true;\n      var keyData;\n      var nextKeyData;\n\n      while (flag) {\n        keyData = (this || _global).keyframes[i];\n        nextKeyData = (this || _global).keyframes[i + 1];\n\n        if (i === len - 1 && frameNum >= nextKeyData.t - offsetTime) {\n          if (keyData.h) {\n            keyData = nextKeyData;\n          }\n\n          iterationIndex = 0;\n          break;\n        }\n\n        if (nextKeyData.t - offsetTime > frameNum) {\n          iterationIndex = i;\n          break;\n        }\n\n        if (i < len - 1) {\n          i += 1;\n        } else {\n          iterationIndex = 0;\n          flag = false;\n        }\n      }\n\n      var k;\n      var kLen;\n      var perc;\n      var jLen;\n      var j;\n      var fnc;\n      var nextKeyTime = nextKeyData.t - offsetTime;\n      var keyTime = keyData.t - offsetTime;\n      var endValue;\n\n      if (keyData.to) {\n        if (!keyData.bezierData) {\n          keyData.bezierData = bez.buildBezierData(keyData.s, nextKeyData.s || keyData.e, keyData.to, keyData.ti);\n        }\n\n        var bezierData = keyData.bezierData;\n\n        if (frameNum >= nextKeyTime || frameNum < keyTime) {\n          var ind = frameNum >= nextKeyTime ? bezierData.points.length - 1 : 0;\n          kLen = bezierData.points[ind].point.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            newValue[k] = bezierData.points[ind].point[k];\n          } // caching._lastKeyframeIndex = -1;\n\n        } else {\n          if (keyData.__fnct) {\n            fnc = keyData.__fnct;\n          } else {\n            fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y, keyData.n).get;\n            keyData.__fnct = fnc;\n          }\n\n          perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n          var distanceInLine = bezierData.segmentLength * perc;\n          var segmentPerc;\n          var addedLength = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastAddedLength : 0;\n          j = caching.lastFrame < frameNum && caching._lastKeyframeIndex === i ? caching._lastPoint : 0;\n          flag = true;\n          jLen = bezierData.points.length;\n\n          while (flag) {\n            addedLength += bezierData.points[j].partialLength;\n\n            if (distanceInLine === 0 || perc === 0 || j === bezierData.points.length - 1) {\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k];\n              }\n\n              break;\n            } else if (distanceInLine >= addedLength && distanceInLine < addedLength + bezierData.points[j + 1].partialLength) {\n              segmentPerc = (distanceInLine - addedLength) / bezierData.points[j + 1].partialLength;\n              kLen = bezierData.points[j].point.length;\n\n              for (k = 0; k < kLen; k += 1) {\n                newValue[k] = bezierData.points[j].point[k] + (bezierData.points[j + 1].point[k] - bezierData.points[j].point[k]) * segmentPerc;\n              }\n\n              break;\n            }\n\n            if (j < jLen - 1) {\n              j += 1;\n            } else {\n              flag = false;\n            }\n          }\n\n          caching._lastPoint = j;\n          caching._lastAddedLength = addedLength - bezierData.points[j].partialLength;\n          caching._lastKeyframeIndex = i;\n        }\n      } else {\n        var outX;\n        var outY;\n        var inX;\n        var inY;\n        var keyValue;\n        len = keyData.s.length;\n        endValue = nextKeyData.s || keyData.e;\n\n        if ((this || _global).sh && keyData.h !== 1) {\n          if (frameNum >= nextKeyTime) {\n            newValue[0] = endValue[0];\n            newValue[1] = endValue[1];\n            newValue[2] = endValue[2];\n          } else if (frameNum <= keyTime) {\n            newValue[0] = keyData.s[0];\n            newValue[1] = keyData.s[1];\n            newValue[2] = keyData.s[2];\n          } else {\n            var quatStart = createQuaternion(keyData.s);\n            var quatEnd = createQuaternion(endValue);\n            var time = (frameNum - keyTime) / (nextKeyTime - keyTime);\n            quaternionToEuler(newValue, slerp(quatStart, quatEnd, time));\n          }\n        } else {\n          for (i = 0; i < len; i += 1) {\n            if (keyData.h !== 1) {\n              if (frameNum >= nextKeyTime) {\n                perc = 1;\n              } else if (frameNum < keyTime) {\n                perc = 0;\n              } else {\n                if (keyData.o.x.constructor === Array) {\n                  if (!keyData.__fnct) {\n                    keyData.__fnct = [];\n                  }\n\n                  if (!keyData.__fnct[i]) {\n                    outX = typeof keyData.o.x[i] === \"undefined\" ? keyData.o.x[0] : keyData.o.x[i];\n                    outY = typeof keyData.o.y[i] === \"undefined\" ? keyData.o.y[0] : keyData.o.y[i];\n                    inX = typeof keyData.i.x[i] === \"undefined\" ? keyData.i.x[0] : keyData.i.x[i];\n                    inY = typeof keyData.i.y[i] === \"undefined\" ? keyData.i.y[0] : keyData.i.y[i];\n                    fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                    keyData.__fnct[i] = fnc;\n                  } else {\n                    fnc = keyData.__fnct[i];\n                  }\n                } else if (!keyData.__fnct) {\n                  outX = keyData.o.x;\n                  outY = keyData.o.y;\n                  inX = keyData.i.x;\n                  inY = keyData.i.y;\n                  fnc = BezierFactory.getBezierEasing(outX, outY, inX, inY).get;\n                  keyData.__fnct = fnc;\n                } else {\n                  fnc = keyData.__fnct;\n                }\n\n                perc = fnc((frameNum - keyTime) / (nextKeyTime - keyTime));\n              }\n            }\n\n            endValue = nextKeyData.s || keyData.e;\n            keyValue = keyData.h === 1 ? keyData.s[i] : keyData.s[i] + (endValue[i] - keyData.s[i]) * perc;\n\n            if ((this || _global).propType === \"multidimensional\") {\n              newValue[i] = keyValue;\n            } else {\n              newValue = keyValue;\n            }\n          }\n        }\n      }\n\n      caching.lastIndex = iterationIndex;\n      return newValue;\n    } // based on @Toji's https://github.com/toji/gl-matrix/\n\n\n    function slerp(a, b, t) {\n      var out = [];\n      var ax = a[0];\n      var ay = a[1];\n      var az = a[2];\n      var aw = a[3];\n      var bx = b[0];\n      var by = b[1];\n      var bz = b[2];\n      var bw = b[3];\n      var omega;\n      var cosom;\n      var sinom;\n      var scale0;\n      var scale1;\n      cosom = ax * bx + ay * by + az * bz + aw * bw;\n\n      if (cosom < 0) {\n        cosom = -cosom;\n        bx = -bx;\n        by = -by;\n        bz = -bz;\n        bw = -bw;\n      }\n\n      if (1 - cosom > 0.000001) {\n        omega = Math.acos(cosom);\n        sinom = Math.sin(omega);\n        scale0 = Math.sin((1 - t) * omega) / sinom;\n        scale1 = Math.sin(t * omega) / sinom;\n      } else {\n        scale0 = 1 - t;\n        scale1 = t;\n      }\n\n      out[0] = scale0 * ax + scale1 * bx;\n      out[1] = scale0 * ay + scale1 * by;\n      out[2] = scale0 * az + scale1 * bz;\n      out[3] = scale0 * aw + scale1 * bw;\n      return out;\n    }\n\n    function quaternionToEuler(out, quat) {\n      var qx = quat[0];\n      var qy = quat[1];\n      var qz = quat[2];\n      var qw = quat[3];\n      var heading = Math.atan2(2 * qy * qw - 2 * qx * qz, 1 - 2 * qy * qy - 2 * qz * qz);\n      var attitude = Math.asin(2 * qx * qy + 2 * qz * qw);\n      var bank = Math.atan2(2 * qx * qw - 2 * qy * qz, 1 - 2 * qx * qx - 2 * qz * qz);\n      out[0] = heading / degToRads;\n      out[1] = attitude / degToRads;\n      out[2] = bank / degToRads;\n    }\n\n    function createQuaternion(values) {\n      var heading = values[0] * degToRads;\n      var attitude = values[1] * degToRads;\n      var bank = values[2] * degToRads;\n      var c1 = Math.cos(heading / 2);\n      var c2 = Math.cos(attitude / 2);\n      var c3 = Math.cos(bank / 2);\n      var s1 = Math.sin(heading / 2);\n      var s2 = Math.sin(attitude / 2);\n      var s3 = Math.sin(bank / 2);\n      var w = c1 * c2 * c3 - s1 * s2 * s3;\n      var x = s1 * s2 * c3 + c1 * c2 * s3;\n      var y = s1 * c2 * c3 + c1 * s2 * s3;\n      var z = c1 * s2 * c3 - s1 * c2 * s3;\n      return [x, y, z, w];\n    }\n\n    function getValueAtCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n\n      if (!(frameNum === (this || _global)._caching.lastFrame || (this || _global)._caching.lastFrame !== initFrame && ((this || _global)._caching.lastFrame >= endTime && frameNum >= endTime || (this || _global)._caching.lastFrame < initTime && frameNum < initTime))) {\n        if ((this || _global)._caching.lastFrame >= frameNum) {\n          (this || _global)._caching._lastKeyframeIndex = -1;\n          (this || _global)._caching.lastIndex = 0;\n        }\n\n        var renderResult = this.interpolateValue(frameNum, (this || _global)._caching);\n        (this || _global).pv = renderResult;\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function setVValue(val) {\n      var multipliedValue;\n\n      if ((this || _global).propType === \"unidimensional\") {\n        multipliedValue = val * (this || _global).mult;\n\n        if (mathAbs((this || _global).v - multipliedValue) > 0.00001) {\n          (this || _global).v = multipliedValue;\n          (this || _global)._mdf = true;\n        }\n      } else {\n        var i = 0;\n        var len = (this || _global).v.length;\n\n        while (i < len) {\n          multipliedValue = val[i] * (this || _global).mult;\n\n          if (mathAbs((this || _global).v[i] - multipliedValue) > 0.00001) {\n            (this || _global).v[i] = multipliedValue;\n            (this || _global)._mdf = true;\n          }\n\n          i += 1;\n        }\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) {\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = (this || _global)._isFirstFrame;\n      var i;\n      var len = (this || _global).effectsSequence.length;\n      var finalValue = (this || _global).kf ? (this || _global).pv : (this || _global).data.k;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global)._isFirstFrame = false;\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    function ValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global).v = mult ? data.k * mult : data.k;\n      (this || _global).pv = data.k;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).vel = 0;\n      (this || _global).effectsSequence = [];\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function MultiDimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      (this || _global).mult = mult || 1;\n      (this || _global).data = data;\n      (this || _global)._mdf = false;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global).frameId = -1;\n      var i;\n      var len = data.k.length;\n      (this || _global).v = createTypedArray(\"float32\", len);\n      (this || _global).pv = createTypedArray(\"float32\", len);\n      (this || _global).vel = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).v[i] = data.k[i] * (this || _global).mult;\n        (this || _global).pv[i] = data.k[i];\n      }\n\n      (this || _global)._isFirstFrame = true;\n      (this || _global).effectsSequence = [];\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedValueProperty(elem, data, mult, container) {\n      (this || _global).propType = \"unidimensional\";\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).frameId = -1;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: 0,\n        _lastKeyframeIndex: -1\n      };\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global).data = data;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).v = initFrame;\n      (this || _global).pv = initFrame;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).addEffect = addEffect;\n    }\n\n    function KeyframedMultidimensionalProperty(elem, data, mult, container) {\n      (this || _global).propType = \"multidimensional\";\n      var i;\n      var len = data.k.length;\n      var s;\n      var e;\n      var to;\n      var ti;\n\n      for (i = 0; i < len - 1; i += 1) {\n        if (data.k[i].to && data.k[i].s && data.k[i + 1] && data.k[i + 1].s) {\n          s = data.k[i].s;\n          e = data.k[i + 1].s;\n          to = data.k[i].to;\n          ti = data.k[i].ti;\n\n          if (s.length === 2 && !(s[0] === e[0] && s[1] === e[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], s[0] + to[0], s[1] + to[1]) && bez.pointOnLine2D(s[0], s[1], e[0], e[1], e[0] + ti[0], e[1] + ti[1]) || s.length === 3 && !(s[0] === e[0] && s[1] === e[1] && s[2] === e[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], s[0] + to[0], s[1] + to[1], s[2] + to[2]) && bez.pointOnLine3D(s[0], s[1], s[2], e[0], e[1], e[2], e[0] + ti[0], e[1] + ti[1], e[2] + ti[2])) {\n            data.k[i].to = null;\n            data.k[i].ti = null;\n          }\n\n          if (s[0] === e[0] && s[1] === e[1] && to[0] === 0 && to[1] === 0 && ti[0] === 0 && ti[1] === 0) {\n            if (s.length === 2 || s[2] === e[2] && to[2] === 0 && ti[2] === 0) {\n              data.k[i].to = null;\n              data.k[i].ti = null;\n            }\n          }\n        }\n      }\n\n      (this || _global).effectsSequence = [getValueAtCurrentTime.bind(this || _global)];\n      (this || _global).data = data;\n      (this || _global).keyframes = data.k;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      (this || _global)._isFirstFrame = true;\n      (this || _global).mult = mult || 1;\n      (this || _global).elem = elem;\n      (this || _global).container = container;\n      (this || _global).comp = elem.comp;\n      (this || _global).getValue = processEffectsSequence;\n      (this || _global).setVValue = setVValue;\n      (this || _global).interpolateValue = interpolateValue;\n      (this || _global).frameId = -1;\n      var arrLen = data.k[0].s.length;\n      (this || _global).v = createTypedArray(\"float32\", arrLen);\n      (this || _global).pv = createTypedArray(\"float32\", arrLen);\n\n      for (i = 0; i < arrLen; i += 1) {\n        (this || _global).v[i] = initFrame;\n        (this || _global).pv[i] = initFrame;\n      }\n\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0,\n        value: createTypedArray(\"float32\", arrLen)\n      };\n      (this || _global).addEffect = addEffect;\n    }\n\n    function getProp(elem, data, type, mult, container) {\n      var p;\n\n      if (!data.k.length) {\n        p = new ValueProperty(elem, data, mult, container);\n      } else if (typeof data.k[0] === \"number\") {\n        p = new MultiDimensionalProperty(elem, data, mult, container);\n      } else {\n        switch (type) {\n          case 0:\n            p = new KeyframedValueProperty(elem, data, mult, container);\n            break;\n\n          case 1:\n            p = new KeyframedMultidimensionalProperty(elem, data, mult, container);\n            break;\n\n          default:\n            break;\n        }\n      }\n\n      if (p.effectsSequence.length) {\n        container.addDynamicProperty(p);\n      }\n\n      return p;\n    }\n\n    var ob = {\n      getProp: getProp\n    };\n    return ob;\n  }();\n  /* global Matrix, degToRads, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  /* exported TransformPropertyFactory */\n\n\n  var TransformPropertyFactory = function () {\n    var defaultVector = [0, 0];\n\n    function applyToMatrix(mat) {\n      var _mdf = (this || _global)._mdf;\n      this.iterateDynamicProperties();\n      (this || _global)._mdf = (this || _global)._mdf || _mdf;\n\n      if ((this || _global).a) {\n        mat.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n      }\n\n      if ((this || _global).s) {\n        mat.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n      }\n\n      if ((this || _global).sk) {\n        mat.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n      }\n\n      if ((this || _global).r) {\n        mat.rotate(-(this || _global).r.v);\n      } else {\n        mat.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n      }\n\n      if ((this || _global).data.p.s) {\n        if ((this || _global).data.p.z) {\n          mat.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n        } else {\n          mat.translate((this || _global).px.v, (this || _global).py.v, 0);\n        }\n      } else {\n        mat.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n      }\n    }\n\n    function processKeys(forceRender) {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if ((this || _global)._isDirty) {\n        this.precalculateMatrix();\n        (this || _global)._isDirty = false;\n      }\n\n      this.iterateDynamicProperties();\n\n      if ((this || _global)._mdf || forceRender) {\n        var frameRate;\n\n        (this || _global).v.cloneFromProps((this || _global).pre.props);\n\n        if ((this || _global).appliedTransformations < 1) {\n          (this || _global).v.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n        }\n\n        if ((this || _global).appliedTransformations < 2) {\n          (this || _global).v.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n        }\n\n        if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n          (this || _global).v.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n        }\n\n        if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotate(-(this || _global).r.v);\n        } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n          (this || _global).v.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n        }\n\n        if ((this || _global).autoOriented) {\n          var v1;\n          var v2;\n          frameRate = (this || _global).elem.globalData.frameRate;\n\n          if ((this || _global).p && (this || _global).p.keyframes && (this || _global).p.getValueAtTime) {\n            if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime <= (this || _global).p.keyframes[0].t) {\n              v1 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[0].t + 0.01) / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[0].t / frameRate, 0);\n            } else if ((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime >= (this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t) {\n              v1 = (this || _global).p.getValueAtTime((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t / frameRate, 0);\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p.keyframes[(this || _global).p.keyframes.length - 1].t - 0.05) / frameRate, 0);\n            } else {\n              v1 = (this || _global).p.pv;\n              v2 = (this || _global).p.getValueAtTime(((this || _global).p._caching.lastFrame + (this || _global).p.offsetTime - 0.01) / frameRate, (this || _global).p.offsetTime);\n            }\n          } else if ((this || _global).px && (this || _global).px.keyframes && (this || _global).py.keyframes && (this || _global).px.getValueAtTime && (this || _global).py.getValueAtTime) {\n            v1 = [];\n            v2 = [];\n            var px = (this || _global).px;\n            var py = (this || _global).py;\n\n            if (px._caching.lastFrame + px.offsetTime <= px.keyframes[0].t) {\n              v1[0] = px.getValueAtTime((px.keyframes[0].t + 0.01) / frameRate, 0);\n              v1[1] = py.getValueAtTime((py.keyframes[0].t + 0.01) / frameRate, 0);\n              v2[0] = px.getValueAtTime(px.keyframes[0].t / frameRate, 0);\n              v2[1] = py.getValueAtTime(py.keyframes[0].t / frameRate, 0);\n            } else if (px._caching.lastFrame + px.offsetTime >= px.keyframes[px.keyframes.length - 1].t) {\n              v1[0] = px.getValueAtTime(px.keyframes[px.keyframes.length - 1].t / frameRate, 0);\n              v1[1] = py.getValueAtTime(py.keyframes[py.keyframes.length - 1].t / frameRate, 0);\n              v2[0] = px.getValueAtTime((px.keyframes[px.keyframes.length - 1].t - 0.01) / frameRate, 0);\n              v2[1] = py.getValueAtTime((py.keyframes[py.keyframes.length - 1].t - 0.01) / frameRate, 0);\n            } else {\n              v1 = [px.pv, py.pv];\n              v2[0] = px.getValueAtTime((px._caching.lastFrame + px.offsetTime - 0.01) / frameRate, px.offsetTime);\n              v2[1] = py.getValueAtTime((py._caching.lastFrame + py.offsetTime - 0.01) / frameRate, py.offsetTime);\n            }\n          } else {\n            v2 = defaultVector;\n            v1 = v2;\n          }\n\n          (this || _global).v.rotate(-Math.atan2(v1[1] - v2[1], v1[0] - v2[0]));\n        }\n\n        if ((this || _global).data.p && (this || _global).data.p.s) {\n          if ((this || _global).data.p.z) {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, -(this || _global).pz.v);\n          } else {\n            (this || _global).v.translate((this || _global).px.v, (this || _global).py.v, 0);\n          }\n        } else {\n          (this || _global).v.translate((this || _global).p.v[0], (this || _global).p.v[1], -(this || _global).p.v[2]);\n        }\n      }\n\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function precalculateMatrix() {\n      if (!(this || _global).a.k) {\n        (this || _global).pre.translate(-(this || _global).a.v[0], -(this || _global).a.v[1], (this || _global).a.v[2]);\n\n        (this || _global).appliedTransformations = 1;\n      } else {\n        return;\n      }\n\n      if (!(this || _global).s.effectsSequence.length) {\n        (this || _global).pre.scale((this || _global).s.v[0], (this || _global).s.v[1], (this || _global).s.v[2]);\n\n        (this || _global).appliedTransformations = 2;\n      } else {\n        return;\n      }\n\n      if ((this || _global).sk) {\n        if (!(this || _global).sk.effectsSequence.length && !(this || _global).sa.effectsSequence.length) {\n          (this || _global).pre.skewFromAxis(-(this || _global).sk.v, (this || _global).sa.v);\n\n          (this || _global).appliedTransformations = 3;\n        } else {\n          return;\n        }\n      }\n\n      if ((this || _global).r) {\n        if (!(this || _global).r.effectsSequence.length) {\n          (this || _global).pre.rotate(-(this || _global).r.v);\n\n          (this || _global).appliedTransformations = 4;\n        }\n      } else if (!(this || _global).rz.effectsSequence.length && !(this || _global).ry.effectsSequence.length && !(this || _global).rx.effectsSequence.length && !(this || _global).or.effectsSequence.length) {\n        (this || _global).pre.rotateZ(-(this || _global).rz.v).rotateY((this || _global).ry.v).rotateX((this || _global).rx.v).rotateZ(-(this || _global).or.v[2]).rotateY((this || _global).or.v[1]).rotateX((this || _global).or.v[0]);\n\n        (this || _global).appliedTransformations = 4;\n      }\n    }\n\n    function autoOrient() {//\n      // var prevP = this.getValueAtTime();\n    }\n\n    function addDynamicProperty(prop) {\n      this._addDynamicProperty(prop);\n\n      (this || _global).elem.addDynamicProperty(prop);\n\n      (this || _global)._isDirty = true;\n    }\n\n    function TransformProperty(elem, data, container) {\n      (this || _global).elem = elem;\n      (this || _global).frameId = -1;\n      (this || _global).propType = \"transform\";\n      (this || _global).data = data;\n      (this || _global).v = new Matrix(); // Precalculated matrix with non animated properties\n\n      (this || _global).pre = new Matrix();\n      (this || _global).appliedTransformations = 0;\n      this.initDynamicPropertyContainer(container || elem);\n\n      if (data.p && data.p.s) {\n        (this || _global).px = PropertyFactory.getProp(elem, data.p.x, 0, 0, this || _global);\n        (this || _global).py = PropertyFactory.getProp(elem, data.p.y, 0, 0, this || _global);\n\n        if (data.p.z) {\n          (this || _global).pz = PropertyFactory.getProp(elem, data.p.z, 0, 0, this || _global);\n        }\n      } else {\n        (this || _global).p = PropertyFactory.getProp(elem, data.p || {\n          k: [0, 0, 0]\n        }, 1, 0, this || _global);\n      }\n\n      if (data.rx) {\n        (this || _global).rx = PropertyFactory.getProp(elem, data.rx, 0, degToRads, this || _global);\n        (this || _global).ry = PropertyFactory.getProp(elem, data.ry, 0, degToRads, this || _global);\n        (this || _global).rz = PropertyFactory.getProp(elem, data.rz, 0, degToRads, this || _global);\n\n        if (data.or.k[0].ti) {\n          var i;\n          var len = data.or.k.length;\n\n          for (i = 0; i < len; i += 1) {\n            data.or.k[i].to = null;\n            data.or.k[i].ti = null;\n          }\n        }\n\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 1, degToRads, this || _global); // sh Indicates it needs to be capped between -180 and 180\n\n        (this || _global).or.sh = true;\n      } else {\n        (this || _global).r = PropertyFactory.getProp(elem, data.r || {\n          k: 0\n        }, 0, degToRads, this || _global);\n      }\n\n      if (data.sk) {\n        (this || _global).sk = PropertyFactory.getProp(elem, data.sk, 0, degToRads, this || _global);\n        (this || _global).sa = PropertyFactory.getProp(elem, data.sa, 0, degToRads, this || _global);\n      }\n\n      (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n        k: [0, 0, 0]\n      }, 1, 0, this || _global);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: [100, 100, 100]\n      }, 1, 0.01, this || _global); // Opacity is not part of the transform properties, that's why it won't use this.dynamicProperties. That way transforms won't get updated if opacity changes.\n\n      if (data.o) {\n        (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, elem);\n      } else {\n        (this || _global).o = {\n          _mdf: false,\n          v: 1\n        };\n      }\n\n      (this || _global)._isDirty = true;\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue(true);\n      }\n    }\n\n    TransformProperty.prototype = {\n      applyToMatrix: applyToMatrix,\n      getValue: processKeys,\n      precalculateMatrix: precalculateMatrix,\n      autoOrient: autoOrient\n    };\n    extendPrototype([DynamicPropertyContainer], TransformProperty);\n    TransformProperty.prototype.addDynamicProperty = addDynamicProperty;\n    TransformProperty.prototype._addDynamicProperty = DynamicPropertyContainer.prototype.addDynamicProperty;\n\n    function getTransformProperty(elem, data, container) {\n      return new TransformProperty(elem, data, container);\n    }\n\n    return {\n      getTransformProperty: getTransformProperty\n    };\n  }();\n  /* global createSizedArray, createSizedArray, pointPool */\n\n\n  function ShapePath() {\n    (this || _global).c = false;\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 8;\n    (this || _global).v = createSizedArray((this || _global)._maxLength);\n    (this || _global).o = createSizedArray((this || _global)._maxLength);\n    (this || _global).i = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapePath.prototype.setPathData = function (closed, len) {\n    (this || _global).c = closed;\n    this.setLength(len);\n    var i = 0;\n\n    while (i < len) {\n      (this || _global).v[i] = pointPool.newElement();\n      (this || _global).o[i] = pointPool.newElement();\n      (this || _global).i[i] = pointPool.newElement();\n      i += 1;\n    }\n  };\n\n  ShapePath.prototype.setLength = function (len) {\n    while ((this || _global)._maxLength < len) {\n      this.doubleArrayLength();\n    }\n\n    (this || _global)._length = len;\n  };\n\n  ShapePath.prototype.doubleArrayLength = function () {\n    (this || _global).v = (this || _global).v.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).i = (this || _global).i.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global).o = (this || _global).o.concat(createSizedArray((this || _global)._maxLength));\n    (this || _global)._maxLength *= 2;\n  };\n\n  ShapePath.prototype.setXYAt = function (x, y, type, pos, replace) {\n    var arr;\n    (this || _global)._length = Math.max((this || _global)._length, pos + 1);\n\n    if ((this || _global)._length >= (this || _global)._maxLength) {\n      this.doubleArrayLength();\n    }\n\n    switch (type) {\n      case \"v\":\n        arr = (this || _global).v;\n        break;\n\n      case \"i\":\n        arr = (this || _global).i;\n        break;\n\n      case \"o\":\n        arr = (this || _global).o;\n        break;\n\n      default:\n        arr = [];\n        break;\n    }\n\n    if (!arr[pos] || arr[pos] && !replace) {\n      arr[pos] = pointPool.newElement();\n    }\n\n    arr[pos][0] = x;\n    arr[pos][1] = y;\n  };\n\n  ShapePath.prototype.setTripleAt = function (vX, vY, oX, oY, iX, iY, pos, replace) {\n    this.setXYAt(vX, vY, \"v\", pos, replace);\n    this.setXYAt(oX, oY, \"o\", pos, replace);\n    this.setXYAt(iX, iY, \"i\", pos, replace);\n  };\n\n  ShapePath.prototype.reverse = function () {\n    var newPath = new ShapePath();\n    newPath.setPathData((this || _global).c, (this || _global)._length);\n    var vertices = (this || _global).v;\n    var outPoints = (this || _global).o;\n    var inPoints = (this || _global).i;\n    var init = 0;\n\n    if ((this || _global).c) {\n      newPath.setTripleAt(vertices[0][0], vertices[0][1], inPoints[0][0], inPoints[0][1], outPoints[0][0], outPoints[0][1], 0, false);\n      init = 1;\n    }\n\n    var cnt = (this || _global)._length - 1;\n    var len = (this || _global)._length;\n    var i;\n\n    for (i = init; i < len; i += 1) {\n      newPath.setTripleAt(vertices[cnt][0], vertices[cnt][1], inPoints[cnt][0], inPoints[cnt][1], outPoints[cnt][0], outPoints[cnt][1], i, false);\n      cnt -= 1;\n    }\n\n    return newPath;\n  };\n  /* global extendPrototype, roundCorner, BezierFactory, shapePool, degToRads,\r\n    shapeCollectionPool, PropertyFactory, bmMin, DynamicPropertyContainer */\n\n  /* exported ShapePropertyFactory */\n\n\n  var ShapePropertyFactory = function () {\n    var initFrame = -999999;\n\n    function interpolateShape(frameNum, previousValue, caching) {\n      var iterationIndex = caching.lastIndex;\n      var keyPropS;\n      var keyPropE;\n      var isHold;\n      var j;\n      var k;\n      var jLen;\n      var kLen;\n      var perc;\n      var vertexValue;\n      var kf = (this || _global).keyframes;\n\n      if (frameNum < kf[0].t - (this || _global).offsetTime) {\n        keyPropS = kf[0].s[0];\n        isHold = true;\n        iterationIndex = 0;\n      } else if (frameNum >= kf[kf.length - 1].t - (this || _global).offsetTime) {\n        keyPropS = kf[kf.length - 1].s ? kf[kf.length - 1].s[0] : kf[kf.length - 2].e[0];\n        /* if(kf[kf.length - 1].s){\r\n                  keyPropS = kf[kf.length - 1].s[0];\r\n              }else{\r\n                  keyPropS = kf[kf.length - 2].e[0];\r\n              } */\n\n        isHold = true;\n      } else {\n        var i = iterationIndex;\n        var len = kf.length - 1;\n        var flag = true;\n        var keyData;\n        var nextKeyData;\n\n        while (flag) {\n          keyData = kf[i];\n          nextKeyData = kf[i + 1];\n\n          if (nextKeyData.t - (this || _global).offsetTime > frameNum) {\n            break;\n          }\n\n          if (i < len - 1) {\n            i += 1;\n          } else {\n            flag = false;\n          }\n        }\n\n        isHold = keyData.h === 1;\n        iterationIndex = i;\n\n        if (!isHold) {\n          if (frameNum >= nextKeyData.t - (this || _global).offsetTime) {\n            perc = 1;\n          } else if (frameNum < keyData.t - (this || _global).offsetTime) {\n            perc = 0;\n          } else {\n            var fnc;\n\n            if (keyData.__fnct) {\n              fnc = keyData.__fnct;\n            } else {\n              fnc = BezierFactory.getBezierEasing(keyData.o.x, keyData.o.y, keyData.i.x, keyData.i.y).get;\n              keyData.__fnct = fnc;\n            }\n\n            perc = fnc((frameNum - (keyData.t - (this || _global).offsetTime)) / (nextKeyData.t - (this || _global).offsetTime - (keyData.t - (this || _global).offsetTime)));\n          }\n\n          keyPropE = nextKeyData.s ? nextKeyData.s[0] : keyData.e[0];\n        }\n\n        keyPropS = keyData.s[0];\n      }\n\n      jLen = previousValue._length;\n      kLen = keyPropS.i[0].length;\n      caching.lastIndex = iterationIndex;\n\n      for (j = 0; j < jLen; j += 1) {\n        for (k = 0; k < kLen; k += 1) {\n          vertexValue = isHold ? keyPropS.i[j][k] : keyPropS.i[j][k] + (keyPropE.i[j][k] - keyPropS.i[j][k]) * perc;\n          previousValue.i[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.o[j][k] : keyPropS.o[j][k] + (keyPropE.o[j][k] - keyPropS.o[j][k]) * perc;\n          previousValue.o[j][k] = vertexValue;\n          vertexValue = isHold ? keyPropS.v[j][k] : keyPropS.v[j][k] + (keyPropE.v[j][k] - keyPropS.v[j][k]) * perc;\n          previousValue.v[j][k] = vertexValue;\n        }\n      }\n    }\n\n    function interpolateShapeCurrentTime() {\n      var frameNum = (this || _global).comp.renderedFrame - (this || _global).offsetTime;\n      var initTime = (this || _global).keyframes[0].t - (this || _global).offsetTime;\n      var endTime = (this || _global).keyframes[(this || _global).keyframes.length - 1].t - (this || _global).offsetTime;\n      var lastFrame = (this || _global)._caching.lastFrame;\n\n      if (!(lastFrame !== initFrame && (lastFrame < initTime && frameNum < initTime || lastFrame > endTime && frameNum > endTime))) {\n        /// /\n        (this || _global)._caching.lastIndex = lastFrame < frameNum ? (this || _global)._caching.lastIndex : 0;\n        this.interpolateShape(frameNum, (this || _global).pv, (this || _global)._caching); /// /\n      }\n\n      (this || _global)._caching.lastFrame = frameNum;\n      return (this || _global).pv;\n    }\n\n    function resetShape() {\n      (this || _global).paths = (this || _global).localShapeCollection;\n    }\n\n    function shapesEqual(shape1, shape2) {\n      if (shape1._length !== shape2._length || shape1.c !== shape2.c) {\n        return false;\n      }\n\n      var i;\n      var len = shape1._length;\n\n      for (i = 0; i < len; i += 1) {\n        if (shape1.v[i][0] !== shape2.v[i][0] || shape1.v[i][1] !== shape2.v[i][1] || shape1.o[i][0] !== shape2.o[i][0] || shape1.o[i][1] !== shape2.o[i][1] || shape1.i[i][0] !== shape2.i[i][0] || shape1.i[i][1] !== shape2.i[i][1]) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n\n    function setVValue(newPath) {\n      if (!shapesEqual((this || _global).v, newPath)) {\n        (this || _global).v = shapePool.clone(newPath);\n\n        (this || _global).localShapeCollection.releaseShapes();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global)._mdf = true;\n        (this || _global).paths = (this || _global).localShapeCollection;\n      }\n    }\n\n    function processEffectsSequence() {\n      if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n        return;\n      }\n\n      if (!(this || _global).effectsSequence.length) {\n        (this || _global)._mdf = false;\n        return;\n      }\n\n      if ((this || _global).lock) {\n        this.setVValue((this || _global).pv);\n        return;\n      }\n\n      (this || _global).lock = true;\n      (this || _global)._mdf = false;\n      var finalValue;\n\n      if ((this || _global).kf) {\n        finalValue = (this || _global).pv;\n      } else if ((this || _global).data.ks) {\n        finalValue = (this || _global).data.ks.k;\n      } else {\n        finalValue = (this || _global).data.pt.k;\n      }\n\n      var i;\n      var len = (this || _global).effectsSequence.length;\n\n      for (i = 0; i < len; i += 1) {\n        finalValue = (this || _global).effectsSequence[i](finalValue);\n      }\n\n      this.setVValue(finalValue);\n      (this || _global).lock = false;\n      (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    }\n\n    function ShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).container = elem;\n      (this || _global).elem = elem;\n      (this || _global).data = data;\n      (this || _global).k = false;\n      (this || _global).kf = false;\n      (this || _global)._mdf = false;\n      var pathData = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).v = shapePool.clone(pathData);\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).reset = resetShape;\n      (this || _global).effectsSequence = [];\n    }\n\n    function addEffect(effectFunction) {\n      (this || _global).effectsSequence.push(effectFunction);\n\n      (this || _global).container.addDynamicProperty(this || _global);\n    }\n\n    ShapeProperty.prototype.interpolateShape = interpolateShape;\n    ShapeProperty.prototype.getValue = processEffectsSequence;\n    ShapeProperty.prototype.setVValue = setVValue;\n    ShapeProperty.prototype.addEffect = addEffect;\n\n    function KeyframedShapeProperty(elem, data, type) {\n      (this || _global).propType = \"shape\";\n      (this || _global).comp = elem.comp;\n      (this || _global).elem = elem;\n      (this || _global).container = elem;\n      (this || _global).offsetTime = elem.data.st;\n      (this || _global).keyframes = type === 3 ? data.pt.k : data.ks.k;\n      (this || _global).k = true;\n      (this || _global).kf = true;\n      var len = (this || _global).keyframes[0].s[0].i.length;\n      (this || _global).v = shapePool.newElement();\n\n      (this || _global).v.setPathData((this || _global).keyframes[0].s[0].c, len);\n\n      (this || _global).pv = shapePool.clone((this || _global).v);\n      (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n      (this || _global).paths = (this || _global).localShapeCollection;\n\n      (this || _global).paths.addShape((this || _global).v);\n\n      (this || _global).lastFrame = initFrame;\n      (this || _global).reset = resetShape;\n      (this || _global)._caching = {\n        lastFrame: initFrame,\n        lastIndex: 0\n      };\n      (this || _global).effectsSequence = [interpolateShapeCurrentTime.bind(this || _global)];\n    }\n\n    KeyframedShapeProperty.prototype.getValue = processEffectsSequence;\n    KeyframedShapeProperty.prototype.interpolateShape = interpolateShape;\n    KeyframedShapeProperty.prototype.setVValue = setVValue;\n    KeyframedShapeProperty.prototype.addEffect = addEffect;\n\n    var EllShapeProperty = function () {\n      var cPoint = roundCorner;\n\n      function EllShapePropertyFactory(elem, data) {\n        /* this.v = {\r\n                  v: createSizedArray(4),\r\n                  i: createSizedArray(4),\r\n                  o: createSizedArray(4),\r\n                  c: true\r\n              }; */\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 4);\n\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).d = data.d;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertEllToPath();\n        }\n      }\n\n      EllShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertEllToPath();\n          }\n        },\n        convertEllToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var s0 = (this || _global).s.v[0] / 2;\n          var s1 = (this || _global).s.v[1] / 2;\n\n          var _cw = (this || _global).d !== 3;\n\n          var _v = (this || _global).v;\n          _v.v[0][0] = p0;\n          _v.v[0][1] = p1 - s1;\n          _v.v[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.v[1][1] = p1;\n          _v.v[2][0] = p0;\n          _v.v[2][1] = p1 + s1;\n          _v.v[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.v[3][1] = p1;\n          _v.i[0][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.i[0][1] = p1 - s1;\n          _v.i[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.i[1][1] = p1 - s1 * cPoint;\n          _v.i[2][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.i[2][1] = p1 + s1;\n          _v.i[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.i[3][1] = p1 + s1 * cPoint;\n          _v.o[0][0] = _cw ? p0 + s0 * cPoint : p0 - s0 * cPoint;\n          _v.o[0][1] = p1 - s1;\n          _v.o[1][0] = _cw ? p0 + s0 : p0 - s0;\n          _v.o[1][1] = p1 + s1 * cPoint;\n          _v.o[2][0] = _cw ? p0 - s0 * cPoint : p0 + s0 * cPoint;\n          _v.o[2][1] = p1 + s1;\n          _v.o[3][0] = _cw ? p0 - s0 : p0 + s0;\n          _v.o[3][1] = p1 - s1 * cPoint;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], EllShapePropertyFactory);\n      return EllShapePropertyFactory;\n    }();\n\n    var StarShapeProperty = function () {\n      function StarShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n\n        (this || _global).v.setPathData(true, 0);\n\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).data = data;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n\n        if (data.sy === 1) {\n          (this || _global).ir = PropertyFactory.getProp(elem, data.ir, 0, 0, this || _global);\n          (this || _global).is = PropertyFactory.getProp(elem, data.is, 0, 0.01, this || _global);\n          (this || _global).convertToPath = (this || _global).convertStarToPath;\n        } else {\n          (this || _global).convertToPath = (this || _global).convertPolygonToPath;\n        }\n\n        (this || _global).pt = PropertyFactory.getProp(elem, data.pt, 0, 0, this || _global);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, degToRads, this || _global);\n        (this || _global).or = PropertyFactory.getProp(elem, data.or, 0, 0, this || _global);\n        (this || _global).os = PropertyFactory.getProp(elem, data.os, 0, 0.01, this || _global);\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertToPath();\n        }\n      }\n\n      StarShapePropertyFactory.prototype = {\n        reset: resetShape,\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertToPath();\n          }\n        },\n        convertStarToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v) * 2;\n          var angle = Math.PI * 2 / numPts;\n          /* this.v.v.length = numPts;\r\n                  this.v.i.length = numPts;\r\n                  this.v.o.length = numPts; */\n\n          var longFlag = true;\n          var longRad = (this || _global).or.v;\n          var shortRad = (this || _global).ir.v;\n          var longRound = (this || _global).os.v;\n          var shortRound = (this || _global).is.v;\n          var longPerimSegment = 2 * Math.PI * longRad / (numPts * 2);\n          var shortPerimSegment = 2 * Math.PI * shortRad / (numPts * 2);\n          var i;\n          var rad;\n          var roundness;\n          var perimSegment;\n          var currentAng = -Math.PI / 2;\n          currentAng += (this || _global).r.v;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            rad = longFlag ? longRad : shortRad;\n            roundness = longFlag ? longRound : shortRound;\n            perimSegment = longFlag ? longPerimSegment : shortPerimSegment;\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n            /* this.v.v[i] = [x,y];\r\n                      this.v.i[i] = [x+ox*perimSegment*roundness*dir,y+oy*perimSegment*roundness*dir];\r\n                      this.v.o[i] = [x-ox*perimSegment*roundness*dir,y-oy*perimSegment*roundness*dir];\r\n                      this.v._length = numPts; */\n\n\n            longFlag = !longFlag;\n            currentAng += angle * dir;\n          }\n        },\n        convertPolygonToPath: function () {\n          var numPts = Math.floor((this || _global).pt.v);\n          var angle = Math.PI * 2 / numPts;\n          var rad = (this || _global).or.v;\n          var roundness = (this || _global).os.v;\n          var perimSegment = 2 * Math.PI * rad / (numPts * 4);\n          var i;\n          var currentAng = -Math.PI * 0.5;\n          var dir = (this || _global).data.d === 3 ? -1 : 1;\n          currentAng += (this || _global).r.v;\n          (this || _global).v._length = 0;\n\n          for (i = 0; i < numPts; i += 1) {\n            var x = rad * Math.cos(currentAng);\n            var y = rad * Math.sin(currentAng);\n            var ox = x === 0 && y === 0 ? 0 : y / Math.sqrt(x * x + y * y);\n            var oy = x === 0 && y === 0 ? 0 : -x / Math.sqrt(x * x + y * y);\n            x += +(this || _global).p.v[0];\n            y += +(this || _global).p.v[1];\n\n            (this || _global).v.setTripleAt(x, y, x - ox * perimSegment * roundness * dir, y - oy * perimSegment * roundness * dir, x + ox * perimSegment * roundness * dir, y + oy * perimSegment * roundness * dir, i, true);\n\n            currentAng += angle * dir;\n          }\n\n          (this || _global).paths.length = 0;\n          (this || _global).paths[0] = (this || _global).v;\n        }\n      };\n      extendPrototype([DynamicPropertyContainer], StarShapePropertyFactory);\n      return StarShapePropertyFactory;\n    }();\n\n    var RectShapeProperty = function () {\n      function RectShapePropertyFactory(elem, data) {\n        (this || _global).v = shapePool.newElement();\n        (this || _global).v.c = true;\n        (this || _global).localShapeCollection = shapeCollectionPool.newShapeCollection();\n\n        (this || _global).localShapeCollection.addShape((this || _global).v);\n\n        (this || _global).paths = (this || _global).localShapeCollection;\n        (this || _global).elem = elem;\n        (this || _global).comp = elem.comp;\n        (this || _global).frameId = -1;\n        (this || _global).d = data.d;\n        this.initDynamicPropertyContainer(elem);\n        (this || _global).p = PropertyFactory.getProp(elem, data.p, 1, 0, this || _global);\n        (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, 0, this || _global);\n        (this || _global).r = PropertyFactory.getProp(elem, data.r, 0, 0, this || _global);\n\n        if ((this || _global).dynamicProperties.length) {\n          (this || _global).k = true;\n        } else {\n          (this || _global).k = false;\n          this.convertRectToPath();\n        }\n      }\n\n      RectShapePropertyFactory.prototype = {\n        convertRectToPath: function () {\n          var p0 = (this || _global).p.v[0];\n          var p1 = (this || _global).p.v[1];\n          var v0 = (this || _global).s.v[0] / 2;\n          var v1 = (this || _global).s.v[1] / 2;\n          var round = bmMin(v0, v1, (this || _global).r.v);\n          var cPoint = round * (1 - roundCorner);\n          (this || _global).v._length = 0;\n\n          if ((this || _global).d === 2 || (this || _global).d === 1) {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, 0, true);\n\n            (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, p0 + v0, p1 + v1 - round, 1, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0 + round, p1 + v1, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1 + round, 5, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, p0 + v0 - round, p1 - v1, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0 + cPoint, p1 + v1, p0 - v0, p1 + v1, 2);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0, p1 - v1 + cPoint, p0 - v0, p1 - v1, 3);\n            }\n          } else {\n            (this || _global).v.setTripleAt(p0 + v0, p1 - v1 + round, p0 + v0, p1 - v1 + cPoint, p0 + v0, p1 - v1 + round, 0, true);\n\n            if (round !== 0) {\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 - v1, p0 + v0 - round, p1 - v1, p0 + v0 - cPoint, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0 + round, p1 - v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + round, p0 - v0, p1 - v1 + cPoint, 3, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1 - round, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1 - round, 4, true);\n\n              (this || _global).v.setTripleAt(p0 - v0 + round, p1 + v1, p0 - v0 + round, p1 + v1, p0 - v0 + cPoint, p1 + v1, 5, true);\n\n              (this || _global).v.setTripleAt(p0 + v0 - round, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0 - round, p1 + v1, 6, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - round, p0 + v0, p1 + v1 - cPoint, 7, true);\n            } else {\n              (this || _global).v.setTripleAt(p0 - v0, p1 - v1, p0 - v0 + cPoint, p1 - v1, p0 - v0, p1 - v1, 1, true);\n\n              (this || _global).v.setTripleAt(p0 - v0, p1 + v1, p0 - v0, p1 + v1 - cPoint, p0 - v0, p1 + v1, 2, true);\n\n              (this || _global).v.setTripleAt(p0 + v0, p1 + v1, p0 + v0 - cPoint, p1 + v1, p0 + v0, p1 + v1, 3, true);\n            }\n          }\n        },\n        getValue: function () {\n          if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n            return;\n          }\n\n          (this || _global).frameId = (this || _global).elem.globalData.frameId;\n          this.iterateDynamicProperties();\n\n          if ((this || _global)._mdf) {\n            this.convertRectToPath();\n          }\n        },\n        reset: resetShape\n      };\n      extendPrototype([DynamicPropertyContainer], RectShapePropertyFactory);\n      return RectShapePropertyFactory;\n    }();\n\n    function getShapeProp(elem, data, type) {\n      var prop;\n\n      if (type === 3 || type === 4) {\n        var dataProp = type === 3 ? data.pt : data.ks;\n        var keys = dataProp.k;\n\n        if (keys.length) {\n          prop = new KeyframedShapeProperty(elem, data, type);\n        } else {\n          prop = new ShapeProperty(elem, data, type);\n        }\n      } else if (type === 5) {\n        prop = new RectShapeProperty(elem, data);\n      } else if (type === 6) {\n        prop = new EllShapeProperty(elem, data);\n      } else if (type === 7) {\n        prop = new StarShapeProperty(elem, data);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    }\n\n    function getConstructorFunction() {\n      return ShapeProperty;\n    }\n\n    function getKeyframedConstructorFunction() {\n      return KeyframedShapeProperty;\n    }\n\n    var ob = {};\n    ob.getShapeProp = getShapeProp;\n    ob.getConstructorFunction = getConstructorFunction;\n    ob.getKeyframedConstructorFunction = getKeyframedConstructorFunction;\n    return ob;\n  }();\n  /* global shapeCollectionPool, initialDefaultFrame, extendPrototype, DynamicPropertyContainer */\n\n  /* exported ShapeModifiers */\n\n\n  var ShapeModifiers = function () {\n    var ob = {};\n    var modifiers = {};\n    ob.registerModifier = registerModifier;\n    ob.getModifier = getModifier;\n\n    function registerModifier(nm, factory) {\n      if (!modifiers[nm]) {\n        modifiers[nm] = factory;\n      }\n    }\n\n    function getModifier(nm, elem, data) {\n      return new modifiers[nm](elem, data);\n    }\n\n    return ob;\n  }();\n\n  function ShapeModifier() {}\n\n  ShapeModifier.prototype.initModifierProperties = function () {};\n\n  ShapeModifier.prototype.addShapeToModifier = function () {};\n\n  ShapeModifier.prototype.addShape = function (data) {\n    if (!(this || _global).closed) {\n      // Adding shape to dynamic properties. It covers the case where a shape has no effects applied, to reset it's _mdf state on every tick.\n      data.sh.container.addDynamicProperty(data.sh);\n      var shapeData = {\n        shape: data.sh,\n        data: data,\n        localShapeCollection: shapeCollectionPool.newShapeCollection()\n      };\n\n      (this || _global).shapes.push(shapeData);\n\n      this.addShapeToModifier(shapeData);\n\n      if ((this || _global)._isAnimated) {\n        data.setAsAnimated();\n      }\n    }\n  };\n\n  ShapeModifier.prototype.init = function (elem, data) {\n    (this || _global).shapes = [];\n    (this || _global).elem = elem;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, data);\n    (this || _global).frameId = initialDefaultFrame;\n    (this || _global).closed = false;\n    (this || _global).k = false;\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  ShapeModifier.prototype.processKeys = function () {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  extendPrototype([DynamicPropertyContainer], ShapeModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, segmentsLengthPool, bez, shapePool, ShapeModifiers */\n\n  function TrimModifier() {}\n\n  extendPrototype([ShapeModifier], TrimModifier);\n\n  TrimModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 0, 0.01, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0.01, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0, this || _global);\n    (this || _global).sValue = 0;\n    (this || _global).eValue = 0;\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).m = data.m;\n    (this || _global)._isAnimated = !!(this || _global).s.effectsSequence.length || !!(this || _global).e.effectsSequence.length || !!(this || _global).o.effectsSequence.length;\n  };\n\n  TrimModifier.prototype.addShapeToModifier = function (shapeData) {\n    shapeData.pathsData = [];\n  };\n\n  TrimModifier.prototype.calculateShapeEdges = function (s, e, shapeLength, addedLength, totalModifierLength) {\n    var segments = [];\n\n    if (e <= 1) {\n      segments.push({\n        s: s,\n        e: e\n      });\n    } else if (s >= 1) {\n      segments.push({\n        s: s - 1,\n        e: e - 1\n      });\n    } else {\n      segments.push({\n        s: s,\n        e: 1\n      });\n      segments.push({\n        s: 0,\n        e: e - 1\n      });\n    }\n\n    var shapeSegments = [];\n    var i;\n    var len = segments.length;\n    var segmentOb;\n\n    for (i = 0; i < len; i += 1) {\n      segmentOb = segments[i];\n\n      if (!(segmentOb.e * totalModifierLength < addedLength || segmentOb.s * totalModifierLength > addedLength + shapeLength)) {\n        var shapeS;\n        var shapeE;\n\n        if (segmentOb.s * totalModifierLength <= addedLength) {\n          shapeS = 0;\n        } else {\n          shapeS = (segmentOb.s * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        if (segmentOb.e * totalModifierLength >= addedLength + shapeLength) {\n          shapeE = 1;\n        } else {\n          shapeE = (segmentOb.e * totalModifierLength - addedLength) / shapeLength;\n        }\n\n        shapeSegments.push([shapeS, shapeE]);\n      }\n    }\n\n    if (!shapeSegments.length) {\n      shapeSegments.push([0, 0]);\n    }\n\n    return shapeSegments;\n  };\n\n  TrimModifier.prototype.releasePathsData = function (pathsData) {\n    var i;\n    var len = pathsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      segmentsLengthPool.release(pathsData[i]);\n    }\n\n    pathsData.length = 0;\n    return pathsData;\n  };\n\n  TrimModifier.prototype.processShapes = function (_isFirstFrame) {\n    var s;\n    var e;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var o = (this || _global).o.v % 360 / 360;\n\n      if (o < 0) {\n        o += 1;\n      }\n\n      if ((this || _global).s.v > 1) {\n        s = 1 + o;\n      } else if ((this || _global).s.v < 0) {\n        s = 0 + o;\n      } else {\n        s = (this || _global).s.v + o;\n      }\n\n      if ((this || _global).e.v > 1) {\n        e = 1 + o;\n      } else if ((this || _global).e.v < 0) {\n        e = 0 + o;\n      } else {\n        e = (this || _global).e.v + o;\n      }\n\n      if (s > e) {\n        var _s = s;\n        s = e;\n        e = _s;\n      }\n\n      s = Math.round(s * 10000) * 0.0001;\n      e = Math.round(e * 10000) * 0.0001;\n      (this || _global).sValue = s;\n      (this || _global).eValue = e;\n    } else {\n      s = (this || _global).sValue;\n      e = (this || _global).eValue;\n    }\n\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var pathsData;\n    var pathData;\n    var totalShapeLength;\n    var totalModifierLength = 0;\n\n    if (e === s) {\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].localShapeCollection.releaseShapes();\n\n        (this || _global).shapes[i].shape._mdf = true;\n        (this || _global).shapes[i].shape.paths = (this || _global).shapes[i].localShapeCollection;\n\n        if ((this || _global)._mdf) {\n          (this || _global).shapes[i].pathsData.length = 0;\n        }\n      }\n    } else if (!(e === 1 && s === 0 || e === 0 && s === 1)) {\n      var segments = [];\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i]; // if shape hasn't changed and trim properties haven't changed, cached previous path can be used\n\n        if (!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame && (this || _global).m !== 2) {\n          shapeData.shape.paths = shapeData.localShapeCollection;\n        } else {\n          shapePaths = shapeData.shape.paths;\n          jLen = shapePaths._length;\n          totalShapeLength = 0;\n\n          if (!shapeData.shape._mdf && shapeData.pathsData.length) {\n            totalShapeLength = shapeData.totalShapeLength;\n          } else {\n            pathsData = this.releasePathsData(shapeData.pathsData);\n\n            for (j = 0; j < jLen; j += 1) {\n              pathData = bez.getSegmentsLength(shapePaths.shapes[j]);\n              pathsData.push(pathData);\n              totalShapeLength += pathData.totalLength;\n            }\n\n            shapeData.totalShapeLength = totalShapeLength;\n            shapeData.pathsData = pathsData;\n          }\n\n          totalModifierLength += totalShapeLength;\n          shapeData.shape._mdf = true;\n        }\n      }\n\n      var shapeS = s;\n      var shapeE = e;\n      var addedLength = 0;\n      var edges;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shapeData = (this || _global).shapes[i];\n\n        if (shapeData.shape._mdf) {\n          localShapeCollection = shapeData.localShapeCollection;\n          localShapeCollection.releaseShapes(); // if m === 2 means paths are trimmed individually so edges need to be found for this specific shape relative to whoel group\n\n          if ((this || _global).m === 2 && len > 1) {\n            edges = this.calculateShapeEdges(s, e, shapeData.totalShapeLength, addedLength, totalModifierLength);\n            addedLength += shapeData.totalShapeLength;\n          } else {\n            edges = [[shapeS, shapeE]];\n          }\n\n          jLen = edges.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            shapeS = edges[j][0];\n            shapeE = edges[j][1];\n            segments.length = 0;\n\n            if (shapeE <= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength * shapeE\n              });\n            } else if (shapeS >= 1) {\n              segments.push({\n                s: shapeData.totalShapeLength * (shapeS - 1),\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            } else {\n              segments.push({\n                s: shapeData.totalShapeLength * shapeS,\n                e: shapeData.totalShapeLength\n              });\n              segments.push({\n                s: 0,\n                e: shapeData.totalShapeLength * (shapeE - 1)\n              });\n            }\n\n            var newShapesData = this.addShapes(shapeData, segments[0]);\n\n            if (segments[0].s !== segments[0].e) {\n              if (segments.length > 1) {\n                var lastShapeInCollection = shapeData.shape.paths.shapes[shapeData.shape.paths._length - 1];\n\n                if (lastShapeInCollection.c) {\n                  var lastShape = newShapesData.pop();\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1], lastShape);\n                } else {\n                  this.addPaths(newShapesData, localShapeCollection);\n                  newShapesData = this.addShapes(shapeData, segments[1]);\n                }\n              }\n\n              this.addPaths(newShapesData, localShapeCollection);\n            }\n          }\n\n          shapeData.shape.paths = localShapeCollection;\n        }\n      }\n    } else if ((this || _global)._mdf) {\n      for (i = 0; i < len; i += 1) {\n        // Releasign Trim Cached paths data when no trim applied in case shapes are modified inbetween.\n        // Don't remove this even if it's losing cached info.\n        (this || _global).shapes[i].pathsData.length = 0;\n        (this || _global).shapes[i].shape._mdf = true;\n      }\n    }\n  };\n\n  TrimModifier.prototype.addPaths = function (newPaths, localShapeCollection) {\n    var i;\n    var len = newPaths.length;\n\n    for (i = 0; i < len; i += 1) {\n      localShapeCollection.addShape(newPaths[i]);\n    }\n  };\n\n  TrimModifier.prototype.addSegment = function (pt1, pt2, pt3, pt4, shapePath, pos, newShape) {\n    shapePath.setXYAt(pt2[0], pt2[1], \"o\", pos);\n    shapePath.setXYAt(pt3[0], pt3[1], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(pt1[0], pt1[1], \"v\", pos);\n    }\n\n    shapePath.setXYAt(pt4[0], pt4[1], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addSegmentFromArray = function (points, shapePath, pos, newShape) {\n    shapePath.setXYAt(points[1], points[5], \"o\", pos);\n    shapePath.setXYAt(points[2], points[6], \"i\", pos + 1);\n\n    if (newShape) {\n      shapePath.setXYAt(points[0], points[4], \"v\", pos);\n    }\n\n    shapePath.setXYAt(points[3], points[7], \"v\", pos + 1);\n  };\n\n  TrimModifier.prototype.addShapes = function (shapeData, shapeSegment, shapePath) {\n    var pathsData = shapeData.pathsData;\n    var shapePaths = shapeData.shape.paths.shapes;\n    var i;\n    var len = shapeData.shape.paths._length;\n    var j;\n    var jLen;\n    var addedLength = 0;\n    var currentLengthData;\n    var segmentCount;\n    var lengths;\n    var segment;\n    var shapes = [];\n    var initPos;\n    var newShape = true;\n\n    if (!shapePath) {\n      shapePath = shapePool.newElement();\n      segmentCount = 0;\n      initPos = 0;\n    } else {\n      segmentCount = shapePath._length;\n      initPos = shapePath._length;\n    }\n\n    shapes.push(shapePath);\n\n    for (i = 0; i < len; i += 1) {\n      lengths = pathsData[i].lengths;\n      shapePath.c = shapePaths[i].c;\n      jLen = shapePaths[i].c ? lengths.length : lengths.length + 1;\n\n      for (j = 1; j < jLen; j += 1) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength + currentLengthData.addedLength < shapeSegment.s) {\n          addedLength += currentLengthData.addedLength;\n          shapePath.c = false;\n        } else if (addedLength > shapeSegment.e) {\n          shapePath.c = false;\n          break;\n        } else {\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + currentLengthData.addedLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[j], shapePaths[i].v[j], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[j], shapePaths[i].o[j - 1], shapePaths[i].i[j], (shapeSegment.s - addedLength) / currentLengthData.addedLength, (shapeSegment.e - addedLength) / currentLengthData.addedLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n\n          addedLength += currentLengthData.addedLength;\n          segmentCount += 1;\n        }\n      }\n\n      if (shapePaths[i].c && lengths.length) {\n        currentLengthData = lengths[j - 1];\n\n        if (addedLength <= shapeSegment.e) {\n          var segmentLength = lengths[j - 1].addedLength;\n\n          if (shapeSegment.s <= addedLength && shapeSegment.e >= addedLength + segmentLength) {\n            this.addSegment(shapePaths[i].v[j - 1], shapePaths[i].o[j - 1], shapePaths[i].i[0], shapePaths[i].v[0], shapePath, segmentCount, newShape);\n            newShape = false;\n          } else {\n            segment = bez.getNewSegment(shapePaths[i].v[j - 1], shapePaths[i].v[0], shapePaths[i].o[j - 1], shapePaths[i].i[0], (shapeSegment.s - addedLength) / segmentLength, (shapeSegment.e - addedLength) / segmentLength, lengths[j - 1]);\n            this.addSegmentFromArray(segment, shapePath, segmentCount, newShape); // this.addSegment(segment.pt1, segment.pt3, segment.pt4, segment.pt2, shapePath, segmentCount, newShape);\n\n            newShape = false;\n            shapePath.c = false;\n          }\n        } else {\n          shapePath.c = false;\n        }\n\n        addedLength += currentLengthData.addedLength;\n        segmentCount += 1;\n      }\n\n      if (shapePath._length) {\n        shapePath.setXYAt(shapePath.v[initPos][0], shapePath.v[initPos][1], \"i\", initPos);\n        shapePath.setXYAt(shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1], \"o\", shapePath._length - 1);\n      }\n\n      if (addedLength > shapeSegment.e) {\n        break;\n      }\n\n      if (i < len - 1) {\n        shapePath = shapePool.newElement();\n        newShape = true;\n        shapes.push(shapePath);\n        segmentCount = 0;\n      }\n    }\n\n    return shapes;\n  };\n\n  ShapeModifiers.registerModifier(\"tm\", TrimModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, roundCorner, ShapeModifiers */\n\n  function RoundCornersModifier() {}\n\n  extendPrototype([ShapeModifier], RoundCornersModifier);\n\n  RoundCornersModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).rd = PropertyFactory.getProp(elem, data.r, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).rd.effectsSequence.length;\n  };\n\n  RoundCornersModifier.prototype.processPath = function (path, round) {\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var i;\n    var len = path._length;\n    var currentV;\n    var currentI;\n    var currentO;\n    var closerV;\n    var distance;\n    var newPosPerc;\n    var index = 0;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < len; i += 1) {\n      currentV = path.v[i];\n      currentO = path.o[i];\n      currentI = path.i[i];\n\n      if (currentV[0] === currentO[0] && currentV[1] === currentO[1] && currentV[0] === currentI[0] && currentV[1] === currentI[1]) {\n        if ((i === 0 || i === len - 1) && !path.c) {\n          clonedPath.setTripleAt(currentV[0], currentV[1], currentO[0], currentO[1], currentI[0], currentI[1], index);\n          /* clonedPath.v[index] = currentV;\r\n                  clonedPath.o[index] = currentO;\r\n                  clonedPath.i[index] = currentI; */\n\n          index += 1;\n        } else {\n          if (i === 0) {\n            closerV = path.v[len - 1];\n          } else {\n            closerV = path.v[i - 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          iX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = iX;\n          iY = currentV[1] - (currentV[1] - closerV[1]) * newPosPerc;\n          vY = iY;\n          oX = vX - (vX - currentV[0]) * roundCorner;\n          oY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n\n          if (i === len - 1) {\n            closerV = path.v[0];\n          } else {\n            closerV = path.v[i + 1];\n          }\n\n          distance = Math.sqrt(Math.pow(currentV[0] - closerV[0], 2) + Math.pow(currentV[1] - closerV[1], 2));\n          newPosPerc = distance ? Math.min(distance / 2, round) / distance : 0;\n          oX = currentV[0] + (closerV[0] - currentV[0]) * newPosPerc;\n          vX = oX;\n          oY = currentV[1] + (closerV[1] - currentV[1]) * newPosPerc;\n          vY = oY;\n          iX = vX - (vX - currentV[0]) * roundCorner;\n          iY = vY - (vY - currentV[1]) * roundCorner;\n          clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, index);\n          index += 1;\n        }\n      } else {\n        clonedPath.setTripleAt(path.v[i][0], path.v[i][1], path.o[i][0], path.o[i][1], path.i[i][0], path.i[i][1], index);\n        index += 1;\n      }\n    }\n\n    return clonedPath;\n  };\n\n  RoundCornersModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var rd = (this || _global).rd.v;\n\n    if (rd !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], rd));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"rd\", RoundCornersModifier);\n  /* global extendPrototype, ShapeModifier, PropertyFactory, shapePool, ShapeModifiers */\n\n  function PuckerAndBloatModifier() {}\n\n  extendPrototype([ShapeModifier], PuckerAndBloatModifier);\n\n  PuckerAndBloatModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).amount = PropertyFactory.getProp(elem, data.a, 0, null, this || _global);\n    (this || _global)._isAnimated = !!(this || _global).amount.effectsSequence.length;\n  };\n\n  PuckerAndBloatModifier.prototype.processPath = function (path, amount) {\n    var percent = amount / 100;\n    var centerPoint = [0, 0];\n    var pathLength = path._length;\n    var i = 0;\n\n    for (i = 0; i < pathLength; i += 1) {\n      centerPoint[0] += path.v[i][0];\n      centerPoint[1] += path.v[i][1];\n    }\n\n    centerPoint[0] /= pathLength;\n    centerPoint[1] /= pathLength;\n    var clonedPath = shapePool.newElement();\n    clonedPath.c = path.c;\n    var vX;\n    var vY;\n    var oX;\n    var oY;\n    var iX;\n    var iY;\n\n    for (i = 0; i < pathLength; i += 1) {\n      vX = path.v[i][0] + (centerPoint[0] - path.v[i][0]) * percent;\n      vY = path.v[i][1] + (centerPoint[1] - path.v[i][1]) * percent;\n      oX = path.o[i][0] + (centerPoint[0] - path.o[i][0]) * -percent;\n      oY = path.o[i][1] + (centerPoint[1] - path.o[i][1]) * -percent;\n      iX = path.i[i][0] + (centerPoint[0] - path.i[i][0]) * -percent;\n      iY = path.i[i][1] + (centerPoint[1] - path.i[i][1]) * -percent;\n      clonedPath.setTripleAt(vX, vY, oX, oY, iX, iY, i);\n    }\n\n    return clonedPath;\n  };\n\n  PuckerAndBloatModifier.prototype.processShapes = function (_isFirstFrame) {\n    var shapePaths;\n    var i;\n    var len = (this || _global).shapes.length;\n    var j;\n    var jLen;\n    var amount = (this || _global).amount.v;\n\n    if (amount !== 0) {\n      var shapeData;\n      var localShapeCollection;\n\n      for (i = 0; i < len; i += 1) {\n        shapeData = (this || _global).shapes[i];\n        localShapeCollection = shapeData.localShapeCollection;\n\n        if (!(!shapeData.shape._mdf && !(this || _global)._mdf && !_isFirstFrame)) {\n          localShapeCollection.releaseShapes();\n          shapeData.shape._mdf = true;\n          shapePaths = shapeData.shape.paths.shapes;\n          jLen = shapeData.shape.paths._length;\n\n          for (j = 0; j < jLen; j += 1) {\n            localShapeCollection.addShape(this.processPath(shapePaths[j], amount));\n          }\n        }\n\n        shapeData.shape.paths = shapeData.localShapeCollection;\n      }\n    }\n\n    if (!(this || _global).dynamicProperties.length) {\n      (this || _global)._mdf = false;\n    }\n  };\n\n  ShapeModifiers.registerModifier(\"pb\", PuckerAndBloatModifier);\n  /* global extendPrototype, ShapeModifier, TransformPropertyFactory, PropertyFactory, Matrix, ShapeModifiers */\n\n  function RepeaterModifier() {}\n\n  extendPrototype([ShapeModifier], RepeaterModifier);\n\n  RepeaterModifier.prototype.initModifierProperties = function (elem, data) {\n    (this || _global).getValue = (this || _global).processKeys;\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 0, null, this || _global);\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, null, this || _global);\n    (this || _global).tr = TransformPropertyFactory.getTransformProperty(elem, data.tr, this || _global);\n    (this || _global).so = PropertyFactory.getProp(elem, data.tr.so, 0, 0.01, this || _global);\n    (this || _global).eo = PropertyFactory.getProp(elem, data.tr.eo, 0, 0.01, this || _global);\n    (this || _global).data = data;\n\n    if (!(this || _global).dynamicProperties.length) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = !!(this || _global).dynamicProperties.length;\n    (this || _global).pMatrix = new Matrix();\n    (this || _global).rMatrix = new Matrix();\n    (this || _global).sMatrix = new Matrix();\n    (this || _global).tMatrix = new Matrix();\n    (this || _global).matrix = new Matrix();\n  };\n\n  RepeaterModifier.prototype.applyTransforms = function (pMatrix, rMatrix, sMatrix, transform, perc, inv) {\n    var dir = inv ? -1 : 1;\n    var scaleX = transform.s.v[0] + (1 - transform.s.v[0]) * (1 - perc);\n    var scaleY = transform.s.v[1] + (1 - transform.s.v[1]) * (1 - perc);\n    pMatrix.translate(transform.p.v[0] * dir * perc, transform.p.v[1] * dir * perc, transform.p.v[2]);\n    rMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    rMatrix.rotate(-transform.r.v * dir * perc);\n    rMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n    sMatrix.translate(-transform.a.v[0], -transform.a.v[1], transform.a.v[2]);\n    sMatrix.scale(inv ? 1 / scaleX : scaleX, inv ? 1 / scaleY : scaleY);\n    sMatrix.translate(transform.a.v[0], transform.a.v[1], transform.a.v[2]);\n  };\n\n  RepeaterModifier.prototype.init = function (elem, arr, pos, elemsData) {\n    (this || _global).elem = elem;\n    (this || _global).arr = arr;\n    (this || _global).pos = pos;\n    (this || _global).elemsData = elemsData;\n    (this || _global)._currentCopies = 0;\n    (this || _global)._elements = [];\n    (this || _global)._groups = [];\n    (this || _global).frameId = -1;\n    this.initDynamicPropertyContainer(elem);\n    this.initModifierProperties(elem, arr[pos]);\n\n    while (pos > 0) {\n      pos -= 1; // this._elements.unshift(arr.splice(pos,1)[0]);\n\n      (this || _global)._elements.unshift(arr[pos]);\n    }\n\n    if ((this || _global).dynamicProperties.length) {\n      (this || _global).k = true;\n    } else {\n      this.getValue(true);\n    }\n  };\n\n  RepeaterModifier.prototype.resetElements = function (elements) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._processed = false;\n\n      if (elements[i].ty === \"gr\") {\n        this.resetElements(elements[i].it);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.cloneElements = function (elements) {\n    var newElements = JSON.parse(JSON.stringify(elements));\n    this.resetElements(newElements);\n    return newElements;\n  };\n\n  RepeaterModifier.prototype.changeGroupRender = function (elements, renderFlag) {\n    var i;\n    var len = elements.length;\n\n    for (i = 0; i < len; i += 1) {\n      elements[i]._render = renderFlag;\n\n      if (elements[i].ty === \"gr\") {\n        this.changeGroupRender(elements[i].it, renderFlag);\n      }\n    }\n  };\n\n  RepeaterModifier.prototype.processShapes = function (_isFirstFrame) {\n    var items;\n    var itemsTransform;\n    var i;\n    var dir;\n    var cont;\n    var hasReloaded = false;\n\n    if ((this || _global)._mdf || _isFirstFrame) {\n      var copies = Math.ceil((this || _global).c.v);\n\n      if ((this || _global)._groups.length < copies) {\n        while ((this || _global)._groups.length < copies) {\n          var group = {\n            it: this.cloneElements((this || _global)._elements),\n            ty: \"gr\"\n          };\n          group.it.push({\n            a: {\n              a: 0,\n              ix: 1,\n              k: [0, 0]\n            },\n            nm: \"Transform\",\n            o: {\n              a: 0,\n              ix: 7,\n              k: 100\n            },\n            p: {\n              a: 0,\n              ix: 2,\n              k: [0, 0]\n            },\n            r: {\n              a: 1,\n              ix: 6,\n              k: [{\n                s: 0,\n                e: 0,\n                t: 0\n              }, {\n                s: 0,\n                e: 0,\n                t: 1\n              }]\n            },\n            s: {\n              a: 0,\n              ix: 3,\n              k: [100, 100]\n            },\n            sa: {\n              a: 0,\n              ix: 5,\n              k: 0\n            },\n            sk: {\n              a: 0,\n              ix: 4,\n              k: 0\n            },\n            ty: \"tr\"\n          });\n\n          (this || _global).arr.splice(0, 0, group);\n\n          (this || _global)._groups.splice(0, 0, group);\n\n          (this || _global)._currentCopies += 1;\n        }\n\n        (this || _global).elem.reloadShapes();\n\n        hasReloaded = true;\n      }\n\n      cont = 0;\n      var renderFlag;\n\n      for (i = 0; i <= (this || _global)._groups.length - 1; i += 1) {\n        renderFlag = cont < copies;\n        (this || _global)._groups[i]._render = renderFlag;\n        this.changeGroupRender((this || _global)._groups[i].it, renderFlag);\n\n        if (!renderFlag) {\n          var elems = (this || _global).elemsData[i].it;\n          var transformData = elems[elems.length - 1];\n\n          if (transformData.transform.op.v !== 0) {\n            transformData.transform.op._mdf = true;\n            transformData.transform.op.v = 0;\n          } else {\n            transformData.transform.op._mdf = false;\n          }\n        }\n\n        cont += 1;\n      }\n\n      (this || _global)._currentCopies = copies; /// /\n\n      var offset = (this || _global).o.v;\n      var offsetModulo = offset % 1;\n      var roundOffset = offset > 0 ? Math.floor(offset) : Math.ceil(offset);\n      var pProps = (this || _global).pMatrix.props;\n      var rProps = (this || _global).rMatrix.props;\n      var sProps = (this || _global).sMatrix.props;\n\n      (this || _global).pMatrix.reset();\n\n      (this || _global).rMatrix.reset();\n\n      (this || _global).sMatrix.reset();\n\n      (this || _global).tMatrix.reset();\n\n      (this || _global).matrix.reset();\n\n      var iteration = 0;\n\n      if (offset > 0) {\n        while (iteration < roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          iteration += 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, offsetModulo, false);\n          iteration += offsetModulo;\n        }\n      } else if (offset < 0) {\n        while (iteration > roundOffset) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, true);\n          iteration -= 1;\n        }\n\n        if (offsetModulo) {\n          this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, -offsetModulo, true);\n          iteration -= offsetModulo;\n        }\n      }\n\n      i = (this || _global).data.m === 1 ? 0 : (this || _global)._currentCopies - 1;\n      dir = (this || _global).data.m === 1 ? 1 : -1;\n      cont = (this || _global)._currentCopies;\n      var j;\n      var jLen;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        jLen = itemsTransform.length;\n        items[items.length - 1].transform.mProps._mdf = true;\n        items[items.length - 1].transform.op._mdf = true;\n        items[items.length - 1].transform.op.v = (this || _global)._currentCopies === 1 ? (this || _global).so.v : (this || _global).so.v + ((this || _global).eo.v - (this || _global).so.v) * (i / ((this || _global)._currentCopies - 1));\n\n        if (iteration !== 0) {\n          if (i !== 0 && dir === 1 || i !== (this || _global)._currentCopies - 1 && dir === -1) {\n            this.applyTransforms((this || _global).pMatrix, (this || _global).rMatrix, (this || _global).sMatrix, (this || _global).tr, 1, false);\n          }\n\n          (this || _global).matrix.transform(rProps[0], rProps[1], rProps[2], rProps[3], rProps[4], rProps[5], rProps[6], rProps[7], rProps[8], rProps[9], rProps[10], rProps[11], rProps[12], rProps[13], rProps[14], rProps[15]);\n\n          (this || _global).matrix.transform(sProps[0], sProps[1], sProps[2], sProps[3], sProps[4], sProps[5], sProps[6], sProps[7], sProps[8], sProps[9], sProps[10], sProps[11], sProps[12], sProps[13], sProps[14], sProps[15]);\n\n          (this || _global).matrix.transform(pProps[0], pProps[1], pProps[2], pProps[3], pProps[4], pProps[5], pProps[6], pProps[7], pProps[8], pProps[9], pProps[10], pProps[11], pProps[12], pProps[13], pProps[14], pProps[15]);\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n\n          (this || _global).matrix.reset();\n        } else {\n          (this || _global).matrix.reset();\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsTransform[j] = (this || _global).matrix.props[j];\n          }\n        }\n\n        iteration += 1;\n        cont -= 1;\n        i += dir;\n      }\n    } else {\n      cont = (this || _global)._currentCopies;\n      i = 0;\n      dir = 1;\n\n      while (cont) {\n        items = (this || _global).elemsData[i].it;\n        itemsTransform = items[items.length - 1].transform.mProps.v.props;\n        items[items.length - 1].transform.mProps._mdf = false;\n        items[items.length - 1].transform.op._mdf = false;\n        cont -= 1;\n        i += dir;\n      }\n    }\n\n    return hasReloaded;\n  };\n\n  RepeaterModifier.prototype.addShape = function () {};\n\n  ShapeModifiers.registerModifier(\"rp\", RepeaterModifier);\n  /* global createSizedArray, shapePool */\n\n  function ShapeCollection() {\n    (this || _global)._length = 0;\n    (this || _global)._maxLength = 4;\n    (this || _global).shapes = createSizedArray((this || _global)._maxLength);\n  }\n\n  ShapeCollection.prototype.addShape = function (shapeData) {\n    if ((this || _global)._length === (this || _global)._maxLength) {\n      (this || _global).shapes = (this || _global).shapes.concat(createSizedArray((this || _global)._maxLength));\n      (this || _global)._maxLength *= 2;\n    }\n\n    (this || _global).shapes[(this || _global)._length] = shapeData;\n    (this || _global)._length += 1;\n  };\n\n  ShapeCollection.prototype.releaseShapes = function () {\n    var i;\n\n    for (i = 0; i < (this || _global)._length; i += 1) {\n      shapePool.release((this || _global).shapes[i]);\n    }\n\n    (this || _global)._length = 0;\n  };\n  /* global createSizedArray, createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function DashProperty(elem, data, renderer, container) {\n    (this || _global).elem = elem;\n    (this || _global).frameId = -1;\n    (this || _global).dataProps = createSizedArray(data.length);\n    (this || _global).renderer = renderer;\n    (this || _global).k = false;\n    (this || _global).dashStr = \"\";\n    (this || _global).dashArray = createTypedArray(\"float32\", data.length ? data.length - 1 : 0);\n    (this || _global).dashoffset = createTypedArray(\"float32\", 1);\n    this.initDynamicPropertyContainer(container);\n    var i;\n    var len = data.length || 0;\n    var prop;\n\n    for (i = 0; i < len; i += 1) {\n      prop = PropertyFactory.getProp(elem, data[i].v, 0, 0, this || _global);\n      (this || _global).k = prop.k || (this || _global).k;\n      (this || _global).dataProps[i] = {\n        n: data[i].n,\n        p: prop\n      };\n    }\n\n    if (!(this || _global).k) {\n      this.getValue(true);\n    }\n\n    (this || _global)._isAnimated = (this || _global).k;\n  }\n\n  DashProperty.prototype.getValue = function (forceRender) {\n    if ((this || _global).elem.globalData.frameId === (this || _global).frameId && !forceRender) {\n      return;\n    }\n\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n    this.iterateDynamicProperties();\n    (this || _global)._mdf = (this || _global)._mdf || forceRender;\n\n    if ((this || _global)._mdf) {\n      var i = 0;\n      var len = (this || _global).dataProps.length;\n\n      if ((this || _global).renderer === \"svg\") {\n        (this || _global).dashStr = \"\";\n      }\n\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).dataProps[i].n !== \"o\") {\n          if ((this || _global).renderer === \"svg\") {\n            (this || _global).dashStr += \" \" + (this || _global).dataProps[i].p.v;\n          } else {\n            (this || _global).dashArray[i] = (this || _global).dataProps[i].p.v;\n          }\n        } else {\n          (this || _global).dashoffset[0] = (this || _global).dataProps[i].p.v;\n        }\n      }\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], DashProperty);\n  /* global createTypedArray, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function GradientProperty(elem, data, container) {\n    (this || _global).data = data;\n    (this || _global).c = createTypedArray(\"uint8c\", data.p * 4);\n    var cLength = data.k.k[0].s ? data.k.k[0].s.length - data.p * 4 : data.k.k.length - data.p * 4;\n    (this || _global).o = createTypedArray(\"float32\", cLength);\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n    (this || _global)._collapsable = this.checkCollapsable();\n    (this || _global)._hasOpacity = cLength;\n    this.initDynamicPropertyContainer(container);\n    (this || _global).prop = PropertyFactory.getProp(elem, data.k, 1, null, this || _global);\n    (this || _global).k = (this || _global).prop.k;\n    this.getValue(true);\n  }\n\n  GradientProperty.prototype.comparePoints = function (values, points) {\n    var i = 0;\n    var len = (this || _global).o.length / 2;\n    var diff;\n\n    while (i < len) {\n      diff = Math.abs(values[i * 4] - values[points * 4 + i * 2]);\n\n      if (diff > 0.01) {\n        return false;\n      }\n\n      i += 1;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.checkCollapsable = function () {\n    if ((this || _global).o.length / 2 !== (this || _global).c.length / 4) {\n      return false;\n    }\n\n    if ((this || _global).data.k.k[0].s) {\n      var i = 0;\n      var len = (this || _global).data.k.k.length;\n\n      while (i < len) {\n        if (!this.comparePoints((this || _global).data.k.k[i].s, (this || _global).data.p)) {\n          return false;\n        }\n\n        i += 1;\n      }\n    } else if (!this.comparePoints((this || _global).data.k.k, (this || _global).data.p)) {\n      return false;\n    }\n\n    return true;\n  };\n\n  GradientProperty.prototype.getValue = function (forceRender) {\n    (this || _global).prop.getValue();\n\n    (this || _global)._mdf = false;\n    (this || _global)._cmdf = false;\n    (this || _global)._omdf = false;\n\n    if ((this || _global).prop._mdf || forceRender) {\n      var i;\n      var len = (this || _global).data.p * 4;\n      var mult;\n      var val;\n\n      for (i = 0; i < len; i += 1) {\n        mult = i % 4 === 0 ? 100 : 255;\n        val = Math.round((this || _global).prop.v[i] * mult);\n\n        if ((this || _global).c[i] !== val) {\n          (this || _global).c[i] = val;\n          (this || _global)._cmdf = !forceRender;\n        }\n      }\n\n      if ((this || _global).o.length) {\n        len = (this || _global).prop.v.length;\n\n        for (i = (this || _global).data.p * 4; i < len; i += 1) {\n          mult = i % 2 === 0 ? 100 : 1;\n          val = i % 2 === 0 ? Math.round((this || _global).prop.v[i] * 100) : (this || _global).prop.v[i];\n\n          if ((this || _global).o[i - (this || _global).data.p * 4] !== val) {\n            (this || _global).o[i - (this || _global).data.p * 4] = val;\n            (this || _global)._omdf = !forceRender;\n          }\n        }\n      }\n\n      (this || _global)._mdf = !forceRender;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], GradientProperty);\n  /* exported buildShapeString */\n\n  var buildShapeString = function (pathNodes, length, closed, mat) {\n    if (length === 0) {\n      return \"\";\n    }\n\n    var _o = pathNodes.o;\n    var _i = pathNodes.i;\n    var _v = pathNodes.v;\n    var i;\n    var shapeString = \" M\" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n\n    for (i = 1; i < length; i += 1) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[i][0], _i[i][1]) + \" \" + mat.applyToPointStringified(_v[i][0], _v[i][1]);\n    }\n\n    if (closed && length) {\n      shapeString += \" C\" + mat.applyToPointStringified(_o[i - 1][0], _o[i - 1][1]) + \" \" + mat.applyToPointStringified(_i[0][0], _i[0][1]) + \" \" + mat.applyToPointStringified(_v[0][0], _v[0][1]);\n      shapeString += \"z\";\n    }\n\n    return shapeString;\n  };\n  /* global Howl */\n\n  /* exported audioControllerFactory */\n\n\n  var audioControllerFactory = function () {\n    function AudioController(audioFactory) {\n      (this || _global).audios = [];\n      (this || _global).audioFactory = audioFactory;\n      (this || _global)._volume = 1;\n      (this || _global)._isMuted = false;\n    }\n\n    AudioController.prototype = {\n      addAudio: function (audio) {\n        (this || _global).audios.push(audio);\n      },\n      pause: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].pause();\n        }\n      },\n      resume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].resume();\n        }\n      },\n      setRate: function (rateValue) {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].setRate(rateValue);\n        }\n      },\n      createAudio: function (assetPath) {\n        if ((this || _global).audioFactory) {\n          return this.audioFactory(assetPath);\n        }\n\n        if (Howl) {\n          return new Howl({\n            src: [assetPath]\n          });\n        }\n\n        return {\n          isPlaying: false,\n          play: function () {\n            (this || _global).isPlaying = true;\n          },\n          seek: function () {\n            (this || _global).isPlaying = false;\n          },\n          playing: function () {},\n          rate: function () {},\n          setVolume: function () {}\n        };\n      },\n      setAudioFactory: function (audioFactory) {\n        (this || _global).audioFactory = audioFactory;\n      },\n      setVolume: function (value) {\n        (this || _global)._volume = value;\n\n        this._updateVolume();\n      },\n      mute: function () {\n        (this || _global)._isMuted = true;\n\n        this._updateVolume();\n      },\n      unmute: function () {\n        (this || _global)._isMuted = false;\n\n        this._updateVolume();\n      },\n      getVolume: function () {\n        return (this || _global)._volume;\n      },\n      _updateVolume: function () {\n        var i;\n        var len = (this || _global).audios.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global).audios[i].volume((this || _global)._volume * ((this || _global)._isMuted ? 0 : 1));\n        }\n      }\n    };\n    return function () {\n      return new AudioController();\n    };\n  }();\n  /* global createTag, createNS, isSafari, assetLoader */\n\n  /* exported ImagePreloader */\n\n\n  var ImagePreloader = function () {\n    var proxyImage = function () {\n      var canvas = createTag(\"canvas\");\n      canvas.width = 1;\n      canvas.height = 1;\n      var ctx = canvas.getContext(\"2d\");\n      ctx.fillStyle = \"rgba(0,0,0,0)\";\n      ctx.fillRect(0, 0, 1, 1);\n      return canvas;\n    }();\n\n    function imageLoaded() {\n      (this || _global).loadedAssets += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function footageLoaded() {\n      (this || _global).loadedFootagesCount += 1;\n\n      if ((this || _global).loadedAssets === (this || _global).totalImages && (this || _global).loadedFootagesCount === (this || _global).totalFootages) {\n        if ((this || _global).imagesLoadedCb) {\n          this.imagesLoadedCb(null);\n        }\n      }\n    }\n\n    function getAssetsPath(assetData, assetsPath, originalPath) {\n      var path = \"\";\n\n      if (assetData.e) {\n        path = assetData.p;\n      } else if (assetsPath) {\n        var imagePath = assetData.p;\n\n        if (imagePath.indexOf(\"images/\") !== -1) {\n          imagePath = imagePath.split(\"/\")[1];\n        }\n\n        path = assetsPath + imagePath;\n      } else {\n        path = originalPath;\n        path += assetData.u ? assetData.u : \"\";\n        path += assetData.p;\n      }\n\n      return path;\n    }\n\n    function testImageLoaded(img) {\n      var _count = 0;\n      var intervalId = setInterval(function () {\n        var box = img.getBBox();\n\n        if (box.width || _count > 500) {\n          this._imageLoaded();\n\n          clearInterval(intervalId);\n        }\n\n        _count += 1;\n      }.bind(this || _global), 50);\n    }\n\n    function createImageData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createNS(\"image\");\n\n      if (isSafari) {\n        this.testImageLoaded(img);\n      } else {\n        img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      }\n\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", path);\n\n      if ((this || _global)._elementHelper.append) {\n        (this || _global)._elementHelper.append(img);\n      } else {\n        (this || _global)._elementHelper.appendChild(img);\n      }\n\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createImgData(assetData) {\n      var path = getAssetsPath(assetData, (this || _global).assetsPath, (this || _global).path);\n      var img = createTag(\"img\");\n      img.crossOrigin = \"anonymous\";\n      img.addEventListener(\"load\", (this || _global)._imageLoaded, false);\n      img.addEventListener(\"error\", function () {\n        ob.img = proxyImage;\n\n        this._imageLoaded();\n      }.bind(this || _global), false);\n      img.src = path;\n      var ob = {\n        img: img,\n        assetData: assetData\n      };\n      return ob;\n    }\n\n    function createFootageData(data) {\n      var ob = {\n        assetData: data\n      };\n      var path = getAssetsPath(data, (this || _global).assetsPath, (this || _global).path);\n      assetLoader.load(path, function (footageData) {\n        ob.img = footageData;\n\n        this._footageLoaded();\n      }.bind(this || _global), function () {\n        ob.img = {};\n\n        this._footageLoaded();\n      }.bind(this || _global));\n      return ob;\n    }\n\n    function loadAssets(assets, cb) {\n      (this || _global).imagesLoadedCb = cb;\n      var i;\n      var len = assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (!assets[i].layers) {\n          if (!assets[i].t) {\n            (this || _global).totalImages += 1;\n\n            (this || _global).images.push(this._createImageData(assets[i]));\n          } else if (assets[i].t === 3) {\n            (this || _global).totalFootages += 1;\n\n            (this || _global).images.push(this.createFootageData(assets[i]));\n          }\n        }\n      }\n    }\n\n    function setPath(path) {\n      (this || _global).path = path || \"\";\n    }\n\n    function setAssetsPath(path) {\n      (this || _global).assetsPath = path || \"\";\n    }\n\n    function getAsset(assetData) {\n      var i = 0;\n      var len = (this || _global).images.length;\n\n      while (i < len) {\n        if ((this || _global).images[i].assetData === assetData) {\n          return (this || _global).images[i].img;\n        }\n\n        i += 1;\n      }\n\n      return null;\n    }\n\n    function destroy() {\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images.length = 0;\n    }\n\n    function loadedImages() {\n      return (this || _global).totalImages === (this || _global).loadedAssets;\n    }\n\n    function loadedFootages() {\n      return (this || _global).totalFootages === (this || _global).loadedFootagesCount;\n    }\n\n    function setCacheType(type, elementHelper) {\n      if (type === \"svg\") {\n        (this || _global)._elementHelper = elementHelper;\n        (this || _global)._createImageData = (this || _global).createImageData.bind(this || _global);\n      } else {\n        (this || _global)._createImageData = (this || _global).createImgData.bind(this || _global);\n      }\n    }\n\n    function ImagePreloaderFactory() {\n      (this || _global)._imageLoaded = imageLoaded.bind(this || _global);\n      (this || _global)._footageLoaded = footageLoaded.bind(this || _global);\n      (this || _global).testImageLoaded = testImageLoaded.bind(this || _global);\n      (this || _global).createFootageData = createFootageData.bind(this || _global);\n      (this || _global).assetsPath = \"\";\n      (this || _global).path = \"\";\n      (this || _global).totalImages = 0;\n      (this || _global).totalFootages = 0;\n      (this || _global).loadedAssets = 0;\n      (this || _global).loadedFootagesCount = 0;\n      (this || _global).imagesLoadedCb = null;\n      (this || _global).images = [];\n    }\n\n    ImagePreloaderFactory.prototype = {\n      loadAssets: loadAssets,\n      setAssetsPath: setAssetsPath,\n      setPath: setPath,\n      loadedImages: loadedImages,\n      loadedFootages: loadedFootages,\n      destroy: destroy,\n      getAsset: getAsset,\n      createImgData: createImgData,\n      createImageData: createImageData,\n      imageLoaded: imageLoaded,\n      footageLoaded: footageLoaded,\n      setCacheType: setCacheType\n    };\n    return ImagePreloaderFactory;\n  }();\n  /* exported featureSupport */\n\n\n  var featureSupport = function () {\n    var ob = {\n      maskType: true\n    };\n\n    if (/MSIE 10/i.test(navigator.userAgent) || /MSIE 9/i.test(navigator.userAgent) || /rv:11.0/i.test(navigator.userAgent) || /Edge\\/\\d./i.test(navigator.userAgent)) {\n      ob.maskType = false;\n    }\n\n    return ob;\n  }();\n  /* global createNS */\n\n  /* exported filtersFactory */\n\n\n  var filtersFactory = function () {\n    var ob = {};\n    ob.createFilter = createFilter;\n    ob.createAlphaToLuminanceFilter = createAlphaToLuminanceFilter;\n\n    function createFilter(filId, skipCoordinates) {\n      var fil = createNS(\"filter\");\n      fil.setAttribute(\"id\", filId);\n\n      if (skipCoordinates !== true) {\n        fil.setAttribute(\"filterUnits\", \"objectBoundingBox\");\n        fil.setAttribute(\"x\", \"0%\");\n        fil.setAttribute(\"y\", \"0%\");\n        fil.setAttribute(\"width\", \"100%\");\n        fil.setAttribute(\"height\", \"100%\");\n      }\n\n      return fil;\n    }\n\n    function createAlphaToLuminanceFilter() {\n      var feColorMatrix = createNS(\"feColorMatrix\");\n      feColorMatrix.setAttribute(\"type\", \"matrix\");\n      feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      feColorMatrix.setAttribute(\"values\", \"0 0 0 1 0  0 0 0 1 0  0 0 0 1 0  0 0 0 1 1\");\n      return feColorMatrix;\n    }\n\n    return ob;\n  }();\n  /* exported assetLoader */\n\n\n  var assetLoader = function () {\n    function formatResponse(xhr) {\n      if (xhr.response && typeof xhr.response === \"object\") {\n        return xhr.response;\n      }\n\n      if (xhr.response && typeof xhr.response === \"string\") {\n        return JSON.parse(xhr.response);\n      }\n\n      if (xhr.responseText) {\n        return JSON.parse(xhr.responseText);\n      }\n\n      return null;\n    }\n\n    function loadAsset(path, callback, errorCallback) {\n      var response;\n      var xhr = new XMLHttpRequest(); // set responseType after calling open or IE will break.\n\n      try {\n        // This crashes on Android WebView prior to KitKat\n        xhr.responseType = \"json\";\n      } catch (err) {} // eslint-disable-line no-empty\n\n\n      xhr.onreadystatechange = function () {\n        if (xhr.readyState === 4) {\n          if (xhr.status === 200) {\n            response = formatResponse(xhr);\n            callback(response);\n          } else {\n            try {\n              response = formatResponse(xhr);\n              callback(response);\n            } catch (err) {\n              if (errorCallback) {\n                errorCallback(err);\n              }\n            }\n          }\n        }\n      };\n\n      xhr.open(\"GET\", path, true);\n      xhr.send();\n    }\n\n    return {\n      load: loadAsset\n    };\n  }();\n  /* global createSizedArray, PropertyFactory, TextAnimatorDataProperty, bez, addHueToRGB,\r\n    addSaturationToRGB, addBrightnessToRGB, LetterProps, Matrix, extendPrototype, DynamicPropertyContainer */\n\n\n  function TextAnimatorProperty(textData, renderType, elem) {\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._hasMaskedPath = false;\n    (this || _global)._frameId = -1;\n    (this || _global)._textData = textData;\n    (this || _global)._renderType = renderType;\n    (this || _global)._elem = elem;\n    (this || _global)._animatorsData = createSizedArray((this || _global)._textData.a.length);\n    (this || _global)._pathData = {};\n    (this || _global)._moreOptions = {\n      alignment: {}\n    };\n    (this || _global).renderedLetters = [];\n    (this || _global).lettersChangedFlag = false;\n    this.initDynamicPropertyContainer(elem);\n  }\n\n  TextAnimatorProperty.prototype.searchProperties = function () {\n    var i;\n    var len = (this || _global)._textData.a.length;\n    var animatorProps;\n    var getProp = PropertyFactory.getProp;\n\n    for (i = 0; i < len; i += 1) {\n      animatorProps = (this || _global)._textData.a[i];\n      (this || _global)._animatorsData[i] = new TextAnimatorDataProperty((this || _global)._elem, animatorProps, this || _global);\n    }\n\n    if ((this || _global)._textData.p && \"m\" in (this || _global)._textData.p) {\n      (this || _global)._pathData = {\n        f: getProp((this || _global)._elem, (this || _global)._textData.p.f, 0, 0, this || _global),\n        l: getProp((this || _global)._elem, (this || _global)._textData.p.l, 0, 0, this || _global),\n        r: (this || _global)._textData.p.r,\n        m: (this || _global)._elem.maskManager.getMaskProperty((this || _global)._textData.p.m)\n      };\n      (this || _global)._hasMaskedPath = true;\n    } else {\n      (this || _global)._hasMaskedPath = false;\n    }\n\n    (this || _global)._moreOptions.alignment = getProp((this || _global)._elem, (this || _global)._textData.m.a, 1, 0, this || _global);\n  };\n\n  TextAnimatorProperty.prototype.getMeasures = function (documentData, lettersChangedFlag) {\n    (this || _global).lettersChangedFlag = lettersChangedFlag;\n\n    if (!(this || _global)._mdf && !(this || _global)._isFirstFrame && !lettersChangedFlag && (!(this || _global)._hasMaskedPath || !(this || _global)._pathData.m._mdf)) {\n      return;\n    }\n\n    (this || _global)._isFirstFrame = false;\n    var alignment = (this || _global)._moreOptions.alignment.v;\n    var animators = (this || _global)._animatorsData;\n    var textData = (this || _global)._textData;\n    var matrixHelper = (this || _global).mHelper;\n    var renderType = (this || _global)._renderType;\n    var renderedLettersCount = (this || _global).renderedLetters.length;\n    var xPos;\n    var yPos;\n    var i;\n    var len;\n    var letters = documentData.l;\n    var pathInfo;\n    var currentLength;\n    var currentPoint;\n    var segmentLength;\n    var flag;\n    var pointInd;\n    var segmentInd;\n    var prevPoint;\n    var points;\n    var segments;\n    var partialLength;\n    var totalLength;\n    var perc;\n    var tanAngle;\n    var mask;\n\n    if ((this || _global)._hasMaskedPath) {\n      mask = (this || _global)._pathData.m;\n\n      if (!(this || _global)._pathData.n || (this || _global)._pathData._mdf) {\n        var paths = mask.v;\n\n        if ((this || _global)._pathData.r) {\n          paths = paths.reverse();\n        } // TODO: release bezier data cached from previous pathInfo: this._pathData.pi\n\n\n        pathInfo = {\n          tLength: 0,\n          segments: []\n        };\n        len = paths._length - 1;\n        var bezierData;\n        totalLength = 0;\n\n        for (i = 0; i < len; i += 1) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[i + 1], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[i + 1][0] - paths.v[i + 1][0], paths.i[i + 1][1] - paths.v[i + 1][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        i = len;\n\n        if (mask.v.c) {\n          bezierData = bez.buildBezierData(paths.v[i], paths.v[0], [paths.o[i][0] - paths.v[i][0], paths.o[i][1] - paths.v[i][1]], [paths.i[0][0] - paths.v[0][0], paths.i[0][1] - paths.v[0][1]]);\n          pathInfo.tLength += bezierData.segmentLength;\n          pathInfo.segments.push(bezierData);\n          totalLength += bezierData.segmentLength;\n        }\n\n        (this || _global)._pathData.pi = pathInfo;\n      }\n\n      pathInfo = (this || _global)._pathData.pi;\n      currentLength = (this || _global)._pathData.f.v;\n      segmentInd = 0;\n      pointInd = 1;\n      segmentLength = 0;\n      flag = true;\n      segments = pathInfo.segments;\n\n      if (currentLength < 0 && mask.v.c) {\n        if (pathInfo.tLength < Math.abs(currentLength)) {\n          currentLength = -Math.abs(currentLength) % pathInfo.tLength;\n        }\n\n        segmentInd = segments.length - 1;\n        points = segments[segmentInd].points;\n        pointInd = points.length - 1;\n\n        while (currentLength < 0) {\n          currentLength += points[pointInd].partialLength;\n          pointInd -= 1;\n\n          if (pointInd < 0) {\n            segmentInd -= 1;\n            points = segments[segmentInd].points;\n            pointInd = points.length - 1;\n          }\n        }\n      }\n\n      points = segments[segmentInd].points;\n      prevPoint = points[pointInd - 1];\n      currentPoint = points[pointInd];\n      partialLength = currentPoint.partialLength;\n    }\n\n    len = letters.length;\n    xPos = 0;\n    yPos = 0;\n    var yOff = documentData.finalSize * 1.2 * 0.714;\n    var firstLine = true;\n    var animatorProps;\n    var animatorSelector;\n    var j;\n    var jLen;\n    var letterValue;\n    jLen = animators.length;\n    var mult;\n    var ind = -1;\n    var offf;\n    var xPathPos;\n    var yPathPos;\n    var initPathPos = currentLength;\n    var initSegmentInd = segmentInd;\n    var initPointInd = pointInd;\n    var currentLine = -1;\n    var elemOpacity;\n    var sc;\n    var sw;\n    var fc;\n    var k;\n    var letterSw;\n    var letterSc;\n    var letterFc;\n    var letterM = \"\";\n    var letterP = (this || _global).defaultPropsArray;\n    var letterO; //\n\n    if (documentData.j === 2 || documentData.j === 1) {\n      var animatorJustifyOffset = 0;\n      var animatorFirstCharOffset = 0;\n      var justifyOffsetMult = documentData.j === 2 ? -0.5 : -1;\n      var lastIndex = 0;\n      var isNewLine = true;\n\n      for (i = 0; i < len; i += 1) {\n        if (letters[i].n) {\n          if (animatorJustifyOffset) {\n            animatorJustifyOffset += animatorFirstCharOffset;\n          }\n\n          while (lastIndex < i) {\n            letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n            lastIndex += 1;\n          }\n\n          animatorJustifyOffset = 0;\n          isNewLine = true;\n        } else {\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.t.propType) {\n              if (isNewLine && documentData.j === 2) {\n                animatorFirstCharOffset += animatorProps.t.v * justifyOffsetMult;\n              }\n\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorJustifyOffset += animatorProps.t.v * mult[0] * justifyOffsetMult;\n              } else {\n                animatorJustifyOffset += animatorProps.t.v * mult * justifyOffsetMult;\n              }\n            }\n          }\n\n          isNewLine = false;\n        }\n      }\n\n      if (animatorJustifyOffset) {\n        animatorJustifyOffset += animatorFirstCharOffset;\n      }\n\n      while (lastIndex < i) {\n        letters[lastIndex].animatorJustifyOffset = animatorJustifyOffset;\n        lastIndex += 1;\n      }\n    } //\n\n\n    for (i = 0; i < len; i += 1) {\n      matrixHelper.reset();\n      elemOpacity = 1;\n\n      if (letters[i].n) {\n        xPos = 0;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        currentLength = initPathPos;\n        firstLine = false;\n\n        if ((this || _global)._hasMaskedPath) {\n          segmentInd = initSegmentInd;\n          pointInd = initPointInd;\n          points = segments[segmentInd].points;\n          prevPoint = points[pointInd - 1];\n          currentPoint = points[pointInd];\n          partialLength = currentPoint.partialLength;\n          segmentLength = 0;\n        }\n\n        letterM = \"\";\n        letterFc = \"\";\n        letterSw = \"\";\n        letterO = \"\";\n        letterP = (this || _global).defaultPropsArray;\n      } else {\n        if ((this || _global)._hasMaskedPath) {\n          if (currentLine !== letters[i].line) {\n            switch (documentData.j) {\n              case 1:\n                currentLength += totalLength - documentData.lineWidths[letters[i].line];\n                break;\n\n              case 2:\n                currentLength += (totalLength - documentData.lineWidths[letters[i].line]) / 2;\n                break;\n\n              default:\n                break;\n            }\n\n            currentLine = letters[i].line;\n          }\n\n          if (ind !== letters[i].ind) {\n            if (letters[ind]) {\n              currentLength += letters[ind].extra;\n            }\n\n            currentLength += letters[i].an / 2;\n            ind = letters[i].ind;\n          }\n\n          currentLength += alignment[0] * letters[i].an * 0.005;\n          var animatorOffset = 0;\n\n          for (j = 0; j < jLen; j += 1) {\n            animatorProps = animators[j].a;\n\n            if (animatorProps.p.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.p.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.p.v[0] * mult;\n              }\n            }\n\n            if (animatorProps.a.propType) {\n              animatorSelector = animators[j].s;\n              mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n              if (mult.length) {\n                animatorOffset += animatorProps.a.v[0] * mult[0];\n              } else {\n                animatorOffset += animatorProps.a.v[0] * mult;\n              }\n            }\n          }\n\n          flag = true;\n\n          while (flag) {\n            if (segmentLength + partialLength >= currentLength + animatorOffset || !points) {\n              perc = (currentLength + animatorOffset - segmentLength) / currentPoint.partialLength;\n              xPathPos = prevPoint.point[0] + (currentPoint.point[0] - prevPoint.point[0]) * perc;\n              yPathPos = prevPoint.point[1] + (currentPoint.point[1] - prevPoint.point[1]) * perc;\n              matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -(alignment[1] * yOff) * 0.01);\n              flag = false;\n            } else if (points) {\n              segmentLength += currentPoint.partialLength;\n              pointInd += 1;\n\n              if (pointInd >= points.length) {\n                pointInd = 0;\n                segmentInd += 1;\n\n                if (!segments[segmentInd]) {\n                  if (mask.v.c) {\n                    pointInd = 0;\n                    segmentInd = 0;\n                    points = segments[segmentInd].points;\n                  } else {\n                    segmentLength -= currentPoint.partialLength;\n                    points = null;\n                  }\n                } else {\n                  points = segments[segmentInd].points;\n                }\n              }\n\n              if (points) {\n                prevPoint = currentPoint;\n                currentPoint = points[pointInd];\n                partialLength = currentPoint.partialLength;\n              }\n            }\n          }\n\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0);\n        } else {\n          offf = letters[i].an / 2 - letters[i].add;\n          matrixHelper.translate(-offf, 0, 0); // Grouping alignment\n\n          matrixHelper.translate(-alignment[0] * letters[i].an * 0.005, -alignment[1] * yOff * 0.01, 0);\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.t.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars); // This condition is to prevent applying tracking to first character in each line. Might be better to use a boolean \"isNewLine\"\n\n            if (xPos !== 0 || documentData.j !== 0) {\n              if ((this || _global)._hasMaskedPath) {\n                if (mult.length) {\n                  currentLength += animatorProps.t.v * mult[0];\n                } else {\n                  currentLength += animatorProps.t.v * mult;\n                }\n              } else if (mult.length) {\n                xPos += animatorProps.t.v * mult[0];\n              } else {\n                xPos += animatorProps.t.v * mult;\n              }\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          sw = documentData.sw || 0;\n        }\n\n        if (documentData.strokeColorAnim) {\n          if (documentData.sc) {\n            sc = [documentData.sc[0], documentData.sc[1], documentData.sc[2]];\n          } else {\n            sc = [0, 0, 0];\n          }\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          fc = [documentData.fc[0], documentData.fc[1], documentData.fc[2]];\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.a.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult[0], -animatorProps.a.v[1] * mult[1], animatorProps.a.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(-animatorProps.a.v[0] * mult, -animatorProps.a.v[1] * mult, animatorProps.a.v[2] * mult);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.s.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if (mult.length) {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult[0], 1 + (animatorProps.s.v[1] - 1) * mult[1], 1);\n            } else {\n              matrixHelper.scale(1 + (animatorProps.s.v[0] - 1) * mult, 1 + (animatorProps.s.v[1] - 1) * mult, 1);\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n          animatorSelector = animators[j].s;\n          mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n          if (animatorProps.sk.propType) {\n            if (mult.length) {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult[0], animatorProps.sa.v * mult[1]);\n            } else {\n              matrixHelper.skewFromAxis(-animatorProps.sk.v * mult, animatorProps.sa.v * mult);\n            }\n          }\n\n          if (animatorProps.r.propType) {\n            if (mult.length) {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult[2]);\n            } else {\n              matrixHelper.rotateZ(-animatorProps.r.v * mult);\n            }\n          }\n\n          if (animatorProps.ry.propType) {\n            if (mult.length) {\n              matrixHelper.rotateY(animatorProps.ry.v * mult[1]);\n            } else {\n              matrixHelper.rotateY(animatorProps.ry.v * mult);\n            }\n          }\n\n          if (animatorProps.rx.propType) {\n            if (mult.length) {\n              matrixHelper.rotateX(animatorProps.rx.v * mult[0]);\n            } else {\n              matrixHelper.rotateX(animatorProps.rx.v * mult);\n            }\n          }\n\n          if (animatorProps.o.propType) {\n            if (mult.length) {\n              elemOpacity += (animatorProps.o.v * mult[0] - elemOpacity) * mult[0];\n            } else {\n              elemOpacity += (animatorProps.o.v * mult - elemOpacity) * mult;\n            }\n          }\n\n          if (documentData.strokeWidthAnim && animatorProps.sw.propType) {\n            if (mult.length) {\n              sw += animatorProps.sw.v * mult[0];\n            } else {\n              sw += animatorProps.sw.v * mult;\n            }\n          }\n\n          if (documentData.strokeColorAnim && animatorProps.sc.propType) {\n            for (k = 0; k < 3; k += 1) {\n              if (mult.length) {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult[0];\n              } else {\n                sc[k] += (animatorProps.sc.v[k] - sc[k]) * mult;\n              }\n            }\n          }\n\n          if (documentData.fillColorAnim && documentData.fc) {\n            if (animatorProps.fc.propType) {\n              for (k = 0; k < 3; k += 1) {\n                if (mult.length) {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult[0];\n                } else {\n                  fc[k] += (animatorProps.fc.v[k] - fc[k]) * mult;\n                }\n              }\n            }\n\n            if (animatorProps.fh.propType) {\n              if (mult.length) {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult[0]);\n              } else {\n                fc = addHueToRGB(fc, animatorProps.fh.v * mult);\n              }\n            }\n\n            if (animatorProps.fs.propType) {\n              if (mult.length) {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult[0]);\n              } else {\n                fc = addSaturationToRGB(fc, animatorProps.fs.v * mult);\n              }\n            }\n\n            if (animatorProps.fb.propType) {\n              if (mult.length) {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult[0]);\n              } else {\n                fc = addBrightnessToRGB(fc, animatorProps.fb.v * mult);\n              }\n            }\n          }\n        }\n\n        for (j = 0; j < jLen; j += 1) {\n          animatorProps = animators[j].a;\n\n          if (animatorProps.p.propType) {\n            animatorSelector = animators[j].s;\n            mult = animatorSelector.getMult(letters[i].anIndexes[j], textData.a[j].s.totalChars);\n\n            if ((this || _global)._hasMaskedPath) {\n              if (mult.length) {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult[0], -animatorProps.p.v[2] * mult[1]);\n              } else {\n                matrixHelper.translate(0, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n              }\n            } else if (mult.length) {\n              matrixHelper.translate(animatorProps.p.v[0] * mult[0], animatorProps.p.v[1] * mult[1], -animatorProps.p.v[2] * mult[2]);\n            } else {\n              matrixHelper.translate(animatorProps.p.v[0] * mult, animatorProps.p.v[1] * mult, -animatorProps.p.v[2] * mult);\n            }\n          }\n        }\n\n        if (documentData.strokeWidthAnim) {\n          letterSw = sw < 0 ? 0 : sw;\n        }\n\n        if (documentData.strokeColorAnim) {\n          letterSc = \"rgb(\" + Math.round(sc[0] * 255) + \",\" + Math.round(sc[1] * 255) + \",\" + Math.round(sc[2] * 255) + \")\";\n        }\n\n        if (documentData.fillColorAnim && documentData.fc) {\n          letterFc = \"rgb(\" + Math.round(fc[0] * 255) + \",\" + Math.round(fc[1] * 255) + \",\" + Math.round(fc[2] * 255) + \")\";\n        }\n\n        if ((this || _global)._hasMaskedPath) {\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(0, alignment[1] * yOff * 0.01 + yPos, 0);\n\n          if (textData.p.p) {\n            tanAngle = (currentPoint.point[1] - prevPoint.point[1]) / (currentPoint.point[0] - prevPoint.point[0]);\n            var rot = Math.atan(tanAngle) * 180 / Math.PI;\n\n            if (currentPoint.point[0] < prevPoint.point[0]) {\n              rot += 180;\n            }\n\n            matrixHelper.rotate(-rot * Math.PI / 180);\n          }\n\n          matrixHelper.translate(xPathPos, yPathPos, 0);\n          currentLength -= alignment[0] * letters[i].an * 0.005;\n\n          if (letters[i + 1] && ind !== letters[i + 1].ind) {\n            currentLength += letters[i].an / 2;\n            currentLength += documentData.tr * 0.001 * documentData.finalSize;\n          }\n        } else {\n          matrixHelper.translate(xPos, yPos, 0);\n\n          if (documentData.ps) {\n            // matrixHelper.translate(documentData.ps[0],documentData.ps[1],0);\n            matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n          }\n\n          switch (documentData.j) {\n            case 1:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]), 0, 0);\n              break;\n\n            case 2:\n              matrixHelper.translate(letters[i].animatorJustifyOffset + documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[letters[i].line]) / 2, 0, 0);\n              break;\n\n            default:\n              break;\n          }\n\n          matrixHelper.translate(0, -documentData.ls);\n          matrixHelper.translate(offf, 0, 0);\n          matrixHelper.translate(alignment[0] * letters[i].an * 0.005, alignment[1] * yOff * 0.01, 0);\n          xPos += letters[i].l + documentData.tr * 0.001 * documentData.finalSize;\n        }\n\n        if (renderType === \"html\") {\n          letterM = matrixHelper.toCSS();\n        } else if (renderType === \"svg\") {\n          letterM = matrixHelper.to2dCSS();\n        } else {\n          letterP = [matrixHelper.props[0], matrixHelper.props[1], matrixHelper.props[2], matrixHelper.props[3], matrixHelper.props[4], matrixHelper.props[5], matrixHelper.props[6], matrixHelper.props[7], matrixHelper.props[8], matrixHelper.props[9], matrixHelper.props[10], matrixHelper.props[11], matrixHelper.props[12], matrixHelper.props[13], matrixHelper.props[14], matrixHelper.props[15]];\n        }\n\n        letterO = elemOpacity;\n      }\n\n      if (renderedLettersCount <= i) {\n        letterValue = new LetterProps(letterO, letterSw, letterSc, letterFc, letterM, letterP);\n\n        (this || _global).renderedLetters.push(letterValue);\n\n        renderedLettersCount += 1;\n        (this || _global).lettersChangedFlag = true;\n      } else {\n        letterValue = (this || _global).renderedLetters[i];\n        (this || _global).lettersChangedFlag = letterValue.update(letterO, letterSw, letterSc, letterFc, letterM, letterP) || (this || _global).lettersChangedFlag;\n      }\n    }\n  };\n\n  TextAnimatorProperty.prototype.getValue = function () {\n    if ((this || _global)._elem.globalData.frameId === (this || _global)._frameId) {\n      return;\n    }\n\n    (this || _global)._frameId = (this || _global)._elem.globalData.frameId;\n    this.iterateDynamicProperties();\n  };\n\n  TextAnimatorProperty.prototype.mHelper = new Matrix();\n  TextAnimatorProperty.prototype.defaultPropsArray = [];\n  extendPrototype([DynamicPropertyContainer], TextAnimatorProperty);\n  /* global PropertyFactory, degToRads, TextSelectorProp */\n\n  /* exported TextAnimatorDataProperty */\n\n  function TextAnimatorDataProperty(elem, animatorProps, container) {\n    var defaultData = {\n      propType: false\n    };\n    var getProp = PropertyFactory.getProp;\n    var textAnimatorAnimatables = animatorProps.a;\n    (this || _global).a = {\n      r: textAnimatorAnimatables.r ? getProp(elem, textAnimatorAnimatables.r, 0, degToRads, container) : defaultData,\n      rx: textAnimatorAnimatables.rx ? getProp(elem, textAnimatorAnimatables.rx, 0, degToRads, container) : defaultData,\n      ry: textAnimatorAnimatables.ry ? getProp(elem, textAnimatorAnimatables.ry, 0, degToRads, container) : defaultData,\n      sk: textAnimatorAnimatables.sk ? getProp(elem, textAnimatorAnimatables.sk, 0, degToRads, container) : defaultData,\n      sa: textAnimatorAnimatables.sa ? getProp(elem, textAnimatorAnimatables.sa, 0, degToRads, container) : defaultData,\n      s: textAnimatorAnimatables.s ? getProp(elem, textAnimatorAnimatables.s, 1, 0.01, container) : defaultData,\n      a: textAnimatorAnimatables.a ? getProp(elem, textAnimatorAnimatables.a, 1, 0, container) : defaultData,\n      o: textAnimatorAnimatables.o ? getProp(elem, textAnimatorAnimatables.o, 0, 0.01, container) : defaultData,\n      p: textAnimatorAnimatables.p ? getProp(elem, textAnimatorAnimatables.p, 1, 0, container) : defaultData,\n      sw: textAnimatorAnimatables.sw ? getProp(elem, textAnimatorAnimatables.sw, 0, 0, container) : defaultData,\n      sc: textAnimatorAnimatables.sc ? getProp(elem, textAnimatorAnimatables.sc, 1, 0, container) : defaultData,\n      fc: textAnimatorAnimatables.fc ? getProp(elem, textAnimatorAnimatables.fc, 1, 0, container) : defaultData,\n      fh: textAnimatorAnimatables.fh ? getProp(elem, textAnimatorAnimatables.fh, 0, 0, container) : defaultData,\n      fs: textAnimatorAnimatables.fs ? getProp(elem, textAnimatorAnimatables.fs, 0, 0.01, container) : defaultData,\n      fb: textAnimatorAnimatables.fb ? getProp(elem, textAnimatorAnimatables.fb, 0, 0.01, container) : defaultData,\n      t: textAnimatorAnimatables.t ? getProp(elem, textAnimatorAnimatables.t, 0, 0, container) : defaultData\n    };\n    (this || _global).s = TextSelectorProp.getTextSelectorProp(elem, animatorProps.s, container);\n    (this || _global).s.t = animatorProps.s.t;\n  }\n\n  function LetterProps(o, sw, sc, fc, m, p) {\n    (this || _global).o = o;\n    (this || _global).sw = sw;\n    (this || _global).sc = sc;\n    (this || _global).fc = fc;\n    (this || _global).m = m;\n    (this || _global).p = p;\n    (this || _global)._mdf = {\n      o: true,\n      sw: !!sw,\n      sc: !!sc,\n      fc: !!fc,\n      m: true,\n      p: true\n    };\n  }\n\n  LetterProps.prototype.update = function (o, sw, sc, fc, m, p) {\n    (this || _global)._mdf.o = false;\n    (this || _global)._mdf.sw = false;\n    (this || _global)._mdf.sc = false;\n    (this || _global)._mdf.fc = false;\n    (this || _global)._mdf.m = false;\n    (this || _global)._mdf.p = false;\n    var updated = false;\n\n    if ((this || _global).o !== o) {\n      (this || _global).o = o;\n      (this || _global)._mdf.o = true;\n      updated = true;\n    }\n\n    if ((this || _global).sw !== sw) {\n      (this || _global).sw = sw;\n      (this || _global)._mdf.sw = true;\n      updated = true;\n    }\n\n    if ((this || _global).sc !== sc) {\n      (this || _global).sc = sc;\n      (this || _global)._mdf.sc = true;\n      updated = true;\n    }\n\n    if ((this || _global).fc !== fc) {\n      (this || _global).fc = fc;\n      (this || _global)._mdf.fc = true;\n      updated = true;\n    }\n\n    if ((this || _global).m !== m) {\n      (this || _global).m = m;\n      (this || _global)._mdf.m = true;\n      updated = true;\n    }\n\n    if (p.length && ((this || _global).p[0] !== p[0] || (this || _global).p[1] !== p[1] || (this || _global).p[4] !== p[4] || (this || _global).p[5] !== p[5] || (this || _global).p[12] !== p[12] || (this || _global).p[13] !== p[13])) {\n      (this || _global).p = p;\n      (this || _global)._mdf.p = true;\n      updated = true;\n    }\n\n    return updated;\n  };\n  /* global FontManager, initialDefaultFrame, getFontProperties */\n\n  /* exported TextProperty */\n\n\n  function TextProperty(elem, data) {\n    (this || _global)._frameId = initialDefaultFrame;\n    (this || _global).pv = \"\";\n    (this || _global).v = \"\";\n    (this || _global).kf = false;\n    (this || _global)._isFirstFrame = true;\n    (this || _global)._mdf = false;\n    (this || _global).data = data;\n    (this || _global).elem = elem;\n    (this || _global).comp = (this || _global).elem.comp;\n    (this || _global).keysIndex = 0;\n    (this || _global).canResize = false;\n    (this || _global).minimumFontSize = 1;\n    (this || _global).effectsSequence = [];\n    (this || _global).currentData = {\n      ascent: 0,\n      boxWidth: (this || _global).defaultBoxWidth,\n      f: \"\",\n      fStyle: \"\",\n      fWeight: \"\",\n      fc: \"\",\n      j: \"\",\n      justifyOffset: \"\",\n      l: [],\n      lh: 0,\n      lineWidths: [],\n      ls: \"\",\n      of: \"\",\n      s: \"\",\n      sc: \"\",\n      sw: 0,\n      t: 0,\n      tr: 0,\n      sz: 0,\n      ps: null,\n      fillColorAnim: false,\n      strokeColorAnim: false,\n      strokeWidthAnim: false,\n      yOffset: 0,\n      finalSize: 0,\n      finalText: [],\n      finalLineHeight: 0,\n      __complete: false\n    };\n    this.copyData((this || _global).currentData, (this || _global).data.d.k[0].s);\n\n    if (!this.searchProperty()) {\n      this.completeTextData((this || _global).currentData);\n    }\n  }\n\n  TextProperty.prototype.defaultBoxWidth = [0, 0];\n\n  TextProperty.prototype.copyData = function (obj, data) {\n    for (var s in data) {\n      if (Object.prototype.hasOwnProperty.call(data, s)) {\n        obj[s] = data[s];\n      }\n    }\n\n    return obj;\n  };\n\n  TextProperty.prototype.setCurrentData = function (data) {\n    if (!data.__complete) {\n      this.completeTextData(data);\n    }\n\n    (this || _global).currentData = data;\n    (this || _global).currentData.boxWidth = (this || _global).currentData.boxWidth || (this || _global).defaultBoxWidth;\n    (this || _global)._mdf = true;\n  };\n\n  TextProperty.prototype.searchProperty = function () {\n    return this.searchKeyframes();\n  };\n\n  TextProperty.prototype.searchKeyframes = function () {\n    (this || _global).kf = (this || _global).data.d.k.length > 1;\n\n    if ((this || _global).kf) {\n      this.addEffect((this || _global).getKeyframeValue.bind(this || _global));\n    }\n\n    return (this || _global).kf;\n  };\n\n  TextProperty.prototype.addEffect = function (effectFunction) {\n    (this || _global).effectsSequence.push(effectFunction);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.getValue = function (_finalValue) {\n    if (((this || _global).elem.globalData.frameId === (this || _global).frameId || !(this || _global).effectsSequence.length) && !_finalValue) {\n      return;\n    }\n\n    (this || _global).currentData.t = (this || _global).data.d.k[(this || _global).keysIndex].s.t;\n    var currentValue = (this || _global).currentData;\n    var currentIndex = (this || _global).keysIndex;\n\n    if ((this || _global).lock) {\n      this.setCurrentData((this || _global).currentData);\n      return;\n    }\n\n    (this || _global).lock = true;\n    (this || _global)._mdf = false;\n    var i;\n    var len = (this || _global).effectsSequence.length;\n    var finalValue = _finalValue || (this || _global).data.d.k[(this || _global).keysIndex].s;\n\n    for (i = 0; i < len; i += 1) {\n      // Checking if index changed to prevent creating a new object every time the expression updates.\n      if (currentIndex !== (this || _global).keysIndex) {\n        finalValue = (this || _global).effectsSequence[i](finalValue, finalValue.t);\n      } else {\n        finalValue = (this || _global).effectsSequence[i]((this || _global).currentData, finalValue.t);\n      }\n    }\n\n    if (currentValue !== finalValue) {\n      this.setCurrentData(finalValue);\n    }\n\n    (this || _global).v = (this || _global).currentData;\n    (this || _global).pv = (this || _global).v;\n    (this || _global).lock = false;\n    (this || _global).frameId = (this || _global).elem.globalData.frameId;\n  };\n\n  TextProperty.prototype.getKeyframeValue = function () {\n    var textKeys = (this || _global).data.d.k;\n    var frameNum = (this || _global).elem.comp.renderedFrame;\n    var i = 0;\n    var len = textKeys.length;\n\n    while (i <= len - 1) {\n      if (i === len - 1 || textKeys[i + 1].t > frameNum) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    if ((this || _global).keysIndex !== i) {\n      (this || _global).keysIndex = i;\n    }\n\n    return (this || _global).data.d.k[(this || _global).keysIndex].s;\n  };\n\n  TextProperty.prototype.buildFinalText = function (text) {\n    var combinedCharacters = FontManager.getCombinedCharacterCodes();\n    var charactersArray = [];\n    var i = 0;\n    var len = text.length;\n    var charCode;\n\n    while (i < len) {\n      charCode = text.charCodeAt(i);\n\n      if (combinedCharacters.indexOf(charCode) !== -1) {\n        charactersArray[charactersArray.length - 1] += text.charAt(i);\n      } else if (charCode >= 55296 && charCode <= 56319) {\n        charCode = text.charCodeAt(i + 1);\n\n        if (charCode >= 56320 && charCode <= 57343) {\n          charactersArray.push(text.substr(i, 2));\n          i += 1;\n        } else {\n          charactersArray.push(text.charAt(i));\n        }\n      } else {\n        charactersArray.push(text.charAt(i));\n      }\n\n      i += 1;\n    }\n\n    return charactersArray;\n  };\n\n  TextProperty.prototype.completeTextData = function (documentData) {\n    documentData.__complete = true;\n    var fontManager = (this || _global).elem.globalData.fontManager;\n    var data = (this || _global).data;\n    var letters = [];\n    var i;\n    var len;\n    var newLineFlag;\n    var index = 0;\n    var val;\n    var anchorGrouping = data.m.g;\n    var currentSize = 0;\n    var currentPos = 0;\n    var currentLine = 0;\n    var lineWidths = [];\n    var lineWidth = 0;\n    var maxLineWidth = 0;\n    var j;\n    var jLen;\n    var fontData = fontManager.getFontByName(documentData.f);\n    var charData;\n    var cLength = 0;\n    var fontProps = getFontProperties(fontData);\n    documentData.fWeight = fontProps.weight;\n    documentData.fStyle = fontProps.style;\n    documentData.finalSize = documentData.s;\n    documentData.finalText = this.buildFinalText(documentData.t);\n    len = documentData.finalText.length;\n    documentData.finalLineHeight = documentData.lh;\n    var trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n    var charCode;\n\n    if (documentData.sz) {\n      var flag = true;\n      var boxWidth = documentData.sz[0];\n      var boxHeight = documentData.sz[1];\n      var currentHeight;\n      var finalText;\n\n      while (flag) {\n        finalText = this.buildFinalText(documentData.t);\n        currentHeight = 0;\n        lineWidth = 0;\n        len = finalText.length;\n        trackingOffset = documentData.tr / 1000 * documentData.finalSize;\n        var lastSpaceIndex = -1;\n\n        for (i = 0; i < len; i += 1) {\n          charCode = finalText[i].charCodeAt(0);\n          newLineFlag = false;\n\n          if (finalText[i] === \" \") {\n            lastSpaceIndex = i;\n          } else if (charCode === 13 || charCode === 3) {\n            lineWidth = 0;\n            newLineFlag = true;\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n          }\n\n          if (fontManager.chars) {\n            charData = fontManager.getCharData(finalText[i], fontData.fStyle, fontData.fFamily);\n            cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n          } else {\n            // tCanvasHelper.font = documentData.s + 'px '+ fontData.fFamily;\n            cLength = fontManager.measureText(finalText[i], documentData.f, documentData.finalSize);\n          }\n\n          if (lineWidth + cLength > boxWidth && finalText[i] !== \" \") {\n            if (lastSpaceIndex === -1) {\n              len += 1;\n            } else {\n              i = lastSpaceIndex;\n            }\n\n            currentHeight += documentData.finalLineHeight || documentData.finalSize * 1.2;\n            finalText.splice(i, lastSpaceIndex === i ? 1 : 0, \"\\r\"); // finalText = finalText.substr(0,i) + \"\\r\" + finalText.substr(i === lastSpaceIndex ? i + 1 : i);\n\n            lastSpaceIndex = -1;\n            lineWidth = 0;\n          } else {\n            lineWidth += cLength;\n            lineWidth += trackingOffset;\n          }\n        }\n\n        currentHeight += fontData.ascent * documentData.finalSize / 100;\n\n        if ((this || _global).canResize && documentData.finalSize > (this || _global).minimumFontSize && boxHeight < currentHeight) {\n          documentData.finalSize -= 1;\n          documentData.finalLineHeight = documentData.finalSize * documentData.lh / documentData.s;\n        } else {\n          documentData.finalText = finalText;\n          len = documentData.finalText.length;\n          flag = false;\n        }\n      }\n    }\n\n    lineWidth = -trackingOffset;\n    cLength = 0;\n    var uncollapsedSpaces = 0;\n    var currentChar;\n\n    for (i = 0; i < len; i += 1) {\n      newLineFlag = false;\n      currentChar = documentData.finalText[i];\n      charCode = currentChar.charCodeAt(0);\n\n      if (charCode === 13 || charCode === 3) {\n        uncollapsedSpaces = 0;\n        lineWidths.push(lineWidth);\n        maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n        lineWidth = -2 * trackingOffset;\n        val = \"\";\n        newLineFlag = true;\n        currentLine += 1;\n      } else {\n        val = currentChar;\n      }\n\n      if (fontManager.chars) {\n        charData = fontManager.getCharData(currentChar, fontData.fStyle, fontManager.getFontByName(documentData.f).fFamily);\n        cLength = newLineFlag ? 0 : charData.w * documentData.finalSize / 100;\n      } else {\n        // var charWidth = fontManager.measureText(val, documentData.f, documentData.finalSize);\n        // tCanvasHelper.font = documentData.finalSize + 'px '+ fontManager.getFontByName(documentData.f).fFamily;\n        cLength = fontManager.measureText(val, documentData.f, documentData.finalSize);\n      } //\n\n\n      if (currentChar === \" \") {\n        uncollapsedSpaces += cLength + trackingOffset;\n      } else {\n        lineWidth += cLength + trackingOffset + uncollapsedSpaces;\n        uncollapsedSpaces = 0;\n      }\n\n      letters.push({\n        l: cLength,\n        an: cLength,\n        add: currentSize,\n        n: newLineFlag,\n        anIndexes: [],\n        val: val,\n        line: currentLine,\n        animatorJustifyOffset: 0\n      });\n\n      if (anchorGrouping == 2) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || val === \" \" || i === len - 1) {\n          if (val === \"\" || val === \" \") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          index += 1;\n          currentSize = 0;\n        }\n      } else if (anchorGrouping == 3) {\n        // eslint-disable-line eqeqeq\n        currentSize += cLength;\n\n        if (val === \"\" || i === len - 1) {\n          if (val === \"\") {\n            currentSize -= cLength;\n          }\n\n          while (currentPos <= i) {\n            letters[currentPos].an = currentSize;\n            letters[currentPos].ind = index;\n            letters[currentPos].extra = cLength;\n            currentPos += 1;\n          }\n\n          currentSize = 0;\n          index += 1;\n        }\n      } else {\n        letters[index].ind = index;\n        letters[index].extra = 0;\n        index += 1;\n      }\n    }\n\n    documentData.l = letters;\n    maxLineWidth = lineWidth > maxLineWidth ? lineWidth : maxLineWidth;\n    lineWidths.push(lineWidth);\n\n    if (documentData.sz) {\n      documentData.boxWidth = documentData.sz[0];\n      documentData.justifyOffset = 0;\n    } else {\n      documentData.boxWidth = maxLineWidth;\n\n      switch (documentData.j) {\n        case 1:\n          documentData.justifyOffset = -documentData.boxWidth;\n          break;\n\n        case 2:\n          documentData.justifyOffset = -documentData.boxWidth / 2;\n          break;\n\n        default:\n          documentData.justifyOffset = 0;\n      }\n    }\n\n    documentData.lineWidths = lineWidths;\n    var animators = data.a;\n    var animatorData;\n    var letterData;\n    jLen = animators.length;\n    var based;\n    var ind;\n    var indexes = [];\n\n    for (j = 0; j < jLen; j += 1) {\n      animatorData = animators[j];\n\n      if (animatorData.a.sc) {\n        documentData.strokeColorAnim = true;\n      }\n\n      if (animatorData.a.sw) {\n        documentData.strokeWidthAnim = true;\n      }\n\n      if (animatorData.a.fc || animatorData.a.fh || animatorData.a.fs || animatorData.a.fb) {\n        documentData.fillColorAnim = true;\n      }\n\n      ind = 0;\n      based = animatorData.s.b;\n\n      for (i = 0; i < len; i += 1) {\n        letterData = letters[i];\n        letterData.anIndexes[j] = ind;\n\n        if (based == 1 && letterData.val !== \"\" || based == 2 && letterData.val !== \"\" && letterData.val !== \" \" || based == 3 && (letterData.n || letterData.val == \" \" || i == len - 1) || based == 4 && (letterData.n || i == len - 1)) {\n          // eslint-disable-line eqeqeq\n          if (animatorData.s.rn === 1) {\n            indexes.push(ind);\n          }\n\n          ind += 1;\n        }\n      }\n\n      data.a[j].s.totalChars = ind;\n      var currentInd = -1;\n      var newInd;\n\n      if (animatorData.s.rn === 1) {\n        for (i = 0; i < len; i += 1) {\n          letterData = letters[i];\n\n          if (currentInd != letterData.anIndexes[j]) {\n            // eslint-disable-line eqeqeq\n            currentInd = letterData.anIndexes[j];\n            newInd = indexes.splice(Math.floor(Math.random() * indexes.length), 1)[0];\n          }\n\n          letterData.anIndexes[j] = newInd;\n        }\n      }\n    }\n\n    documentData.yOffset = documentData.finalLineHeight || documentData.finalSize * 1.2;\n    documentData.ls = documentData.ls || 0;\n    documentData.ascent = fontData.ascent * documentData.finalSize / 100;\n  };\n\n  TextProperty.prototype.updateDocumentData = function (newData, index) {\n    index = index === undefined ? (this || _global).keysIndex : index;\n    var dData = this.copyData({}, (this || _global).data.d.k[index].s);\n    dData = this.copyData(dData, newData);\n    (this || _global).data.d.k[index].s = dData;\n    this.recalculate(index);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.recalculate = function (index) {\n    var dData = (this || _global).data.d.k[index].s;\n    dData.__complete = false;\n    (this || _global).keysIndex = 0;\n    (this || _global)._isFirstFrame = true;\n    this.getValue(dData);\n  };\n\n  TextProperty.prototype.canResizeFont = function (_canResize) {\n    (this || _global).canResize = _canResize;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n\n  TextProperty.prototype.setMinimumFontSize = function (_fontValue) {\n    (this || _global).minimumFontSize = Math.floor(_fontValue) || 1;\n    this.recalculate((this || _global).keysIndex);\n\n    (this || _global).elem.addDynamicProperty(this || _global);\n  };\n  /* global extendPrototype, BezierFactory, PropertyFactory, DynamicPropertyContainer */\n\n  /* exported TextSelectorProp */\n\n\n  var TextSelectorProp = function () {\n    var max = Math.max;\n    var min = Math.min;\n    var floor = Math.floor;\n\n    function TextSelectorPropFactory(elem, data) {\n      (this || _global)._currentTextLength = -1;\n      (this || _global).k = false;\n      (this || _global).data = data;\n      (this || _global).elem = elem;\n      (this || _global).comp = elem.comp;\n      (this || _global).finalS = 0;\n      (this || _global).finalE = 0;\n      this.initDynamicPropertyContainer(elem);\n      (this || _global).s = PropertyFactory.getProp(elem, data.s || {\n        k: 0\n      }, 0, 0, this || _global);\n\n      if (\"e\" in data) {\n        (this || _global).e = PropertyFactory.getProp(elem, data.e, 0, 0, this || _global);\n      } else {\n        (this || _global).e = {\n          v: 100\n        };\n      }\n\n      (this || _global).o = PropertyFactory.getProp(elem, data.o || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).xe = PropertyFactory.getProp(elem, data.xe || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).ne = PropertyFactory.getProp(elem, data.ne || {\n        k: 0\n      }, 0, 0, this || _global);\n      (this || _global).a = PropertyFactory.getProp(elem, data.a, 0, 0.01, this || _global);\n\n      if (!(this || _global).dynamicProperties.length) {\n        this.getValue();\n      }\n    }\n\n    TextSelectorPropFactory.prototype = {\n      getMult: function (ind) {\n        if ((this || _global)._currentTextLength !== (this || _global).elem.textProperty.currentData.l.length) {\n          this.getValue();\n        } // var easer = bez.getEasingCurve(this.ne.v/100,0,1-this.xe.v/100,1);\n\n\n        var x1 = 0;\n        var y1 = 0;\n        var x2 = 1;\n        var y2 = 1;\n\n        if ((this || _global).ne.v > 0) {\n          x1 = (this || _global).ne.v / 100;\n        } else {\n          y1 = -(this || _global).ne.v / 100;\n        }\n\n        if ((this || _global).xe.v > 0) {\n          x2 = 1 - (this || _global).xe.v / 100;\n        } else {\n          y2 = 1 + (this || _global).xe.v / 100;\n        }\n\n        var easer = BezierFactory.getBezierEasing(x1, y1, x2, y2).get;\n        var mult = 0;\n        var s = (this || _global).finalS;\n        var e = (this || _global).finalE;\n        var type = (this || _global).data.sh;\n\n        if (type === 2) {\n          if (e === s) {\n            mult = ind >= e ? 1 : 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 3) {\n          if (e === s) {\n            mult = ind >= e ? 0 : 1;\n          } else {\n            mult = 1 - max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n          }\n\n          mult = easer(mult);\n        } else if (type === 4) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            mult = max(0, min(0.5 / (e - s) + (ind - s) / (e - s), 1));\n\n            if (mult < 0.5) {\n              mult *= 2;\n            } else {\n              mult = 1 - 2 * (mult - 0.5);\n            }\n          }\n\n          mult = easer(mult);\n        } else if (type === 5) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            var tot = e - s;\n            /* ind += 0.5;\r\n                      mult = -4/(tot*tot)*(ind*ind)+(4/tot)*ind; */\n\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            var x = -tot / 2 + ind;\n            var a = tot / 2;\n            mult = Math.sqrt(1 - x * x / (a * a));\n          }\n\n          mult = easer(mult);\n        } else if (type === 6) {\n          if (e === s) {\n            mult = 0;\n          } else {\n            ind = min(max(0, ind + 0.5 - s), e - s);\n            mult = (1 + Math.cos(Math.PI + Math.PI * 2 * ind / (e - s))) / 2; // eslint-disable-line\n          }\n\n          mult = easer(mult);\n        } else {\n          if (ind >= floor(s)) {\n            if (ind - s < 0) {\n              mult = max(0, min(min(e, 1) - (s - ind), 1));\n            } else {\n              mult = max(0, min(e - ind, 1));\n            }\n          }\n\n          mult = easer(mult);\n        }\n\n        return mult * (this || _global).a.v;\n      },\n      getValue: function (newCharsFlag) {\n        this.iterateDynamicProperties();\n        (this || _global)._mdf = newCharsFlag || (this || _global)._mdf;\n        (this || _global)._currentTextLength = (this || _global).elem.textProperty.currentData.l.length || 0;\n\n        if (newCharsFlag && (this || _global).data.r === 2) {\n          (this || _global).e.v = (this || _global)._currentTextLength;\n        }\n\n        var divisor = (this || _global).data.r === 2 ? 1 : 100 / (this || _global).data.totalChars;\n        var o = (this || _global).o.v / divisor;\n        var s = (this || _global).s.v / divisor + o;\n        var e = (this || _global).e.v / divisor + o;\n\n        if (s > e) {\n          var _s = s;\n          s = e;\n          e = _s;\n        }\n\n        (this || _global).finalS = s;\n        (this || _global).finalE = e;\n      }\n    };\n    extendPrototype([DynamicPropertyContainer], TextSelectorPropFactory);\n\n    function getTextSelectorProp(elem, data, arr) {\n      return new TextSelectorPropFactory(elem, data, arr);\n    }\n\n    return {\n      getTextSelectorProp: getTextSelectorProp\n    };\n  }();\n  /* global createSizedArray, pooling */\n\n  /* exported poolFactory */\n\n\n  var poolFactory = function () {\n    return function (initialLength, _create, _release) {\n      var _length = 0;\n      var _maxLength = initialLength;\n      var pool = createSizedArray(_maxLength);\n      var ob = {\n        newElement: newElement,\n        release: release\n      };\n\n      function newElement() {\n        var element;\n\n        if (_length) {\n          _length -= 1;\n          element = pool[_length];\n        } else {\n          element = _create();\n        }\n\n        return element;\n      }\n\n      function release(element) {\n        if (_length === _maxLength) {\n          pool = pooling.double(pool);\n          _maxLength *= 2;\n        }\n\n        if (_release) {\n          _release(element);\n        }\n\n        pool[_length] = element;\n        _length += 1;\n      }\n\n      return ob;\n    };\n  }();\n  /* global createSizedArray */\n\n  /* exported pooling */\n\n\n  var pooling = function () {\n    function double(arr) {\n      return arr.concat(createSizedArray(arr.length));\n    }\n\n    return {\n      double: double\n    };\n  }();\n  /* global createTypedArray, poolFactory */\n\n  /* exported pointPool */\n\n\n  var pointPool = function () {\n    function create() {\n      return createTypedArray(\"float32\", 2);\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* global ShapePath, pointPool, poolFactory */\n\n  /* exported shapePool */\n\n\n  var shapePool = function () {\n    function create() {\n      return new ShapePath();\n    }\n\n    function release(shapePath) {\n      var len = shapePath._length;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        pointPool.release(shapePath.v[i]);\n        pointPool.release(shapePath.i[i]);\n        pointPool.release(shapePath.o[i]);\n        shapePath.v[i] = null;\n        shapePath.i[i] = null;\n        shapePath.o[i] = null;\n      }\n\n      shapePath._length = 0;\n      shapePath.c = false;\n    }\n\n    function clone(shape) {\n      var cloned = factory.newElement();\n      var i;\n      var len = shape._length === undefined ? shape.v.length : shape._length;\n      cloned.setLength(len);\n      cloned.c = shape.c;\n\n      for (i = 0; i < len; i += 1) {\n        cloned.setTripleAt(shape.v[i][0], shape.v[i][1], shape.o[i][0], shape.o[i][1], shape.i[i][0], shape.i[i][1], i);\n      }\n\n      return cloned;\n    }\n\n    var factory = poolFactory(4, create, release);\n    factory.clone = clone;\n    return factory;\n  }();\n  /* global createSizedArray, ShapeCollection, shapePool, pooling */\n\n  /* exported shapeCollectionPool */\n\n\n  var shapeCollectionPool = function () {\n    var ob = {\n      newShapeCollection: newShapeCollection,\n      release: release\n    };\n    var _length = 0;\n    var _maxLength = 4;\n    var pool = createSizedArray(_maxLength);\n\n    function newShapeCollection() {\n      var shapeCollection;\n\n      if (_length) {\n        _length -= 1;\n        shapeCollection = pool[_length];\n      } else {\n        shapeCollection = new ShapeCollection();\n      }\n\n      return shapeCollection;\n    }\n\n    function release(shapeCollection) {\n      var i;\n      var len = shapeCollection._length;\n\n      for (i = 0; i < len; i += 1) {\n        shapePool.release(shapeCollection.shapes[i]);\n      }\n\n      shapeCollection._length = 0;\n\n      if (_length === _maxLength) {\n        pool = pooling.double(pool);\n        _maxLength *= 2;\n      }\n\n      pool[_length] = shapeCollection;\n      _length += 1;\n    }\n\n    return ob;\n  }();\n  /* global poolFactory, bezierLengthPool */\n\n  /* exported segmentsLengthPool */\n\n\n  var segmentsLengthPool = function () {\n    function create() {\n      return {\n        lengths: [],\n        totalLength: 0\n      };\n    }\n\n    function release(element) {\n      var i;\n      var len = element.lengths.length;\n\n      for (i = 0; i < len; i += 1) {\n        bezierLengthPool.release(element.lengths[i]);\n      }\n\n      element.lengths.length = 0;\n    }\n\n    return poolFactory(8, create, release);\n  }();\n  /* global createTypedArray, defaultCurveSegments, poolFactory */\n\n  /* exported bezierLengthPool */\n\n\n  var bezierLengthPool = function () {\n    function create() {\n      return {\n        addedLength: 0,\n        percents: createTypedArray(\"float32\", defaultCurveSegments),\n        lengths: createTypedArray(\"float32\", defaultCurveSegments)\n      };\n    }\n\n    return poolFactory(8, create);\n  }();\n  /* exported markerParser */\n\n\n  var markerParser = function () {\n    function parsePayloadLines(payload) {\n      var lines = payload.split(\"\\r\\n\");\n      var keys = {};\n      var line;\n      var keysCount = 0;\n\n      for (var i = 0; i < lines.length; i += 1) {\n        line = lines[i].split(\":\");\n\n        if (line.length === 2) {\n          keys[line[0]] = line[1].trim();\n          keysCount += 1;\n        }\n      }\n\n      if (keysCount === 0) {\n        throw new Error();\n      }\n\n      return keys;\n    }\n\n    return function (_markers) {\n      var markers = [];\n\n      for (var i = 0; i < _markers.length; i += 1) {\n        var _marker = _markers[i];\n        var markerData = {\n          time: _marker.tm,\n          duration: _marker.dr\n        };\n\n        try {\n          markerData.payload = JSON.parse(_markers[i].cm);\n        } catch (_) {\n          try {\n            markerData.payload = parsePayloadLines(_markers[i].cm);\n          } catch (__) {\n            markerData.payload = {\n              name: _markers[i]\n            };\n          }\n        }\n\n        markers.push(markerData);\n      }\n\n      return markers;\n    };\n  }();\n  /* global AudioElement, FootageElement, FontManager */\n\n\n  function BaseRenderer() {}\n\n  BaseRenderer.prototype.checkLayers = function (num) {\n    var i;\n    var len = (this || _global).layers.length;\n    var data;\n    (this || _global).completeLayers = true;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if (!(this || _global).elements[i]) {\n        data = (this || _global).layers[i];\n\n        if (data.ip - data.st <= num - (this || _global).layers[i].st && data.op - data.st > num - (this || _global).layers[i].st) {\n          this.buildItem(i);\n        }\n      }\n\n      (this || _global).completeLayers = (this || _global).elements[i] ? (this || _global).completeLayers : false;\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.createItem = function (layer) {\n    switch (layer.ty) {\n      case 2:\n        return this.createImage(layer);\n\n      case 0:\n        return this.createComp(layer);\n\n      case 1:\n        return this.createSolid(layer);\n\n      case 3:\n        return this.createNull(layer);\n\n      case 4:\n        return this.createShape(layer);\n\n      case 5:\n        return this.createText(layer);\n\n      case 6:\n        return this.createAudio(layer);\n\n      case 13:\n        return this.createCamera(layer);\n\n      case 15:\n        return this.createFootage(layer);\n\n      default:\n        return this.createNull(layer);\n    }\n  };\n\n  BaseRenderer.prototype.createCamera = function () {\n    throw new Error(\"You're using a 3d camera. Try the html renderer.\");\n  };\n\n  BaseRenderer.prototype.createAudio = function (data) {\n    return new AudioElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.createFootage = function (data) {\n    return new FootageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  BaseRenderer.prototype.buildAllItems = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      this.buildItem(i);\n    }\n\n    this.checkPendingElements();\n  };\n\n  BaseRenderer.prototype.includeLayers = function (newLayers) {\n    (this || _global).completeLayers = false;\n    var i;\n    var len = newLayers.length;\n    var j;\n    var jLen = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      j = 0;\n\n      while (j < jLen) {\n        if ((this || _global).layers[j].id === newLayers[i].id) {\n          (this || _global).layers[j] = newLayers[i];\n          break;\n        }\n\n        j += 1;\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setProjectInterface = function (pInterface) {\n    (this || _global).globalData.projectInterface = pInterface;\n  };\n\n  BaseRenderer.prototype.initItems = function () {\n    if (!(this || _global).globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n  };\n\n  BaseRenderer.prototype.buildElementParenting = function (element, parentName, hierarchy) {\n    var elements = (this || _global).elements;\n    var layers = (this || _global).layers;\n    var i = 0;\n    var len = layers.length;\n\n    while (i < len) {\n      if (layers[i].ind == parentName) {\n        // eslint-disable-line eqeqeq\n        if (!elements[i] || elements[i] === true) {\n          this.buildItem(i);\n          this.addPendingElement(element);\n        } else {\n          hierarchy.push(elements[i]);\n          elements[i].setAsParent();\n\n          if (layers[i].parent !== undefined) {\n            this.buildElementParenting(element, layers[i].parent, hierarchy);\n          } else {\n            element.setHierarchy(hierarchy);\n          }\n        }\n      }\n\n      i += 1;\n    }\n  };\n\n  BaseRenderer.prototype.addPendingElement = function (element) {\n    (this || _global).pendingElements.push(element);\n  };\n\n  BaseRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i]);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n\n  BaseRenderer.prototype.setupGlobalData = function (animData, fontsContainer) {\n    (this || _global).globalData.fontManager = new FontManager();\n\n    (this || _global).globalData.fontManager.addChars(animData.chars);\n\n    (this || _global).globalData.fontManager.addFonts(animData.fonts, fontsContainer);\n\n    (this || _global).globalData.getAssetData = (this || _global).animationItem.getAssetData.bind((this || _global).animationItem);\n    (this || _global).globalData.getAssetsPath = (this || _global).animationItem.getAssetsPath.bind((this || _global).animationItem);\n    (this || _global).globalData.imageLoader = (this || _global).animationItem.imagePreloader;\n    (this || _global).globalData.audioController = (this || _global).animationItem.audioController;\n    (this || _global).globalData.frameId = 0;\n    (this || _global).globalData.frameRate = animData.fr;\n    (this || _global).globalData.nm = animData.nm;\n    (this || _global).globalData.compSize = {\n      w: animData.w,\n      h: animData.h\n    };\n  };\n  /* global createElementID, extendPrototype, BaseRenderer, NullElement, SVGShapeElement, SVGTextLottieElement,\r\n  IImageElement, SVGCompElement, ISolidElement, createNS, locationHref, createSizedArray, expressionsPlugin */\n\n\n  function SVGRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).svgElement = createNS(\"svg\");\n    var ariaLabel = \"\";\n\n    if (config && config.title) {\n      var titleElement = createNS(\"title\");\n      var titleId = createElementID();\n      titleElement.setAttribute(\"id\", titleId);\n      titleElement.textContent = config.title;\n\n      (this || _global).svgElement.appendChild(titleElement);\n\n      ariaLabel += titleId;\n    }\n\n    if (config && config.description) {\n      var descElement = createNS(\"desc\");\n      var descId = createElementID();\n      descElement.setAttribute(\"id\", descId);\n      descElement.textContent = config.description;\n\n      (this || _global).svgElement.appendChild(descElement);\n\n      ariaLabel += \" \" + descId;\n    }\n\n    if (ariaLabel) {\n      (this || _global).svgElement.setAttribute(\"aria-labelledby\", ariaLabel);\n    }\n\n    var defs = createNS(\"defs\");\n\n    (this || _global).svgElement.appendChild(defs);\n\n    var maskElement = createNS(\"g\");\n\n    (this || _global).svgElement.appendChild(maskElement);\n\n    (this || _global).layerElement = maskElement;\n    (this || _global).renderConfig = {\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      progressiveLoad: config && config.progressiveLoad || false,\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      viewBoxOnly: config && config.viewBoxOnly || false,\n      viewBoxSize: config && config.viewBoxSize || false,\n      className: config && config.className || \"\",\n      id: config && config.id || \"\",\n      focusable: config && config.focusable,\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"100%\",\n        height: config && config.filterSize && config.filterSize.height || \"100%\",\n        x: config && config.filterSize && config.filterSize.x || \"0%\",\n        y: config && config.filterSize && config.filterSize.y || \"0%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      defs: defs,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).rendererType = \"svg\";\n  }\n\n  extendPrototype([BaseRenderer], SVGRenderer);\n\n  SVGRenderer.prototype.createNull = function (data) {\n    return new NullElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createShape = function (data) {\n    return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createText = function (data) {\n    return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createImage = function (data) {\n    return new IImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createComp = function (data) {\n    return new SVGCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.createSolid = function (data) {\n    return new ISolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  SVGRenderer.prototype.configAnimation = function (animData) {\n    (this || _global).svgElement.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n\n    if ((this || _global).renderConfig.viewBoxSize) {\n      (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).renderConfig.viewBoxSize);\n    } else {\n      (this || _global).svgElement.setAttribute(\"viewBox\", \"0 0 \" + animData.w + \" \" + animData.h);\n    }\n\n    if (!(this || _global).renderConfig.viewBoxOnly) {\n      (this || _global).svgElement.setAttribute(\"width\", animData.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", animData.h);\n\n      (this || _global).svgElement.style.width = \"100%\";\n      (this || _global).svgElement.style.height = \"100%\";\n      (this || _global).svgElement.style.transform = \"translate3d(0,0,0)\";\n    }\n\n    if ((this || _global).renderConfig.className) {\n      (this || _global).svgElement.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    if ((this || _global).renderConfig.id) {\n      (this || _global).svgElement.setAttribute(\"id\", (this || _global).renderConfig.id);\n    }\n\n    if ((this || _global).renderConfig.focusable !== undefined) {\n      (this || _global).svgElement.setAttribute(\"focusable\", (this || _global).renderConfig.focusable);\n    }\n\n    (this || _global).svgElement.setAttribute(\"preserveAspectRatio\", (this || _global).renderConfig.preserveAspectRatio); // this.layerElement.style.transform = 'translate3d(0,0,0)';\n    // this.layerElement.style.transformOrigin = this.layerElement.style.mozTransformOrigin = this.layerElement.style.webkitTransformOrigin = this.layerElement.style['-webkit-transform'] = \"0px 0px 0px\";\n\n\n    (this || _global).animationItem.wrapper.appendChild((this || _global).svgElement); // Mask animation\n\n\n    var defs = (this || _global).globalData.defs;\n    this.setupGlobalData(animData, defs);\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).data = animData;\n    var maskElement = createNS(\"clipPath\");\n    var rect = createNS(\"rect\");\n    rect.setAttribute(\"width\", animData.w);\n    rect.setAttribute(\"height\", animData.h);\n    rect.setAttribute(\"x\", 0);\n    rect.setAttribute(\"y\", 0);\n    var maskId = createElementID();\n    maskElement.setAttribute(\"id\", maskId);\n    maskElement.appendChild(rect);\n\n    (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + maskId + \")\");\n\n    defs.appendChild(maskElement);\n    (this || _global).layers = animData.layers;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n  };\n\n  SVGRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).layerElement = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  SVGRenderer.prototype.updateContainerSize = function () {};\n\n  SVGRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    elements[pos] = true;\n    var element = this.createItem((this || _global).layers[pos]);\n    elements[pos] = element;\n\n    if (expressionsPlugin) {\n      if ((this || _global).layers[pos].ty === 0) {\n        (this || _global).globalData.projectInterface.registerComposition(element);\n      }\n\n      element.initExpressions();\n    }\n\n    this.appendElementInPos(element, pos);\n\n    if ((this || _global).layers[pos].tt) {\n      if (!(this || _global).elements[pos - 1] || (this || _global).elements[pos - 1] === true) {\n        this.buildItem(pos - 1);\n        this.addPendingElement(element);\n      } else {\n        element.setMatte(elements[pos - 1].layerId);\n      }\n    }\n  };\n\n  SVGRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n\n      if (element.data.tt) {\n        var i = 0;\n        var len = (this || _global).elements.length;\n\n        while (i < len) {\n          if ((this || _global).elements[i] === element) {\n            element.setMatte((this || _global).elements[i - 1].layerId);\n            break;\n          }\n\n          i += 1;\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.renderFrame = function (num) {\n    if ((this || _global).renderedFrame === num || (this || _global).destroyed) {\n      return;\n    }\n\n    if (num === null) {\n      num = (this || _global).renderedFrame;\n    } else {\n      (this || _global).renderedFrame = num;\n    } // console.log('-------');\n    // console.log('FRAME ',num);\n\n\n    (this || _global).globalData.frameNum = num;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData.projectInterface.currentFrame = num;\n    (this || _global).globalData._mdf = false;\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      for (i = 0; i < len; i += 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n    }\n  };\n\n  SVGRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newElement = element.getBaseElement();\n\n    if (!newElement) {\n      return;\n    }\n\n    var i = 0;\n    var nextElement;\n\n    while (i < pos) {\n      if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement()) {\n        nextElement = (this || _global).elements[i].getBaseElement();\n      }\n\n      i += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(newElement, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(newElement);\n    }\n  };\n\n  SVGRenderer.prototype.hide = function () {\n    (this || _global).layerElement.style.display = \"none\";\n  };\n\n  SVGRenderer.prototype.show = function () {\n    (this || _global).layerElement.style.display = \"block\";\n  };\n  /* global CVContextData, Matrix, extendPrototype, BaseRenderer, CVShapeElement, CVTextElement,\r\n  CVImageElement, CVCompElement, CVSolidElement, SVGRenderer, createTag, createSizedArray */\n\n\n  function CanvasRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).renderConfig = {\n      clearCanvas: config && config.clearCanvas !== undefined ? config.clearCanvas : true,\n      context: config && config.context || null,\n      progressiveLoad: config && config.progressiveLoad || false,\n      preserveAspectRatio: config && config.preserveAspectRatio || \"xMidYMid meet\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      className: config && config.className || \"\",\n      id: config && config.id || \"\"\n    };\n    (this || _global).renderConfig.dpr = config && config.dpr || 1;\n\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).renderConfig.dpr = config && config.dpr || window.devicePixelRatio || 1;\n    }\n\n    (this || _global).renderedFrame = -1;\n    (this || _global).globalData = {\n      frameNum: -1,\n      _mdf: false,\n      renderConfig: (this || _global).renderConfig,\n      currentGlobalAlpha: -1\n    };\n    (this || _global).contextData = new CVContextData();\n    (this || _global).elements = [];\n    (this || _global).pendingElements = [];\n    (this || _global).transformMat = new Matrix();\n    (this || _global).completeLayers = false;\n    (this || _global).rendererType = \"canvas\";\n  }\n\n  extendPrototype([BaseRenderer], CanvasRenderer);\n\n  CanvasRenderer.prototype.createShape = function (data) {\n    return new CVShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createText = function (data) {\n    return new CVTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createImage = function (data) {\n    return new CVImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createComp = function (data) {\n    return new CVCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createSolid = function (data) {\n    return new CVSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  CanvasRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  CanvasRenderer.prototype.ctxTransform = function (props) {\n    if (props[0] === 1 && props[1] === 0 && props[4] === 0 && props[5] === 1 && props[12] === 0 && props[13] === 0) {\n      return;\n    }\n\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.transform(props[0], props[1], props[4], props[5], props[12], props[13]);\n\n      return;\n    }\n\n    (this || _global).transformMat.cloneFromProps(props);\n\n    var cProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).transformMat.transform(cProps[0], cProps[1], cProps[2], cProps[3], cProps[4], cProps[5], cProps[6], cProps[7], cProps[8], cProps[9], cProps[10], cProps[11], cProps[12], cProps[13], cProps[14], cProps[15]); // this.contextData.cTr.transform(props[0],props[1],props[2],props[3],props[4],props[5],props[6],props[7],props[8],props[9],props[10],props[11],props[12],props[13],props[14],props[15]);\n\n\n    (this || _global).contextData.cTr.cloneFromProps((this || _global).transformMat.props);\n\n    var trProps = (this || _global).contextData.cTr.props;\n\n    (this || _global).canvasContext.setTransform(trProps[0], trProps[1], trProps[4], trProps[5], trProps[12], trProps[13]);\n  };\n\n  CanvasRenderer.prototype.ctxOpacity = function (op) {\n    /* if(op === 1){\r\n          return;\r\n      } */\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.globalAlpha *= op < 0 ? 0 : op;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n      return;\n    }\n\n    (this || _global).contextData.cO *= op < 0 ? 0 : op;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== (this || _global).contextData.cO) {\n      (this || _global).canvasContext.globalAlpha = (this || _global).contextData.cO;\n      (this || _global).globalData.currentGlobalAlpha = (this || _global).contextData.cO;\n    }\n  };\n\n  CanvasRenderer.prototype.reset = function () {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    (this || _global).contextData.reset();\n  };\n\n  CanvasRenderer.prototype.save = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.save();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.save();\n    }\n\n    var props = (this || _global).contextData.cTr.props;\n\n    if ((this || _global).contextData._length <= (this || _global).contextData.cArrPos) {\n      (this || _global).contextData.duplicate();\n    }\n\n    var i;\n    var arr = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = props[i];\n    }\n\n    (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos] = (this || _global).contextData.cO;\n    (this || _global).contextData.cArrPos += 1;\n  };\n\n  CanvasRenderer.prototype.restore = function (actionFlag) {\n    if (!(this || _global).renderConfig.clearCanvas) {\n      (this || _global).canvasContext.restore();\n\n      return;\n    }\n\n    if (actionFlag) {\n      (this || _global).canvasContext.restore();\n\n      (this || _global).globalData.blendMode = \"source-over\";\n    }\n\n    (this || _global).contextData.cArrPos -= 1;\n    var popped = (this || _global).contextData.saved[(this || _global).contextData.cArrPos];\n    var i;\n    var arr = (this || _global).contextData.cTr.props;\n\n    for (i = 0; i < 16; i += 1) {\n      arr[i] = popped[i];\n    }\n\n    (this || _global).canvasContext.setTransform(popped[0], popped[1], popped[4], popped[5], popped[12], popped[13]);\n\n    popped = (this || _global).contextData.savedOp[(this || _global).contextData.cArrPos];\n    (this || _global).contextData.cO = popped;\n\n    if ((this || _global).globalData.currentGlobalAlpha !== popped) {\n      (this || _global).canvasContext.globalAlpha = popped;\n      (this || _global).globalData.currentGlobalAlpha = popped;\n    }\n  };\n\n  CanvasRenderer.prototype.configAnimation = function (animData) {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.container = createTag(\"canvas\");\n      var containerStyle = (this || _global).animationItem.container.style;\n      containerStyle.width = \"100%\";\n      containerStyle.height = \"100%\";\n      var origin = \"0px 0px 0px\";\n      containerStyle.transformOrigin = origin;\n      containerStyle.mozTransformOrigin = origin;\n      containerStyle.webkitTransformOrigin = origin;\n      containerStyle[\"-webkit-transform\"] = origin;\n\n      (this || _global).animationItem.wrapper.appendChild((this || _global).animationItem.container);\n\n      (this || _global).canvasContext = (this || _global).animationItem.container.getContext(\"2d\");\n\n      if ((this || _global).renderConfig.className) {\n        (this || _global).animationItem.container.setAttribute(\"class\", (this || _global).renderConfig.className);\n      }\n\n      if ((this || _global).renderConfig.id) {\n        (this || _global).animationItem.container.setAttribute(\"id\", (this || _global).renderConfig.id);\n      }\n    } else {\n      (this || _global).canvasContext = (this || _global).renderConfig.context;\n    }\n\n    (this || _global).data = animData;\n    (this || _global).layers = animData.layers;\n    (this || _global).transformCanvas = {\n      w: animData.w,\n      h: animData.h,\n      sx: 0,\n      sy: 0,\n      tx: 0,\n      ty: 0\n    };\n    this.setupGlobalData(animData, document.body);\n    (this || _global).globalData.canvasContext = (this || _global).canvasContext;\n    (this || _global).globalData.renderer = this || _global;\n    (this || _global).globalData.isDashed = false;\n    (this || _global).globalData.progressiveLoad = (this || _global).renderConfig.progressiveLoad;\n    (this || _global).globalData.transformCanvas = (this || _global).transformCanvas;\n    (this || _global).elements = createSizedArray(animData.layers.length);\n    this.updateContainerSize();\n  };\n\n  CanvasRenderer.prototype.updateContainerSize = function () {\n    this.reset();\n    var elementWidth;\n    var elementHeight;\n\n    if ((this || _global).animationItem.wrapper && (this || _global).animationItem.container) {\n      elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n      elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n\n      (this || _global).animationItem.container.setAttribute(\"width\", elementWidth * (this || _global).renderConfig.dpr);\n\n      (this || _global).animationItem.container.setAttribute(\"height\", elementHeight * (this || _global).renderConfig.dpr);\n    } else {\n      elementWidth = (this || _global).canvasContext.canvas.width * (this || _global).renderConfig.dpr;\n      elementHeight = (this || _global).canvasContext.canvas.height * (this || _global).renderConfig.dpr;\n    }\n\n    var elementRel;\n    var animationRel;\n\n    if ((this || _global).renderConfig.preserveAspectRatio.indexOf(\"meet\") !== -1 || (this || _global).renderConfig.preserveAspectRatio.indexOf(\"slice\") !== -1) {\n      var par = (this || _global).renderConfig.preserveAspectRatio.split(\" \");\n\n      var fillType = par[1] || \"meet\";\n      var pos = par[0] || \"xMidYMid\";\n      var xPos = pos.substr(0, 4);\n      var yPos = pos.substr(4);\n      elementRel = elementWidth / elementHeight;\n      animationRel = (this || _global).transformCanvas.w / (this || _global).transformCanvas.h;\n\n      if (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\") {\n        (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      } else {\n        (this || _global).transformCanvas.sx = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n        (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      }\n\n      if (xPos === \"xMid\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (xPos === \"xMax\" && (animationRel < elementRel && fillType === \"meet\" || animationRel > elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.tx = (elementWidth - (this || _global).transformCanvas.w * (elementHeight / (this || _global).transformCanvas.h)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.tx = 0;\n      }\n\n      if (yPos === \"YMid\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) / 2 * (this || _global).renderConfig.dpr;\n      } else if (yPos === \"YMax\" && (animationRel > elementRel && fillType === \"meet\" || animationRel < elementRel && fillType === \"slice\")) {\n        (this || _global).transformCanvas.ty = (elementHeight - (this || _global).transformCanvas.h * (elementWidth / (this || _global).transformCanvas.w)) * (this || _global).renderConfig.dpr;\n      } else {\n        (this || _global).transformCanvas.ty = 0;\n      }\n    } else if ((this || _global).renderConfig.preserveAspectRatio === \"none\") {\n      (this || _global).transformCanvas.sx = elementWidth / ((this || _global).transformCanvas.w / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.sy = elementHeight / ((this || _global).transformCanvas.h / (this || _global).renderConfig.dpr);\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    } else {\n      (this || _global).transformCanvas.sx = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.sy = (this || _global).renderConfig.dpr;\n      (this || _global).transformCanvas.tx = 0;\n      (this || _global).transformCanvas.ty = 0;\n    }\n\n    (this || _global).transformCanvas.props = [(this || _global).transformCanvas.sx, 0, 0, 0, 0, (this || _global).transformCanvas.sy, 0, 0, 0, 0, 1, 0, (this || _global).transformCanvas.tx, (this || _global).transformCanvas.ty, 0, 1];\n    /* var i, len = this.elements.length;\r\n      for(i=0;i<len;i+=1){\r\n          if(this.elements[i] && this.elements[i].data.ty === 0){\r\n              this.elements[i].resize(this.globalData.transformCanvas);\r\n          }\r\n      } */\n\n    this.ctxTransform((this || _global).transformCanvas.props);\n\n    (this || _global).canvasContext.beginPath();\n\n    (this || _global).canvasContext.rect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n\n    (this || _global).canvasContext.closePath();\n\n    (this || _global).canvasContext.clip();\n\n    this.renderFrame((this || _global).renderedFrame, true);\n  };\n\n  CanvasRenderer.prototype.destroy = function () {\n    if ((this || _global).renderConfig.clearCanvas && (this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).globalData.canvasContext = null;\n    (this || _global).animationItem.container = null;\n    (this || _global).destroyed = true;\n  };\n\n  CanvasRenderer.prototype.renderFrame = function (num, forceRender) {\n    if ((this || _global).renderedFrame === num && (this || _global).renderConfig.clearCanvas === true && !forceRender || (this || _global).destroyed || num === -1) {\n      return;\n    }\n\n    (this || _global).renderedFrame = num;\n    (this || _global).globalData.frameNum = num - (this || _global).animationItem._isFirstFrame;\n    (this || _global).globalData.frameId += 1;\n    (this || _global).globalData._mdf = !(this || _global).renderConfig.clearCanvas || forceRender;\n    (this || _global).globalData.projectInterface.currentFrame = num; // console.log('--------');\n    // console.log('NEW: ',num);\n\n    var i;\n    var len = (this || _global).layers.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers(num);\n    }\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame(num - (this || _global).layers[i].st);\n      }\n    }\n\n    if ((this || _global).globalData._mdf) {\n      if ((this || _global).renderConfig.clearCanvas === true) {\n        (this || _global).canvasContext.clearRect(0, 0, (this || _global).transformCanvas.w, (this || _global).transformCanvas.h);\n      } else {\n        this.save();\n      }\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        if ((this || _global).completeLayers || (this || _global).elements[i]) {\n          (this || _global).elements[i].renderFrame();\n        }\n      }\n\n      if ((this || _global).renderConfig.clearCanvas !== true) {\n        this.restore();\n      }\n    }\n  };\n\n  CanvasRenderer.prototype.buildItem = function (pos) {\n    var elements = (this || _global).elements;\n\n    if (elements[pos] || (this || _global).layers[pos].ty === 99) {\n      return;\n    }\n\n    var element = this.createItem((this || _global).layers[pos], this || _global, (this || _global).globalData);\n    elements[pos] = element;\n    element.initExpressions();\n    /* if(this.layers[pos].ty === 0){\r\n          element.resize(this.globalData.transformCanvas);\r\n      } */\n  };\n\n  CanvasRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  CanvasRenderer.prototype.hide = function () {\n    (this || _global).animationItem.container.style.display = \"none\";\n  };\n\n  CanvasRenderer.prototype.show = function () {\n    (this || _global).animationItem.container.style.display = \"block\";\n  };\n  /* global extendPrototype, BaseRenderer, SVGRenderer, SVGShapeElement, HShapeElement, SVGTextLottieElement,\r\n  HTextElement, HCameraElement, IImageElement, HImageElement, SVGCompElement, HCompElement, ISolidElement,\r\n  HSolidElement, styleDiv, createTag, createNS */\n\n\n  function HybridRenderer(animationItem, config) {\n    (this || _global).animationItem = animationItem;\n    (this || _global).layers = null;\n    (this || _global).renderedFrame = -1;\n    (this || _global).renderConfig = {\n      className: config && config.className || \"\",\n      imagePreserveAspectRatio: config && config.imagePreserveAspectRatio || \"xMidYMid slice\",\n      hideOnTransparent: !(config && config.hideOnTransparent === false),\n      filterSize: {\n        width: config && config.filterSize && config.filterSize.width || \"400%\",\n        height: config && config.filterSize && config.filterSize.height || \"400%\",\n        x: config && config.filterSize && config.filterSize.x || \"-100%\",\n        y: config && config.filterSize && config.filterSize.y || \"-100%\"\n      }\n    };\n    (this || _global).globalData = {\n      _mdf: false,\n      frameNum: -1,\n      renderConfig: (this || _global).renderConfig\n    };\n    (this || _global).pendingElements = [];\n    (this || _global).elements = [];\n    (this || _global).threeDElements = [];\n    (this || _global).destroyed = false;\n    (this || _global).camera = null;\n    (this || _global).supports3d = true;\n    (this || _global).rendererType = \"html\";\n  }\n\n  extendPrototype([BaseRenderer], HybridRenderer);\n  HybridRenderer.prototype.buildItem = SVGRenderer.prototype.buildItem;\n\n  HybridRenderer.prototype.checkPendingElements = function () {\n    while ((this || _global).pendingElements.length) {\n      var element = (this || _global).pendingElements.pop();\n\n      element.checkParenting();\n    }\n  };\n\n  HybridRenderer.prototype.appendElementInPos = function (element, pos) {\n    var newDOMElement = element.getBaseElement();\n\n    if (!newDOMElement) {\n      return;\n    }\n\n    var layer = (this || _global).layers[pos];\n\n    if (!layer.ddd || !(this || _global).supports3d) {\n      if ((this || _global).threeDElements) {\n        this.addTo3dContainer(newDOMElement, pos);\n      } else {\n        var i = 0;\n        var nextDOMElement;\n        var nextLayer;\n        var tmpDOMElement;\n\n        while (i < pos) {\n          if ((this || _global).elements[i] && (this || _global).elements[i] !== true && (this || _global).elements[i].getBaseElement) {\n            nextLayer = (this || _global).elements[i];\n            tmpDOMElement = (this || _global).layers[i].ddd ? this.getThreeDContainerByPos(i) : nextLayer.getBaseElement();\n            nextDOMElement = tmpDOMElement || nextDOMElement;\n          }\n\n          i += 1;\n        }\n\n        if (nextDOMElement) {\n          if (!layer.ddd || !(this || _global).supports3d) {\n            (this || _global).layerElement.insertBefore(newDOMElement, nextDOMElement);\n          }\n        } else if (!layer.ddd || !(this || _global).supports3d) {\n          (this || _global).layerElement.appendChild(newDOMElement);\n        }\n      }\n    } else {\n      this.addTo3dContainer(newDOMElement, pos);\n    }\n  };\n\n  HybridRenderer.prototype.createShape = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGShapeElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HShapeElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createText = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGTextLottieElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HTextElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createCamera = function (data) {\n    (this || _global).camera = new HCameraElement(data, (this || _global).globalData, this || _global);\n    return (this || _global).camera;\n  };\n\n  HybridRenderer.prototype.createImage = function (data) {\n    if (!(this || _global).supports3d) {\n      return new IImageElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HImageElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createComp = function (data) {\n    if (!(this || _global).supports3d) {\n      return new SVGCompElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HCompElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createSolid = function (data) {\n    if (!(this || _global).supports3d) {\n      return new ISolidElement(data, (this || _global).globalData, this || _global);\n    }\n\n    return new HSolidElement(data, (this || _global).globalData, this || _global);\n  };\n\n  HybridRenderer.prototype.createNull = SVGRenderer.prototype.createNull;\n\n  HybridRenderer.prototype.getThreeDContainerByPos = function (pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if ((this || _global).threeDElements[i].startPos <= pos && (this || _global).threeDElements[i].endPos >= pos) {\n        return (this || _global).threeDElements[i].perspectiveElem;\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  HybridRenderer.prototype.createThreeDContainer = function (pos, type) {\n    var perspectiveElem = createTag(\"div\");\n    var style;\n    var containerStyle;\n    styleDiv(perspectiveElem);\n    var container = createTag(\"div\");\n    styleDiv(container);\n\n    if (type === \"3d\") {\n      style = perspectiveElem.style;\n      style.width = (this || _global).globalData.compSize.w + \"px\";\n      style.height = (this || _global).globalData.compSize.h + \"px\";\n      var center = \"50% 50%\";\n      style.webkitTransformOrigin = center;\n      style.mozTransformOrigin = center;\n      style.transformOrigin = center;\n      containerStyle = container.style;\n      var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n      containerStyle.transform = matrix;\n      containerStyle.webkitTransform = matrix;\n    }\n\n    perspectiveElem.appendChild(container); // this.resizerElem.appendChild(perspectiveElem);\n\n    var threeDContainerData = {\n      container: container,\n      perspectiveElem: perspectiveElem,\n      startPos: pos,\n      endPos: pos,\n      type: type\n    };\n\n    (this || _global).threeDElements.push(threeDContainerData);\n\n    return threeDContainerData;\n  };\n\n  HybridRenderer.prototype.build3dContainers = function () {\n    var i;\n    var len = (this || _global).layers.length;\n    var lastThreeDContainerData;\n    var currentContainer = \"\";\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).layers[i].ddd && (this || _global).layers[i].ty !== 3) {\n        if (currentContainer !== \"3d\") {\n          currentContainer = \"3d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"3d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      } else {\n        if (currentContainer !== \"2d\") {\n          currentContainer = \"2d\";\n          lastThreeDContainerData = this.createThreeDContainer(i, \"2d\");\n        }\n\n        lastThreeDContainerData.endPos = Math.max(lastThreeDContainerData.endPos, i);\n      }\n    }\n\n    len = (this || _global).threeDElements.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      (this || _global).resizerElem.appendChild((this || _global).threeDElements[i].perspectiveElem);\n    }\n  };\n\n  HybridRenderer.prototype.addTo3dContainer = function (elem, pos) {\n    var i = 0;\n    var len = (this || _global).threeDElements.length;\n\n    while (i < len) {\n      if (pos <= (this || _global).threeDElements[i].endPos) {\n        var j = (this || _global).threeDElements[i].startPos;\n        var nextElement;\n\n        while (j < pos) {\n          if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n            nextElement = (this || _global).elements[j].getBaseElement();\n          }\n\n          j += 1;\n        }\n\n        if (nextElement) {\n          (this || _global).threeDElements[i].container.insertBefore(elem, nextElement);\n        } else {\n          (this || _global).threeDElements[i].container.appendChild(elem);\n        }\n\n        break;\n      }\n\n      i += 1;\n    }\n  };\n\n  HybridRenderer.prototype.configAnimation = function (animData) {\n    var resizerElem = createTag(\"div\");\n    var wrapper = (this || _global).animationItem.wrapper;\n    var style = resizerElem.style;\n    style.width = animData.w + \"px\";\n    style.height = animData.h + \"px\";\n    (this || _global).resizerElem = resizerElem;\n    styleDiv(resizerElem);\n    style.transformStyle = \"flat\";\n    style.mozTransformStyle = \"flat\";\n    style.webkitTransformStyle = \"flat\";\n\n    if ((this || _global).renderConfig.className) {\n      resizerElem.setAttribute(\"class\", (this || _global).renderConfig.className);\n    }\n\n    wrapper.appendChild(resizerElem);\n    style.overflow = \"hidden\";\n    var svg = createNS(\"svg\");\n    svg.setAttribute(\"width\", \"1\");\n    svg.setAttribute(\"height\", \"1\");\n    styleDiv(svg);\n\n    (this || _global).resizerElem.appendChild(svg);\n\n    var defs = createNS(\"defs\");\n    svg.appendChild(defs);\n    (this || _global).data = animData; // Mask animation\n\n    this.setupGlobalData(animData, svg);\n    (this || _global).globalData.defs = defs;\n    (this || _global).layers = animData.layers;\n    (this || _global).layerElement = (this || _global).resizerElem;\n    this.build3dContainers();\n    this.updateContainerSize();\n  };\n\n  HybridRenderer.prototype.destroy = function () {\n    if ((this || _global).animationItem.wrapper) {\n      (this || _global).animationItem.wrapper.innerText = \"\";\n    }\n\n    (this || _global).animationItem.container = null;\n    (this || _global).globalData.defs = null;\n    var i;\n    var len = (this || _global).layers ? (this || _global).layers.length : 0;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).elements[i].destroy();\n    }\n\n    (this || _global).elements.length = 0;\n    (this || _global).destroyed = true;\n    (this || _global).animationItem = null;\n  };\n\n  HybridRenderer.prototype.updateContainerSize = function () {\n    var elementWidth = (this || _global).animationItem.wrapper.offsetWidth;\n    var elementHeight = (this || _global).animationItem.wrapper.offsetHeight;\n    var elementRel = elementWidth / elementHeight;\n    var animationRel = (this || _global).globalData.compSize.w / (this || _global).globalData.compSize.h;\n    var sx;\n    var sy;\n    var tx;\n    var ty;\n\n    if (animationRel > elementRel) {\n      sx = elementWidth / (this || _global).globalData.compSize.w;\n      sy = elementWidth / (this || _global).globalData.compSize.w;\n      tx = 0;\n      ty = (elementHeight - (this || _global).globalData.compSize.h * (elementWidth / (this || _global).globalData.compSize.w)) / 2;\n    } else {\n      sx = elementHeight / (this || _global).globalData.compSize.h;\n      sy = elementHeight / (this || _global).globalData.compSize.h;\n      tx = (elementWidth - (this || _global).globalData.compSize.w * (elementHeight / (this || _global).globalData.compSize.h)) / 2;\n      ty = 0;\n    }\n\n    var style = (this || _global).resizerElem.style;\n    style.webkitTransform = \"matrix3d(\" + sx + \",0,0,0,0,\" + sy + \",0,0,0,0,1,0,\" + tx + \",\" + ty + \",0,1)\";\n    style.transform = style.webkitTransform;\n  };\n\n  HybridRenderer.prototype.renderFrame = SVGRenderer.prototype.renderFrame;\n\n  HybridRenderer.prototype.hide = function () {\n    (this || _global).resizerElem.style.display = \"none\";\n  };\n\n  HybridRenderer.prototype.show = function () {\n    (this || _global).resizerElem.style.display = \"block\";\n  };\n\n  HybridRenderer.prototype.initItems = function () {\n    this.buildAllItems();\n\n    if ((this || _global).camera) {\n      (this || _global).camera.setup();\n    } else {\n      var cWidth = (this || _global).globalData.compSize.w;\n      var cHeight = (this || _global).globalData.compSize.h;\n      var i;\n      var len = (this || _global).threeDElements.length;\n\n      for (i = 0; i < len; i += 1) {\n        var style = (this || _global).threeDElements[i].perspectiveElem.style;\n        style.webkitPerspective = Math.sqrt(Math.pow(cWidth, 2) + Math.pow(cHeight, 2)) + \"px\";\n        style.perspective = style.webkitPerspective;\n      }\n    }\n  };\n\n  HybridRenderer.prototype.searchExtraCompositions = function (assets) {\n    var i;\n    var len = assets.length;\n    var floatingContainer = createTag(\"div\");\n\n    for (i = 0; i < len; i += 1) {\n      if (assets[i].xt) {\n        var comp = this.createComp(assets[i], floatingContainer, (this || _global).globalData.comp, null);\n        comp.initExpressions();\n\n        (this || _global).globalData.projectInterface.registerComposition(comp);\n      }\n    }\n  };\n  /* global createSizedArray, createElementID, PropertyFactory, ShapePropertyFactory, createNS, locationHref */\n\n\n  function MaskElement(data, element, globalData) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).globalData = globalData;\n    (this || _global).storedData = [];\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).maskElement = null;\n    var defs = (this || _global).globalData.defs;\n    var i;\n    var len = (this || _global).masksProperties ? (this || _global).masksProperties.length : 0;\n    (this || _global).viewData = createSizedArray(len);\n    (this || _global).solidPath = \"\";\n    var path;\n    var properties = (this || _global).masksProperties;\n    var count = 0;\n    var currentMasks = [];\n    var j;\n    var jLen;\n    var layerId = createElementID();\n    var rect;\n    var expansor;\n    var feMorph;\n    var x;\n    var maskType = \"clipPath\";\n    var maskRef = \"clip-path\";\n\n    for (i = 0; i < len; i += 1) {\n      if (properties[i].mode !== \"a\" && properties[i].mode !== \"n\" || properties[i].inv || properties[i].o.k !== 100 || properties[i].o.x) {\n        maskType = \"mask\";\n        maskRef = \"mask\";\n      }\n\n      if ((properties[i].mode === \"s\" || properties[i].mode === \"i\") && count === 0) {\n        rect = createNS(\"rect\");\n        rect.setAttribute(\"fill\", \"#ffffff\");\n        rect.setAttribute(\"width\", (this || _global).element.comp.data.w || 0);\n        rect.setAttribute(\"height\", (this || _global).element.comp.data.h || 0);\n        currentMasks.push(rect);\n      } else {\n        rect = null;\n      }\n\n      path = createNS(\"path\");\n\n      if (properties[i].mode === \"n\") {\n        // TODO move this to a factory or to a constructor\n        (this || _global).viewData[i] = {\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          elem: path,\n          lastPath: \"\"\n        };\n        defs.appendChild(path);\n      } else {\n        count += 1;\n        path.setAttribute(\"fill\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        path.setAttribute(\"clip-rule\", \"nonzero\");\n        var filterID;\n\n        if (properties[i].x.k !== 0) {\n          maskType = \"mask\";\n          maskRef = \"mask\";\n          x = PropertyFactory.getProp((this || _global).element, properties[i].x, 0, null, (this || _global).element);\n          filterID = createElementID();\n          expansor = createNS(\"filter\");\n          expansor.setAttribute(\"id\", filterID);\n          feMorph = createNS(\"feMorphology\");\n          feMorph.setAttribute(\"operator\", \"erode\");\n          feMorph.setAttribute(\"in\", \"SourceGraphic\");\n          feMorph.setAttribute(\"radius\", \"0\");\n          expansor.appendChild(feMorph);\n          defs.appendChild(expansor);\n          path.setAttribute(\"stroke\", properties[i].mode === \"s\" ? \"#000000\" : \"#ffffff\");\n        } else {\n          feMorph = null;\n          x = null;\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).storedData[i] = {\n          elem: path,\n          x: x,\n          expan: feMorph,\n          lastPath: \"\",\n          lastOperator: \"\",\n          filterId: filterID,\n          lastRadius: 0\n        };\n\n        if (properties[i].mode === \"i\") {\n          jLen = currentMasks.length;\n          var g = createNS(\"g\");\n\n          for (j = 0; j < jLen; j += 1) {\n            g.appendChild(currentMasks[j]);\n          }\n\n          var mask = createNS(\"mask\");\n          mask.setAttribute(\"mask-type\", \"alpha\");\n          mask.setAttribute(\"id\", layerId + \"_\" + count);\n          mask.appendChild(path);\n          defs.appendChild(mask);\n          g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + layerId + \"_\" + count + \")\");\n          currentMasks.length = 0;\n          currentMasks.push(g);\n        } else {\n          currentMasks.push(path);\n        }\n\n        if (properties[i].inv && !(this || _global).solidPath) {\n          (this || _global).solidPath = this.createLayerSolidPath();\n        } // TODO move this to a factory or to a constructor\n\n\n        (this || _global).viewData[i] = {\n          elem: path,\n          lastPath: \"\",\n          op: PropertyFactory.getProp((this || _global).element, properties[i].o, 0, 0.01, (this || _global).element),\n          prop: ShapePropertyFactory.getShapeProp((this || _global).element, properties[i], 3),\n          invRect: rect\n        };\n\n        if (!(this || _global).viewData[i].prop.k) {\n          this.drawPath(properties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n        }\n      }\n    }\n\n    (this || _global).maskElement = createNS(maskType);\n    len = currentMasks.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).maskElement.appendChild(currentMasks[i]);\n    }\n\n    if (count > 0) {\n      (this || _global).maskElement.setAttribute(\"id\", layerId);\n\n      (this || _global).element.maskedElement.setAttribute(maskRef, \"url(\" + locationHref + \"#\" + layerId + \")\");\n\n      defs.appendChild((this || _global).maskElement);\n    }\n\n    if ((this || _global).viewData.length) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  MaskElement.prototype.getMaskProperty = function (pos) {\n    return (this || _global).viewData[pos].prop;\n  };\n\n  MaskElement.prototype.renderFrame = function (isFirstFrame) {\n    var finalMat = (this || _global).element.finalTransform.mat;\n    var i;\n    var len = (this || _global).masksProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).viewData[i].prop._mdf || isFirstFrame) {\n        this.drawPath((this || _global).masksProperties[i], (this || _global).viewData[i].prop.v, (this || _global).viewData[i]);\n      }\n\n      if ((this || _global).viewData[i].op._mdf || isFirstFrame) {\n        (this || _global).viewData[i].elem.setAttribute(\"fill-opacity\", (this || _global).viewData[i].op.v);\n      }\n\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).viewData[i].invRect && ((this || _global).element.finalTransform.mProp._mdf || isFirstFrame)) {\n          (this || _global).viewData[i].invRect.setAttribute(\"transform\", finalMat.getInverseMatrix().to2dCSS());\n        }\n\n        if ((this || _global).storedData[i].x && ((this || _global).storedData[i].x._mdf || isFirstFrame)) {\n          var feMorph = (this || _global).storedData[i].expan;\n\n          if ((this || _global).storedData[i].x.v < 0) {\n            if ((this || _global).storedData[i].lastOperator !== \"erode\") {\n              (this || _global).storedData[i].lastOperator = \"erode\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + (this || _global).storedData[i].filterId + \")\");\n            }\n\n            feMorph.setAttribute(\"radius\", -(this || _global).storedData[i].x.v);\n          } else {\n            if ((this || _global).storedData[i].lastOperator !== \"dilate\") {\n              (this || _global).storedData[i].lastOperator = \"dilate\";\n\n              (this || _global).storedData[i].elem.setAttribute(\"filter\", null);\n            }\n\n            (this || _global).storedData[i].elem.setAttribute(\"stroke-width\", (this || _global).storedData[i].x.v * 2);\n          }\n        }\n      }\n    }\n  };\n\n  MaskElement.prototype.getMaskelement = function () {\n    return (this || _global).maskElement;\n  };\n\n  MaskElement.prototype.createLayerSolidPath = function () {\n    var path = \"M0,0 \";\n    path += \" h\" + (this || _global).globalData.compSize.w;\n    path += \" v\" + (this || _global).globalData.compSize.h;\n    path += \" h-\" + (this || _global).globalData.compSize.w;\n    path += \" v-\" + (this || _global).globalData.compSize.h + \" \";\n    return path;\n  };\n\n  MaskElement.prototype.drawPath = function (pathData, pathNodes, viewData) {\n    var pathString = \" M\" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    var i;\n    var len;\n    len = pathNodes._length;\n\n    for (i = 1; i < len; i += 1) {\n      // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[i][0]+','+pathNodes.i[i][1] + \" \"+pathNodes.v[i][0]+','+pathNodes.v[i][1];\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[i][0] + \",\" + pathNodes.i[i][1] + \" \" + pathNodes.v[i][0] + \",\" + pathNodes.v[i][1];\n    } // pathString += \" C\"+pathNodes.o[i-1][0]+','+pathNodes.o[i-1][1] + \" \"+pathNodes.i[0][0]+','+pathNodes.i[0][1] + \" \"+pathNodes.v[0][0]+','+pathNodes.v[0][1];\n\n\n    if (pathNodes.c && len > 1) {\n      pathString += \" C\" + pathNodes.o[i - 1][0] + \",\" + pathNodes.o[i - 1][1] + \" \" + pathNodes.i[0][0] + \",\" + pathNodes.i[0][1] + \" \" + pathNodes.v[0][0] + \",\" + pathNodes.v[0][1];\n    } // pathNodes.__renderedString = pathString;\n\n\n    if (viewData.lastPath !== pathString) {\n      var pathShapeValue = \"\";\n\n      if (viewData.elem) {\n        if (pathNodes.c) {\n          pathShapeValue = pathData.inv ? (this || _global).solidPath + pathString : pathString;\n        }\n\n        viewData.elem.setAttribute(\"d\", pathShapeValue);\n      }\n\n      viewData.lastPath = pathString;\n    }\n  };\n\n  MaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n    (this || _global).globalData = null;\n    (this || _global).maskElement = null;\n    (this || _global).data = null;\n    (this || _global).masksProperties = null;\n  };\n  /**\r\n   * @file\r\n   * Handles AE's layer parenting property.\r\n   *\r\n   */\n\n\n  function HierarchyElement() {}\n\n  HierarchyElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes hierarchy properties\r\n       *\r\n       */\n    initHierarchy: function () {\n      // element's parent list\n      (this || _global).hierarchy = []; // if element is parent of another layer _isParent will be true\n\n      (this || _global)._isParent = false;\n      this.checkParenting();\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer's hierarchy.\r\n       * @param {array} hierarch\r\n       * layer's parent list\r\n       *\r\n       */\n    setHierarchy: function (hierarchy) {\n      (this || _global).hierarchy = hierarchy;\n    },\n\n    /**\r\n       * @function\r\n       * Sets layer as parent.\r\n       *\r\n       */\n    setAsParent: function () {\n      (this || _global)._isParent = true;\n    },\n\n    /**\r\n       * @function\r\n       * Searches layer's parenting chain\r\n       *\r\n       */\n    checkParenting: function () {\n      if ((this || _global).data.parent !== undefined) {\n        (this || _global).comp.buildElementParenting(this || _global, (this || _global).data.parent, []);\n      }\n    }\n  };\n  /**\r\n   * @file\r\n   * Handles element's layer frame update.\r\n   * Checks layer in point and out point\r\n   *\r\n   */\n\n  function FrameElement() {}\n\n  FrameElement.prototype = {\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       */\n    initFrame: function () {\n      // set to true when inpoint is rendered\n      (this || _global)._isFirstFrame = false; // list of animated properties\n\n      (this || _global).dynamicProperties = []; // If layer has been modified in current tick this will be true\n\n      (this || _global)._mdf = false;\n    },\n\n    /**\r\n       * @function\r\n       * Calculates all dynamic values\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       * @param {boolean} isVisible\r\n       * if layers is currently in range\r\n       *\r\n       */\n    prepareProperties: function (num, isVisible) {\n      var i;\n      var len = (this || _global).dynamicProperties.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (isVisible || (this || _global)._isParent && (this || _global).dynamicProperties[i].propType === \"transform\") {\n          (this || _global).dynamicProperties[i].getValue();\n\n          if ((this || _global).dynamicProperties[i]._mdf) {\n            (this || _global).globalData._mdf = true;\n            (this || _global)._mdf = true;\n          }\n        }\n      }\n    },\n    addDynamicProperty: function (prop) {\n      if ((this || _global).dynamicProperties.indexOf(prop) === -1) {\n        (this || _global).dynamicProperties.push(prop);\n      }\n    }\n  };\n  /* global TransformPropertyFactory, Matrix */\n\n  function TransformElement() {}\n\n  TransformElement.prototype = {\n    initTransform: function () {\n      (this || _global).finalTransform = {\n        mProp: (this || _global).data.ks ? TransformPropertyFactory.getTransformProperty(this || _global, (this || _global).data.ks, this || _global) : {\n          o: 0\n        },\n        _matMdf: false,\n        _opMdf: false,\n        mat: new Matrix()\n      };\n\n      if ((this || _global).data.ao) {\n        (this || _global).finalTransform.mProp.autoOriented = true;\n      } // TODO: check TYPE 11: Guided elements\n\n\n      if ((this || _global).data.ty !== 11) {// this.createElements();\n      }\n    },\n    renderTransform: function () {\n      (this || _global).finalTransform._opMdf = (this || _global).finalTransform.mProp.o._mdf || (this || _global)._isFirstFrame;\n      (this || _global).finalTransform._matMdf = (this || _global).finalTransform.mProp._mdf || (this || _global)._isFirstFrame;\n\n      if ((this || _global).hierarchy) {\n        var mat;\n        var finalMat = (this || _global).finalTransform.mat;\n        var i = 0;\n        var len = (this || _global).hierarchy.length; // Checking if any of the transformation matrices in the hierarchy chain has changed.\n\n        if (!(this || _global).finalTransform._matMdf) {\n          while (i < len) {\n            if ((this || _global).hierarchy[i].finalTransform.mProp._mdf) {\n              (this || _global).finalTransform._matMdf = true;\n              break;\n            }\n\n            i += 1;\n          }\n        }\n\n        if ((this || _global).finalTransform._matMdf) {\n          mat = (this || _global).finalTransform.mProp.v.props;\n          finalMat.cloneFromProps(mat);\n\n          for (i = 0; i < len; i += 1) {\n            mat = (this || _global).hierarchy[i].finalTransform.mProp.v.props;\n            finalMat.transform(mat[0], mat[1], mat[2], mat[3], mat[4], mat[5], mat[6], mat[7], mat[8], mat[9], mat[10], mat[11], mat[12], mat[13], mat[14], mat[15]);\n          }\n        }\n      }\n    },\n    globalToLocal: function (pt) {\n      var transforms = [];\n      transforms.push((this || _global).finalTransform);\n      var flag = true;\n      var comp = (this || _global).comp;\n\n      while (flag) {\n        if (comp.finalTransform) {\n          if (comp.data.hasMask) {\n            transforms.splice(0, 0, comp.finalTransform);\n          }\n\n          comp = comp.comp;\n        } else {\n          flag = false;\n        }\n      }\n\n      var i;\n      var len = transforms.length;\n      var ptNew;\n\n      for (i = 0; i < len; i += 1) {\n        ptNew = transforms[i].mat.applyToPointArray(0, 0, 0); // ptNew = transforms[i].mat.applyToPointArray(pt[0],pt[1],pt[2]);\n\n        pt = [pt[0] - ptNew[0], pt[1] - ptNew[1], 0];\n      }\n\n      return pt;\n    },\n    mHelper: new Matrix()\n  };\n\n  function RenderableElement() {}\n\n  RenderableElement.prototype = {\n    initRenderable: function () {\n      // layer's visibility related to inpoint and outpoint. Rename isVisible to isInRange\n      (this || _global).isInRange = false; // layer's display state\n\n      (this || _global).hidden = false; // If layer's transparency equals 0, it can be hidden\n\n      (this || _global).isTransparent = false; // list of animated components\n\n      (this || _global).renderableComponents = [];\n    },\n    addRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) === -1) {\n        (this || _global).renderableComponents.push(component);\n      }\n    },\n    removeRenderableComponent: function (component) {\n      if ((this || _global).renderableComponents.indexOf(component) !== -1) {\n        (this || _global).renderableComponents.splice((this || _global).renderableComponents.indexOf(component), 1);\n      }\n    },\n    prepareRenderableFrame: function (num) {\n      this.checkLayerLimits(num);\n    },\n    checkTransparency: function () {\n      if ((this || _global).finalTransform.mProp.o.v <= 0) {\n        if (!(this || _global).isTransparent && (this || _global).globalData.renderConfig.hideOnTransparent) {\n          (this || _global).isTransparent = true;\n          this.hide();\n        }\n      } else if ((this || _global).isTransparent) {\n        (this || _global).isTransparent = false;\n        this.show();\n      }\n    },\n\n    /**\r\n       * @function\r\n       * Initializes frame related properties.\r\n       *\r\n       * @param {number} num\r\n       * current frame number in Layer's time\r\n       *\r\n       */\n    checkLayerLimits: function (num) {\n      if ((this || _global).data.ip - (this || _global).data.st <= num && (this || _global).data.op - (this || _global).data.st > num) {\n        if ((this || _global).isInRange !== true) {\n          (this || _global).globalData._mdf = true;\n          (this || _global)._mdf = true;\n          (this || _global).isInRange = true;\n          this.show();\n        }\n      } else if ((this || _global).isInRange !== false) {\n        (this || _global).globalData._mdf = true;\n        (this || _global).isInRange = false;\n        this.hide();\n      }\n    },\n    renderRenderable: function () {\n      var i;\n      var len = (this || _global).renderableComponents.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).renderableComponents[i].renderFrame((this || _global)._isFirstFrame);\n      }\n      /* this.maskManager.renderFrame(this.finalTransform.mat);\r\n          this.renderableEffectsManager.renderFrame(this._isFirstFrame); */\n\n    },\n    sourceRectAtTime: function () {\n      return {\n        top: 0,\n        left: 0,\n        width: 100,\n        height: 100\n      };\n    },\n    getLayerSize: function () {\n      if ((this || _global).data.ty === 5) {\n        return {\n          w: (this || _global).data.textData.width,\n          h: (this || _global).data.textData.height\n        };\n      }\n\n      return {\n        w: (this || _global).data.width,\n        h: (this || _global).data.height\n      };\n    }\n  };\n  /* global extendPrototype, RenderableElement, createProxyFunction */\n\n  function RenderableDOMElement() {}\n\n  (function () {\n    var _prototype = {\n      initElement: function (data, globalData, comp) {\n        this.initFrame();\n        this.initBaseData(data, globalData, comp);\n        this.initTransform(data, globalData, comp);\n        this.initHierarchy();\n        this.initRenderable();\n        this.initRendererElement();\n        this.createContainerElements();\n        this.createRenderableComponents();\n        this.createContent();\n        this.hide();\n      },\n      hide: function () {\n        if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n          var elem = (this || _global).baseElement || (this || _global).layerElement;\n          elem.style.display = \"none\";\n          (this || _global).hidden = true;\n        }\n      },\n      show: function () {\n        if ((this || _global).isInRange && !(this || _global).isTransparent) {\n          if (!(this || _global).data.hd) {\n            var elem = (this || _global).baseElement || (this || _global).layerElement;\n            elem.style.display = \"block\";\n          }\n\n          (this || _global).hidden = false;\n          (this || _global)._isFirstFrame = true;\n        }\n      },\n      renderFrame: function () {\n        // If it is exported as hidden (data.hd === true) no need to render\n        // If it is not visible no need to render\n        if ((this || _global).data.hd || (this || _global).hidden) {\n          return;\n        }\n\n        this.renderTransform();\n        this.renderRenderable();\n        this.renderElement();\n        this.renderInnerContent();\n\n        if ((this || _global)._isFirstFrame) {\n          (this || _global)._isFirstFrame = false;\n        }\n      },\n      renderInnerContent: function () {},\n      prepareFrame: function (num) {\n        (this || _global)._mdf = false;\n        this.prepareRenderableFrame(num);\n        this.prepareProperties(num, (this || _global).isInRange);\n        this.checkTransparency();\n      },\n      destroy: function () {\n        (this || _global).innerElem = null;\n        this.destroyBaseElement();\n      }\n    };\n    extendPrototype([RenderableElement, createProxyFunction(_prototype)], RenderableDOMElement);\n  })();\n  /* exported ProcessedElement */\n\n\n  function ProcessedElement(element, position) {\n    (this || _global).elem = element;\n    (this || _global).pos = position;\n  }\n  /* global createNS */\n\n\n  function SVGStyleData(data, level) {\n    (this || _global).data = data;\n    (this || _global).type = data.ty;\n    (this || _global).d = \"\";\n    (this || _global).lvl = level;\n    (this || _global)._mdf = false;\n    (this || _global).closed = data.hd === true;\n    (this || _global).pElem = createNS(\"path\");\n    (this || _global).msElem = null;\n  }\n\n  SVGStyleData.prototype.reset = function () {\n    (this || _global).d = \"\";\n    (this || _global)._mdf = false;\n  };\n\n  function SVGShapeData(transformers, level, shape) {\n    (this || _global).caches = [];\n    (this || _global).styles = [];\n    (this || _global).transformers = transformers;\n    (this || _global).lStr = \"\";\n    (this || _global).sh = shape;\n    (this || _global).lvl = level; // TODO find if there are some cases where _isAnimated can be false.\n    // For now, since shapes add up with other shapes. They have to be calculated every time.\n    // One way of finding out is checking if all styles associated to this shape depend only of this shape\n\n    (this || _global)._isAnimated = !!shape.k; // TODO: commenting this for now since all shapes are animated\n\n    var i = 0;\n    var len = transformers.length;\n\n    while (i < len) {\n      if (transformers[i].mProps.dynamicProperties.length) {\n        (this || _global)._isAnimated = true;\n        break;\n      }\n\n      i += 1;\n    }\n  }\n\n  SVGShapeData.prototype.setAsAnimated = function () {\n    (this || _global)._isAnimated = true;\n  };\n  /* exported SVGTransformData */\n\n\n  function SVGTransformData(mProps, op, container) {\n    (this || _global).transform = {\n      mProps: mProps,\n      op: op,\n      container: container\n    };\n    (this || _global).elements = [];\n    (this || _global)._isAnimated = (this || _global).transform.mProps.dynamicProperties.length || (this || _global).transform.op.effectsSequence.length;\n  }\n  /* global DashProperty, PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n\n  function SVGStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGStrokeStyleData);\n  /* global PropertyFactory, extendPrototype, DynamicPropertyContainer */\n\n  function SVGFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).c = PropertyFactory.getProp(elem, data.c, 1, 255, this || _global);\n    (this || _global).style = styleOb;\n  }\n\n  extendPrototype([DynamicPropertyContainer], SVGFillStyleData);\n  /* global PropertyFactory, degToRads, GradientProperty, createElementID, createNS, locationHref,\r\n  extendPrototype, DynamicPropertyContainer */\n\n  function SVGGradientFillStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    this.initGradientData(elem, data, styleOb);\n  }\n\n  SVGGradientFillStyleData.prototype.initGradientData = function (elem, data, styleOb) {\n    (this || _global).o = PropertyFactory.getProp(elem, data.o, 0, 0.01, this || _global);\n    (this || _global).s = PropertyFactory.getProp(elem, data.s, 1, null, this || _global);\n    (this || _global).e = PropertyFactory.getProp(elem, data.e, 1, null, this || _global);\n    (this || _global).h = PropertyFactory.getProp(elem, data.h || {\n      k: 0\n    }, 0, 0.01, this || _global);\n    (this || _global).a = PropertyFactory.getProp(elem, data.a || {\n      k: 0\n    }, 0, degToRads, this || _global);\n    (this || _global).g = new GradientProperty(elem, data.g, this || _global);\n    (this || _global).style = styleOb;\n    (this || _global).stops = [];\n    this.setGradientData(styleOb.pElem, data);\n    this.setGradientOpacity(data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientData = function (pathElement, data) {\n    var gradientId = createElementID();\n    var gfill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n    gfill.setAttribute(\"id\", gradientId);\n    gfill.setAttribute(\"spreadMethod\", \"pad\");\n    gfill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n    var stops = [];\n    var stop;\n    var j;\n    var jLen;\n    jLen = data.g.p * 4;\n\n    for (j = 0; j < jLen; j += 4) {\n      stop = createNS(\"stop\");\n      gfill.appendChild(stop);\n      stops.push(stop);\n    }\n\n    pathElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + gradientId + \")\");\n    (this || _global).gf = gfill;\n    (this || _global).cst = stops;\n  };\n\n  SVGGradientFillStyleData.prototype.setGradientOpacity = function (data, styleOb) {\n    if ((this || _global).g._hasOpacity && !(this || _global).g._collapsable) {\n      var stop;\n      var j;\n      var jLen;\n      var mask = createNS(\"mask\");\n      var maskElement = createNS(\"path\");\n      mask.appendChild(maskElement);\n      var opacityId = createElementID();\n      var maskId = createElementID();\n      mask.setAttribute(\"id\", maskId);\n      var opFill = createNS(data.t === 1 ? \"linearGradient\" : \"radialGradient\");\n      opFill.setAttribute(\"id\", opacityId);\n      opFill.setAttribute(\"spreadMethod\", \"pad\");\n      opFill.setAttribute(\"gradientUnits\", \"userSpaceOnUse\");\n      jLen = data.g.k.k[0].s ? data.g.k.k[0].s.length : data.g.k.k.length;\n      var stops = (this || _global).stops;\n\n      for (j = data.g.p * 4; j < jLen; j += 2) {\n        stop = createNS(\"stop\");\n        stop.setAttribute(\"stop-color\", \"rgb(255,255,255)\");\n        opFill.appendChild(stop);\n        stops.push(stop);\n      }\n\n      maskElement.setAttribute(data.ty === \"gf\" ? \"fill\" : \"stroke\", \"url(\" + locationHref + \"#\" + opacityId + \")\");\n      (this || _global).of = opFill;\n      (this || _global).ms = mask;\n      (this || _global).ost = stops;\n      (this || _global).maskId = maskId;\n      styleOb.msElem = maskElement;\n    }\n  };\n\n  extendPrototype([DynamicPropertyContainer], SVGGradientFillStyleData);\n  /* global PropertyFactory, DashProperty, extendPrototype, SVGGradientFillStyleData, DynamicPropertyContainer */\n\n  function SVGGradientStrokeStyleData(elem, data, styleOb) {\n    this.initDynamicPropertyContainer(elem);\n    (this || _global).getValue = (this || _global).iterateDynamicProperties;\n    (this || _global).w = PropertyFactory.getProp(elem, data.w, 0, null, this || _global);\n    (this || _global).d = new DashProperty(elem, data.d || {}, \"svg\", this || _global);\n    this.initGradientData(elem, data, styleOb);\n    (this || _global)._isAnimated = !!(this || _global)._isAnimated;\n  }\n\n  extendPrototype([SVGGradientFillStyleData, DynamicPropertyContainer], SVGGradientStrokeStyleData);\n  /* global createNS */\n\n  /* exported ShapeGroupData */\n\n  function ShapeGroupData() {\n    (this || _global).it = [];\n    (this || _global).prevViewData = [];\n    (this || _global).gr = createNS(\"g\");\n  }\n  /* global Matrix, buildShapeString, bmFloor */\n\n  /* exported SVGElementsRenderer */\n\n\n  var SVGElementsRenderer = function () {\n    var _identityMatrix = new Matrix();\n\n    var _matrixHelper = new Matrix();\n\n    var ob = {\n      createRenderFunction: createRenderFunction\n    };\n\n    function createRenderFunction(data) {\n      switch (data.ty) {\n        case \"fl\":\n          return renderFill;\n\n        case \"gf\":\n          return renderGradient;\n\n        case \"gs\":\n          return renderGradientStroke;\n\n        case \"st\":\n          return renderStroke;\n\n        case \"sh\":\n        case \"el\":\n        case \"rc\":\n        case \"sr\":\n          return renderPath;\n\n        case \"tr\":\n          return renderContentTransform;\n\n        default:\n          return null;\n      }\n    }\n\n    function renderContentTransform(styleData, itemData, isFirstFrame) {\n      if (isFirstFrame || itemData.transform.op._mdf) {\n        itemData.transform.container.setAttribute(\"opacity\", itemData.transform.op.v);\n      }\n\n      if (isFirstFrame || itemData.transform.mProps._mdf) {\n        itemData.transform.container.setAttribute(\"transform\", itemData.transform.mProps.v.to2dCSS());\n      }\n    }\n\n    function renderPath(styleData, itemData, isFirstFrame) {\n      var j;\n      var jLen;\n      var pathStringTransformed;\n      var redraw;\n      var pathNodes;\n      var l;\n      var lLen = itemData.styles.length;\n      var lvl = itemData.lvl;\n      var paths;\n      var mat;\n      var props;\n      var iterations;\n      var k;\n\n      for (l = 0; l < lLen; l += 1) {\n        redraw = itemData.sh._mdf || isFirstFrame;\n\n        if (itemData.styles[l].lvl < lvl) {\n          mat = _matrixHelper.reset();\n          iterations = lvl - itemData.styles[l].lvl;\n          k = itemData.transformers.length - 1;\n\n          while (!redraw && iterations > 0) {\n            redraw = itemData.transformers[k].mProps._mdf || redraw;\n            iterations -= 1;\n            k -= 1;\n          }\n\n          if (redraw) {\n            iterations = lvl - itemData.styles[l].lvl;\n            k = itemData.transformers.length - 1;\n\n            while (iterations > 0) {\n              props = itemData.transformers[k].mProps.v.props;\n              mat.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n              iterations -= 1;\n              k -= 1;\n            }\n          }\n        } else {\n          mat = _identityMatrix;\n        }\n\n        paths = itemData.sh.paths;\n        jLen = paths._length;\n\n        if (redraw) {\n          pathStringTransformed = \"\";\n\n          for (j = 0; j < jLen; j += 1) {\n            pathNodes = paths.shapes[j];\n\n            if (pathNodes && pathNodes._length) {\n              pathStringTransformed += buildShapeString(pathNodes, pathNodes._length, pathNodes.c, mat);\n            }\n          }\n\n          itemData.caches[l] = pathStringTransformed;\n        } else {\n          pathStringTransformed = itemData.caches[l];\n        }\n\n        itemData.styles[l].d += styleData.hd === true ? \"\" : pathStringTransformed;\n        itemData.styles[l]._mdf = redraw || itemData.styles[l]._mdf;\n      }\n    }\n\n    function renderFill(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n\n      if (itemData.c._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"fill-opacity\", itemData.o.v);\n      }\n    }\n\n    function renderGradientStroke(styleData, itemData, isFirstFrame) {\n      renderGradient(styleData, itemData, isFirstFrame);\n      renderStroke(styleData, itemData, isFirstFrame);\n    }\n\n    function renderGradient(styleData, itemData, isFirstFrame) {\n      var gfill = itemData.gf;\n      var hasOpacity = itemData.g._hasOpacity;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (itemData.o._mdf || isFirstFrame) {\n        var attr = styleData.ty === \"gf\" ? \"fill-opacity\" : \"stroke-opacity\";\n        itemData.style.pElem.setAttribute(attr, itemData.o.v);\n      }\n\n      if (itemData.s._mdf || isFirstFrame) {\n        var attr1 = styleData.t === 1 ? \"x1\" : \"cx\";\n        var attr2 = attr1 === \"x1\" ? \"y1\" : \"cy\";\n        gfill.setAttribute(attr1, pt1[0]);\n        gfill.setAttribute(attr2, pt1[1]);\n\n        if (hasOpacity && !itemData.g._collapsable) {\n          itemData.of.setAttribute(attr1, pt1[0]);\n          itemData.of.setAttribute(attr2, pt1[1]);\n        }\n      }\n\n      var stops;\n      var i;\n      var len;\n      var stop;\n\n      if (itemData.g._cmdf || isFirstFrame) {\n        stops = itemData.cst;\n        var cValues = itemData.g.c;\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n          stop.setAttribute(\"offset\", cValues[i * 4] + \"%\");\n          stop.setAttribute(\"stop-color\", \"rgb(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \")\");\n        }\n      }\n\n      if (hasOpacity && (itemData.g._omdf || isFirstFrame)) {\n        var oValues = itemData.g.o;\n\n        if (itemData.g._collapsable) {\n          stops = itemData.cst;\n        } else {\n          stops = itemData.ost;\n        }\n\n        len = stops.length;\n\n        for (i = 0; i < len; i += 1) {\n          stop = stops[i];\n\n          if (!itemData.g._collapsable) {\n            stop.setAttribute(\"offset\", oValues[i * 2] + \"%\");\n          }\n\n          stop.setAttribute(\"stop-opacity\", oValues[i * 2 + 1]);\n        }\n      }\n\n      if (styleData.t === 1) {\n        if (itemData.e._mdf || isFirstFrame) {\n          gfill.setAttribute(\"x2\", pt2[0]);\n          gfill.setAttribute(\"y2\", pt2[1]);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"x2\", pt2[0]);\n            itemData.of.setAttribute(\"y2\", pt2[1]);\n          }\n        }\n      } else {\n        var rad;\n\n        if (itemData.s._mdf || itemData.e._mdf || isFirstFrame) {\n          rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          gfill.setAttribute(\"r\", rad);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"r\", rad);\n          }\n        }\n\n        if (itemData.e._mdf || itemData.h._mdf || itemData.a._mdf || isFirstFrame) {\n          if (!rad) {\n            rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n          }\n\n          var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n          var percent = itemData.h.v;\n\n          if (percent >= 1) {\n            percent = 0.99;\n          } else if (percent <= -1) {\n            percent = -0.99;\n          }\n\n          var dist = rad * percent;\n          var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n          var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n          gfill.setAttribute(\"fx\", x);\n          gfill.setAttribute(\"fy\", y);\n\n          if (hasOpacity && !itemData.g._collapsable) {\n            itemData.of.setAttribute(\"fx\", x);\n            itemData.of.setAttribute(\"fy\", y);\n          }\n        } // gfill.setAttribute('fy','200');\n\n      }\n    }\n\n    function renderStroke(styleData, itemData, isFirstFrame) {\n      var styleElem = itemData.style;\n      var d = itemData.d;\n\n      if (d && (d._mdf || isFirstFrame) && d.dashStr) {\n        styleElem.pElem.setAttribute(\"stroke-dasharray\", d.dashStr);\n        styleElem.pElem.setAttribute(\"stroke-dashoffset\", d.dashoffset[0]);\n      }\n\n      if (itemData.c && (itemData.c._mdf || isFirstFrame)) {\n        styleElem.pElem.setAttribute(\"stroke\", \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\");\n      }\n\n      if (itemData.o._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-opacity\", itemData.o.v);\n      }\n\n      if (itemData.w._mdf || isFirstFrame) {\n        styleElem.pElem.setAttribute(\"stroke-width\", itemData.w.v);\n\n        if (styleElem.msElem) {\n          styleElem.msElem.setAttribute(\"stroke-width\", itemData.w.v);\n        }\n      }\n    }\n\n    return ob;\n  }();\n  /* global Matrix */\n\n\n  function ShapeTransformManager() {\n    (this || _global).sequences = {};\n    (this || _global).sequenceList = [];\n    (this || _global).transform_key_count = 0;\n  }\n\n  ShapeTransformManager.prototype = {\n    addTransformSequence: function (transforms) {\n      var i;\n      var len = transforms.length;\n      var key = \"_\";\n\n      for (i = 0; i < len; i += 1) {\n        key += transforms[i].transform.key + \"_\";\n      }\n\n      var sequence = (this || _global).sequences[key];\n\n      if (!sequence) {\n        sequence = {\n          transforms: [].concat(transforms),\n          finalTransform: new Matrix(),\n          _mdf: false\n        };\n        (this || _global).sequences[key] = sequence;\n\n        (this || _global).sequenceList.push(sequence);\n      }\n\n      return sequence;\n    },\n    processSequence: function (sequence, isFirstFrame) {\n      var i = 0;\n      var len = sequence.transforms.length;\n      var _mdf = isFirstFrame;\n\n      while (i < len && !isFirstFrame) {\n        if (sequence.transforms[i].transform.mProps._mdf) {\n          _mdf = true;\n          break;\n        }\n\n        i += 1;\n      }\n\n      if (_mdf) {\n        var props;\n        sequence.finalTransform.reset();\n\n        for (i = len - 1; i >= 0; i -= 1) {\n          props = sequence.transforms[i].transform.mProps.v.props;\n          sequence.finalTransform.transform(props[0], props[1], props[2], props[3], props[4], props[5], props[6], props[7], props[8], props[9], props[10], props[11], props[12], props[13], props[14], props[15]);\n        }\n      }\n\n      sequence._mdf = _mdf;\n    },\n    processSequences: function (isFirstFrame) {\n      var i;\n      var len = (this || _global).sequenceList.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.processSequence((this || _global).sequenceList[i], isFirstFrame);\n      }\n    },\n    getNewKey: function () {\n      (this || _global).transform_key_count += 1;\n      return \"_\" + (this || _global).transform_key_count;\n    }\n  };\n  /* global ShapePropertyFactory, SVGShapeData */\n\n  function CVShapeData(element, data, styles, transformsManager) {\n    (this || _global).styledShapes = [];\n    (this || _global).tr = [0, 0, 0, 0, 0, 0];\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    (this || _global).sh = ShapePropertyFactory.getShapeProp(element, data, ty, element);\n    var i;\n    var len = styles.length;\n    var styledShape;\n\n    for (i = 0; i < len; i += 1) {\n      if (!styles[i].closed) {\n        styledShape = {\n          transforms: transformsManager.addTransformSequence(styles[i].transforms),\n          trNodes: []\n        };\n\n        (this || _global).styledShapes.push(styledShape);\n\n        styles[i].elements.push(styledShape);\n      }\n    }\n  }\n\n  CVShapeData.prototype.setAsAnimated = SVGShapeData.prototype.setAsAnimated;\n  /* global LayerExpressionInterface, EffectsExpressionInterface, CompExpressionInterface, ShapeExpressionInterface,\r\n  TextExpressionInterface, getBlendMode,createElementID, EffectsManager */\n\n  function BaseElement() {}\n\n  BaseElement.prototype = {\n    checkMasks: function () {\n      if (!(this || _global).data.hasMask) {\n        return false;\n      }\n\n      var i = 0;\n      var len = (this || _global).data.masksProperties.length;\n\n      while (i < len) {\n        if ((this || _global).data.masksProperties[i].mode !== \"n\" && (this || _global).data.masksProperties[i].cl !== false) {\n          return true;\n        }\n\n        i += 1;\n      }\n\n      return false;\n    },\n    initExpressions: function () {\n      (this || _global).layerInterface = LayerExpressionInterface(this || _global);\n\n      if ((this || _global).data.hasMask && (this || _global).maskManager) {\n        (this || _global).layerInterface.registerMaskInterface((this || _global).maskManager);\n      }\n\n      var effectsInterface = EffectsExpressionInterface.createEffectsInterface(this || _global, (this || _global).layerInterface);\n\n      (this || _global).layerInterface.registerEffectsInterface(effectsInterface);\n\n      if ((this || _global).data.ty === 0 || (this || _global).data.xt) {\n        (this || _global).compInterface = CompExpressionInterface(this || _global);\n      } else if ((this || _global).data.ty === 4) {\n        (this || _global).layerInterface.shapeInterface = ShapeExpressionInterface((this || _global).shapesData, (this || _global).itemsData, (this || _global).layerInterface);\n        (this || _global).layerInterface.content = (this || _global).layerInterface.shapeInterface;\n      } else if ((this || _global).data.ty === 5) {\n        (this || _global).layerInterface.textInterface = TextExpressionInterface(this || _global);\n        (this || _global).layerInterface.text = (this || _global).layerInterface.textInterface;\n      }\n    },\n    setBlendMode: function () {\n      var blendModeValue = getBlendMode((this || _global).data.bm);\n      var elem = (this || _global).baseElement || (this || _global).layerElement;\n      elem.style[\"mix-blend-mode\"] = blendModeValue;\n    },\n    initBaseData: function (data, globalData, comp) {\n      (this || _global).globalData = globalData;\n      (this || _global).comp = comp;\n      (this || _global).data = data;\n      (this || _global).layerId = createElementID(); // Stretch factor for old animations missing this property.\n\n      if (!(this || _global).data.sr) {\n        (this || _global).data.sr = 1;\n      } // effects manager\n\n\n      (this || _global).effectsManager = new EffectsManager((this || _global).data, this || _global, (this || _global).dynamicProperties);\n    },\n    getType: function () {\n      return (this || _global).type;\n    },\n    sourceRectAtTime: function () {}\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement */\n\n  function NullElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initFrame();\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n  }\n\n  NullElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  NullElement.prototype.renderFrame = function () {};\n\n  NullElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  NullElement.prototype.destroy = function () {};\n\n  NullElement.prototype.sourceRectAtTime = function () {};\n\n  NullElement.prototype.hide = function () {};\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement], NullElement);\n  /* global filtersFactory, featureSupport, filtersFactory, createElementID, createNS, MaskElement, SVGEffects, locationHref */\n\n  function SVGBaseElement() {}\n\n  SVGBaseElement.prototype = {\n    initRendererElement: function () {\n      (this || _global).layerElement = createNS(\"g\");\n    },\n    createContainerElements: function () {\n      (this || _global).matteElement = createNS(\"g\");\n      (this || _global).transformedElement = (this || _global).layerElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n      (this || _global)._sizeChanged = false;\n      var layerElementParent = null; // If this layer acts as a mask for the following layer\n\n      var filId;\n      var fil;\n      var gg;\n\n      if ((this || _global).data.td) {\n        if ((this || _global).data.td == 3 || (this || _global).data.td == 1) {\n          // eslint-disable-line eqeqeq\n          var masker = createNS(\"mask\");\n          masker.setAttribute(\"id\", (this || _global).layerId);\n          masker.setAttribute(\"mask-type\", (this || _global).data.td == 3 ? \"luminance\" : \"alpha\"); // eslint-disable-line eqeqeq\n\n          masker.appendChild((this || _global).layerElement);\n          layerElementParent = masker;\n\n          (this || _global).globalData.defs.appendChild(masker); // This is only for IE and Edge when mask if of type alpha\n\n\n          if (!featureSupport.maskType && (this || _global).data.td == 1) {\n            // eslint-disable-line eqeqeq\n            masker.setAttribute(\"mask-type\", \"luminance\");\n            filId = createElementID();\n            fil = filtersFactory.createFilter(filId);\n\n            (this || _global).globalData.defs.appendChild(fil);\n\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            masker.appendChild(gg);\n            gg.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          }\n        } else if ((this || _global).data.td == 2) {\n          // eslint-disable-line eqeqeq\n          var maskGroup = createNS(\"mask\");\n          maskGroup.setAttribute(\"id\", (this || _global).layerId);\n          maskGroup.setAttribute(\"mask-type\", \"alpha\");\n          var maskGrouper = createNS(\"g\");\n          maskGroup.appendChild(maskGrouper);\n          filId = createElementID();\n          fil = filtersFactory.createFilter(filId); /// /\n          // This solution doesn't work on Android when meta tag with viewport attribute is set\n\n          /* var feColorMatrix = createNS('feColorMatrix');\r\n                  feColorMatrix.setAttribute('type', 'matrix');\r\n                  feColorMatrix.setAttribute('color-interpolation-filters', 'sRGB');\r\n                  feColorMatrix.setAttribute('values','1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 -1 1');\r\n                  fil.appendChild(feColorMatrix); */\n          /// /\n\n          var feCTr = createNS(\"feComponentTransfer\");\n          feCTr.setAttribute(\"in\", \"SourceGraphic\");\n          fil.appendChild(feCTr);\n          var feFunc = createNS(\"feFuncA\");\n          feFunc.setAttribute(\"type\", \"table\");\n          feFunc.setAttribute(\"tableValues\", \"1.0 0.0\");\n          feCTr.appendChild(feFunc); /// /\n\n          (this || _global).globalData.defs.appendChild(fil);\n\n          var alphaRect = createNS(\"rect\");\n          alphaRect.setAttribute(\"width\", (this || _global).comp.data.w);\n          alphaRect.setAttribute(\"height\", (this || _global).comp.data.h);\n          alphaRect.setAttribute(\"x\", \"0\");\n          alphaRect.setAttribute(\"y\", \"0\");\n          alphaRect.setAttribute(\"fill\", \"#ffffff\");\n          alphaRect.setAttribute(\"opacity\", \"0\");\n          maskGrouper.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n          maskGrouper.appendChild(alphaRect);\n          maskGrouper.appendChild((this || _global).layerElement);\n          layerElementParent = maskGrouper;\n\n          if (!featureSupport.maskType) {\n            maskGroup.setAttribute(\"mask-type\", \"luminance\");\n            fil.appendChild(filtersFactory.createAlphaToLuminanceFilter());\n            gg = createNS(\"g\");\n            maskGrouper.appendChild(alphaRect);\n            gg.appendChild((this || _global).layerElement);\n            layerElementParent = gg;\n            maskGrouper.appendChild(gg);\n          }\n\n          (this || _global).globalData.defs.appendChild(maskGroup);\n        }\n      } else if ((this || _global).data.tt) {\n        (this || _global).matteElement.appendChild((this || _global).layerElement);\n\n        layerElementParent = (this || _global).matteElement;\n        (this || _global).baseElement = (this || _global).matteElement;\n      } else {\n        (this || _global).baseElement = (this || _global).layerElement;\n      }\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      } // Clipping compositions to hide content that exceeds boundaries. If collapsed transformations is on, component should not be clipped\n\n\n      if ((this || _global).data.ty === 0 && !(this || _global).data.hd) {\n        var cp = createNS(\"clipPath\");\n        var pt = createNS(\"path\");\n        pt.setAttribute(\"d\", \"M0,0 L\" + (this || _global).data.w + \",0 L\" + (this || _global).data.w + \",\" + (this || _global).data.h + \" L0,\" + (this || _global).data.h + \"z\");\n        var clipId = createElementID();\n        cp.setAttribute(\"id\", clipId);\n        cp.appendChild(pt);\n\n        (this || _global).globalData.defs.appendChild(cp);\n\n        if (this.checkMasks()) {\n          var cpGroup = createNS(\"g\");\n          cpGroup.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n          cpGroup.appendChild((this || _global).layerElement);\n          (this || _global).transformedElement = cpGroup;\n\n          if (layerElementParent) {\n            layerElementParent.appendChild((this || _global).transformedElement);\n          } else {\n            (this || _global).baseElement = (this || _global).transformedElement;\n          }\n        } else {\n          (this || _global).layerElement.setAttribute(\"clip-path\", \"url(\" + locationHref + \"#\" + clipId + \")\");\n        }\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      if ((this || _global).finalTransform._matMdf) {\n        (this || _global).transformedElement.setAttribute(\"transform\", (this || _global).finalTransform.mat.to2dCSS());\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        (this || _global).transformedElement.setAttribute(\"opacity\", (this || _global).finalTransform.mProp.o.v);\n      }\n    },\n    destroyBaseElement: function () {\n      (this || _global).layerElement = null;\n      (this || _global).matteElement = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    getBaseElement: function () {\n      if ((this || _global).data.hd) {\n        return null;\n      }\n\n      return (this || _global).baseElement;\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n      (this || _global).renderableEffectsManager = new SVGEffects(this || _global);\n    },\n    setMatte: function (id) {\n      if (!(this || _global).matteElement) {\n        return;\n      }\n\n      (this || _global).matteElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n    }\n  };\n  /* global ProcessedElement */\n\n  function IShapeElement() {}\n\n  IShapeElement.prototype = {\n    addShapeToModifiers: function (data) {\n      var i;\n      var len = (this || _global).shapeModifiers.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapeModifiers[i].addShape(data);\n      }\n    },\n    isShapeInAnimatedModifiers: function (data) {\n      var i = 0;\n      var len = (this || _global).shapeModifiers.length;\n\n      while (i < len) {\n        if ((this || _global).shapeModifiers[i].isAnimatedWithShape(data)) {\n          return true;\n        }\n      }\n\n      return false;\n    },\n    renderModifiers: function () {\n      if (!(this || _global).shapeModifiers.length) {\n        return;\n      }\n\n      var i;\n      var len = (this || _global).shapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).shapes[i].sh.reset();\n      }\n\n      len = (this || _global).shapeModifiers.length;\n      var shouldBreakProcess;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        shouldBreakProcess = (this || _global).shapeModifiers[i].processShapes((this || _global)._isFirstFrame); // workaround to fix cases where a repeater resets the shape so the following processes get called twice\n        // TODO: find a better solution for this\n\n        if (shouldBreakProcess) {\n          break;\n        }\n      }\n    },\n    lcEnum: {\n      1: \"butt\",\n      2: \"round\",\n      3: \"square\"\n    },\n    ljEnum: {\n      1: \"miter\",\n      2: \"round\",\n      3: \"bevel\"\n    },\n    searchProcessedElement: function (elem) {\n      var elements = (this || _global).processedElements;\n      var i = 0;\n      var len = elements.length;\n\n      while (i < len) {\n        if (elements[i].elem === elem) {\n          return elements[i].pos;\n        }\n\n        i += 1;\n      }\n\n      return 0;\n    },\n    addProcessedElement: function (elem, pos) {\n      var elements = (this || _global).processedElements;\n      var i = elements.length;\n\n      while (i) {\n        i -= 1;\n\n        if (elements[i].elem === elem) {\n          elements[i].pos = pos;\n          return;\n        }\n      }\n\n      elements.push(new ProcessedElement(elem, pos));\n    },\n    prepareFrame: function (num) {\n      this.prepareRenderableFrame(num);\n      this.prepareProperties(num, (this || _global).isInRange);\n    }\n  };\n  /* global TextProperty, TextAnimatorProperty, buildShapeString, LetterProps */\n\n  function ITextElement() {}\n\n  ITextElement.prototype.initElement = function (data, globalData, comp) {\n    (this || _global).lettersChangedFlag = true;\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    (this || _global).textProperty = new TextProperty(this || _global, data.t, (this || _global).dynamicProperties);\n    (this || _global).textAnimator = new TextAnimatorProperty(data.t, (this || _global).renderType, this || _global);\n    this.initTransform(data, globalData, comp);\n    this.initHierarchy();\n    this.initRenderable();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n    this.createContent();\n    this.hide();\n\n    (this || _global).textAnimator.searchProperties((this || _global).dynamicProperties);\n  };\n\n  ITextElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if ((this || _global).textProperty._mdf || (this || _global).textProperty._isFirstFrame) {\n      this.buildNewText();\n      (this || _global).textProperty._isFirstFrame = false;\n      (this || _global).textProperty._mdf = false;\n    }\n  };\n\n  ITextElement.prototype.createPathShape = function (matrixHelper, shapes) {\n    var j;\n    var jLen = shapes.length;\n    var pathNodes;\n    var shapeStr = \"\";\n\n    for (j = 0; j < jLen; j += 1) {\n      pathNodes = shapes[j].ks.k;\n      shapeStr += buildShapeString(pathNodes, pathNodes.i.length, true, matrixHelper);\n    }\n\n    return shapeStr;\n  };\n\n  ITextElement.prototype.updateDocumentData = function (newData, index) {\n    (this || _global).textProperty.updateDocumentData(newData, index);\n  };\n\n  ITextElement.prototype.canResizeFont = function (_canResize) {\n    (this || _global).textProperty.canResizeFont(_canResize);\n  };\n\n  ITextElement.prototype.setMinimumFontSize = function (_fontSize) {\n    (this || _global).textProperty.setMinimumFontSize(_fontSize);\n  };\n\n  ITextElement.prototype.applyTextPropertiesToMatrix = function (documentData, matrixHelper, lineNumber, xPos, yPos) {\n    if (documentData.ps) {\n      matrixHelper.translate(documentData.ps[0], documentData.ps[1] + documentData.ascent, 0);\n    }\n\n    matrixHelper.translate(0, -documentData.ls, 0);\n\n    switch (documentData.j) {\n      case 1:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]), 0, 0);\n        break;\n\n      case 2:\n        matrixHelper.translate(documentData.justifyOffset + (documentData.boxWidth - documentData.lineWidths[lineNumber]) / 2, 0, 0);\n        break;\n\n      default:\n        break;\n    }\n\n    matrixHelper.translate(xPos, yPos, 0);\n  };\n\n  ITextElement.prototype.buildColor = function (colorData) {\n    return \"rgb(\" + Math.round(colorData[0] * 255) + \",\" + Math.round(colorData[1] * 255) + \",\" + Math.round(colorData[2] * 255) + \")\";\n  };\n\n  ITextElement.prototype.emptyProp = new LetterProps();\n\n  ITextElement.prototype.destroy = function () {};\n  /* global extendPrototype, BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement */\n\n\n  function ICompElement() {}\n\n  extendPrototype([BaseElement, TransformElement, HierarchyElement, FrameElement, RenderableDOMElement], ICompElement);\n\n  ICompElement.prototype.initElement = function (data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initTransform(data, globalData, comp);\n    this.initRenderable();\n    this.initHierarchy();\n    this.initRendererElement();\n    this.createContainerElements();\n    this.createRenderableComponents();\n\n    if ((this || _global).data.xt || !globalData.progressiveLoad) {\n      this.buildAllItems();\n    }\n\n    this.hide();\n  };\n  /* ICompElement.prototype.hide = function(){\r\n      if(!this.hidden){\r\n          this.hideElement();\r\n          var i,len = this.elements.length;\r\n          for( i = 0; i < len; i+=1 ){\r\n              if(this.elements[i]){\r\n                  this.elements[i].hide();\r\n              }\r\n          }\r\n      }\r\n  }; */\n\n\n  ICompElement.prototype.prepareFrame = function (num) {\n    (this || _global)._mdf = false;\n    this.prepareRenderableFrame(num);\n    this.prepareProperties(num, (this || _global).isInRange);\n\n    if (!(this || _global).isInRange && !(this || _global).data.xt) {\n      return;\n    }\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n\n      if (timeRemapped === (this || _global).data.op) {\n        timeRemapped = (this || _global).data.op - 1;\n      }\n\n      (this || _global).renderedFrame = timeRemapped;\n    } else {\n      (this || _global).renderedFrame = num / (this || _global).data.sr;\n    }\n\n    var i;\n    var len = (this || _global).elements.length;\n\n    if (!(this || _global).completeLayers) {\n      this.checkLayers((this || _global).renderedFrame);\n    } // This iteration needs to be backwards because of how expressions connect between each other\n\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].prepareFrame((this || _global).renderedFrame - (this || _global).layers[i].st);\n\n        if ((this || _global).elements[i]._mdf) {\n          (this || _global)._mdf = true;\n        }\n      }\n    }\n  };\n\n  ICompElement.prototype.renderInnerContent = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  ICompElement.prototype.setElements = function (elems) {\n    (this || _global).elements = elems;\n  };\n\n  ICompElement.prototype.getElements = function () {\n    return (this || _global).elements;\n  };\n\n  ICompElement.prototype.destroyElements = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n  };\n\n  ICompElement.prototype.destroy = function () {\n    this.destroyElements();\n    this.destroyBaseElement();\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, createNS */\n\n\n  function IImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n    (this || _global).sourceRect = {\n      top: 0,\n      left: 0,\n      width: (this || _global).assetData.w,\n      height: (this || _global).assetData.h\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], IImageElement);\n\n  IImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).innerElem = createNS(\"image\");\n\n    (this || _global).innerElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n    (this || _global).innerElem.setAttribute(\"preserveAspectRatio\", (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio);\n\n    (this || _global).innerElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n    (this || _global).layerElement.appendChild((this || _global).innerElem);\n  };\n\n  IImageElement.prototype.sourceRectAtTime = function () {\n    return (this || _global).sourceRect;\n  };\n  /* global extendPrototype, IImageElement, createNS */\n\n\n  function ISolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([IImageElement], ISolidElement);\n\n  ISolidElement.prototype.createContent = function () {\n    var rect = createNS(\"rect\"); /// /rect.style.width = this.data.sw;\n    /// /rect.style.height = this.data.sh;\n    /// /rect.style.fill = this.data.sc;\n\n    rect.setAttribute(\"width\", (this || _global).data.sw);\n    rect.setAttribute(\"height\", (this || _global).data.sh);\n    rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global PropertyFactory, extendPrototype, RenderableElement, BaseElement, FrameElement */\n\n\n  function AudioElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initBaseData(data, globalData, comp);\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    (this || _global).audio = (this || _global).globalData.audioController.createAudio(assetPath);\n    (this || _global)._currentTime = 0;\n\n    (this || _global).globalData.audioController.addAudio(this || _global);\n\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  AudioElement.prototype.prepareFrame = function (num) {\n    this.prepareRenderableFrame(num, true);\n    this.prepareProperties(num, true);\n\n    if (!(this || _global).tm._placeholder) {\n      var timeRemapped = (this || _global).tm.v;\n      (this || _global)._currentTime = timeRemapped;\n    } else {\n      (this || _global)._currentTime = num / (this || _global).data.sr;\n    }\n  };\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], AudioElement);\n\n  AudioElement.prototype.renderFrame = function () {\n    if ((this || _global).isInRange && (this || _global)._canPlay) {\n      if (!(this || _global)._isPlaying) {\n        (this || _global).audio.play();\n\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n\n        (this || _global)._isPlaying = true;\n      } else if (!(this || _global).audio.playing() || Math.abs((this || _global)._currentTime / (this || _global).globalData.frameRate - (this || _global).audio.seek()) > 0.1) {\n        (this || _global).audio.seek((this || _global)._currentTime / (this || _global).globalData.frameRate);\n      }\n    }\n  };\n\n  AudioElement.prototype.show = function () {// this.audio.play()\n  };\n\n  AudioElement.prototype.hide = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n  };\n\n  AudioElement.prototype.pause = function () {\n    (this || _global).audio.pause();\n\n    (this || _global)._isPlaying = false;\n    (this || _global)._canPlay = false;\n  };\n\n  AudioElement.prototype.resume = function () {\n    (this || _global)._canPlay = true;\n  };\n\n  AudioElement.prototype.setRate = function (rateValue) {\n    (this || _global).audio.rate(rateValue);\n  };\n\n  AudioElement.prototype.volume = function (volumeValue) {\n    (this || _global).audio.volume(volumeValue);\n  };\n\n  AudioElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  AudioElement.prototype.destroy = function () {};\n\n  AudioElement.prototype.sourceRectAtTime = function () {};\n\n  AudioElement.prototype.initExpressions = function () {};\n  /* global extendPrototype, RenderableElement, BaseElement, FrameElement, FootageInterface */\n\n\n  function FootageElement(data, globalData, comp) {\n    this.initFrame();\n    this.initRenderable();\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).footageData = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initBaseData(data, globalData, comp);\n  }\n\n  FootageElement.prototype.prepareFrame = function () {};\n\n  extendPrototype([RenderableElement, BaseElement, FrameElement], FootageElement);\n\n  FootageElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  FootageElement.prototype.renderFrame = function () {};\n\n  FootageElement.prototype.destroy = function () {};\n\n  FootageElement.prototype.initExpressions = function () {\n    (this || _global).layerInterface = FootageInterface(this || _global);\n  };\n\n  FootageElement.prototype.getFootageData = function () {\n    return (this || _global).footageData;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, SVGRenderer, ICompElement, SVGBaseElement */\n\n\n  function SVGCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = true;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : []; // this.layerElement = createNS('g');\n\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([SVGRenderer, ICompElement, SVGBaseElement], SVGCompElement);\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createNS */\n\n  function SVGTextLottieElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).renderType = \"svg\";\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], SVGTextLottieElement);\n\n  SVGTextLottieElement.prototype.createContent = function () {\n    if ((this || _global).data.singleShape && !(this || _global).globalData.fontManager.chars) {\n      (this || _global).textContainer = createNS(\"text\");\n    }\n  };\n\n  SVGTextLottieElement.prototype.buildTextContents = function (textArray) {\n    var i = 0;\n    var len = textArray.length;\n    var textContents = [];\n    var currentTextContent = \"\";\n\n    while (i < len) {\n      if (textArray[i] === String.fromCharCode(13) || textArray[i] === String.fromCharCode(3)) {\n        textContents.push(currentTextContent);\n        currentTextContent = \"\";\n      } else {\n        currentTextContent += textArray[i];\n      }\n\n      i += 1;\n    }\n\n    textContents.push(currentTextContent);\n    return textContents;\n  };\n\n  SVGTextLottieElement.prototype.buildNewText = function () {\n    var i;\n    var len;\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData ? documentData.l.length : 0);\n\n    if (documentData.fc) {\n      (this || _global).layerElement.setAttribute(\"fill\", this.buildColor(documentData.fc));\n    } else {\n      (this || _global).layerElement.setAttribute(\"fill\", \"rgba(0,0,0,0)\");\n    }\n\n    if (documentData.sc) {\n      (this || _global).layerElement.setAttribute(\"stroke\", this.buildColor(documentData.sc));\n\n      (this || _global).layerElement.setAttribute(\"stroke-width\", documentData.sw);\n    }\n\n    (this || _global).layerElement.setAttribute(\"font-size\", documentData.finalSize);\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (fontData.fClass) {\n      (this || _global).layerElement.setAttribute(\"class\", fontData.fClass);\n    } else {\n      (this || _global).layerElement.setAttribute(\"font-family\", fontData.fFamily);\n\n      var fWeight = documentData.fWeight;\n      var fStyle = documentData.fStyle;\n\n      (this || _global).layerElement.setAttribute(\"font-style\", fStyle);\n\n      (this || _global).layerElement.setAttribute(\"font-weight\", fWeight);\n    }\n\n    (this || _global).layerElement.setAttribute(\"aria-label\", documentData.t);\n\n    var letters = documentData.l || [];\n    var usesGlyphs = !!(this || _global).globalData.fontManager.chars;\n    len = letters.length;\n    var tSpan;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var singleShape = (this || _global).data.singleShape;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n\n    if (singleShape && !usesGlyphs && !documentData.sz) {\n      var tElement = (this || _global).textContainer;\n      var justify = \"start\";\n\n      switch (documentData.j) {\n        case 1:\n          justify = \"end\";\n          break;\n\n        case 2:\n          justify = \"middle\";\n          break;\n\n        default:\n          justify = \"start\";\n          break;\n      }\n\n      tElement.setAttribute(\"text-anchor\", justify);\n      tElement.setAttribute(\"letter-spacing\", trackingOffset);\n      var textContent = this.buildTextContents(documentData.finalText);\n      len = textContent.length;\n      yPos = documentData.ps ? documentData.ps[1] + documentData.ascent : 0;\n\n      for (i = 0; i < len; i += 1) {\n        tSpan = (this || _global).textSpans[i] || createNS(\"tspan\");\n        tSpan.textContent = textContent[i];\n        tSpan.setAttribute(\"x\", 0);\n        tSpan.setAttribute(\"y\", yPos);\n        tSpan.style.display = \"inherit\";\n        tElement.appendChild(tSpan);\n        (this || _global).textSpans[i] = tSpan;\n        yPos += documentData.finalLineHeight;\n      }\n\n      (this || _global).layerElement.appendChild(tElement);\n    } else {\n      var cachedSpansLength = (this || _global).textSpans.length;\n      var shapeData;\n      var charData;\n\n      for (i = 0; i < len; i += 1) {\n        if (!usesGlyphs || !singleShape || i === 0) {\n          tSpan = cachedSpansLength > i ? (this || _global).textSpans[i] : createNS(usesGlyphs ? \"path\" : \"text\");\n\n          if (cachedSpansLength <= i) {\n            tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n            tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n            tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n            (this || _global).textSpans[i] = tSpan;\n\n            (this || _global).layerElement.appendChild(tSpan);\n          }\n\n          tSpan.style.display = \"inherit\";\n        }\n\n        matrixHelper.reset();\n        matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n        if (singleShape) {\n          if (letters[i].n) {\n            xPos = -trackingOffset;\n            yPos += documentData.yOffset;\n            yPos += firstLine ? 1 : 0;\n            firstLine = false;\n          }\n\n          this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n          xPos += letters[i].l || 0; // xPos += letters[i].val === ' ' ? 0 : trackingOffset;\n\n          xPos += trackingOffset;\n        }\n\n        if (usesGlyphs) {\n          charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n          shapeData = charData && charData.data || {};\n          shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n\n          if (!singleShape) {\n            tSpan.setAttribute(\"d\", this.createPathShape(matrixHelper, shapes));\n          } else {\n            shapeStr += this.createPathShape(matrixHelper, shapes);\n          }\n        } else {\n          if (singleShape) {\n            tSpan.setAttribute(\"transform\", \"translate(\" + matrixHelper.props[12] + \",\" + matrixHelper.props[13] + \")\");\n          }\n\n          tSpan.textContent = letters[i].val;\n          tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n        } //\n\n      }\n\n      if (singleShape && tSpan) {\n        tSpan.setAttribute(\"d\", shapeStr);\n      }\n    }\n\n    while (i < (this || _global).textSpans.length) {\n      (this || _global).textSpans[i].style.display = \"none\";\n      i += 1;\n    }\n\n    (this || _global)._sizeChanged = true;\n  };\n\n  SVGTextLottieElement.prototype.sourceRectAtTime = function () {\n    this.prepareFrame((this || _global).comp.renderedFrame - (this || _global).data.st);\n    this.renderInnerContent();\n\n    if ((this || _global)._sizeChanged) {\n      (this || _global)._sizeChanged = false;\n\n      var textBox = (this || _global).layerElement.getBBox();\n\n      (this || _global).bbox = {\n        top: textBox.y,\n        left: textBox.x,\n        width: textBox.width,\n        height: textBox.height\n      };\n    }\n\n    return (this || _global).bbox;\n  };\n\n  SVGTextLottieElement.prototype.renderInnerContent = function () {\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n      if ((this || _global).lettersChangedFlag || (this || _global).textAnimator.lettersChangedFlag) {\n        (this || _global)._sizeChanged = true;\n        var i;\n        var len;\n        var renderedLetters = (this || _global).textAnimator.renderedLetters;\n        var letters = (this || _global).textProperty.currentData.l;\n        len = letters.length;\n        var renderedLetter;\n        var textSpan;\n\n        for (i = 0; i < len; i += 1) {\n          if (!letters[i].n) {\n            renderedLetter = renderedLetters[i];\n            textSpan = (this || _global).textSpans[i];\n\n            if (renderedLetter._mdf.m) {\n              textSpan.setAttribute(\"transform\", renderedLetter.m);\n            }\n\n            if (renderedLetter._mdf.o) {\n              textSpan.setAttribute(\"opacity\", renderedLetter.o);\n            }\n\n            if (renderedLetter._mdf.sw) {\n              textSpan.setAttribute(\"stroke-width\", renderedLetter.sw);\n            }\n\n            if (renderedLetter._mdf.sc) {\n              textSpan.setAttribute(\"stroke\", renderedLetter.sc);\n            }\n\n            if (renderedLetter._mdf.fc) {\n              textSpan.setAttribute(\"fill\", renderedLetter.fc);\n            }\n          }\n        }\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement,\r\n  FrameElement, RenderableDOMElement, Matrix, SVGStyleData, SVGStrokeStyleData, SVGFillStyleData,\r\n  SVGGradientFillStyleData, SVGGradientStrokeStyleData, locationHref, getBlendMode, ShapeGroupData,\r\n  TransformPropertyFactory, SVGTransformData, ShapePropertyFactory, SVGShapeData, SVGElementsRenderer, ShapeModifiers */\n\n\n  function SVGShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = []; // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n  }\n\n  extendPrototype([BaseElement, TransformElement, SVGBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableDOMElement], SVGShapeElement);\n\n  SVGShapeElement.prototype.initSecondaryElement = function () {};\n\n  SVGShapeElement.prototype.identityMatrix = new Matrix();\n\n  SVGShapeElement.prototype.buildExpressionInterface = function () {};\n\n  SVGShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n  };\n  /*\r\n  This method searches for multiple shapes that affect a single element and one of them is animated\r\n  */\n\n\n  SVGShapeElement.prototype.filterUniqueShapes = function () {\n    var i;\n    var len = (this || _global).shapes.length;\n    var shape;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n    var style;\n    var tempShapes = [];\n    var areAnimated = false;\n\n    for (j = 0; j < jLen; j += 1) {\n      style = (this || _global).stylesList[j];\n      areAnimated = false;\n      tempShapes.length = 0;\n\n      for (i = 0; i < len; i += 1) {\n        shape = (this || _global).shapes[i];\n\n        if (shape.styles.indexOf(style) !== -1) {\n          tempShapes.push(shape);\n          areAnimated = shape._isAnimated || areAnimated;\n        }\n      }\n\n      if (tempShapes.length > 1 && areAnimated) {\n        this.setShapesAsAnimated(tempShapes);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.setShapesAsAnimated = function (shapes) {\n    var i;\n    var len = shapes.length;\n\n    for (i = 0; i < len; i += 1) {\n      shapes[i].setAsAnimated();\n    }\n  };\n\n  SVGShapeElement.prototype.createStyleElement = function (data, level) {\n    // TODO: prevent drawing of hidden styles\n    var elementData;\n    var styleOb = new SVGStyleData(data, level);\n    var pathElement = styleOb.pElem;\n\n    if (data.ty === \"st\") {\n      elementData = new SVGStrokeStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"fl\") {\n      elementData = new SVGFillStyleData(this || _global, data, styleOb);\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      var GradientConstructor = data.ty === \"gf\" ? SVGGradientFillStyleData : SVGGradientStrokeStyleData;\n      elementData = new GradientConstructor(this || _global, data, styleOb);\n\n      (this || _global).globalData.defs.appendChild(elementData.gf);\n\n      if (elementData.maskId) {\n        (this || _global).globalData.defs.appendChild(elementData.ms);\n\n        (this || _global).globalData.defs.appendChild(elementData.of);\n\n        pathElement.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + elementData.maskId + \")\");\n      }\n    }\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      pathElement.setAttribute(\"stroke-linecap\", (this || _global).lcEnum[data.lc] || \"round\");\n      pathElement.setAttribute(\"stroke-linejoin\", (this || _global).ljEnum[data.lj] || \"round\");\n      pathElement.setAttribute(\"fill-opacity\", \"0\");\n\n      if (data.lj === 1) {\n        pathElement.setAttribute(\"stroke-miterlimit\", data.ml);\n      }\n    }\n\n    if (data.r === 2) {\n      pathElement.setAttribute(\"fill-rule\", \"evenodd\");\n    }\n\n    if (data.ln) {\n      pathElement.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      pathElement.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      pathElement.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    (this || _global).stylesList.push(styleOb);\n\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createGroupElement = function (data) {\n    var elementData = new ShapeGroupData();\n\n    if (data.ln) {\n      elementData.gr.setAttribute(\"id\", data.ln);\n    }\n\n    if (data.cl) {\n      elementData.gr.setAttribute(\"class\", data.cl);\n    }\n\n    if (data.bm) {\n      elementData.gr.style[\"mix-blend-mode\"] = getBlendMode(data.bm);\n    }\n\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createTransformElement = function (data, container) {\n    var transformProperty = TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global);\n    var elementData = new SVGTransformData(transformProperty, transformProperty.o, container);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.createShapeElement = function (data, ownTransformers, level) {\n    var ty = 4;\n\n    if (data.ty === \"rc\") {\n      ty = 5;\n    } else if (data.ty === \"el\") {\n      ty = 6;\n    } else if (data.ty === \"sr\") {\n      ty = 7;\n    }\n\n    var shapeProperty = ShapePropertyFactory.getShapeProp(this || _global, data, ty, this || _global);\n    var elementData = new SVGShapeData(ownTransformers, level, shapeProperty);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    this.addToAnimatedContents(data, elementData);\n    return elementData;\n  };\n\n  SVGShapeElement.prototype.addToAnimatedContents = function (data, element) {\n    var i = 0;\n    var len = (this || _global).animatedContents.length;\n\n    while (i < len) {\n      if ((this || _global).animatedContents[i].element === element) {\n        return;\n      }\n\n      i += 1;\n    }\n\n    (this || _global).animatedContents.push({\n      fn: SVGElementsRenderer.createRenderFunction(data),\n      element: element,\n      data: data\n    });\n  };\n\n  SVGShapeElement.prototype.setElementStyles = function (elementData) {\n    var arr = elementData.styles;\n    var j;\n    var jLen = (this || _global).stylesList.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      if (!(this || _global).stylesList[j].closed) {\n        arr.push((this || _global).stylesList[j]);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).layerElement, 0, [], true);\n    this.filterUniqueShapes();\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n  };\n\n  SVGShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, container, level, transformers, render) {\n    var ownTransformers = [].concat(transformers);\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var currentTransform;\n    var modifier;\n    var processedPos;\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._render = render;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], level);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].style.pElem);\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, itemsData[i].gr, level + 1, ownTransformers, render);\n\n        if (arr[i]._render) {\n          container.appendChild(itemsData[i].gr);\n        }\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createTransformElement(arr[i], container);\n        }\n\n        currentTransform = itemsData[i].transform;\n        ownTransformers.push(currentTransform);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i], ownTransformers, level);\n        }\n\n        this.setElementStyles(itemsData[i]);\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"ms\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          render = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    len = ownStyles.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownStyles[i].closed = true;\n    }\n\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  SVGShapeElement.prototype.renderInnerContent = function () {\n    this.renderModifiers();\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).stylesList[i].reset();\n    }\n\n    this.renderShape();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).stylesList[i]._mdf || (this || _global)._isFirstFrame) {\n        if ((this || _global).stylesList[i].msElem) {\n          (this || _global).stylesList[i].msElem.setAttribute(\"d\", (this || _global).stylesList[i].d); // Adding M0 0 fixes same mask bug on all browsers\n\n\n          (this || _global).stylesList[i].d = \"M0 0\" + (this || _global).stylesList[i].d;\n        }\n\n        (this || _global).stylesList[i].pElem.setAttribute(\"d\", (this || _global).stylesList[i].d || \"M0 0\");\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.renderShape = function () {\n    var i;\n    var len = (this || _global).animatedContents.length;\n    var animatedContent;\n\n    for (i = 0; i < len; i += 1) {\n      animatedContent = (this || _global).animatedContents[i];\n\n      if (((this || _global)._isFirstFrame || animatedContent.element._isAnimated) && animatedContent.data !== true) {\n        animatedContent.fn(animatedContent.data, animatedContent.element, (this || _global)._isFirstFrame);\n      }\n    }\n  };\n\n  SVGShapeElement.prototype.destroy = function () {\n    this.destroyBaseElement();\n    (this || _global).shapesData = null;\n    (this || _global).itemsData = null;\n  };\n  /* global createNS */\n\n\n  function SVGTintFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f2\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n\n    if (filterManager.effectElements[2].p.v !== 100 || filterManager.effectElements[2].p.k) {\n      var feMerge = createNS(\"feMerge\");\n      filter.appendChild(feMerge);\n      var feMergeNode;\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n      feMerge.appendChild(feMergeNode);\n      feMergeNode = createNS(\"feMergeNode\");\n      feMergeNode.setAttribute(\"in\", \"f2\");\n      feMerge.appendChild(feMergeNode);\n    }\n  }\n\n  SVGTintFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var colorBlack = (this || _global).filterManager.effectElements[0].p.v;\n      var colorWhite = (this || _global).filterManager.effectElements[1].p.v;\n      var opacity = (this || _global).filterManager.effectElements[2].p.v / 100;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", colorWhite[0] - colorBlack[0] + \" 0 0 0 \" + colorBlack[0] + \" \" + (colorWhite[1] - colorBlack[1]) + \" 0 0 0 \" + colorBlack[1] + \" \" + (colorWhite[2] - colorBlack[2]) + \" 0 0 0 \" + colorBlack[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGFillFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    feColorMatrix.setAttribute(\"values\", \"1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0\");\n    filter.appendChild(feColorMatrix);\n    (this || _global).matrixFilter = feColorMatrix;\n  }\n\n  SVGFillFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color = (this || _global).filterManager.effectElements[2].p.v;\n      var opacity = (this || _global).filterManager.effectElements[6].p.v;\n\n      (this || _global).matrixFilter.setAttribute(\"values\", \"0 0 0 0 \" + color[0] + \" 0 0 0 0 \" + color[1] + \" 0 0 0 0 \" + color[2] + \" 0 0 0 \" + opacity + \" 0\");\n    }\n  };\n  /* global createNS */\n\n\n  function SVGGaussianBlurEffect(filter, filterManager) {\n    // Outset the filter region by 100% on all sides to accommodate blur expansion.\n    filter.setAttribute(\"x\", \"-100%\");\n    filter.setAttribute(\"y\", \"-100%\");\n    filter.setAttribute(\"width\", \"300%\");\n    filter.setAttribute(\"height\", \"300%\");\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    filter.appendChild(feGaussianBlur);\n    (this || _global).feGaussianBlur = feGaussianBlur;\n  }\n\n  SVGGaussianBlurEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      // Empirical value, matching AE's blur appearance.\n      var kBlurrinessToSigma = 0.3;\n      var sigma = (this || _global).filterManager.effectElements[0].p.v * kBlurrinessToSigma; // Dimensions mapping:\n      //\n      //   1 -> horizontal & vertical\n      //   2 -> horizontal only\n      //   3 -> vertical only\n      //\n\n      var dimensions = (this || _global).filterManager.effectElements[1].p.v;\n      var sigmaX = dimensions == 3 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      var sigmaY = dimensions == 2 ? 0 : sigma; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", sigmaX + \" \" + sigmaY); // Repeat edges mapping:\n      //\n      //   0 -> off -> duplicate\n      //   1 -> on  -> wrap\n\n\n      var edgeMode = (this || _global).filterManager.effectElements[2].p.v == 1 ? \"wrap\" : \"duplicate\"; // eslint-disable-line eqeqeq\n\n      (this || _global).feGaussianBlur.setAttribute(\"edgeMode\", edgeMode);\n    }\n  };\n  /* global createNS, createElementID, locationHref, bmFloor */\n\n\n  function SVGStrokeEffect(elem, filterManager) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).elem = elem;\n    (this || _global).paths = [];\n  }\n\n  SVGStrokeEffect.prototype.initialize = function () {\n    var elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n    var path;\n    var groupPath;\n    var i;\n    var len;\n\n    if ((this || _global).filterManager.effectElements[1].p.v === 1) {\n      len = (this || _global).elem.maskManager.masksProperties.length;\n      i = 0;\n    } else {\n      i = (this || _global).filterManager.effectElements[0].p.v - 1;\n      len = i + 1;\n    }\n\n    groupPath = createNS(\"g\");\n    groupPath.setAttribute(\"fill\", \"none\");\n    groupPath.setAttribute(\"stroke-linecap\", \"round\");\n    groupPath.setAttribute(\"stroke-dashoffset\", 1);\n\n    for (i; i < len; i += 1) {\n      path = createNS(\"path\");\n      groupPath.appendChild(path);\n\n      (this || _global).paths.push({\n        p: path,\n        m: i\n      });\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 3) {\n      var mask = createNS(\"mask\");\n      var id = createElementID();\n      mask.setAttribute(\"id\", id);\n      mask.setAttribute(\"mask-type\", \"alpha\");\n      mask.appendChild(groupPath);\n\n      (this || _global).elem.globalData.defs.appendChild(mask);\n\n      var g = createNS(\"g\");\n      g.setAttribute(\"mask\", \"url(\" + locationHref + \"#\" + id + \")\");\n\n      while (elemChildren[0]) {\n        g.appendChild(elemChildren[0]);\n      }\n\n      (this || _global).elem.layerElement.appendChild(g);\n\n      (this || _global).masker = mask;\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    } else if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if ((this || _global).filterManager.effectElements[10].p.v === 2) {\n        elemChildren = (this || _global).elem.layerElement.children || (this || _global).elem.layerElement.childNodes;\n\n        while (elemChildren.length) {\n          (this || _global).elem.layerElement.removeChild(elemChildren[0]);\n        }\n      }\n\n      (this || _global).elem.layerElement.appendChild(groupPath);\n\n      (this || _global).elem.layerElement.removeAttribute(\"mask\");\n\n      groupPath.setAttribute(\"stroke\", \"#fff\");\n    }\n\n    (this || _global).initialized = true;\n    (this || _global).pathMasker = groupPath;\n  };\n\n  SVGStrokeEffect.prototype.renderFrame = function (forceRender) {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n\n    var i;\n    var len = (this || _global).paths.length;\n    var mask;\n    var path;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).paths[i].m !== -1) {\n        mask = (this || _global).elem.maskManager.viewData[(this || _global).paths[i].m];\n        path = (this || _global).paths[i].p;\n\n        if (forceRender || (this || _global).filterManager._mdf || mask.prop._mdf) {\n          path.setAttribute(\"d\", mask.lastPath);\n        }\n\n        if (forceRender || (this || _global).filterManager.effectElements[9].p._mdf || (this || _global).filterManager.effectElements[4].p._mdf || (this || _global).filterManager.effectElements[7].p._mdf || (this || _global).filterManager.effectElements[8].p._mdf || mask.prop._mdf) {\n          var dasharrayValue;\n\n          if ((this || _global).filterManager.effectElements[7].p.v !== 0 || (this || _global).filterManager.effectElements[8].p.v !== 100) {\n            var s = Math.min((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var e = Math.max((this || _global).filterManager.effectElements[7].p.v, (this || _global).filterManager.effectElements[8].p.v) * 0.01;\n            var l = path.getTotalLength();\n            dasharrayValue = \"0 0 0 \" + l * s + \" \";\n            var lineLength = l * (e - s);\n            var segment = 1 + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n            var units = Math.floor(lineLength / segment);\n            var j;\n\n            for (j = 0; j < units; j += 1) {\n              dasharrayValue += \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01 + \" \";\n            }\n\n            dasharrayValue += \"0 \" + l * 10 + \" 0 0\";\n          } else {\n            dasharrayValue = \"1 \" + (this || _global).filterManager.effectElements[4].p.v * 2 * (this || _global).filterManager.effectElements[9].p.v * 0.01;\n          }\n\n          path.setAttribute(\"stroke-dasharray\", dasharrayValue);\n        }\n      }\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"stroke-width\", (this || _global).filterManager.effectElements[4].p.v * 2);\n    }\n\n    if (forceRender || (this || _global).filterManager.effectElements[6].p._mdf) {\n      (this || _global).pathMasker.setAttribute(\"opacity\", (this || _global).filterManager.effectElements[6].p.v);\n    }\n\n    if ((this || _global).filterManager.effectElements[10].p.v === 1 || (this || _global).filterManager.effectElements[10].p.v === 2) {\n      if (forceRender || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var color = (this || _global).filterManager.effectElements[3].p.v;\n\n        (this || _global).pathMasker.setAttribute(\"stroke\", \"rgb(\" + bmFloor(color[0] * 255) + \",\" + bmFloor(color[1] * 255) + \",\" + bmFloor(color[2] * 255) + \")\");\n      }\n    }\n  };\n  /* global createNS */\n\n\n  function SVGTritoneFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var feColorMatrix = createNS(\"feColorMatrix\");\n    feColorMatrix.setAttribute(\"type\", \"matrix\");\n    feColorMatrix.setAttribute(\"color-interpolation-filters\", \"linearRGB\");\n    feColorMatrix.setAttribute(\"values\", \"0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\");\n    feColorMatrix.setAttribute(\"result\", \"f1\");\n    filter.appendChild(feColorMatrix);\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n    feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n    filter.appendChild(feComponentTransfer);\n    (this || _global).matrixFilter = feComponentTransfer;\n    var feFuncR = createNS(\"feFuncR\");\n    feFuncR.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncR);\n    (this || _global).feFuncR = feFuncR;\n    var feFuncG = createNS(\"feFuncG\");\n    feFuncG.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncG);\n    (this || _global).feFuncG = feFuncG;\n    var feFuncB = createNS(\"feFuncB\");\n    feFuncB.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFuncB);\n    (this || _global).feFuncB = feFuncB;\n  }\n\n  SVGTritoneFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var color1 = (this || _global).filterManager.effectElements[0].p.v;\n      var color2 = (this || _global).filterManager.effectElements[1].p.v;\n      var color3 = (this || _global).filterManager.effectElements[2].p.v;\n      var tableR = color3[0] + \" \" + color2[0] + \" \" + color1[0];\n      var tableG = color3[1] + \" \" + color2[1] + \" \" + color1[1];\n      var tableB = color3[2] + \" \" + color2[2] + \" \" + color1[2];\n\n      (this || _global).feFuncR.setAttribute(\"tableValues\", tableR);\n\n      (this || _global).feFuncG.setAttribute(\"tableValues\", tableG);\n\n      (this || _global).feFuncB.setAttribute(\"tableValues\", tableB); // var opacity = this.filterManager.effectElements[2].p.v/100;\n      // this.matrixFilter.setAttribute('values',(colorWhite[0]- colorBlack[0])+' 0 0 0 '+ colorBlack[0] +' '+ (colorWhite[1]- colorBlack[1]) +' 0 0 0 '+ colorBlack[1] +' '+ (colorWhite[2]- colorBlack[2]) +' 0 0 0 '+ colorBlack[2] +' 0 0 0 ' + opacity + ' 0');\n\n    }\n  };\n  /* global createNS */\n\n\n  function SVGProLevelsFilter(filter, filterManager) {\n    (this || _global).filterManager = filterManager;\n    var effectElements = (this || _global).filterManager.effectElements;\n    var feComponentTransfer = createNS(\"feComponentTransfer\");\n\n    if (effectElements[10].p.k || effectElements[10].p.v !== 0 || effectElements[11].p.k || effectElements[11].p.v !== 1 || effectElements[12].p.k || effectElements[12].p.v !== 1 || effectElements[13].p.k || effectElements[13].p.v !== 0 || effectElements[14].p.k || effectElements[14].p.v !== 1) {\n      (this || _global).feFuncR = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n    }\n\n    if (effectElements[17].p.k || effectElements[17].p.v !== 0 || effectElements[18].p.k || effectElements[18].p.v !== 1 || effectElements[19].p.k || effectElements[19].p.v !== 1 || effectElements[20].p.k || effectElements[20].p.v !== 0 || effectElements[21].p.k || effectElements[21].p.v !== 1) {\n      (this || _global).feFuncG = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n    }\n\n    if (effectElements[24].p.k || effectElements[24].p.v !== 0 || effectElements[25].p.k || effectElements[25].p.v !== 1 || effectElements[26].p.k || effectElements[26].p.v !== 1 || effectElements[27].p.k || effectElements[27].p.v !== 0 || effectElements[28].p.k || effectElements[28].p.v !== 1) {\n      (this || _global).feFuncB = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n\n    if (effectElements[31].p.k || effectElements[31].p.v !== 0 || effectElements[32].p.k || effectElements[32].p.v !== 1 || effectElements[33].p.k || effectElements[33].p.v !== 1 || effectElements[34].p.k || effectElements[34].p.v !== 0 || effectElements[35].p.k || effectElements[35].p.v !== 1) {\n      (this || _global).feFuncA = this.createFeFunc(\"feFuncA\", feComponentTransfer);\n    }\n\n    if ((this || _global).feFuncR || (this || _global).feFuncG || (this || _global).feFuncB || (this || _global).feFuncA) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      feComponentTransfer = createNS(\"feComponentTransfer\");\n    }\n\n    if (effectElements[3].p.k || effectElements[3].p.v !== 0 || effectElements[4].p.k || effectElements[4].p.v !== 1 || effectElements[5].p.k || effectElements[5].p.v !== 1 || effectElements[6].p.k || effectElements[6].p.v !== 0 || effectElements[7].p.k || effectElements[7].p.v !== 1) {\n      feComponentTransfer.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n      filter.appendChild(feComponentTransfer);\n      (this || _global).feFuncRComposed = this.createFeFunc(\"feFuncR\", feComponentTransfer);\n      (this || _global).feFuncGComposed = this.createFeFunc(\"feFuncG\", feComponentTransfer);\n      (this || _global).feFuncBComposed = this.createFeFunc(\"feFuncB\", feComponentTransfer);\n    }\n  }\n\n  SVGProLevelsFilter.prototype.createFeFunc = function (type, feComponentTransfer) {\n    var feFunc = createNS(type);\n    feFunc.setAttribute(\"type\", \"table\");\n    feComponentTransfer.appendChild(feFunc);\n    return feFunc;\n  };\n\n  SVGProLevelsFilter.prototype.getTableValue = function (inputBlack, inputWhite, gamma, outputBlack, outputWhite) {\n    var cnt = 0;\n    var segments = 256;\n    var perc;\n    var min = Math.min(inputBlack, inputWhite);\n    var max = Math.max(inputBlack, inputWhite);\n    var table = Array.call(null, {\n      length: segments\n    });\n    var colorValue;\n    var pos = 0;\n    var outputDelta = outputWhite - outputBlack;\n    var inputDelta = inputWhite - inputBlack;\n\n    while (cnt <= 256) {\n      perc = cnt / 256;\n\n      if (perc <= min) {\n        colorValue = inputDelta < 0 ? outputWhite : outputBlack;\n      } else if (perc >= max) {\n        colorValue = inputDelta < 0 ? outputBlack : outputWhite;\n      } else {\n        colorValue = outputBlack + outputDelta * Math.pow((perc - inputBlack) / inputDelta, 1 / gamma);\n      }\n\n      table[pos] = colorValue;\n      pos += 1;\n      cnt += 256 / (segments - 1);\n    }\n\n    return table.join(\" \");\n  };\n\n  SVGProLevelsFilter.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      var val;\n      var effectElements = (this || _global).filterManager.effectElements;\n\n      if ((this || _global).feFuncRComposed && (forceRender || effectElements[3].p._mdf || effectElements[4].p._mdf || effectElements[5].p._mdf || effectElements[6].p._mdf || effectElements[7].p._mdf)) {\n        val = this.getTableValue(effectElements[3].p.v, effectElements[4].p.v, effectElements[5].p.v, effectElements[6].p.v, effectElements[7].p.v);\n\n        (this || _global).feFuncRComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncGComposed.setAttribute(\"tableValues\", val);\n\n        (this || _global).feFuncBComposed.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncR && (forceRender || effectElements[10].p._mdf || effectElements[11].p._mdf || effectElements[12].p._mdf || effectElements[13].p._mdf || effectElements[14].p._mdf)) {\n        val = this.getTableValue(effectElements[10].p.v, effectElements[11].p.v, effectElements[12].p.v, effectElements[13].p.v, effectElements[14].p.v);\n\n        (this || _global).feFuncR.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncG && (forceRender || effectElements[17].p._mdf || effectElements[18].p._mdf || effectElements[19].p._mdf || effectElements[20].p._mdf || effectElements[21].p._mdf)) {\n        val = this.getTableValue(effectElements[17].p.v, effectElements[18].p.v, effectElements[19].p.v, effectElements[20].p.v, effectElements[21].p.v);\n\n        (this || _global).feFuncG.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncB && (forceRender || effectElements[24].p._mdf || effectElements[25].p._mdf || effectElements[26].p._mdf || effectElements[27].p._mdf || effectElements[28].p._mdf)) {\n        val = this.getTableValue(effectElements[24].p.v, effectElements[25].p.v, effectElements[26].p.v, effectElements[27].p.v, effectElements[28].p.v);\n\n        (this || _global).feFuncB.setAttribute(\"tableValues\", val);\n      }\n\n      if ((this || _global).feFuncA && (forceRender || effectElements[31].p._mdf || effectElements[32].p._mdf || effectElements[33].p._mdf || effectElements[34].p._mdf || effectElements[35].p._mdf)) {\n        val = this.getTableValue(effectElements[31].p.v, effectElements[32].p.v, effectElements[33].p.v, effectElements[34].p.v, effectElements[35].p.v);\n\n        (this || _global).feFuncA.setAttribute(\"tableValues\", val);\n      }\n    }\n  };\n  /* global createNS, rgbToHex, degToRads */\n\n\n  function SVGDropShadowEffect(filter, filterManager) {\n    var filterSize = filterManager.container.globalData.renderConfig.filterSize;\n    filter.setAttribute(\"x\", filterSize.x);\n    filter.setAttribute(\"y\", filterSize.y);\n    filter.setAttribute(\"width\", filterSize.width);\n    filter.setAttribute(\"height\", filterSize.height);\n    (this || _global).filterManager = filterManager;\n    var feGaussianBlur = createNS(\"feGaussianBlur\");\n    feGaussianBlur.setAttribute(\"in\", \"SourceAlpha\");\n    feGaussianBlur.setAttribute(\"result\", \"drop_shadow_1\");\n    feGaussianBlur.setAttribute(\"stdDeviation\", \"0\");\n    (this || _global).feGaussianBlur = feGaussianBlur;\n    filter.appendChild(feGaussianBlur);\n    var feOffset = createNS(\"feOffset\");\n    feOffset.setAttribute(\"dx\", \"25\");\n    feOffset.setAttribute(\"dy\", \"0\");\n    feOffset.setAttribute(\"in\", \"drop_shadow_1\");\n    feOffset.setAttribute(\"result\", \"drop_shadow_2\");\n    (this || _global).feOffset = feOffset;\n    filter.appendChild(feOffset);\n    var feFlood = createNS(\"feFlood\");\n    feFlood.setAttribute(\"flood-color\", \"#00ff00\");\n    feFlood.setAttribute(\"flood-opacity\", \"1\");\n    feFlood.setAttribute(\"result\", \"drop_shadow_3\");\n    (this || _global).feFlood = feFlood;\n    filter.appendChild(feFlood);\n    var feComposite = createNS(\"feComposite\");\n    feComposite.setAttribute(\"in\", \"drop_shadow_3\");\n    feComposite.setAttribute(\"in2\", \"drop_shadow_2\");\n    feComposite.setAttribute(\"operator\", \"in\");\n    feComposite.setAttribute(\"result\", \"drop_shadow_4\");\n    filter.appendChild(feComposite);\n    var feMerge = createNS(\"feMerge\");\n    filter.appendChild(feMerge);\n    var feMergeNode;\n    feMergeNode = createNS(\"feMergeNode\");\n    feMerge.appendChild(feMergeNode);\n    feMergeNode = createNS(\"feMergeNode\");\n    feMergeNode.setAttribute(\"in\", \"SourceGraphic\");\n    (this || _global).feMergeNode = feMergeNode;\n    (this || _global).feMerge = feMerge;\n    (this || _global).originalNodeAdded = false;\n    feMerge.appendChild(feMergeNode);\n  }\n\n  SVGDropShadowEffect.prototype.renderFrame = function (forceRender) {\n    if (forceRender || (this || _global).filterManager._mdf) {\n      if (forceRender || (this || _global).filterManager.effectElements[4].p._mdf) {\n        (this || _global).feGaussianBlur.setAttribute(\"stdDeviation\", (this || _global).filterManager.effectElements[4].p.v / 4);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[0].p._mdf) {\n        var col = (this || _global).filterManager.effectElements[0].p.v;\n\n        (this || _global).feFlood.setAttribute(\"flood-color\", rgbToHex(Math.round(col[0] * 255), Math.round(col[1] * 255), Math.round(col[2] * 255)));\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[1].p._mdf) {\n        (this || _global).feFlood.setAttribute(\"flood-opacity\", (this || _global).filterManager.effectElements[1].p.v / 255);\n      }\n\n      if (forceRender || (this || _global).filterManager.effectElements[2].p._mdf || (this || _global).filterManager.effectElements[3].p._mdf) {\n        var distance = (this || _global).filterManager.effectElements[3].p.v;\n        var angle = ((this || _global).filterManager.effectElements[2].p.v - 90) * degToRads;\n        var x = distance * Math.cos(angle);\n        var y = distance * Math.sin(angle);\n\n        (this || _global).feOffset.setAttribute(\"dx\", x);\n\n        (this || _global).feOffset.setAttribute(\"dy\", y);\n      }\n      /* if(forceRender || this.filterManager.effectElements[5].p._mdf){\r\n              if(this.filterManager.effectElements[5].p.v === 1 && this.originalNodeAdded) {\r\n                  this.feMerge.removeChild(this.feMergeNode);\r\n                  this.originalNodeAdded = false;\r\n              } else if(this.filterManager.effectElements[5].p.v === 0 && !this.originalNodeAdded) {\r\n                  this.feMerge.appendChild(this.feMergeNode);\r\n                  this.originalNodeAdded = true;\r\n              }\r\n          } */\n\n    }\n  };\n  /* global createElementID, createNS */\n\n\n  var _svgMatteSymbols = [];\n\n  function SVGMatte3Effect(filterElem, filterManager, elem) {\n    (this || _global).initialized = false;\n    (this || _global).filterManager = filterManager;\n    (this || _global).filterElem = filterElem;\n    (this || _global).elem = elem;\n    elem.matteElement = createNS(\"g\");\n    elem.matteElement.appendChild(elem.layerElement);\n    elem.matteElement.appendChild(elem.transformedElement);\n    elem.baseElement = elem.matteElement;\n  }\n\n  SVGMatte3Effect.prototype.findSymbol = function (mask) {\n    var i = 0;\n    var len = _svgMatteSymbols.length;\n\n    while (i < len) {\n      if (_svgMatteSymbols[i] === mask) {\n        return _svgMatteSymbols[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  SVGMatte3Effect.prototype.replaceInParent = function (mask, symbolId) {\n    var parentNode = mask.layerElement.parentNode;\n\n    if (!parentNode) {\n      return;\n    }\n\n    var children = parentNode.children;\n    var i = 0;\n    var len = children.length;\n\n    while (i < len) {\n      if (children[i] === mask.layerElement) {\n        break;\n      }\n\n      i += 1;\n    }\n\n    var nextChild;\n\n    if (i <= len - 2) {\n      nextChild = children[i + 1];\n    }\n\n    var useElem = createNS(\"use\");\n    useElem.setAttribute(\"href\", \"#\" + symbolId);\n\n    if (nextChild) {\n      parentNode.insertBefore(useElem, nextChild);\n    } else {\n      parentNode.appendChild(useElem);\n    }\n  };\n\n  SVGMatte3Effect.prototype.setElementAsMask = function (elem, mask) {\n    if (!this.findSymbol(mask)) {\n      var symbolId = createElementID();\n      var masker = createNS(\"mask\");\n      masker.setAttribute(\"id\", mask.layerId);\n      masker.setAttribute(\"mask-type\", \"alpha\");\n\n      _svgMatteSymbols.push(mask);\n\n      var defs = elem.globalData.defs;\n      defs.appendChild(masker);\n      var symbol = createNS(\"symbol\");\n      symbol.setAttribute(\"id\", symbolId);\n      this.replaceInParent(mask, symbolId);\n      symbol.appendChild(mask.layerElement);\n      defs.appendChild(symbol);\n      var useElem = createNS(\"use\");\n      useElem.setAttribute(\"href\", \"#\" + symbolId);\n      masker.appendChild(useElem);\n      mask.data.hd = false;\n      mask.show();\n    }\n\n    elem.setMatte(mask.layerId);\n  };\n\n  SVGMatte3Effect.prototype.initialize = function () {\n    var ind = (this || _global).filterManager.effectElements[0].p.v;\n    var elements = (this || _global).elem.comp.elements;\n    var i = 0;\n    var len = elements.length;\n\n    while (i < len) {\n      if (elements[i] && elements[i].data.ind === ind) {\n        this.setElementAsMask((this || _global).elem, elements[i]);\n      }\n\n      i += 1;\n    }\n\n    (this || _global).initialized = true;\n  };\n\n  SVGMatte3Effect.prototype.renderFrame = function () {\n    if (!(this || _global).initialized) {\n      this.initialize();\n    }\n  };\n  /* global createElementID, filtersFactory, SVGTintFilter, SVGFillFilter, SVGStrokeEffect, SVGTritoneFilter,\r\n  SVGProLevelsFilter, SVGDropShadowEffect, SVGMatte3Effect, SVGGaussianBlurEffect, locationHref */\n\n\n  function SVGEffects(elem) {\n    var i;\n    var len = elem.data.ef ? elem.data.ef.length : 0;\n    var filId = createElementID();\n    var fil = filtersFactory.createFilter(filId, true);\n    var count = 0;\n    (this || _global).filters = [];\n    var filterManager;\n\n    for (i = 0; i < len; i += 1) {\n      filterManager = null;\n\n      if (elem.data.ef[i].ty === 20) {\n        count += 1;\n        filterManager = new SVGTintFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 21) {\n        count += 1;\n        filterManager = new SVGFillFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 22) {\n        filterManager = new SVGStrokeEffect(elem, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 23) {\n        count += 1;\n        filterManager = new SVGTritoneFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 24) {\n        count += 1;\n        filterManager = new SVGProLevelsFilter(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 25) {\n        count += 1;\n        filterManager = new SVGDropShadowEffect(fil, elem.effectsManager.effectElements[i]);\n      } else if (elem.data.ef[i].ty === 28) {\n        // count += 1;\n        filterManager = new SVGMatte3Effect(fil, elem.effectsManager.effectElements[i], elem);\n      } else if (elem.data.ef[i].ty === 29) {\n        count += 1;\n        filterManager = new SVGGaussianBlurEffect(fil, elem.effectsManager.effectElements[i]);\n      }\n\n      if (filterManager) {\n        (this || _global).filters.push(filterManager);\n      }\n    }\n\n    if (count) {\n      elem.globalData.defs.appendChild(fil);\n      elem.layerElement.setAttribute(\"filter\", \"url(\" + locationHref + \"#\" + filId + \")\");\n    }\n\n    if ((this || _global).filters.length) {\n      elem.addRenderableComponent(this || _global);\n    }\n  }\n\n  SVGEffects.prototype.renderFrame = function (_isFirstFrame) {\n    var i;\n    var len = (this || _global).filters.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).filters[i].renderFrame(_isFirstFrame);\n    }\n  };\n  /* global Matrix, createTypedArray */\n\n\n  function CVContextData() {\n    (this || _global).saved = [];\n    (this || _global).cArrPos = 0;\n    (this || _global).cTr = new Matrix();\n    (this || _global).cO = 1;\n    var i;\n    var len = 15;\n    (this || _global).savedOp = createTypedArray(\"float32\", len);\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = len;\n  }\n\n  CVContextData.prototype.duplicate = function () {\n    var newLength = (this || _global)._length * 2;\n    var currentSavedOp = (this || _global).savedOp;\n    (this || _global).savedOp = createTypedArray(\"float32\", newLength);\n\n    (this || _global).savedOp.set(currentSavedOp);\n\n    var i = 0;\n\n    for (i = (this || _global)._length; i < newLength; i += 1) {\n      (this || _global).saved[i] = createTypedArray(\"float32\", 16);\n    }\n\n    (this || _global)._length = newLength;\n  };\n\n  CVContextData.prototype.reset = function () {\n    (this || _global).cArrPos = 0;\n\n    (this || _global).cTr.reset();\n\n    (this || _global).cO = 1;\n  };\n  /* global CVEffects, getBlendMode, CVMaskElement, Matrix */\n\n\n  function CVBaseElement() {}\n\n  CVBaseElement.prototype = {\n    createElements: function () {},\n    initRendererElement: function () {},\n    createContainerElements: function () {\n      (this || _global).canvasContext = (this || _global).globalData.canvasContext;\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n    },\n    createContent: function () {},\n    setBlendMode: function () {\n      var globalData = (this || _global).globalData;\n\n      if (globalData.blendMode !== (this || _global).data.bm) {\n        globalData.blendMode = (this || _global).data.bm;\n        var blendModeValue = getBlendMode((this || _global).data.bm);\n        globalData.canvasContext.globalCompositeOperation = blendModeValue;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new CVMaskElement((this || _global).data, this || _global);\n    },\n    hideElement: function () {\n      if (!(this || _global).hidden && (!(this || _global).isInRange || (this || _global).isTransparent)) {\n        (this || _global).hidden = true;\n      }\n    },\n    showElement: function () {\n      if ((this || _global).isInRange && !(this || _global).isTransparent) {\n        (this || _global).hidden = false;\n        (this || _global)._isFirstFrame = true;\n        (this || _global).maskManager._isFirstFrame = true;\n      }\n    },\n    renderFrame: function () {\n      if ((this || _global).hidden || (this || _global).data.hd) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.setBlendMode();\n      var forceRealStack = (this || _global).data.ty === 0;\n\n      (this || _global).globalData.renderer.save(forceRealStack);\n\n      (this || _global).globalData.renderer.ctxTransform((this || _global).finalTransform.mat.props);\n\n      (this || _global).globalData.renderer.ctxOpacity((this || _global).finalTransform.mProp.o.v);\n\n      this.renderInnerContent();\n\n      (this || _global).globalData.renderer.restore(forceRealStack);\n\n      if ((this || _global).maskManager.hasMasks) {\n        (this || _global).globalData.renderer.restore(true);\n      }\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).canvasContext = null;\n      (this || _global).data = null;\n      (this || _global).globalData = null;\n\n      (this || _global).maskManager.destroy();\n    },\n    mHelper: new Matrix()\n  };\n  CVBaseElement.prototype.hide = CVBaseElement.prototype.hideElement;\n  CVBaseElement.prototype.show = CVBaseElement.prototype.showElement;\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement,HierarchyElement, FrameElement,\r\n  RenderableElement, SVGShapeElement, IImageElement, createTag */\n\n  function CVImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    (this || _global).img = globalData.imageLoader.getAsset((this || _global).assetData);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVImageElement);\n  CVImageElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVImageElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVImageElement.prototype.createContent = function () {\n    if ((this || _global).img.width && ((this || _global).assetData.w !== (this || _global).img.width || (this || _global).assetData.h !== (this || _global).img.height)) {\n      var canvas = createTag(\"canvas\");\n      canvas.width = (this || _global).assetData.w;\n      canvas.height = (this || _global).assetData.h;\n      var ctx = canvas.getContext(\"2d\");\n      var imgW = (this || _global).img.width;\n      var imgH = (this || _global).img.height;\n      var imgRel = imgW / imgH;\n      var canvasRel = (this || _global).assetData.w / (this || _global).assetData.h;\n      var widthCrop;\n      var heightCrop;\n      var par = (this || _global).assetData.pr || (this || _global).globalData.renderConfig.imagePreserveAspectRatio;\n\n      if (imgRel > canvasRel && par === \"xMidYMid slice\" || imgRel < canvasRel && par !== \"xMidYMid slice\") {\n        heightCrop = imgH;\n        widthCrop = heightCrop * canvasRel;\n      } else {\n        widthCrop = imgW;\n        heightCrop = widthCrop / canvasRel;\n      }\n\n      ctx.drawImage((this || _global).img, (imgW - widthCrop) / 2, (imgH - heightCrop) / 2, widthCrop, heightCrop, 0, 0, (this || _global).assetData.w, (this || _global).assetData.h);\n      (this || _global).img = canvas;\n    }\n  };\n\n  CVImageElement.prototype.renderInnerContent = function () {\n    (this || _global).canvasContext.drawImage((this || _global).img, 0, 0);\n  };\n\n  CVImageElement.prototype.destroy = function () {\n    (this || _global).img = null;\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, CanvasRenderer, ICompElement, CVBaseElement */\n\n\n  function CVCompElement(data, globalData, comp) {\n    (this || _global).completeLayers = false;\n    (this || _global).layers = data.layers;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = createSizedArray((this || _global).layers.length);\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([CanvasRenderer, ICompElement, CVBaseElement], CVCompElement);\n\n  CVCompElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.beginPath();\n    ctx.moveTo(0, 0);\n    ctx.lineTo((this || _global).data.w, 0);\n    ctx.lineTo((this || _global).data.w, (this || _global).data.h);\n    ctx.lineTo(0, (this || _global).data.h);\n    ctx.lineTo(0, 0);\n    ctx.clip();\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).completeLayers || (this || _global).elements[i]) {\n        (this || _global).elements[i].renderFrame();\n      }\n    }\n  };\n\n  CVCompElement.prototype.destroy = function () {\n    var i;\n    var len = (this || _global).layers.length;\n\n    for (i = len - 1; i >= 0; i -= 1) {\n      if ((this || _global).elements[i]) {\n        (this || _global).elements[i].destroy();\n      }\n    }\n\n    (this || _global).layers = null;\n    (this || _global).elements = null;\n  };\n  /* global createSizedArray, ShapePropertyFactory, MaskElement */\n\n\n  function CVMaskElement(data, element) {\n    (this || _global).data = data;\n    (this || _global).element = element;\n    (this || _global).masksProperties = (this || _global).data.masksProperties || [];\n    (this || _global).viewData = createSizedArray((this || _global).masksProperties.length);\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var hasMasks = false;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        hasMasks = true;\n      }\n\n      (this || _global).viewData[i] = ShapePropertyFactory.getShapeProp((this || _global).element, (this || _global).masksProperties[i], 3);\n    }\n\n    (this || _global).hasMasks = hasMasks;\n\n    if (hasMasks) {\n      (this || _global).element.addRenderableComponent(this || _global);\n    }\n  }\n\n  CVMaskElement.prototype.renderFrame = function () {\n    if (!(this || _global).hasMasks) {\n      return;\n    }\n\n    var transform = (this || _global).element.finalTransform.mat;\n    var ctx = (this || _global).element.canvasContext;\n    var i;\n    var len = (this || _global).masksProperties.length;\n    var pt;\n    var pts;\n    var data;\n    ctx.beginPath();\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).masksProperties[i].mode !== \"n\") {\n        if ((this || _global).masksProperties[i].inv) {\n          ctx.moveTo(0, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, 0);\n          ctx.lineTo((this || _global).element.globalData.compSize.w, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, (this || _global).element.globalData.compSize.h);\n          ctx.lineTo(0, 0);\n        }\n\n        data = (this || _global).viewData[i].v;\n        pt = transform.applyToPointArray(data.v[0][0], data.v[0][1], 0);\n        ctx.moveTo(pt[0], pt[1]);\n        var j;\n        var jLen = data._length;\n\n        for (j = 1; j < jLen; j += 1) {\n          pts = transform.applyToTriplePoints(data.o[j - 1], data.i[j], data.v[j]);\n          ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n        }\n\n        pts = transform.applyToTriplePoints(data.o[j - 1], data.i[0], data.v[0]);\n        ctx.bezierCurveTo(pts[0], pts[1], pts[2], pts[3], pts[4], pts[5]);\n      }\n    }\n\n    (this || _global).element.globalData.renderer.save(true);\n\n    ctx.clip();\n  };\n\n  CVMaskElement.prototype.getMaskProperty = MaskElement.prototype.getMaskProperty;\n\n  CVMaskElement.prototype.destroy = function () {\n    (this || _global).element = null;\n  };\n  /* global ShapeTransformManager, extendPrototype, BaseElement, TransformElement, CVBaseElement, IShapeElement,\r\n  HierarchyElement, FrameElement, RenderableElement, RenderableDOMElement, PropertyFactory, degToRads, GradientProperty,\r\n  DashProperty, TransformPropertyFactory, CVShapeData, ShapeModifiers, bmFloor */\n\n\n  function CVShapeElement(data, globalData, comp) {\n    (this || _global).shapes = [];\n    (this || _global).shapesData = data.shapes;\n    (this || _global).stylesList = [];\n    (this || _global).itemsData = [];\n    (this || _global).prevViewData = [];\n    (this || _global).shapeModifiers = [];\n    (this || _global).processedElements = [];\n    (this || _global).transformsManager = new ShapeTransformManager();\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, IShapeElement, HierarchyElement, FrameElement, RenderableElement], CVShapeElement);\n  CVShapeElement.prototype.initElement = RenderableDOMElement.prototype.initElement;\n  CVShapeElement.prototype.transformHelper = {\n    opacity: 1,\n    _opMdf: false\n  };\n  CVShapeElement.prototype.dashResetter = [];\n\n  CVShapeElement.prototype.createContent = function () {\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n  };\n\n  CVShapeElement.prototype.createStyleElement = function (data, transforms) {\n    var styleElem = {\n      data: data,\n      type: data.ty,\n      preTransforms: (this || _global).transformsManager.addTransformSequence(transforms),\n      transforms: [],\n      elements: [],\n      closed: data.hd === true\n    };\n    var elementData = {};\n\n    if (data.ty === \"fl\" || data.ty === \"st\") {\n      elementData.c = PropertyFactory.getProp(this || _global, data.c, 1, 255, this || _global);\n\n      if (!elementData.c.k) {\n        styleElem.co = \"rgb(\" + bmFloor(elementData.c.v[0]) + \",\" + bmFloor(elementData.c.v[1]) + \",\" + bmFloor(elementData.c.v[2]) + \")\";\n      }\n    } else if (data.ty === \"gf\" || data.ty === \"gs\") {\n      elementData.s = PropertyFactory.getProp(this || _global, data.s, 1, null, this || _global);\n      elementData.e = PropertyFactory.getProp(this || _global, data.e, 1, null, this || _global);\n      elementData.h = PropertyFactory.getProp(this || _global, data.h || {\n        k: 0\n      }, 0, 0.01, this || _global);\n      elementData.a = PropertyFactory.getProp(this || _global, data.a || {\n        k: 0\n      }, 0, degToRads, this || _global);\n      elementData.g = new GradientProperty(this || _global, data.g, this || _global);\n    }\n\n    elementData.o = PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global);\n\n    if (data.ty === \"st\" || data.ty === \"gs\") {\n      styleElem.lc = (this || _global).lcEnum[data.lc] || \"round\";\n      styleElem.lj = (this || _global).ljEnum[data.lj] || \"round\";\n\n      if (data.lj == 1) {\n        // eslint-disable-line eqeqeq\n        styleElem.ml = data.ml;\n      }\n\n      elementData.w = PropertyFactory.getProp(this || _global, data.w, 0, null, this || _global);\n\n      if (!elementData.w.k) {\n        styleElem.wi = elementData.w.v;\n      }\n\n      if (data.d) {\n        var d = new DashProperty(this || _global, data.d, \"canvas\", this || _global);\n        elementData.d = d;\n\n        if (!elementData.d.k) {\n          styleElem.da = elementData.d.dashArray;\n          styleElem.do = elementData.d.dashoffset[0];\n        }\n      }\n    } else {\n      styleElem.r = data.r === 2 ? \"evenodd\" : \"nonzero\";\n    }\n\n    (this || _global).stylesList.push(styleElem);\n\n    elementData.style = styleElem;\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createGroupElement = function () {\n    var elementData = {\n      it: [],\n      prevViewData: []\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createTransformElement = function (data) {\n    var elementData = {\n      transform: {\n        opacity: 1,\n        _opMdf: false,\n        key: (this || _global).transformsManager.getNewKey(),\n        op: PropertyFactory.getProp(this || _global, data.o, 0, 0.01, this || _global),\n        mProps: TransformPropertyFactory.getTransformProperty(this || _global, data, this || _global)\n      }\n    };\n    return elementData;\n  };\n\n  CVShapeElement.prototype.createShapeElement = function (data) {\n    var elementData = new CVShapeData(this || _global, data, (this || _global).stylesList, (this || _global).transformsManager);\n\n    (this || _global).shapes.push(elementData);\n\n    this.addShapeToModifiers(elementData);\n    return elementData;\n  };\n\n  CVShapeElement.prototype.reloadShapes = function () {\n    (this || _global)._isFirstFrame = true;\n    var i;\n    var len = (this || _global).itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).prevViewData[i] = (this || _global).itemsData[i];\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, true, []);\n    len = (this || _global).dynamicProperties.length;\n\n    for (i = 0; i < len; i += 1) {\n      (this || _global).dynamicProperties[i].getValue();\n    }\n\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n  };\n\n  CVShapeElement.prototype.addTransformToStyleList = function (transform) {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.push(transform);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.removeTransformFromStyleList = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (!(this || _global).stylesList[i].closed) {\n        (this || _global).stylesList[i].transforms.pop();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.closeStyles = function (styles) {\n    var i;\n    var len = styles.length;\n\n    for (i = 0; i < len; i += 1) {\n      styles[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.searchShapes = function (arr, itemsData, prevViewData, shouldRender, transforms) {\n    var i;\n    var len = arr.length - 1;\n    var j;\n    var jLen;\n    var ownStyles = [];\n    var ownModifiers = [];\n    var processedPos;\n    var modifier;\n    var currentTransform;\n    var ownTransforms = [].concat(transforms);\n\n    for (i = len; i >= 0; i -= 1) {\n      processedPos = this.searchProcessedElement(arr[i]);\n\n      if (!processedPos) {\n        arr[i]._shouldRender = shouldRender;\n      } else {\n        itemsData[i] = prevViewData[processedPos - 1];\n      }\n\n      if (arr[i].ty === \"fl\" || arr[i].ty === \"st\" || arr[i].ty === \"gf\" || arr[i].ty === \"gs\") {\n        if (!processedPos) {\n          itemsData[i] = this.createStyleElement(arr[i], ownTransforms);\n        } else {\n          itemsData[i].style.closed = false;\n        }\n\n        ownStyles.push(itemsData[i].style);\n      } else if (arr[i].ty === \"gr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createGroupElement(arr[i]);\n        } else {\n          jLen = itemsData[i].it.length;\n\n          for (j = 0; j < jLen; j += 1) {\n            itemsData[i].prevViewData[j] = itemsData[i].it[j];\n          }\n        }\n\n        this.searchShapes(arr[i].it, itemsData[i].it, itemsData[i].prevViewData, shouldRender, ownTransforms);\n      } else if (arr[i].ty === \"tr\") {\n        if (!processedPos) {\n          currentTransform = this.createTransformElement(arr[i]);\n          itemsData[i] = currentTransform;\n        }\n\n        ownTransforms.push(itemsData[i]);\n        this.addTransformToStyleList(itemsData[i]);\n      } else if (arr[i].ty === \"sh\" || arr[i].ty === \"rc\" || arr[i].ty === \"el\" || arr[i].ty === \"sr\") {\n        if (!processedPos) {\n          itemsData[i] = this.createShapeElement(arr[i]);\n        }\n      } else if (arr[i].ty === \"tm\" || arr[i].ty === \"rd\" || arr[i].ty === \"pb\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          modifier.init(this || _global, arr[i]);\n          itemsData[i] = modifier;\n\n          (this || _global).shapeModifiers.push(modifier);\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = false;\n        }\n\n        ownModifiers.push(modifier);\n      } else if (arr[i].ty === \"rp\") {\n        if (!processedPos) {\n          modifier = ShapeModifiers.getModifier(arr[i].ty);\n          itemsData[i] = modifier;\n          modifier.init(this || _global, arr, i, itemsData);\n\n          (this || _global).shapeModifiers.push(modifier);\n\n          shouldRender = false;\n        } else {\n          modifier = itemsData[i];\n          modifier.closed = true;\n        }\n\n        ownModifiers.push(modifier);\n      }\n\n      this.addProcessedElement(arr[i], i + 1);\n    }\n\n    this.removeTransformFromStyleList();\n    this.closeStyles(ownStyles);\n    len = ownModifiers.length;\n\n    for (i = 0; i < len; i += 1) {\n      ownModifiers[i].closed = true;\n    }\n  };\n\n  CVShapeElement.prototype.renderInnerContent = function () {\n    (this || _global).transformHelper.opacity = 1;\n    (this || _global).transformHelper._opMdf = false;\n    this.renderModifiers();\n\n    (this || _global).transformsManager.processSequences((this || _global)._isFirstFrame);\n\n    this.renderShape((this || _global).transformHelper, (this || _global).shapesData, (this || _global).itemsData, true);\n  };\n\n  CVShapeElement.prototype.renderShapeTransform = function (parentTransform, groupTransform) {\n    if (parentTransform._opMdf || groupTransform.op._mdf || (this || _global)._isFirstFrame) {\n      groupTransform.opacity = parentTransform.opacity;\n      groupTransform.opacity *= groupTransform.op.v;\n      groupTransform._opMdf = true;\n    }\n  };\n\n  CVShapeElement.prototype.drawLayer = function () {\n    var i;\n    var len = (this || _global).stylesList.length;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var elems;\n    var nodes;\n    var renderer = (this || _global).globalData.renderer;\n    var ctx = (this || _global).globalData.canvasContext;\n    var type;\n    var currentStyle;\n\n    for (i = 0; i < len; i += 1) {\n      currentStyle = (this || _global).stylesList[i];\n      type = currentStyle.type; // Skipping style when\n      // Stroke width equals 0\n      // style should not be rendered (extra unused repeaters)\n      // current opacity equals 0\n      // global opacity equals 0\n\n      if (!((type === \"st\" || type === \"gs\") && currentStyle.wi === 0 || !currentStyle.data._shouldRender || currentStyle.coOp === 0 || (this || _global).globalData.currentGlobalAlpha === 0)) {\n        renderer.save();\n        elems = currentStyle.elements;\n\n        if (type === \"st\" || type === \"gs\") {\n          ctx.strokeStyle = type === \"st\" ? currentStyle.co : currentStyle.grd;\n          ctx.lineWidth = currentStyle.wi;\n          ctx.lineCap = currentStyle.lc;\n          ctx.lineJoin = currentStyle.lj;\n          ctx.miterLimit = currentStyle.ml || 0;\n        } else {\n          ctx.fillStyle = type === \"fl\" ? currentStyle.co : currentStyle.grd;\n        }\n\n        renderer.ctxOpacity(currentStyle.coOp);\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.beginPath();\n        }\n\n        renderer.ctxTransform(currentStyle.preTransforms.finalTransform.props);\n        jLen = elems.length;\n\n        for (j = 0; j < jLen; j += 1) {\n          if (type === \"st\" || type === \"gs\") {\n            ctx.beginPath();\n\n            if (currentStyle.da) {\n              ctx.setLineDash(currentStyle.da);\n              ctx.lineDashOffset = currentStyle.do;\n            }\n          }\n\n          nodes = elems[j].trNodes;\n          kLen = nodes.length;\n\n          for (k = 0; k < kLen; k += 1) {\n            if (nodes[k].t === \"m\") {\n              ctx.moveTo(nodes[k].p[0], nodes[k].p[1]);\n            } else if (nodes[k].t === \"c\") {\n              ctx.bezierCurveTo(nodes[k].pts[0], nodes[k].pts[1], nodes[k].pts[2], nodes[k].pts[3], nodes[k].pts[4], nodes[k].pts[5]);\n            } else {\n              ctx.closePath();\n            }\n          }\n\n          if (type === \"st\" || type === \"gs\") {\n            ctx.stroke();\n\n            if (currentStyle.da) {\n              ctx.setLineDash((this || _global).dashResetter);\n            }\n          }\n        }\n\n        if (type !== \"st\" && type !== \"gs\") {\n          ctx.fill(currentStyle.r);\n        }\n\n        renderer.restore();\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderShape = function (parentTransform, items, data, isMain) {\n    var i;\n    var len = items.length - 1;\n    var groupTransform;\n    groupTransform = parentTransform;\n\n    for (i = len; i >= 0; i -= 1) {\n      if (items[i].ty === \"tr\") {\n        groupTransform = data[i].transform;\n        this.renderShapeTransform(parentTransform, groupTransform);\n      } else if (items[i].ty === \"sh\" || items[i].ty === \"el\" || items[i].ty === \"rc\" || items[i].ty === \"sr\") {\n        this.renderPath(items[i], data[i]);\n      } else if (items[i].ty === \"fl\") {\n        this.renderFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"st\") {\n        this.renderStroke(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gf\" || items[i].ty === \"gs\") {\n        this.renderGradientFill(items[i], data[i], groupTransform);\n      } else if (items[i].ty === \"gr\") {\n        this.renderShape(groupTransform, items[i].it, data[i].it);\n      } else if (items[i].ty === \"tm\") {//\n      }\n    }\n\n    if (isMain) {\n      this.drawLayer();\n    }\n  };\n\n  CVShapeElement.prototype.renderStyledShape = function (styledShape, shape) {\n    if ((this || _global)._isFirstFrame || shape._mdf || styledShape.transforms._mdf) {\n      var shapeNodes = styledShape.trNodes;\n      var paths = shape.paths;\n      var i;\n      var len;\n      var j;\n      var jLen = paths._length;\n      shapeNodes.length = 0;\n      var groupTransformMat = styledShape.transforms.finalTransform;\n\n      for (j = 0; j < jLen; j += 1) {\n        var pathNodes = paths.shapes[j];\n\n        if (pathNodes && pathNodes.v) {\n          len = pathNodes._length;\n\n          for (i = 1; i < len; i += 1) {\n            if (i === 1) {\n              shapeNodes.push({\n                t: \"m\",\n                p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n              });\n            }\n\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[i], pathNodes.v[i])\n            });\n          }\n\n          if (len === 1) {\n            shapeNodes.push({\n              t: \"m\",\n              p: groupTransformMat.applyToPointArray(pathNodes.v[0][0], pathNodes.v[0][1], 0)\n            });\n          }\n\n          if (pathNodes.c && len) {\n            shapeNodes.push({\n              t: \"c\",\n              pts: groupTransformMat.applyToTriplePoints(pathNodes.o[i - 1], pathNodes.i[0], pathNodes.v[0])\n            });\n            shapeNodes.push({\n              t: \"z\"\n            });\n          }\n        }\n      }\n\n      styledShape.trNodes = shapeNodes;\n    }\n  };\n\n  CVShapeElement.prototype.renderPath = function (pathData, itemData) {\n    if (pathData.hd !== true && pathData._shouldRender) {\n      var i;\n      var len = itemData.styledShapes.length;\n\n      for (i = 0; i < len; i += 1) {\n        this.renderStyledShape(itemData.styledShapes[i], itemData.sh);\n      }\n    }\n  };\n\n  CVShapeElement.prototype.renderFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n  };\n\n  CVShapeElement.prototype.renderGradientFill = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var grd;\n\n    if (!styleElem.grd || itemData.g._mdf || itemData.s._mdf || itemData.e._mdf || styleData.t !== 1 && (itemData.h._mdf || itemData.a._mdf)) {\n      var ctx = (this || _global).globalData.canvasContext;\n      var pt1 = itemData.s.v;\n      var pt2 = itemData.e.v;\n\n      if (styleData.t === 1) {\n        grd = ctx.createLinearGradient(pt1[0], pt1[1], pt2[0], pt2[1]);\n      } else {\n        var rad = Math.sqrt(Math.pow(pt1[0] - pt2[0], 2) + Math.pow(pt1[1] - pt2[1], 2));\n        var ang = Math.atan2(pt2[1] - pt1[1], pt2[0] - pt1[0]);\n        var percent = itemData.h.v;\n\n        if (percent >= 1) {\n          percent = 0.99;\n        } else if (percent <= -1) {\n          percent = -0.99;\n        }\n\n        var dist = rad * percent;\n        var x = Math.cos(ang + itemData.a.v) * dist + pt1[0];\n        var y = Math.sin(ang + itemData.a.v) * dist + pt1[1];\n        grd = ctx.createRadialGradient(x, y, 0, pt1[0], pt1[1], rad);\n      }\n\n      var i;\n      var len = styleData.g.p;\n      var cValues = itemData.g.c;\n      var opacity = 1;\n\n      for (i = 0; i < len; i += 1) {\n        if (itemData.g._hasOpacity && itemData.g._collapsable) {\n          opacity = itemData.g.o[i * 2 + 1];\n        }\n\n        grd.addColorStop(cValues[i * 4] / 100, \"rgba(\" + cValues[i * 4 + 1] + \",\" + cValues[i * 4 + 2] + \",\" + cValues[i * 4 + 3] + \",\" + opacity + \")\");\n      }\n\n      styleElem.grd = grd;\n    }\n\n    styleElem.coOp = itemData.o.v * groupTransform.opacity;\n  };\n\n  CVShapeElement.prototype.renderStroke = function (styleData, itemData, groupTransform) {\n    var styleElem = itemData.style;\n    var d = itemData.d;\n\n    if (d && (d._mdf || (this || _global)._isFirstFrame)) {\n      styleElem.da = d.dashArray;\n      styleElem.do = d.dashoffset[0];\n    }\n\n    if (itemData.c._mdf || (this || _global)._isFirstFrame) {\n      styleElem.co = \"rgb(\" + bmFloor(itemData.c.v[0]) + \",\" + bmFloor(itemData.c.v[1]) + \",\" + bmFloor(itemData.c.v[2]) + \")\";\n    }\n\n    if (itemData.o._mdf || groupTransform._opMdf || (this || _global)._isFirstFrame) {\n      styleElem.coOp = itemData.o.v * groupTransform.opacity;\n    }\n\n    if (itemData.w._mdf || (this || _global)._isFirstFrame) {\n      styleElem.wi = itemData.w.v;\n    }\n  };\n\n  CVShapeElement.prototype.destroy = function () {\n    (this || _global).shapesData = null;\n    (this || _global).globalData = null;\n    (this || _global).canvasContext = null;\n    (this || _global).stylesList.length = 0;\n    (this || _global).itemsData.length = 0;\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement,\r\n  SVGShapeElement, IImageElement */\n\n\n  function CVSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement], CVSolidElement);\n  CVSolidElement.prototype.initElement = SVGShapeElement.prototype.initElement;\n  CVSolidElement.prototype.prepareFrame = IImageElement.prototype.prepareFrame;\n\n  CVSolidElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.fillStyle = (this || _global).data.sc;\n    ctx.fillRect(0, 0, (this || _global).data.sw, (this || _global).data.sh); //\n  };\n  /* global extendPrototype, BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement,\r\n  RenderableElement, ITextElement, createTag, createSizedArray */\n\n\n  function CVTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).yOffset = 0;\n    (this || _global).fillColorAnim = false;\n    (this || _global).strokeColorAnim = false;\n    (this || _global).strokeWidthAnim = false;\n    (this || _global).stroke = false;\n    (this || _global).fill = false;\n    (this || _global).justifyOffset = 0;\n    (this || _global).currentRender = null;\n    (this || _global).renderType = \"canvas\";\n    (this || _global).values = {\n      fill: \"rgba(0,0,0,0)\",\n      stroke: \"rgba(0,0,0,0)\",\n      sWidth: 0,\n      fValue: \"\"\n    };\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, CVBaseElement, HierarchyElement, FrameElement, RenderableElement, ITextElement], CVTextElement);\n  CVTextElement.prototype.tHelper = createTag(\"canvas\").getContext(\"2d\");\n\n  CVTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var hasFill = false;\n\n    if (documentData.fc) {\n      hasFill = true;\n      (this || _global).values.fill = this.buildColor(documentData.fc);\n    } else {\n      (this || _global).values.fill = \"rgba(0,0,0,0)\";\n    }\n\n    (this || _global).fill = hasFill;\n    var hasStroke = false;\n\n    if (documentData.sc) {\n      hasStroke = true;\n      (this || _global).values.stroke = this.buildColor(documentData.sc);\n      (this || _global).values.sWidth = documentData.sw;\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    var matrixHelper = (this || _global).mHelper;\n    (this || _global).stroke = hasStroke;\n    (this || _global).values.fValue = documentData.finalSize + \"px \" + (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily;\n    len = documentData.finalText.length; // this.tHelper.font = this.values.fValue;\n\n    var charData;\n    var shapeData;\n    var k;\n    var kLen;\n    var shapes;\n    var j;\n    var jLen;\n    var pathNodes;\n    var commands;\n    var pathArr;\n    var singleShape = (this || _global).data.singleShape;\n    var trackingOffset = documentData.tr * 0.001 * documentData.finalSize;\n    var xPos = 0;\n    var yPos = 0;\n    var firstLine = true;\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n      shapeData = charData && charData.data || {};\n      matrixHelper.reset();\n\n      if (singleShape && letters[i].n) {\n        xPos = -trackingOffset;\n        yPos += documentData.yOffset;\n        yPos += firstLine ? 1 : 0;\n        firstLine = false;\n      }\n\n      shapes = shapeData.shapes ? shapeData.shapes[0].it : [];\n      jLen = shapes.length;\n      matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n\n      if (singleShape) {\n        this.applyTextPropertiesToMatrix(documentData, matrixHelper, letters[i].line, xPos, yPos);\n      }\n\n      commands = createSizedArray(jLen);\n\n      for (j = 0; j < jLen; j += 1) {\n        kLen = shapes[j].ks.k.i.length;\n        pathNodes = shapes[j].ks.k;\n        pathArr = [];\n\n        for (k = 1; k < kLen; k += 1) {\n          if (k === 1) {\n            pathArr.push(matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n          }\n\n          pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToY(pathNodes.i[k][0], pathNodes.i[k][1], 0), matrixHelper.applyToX(pathNodes.v[k][0], pathNodes.v[k][1], 0), matrixHelper.applyToY(pathNodes.v[k][0], pathNodes.v[k][1], 0));\n        }\n\n        pathArr.push(matrixHelper.applyToX(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToY(pathNodes.o[k - 1][0], pathNodes.o[k - 1][1], 0), matrixHelper.applyToX(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToY(pathNodes.i[0][0], pathNodes.i[0][1], 0), matrixHelper.applyToX(pathNodes.v[0][0], pathNodes.v[0][1], 0), matrixHelper.applyToY(pathNodes.v[0][0], pathNodes.v[0][1], 0));\n        commands[j] = pathArr;\n      }\n\n      if (singleShape) {\n        xPos += letters[i].l;\n        xPos += trackingOffset;\n      }\n\n      if ((this || _global).textSpans[cnt]) {\n        (this || _global).textSpans[cnt].elem = commands;\n      } else {\n        (this || _global).textSpans[cnt] = {\n          elem: commands\n        };\n      }\n\n      cnt += 1;\n    }\n  };\n\n  CVTextElement.prototype.renderInnerContent = function () {\n    var ctx = (this || _global).canvasContext;\n    ctx.font = (this || _global).values.fValue;\n    ctx.lineCap = \"butt\";\n    ctx.lineJoin = \"miter\";\n    ctx.miterLimit = 4;\n\n    if (!(this || _global).data.singleShape) {\n      (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n    }\n\n    var i;\n    var len;\n    var j;\n    var jLen;\n    var k;\n    var kLen;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var lastFill = null;\n    var lastStroke = null;\n    var lastStrokeW = null;\n    var commands;\n    var pathArr;\n\n    for (i = 0; i < len; i += 1) {\n      if (!letters[i].n) {\n        renderedLetter = renderedLetters[i];\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.save();\n\n          (this || _global).globalData.renderer.ctxTransform(renderedLetter.p);\n\n          (this || _global).globalData.renderer.ctxOpacity(renderedLetter.o);\n        }\n\n        if ((this || _global).fill) {\n          if (renderedLetter && renderedLetter.fc) {\n            if (lastFill !== renderedLetter.fc) {\n              lastFill = renderedLetter.fc;\n              ctx.fillStyle = renderedLetter.fc;\n            }\n          } else if (lastFill !== (this || _global).values.fill) {\n            lastFill = (this || _global).values.fill;\n            ctx.fillStyle = (this || _global).values.fill;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.fill(); /// ctx.fillText(this.textSpans[i].val,0,0);\n\n        }\n\n        if ((this || _global).stroke) {\n          if (renderedLetter && renderedLetter.sw) {\n            if (lastStrokeW !== renderedLetter.sw) {\n              lastStrokeW = renderedLetter.sw;\n              ctx.lineWidth = renderedLetter.sw;\n            }\n          } else if (lastStrokeW !== (this || _global).values.sWidth) {\n            lastStrokeW = (this || _global).values.sWidth;\n            ctx.lineWidth = (this || _global).values.sWidth;\n          }\n\n          if (renderedLetter && renderedLetter.sc) {\n            if (lastStroke !== renderedLetter.sc) {\n              lastStroke = renderedLetter.sc;\n              ctx.strokeStyle = renderedLetter.sc;\n            }\n          } else if (lastStroke !== (this || _global).values.stroke) {\n            lastStroke = (this || _global).values.stroke;\n            ctx.strokeStyle = (this || _global).values.stroke;\n          }\n\n          commands = (this || _global).textSpans[i].elem;\n          jLen = commands.length;\n\n          (this || _global).globalData.canvasContext.beginPath();\n\n          for (j = 0; j < jLen; j += 1) {\n            pathArr = commands[j];\n            kLen = pathArr.length;\n\n            (this || _global).globalData.canvasContext.moveTo(pathArr[0], pathArr[1]);\n\n            for (k = 2; k < kLen; k += 6) {\n              (this || _global).globalData.canvasContext.bezierCurveTo(pathArr[k], pathArr[k + 1], pathArr[k + 2], pathArr[k + 3], pathArr[k + 4], pathArr[k + 5]);\n            }\n          }\n\n          (this || _global).globalData.canvasContext.closePath();\n\n          (this || _global).globalData.canvasContext.stroke(); /// ctx.strokeText(letters[i].val,0,0);\n\n        }\n\n        if (renderedLetter) {\n          (this || _global).globalData.renderer.restore();\n        }\n      }\n    }\n  };\n\n  function CVEffects() {}\n\n  CVEffects.prototype.renderFrame = function () {};\n  /* global createTag, createNS, styleDiv, CVEffects, MaskElement, SVGBaseElement, HybridRenderer */\n\n\n  function HBaseElement() {}\n\n  HBaseElement.prototype = {\n    checkBlendMode: function () {},\n    initRendererElement: function () {\n      (this || _global).baseElement = createTag((this || _global).data.tg || \"div\");\n\n      if ((this || _global).data.hasMask) {\n        (this || _global).svgElement = createNS(\"svg\");\n        (this || _global).layerElement = createNS(\"g\");\n        (this || _global).maskedElement = (this || _global).layerElement;\n\n        (this || _global).svgElement.appendChild((this || _global).layerElement);\n\n        (this || _global).baseElement.appendChild((this || _global).svgElement);\n      } else {\n        (this || _global).layerElement = (this || _global).baseElement;\n      }\n\n      styleDiv((this || _global).baseElement);\n    },\n    createContainerElements: function () {\n      (this || _global).renderableEffectsManager = new CVEffects(this || _global);\n      (this || _global).transformedElement = (this || _global).baseElement;\n      (this || _global).maskedElement = (this || _global).layerElement;\n\n      if ((this || _global).data.ln) {\n        (this || _global).layerElement.setAttribute(\"id\", (this || _global).data.ln);\n      }\n\n      if ((this || _global).data.cl) {\n        (this || _global).layerElement.setAttribute(\"class\", (this || _global).data.cl);\n      }\n\n      if ((this || _global).data.bm !== 0) {\n        this.setBlendMode();\n      }\n    },\n    renderElement: function () {\n      var transformedElementStyle = (this || _global).transformedElement ? (this || _global).transformedElement.style : {};\n\n      if ((this || _global).finalTransform._matMdf) {\n        var matrixValue = (this || _global).finalTransform.mat.toCSS();\n\n        transformedElementStyle.transform = matrixValue;\n        transformedElementStyle.webkitTransform = matrixValue;\n      }\n\n      if ((this || _global).finalTransform._opMdf) {\n        transformedElementStyle.opacity = (this || _global).finalTransform.mProp.o.v;\n      }\n    },\n    renderFrame: function () {\n      // If it is exported as hidden (data.hd === true) no need to render\n      // If it is not visible no need to render\n      if ((this || _global).data.hd || (this || _global).hidden) {\n        return;\n      }\n\n      this.renderTransform();\n      this.renderRenderable();\n      this.renderElement();\n      this.renderInnerContent();\n\n      if ((this || _global)._isFirstFrame) {\n        (this || _global)._isFirstFrame = false;\n      }\n    },\n    destroy: function () {\n      (this || _global).layerElement = null;\n      (this || _global).transformedElement = null;\n\n      if ((this || _global).matteElement) {\n        (this || _global).matteElement = null;\n      }\n\n      if ((this || _global).maskManager) {\n        (this || _global).maskManager.destroy();\n\n        (this || _global).maskManager = null;\n      }\n    },\n    createRenderableComponents: function () {\n      (this || _global).maskManager = new MaskElement((this || _global).data, this || _global, (this || _global).globalData);\n    },\n    addEffects: function () {},\n    setMatte: function () {}\n  };\n  HBaseElement.prototype.getBaseElement = SVGBaseElement.prototype.getBaseElement;\n  HBaseElement.prototype.destroyBaseElement = HBaseElement.prototype.destroy;\n  HBaseElement.prototype.buildElementParenting = HybridRenderer.prototype.buildElementParenting;\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, createNS, createTag */\n\n  function HSolidElement(data, globalData, comp) {\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement], HSolidElement);\n\n  HSolidElement.prototype.createContent = function () {\n    var rect;\n\n    if ((this || _global).data.hasMask) {\n      rect = createNS(\"rect\");\n      rect.setAttribute(\"width\", (this || _global).data.sw);\n      rect.setAttribute(\"height\", (this || _global).data.sh);\n      rect.setAttribute(\"fill\", (this || _global).data.sc);\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.sw);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.sh);\n    } else {\n      rect = createTag(\"div\");\n      rect.style.width = (this || _global).data.sw + \"px\";\n      rect.style.height = (this || _global).data.sh + \"px\";\n      rect.style.backgroundColor = (this || _global).data.sc;\n    }\n\n    (this || _global).layerElement.appendChild(rect);\n  };\n  /* global createSizedArray, PropertyFactory, extendPrototype, HybridRenderer, ICompElement, HBaseElement */\n\n\n  function HCompElement(data, globalData, comp) {\n    (this || _global).layers = data.layers;\n    (this || _global).supports3d = !data.hasMask;\n    (this || _global).completeLayers = false;\n    (this || _global).pendingElements = [];\n    (this || _global).elements = (this || _global).layers ? createSizedArray((this || _global).layers.length) : [];\n    this.initElement(data, globalData, comp);\n    (this || _global).tm = data.tm ? PropertyFactory.getProp(this || _global, data.tm, 0, globalData.frameRate, this || _global) : {\n      _placeholder: true\n    };\n  }\n\n  extendPrototype([HybridRenderer, ICompElement, HBaseElement], HCompElement);\n  HCompElement.prototype._createBaseContainerElements = HCompElement.prototype.createContainerElements;\n\n  HCompElement.prototype.createContainerElements = function () {\n    this._createBaseContainerElements(); // divElement.style.clip = 'rect(0px, '+this.data.w+'px, '+this.data.h+'px, 0px)';\n\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).data.w);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).data.h);\n\n      (this || _global).transformedElement = (this || _global).baseElement;\n    } else {\n      (this || _global).transformedElement = (this || _global).layerElement;\n    }\n  };\n\n  HCompElement.prototype.addTo3dContainer = function (elem, pos) {\n    var j = 0;\n    var nextElement;\n\n    while (j < pos) {\n      if ((this || _global).elements[j] && (this || _global).elements[j].getBaseElement) {\n        nextElement = (this || _global).elements[j].getBaseElement();\n      }\n\n      j += 1;\n    }\n\n    if (nextElement) {\n      (this || _global).layerElement.insertBefore(elem, nextElement);\n    } else {\n      (this || _global).layerElement.appendChild(elem);\n    }\n  };\n  /* global createNS, extendPrototype, BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement,\r\n  HierarchyElement, FrameElement, RenderableElement, createNS, bmMin, bmSqrt, bmMin, bmMax, bmPow */\n\n\n  function HShapeElement(data, globalData, comp) {\n    // List of drawable elements\n    (this || _global).shapes = []; // Full shape data\n\n    (this || _global).shapesData = data.shapes; // List of styles that will be applied to shapes\n\n    (this || _global).stylesList = []; // List of modifiers that will be applied to shapes\n\n    (this || _global).shapeModifiers = []; // List of items in shape tree\n\n    (this || _global).itemsData = []; // List of items in previous shape tree\n\n    (this || _global).processedElements = []; // List of animated components\n\n    (this || _global).animatedContents = [];\n    (this || _global).shapesContainer = createNS(\"g\");\n    this.initElement(data, globalData, comp); // Moving any property that doesn't get too much access after initialization because of v8 way of handling more than 10 properties.\n    // List of elements that have been created\n\n    (this || _global).prevViewData = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n  }\n\n  extendPrototype([BaseElement, TransformElement, HSolidElement, SVGShapeElement, HBaseElement, HierarchyElement, FrameElement, RenderableElement], HShapeElement);\n  HShapeElement.prototype._renderShapeFrame = HShapeElement.prototype.renderInnerContent;\n\n  HShapeElement.prototype.createContent = function () {\n    var cont;\n    (this || _global).baseElement.style.fontSize = 0;\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).layerElement.appendChild((this || _global).shapesContainer);\n\n      cont = (this || _global).svgElement;\n    } else {\n      cont = createNS(\"svg\");\n      var size = (this || _global).comp.data ? (this || _global).comp.data : (this || _global).globalData.compSize;\n      cont.setAttribute(\"width\", size.w);\n      cont.setAttribute(\"height\", size.h);\n      cont.appendChild((this || _global).shapesContainer);\n\n      (this || _global).layerElement.appendChild(cont);\n    }\n\n    this.searchShapes((this || _global).shapesData, (this || _global).itemsData, (this || _global).prevViewData, (this || _global).shapesContainer, 0, [], true);\n    this.filterUniqueShapes();\n    (this || _global).shapeCont = cont;\n  };\n\n  HShapeElement.prototype.getTransformedPoint = function (transformers, point) {\n    var i;\n    var len = transformers.length;\n\n    for (i = 0; i < len; i += 1) {\n      point = transformers[i].mProps.v.applyToPointArray(point[0], point[1], 0);\n    }\n\n    return point;\n  };\n\n  HShapeElement.prototype.calculateShapeBoundingBox = function (item, boundingBox) {\n    var shape = item.sh.v;\n    var transformers = item.transformers;\n    var i;\n    var len = shape._length;\n    var vPoint;\n    var oPoint;\n    var nextIPoint;\n    var nextVPoint;\n\n    if (len <= 1) {\n      return;\n    }\n\n    for (i = 0; i < len - 1; i += 1) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[i + 1]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[i + 1]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n\n    if (shape.c) {\n      vPoint = this.getTransformedPoint(transformers, shape.v[i]);\n      oPoint = this.getTransformedPoint(transformers, shape.o[i]);\n      nextIPoint = this.getTransformedPoint(transformers, shape.i[0]);\n      nextVPoint = this.getTransformedPoint(transformers, shape.v[0]);\n      this.checkBounds(vPoint, oPoint, nextIPoint, nextVPoint, boundingBox);\n    }\n  };\n\n  HShapeElement.prototype.checkBounds = function (vPoint, oPoint, nextIPoint, nextVPoint, boundingBox) {\n    this.getBoundsOfCurve(vPoint, oPoint, nextIPoint, nextVPoint);\n    var bounds = (this || _global).shapeBoundingBox;\n    boundingBox.x = bmMin(bounds.left, boundingBox.x);\n    boundingBox.xMax = bmMax(bounds.right, boundingBox.xMax);\n    boundingBox.y = bmMin(bounds.top, boundingBox.y);\n    boundingBox.yMax = bmMax(bounds.bottom, boundingBox.yMax);\n  };\n\n  HShapeElement.prototype.shapeBoundingBox = {\n    left: 0,\n    right: 0,\n    top: 0,\n    bottom: 0\n  };\n  HShapeElement.prototype.tempBoundingBox = {\n    x: 0,\n    xMax: 0,\n    y: 0,\n    yMax: 0,\n    width: 0,\n    height: 0\n  };\n\n  HShapeElement.prototype.getBoundsOfCurve = function (p0, p1, p2, p3) {\n    var bounds = [[p0[0], p3[0]], [p0[1], p3[1]]];\n\n    for (var a, b, c, t, b2ac, t1, t2, i = 0; i < 2; ++i) {\n      // eslint-disable-line no-plusplus\n      b = 6 * p0[i] - 12 * p1[i] + 6 * p2[i];\n      a = -3 * p0[i] + 9 * p1[i] - 9 * p2[i] + 3 * p3[i];\n      c = 3 * p1[i] - 3 * p0[i];\n      b |= 0; // eslint-disable-line no-bitwise\n\n      a |= 0; // eslint-disable-line no-bitwise\n\n      c |= 0; // eslint-disable-line no-bitwise\n\n      if (a === 0 && b === 0) {//\n      } else if (a === 0) {\n        t = -c / b;\n\n        if (t > 0 && t < 1) {\n          bounds[i].push(this.calculateF(t, p0, p1, p2, p3, i));\n        }\n      } else {\n        b2ac = b * b - 4 * c * a;\n\n        if (b2ac >= 0) {\n          t1 = (-b + bmSqrt(b2ac)) / (2 * a);\n          if (t1 > 0 && t1 < 1) bounds[i].push(this.calculateF(t1, p0, p1, p2, p3, i));\n          t2 = (-b - bmSqrt(b2ac)) / (2 * a);\n          if (t2 > 0 && t2 < 1) bounds[i].push(this.calculateF(t2, p0, p1, p2, p3, i));\n        }\n      }\n    }\n\n    (this || _global).shapeBoundingBox.left = bmMin.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.top = bmMin.apply(null, bounds[1]);\n    (this || _global).shapeBoundingBox.right = bmMax.apply(null, bounds[0]);\n    (this || _global).shapeBoundingBox.bottom = bmMax.apply(null, bounds[1]);\n  };\n\n  HShapeElement.prototype.calculateF = function (t, p0, p1, p2, p3, i) {\n    return bmPow(1 - t, 3) * p0[i] + 3 * bmPow(1 - t, 2) * t * p1[i] + 3 * (1 - t) * bmPow(t, 2) * p2[i] + bmPow(t, 3) * p3[i];\n  };\n\n  HShapeElement.prototype.calculateBoundingBox = function (itemsData, boundingBox) {\n    var i;\n    var len = itemsData.length;\n\n    for (i = 0; i < len; i += 1) {\n      if (itemsData[i] && itemsData[i].sh) {\n        this.calculateShapeBoundingBox(itemsData[i], boundingBox);\n      } else if (itemsData[i] && itemsData[i].it) {\n        this.calculateBoundingBox(itemsData[i].it, boundingBox);\n      }\n    }\n  };\n\n  HShapeElement.prototype.currentBoxContains = function (box) {\n    return (this || _global).currentBBox.x <= box.x && (this || _global).currentBBox.y <= box.y && (this || _global).currentBBox.width + (this || _global).currentBBox.x >= box.x + box.width && (this || _global).currentBBox.height + (this || _global).currentBBox.y >= box.y + box.height;\n  };\n\n  HShapeElement.prototype.renderInnerContent = function () {\n    this._renderShapeFrame();\n\n    if (!(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var tempBoundingBox = (this || _global).tempBoundingBox;\n      var max = 999999;\n      tempBoundingBox.x = max;\n      tempBoundingBox.xMax = -max;\n      tempBoundingBox.y = max;\n      tempBoundingBox.yMax = -max;\n      this.calculateBoundingBox((this || _global).itemsData, tempBoundingBox);\n      tempBoundingBox.width = tempBoundingBox.xMax < tempBoundingBox.x ? 0 : tempBoundingBox.xMax - tempBoundingBox.x;\n      tempBoundingBox.height = tempBoundingBox.yMax < tempBoundingBox.y ? 0 : tempBoundingBox.yMax - tempBoundingBox.y; // var tempBoundingBox = this.shapeCont.getBBox();\n\n      if (this.currentBoxContains(tempBoundingBox)) {\n        return;\n      }\n\n      var changed = false;\n\n      if ((this || _global).currentBBox.w !== tempBoundingBox.width) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n\n        (this || _global).shapeCont.setAttribute(\"width\", tempBoundingBox.width);\n\n        changed = true;\n      }\n\n      if ((this || _global).currentBBox.h !== tempBoundingBox.height) {\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n\n        (this || _global).shapeCont.setAttribute(\"height\", tempBoundingBox.height);\n\n        changed = true;\n      }\n\n      if (changed || (this || _global).currentBBox.x !== tempBoundingBox.x || (this || _global).currentBBox.y !== tempBoundingBox.y) {\n        (this || _global).currentBBox.w = tempBoundingBox.width;\n        (this || _global).currentBBox.h = tempBoundingBox.height;\n        (this || _global).currentBBox.x = tempBoundingBox.x;\n        (this || _global).currentBBox.y = tempBoundingBox.y;\n\n        (this || _global).shapeCont.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        var shapeStyle = (this || _global).shapeCont.style;\n        var shapeTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        shapeStyle.transform = shapeTransform;\n        shapeStyle.webkitTransform = shapeTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement,\r\n  RenderableDOMElement, ITextElement, createSizedArray, createTag, styleDiv, createNS */\n\n\n  function HTextElement(data, globalData, comp) {\n    (this || _global).textSpans = [];\n    (this || _global).textPaths = [];\n    (this || _global).currentBBox = {\n      x: 999999,\n      y: -999999,\n      h: 0,\n      w: 0\n    };\n    (this || _global).renderType = \"svg\";\n    (this || _global).isMasked = false;\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HierarchyElement, FrameElement, RenderableDOMElement, ITextElement], HTextElement);\n\n  HTextElement.prototype.createContent = function () {\n    (this || _global).isMasked = this.checkMasks();\n\n    if ((this || _global).isMasked) {\n      (this || _global).renderType = \"svg\";\n      (this || _global).compW = (this || _global).comp.data.w;\n      (this || _global).compH = (this || _global).comp.data.h;\n\n      (this || _global).svgElement.setAttribute(\"width\", (this || _global).compW);\n\n      (this || _global).svgElement.setAttribute(\"height\", (this || _global).compH);\n\n      var g = createNS(\"g\");\n\n      (this || _global).maskedElement.appendChild(g);\n\n      (this || _global).innerElem = g;\n    } else {\n      (this || _global).renderType = \"html\";\n      (this || _global).innerElem = (this || _global).layerElement;\n    }\n\n    this.checkParenting();\n  };\n\n  HTextElement.prototype.buildNewText = function () {\n    var documentData = (this || _global).textProperty.currentData;\n    (this || _global).renderedLetters = createSizedArray(documentData.l ? documentData.l.length : 0);\n    var innerElemStyle = (this || _global).innerElem.style;\n    var textColor = documentData.fc ? this.buildColor(documentData.fc) : \"rgba(0,0,0,0)\";\n    innerElemStyle.fill = textColor;\n    innerElemStyle.color = textColor;\n\n    if (documentData.sc) {\n      innerElemStyle.stroke = this.buildColor(documentData.sc);\n      innerElemStyle.strokeWidth = documentData.sw + \"px\";\n    }\n\n    var fontData = (this || _global).globalData.fontManager.getFontByName(documentData.f);\n\n    if (!(this || _global).globalData.fontManager.chars) {\n      innerElemStyle.fontSize = documentData.finalSize + \"px\";\n      innerElemStyle.lineHeight = documentData.finalSize + \"px\";\n\n      if (fontData.fClass) {\n        (this || _global).innerElem.className = fontData.fClass;\n      } else {\n        innerElemStyle.fontFamily = fontData.fFamily;\n        var fWeight = documentData.fWeight;\n        var fStyle = documentData.fStyle;\n        innerElemStyle.fontStyle = fStyle;\n        innerElemStyle.fontWeight = fWeight;\n      }\n    }\n\n    var i;\n    var len;\n    var letters = documentData.l;\n    len = letters.length;\n    var tSpan;\n    var tParent;\n    var tCont;\n    var matrixHelper = (this || _global).mHelper;\n    var shapes;\n    var shapeStr = \"\";\n    var cnt = 0;\n\n    for (i = 0; i < len; i += 1) {\n      if ((this || _global).globalData.fontManager.chars) {\n        if (!(this || _global).textPaths[cnt]) {\n          tSpan = createNS(\"path\");\n          tSpan.setAttribute(\"stroke-linecap\", \"butt\");\n          tSpan.setAttribute(\"stroke-linejoin\", \"round\");\n          tSpan.setAttribute(\"stroke-miterlimit\", \"4\");\n        } else {\n          tSpan = (this || _global).textPaths[cnt];\n        }\n\n        if (!(this || _global).isMasked) {\n          if ((this || _global).textSpans[cnt]) {\n            tParent = (this || _global).textSpans[cnt];\n            tCont = tParent.children[0];\n          } else {\n            tParent = createTag(\"div\");\n            tParent.style.lineHeight = 0;\n            tCont = createNS(\"svg\");\n            tCont.appendChild(tSpan);\n            styleDiv(tParent);\n          }\n        }\n      } else if (!(this || _global).isMasked) {\n        if ((this || _global).textSpans[cnt]) {\n          tParent = (this || _global).textSpans[cnt];\n          tSpan = (this || _global).textPaths[cnt];\n        } else {\n          tParent = createTag(\"span\");\n          styleDiv(tParent);\n          tSpan = createTag(\"span\");\n          styleDiv(tSpan);\n          tParent.appendChild(tSpan);\n        }\n      } else {\n        tSpan = (this || _global).textPaths[cnt] ? (this || _global).textPaths[cnt] : createNS(\"text\");\n      } // tSpan.setAttribute('visibility', 'hidden');\n\n\n      if ((this || _global).globalData.fontManager.chars) {\n        var charData = (this || _global).globalData.fontManager.getCharData(documentData.finalText[i], fontData.fStyle, (this || _global).globalData.fontManager.getFontByName(documentData.f).fFamily);\n\n        var shapeData;\n\n        if (charData) {\n          shapeData = charData.data;\n        } else {\n          shapeData = null;\n        }\n\n        matrixHelper.reset();\n\n        if (shapeData && shapeData.shapes) {\n          shapes = shapeData.shapes[0].it;\n          matrixHelper.scale(documentData.finalSize / 100, documentData.finalSize / 100);\n          shapeStr = this.createPathShape(matrixHelper, shapes);\n          tSpan.setAttribute(\"d\", shapeStr);\n        }\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent);\n\n          if (shapeData && shapeData.shapes) {\n            // document.body.appendChild is needed to get exact measure of shape\n            document.body.appendChild(tCont);\n            var boundingBox = tCont.getBBox();\n            tCont.setAttribute(\"width\", boundingBox.width + 2);\n            tCont.setAttribute(\"height\", boundingBox.height + 2);\n            tCont.setAttribute(\"viewBox\", boundingBox.x - 1 + \" \" + (boundingBox.y - 1) + \" \" + (boundingBox.width + 2) + \" \" + (boundingBox.height + 2));\n            var tContStyle = tCont.style;\n            var tContTranslation = \"translate(\" + (boundingBox.x - 1) + \"px,\" + (boundingBox.y - 1) + \"px)\";\n            tContStyle.transform = tContTranslation;\n            tContStyle.webkitTransform = tContTranslation;\n            letters[i].yOffset = boundingBox.y - 1;\n          } else {\n            tCont.setAttribute(\"width\", 1);\n            tCont.setAttribute(\"height\", 1);\n          }\n\n          tParent.appendChild(tCont);\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } else {\n        tSpan.textContent = letters[i].val;\n        tSpan.setAttributeNS(\"http://www.w3.org/XML/1998/namespace\", \"xml:space\", \"preserve\");\n\n        if (!(this || _global).isMasked) {\n          (this || _global).innerElem.appendChild(tParent); //\n\n\n          var tStyle = tSpan.style;\n          var tSpanTranslation = \"translate3d(0,\" + -documentData.finalSize / 1.2 + \"px,0)\";\n          tStyle.transform = tSpanTranslation;\n          tStyle.webkitTransform = tSpanTranslation;\n        } else {\n          (this || _global).innerElem.appendChild(tSpan);\n        }\n      } //\n\n\n      if (!(this || _global).isMasked) {\n        (this || _global).textSpans[cnt] = tParent;\n      } else {\n        (this || _global).textSpans[cnt] = tSpan;\n      }\n\n      (this || _global).textSpans[cnt].style.display = \"block\";\n      (this || _global).textPaths[cnt] = tSpan;\n      cnt += 1;\n    }\n\n    while (cnt < (this || _global).textSpans.length) {\n      (this || _global).textSpans[cnt].style.display = \"none\";\n      cnt += 1;\n    }\n  };\n\n  HTextElement.prototype.renderInnerContent = function () {\n    var svgStyle;\n\n    if ((this || _global).data.singleShape) {\n      if (!(this || _global)._isFirstFrame && !(this || _global).lettersChangedFlag) {\n        return;\n      }\n\n      if ((this || _global).isMasked && (this || _global).finalTransform._matMdf) {\n        // Todo Benchmark if using this is better than getBBox\n        (this || _global).svgElement.setAttribute(\"viewBox\", -(this || _global).finalTransform.mProp.p.v[0] + \" \" + -(this || _global).finalTransform.mProp.p.v[1] + \" \" + (this || _global).compW + \" \" + (this || _global).compH);\n\n        svgStyle = (this || _global).svgElement.style;\n        var translation = \"translate(\" + -(this || _global).finalTransform.mProp.p.v[0] + \"px,\" + -(this || _global).finalTransform.mProp.p.v[1] + \"px)\";\n        svgStyle.transform = translation;\n        svgStyle.webkitTransform = translation;\n      }\n    }\n\n    (this || _global).textAnimator.getMeasures((this || _global).textProperty.currentData, (this || _global).lettersChangedFlag);\n\n    if (!(this || _global).lettersChangedFlag && !(this || _global).textAnimator.lettersChangedFlag) {\n      return;\n    }\n\n    var i;\n    var len;\n    var count = 0;\n    var renderedLetters = (this || _global).textAnimator.renderedLetters;\n    var letters = (this || _global).textProperty.currentData.l;\n    len = letters.length;\n    var renderedLetter;\n    var textSpan;\n    var textPath;\n\n    for (i = 0; i < len; i += 1) {\n      if (letters[i].n) {\n        count += 1;\n      } else {\n        textSpan = (this || _global).textSpans[i];\n        textPath = (this || _global).textPaths[i];\n        renderedLetter = renderedLetters[count];\n        count += 1;\n\n        if (renderedLetter._mdf.m) {\n          if (!(this || _global).isMasked) {\n            textSpan.style.webkitTransform = renderedLetter.m;\n            textSpan.style.transform = renderedLetter.m;\n          } else {\n            textSpan.setAttribute(\"transform\", renderedLetter.m);\n          }\n        } /// /textSpan.setAttribute('opacity',renderedLetter.o);\n\n\n        textSpan.style.opacity = renderedLetter.o;\n\n        if (renderedLetter.sw && renderedLetter._mdf.sw) {\n          textPath.setAttribute(\"stroke-width\", renderedLetter.sw);\n        }\n\n        if (renderedLetter.sc && renderedLetter._mdf.sc) {\n          textPath.setAttribute(\"stroke\", renderedLetter.sc);\n        }\n\n        if (renderedLetter.fc && renderedLetter._mdf.fc) {\n          textPath.setAttribute(\"fill\", renderedLetter.fc);\n          textPath.style.color = renderedLetter.fc;\n        }\n      }\n    }\n\n    if ((this || _global).innerElem.getBBox && !(this || _global).hidden && ((this || _global)._isFirstFrame || (this || _global)._mdf)) {\n      var boundingBox = (this || _global).innerElem.getBBox();\n\n      if ((this || _global).currentBBox.w !== boundingBox.width) {\n        (this || _global).currentBBox.w = boundingBox.width;\n\n        (this || _global).svgElement.setAttribute(\"width\", boundingBox.width);\n      }\n\n      if ((this || _global).currentBBox.h !== boundingBox.height) {\n        (this || _global).currentBBox.h = boundingBox.height;\n\n        (this || _global).svgElement.setAttribute(\"height\", boundingBox.height);\n      }\n\n      var margin = 1;\n\n      if ((this || _global).currentBBox.w !== boundingBox.width + margin * 2 || (this || _global).currentBBox.h !== boundingBox.height + margin * 2 || (this || _global).currentBBox.x !== boundingBox.x - margin || (this || _global).currentBBox.y !== boundingBox.y - margin) {\n        (this || _global).currentBBox.w = boundingBox.width + margin * 2;\n        (this || _global).currentBBox.h = boundingBox.height + margin * 2;\n        (this || _global).currentBBox.x = boundingBox.x - margin;\n        (this || _global).currentBBox.y = boundingBox.y - margin;\n\n        (this || _global).svgElement.setAttribute(\"viewBox\", (this || _global).currentBBox.x + \" \" + (this || _global).currentBBox.y + \" \" + (this || _global).currentBBox.w + \" \" + (this || _global).currentBBox.h);\n\n        svgStyle = (this || _global).svgElement.style;\n        var svgTransform = \"translate(\" + (this || _global).currentBBox.x + \"px,\" + (this || _global).currentBBox.y + \"px)\";\n        svgStyle.transform = svgTransform;\n        svgStyle.webkitTransform = svgTransform;\n      }\n    }\n  };\n  /* global extendPrototype, BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement,\r\n  FrameElement, RenderableElement, createNS */\n\n\n  function HImageElement(data, globalData, comp) {\n    (this || _global).assetData = globalData.getAssetData(data.refId);\n    this.initElement(data, globalData, comp);\n  }\n\n  extendPrototype([BaseElement, TransformElement, HBaseElement, HSolidElement, HierarchyElement, FrameElement, RenderableElement], HImageElement);\n\n  HImageElement.prototype.createContent = function () {\n    var assetPath = (this || _global).globalData.getAssetsPath((this || _global).assetData);\n\n    var img = new Image();\n\n    if ((this || _global).data.hasMask) {\n      (this || _global).imageElem = createNS(\"image\");\n\n      (this || _global).imageElem.setAttribute(\"width\", (this || _global).assetData.w + \"px\");\n\n      (this || _global).imageElem.setAttribute(\"height\", (this || _global).assetData.h + \"px\");\n\n      (this || _global).imageElem.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", assetPath);\n\n      (this || _global).layerElement.appendChild((this || _global).imageElem);\n\n      (this || _global).baseElement.setAttribute(\"width\", (this || _global).assetData.w);\n\n      (this || _global).baseElement.setAttribute(\"height\", (this || _global).assetData.h);\n    } else {\n      (this || _global).layerElement.appendChild(img);\n    }\n\n    img.crossOrigin = \"anonymous\";\n    img.src = assetPath;\n\n    if ((this || _global).data.ln) {\n      (this || _global).baseElement.setAttribute(\"id\", (this || _global).data.ln);\n    }\n  };\n  /* global PropertyFactory, degToRads, Matrix, extendPrototype, BaseElement, FrameElement, HierarchyElement */\n\n\n  function HCameraElement(data, globalData, comp) {\n    this.initFrame();\n    this.initBaseData(data, globalData, comp);\n    this.initHierarchy();\n    var getProp = PropertyFactory.getProp;\n    (this || _global).pe = getProp(this || _global, data.pe, 0, 0, this || _global);\n\n    if (data.ks.p.s) {\n      (this || _global).px = getProp(this || _global, data.ks.p.x, 1, 0, this || _global);\n      (this || _global).py = getProp(this || _global, data.ks.p.y, 1, 0, this || _global);\n      (this || _global).pz = getProp(this || _global, data.ks.p.z, 1, 0, this || _global);\n    } else {\n      (this || _global).p = getProp(this || _global, data.ks.p, 1, 0, this || _global);\n    }\n\n    if (data.ks.a) {\n      (this || _global).a = getProp(this || _global, data.ks.a, 1, 0, this || _global);\n    }\n\n    if (data.ks.or.k.length && data.ks.or.k[0].to) {\n      var i;\n      var len = data.ks.or.k.length;\n\n      for (i = 0; i < len; i += 1) {\n        data.ks.or.k[i].to = null;\n        data.ks.or.k[i].ti = null;\n      }\n    }\n\n    (this || _global).or = getProp(this || _global, data.ks.or, 1, degToRads, this || _global);\n    (this || _global).or.sh = true;\n    (this || _global).rx = getProp(this || _global, data.ks.rx, 0, degToRads, this || _global);\n    (this || _global).ry = getProp(this || _global, data.ks.ry, 0, degToRads, this || _global);\n    (this || _global).rz = getProp(this || _global, data.ks.rz, 0, degToRads, this || _global);\n    (this || _global).mat = new Matrix();\n    (this || _global)._prevMat = new Matrix();\n    (this || _global)._isFirstFrame = true; // TODO: find a better way to make the HCamera element to be compatible with the LayerInterface and TransformInterface.\n\n    (this || _global).finalTransform = {\n      mProp: this || _global\n    };\n  }\n\n  extendPrototype([BaseElement, FrameElement, HierarchyElement], HCameraElement);\n\n  HCameraElement.prototype.setup = function () {\n    var i;\n    var len = (this || _global).comp.threeDElements.length;\n    var comp;\n    var perspectiveStyle;\n    var containerStyle;\n\n    for (i = 0; i < len; i += 1) {\n      // [perspectiveElem,container]\n      comp = (this || _global).comp.threeDElements[i];\n\n      if (comp.type === \"3d\") {\n        perspectiveStyle = comp.perspectiveElem.style;\n        containerStyle = comp.container.style;\n        var perspective = (this || _global).pe.v + \"px\";\n        var origin = \"0px 0px 0px\";\n        var matrix = \"matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)\";\n        perspectiveStyle.perspective = perspective;\n        perspectiveStyle.webkitPerspective = perspective;\n        containerStyle.transformOrigin = origin;\n        containerStyle.mozTransformOrigin = origin;\n        containerStyle.webkitTransformOrigin = origin;\n        perspectiveStyle.transform = matrix;\n        perspectiveStyle.webkitTransform = matrix;\n      }\n    }\n  };\n\n  HCameraElement.prototype.createElements = function () {};\n\n  HCameraElement.prototype.hide = function () {};\n\n  HCameraElement.prototype.renderFrame = function () {\n    var _mdf = (this || _global)._isFirstFrame;\n    var i;\n    var len;\n\n    if ((this || _global).hierarchy) {\n      len = (this || _global).hierarchy.length;\n\n      for (i = 0; i < len; i += 1) {\n        _mdf = (this || _global).hierarchy[i].finalTransform.mProp._mdf || _mdf;\n      }\n    }\n\n    if (_mdf || (this || _global).pe._mdf || (this || _global).p && (this || _global).p._mdf || (this || _global).px && ((this || _global).px._mdf || (this || _global).py._mdf || (this || _global).pz._mdf) || (this || _global).rx._mdf || (this || _global).ry._mdf || (this || _global).rz._mdf || (this || _global).or._mdf || (this || _global).a && (this || _global).a._mdf) {\n      (this || _global).mat.reset();\n\n      if ((this || _global).hierarchy) {\n        len = (this || _global).hierarchy.length - 1;\n\n        for (i = len; i >= 0; i -= 1) {\n          var mTransf = (this || _global).hierarchy[i].finalTransform.mProp;\n\n          (this || _global).mat.translate(-mTransf.p.v[0], -mTransf.p.v[1], mTransf.p.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.or.v[0]).rotateY(-mTransf.or.v[1]).rotateZ(mTransf.or.v[2]);\n\n          (this || _global).mat.rotateX(-mTransf.rx.v).rotateY(-mTransf.ry.v).rotateZ(mTransf.rz.v);\n\n          (this || _global).mat.scale(1 / mTransf.s.v[0], 1 / mTransf.s.v[1], 1 / mTransf.s.v[2]);\n\n          (this || _global).mat.translate(mTransf.a.v[0], mTransf.a.v[1], mTransf.a.v[2]);\n        }\n      }\n\n      if ((this || _global).p) {\n        (this || _global).mat.translate(-(this || _global).p.v[0], -(this || _global).p.v[1], (this || _global).p.v[2]);\n      } else {\n        (this || _global).mat.translate(-(this || _global).px.v, -(this || _global).py.v, (this || _global).pz.v);\n      }\n\n      if ((this || _global).a) {\n        var diffVector;\n\n        if ((this || _global).p) {\n          diffVector = [(this || _global).p.v[0] - (this || _global).a.v[0], (this || _global).p.v[1] - (this || _global).a.v[1], (this || _global).p.v[2] - (this || _global).a.v[2]];\n        } else {\n          diffVector = [(this || _global).px.v - (this || _global).a.v[0], (this || _global).py.v - (this || _global).a.v[1], (this || _global).pz.v - (this || _global).a.v[2]];\n        }\n\n        var mag = Math.sqrt(Math.pow(diffVector[0], 2) + Math.pow(diffVector[1], 2) + Math.pow(diffVector[2], 2)); // var lookDir = getNormalizedPoint(getDiffVector(this.a.v,this.p.v));\n\n        var lookDir = [diffVector[0] / mag, diffVector[1] / mag, diffVector[2] / mag];\n        var lookLengthOnXZ = Math.sqrt(lookDir[2] * lookDir[2] + lookDir[0] * lookDir[0]);\n        var mRotationX = Math.atan2(lookDir[1], lookLengthOnXZ);\n        var mRotationY = Math.atan2(lookDir[0], -lookDir[2]);\n\n        (this || _global).mat.rotateY(mRotationY).rotateX(-mRotationX);\n      }\n\n      (this || _global).mat.rotateX(-(this || _global).rx.v).rotateY(-(this || _global).ry.v).rotateZ((this || _global).rz.v);\n\n      (this || _global).mat.rotateX(-(this || _global).or.v[0]).rotateY(-(this || _global).or.v[1]).rotateZ((this || _global).or.v[2]);\n\n      (this || _global).mat.translate((this || _global).globalData.compSize.w / 2, (this || _global).globalData.compSize.h / 2, 0);\n\n      (this || _global).mat.translate(0, 0, (this || _global).pe.v);\n\n      var hasMatrixChanged = !(this || _global)._prevMat.equals((this || _global).mat);\n\n      if ((hasMatrixChanged || (this || _global).pe._mdf) && (this || _global).comp.threeDElements) {\n        len = (this || _global).comp.threeDElements.length;\n        var comp;\n        var perspectiveStyle;\n        var containerStyle;\n\n        for (i = 0; i < len; i += 1) {\n          comp = (this || _global).comp.threeDElements[i];\n\n          if (comp.type === \"3d\") {\n            if (hasMatrixChanged) {\n              var matValue = (this || _global).mat.toCSS();\n\n              containerStyle = comp.container.style;\n              containerStyle.transform = matValue;\n              containerStyle.webkitTransform = matValue;\n            }\n\n            if ((this || _global).pe._mdf) {\n              perspectiveStyle = comp.perspectiveElem.style;\n              perspectiveStyle.perspective = (this || _global).pe.v + \"px\";\n              perspectiveStyle.webkitPerspective = (this || _global).pe.v + \"px\";\n            }\n          }\n        }\n\n        (this || _global).mat.clone((this || _global)._prevMat);\n      }\n    }\n\n    (this || _global)._isFirstFrame = false;\n  };\n\n  HCameraElement.prototype.prepareFrame = function (num) {\n    this.prepareProperties(num, true);\n  };\n\n  HCameraElement.prototype.destroy = function () {};\n\n  HCameraElement.prototype.getBaseElement = function () {\n    return null;\n  };\n\n  function HEffects() {}\n\n  HEffects.prototype.renderFrame = function () {};\n  /* global createTag, AnimationItem */\n\n  /* exported animationManager */\n\n\n  var animationManager = function () {\n    var moduleOb = {};\n    var registeredAnimations = [];\n    var initTime = 0;\n    var len = 0;\n    var playingAnimationsNum = 0;\n    var _stopped = true;\n    var _isFrozen = false;\n\n    function removeElement(ev) {\n      var i = 0;\n      var animItem = ev.target;\n\n      while (i < len) {\n        if (registeredAnimations[i].animation === animItem) {\n          registeredAnimations.splice(i, 1);\n          i -= 1;\n          len -= 1;\n\n          if (!animItem.isPaused) {\n            subtractPlayingCount();\n          }\n        }\n\n        i += 1;\n      }\n    }\n\n    function registerAnimation(element, animationData) {\n      if (!element) {\n        return null;\n      }\n\n      var i = 0;\n\n      while (i < len) {\n        if (registeredAnimations[i].elem === element && registeredAnimations[i].elem !== null) {\n          return registeredAnimations[i].animation;\n        }\n\n        i += 1;\n      }\n\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, element);\n      animItem.setData(element, animationData);\n      return animItem;\n    }\n\n    function getRegisteredAnimations() {\n      var i;\n      var lenAnims = registeredAnimations.length;\n      var animations = [];\n\n      for (i = 0; i < lenAnims; i += 1) {\n        animations.push(registeredAnimations[i].animation);\n      }\n\n      return animations;\n    }\n\n    function addPlayingCount() {\n      playingAnimationsNum += 1;\n      activate();\n    }\n\n    function subtractPlayingCount() {\n      playingAnimationsNum -= 1;\n    }\n\n    function setupAnimation(animItem, element) {\n      animItem.addEventListener(\"destroy\", removeElement);\n      animItem.addEventListener(\"_active\", addPlayingCount);\n      animItem.addEventListener(\"_idle\", subtractPlayingCount);\n      registeredAnimations.push({\n        elem: element,\n        animation: animItem\n      });\n      len += 1;\n    }\n\n    function loadAnimation(params) {\n      var animItem = new AnimationItem();\n      setupAnimation(animItem, null);\n      animItem.setParams(params);\n      return animItem;\n    }\n\n    function setSpeed(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setSpeed(val, animation);\n      }\n    }\n\n    function setDirection(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setDirection(val, animation);\n      }\n    }\n\n    function play(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.play(animation);\n      }\n    }\n\n    function resume(nowTime) {\n      var elapsedTime = nowTime - initTime;\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.advanceTime(elapsedTime);\n      }\n\n      initTime = nowTime;\n\n      if (playingAnimationsNum && !_isFrozen) {\n        window.requestAnimationFrame(resume);\n      } else {\n        _stopped = true;\n      }\n    }\n\n    function first(nowTime) {\n      initTime = nowTime;\n      window.requestAnimationFrame(resume);\n    }\n\n    function pause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.pause(animation);\n      }\n    }\n\n    function goToAndStop(value, isFrame, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.goToAndStop(value, isFrame, animation);\n      }\n    }\n\n    function stop(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.stop(animation);\n      }\n    }\n\n    function togglePause(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.togglePause(animation);\n      }\n    }\n\n    function destroy(animation) {\n      var i;\n\n      for (i = len - 1; i >= 0; i -= 1) {\n        registeredAnimations[i].animation.destroy(animation);\n      }\n    }\n\n    function searchAnimations(animationData, standalone, renderer) {\n      var animElements = [].concat([].slice.call(document.getElementsByClassName(\"lottie\")), [].slice.call(document.getElementsByClassName(\"bodymovin\")));\n      var i;\n      var lenAnims = animElements.length;\n\n      for (i = 0; i < lenAnims; i += 1) {\n        if (renderer) {\n          animElements[i].setAttribute(\"data-bm-type\", renderer);\n        }\n\n        registerAnimation(animElements[i], animationData);\n      }\n\n      if (standalone && lenAnims === 0) {\n        if (!renderer) {\n          renderer = \"svg\";\n        }\n\n        var body = document.getElementsByTagName(\"body\")[0];\n        body.innerText = \"\";\n        var div = createTag(\"div\");\n        div.style.width = \"100%\";\n        div.style.height = \"100%\";\n        div.setAttribute(\"data-bm-type\", renderer);\n        body.appendChild(div);\n        registerAnimation(div, animationData);\n      }\n    }\n\n    function resize() {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.resize();\n      }\n    }\n\n    function activate() {\n      if (!_isFrozen && playingAnimationsNum) {\n        if (_stopped) {\n          window.requestAnimationFrame(first);\n          _stopped = false;\n        }\n      }\n    }\n\n    function freeze() {\n      _isFrozen = true;\n    }\n\n    function unfreeze() {\n      _isFrozen = false;\n      activate();\n    }\n\n    function setVolume(val, animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.setVolume(val, animation);\n      }\n    }\n\n    function mute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.mute(animation);\n      }\n    }\n\n    function unmute(animation) {\n      var i;\n\n      for (i = 0; i < len; i += 1) {\n        registeredAnimations[i].animation.unmute(animation);\n      }\n    }\n\n    moduleOb.registerAnimation = registerAnimation;\n    moduleOb.loadAnimation = loadAnimation;\n    moduleOb.setSpeed = setSpeed;\n    moduleOb.setDirection = setDirection;\n    moduleOb.play = play;\n    moduleOb.pause = pause;\n    moduleOb.stop = stop;\n    moduleOb.togglePause = togglePause;\n    moduleOb.searchAnimations = searchAnimations;\n    moduleOb.resize = resize; // moduleOb.start = start;\n\n    moduleOb.goToAndStop = goToAndStop;\n    moduleOb.destroy = destroy;\n    moduleOb.freeze = freeze;\n    moduleOb.unfreeze = unfreeze;\n    moduleOb.setVolume = setVolume;\n    moduleOb.mute = mute;\n    moduleOb.unmute = unmute;\n    moduleOb.getRegisteredAnimations = getRegisteredAnimations;\n    return moduleOb;\n  }();\n  /* global createElementID, subframeEnabled, ProjectInterface, ImagePreloader, audioControllerFactory, extendPrototype, BaseEvent,\r\n  CanvasRenderer, SVGRenderer, HybridRenderer, assetLoader, dataManager, expressionsPlugin, BMEnterFrameEvent, BMCompleteLoopEvent,\r\n  BMCompleteEvent, BMSegmentStartEvent, BMDestroyEvent, BMEnterFrameEvent, BMCompleteLoopEvent, BMCompleteEvent, BMSegmentStartEvent,\r\n  BMDestroyEvent, BMRenderFrameErrorEvent, BMConfigErrorEvent, markerParser */\n\n\n  var AnimationItem = function () {\n    (this || _global)._cbs = [];\n    (this || _global).name = \"\";\n    (this || _global).path = \"\";\n    (this || _global).isLoaded = false;\n    (this || _global).currentFrame = 0;\n    (this || _global).currentRawFrame = 0;\n    (this || _global).firstFrame = 0;\n    (this || _global).totalFrames = 0;\n    (this || _global).frameRate = 0;\n    (this || _global).frameMult = 0;\n    (this || _global).playSpeed = 1;\n    (this || _global).playDirection = 1;\n    (this || _global).playCount = 0;\n    (this || _global).animationData = {};\n    (this || _global).assets = [];\n    (this || _global).isPaused = true;\n    (this || _global).autoplay = false;\n    (this || _global).loop = true;\n    (this || _global).renderer = null;\n    (this || _global).animationID = createElementID();\n    (this || _global).assetsPath = \"\";\n    (this || _global).timeCompleted = 0;\n    (this || _global).segmentPos = 0;\n    (this || _global).isSubframeEnabled = subframeEnabled;\n    (this || _global).segments = [];\n    (this || _global)._idle = true;\n    (this || _global)._completedLoop = false;\n    (this || _global).projectInterface = ProjectInterface();\n    (this || _global).imagePreloader = new ImagePreloader();\n    (this || _global).audioController = audioControllerFactory();\n    (this || _global).markers = [];\n  };\n\n  extendPrototype([BaseEvent], AnimationItem);\n\n  AnimationItem.prototype.setParams = function (params) {\n    if (params.wrapper || params.container) {\n      (this || _global).wrapper = params.wrapper || params.container;\n    }\n\n    var animType = \"svg\";\n\n    if (params.animType) {\n      animType = params.animType;\n    } else if (params.renderer) {\n      animType = params.renderer;\n    }\n\n    switch (animType) {\n      case \"canvas\":\n        (this || _global).renderer = new CanvasRenderer(this || _global, params.rendererSettings);\n        break;\n\n      case \"svg\":\n        (this || _global).renderer = new SVGRenderer(this || _global, params.rendererSettings);\n        break;\n\n      default:\n        (this || _global).renderer = new HybridRenderer(this || _global, params.rendererSettings);\n        break;\n    }\n\n    (this || _global).imagePreloader.setCacheType(animType, (this || _global).renderer.globalData.defs);\n\n    (this || _global).renderer.setProjectInterface((this || _global).projectInterface);\n\n    (this || _global).animType = animType;\n\n    if (params.loop === \"\" || params.loop === null || params.loop === undefined || params.loop === true) {\n      (this || _global).loop = true;\n    } else if (params.loop === false) {\n      (this || _global).loop = false;\n    } else {\n      (this || _global).loop = parseInt(params.loop, 10);\n    }\n\n    (this || _global).autoplay = \"autoplay\" in params ? params.autoplay : true;\n    (this || _global).name = params.name ? params.name : \"\";\n    (this || _global).autoloadSegments = Object.prototype.hasOwnProperty.call(params, \"autoloadSegments\") ? params.autoloadSegments : true;\n    (this || _global).assetsPath = params.assetsPath;\n    (this || _global).initialSegment = params.initialSegment;\n\n    if (params.audioFactory) {\n      (this || _global).audioController.setAudioFactory(params.audioFactory);\n    }\n\n    if (params.animationData) {\n      this.configAnimation(params.animationData);\n    } else if (params.path) {\n      if (params.path.lastIndexOf(\"\\\\\") !== -1) {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"\\\\\") + 1);\n      } else {\n        (this || _global).path = params.path.substr(0, params.path.lastIndexOf(\"/\") + 1);\n      }\n\n      (this || _global).fileName = params.path.substr(params.path.lastIndexOf(\"/\") + 1);\n      (this || _global).fileName = (this || _global).fileName.substr(0, (this || _global).fileName.lastIndexOf(\".json\"));\n      assetLoader.load(params.path, (this || _global).configAnimation.bind(this || _global), function () {\n        this.trigger(\"data_failed\");\n      }.bind(this || _global));\n    }\n  };\n\n  AnimationItem.prototype.setData = function (wrapper, animationData) {\n    if (animationData) {\n      if (typeof animationData !== \"object\") {\n        animationData = JSON.parse(animationData);\n      }\n    }\n\n    var params = {\n      wrapper: wrapper,\n      animationData: animationData\n    };\n    var wrapperAttributes = wrapper.attributes;\n    params.path = wrapperAttributes.getNamedItem(\"data-animation-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-animation-path\").value : wrapperAttributes.getNamedItem(\"data-bm-path\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-path\").value : wrapperAttributes.getNamedItem(\"bm-path\") ? wrapperAttributes.getNamedItem(\"bm-path\").value : \"\";\n    params.animType = wrapperAttributes.getNamedItem(\"data-anim-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-type\").value : wrapperAttributes.getNamedItem(\"data-bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-type\").value : wrapperAttributes.getNamedItem(\"bm-type\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"bm-type\").value : wrapperAttributes.getNamedItem(\"data-bm-renderer\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-renderer\").value : wrapperAttributes.getNamedItem(\"bm-renderer\") ? wrapperAttributes.getNamedItem(\"bm-renderer\").value : \"canvas\";\n    var loop = wrapperAttributes.getNamedItem(\"data-anim-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-loop\").value : wrapperAttributes.getNamedItem(\"data-bm-loop\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-loop\").value : wrapperAttributes.getNamedItem(\"bm-loop\") ? wrapperAttributes.getNamedItem(\"bm-loop\").value : \"\";\n\n    if (loop === \"false\") {\n      params.loop = false;\n    } else if (loop === \"true\") {\n      params.loop = true;\n    } else if (loop !== \"\") {\n      params.loop = parseInt(loop, 10);\n    }\n\n    var autoplay = wrapperAttributes.getNamedItem(\"data-anim-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-autoplay\").value : wrapperAttributes.getNamedItem(\"data-bm-autoplay\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-autoplay\").value : wrapperAttributes.getNamedItem(\"bm-autoplay\") ? wrapperAttributes.getNamedItem(\"bm-autoplay\").value : true;\n    params.autoplay = autoplay !== \"false\";\n    params.name = wrapperAttributes.getNamedItem(\"data-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-name\").value : wrapperAttributes.getNamedItem(\"data-bm-name\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-name\").value : wrapperAttributes.getNamedItem(\"bm-name\") ? wrapperAttributes.getNamedItem(\"bm-name\").value : \"\";\n    var prerender = wrapperAttributes.getNamedItem(\"data-anim-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-anim-prerender\").value : wrapperAttributes.getNamedItem(\"data-bm-prerender\") // eslint-disable-line no-nested-ternary\n    ? wrapperAttributes.getNamedItem(\"data-bm-prerender\").value : wrapperAttributes.getNamedItem(\"bm-prerender\") ? wrapperAttributes.getNamedItem(\"bm-prerender\").value : \"\";\n\n    if (prerender === \"false\") {\n      params.prerender = false;\n    }\n\n    this.setParams(params);\n  };\n\n  AnimationItem.prototype.includeLayers = function (data) {\n    if (data.op > (this || _global).animationData.op) {\n      (this || _global).animationData.op = data.op;\n      (this || _global).totalFrames = Math.floor(data.op - (this || _global).animationData.ip);\n    }\n\n    var layers = (this || _global).animationData.layers;\n    var i;\n    var len = layers.length;\n    var newLayers = data.layers;\n    var j;\n    var jLen = newLayers.length;\n\n    for (j = 0; j < jLen; j += 1) {\n      i = 0;\n\n      while (i < len) {\n        if (layers[i].id === newLayers[j].id) {\n          layers[i] = newLayers[j];\n          break;\n        }\n\n        i += 1;\n      }\n    }\n\n    if (data.chars || data.fonts) {\n      (this || _global).renderer.globalData.fontManager.addChars(data.chars);\n\n      (this || _global).renderer.globalData.fontManager.addFonts(data.fonts, (this || _global).renderer.globalData.defs);\n    }\n\n    if (data.assets) {\n      len = data.assets.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).animationData.assets.push(data.assets[i]);\n      }\n    }\n\n    (this || _global).animationData.__complete = false;\n    dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n    (this || _global).renderer.includeLayers(data.layers);\n\n    if (expressionsPlugin) {\n      expressionsPlugin.initExpressions(this || _global);\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.loadNextSegment = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments || segments.length === 0 || !(this || _global).autoloadSegments) {\n      this.trigger(\"data_ready\");\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      return;\n    }\n\n    var segment = segments.shift();\n    (this || _global).timeCompleted = segment.time * (this || _global).frameRate;\n    var segmentPath = (this || _global).path + (this || _global).fileName + \"_\" + (this || _global).segmentPos + \".json\";\n    (this || _global).segmentPos += 1;\n    assetLoader.load(segmentPath, (this || _global).includeLayers.bind(this || _global), function () {\n      this.trigger(\"data_failed\");\n    }.bind(this || _global));\n  };\n\n  AnimationItem.prototype.loadSegments = function () {\n    var segments = (this || _global).animationData.segments;\n\n    if (!segments) {\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n    }\n\n    this.loadNextSegment();\n  };\n\n  AnimationItem.prototype.imagesLoaded = function () {\n    this.trigger(\"loaded_images\");\n    this.checkLoaded();\n  };\n\n  AnimationItem.prototype.preloadImages = function () {\n    (this || _global).imagePreloader.setAssetsPath((this || _global).assetsPath);\n\n    (this || _global).imagePreloader.setPath((this || _global).path);\n\n    (this || _global).imagePreloader.loadAssets((this || _global).animationData.assets, (this || _global).imagesLoaded.bind(this || _global));\n  };\n\n  AnimationItem.prototype.configAnimation = function (animData) {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).animationData = animData;\n\n      if ((this || _global).initialSegment) {\n        (this || _global).totalFrames = Math.floor((this || _global).initialSegment[1] - (this || _global).initialSegment[0]);\n        (this || _global).firstFrame = Math.round((this || _global).initialSegment[0]);\n      } else {\n        (this || _global).totalFrames = Math.floor((this || _global).animationData.op - (this || _global).animationData.ip);\n        (this || _global).firstFrame = Math.round((this || _global).animationData.ip);\n      }\n\n      (this || _global).renderer.configAnimation(animData);\n\n      if (!animData.assets) {\n        animData.assets = [];\n      }\n\n      (this || _global).assets = (this || _global).animationData.assets;\n      (this || _global).frameRate = (this || _global).animationData.fr;\n      (this || _global).frameMult = (this || _global).animationData.fr / 1000;\n\n      (this || _global).renderer.searchExtraCompositions(animData.assets);\n\n      (this || _global).markers = markerParser(animData.markers || []);\n      this.trigger(\"config_ready\");\n      this.preloadImages();\n      this.loadSegments();\n      this.updaFrameModifier();\n      this.waitForFontsLoaded();\n\n      if ((this || _global).isPaused) {\n        (this || _global).audioController.pause();\n      }\n    } catch (error) {\n      this.triggerConfigError(error);\n    }\n  };\n\n  AnimationItem.prototype.waitForFontsLoaded = function () {\n    if (!(this || _global).renderer) {\n      return;\n    }\n\n    if ((this || _global).renderer.globalData.fontManager.isLoaded) {\n      this.checkLoaded();\n    } else {\n      setTimeout((this || _global).waitForFontsLoaded.bind(this || _global), 20);\n    }\n  };\n\n  AnimationItem.prototype.checkLoaded = function () {\n    if (!(this || _global).isLoaded && (this || _global).renderer.globalData.fontManager.isLoaded && ((this || _global).imagePreloader.loadedImages() || (this || _global).renderer.rendererType !== \"canvas\") && (this || _global).imagePreloader.loadedFootages()) {\n      (this || _global).isLoaded = true;\n      dataManager.completeData((this || _global).animationData, (this || _global).renderer.globalData.fontManager);\n\n      if (expressionsPlugin) {\n        expressionsPlugin.initExpressions(this || _global);\n      }\n\n      (this || _global).renderer.initItems();\n\n      setTimeout(function () {\n        this.trigger(\"DOMLoaded\");\n      }.bind(this || _global), 0);\n      this.gotoFrame();\n\n      if ((this || _global).autoplay) {\n        this.play();\n      }\n    }\n  };\n\n  AnimationItem.prototype.resize = function () {\n    (this || _global).renderer.updateContainerSize();\n  };\n\n  AnimationItem.prototype.setSubframe = function (flag) {\n    (this || _global).isSubframeEnabled = !!flag;\n  };\n\n  AnimationItem.prototype.gotoFrame = function () {\n    (this || _global).currentFrame = (this || _global).isSubframeEnabled ? (this || _global).currentRawFrame : ~~(this || _global).currentRawFrame; // eslint-disable-line no-bitwise\n\n    if ((this || _global).timeCompleted !== (this || _global).totalFrames && (this || _global).currentFrame > (this || _global).timeCompleted) {\n      (this || _global).currentFrame = (this || _global).timeCompleted;\n    }\n\n    this.trigger(\"enterFrame\");\n    this.renderFrame();\n  };\n\n  AnimationItem.prototype.renderFrame = function () {\n    if ((this || _global).isLoaded === false || !(this || _global).renderer) {\n      return;\n    }\n\n    try {\n      (this || _global).renderer.renderFrame((this || _global).currentFrame + (this || _global).firstFrame);\n    } catch (error) {\n      this.triggerRenderFrameError(error);\n    }\n  };\n\n  AnimationItem.prototype.play = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      (this || _global).isPaused = false;\n\n      (this || _global).audioController.resume();\n\n      if ((this || _global)._idle) {\n        (this || _global)._idle = false;\n        this.trigger(\"_active\");\n      }\n    }\n  };\n\n  AnimationItem.prototype.pause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === false) {\n      (this || _global).isPaused = true;\n      (this || _global)._idle = true;\n      this.trigger(\"_idle\");\n\n      (this || _global).audioController.pause();\n    }\n  };\n\n  AnimationItem.prototype.togglePause = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    if ((this || _global).isPaused === true) {\n      this.play();\n    } else {\n      this.pause();\n    }\n  };\n\n  AnimationItem.prototype.stop = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    this.pause();\n    (this || _global).playCount = 0;\n    (this || _global)._completedLoop = false;\n    this.setCurrentRawFrameValue(0);\n  };\n\n  AnimationItem.prototype.getMarkerData = function (markerName) {\n    var marker;\n\n    for (var i = 0; i < (this || _global).markers.length; i += 1) {\n      marker = (this || _global).markers[i];\n\n      if (marker.payload && marker.payload.name === markerName) {\n        return marker;\n      }\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.goToAndStop = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        this.goToAndStop(marker.time, true);\n      }\n    } else if (isFrame) {\n      this.setCurrentRawFrameValue(value);\n    } else {\n      this.setCurrentRawFrameValue(value * (this || _global).frameModifier);\n    }\n\n    this.pause();\n  };\n\n  AnimationItem.prototype.goToAndPlay = function (value, isFrame, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    var numValue = Number(value);\n\n    if (isNaN(numValue)) {\n      var marker = this.getMarkerData(value);\n\n      if (marker) {\n        if (!marker.duration) {\n          this.goToAndStop(marker.time, true);\n        } else {\n          this.playSegments([marker.time, marker.time + marker.duration], true);\n        }\n      }\n    } else {\n      this.goToAndStop(numValue, isFrame, name);\n    }\n\n    this.play();\n  };\n\n  AnimationItem.prototype.advanceTime = function (value) {\n    if ((this || _global).isPaused === true || (this || _global).isLoaded === false) {\n      return;\n    }\n\n    var nextValue = (this || _global).currentRawFrame + value * (this || _global).frameModifier;\n    var _isComplete = false; // Checking if nextValue > totalFrames - 1 for addressing non looping and looping animations.\n    // If animation won't loop, it should stop at totalFrames - 1. If it will loop it should complete the last frame and then loop.\n\n    if (nextValue >= (this || _global).totalFrames - 1 && (this || _global).frameModifier > 0) {\n      if (!(this || _global).loop || (this || _global).playCount === (this || _global).loop) {\n        if (!this.checkSegments(nextValue > (this || _global).totalFrames ? nextValue % (this || _global).totalFrames : 0)) {\n          _isComplete = true;\n          nextValue = (this || _global).totalFrames - 1;\n        }\n      } else if (nextValue >= (this || _global).totalFrames) {\n        (this || _global).playCount += 1;\n\n        if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n          this.setCurrentRawFrameValue(nextValue % (this || _global).totalFrames);\n          (this || _global)._completedLoop = true;\n          this.trigger(\"loopComplete\");\n        }\n      } else {\n        this.setCurrentRawFrameValue(nextValue);\n      }\n    } else if (nextValue < 0) {\n      if (!this.checkSegments(nextValue % (this || _global).totalFrames)) {\n        if ((this || _global).loop && !((this || _global).playCount-- <= 0 && (this || _global).loop !== true)) {\n          // eslint-disable-line no-plusplus\n          this.setCurrentRawFrameValue((this || _global).totalFrames + nextValue % (this || _global).totalFrames);\n\n          if (!(this || _global)._completedLoop) {\n            (this || _global)._completedLoop = true;\n          } else {\n            this.trigger(\"loopComplete\");\n          }\n        } else {\n          _isComplete = true;\n          nextValue = 0;\n        }\n      }\n    } else {\n      this.setCurrentRawFrameValue(nextValue);\n    }\n\n    if (_isComplete) {\n      this.setCurrentRawFrameValue(nextValue);\n      this.pause();\n      this.trigger(\"complete\");\n    }\n  };\n\n  AnimationItem.prototype.adjustSegment = function (arr, offset) {\n    (this || _global).playCount = 0;\n\n    if (arr[1] < arr[0]) {\n      if ((this || _global).frameModifier > 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(-1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[0] - arr[1];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[1];\n      this.setCurrentRawFrameValue((this || _global).totalFrames - 0.001 - offset);\n    } else if (arr[1] > arr[0]) {\n      if ((this || _global).frameModifier < 0) {\n        if ((this || _global).playSpeed < 0) {\n          this.setSpeed(-(this || _global).playSpeed);\n        } else {\n          this.setDirection(1);\n        }\n      }\n\n      (this || _global).totalFrames = arr[1] - arr[0];\n      (this || _global).timeCompleted = (this || _global).totalFrames;\n      (this || _global).firstFrame = arr[0];\n      this.setCurrentRawFrameValue(0.001 + offset);\n    }\n\n    this.trigger(\"segmentStart\");\n  };\n\n  AnimationItem.prototype.setSegment = function (init, end) {\n    var pendingFrame = -1;\n\n    if ((this || _global).isPaused) {\n      if ((this || _global).currentRawFrame + (this || _global).firstFrame < init) {\n        pendingFrame = init;\n      } else if ((this || _global).currentRawFrame + (this || _global).firstFrame > end) {\n        pendingFrame = end - init;\n      }\n    }\n\n    (this || _global).firstFrame = init;\n    (this || _global).totalFrames = end - init;\n    (this || _global).timeCompleted = (this || _global).totalFrames;\n\n    if (pendingFrame !== -1) {\n      this.goToAndStop(pendingFrame, true);\n    }\n  };\n\n  AnimationItem.prototype.playSegments = function (arr, forceFlag) {\n    if (forceFlag) {\n      (this || _global).segments.length = 0;\n    }\n\n    if (typeof arr[0] === \"object\") {\n      var i;\n      var len = arr.length;\n\n      for (i = 0; i < len; i += 1) {\n        (this || _global).segments.push(arr[i]);\n      }\n    } else {\n      (this || _global).segments.push(arr);\n    }\n\n    if ((this || _global).segments.length && forceFlag) {\n      this.adjustSegment((this || _global).segments.shift(), 0);\n    }\n\n    if ((this || _global).isPaused) {\n      this.play();\n    }\n  };\n\n  AnimationItem.prototype.resetSegments = function (forceFlag) {\n    (this || _global).segments.length = 0;\n\n    (this || _global).segments.push([(this || _global).animationData.ip, (this || _global).animationData.op]); // this.segments.push([this.animationData.ip*this.frameRate,Math.floor(this.animationData.op - this.animationData.ip+this.animationData.ip*this.frameRate)]);\n\n\n    if (forceFlag) {\n      this.checkSegments(0);\n    }\n  };\n\n  AnimationItem.prototype.checkSegments = function (offset) {\n    if ((this || _global).segments.length) {\n      this.adjustSegment((this || _global).segments.shift(), offset);\n      return true;\n    }\n\n    return false;\n  };\n\n  AnimationItem.prototype.destroy = function (name) {\n    if (name && (this || _global).name !== name || !(this || _global).renderer) {\n      return;\n    }\n\n    (this || _global).renderer.destroy();\n\n    (this || _global).imagePreloader.destroy();\n\n    this.trigger(\"destroy\");\n    (this || _global)._cbs = null;\n    (this || _global).onEnterFrame = null;\n    (this || _global).onLoopComplete = null;\n    (this || _global).onComplete = null;\n    (this || _global).onSegmentStart = null;\n    (this || _global).onDestroy = null;\n    (this || _global).renderer = null;\n    (this || _global).renderer = null;\n    (this || _global).imagePreloader = null;\n    (this || _global).projectInterface = null;\n  };\n\n  AnimationItem.prototype.setCurrentRawFrameValue = function (value) {\n    (this || _global).currentRawFrame = value;\n    this.gotoFrame();\n  };\n\n  AnimationItem.prototype.setSpeed = function (val) {\n    (this || _global).playSpeed = val;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setDirection = function (val) {\n    (this || _global).playDirection = val < 0 ? -1 : 1;\n    this.updaFrameModifier();\n  };\n\n  AnimationItem.prototype.setVolume = function (val, name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.setVolume(val);\n  };\n\n  AnimationItem.prototype.getVolume = function () {\n    return (this || _global).audioController.getVolume();\n  };\n\n  AnimationItem.prototype.mute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.mute();\n  };\n\n  AnimationItem.prototype.unmute = function (name) {\n    if (name && (this || _global).name !== name) {\n      return;\n    }\n\n    (this || _global).audioController.unmute();\n  };\n\n  AnimationItem.prototype.updaFrameModifier = function () {\n    (this || _global).frameModifier = (this || _global).frameMult * (this || _global).playSpeed * (this || _global).playDirection;\n\n    (this || _global).audioController.setRate((this || _global).playSpeed * (this || _global).playDirection);\n  };\n\n  AnimationItem.prototype.getPath = function () {\n    return (this || _global).path;\n  };\n\n  AnimationItem.prototype.getAssetsPath = function (assetData) {\n    var path = \"\";\n\n    if (assetData.e) {\n      path = assetData.p;\n    } else if ((this || _global).assetsPath) {\n      var imagePath = assetData.p;\n\n      if (imagePath.indexOf(\"images/\") !== -1) {\n        imagePath = imagePath.split(\"/\")[1];\n      }\n\n      path = (this || _global).assetsPath + imagePath;\n    } else {\n      path = (this || _global).path;\n      path += assetData.u ? assetData.u : \"\";\n      path += assetData.p;\n    }\n\n    return path;\n  };\n\n  AnimationItem.prototype.getAssetData = function (id) {\n    var i = 0;\n    var len = (this || _global).assets.length;\n\n    while (i < len) {\n      if (id === (this || _global).assets[i].id) {\n        return (this || _global).assets[i];\n      }\n\n      i += 1;\n    }\n\n    return null;\n  };\n\n  AnimationItem.prototype.hide = function () {\n    (this || _global).renderer.hide();\n  };\n\n  AnimationItem.prototype.show = function () {\n    (this || _global).renderer.show();\n  };\n\n  AnimationItem.prototype.getDuration = function (isFrame) {\n    return isFrame ? (this || _global).totalFrames : (this || _global).totalFrames / (this || _global).frameRate;\n  };\n\n  AnimationItem.prototype.trigger = function (name) {\n    if ((this || _global)._cbs && (this || _global)._cbs[name]) {\n      switch (name) {\n        case \"enterFrame\":\n          this.triggerEvent(name, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameModifier));\n          break;\n\n        case \"loopComplete\":\n          this.triggerEvent(name, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n          break;\n\n        case \"complete\":\n          this.triggerEvent(name, new BMCompleteEvent(name, (this || _global).frameMult));\n          break;\n\n        case \"segmentStart\":\n          this.triggerEvent(name, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n          break;\n\n        case \"destroy\":\n          this.triggerEvent(name, new BMDestroyEvent(name, this || _global));\n          break;\n\n        default:\n          this.triggerEvent(name);\n      }\n    }\n\n    if (name === \"enterFrame\" && (this || _global).onEnterFrame) {\n      (this || _global).onEnterFrame.call(this || _global, new BMEnterFrameEvent(name, (this || _global).currentFrame, (this || _global).totalFrames, (this || _global).frameMult));\n    }\n\n    if (name === \"loopComplete\" && (this || _global).onLoopComplete) {\n      (this || _global).onLoopComplete.call(this || _global, new BMCompleteLoopEvent(name, (this || _global).loop, (this || _global).playCount, (this || _global).frameMult));\n    }\n\n    if (name === \"complete\" && (this || _global).onComplete) {\n      (this || _global).onComplete.call(this || _global, new BMCompleteEvent(name, (this || _global).frameMult));\n    }\n\n    if (name === \"segmentStart\" && (this || _global).onSegmentStart) {\n      (this || _global).onSegmentStart.call(this || _global, new BMSegmentStartEvent(name, (this || _global).firstFrame, (this || _global).totalFrames));\n    }\n\n    if (name === \"destroy\" && (this || _global).onDestroy) {\n      (this || _global).onDestroy.call(this || _global, new BMDestroyEvent(name, this || _global));\n    }\n  };\n\n  AnimationItem.prototype.triggerRenderFrameError = function (nativeError) {\n    var error = new BMRenderFrameErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n\n  AnimationItem.prototype.triggerConfigError = function (nativeError) {\n    var error = new BMConfigErrorEvent(nativeError, (this || _global).currentFrame);\n    this.triggerEvent(\"error\", error);\n\n    if ((this || _global).onError) {\n      (this || _global).onError.call(this || _global, error);\n    }\n  };\n  /* global CompExpressionInterface, expressionsPlugin: writable */\n\n  /* exported expressionsPlugin */\n\n\n  var Expressions = function () {\n    var ob = {};\n    ob.initExpressions = initExpressions;\n\n    function initExpressions(animation) {\n      var stackCount = 0;\n      var registers = [];\n\n      function pushExpression() {\n        stackCount += 1;\n      }\n\n      function popExpression() {\n        stackCount -= 1;\n\n        if (stackCount === 0) {\n          releaseInstances();\n        }\n      }\n\n      function registerExpressionProperty(expression) {\n        if (registers.indexOf(expression) === -1) {\n          registers.push(expression);\n        }\n      }\n\n      function releaseInstances() {\n        var i;\n        var len = registers.length;\n\n        for (i = 0; i < len; i += 1) {\n          registers[i].release();\n        }\n\n        registers.length = 0;\n      }\n\n      animation.renderer.compInterface = CompExpressionInterface(animation.renderer);\n      animation.renderer.globalData.projectInterface.registerComposition(animation.renderer);\n      animation.renderer.globalData.pushExpression = pushExpression;\n      animation.renderer.globalData.popExpression = popExpression;\n      animation.renderer.globalData.registerExpressionProperty = registerExpressionProperty;\n    }\n\n    return ob;\n  }();\n\n  expressionsPlugin = Expressions;\n  /* eslint-disable camelcase, no-unused-vars */\n\n  /* global BMMath, BezierFactory, createTypedArray, degToRads, shapePool */\n\n  var ExpressionManager = function () {\n    'use strict';\n\n    var ob = {};\n    var Math = BMMath;\n    var window = null;\n    var document = null;\n\n    function $bm_isInstanceOfArray(arr) {\n      return arr.constructor === Array || arr.constructor === Float32Array;\n    }\n\n    function isNumerable(tOfV, v) {\n      return tOfV === \"number\" || tOfV === \"boolean\" || tOfV === \"string\" || v instanceof Number;\n    }\n\n    function $bm_neg(a) {\n      var tOfA = typeof a;\n\n      if (tOfA === \"number\" || tOfA === \"boolean\" || a instanceof Number) {\n        return -a;\n      }\n\n      if ($bm_isInstanceOfArray(a)) {\n        var i;\n        var lenA = a.length;\n        var retArr = [];\n\n        for (i = 0; i < lenA; i += 1) {\n          retArr[i] = -a[i];\n        }\n\n        return retArr;\n      }\n\n      if (a.propType) {\n        return a.v;\n      }\n\n      return -a;\n    }\n\n    var easeInBez = BezierFactory.getBezierEasing(0.333, 0, 0.833, 0.833, \"easeIn\").get;\n    var easeOutBez = BezierFactory.getBezierEasing(0.167, 0.167, 0.667, 1, \"easeOut\").get;\n    var easeInOutBez = BezierFactory.getBezierEasing(0.33, 0, 0.667, 1, \"easeInOut\").get;\n\n    function sum(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (tOfA === \"string\" || tOfB === \"string\") {\n        return a + b;\n      }\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a + b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] += b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a + b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] + b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    var add = sum;\n\n    function sub(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        if (tOfA === \"string\") {\n          a = parseInt(a, 10);\n        }\n\n        if (tOfB === \"string\") {\n          b = parseInt(b, 10);\n        }\n\n        return a - b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        a = a.slice(0);\n        a[0] -= b;\n        return a;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        b = b.slice(0);\n        b[0] = a - b[0];\n        return b;\n      }\n\n      if ($bm_isInstanceOfArray(a) && $bm_isInstanceOfArray(b)) {\n        var i = 0;\n        var lenA = a.length;\n        var lenB = b.length;\n        var retArr = [];\n\n        while (i < lenA || i < lenB) {\n          if ((typeof a[i] === \"number\" || a[i] instanceof Number) && (typeof b[i] === \"number\" || b[i] instanceof Number)) {\n            retArr[i] = a[i] - b[i];\n          } else {\n            retArr[i] = b[i] === undefined ? a[i] : a[i] || b[i];\n          }\n\n          i += 1;\n        }\n\n        return retArr;\n      }\n\n      return 0;\n    }\n\n    function mul(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a * b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] * b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a * b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function div(a, b) {\n      var tOfA = typeof a;\n      var tOfB = typeof b;\n      var arr;\n\n      if (isNumerable(tOfA, a) && isNumerable(tOfB, b)) {\n        return a / b;\n      }\n\n      var i;\n      var len;\n\n      if ($bm_isInstanceOfArray(a) && isNumerable(tOfB, b)) {\n        len = a.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a[i] / b;\n        }\n\n        return arr;\n      }\n\n      if (isNumerable(tOfA, a) && $bm_isInstanceOfArray(b)) {\n        len = b.length;\n        arr = createTypedArray(\"float32\", len);\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = a / b[i];\n        }\n\n        return arr;\n      }\n\n      return 0;\n    }\n\n    function mod(a, b) {\n      if (typeof a === \"string\") {\n        a = parseInt(a, 10);\n      }\n\n      if (typeof b === \"string\") {\n        b = parseInt(b, 10);\n      }\n\n      return a % b;\n    }\n\n    var $bm_sum = sum;\n    var $bm_sub = sub;\n    var $bm_mul = mul;\n    var $bm_div = div;\n    var $bm_mod = mod;\n\n    function clamp(num, min, max) {\n      if (min > max) {\n        var mm = max;\n        max = min;\n        min = mm;\n      }\n\n      return Math.min(Math.max(num, min), max);\n    }\n\n    function radiansToDegrees(val) {\n      return val / degToRads;\n    }\n\n    var radians_to_degrees = radiansToDegrees;\n\n    function degreesToRadians(val) {\n      return val * degToRads;\n    }\n\n    var degrees_to_radians = radiansToDegrees;\n    var helperLengthArray = [0, 0, 0, 0, 0, 0];\n\n    function length(arr1, arr2) {\n      if (typeof arr1 === \"number\" || arr1 instanceof Number) {\n        arr2 = arr2 || 0;\n        return Math.abs(arr1 - arr2);\n      }\n\n      if (!arr2) {\n        arr2 = helperLengthArray;\n      }\n\n      var i;\n      var len = Math.min(arr1.length, arr2.length);\n      var addedLength = 0;\n\n      for (i = 0; i < len; i += 1) {\n        addedLength += Math.pow(arr2[i] - arr1[i], 2);\n      }\n\n      return Math.sqrt(addedLength);\n    }\n\n    function normalize(vec) {\n      return div(vec, length(vec));\n    }\n\n    function rgbToHsl(val) {\n      var r = val[0];\n      var g = val[1];\n      var b = val[2];\n      var max = Math.max(r, g, b);\n      var min = Math.min(r, g, b);\n      var h;\n      var s;\n      var l = (max + min) / 2;\n\n      if (max === min) {\n        h = 0; // achromatic\n\n        s = 0; // achromatic\n      } else {\n        var d = max - min;\n        s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n\n        switch (max) {\n          case r:\n            h = (g - b) / d + (g < b ? 6 : 0);\n            break;\n\n          case g:\n            h = (b - r) / d + 2;\n            break;\n\n          case b:\n            h = (r - g) / d + 4;\n            break;\n\n          default:\n            break;\n        }\n\n        h /= 6;\n      }\n\n      return [h, s, l, val[3]];\n    }\n\n    function hue2rgb(p, q, t) {\n      if (t < 0) t += 1;\n      if (t > 1) t -= 1;\n      if (t < 1 / 6) return p + (q - p) * 6 * t;\n      if (t < 1 / 2) return q;\n      if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n      return p;\n    }\n\n    function hslToRgb(val) {\n      var h = val[0];\n      var s = val[1];\n      var l = val[2];\n      var r;\n      var g;\n      var b;\n\n      if (s === 0) {\n        r = l; // achromatic\n\n        b = l; // achromatic\n\n        g = l; // achromatic\n      } else {\n        var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n        var p = 2 * l - q;\n        r = hue2rgb(p, q, h + 1 / 3);\n        g = hue2rgb(p, q, h);\n        b = hue2rgb(p, q, h - 1 / 3);\n      }\n\n      return [r, g, b, val[3]];\n    }\n\n    function linear(t, tMin, tMax, value1, value2) {\n      if (value1 === undefined || value2 === undefined) {\n        value1 = tMin;\n        value2 = tMax;\n        tMin = 0;\n        tMax = 1;\n      }\n\n      if (tMax < tMin) {\n        var _tMin = tMax;\n        tMax = tMin;\n        tMin = _tMin;\n      }\n\n      if (t <= tMin) {\n        return value1;\n      }\n\n      if (t >= tMax) {\n        return value2;\n      }\n\n      var perc = tMax === tMin ? 0 : (t - tMin) / (tMax - tMin);\n\n      if (!value1.length) {\n        return value1 + (value2 - value1) * perc;\n      }\n\n      var i;\n      var len = value1.length;\n      var arr = createTypedArray(\"float32\", len);\n\n      for (i = 0; i < len; i += 1) {\n        arr[i] = value1[i] + (value2[i] - value1[i]) * perc;\n      }\n\n      return arr;\n    }\n\n    function random(min, max) {\n      if (max === undefined) {\n        if (min === undefined) {\n          min = 0;\n          max = 1;\n        } else {\n          max = min;\n          min = undefined;\n        }\n      }\n\n      if (max.length) {\n        var i;\n        var len = max.length;\n\n        if (!min) {\n          min = createTypedArray(\"float32\", len);\n        }\n\n        var arr = createTypedArray(\"float32\", len);\n        var rnd = BMMath.random();\n\n        for (i = 0; i < len; i += 1) {\n          arr[i] = min[i] + rnd * (max[i] - min[i]);\n        }\n\n        return arr;\n      }\n\n      if (min === undefined) {\n        min = 0;\n      }\n\n      var rndm = BMMath.random();\n      return min + rndm * (max - min);\n    }\n\n    function createPath(points, inTangents, outTangents, closed) {\n      var i;\n      var len = points.length;\n      var path = shapePool.newElement();\n      path.setPathData(!!closed, len);\n      var arrPlaceholder = [0, 0];\n      var inVertexPoint;\n      var outVertexPoint;\n\n      for (i = 0; i < len; i += 1) {\n        inVertexPoint = inTangents && inTangents[i] ? inTangents[i] : arrPlaceholder;\n        outVertexPoint = outTangents && outTangents[i] ? outTangents[i] : arrPlaceholder;\n        path.setTripleAt(points[i][0], points[i][1], outVertexPoint[0] + points[i][0], outVertexPoint[1] + points[i][1], inVertexPoint[0] + points[i][0], inVertexPoint[1] + points[i][1], i, true);\n      }\n\n      return path;\n    }\n\n    function initiateExpression(elem, data, property) {\n      var val = data.x;\n      var needsVelocity = /velocity(?![\\w\\d])/.test(val);\n\n      var _needsRandom = val.indexOf(\"random\") !== -1;\n\n      var elemType = elem.data.ty;\n      var transform;\n      var $bm_transform;\n      var content;\n      var effect;\n      var thisProperty = property;\n      thisProperty.valueAtTime = thisProperty.getValueAtTime;\n      Object.defineProperty(thisProperty, \"value\", {\n        get: function () {\n          return thisProperty.v;\n        }\n      });\n      elem.comp.frameDuration = 1 / elem.comp.globalData.frameRate;\n      elem.comp.displayStartTime = 0;\n      var inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      var outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      var width = elem.data.sw ? elem.data.sw : 0;\n      var height = elem.data.sh ? elem.data.sh : 0;\n      var name = elem.data.nm;\n      var loopIn;\n      var loop_in;\n      var loopOut;\n      var loop_out;\n      var smooth;\n      var toWorld;\n      var fromWorld;\n      var fromComp;\n      var toComp;\n      var fromCompToSurface;\n      var position;\n      var rotation;\n      var anchorPoint;\n      var scale;\n      var thisLayer;\n      var thisComp;\n      var mask;\n      var valueAtTime;\n      var velocityAtTime;\n      var scoped_bm_rt;\n      var expression_function = eval(\"[function _expression_function(){\" + val + \";scoped_bm_rt=$bm_rt}]\")[0]; // eslint-disable-line no-eval\n\n      var numKeys = property.kf ? data.k.length : 0;\n      var active = !(this || _global).data || (this || _global).data.hd !== true;\n\n      var wiggle = function wiggle(freq, amp) {\n        var iWiggle;\n        var j;\n        var lenWiggle = (this || _global).pv.length ? (this || _global).pv.length : 1;\n        var addedAmps = createTypedArray(\"float32\", lenWiggle);\n        freq = 5;\n        var iterations = Math.floor(time * freq);\n        iWiggle = 0;\n        j = 0;\n\n        while (iWiggle < iterations) {\n          // var rnd = BMMath.random();\n          for (j = 0; j < lenWiggle; j += 1) {\n            addedAmps[j] += -amp + amp * 2 * BMMath.random(); // addedAmps[j] += -amp + amp*2*rnd;\n          }\n\n          iWiggle += 1;\n        } // var rnd2 = BMMath.random();\n\n\n        var periods = time * freq;\n        var perc = periods - Math.floor(periods);\n        var arr = createTypedArray(\"float32\", lenWiggle);\n\n        if (lenWiggle > 1) {\n          for (j = 0; j < lenWiggle; j += 1) {\n            arr[j] = (this || _global).pv[j] + addedAmps[j] + (-amp + amp * 2 * BMMath.random()) * perc; // arr[j] = this.pv[j] + addedAmps[j] + (-amp + amp*2*rnd)*perc;\n            // arr[i] = this.pv[i] + addedAmp + amp1*perc + amp2*(1-perc);\n          }\n\n          return arr;\n        }\n\n        return (this || _global).pv + addedAmps[0] + (-amp + amp * 2 * BMMath.random()) * perc;\n      }.bind(this || _global);\n\n      if (thisProperty.loopIn) {\n        loopIn = thisProperty.loopIn.bind(thisProperty);\n        loop_in = loopIn;\n      }\n\n      if (thisProperty.loopOut) {\n        loopOut = thisProperty.loopOut.bind(thisProperty);\n        loop_out = loopOut;\n      }\n\n      if (thisProperty.smooth) {\n        smooth = thisProperty.smooth.bind(thisProperty);\n      }\n\n      function loopInDuration(type, duration) {\n        return loopIn(type, duration, true);\n      }\n\n      function loopOutDuration(type, duration) {\n        return loopOut(type, duration, true);\n      }\n\n      if ((this || _global).getValueAtTime) {\n        valueAtTime = (this || _global).getValueAtTime.bind(this || _global);\n      }\n\n      if ((this || _global).getVelocityAtTime) {\n        velocityAtTime = (this || _global).getVelocityAtTime.bind(this || _global);\n      }\n\n      var comp = elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);\n\n      function lookAt(elem1, elem2) {\n        var fVec = [elem2[0] - elem1[0], elem2[1] - elem1[1], elem2[2] - elem1[2]];\n        var pitch = Math.atan2(fVec[0], Math.sqrt(fVec[1] * fVec[1] + fVec[2] * fVec[2])) / degToRads;\n        var yaw = -Math.atan2(fVec[1], fVec[2]) / degToRads;\n        return [yaw, pitch, 0];\n      }\n\n      function easeOut(t, tMin, tMax, val1, val2) {\n        return applyEase(easeOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function easeIn(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInBez, t, tMin, tMax, val1, val2);\n      }\n\n      function ease(t, tMin, tMax, val1, val2) {\n        return applyEase(easeInOutBez, t, tMin, tMax, val1, val2);\n      }\n\n      function applyEase(fn, t, tMin, tMax, val1, val2) {\n        if (val1 === undefined) {\n          val1 = tMin;\n          val2 = tMax;\n        } else {\n          t = (t - tMin) / (tMax - tMin);\n        }\n\n        if (t > 1) {\n          t = 1;\n        } else if (t < 0) {\n          t = 0;\n        }\n\n        var mult = fn(t);\n\n        if ($bm_isInstanceOfArray(val1)) {\n          var iKey;\n          var lenKey = val1.length;\n          var arr = createTypedArray(\"float32\", lenKey);\n\n          for (iKey = 0; iKey < lenKey; iKey += 1) {\n            arr[iKey] = (val2[iKey] - val1[iKey]) * mult + val1[iKey];\n          }\n\n          return arr;\n        }\n\n        return (val2 - val1) * mult + val1;\n      }\n\n      function nearestKey(time) {\n        var iKey;\n        var lenKey = data.k.length;\n        var index;\n        var keyTime;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          index = 0;\n          keyTime = 0;\n        } else {\n          index = -1;\n          time *= elem.comp.globalData.frameRate;\n\n          if (time < data.k[0].t) {\n            index = 1;\n            keyTime = data.k[0].t;\n          } else {\n            for (iKey = 0; iKey < lenKey - 1; iKey += 1) {\n              if (time === data.k[iKey].t) {\n                index = iKey + 1;\n                keyTime = data.k[iKey].t;\n                break;\n              } else if (time > data.k[iKey].t && time < data.k[iKey + 1].t) {\n                if (time - data.k[iKey].t > data.k[iKey + 1].t - time) {\n                  index = iKey + 2;\n                  keyTime = data.k[iKey + 1].t;\n                } else {\n                  index = iKey + 1;\n                  keyTime = data.k[iKey].t;\n                }\n\n                break;\n              }\n            }\n\n            if (index === -1) {\n              index = iKey + 1;\n              keyTime = data.k[iKey].t;\n            }\n          }\n        }\n\n        var obKey = {};\n        obKey.index = index;\n        obKey.time = keyTime / elem.comp.globalData.frameRate;\n        return obKey;\n      }\n\n      function key(ind) {\n        var obKey;\n        var iKey;\n        var lenKey;\n\n        if (!data.k.length || typeof data.k[0] === \"number\") {\n          throw new Error(\"The property has no keyframe at index \" + ind);\n        }\n\n        ind -= 1;\n        obKey = {\n          time: data.k[ind].t / elem.comp.globalData.frameRate,\n          value: []\n        };\n        var arr = Object.prototype.hasOwnProperty.call(data.k[ind], \"s\") ? data.k[ind].s : data.k[ind - 1].e;\n        lenKey = arr.length;\n\n        for (iKey = 0; iKey < lenKey; iKey += 1) {\n          obKey[iKey] = arr[iKey];\n          obKey.value[iKey] = arr[iKey];\n        }\n\n        return obKey;\n      }\n\n      function framesToTime(frames, fps) {\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return frames / fps;\n      }\n\n      function timeToFrames(t, fps) {\n        if (!t && t !== 0) {\n          t = time;\n        }\n\n        if (!fps) {\n          fps = elem.comp.globalData.frameRate;\n        }\n\n        return t * fps;\n      }\n\n      function seedRandom(seed) {\n        BMMath.seedrandom(randSeed + seed);\n      }\n\n      function sourceRectAtTime() {\n        return elem.sourceRectAtTime();\n      }\n\n      function substring(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substring(init);\n          }\n\n          return value.substring(init, end);\n        }\n\n        return \"\";\n      }\n\n      function substr(init, end) {\n        if (typeof value === \"string\") {\n          if (end === undefined) {\n            return value.substr(init);\n          }\n\n          return value.substr(init, end);\n        }\n\n        return \"\";\n      }\n\n      function posterizeTime(framesPerSecond) {\n        time = framesPerSecond === 0 ? 0 : Math.floor(time * framesPerSecond) / framesPerSecond;\n        value = valueAtTime(time);\n      }\n\n      var time;\n      var velocity;\n      var value;\n      var text;\n      var textIndex;\n      var textTotal;\n      var selectorValue;\n      var index = elem.data.ind;\n      var hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n      var parent;\n      var randSeed = Math.floor(Math.random() * 1000000);\n      var globalData = elem.globalData;\n\n      function executeExpression(_value) {\n        // globalData.pushExpression();\n        value = _value;\n\n        if (_needsRandom) {\n          seedRandom(randSeed);\n        }\n\n        if ((this || _global).frameExpressionId === elem.globalData.frameId && (this || _global).propType !== \"textSelector\") {\n          return value;\n        }\n\n        if ((this || _global).propType === \"textSelector\") {\n          textIndex = (this || _global).textIndex;\n          textTotal = (this || _global).textTotal;\n          selectorValue = (this || _global).selectorValue;\n        }\n\n        if (!thisLayer) {\n          text = elem.layerInterface.text;\n          thisLayer = elem.layerInterface;\n          thisComp = elem.comp.compInterface;\n          toWorld = thisLayer.toWorld.bind(thisLayer);\n          fromWorld = thisLayer.fromWorld.bind(thisLayer);\n          fromComp = thisLayer.fromComp.bind(thisLayer);\n          toComp = thisLayer.toComp.bind(thisLayer);\n          mask = thisLayer.mask ? thisLayer.mask.bind(thisLayer) : null;\n          fromCompToSurface = fromComp;\n        }\n\n        if (!transform) {\n          transform = elem.layerInterface(\"ADBE Transform Group\");\n          $bm_transform = transform;\n\n          if (transform) {\n            anchorPoint = transform.anchorPoint;\n            /* position = transform.position;\r\n                      rotation = transform.rotation;\r\n                      scale = transform.scale; */\n          }\n        }\n\n        if (elemType === 4 && !content) {\n          content = thisLayer(\"ADBE Root Vectors Group\");\n        }\n\n        if (!effect) {\n          effect = thisLayer(4);\n        }\n\n        hasParent = !!(elem.hierarchy && elem.hierarchy.length);\n\n        if (hasParent && !parent) {\n          parent = elem.hierarchy[0].layerInterface;\n        }\n\n        time = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n\n        if (needsVelocity) {\n          velocity = velocityAtTime(time);\n        }\n\n        expression_function();\n        (this || _global).frameExpressionId = elem.globalData.frameId; // TODO: Check if it's possible to return on ShapeInterface the .v value\n\n        if (scoped_bm_rt.propType === \"shape\") {\n          scoped_bm_rt = scoped_bm_rt.v;\n        } // globalData.popExpression();\n\n\n        return scoped_bm_rt;\n      }\n\n      return executeExpression;\n    }\n\n    ob.initiateExpression = initiateExpression;\n    return ob;\n  }();\n  /* global ExpressionManager, createTypedArray */\n\n  /* exported expressionHelpers */\n\n\n  var expressionHelpers = function () {\n    function searchExpressions(elem, data, prop) {\n      if (data.x) {\n        prop.k = true;\n        prop.x = true;\n        prop.initiateExpression = ExpressionManager.initiateExpression;\n        prop.effectsSequence.push(prop.initiateExpression(elem, data, prop).bind(prop));\n      }\n    }\n\n    function getValueAtTime(frameNum) {\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastFrame) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastFrame < frameNum ? (this || _global)._cachingAtTime.lastIndex : 0;\n        (this || _global)._cachingAtTime.value = this.interpolateValue(frameNum, (this || _global)._cachingAtTime);\n        (this || _global)._cachingAtTime.lastFrame = frameNum;\n      }\n\n      return (this || _global)._cachingAtTime.value;\n    }\n\n    function getSpeedAtTime(frameNum) {\n      var delta = -0.01;\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var speed = 0;\n\n      if (v1.length) {\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          speed += Math.pow(v2[i] - v1[i], 2);\n        }\n\n        speed = Math.sqrt(speed) * 100;\n      } else {\n        speed = 0;\n      }\n\n      return speed;\n    }\n\n    function getVelocityAtTime(frameNum) {\n      if ((this || _global).vel !== undefined) {\n        return (this || _global).vel;\n      }\n\n      var delta = -0.001; // frameNum += this.elem.data.st;\n\n      var v1 = this.getValueAtTime(frameNum);\n      var v2 = this.getValueAtTime(frameNum + delta);\n      var velocity;\n\n      if (v1.length) {\n        velocity = createTypedArray(\"float32\", v1.length);\n        var i;\n\n        for (i = 0; i < v1.length; i += 1) {\n          // removing frameRate\n          // if needed, don't add it here\n          // velocity[i] = this.elem.globalData.frameRate*((v2[i] - v1[i])/delta);\n          velocity[i] = (v2[i] - v1[i]) / delta;\n        }\n      } else {\n        velocity = (v2 - v1) / delta;\n      }\n\n      return velocity;\n    }\n\n    function getStaticValueAtTime() {\n      return (this || _global).pv;\n    }\n\n    function setGroupProperty(propertyGroup) {\n      (this || _global).propertyGroup = propertyGroup;\n    }\n\n    return {\n      searchExpressions: searchExpressions,\n      getSpeedAtTime: getSpeedAtTime,\n      getVelocityAtTime: getVelocityAtTime,\n      getValueAtTime: getValueAtTime,\n      getStaticValueAtTime: getStaticValueAtTime,\n      setGroupProperty: setGroupProperty\n    };\n  }();\n  /* global createTypedArray, Matrix, TransformPropertyFactory, expressionHelpers, PropertyFactory, expressionHelpers,\r\n  initialDefaultFrame, shapePool, ShapePropertyFactory, bez, extendPrototype, ExpressionManager, createSizedArray */\n\n\n  (function addPropertyDecorator() {\n    function loopOut(type, duration, durationFlag) {\n      if (!(this || _global).k || !(this || _global).keyframes) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var lastKeyFrame = keyframes[keyframes.length - 1].t;\n\n      if (currentFrame <= lastKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var firstKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        firstKeyFrame = keyframes[keyframes.length - 1 - duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, lastKeyFrame - (this || _global).elem.data.ip);\n        } else {\n          cycleDuration = Math.abs(lastKeyFrame - (this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        firstKeyFrame = lastKeyFrame - cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if (iterations % 2 !== 0) {\n          return this.getValueAtTime((cycleDuration - (currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n\n        var repeats = Math.floor((currentFrame - firstKeyFrame) / cycleDuration);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = (endV[i] - initV[i]) * repeats + current[i];\n          }\n\n          return ret;\n        }\n\n        return (endV - initV) * repeats + current;\n      } else if (type === \"continue\") {\n        var lastValue = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextLastValue = this.getValueAtTime((lastKeyFrame - 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(lastValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = lastValue[i] + (lastValue[i] - nextLastValue[i]) * ((currentFrame - lastKeyFrame) / (this || _global).comp.globalData.frameRate) / 0.0005; // eslint-disable-line\n          }\n\n          return ret;\n        }\n\n        return lastValue + (lastValue - nextLastValue) * ((currentFrame - lastKeyFrame) / 0.001);\n      }\n\n      return this.getValueAtTime(((currentFrame - firstKeyFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function loopIn(type, duration, durationFlag) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      type = type ? type.toLowerCase() : \"\";\n      var currentFrame = (this || _global).comp.renderedFrame;\n      var keyframes = (this || _global).keyframes;\n      var firstKeyFrame = keyframes[0].t;\n\n      if (currentFrame >= firstKeyFrame) {\n        return (this || _global).pv;\n      }\n\n      var cycleDuration;\n      var lastKeyFrame;\n\n      if (!durationFlag) {\n        if (!duration || duration > keyframes.length - 1) {\n          duration = keyframes.length - 1;\n        }\n\n        lastKeyFrame = keyframes[duration].t;\n        cycleDuration = lastKeyFrame - firstKeyFrame;\n      } else {\n        if (!duration) {\n          cycleDuration = Math.max(0, (this || _global).elem.data.op - firstKeyFrame);\n        } else {\n          cycleDuration = Math.abs((this || _global).elem.comp.globalData.frameRate * duration);\n        }\n\n        lastKeyFrame = firstKeyFrame + cycleDuration;\n      }\n\n      var i;\n      var len;\n      var ret;\n\n      if (type === \"pingpong\") {\n        var iterations = Math.floor((firstKeyFrame - currentFrame) / cycleDuration);\n\n        if (iterations % 2 === 0) {\n          return this.getValueAtTime(((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n        }\n      } else if (type === \"offset\") {\n        var initV = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var endV = this.getValueAtTime(lastKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var current = this.getValueAtTime((cycleDuration - (firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame) / (this || _global).comp.globalData.frameRate, 0);\n        var repeats = Math.floor((firstKeyFrame - currentFrame) / cycleDuration) + 1;\n\n        if ((this || _global).pv.length) {\n          ret = new Array(initV.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = current[i] - (endV[i] - initV[i]) * repeats;\n          }\n\n          return ret;\n        }\n\n        return current - (endV - initV) * repeats;\n      } else if (type === \"continue\") {\n        var firstValue = this.getValueAtTime(firstKeyFrame / (this || _global).comp.globalData.frameRate, 0);\n        var nextFirstValue = this.getValueAtTime((firstKeyFrame + 0.001) / (this || _global).comp.globalData.frameRate, 0);\n\n        if ((this || _global).pv.length) {\n          ret = new Array(firstValue.length);\n          len = ret.length;\n\n          for (i = 0; i < len; i += 1) {\n            ret[i] = firstValue[i] + (firstValue[i] - nextFirstValue[i]) * (firstKeyFrame - currentFrame) / 0.001;\n          }\n\n          return ret;\n        }\n\n        return firstValue + (firstValue - nextFirstValue) * (firstKeyFrame - currentFrame) / 0.001;\n      }\n\n      return this.getValueAtTime((cycleDuration - ((firstKeyFrame - currentFrame) % cycleDuration + firstKeyFrame)) / (this || _global).comp.globalData.frameRate, 0); // eslint-disable-line\n    }\n\n    function smooth(width, samples) {\n      if (!(this || _global).k) {\n        return (this || _global).pv;\n      }\n\n      width = (width || 0.4) * 0.5;\n      samples = Math.floor(samples || 5);\n\n      if (samples <= 1) {\n        return (this || _global).pv;\n      }\n\n      var currentTime = (this || _global).comp.renderedFrame / (this || _global).comp.globalData.frameRate;\n      var initFrame = currentTime - width;\n      var endFrame = currentTime + width;\n      var sampleFrequency = samples > 1 ? (endFrame - initFrame) / (samples - 1) : 1;\n      var i = 0;\n      var j = 0;\n      var value;\n\n      if ((this || _global).pv.length) {\n        value = createTypedArray(\"float32\", (this || _global).pv.length);\n      } else {\n        value = 0;\n      }\n\n      var sampleValue;\n\n      while (i < samples) {\n        sampleValue = this.getValueAtTime(initFrame + i * sampleFrequency);\n\n        if ((this || _global).pv.length) {\n          for (j = 0; j < (this || _global).pv.length; j += 1) {\n            value[j] += sampleValue[j];\n          }\n        } else {\n          value += sampleValue;\n        }\n\n        i += 1;\n      }\n\n      if ((this || _global).pv.length) {\n        for (j = 0; j < (this || _global).pv.length; j += 1) {\n          value[j] /= samples;\n        }\n      } else {\n        value /= samples;\n      }\n\n      return value;\n    }\n\n    function getTransformValueAtTime(time) {\n      if (!(this || _global)._transformCachingAtTime) {\n        (this || _global)._transformCachingAtTime = {\n          v: new Matrix()\n        };\n      } /// /\n\n\n      var matrix = (this || _global)._transformCachingAtTime.v;\n      matrix.cloneFromProps((this || _global).pre.props);\n\n      if ((this || _global).appliedTransformations < 1) {\n        var anchor = (this || _global).a.getValueAtTime(time);\n\n        matrix.translate(-anchor[0] * (this || _global).a.mult, -anchor[1] * (this || _global).a.mult, anchor[2] * (this || _global).a.mult);\n      }\n\n      if ((this || _global).appliedTransformations < 2) {\n        var scale = (this || _global).s.getValueAtTime(time);\n\n        matrix.scale(scale[0] * (this || _global).s.mult, scale[1] * (this || _global).s.mult, scale[2] * (this || _global).s.mult);\n      }\n\n      if ((this || _global).sk && (this || _global).appliedTransformations < 3) {\n        var skew = (this || _global).sk.getValueAtTime(time);\n\n        var skewAxis = (this || _global).sa.getValueAtTime(time);\n\n        matrix.skewFromAxis(-skew * (this || _global).sk.mult, skewAxis * (this || _global).sa.mult);\n      }\n\n      if ((this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotation = (this || _global).r.getValueAtTime(time);\n\n        matrix.rotate(-rotation * (this || _global).r.mult);\n      } else if (!(this || _global).r && (this || _global).appliedTransformations < 4) {\n        var rotationZ = (this || _global).rz.getValueAtTime(time);\n\n        var rotationY = (this || _global).ry.getValueAtTime(time);\n\n        var rotationX = (this || _global).rx.getValueAtTime(time);\n\n        var orientation = (this || _global).or.getValueAtTime(time);\n\n        matrix.rotateZ(-rotationZ * (this || _global).rz.mult).rotateY(rotationY * (this || _global).ry.mult).rotateX(rotationX * (this || _global).rx.mult).rotateZ(-orientation[2] * (this || _global).or.mult).rotateY(orientation[1] * (this || _global).or.mult).rotateX(orientation[0] * (this || _global).or.mult);\n      }\n\n      if ((this || _global).data.p && (this || _global).data.p.s) {\n        var positionX = (this || _global).px.getValueAtTime(time);\n\n        var positionY = (this || _global).py.getValueAtTime(time);\n\n        if ((this || _global).data.p.z) {\n          var positionZ = (this || _global).pz.getValueAtTime(time);\n\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, -positionZ * (this || _global).pz.mult);\n        } else {\n          matrix.translate(positionX * (this || _global).px.mult, positionY * (this || _global).py.mult, 0);\n        }\n      } else {\n        var position = (this || _global).p.getValueAtTime(time);\n\n        matrix.translate(position[0] * (this || _global).p.mult, position[1] * (this || _global).p.mult, -position[2] * (this || _global).p.mult);\n      }\n\n      return matrix; /// /\n    }\n\n    function getTransformStaticValueAtTime() {\n      return (this || _global).v.clone(new Matrix());\n    }\n\n    var getTransformProperty = TransformPropertyFactory.getTransformProperty;\n\n    TransformPropertyFactory.getTransformProperty = function (elem, data, container) {\n      var prop = getTransformProperty(elem, data, container);\n\n      if (prop.dynamicProperties.length) {\n        prop.getValueAtTime = getTransformValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = getTransformStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      return prop;\n    };\n\n    var propertyGetProp = PropertyFactory.getProp;\n\n    PropertyFactory.getProp = function (elem, data, type, mult, container) {\n      var prop = propertyGetProp(elem, data, type, mult, container); // prop.getVelocityAtTime = getVelocityAtTime;\n      // prop.loopOut = loopOut;\n      // prop.loopIn = loopIn;\n\n      if (prop.kf) {\n        prop.getValueAtTime = expressionHelpers.getValueAtTime.bind(prop);\n      } else {\n        prop.getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(prop);\n      }\n\n      prop.setGroupProperty = expressionHelpers.setGroupProperty;\n      prop.loopOut = loopOut;\n      prop.loopIn = loopIn;\n      prop.smooth = smooth;\n      prop.getVelocityAtTime = expressionHelpers.getVelocityAtTime.bind(prop);\n      prop.getSpeedAtTime = expressionHelpers.getSpeedAtTime.bind(prop);\n      prop.numKeys = data.a === 1 ? data.k.length : 0;\n      prop.propertyIndex = data.ix;\n      var value = 0;\n\n      if (type !== 0) {\n        value = createTypedArray(\"float32\", data.a === 1 ? data.k[0].s.length : data.k.length);\n      }\n\n      prop._cachingAtTime = {\n        lastFrame: initialDefaultFrame,\n        lastIndex: 0,\n        value: value\n      };\n      expressionHelpers.searchExpressions(elem, data, prop);\n\n      if (prop.k) {\n        container.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n\n    function getShapeValueAtTime(frameNum) {\n      // For now this caching object is created only when needed instead of creating it when the shape is initialized.\n      if (!(this || _global)._cachingAtTime) {\n        (this || _global)._cachingAtTime = {\n          shapeValue: shapePool.clone((this || _global).pv),\n          lastIndex: 0,\n          lastTime: initialDefaultFrame\n        };\n      }\n\n      frameNum *= (this || _global).elem.globalData.frameRate;\n      frameNum -= (this || _global).offsetTime;\n\n      if (frameNum !== (this || _global)._cachingAtTime.lastTime) {\n        (this || _global)._cachingAtTime.lastIndex = (this || _global)._cachingAtTime.lastTime < frameNum ? (this || _global)._caching.lastIndex : 0;\n        (this || _global)._cachingAtTime.lastTime = frameNum;\n        this.interpolateShape(frameNum, (this || _global)._cachingAtTime.shapeValue, (this || _global)._cachingAtTime);\n      }\n\n      return (this || _global)._cachingAtTime.shapeValue;\n    }\n\n    var ShapePropertyConstructorFunction = ShapePropertyFactory.getConstructorFunction();\n    var KeyframedShapePropertyConstructorFunction = ShapePropertyFactory.getKeyframedConstructorFunction();\n\n    function ShapeExpressions() {}\n\n    ShapeExpressions.prototype = {\n      vertices: function (prop, time) {\n        if ((this || _global).k) {\n          this.getValue();\n        }\n\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        var i;\n        var len = shapePath._length;\n        var vertices = shapePath[prop];\n        var points = shapePath.v;\n        var arr = createSizedArray(len);\n\n        for (i = 0; i < len; i += 1) {\n          if (prop === \"i\" || prop === \"o\") {\n            arr[i] = [vertices[i][0] - points[i][0], vertices[i][1] - points[i][1]];\n          } else {\n            arr[i] = [vertices[i][0], vertices[i][1]];\n          }\n        }\n\n        return arr;\n      },\n      points: function (time) {\n        return this.vertices(\"v\", time);\n      },\n      inTangents: function (time) {\n        return this.vertices(\"i\", time);\n      },\n      outTangents: function (time) {\n        return this.vertices(\"o\", time);\n      },\n      isClosed: function () {\n        return (this || _global).v.c;\n      },\n      pointOnPath: function (perc, time) {\n        var shapePath = (this || _global).v;\n\n        if (time !== undefined) {\n          shapePath = this.getValueAtTime(time, 0);\n        }\n\n        if (!(this || _global)._segmentsLength) {\n          (this || _global)._segmentsLength = bez.getSegmentsLength(shapePath);\n        }\n\n        var segmentsLength = (this || _global)._segmentsLength;\n        var lengths = segmentsLength.lengths;\n        var lengthPos = segmentsLength.totalLength * perc;\n        var i = 0;\n        var len = lengths.length;\n        var accumulatedLength = 0;\n        var pt;\n\n        while (i < len) {\n          if (accumulatedLength + lengths[i].addedLength > lengthPos) {\n            var initIndex = i;\n            var endIndex = shapePath.c && i === len - 1 ? 0 : i + 1;\n            var segmentPerc = (lengthPos - accumulatedLength) / lengths[i].addedLength;\n            pt = bez.getPointInSegment(shapePath.v[initIndex], shapePath.v[endIndex], shapePath.o[initIndex], shapePath.i[endIndex], segmentPerc, lengths[i]);\n            break;\n          } else {\n            accumulatedLength += lengths[i].addedLength;\n          }\n\n          i += 1;\n        }\n\n        if (!pt) {\n          pt = shapePath.c ? [shapePath.v[0][0], shapePath.v[0][1]] : [shapePath.v[shapePath._length - 1][0], shapePath.v[shapePath._length - 1][1]];\n        }\n\n        return pt;\n      },\n      vectorOnPath: function (perc, time, vectorType) {\n        // perc doesn't use triple equality because it can be a Number object as well as a primitive.\n        if (perc == 1) {\n          // eslint-disable-line eqeqeq\n          perc = (this || _global).v.c;\n        } else if (perc == 0) {\n          // eslint-disable-line eqeqeq\n          perc = 0.999;\n        }\n\n        var pt1 = this.pointOnPath(perc, time);\n        var pt2 = this.pointOnPath(perc + 0.001, time);\n        var xLength = pt2[0] - pt1[0];\n        var yLength = pt2[1] - pt1[1];\n        var magnitude = Math.sqrt(Math.pow(xLength, 2) + Math.pow(yLength, 2));\n\n        if (magnitude === 0) {\n          return [0, 0];\n        }\n\n        var unitVector = vectorType === \"tangent\" ? [xLength / magnitude, yLength / magnitude] : [-yLength / magnitude, xLength / magnitude];\n        return unitVector;\n      },\n      tangentOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"tangent\");\n      },\n      normalOnPath: function (perc, time) {\n        return this.vectorOnPath(perc, time, \"normal\");\n      },\n      setGroupProperty: expressionHelpers.setGroupProperty,\n      getValueAtTime: expressionHelpers.getStaticValueAtTime\n    };\n    extendPrototype([ShapeExpressions], ShapePropertyConstructorFunction);\n    extendPrototype([ShapeExpressions], KeyframedShapePropertyConstructorFunction);\n    KeyframedShapePropertyConstructorFunction.prototype.getValueAtTime = getShapeValueAtTime;\n    KeyframedShapePropertyConstructorFunction.prototype.initiateExpression = ExpressionManager.initiateExpression;\n    var propertyGetShapeProp = ShapePropertyFactory.getShapeProp;\n\n    ShapePropertyFactory.getShapeProp = function (elem, data, type, arr, trims) {\n      var prop = propertyGetShapeProp(elem, data, type, arr, trims);\n      prop.propertyIndex = data.ix;\n      prop.lock = false;\n\n      if (type === 3) {\n        expressionHelpers.searchExpressions(elem, data.pt, prop);\n      } else if (type === 4) {\n        expressionHelpers.searchExpressions(elem, data.ks, prop);\n      }\n\n      if (prop.k) {\n        elem.addDynamicProperty(prop);\n      }\n\n      return prop;\n    };\n  })();\n  /* global ExpressionManager, TextProperty */\n\n\n  (function addDecorator() {\n    function searchExpressions() {\n      if ((this || _global).data.d.x) {\n        (this || _global).calculateExpression = ExpressionManager.initiateExpression.bind(this || _global)((this || _global).elem, (this || _global).data.d, this || _global);\n        this.addEffect((this || _global).getExpressionValue.bind(this || _global));\n        return true;\n      }\n\n      return null;\n    }\n\n    TextProperty.prototype.getExpressionValue = function (currentValue, text) {\n      var newValue = this.calculateExpression(text);\n\n      if (currentValue.t !== newValue) {\n        var newData = {};\n        this.copyData(newData, currentValue);\n        newData.t = newValue.toString();\n        newData.__complete = false;\n        return newData;\n      }\n\n      return currentValue;\n    };\n\n    TextProperty.prototype.searchProperty = function () {\n      var isKeyframed = this.searchKeyframes();\n      var hasExpressions = this.searchExpressions();\n      (this || _global).kf = isKeyframed || hasExpressions;\n      return (this || _global).kf;\n    };\n\n    TextProperty.prototype.searchExpressions = searchExpressions;\n  })();\n  /* global propertyGroupFactory, PropertyInterface */\n\n  /* exported ShapePathInterface */\n\n\n  var ShapePathInterface = function () {\n    return function pathInterfaceFactory(shape, view, propertyGroup) {\n      var prop = view.sh;\n\n      function interfaceFunction(val) {\n        if (val === \"Shape\" || val === \"shape\" || val === \"Path\" || val === \"path\" || val === \"ADBE Vector Shape\" || val === 2) {\n          return interfaceFunction.path;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      prop.setGroupProperty(PropertyInterface(\"Path\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        path: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        shape: {\n          get: function () {\n            if (prop.k) {\n              prop.getValue();\n            }\n\n            return prop;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        ix: {\n          value: shape.ix\n        },\n        propertyIndex: {\n          value: shape.ix\n        },\n        mn: {\n          value: shape.mn\n        },\n        propertyGroup: {\n          value: propertyGroup\n        }\n      });\n      return interfaceFunction;\n    };\n  }();\n  /* exported propertyGroupFactory */\n\n\n  var propertyGroupFactory = function () {\n    return function (interfaceFunction, parentPropertyGroup) {\n      return function (val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return parentPropertyGroup(val - 1);\n      };\n    };\n  }();\n  /* exported PropertyInterface */\n\n\n  var PropertyInterface = function () {\n    return function (propertyName, propertyGroup) {\n      var interfaceFunction = {\n        _name: propertyName\n      };\n\n      function _propertyGroup(val) {\n        val = val === undefined ? 1 : val;\n\n        if (val <= 0) {\n          return interfaceFunction;\n        }\n\n        return propertyGroup(val - 1);\n      }\n\n      return _propertyGroup;\n    };\n  }();\n  /* global ExpressionPropertyInterface, PropertyInterface, propertyGroupFactory, ShapePathInterface */\n\n  /* exported ShapeExpressionInterface */\n\n\n  var ShapeExpressionInterface = function () {\n    function iterateElements(shapes, view, propertyGroup) {\n      var arr = [];\n      var i;\n      var len = shapes ? shapes.length : 0;\n\n      for (i = 0; i < len; i += 1) {\n        if (shapes[i].ty === \"gr\") {\n          arr.push(groupInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"fl\") {\n          arr.push(fillInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"st\") {\n          arr.push(strokeInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tm\") {\n          arr.push(trimInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"tr\") {// arr.push(transformInterfaceFactory(shapes[i],view[i],propertyGroup));\n        } else if (shapes[i].ty === \"el\") {\n          arr.push(ellipseInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sr\") {\n          arr.push(starInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"sh\") {\n          arr.push(ShapePathInterface(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rc\") {\n          arr.push(rectInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rd\") {\n          arr.push(roundedInterfaceFactory(shapes[i], view[i], propertyGroup));\n        } else if (shapes[i].ty === \"rp\") {\n          arr.push(repeaterInterfaceFactory(shapes[i], view[i], propertyGroup));\n        }\n      }\n\n      return arr;\n    }\n\n    function contentsInterfaceFactory(shape, view, propertyGroup) {\n      var interfaces;\n\n      var interfaceFunction = function _interfaceFunction(value) {\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value || interfaces[i].mn === value || interfaces[i].propertyIndex === value || interfaces[i].ix === value || interfaces[i].ind === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        if (typeof value === \"number\") {\n          return interfaces[value - 1];\n        }\n\n        return null;\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      interfaces = iterateElements(shape.it, view.it, interfaceFunction.propertyGroup);\n      interfaceFunction.numProperties = interfaces.length;\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.transform = transformInterface;\n      interfaceFunction.propertyIndex = shape.cix;\n      interfaceFunction._name = shape.nm;\n      return interfaceFunction;\n    }\n\n    function groupInterfaceFactory(shape, view, propertyGroup) {\n      var interfaceFunction = function _interfaceFunction(value) {\n        switch (value) {\n          case \"ADBE Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return interfaceFunction.content;\n          // Not necessary for now. Keeping them here in case a new case appears\n          // case 'ADBE Vector Transform Group':\n          // case 3:\n\n          default:\n            return interfaceFunction.transform;\n        }\n      };\n\n      interfaceFunction.propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n      var content = contentsInterfaceFactory(shape, view, interfaceFunction.propertyGroup);\n      var transformInterface = transformInterfaceFactory(shape.it[shape.it.length - 1], view.it[view.it.length - 1], interfaceFunction.propertyGroup);\n      interfaceFunction.content = content;\n      interfaceFunction.transform = transformInterface;\n      Object.defineProperty(interfaceFunction, \"_name\", {\n        get: function () {\n          return shape.nm;\n        }\n      }); // interfaceFunction.content = interfaceFunction;\n\n      interfaceFunction.numProperties = shape.np;\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.nm = shape.nm;\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function fillInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", propertyGroup));\n      return interfaceFunction;\n    }\n\n    function strokeInterfaceFactory(shape, view, propertyGroup) {\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var _dashPropertyGroup = propertyGroupFactory(dashOb, _propertyGroup);\n\n      function addPropertyToDashOb(i) {\n        Object.defineProperty(dashOb, shape.d[i].nm, {\n          get: ExpressionPropertyInterface(view.d.dataProps[i].p)\n        });\n      }\n\n      var i;\n      var len = shape.d ? shape.d.length : 0;\n      var dashOb = {};\n\n      for (i = 0; i < len; i += 1) {\n        addPropertyToDashOb(i);\n        view.d.dataProps[i].p.setGroupProperty(_dashPropertyGroup);\n      }\n\n      function interfaceFunction(val) {\n        if (val === \"Color\" || val === \"color\") {\n          return interfaceFunction.color;\n        }\n\n        if (val === \"Opacity\" || val === \"opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (val === \"Stroke Width\" || val === \"stroke width\") {\n          return interfaceFunction.strokeWidth;\n        }\n\n        return null;\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        color: {\n          get: ExpressionPropertyInterface(view.c)\n        },\n        opacity: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        strokeWidth: {\n          get: ExpressionPropertyInterface(view.w)\n        },\n        dash: {\n          get: function () {\n            return dashOb;\n          }\n        },\n        _name: {\n          value: shape.nm\n        },\n        mn: {\n          value: shape.mn\n        }\n      });\n      view.c.setGroupProperty(PropertyInterface(\"Color\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.w.setGroupProperty(PropertyInterface(\"Stroke Width\", _propertyGroup));\n      return interfaceFunction;\n    }\n\n    function trimInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(val) {\n        if (val === shape.e.ix || val === \"End\" || val === \"end\") {\n          return interfaceFunction.end;\n        }\n\n        if (val === shape.s.ix) {\n          return interfaceFunction.start;\n        }\n\n        if (val === shape.o.ix) {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      view.s.setGroupProperty(PropertyInterface(\"Start\", _propertyGroup));\n      view.e.setGroupProperty(PropertyInterface(\"End\", _propertyGroup));\n      view.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      interfaceFunction.propertyIndex = shape.ix;\n      interfaceFunction.propertyGroup = propertyGroup;\n      Object.defineProperties(interfaceFunction, {\n        start: {\n          get: ExpressionPropertyInterface(view.s)\n        },\n        end: {\n          get: ExpressionPropertyInterface(view.e)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(view.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function transformInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.a.ix === value || value === \"Anchor Point\") {\n          return interfaceFunction.anchorPoint;\n        }\n\n        if (shape.o.ix === value || value === \"Opacity\") {\n          return interfaceFunction.opacity;\n        }\n\n        if (shape.p.ix === value || value === \"Position\") {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value || value === \"Rotation\" || value === \"ADBE Vector Rotation\") {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.s.ix === value || value === \"Scale\") {\n          return interfaceFunction.scale;\n        }\n\n        if (shape.sk && shape.sk.ix === value || value === \"Skew\") {\n          return interfaceFunction.skew;\n        }\n\n        if (shape.sa && shape.sa.ix === value || value === \"Skew Axis\") {\n          return interfaceFunction.skewAxis;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      view.transform.mProps.o.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      view.transform.mProps.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      view.transform.mProps.a.setGroupProperty(PropertyInterface(\"Anchor Point\", _propertyGroup));\n      view.transform.mProps.s.setGroupProperty(PropertyInterface(\"Scale\", _propertyGroup));\n      view.transform.mProps.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (view.transform.mProps.sk) {\n        view.transform.mProps.sk.setGroupProperty(PropertyInterface(\"Skew\", _propertyGroup));\n        view.transform.mProps.sa.setGroupProperty(PropertyInterface(\"Skew Angle\", _propertyGroup));\n      }\n\n      view.transform.op.setGroupProperty(PropertyInterface(\"Opacity\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        opacity: {\n          get: ExpressionPropertyInterface(view.transform.mProps.o)\n        },\n        position: {\n          get: ExpressionPropertyInterface(view.transform.mProps.p)\n        },\n        anchorPoint: {\n          get: ExpressionPropertyInterface(view.transform.mProps.a)\n        },\n        scale: {\n          get: ExpressionPropertyInterface(view.transform.mProps.s)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(view.transform.mProps.r)\n        },\n        skew: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sk)\n        },\n        skewAxis: {\n          get: ExpressionPropertyInterface(view.transform.mProps.sa)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.ty = \"tr\";\n      interfaceFunction.mn = shape.mn;\n      interfaceFunction.propertyGroup = propertyGroup;\n      return interfaceFunction;\n    }\n\n    function ellipseInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.s.ix === value) {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      interfaceFunction.propertyIndex = shape.ix;\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function starInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.rotation;\n        }\n\n        if (shape.pt.ix === value) {\n          return interfaceFunction.points;\n        }\n\n        if (shape.or.ix === value || value === \"ADBE Vector Star Outer Radius\") {\n          return interfaceFunction.outerRadius;\n        }\n\n        if (shape.os.ix === value) {\n          return interfaceFunction.outerRoundness;\n        }\n\n        if (shape.ir && (shape.ir.ix === value || value === \"ADBE Vector Star Inner Radius\")) {\n          return interfaceFunction.innerRadius;\n        }\n\n        if (shape.is && shape.is.ix === value) {\n          return interfaceFunction.innerRoundness;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.or.setGroupProperty(PropertyInterface(\"Outer Radius\", _propertyGroup));\n      prop.os.setGroupProperty(PropertyInterface(\"Outer Roundness\", _propertyGroup));\n      prop.pt.setGroupProperty(PropertyInterface(\"Points\", _propertyGroup));\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n\n      if (shape.ir) {\n        prop.ir.setGroupProperty(PropertyInterface(\"Inner Radius\", _propertyGroup));\n        prop.is.setGroupProperty(PropertyInterface(\"Inner Roundness\", _propertyGroup));\n      }\n\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        rotation: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        points: {\n          get: ExpressionPropertyInterface(prop.pt)\n        },\n        outerRadius: {\n          get: ExpressionPropertyInterface(prop.or)\n        },\n        outerRoundness: {\n          get: ExpressionPropertyInterface(prop.os)\n        },\n        innerRadius: {\n          get: ExpressionPropertyInterface(prop.ir)\n        },\n        innerRoundness: {\n          get: ExpressionPropertyInterface(prop.is)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function rectInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.p.ix === value) {\n          return interfaceFunction.position;\n        }\n\n        if (shape.r.ix === value) {\n          return interfaceFunction.roundness;\n        }\n\n        if (shape.s.ix === value || value === \"Size\" || value === \"ADBE Vector Rect Size\") {\n          return interfaceFunction.size;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view.sh.ty === \"tm\" ? view.sh.prop : view.sh;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.p.setGroupProperty(PropertyInterface(\"Position\", _propertyGroup));\n      prop.s.setGroupProperty(PropertyInterface(\"Size\", _propertyGroup));\n      prop.r.setGroupProperty(PropertyInterface(\"Rotation\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        position: {\n          get: ExpressionPropertyInterface(prop.p)\n        },\n        roundness: {\n          get: ExpressionPropertyInterface(prop.r)\n        },\n        size: {\n          get: ExpressionPropertyInterface(prop.s)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function roundedInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.r.ix === value || value === \"Round Corners 1\") {\n          return interfaceFunction.radius;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.rd.setGroupProperty(PropertyInterface(\"Radius\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        radius: {\n          get: ExpressionPropertyInterface(prop.rd)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    function repeaterInterfaceFactory(shape, view, propertyGroup) {\n      function interfaceFunction(value) {\n        if (shape.c.ix === value || value === \"Copies\") {\n          return interfaceFunction.copies;\n        }\n\n        if (shape.o.ix === value || value === \"Offset\") {\n          return interfaceFunction.offset;\n        }\n\n        return null;\n      }\n\n      var _propertyGroup = propertyGroupFactory(interfaceFunction, propertyGroup);\n\n      var prop = view;\n      interfaceFunction.propertyIndex = shape.ix;\n      prop.c.setGroupProperty(PropertyInterface(\"Copies\", _propertyGroup));\n      prop.o.setGroupProperty(PropertyInterface(\"Offset\", _propertyGroup));\n      Object.defineProperties(interfaceFunction, {\n        copies: {\n          get: ExpressionPropertyInterface(prop.c)\n        },\n        offset: {\n          get: ExpressionPropertyInterface(prop.o)\n        },\n        _name: {\n          value: shape.nm\n        }\n      });\n      interfaceFunction.mn = shape.mn;\n      return interfaceFunction;\n    }\n\n    return function (shapes, view, propertyGroup) {\n      var interfaces;\n\n      function _interfaceFunction(value) {\n        if (typeof value === \"number\") {\n          value = value === undefined ? 1 : value;\n\n          if (value === 0) {\n            return propertyGroup;\n          }\n\n          return interfaces[value - 1];\n        }\n\n        var i = 0;\n        var len = interfaces.length;\n\n        while (i < len) {\n          if (interfaces[i]._name === value) {\n            return interfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      function parentGroupWrapper() {\n        return propertyGroup;\n      }\n\n      _interfaceFunction.propertyGroup = propertyGroupFactory(_interfaceFunction, parentGroupWrapper);\n      interfaces = iterateElements(shapes, view, _interfaceFunction.propertyGroup);\n      _interfaceFunction.numProperties = interfaces.length;\n      _interfaceFunction._name = \"Contents\";\n      return _interfaceFunction;\n    };\n  }();\n  /* exported TextExpressionInterface */\n\n\n  var TextExpressionInterface = function () {\n    return function (elem) {\n      var _prevValue;\n\n      var _sourceText;\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Text Document\":\n            return _thisLayerFunction.sourceText;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"sourceText\", {\n        get: function () {\n          elem.textProperty.getValue();\n          var stringValue = elem.textProperty.currentData.t;\n\n          if (stringValue !== _prevValue) {\n            elem.textProperty.currentData.t = _prevValue;\n            _sourceText = new String(stringValue); // eslint-disable-line no-new-wrappers\n            // If stringValue is an empty string, eval returns undefined, so it has to be returned as a String primitive\n\n            _sourceText.value = stringValue || new String(stringValue); // eslint-disable-line no-new-wrappers\n          }\n\n          return _sourceText;\n        }\n      });\n      return _thisLayerFunction;\n    };\n  }();\n  /* global Matrix, MaskManagerInterface, TransformExpressionInterface, getDescriptor */\n\n  /* exported LayerExpressionInterface */\n\n\n  var LayerExpressionInterface = function () {\n    function getMatrix(time) {\n      var toWorldMat = new Matrix();\n\n      if (time !== undefined) {\n        var propMatrix = (this || _global)._elem.finalTransform.mProp.getValueAtTime(time);\n\n        propMatrix.clone(toWorldMat);\n      } else {\n        var transformMat = (this || _global)._elem.finalTransform.mProp;\n        transformMat.applyToMatrix(toWorldMat);\n      }\n\n      return toWorldMat;\n    }\n\n    function toWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function toWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.applyPoint(toWorldMat, arr);\n    }\n\n    function fromWorldVec(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      toWorldMat.props[12] = 0;\n      toWorldMat.props[13] = 0;\n      toWorldMat.props[14] = 0;\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function fromWorld(arr, time) {\n      var toWorldMat = this.getMatrix(time);\n      return this.invertPoint(toWorldMat, arr);\n    }\n\n    function applyPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.applyToPointArray(arr[0], arr[1], arr[2] || 0);\n    }\n\n    function invertPoint(matrix, arr) {\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(matrix);\n        }\n      }\n\n      return matrix.inversePoint(arr);\n    }\n\n    function fromComp(arr) {\n      var toWorldMat = new Matrix();\n      toWorldMat.reset();\n\n      (this || _global)._elem.finalTransform.mProp.applyToMatrix(toWorldMat);\n\n      if ((this || _global)._elem.hierarchy && (this || _global)._elem.hierarchy.length) {\n        var i;\n        var len = (this || _global)._elem.hierarchy.length;\n\n        for (i = 0; i < len; i += 1) {\n          (this || _global)._elem.hierarchy[i].finalTransform.mProp.applyToMatrix(toWorldMat);\n        }\n\n        return toWorldMat.inversePoint(arr);\n      }\n\n      return toWorldMat.inversePoint(arr);\n    }\n\n    function sampleImage() {\n      return [1, 1, 1, 1];\n    }\n\n    return function (elem) {\n      var transformInterface;\n\n      function _registerMaskInterface(maskManager) {\n        _thisLayerFunction.mask = new MaskManagerInterface(maskManager, elem);\n      }\n\n      function _registerEffectsInterface(effects) {\n        _thisLayerFunction.effect = effects;\n      }\n\n      function _thisLayerFunction(name) {\n        switch (name) {\n          case \"ADBE Root Vectors Group\":\n          case \"Contents\":\n          case 2:\n            return _thisLayerFunction.shapeInterface;\n\n          case 1:\n          case 6:\n          case \"Transform\":\n          case \"transform\":\n          case \"ADBE Transform Group\":\n            return transformInterface;\n\n          case 4:\n          case \"ADBE Effect Parade\":\n          case \"effects\":\n          case \"Effects\":\n            return _thisLayerFunction.effect;\n\n          case \"ADBE Text Properties\":\n            return _thisLayerFunction.textInterface;\n\n          default:\n            return null;\n        }\n      }\n\n      _thisLayerFunction.getMatrix = getMatrix;\n      _thisLayerFunction.invertPoint = invertPoint;\n      _thisLayerFunction.applyPoint = applyPoint;\n      _thisLayerFunction.toWorld = toWorld;\n      _thisLayerFunction.toWorldVec = toWorldVec;\n      _thisLayerFunction.fromWorld = fromWorld;\n      _thisLayerFunction.fromWorldVec = fromWorldVec;\n      _thisLayerFunction.toComp = toWorld;\n      _thisLayerFunction.fromComp = fromComp;\n      _thisLayerFunction.sampleImage = sampleImage;\n      _thisLayerFunction.sourceRectAtTime = elem.sourceRectAtTime.bind(elem);\n      _thisLayerFunction._elem = elem;\n      transformInterface = TransformExpressionInterface(elem.finalTransform.mProp);\n      var anchorPointDescriptor = getDescriptor(transformInterface, \"anchorPoint\");\n      Object.defineProperties(_thisLayerFunction, {\n        hasParent: {\n          get: function () {\n            return elem.hierarchy.length;\n          }\n        },\n        parent: {\n          get: function () {\n            return elem.hierarchy[0].layerInterface;\n          }\n        },\n        rotation: getDescriptor(transformInterface, \"rotation\"),\n        scale: getDescriptor(transformInterface, \"scale\"),\n        position: getDescriptor(transformInterface, \"position\"),\n        opacity: getDescriptor(transformInterface, \"opacity\"),\n        anchorPoint: anchorPointDescriptor,\n        anchor_point: anchorPointDescriptor,\n        transform: {\n          get: function () {\n            return transformInterface;\n          }\n        },\n        active: {\n          get: function () {\n            return elem.isInRange;\n          }\n        }\n      });\n      _thisLayerFunction.startTime = elem.data.st;\n      _thisLayerFunction.index = elem.data.ind;\n      _thisLayerFunction.source = elem.data.refId;\n      _thisLayerFunction.height = elem.data.ty === 0 ? elem.data.h : 100;\n      _thisLayerFunction.width = elem.data.ty === 0 ? elem.data.w : 100;\n      _thisLayerFunction.inPoint = elem.data.ip / elem.comp.globalData.frameRate;\n      _thisLayerFunction.outPoint = elem.data.op / elem.comp.globalData.frameRate;\n      _thisLayerFunction._name = elem.data.nm;\n      _thisLayerFunction.registerMaskInterface = _registerMaskInterface;\n      _thisLayerFunction.registerEffectsInterface = _registerEffectsInterface;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global */\n\n  /* exported FootageInterface */\n\n\n  var FootageInterface = function () {\n    var outlineInterfaceFactory = function (elem) {\n      var currentPropertyName = \"\";\n      var currentProperty = elem.getFootageData();\n\n      function init() {\n        currentPropertyName = \"\";\n        currentProperty = elem.getFootageData();\n        return searchProperty;\n      }\n\n      function searchProperty(value) {\n        if (currentProperty[value]) {\n          currentPropertyName = value;\n          currentProperty = currentProperty[value];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        var propertyNameIndex = value.indexOf(currentPropertyName);\n\n        if (propertyNameIndex !== -1) {\n          var index = parseInt(value.substr(propertyNameIndex + currentPropertyName.length), 10);\n          currentProperty = currentProperty[index];\n\n          if (typeof currentProperty === \"object\") {\n            return searchProperty;\n          }\n\n          return currentProperty;\n        }\n\n        return \"\";\n      }\n\n      return init;\n    };\n\n    var dataInterfaceFactory = function (elem) {\n      function interfaceFunction(value) {\n        if (value === \"Outline\") {\n          return interfaceFunction.outlineInterface();\n        }\n\n        return null;\n      }\n\n      interfaceFunction._name = \"Outline\";\n      interfaceFunction.outlineInterface = outlineInterfaceFactory(elem);\n      return interfaceFunction;\n    };\n\n    return function (elem) {\n      function _interfaceFunction(value) {\n        if (value === \"Data\") {\n          return _interfaceFunction.dataInterface;\n        }\n\n        return null;\n      }\n\n      _interfaceFunction._name = \"Data\";\n      _interfaceFunction.dataInterface = dataInterfaceFactory(elem);\n      return _interfaceFunction;\n    };\n  }();\n  /* exported CompExpressionInterface */\n\n\n  var CompExpressionInterface = function () {\n    return function (comp) {\n      function _thisLayerFunction(name) {\n        var i = 0;\n        var len = comp.layers.length;\n\n        while (i < len) {\n          if (comp.layers[i].nm === name || comp.layers[i].ind === name) {\n            return comp.elements[i].layerInterface;\n          }\n\n          i += 1;\n        }\n\n        return null; // return {active:false};\n      }\n\n      Object.defineProperty(_thisLayerFunction, \"_name\", {\n        value: comp.data.nm\n      });\n      _thisLayerFunction.layer = _thisLayerFunction;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.height = comp.data.h || comp.globalData.compSize.h;\n      _thisLayerFunction.width = comp.data.w || comp.globalData.compSize.w;\n      _thisLayerFunction.pixelAspect = 1;\n      _thisLayerFunction.frameDuration = 1 / comp.globalData.frameRate;\n      _thisLayerFunction.displayStartTime = 0;\n      _thisLayerFunction.numLayers = comp.layers.length;\n      return _thisLayerFunction;\n    };\n  }();\n  /* global ExpressionPropertyInterface */\n\n  /* exported TransformExpressionInterface */\n\n\n  var TransformExpressionInterface = function () {\n    return function (transform) {\n      function _thisFunction(name) {\n        switch (name) {\n          case \"scale\":\n          case \"Scale\":\n          case \"ADBE Scale\":\n          case 6:\n            return _thisFunction.scale;\n\n          case \"rotation\":\n          case \"Rotation\":\n          case \"ADBE Rotation\":\n          case \"ADBE Rotate Z\":\n          case 10:\n            return _thisFunction.rotation;\n\n          case \"ADBE Rotate X\":\n            return _thisFunction.xRotation;\n\n          case \"ADBE Rotate Y\":\n            return _thisFunction.yRotation;\n\n          case \"position\":\n          case \"Position\":\n          case \"ADBE Position\":\n          case 2:\n            return _thisFunction.position;\n\n          case \"ADBE Position_0\":\n            return _thisFunction.xPosition;\n\n          case \"ADBE Position_1\":\n            return _thisFunction.yPosition;\n\n          case \"ADBE Position_2\":\n            return _thisFunction.zPosition;\n\n          case \"anchorPoint\":\n          case \"AnchorPoint\":\n          case \"Anchor Point\":\n          case \"ADBE AnchorPoint\":\n          case 1:\n            return _thisFunction.anchorPoint;\n\n          case \"opacity\":\n          case \"Opacity\":\n          case 11:\n            return _thisFunction.opacity;\n\n          default:\n            return null;\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"rotation\", {\n        get: ExpressionPropertyInterface(transform.r || transform.rz)\n      });\n      Object.defineProperty(_thisFunction, \"zRotation\", {\n        get: ExpressionPropertyInterface(transform.rz || transform.r)\n      });\n      Object.defineProperty(_thisFunction, \"xRotation\", {\n        get: ExpressionPropertyInterface(transform.rx)\n      });\n      Object.defineProperty(_thisFunction, \"yRotation\", {\n        get: ExpressionPropertyInterface(transform.ry)\n      });\n      Object.defineProperty(_thisFunction, \"scale\", {\n        get: ExpressionPropertyInterface(transform.s)\n      });\n\n      var _px;\n\n      var _py;\n\n      var _pz;\n\n      var _transformFactory;\n\n      if (transform.p) {\n        _transformFactory = ExpressionPropertyInterface(transform.p);\n      } else {\n        _px = ExpressionPropertyInterface(transform.px);\n        _py = ExpressionPropertyInterface(transform.py);\n\n        if (transform.pz) {\n          _pz = ExpressionPropertyInterface(transform.pz);\n        }\n      }\n\n      Object.defineProperty(_thisFunction, \"position\", {\n        get: function () {\n          if (transform.p) {\n            return _transformFactory();\n          }\n\n          return [_px(), _py(), _pz ? _pz() : 0];\n        }\n      });\n      Object.defineProperty(_thisFunction, \"xPosition\", {\n        get: ExpressionPropertyInterface(transform.px)\n      });\n      Object.defineProperty(_thisFunction, \"yPosition\", {\n        get: ExpressionPropertyInterface(transform.py)\n      });\n      Object.defineProperty(_thisFunction, \"zPosition\", {\n        get: ExpressionPropertyInterface(transform.pz)\n      });\n      Object.defineProperty(_thisFunction, \"anchorPoint\", {\n        get: ExpressionPropertyInterface(transform.a)\n      });\n      Object.defineProperty(_thisFunction, \"opacity\", {\n        get: ExpressionPropertyInterface(transform.o)\n      });\n      Object.defineProperty(_thisFunction, \"skew\", {\n        get: ExpressionPropertyInterface(transform.sk)\n      });\n      Object.defineProperty(_thisFunction, \"skewAxis\", {\n        get: ExpressionPropertyInterface(transform.sa)\n      });\n      Object.defineProperty(_thisFunction, \"orientation\", {\n        get: ExpressionPropertyInterface(transform.or)\n      });\n      return _thisFunction;\n    };\n  }();\n  /* exported ProjectInterface */\n\n\n  ProjectInterface = function () {\n    function registerComposition(comp) {\n      (this || _global).compositions.push(comp);\n    }\n\n    return function () {\n      function _thisProjectFunction(name) {\n        var i = 0;\n        var len = (this || _global).compositions.length;\n\n        while (i < len) {\n          if ((this || _global).compositions[i].data && (this || _global).compositions[i].data.nm === name) {\n            if ((this || _global).compositions[i].prepareFrame && (this || _global).compositions[i].data.xt) {\n              (this || _global).compositions[i].prepareFrame((this || _global).currentFrame);\n            }\n\n            return (this || _global).compositions[i].compInterface;\n          }\n\n          i += 1;\n        }\n\n        return null;\n      }\n\n      _thisProjectFunction.compositions = [];\n      _thisProjectFunction.currentFrame = 0;\n      _thisProjectFunction.registerComposition = registerComposition;\n      return _thisProjectFunction;\n    };\n  }();\n  /* global propertyGroupFactory, ExpressionPropertyInterface, PropertyInterface */\n\n  /* exported EffectsExpressionInterface */\n\n\n  var EffectsExpressionInterface = function () {\n    var ob = {\n      createEffectsInterface: createEffectsInterface\n    };\n\n    function createEffectsInterface(elem, propertyGroup) {\n      if (elem.effectsManager) {\n        var effectElements = [];\n        var effectsData = elem.data.ef;\n        var i;\n        var len = elem.effectsManager.effectElements.length;\n\n        for (i = 0; i < len; i += 1) {\n          effectElements.push(createGroupInterface(effectsData[i], elem.effectsManager.effectElements[i], propertyGroup, elem));\n        }\n\n        var effects = elem.data.ef || [];\n\n        var groupInterface = function (name) {\n          i = 0;\n          len = effects.length;\n\n          while (i < len) {\n            if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n              return effectElements[i];\n            }\n\n            i += 1;\n          }\n\n          return null;\n        };\n\n        Object.defineProperty(groupInterface, \"numProperties\", {\n          get: function () {\n            return effects.length;\n          }\n        });\n        return groupInterface;\n      }\n\n      return null;\n    }\n\n    function createGroupInterface(data, elements, propertyGroup, elem) {\n      function groupInterface(name) {\n        var effects = data.ef;\n        var i = 0;\n        var len = effects.length;\n\n        while (i < len) {\n          if (name === effects[i].nm || name === effects[i].mn || name === effects[i].ix) {\n            if (effects[i].ty === 5) {\n              return effectElements[i];\n            }\n\n            return effectElements[i]();\n          }\n\n          i += 1;\n        }\n\n        throw new Error();\n      }\n\n      var _propertyGroup = propertyGroupFactory(groupInterface, propertyGroup);\n\n      var effectElements = [];\n      var i;\n      var len = data.ef.length;\n\n      for (i = 0; i < len; i += 1) {\n        if (data.ef[i].ty === 5) {\n          effectElements.push(createGroupInterface(data.ef[i], elements.effectElements[i], elements.effectElements[i].propertyGroup, elem));\n        } else {\n          effectElements.push(createValueInterface(elements.effectElements[i], data.ef[i].ty, elem, _propertyGroup));\n        }\n      }\n\n      if (data.mn === \"ADBE Color Control\") {\n        Object.defineProperty(groupInterface, \"color\", {\n          get: function () {\n            return effectElements[0]();\n          }\n        });\n      }\n\n      Object.defineProperties(groupInterface, {\n        numProperties: {\n          get: function () {\n            return data.np;\n          }\n        },\n        _name: {\n          value: data.nm\n        },\n        propertyGroup: {\n          value: _propertyGroup\n        }\n      });\n      groupInterface.enabled = data.en !== 0;\n      groupInterface.active = groupInterface.enabled;\n      return groupInterface;\n    }\n\n    function createValueInterface(element, type, elem, propertyGroup) {\n      var expressionProperty = ExpressionPropertyInterface(element.p);\n\n      function interfaceFunction() {\n        if (type === 10) {\n          return elem.comp.compInterface(element.p.v);\n        }\n\n        return expressionProperty();\n      }\n\n      if (element.p.setGroupProperty) {\n        element.p.setGroupProperty(PropertyInterface(\"\", propertyGroup));\n      }\n\n      return interfaceFunction;\n    }\n\n    return ob;\n  }();\n  /* global createSizedArray */\n\n  /* exported MaskManagerInterface */\n\n\n  var MaskManagerInterface = function () {\n    function MaskInterface(mask, data) {\n      (this || _global)._mask = mask;\n      (this || _global)._data = data;\n    }\n\n    Object.defineProperty(MaskInterface.prototype, \"maskPath\", {\n      get: function () {\n        if ((this || _global)._mask.prop.k) {\n          (this || _global)._mask.prop.getValue();\n        }\n\n        return (this || _global)._mask.prop;\n      }\n    });\n    Object.defineProperty(MaskInterface.prototype, \"maskOpacity\", {\n      get: function () {\n        if ((this || _global)._mask.op.k) {\n          (this || _global)._mask.op.getValue();\n        }\n\n        return (this || _global)._mask.op.v * 100;\n      }\n    });\n\n    var MaskManager = function (maskManager) {\n      var _masksInterfaces = createSizedArray(maskManager.viewData.length);\n\n      var i;\n      var len = maskManager.viewData.length;\n\n      for (i = 0; i < len; i += 1) {\n        _masksInterfaces[i] = new MaskInterface(maskManager.viewData[i], maskManager.masksProperties[i]);\n      }\n\n      var maskFunction = function (name) {\n        i = 0;\n\n        while (i < len) {\n          if (maskManager.masksProperties[i].nm === name) {\n            return _masksInterfaces[i];\n          }\n\n          i += 1;\n        }\n\n        return null;\n      };\n\n      return maskFunction;\n    };\n\n    return MaskManager;\n  }();\n  /* global createTypedArray */\n\n  /* exported ExpressionPropertyInterface */\n\n\n  var ExpressionPropertyInterface = function () {\n    var defaultUnidimensionalValue = {\n      pv: 0,\n      v: 0,\n      mult: 1\n    };\n    var defaultMultidimensionalValue = {\n      pv: [0, 0, 0],\n      v: [0, 0, 0],\n      mult: 1\n    };\n\n    function completeProperty(expressionValue, property, type) {\n      Object.defineProperty(expressionValue, \"velocity\", {\n        get: function () {\n          return property.getVelocityAtTime(property.comp.currentFrame);\n        }\n      });\n      expressionValue.numKeys = property.keyframes ? property.keyframes.length : 0;\n\n      expressionValue.key = function (pos) {\n        if (!expressionValue.numKeys) {\n          return 0;\n        }\n\n        var value = \"\";\n\n        if (\"s\" in property.keyframes[pos - 1]) {\n          value = property.keyframes[pos - 1].s;\n        } else if (\"e\" in property.keyframes[pos - 2]) {\n          value = property.keyframes[pos - 2].e;\n        } else {\n          value = property.keyframes[pos - 2].s;\n        }\n\n        var valueProp = type === \"unidimensional\" ? new Number(value) : Object.assign({}, value); // eslint-disable-line no-new-wrappers\n\n        valueProp.time = property.keyframes[pos - 1].t / property.elem.comp.globalData.frameRate;\n        valueProp.value = type === \"unidimensional\" ? value[0] : value;\n        return valueProp;\n      };\n\n      expressionValue.valueAtTime = property.getValueAtTime;\n      expressionValue.speedAtTime = property.getSpeedAtTime;\n      expressionValue.velocityAtTime = property.getVelocityAtTime;\n      expressionValue.propertyGroup = property.propertyGroup;\n    }\n\n    function UnidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultUnidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var val = property.pv * mult;\n      var expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n      expressionValue.value = val;\n      completeProperty(expressionValue, property, \"unidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        val = property.v * mult;\n\n        if (expressionValue.value !== val) {\n          expressionValue = new Number(val); // eslint-disable-line no-new-wrappers\n\n          expressionValue.value = val;\n          completeProperty(expressionValue, property, \"unidimensional\");\n        }\n\n        return expressionValue;\n      };\n    }\n\n    function MultidimensionalPropertyInterface(property) {\n      if (!property || !(\"pv\" in property)) {\n        property = defaultMultidimensionalValue;\n      }\n\n      var mult = 1 / property.mult;\n      var len = property.data && property.data.l || property.pv.length;\n      var expressionValue = createTypedArray(\"float32\", len);\n      var arrValue = createTypedArray(\"float32\", len);\n      expressionValue.value = arrValue;\n      completeProperty(expressionValue, property, \"multidimensional\");\n      return function () {\n        if (property.k) {\n          property.getValue();\n        }\n\n        for (var i = 0; i < len; i += 1) {\n          arrValue[i] = property.v[i] * mult;\n          expressionValue[i] = arrValue[i];\n        }\n\n        return expressionValue;\n      };\n    } // TODO: try to avoid using this getter\n\n\n    function defaultGetter() {\n      return defaultUnidimensionalValue;\n    }\n\n    return function (property) {\n      if (!property) {\n        return defaultGetter;\n      }\n\n      if (property.propType === \"unidimensional\") {\n        return UnidimensionalPropertyInterface(property);\n      }\n\n      return MultidimensionalPropertyInterface(property);\n    };\n  }();\n  /* global expressionHelpers, TextSelectorProp, ExpressionManager */\n\n  /* exported TextExpressionSelectorProp */\n\n\n  (function () {\n    var TextExpressionSelectorProp = function () {\n      // eslint-disable-line no-unused-vars\n      function getValueProxy(index, total) {\n        (this || _global).textIndex = index + 1;\n        (this || _global).textTotal = total;\n        (this || _global).v = this.getValue() * (this || _global).mult;\n        return (this || _global).v;\n      }\n\n      return function TextExpressionSelectorPropFactory(elem, data) {\n        (this || _global).pv = 1;\n        (this || _global).comp = elem.comp;\n        (this || _global).elem = elem;\n        (this || _global).mult = 0.01;\n        (this || _global).propType = \"textSelector\";\n        (this || _global).textTotal = data.totalChars;\n        (this || _global).selectorValue = 100;\n        (this || _global).lastValue = [1, 1, 1];\n        (this || _global).k = true;\n        (this || _global).x = true;\n        (this || _global).getValue = ExpressionManager.initiateExpression.bind(this || _global)(elem, data, this || _global);\n        (this || _global).getMult = getValueProxy;\n        (this || _global).getVelocityAtTime = expressionHelpers.getVelocityAtTime;\n\n        if ((this || _global).kf) {\n          (this || _global).getValueAtTime = expressionHelpers.getValueAtTime.bind(this || _global);\n        } else {\n          (this || _global).getValueAtTime = expressionHelpers.getStaticValueAtTime.bind(this || _global);\n        }\n\n        (this || _global).setGroupProperty = expressionHelpers.setGroupProperty;\n      };\n    }();\n\n    var propertyGetTextProp = TextSelectorProp.getTextSelectorProp;\n\n    TextSelectorProp.getTextSelectorProp = function (elem, data, arr) {\n      if (data.t === 1) {\n        return new TextExpressionSelectorPropFactory(elem, data, arr); // eslint-disable-line no-undef\n      }\n\n      return propertyGetTextProp(elem, data, arr);\n    };\n  })();\n  /* global PropertyFactory */\n\n  /* exported SliderEffect, AngleEffect, ColorEffect, PointEffect, LayerIndexEffect, MaskIndexEffect, CheckboxEffect, NoValueEffect */\n\n\n  function SliderEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function AngleEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function ColorEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function PointEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 1, 0, container);\n  }\n\n  function LayerIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function MaskIndexEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function CheckboxEffect(data, elem, container) {\n    (this || _global).p = PropertyFactory.getProp(elem, data.v, 0, 0, container);\n  }\n\n  function NoValueEffect() {\n    (this || _global).p = {};\n  }\n  /* global extendPrototype, SliderEffect, AngleEffect, ColorEffect, PointEffect, CheckboxEffect, LayerIndexEffect,\r\n  MaskIndexEffect, NoValueEffect, DynamicPropertyContainer */\n\n\n  function EffectsManager(data, element) {\n    var effects = data.ef || [];\n    (this || _global).effectElements = [];\n    var i;\n    var len = effects.length;\n    var effectItem;\n\n    for (i = 0; i < len; i += 1) {\n      effectItem = new GroupEffect(effects[i], element);\n\n      (this || _global).effectElements.push(effectItem);\n    }\n  }\n\n  function GroupEffect(data, element) {\n    this.init(data, element);\n  }\n\n  extendPrototype([DynamicPropertyContainer], GroupEffect);\n  GroupEffect.prototype.getValue = GroupEffect.prototype.iterateDynamicProperties;\n\n  GroupEffect.prototype.init = function (data, element) {\n    (this || _global).data = data;\n    (this || _global).effectElements = [];\n    this.initDynamicPropertyContainer(element);\n    var i;\n    var len = (this || _global).data.ef.length;\n    var eff;\n    var effects = (this || _global).data.ef;\n\n    for (i = 0; i < len; i += 1) {\n      eff = null;\n\n      switch (effects[i].ty) {\n        case 0:\n          eff = new SliderEffect(effects[i], element, this || _global);\n          break;\n\n        case 1:\n          eff = new AngleEffect(effects[i], element, this || _global);\n          break;\n\n        case 2:\n          eff = new ColorEffect(effects[i], element, this || _global);\n          break;\n\n        case 3:\n          eff = new PointEffect(effects[i], element, this || _global);\n          break;\n\n        case 4:\n        case 7:\n          eff = new CheckboxEffect(effects[i], element, this || _global);\n          break;\n\n        case 10:\n          eff = new LayerIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 11:\n          eff = new MaskIndexEffect(effects[i], element, this || _global);\n          break;\n\n        case 5:\n          eff = new EffectsManager(effects[i], element, this || _global);\n          break;\n        // case 6:\n\n        default:\n          eff = new NoValueEffect(effects[i], element, this || _global);\n          break;\n      }\n\n      if (eff) {\n        (this || _global).effectElements.push(eff);\n      }\n    }\n  };\n\n  var lottie = {};\n\n  function setLocationHref(href) {\n    locationHref = href;\n  }\n\n  function searchAnimations() {\n    if (standalone === true) {\n      animationManager.searchAnimations(animationData, standalone, renderer);\n    } else {\n      animationManager.searchAnimations();\n    }\n  }\n\n  function setSubframeRendering(flag) {\n    subframeEnabled = flag;\n  }\n\n  function loadAnimation(params) {\n    if (standalone === true) {\n      params.animationData = JSON.parse(animationData);\n    }\n\n    return animationManager.loadAnimation(params);\n  }\n\n  function setQuality(value) {\n    if (typeof value === \"string\") {\n      switch (value) {\n        case \"high\":\n          defaultCurveSegments = 200;\n          break;\n\n        default:\n        case \"medium\":\n          defaultCurveSegments = 50;\n          break;\n\n        case \"low\":\n          defaultCurveSegments = 10;\n          break;\n      }\n    } else if (!isNaN(value) && value > 1) {\n      defaultCurveSegments = value;\n    }\n\n    if (defaultCurveSegments >= 50) {\n      roundValues(false);\n    } else {\n      roundValues(true);\n    }\n  }\n\n  function inBrowser() {\n    return typeof navigator !== \"undefined\";\n  }\n\n  function installPlugin(type, plugin) {\n    if (type === \"expressions\") {\n      expressionsPlugin = plugin;\n    }\n  }\n\n  function getFactory(name) {\n    switch (name) {\n      case \"propertyFactory\":\n        return PropertyFactory;\n\n      case \"shapePropertyFactory\":\n        return ShapePropertyFactory;\n\n      case \"matrix\":\n        return Matrix;\n\n      default:\n        return null;\n    }\n  }\n\n  lottie.play = animationManager.play;\n  lottie.pause = animationManager.pause;\n  lottie.setLocationHref = setLocationHref;\n  lottie.togglePause = animationManager.togglePause;\n  lottie.setSpeed = animationManager.setSpeed;\n  lottie.setDirection = animationManager.setDirection;\n  lottie.stop = animationManager.stop;\n  lottie.searchAnimations = searchAnimations;\n  lottie.registerAnimation = animationManager.registerAnimation;\n  lottie.loadAnimation = loadAnimation;\n  lottie.setSubframeRendering = setSubframeRendering;\n  lottie.resize = animationManager.resize; // lottie.start = start;\n\n  lottie.goToAndStop = animationManager.goToAndStop;\n  lottie.destroy = animationManager.destroy;\n  lottie.setQuality = setQuality;\n  lottie.inBrowser = inBrowser;\n  lottie.installPlugin = installPlugin;\n  lottie.freeze = animationManager.freeze;\n  lottie.unfreeze = animationManager.unfreeze;\n  lottie.setVolume = animationManager.setVolume;\n  lottie.mute = animationManager.mute;\n  lottie.unmute = animationManager.unmute;\n  lottie.getRegisteredAnimations = animationManager.getRegisteredAnimations;\n  lottie.__getFactory = getFactory;\n  lottie.version = \"5.7.8\";\n\n  function checkReady() {\n    if (document.readyState === \"complete\") {\n      clearInterval(readyStateCheckInterval);\n      searchAnimations();\n    }\n  }\n\n  function getQueryVariable(variable) {\n    var vars = queryString.split(\"&\");\n\n    for (var i = 0; i < vars.length; i += 1) {\n      var pair = vars[i].split(\"=\");\n\n      if (decodeURIComponent(pair[0]) == variable) {\n        // eslint-disable-line eqeqeq\n        return decodeURIComponent(pair[1]);\n      }\n    }\n\n    return null;\n  }\n\n  var standalone = \"__[STANDALONE]__\";\n  var animationData = \"__[ANIMATIONDATA]__\";\n  var renderer = \"\";\n  var queryString;\n\n  if (standalone) {\n    var scripts = document.getElementsByTagName(\"script\");\n    var index = scripts.length - 1;\n    var myScript = scripts[index] || {\n      src: \"\"\n    };\n    queryString = myScript.src.replace(/^[^\\?]+\\??/, \"\"); // eslint-disable-line no-useless-escape\n\n    renderer = getQueryVariable(\"renderer\");\n  }\n\n  var readyStateCheckInterval = setInterval(checkReady, 100);\n  return lottie;\n});\nvar exports$1 = exports;\n\nexport default exports$1;\n\n//# sourceMappingURL=npm:lottie-web@5.7.8!cjs.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{useRef,useCallback,useEffect}from\"react\";import{motion,addPropertyControls,ControlType,RenderTarget}from\"framer\";import{defaultEvents}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{useAutoMotionValue}from\"https://framer.com/m/framer/useAutoMotionValue.js@0.3.0\";import lottie from\"https://jspm.dev/lottie-web@5.7.8\";var SrcType;(function(SrcType){SrcType[\"File\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));var Poster;(function(Poster){Poster[\"Auto\"]=\"Auto\";Poster[\"Custom\"]=\"Custom\";})(Poster||(Poster={}));const placeholderUrl=\"https://misc.framerstatic.com/lottie/logo.json\";/**\n * LOTTIE\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 350\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Lottie(props){const{style,srcUrl,srcFile,srcType,poster,progress:progressRaw,playing,loop,posterProgress,pauseOnCanvas,isForwardsDirection,speed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,onComplete}=props;const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const shouldPlay=(!pauseOnCanvas||!isOnCanvas)&&playing;const direction=isForwardsDirection?1:-1;const isCustomPoster=poster===\"Custom\";const el=useRef();const didInitialMount=useRef(false);const animationInfo=useRef({data:null,animation:null,duration:null});const progress=useAutoMotionValue(progressRaw,{transform:v=>v*.01});const play=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.play();};const pause=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.pause();};const destroy=()=>{var _animationInfo_current_animation,_animationInfo_current;return(_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:(_animationInfo_current_animation=_animationInfo_current.animation)===null||_animationInfo_current_animation===void 0?void 0:_animationInfo_current_animation.destroy();};const scrubTo=useCallback((normalizedProgress,shouldPlayAfter)=>{if(!animationInfo.current.duration||!animationInfo.current.animation)return;// Lottie gets weird when scrubbing to the exact last frame\nconst frameNumberTarget=normalizedProgress===1?animationInfo.current.duration-1:normalizedProgress*animationInfo.current.duration;if(shouldPlayAfter)animationInfo.current.animation.goToAndPlay(frameNumberTarget,true);else animationInfo.current.animation.goToAndStop(frameNumberTarget,true);},[]);const fetchLottieData=useCallback(async url=>{if(!url)return null;const data=await fetch(url,{method:\"GET\",credentials:\"omit\",redirect:\"follow\"}).then(d=>d.json());return data;},[]);// Fetch lottie animation & start setup\nconst init=useCallback(async()=>{// Clear current animation\ndestroy();let dataUrl;if(srcType===\"URL\")dataUrl=srcUrl;if(srcType===\"Upload\")dataUrl=srcFile;if(!dataUrl){console.warn(\"No valid Lottie animation provided\");dataUrl=placeholderUrl;}const data=await fetchLottieData(dataUrl);animationInfo.current.data=data;return setup(didInitialMount.current);},[srcType,srcUrl,srcFile]);// Create Lottie animation\nconst setup=useCallback(shouldPlayAfter=>{if(!el.current)return;destroy();const options={container:el.current,renderer:\"svg\",loop:loop,autoplay:shouldPlay,animationData:animationInfo.current.data,rendererSettings:{preserveAspectRatio:\"xMidYMid slice\"}};const anim=animationInfo.current.animation=lottie.loadAnimation(options);animationInfo.current.duration=anim.getDuration(true);anim.setDirection(direction);anim.setSpeed(speed);didInitialMount.current=true;if(isOnCanvas&&isCustomPoster)scrubTo(posterProgress,false);else scrubTo(progress.get(),shouldPlay||shouldPlayAfter);return()=>{anim.destroy();};},[loop,shouldPlay,speed,direction,isOnCanvas,isCustomPoster,posterProgress]);// Initial setup or re-init when source changes\nuseEffect(()=>{let cleanup;init().then(c=>cleanup=c);return()=>{if(cleanup)cleanup();};},[srcType,srcFile,srcUrl]);// No run-time option for loop option, recreating anim\nuseEffect(()=>{if(!didInitialMount.current)return;return setup(false);},[loop]);// Perf hack lets see if anyone notices\nuseEffect(()=>lottie.setQuality(isOnCanvas?\"low\":\"medium\"),[]);// useEffect(() => {\n//     if (!isOnCanvas) return\n//     const normalizedProgress = progress.get() * 0.01\n//     if (shouldPlay) scrubTo(normalizedProgress, true)\n//     else scrubTo(normalizedProgress, false)\n// }, [progressRaw, shouldPlay])\nuseEffect(()=>progress.onChange(val=>{if(isOnCanvas)return;if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);}),[]);useEffect(()=>{const val=progress.get();if(shouldPlay)scrubTo(val,true);else scrubTo(val,false);},[progressRaw]);useEffect(()=>{if(!isOnCanvas)return;const normalizedPosterProgress=posterProgress*.01;if(isCustomPoster)scrubTo(normalizedPosterProgress,false);else scrubTo(progress.get(),false);},[isCustomPoster,posterProgress]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var _animationInfo_current;if(!((_animationInfo_current=animationInfo.current)===null||_animationInfo_current===void 0?void 0:_animationInfo_current.animation))return;animationInfo.current.animation.setDirection(direction);scrubTo(progress.get(),true);},[direction]);useEffect(()=>{if(shouldPlay)play();else pause();},[shouldPlay]);return /*#__PURE__*/_jsx(motion.div,{ref:el,style:style,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp});}Lottie.defaultProps={height:200,width:200,srcType:\"URL\",pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:\"Auto\",posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.json\",hidden:props=>props.srcType===\"Upload\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===\"URL\"},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\npauseOnCanvas:{type:ControlType.Boolean,title:\"Canvas\",disabledTitle:\"Play\",enabledTitle:\"Pause\",hidden:props=>props.playing===false},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},isForwardsDirection:{title:\"Direction\",type:ControlType.Boolean,enabledTitle:\"Normal\",disabledTitle:\"Reverse\"},speed:{type:ControlType.Number,defaultValue:1,min:0,max:10,step:.5,displayStepper:true,unit:\"x\"},poster:{title:\"Poster\",type:ControlType.Enum,options:[\"Auto\",\"Custom\"],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>poster===\"Auto\"},progress:{title:\"Progress\",type:ControlType.Number,max:100,min:0,unit:\"%\",description:\"This component is made for JSON files. [Learn more here](https://lottiefiles.com/what-is-lottie).\"},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Lottie\":{\"type\":\"reactComponent\",\"name\":\"Lottie\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map", "// Generated by Framer (aba0f78)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"xO9OfzcK3\",\"ku15dPLJp\"];const serializationHash=\"framer-FmqA9\";const variantClassNames={ku15dPLJp:\"framer-v-1grfk77\",xO9OfzcK3:\"framer-v-1ha33f2\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Black:\"ku15dPLJp\",White:\"xO9OfzcK3\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"xO9OfzcK3\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"xO9OfzcK3\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"ku15dPLJp\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"ku15dPLJp\")return true;return false;};const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ha33f2\",className,classNames),\"data-framer-name\":\"White\",layoutDependency:layoutDependency,layoutId:\"xO9OfzcK3\",ref:ref??ref1,style:{...style},...addPropertyOverrides({ku15dPLJp:{\"data-framer-name\":\"Black\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-17zd7sf\",\"data-framer-name\":\"Right White\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"PwmGxAzrz\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 16 16\"><path d=\"M 9 3.333 L 13.667 8 L 9 12.667 M 2.333 8 L 13.333 8\" fill=\"transparent\" stroke-width=\"1.33\" stroke=\"hsl(0, 0%, 100%)\" stroke-miterlimit=\"10\"></path></svg>',svgContentId:10328590233,withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-cbl29\",\"data-framer-name\":\"Right Black\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"ggZk17dkQ\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 16 16\"><path d=\"M 9 3.333 L 13.667 8 L 9 12.667 M 2.333 8 L 13.333 8\" fill=\"transparent\" stroke-width=\"1.33\" stroke=\"var(--token-419394a1-565d-4952-8ba3-b4f1eb92339c, rgb(5, 5, 5)) /* {&quot;name&quot;:&quot;1&quot;} */\" stroke-miterlimit=\"10\"></path></svg>',svgContentId:12682086418,withExternalLayout:true,...addPropertyOverrides({ku15dPLJp:{svgContentId:8609132929}},baseVariant,gestureVariant)})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-FmqA9.framer-wixluc, .framer-FmqA9 .framer-wixluc { display: block; }\",\".framer-FmqA9.framer-1ha33f2 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 16px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 16px; }\",\".framer-FmqA9 .framer-17zd7sf, .framer-FmqA9 .framer-cbl29 { flex: none; height: 16px; position: relative; width: 16px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-FmqA9.framer-1ha33f2 { gap: 0px; } .framer-FmqA9.framer-1ha33f2 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-FmqA9.framer-1ha33f2 > :first-child { margin-left: 0px; } .framer-FmqA9.framer-1ha33f2 > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 16\n * @framerIntrinsicWidth 16\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"ku15dPLJp\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FrameroLaCv7REM=withCSS(Component,css,\"framer-FmqA9\");export default FrameroLaCv7REM;FrameroLaCv7REM.displayName=\"Bouncy Button/Icon\";FrameroLaCv7REM.defaultProps={height:16,width:16};addPropertyControls(FrameroLaCv7REM,{variant:{options:[\"xO9OfzcK3\",\"ku15dPLJp\"],optionTitles:[\"White\",\"Black\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FrameroLaCv7REM,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameroLaCv7REM\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"16\",\"framerIntrinsicHeight\":\"16\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"ku15dPLJp\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./oLaCv7REM.map", "// Generated by Framer (aba0f78)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import BouncyButtonIcon from\"https://framerusercontent.com/modules/loNlkT8cIFGAYEtp8v0V/TFTfPfvIiwrbg3wHXGqz/oLaCv7REM.js\";const BouncyButtonIconFonts=getFonts(BouncyButtonIcon);const BouncyButtonIconControls=getPropertyControls(BouncyButtonIcon);const cycleOrder=[\"nUz8bKKtO\",\"T9B36mIrV\"];const serializationHash=\"framer-8JqXd\";const variantClassNames={nUz8bKKtO:\"framer-v-66g1wm\",T9B36mIrV:\"framer-v-1jkxc77\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={Black:\"ku15dPLJp\",White:\"xO9OfzcK3\"};const humanReadableVariantMap={In:\"T9B36mIrV\",Out:\"nUz8bKKtO\"};const getProps=({dotColor,height,iconColour,id,width,...props})=>{return{...props,bkgNXsaVh:dotColor??props.bkgNXsaVh??\"var(--token-a042497d-749d-4d03-8d3a-78930210d354, rgb(5, 154, 255))\",Om1LwRtBr:humanReadableEnumMap[iconColour]??iconColour??props.Om1LwRtBr,variant:humanReadableVariantMap[props.variant]??props.variant??\"nUz8bKKtO\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,bkgNXsaVh,Om1LwRtBr,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"nUz8bKKtO\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-66g1wm\",className,classNames),\"data-framer-name\":\"Out\",layoutDependency:layoutDependency,layoutId:\"nUz8bKKtO\",ref:ref??ref1,style:{backgroundColor:bkgNXsaVh,borderBottomLeftRadius:\"50%\",borderBottomRightRadius:\"50%\",borderTopLeftRadius:\"50%\",borderTopRightRadius:\"50%\",...style},...addPropertyOverrides({T9B36mIrV:{\"data-framer-name\":\"In\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:16,width:\"16px\",y:(componentViewport?.y||0)+((componentViewport?.height||12)*.5000000000000002-8),...addPropertyOverrides({T9B36mIrV:{y:(componentViewport?.y||0)+((componentViewport?.height||28)*.5000000000000002-8)}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-5vk516-container\",layoutDependency:layoutDependency,layoutId:\"QQpkP5rbi-container\",children:/*#__PURE__*/_jsx(BouncyButtonIcon,{height:\"100%\",id:\"QQpkP5rbi\",layoutId:\"QQpkP5rbi\",style:{height:\"100%\",width:\"100%\"},variant:Om1LwRtBr,width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-8JqXd.framer-1ox3yhu, .framer-8JqXd .framer-1ox3yhu { display: block; }\",\".framer-8JqXd.framer-66g1wm { height: 12px; overflow: hidden; position: relative; width: 12px; will-change: var(--framer-will-change-override, transform); }\",\".framer-8JqXd .framer-5vk516-container { flex: none; height: 16px; left: -36px; position: absolute; top: calc(50.00000000000002% - 16px / 2); width: 16px; }\",\".framer-8JqXd.framer-v-1jkxc77.framer-66g1wm { height: 28px; width: 28px; }\",\".framer-8JqXd.framer-v-1jkxc77 .framer-5vk516-container { left: calc(50.00000000000002% - 16px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 12\n * @framerIntrinsicWidth 12\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"T9B36mIrV\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"bkgNXsaVh\":\"dotColor\",\"Om1LwRtBr\":\"iconColour\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramertbYx7absT=withCSS(Component,css,\"framer-8JqXd\");export default FramertbYx7absT;FramertbYx7absT.displayName=\"Bouncy Button/Dot\";FramertbYx7absT.defaultProps={height:12,width:12};addPropertyControls(FramertbYx7absT,{variant:{options:[\"nUz8bKKtO\",\"T9B36mIrV\"],optionTitles:[\"Out\",\"In\"],title:\"Variant\",type:ControlType.Enum},bkgNXsaVh:{defaultValue:'var(--token-a042497d-749d-4d03-8d3a-78930210d354, rgb(5, 154, 255)) /* {\"name\":\"Accent\"} */',title:\"Dot Color\",type:ControlType.Color},Om1LwRtBr:BouncyButtonIconControls?.[\"variant\"]&&{...BouncyButtonIconControls[\"variant\"],defaultValue:null,description:undefined,hidden:undefined,title:\"Icon colour\"}});addFonts(FramertbYx7absT,[{explicitInter:true,fonts:[]},...BouncyButtonIconFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertbYx7absT\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"12\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"T9B36mIrV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicHeight\":\"12\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"bkgNXsaVh\\\":\\\"dotColor\\\",\\\"Om1LwRtBr\\\":\\\"iconColour\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tbYx7absT.map", "// Generated by Framer (013b13c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Arc from\"https://framerusercontent.com/modules/dZ9c6z10n71dmz3JQVi4/0dSuyhnHD9HrUa3w2XFr/Arc.js\";import BouncyButtonDot from\"https://framerusercontent.com/modules/6TqI6qIuzSY6zcFGsaEX/yjT5IhlDOFL1FxNilCcZ/tbYx7absT.js\";const ArcFonts=getFonts(Arc);const SmartComponentScopedContainerWithFX=withFX(SmartComponentScopedContainer);const BouncyButtonDotFonts=getFonts(BouncyButtonDot);const BouncyButtonDotControls=getPropertyControls(BouncyButtonDot);const enabledGestures={sdby8ct3w:{hover:true}};const cycleOrder=[\"sdby8ct3w\",\"DWii2mRTp\",\"PM2YghbXJ\",\"NKFYOxybj\"];const serializationHash=\"framer-oGgnj\";const variantClassNames={DWii2mRTp:\"framer-v-kks226\",NKFYOxybj:\"framer-v-1d4yn0u\",PM2YghbXJ:\"framer-v-9jz46o\",sdby8ct3w:\"framer-v-1q8hxho\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:30,delay:0,mass:1,stiffness:400,type:\"spring\"};const transition2={delay:0,duration:10,ease:[0,0,1,1],type:\"tween\"};const animation={opacity:1,rotate:360,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:0,y:0};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={Black:\"ku15dPLJp\",White:\"xO9OfzcK3\"};const humanReadableVariantMap={\"Variant 3\":\"PM2YghbXJ\",\"Variant 4\":\"NKFYOxybj\",Default:\"sdby8ct3w\",Mobile:\"DWii2mRTp\"};const getProps=({border,button,click,content,dotColor,height,iconColour,id,label,link,newTab,smoothScroll,textColor,width,...props})=>{return{...props,AAql3Z1IA:newTab??props.AAql3Z1IA,DgGX5rgEB:click??props.DgGX5rgEB,G12sDdivV:button??props.G12sDdivV??\"rgb(255, 255, 255)\",gnaXB_FDf:label??props.gnaXB_FDf??\"Get started\",HoW4Eozft:humanReadableEnumMap[iconColour]??iconColour??props.HoW4Eozft??\"xO9OfzcK3\",jlmyjJ5mE:border??props.jlmyjJ5mE??{borderColor:\"black\",borderStyle:\"solid\",borderWidth:1},levTt4hJO:content??props.levTt4hJO??\"START HUSTLING  \u2022  \",lflvlvWlr:smoothScroll??props.lflvlvWlr,NEqJTpV7F:textColor??props.NEqJTpV7F??\"var(--token-419394a1-565d-4952-8ba3-b4f1eb92339c, rgb(5, 5, 5))\",uzYUogkDq:link??props.uzYUogkDq,V4GP67J_M:dotColor??props.V4GP67J_M??\"var(--token-a042497d-749d-4d03-8d3a-78930210d354, rgb(5, 154, 255))\",variant:humanReadableVariantMap[props.variant]??props.variant??\"sdby8ct3w\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,G12sDdivV,gnaXB_FDf,NEqJTpV7F,V4GP67J_M,uzYUogkDq,AAql3Z1IA,lflvlvWlr,jlmyjJ5mE,DgGX5rgEB,levTt4hJO,HoW4Eozft,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"sdby8ct3w\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1pqbec4=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(DgGX5rgEB){const res=await DgGX5rgEB(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"PM2YghbXJ\",\"NKFYOxybj\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"PM2YghbXJ\",\"NKFYOxybj\"].includes(baseVariant))return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:uzYUogkDq,motionChild:true,nodeId:\"sdby8ct3w\",openInNewTab:AAql3Z1IA,scopeId:\"XLJpEU7au\",smoothScroll:lflvlvWlr,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1q8hxho\",className,classNames)} framer-1nrhkaj`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"sdby8ct3w\",onTap:onTap1pqbec4,ref:refBinding,style:{borderBottomLeftRadius:100,borderBottomRightRadius:100,borderTopLeftRadius:100,borderTopRightRadius:100,...style},...addPropertyOverrides({\"sdby8ct3w-hover\":{\"data-framer-name\":undefined},DWii2mRTp:{\"data-framer-name\":\"Mobile\"},NKFYOxybj:{\"data-framer-name\":\"Variant 4\"},PM2YghbXJ:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1m2xfbw\",\"data-border\":true,\"data-framer-name\":\"BG\",layoutDependency:layoutDependency,layoutId:\"WDUgUWwA1\",style:{\"--border-bottom-width\":(jlmyjJ5mE.borderBottomWidth??jlmyjJ5mE.borderWidth)+\"px\",\"--border-color\":jlmyjJ5mE.borderColor,\"--border-left-width\":(jlmyjJ5mE.borderLeftWidth??jlmyjJ5mE.borderWidth)+\"px\",\"--border-right-width\":(jlmyjJ5mE.borderRightWidth??jlmyjJ5mE.borderWidth)+\"px\",\"--border-style\":jlmyjJ5mE.borderStyle,\"--border-top-width\":(jlmyjJ5mE.borderTopWidth??jlmyjJ5mE.borderWidth)+\"px\",backgroundColor:G12sDdivV,borderBottomLeftRadius:1e3,borderBottomRightRadius:1e3,borderTopLeftRadius:1e3,borderTopRightRadius:1e3},children:isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainerWithFX,{__framer__loop:animation,__framer__loopEffectEnabled:true,__framer__loopRepeatDelay:0,__framer__loopRepeatType:\"loop\",__framer__loopTransition:transition2,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-1t8v65h-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"w5VOS0srW-container\",nodeId:\"w5VOS0srW\",rendersWithMotion:true,scopeId:\"XLJpEU7au\",children:/*#__PURE__*/_jsx(Arc,{alignmentBaseline:\"bottom\",color:\"rgb(255, 255, 255)\",cylinderHeight:0,flip:false,font:{fontFamily:'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0.55em\",lineHeight:\"1em\"},height:\"100%\",id:\"w5VOS0srW\",layoutId:\"w5VOS0srW\",startOffset:0,style:{height:\"100%\",width:\"100%\"},text:levTt4hJO,type:true,width:\"100%\",...addPropertyOverrides({NKFYOxybj:{font:{fontFamily:'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0.46em\",lineHeight:\"1em\"}},PM2YghbXJ:{font:{fontFamily:'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',fontSize:\"16px\",fontStyle:\"normal\",fontWeight:500,letterSpacing:\"0.2em\",lineHeight:\"1em\"}}},baseVariant,gestureVariant)})})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-16flzmf\",\"data-framer-name\":\"Circle\",layoutDependency:layoutDependency,layoutId:\"WZOLcPiEh\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:12,y:(componentViewport?.y||0)+(6+((componentViewport?.height||40)-12-28)/2)+0+8,...addPropertyOverrides({NKFYOxybj:{height:16,width:\"16px\",y:(componentViewport?.y||0)+(6+((componentViewport?.height||40)-12-28)/2)+0+6},PM2YghbXJ:{height:16,width:\"16px\",y:(componentViewport?.y||0)+(6+((componentViewport?.height||40)-12-28)/2)+0+6}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-11bbfgu-container\",layoutDependency:layoutDependency,layoutId:\"v2iFpGqrJ-container\",nodeId:\"v2iFpGqrJ\",rendersWithMotion:true,scopeId:\"XLJpEU7au\",children:/*#__PURE__*/_jsx(BouncyButtonDot,{bkgNXsaVh:V4GP67J_M,height:\"100%\",id:\"v2iFpGqrJ\",layoutId:\"v2iFpGqrJ\",Om1LwRtBr:HoW4Eozft,variant:\"nUz8bKKtO\",width:\"100%\",...addPropertyOverrides({\"sdby8ct3w-hover\":{variant:\"T9B36mIrV\"},NKFYOxybj:{style:{height:\"100%\",width:\"100%\"}},PM2YghbXJ:{style:{height:\"100%\",width:\"100%\"}}},baseVariant,gestureVariant)})})})}),isDisplayed1()&&/*#__PURE__*/_jsx(motion.div,{className:\"framer-dn88dk\",\"data-framer-name\":\"Label\",layoutDependency:layoutDependency,layoutId:\"hZPTrpF40\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-NEqJTpV7F-XLJpEU7au))\"},children:\"Get started\"})}),className:\"framer-d3ul2p\",fonts:[\"FS;Montserrat-regular\"],layoutDependency:layoutDependency,layoutId:\"Ti5vdfXv1\",style:{\"--extracted-r6o4lv\":\"var(--variable-reference-NEqJTpV7F-XLJpEU7au)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\",\"--framer-paragraph-spacing\":\"0px\",\"--variable-reference-NEqJTpV7F-XLJpEU7au\":NEqJTpV7F},text:gnaXB_FDf,verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"sdby8ct3w-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1zZW1pYm9sZA==\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-weight\":\"600\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--variable-reference-NEqJTpV7F-XLJpEU7au))\"},children:\"Get started\"})}),fonts:[\"FS;Montserrat-semibold\"]}},baseVariant,gestureVariant)})})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-oGgnj.framer-1nrhkaj, .framer-oGgnj .framer-1nrhkaj { display: block; }\",\".framer-oGgnj.framer-1q8hxho { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 6px; position: relative; text-decoration: none; width: min-content; }\",\".framer-oGgnj .framer-1m2xfbw { bottom: 0px; flex: none; left: 0px; overflow: hidden; position: absolute; right: 0px; top: 0px; will-change: var(--framer-will-change-override, transform); }\",\".framer-oGgnj .framer-1t8v65h-container { flex: none; height: 80%; left: calc(50.00000000000002% - 80% / 2); position: absolute; top: calc(50.00000000000002% - 80% / 2); width: 80%; }\",\".framer-oGgnj .framer-16flzmf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 28px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 28px; }\",\".framer-oGgnj .framer-11bbfgu-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-oGgnj .framer-dn88dk { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 6px 0px 2px; position: relative; width: min-content; }\",\".framer-oGgnj .framer-d3ul2p { -webkit-user-select: none; flex: none; height: auto; position: relative; user-select: none; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-oGgnj.framer-1q8hxho, .framer-oGgnj .framer-16flzmf, .framer-oGgnj .framer-dn88dk { gap: 0px; } .framer-oGgnj.framer-1q8hxho > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-oGgnj.framer-1q8hxho > :first-child, .framer-oGgnj .framer-dn88dk > :first-child { margin-left: 0px; } .framer-oGgnj.framer-1q8hxho > :last-child, .framer-oGgnj .framer-dn88dk > :last-child { margin-right: 0px; } .framer-oGgnj .framer-16flzmf > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-oGgnj .framer-16flzmf > :first-child { margin-top: 0px; } .framer-oGgnj .framer-16flzmf > :last-child { margin-bottom: 0px; } .framer-oGgnj .framer-dn88dk > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } }\",\".framer-oGgnj.framer-v-kks226.framer-1q8hxho { padding: 6px 40px 6px 40px; }\",\".framer-oGgnj.framer-v-9jz46o .framer-1m2xfbw, .framer-oGgnj.framer-v-1d4yn0u .framer-1m2xfbw { aspect-ratio: 1 / 1; bottom: unset; height: var(--framer-aspect-ratio-supported, 60px); left: -10px; right: -10px; top: -10px; }\",\".framer-oGgnj.framer-v-9jz46o .framer-11bbfgu-container, .framer-oGgnj.framer-v-1d4yn0u .framer-11bbfgu-container { height: 16px; width: 16px; }\",\".framer-oGgnj.framer-v-1q8hxho.hover .framer-1m2xfbw { bottom: -2px; left: -2px; right: -2px; top: -2px; }\",\".framer-oGgnj.framer-v-1q8hxho.hover .framer-dn88dk { padding: 0px 6px 0px 10px; }\",'.framer-oGgnj[data-border=\"true\"]::after, .framer-oGgnj [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 138\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"DWii2mRTp\":{\"layout\":[\"auto\",\"auto\"]},\"PM2YghbXJ\":{\"layout\":[\"auto\",\"auto\"]},\"NKFYOxybj\":{\"layout\":[\"auto\",\"auto\"]},\"cKvwiTseh\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"G12sDdivV\":\"button\",\"gnaXB_FDf\":\"label\",\"NEqJTpV7F\":\"textColor\",\"V4GP67J_M\":\"dotColor\",\"uzYUogkDq\":\"link\",\"AAql3Z1IA\":\"newTab\",\"lflvlvWlr\":\"smoothScroll\",\"jlmyjJ5mE\":\"border\",\"DgGX5rgEB\":\"click\",\"levTt4hJO\":\"content\",\"HoW4Eozft\":\"iconColour\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerXLJpEU7au=withCSS(Component,css,\"framer-oGgnj\");export default FramerXLJpEU7au;FramerXLJpEU7au.displayName=\"Bouncy Button/Button\";FramerXLJpEU7au.defaultProps={height:40,width:138};addPropertyControls(FramerXLJpEU7au,{variant:{options:[\"sdby8ct3w\",\"DWii2mRTp\",\"PM2YghbXJ\",\"NKFYOxybj\"],optionTitles:[\"Default\",\"Mobile\",\"Variant 3\",\"Variant 4\"],title:\"Variant\",type:ControlType.Enum},G12sDdivV:{defaultValue:\"rgb(255, 255, 255)\",title:\"Button\",type:ControlType.Color},gnaXB_FDf:{defaultValue:\"Get started\",displayTextArea:false,title:\"Label\",type:ControlType.String},NEqJTpV7F:{defaultValue:\"var(--token-419394a1-565d-4952-8ba3-b4f1eb92339c, rgb(5, 5, 5))\",title:\"Text Color\",type:ControlType.Color},V4GP67J_M:{defaultValue:'var(--token-a042497d-749d-4d03-8d3a-78930210d354, rgb(5, 154, 255)) /* {\"name\":\"Accent\"} */',title:\"Dot Color\",type:ControlType.Color},uzYUogkDq:{title:\"Link\",type:ControlType.Link},AAql3Z1IA:{defaultValue:false,title:\"New Tab\",type:ControlType.Boolean},lflvlvWlr:{defaultValue:false,title:\"Smooth Scroll\",type:ControlType.Boolean},jlmyjJ5mE:{defaultValue:{borderColor:\"black\",borderStyle:\"solid\",borderWidth:1},title:\"Border\",type:ControlType.Border},DgGX5rgEB:{title:\"Click\",type:ControlType.EventHandler},levTt4hJO:{defaultValue:\"START HUSTLING  \u2022  \",displayTextArea:true,title:\"Content\",type:ControlType.String},HoW4Eozft:BouncyButtonDotControls?.[\"Om1LwRtBr\"]&&{...BouncyButtonDotControls[\"Om1LwRtBr\"],defaultValue:\"xO9OfzcK3\",description:undefined,hidden:undefined,title:\"Icon colour\"}});addFonts(FramerXLJpEU7au,[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/G3U4AIP7I5YYMBY4PZ5BNYEWWVH7G7QB/WED2HATCWTE6B4XVIFFTI3EALCE4D6PD/GDZ4LVIJF6WODYKVZK6E2737DCDQPEMZ.woff2\",weight:\"500\"},{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZ67QOF3FXYLOR27ABJOZVKKBKNRMKMF/EHBFE55HTLOOJHTZSLD54GSL3EBTAFNQ/DI2GHUWG3WKRXISSCTNDMTWKWZC25UIW.woff2\",weight:\"400\"},{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/DELXRVKO253LHPYOBD6KD7EW3TJKXCXF/L6SILXET3P727LN5N75LL5PG77IET2IT/6DP3DAT2N5LSQGN5ISPRN63WPP32A54A.woff2\",weight:\"600\"}]},...ArcFonts,...BouncyButtonDotFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerXLJpEU7au\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerVariables\":\"{\\\"G12sDdivV\\\":\\\"button\\\",\\\"gnaXB_FDf\\\":\\\"label\\\",\\\"NEqJTpV7F\\\":\\\"textColor\\\",\\\"V4GP67J_M\\\":\\\"dotColor\\\",\\\"uzYUogkDq\\\":\\\"link\\\",\\\"AAql3Z1IA\\\":\\\"newTab\\\",\\\"lflvlvWlr\\\":\\\"smoothScroll\\\",\\\"jlmyjJ5mE\\\":\\\"border\\\",\\\"DgGX5rgEB\\\":\\\"click\\\",\\\"levTt4hJO\\\":\\\"content\\\",\\\"HoW4Eozft\\\":\\\"iconColour\\\"}\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"DWii2mRTp\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"PM2YghbXJ\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"NKFYOxybj\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"cKvwiTseh\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"40\",\"framerIntrinsicWidth\":\"138\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./XLJpEU7au.map", "// Generated by Framer (f082bd6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"dctKiO4hN\",\"xl_oDLqXd\"];const serializationHash=\"framer-02m5x\";const variantClassNames={dctKiO4hN:\"framer-v-2ttxo0\",xl_oDLqXd:\"framer-v-1j3ppt6\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"dctKiO4hN\",\"Variant 2\":\"xl_oDLqXd\"};const getProps=({height,id,link,width,...props})=>{return{...props,IijCQ5cRe:link??props.IijCQ5cRe,variant:humanReadableVariantMap[props.variant]??props.variant??\"dctKiO4hN\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,IijCQ5cRe,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"dctKiO4hN\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppearn3sq8o=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"xl_oDLqXd\"),800);});const onAppear1o4g3zo=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"dctKiO4hN\"),800);});useOnVariantChange(baseVariant,{default:onAppearn3sq8o,xl_oDLqXd:onAppear1o4g3zo});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:IijCQ5cRe,nodeId:\"dctKiO4hN\",openInNewTab:true,children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-2ttxo0\",className,classNames)} framer-14pmfw3`,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"dctKiO4hN\",ref:ref??ref1,style:{...style},...addPropertyOverrides({xl_oDLqXd:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(55, 167, 95))\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(0, 0, 0))\"},children:\"Pedal\"}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-3sq8v0, rgb(15, 15, 15))\"},children:\" \"}),/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif'},children:\"Invest\"})]})}),className:\"framer-163oan\",fonts:[\"FS;Montserrat-regular\",\"GF;Architects Daughter-regular\"],layoutDependency:layoutDependency,layoutId:\"jVSphuuGO\",style:{\"--extracted-1w3ko1f\":\"rgb(0, 0, 0)\",\"--extracted-3sq8v0\":\"rgb(15, 15, 15)\",\"--extracted-r6o4lv\":\"rgb(55, 167, 95)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},variants:{xl_oDLqXd:{\"--extracted-1w3ko1f\":\"rgb(55, 167, 95)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({xl_oDLqXd:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-size\":\"20px\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif',\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(55, 167, 95))\"},children:\"Pedal\"}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-3sq8v0, rgb(15, 15, 15))\"},children:\" \"}),\"Invest\"]})})}},baseVariant,gestureVariant)})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-02m5x.framer-14pmfw3, .framer-02m5x .framer-14pmfw3 { display: block; }\",\".framer-02m5x.framer-2ttxo0 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: 115px; }\",\".framer-02m5x .framer-163oan { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-02m5x.framer-2ttxo0 { gap: 0px; } .framer-02m5x.framer-2ttxo0 > * { margin: 0px; margin-bottom: calc(10px / 2); margin-top: calc(10px / 2); } .framer-02m5x.framer-2ttxo0 > :first-child { margin-top: 0px; } .framer-02m5x.framer-2ttxo0 > :last-child { margin-bottom: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 115\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"xl_oDLqXd\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"IijCQ5cRe\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FrameroZ7dedNc0=withCSS(Component,css,\"framer-02m5x\");export default FrameroZ7dedNc0;FrameroZ7dedNc0.displayName=\"Pedal Invest\";FrameroZ7dedNc0.defaultProps={height:24,width:115};addPropertyControls(FrameroZ7dedNc0,{variant:{options:[\"dctKiO4hN\",\"xl_oDLqXd\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},IijCQ5cRe:{title:\"Link\",type:ControlType.Link}});addFonts(FrameroZ7dedNc0,[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZ67QOF3FXYLOR27ABJOZVKKBKNRMKMF/EHBFE55HTLOOJHTZSLD54GSL3EBTAFNQ/DI2GHUWG3WKRXISSCTNDMTWKWZC25UIW.woff2\",weight:\"400\"},{family:\"Architects Daughter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfYtq4szgE-Q.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameroZ7dedNc0\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"IijCQ5cRe\\\":\\\"link\\\"}\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"xl_oDLqXd\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"115\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./oZ7dedNc0.map", "// Generated by Framer (f082bd6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const enabledGestures={BJhOw8Sn4:{hover:true}};const cycleOrder=[\"BJhOw8Sn4\",\"GZ0E6auGD\"];const serializationHash=\"framer-cwYtS\";const variantClassNames={BJhOw8Sn4:\"framer-v-ph9wso\",GZ0E6auGD:\"framer-v-edgn4f\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Default:\"BJhOw8Sn4\",Selected:\"GZ0E6auGD\"};const getProps=({height,id,link,link2,pageName,width,...props})=>{return{...props,CBJ6XOtYB:link??props.CBJ6XOtYB,variant:humanReadableVariantMap[props.variant]??props.variant??\"BJhOw8Sn4\",X8PVoL_Ax:link2??props.X8PVoL_Ax,zgty524KL:pageName??props.zgty524KL??\"Startups\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,CBJ6XOtYB,zgty524KL,X8PVoL_Ax,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"BJhOw8Sn4\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapz71rm6=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(X8PVoL_Ax){const res=await X8PVoL_Ax(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"GZ0E6auGD\")return true;return false;};const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:CBJ6XOtYB,nodeId:\"BJhOw8Sn4\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-ph9wso\",className,classNames)} framer-sew6g6`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"BJhOw8Sn4\",onTap:onTapz71rm6,ref:ref??ref1,style:{...style},...addPropertyOverrides({\"BJhOw8Sn4-hover\":{\"data-framer-name\":undefined},GZ0E6auGD:{\"data-framer-name\":\"Selected\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-18hqu8r\",layoutDependency:layoutDependency,layoutId:\"Oyuezu_lK\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(15, 15, 15))\"},children:\"Startups\"})}),className:\"framer-1k3ihda\",fonts:[\"FS;Montserrat-regular\"],layoutDependency:layoutDependency,layoutId:\"SGDQxUI60\",style:{\"--extracted-r6o4lv\":\"rgb(15, 15, 15)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:zgty524KL,transformTemplate:transformTemplate1,variants:{\"BJhOw8Sn4-hover\":{\"--extracted-r6o4lv\":\"rgb(21, 64, 163)\"},GZ0E6auGD:{\"--extracted-r6o4lv\":\"rgb(21, 64, 163)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"BJhOw8Sn4-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(21, 64, 163))\"},children:\"Startups\"})}),fonts:[\"GF;Architects Daughter-regular\"]},GZ0E6auGD:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(21, 64, 163))\"},children:\"Startups\"})}),fonts:[\"GF;Architects Daughter-regular\"]}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1g9p6ab\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"dEPsoJ1F1\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 74 10\"><path d=\"M 0.977 8.789 C 0.977 8.789 6.378 1.092 73.023 1.092\" fill=\"transparent\" stroke-width=\"0.95\" stroke=\"rgb(21, 64, 163)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:9614169866,withExternalLayout:true,...addPropertyOverrides({GZ0E6auGD:{svgContentId:12738488154}},baseVariant,gestureVariant)})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-cwYtS.framer-sew6g6, .framer-cwYtS .framer-sew6g6 { display: block; }\",\".framer-cwYtS.framer-ph9wso { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: visible; padding: 0px 8px 0px 8px; position: relative; text-decoration: none; width: min-content; }\",\".framer-cwYtS .framer-18hqu8r { flex: none; height: 100%; overflow: visible; position: relative; width: 100px; }\",\".framer-cwYtS .framer-1k3ihda { flex: none; height: auto; left: 50%; position: absolute; top: 50%; white-space: pre; width: auto; }\",\".framer-cwYtS .framer-1g9p6ab { flex: none; height: 10px; left: calc(50.00000000000002% - 74px / 2); position: absolute; top: calc(104.1666666666667% - 10px / 2); width: 74px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-cwYtS.framer-ph9wso { gap: 0px; } .framer-cwYtS.framer-ph9wso > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-cwYtS.framer-ph9wso > :first-child { margin-left: 0px; } .framer-cwYtS.framer-ph9wso > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 116\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"GZ0E6auGD\":{\"layout\":[\"auto\",\"fixed\"]},\"BTG0qzUQL\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"CBJ6XOtYB\":\"link\",\"zgty524KL\":\"pageName\",\"X8PVoL_Ax\":\"link2\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerO5xt7w8c2=withCSS(Component,css,\"framer-cwYtS\");export default FramerO5xt7w8c2;FramerO5xt7w8c2.displayName=\"Header_Nav\";FramerO5xt7w8c2.defaultProps={height:24,width:116};addPropertyControls(FramerO5xt7w8c2,{variant:{options:[\"BJhOw8Sn4\",\"GZ0E6auGD\"],optionTitles:[\"Default\",\"Selected\"],title:\"Variant\",type:ControlType.Enum},CBJ6XOtYB:{title:\"Link\",type:ControlType.Link},zgty524KL:{defaultValue:\"Startups\",displayTextArea:false,title:\"Page_name\",type:ControlType.String},X8PVoL_Ax:{title:\"Link 2\",type:ControlType.EventHandler}});addFonts(FramerO5xt7w8c2,[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZ67QOF3FXYLOR27ABJOZVKKBKNRMKMF/EHBFE55HTLOOJHTZSLD54GSL3EBTAFNQ/DI2GHUWG3WKRXISSCTNDMTWKWZC25UIW.woff2\",weight:\"400\"},{family:\"Architects Daughter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfYtq4szgE-Q.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerO5xt7w8c2\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"116\",\"framerVariables\":\"{\\\"CBJ6XOtYB\\\":\\\"link\\\",\\\"zgty524KL\\\":\\\"pageName\\\",\\\"X8PVoL_Ax\\\":\\\"link2\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"GZ0E6auGD\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"BTG0qzUQL\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./O5xt7w8c2.map", "// Generated by Framer (c07a8c1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getPropertyControls,SmartComponentScopedContainer,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import PedalInvest from\"https://framerusercontent.com/modules/IJ0JUB1FrbM74CXXuMwf/gphrxuF7R6zLinqWWhRX/oZ7dedNc0.js\";import Header_Nav from\"https://framerusercontent.com/modules/Taou76jXpXobIkxFBv0S/Z9yHOyL8R5JmKTgG4opq/O5xt7w8c2.js\";const Header_NavFonts=getFonts(Header_Nav);const PedalInvestFonts=getFonts(PedalInvest);const MotionDivWithFX=withFX(motion.div);const Header_NavControls=getPropertyControls(Header_Nav);const cycleOrder=[\"HJlwzxQ7P\",\"a9pgOvw8P\"];const serializationHash=\"framer-69MWS\";const variantClassNames={a9pgOvw8P:\"framer-v-qinsp6\",HJlwzxQ7P:\"framer-v-1fh5rxh\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={delay:0,duration:.4,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,x:-80,y:0};const transition2={bounce:.2,delay:.4,duration:.4,type:\"spring\"};const animation1={opacity:0,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transition:transition2,x:-80,y:0};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={Default:\"BJhOw8Sn4\",Selected:\"GZ0E6auGD\"};const humanReadableVariantMap={\"Variant 1\":\"HJlwzxQ7P\",\"Variant 3\":\"a9pgOvw8P\"};const getProps=({height,id,link4,link5,link6,link7,pageName,pageName2,pageName3,pV,sV,width,...props})=>{return{...props,AM18aElz8:link4??props.AM18aElz8,ausu9hqLj:humanReadableEnumMap[sV]??sV??props.ausu9hqLj,iFyVmdMRA:link5??props.iFyVmdMRA,jNben6aYF:pageName3??props.jNben6aYF??\"Our Portfolio\",QcORCb8f6:link7??props.QcORCb8f6,rOSrs4sKo:link6??props.rOSrs4sKo,tl0MeRgeh:pageName2??props.tl0MeRgeh??\"Startups\",variant:humanReadableVariantMap[props.variant]??props.variant??\"HJlwzxQ7P\",W1yuFEORh:pageName??props.W1yuFEORh??\"Investors\",Zd64JiMbq:humanReadableEnumMap[pV]??pV??props.Zd64JiMbq};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,AM18aElz8,NylXvf68G,iFyVmdMRA,W1yuFEORh,rOSrs4sKo,tl0MeRgeh,QcORCb8f6,jNben6aYF,ausu9hqLj,Zd64JiMbq,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"HJlwzxQ7P\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1nyxmpg=activeVariantCallback(async(...args)=>{setVariant(\"a9pgOvw8P\");});const onTapk43vti=activeVariantCallback(async(...args)=>{setVariant(\"HJlwzxQ7P\");});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"a9pgOvw8P\")return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"a9pgOvw8P\")return false;return true;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1fh5rxh\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"HJlwzxQ7P\",ref:refBinding,style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:70,borderBottomRightRadius:70,borderTopLeftRadius:70,borderTopRightRadius:70,...style},...addPropertyOverrides({a9pgOvw8P:{\"data-framer-name\":\"Variant 3\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1au2knt\",layoutDependency:layoutDependency,layoutId:\"UVbog0NQq\",style:{backgroundColor:\"rgb(255, 255, 255)\",borderBottomLeftRadius:10,borderBottomRightRadius:10,borderTopLeftRadius:10,borderTopRightRadius:10,boxShadow:\"none\"},variants:{a9pgOvw8P:{boxShadow:\"0px 1px 24px 0px rgba(0, 0, 0, 0.16)\"}},children:isDisplayed()&&/*#__PURE__*/_jsxs(MotionDivWithFX,{__framer__animate:{transition:transition2},__framer__animateOnce:false,__framer__enter:animation,__framer__exit:animation1,__framer__styleAppearEffectEnabled:true,__framer__threshold:.5,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,className:\"framer-19t6mqo\",layoutDependency:layoutDependency,layoutId:\"hW_5zKxI1\",transformTemplate:transformTemplate1,...addPropertyOverrides({a9pgOvw8P:{transformTemplate:undefined}},baseVariant,gestureVariant),children:[isDisplayed1()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-9wqop7-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"i7Ossbzyi-container\",nodeId:\"i7Ossbzyi\",rendersWithMotion:true,scopeId:\"mGctrih77\",children:/*#__PURE__*/_jsx(Header_Nav,{CBJ6XOtYB:iFyVmdMRA,height:\"100%\",id:\"i7Ossbzyi\",layoutId:\"i7Ossbzyi\",style:{height:\"100%\",width:\"100%\"},variant:NylXvf68G,width:\"100%\",zgty524KL:W1yuFEORh})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,...addPropertyOverrides({a9pgOvw8P:{width:`calc(${componentViewport?.width||\"100vw\"} + 200px)`,y:(componentViewport?.y||0)+56+0+0+24+88}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-sr5vai-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"x4wp3HsNL-container\",nodeId:\"x4wp3HsNL\",rendersWithMotion:true,scopeId:\"mGctrih77\",children:/*#__PURE__*/_jsx(PedalInvest,{height:\"100%\",id:\"x4wp3HsNL\",IijCQ5cRe:AM18aElz8,layoutId:\"x4wp3HsNL\",style:{width:\"100%\"},variant:\"dctKiO4hN\",width:\"100%\"})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,...addPropertyOverrides({a9pgOvw8P:{width:`calc(${componentViewport?.width||\"100vw\"} + 200px)`,y:(componentViewport?.y||0)+56+0+0+24+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1b0cwa6-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"ua8fieE_6-container\",nodeId:\"ua8fieE_6\",rendersWithMotion:true,scopeId:\"mGctrih77\",children:/*#__PURE__*/_jsx(Header_Nav,{CBJ6XOtYB:rOSrs4sKo,height:\"100%\",id:\"ua8fieE_6\",layoutId:\"ua8fieE_6\",style:{height:\"100%\",width:\"100%\"},variant:ausu9hqLj,width:\"100%\",zgty524KL:tl0MeRgeh})})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:20,...addPropertyOverrides({a9pgOvw8P:{width:`calc(${componentViewport?.width||\"100vw\"} + 200px)`,y:(componentViewport?.y||0)+56+0+0+24+44}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1naikmv-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"lXJionxSK-container\",nodeId:\"lXJionxSK\",rendersWithMotion:true,scopeId:\"mGctrih77\",children:/*#__PURE__*/_jsx(Header_Nav,{CBJ6XOtYB:QcORCb8f6,height:\"100%\",id:\"lXJionxSK\",layoutId:\"lXJionxSK\",style:{height:\"100%\",width:\"100%\"},variant:Zd64JiMbq,width:\"100%\",zgty524KL:jNben6aYF})})})]})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8gtg4s\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"ojh4szELI\",onTap:onTap1nyxmpg,...addPropertyOverrides({a9pgOvw8P:{onTap:onTapk43vti}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-lw9h82\",\"data-framer-name\":\"Graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"psBmIbO6Q\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 6 16 L 18 16\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:11581100719,withExternalLayout:true,...addPropertyOverrides({a9pgOvw8P:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 0 0 L 12 0\" transform=\"translate(6 12) rotate(-45 6 0.5)\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:10020755687}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-an367c\",\"data-framer-name\":\"Graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"ijSsBoGyn\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 6 12 L 18 12\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:8833671459,withExternalLayout:true,...addPropertyOverrides({a9pgOvw8P:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 0 0 L 12 0\" transform=\"translate(6 12) rotate(45 6 0.5)\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:12657119840}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(SVG,{className:\"framer-ghxt58\",\"data-framer-name\":\"Graphic\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"lfmoX3iGj\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 6 8 L 18 8\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:11490273258,withExternalLayout:true,...addPropertyOverrides({a9pgOvw8P:{svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 24 24\"><path d=\"M 0 0 L 12 0\" transform=\"translate(6 12) rotate(45 6 0.5)\" fill=\"transparent\" stroke=\"rgb(0, 0, 0)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:12657119840}},baseVariant,gestureVariant)})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-69MWS.framer-14z6chi, .framer-69MWS .framer-14z6chi { display: block; }\",\".framer-69MWS.framer-1fh5rxh { height: 41px; overflow: visible; position: relative; width: 40px; }\",\".framer-69MWS .framer-1au2knt { flex: none; height: 24px; left: calc(50.00000000000002% - 24px / 2); overflow: hidden; position: absolute; top: calc(50.00000000000002% - 24px / 2); width: 24px; will-change: var(--framer-will-change-override, transform); }\",\".framer-69MWS .framer-19t6mqo { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: center; left: 50%; overflow: visible; padding: 24px 0px 24px 0px; position: absolute; top: 50%; width: 100%; }\",\".framer-69MWS .framer-9wqop7-container, .framer-69MWS .framer-1b0cwa6-container, .framer-69MWS .framer-1naikmv-container { flex: none; height: 20px; position: relative; width: 100%; }\",\".framer-69MWS .framer-sr5vai-container { flex: none; height: auto; position: relative; width: 100%; }\",\".framer-69MWS .framer-8gtg4s { bottom: 0px; cursor: pointer; flex: none; left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; }\",\".framer-69MWS .framer-lw9h82, .framer-69MWS .framer-an367c, .framer-69MWS .framer-ghxt58 { flex: none; height: 24px; left: calc(50.00000000000002% - 24px / 2); position: absolute; top: calc(50.00000000000002% - 24px / 2); width: 24px; }\",\".framer-69MWS.framer-v-qinsp6.framer-1fh5rxh { aspect-ratio: 1 / 1; height: var(--framer-aspect-ratio-supported, 40px); }\",\".framer-69MWS.framer-v-qinsp6 .framer-1au2knt { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; left: -200px; padding: 0px; right: 0px; top: 56px; width: unset; }\",\".framer-69MWS.framer-v-qinsp6 .framer-19t6mqo { left: unset; position: relative; top: unset; }\",\".framer-69MWS.framer-v-qinsp6 .framer-sr5vai-container { order: 3; }\",\".framer-69MWS.framer-v-qinsp6 .framer-1b0cwa6-container { order: 0; }\",\".framer-69MWS.framer-v-qinsp6 .framer-1naikmv-container { order: 1; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 40\n * @framerIntrinsicWidth 40\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"a9pgOvw8P\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"AM18aElz8\":\"link4\",\"iFyVmdMRA\":\"link5\",\"W1yuFEORh\":\"pageName\",\"rOSrs4sKo\":\"link6\",\"tl0MeRgeh\":\"pageName2\",\"QcORCb8f6\":\"link7\",\"jNben6aYF\":\"pageName3\",\"ausu9hqLj\":\"sV\",\"Zd64JiMbq\":\"pV\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramermGctrih77=withCSS(Component,css,\"framer-69MWS\");export default FramermGctrih77;FramermGctrih77.displayName=\"Menu\";FramermGctrih77.defaultProps={height:40,width:40};addPropertyControls(FramermGctrih77,{variant:{options:[\"HJlwzxQ7P\",\"a9pgOvw8P\"],optionTitles:[\"Variant 1\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum},AM18aElz8:{title:\"Link 4\",type:ControlType.Link},iFyVmdMRA:{title:\"Link 5\",type:ControlType.Link},W1yuFEORh:{defaultValue:\"Investors\",displayTextArea:false,title:\"Page Name\",type:ControlType.String},rOSrs4sKo:{title:\"Link 6\",type:ControlType.Link},tl0MeRgeh:{defaultValue:\"Startups\",displayTextArea:false,title:\"Page Name 2\",type:ControlType.String},QcORCb8f6:{title:\"Link 7\",type:ControlType.Link},jNben6aYF:{defaultValue:\"Our Portfolio\",displayTextArea:false,title:\"Page Name 3\",type:ControlType.String},ausu9hqLj:Header_NavControls?.[\"variant\"]&&{...Header_NavControls[\"variant\"],defaultValue:null,description:undefined,hidden:undefined,title:\"S_V\"},Zd64JiMbq:Header_NavControls?.[\"variant\"]&&{...Header_NavControls[\"variant\"],defaultValue:null,description:undefined,hidden:undefined,title:\"P_V\"}});addFonts(FramermGctrih77,[{explicitInter:true,fonts:[]},...Header_NavFonts,...PedalInvestFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramermGctrih77\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"AM18aElz8\\\":\\\"link4\\\",\\\"iFyVmdMRA\\\":\\\"link5\\\",\\\"W1yuFEORh\\\":\\\"pageName\\\",\\\"rOSrs4sKo\\\":\\\"link6\\\",\\\"tl0MeRgeh\\\":\\\"pageName2\\\",\\\"QcORCb8f6\\\":\\\"link7\\\",\\\"jNben6aYF\\\":\\\"pageName3\\\",\\\"ausu9hqLj\\\":\\\"sV\\\",\\\"Zd64JiMbq\\\":\\\"pV\\\"}\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"a9pgOvw8P\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicWidth\":\"40\",\"framerIntrinsicHeight\":\"40\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./mGctrih77.map", "// Generated by Framer (013b13c)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,RichText,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const enabledGestures={D0JtqnAhD:{hover:true}};const cycleOrder=[\"D0JtqnAhD\",\"vs8eO6ARp\"];const serializationHash=\"framer-Xw8Kc\";const variantClassNames={D0JtqnAhD:\"framer-v-1inxrnl\",vs8eO6ARp:\"framer-v-f7i5a4\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={Default:\"D0JtqnAhD\",Selected:\"vs8eO6ARp\"};const getProps=({height,id,link,link2,pageName,width,...props})=>{return{...props,CBJ6XOtYB:link??props.CBJ6XOtYB,variant:humanReadableVariantMap[props.variant]??props.variant??\"D0JtqnAhD\",X8PVoL_Ax:link2??props.X8PVoL_Ax,zgty524KL:pageName??props.zgty524KL??\"Startups\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,CBJ6XOtYB,zgty524KL,X8PVoL_Ax,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"D0JtqnAhD\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapz71rm6=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(X8PVoL_Ax){const res=await X8PVoL_Ax(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"vs8eO6ARp\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:CBJ6XOtYB,motionChild:true,nodeId:\"D0JtqnAhD\",scopeId:\"RCHbZjYBB\",children:/*#__PURE__*/_jsx(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-1inxrnl\",className,classNames)} framer-1llhb65`,\"data-framer-name\":\"Default\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"D0JtqnAhD\",onTap:onTapz71rm6,ref:refBinding,style:{...style},...addPropertyOverrides({\"D0JtqnAhD-hover\":{\"data-framer-name\":undefined},vs8eO6ARp:{\"data-framer-name\":\"Selected\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-vy4uzd\",layoutDependency:layoutDependency,layoutId:\"BPxJVyLst\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(15, 15, 15))\"},children:\"Startups\"})}),className:\"framer-1ipm7ie\",fonts:[\"FS;Montserrat-regular\"],layoutDependency:layoutDependency,layoutId:\"r9tWhGlz5\",style:{\"--extracted-r6o4lv\":\"rgb(15, 15, 15)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:zgty524KL,transformTemplate:transformTemplate1,variants:{\"D0JtqnAhD-hover\":{\"--extracted-r6o4lv\":\"rgb(21, 64, 163)\"},vs8eO6ARp:{\"--extracted-r6o4lv\":\"rgb(21, 64, 163)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"D0JtqnAhD-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(21, 64, 163))\"},children:\"Startups\"})}),fonts:[\"GF;Architects Daughter-regular\"]},vs8eO6ARp:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif',\"--framer-font-size\":\"20px\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(21, 64, 163))\"},children:\"Startups\"})}),fonts:[\"GF;Architects Daughter-regular\"]}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-4oro89\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"YCyjBezzB\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 74 10\"><path d=\"M 0.977 8.789 C 0.977 8.789 6.378 1.092 73.023 1.092\" fill=\"transparent\" stroke-width=\"0.95\" stroke=\"rgb(21, 64, 163)\" stroke-linecap=\"round\" stroke-linejoin=\"bevel\"></path></svg>',svgContentId:9614169866,withExternalLayout:true,...addPropertyOverrides({vs8eO6ARp:{svgContentId:12738488154}},baseVariant,gestureVariant)})]})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Xw8Kc.framer-1llhb65, .framer-Xw8Kc .framer-1llhb65 { display: block; }\",\".framer-Xw8Kc.framer-1inxrnl { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: visible; padding: 0px 8px 0px 8px; position: relative; text-decoration: none; width: min-content; }\",\".framer-Xw8Kc .framer-vy4uzd { flex: none; height: 100%; overflow: visible; position: relative; width: 100px; }\",\".framer-Xw8Kc .framer-1ipm7ie { flex: none; height: auto; left: 50%; position: absolute; top: 50%; white-space: pre; width: auto; }\",\".framer-Xw8Kc .framer-4oro89 { flex: none; height: 10px; left: calc(50.00000000000002% - 74px / 2); position: absolute; top: calc(104.00000000000003% - 10px / 2); width: 74px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-Xw8Kc.framer-1inxrnl { gap: 0px; } .framer-Xw8Kc.framer-1inxrnl > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-Xw8Kc.framer-1inxrnl > :first-child { margin-left: 0px; } .framer-Xw8Kc.framer-1inxrnl > :last-child { margin-right: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 116\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"vs8eO6ARp\":{\"layout\":[\"auto\",\"fixed\"]},\"HvKVTTT_t\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"CBJ6XOtYB\":\"link\",\"zgty524KL\":\"pageName\",\"X8PVoL_Ax\":\"link2\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerRCHbZjYBB=withCSS(Component,css,\"framer-Xw8Kc\");export default FramerRCHbZjYBB;FramerRCHbZjYBB.displayName=\"Header_Nav\";FramerRCHbZjYBB.defaultProps={height:24,width:116};addPropertyControls(FramerRCHbZjYBB,{variant:{options:[\"D0JtqnAhD\",\"vs8eO6ARp\"],optionTitles:[\"Default\",\"Selected\"],title:\"Variant\",type:ControlType.Enum},CBJ6XOtYB:{title:\"Link\",type:ControlType.Link},zgty524KL:{defaultValue:\"Startups\",displayTextArea:false,title:\"Page_name\",type:ControlType.String},X8PVoL_Ax:{title:\"Link 2\",type:ControlType.EventHandler}});addFonts(FramerRCHbZjYBB,[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZ67QOF3FXYLOR27ABJOZVKKBKNRMKMF/EHBFE55HTLOOJHTZSLD54GSL3EBTAFNQ/DI2GHUWG3WKRXISSCTNDMTWKWZC25UIW.woff2\",weight:\"400\"},{family:\"Architects Daughter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfYtq4szgE-Q.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerRCHbZjYBB\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"vs8eO6ARp\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"HvKVTTT_t\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"CBJ6XOtYB\\\":\\\"link\\\",\\\"zgty524KL\\\":\\\"pageName\\\",\\\"X8PVoL_Ax\\\":\\\"link2\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicWidth\":\"116\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"24\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./RCHbZjYBB.map", "// Generated by Framer (c07a8c1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getLoadingLazyAtYPosition,getPropertyControls,Image,Link,ResolveLinks,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useRouter,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import PedalInvest from\"https://framerusercontent.com/modules/IJ0JUB1FrbM74CXXuMwf/gphrxuF7R6zLinqWWhRX/oZ7dedNc0.js\";import Menu from\"https://framerusercontent.com/modules/WGxmAfhNeHBnc0mbZIuZ/3Xo6NJmCBwgRQKBomLvv/mGctrih77.js\";import Header_Nav from\"https://framerusercontent.com/modules/38sUhLK23NrJC7VBXb0d/mKtrApozNgwHLHMt4WsR/RCHbZjYBB.js\";import BouncyButtonButton from\"https://framerusercontent.com/modules/xrqQ1HdwNNewJP3Os0eD/opm7Vzyo1dUHvDy8duWJ/XLJpEU7au.js\";const Header_NavFonts=getFonts(Header_Nav);const PedalInvestFonts=getFonts(PedalInvest);const BouncyButtonButtonFonts=getFonts(BouncyButtonButton);const MenuFonts=getFonts(Menu);const Header_NavControls=getPropertyControls(Header_Nav);const MenuControls=getPropertyControls(Menu);const cycleOrder=[\"P05eqkgwY\",\"Iy8KJ5ui4\",\"TtiOWcBrZ\",\"YVYE7CYVH\",\"g53NIdIjB\",\"VOnDR_Oe9\"];const serializationHash=\"framer-WfYQ8\";const variantClassNames={g53NIdIjB:\"framer-v-gwlm3e\",Iy8KJ5ui4:\"framer-v-2ekp3a\",P05eqkgwY:\"framer-v-1iw1beh\",TtiOWcBrZ:\"framer-v-14r4uv5\",VOnDR_Oe9:\"framer-v-y3k8z9\",YVYE7CYVH:\"framer-v-nhequ3\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableEnumMap={Default:\"D0JtqnAhD\",Selected:\"vs8eO6ARp\"};const humanReadableEnumMap1={Default:\"BJhOw8Sn4\",Selected:\"GZ0E6auGD\"};const humanReadableVariantMap={\"Variant 4\":\"YVYE7CYVH\",\"Variant 5\":\"g53NIdIjB\",\"Variant 6\":\"VOnDR_Oe9\",Dektop:\"P05eqkgwY\",Phone:\"TtiOWcBrZ\",Tab:\"Iy8KJ5ui4\"};const getProps=({click,height,id,pV,sV,variant5,variant6,width,...props})=>{return{...props,ftOUhx3_N:click??props.ftOUhx3_N,HJNJMxgXX:humanReadableEnumMap[variant5]??variant5??props.HJNJMxgXX,RptIWx8wD:humanReadableEnumMap1[pV]??pV??props.RptIWx8wD??\"BJhOw8Sn4\",variant:humanReadableVariantMap[props.variant]??props.variant??\"P05eqkgwY\",VJSZL_UJA:humanReadableEnumMap1[sV]??sV??props.VJSZL_UJA??\"BJhOw8Sn4\",W2MKUdzt5:humanReadableEnumMap[variant6]??variant6??props.W2MKUdzt5};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,ftOUhx3_N,HJNJMxgXX,W2MKUdzt5,VJSZL_UJA,RptIWx8wD,kZBSKrgA7Z0c8yur4c,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"P05eqkgwY\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const DgGX5rgEB126cfou=activeVariantCallback(async(...args)=>{if(ftOUhx3_N){const res=await ftOUhx3_N(...args);if(res===false)return false;}});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"YVYE7CYVH\",\"g53NIdIjB\",\"VOnDR_Oe9\"].includes(baseVariant))return true;return false;};const isDisplayed1=()=>{if([\"YVYE7CYVH\",\"g53NIdIjB\",\"VOnDR_Oe9\"].includes(baseVariant))return false;return true;};const isDisplayed2=()=>{if(baseVariant===\"VOnDR_Oe9\")return false;return true;};const isDisplayed3=()=>{if(baseVariant===\"TtiOWcBrZ\")return false;return true;};const isDisplayed4=()=>{if([\"Iy8KJ5ui4\",\"YVYE7CYVH\",\"g53NIdIjB\"].includes(baseVariant))return false;return true;};const router=useRouter();const isDisplayed5=()=>{if([\"Iy8KJ5ui4\",\"TtiOWcBrZ\"].includes(baseVariant))return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1iw1beh\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Dektop\",layoutDependency:layoutDependency,layoutId:\"P05eqkgwY\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(0, 0, 0, 0.08)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",backdropFilter:\"blur(10px)\",backgroundColor:\"rgba(255, 255, 255, 0.24)\",WebkitBackdropFilter:\"blur(10px)\",...style},...addPropertyOverrides({g53NIdIjB:{\"data-framer-name\":\"Variant 5\"},Iy8KJ5ui4:{\"data-framer-name\":\"Tab\"},TtiOWcBrZ:{\"data-framer-name\":\"Phone\"},VOnDR_Oe9:{\"data-framer-name\":\"Variant 6\"},YVYE7CYVH:{\"data-framer-name\":\"Variant 4\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1kvcuin\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"NCmgMbq1I\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0.08)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\"}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1f57d00\",layoutDependency:layoutDependency,layoutId:\"KtiKBAwfY\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-9n36ui\",layoutDependency:layoutDependency,layoutId:\"u9HZzblJT\",...addPropertyOverrides({VOnDR_Oe9:{transformTemplate:transformTemplate1}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsxs(motion.p,{style:{\"--font-selector\":\"RlM7TW9udHNlcnJhdC1yZWd1bGFy\",\"--framer-font-family\":'\"Montserrat\", \"Montserrat Placeholder\", sans-serif',\"--framer-font-size\":\"32px\",\"--framer-line-height\":\"1em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(55, 167, 95))\"},children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(0, 0, 0))\"},children:\"Pedal\"}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-3sq8v0, rgb(15, 15, 15))\"},children:\" \"}),/*#__PURE__*/_jsx(motion.span,{style:{\"--font-selector\":\"R0Y7QXJjaGl0ZWN0cyBEYXVnaHRlci1yZWd1bGFy\",\"--framer-font-family\":'\"Architects Daughter\", sans-serif'},children:\"Invest\"})]})}),className:\"framer-18h6xr1\",fonts:[\"FS;Montserrat-regular\",\"GF;Architects Daughter-regular\"],layoutDependency:layoutDependency,layoutId:\"BKd1yUjKD\",style:{\"--extracted-1w3ko1f\":\"rgb(0, 0, 0)\",\"--extracted-3sq8v0\":\"rgb(15, 15, 15)\",\"--extracted-r6o4lv\":\"rgb(55, 167, 95)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(Link,{href:{webPageId:\"dExEXfrNb\"},motionChild:true,nodeId:\"O1KimgeiX\",openInNewTab:false,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(Image,{as:\"a\",background:{alt:\"\",fit:\"fill\",intrinsicHeight:97.5,intrinsicWidth:519.5,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+20+3.5),pixelHeight:195,pixelWidth:1039,sizes:\"172px\",src:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=512 512w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png 1039w\"},className:\"framer-yo1as8 framer-abh4n1\",\"data-framer-name\":\"PedalStart Logo File\",layoutDependency:layoutDependency,layoutId:\"O1KimgeiX\",...addPropertyOverrides({Iy8KJ5ui4:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:97.5,intrinsicWidth:519.5,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+3.5),pixelHeight:195,pixelWidth:1039,sizes:\"172px\",src:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=512 512w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png 1039w\"}},TtiOWcBrZ:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:97.5,intrinsicWidth:519.5,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+3.5),pixelHeight:195,pixelWidth:1039,sizes:\"172px\",src:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024\",srcSet:\"https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=512 512w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/i5rrtRm0QxpHP7AChc3IzUsze7A.png 1039w\"}}},baseVariant,gestureVariant)})}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-kfdfwo\",layoutDependency:layoutDependency,layoutId:\"do_3YnJNA\",children:[isDisplayed3()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1vka26q\",layoutDependency:layoutDependency,layoutId:\"jeJwKYeyd\",children:[isDisplayed4()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-10hvdyy\",\"data-framer-name\":\"Header_Nav\",layoutDependency:layoutDependency,layoutId:\"wbGHJPKVw\",children:[/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"cOgCVQWM4\"},implicitPathVariables:undefined}],children:resolvedLinks=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"100px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+20+0+0+8+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1ecnzty-container\",layoutDependency:layoutDependency,layoutId:\"fEQv26GE4-container\",nodeId:\"fEQv26GE4\",rendersWithMotion:true,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(Header_Nav,{CBJ6XOtYB:resolvedLinks[0],height:\"100%\",id:\"fEQv26GE4\",layoutId:\"fEQv26GE4\",style:{width:\"100%\"},variant:HJNJMxgXX,width:\"100%\",zgty524KL:\"Startups\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"Atd2zB9BD\"},implicitPathVariables:undefined}],children:resolvedLinks1=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"128px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+20+0+0+8+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-16tufxt-container\",layoutDependency:layoutDependency,layoutId:\"U7bOJt8zy-container\",nodeId:\"U7bOJt8zy\",rendersWithMotion:true,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(Header_Nav,{CBJ6XOtYB:resolvedLinks1[0],height:\"100%\",id:\"U7bOJt8zy\",layoutId:\"U7bOJt8zy\",style:{width:\"100%\"},variant:W2MKUdzt5,width:\"100%\",zgty524KL:\"Our Portfolio\"})})})}),/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"hYgvJduTN\"},implicitPathVariables:undefined}],children:resolvedLinks2=>/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"115px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+20+0+0+8+0,children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-ilu3gb-container\",isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"jTf28Y4In-container\",nodeId:\"jTf28Y4In\",rendersWithMotion:true,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(PedalInvest,{height:\"100%\",id:\"jTf28Y4In\",IijCQ5cRe:resolvedLinks2[0],layoutId:\"jTf28Y4In\",style:{width:\"100%\"},variant:\"dctKiO4hN\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||80)-0-80)/2)+20+0+0+0,...addPropertyOverrides({g53NIdIjB:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+0+0+0},Iy8KJ5ui4:{y:(componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+0+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-17zi8sz-container\",layoutDependency:layoutDependency,layoutId:\"JWgAL0TrI-container\",nodeId:\"JWgAL0TrI\",rendersWithMotion:true,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(BouncyButtonButton,{AAql3Z1IA:false,DgGX5rgEB:DgGX5rgEB126cfou,G12sDdivV:\"rgb(34, 102, 255)\",gnaXB_FDf:\"Apply Now\",height:\"100%\",HoW4Eozft:\"ku15dPLJp\",id:\"JWgAL0TrI\",jlmyjJ5mE:{borderColor:\"rgb(34, 102, 255)\",borderStyle:\"solid\",borderWidth:1},layoutId:\"JWgAL0TrI\",levTt4hJO:\"START HUSTLING  \u2022  \",lflvlvWlr:true,NEqJTpV7F:\"rgb(255, 255, 255)\",V4GP67J_M:\"rgb(255, 255, 255)\",variant:\"sdby8ct3w\",width:\"100%\",...addPropertyOverrides({g53NIdIjB:{G12sDdivV:\"rgb(55, 167, 95)\",gnaXB_FDf:\"Join PedalInvest\",jlmyjJ5mE:{borderColor:\"rgb(55, 167, 95)\",borderStyle:\"solid\",borderWidth:1}},YVYE7CYVH:{G12sDdivV:\"rgb(55, 167, 95)\",gnaXB_FDf:\"Join PedalInvest\",jlmyjJ5mE:{borderColor:\"rgb(55, 167, 95)\",borderStyle:\"solid\",borderWidth:1}}},baseVariant,gestureVariant)})})})]}),isDisplayed5()&&/*#__PURE__*/_jsx(ResolveLinks,{links:[{href:{webPageId:\"hYgvJduTN\"},implicitPathVariables:undefined},{href:kZBSKrgA7Z0c8yur4c,implicitPathVariables:undefined},{href:{webPageId:\"cOgCVQWM4\"},implicitPathVariables:undefined},{href:{webPageId:\"Atd2zB9BD\"},implicitPathVariables:undefined},{href:{webPageId:\"hYgvJduTN\"},implicitPathVariables:undefined},{href:kZBSKrgA7Z0c8yur4c,implicitPathVariables:undefined},{href:{webPageId:\"cOgCVQWM4\"},implicitPathVariables:undefined},{href:{webPageId:\"Atd2zB9BD\"},implicitPathVariables:undefined},{href:{webPageId:\"hYgvJduTN\"},implicitPathVariables:undefined},{href:kZBSKrgA7Z0c8yur4c,implicitPathVariables:undefined},{href:{webPageId:\"cOgCVQWM4\"},implicitPathVariables:undefined},{href:{webPageId:\"Atd2zB9BD\"},implicitPathVariables:undefined}],children:resolvedLinks3=>/*#__PURE__*/_jsx(ComponentViewportProvider,{...addPropertyOverrides({Iy8KJ5ui4:{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+0+0},TtiOWcBrZ:{height:40,y:(componentViewport?.y||0)+(0+((componentViewport?.height||60)-0-80)/2)+20+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-14b2nrc-container\",layoutDependency:layoutDependency,layoutId:\"lP_YaYlOA-container\",nodeId:\"lP_YaYlOA\",rendersWithMotion:true,scopeId:\"Nb6PHI77H\",children:/*#__PURE__*/_jsx(Menu,{AM18aElz8:resolvedLinks3[0],ausu9hqLj:\"BJhOw8Sn4\",height:\"100%\",id:\"lP_YaYlOA\",iFyVmdMRA:resolvedLinks3[1],jNben6aYF:\"Our Portfolio\",layoutId:\"lP_YaYlOA\",QcORCb8f6:resolvedLinks3[3],rOSrs4sKo:resolvedLinks3[2],tl0MeRgeh:\"Startups\",variant:\"HJlwzxQ7P\",W1yuFEORh:\"Investors\",width:\"100%\",Zd64JiMbq:\"BJhOw8Sn4\",...addPropertyOverrides({Iy8KJ5ui4:{AM18aElz8:resolvedLinks3[4],ausu9hqLj:VJSZL_UJA,iFyVmdMRA:resolvedLinks3[5],QcORCb8f6:resolvedLinks3[7],rOSrs4sKo:resolvedLinks3[6],Zd64JiMbq:RptIWx8wD},TtiOWcBrZ:{AM18aElz8:resolvedLinks3[8],iFyVmdMRA:resolvedLinks3[9],QcORCb8f6:resolvedLinks3[11],rOSrs4sKo:resolvedLinks3[10]}},baseVariant,gestureVariant)})})})})]})]})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-eltsrk\",\"data-border\":true,layoutDependency:layoutDependency,layoutId:\"iYwEpdcYP\",style:{\"--border-bottom-width\":\"0px\",\"--border-color\":\"rgba(0, 0, 0, 0.08)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\"}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-WfYQ8.framer-abh4n1, .framer-WfYQ8 .framer-abh4n1 { display: block; }\",\".framer-WfYQ8.framer-1iw1beh { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; height: 80px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1200px; }\",\".framer-WfYQ8 .framer-1kvcuin, .framer-WfYQ8 .framer-eltsrk { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 80px); overflow: hidden; position: relative; width: 80px; }\",\".framer-WfYQ8 .framer-1f57d00 { flex: 1 0 0px; height: 80px; overflow: visible; position: relative; width: 1px; }\",\".framer-WfYQ8 .framer-9n36ui { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; left: 0px; overflow: visible; padding: 0px 16px 0px 16px; position: absolute; top: 20px; width: 100%; }\",\".framer-WfYQ8 .framer-18h6xr1 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-WfYQ8 .framer-yo1as8 { aspect-ratio: 5.328205128205128 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 32px); overflow: visible; position: relative; text-decoration: none; width: 172px; }\",\".framer-WfYQ8 .framer-kfdfwo { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-WfYQ8 .framer-1vka26q { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 40px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-WfYQ8 .framer-10hvdyy { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-WfYQ8 .framer-1ecnzty-container { flex: none; height: auto; position: relative; width: 100px; }\",\".framer-WfYQ8 .framer-16tufxt-container { flex: none; height: auto; position: relative; width: 128px; }\",\".framer-WfYQ8 .framer-ilu3gb-container { flex: none; height: auto; position: relative; width: 115px; }\",\".framer-WfYQ8 .framer-17zi8sz-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-WfYQ8 .framer-14b2nrc-container { flex: none; height: auto; position: relative; width: auto; z-index: 10; }\",\".framer-WfYQ8.framer-v-2ekp3a.framer-1iw1beh, .framer-WfYQ8.framer-v-14r4uv5.framer-1iw1beh, .framer-WfYQ8.framer-v-gwlm3e.framer-1iw1beh, .framer-WfYQ8.framer-v-y3k8z9.framer-1iw1beh { height: 60px; }\",\".framer-WfYQ8.framer-v-2ekp3a .framer-1kvcuin, .framer-WfYQ8.framer-v-2ekp3a .framer-eltsrk, .framer-WfYQ8.framer-v-gwlm3e .framer-1kvcuin, .framer-WfYQ8.framer-v-gwlm3e .framer-eltsrk { aspect-ratio: unset; height: 60px; width: 40px; }\",\".framer-WfYQ8.framer-v-14r4uv5 .framer-1kvcuin, .framer-WfYQ8.framer-v-14r4uv5 .framer-eltsrk, .framer-WfYQ8.framer-v-y3k8z9 .framer-1kvcuin, .framer-WfYQ8.framer-v-y3k8z9 .framer-eltsrk { aspect-ratio: unset; height: 60px; width: 20px; }\",\".framer-WfYQ8.framer-v-14r4uv5 .framer-9n36ui { padding: 0px 8px 0px 8px; }\",\".framer-WfYQ8.framer-v-y3k8z9 .framer-9n36ui { left: 50%; padding: 0px 8px 0px 8px; top: 50%; }\",'.framer-WfYQ8[data-border=\"true\"]::after, .framer-WfYQ8 [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 80\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"Iy8KJ5ui4\":{\"layout\":[\"fixed\",\"fixed\"]},\"TtiOWcBrZ\":{\"layout\":[\"fixed\",\"fixed\"]},\"YVYE7CYVH\":{\"layout\":[\"fixed\",\"fixed\"]},\"g53NIdIjB\":{\"layout\":[\"fixed\",\"fixed\"]},\"VOnDR_Oe9\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"ftOUhx3_N\":\"click\",\"HJNJMxgXX\":\"variant5\",\"W2MKUdzt5\":\"variant6\",\"VJSZL_UJA\":\"sV\",\"RptIWx8wD\":\"pV\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerNb6PHI77H=withCSS(Component,css,\"framer-WfYQ8\");export default FramerNb6PHI77H;FramerNb6PHI77H.displayName=\"Header _2\";FramerNb6PHI77H.defaultProps={height:80,width:1200};addPropertyControls(FramerNb6PHI77H,{variant:{options:[\"P05eqkgwY\",\"Iy8KJ5ui4\",\"TtiOWcBrZ\",\"YVYE7CYVH\",\"g53NIdIjB\",\"VOnDR_Oe9\"],optionTitles:[\"Dektop\",\"Tab\",\"Phone\",\"Variant 4\",\"Variant 5\",\"Variant 6\"],title:\"Variant\",type:ControlType.Enum},ftOUhx3_N:{title:\"Click\",type:ControlType.EventHandler},HJNJMxgXX:Header_NavControls?.[\"variant\"]&&{...Header_NavControls[\"variant\"],defaultValue:null,description:undefined,hidden:undefined,title:\"Variant 5\"},W2MKUdzt5:Header_NavControls?.[\"variant\"]&&{...Header_NavControls[\"variant\"],defaultValue:null,description:undefined,hidden:undefined,title:\"Variant 6\"},VJSZL_UJA:MenuControls?.[\"ausu9hqLj\"]&&{...MenuControls[\"ausu9hqLj\"],defaultValue:\"BJhOw8Sn4\",description:undefined,hidden:undefined,title:\"S V\"},RptIWx8wD:MenuControls?.[\"Zd64JiMbq\"]&&{...MenuControls[\"Zd64JiMbq\"],defaultValue:\"BJhOw8Sn4\",description:undefined,hidden:undefined,title:\"P V\"}});addFonts(FramerNb6PHI77H,[{explicitInter:true,fonts:[{family:\"Montserrat\",source:\"fontshare\",style:\"normal\",url:\"https://framerusercontent.com/third-party-assets/fontshare/wf/NZ67QOF3FXYLOR27ABJOZVKKBKNRMKMF/EHBFE55HTLOOJHTZSLD54GSL3EBTAFNQ/DI2GHUWG3WKRXISSCTNDMTWKWZC25UIW.woff2\",weight:\"400\"},{family:\"Architects Daughter\",source:\"google\",style:\"normal\",url:\"https://fonts.gstatic.com/s/architectsdaughter/v19/KtkxAKiDZI_td1Lkx62xHZHDtgO_Y-bvfYtq4szgE-Q.woff2\",weight:\"400\"}]},...Header_NavFonts,...PedalInvestFonts,...BouncyButtonButtonFonts,...MenuFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerNb6PHI77H\",\"slots\":[],\"annotations\":{\"framerColorSyntax\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"Iy8KJ5ui4\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"TtiOWcBrZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"YVYE7CYVH\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"g53NIdIjB\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"VOnDR_Oe9\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"ftOUhx3_N\\\":\\\"click\\\",\\\"HJNJMxgXX\\\":\\\"variant5\\\",\\\"W2MKUdzt5\\\":\\\"variant6\\\",\\\"VJSZL_UJA\\\":\\\"sV\\\",\\\"RptIWx8wD\\\":\\\"pV\\\"}\",\"framerIntrinsicHeight\":\"80\",\"framerAutoSizeImages\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1200\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Nb6PHI77H.map", "// Generated by Framer (6d82f59)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-vYXEH .framer-styles-preset-74nncj:not(.rich-text-wrapper), .framer-vYXEH .framer-styles-preset-74nncj.rich-text-wrapper a { --framer-link-current-text-color: #111111; --framer-link-current-text-decoration: underline; --framer-link-hover-text-color: #2266ff; --framer-link-hover-text-decoration: none; --framer-link-text-color: #1540a3; --framer-link-text-decoration: none; }\"];export const className=\"framer-vYXEH\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "+aAA2H,IAAMA,GAAM,CAAC,EAAEC,EAAEC,IAAI,KAAK,IAAI,KAAK,IAAIA,EAAE,CAAC,EAAED,CAAC,EAAkE,IAAME,GAAS,GAAc,OAAO,GAAlB,SAA0BC,GAAa,GAAG,MAAM,QAAQ,CAAC,GAAG,CAACD,GAAS,EAAE,CAAC,CAAC,EAAQE,GAAK,CAAC,EAAEC,EAAEC,IAAI,CAAC,IAAMC,EAAEF,EAAE,EAAE,QAAQC,EAAE,GAAGC,EAAEA,GAAGA,EAAE,CAAC,EAAE,SAASC,GAAoB,EAAEH,EAAE,CAAC,OAAOF,GAAa,CAAC,EAAE,EAAEC,GAAK,EAAE,EAAE,OAAOC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAMI,GAAI,CAAC,EAAEJ,EAAEC,IAAI,CAACA,EAAE,EAAEA,EAAED,EAAE,EAAoB,IAAMK,GAAW,GAAG,EAAQC,GAAS,CAAC,EAAEC,EAAEC,IAAID,EAAE,IAAI,EAAE,GAAGC,EAAE,IAAID,EAAE,GAAG,SAASE,GAAW,EAAEF,EAAE,CAAC,IAAMC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,QAAQE,EAAE,EAAEA,GAAGH,EAAEG,IAAI,CAAC,IAAMC,EAAEL,GAAS,EAAEC,EAAEG,CAAC,EAAE,EAAE,KAAKE,GAAIJ,EAAE,EAAEG,CAAC,CAAC,CAAC,CAAC,CAAC,SAASE,GAAc,EAAE,CAAC,IAAMN,EAAE,CAAC,CAAC,EAAE,OAAAE,GAAWF,EAAE,EAAE,CAAC,EAASA,CAAC,CAAC,SAASO,GAAY,EAAEP,EAAEM,GAAc,EAAE,MAAM,EAAEL,EAAEH,GAAW,CAAC,IAAMK,EAAE,EAAE,OAAaC,EAAED,EAAEH,EAAE,OAAO,OAAAI,EAAE,GAAGF,GAAWF,EAAEI,CAAC,EAAS,GAAG,CAAC,IAAII,EAAE,EAAE,KAAKA,EAAEL,EAAE,GAAS,IAAEH,EAAEQ,EAAE,CAAC,GAAdA,IAAI,CAAkB,IAAIC,EAAEC,GAAM,EAAE,EAAEX,GAASC,EAAEQ,CAAC,EAAER,EAAEQ,EAAE,CAAC,EAAE,CAAC,CAAC,EAAmC,OAAAC,EAAzBE,GAAoBV,EAAEO,CAAC,EAAMC,CAAC,EAASJ,GAAI,EAAEG,CAAC,EAAE,EAAEA,EAAE,CAAC,EAAEC,CAAC,CAAC,CAAC,CAA8K,IAAMG,GAAS,GAAc,OAAO,GAAlB,SAA0BC,GAAE,CAAC,GAAG,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAM/vC,SAASC,GAAkB,EAAED,EAAE,CAAC,OAAOA,EAAE,GAAG,IAAIA,GAAG,CAAC,CCNgY,IAAME,GAAM,CAAC,EAAEC,EAAE,QAAQ,GAAG,CAAC,EAAUA,IAAR,MAAU,KAAK,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,IAAI,EAAE,IAAMC,EAAE,EAAE,EAAQC,EAAUF,IAAR,MAAU,KAAK,MAAMC,CAAC,EAAE,KAAK,KAAKA,CAAC,EAAE,OAAOE,GAAE,EAAE,EAAED,EAAE,CAAC,CAAC,ECOxjB,SAARE,GAAuBC,EAAM,CAAC,GAAK,CAAC,QAAAC,EAAQ,MAAAC,CAAK,EAAEF,EAAYG,EAAW,CAAC,KAAK,MAAM,OAAO,KAAK,MAAM,OAAO,MAAM,KAAK,KAAK,MAAO,EAAQC,EAAW,CAAC,KAAK,OAAO,KAAK,OAAO,MAAM,MAAM,KAAK,MAAM,MAAM,KAAM,EAAQC,EAASC,GAAa,QAAQ,IAAIA,GAAa,OAAO,OAAqBC,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,SAAS,QAAQ,EAAE,SAAuBA,EAAKC,EAAO,IAAI,CAAC,MAAM,CAAC,GAAGC,GAAe,QAAQR,EAAQ,MAAMI,EAAS,EAAE,QAAQ,MAAMA,EAAS,OAAO,OAAO,OAAOA,EAAS,OAAO,OAAO,SAAS,UAAU,EAAE,QAAQ,CAACA,GAAU,CAAC,EAAEF,EAAW,EAAEC,CAAU,EAAE,WAAW,CAAC,KAAKM,GAAM,GAAG,OAAO,EAAE,OAAO,IAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAEX,GAAM,aAAa,CAAC,QAAQ,EAAE,EAAEY,EAAoBZ,GAAM,CAAC,QAAQ,CAAC,MAAM,UAAU,KAAKa,EAAY,OAAO,KAAK,GAAG,eAAe,GAAK,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAMH,GAAe,CAAC,eAAe,cAAc,iBAAiB,SAAS,WAAW,4EAA4E,ECPl5B,IAAMI,GAAY,IAAI,KAAK,EAAE,YAAY,EAKtH,SAARC,GAA+BC,EAAM,CAAC,GAAK,CAAC,KAAAC,EAAK,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,KAAAC,EAAK,MAAAC,EAAM,SAAAC,CAAQ,EAAEP,EAAgFQ,EAAY,QAApEL,EAAU,GAAGC,CAAS,IAAIN,EAAW,GAAGA,EAA+C,IAAIG,EAAK,KAAK,CAAC,GAAMC,EAAU,KAAK,IAAGM,GAAa,IAAIN,EAAU,KAAK,CAAC,IAAI,IAAMO,EAAU,CAAC,SAAS,GAAGF,CAAQ,KAAK,MAAMD,EAAM,GAAGD,CAAI,EAAE,OAAoBK,EAAK,MAAM,CAAC,MAAMD,EAAU,SAASD,CAAW,CAAC,CAAE,CAACT,GAAc,aAAa,CAAC,KAAK,YAAY,UAAU,uBAAuB,UAAU,GAAM,UAAUD,GAAY,EAAE,MAAM,UAAU,SAAS,GAAG,KAAK,CAAC,OAAO,OAAO,CAAC,EAAEC,GAAc,YAAY,iBAAiBY,EAAoBZ,GAAc,CAAC,KAAK,CAAC,KAAKa,EAAY,KAAK,MAAM,OAAO,aAAa,QAAQ,SAAS,UAAU,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,SAAS,EAAE,UAAU,CAAC,KAAKA,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAM,aAAa,MAAM,cAAc,IAAI,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,aAAa,IAAI,IAAI,IAAId,GAAY,EAAE,aAAaA,GAAY,EAAE,eAAe,GAAK,OAAO,CAAC,CAAC,UAAAK,CAAS,IAAI,CAACA,CAAS,EAAE,KAAK,CAAC,KAAKS,EAAY,OAAO,MAAM,OAAO,aAAa,WAAW,EAAE,UAAU,CAAC,KAAKA,EAAY,OAAO,MAAM,YAAY,aAAa,uBAAuB,YAAY,oEAAoE,CAAC,CAAC,ECLh0C,SAASC,GAAQC,EAAE,CAA8B,QAAzBC,EAAE,EAAMC,EAAEC,EAAE,EAAEC,EAAEJ,EAAE,OAAYI,GAAG,EAAE,EAAED,EAAEC,GAAG,EAAGF,EAAE,IAAIF,EAAE,WAAWG,CAAC,GAAG,IAAIH,EAAE,WAAW,EAAEG,CAAC,IAAI,GAAG,IAAIH,EAAE,WAAW,EAAEG,CAAC,IAAI,IAAI,IAAIH,EAAE,WAAW,EAAEG,CAAC,IAAI,GAAGD,EAAE,YAAY,MAAMA,IAAI,OAAOA,IAAI,KAAK,IAAIA,GAAGA,IAAI,GAAGD,EAAE,YAAY,MAAMC,IAAI,OAAOA,IAAI,KAAK,IAAI,YAAY,MAAMD,IAAI,OAAOA,IAAI,KAAK,IAAI,OAAOG,EAAE,CAAC,IAAK,GAAEH,IAAI,IAAID,EAAE,WAAWG,EAAE,CAAC,IAAI,GAAG,IAAK,GAAEF,IAAI,IAAID,EAAE,WAAWG,EAAE,CAAC,IAAI,EAAE,IAAK,GAAEF,GAAG,IAAID,EAAE,WAAWG,CAAC,EAAEF,EAAE,YAAY,MAAMA,IAAI,OAAOA,IAAI,KAAK,GAAG,CAAC,OAAAA,GAAGA,IAAI,GAAGA,EAAE,YAAY,MAAMA,IAAI,OAAOA,IAAI,KAAK,MAAYA,EAAEA,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC,CCAhZ,SAASI,GAAiBC,EAAkB,CAAC,OAAOA,EAAkB,CAAC,IAAI,MAAM,MAAM,WAAW,IAAI,SAAS,MAAM,UAAU,IAAI,SAAS,MAAM,SAAU,CAAC,CAU5T,IAAMC,GAAIC,GAAQ,SAAaC,EAAM,CACxC,IAAMC,EAASC,GAAa,QAAQ,IAAIA,GAAa,OACnBC,EAAlB,CAACH,EAAM,KAA8BA,EAAM,eAAe,EAAE,EACtEI,EAAKC,GAAWL,EAAM,KAAKG,CAAQ,EACnCG,EAAG,SAASC,GAAKH,CAAI,CAAC,GACtBI,EAAeZ,GAAiBI,EAAM,iBAAiB,EAAE,OAAoBS,EAAM,MAAM,CAAC,UAAU,iCAAiC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,gBAAgB,QAAQ,EAAE,QAAQ,cAAc,SAAS,UAAU,SAAS,CAAcC,EAAK,OAAO,CAAC,GAAGJ,EAAG,EAAEF,EAAK,YAAY,OAAO,KAAK,aAAa,CAAC,EAAeM,EAAK,OAAO,CAAC,SAAsBA,EAAK,WAAW,CAAC,KAAK,IAAIJ,CAAE,GAAG,YAAYN,EAAM,YAAY,iBAAiBQ,EAAe,MAAM,CAAC,cAAcR,EAAM,KAAK,cAAcA,EAAM,KAAK,cAAc,KAAK,GAAGA,EAAM,KAAK,KAAKA,EAAM,KAAK,EAAE,SAASA,EAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAC7lB,CAAC,iFAAiF,CAAC,EAASW,GAAQb,GAAIA,GAAI,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAEc,EAAoBd,GAAI,CAAC,KAAK,CAAC,MAAM,UAAU,KAAKe,EAAY,OAAO,aAAa,sCAAsC,gBAAgB,EAAI,EAAE,KAAK,CAAC,MAAM,OAAO,KAAKA,EAAY,QAAQ,aAAa,SAAS,cAAc,UAAU,aAAa,EAAI,EAAE,eAAe,CAAC,MAAM,SAAS,KAAKA,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,eAAe,GAAK,OAAOb,GAAOA,EAAM,IAAI,EAAE,kBAAkB,CAAC,MAAM,QAAQ,KAAKa,EAAY,KAAK,QAAQ,CAAC,MAAM,SAAS,QAAQ,EAAE,YAAY,CAAC,YAAY,eAAe,cAAc,EAAE,aAAa,SAAS,wBAAwB,EAAI,EAAE,KAAK,CAAC,KAAKA,EAAY,QAAQ,aAAa,GAAM,MAAM,YAAY,aAAa,KAAK,cAAc,KAAK,EAAE,YAAY,CAAC,MAAM,SAAS,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,IAAI,KAAK,OAAO,KAAK,EAAE,EAAE,KAAK,CAAC,KAAKA,EAAY,KAAK,MAAM,OAAO,SAAS,WAAW,qBAAqB,EAAK,EAAE,MAAM,CAAC,MAAM,QAAQ,KAAKA,EAAY,MAAM,aAAa,MAAM,CAAC,CAAC,EAA4B,IAAMR,GAAW,CAACS,EAAKX,IAAW,CAAC,IAAMY,EAAY,GAAGZ,EAAea,EAAe,GAAGb,EAAS,OAAOW,EAAoJ,cAAcE,CAAc,oBAAoBA,CAAc,UAAUD,CAAW,kBAAkBA,CAAW,UAA/P,cAAcA,CAAW,oBAAoBA,CAAW,mBAAmBC,CAAc,kBAAkBA,CAAc,QAAQD,CAAW,EAA6H,ECRz6C,SAARE,GAA6BC,EAAM,CAAC,GAAK,CAAC,MAAAC,EAAM,OAAAC,CAAM,EAAEF,EAA2JG,EAA/H,CAAC,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,OAAAC,GAAO,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,GAAQ,QAAAC,EAAO,EAAsCjB,CAAM,EAAE,OAAoBkB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,WAAW,SAAS,eAAe,QAAQ,EAAE,SAAsBA,EAAKjB,EAAc,CAAC,MAAMF,EAAM,MAAM,OAAO,OAAO,OAAO,MAAM,CAAC,SAAS,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,CAAC,CAAE,CAACF,GAAY,YAAY,eAAesB,EAAoBtB,GAAY,CAAC,OAAO,CAAC,KAAKuB,EAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,SAAS,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,SAAS,EAAE,aAAa,CAAC,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,EAAE,aAAa,QAAQ,EAAE,MAAM,CAAC,KAAKA,EAAY,MAAM,MAAM,QAAQ,aAAa,UAAU,YAAY,oEAAoE,CAAC,CAAC,EAAE,IAAMlB,GAAOJ,GAAoBoB,EAAK,MAAM,CAAC,MAAM,MAAM,OAAO,KAAK,QAAQ,aAAa,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,slDAAslD,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQf,GAAOL,GAAoBoB,EAAK,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,whFAAwhF,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQd,GAAON,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,MAAM,QAAQ,aAAa,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,wlCAAwlC,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQb,GAAOP,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,MAAM,QAAQ,aAAa,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,4iFAA4iF,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQZ,GAAOR,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,ymDAAymD,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQX,GAAOT,GAAoBoB,EAAK,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,4+CAA4+C,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQV,GAAOV,GAAoBoB,EAAK,MAAM,CAAC,MAAM,MAAM,OAAO,MAAM,QAAQ,cAAc,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,o8DAAo8D,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQT,GAAOX,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,wvNAAwvN,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQR,GAAOZ,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,q2NAAq2N,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQP,GAAQb,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,EAAE,i0KAAi0K,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQN,GAAQd,GAAoBuB,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGvB,EAAM,SAAS,CAAcoB,EAAK,OAAO,CAAC,EAAE,4rHAA4rH,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,0FAA0F,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,uFAAuF,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,EAAQL,GAAQf,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,mraAAmra,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQJ,GAAQhB,GAAoBoB,EAAK,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGpB,EAAM,SAAsBoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,ukpBAAukpB,KAAK,cAAc,CAAC,CAAC,CAAC,EAAQH,GAAQjB,GAAoBuB,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGvB,EAAM,SAAS,CAAcoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,49cAA49c,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,6NAA6N,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,iKAAiK,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,+GAA+G,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,EAAQF,GAAQlB,GAAoBuB,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGvB,EAAM,SAAS,CAAcoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,0xvBAA0xvB,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,8HAA8H,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,EAAQD,GAAQnB,GAAoBuB,EAAM,MAAM,CAAC,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAA6B,GAAGvB,EAAM,SAAS,CAAcoB,EAAK,OAAO,CAAC,YAAY,UAAU,YAAY,UAAU,EAAE,8wqBAA8wqB,KAAK,cAAc,CAAC,EAAeA,EAAK,OAAO,CAAC,EAAE,2IAA2I,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC,ECNrztI,IAAMI,GAAkB,CAC3B,SAAU,WACV,MAAO,OACP,OAAQ,OACR,QAAS,OACT,eAAgB,SAChB,WAAY,QAChB,EACaC,GAAkB,CAC3B,GAAGD,GACH,aAAc,EACd,WAAY,0BACZ,MAAO,OACP,OAAQ,kBACR,cAAe,QACnB,EACaE,GAAgB,CACzB,QAAS,CACL,KAAMC,EAAY,YACtB,EACA,aAAc,CACV,KAAMA,EAAY,YACtB,EACA,aAAc,CACV,KAAMA,EAAY,YACtB,CACJ,EACaC,GAAkB,CAC3B,KAAMD,EAAY,OAClB,MAAO,YACP,IAAK,EACL,IAAK,IACL,KAAM,EACN,eAAgB,EACpB,EACaE,GAAe,CACxB,KAAM,CACF,KAAMF,EAAY,QAClB,MAAO,OACP,aAAc,GACd,cAAe,UACf,aAAc,QAClB,EACA,WAAY,CACR,KAAMA,EAAY,OAClB,MAAO,SACP,YAAa,QACb,OAAQ,CAAC,CAAE,KAAAG,CAAM,IAAI,CAACA,CAC1B,EACA,WAAY,CACR,KAAMH,EAAY,KAClB,MAAO,SACP,QAAS,CACL,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,GACJ,EACA,aAAc,CACV,OACA,cACA,QACA,UACA,SACA,YACA,OACA,aACA,OACJ,EACA,OAAQ,CAAC,CAAE,KAAAG,CAAM,IAAI,CAACA,CAC1B,CACJ,EC5EO,SAASC,GAAWC,EAASC,EAAS,CACzC,OAAOC,GAA0B,GAAMF,EAASC,CAAO,CAC3D,CACO,SAASE,GAAUC,EAAQH,EAAS,CACvC,OAAOC,GAA0B,GAAOE,EAAQH,CAAO,CAC3D,CACA,SAASC,GAA0BG,EAAMC,EAAUL,EAAU,GAAM,CAC/D,IAAMM,EAAaC,GAA+B,EAClDC,GAAU,IAAI,CACNR,GAAWM,IAAeF,GAAMC,EAAS,CACjD,EAAG,CACCC,CACJ,CAAC,CACL,CCRW,SAASG,GAAYC,EAAM,CAClC,IAAMC,EAAMC,EAAO,IAAI,EACvB,OAAID,EAAI,UAAY,OAChBA,EAAI,QAAUD,EAAK,GAEhBC,EAAI,OACf,CCZO,IAAME,GAAkB,IAAI,CAC/B,GAAI,OAAOC,EAAc,IAAa,CAClC,IAAMC,EAAYD,EAAU,UAAU,YAAY,EAElD,OADkBC,EAAU,QAAQ,QAAQ,EAAI,IAAMA,EAAU,QAAQ,cAAc,EAAI,IAAMA,EAAU,QAAQ,SAAS,EAAI,KAAOA,EAAU,QAAQ,QAAQ,EAAI,CAExK,KAAO,OAAO,EAClB,EACaC,GAAqB,IAAIC,GAAQ,IAAIJ,GAAgB,EAC5D,CAAC,CAAC,ECPD,SAASK,IAAkB,CAG9B,OAF4BC,GAAQ,IAAIC,GAAa,QAAQ,EAC3D,CAAC,CAAC,CAER,CAMO,SAASC,IAAgB,CAG5B,OAFiBC,GAAQ,IAAIC,GAAa,QAAQ,IAAMA,GAAa,OACnE,CAAC,CAAC,CAER,CCdO,SAASC,GAAUC,EAAO,CAC7B,GAAM,CAAE,aAAAC,EAAe,oBAAAC,EAAsB,cAAAC,EAAgB,eAAAC,EAAiB,kBAAAC,EAAoB,iBAAAC,CAAoB,EAAIN,EAU1H,OAToBO,GAAQ,IAAIL,EAAsB,GAAGC,CAAa,MAAMC,CAAc,MAAMC,CAAiB,MAAMC,CAAgB,KAAO,GAAGL,CAAY,KAC3J,CACEA,EACAC,EACAC,EACAC,EACAC,EACAC,CACJ,CAAC,CAEL,CACO,IAAME,GAAsB,CAC/B,aAAc,CACV,MAAO,SACP,KAAMC,EAAY,YAClB,UAAW,sBACX,aAAc,CACV,SACA,mBACJ,EACA,UAAW,CACP,gBACA,iBACA,oBACA,kBACJ,EACA,YAAa,CACT,KACA,KACA,KACA,IACJ,EACA,IAAK,CACT,CACJ,EACO,SAASC,GAAWV,EAAO,CAC9B,GAAM,CAAE,QAAAW,EAAU,eAAAC,EAAiB,WAAAC,EAAa,aAAAC,EAAe,cAAAC,EAAgB,YAAAC,CAAe,EAAIhB,EAUlG,OATqBO,GAAQ,IAAIK,EAAiB,GAAGC,CAAU,MAAMC,CAAY,MAAMC,CAAa,MAAMC,CAAW,KAAOL,EAC1H,CACEA,EACAC,EACAC,EACAC,EACAC,EACAC,CACJ,CAAC,CAEL,CACO,IAAMC,GAAiB,CAC1B,QAAS,CACL,KAAMR,EAAY,YAClB,UAAW,iBACX,aAAc,CACV,UACA,kBACJ,EACA,UAAW,CACP,aACA,eACA,gBACA,aACJ,EACA,YAAa,CACT,IACA,IACA,IACA,GACJ,EACA,IAAK,EACL,MAAO,SACX,CACJ,EC1EO,IAAMS,GAAcC,GAAGA,aAAaC,GCDqT,SAASC,GAAmBC,EAAWC,EAAQ,CAE/Y,IAAMC,EAAWC,EAAOF,CAAO,EAAQG,EAAUD,EAAO,EAAQE,EAAgBF,EAAO,EAAK,EAAQG,EAAWC,GAAa,QAAQ,IAAIA,GAAa,OAC/IC,EAAsDP,GAAQ,aAAcA,EAAQ,aAAa,CAAC,EAClGQ,EAASC,GAAoDT,GAAQ,SAAS,CAAC,GAAGO,CAAa,CAAC,EAChGG,EAAYD,GAAYE,GAAO,CAAC,IAAIC,EAAI,MAAQ,GAAAA,EAAIX,EAAW,WAAW,MAAMW,IAAM,SAAcA,EAAI,UAAWX,EAAW,QAAQ,UAAUU,CAAK,EAAEA,CAAM,EAAE,CAAC,CAAC,EACjKE,EAAOC,GAAY,IAAIC,GAAchB,CAAU,EAAEA,EAAWiB,GAAYN,EAAYX,CAAU,CAAC,CAAC,EACtG,OAAAkB,GAAU,IAAI,CAAC,GAAG,CAACF,GAAchB,CAAU,GAAGK,EAAgB,QAAQ,CAAC,IAAIQ,EAAIM,EAAK,IAAMC,EAAST,EAAYX,CAAU,EAEzH,IAF4Ha,EAAIT,EAAU,WAAW,MAAMS,IAAM,QAAcA,EAAI,KAAK,EACrLJ,GAASA,EAASW,EAASN,CAAM,EAC/B,GAAAK,EAAKjB,EAAW,WAAW,MAAMiB,IAAO,SAAcA,EAAK,SAAU,CAACb,EAAW,CAAC,IAAIe,EAC3FjB,EAAU,QAAQkB,GAAQR,EAAOM,GAAUC,EAAKnB,EAAW,WAAW,MAAMmB,IAAO,OAAO,OAAOA,EAAK,UAAU,CAAE,MAAMP,EAAO,IAAIM,CAAQ,CAAG,CAACf,EAAgB,QAAQ,EAAK,EAAE,CAACL,EAAW,GAAGQ,CAAY,CAAC,EAASM,CAAO,CCV1N,IAAIS,EAAU,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAOC,EAEhGC,GAAU,CAAC,EACf,OAAOC,EAAc,KAAe,SAAUC,EAAMC,EAAS,CACvDH,GACFA,GAAUG,EAAQD,CAAI,GAEtBA,EAAK,OAASC,EAAQD,CAAI,EAC1BA,EAAK,UAAYA,EAAK,OAE1B,EAAEE,GAAU,CAAC,EAAG,SAAU,OAAQ,CAKhC,aAGA,IAAI,MAAQ,6BACR,aAAe,GACf,oBAAsB,QAQtB,gBAAkB,GAClB,kBACA,SAAW,iCAAiC,KAAKH,EAAU,SAAS,EACpE,aAAe,CAAC,EAChB,MACA,MAAQ,KAAK,IACb,OAAS,KAAK,KACd,QAAU,KAAK,MACf,MAAQ,KAAK,IACb,MAAQ,KAAK,IACb,OAAS,CAAC,GAEb,UAAY,CACX,IAAII,EAAgB,CAAC,MAAO,OAAQ,QAAS,OAAQ,QAAS,OAAQ,QAAS,QAAS,OAAQ,OAAQ,QAAS,QAAS,MAAO,OAAQ,MAAO,QAAS,SAAU,QAAS,OAAQ,MAAO,QAAS,OAAQ,QAAS,MAAO,MAAO,MAAO,SAAU,QAAS,OAAQ,MAAO,OAAQ,OAAQ,MAAO,OAAQ,QAAS,IAAK,OAAQ,MAAO,SAAU,QAAS,KAAM,UAAW,OAAO,EAC/WC,EACAC,EAAMF,EAAc,OAExB,IAAKC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,OAAOD,EAAcC,CAAC,CAAC,EAAI,KAAKD,EAAcC,CAAC,CAAC,CAEpD,GAAG,EAEH,SAAS,kBAAmB,CAC1B,MAAO,CAAC,CACV,CAEA,OAAO,OAAS,KAAK,OAErB,OAAO,IAAM,SAAUE,EAAK,CAC1B,IAAIC,EAAS,OAAOD,EAEpB,GAAIC,IAAW,UAAYD,EAAI,OAAQ,CACrC,IAAIE,EAAS,iBAAiBF,EAAI,MAAM,EACpCF,EACAC,EAAMC,EAAI,OAEd,IAAKF,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBI,EAAOJ,CAAC,EAAI,KAAK,IAAIE,EAAIF,CAAC,CAAC,EAG7B,OAAOI,CACT,CAEA,OAAO,KAAK,IAAIF,CAAG,CACrB,EAEA,IAAI,qBAAuB,IACvB,UAAY,KAAK,GAAK,IACtB,YAAc,MAElB,SAAS,YAAYG,EAAM,CACrBA,EACF,MAAQ,KAAK,MAEb,MAAQ,SAAUH,EAAK,CACrB,OAAOA,CACT,CAEJ,CAEA,YAAY,EAAK,EAEjB,SAAS,SAASI,EAAS,CACzBA,EAAQ,MAAM,SAAW,WACzBA,EAAQ,MAAM,IAAM,EACpBA,EAAQ,MAAM,KAAO,EACrBA,EAAQ,MAAM,QAAU,QACxBA,EAAQ,MAAM,gBAAkB,MAChCA,EAAQ,MAAM,sBAAwB,MACtCA,EAAQ,MAAM,mBAAqB,UACnCA,EAAQ,MAAM,yBAA2B,UACzCA,EAAQ,MAAM,eAAiB,cAC/BA,EAAQ,MAAM,qBAAuB,cACrCA,EAAQ,MAAM,kBAAoB,aACpC,CAEA,SAAS,kBAAkBC,EAAMC,EAAaC,EAAWC,EAAiB,EACvE,MAAQlB,GAAS,KAAOe,GACxB,MAAQf,GAAS,YAAcgB,GAC/B,MAAQhB,GAAS,UAAYiB,GAC7B,MAAQjB,GAAS,UAAYkB,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,gBAAgBH,EAAMG,EAAiB,EAC7C,MAAQlB,GAAS,KAAOe,GACxB,MAAQf,GAAS,UAAYkB,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,oBAAoBH,EAAMI,EAAYC,EAAaF,EAAiB,EAC1E,MAAQlB,GAAS,KAAOe,GACxB,MAAQf,GAAS,YAAcoB,GAC/B,MAAQpB,GAAS,WAAamB,GAC9B,MAAQnB,GAAS,UAAYkB,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,oBAAoBH,EAAMM,EAAYC,EAAa,EACzD,MAAQtB,GAAS,KAAOe,GACxB,MAAQf,GAAS,WAAaqB,GAC9B,MAAQrB,GAAS,YAAcsB,CAClC,CAEA,SAAS,eAAeP,EAAMQ,EAAQ,EACnC,MAAQvB,GAAS,KAAOe,GACxB,MAAQf,GAAS,OAASuB,CAC7B,CAEA,SAAS,wBAAwBC,EAAaR,EAAa,EACxD,MAAQhB,GAAS,KAAO,oBACxB,MAAQA,GAAS,YAAcwB,GAC/B,MAAQxB,GAAS,YAAcgB,CAClC,CAEA,SAAS,mBAAmBQ,EAAa,EACtC,MAAQxB,GAAS,KAAO,eACxB,MAAQA,GAAS,YAAcwB,CAClC,CAEA,SAAS,4BAA4BT,EAAMS,EAAa,EACrD,MAAQxB,GAAS,KAAOe,GACxB,MAAQf,GAAS,YAAcwB,CAClC,CAEA,IAAI,gBAAkB,UAAY,CAChC,IAAIC,EAAS,EACb,OAAO,UAAoB,CACzB,OAAAA,GAAU,EACH,oBAAsBA,CAC/B,CACF,EAAE,EAEF,SAAS,SAASC,EAAGC,EAAGC,EAAG,CACzB,IAAIC,EACAC,EACAC,EACAvB,EACAwB,EACAC,EACAC,EACAC,EAOJ,OANA3B,EAAI,KAAK,MAAMkB,EAAI,CAAC,EACpBM,EAAIN,EAAI,EAAIlB,EACZyB,EAAIL,GAAK,EAAID,GACbO,EAAIN,GAAK,EAAII,EAAIL,GACjBQ,EAAIP,GAAK,GAAK,EAAII,GAAKL,GAEfnB,EAAI,EAAG,CACb,IAAK,GACHqB,EAAID,EACJE,EAAIK,EACJJ,EAAIE,EACJ,MAEF,IAAK,GACHJ,EAAIK,EACJJ,EAAIF,EACJG,EAAIE,EACJ,MAEF,IAAK,GACHJ,EAAII,EACJH,EAAIF,EACJG,EAAII,EACJ,MAEF,IAAK,GACHN,EAAII,EACJH,EAAII,EACJH,EAAIH,EACJ,MAEF,IAAK,GACHC,EAAIM,EACJL,EAAIG,EACJF,EAAIH,EACJ,MAEF,IAAK,GACHC,EAAID,EACJE,EAAIG,EACJF,EAAIG,EACJ,MAEF,QACE,KACJ,CAEA,MAAO,CAACL,EAAGC,EAAGC,CAAC,CACjB,CAEA,SAAS,SAASF,EAAGC,EAAGC,EAAG,CACzB,IAAIK,EAAM,KAAK,IAAIP,EAAGC,EAAGC,CAAC,EACtBM,EAAM,KAAK,IAAIR,EAAGC,EAAGC,CAAC,EACtBO,EAAIF,EAAMC,EACV,EACAV,EAAIS,IAAQ,EAAI,EAAIE,EAAIF,EACxB,EAAIA,EAAM,IAEd,OAAQA,EAAK,CACX,KAAKC,EACH,EAAI,EACJ,MAEF,KAAKR,EACH,EAAIC,EAAIC,EAAIO,GAAKR,EAAIC,EAAI,EAAI,GAC7B,GAAK,EAAIO,EACT,MAEF,KAAKR,EACH,EAAIC,EAAIF,EAAIS,EAAI,EAChB,GAAK,EAAIA,EACT,MAEF,KAAKP,EACH,EAAIF,EAAIC,EAAIQ,EAAI,EAChB,GAAK,EAAIA,EACT,MAEF,QACE,KACJ,CAEA,MAAO,CAAC,EAAGX,EAAG,CAAC,CACjB,CAEA,SAAS,mBAAmBY,EAAOC,EAAQ,CACzC,IAAIC,EAAM,SAASF,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,GAAG,EACjE,OAAAE,EAAI,CAAC,GAAKD,EAENC,EAAI,CAAC,EAAI,EACXA,EAAI,CAAC,EAAI,EACAA,EAAI,CAAC,GAAK,IACnBA,EAAI,CAAC,EAAI,GAGJ,SAASA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CACxC,CAEA,SAAS,mBAAmBF,EAAOC,EAAQ,CACzC,IAAIC,EAAM,SAASF,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,GAAG,EACjE,OAAAE,EAAI,CAAC,GAAKD,EAENC,EAAI,CAAC,EAAI,EACXA,EAAI,CAAC,EAAI,EACAA,EAAI,CAAC,EAAI,IAClBA,EAAI,CAAC,EAAI,GAGJ,SAASA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CACxC,CAEA,SAAS,YAAYF,EAAOC,EAAQ,CAClC,IAAIC,EAAM,SAASF,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,IAAKA,EAAM,CAAC,EAAI,GAAG,EACjE,OAAAE,EAAI,CAAC,GAAKD,EAAS,IAEfC,EAAI,CAAC,EAAI,EACXA,EAAI,CAAC,GAAK,EACDA,EAAI,CAAC,EAAI,IAClBA,EAAI,CAAC,GAAK,GAGL,SAASA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CACxC,CAEA,IAAI,SAAW,UAAY,CACzB,IAAIC,EAAW,CAAC,EACZlC,EACAmC,EAEJ,IAAKnC,EAAI,EAAGA,EAAI,IAAKA,GAAK,EACxBmC,EAAMnC,EAAE,SAAS,EAAE,EACnBkC,EAASlC,CAAC,EAAImC,EAAI,SAAW,EAAI,IAAMA,EAAMA,EAG/C,OAAO,SAAUd,EAAGC,EAAGC,EAAG,CACxB,OAAIF,EAAI,IACNA,EAAI,GAGFC,EAAI,IACNA,EAAI,GAGFC,EAAI,IACNA,EAAI,GAGC,IAAMW,EAASb,CAAC,EAAIa,EAASZ,CAAC,EAAIY,EAASX,CAAC,CACrD,CACF,EAAE,EAEF,SAAS,WAAY,CAAC,CAEtB,UAAU,UAAY,CACpB,aAAc,SAAUa,EAAWC,EAAM,CACvC,IAAK,MAAQ7C,GAAS,KAAK4C,CAAS,EAGlC,QAFInC,GAAO,MAAQT,GAAS,KAAK4C,CAAS,EAAE,OAEnCpC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GAC3B,MAAQR,GAAS,KAAK4C,CAAS,EAAEpC,CAAC,EAAEqC,CAAI,CAG/C,EACA,iBAAkB,SAAUD,EAAWE,EAAU,CAC/C,OAAM,MAAQ9C,GAAS,KAAK4C,CAAS,KAClC,MAAQ5C,GAAS,KAAK4C,CAAS,EAAI,CAAC,IAGtC,MAAQ5C,GAAS,KAAK4C,CAAS,EAAE,KAAKE,CAAQ,EAExC,UAAY,CACjB,KAAK,oBAAoBF,EAAWE,CAAQ,CAC9C,EAAE,KAAK,MAAQ9C,CAAO,CACxB,EACA,oBAAqB,SAAU4C,EAAWE,EAAU,CAClD,GAAI,CAACA,GACF,MAAQ9C,GAAS,KAAK4C,CAAS,EAAI,cAC1B,MAAQ5C,GAAS,KAAK4C,CAAS,EAAG,CAI5C,QAHI,EAAI,EACJnC,GAAO,MAAQT,GAAS,KAAK4C,CAAS,EAAE,OAErC,EAAInC,IACJ,MAAQT,GAAS,KAAK4C,CAAS,EAAE,CAAC,IAAME,KAC1C,MAAQ9C,GAAS,KAAK4C,CAAS,EAAE,OAAO,EAAG,CAAC,EAE7C,GAAK,EACLnC,GAAO,GAGT,GAAK,GAGD,MAAQT,GAAS,KAAK4C,CAAS,EAAE,UACpC,MAAQ5C,GAAS,KAAK4C,CAAS,EAAI,KAExC,CACF,CACF,EAGA,IAAI,iBAAmB,UAAY,CACjC,SAASG,EAAmBhC,EAAMN,EAAK,CACrC,IAAID,EAAI,EACJwC,EAAM,CAAC,EACPC,EAEJ,OAAQlC,EAAM,CACZ,IAAK,QACL,IAAK,SACHkC,EAAQ,EACR,MAEF,QACEA,EAAQ,IACR,KACJ,CAEA,IAAKzC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAI,KAAKC,CAAK,EAGhB,OAAOD,CACT,CAEA,SAASE,EAAwBnC,EAAMN,EAAK,CAC1C,OAAIM,IAAS,UACJ,IAAI,aAAaN,CAAG,EAGzBM,IAAS,QACJ,IAAI,WAAWN,CAAG,EAGvBM,IAAS,SACJ,IAAI,kBAAkBN,CAAG,EAG3BsC,EAAmBhC,EAAMN,CAAG,CACrC,CAEA,OAAI,OAAO,mBAAsB,YAAc,OAAO,cAAiB,WAC9DyC,EAGFH,CACT,EAAE,EAEF,SAAS,iBAAiBtC,EAAK,CAC7B,OAAO,MAAM,MAAM,KAAM,CACvB,OAAQA,CACV,CAAC,CACH,CAMA,SAAS,SAASM,EAAM,CAEtB,OAAO,SAAS,gBAAgB,MAAOA,CAAI,CAC7C,CAIA,SAAS,UAAUA,EAAM,CAEvB,OAAO,SAAS,cAAcA,CAAI,CACpC,CAEA,SAAS,0BAA2B,CAAC,CAErC,yBAAyB,UAAY,CACnC,mBAAoB,SAAUoC,EAAM,EAC7B,MAAQnD,GAAS,kBAAkB,QAAQmD,CAAI,IAAM,MACvD,MAAQnD,GAAS,kBAAkB,KAAKmD,CAAI,GAE5C,MAAQnD,GAAS,UAAU,mBAAmB,MAAQA,CAAO,GAE7D,MAAQA,GAAS,YAAc,GAEpC,EACA,yBAA0B,UAAY,EACnC,MAAQA,GAAS,KAAO,GACzB,IAAIQ,EACAC,GAAO,MAAQT,GAAS,kBAAkB,OAE9C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,kBAAkBQ,CAAC,EAAE,SAAS,GAE3C,MAAQR,GAAS,kBAAkBQ,CAAC,EAAE,QACxC,MAAQR,GAAS,KAAO,GAG/B,EACA,6BAA8B,SAAUoD,EAAW,EAChD,MAAQpD,GAAS,UAAYoD,GAC7B,MAAQpD,GAAS,kBAAoB,CAAC,GACtC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,YAAc,EAClC,CACF,EAGA,IAAI,aAAe,UAAY,CAC7B,IAAIqD,EAAiB,CACnB,EAAG,cACH,EAAG,WACH,EAAG,SACH,EAAG,UACH,EAAG,SACH,EAAG,UACH,EAAG,cACH,EAAG,aACH,EAAG,aACH,EAAG,aACH,GAAI,aACJ,GAAI,YACJ,GAAI,MACJ,GAAI,aACJ,GAAI,QACJ,GAAI,YACN,EACA,OAAO,SAAUC,EAAM,CACrB,OAAOD,EAAeC,CAAI,GAAK,EACjC,CACF,EAAE,EAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA8BA,IAAI,OAAS,UAAY,CACvB,IAAIC,EAAO,KAAK,IACZC,EAAO,KAAK,IACZC,EAAO,KAAK,IACZC,EAAO,KAAK,MAEhB,SAASC,GAAQ,CACf,OAAC,MAAQ3D,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,CAAC,EAAI,GAC5B,MAAQA,GAAS,MAAM,EAAE,EAAI,GAC7B,MAAQA,GAAS,MAAM,EAAE,EAAI,GAC7B,MAAQA,GAAS,MAAM,EAAE,EAAI,GAC7B,MAAQA,GAAS,MAAM,EAAE,EAAI,GAC7B,MAAQA,GAAS,MAAM,EAAE,EAAI,GAC7B,MAAQA,GAAS,MAAM,EAAE,EAAI,EACvB,MAAQA,CACjB,CAEA,SAAS4D,EAAOC,EAAO,CACrB,GAAIA,IAAU,EACZ,OAAO,MAAQ7D,EAGjB,IAAI8D,EAAOP,EAAKM,CAAK,EAEjBE,EAAOP,EAAKK,CAAK,EAErB,OAAO,KAAK,GAAGC,EAAM,CAACC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAASE,EAAQH,EAAO,CACtB,GAAIA,IAAU,EACZ,OAAO,MAAQ7D,EAGjB,IAAI8D,EAAOP,EAAKM,CAAK,EAEjBE,EAAOP,EAAKK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAGC,EAAM,CAACC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAASG,EAAQJ,EAAO,CACtB,GAAIA,IAAU,EACZ,OAAO,MAAQ7D,EAGjB,IAAI8D,EAAOP,EAAKM,CAAK,EAEjBE,EAAOP,EAAKK,CAAK,EAErB,OAAO,KAAK,GAAGC,EAAM,EAAGC,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,CAACA,EAAM,EAAGD,EAAM,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAASI,EAAQL,EAAO,CACtB,GAAIA,IAAU,EACZ,OAAO,MAAQ7D,EAGjB,IAAI8D,EAAOP,EAAKM,CAAK,EAEjBE,EAAOP,EAAKK,CAAK,EAErB,OAAO,KAAK,GAAGC,EAAM,CAACC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAASK,EAAMC,EAAIC,EAAI,CACrB,OAAO,KAAK,GAAG,EAAGA,EAAID,EAAI,EAAG,EAAG,CAAC,CACnC,CAEA,SAASE,EAAKC,EAAIC,EAAI,CACpB,OAAO,KAAK,MAAMf,EAAKc,CAAE,EAAGd,EAAKe,CAAE,CAAC,CACtC,CAEA,SAASC,EAAaF,EAAIV,EAAO,CAC/B,IAAIC,EAAOP,EAAKM,CAAK,EAEjBE,EAAOP,EAAKK,CAAK,EAErB,OAAO,KAAK,GAAGC,EAAMC,EAAM,EAAG,EAAG,CAACA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAE,GAAG,EAAG,EAAG,EAAG,EAAGL,EAAKc,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAE,GAAGT,EAAM,CAACC,EAAM,EAAG,EAAGA,EAAMD,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CACtM,CAEA,SAASY,EAAMN,EAAIC,EAAIM,EAAI,CAKzB,MAJI,CAACA,GAAMA,IAAO,IAChBA,EAAK,GAGHP,IAAO,GAAKC,IAAO,GAAKM,IAAO,EAC1B,MAAQ3E,EAGV,KAAK,GAAGoE,EAAI,EAAG,EAAG,EAAG,EAAGC,EAAI,EAAG,EAAG,EAAG,EAAGM,EAAI,EAAG,EAAG,EAAG,EAAG,CAAC,CAClE,CAEA,SAASC,EAAaC,EAAG9C,EAAG+C,EAAGxC,EAAGyC,EAAG/C,EAAGF,EAAGJ,EAAGlB,EAAGwE,GAAGC,GAAGC,GAAGC,GAAGC,GAAGC,GAAGpD,GAAG,CACpE,OAAC,MAAQjC,GAAS,MAAM,CAAC,EAAI6E,GAC5B,MAAQ7E,GAAS,MAAM,CAAC,EAAI+B,GAC5B,MAAQ/B,GAAS,MAAM,CAAC,EAAI8E,GAC5B,MAAQ9E,GAAS,MAAM,CAAC,EAAIsC,GAC5B,MAAQtC,GAAS,MAAM,CAAC,EAAI+E,GAC5B,MAAQ/E,GAAS,MAAM,CAAC,EAAIgC,GAC5B,MAAQhC,GAAS,MAAM,CAAC,EAAI8B,GAC5B,MAAQ9B,GAAS,MAAM,CAAC,EAAI0B,GAC5B,MAAQ1B,GAAS,MAAM,CAAC,EAAIQ,GAC5B,MAAQR,GAAS,MAAM,CAAC,EAAIgF,IAC5B,MAAQhF,GAAS,MAAM,EAAE,EAAIiF,IAC7B,MAAQjF,GAAS,MAAM,EAAE,EAAIkF,IAC7B,MAAQlF,GAAS,MAAM,EAAE,EAAImF,IAC7B,MAAQnF,GAAS,MAAM,EAAE,EAAIoF,IAC7B,MAAQpF,GAAS,MAAM,EAAE,EAAIqF,IAC7B,MAAQrF,GAAS,MAAM,EAAE,EAAIiC,GACvB,MAAQjC,CACjB,CAEA,SAASsF,EAAUC,EAAIC,EAAIC,EAAI,CAG7B,OAFAA,EAAKA,GAAM,EAEPF,IAAO,GAAKC,IAAO,GAAKC,IAAO,EAC1B,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAGF,EAAIC,EAAIC,EAAI,CAAC,EAG3D,MAAQzF,CACjB,CAEA,SAAS0F,EAAUC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAI,CACjF,IAAIC,GAAM,MAAQ3G,GAAS,MAE3B,GAAI2F,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,IAAO,GAAKC,KAAO,GAAKC,KAAO,GAAKC,KAAO,EAG7I,OAAAK,EAAG,EAAE,EAAIA,EAAG,EAAE,EAAIhB,EAAKgB,EAAG,EAAE,EAAIJ,GAChCI,EAAG,EAAE,EAAIA,EAAG,EAAE,EAAIX,EAAKW,EAAG,EAAE,EAAIH,GAChCG,EAAG,EAAE,EAAIA,EAAG,EAAE,EAAIN,GAAKM,EAAG,EAAE,EAAIF,GAChCE,EAAG,EAAE,GAAKD,IAET,MAAQ1G,GAAS,oBAAsB,GACjC,MAAQA,EAGjB,IAAI4G,GAAKD,EAAG,CAAC,EACTE,GAAKF,EAAG,CAAC,EACTG,GAAKH,EAAG,CAAC,EACTI,GAAKJ,EAAG,CAAC,EACTK,GAAKL,EAAG,CAAC,EACTM,GAAKN,EAAG,CAAC,EACTO,GAAKP,EAAG,CAAC,EACTQ,GAAKR,EAAG,CAAC,EACTS,GAAKT,EAAG,CAAC,EACTU,GAAKV,EAAG,CAAC,EACTW,GAAKX,EAAG,EAAE,EACVY,GAAKZ,EAAG,EAAE,EACVa,GAAKb,EAAG,EAAE,EACVc,GAAKd,EAAG,EAAE,EACVe,GAAKf,EAAG,EAAE,EACVgB,GAAKhB,EAAG,EAAE,EAOd,OAAAA,EAAG,CAAC,EAAIC,GAAKjB,EAAKkB,GAAKd,EAAKe,GAAKX,EAAKY,GAAKR,GAC3CI,EAAG,CAAC,EAAIC,GAAKhB,EAAKiB,GAAKb,EAAKc,GAAKV,GAAKW,GAAKP,GAC3CG,EAAG,CAAC,EAAIC,GAAKf,EAAKgB,GAAKZ,EAAKa,GAAKT,GAAKU,GAAKN,GAC3CE,EAAG,CAAC,EAAIC,GAAKd,EAAKe,GAAKX,EAAKY,GAAKR,GAAKS,GAAKL,GAC3CC,EAAG,CAAC,EAAIK,GAAKrB,EAAKsB,GAAKlB,EAAKmB,GAAKf,EAAKgB,GAAKZ,GAC3CI,EAAG,CAAC,EAAIK,GAAKpB,EAAKqB,GAAKjB,EAAKkB,GAAKd,GAAKe,GAAKX,GAC3CG,EAAG,CAAC,EAAIK,GAAKnB,EAAKoB,GAAKhB,EAAKiB,GAAKb,GAAKc,GAAKV,GAC3CE,EAAG,CAAC,EAAIK,GAAKlB,EAAKmB,GAAKf,EAAKgB,GAAKZ,GAAKa,GAAKT,GAC3CC,EAAG,CAAC,EAAIS,GAAKzB,EAAK0B,GAAKtB,EAAKuB,GAAKnB,EAAKoB,GAAKhB,GAC3CI,EAAG,CAAC,EAAIS,GAAKxB,EAAKyB,GAAKrB,EAAKsB,GAAKlB,GAAKmB,GAAKf,GAC3CG,EAAG,EAAE,EAAIS,GAAKvB,EAAKwB,GAAKpB,EAAKqB,GAAKjB,GAAKkB,GAAKd,GAC5CE,EAAG,EAAE,EAAIS,GAAKtB,EAAKuB,GAAKnB,EAAKoB,GAAKhB,GAAKiB,GAAKb,GAC5CC,EAAG,EAAE,EAAIa,GAAK7B,EAAK8B,GAAK1B,EAAK2B,GAAKvB,EAAKwB,GAAKpB,GAC5CI,EAAG,EAAE,EAAIa,GAAK5B,EAAK6B,GAAKzB,EAAK0B,GAAKtB,GAAKuB,GAAKnB,GAC5CG,EAAG,EAAE,EAAIa,GAAK3B,EAAK4B,GAAKxB,EAAKyB,GAAKrB,GAAKsB,GAAKlB,GAC5CE,EAAG,EAAE,EAAIa,GAAK1B,EAAK2B,GAAKvB,EAAKwB,GAAKpB,GAAKqB,GAAKjB,IAC3C,MAAQ1G,GAAS,oBAAsB,GACjC,MAAQA,CACjB,CAEA,SAAS4H,GAAa,CACpB,OAAM,MAAQ5H,GAAS,uBACpB,MAAQA,GAAS,UAAY,GAAG,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,CAAC,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAAM,MAAQA,GAAS,MAAM,EAAE,IAAM,IAChmB,MAAQA,GAAS,oBAAsB,KAGlC,MAAQA,GAAS,SAC3B,CAEA,SAAS6H,EAAOC,EAAM,CAGpB,QAFItH,EAAI,EAEDA,EAAI,IAAI,CACb,GAAIsH,EAAK,MAAMtH,CAAC,KAAO,MAAQR,GAAS,MAAMQ,CAAC,EAC7C,MAAO,GAGTA,GAAK,CACP,CAEA,MAAO,EACT,CAEA,SAASuH,EAAMD,EAAM,CACnB,IAAItH,EAEJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,EACvBsH,EAAK,MAAMtH,CAAC,GAAK,MAAQR,GAAS,MAAMQ,CAAC,EAG3C,OAAOsH,CACT,CAEA,SAASE,EAAeC,EAAO,CAC7B,IAAIzH,EAEJ,IAAKA,EAAI,EAAGA,EAAI,GAAIA,GAAK,GACtB,MAAQR,GAAS,MAAMQ,CAAC,EAAIyH,EAAMzH,CAAC,CAExC,CAEA,SAAS0H,EAAaC,EAAGC,EAAGC,EAAG,CAC7B,MAAO,CACL,EAAGF,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,EAChI,EAAGmI,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,EAChI,EAAGmI,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,EAAE,GAAK,MAAQA,GAAS,MAAM,EAAE,CACnI,CAKF,CAEA,SAASsI,EAASH,EAAGC,EAAGC,EAAG,CACzB,OAAOF,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,CACtI,CAEA,SAASuI,EAASJ,EAAGC,EAAGC,EAAG,CACzB,OAAOF,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,CACtI,CAEA,SAASwI,EAASL,EAAGC,EAAGC,EAAG,CACzB,OAAOF,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,EAAE,GAAK,MAAQA,GAAS,MAAM,EAAE,CACvI,CAEA,SAASyI,GAAmB,CAC1B,IAAIC,GAAe,MAAQ1I,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,CAAC,EAC9H6E,GAAK,MAAQ7E,GAAS,MAAM,CAAC,EAAI0I,EACjC3G,EAAI,EAAE,MAAQ/B,GAAS,MAAM,CAAC,EAAI0I,EAClC5D,EAAI,EAAE,MAAQ9E,GAAS,MAAM,CAAC,EAAI0I,EAClCpG,GAAK,MAAQtC,GAAS,MAAM,CAAC,EAAI0I,EACjC3D,IAAM,MAAQ/E,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,GAAK,MAAQA,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,GAAK0I,EAC5H1G,EAAI,GAAG,MAAQhC,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,GAAK,MAAQA,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,GAAK0I,EAC7HC,EAAgB,IAAI,OACxB,OAAAA,EAAc,MAAM,CAAC,EAAI9D,EACzB8D,EAAc,MAAM,CAAC,EAAI5G,EACzB4G,EAAc,MAAM,CAAC,EAAI7D,EACzB6D,EAAc,MAAM,CAAC,EAAIrG,EACzBqG,EAAc,MAAM,EAAE,EAAI5D,EAC1B4D,EAAc,MAAM,EAAE,EAAI3G,EACnB2G,CACT,CAEA,SAASC,EAAaC,EAAI,CACxB,IAAIF,EAAgB,KAAK,iBAAiB,EAC1C,OAAOA,EAAc,kBAAkBE,EAAG,CAAC,EAAGA,EAAG,CAAC,EAAGA,EAAG,CAAC,GAAK,CAAC,CACjE,CAEA,SAASC,EAAcC,EAAK,CAC1B,IAAIvI,EACAC,EAAMsI,EAAI,OACVC,EAAS,CAAC,EAEd,IAAKxI,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwI,EAAOxI,CAAC,EAAIoI,EAAaG,EAAIvI,CAAC,CAAC,EAGjC,OAAOwI,CACT,CAEA,SAASC,EAAoBC,EAAKC,EAAKC,EAAK,CAC1C,IAAIpG,EAAM,iBAAiB,UAAW,CAAC,EAEvC,GAAI,KAAK,WAAW,EAClBA,EAAI,CAAC,EAAIkG,EAAI,CAAC,EACdlG,EAAI,CAAC,EAAIkG,EAAI,CAAC,EACdlG,EAAI,CAAC,EAAImG,EAAI,CAAC,EACdnG,EAAI,CAAC,EAAImG,EAAI,CAAC,EACdnG,EAAI,CAAC,EAAIoG,EAAI,CAAC,EACdpG,EAAI,CAAC,EAAIoG,EAAI,CAAC,MACT,CACL,IAAIC,GAAM,MAAQrJ,GAAS,MAAM,CAAC,EAC9B2H,GAAM,MAAQ3H,GAAS,MAAM,CAAC,EAC9BsJ,GAAM,MAAQtJ,GAAS,MAAM,CAAC,EAC9BuJ,GAAM,MAAQvJ,GAAS,MAAM,CAAC,EAC9BwJ,GAAO,MAAQxJ,GAAS,MAAM,EAAE,EAChCyJ,IAAO,MAAQzJ,GAAS,MAAM,EAAE,EACpCgD,EAAI,CAAC,EAAIkG,EAAI,CAAC,EAAIG,EAAKH,EAAI,CAAC,EAAII,EAAKE,EACrCxG,EAAI,CAAC,EAAIkG,EAAI,CAAC,EAAIvB,EAAKuB,EAAI,CAAC,EAAIK,EAAKE,GACrCzG,EAAI,CAAC,EAAImG,EAAI,CAAC,EAAIE,EAAKF,EAAI,CAAC,EAAIG,EAAKE,EACrCxG,EAAI,CAAC,EAAImG,EAAI,CAAC,EAAIxB,EAAKwB,EAAI,CAAC,EAAII,EAAKE,GACrCzG,EAAI,CAAC,EAAIoG,EAAI,CAAC,EAAIC,EAAKD,EAAI,CAAC,EAAIE,EAAKE,EACrCxG,EAAI,CAAC,EAAIoG,EAAI,CAAC,EAAIzB,EAAKyB,EAAI,CAAC,EAAIG,EAAKE,EACvC,CAEA,OAAOzG,CACT,CAEA,SAAS0G,EAAkBvB,EAAGC,EAAGC,EAAG,CAClC,IAAIrF,EAEJ,OAAI,KAAK,WAAW,EAClBA,EAAM,CAACmF,EAAGC,EAAGC,CAAC,EAEdrF,EAAM,CAACmF,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,EAAGmI,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,MAAM,EAAE,EAAGmI,GAAK,MAAQnI,GAAS,MAAM,CAAC,EAAIoI,GAAK,MAAQpI,GAAS,MAAM,CAAC,EAAIqI,GAAK,MAAQrI,GAAS,MAAM,EAAE,GAAK,MAAQA,GAAS,MAAM,EAAE,CAAC,EAGjYgD,CACT,CAEA,SAAS2G,EAAwBxB,EAAGC,EAAG,CACrC,GAAI,KAAK,WAAW,EAClB,OAAOD,EAAI,IAAMC,EAGnB,IAAIzB,GAAM,MAAQ3G,GAAS,MAC3B,OAAO,KAAK,OAAOmI,EAAIxB,EAAG,CAAC,EAAIyB,EAAIzB,EAAG,CAAC,EAAIA,EAAG,EAAE,GAAK,GAAG,EAAI,IAAM,IAAM,KAAK,OAAOwB,EAAIxB,EAAG,CAAC,EAAIyB,EAAIzB,EAAG,CAAC,EAAIA,EAAG,EAAE,GAAK,GAAG,EAAI,GAC/H,CAEA,SAASiD,GAAQ,CAWf,QALIpJ,EAAI,EACJyH,GAAS,MAAQjI,GAAS,MAC1B6J,EAAW,YACXjI,EAAI,IAEDpB,EAAI,IACTqJ,GAAYnG,EAAKuE,EAAMzH,CAAC,EAAIoB,CAAC,EAAIA,EACjCiI,GAAYrJ,IAAM,GAAK,IAAM,IAC7BA,GAAK,EAGP,OAAOqJ,CACT,CAEA,SAASC,EAAoBpJ,EAAK,CAChC,IAAIkB,EAAI,IAER,OAAIlB,EAAM,MAAYA,EAAM,GAAKA,EAAM,OAAaA,EAAM,EACjDgD,EAAKhD,EAAMkB,CAAC,EAAIA,EAGlBlB,CACT,CAEA,SAASqJ,GAAU,CAMjB,IAAI9B,GAAS,MAAQjI,GAAS,MAE1BgK,EAAKF,EAAoB7B,EAAM,CAAC,CAAC,EAEjCgC,EAAKH,EAAoB7B,EAAM,CAAC,CAAC,EAEjCiC,EAAKJ,EAAoB7B,EAAM,CAAC,CAAC,EAEjCkC,EAAKL,EAAoB7B,EAAM,CAAC,CAAC,EAEjCmC,EAAKN,EAAoB7B,EAAM,EAAE,CAAC,EAElCoC,EAAKP,EAAoB7B,EAAM,EAAE,CAAC,EAEtC,MAAO,UAAY+B,EAAK,IAAMC,EAAK,IAAMC,EAAK,IAAMC,EAAK,IAAMC,EAAK,IAAMC,EAAK,GACjF,CAEA,OAAO,UAAY,EAChB,MAAQrK,GAAS,MAAQ2D,GACzB,MAAQ3D,GAAS,OAAS4D,GAC1B,MAAQ5D,GAAS,QAAUgE,GAC3B,MAAQhE,GAAS,QAAUiE,GAC3B,MAAQjE,GAAS,QAAUkE,GAC3B,MAAQlE,GAAS,KAAOsE,GACxB,MAAQtE,GAAS,aAAeyE,GAChC,MAAQzE,GAAS,MAAQmE,GACzB,MAAQnE,GAAS,MAAQ0E,GACzB,MAAQ1E,GAAS,aAAe4E,GAChC,MAAQ5E,GAAS,UAAYsF,GAC7B,MAAQtF,GAAS,UAAY0F,GAC7B,MAAQ1F,GAAS,aAAekI,GAChC,MAAQlI,GAAS,SAAWsI,GAC5B,MAAQtI,GAAS,SAAWuI,GAC5B,MAAQvI,GAAS,SAAWwI,GAC5B,MAAQxI,GAAS,kBAAoB0J,GACrC,MAAQ1J,GAAS,oBAAsBiJ,GACvC,MAAQjJ,GAAS,wBAA0B2J,GAC3C,MAAQ3J,GAAS,MAAQ4J,GACzB,MAAQ5J,GAAS,QAAU+J,GAC3B,MAAQ/J,GAAS,MAAQ+H,GACzB,MAAQ/H,GAAS,eAAiBgI,GAClC,MAAQhI,GAAS,OAAS6H,GAC1B,MAAQ7H,GAAS,cAAgB8I,GACjC,MAAQ9I,GAAS,aAAe4I,GAChC,MAAQ5I,GAAS,iBAAmByI,GACpC,MAAQzI,GAAS,IAAM,MAAQA,GAAS,WACxC,MAAQA,GAAS,WAAa4H,GAC9B,MAAQ5H,GAAS,UAAY,IAC7B,MAAQA,GAAS,oBAAsB,IACvC,MAAQA,GAAS,MAAQ,iBAAiB,UAAW,EAAE,EACxD,KAAK,MAAM,CACb,CACF,EAAE,GA4BD,SAAUsK,EAAMC,EAAM,CAIrB,IAAItK,EAAS,MAAQD,EACjBwK,EAAQ,IAEZC,EAAS,EAETC,EAAS,GAETC,EAAU,SAEVC,EAAaL,EAAK,IAAIC,EAAOC,CAAM,EAC/BI,EAAeN,EAAK,IAAI,EAAGG,CAAM,EACjCI,EAAWD,EAAe,EAC1BE,EAAOP,EAAQ,EACfQ,EAMJ,SAASC,EAAWC,EAAMC,EAASrI,EAAU,CAC3C,IAAIsI,EAAM,CAAC,EACXD,EAAUA,IAAY,GAAO,CAC3B,QAAS,EACX,EAAIA,GAAW,CAAC,EAEhB,IAAIE,EAAYC,EAAOC,EAAQJ,EAAQ,QAAU,CAACD,EAAMM,EAASlB,CAAI,CAAC,EAAIY,IAAS,KAAOO,EAAS,EAAIP,EAAM,CAAC,EAAGE,CAAG,EAEhHM,EAAO,IAAIC,EAAKP,CAAG,EAGnBQ,EAAO,UAAY,CAOrB,QANIxG,EAAIsG,EAAK,EAAEjB,CAAM,EAErBnI,EAAIsI,EAEJzC,EAAI,EAEG/C,EAAIyF,GAETzF,GAAKA,EAAI+C,GAAKqC,EAEdlI,GAAKkI,EAELrC,EAAIuD,EAAK,EAAE,CAAC,EAGd,KAAOtG,GAAK0F,GAEV1F,GAAK,EAEL9C,GAAK,EAEL6F,KAAO,EAGT,OAAQ/C,EAAI+C,GAAK7F,CACnB,EAEA,OAAAsJ,EAAK,MAAQ,UAAY,CACvB,OAAOF,EAAK,EAAE,CAAC,EAAI,CACrB,EAEAE,EAAK,MAAQ,UAAY,CACvB,OAAOF,EAAK,EAAE,CAAC,EAAI,UACrB,EAEAE,EAAK,OAASA,EAEdN,EAAOE,EAASE,EAAK,CAAC,EAAGpB,CAAI,GAErBa,EAAQ,MAAQrI,GAAY,SAAU8I,EAAMV,EAAMW,EAAcC,EAAO,CAe7E,OAdIA,IAEEA,EAAM,GACRC,EAAKD,EAAOJ,CAAI,EAIlBE,EAAK,MAAQ,UAAY,CACvB,OAAOG,EAAKL,EAAM,CAAC,CAAC,CACtB,GAKEG,GACFtB,EAAKI,CAAO,EAAIiB,EACTV,GAGGU,CACd,GAAGA,EAAMP,EAAW,WAAYF,EAAUA,EAAQ,QAAU,MAAQnL,IAAYuK,EAAMY,EAAQ,KAAK,CACrG,CAEAZ,EAAK,OAASI,CAAO,EAAIM,EAWzB,SAASU,EAAKP,EAAK,CACjB,IAAIjJ,EACA6J,EAASZ,EAAI,OACba,EAAK,MAAQjM,EACbQ,EAAI,EACJwE,EAAIiH,EAAG,EAAIA,EAAG,EAAI,EAClBtK,EAAIsK,EAAG,EAAI,CAAC,EAOhB,IALKD,IACHZ,EAAM,CAACY,GAAQ,GAIVxL,EAAIgK,GACT7I,EAAEnB,CAAC,EAAIA,IAGT,IAAKA,EAAI,EAAGA,EAAIgK,EAAOhK,IACrBmB,EAAEnB,CAAC,EAAImB,EAAEqD,EAAI+F,EAAO/F,EAAIoG,EAAI5K,EAAIwL,CAAM,GAAK7J,EAAIR,EAAEnB,CAAC,EAAE,EACpDmB,EAAEqD,CAAC,EAAI7C,EAIT8J,EAAG,EAAI,SAAUC,EAAO,CAQtB,QANI/J,EACAN,EAAI,EACJrB,EAAIyL,EAAG,EACPjH,EAAIiH,EAAG,EACPtK,EAAIsK,EAAG,EAEJC,KACL/J,EAAIR,EAAEnB,EAAIuK,EAAOvK,EAAI,CAAC,EACtBqB,EAAIA,EAAI2I,EAAQ7I,EAAEoJ,GAAQpJ,EAAEnB,CAAC,EAAImB,EAAEqD,EAAI+F,EAAO/F,EAAI7C,CAAC,IAAMR,EAAEqD,CAAC,EAAI7C,EAAE,EAGpE,OAAA8J,EAAG,EAAIzL,EACPyL,EAAG,EAAIjH,EACAnD,CAGT,CACF,CAMA,SAASkK,EAAK/J,EAAGG,EAAG,CAClB,OAAAA,EAAE,EAAIH,EAAE,EACRG,EAAE,EAAIH,EAAE,EACRG,EAAE,EAAIH,EAAE,EAAE,MAAM,EACTG,CACT,CAMA,SAASoJ,EAAQY,EAAKC,EAAO,CAC3B,IAAIC,EAAS,CAAC,EACVC,EAAM,OAAOH,EACbhJ,EAEJ,GAAIiJ,GAASE,GAAO,SAClB,IAAKnJ,KAAQgJ,EACX,GAAI,CACFE,EAAO,KAAKd,EAAQY,EAAIhJ,CAAI,EAAGiJ,EAAQ,CAAC,CAAC,CAC3C,MAAY,CAAC,CAIjB,OAAOC,EAAO,OAASA,EAASC,GAAO,SAAWH,EAAMA,EAAM,IAChE,CAOA,SAASb,EAAOJ,EAAME,EAAK,CAKzB,QAJImB,EAAarB,EAAO,GACpBsB,EACAxH,EAAI,EAEDA,EAAIuH,EAAW,QACpBnB,EAAIL,EAAO/F,CAAC,EAAI+F,GAAQyB,GAASpB,EAAIL,EAAO/F,CAAC,EAAI,IAAMuH,EAAW,WAAWvH,GAAG,EAGlF,OAAOwG,EAASJ,CAAG,CACrB,CAOA,SAASK,GAAW,CAClB,GAAI,CACF,GAAIT,EACF,OAAOQ,EAASR,EAAW,YAAYR,CAAK,CAAC,EAG/C,IAAIiC,EAAM,IAAI,WAAWjC,CAAK,EAC9B,OAACvK,EAAO,QAAUA,EAAO,UAAU,gBAAgBwM,CAAG,EAC/CjB,EAASiB,CAAG,CACrB,MAAY,CACV,IAAIC,EAAUzM,EAAO,UACjB0M,EAAUD,GAAWA,EAAQ,QACjC,MAAO,CAAC,CAAC,IAAI,KAAQzM,EAAQ0M,EAAS1M,EAAO,OAAQuL,EAASlB,CAAI,CAAC,CACrE,CACF,CAMA,SAASkB,EAAS3G,EAAG,CACnB,OAAO,OAAO,aAAa,MAAM,EAAGA,CAAC,CACvC,CASAyG,EAAOf,EAAK,OAAO,EAAGD,CAAI,CAK5B,GAAG,CAAC,EACJ,MACA,EAIA,IAAI,cAAgB,UAAY,CAW9B,IAAIsC,EAAK,CAAC,EACVA,EAAG,gBAAkBC,EACrB,IAAIC,EAAU,CAAC,EAEf,SAASD,EAAgBhI,EAAG9C,EAAG+C,EAAGxC,EAAGyK,EAAI,CACvC,IAAIC,EAAMD,IAAO,OAASlI,EAAI,IAAM9C,EAAI,IAAM+C,EAAI,IAAMxC,GAAG,QAAQ,MAAO,GAAG,EAE7E,GAAIwK,EAAQE,CAAG,EACb,OAAOF,EAAQE,CAAG,EAGpB,IAAIC,EAAY,IAAIC,EAAa,CAACrI,EAAG9C,EAAG+C,EAAGxC,CAAC,CAAC,EAC7C,OAAAwK,EAAQE,CAAG,EAAIC,EACRA,CACT,CAGA,IAAIE,EAAoB,EACpBC,EAAmB,KACnBC,EAAwB,KACxBC,EAA6B,GAC7BC,EAAmB,GACnBC,EAAkB,GAAKD,EAAmB,GAC1CE,EAAwB,OAAO,cAAiB,WAEpD,SAASC,EAAEC,EAAKC,EAAK,CACnB,MAAO,GAAI,EAAIA,EAAM,EAAID,CAC3B,CAEA,SAASE,EAAEF,EAAKC,EAAK,CACnB,MAAO,GAAIA,EAAM,EAAID,CACvB,CAEA,SAASG,EAAEH,EAAK,CACd,MAAO,GAAIA,CACb,CAGA,SAASI,EAAWC,EAAIL,EAAKC,EAAK,CAChC,QAASF,EAAEC,EAAKC,CAAG,EAAII,EAAKH,EAAEF,EAAKC,CAAG,GAAKI,EAAKF,EAAEH,CAAG,GAAKK,CAC5D,CAGA,SAASC,EAASD,EAAIL,EAAKC,EAAK,CAC9B,MAAO,GAAIF,EAAEC,EAAKC,CAAG,EAAII,EAAKA,EAAK,EAAIH,EAAEF,EAAKC,CAAG,EAAII,EAAKF,EAAEH,CAAG,CACjE,CAEA,SAASO,EAAgBC,EAAIC,EAAIC,EAAIC,EAAKC,EAAK,CAC7C,IAAIC,EACAC,EACAjO,EAAI,EAER,GACEiO,EAAWL,GAAMC,EAAKD,GAAM,EAC5BI,EAAWT,EAAWU,EAAUH,EAAKC,CAAG,EAAIJ,EAExCK,EAAW,EACbH,EAAKI,EAELL,EAAKK,QAEA,KAAK,IAAID,CAAQ,EAAInB,GAAyB,EAAE7M,EAAI8M,GAE7D,OAAOmB,CACT,CAEA,SAASC,EAAqBP,EAAIQ,EAASL,EAAKC,EAAK,CACnD,QAAS/N,EAAI,EAAGA,EAAI2M,EAAmB,EAAE3M,EAAG,CAC1C,IAAIoO,EAAeX,EAASU,EAASL,EAAKC,CAAG,EAC7C,GAAIK,IAAiB,EAAG,OAAOD,EAC/B,IAAIH,EAAWT,EAAWY,EAASL,EAAKC,CAAG,EAAIJ,EAC/CQ,GAAWH,EAAWI,CACxB,CAEA,OAAOD,CACT,CAMA,SAASzB,EAAa2B,EAAQ,EAC3B,MAAQ7O,GAAS,GAAK6O,GACtB,MAAQ7O,GAAS,eAAiByN,EAAwB,IAAI,aAAaF,CAAgB,EAAI,IAAI,MAAMA,CAAgB,GACzH,MAAQvN,GAAS,aAAe,IAChC,MAAQA,GAAS,KAAO,MAAQA,GAAS,IAAI,KAAK,MAAQA,CAAO,CACpE,CAEA,OAAAkN,EAAa,UAAY,CACvB,IAAK,SAAU/E,EAAG,CAChB,IAAImG,GAAO,MAAQtO,GAAS,GAAG,CAAC,EAC5B8O,GAAO,MAAQ9O,GAAS,GAAG,CAAC,EAC5BuO,GAAO,MAAQvO,GAAS,GAAG,CAAC,EAC5B+O,GAAO,MAAQ/O,GAAS,GAAG,CAAC,EAEhC,OADM,MAAQA,GAAS,cAAc,KAAK,YAAY,EAClDsO,IAAQQ,GAAOP,IAAQQ,EAAY5G,EAGnCA,IAAM,EAAU,EAChBA,IAAM,EAAU,EACb4F,EAAW,KAAK,UAAU5F,CAAC,EAAG2G,EAAKC,CAAG,CAC/C,EAEA,YAAa,UAAY,CACvB,IAAIT,GAAO,MAAQtO,GAAS,GAAG,CAAC,EAC5B8O,GAAO,MAAQ9O,GAAS,GAAG,CAAC,EAC5BuO,GAAO,MAAQvO,GAAS,GAAG,CAAC,EAC5B+O,GAAO,MAAQ/O,GAAS,GAAG,CAAC,GAC/B,MAAQA,GAAS,aAAe,IAE7BsO,IAAQQ,GAAOP,IAAQQ,IACzB,KAAK,kBAAkB,CAE3B,EACA,kBAAmB,UAAY,CAI7B,QAHIT,GAAO,MAAQtO,GAAS,GAAG,CAAC,EAC5BuO,GAAO,MAAQvO,GAAS,GAAG,CAAC,EAEvBQ,EAAI,EAAGA,EAAI+M,EAAkB,EAAE/M,GACrC,MAAQR,GAAS,eAAeQ,CAAC,EAAIuN,EAAWvN,EAAIgN,EAAiBc,EAAKC,CAAG,CAElF,EAKA,UAAW,SAAUJ,EAAI,CAQvB,QAPIG,GAAO,MAAQtO,GAAS,GAAG,CAAC,EAC5BuO,GAAO,MAAQvO,GAAS,GAAG,CAAC,EAC5BgP,GAAiB,MAAQhP,GAAS,eAClCiP,EAAgB,EAChBC,EAAgB,EAChBC,EAAa5B,EAAmB,EAE7B2B,IAAkBC,GAAcH,EAAcE,CAAa,GAAKf,EAAI,EAAEe,EAC3ED,GAAiBzB,EAGnB,EAAE0B,EAEF,IAAIE,GAAQjB,EAAKa,EAAcE,CAAa,IAAMF,EAAcE,EAAgB,CAAC,EAAIF,EAAcE,CAAa,GAC5GG,EAAYJ,EAAgBG,EAAO5B,EACnC8B,EAAerB,EAASoB,EAAWf,EAAKC,CAAG,EAE/C,OAAIe,GAAgBlC,EACXsB,EAAqBP,EAAIkB,EAAWf,EAAKC,CAAG,EAGjDe,IAAiB,EACZD,EAGFnB,EAAgBC,EAAIc,EAAeA,EAAgBzB,EAAiBc,EAAKC,CAAG,CACrF,CACF,EACO3B,CACT,EAAE,GAED,UAAY,CAIX,QAHI2C,EAAW,EACXC,EAAU,CAAC,KAAM,MAAO,SAAU,GAAG,EAEhCrH,EAAI,EAAGA,EAAIqH,EAAQ,QAAU,CAAC,OAAO,sBAAuB,EAAErH,EAErE,OAAO,sBAAwB,OAAOqH,EAAQrH,CAAC,EAAI,uBAAuB,EAC1E,OAAO,qBAAuB,OAAOqH,EAAQrH,CAAC,EAAI,sBAAsB,GAAK,OAAOqH,EAAQrH,CAAC,EAAI,6BAA6B,EAG3H,OAAO,wBACV,OAAO,sBAAwB,SAAUrF,EAAU,CACjD,IAAI2M,EAAW,IAAI,KAAK,EAAE,QAAQ,EAC9BC,EAAa,KAAK,IAAI,EAAG,IAAMD,EAAWF,EAAS,EACnDI,EAAK,WAAW,UAAY,CAC9B7M,EAAS2M,EAAWC,CAAU,CAChC,EAAGA,CAAU,EACb,OAAAH,EAAWE,EAAWC,EACfC,CACT,GAGG,OAAO,uBACV,OAAO,qBAAuB,SAAUA,EAAI,CAC1C,aAAaA,CAAE,CACjB,EAEJ,GAAG,EAIH,SAAS,gBAAgBC,EAASC,EAAa,CAC7C,IAAI,EACApP,EAAMmP,EAAQ,OACdE,EAEJ,IAAK,EAAI,EAAG,EAAIrP,EAAK,GAAK,EAAG,CAC3BqP,EAAkBF,EAAQ,CAAC,EAAE,UAE7B,QAASG,KAAQD,EACX,OAAO,UAAU,eAAe,KAAKA,EAAiBC,CAAI,IAAGF,EAAY,UAAUE,CAAI,EAAID,EAAgBC,CAAI,EAEvH,CACF,CAEA,SAAS,cAAcC,EAAQ7M,EAAM,CACnC,OAAO,OAAO,yBAAyB6M,EAAQ7M,CAAI,CACrD,CAEA,SAAS,oBAAoB8M,EAAW,CACtC,SAASC,GAAgB,CAAC,CAE1B,OAAAA,EAAc,UAAYD,EACnBC,CACT,CAMA,SAAS,aAAc,CACrB,IAAI3F,EAAO,KAEX,SAAS4F,EAAcC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI,CAC7C,IAAIC,EAAON,EAAKG,EAAKF,EAAKG,EAAKF,EAAKG,EAAKD,EAAKD,EAAKE,EAAKL,EAAKE,EAAKD,EAClE,OAAOK,EAAO,OAAUA,EAAO,IACjC,CAEA,SAASC,EAAcP,EAAIC,EAAIO,EAAIN,EAAIC,EAAIM,EAAIL,EAAIC,EAAIK,EAAI,CACzD,GAAIF,IAAO,GAAKC,IAAO,GAAKC,IAAO,EACjC,OAAOX,EAAcC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,CAAE,EAG7C,IAAIM,EAAQxG,EAAK,KAAKA,EAAK,IAAI+F,EAAKF,EAAI,CAAC,EAAI7F,EAAK,IAAIgG,EAAKF,EAAI,CAAC,EAAI9F,EAAK,IAAIsG,EAAKD,EAAI,CAAC,CAAC,EACpFI,EAAQzG,EAAK,KAAKA,EAAK,IAAIiG,EAAKJ,EAAI,CAAC,EAAI7F,EAAK,IAAIkG,EAAKJ,EAAI,CAAC,EAAI9F,EAAK,IAAIuG,EAAKF,EAAI,CAAC,CAAC,EACpFK,EAAQ1G,EAAK,KAAKA,EAAK,IAAIiG,EAAKF,EAAI,CAAC,EAAI/F,EAAK,IAAIkG,EAAKF,EAAI,CAAC,EAAIhG,EAAK,IAAIuG,EAAKD,EAAI,CAAC,CAAC,EACpFK,EAEJ,OAAIH,EAAQC,EACND,EAAQE,EACVC,EAAWH,EAAQC,EAAQC,EAE3BC,EAAWD,EAAQD,EAAQD,EAEpBE,EAAQD,EACjBE,EAAWD,EAAQD,EAAQD,EAE3BG,EAAWF,EAAQD,EAAQE,EAGtBC,EAAW,OAAWA,EAAW,IAC1C,CAEA,IAAIC,EAAkB,UAAY,CAChC,OAAO,SAAUjI,EAAKC,EAAKC,EAAKgI,EAAK,CACnC,IAAIC,EAAgB,qBAChBpM,EACAzE,EACAC,EACA6Q,EACAC,EACAC,EAAc,EACdC,EACAC,EAAQ,CAAC,EACTC,EAAY,CAAC,EACbC,EAAa,iBAAiB,WAAW,EAG7C,IAFAnR,EAAM2I,EAAI,OAELnE,EAAI,EAAGA,EAAIoM,EAAepM,GAAK,EAAG,CAIrC,IAHAsM,EAAOtM,GAAKoM,EAAgB,GAC5BI,EAAa,EAERjR,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8Q,EAAU,MAAM,EAAIC,EAAM,CAAC,EAAIrI,EAAI1I,CAAC,EAAI,EAAI,MAAM,EAAI+Q,EAAM,CAAC,EAAIA,EAAOnI,EAAI5I,CAAC,EAAI,GAAK,EAAI+Q,GAAQ,MAAMA,EAAM,CAAC,EAAIH,EAAI5Q,CAAC,EAAI,MAAM+Q,EAAM,CAAC,EAAIpI,EAAI3I,CAAC,EAClJkR,EAAMlR,CAAC,EAAI8Q,EAEPK,EAAUnR,CAAC,IAAM,OACnBiR,GAAc,MAAMC,EAAMlR,CAAC,EAAImR,EAAUnR,CAAC,EAAG,CAAC,GAGhDmR,EAAUnR,CAAC,EAAIkR,EAAMlR,CAAC,EAGpBiR,IACFA,EAAa,OAAOA,CAAU,EAC9BD,GAAeC,GAGjBG,EAAW,SAAS3M,CAAC,EAAIsM,EACzBK,EAAW,QAAQ3M,CAAC,EAAIuM,CAC1B,CAEA,OAAAI,EAAW,YAAcJ,EAClBI,CACT,CACF,EAAE,EAEF,SAASC,EAAkBC,EAAW,CACpC,IAAIC,EAAiB,mBAAmB,WAAW,EAC/CC,EAASF,EAAU,EACnBG,EAAQH,EAAU,EAClBI,EAAQJ,EAAU,EAClBK,EAAQL,EAAU,EAClBtR,EACAC,EAAMqR,EAAU,QAChBM,EAAUL,EAAe,QACzBM,EAAc,EAElB,IAAK7R,EAAI,EAAGA,EAAIC,EAAM,EAAGD,GAAK,EAC5B4R,EAAQ5R,CAAC,EAAI2Q,EAAgBc,EAAMzR,CAAC,EAAGyR,EAAMzR,EAAI,CAAC,EAAG0R,EAAM1R,CAAC,EAAG2R,EAAM3R,EAAI,CAAC,CAAC,EAC3E6R,GAAeD,EAAQ5R,CAAC,EAAE,YAG5B,OAAIwR,GAAUvR,IACZ2R,EAAQ5R,CAAC,EAAI2Q,EAAgBc,EAAMzR,CAAC,EAAGyR,EAAM,CAAC,EAAGC,EAAM1R,CAAC,EAAG2R,EAAM,CAAC,CAAC,EACnEE,GAAeD,EAAQ5R,CAAC,EAAE,aAG5BuR,EAAe,YAAcM,EACtBN,CACT,CAEA,SAASO,EAAWC,EAAQ,EACzB,MAAQvS,GAAS,cAAgB,GACjC,MAAQA,GAAS,OAAS,IAAI,MAAMuS,CAAM,CAC7C,CAEA,SAASC,EAAUC,EAASf,EAAO,EAChC,MAAQ1R,GAAS,cAAgByS,GACjC,MAAQzS,GAAS,MAAQ0R,CAC5B,CAEA,IAAIgB,EAAkB,UAAY,CAChC,IAAIC,EAAa,CAAC,EAClB,OAAO,SAAUzJ,EAAKC,EAAKC,EAAKgI,EAAK,CACnC,IAAIwB,GAAc1J,EAAI,CAAC,EAAI,IAAMA,EAAI,CAAC,EAAI,IAAMC,EAAI,CAAC,EAAI,IAAMA,EAAI,CAAC,EAAI,IAAMC,EAAI,CAAC,EAAI,IAAMA,EAAI,CAAC,EAAI,IAAMgI,EAAI,CAAC,EAAI,IAAMA,EAAI,CAAC,GAAG,QAAQ,MAAO,GAAG,EAErJ,GAAI,CAACuB,EAAWC,CAAU,EAAG,CAC3B,IAAIvB,EAAgB,qBAChBpM,EACAzE,EACAC,EACA6Q,EACAC,EACAC,EAAc,EACdC,EACAC,EACAC,EAAY,KAEZzI,EAAI,SAAW,IAAMA,EAAI,CAAC,IAAMC,EAAI,CAAC,GAAKD,EAAI,CAAC,IAAMC,EAAI,CAAC,IAAMgH,EAAcjH,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGD,EAAI,CAAC,EAAIE,EAAI,CAAC,EAAGF,EAAI,CAAC,EAAIE,EAAI,CAAC,CAAC,GAAK+G,EAAcjH,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAIiI,EAAI,CAAC,EAAGjI,EAAI,CAAC,EAAIiI,EAAI,CAAC,CAAC,IACnOC,EAAgB,GAGlB,IAAIwB,EAAa,IAAIP,EAAWjB,CAAa,EAG7C,IAFA5Q,EAAM2I,EAAI,OAELnE,EAAI,EAAGA,EAAIoM,EAAepM,GAAK,EAAG,CAKrC,IAJAyM,EAAQ,iBAAiBjR,CAAG,EAC5B8Q,EAAOtM,GAAKoM,EAAgB,GAC5BI,EAAa,EAERjR,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8Q,EAAU,MAAM,EAAIC,EAAM,CAAC,EAAIrI,EAAI1I,CAAC,EAAI,EAAI,MAAM,EAAI+Q,EAAM,CAAC,EAAIA,GAAQrI,EAAI1I,CAAC,EAAI4I,EAAI5I,CAAC,GAAK,GAAK,EAAI+Q,GAAQ,MAAMA,EAAM,CAAC,GAAKpI,EAAI3I,CAAC,EAAI4Q,EAAI5Q,CAAC,GAAK,MAAM+Q,EAAM,CAAC,EAAIpI,EAAI3I,CAAC,EACxKkR,EAAMlR,CAAC,EAAI8Q,EAEPK,IAAc,OAChBF,GAAc,MAAMC,EAAMlR,CAAC,EAAImR,EAAUnR,CAAC,EAAG,CAAC,GAIlDiR,EAAa,OAAOA,CAAU,EAC9BD,GAAeC,EACfoB,EAAW,OAAO5N,CAAC,EAAI,IAAIuN,EAAUf,EAAYC,CAAK,EACtDC,EAAYD,CACd,CAEAmB,EAAW,cAAgBrB,EAC3BmB,EAAWC,CAAU,EAAIC,CAC3B,CAEA,OAAOF,EAAWC,CAAU,CAC9B,CACF,EAAE,EAEF,SAASE,EAAgBvB,EAAMsB,EAAY,CACzC,IAAIE,EAAWF,EAAW,SACtBT,EAAUS,EAAW,QACrBpS,EAAMsS,EAAS,OACfC,EAAU,SAASvS,EAAM,GAAK8Q,CAAI,EAClC0B,EAAY1B,EAAOsB,EAAW,YAC9BK,EAAQ,EAEZ,GAAIF,IAAYvS,EAAM,GAAKuS,IAAY,GAAKC,IAAcb,EAAQY,CAAO,EACvE,OAAOD,EAASC,CAAO,EAMzB,QAHIG,EAAMf,EAAQY,CAAO,EAAIC,EAAY,GAAK,EAC1CpS,EAAO,GAEJA,GAQL,GAPIuR,EAAQY,CAAO,GAAKC,GAAab,EAAQY,EAAU,CAAC,EAAIC,GAC1DC,GAASD,EAAYb,EAAQY,CAAO,IAAMZ,EAAQY,EAAU,CAAC,EAAIZ,EAAQY,CAAO,GAChFnS,EAAO,IAEPmS,GAAWG,EAGTH,EAAU,GAAKA,GAAWvS,EAAM,EAAG,CAErC,GAAIuS,IAAYvS,EAAM,EACpB,OAAOsS,EAASC,CAAO,EAGzBnS,EAAO,EACT,CAGF,OAAOkS,EAASC,CAAO,GAAKD,EAASC,EAAU,CAAC,EAAID,EAASC,CAAO,GAAKE,CAC3E,CAEA,SAASE,EAAkBlK,EAAKC,EAAKC,EAAKgI,EAAKiC,EAASR,EAAY,CAClE,IAAIS,EAAKR,EAAgBO,EAASR,CAAU,EACxCU,EAAK,EAAID,EACTE,EAAMjJ,EAAK,OAAOgJ,EAAKA,EAAKA,EAAKrK,EAAI,CAAC,GAAKoK,EAAKC,EAAKA,EAAKA,EAAKD,EAAKC,EAAKA,EAAKA,EAAKD,GAAMlK,EAAI,CAAC,GAAKkK,EAAKA,EAAKC,EAAKA,EAAKD,EAAKA,EAAKA,EAAKC,EAAKD,GAAMlC,EAAI,CAAC,EAAIkC,EAAKA,EAAKA,EAAKnK,EAAI,CAAC,GAAK,GAAI,EAAI,IAC3LsK,EAAMlJ,EAAK,OAAOgJ,EAAKA,EAAKA,EAAKrK,EAAI,CAAC,GAAKoK,EAAKC,EAAKA,EAAKA,EAAKD,EAAKC,EAAKA,EAAKA,EAAKD,GAAMlK,EAAI,CAAC,GAAKkK,EAAKA,EAAKC,EAAKA,EAAKD,EAAKA,EAAKA,EAAKC,EAAKD,GAAMlC,EAAI,CAAC,EAAIkC,EAAKA,EAAKA,EAAKnK,EAAI,CAAC,GAAK,GAAI,EAAI,IAC/L,MAAO,CAACqK,EAAKC,CAAG,CAClB,CAEA,IAAIC,EAAsB,iBAAiB,UAAW,CAAC,EAEvD,SAASC,EAAczK,EAAKC,EAAKC,EAAKgI,EAAKwC,EAAWC,EAAShB,EAAY,CACrEe,EAAY,EACdA,EAAY,EACHA,EAAY,IACrBA,EAAY,GAGd,IAAIE,EAAKhB,EAAgBc,EAAWf,CAAU,EAC9CgB,EAAUA,EAAU,EAAI,EAAIA,EAC5B,IAAIP,EAAKR,EAAgBe,EAAShB,CAAU,EACxCrS,EACAC,EAAMyI,EAAI,OACV6K,EAAK,EAAID,EACTP,EAAK,EAAID,EACTU,EAASD,EAAKA,EAAKA,EACnBE,EAAWH,EAAKC,EAAKA,EAAK,EAE1BG,EAAWJ,EAAKA,EAAKC,EAAK,EAE1BI,EAASL,EAAKA,EAAKA,EAEnBM,EAASL,EAAKA,EAAKR,EACnBc,EAAWP,EAAKC,EAAKR,EAAKQ,EAAKD,EAAKP,EAAKQ,EAAKA,EAAKT,EAEnDgB,EAAWR,EAAKA,EAAKP,EAAKQ,EAAKD,EAAKR,EAAKQ,EAAKC,EAAKT,EAEnDiB,EAAST,EAAKA,EAAKR,EAEnBkB,EAAST,EAAKR,EAAKA,EACnBkB,EAAWX,EAAKP,EAAKA,EAAKQ,EAAKT,EAAKC,EAAKQ,EAAKR,EAAKD,EAEnDoB,EAAWZ,EAAKR,EAAKC,EAAKQ,EAAKT,EAAKA,EAAKQ,EAAKP,EAAKD,EAEnDqB,EAASb,EAAKR,EAAKA,EAEnBsB,EAASrB,EAAKA,EAAKA,EACnBsB,EAAWvB,EAAKC,EAAKA,EAAKA,EAAKD,EAAKC,EAAKA,EAAKA,EAAKD,EAEnDwB,EAAWxB,EAAKA,EAAKC,EAAKA,EAAKD,EAAKA,EAAKA,EAAKC,EAAKD,EAEnDyB,EAASzB,EAAKA,EAAKA,EAEvB,IAAK9S,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBkT,EAAoBlT,EAAI,CAAC,EAAI+J,EAAK,OAAOyJ,EAAS9K,EAAI1I,CAAC,EAAIyT,EAAW7K,EAAI5I,CAAC,EAAI0T,EAAW9C,EAAI5Q,CAAC,EAAI2T,EAAShL,EAAI3I,CAAC,GAAK,GAAI,EAAI,IAE9HkT,EAAoBlT,EAAI,EAAI,CAAC,EAAI+J,EAAK,OAAO6J,EAASlL,EAAI1I,CAAC,EAAI6T,EAAWjL,EAAI5I,CAAC,EAAI8T,EAAWlD,EAAI5Q,CAAC,EAAI+T,EAASpL,EAAI3I,CAAC,GAAK,GAAI,EAAI,IAElIkT,EAAoBlT,EAAI,EAAI,CAAC,EAAI+J,EAAK,OAAOiK,EAAStL,EAAI1I,CAAC,EAAIiU,EAAWrL,EAAI5I,CAAC,EAAIkU,EAAWtD,EAAI5Q,CAAC,EAAImU,EAASxL,EAAI3I,CAAC,GAAK,GAAI,EAAI,IAElIkT,EAAoBlT,EAAI,EAAI,CAAC,EAAI+J,EAAK,OAAOqK,EAAS1L,EAAI1I,CAAC,EAAIqU,EAAWzL,EAAI5I,CAAC,EAAIsU,EAAW1D,EAAI5Q,CAAC,EAAIuU,EAAS5L,EAAI3I,CAAC,GAAK,GAAI,EAAI,IAGpI,OAAOkT,CACT,CAEA,MAAO,CACL,kBAAmB7B,EACnB,cAAe8B,EACf,kBAAmBP,EACnB,gBAAiBV,EACjB,cAAevC,EACf,cAAeQ,CACjB,CACF,CAEA,IAAI,IAAM,YAAY,EAGtB,SAAS,qBAAsB,CAE7B,SAASqE,EAAeC,EAAQC,EAAOC,EAAa,CAClD,IAAIC,EACA5U,EACAC,EAAMwU,EAAO,OACbjQ,EACAqQ,EACApQ,EACAqQ,EAEJ,IAAK9U,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAGxB,GAFA4U,EAAYH,EAAOzU,CAAC,EAEhB,OAAQ4U,GAAa,CAACA,EAAU,UAAW,CAO7C,GANAA,EAAU,UAAY,GAElBA,EAAU,KACZH,EAAOzU,EAAI,CAAC,EAAE,GAAK4U,EAAU,IAG3BA,EAAU,QAAS,CACrB,IAAIG,EAAYH,EAAU,gBAG1B,IAFAC,EAAOE,EAAU,OAEZvQ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB,GAAIuQ,EAAUvQ,CAAC,EAAE,GAAG,EAAE,EACpBwQ,EAA6BD,EAAUvQ,CAAC,EAAE,GAAG,CAAC,MAI9C,KAFAsQ,EAAOC,EAAUvQ,CAAC,EAAE,GAAG,EAAE,OAEpBC,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBsQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,GACvBuQ,EAA6BD,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,EAAE,CAAC,CAAC,EAGpDsQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,GACvBuQ,EAA6BD,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,EAAE,CAAC,CAAC,CAKhE,CAEImQ,EAAU,KAAO,GACnBA,EAAU,OAASK,EAAeL,EAAU,MAAOF,CAAK,EACxDF,EAAeI,EAAU,OAAQF,EAAOC,CAAW,GAC1CC,EAAU,KAAO,EAC1BM,EAAeN,EAAU,MAAM,EACtBA,EAAU,KAAO,GAC1BO,EAAaP,EAAWD,CAAW,CAEvC,CAEJ,CAEA,SAASM,EAAe9F,EAAIuF,EAAO,CAIjC,QAHI1U,EAAI,EACJC,EAAMyU,EAAM,OAET1U,EAAIC,GAAK,CACd,GAAIyU,EAAM1U,CAAC,EAAE,KAAOmP,EAClB,OAAKuF,EAAM1U,CAAC,EAAE,OAAO,OAKd,KAAK,MAAM,KAAK,UAAU0U,EAAM1U,CAAC,EAAE,MAAM,CAAC,GAJ/C0U,EAAM1U,CAAC,EAAE,OAAO,OAAS,GAClB0U,EAAM1U,CAAC,EAAE,QAMpBA,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAASkV,EAAe1S,EAAK,CAC3B,IAAIxC,EACAC,EAAMuC,EAAI,OACVgC,EACAqQ,EAEJ,IAAK7U,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,EAC7B,GAAIwC,EAAIxC,CAAC,EAAE,KAAO,KAChB,GAAIwC,EAAIxC,CAAC,EAAE,GAAG,EAAE,EACdgV,EAA6BxS,EAAIxC,CAAC,EAAE,GAAG,CAAC,MAIxC,KAFA6U,EAAOrS,EAAIxC,CAAC,EAAE,GAAG,EAAE,OAEdwE,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBhC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,GACjBwQ,EAA6BxS,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,EAAE,CAAC,CAAC,EAG9ChC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,GACjBwQ,EAA6BxS,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,EAAE,CAAC,CAAC,OAI7ChC,EAAIxC,CAAC,EAAE,KAAO,MACvBkV,EAAe1S,EAAIxC,CAAC,EAAE,EAAE,CAG9B,CAEA,SAASgV,EAA6BI,EAAM,CAC1C,IAAIpV,EACAC,EAAMmV,EAAK,EAAE,OAEjB,IAAKpV,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAC3BoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAC3BoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAC3BoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,CAE/B,CAEA,SAASqV,EAAaC,EAASC,EAAmB,CAChD,IAAIC,EAAcD,EAAoBA,EAAkB,MAAM,GAAG,EAAI,CAAC,IAAK,IAAK,GAAG,EAEnF,OAAID,EAAQ,CAAC,EAAIE,EAAY,CAAC,EACrB,GAGLA,EAAY,CAAC,EAAIF,EAAQ,CAAC,EACrB,GAGLA,EAAQ,CAAC,EAAIE,EAAY,CAAC,EACrB,GAGLA,EAAY,CAAC,EAAIF,EAAQ,CAAC,EACrB,GAGLA,EAAQ,CAAC,EAAIE,EAAY,CAAC,EACrB,GAGLA,EAAY,CAAC,EAAIF,EAAQ,CAAC,EACrB,GAGF,IACT,CAEA,IAAIG,EAAY,UAAY,CAC1B,IAAIC,EAAiB,CAAC,EAAG,EAAG,EAAE,EAE9B,SAASC,EAAgBC,EAAW,CAClC,IAAIC,EAAeD,EAAU,EAAE,EAC/BA,EAAU,EAAE,EAAI,CACd,EAAG,CAAC,CACF,EAAGC,EACH,EAAG,CACL,CAAC,CACH,CACF,CAEA,SAASC,EAAcrB,EAAQ,CAC7B,IAAIzU,EACAC,EAAMwU,EAAO,OAEjB,IAAKzU,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpByU,EAAOzU,CAAC,EAAE,KAAO,GACnB2V,EAAgBlB,EAAOzU,CAAC,CAAC,CAG/B,CAEA,OAAO,SAAU+V,EAAe,CAC9B,GAAIV,EAAaK,EAAgBK,EAAc,CAAC,IAC9CD,EAAcC,EAAc,MAAM,EAE9BA,EAAc,QAAQ,CACxB,IAAI/V,EACAC,EAAM8V,EAAc,OAAO,OAE/B,IAAK/V,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpB+V,EAAc,OAAO/V,CAAC,EAAE,QAC1B8V,EAAcC,EAAc,OAAO/V,CAAC,EAAE,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEEgW,EAAa,UAAY,CAC3B,IAAIN,EAAiB,CAAC,EAAG,EAAG,EAAE,EAC9B,OAAO,SAAUK,EAAe,CAC9B,GAAIA,EAAc,OAAS,CAACV,EAAaK,EAAgBK,EAAc,CAAC,EAAG,CACzE,IAAI/V,EACAC,EAAM8V,EAAc,MAAM,OAC1BvR,EACAqQ,EACAoB,EACAC,EAEJ,IAAKlW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI+V,EAAc,MAAM/V,CAAC,EAAE,MAAQ+V,EAAc,MAAM/V,CAAC,EAAE,KAAK,OAI7D,IAHAkW,EAAQH,EAAc,MAAM/V,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,GAC9C6U,EAAOqB,EAAM,OAER1R,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByR,EAAWC,EAAM1R,CAAC,EAAE,GAAG,EAElByR,EAAS,cACZjB,EAA6BkB,EAAM1R,CAAC,EAAE,GAAG,CAAC,EAC1CyR,EAAS,YAAc,GAKjC,CACF,CACF,EAAE,EAEEE,EAAc,UAAY,CAC5B,IAAIT,EAAiB,CAAC,EAAG,EAAG,CAAC,EAE7B,SAASU,EAAcC,EAAQ,CAC7B,IAAIrW,EACAC,EAAMoW,EAAO,OACb7R,EACAqQ,EAEJ,IAAK7U,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAIqW,EAAOrW,CAAC,EAAE,KAAO,KACnBoW,EAAcC,EAAOrW,CAAC,EAAE,EAAE,UACjBqW,EAAOrW,CAAC,EAAE,KAAO,MAAQqW,EAAOrW,CAAC,EAAE,KAAO,KACnD,GAAIqW,EAAOrW,CAAC,EAAE,EAAE,GAAKqW,EAAOrW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAGpC,IAFA6U,EAAOwB,EAAOrW,CAAC,EAAE,EAAE,EAAE,OAEhBwE,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,IACnB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,KAGvB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,IACnB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,IACzB6R,EAAOrW,CAAC,EAAE,EAAE,EAAEwE,CAAC,EAAE,EAAE,CAAC,GAAK,UAI7B6R,EAAOrW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAK,IACpBqW,EAAOrW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAK,IACpBqW,EAAOrW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAK,IACpBqW,EAAOrW,CAAC,EAAE,EAAE,EAAE,CAAC,GAAK,GAI5B,CAEA,SAAS8V,EAAcrB,EAAQ,CAC7B,IAAIzU,EACAC,EAAMwU,EAAO,OAEjB,IAAKzU,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpByU,EAAOzU,CAAC,EAAE,KAAO,GACnBoW,EAAc3B,EAAOzU,CAAC,EAAE,MAAM,CAGpC,CAEA,OAAO,SAAU+V,EAAe,CAC9B,GAAIV,EAAaK,EAAgBK,EAAc,CAAC,IAC9CD,EAAcC,EAAc,MAAM,EAE9BA,EAAc,QAAQ,CACxB,IAAI/V,EACAC,EAAM8V,EAAc,OAAO,OAE/B,IAAK/V,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpB+V,EAAc,OAAO/V,CAAC,EAAE,QAC1B8V,EAAcC,EAAc,OAAO/V,CAAC,EAAE,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEEsW,EAAc,UAAY,CAC5B,IAAIZ,EAAiB,CAAC,EAAG,EAAG,EAAE,EAE9B,SAASa,EAAsB/T,EAAK,CAClC,IAAIxC,EACAC,EAAMuC,EAAI,OACVgC,EACAqQ,EAEJ,IAAK7U,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,EAC7B,GAAIwC,EAAIxC,CAAC,EAAE,KAAO,KAChB,GAAIwC,EAAIxC,CAAC,EAAE,GAAG,EAAE,EACdwC,EAAIxC,CAAC,EAAE,GAAG,EAAE,EAAIwC,EAAIxC,CAAC,EAAE,WAIvB,KAFA6U,EAAOrS,EAAIxC,CAAC,EAAE,GAAG,EAAE,OAEdwE,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBhC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,IACjBhC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAIhC,EAAIxC,CAAC,EAAE,QAG7BwC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,IACjBhC,EAAIxC,CAAC,EAAE,GAAG,EAAEwE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAIhC,EAAIxC,CAAC,EAAE,aAI5BwC,EAAIxC,CAAC,EAAE,KAAO,MACvBuW,EAAsB/T,EAAIxC,CAAC,EAAE,EAAE,CAGrC,CAEA,SAAS8V,EAAcrB,EAAQ,CAC7B,IAAIG,EACA5U,EACAC,EAAMwU,EAAO,OACbjQ,EACAqQ,EACApQ,EACAqQ,EAEJ,IAAK9U,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAG3B,GAFA4U,EAAYH,EAAOzU,CAAC,EAEhB4U,EAAU,QAAS,CACrB,IAAIG,EAAYH,EAAU,gBAG1B,IAFAC,EAAOE,EAAU,OAEZvQ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB,GAAIuQ,EAAUvQ,CAAC,EAAE,GAAG,EAAE,EACpBuQ,EAAUvQ,CAAC,EAAE,GAAG,EAAE,EAAIuQ,EAAUvQ,CAAC,EAAE,OAInC,KAFAsQ,EAAOC,EAAUvQ,CAAC,EAAE,GAAG,EAAE,OAEpBC,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBsQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,IACvBsQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAIsQ,EAAUvQ,CAAC,EAAE,IAGzCuQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,IACvBsQ,EAAUvQ,CAAC,EAAE,GAAG,EAAEC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAIsQ,EAAUvQ,CAAC,EAAE,GAKrD,CAEIoQ,EAAU,KAAO,GACnB2B,EAAsB3B,EAAU,MAAM,CAE1C,CACF,CAEA,OAAO,SAAUmB,EAAe,CAC9B,GAAIV,EAAaK,EAAgBK,EAAc,CAAC,IAC9CD,EAAcC,EAAc,MAAM,EAE9BA,EAAc,QAAQ,CACxB,IAAI/V,EACAC,EAAM8V,EAAc,OAAO,OAE/B,IAAK/V,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpB+V,EAAc,OAAO/V,CAAC,EAAE,QAC1B8V,EAAcC,EAAc,OAAO/V,CAAC,EAAE,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEF,SAASwW,EAAaT,EAAepB,EAAa,CAC5CoB,EAAc,aAIlBI,EAAYJ,CAAa,EACzBN,EAAUM,CAAa,EACvBC,EAAWD,CAAa,EACxBO,EAAYP,CAAa,EACzBvB,EAAeuB,EAAc,OAAQA,EAAc,OAAQpB,CAAW,EACtEoB,EAAc,WAAa,GAC7B,CAEA,SAASZ,EAAasB,EAAM,CACtBA,EAAK,EAAE,EAAE,SAAW,GAAK,EAAE,MAAOA,EAAK,EAAE,KAC3CA,EAAK,YAAc,GAEvB,CAEA,IAAIC,EAAW,CAAC,EAChB,OAAAA,EAAS,aAAeF,EACxBE,EAAS,YAAcP,EACvBO,EAAS,WAAaV,EACtBU,EAAS,YAAcJ,EACvBI,EAAS,eAAiBlC,EACnBkC,CACT,CAEA,IAAI,YAAc,oBAAoB,EAGtC,SAAS,kBAAkBC,EAAU,CAOnC,QANIC,EAASD,EAAS,OAASA,EAAS,OAAO,MAAM,GAAG,EAAI,CAAC,EACzDE,EAAU,SACVC,EAAS,SACT7W,EAAM2W,EAAO,OACbG,EAEK/W,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAG5B,OAFA+W,EAAYH,EAAO5W,CAAC,EAAE,YAAY,EAE1B+W,EAAW,CACjB,IAAK,SACHD,EAAS,SACT,MAEF,IAAK,OACHD,EAAU,MACV,MAEF,IAAK,QACHA,EAAU,MACV,MAEF,IAAK,SACHA,EAAU,MACV,MAEF,IAAK,UACL,IAAK,SACHA,EAAU,MACV,MAEF,IAAK,QACL,IAAK,OACHA,EAAU,MACV,MAEF,QACE,KACJ,CAGF,MAAO,CACL,MAAOC,EACP,OAAQH,EAAS,SAAWE,CAC9B,CACF,CAMA,IAAI,YAAc,UAAY,CAC5B,IAAIG,EAAiB,IACjBC,EAAY,CACd,EAAG,EACH,KAAM,EACN,OAAQ,CAAC,CACX,EACIC,EAAqB,CAAC,EAE1BA,EAAqBA,EAAmB,OAAO,CAAC,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAI,CAAC,EAErP,SAASC,EAAgBC,EAAM,CAC7B,IAAIC,EAAcD,EAAK,MAAM,GAAG,EAC5BpX,EACAC,EAAMoX,EAAY,OAClBC,EAAkB,CAAC,EAEvB,IAAKtX,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpBqX,EAAYrX,CAAC,IAAM,cAAgBqX,EAAYrX,CAAC,IAAM,aACxDsX,EAAgB,KAAKD,EAAYrX,CAAC,CAAC,EAIvC,OAAOsX,EAAgB,KAAK,GAAG,CACjC,CAEA,SAASC,EAAUH,EAAMI,EAAQ,CAC/B,IAAIC,EAAa,UAAU,MAAM,EAEjCA,EAAW,aAAa,cAAe,EAAI,EAC3CA,EAAW,MAAM,WAAaD,EAC9B,IAAIE,EAAO,UAAU,MAAM,EAE3BA,EAAK,UAAY,iBAEjBD,EAAW,MAAM,SAAW,WAC5BA,EAAW,MAAM,KAAO,WACxBA,EAAW,MAAM,IAAM,WAEvBA,EAAW,MAAM,SAAW,QAE5BA,EAAW,MAAM,YAAc,SAC/BA,EAAW,MAAM,UAAY,SAC7BA,EAAW,MAAM,WAAa,SAC9BA,EAAW,MAAM,cAAgB,IACjCA,EAAW,YAAYC,CAAI,EAC3B,SAAS,KAAK,YAAYD,CAAU,EAEpC,IAAIzN,EAAQ0N,EAAK,YACjB,OAAAA,EAAK,MAAM,WAAaP,EAAgBC,CAAI,EAAI,KAAOI,EAChD,CACL,KAAME,EACN,EAAG1N,EACH,OAAQyN,CACV,CACF,CAEA,SAASE,GAAmB,CAC1B,IAAI3X,EACAC,GAAO,MAAQT,GAAS,MAAM,OAC9BkY,EACAE,EACAC,EAAc5X,EAElB,IAAKD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACnB,MAAQR,GAAS,MAAMQ,CAAC,EAAE,OAC7B6X,GAAe,GACL,MAAQrY,GAAS,MAAMQ,CAAC,EAAE,UAAY,MAAQ,MAAQR,GAAS,MAAMQ,CAAC,EAAE,SAAW,GAC5F,MAAQR,GAAS,MAAMQ,CAAC,EAAE,OAAS,IAEpC0X,GAAQ,MAAQlY,GAAS,MAAMQ,CAAC,EAAE,SAAS,KAC3C4X,GAAK,MAAQpY,GAAS,MAAMQ,CAAC,EAAE,SAAS,EAEpC0X,EAAK,cAAgBE,GACvBC,GAAe,GACd,MAAQrY,GAAS,MAAMQ,CAAC,EAAE,OAAS,KAEpC0X,GAAQ,MAAQlY,GAAS,MAAMQ,CAAC,EAAE,SAAS,KAC3C4X,GAAK,MAAQpY,GAAS,MAAMQ,CAAC,EAAE,SAAS,EAEpC0X,EAAK,cAAgBE,IACvBC,GAAe,GACd,MAAQrY,GAAS,MAAMQ,CAAC,EAAE,OAAS,MAInC,MAAQR,GAAS,MAAMQ,CAAC,EAAE,UAC5B,MAAQR,GAAS,MAAMQ,CAAC,EAAE,SAAS,OAAO,WAAW,aAAa,MAAQR,GAAS,MAAMQ,CAAC,EAAE,SAAS,MAAM,GAE3G,MAAQR,GAAS,MAAMQ,CAAC,EAAE,SAAS,OAAO,WAAW,aAAa,MAAQR,GAAS,MAAMQ,CAAC,EAAE,SAAS,MAAM,IAK9G6X,IAAgB,GAAK,KAAK,IAAI,GAAK,MAAQrY,GAAS,SAAWwX,EACjE,YAAY,MAAQxX,GAAS,uBAAwB,EAAE,EAEvD,YAAY,MAAQA,GAAS,kBAAmB,EAAE,CAEtD,CAEA,SAASsY,EAAaC,EAAKpB,EAAU,CACnC,IAAIqB,EAAU,SAAS,MAAM,EAC7BA,EAAQ,MAAM,SAAW,QAEzB,IAAIC,EAAY,kBAAkBtB,CAAQ,EAC1CqB,EAAQ,aAAa,cAAerB,EAAS,OAAO,EACpDqB,EAAQ,aAAa,aAAcC,EAAU,KAAK,EAClDD,EAAQ,aAAa,cAAeC,EAAU,MAAM,EACpDD,EAAQ,YAAc,IAElBrB,EAAS,QACXqB,EAAQ,MAAM,WAAa,UAC3BA,EAAQ,aAAa,QAASrB,EAAS,MAAM,GAE7CqB,EAAQ,MAAM,WAAarB,EAAS,QAGtCoB,EAAI,YAAYC,CAAO,EACvB,IAAIE,EAAgB,UAAU,QAAQ,EAAE,WAAW,IAAI,EACvD,OAAAA,EAAc,KAAOvB,EAAS,QAAU,IAAMA,EAAS,OAAS,UAAYA,EAAS,QAE9EqB,CACT,CAEA,SAASG,EAASxB,EAAUyB,EAAM,CAChC,GAAI,CAACzB,EAAU,EACZ,MAAQnX,GAAS,SAAW,GAC7B,MACF,CAEA,IAAK,MAAQA,GAAS,MAAO,EAC1B,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,MAAQmX,EAAS,KACnC,MACF,CAEA,IAAI0B,EAAU1B,EAAS,KACnB3W,EACAC,EAAMoY,EAAQ,OACdC,EAAgBrY,EAEpB,IAAKD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAC3B,IAAIuY,EAAiB,GACjBC,EACAhU,EAKJ,GAJA6T,EAAQrY,CAAC,EAAE,OAAS,GACpBqY,EAAQrY,CAAC,EAAE,SAAWuX,EAAUc,EAAQrY,CAAC,EAAE,QAAS,WAAW,EAC/DqY,EAAQrY,CAAC,EAAE,SAAWuX,EAAUc,EAAQrY,CAAC,EAAE,QAAS,YAAY,EAE5D,CAACqY,EAAQrY,CAAC,EAAE,MACdqY,EAAQrY,CAAC,EAAE,OAAS,GACpBsY,GAAiB,UACRD,EAAQrY,CAAC,EAAE,UAAY,KAAOqY,EAAQrY,CAAC,EAAE,SAAW,GAO7D,GANAwY,EAAiB,SAAS,iBAAiB,kCAAuCH,EAAQrY,CAAC,EAAE,QAAU,qCAA2CqY,EAAQrY,CAAC,EAAE,QAAU,IAAK,EAExKwY,EAAe,OAAS,IAC1BD,EAAiB,IAGfA,EAAgB,CAClB,IAAIpX,EAAI,UAAU,OAAO,EACzBA,EAAE,aAAa,YAAakX,EAAQrY,CAAC,EAAE,OAAO,EAC9CmB,EAAE,aAAa,WAAYkX,EAAQrY,CAAC,EAAE,MAAM,EAC5CmB,EAAE,aAAa,WAAYkX,EAAQrY,CAAC,EAAE,OAAO,EAC7CmB,EAAE,KAAO,WACTA,EAAE,UAAY,4BAA8BkX,EAAQrY,CAAC,EAAE,QAAU,mCAAqCqY,EAAQrY,CAAC,EAAE,MAAQ,OACzHoY,EAAK,YAAYjX,CAAC,CACpB,UACSkX,EAAQrY,CAAC,EAAE,UAAY,KAAOqY,EAAQrY,CAAC,EAAE,SAAW,EAAG,CAGhE,IAFAwY,EAAiB,SAAS,iBAAiB,yCAA6C,EAEnFhU,EAAI,EAAGA,EAAIgU,EAAe,OAAQhU,GAAK,EACtCgU,EAAehU,CAAC,EAAE,KAAK,QAAQ6T,EAAQrY,CAAC,EAAE,KAAK,IAAM,KAEvDuY,EAAiB,IAIrB,GAAIA,EAAgB,CAClB,IAAI7T,EAAI,UAAU,MAAM,EACxBA,EAAE,aAAa,YAAa2T,EAAQrY,CAAC,EAAE,OAAO,EAC9C0E,EAAE,aAAa,WAAY2T,EAAQrY,CAAC,EAAE,MAAM,EAC5C0E,EAAE,KAAO,WACTA,EAAE,IAAM,aACRA,EAAE,KAAO2T,EAAQrY,CAAC,EAAE,MACpB,SAAS,KAAK,YAAY0E,CAAC,CAC7B,CACF,SAAW2T,EAAQrY,CAAC,EAAE,UAAY,KAAOqY,EAAQrY,CAAC,EAAE,SAAW,EAAG,CAGhE,IAFAwY,EAAiB,SAAS,iBAAiB,6CAAiD,EAEvFhU,EAAI,EAAGA,EAAIgU,EAAe,OAAQhU,GAAK,EACtC6T,EAAQrY,CAAC,EAAE,QAAUwY,EAAehU,CAAC,EAAE,MAEzC+T,EAAiB,IAIrB,GAAIA,EAAgB,CAClB,IAAIE,EAAK,UAAU,MAAM,EACzBA,EAAG,aAAa,YAAaJ,EAAQrY,CAAC,EAAE,OAAO,EAC/CyY,EAAG,aAAa,WAAYJ,EAAQrY,CAAC,EAAE,MAAM,EAC7CyY,EAAG,aAAa,MAAO,YAAY,EACnCA,EAAG,aAAa,OAAQJ,EAAQrY,CAAC,EAAE,KAAK,EACxCoY,EAAK,YAAYK,CAAE,CACrB,CACF,CAEAJ,EAAQrY,CAAC,EAAE,OAAS8X,EAAaM,EAAMC,EAAQrY,CAAC,CAAC,EACjDqY,EAAQrY,CAAC,EAAE,MAAQ,CAAC,GAEnB,MAAQR,GAAS,MAAM,KAAK6Y,EAAQrY,CAAC,CAAC,CACzC,CAEIsY,IAAkB,GACnB,MAAQ9Y,GAAS,SAAW,GAI7B,YAAY,MAAQA,GAAS,iBAAiB,KAAK,MAAQA,CAAO,EAAG,GAAG,CAE5E,CAEA,SAASkZ,EAASC,EAAO,CACvB,GAAKA,EAIL,EAAM,MAAQnZ,GAAS,SACpB,MAAQA,GAAS,MAAQ,CAAC,GAG7B,IAAIQ,EACAC,EAAM0Y,EAAM,OACZnU,EACAqQ,GAAQ,MAAQrV,GAAS,MAAM,OAC/BoZ,EAEJ,IAAK5Y,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAI3B,IAHAwE,EAAI,EACJoU,EAAQ,GAEDpU,EAAIqQ,IACJ,MAAQrV,GAAS,MAAMgF,CAAC,EAAE,QAAUmU,EAAM3Y,CAAC,EAAE,QAAU,MAAQR,GAAS,MAAMgF,CAAC,EAAE,UAAYmU,EAAM3Y,CAAC,EAAE,UAAY,MAAQR,GAAS,MAAMgF,CAAC,EAAE,KAAOmU,EAAM3Y,CAAC,EAAE,KAC/J4Y,EAAQ,IAGVpU,GAAK,EAGFoU,KACF,MAAQpZ,GAAS,MAAM,KAAKmZ,EAAM3Y,CAAC,CAAC,EAErC6U,GAAQ,EAEZ,EACF,CAEA,SAASgE,EAAYC,EAAMC,EAAO3B,EAAM,CAItC,QAHIpX,EAAI,EACJC,GAAO,MAAQT,GAAS,MAAM,OAE3BQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,MAAMQ,CAAC,EAAE,KAAO8Y,IAAS,MAAQtZ,GAAS,MAAMQ,CAAC,EAAE,QAAU+Y,IAAU,MAAQvZ,GAAS,MAAMQ,CAAC,EAAE,UAAYoX,EACjI,OAAQ,MAAQ5X,GAAS,MAAMQ,CAAC,EAGlCA,GAAK,CACP,CAEA,OAAK,OAAO8Y,GAAS,UAAYA,EAAK,WAAW,CAAC,IAAM,IAAM,CAACA,IAAS,SAAW,QAAQ,MACxF,EAAE,MAAQtZ,GAAS,WACnB,MAAQA,GAAS,QAAU,GAC5B,QAAQ,KAAK,oDAAqDsZ,EAAMC,EAAO3B,CAAI,GAG9EH,CACT,CAEA,SAAS+B,EAAYF,EAAMG,EAAUC,EAAM,CACzC,IAAIvC,EAAW,KAAK,cAAcsC,CAAQ,EACtCE,EAAQL,EAAK,WAAW,CAAC,EAE7B,GAAI,CAACnC,EAAS,MAAMwC,EAAQ,CAAC,EAAG,CAC9B,IAAInB,EAAUrB,EAAS,OAKvB,GAAImC,IAAS,IAAK,CAChBd,EAAQ,YAAc,IAAMc,EAAO,IACnC,IAAIM,EAAapB,EAAQ,sBAAsB,EAC/CA,EAAQ,YAAc,KACtB,IAAIqB,EAAarB,EAAQ,sBAAsB,EAC/CrB,EAAS,MAAMwC,EAAQ,CAAC,GAAKC,EAAaC,GAAc,GAC1D,MACErB,EAAQ,YAAcc,EACtBnC,EAAS,MAAMwC,EAAQ,CAAC,EAAInB,EAAQ,sBAAsB,EAAI,GAElE,CAEA,OAAOrB,EAAS,MAAMwC,EAAQ,CAAC,EAAID,CACrC,CAEA,SAASI,EAAcC,EAAM,CAI3B,QAHIvZ,EAAI,EACJC,GAAO,MAAQT,GAAS,MAAM,OAE3BQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,MAAMQ,CAAC,EAAE,QAAUuZ,EACvC,OAAQ,MAAQ/Z,GAAS,MAAMQ,CAAC,EAGlCA,GAAK,CACP,CAEA,OAAQ,MAAQR,GAAS,MAAM,CAAC,CAClC,CAEA,SAASga,GAA4B,CACnC,OAAOtC,CACT,CAEA,SAASuC,GAAc,EACpB,MAAQja,GAAS,SAAW,EAC/B,CAEA,IAAIka,EAAO,UAAY,EACpB,MAAQla,GAAS,MAAQ,CAAC,GAC1B,MAAQA,GAAS,MAAQ,MACzB,MAAQA,GAAS,cAAgB,GACjC,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,QAAU,IAC3B,MAAQA,GAAS,SAAW,KAAK,IAAI,GACrC,MAAQA,GAAS,mBAAqB,MAAQA,GAAS,YAAY,KAAK,MAAQA,CAAO,GACvF,MAAQA,GAAS,wBAA0B,MAAQA,GAAS,iBAAiB,KAAK,MAAQA,CAAO,CACpG,EAGAka,EAAK,0BAA4BF,EACjC,IAAIG,EAAgB,CAClB,SAAUjB,EACV,SAAUP,EACV,YAAaU,EACb,cAAeS,EACf,YAAaN,EACb,iBAAkBrB,EAClB,YAAa8B,CACf,EACA,OAAAC,EAAK,UAAYC,EACVD,CACT,EAAE,EAME,gBAAkB,UAAY,CAChC,IAAIE,EAAY,oBACZC,EAAU,KAAK,IAEnB,SAASC,EAAiBC,EAAUC,EAAS,CAC3C,IAAIC,GAAc,MAAQza,GAAS,WAC/B0a,GAEC,MAAQ1a,GAAS,WAAa,qBACjC0a,EAAW,iBAAiB,WAAY,MAAQ1a,GAAS,GAAG,MAAM,GAUpE,QAPI2a,EAAiBH,EAAQ,UACzBha,EAAIma,EACJla,GAAO,MAAQT,GAAS,UAAU,OAAS,EAC3Ca,EAAO,GACP+Z,EACAC,EAEGha,GAAM,CAIX,GAHA+Z,GAAW,MAAQ5a,GAAS,UAAUQ,CAAC,EACvCqa,GAAe,MAAQ7a,GAAS,UAAUQ,EAAI,CAAC,EAE3CA,IAAMC,EAAM,GAAK8Z,GAAYM,EAAY,EAAIJ,EAAY,CACvDG,EAAQ,IACVA,EAAUC,GAGZF,EAAiB,EACjB,KACF,CAEA,GAAIE,EAAY,EAAIJ,EAAaF,EAAU,CACzCI,EAAiBna,EACjB,KACF,CAEIA,EAAIC,EAAM,EACZD,GAAK,GAELma,EAAiB,EACjB9Z,EAAO,GAEX,CAEA,IAAIoE,EACAqQ,EACA/D,EACA8D,EACArQ,EACA8V,EACAC,EAAcF,EAAY,EAAIJ,EAC9BO,EAAUJ,EAAQ,EAAIH,EACtBQ,EAEJ,GAAIL,EAAQ,GAAI,CACTA,EAAQ,aACXA,EAAQ,WAAa,IAAI,gBAAgBA,EAAQ,EAAGC,EAAY,GAAKD,EAAQ,EAAGA,EAAQ,GAAIA,EAAQ,EAAE,GAGxG,IAAI/H,EAAa+H,EAAQ,WAEzB,GAAIL,GAAYQ,GAAeR,EAAWS,EAAS,CACjD,IAAIE,EAAMX,GAAYQ,EAAclI,EAAW,OAAO,OAAS,EAAI,EAGnE,IAFAyC,EAAOzC,EAAW,OAAOqI,CAAG,EAAE,MAAM,OAE/BjW,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByV,EAASzV,CAAC,EAAI4N,EAAW,OAAOqI,CAAG,EAAE,MAAMjW,CAAC,CAGhD,KAAO,CACD2V,EAAQ,OACVE,EAAMF,EAAQ,QAEdE,EAAM,cAAc,gBAAgBF,EAAQ,EAAE,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,CAAC,EAAE,IACnGA,EAAQ,OAASE,GAGnBvJ,EAAOuJ,GAAKP,EAAWS,IAAYD,EAAcC,EAAQ,EACzD,IAAIG,EAAiBtI,EAAW,cAAgBtB,EAC5C6J,EACA5J,EAAcgJ,EAAQ,UAAYD,GAAYC,EAAQ,qBAAuBha,EAAIga,EAAQ,iBAAmB,EAKhH,IAJAxV,EAAIwV,EAAQ,UAAYD,GAAYC,EAAQ,qBAAuBha,EAAIga,EAAQ,WAAa,EAC5F3Z,EAAO,GACPwU,EAAOxC,EAAW,OAAO,OAElBhS,GAAM,CAGX,GAFA2Q,GAAeqB,EAAW,OAAO7N,CAAC,EAAE,cAEhCmW,IAAmB,GAAK5J,IAAS,GAAKvM,IAAM6N,EAAW,OAAO,OAAS,EAAG,CAG5E,IAFAyC,EAAOzC,EAAW,OAAO7N,CAAC,EAAE,MAAM,OAE7BC,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByV,EAASzV,CAAC,EAAI4N,EAAW,OAAO7N,CAAC,EAAE,MAAMC,CAAC,EAG5C,KACF,SAAWkW,GAAkB3J,GAAe2J,EAAiB3J,EAAcqB,EAAW,OAAO7N,EAAI,CAAC,EAAE,cAAe,CAIjH,IAHAoW,GAAeD,EAAiB3J,GAAeqB,EAAW,OAAO7N,EAAI,CAAC,EAAE,cACxEsQ,EAAOzC,EAAW,OAAO7N,CAAC,EAAE,MAAM,OAE7BC,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByV,EAASzV,CAAC,EAAI4N,EAAW,OAAO7N,CAAC,EAAE,MAAMC,CAAC,GAAK4N,EAAW,OAAO7N,EAAI,CAAC,EAAE,MAAMC,CAAC,EAAI4N,EAAW,OAAO7N,CAAC,EAAE,MAAMC,CAAC,GAAKmW,EAGtH,KACF,CAEIpW,EAAIqQ,EAAO,EACbrQ,GAAK,EAELnE,EAAO,EAEX,CAEA2Z,EAAQ,WAAaxV,EACrBwV,EAAQ,iBAAmBhJ,EAAcqB,EAAW,OAAO7N,CAAC,EAAE,cAC9DwV,EAAQ,mBAAqBha,CAC/B,CACF,KAAO,CACL,IAAI6a,EACAC,EACAC,GACAC,GACAC,GAIJ,GAHAhb,EAAMma,EAAQ,EAAE,OAChBK,EAAWJ,EAAY,GAAKD,EAAQ,GAE/B,MAAQ5a,GAAS,IAAM4a,EAAQ,IAAM,EACxC,GAAIL,GAAYQ,EACdL,EAAS,CAAC,EAAIO,EAAS,CAAC,EACxBP,EAAS,CAAC,EAAIO,EAAS,CAAC,EACxBP,EAAS,CAAC,EAAIO,EAAS,CAAC,UACfV,GAAYS,EACrBN,EAAS,CAAC,EAAIE,EAAQ,EAAE,CAAC,EACzBF,EAAS,CAAC,EAAIE,EAAQ,EAAE,CAAC,EACzBF,EAAS,CAAC,EAAIE,EAAQ,EAAE,CAAC,MACpB,CACL,IAAIc,GAAYC,EAAiBf,EAAQ,CAAC,EACtCgB,GAAUD,EAAiBV,CAAQ,EACnCY,IAAQtB,EAAWS,IAAYD,EAAcC,GACjDc,EAAkBpB,EAAUqB,EAAML,GAAWE,GAASC,EAAI,CAAC,CAC7D,KAEA,KAAKrb,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpBoa,EAAQ,IAAM,IACZL,GAAYQ,EACdxJ,EAAO,EACEgJ,EAAWS,EACpBzJ,EAAO,GAEHqJ,EAAQ,EAAE,EAAE,cAAgB,OACzBA,EAAQ,SACXA,EAAQ,OAAS,CAAC,GAGfA,EAAQ,OAAOpa,CAAC,EAQnBsa,EAAMF,EAAQ,OAAOpa,CAAC,GAPtB6a,EAAO,OAAOT,EAAQ,EAAE,EAAEpa,CAAC,EAAM,IAAcoa,EAAQ,EAAE,EAAE,CAAC,EAAIA,EAAQ,EAAE,EAAEpa,CAAC,EAC7E8a,EAAO,OAAOV,EAAQ,EAAE,EAAEpa,CAAC,EAAM,IAAcoa,EAAQ,EAAE,EAAE,CAAC,EAAIA,EAAQ,EAAE,EAAEpa,CAAC,EAC7E+a,GAAM,OAAOX,EAAQ,EAAE,EAAEpa,CAAC,EAAM,IAAcoa,EAAQ,EAAE,EAAE,CAAC,EAAIA,EAAQ,EAAE,EAAEpa,CAAC,EAC5Egb,GAAM,OAAOZ,EAAQ,EAAE,EAAEpa,CAAC,EAAM,IAAcoa,EAAQ,EAAE,EAAE,CAAC,EAAIA,EAAQ,EAAE,EAAEpa,CAAC,EAC5Esa,EAAM,cAAc,gBAAgBO,EAAMC,EAAMC,GAAKC,EAAG,EAAE,IAC1DZ,EAAQ,OAAOpa,CAAC,EAAIsa,IAIZF,EAAQ,OAQlBE,EAAMF,EAAQ,QAPdS,EAAOT,EAAQ,EAAE,EACjBU,EAAOV,EAAQ,EAAE,EACjBW,GAAMX,EAAQ,EAAE,EAChBY,GAAMZ,EAAQ,EAAE,EAChBE,EAAM,cAAc,gBAAgBO,EAAMC,EAAMC,GAAKC,EAAG,EAAE,IAC1DZ,EAAQ,OAASE,GAKnBvJ,EAAOuJ,GAAKP,EAAWS,IAAYD,EAAcC,EAAQ,IAI7DC,EAAWJ,EAAY,GAAKD,EAAQ,EACpCa,GAAWb,EAAQ,IAAM,EAAIA,EAAQ,EAAEpa,CAAC,EAAIoa,EAAQ,EAAEpa,CAAC,GAAKya,EAASza,CAAC,EAAIoa,EAAQ,EAAEpa,CAAC,GAAK+Q,GAErF,MAAQvR,GAAS,WAAa,mBACjC0a,EAASla,CAAC,EAAIib,GAEdf,EAAWe,EAInB,CAEA,OAAAjB,EAAQ,UAAYG,EACbD,CACT,CAGA,SAASqB,EAAMlX,EAAG9C,EAAGI,EAAG,CACtB,IAAIsK,EAAM,CAAC,EACPlI,EAAKM,EAAE,CAAC,EACRL,EAAKK,EAAE,CAAC,EACRmX,EAAKnX,EAAE,CAAC,EACRoX,EAAKpX,EAAE,CAAC,EACRqX,EAAKna,EAAE,CAAC,EACRoa,EAAKpa,EAAE,CAAC,EACRqa,EAAKra,EAAE,CAAC,EACRsa,EAAKta,EAAE,CAAC,EACRua,EACAC,EACAC,EACAC,EACAC,EACJ,OAAAH,EAAQhY,EAAK2X,EAAK1X,EAAK2X,EAAKH,EAAKI,EAAKH,EAAKI,EAEvCE,EAAQ,IACVA,EAAQ,CAACA,EACTL,EAAK,CAACA,EACNC,EAAK,CAACA,EACNC,EAAK,CAACA,EACNC,EAAK,CAACA,GAGJ,EAAIE,EAAQ,MACdD,EAAQ,KAAK,KAAKC,CAAK,EACvBC,EAAQ,KAAK,IAAIF,CAAK,EACtBG,EAAS,KAAK,KAAK,EAAIta,GAAKma,CAAK,EAAIE,EACrCE,EAAS,KAAK,IAAIva,EAAIma,CAAK,EAAIE,IAE/BC,EAAS,EAAIta,EACbua,EAASva,GAGXsK,EAAI,CAAC,EAAIgQ,EAASlY,EAAKmY,EAASR,EAChCzP,EAAI,CAAC,EAAIgQ,EAASjY,EAAKkY,EAASP,EAChC1P,EAAI,CAAC,EAAIgQ,EAAST,EAAKU,EAASN,EAChC3P,EAAI,CAAC,EAAIgQ,EAASR,EAAKS,EAASL,EACzB5P,CACT,CAEA,SAASqP,EAAkBrP,EAAKkQ,EAAM,CACpC,IAAIC,EAAKD,EAAK,CAAC,EACXE,EAAKF,EAAK,CAAC,EACXG,EAAKH,EAAK,CAAC,EACXI,EAAKJ,EAAK,CAAC,EACXK,EAAU,KAAK,MAAM,EAAIH,EAAKE,EAAK,EAAIH,EAAKE,EAAI,EAAI,EAAID,EAAKA,EAAK,EAAIC,EAAKA,CAAE,EAC7EG,EAAW,KAAK,KAAK,EAAIL,EAAKC,EAAK,EAAIC,EAAKC,CAAE,EAC9CG,EAAO,KAAK,MAAM,EAAIN,EAAKG,EAAK,EAAIF,EAAKC,EAAI,EAAI,EAAIF,EAAKA,EAAK,EAAIE,EAAKA,CAAE,EAC9ErQ,EAAI,CAAC,EAAIuQ,EAAU,UACnBvQ,EAAI,CAAC,EAAIwQ,EAAW,UACpBxQ,EAAI,CAAC,EAAIyQ,EAAO,SAClB,CAEA,SAASvB,EAAiBwB,EAAQ,CAChC,IAAIH,EAAUG,EAAO,CAAC,EAAI,UACtBF,EAAWE,EAAO,CAAC,EAAI,UACvBD,EAAOC,EAAO,CAAC,EAAI,UACnBrW,EAAK,KAAK,IAAIkW,EAAU,CAAC,EACzBnX,EAAK,KAAK,IAAIoX,EAAW,CAAC,EAC1BG,EAAK,KAAK,IAAIF,EAAO,CAAC,EACtBG,EAAK,KAAK,IAAIL,EAAU,CAAC,EACzBM,EAAK,KAAK,IAAIL,EAAW,CAAC,EAC1BM,EAAK,KAAK,IAAIL,EAAO,CAAC,EACtB9E,EAAItR,EAAKjB,EAAKuX,EAAKC,EAAKC,EAAKC,EAC7BpV,EAAIkV,EAAKC,EAAKF,EAAKtW,EAAKjB,EAAK0X,EAC7BnV,EAAIiV,EAAKxX,EAAKuX,EAAKtW,EAAKwW,EAAKC,EAC7BlV,EAAIvB,EAAKwW,EAAKF,EAAKC,EAAKxX,EAAK0X,EACjC,MAAO,CAACpV,EAAGC,EAAGC,EAAG+P,CAAC,CACpB,CAEA,SAASoF,GAAwB,CAC/B,IAAIjD,GAAY,MAAQva,GAAS,KAAK,eAAiB,MAAQA,GAAS,WACpEyd,GAAY,MAAQzd,GAAS,UAAU,CAAC,EAAE,GAAK,MAAQA,GAAS,WAChE0d,GAAW,MAAQ1d,GAAS,WAAW,MAAQA,GAAS,UAAU,OAAS,CAAC,EAAE,GAAK,MAAQA,GAAS,WAExG,GAAI,EAAEua,KAAc,MAAQva,GAAS,SAAS,YAAc,MAAQA,GAAS,SAAS,YAAcoa,KAAe,MAAQpa,GAAS,SAAS,WAAa0d,GAAWnD,GAAYmD,IAAY,MAAQ1d,GAAS,SAAS,UAAYyd,GAAYlD,EAAWkD,IAAY,EAC/P,MAAQzd,GAAS,SAAS,WAAaua,KACzC,MAAQva,GAAS,SAAS,mBAAqB,IAC/C,MAAQA,GAAS,SAAS,UAAY,GAGzC,IAAI2d,EAAe,KAAK,iBAAiBpD,GAAW,MAAQva,GAAS,QAAQ,GAC5E,MAAQA,GAAS,GAAK2d,CACzB,CAEA,OAAC,MAAQ3d,GAAS,SAAS,UAAYua,GAC/B,MAAQva,GAAS,EAC3B,CAEA,SAAS4d,EAAUld,EAAK,CACtB,IAAImd,EAEJ,IAAK,MAAQ7d,GAAS,WAAa,iBACjC6d,EAAkBnd,GAAO,MAAQV,GAAS,KAEtCqa,GAAS,MAAQra,GAAS,EAAI6d,CAAe,EAAI,QAClD,MAAQ7d,GAAS,EAAI6d,GACrB,MAAQ7d,GAAS,KAAO,QAM3B,SAHIQ,EAAI,EACJC,GAAO,MAAQT,GAAS,EAAE,OAEvBQ,EAAIC,GACTod,EAAkBnd,EAAIF,CAAC,GAAK,MAAQR,GAAS,KAEzCqa,GAAS,MAAQra,GAAS,EAAEQ,CAAC,EAAIqd,CAAe,EAAI,QACrD,MAAQ7d,GAAS,EAAEQ,CAAC,EAAIqd,GACxB,MAAQ7d,GAAS,KAAO,IAG3BQ,GAAK,CAGX,CAEA,SAASsd,GAAyB,CAChC,GAAK,SAAQ9d,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,SAAW,EAAE,MAAQA,GAAS,gBAAgB,QAIlH,KAAK,MAAQA,GAAS,KAAM,CAC1B,KAAK,WAAW,MAAQA,GAAS,EAAE,EACnC,MACF,EAEC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,MAAQ,MAAQA,GAAS,cAC3C,IAAIQ,EACAC,GAAO,MAAQT,GAAS,gBAAgB,OACxC+d,GAAc,MAAQ/d,GAAS,IAAM,MAAQA,GAAS,IAAM,MAAQA,GAAS,KAAK,EAEtF,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBud,GAAc,MAAQ/d,GAAS,gBAAgBQ,CAAC,EAAEud,CAAU,EAG9D,KAAK,UAAUA,CAAU,GACxB,MAAQ/d,GAAS,cAAgB,IACjC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAChE,CAEA,SAASge,EAAUC,EAAgB,EAChC,MAAQje,GAAS,gBAAgB,KAAKie,CAAc,GAEpD,MAAQje,GAAS,UAAU,mBAAmB,MAAQA,CAAO,CAChE,CAEA,SAASke,EAAcC,EAAMlH,EAAMmH,EAAMhb,EAAW,EACjD,MAAQpD,GAAS,SAAW,kBAC5B,MAAQA,GAAS,KAAOoe,GAAQ,GAChC,MAAQpe,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,EAAIoe,EAAOnH,EAAK,EAAImH,EAAOnH,EAAK,GACjD,MAAQjX,GAAS,GAAKiX,EAAK,GAC3B,MAAQjX,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAOme,GACxB,MAAQne,GAAS,UAAYoD,GAC7B,MAAQpD,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,IAAM,GACvB,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,SAAW8d,GAC5B,MAAQ9d,GAAS,UAAY4d,GAC7B,MAAQ5d,GAAS,UAAYge,CAChC,CAEA,SAASK,EAAyBF,EAAMlH,EAAMmH,EAAMhb,EAAW,EAC5D,MAAQpD,GAAS,SAAW,oBAC5B,MAAQA,GAAS,KAAOoe,GAAQ,GAChC,MAAQpe,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAOme,GACxB,MAAQne,GAAS,UAAYoD,GAC7B,MAAQpD,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,QAAU,GAC5B,IAAIQ,EACAC,EAAMwW,EAAK,EAAE,OAKjB,KAJC,MAAQjX,GAAS,EAAI,iBAAiB,UAAWS,CAAG,GACpD,MAAQT,GAAS,GAAK,iBAAiB,UAAWS,CAAG,GACrD,MAAQT,GAAS,IAAM,iBAAiB,UAAWS,CAAG,EAElDD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,EAAEQ,CAAC,EAAIyW,EAAK,EAAEzW,CAAC,GAAK,MAAQR,GAAS,MACtD,MAAQA,GAAS,GAAGQ,CAAC,EAAIyW,EAAK,EAAEzW,CAAC,GAGnC,MAAQR,GAAS,cAAgB,IACjC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,SAAW8d,GAC5B,MAAQ9d,GAAS,UAAY4d,GAC7B,MAAQ5d,GAAS,UAAYge,CAChC,CAEA,SAASM,EAAuBH,EAAMlH,EAAMmH,EAAMhb,EAAW,EAC1D,MAAQpD,GAAS,SAAW,kBAC5B,MAAQA,GAAS,UAAYiX,EAAK,GAClC,MAAQjX,GAAS,WAAame,EAAK,KAAK,IACxC,MAAQne,GAAS,QAAU,IAC3B,MAAQA,GAAS,SAAW,CAC3B,UAAWoa,EACX,UAAW,EACX,MAAO,EACP,mBAAoB,EACtB,GACC,MAAQpa,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,KAAOoe,GAAQ,GAChC,MAAQpe,GAAS,KAAOme,GACxB,MAAQne,GAAS,UAAYoD,GAC7B,MAAQpD,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,EAAIoa,GACrB,MAAQpa,GAAS,GAAKoa,GACtB,MAAQpa,GAAS,cAAgB,IACjC,MAAQA,GAAS,SAAW8d,GAC5B,MAAQ9d,GAAS,UAAY4d,GAC7B,MAAQ5d,GAAS,iBAAmBsa,GACpC,MAAQta,GAAS,gBAAkB,CAACwd,EAAsB,KAAK,MAAQxd,CAAO,CAAC,GAC/E,MAAQA,GAAS,UAAYge,CAChC,CAEA,SAASO,EAAkCJ,EAAMlH,EAAMmH,EAAMhb,EAAW,EACrE,MAAQpD,GAAS,SAAW,mBAC7B,IAAIQ,EACAC,EAAMwW,EAAK,EAAE,OACbtV,EACAoD,EACAyZ,EACAC,EAEJ,IAAKje,EAAI,EAAGA,EAAIC,EAAM,EAAGD,GAAK,EACxByW,EAAK,EAAEzW,CAAC,EAAE,IAAMyW,EAAK,EAAEzW,CAAC,EAAE,GAAKyW,EAAK,EAAEzW,EAAI,CAAC,GAAKyW,EAAK,EAAEzW,EAAI,CAAC,EAAE,IAChEmB,EAAIsV,EAAK,EAAEzW,CAAC,EAAE,EACduE,EAAIkS,EAAK,EAAEzW,EAAI,CAAC,EAAE,EAClBge,EAAKvH,EAAK,EAAEzW,CAAC,EAAE,GACfie,EAAKxH,EAAK,EAAEzW,CAAC,EAAE,IAEXmB,EAAE,SAAW,GAAK,EAAEA,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKpD,EAAE,CAAC,IAAMoD,EAAE,CAAC,IAAM,IAAI,cAAcpD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGoD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGpD,EAAE,CAAC,EAAI6c,EAAG,CAAC,EAAG7c,EAAE,CAAC,EAAI6c,EAAG,CAAC,CAAC,GAAK,IAAI,cAAc7c,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGoD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAI0Z,EAAG,CAAC,EAAG1Z,EAAE,CAAC,EAAI0Z,EAAG,CAAC,CAAC,GAAK9c,EAAE,SAAW,GAAK,EAAEA,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKpD,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKpD,EAAE,CAAC,IAAMoD,EAAE,CAAC,IAAM,IAAI,cAAcpD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGoD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGpD,EAAE,CAAC,EAAI6c,EAAG,CAAC,EAAG7c,EAAE,CAAC,EAAI6c,EAAG,CAAC,EAAG7c,EAAE,CAAC,EAAI6c,EAAG,CAAC,CAAC,GAAK,IAAI,cAAc7c,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGoD,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAGA,EAAE,CAAC,EAAI0Z,EAAG,CAAC,EAAG1Z,EAAE,CAAC,EAAI0Z,EAAG,CAAC,EAAG1Z,EAAE,CAAC,EAAI0Z,EAAG,CAAC,CAAC,KACpdxH,EAAK,EAAEzW,CAAC,EAAE,GAAK,KACfyW,EAAK,EAAEzW,CAAC,EAAE,GAAK,MAGbmB,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKpD,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKyZ,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,GAAKC,EAAG,CAAC,IAAM,GAAKA,EAAG,CAAC,IAAM,IACvF9c,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAMoD,EAAE,CAAC,GAAKyZ,EAAG,CAAC,IAAM,GAAKC,EAAG,CAAC,IAAM,KAC9DxH,EAAK,EAAEzW,CAAC,EAAE,GAAK,KACfyW,EAAK,EAAEzW,CAAC,EAAE,GAAK,QAMtB,MAAQR,GAAS,gBAAkB,CAACwd,EAAsB,KAAK,MAAQxd,CAAO,CAAC,GAC/E,MAAQA,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,UAAYiX,EAAK,GAClC,MAAQjX,GAAS,WAAame,EAAK,KAAK,IACxC,MAAQne,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,KAAOoe,GAAQ,GAChC,MAAQpe,GAAS,KAAOme,GACxB,MAAQne,GAAS,UAAYoD,GAC7B,MAAQpD,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,SAAW8d,GAC5B,MAAQ9d,GAAS,UAAY4d,GAC7B,MAAQ5d,GAAS,iBAAmBsa,GACpC,MAAQta,GAAS,QAAU,GAC5B,IAAI0e,EAASzH,EAAK,EAAE,CAAC,EAAE,EAAE,OAIzB,KAHC,MAAQjX,GAAS,EAAI,iBAAiB,UAAW0e,CAAM,GACvD,MAAQ1e,GAAS,GAAK,iBAAiB,UAAW0e,CAAM,EAEpDle,EAAI,EAAGA,EAAIke,EAAQle,GAAK,GAC1B,MAAQR,GAAS,EAAEQ,CAAC,EAAI4Z,GACxB,MAAQpa,GAAS,GAAGQ,CAAC,EAAI4Z,GAG3B,MAAQpa,GAAS,SAAW,CAC3B,UAAWoa,EACX,UAAW,EACX,MAAO,iBAAiB,UAAWsE,CAAM,CAC3C,GACC,MAAQ1e,GAAS,UAAYge,CAChC,CAEA,SAASW,EAAQR,EAAMlH,EAAMlW,EAAMqd,EAAMhb,EAAW,CAClD,IAAInB,EAEJ,GAAI,CAACgV,EAAK,EAAE,OACVhV,EAAI,IAAIic,EAAcC,EAAMlH,EAAMmH,EAAMhb,CAAS,UACxC,OAAO6T,EAAK,EAAE,CAAC,GAAM,SAC9BhV,EAAI,IAAIoc,EAAyBF,EAAMlH,EAAMmH,EAAMhb,CAAS,MAE5D,QAAQrC,EAAM,CACZ,IAAK,GACHkB,EAAI,IAAIqc,EAAuBH,EAAMlH,EAAMmH,EAAMhb,CAAS,EAC1D,MAEF,IAAK,GACHnB,EAAI,IAAIsc,EAAkCJ,EAAMlH,EAAMmH,EAAMhb,CAAS,EACrE,MAEF,QACE,KACJ,CAGF,OAAInB,EAAE,gBAAgB,QACpBmB,EAAU,mBAAmBnB,CAAC,EAGzBA,CACT,CAEA,IAAI2K,EAAK,CACP,QAAS+R,CACX,EACA,OAAO/R,CACT,EAAE,EAME,yBAA2B,UAAY,CACzC,IAAIgS,EAAgB,CAAC,EAAG,CAAC,EAEzB,SAASC,EAAcC,EAAK,CAC1B,IAAIC,GAAQ,MAAQ/e,GAAS,KAC7B,KAAK,yBAAyB,GAC7B,MAAQA,GAAS,MAAQ,MAAQA,GAAS,MAAQ+e,GAE9C,MAAQ/e,GAAS,GACpB8e,EAAI,UAAU,EAAE,MAAQ9e,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAGzF,MAAQA,GAAS,GACpB8e,EAAI,OAAO,MAAQ9e,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAGnF,MAAQA,GAAS,IACpB8e,EAAI,aAAa,EAAE,MAAQ9e,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,CAAC,GAG7D,MAAQA,GAAS,EACpB8e,EAAI,OAAO,EAAE,MAAQ9e,GAAS,EAAE,CAAC,EAEjC8e,EAAI,QAAQ,EAAE,MAAQ9e,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,GAG1M,MAAQA,GAAS,KAAK,EAAE,GACtB,MAAQA,GAAS,KAAK,EAAE,EAC3B8e,EAAI,WAAW,MAAQ9e,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,EAAG,EAAE,MAAQA,GAAS,GAAG,CAAC,EAErF8e,EAAI,WAAW,MAAQ9e,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,EAAG,CAAC,EAGjE8e,EAAI,WAAW,MAAQ9e,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,CAE/F,CAEA,SAASgf,EAAYC,EAAa,CAChC,IAAK,MAAQjf,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,QAWpE,KAPK,MAAQA,GAAS,WACpB,KAAK,mBAAmB,GACvB,MAAQA,GAAS,SAAW,IAG/B,KAAK,yBAAyB,GAEzB,MAAQA,GAAS,MAAQif,EAAa,CACzC,IAAIC,EAsBJ,IApBC,MAAQlf,GAAS,EAAE,gBAAgB,MAAQA,GAAS,IAAI,KAAK,GAEzD,MAAQA,GAAS,uBAAyB,IAC5C,MAAQA,GAAS,EAAE,UAAU,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAGzG,MAAQA,GAAS,uBAAyB,IAC5C,MAAQA,GAAS,EAAE,OAAO,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAGnG,MAAQA,GAAS,KAAO,MAAQA,GAAS,uBAAyB,IACpE,MAAQA,GAAS,EAAE,aAAa,EAAE,MAAQA,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,CAAC,GAG7E,MAAQA,GAAS,IAAM,MAAQA,GAAS,uBAAyB,GACnE,MAAQA,GAAS,EAAE,OAAO,EAAE,MAAQA,GAAS,EAAE,CAAC,EACxC,EAAE,MAAQA,GAAS,IAAM,MAAQA,GAAS,uBAAyB,IAC3E,MAAQA,GAAS,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,GAG1N,MAAQA,GAAS,aAAc,CAClC,IAAImf,EACAC,EAGJ,GAFAF,GAAa,MAAQlf,GAAS,KAAK,WAAW,WAEzC,MAAQA,GAAS,IAAM,MAAQA,GAAS,EAAE,YAAc,MAAQA,GAAS,EAAE,gBACzE,MAAQA,GAAS,EAAE,SAAS,WAAa,MAAQA,GAAS,EAAE,aAAe,MAAQA,GAAS,EAAE,UAAU,CAAC,EAAE,GAC9Gmf,GAAM,MAAQnf,GAAS,EAAE,iBAAiB,MAAQA,GAAS,EAAE,UAAU,CAAC,EAAE,EAAI,KAAQkf,EAAW,CAAC,EAClGE,GAAM,MAAQpf,GAAS,EAAE,gBAAgB,MAAQA,GAAS,EAAE,UAAU,CAAC,EAAE,EAAIkf,EAAW,CAAC,IAC/E,MAAQlf,GAAS,EAAE,SAAS,WAAa,MAAQA,GAAS,EAAE,aAAe,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,EAAE,UAAU,OAAS,CAAC,EAAE,GAC5Jmf,GAAM,MAAQnf,GAAS,EAAE,gBAAgB,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,EAAE,UAAU,OAAS,CAAC,EAAE,EAAIkf,EAAW,CAAC,EAChIE,GAAM,MAAQpf,GAAS,EAAE,iBAAiB,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,EAAE,UAAU,OAAS,CAAC,EAAE,EAAI,KAAQkf,EAAW,CAAC,IAEzIC,GAAM,MAAQnf,GAAS,EAAE,GACzBof,GAAM,MAAQpf,GAAS,EAAE,iBAAiB,MAAQA,GAAS,EAAE,SAAS,WAAa,MAAQA,GAAS,EAAE,WAAa,KAAQkf,GAAY,MAAQlf,GAAS,EAAE,UAAU,YAE5J,MAAQA,GAAS,KAAO,MAAQA,GAAS,GAAG,YAAc,MAAQA,GAAS,GAAG,YAAc,MAAQA,GAAS,GAAG,iBAAmB,MAAQA,GAAS,GAAG,eAAgB,CACjLmf,EAAK,CAAC,EACNC,EAAK,CAAC,EACN,IAAIC,GAAM,MAAQrf,GAAS,GACvBsf,GAAM,MAAQtf,GAAS,GAEvBqf,EAAG,SAAS,UAAYA,EAAG,YAAcA,EAAG,UAAU,CAAC,EAAE,GAC3DF,EAAG,CAAC,EAAIE,EAAG,gBAAgBA,EAAG,UAAU,CAAC,EAAE,EAAI,KAAQH,EAAW,CAAC,EACnEC,EAAG,CAAC,EAAIG,EAAG,gBAAgBA,EAAG,UAAU,CAAC,EAAE,EAAI,KAAQJ,EAAW,CAAC,EACnEE,EAAG,CAAC,EAAIC,EAAG,eAAeA,EAAG,UAAU,CAAC,EAAE,EAAIH,EAAW,CAAC,EAC1DE,EAAG,CAAC,EAAIE,EAAG,eAAeA,EAAG,UAAU,CAAC,EAAE,EAAIJ,EAAW,CAAC,GACjDG,EAAG,SAAS,UAAYA,EAAG,YAAcA,EAAG,UAAUA,EAAG,UAAU,OAAS,CAAC,EAAE,GACxFF,EAAG,CAAC,EAAIE,EAAG,eAAeA,EAAG,UAAUA,EAAG,UAAU,OAAS,CAAC,EAAE,EAAIH,EAAW,CAAC,EAChFC,EAAG,CAAC,EAAIG,EAAG,eAAeA,EAAG,UAAUA,EAAG,UAAU,OAAS,CAAC,EAAE,EAAIJ,EAAW,CAAC,EAChFE,EAAG,CAAC,EAAIC,EAAG,gBAAgBA,EAAG,UAAUA,EAAG,UAAU,OAAS,CAAC,EAAE,EAAI,KAAQH,EAAW,CAAC,EACzFE,EAAG,CAAC,EAAIE,EAAG,gBAAgBA,EAAG,UAAUA,EAAG,UAAU,OAAS,CAAC,EAAE,EAAI,KAAQJ,EAAW,CAAC,IAEzFC,EAAK,CAACE,EAAG,GAAIC,EAAG,EAAE,EAClBF,EAAG,CAAC,EAAIC,EAAG,gBAAgBA,EAAG,SAAS,UAAYA,EAAG,WAAa,KAAQH,EAAWG,EAAG,UAAU,EACnGD,EAAG,CAAC,EAAIE,EAAG,gBAAgBA,EAAG,SAAS,UAAYA,EAAG,WAAa,KAAQJ,EAAWI,EAAG,UAAU,EAEvG,MACEF,EAAKR,EACLO,EAAKC,GAGN,MAAQpf,GAAS,EAAE,OAAO,CAAC,KAAK,MAAMmf,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAGD,EAAG,CAAC,EAAIC,EAAG,CAAC,CAAC,CAAC,CACtE,EAEK,MAAQpf,GAAS,KAAK,IAAM,MAAQA,GAAS,KAAK,EAAE,GAClD,MAAQA,GAAS,KAAK,EAAE,GAC1B,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,EAAG,EAAE,MAAQA,GAAS,GAAG,CAAC,GAEpG,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,EAAG,CAAC,GAGhF,MAAQA,GAAS,EAAE,WAAW,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,CAE/G,EAEC,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAChE,CAEA,SAASuf,GAAqB,CAC5B,GAAI,EAAE,MAAQvf,GAAS,EAAE,GACtB,MAAQA,GAAS,IAAI,UAAU,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAE7G,MAAQA,GAAS,uBAAyB,MAE3C,QAGF,GAAI,EAAE,MAAQA,GAAS,EAAE,gBAAgB,QACtC,MAAQA,GAAS,IAAI,OAAO,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAEvG,MAAQA,GAAS,uBAAyB,MAE3C,QAGF,IAAK,MAAQA,GAAS,GACpB,GAAI,EAAE,MAAQA,GAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQA,GAAS,GAAG,gBAAgB,QACvF,MAAQA,GAAS,IAAI,aAAa,EAAE,MAAQA,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,CAAC,GAEjF,MAAQA,GAAS,uBAAyB,MAE3C,SAIC,MAAQA,GAAS,GACd,MAAQA,GAAS,EAAE,gBAAgB,UACtC,MAAQA,GAAS,IAAI,OAAO,EAAE,MAAQA,GAAS,EAAE,CAAC,GAElD,MAAQA,GAAS,uBAAyB,GAEpC,EAAE,MAAQA,GAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQA,GAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQA,GAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQA,GAAS,GAAG,gBAAgB,UAC9L,MAAQA,GAAS,IAAI,QAAQ,EAAE,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,GAE9N,MAAQA,GAAS,uBAAyB,EAE/C,CAEA,SAASwf,GAAa,CAEtB,CAEA,SAASC,EAAmBtc,EAAM,CAChC,KAAK,oBAAoBA,CAAI,GAE5B,MAAQnD,GAAS,KAAK,mBAAmBmD,CAAI,GAE7C,MAAQnD,GAAS,SAAW,EAC/B,CAEA,SAAS0f,EAAkBvB,EAAMlH,EAAM7T,EAAW,CAwBhD,IAvBC,MAAQpD,GAAS,KAAOme,GACxB,MAAQne,GAAS,QAAU,IAC3B,MAAQA,GAAS,SAAW,aAC5B,MAAQA,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,EAAI,IAAI,QAEzB,MAAQA,GAAS,IAAM,IAAI,QAC3B,MAAQA,GAAS,uBAAyB,EAC3C,KAAK,6BAA6BoD,GAAa+a,CAAI,EAE/ClH,EAAK,GAAKA,EAAK,EAAE,IAClB,MAAQjX,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACnF,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,EAEhFiX,EAAK,EAAE,KACR,MAAQjX,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,KAGrF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,CAAC,CACb,EAAG,EAAG,EAAG,MAAQjX,CAAO,EAGtBiX,EAAK,GAAI,CAKX,IAJC,MAAQjX,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,GAC1F,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,GAC1F,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,EAEvFiX,EAAK,GAAG,EAAE,CAAC,EAAE,GAAI,CACnB,IAAIzW,EACAC,EAAMwW,EAAK,GAAG,EAAE,OAEpB,IAAKzW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxByW,EAAK,GAAG,EAAEzW,CAAC,EAAE,GAAK,KAClByW,EAAK,GAAG,EAAEzW,CAAC,EAAE,GAAK,IAEtB,EAEC,MAAQR,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,GAE1F,MAAQA,GAAS,GAAG,GAAK,EAC5B,MACG,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,UAAW,MAAQjX,CAAO,EAG9BiX,EAAK,MACN,MAAQjX,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,GAC1F,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,UAAW,MAAQjX,CAAO,IAG5F,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,CAAC,CACb,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACvB,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CAAC,IAAK,IAAK,GAAG,CACnB,EAAG,EAAG,IAAM,MAAQjX,CAAO,EAEvBiX,EAAK,GACN,MAAQjX,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAMkH,CAAI,GAExE,MAAQne,GAAS,EAAI,CACpB,KAAM,GACN,EAAG,CACL,GAGD,MAAQA,GAAS,SAAW,IAEvB,MAAQA,GAAS,kBAAkB,QACvC,KAAK,SAAS,EAAI,CAEtB,CAEA0f,EAAkB,UAAY,CAC5B,cAAeb,EACf,SAAUG,EACV,mBAAoBO,EACpB,WAAYC,CACd,EACA,gBAAgB,CAAC,wBAAwB,EAAGE,CAAiB,EAC7DA,EAAkB,UAAU,mBAAqBD,EACjDC,EAAkB,UAAU,oBAAsB,yBAAyB,UAAU,mBAErF,SAASC,EAAqBxB,EAAMlH,EAAM7T,EAAW,CACnD,OAAO,IAAIsc,EAAkBvB,EAAMlH,EAAM7T,CAAS,CACpD,CAEA,MAAO,CACL,qBAAsBuc,CACxB,CACF,EAAE,EAIF,SAAS,WAAY,EAClB,MAAQ3f,GAAS,EAAI,IACrB,MAAQA,GAAS,QAAU,GAC3B,MAAQA,GAAS,WAAa,GAC9B,MAAQA,GAAS,EAAI,kBAAkB,MAAQA,GAAS,UAAU,GAClE,MAAQA,GAAS,EAAI,kBAAkB,MAAQA,GAAS,UAAU,GAClE,MAAQA,GAAS,EAAI,kBAAkB,MAAQA,GAAS,UAAU,CACrE,CAEA,UAAU,UAAU,YAAc,SAAUgS,EAAQvR,EAAK,EACtD,MAAQT,GAAS,EAAIgS,EACtB,KAAK,UAAUvR,CAAG,EAGlB,QAFI,EAAI,EAED,EAAIA,IACR,MAAQT,GAAS,EAAE,CAAC,EAAI,UAAU,WAAW,GAC7C,MAAQA,GAAS,EAAE,CAAC,EAAI,UAAU,WAAW,GAC7C,MAAQA,GAAS,EAAE,CAAC,EAAI,UAAU,WAAW,EAC9C,GAAK,CAET,EAEA,UAAU,UAAU,UAAY,SAAUS,EAAK,CAC7C,MAAQ,MAAQT,GAAS,WAAaS,GACpC,KAAK,kBAAkB,GAGxB,MAAQT,GAAS,QAAUS,CAC9B,EAEA,UAAU,UAAU,kBAAoB,UAAY,EACjD,MAAQT,GAAS,GAAK,MAAQA,GAAS,EAAE,OAAO,kBAAkB,MAAQA,GAAS,UAAU,CAAC,GAC9F,MAAQA,GAAS,GAAK,MAAQA,GAAS,EAAE,OAAO,kBAAkB,MAAQA,GAAS,UAAU,CAAC,GAC9F,MAAQA,GAAS,GAAK,MAAQA,GAAS,EAAE,OAAO,kBAAkB,MAAQA,GAAS,UAAU,CAAC,GAC9F,MAAQA,GAAS,YAAc,CAClC,EAEA,UAAU,UAAU,QAAU,SAAUmI,EAAGC,EAAGrH,EAAM6e,EAAKC,EAAS,CAChE,IAAI7c,EAOJ,QANC,MAAQhD,GAAS,QAAU,KAAK,KAAK,MAAQA,GAAS,QAAS4f,EAAM,CAAC,GAElE,MAAQ5f,GAAS,UAAY,MAAQA,GAAS,YACjD,KAAK,kBAAkB,EAGjBe,EAAM,CACZ,IAAK,IACHiC,GAAO,MAAQhD,GAAS,EACxB,MAEF,IAAK,IACHgD,GAAO,MAAQhD,GAAS,EACxB,MAEF,IAAK,IACHgD,GAAO,MAAQhD,GAAS,EACxB,MAEF,QACEgD,EAAM,CAAC,EACP,KACJ,EAEI,CAACA,EAAI4c,CAAG,GAAK5c,EAAI4c,CAAG,GAAK,CAACC,KAC5B7c,EAAI4c,CAAG,EAAI,UAAU,WAAW,GAGlC5c,EAAI4c,CAAG,EAAE,CAAC,EAAIzX,EACdnF,EAAI4c,CAAG,EAAE,CAAC,EAAIxX,CAChB,EAEA,UAAU,UAAU,YAAc,SAAU0X,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIP,EAAKC,EAAS,CAChF,KAAK,QAAQC,EAAIC,EAAI,IAAKH,EAAKC,CAAO,EACtC,KAAK,QAAQG,EAAIC,EAAI,IAAKL,EAAKC,CAAO,EACtC,KAAK,QAAQK,EAAIC,EAAI,IAAKP,EAAKC,CAAO,CACxC,EAEA,UAAU,UAAU,QAAU,UAAY,CACxC,IAAIO,EAAU,IAAI,UAClBA,EAAQ,aAAa,MAAQpgB,GAAS,GAAI,MAAQA,GAAS,OAAO,EAClE,IAAIqgB,GAAY,MAAQrgB,GAAS,EAC7BsgB,GAAa,MAAQtgB,GAAS,EAC9BugB,GAAY,MAAQvgB,GAAS,EAC7BwgB,EAAO,GAEN,MAAQxgB,GAAS,IACpBogB,EAAQ,YAAYC,EAAS,CAAC,EAAE,CAAC,EAAGA,EAAS,CAAC,EAAE,CAAC,EAAGE,EAAS,CAAC,EAAE,CAAC,EAAGA,EAAS,CAAC,EAAE,CAAC,EAAGD,EAAU,CAAC,EAAE,CAAC,EAAGA,EAAU,CAAC,EAAE,CAAC,EAAG,EAAG,EAAK,EAC9HE,EAAO,GAGT,IAAIC,GAAO,MAAQzgB,GAAS,QAAU,EAClCS,GAAO,MAAQT,GAAS,QACxBQ,EAEJ,IAAKA,EAAIggB,EAAMhgB,EAAIC,EAAKD,GAAK,EAC3B4f,EAAQ,YAAYC,EAASI,CAAG,EAAE,CAAC,EAAGJ,EAASI,CAAG,EAAE,CAAC,EAAGF,EAASE,CAAG,EAAE,CAAC,EAAGF,EAASE,CAAG,EAAE,CAAC,EAAGH,EAAUG,CAAG,EAAE,CAAC,EAAGH,EAAUG,CAAG,EAAE,CAAC,EAAGjgB,EAAG,EAAK,EAC1IigB,GAAO,EAGT,OAAOL,CACT,EAOA,IAAI,qBAAuB,UAAY,CACrC,IAAIhG,EAAY,QAEhB,SAASsG,EAAiBnG,EAAUoG,EAAenG,EAAS,CAC1D,IAAIG,EAAiBH,EAAQ,UACzBoG,EACAC,EACAC,EACA9b,EACAC,EACAoQ,EACAC,EACA/D,EACAwP,EACAC,GAAM,MAAQhhB,GAAS,UAE3B,GAAIua,EAAWyG,EAAG,CAAC,EAAE,GAAK,MAAQhhB,GAAS,WACzC4gB,EAAWI,EAAG,CAAC,EAAE,EAAE,CAAC,EACpBF,EAAS,GACTnG,EAAiB,UACRJ,GAAYyG,EAAGA,EAAG,OAAS,CAAC,EAAE,GAAK,MAAQhhB,GAAS,WAC7D4gB,EAAWI,EAAGA,EAAG,OAAS,CAAC,EAAE,EAAIA,EAAGA,EAAG,OAAS,CAAC,EAAE,EAAE,CAAC,EAAIA,EAAGA,EAAG,OAAS,CAAC,EAAE,EAAE,CAAC,EAO/EF,EAAS,OACJ,CAOL,QANItgB,EAAIma,EACJla,EAAMugB,EAAG,OAAS,EAClBngB,EAAO,GACP+Z,EACAC,EAEGha,IACL+Z,EAAUoG,EAAGxgB,CAAC,EACdqa,EAAcmG,EAAGxgB,EAAI,CAAC,EAElB,EAAAqa,EAAY,GAAK,MAAQ7a,GAAS,WAAaua,KAI/C/Z,EAAIC,EAAM,EACZD,GAAK,EAELK,EAAO,GAOX,GAHAigB,EAASlG,EAAQ,IAAM,EACvBD,EAAiBna,EAEb,CAACsgB,EAAQ,CACX,GAAIvG,GAAYM,EAAY,GAAK,MAAQ7a,GAAS,WAChDuR,EAAO,UACEgJ,EAAWK,EAAQ,GAAK,MAAQ5a,GAAS,WAClDuR,EAAO,MACF,CACL,IAAIuJ,EAEAF,EAAQ,OACVE,EAAMF,EAAQ,QAEdE,EAAM,cAAc,gBAAgBF,EAAQ,EAAE,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,EAAE,CAAC,EAAE,IACxFA,EAAQ,OAASE,GAGnBvJ,EAAOuJ,GAAKP,GAAYK,EAAQ,GAAK,MAAQ5a,GAAS,cAAgB6a,EAAY,GAAK,MAAQ7a,GAAS,YAAc4a,EAAQ,GAAK,MAAQ5a,GAAS,YAAY,CAClK,CAEA6gB,EAAWhG,EAAY,EAAIA,EAAY,EAAE,CAAC,EAAID,EAAQ,EAAE,CAAC,CAC3D,CAEAgG,EAAWhG,EAAQ,EAAE,CAAC,CACxB,CAMA,IAJAvF,EAAOsL,EAAc,QACrBrL,EAAOsL,EAAS,EAAE,CAAC,EAAE,OACrBpG,EAAQ,UAAYG,EAEf3V,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB,IAAKC,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB8b,EAAcD,EAASF,EAAS,EAAE5b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAK4b,EAAS,EAAE7b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAKsM,EACrGoP,EAAc,EAAE3b,CAAC,EAAEC,CAAC,EAAI8b,EACxBA,EAAcD,EAASF,EAAS,EAAE5b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAK4b,EAAS,EAAE7b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAKsM,EACrGoP,EAAc,EAAE3b,CAAC,EAAEC,CAAC,EAAI8b,EACxBA,EAAcD,EAASF,EAAS,EAAE5b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAK4b,EAAS,EAAE7b,CAAC,EAAEC,CAAC,EAAI2b,EAAS,EAAE5b,CAAC,EAAEC,CAAC,GAAKsM,EACrGoP,EAAc,EAAE3b,CAAC,EAAEC,CAAC,EAAI8b,CAG9B,CAEA,SAASE,GAA8B,CACrC,IAAI1G,GAAY,MAAQva,GAAS,KAAK,eAAiB,MAAQA,GAAS,WACpEyd,GAAY,MAAQzd,GAAS,UAAU,CAAC,EAAE,GAAK,MAAQA,GAAS,WAChE0d,GAAW,MAAQ1d,GAAS,WAAW,MAAQA,GAAS,UAAU,OAAS,CAAC,EAAE,GAAK,MAAQA,GAAS,WACpGkhB,GAAa,MAAQlhB,GAAS,SAAS,UAE3C,OAAMkhB,IAAc9G,IAAc8G,EAAYzD,GAAYlD,EAAWkD,GAAYyD,EAAYxD,GAAWnD,EAAWmD,MAEhH,MAAQ1d,GAAS,SAAS,UAAYkhB,EAAY3G,GAAY,MAAQva,GAAS,SAAS,UAAY,EACrG,KAAK,iBAAiBua,GAAW,MAAQva,GAAS,IAAK,MAAQA,GAAS,QAAQ,IAGjF,MAAQA,GAAS,SAAS,UAAYua,GAC/B,MAAQva,GAAS,EAC3B,CAEA,SAASmhB,GAAa,EACnB,MAAQnhB,GAAS,OAAS,MAAQA,GAAS,oBAC9C,CAEA,SAASohB,EAAYC,EAAQC,EAAQ,CACnC,GAAID,EAAO,UAAYC,EAAO,SAAWD,EAAO,IAAMC,EAAO,EAC3D,MAAO,GAGT,IAAI9gB,EACAC,EAAM4gB,EAAO,QAEjB,IAAK7gB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,GAAK6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,GAAK6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,GAAK6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,GAAK6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,GAAK6gB,EAAO,EAAE7gB,CAAC,EAAE,CAAC,IAAM8gB,EAAO,EAAE9gB,CAAC,EAAE,CAAC,EAC3N,MAAO,GAIX,MAAO,EACT,CAEA,SAASod,EAAUwC,EAAS,CACrBgB,GAAa,MAAQphB,GAAS,EAAGogB,CAAO,KAC1C,MAAQpgB,GAAS,EAAI,UAAU,MAAMogB,CAAO,GAE5C,MAAQpgB,GAAS,qBAAqB,cAAc,GAEpD,MAAQA,GAAS,qBAAqB,UAAU,MAAQA,GAAS,CAAC,GAElE,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,OAAS,MAAQA,GAAS,qBAEhD,CAEA,SAAS8d,GAAyB,CAChC,IAAK,MAAQ9d,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,QAIpE,IAAI,EAAE,MAAQA,GAAS,gBAAgB,OAAQ,EAC5C,MAAQA,GAAS,KAAO,GACzB,MACF,CAEA,IAAK,MAAQA,GAAS,KAAM,CAC1B,KAAK,WAAW,MAAQA,GAAS,EAAE,EACnC,MACF,EAEC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAO,GACzB,IAAI+d,GAEC,MAAQ/d,GAAS,GACpB+d,GAAc,MAAQ/d,GAAS,IACrB,MAAQA,GAAS,KAAK,GAChC+d,GAAc,MAAQ/d,GAAS,KAAK,GAAG,EAEvC+d,GAAc,MAAQ/d,GAAS,KAAK,GAAG,EAGzC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,gBAAgB,OAE5C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBud,GAAc,MAAQ/d,GAAS,gBAAgBQ,CAAC,EAAEud,CAAU,EAG9D,KAAK,UAAUA,CAAU,GACxB,MAAQ/d,GAAS,KAAO,IACxB,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAChE,CAEA,SAASuhB,EAAcpD,EAAMlH,EAAMlW,EAAM,EACtC,MAAQf,GAAS,SAAW,SAC5B,MAAQA,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,UAAYme,GAC7B,MAAQne,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,KAAO,GACzB,IAAIyW,EAAW1V,IAAS,EAAIkW,EAAK,GAAG,EAAIA,EAAK,GAAG,GAC/C,MAAQjX,GAAS,EAAI,UAAU,MAAMyW,CAAQ,GAC7C,MAAQzW,GAAS,GAAK,UAAU,OAAO,MAAQA,GAAS,CAAC,GACzD,MAAQA,GAAS,qBAAuB,oBAAoB,mBAAmB,GAC/E,MAAQA,GAAS,OAAS,MAAQA,GAAS,sBAE3C,MAAQA,GAAS,MAAM,UAAU,MAAQA,GAAS,CAAC,GAEnD,MAAQA,GAAS,MAAQmhB,GACzB,MAAQnhB,GAAS,gBAAkB,CAAC,CACvC,CAEA,SAASge,EAAUC,EAAgB,EAChC,MAAQje,GAAS,gBAAgB,KAAKie,CAAc,GAEpD,MAAQje,GAAS,UAAU,mBAAmB,MAAQA,CAAO,CAChE,CAEAuhB,EAAc,UAAU,iBAAmBb,EAC3Ca,EAAc,UAAU,SAAWzD,EACnCyD,EAAc,UAAU,UAAY3D,EACpC2D,EAAc,UAAU,UAAYvD,EAEpC,SAASwD,EAAuBrD,EAAMlH,EAAMlW,EAAM,EAC/C,MAAQf,GAAS,SAAW,SAC5B,MAAQA,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,KAAOme,GACxB,MAAQne,GAAS,UAAYme,GAC7B,MAAQne,GAAS,WAAame,EAAK,KAAK,IACxC,MAAQne,GAAS,UAAYe,IAAS,EAAIkW,EAAK,GAAG,EAAIA,EAAK,GAAG,GAC9D,MAAQjX,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,GACvB,IAAIS,GAAO,MAAQT,GAAS,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,QAC/C,MAAQA,GAAS,EAAI,UAAU,WAAW,GAE1C,MAAQA,GAAS,EAAE,aAAa,MAAQA,GAAS,UAAU,CAAC,EAAE,EAAE,CAAC,EAAE,EAAGS,CAAG,GAEzE,MAAQT,GAAS,GAAK,UAAU,OAAO,MAAQA,GAAS,CAAC,GACzD,MAAQA,GAAS,qBAAuB,oBAAoB,mBAAmB,GAC/E,MAAQA,GAAS,OAAS,MAAQA,GAAS,sBAE3C,MAAQA,GAAS,MAAM,UAAU,MAAQA,GAAS,CAAC,GAEnD,MAAQA,GAAS,UAAYoa,GAC7B,MAAQpa,GAAS,MAAQmhB,GACzB,MAAQnhB,GAAS,SAAW,CAC3B,UAAWoa,EACX,UAAW,CACb,GACC,MAAQpa,GAAS,gBAAkB,CAACihB,EAA4B,KAAK,MAAQjhB,CAAO,CAAC,CACxF,CAEAwhB,EAAuB,UAAU,SAAW1D,EAC5C0D,EAAuB,UAAU,iBAAmBd,EACpDc,EAAuB,UAAU,UAAY5D,EAC7C4D,EAAuB,UAAU,UAAYxD,EAE7C,IAAIyD,EAAmB,UAAY,CACjC,IAAIC,EAAS,YAEb,SAASC,EAAwBxD,EAAMlH,EAAM,EAO1C,MAAQjX,GAAS,EAAI,UAAU,WAAW,GAE1C,MAAQA,GAAS,EAAE,YAAY,GAAM,CAAC,GAEtC,MAAQA,GAAS,qBAAuB,oBAAoB,mBAAmB,GAC/E,MAAQA,GAAS,OAAS,MAAQA,GAAS,sBAE3C,MAAQA,GAAS,qBAAqB,UAAU,MAAQA,GAAS,CAAC,GAElE,MAAQA,GAAS,EAAIiX,EAAK,GAC1B,MAAQjX,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,QAAU,GAC5B,KAAK,6BAA6Bme,CAAI,GACrC,MAAQne,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAChF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAE5E,MAAQA,GAAS,kBAAkB,QACrC,MAAQA,GAAS,EAAI,KAErB,MAAQA,GAAS,EAAI,GACtB,KAAK,iBAAiB,EAE1B,CAEA,OAAA2hB,EAAwB,UAAY,CAClC,MAAOR,EACP,SAAU,UAAY,EACf,MAAQnhB,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,WAInE,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQA,GAAS,MACpB,KAAK,iBAAiB,EAE1B,EACA,iBAAkB,UAAY,CAC5B,IAAIqJ,GAAM,MAAQrJ,GAAS,EAAE,EAAE,CAAC,EAC5B2H,GAAM,MAAQ3H,GAAS,EAAE,EAAE,CAAC,EAC5B4hB,GAAM,MAAQ5hB,GAAS,EAAE,EAAE,CAAC,EAAI,EAChCqd,GAAM,MAAQrd,GAAS,EAAE,EAAE,CAAC,EAAI,EAEhC6hB,GAAO,MAAQ7hB,GAAS,IAAM,EAE9B8hB,GAAM,MAAQ9hB,GAAS,EAC3B8hB,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIzY,EACbyY,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EACbma,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIzY,EACbyY,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EACbma,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKF,EAASrY,EAAKuY,EAAKF,EAChDI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAAKqE,EACvBI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKF,EAASrY,EAAKuY,EAAKF,EAChDI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAAKqE,EACvBI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKF,EAASrY,EAAKuY,EAAKF,EAChDI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAAKqE,EACvBI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKF,EAASrY,EAAKuY,EAAKF,EAChDI,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAClByE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAID,EAAMxY,EAAKuY,EAAKvY,EAAKuY,EAClCE,EAAG,EAAE,CAAC,EAAE,CAAC,EAAIna,EAAK0V,EAAKqE,CACzB,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAGC,CAAuB,EAC5DA,CACT,EAAE,EAEEI,EAAoB,UAAY,CAClC,SAASC,EAAyB7D,EAAMlH,EAAM,EAC3C,MAAQjX,GAAS,EAAI,UAAU,WAAW,GAE1C,MAAQA,GAAS,EAAE,YAAY,GAAM,CAAC,GAEtC,MAAQA,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,QAAU,IAC3B,MAAQA,GAAS,EAAIiX,EAAK,EAC3B,KAAK,6BAA6BkH,CAAI,EAElClH,EAAK,KAAO,IACb,MAAQjX,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,EAAG,MAAQjX,CAAO,GAClF,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,IAAM,MAAQjX,CAAO,GACrF,MAAQA,GAAS,eAAiB,MAAQA,GAAS,oBAEnD,MAAQA,GAAS,eAAiB,MAAQA,GAAS,sBAGrD,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,EAAG,MAAQjX,CAAO,GAClF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAChF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,UAAW,MAAQjX,CAAO,GACxF,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,EAAG,MAAQjX,CAAO,GAClF,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAI,EAAG,IAAM,MAAQjX,CAAO,GACrF,MAAQA,GAAS,qBAAuB,oBAAoB,mBAAmB,GAE/E,MAAQA,GAAS,qBAAqB,UAAU,MAAQA,GAAS,CAAC,GAElE,MAAQA,GAAS,OAAS,MAAQA,GAAS,sBAEvC,MAAQA,GAAS,kBAAkB,QACrC,MAAQA,GAAS,EAAI,KAErB,MAAQA,GAAS,EAAI,GACtB,KAAK,cAAc,EAEvB,CAEA,OAAAgiB,EAAyB,UAAY,CACnC,MAAOb,EACP,SAAU,UAAY,EACf,MAAQnhB,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,WAInE,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQA,GAAS,MACpB,KAAK,cAAc,EAEvB,EACA,kBAAmB,UAAY,CAC7B,IAAIiiB,EAAS,KAAK,OAAO,MAAQjiB,GAAS,GAAG,CAAC,EAAI,EAC9C6D,EAAQ,KAAK,GAAK,EAAIoe,EAKtBC,EAAW,GACXC,GAAW,MAAQniB,GAAS,GAAG,EAC/BoiB,GAAY,MAAQpiB,GAAS,GAAG,EAChCqiB,GAAa,MAAQriB,GAAS,GAAG,EACjCsiB,GAAc,MAAQtiB,GAAS,GAAG,EAClCuiB,EAAmB,EAAI,KAAK,GAAKJ,GAAWF,EAAS,GACrDO,EAAoB,EAAI,KAAK,GAAKJ,GAAYH,EAAS,GACvDzhB,EACAiiB,EACAC,EACAC,EACAC,EAAa,CAAC,KAAK,GAAK,EAC5BA,IAAe,MAAQ5iB,GAAS,EAAE,EAClC,IAAImT,GAAO,MAAQnT,GAAS,KAAK,IAAM,EAAI,GAAK,EAGhD,KAFC,MAAQA,GAAS,EAAE,QAAU,EAEzBQ,EAAI,EAAGA,EAAIyhB,EAAQzhB,GAAK,EAAG,CAC9BiiB,EAAMP,EAAWC,EAAUC,EAC3BM,EAAYR,EAAWG,EAAYC,EACnCK,EAAeT,EAAWK,EAAmBC,EAC7C,IAAIra,EAAIsa,EAAM,KAAK,IAAIG,CAAU,EAC7Bxa,EAAIqa,EAAM,KAAK,IAAIG,CAAU,EAC7BC,EAAK1a,IAAM,GAAKC,IAAM,EAAI,EAAIA,EAAI,KAAK,KAAKD,EAAIA,EAAIC,EAAIA,CAAC,EACzD0a,EAAK3a,IAAM,GAAKC,IAAM,EAAI,EAAI,CAACD,EAAI,KAAK,KAAKA,EAAIA,EAAIC,EAAIA,CAAC,EAC9DD,GAAK,EAAE,MAAQnI,GAAS,EAAE,EAAE,CAAC,EAC7BoI,GAAK,EAAE,MAAQpI,GAAS,EAAE,EAAE,CAAC,GAE5B,MAAQA,GAAS,EAAE,YAAYmI,EAAGC,EAAGD,EAAI0a,EAAKF,EAAeD,EAAYvP,EAAK/K,EAAI0a,EAAKH,EAAeD,EAAYvP,EAAKhL,EAAI0a,EAAKF,EAAeD,EAAYvP,EAAK/K,EAAI0a,EAAKH,EAAeD,EAAYvP,EAAK3S,EAAG,EAAI,EAOjN0hB,EAAW,CAACA,EACZU,GAAc/e,EAAQsP,CACxB,CACF,EACA,qBAAsB,UAAY,CAChC,IAAI8O,EAAS,KAAK,OAAO,MAAQjiB,GAAS,GAAG,CAAC,EAC1C6D,EAAQ,KAAK,GAAK,EAAIoe,EACtBQ,GAAO,MAAQziB,GAAS,GAAG,EAC3B0iB,GAAa,MAAQ1iB,GAAS,GAAG,EACjC2iB,EAAe,EAAI,KAAK,GAAKF,GAAOR,EAAS,GAC7CzhB,EACAoiB,EAAa,CAAC,KAAK,GAAK,GACxBzP,GAAO,MAAQnT,GAAS,KAAK,IAAM,EAAI,GAAK,EAIhD,IAHA4iB,IAAe,MAAQ5iB,GAAS,EAAE,GACjC,MAAQA,GAAS,EAAE,QAAU,EAEzBQ,EAAI,EAAGA,EAAIyhB,EAAQzhB,GAAK,EAAG,CAC9B,IAAI2H,EAAIsa,EAAM,KAAK,IAAIG,CAAU,EAC7Bxa,EAAIqa,EAAM,KAAK,IAAIG,CAAU,EAC7BC,EAAK1a,IAAM,GAAKC,IAAM,EAAI,EAAIA,EAAI,KAAK,KAAKD,EAAIA,EAAIC,EAAIA,CAAC,EACzD0a,EAAK3a,IAAM,GAAKC,IAAM,EAAI,EAAI,CAACD,EAAI,KAAK,KAAKA,EAAIA,EAAIC,EAAIA,CAAC,EAC9DD,GAAK,EAAE,MAAQnI,GAAS,EAAE,EAAE,CAAC,EAC7BoI,GAAK,EAAE,MAAQpI,GAAS,EAAE,EAAE,CAAC,GAE5B,MAAQA,GAAS,EAAE,YAAYmI,EAAGC,EAAGD,EAAI0a,EAAKF,EAAeD,EAAYvP,EAAK/K,EAAI0a,EAAKH,EAAeD,EAAYvP,EAAKhL,EAAI0a,EAAKF,EAAeD,EAAYvP,EAAK/K,EAAI0a,EAAKH,EAAeD,EAAYvP,EAAK3S,EAAG,EAAI,EAEjNoiB,GAAc/e,EAAQsP,CACxB,EAEC,MAAQnT,GAAS,MAAM,OAAS,GAChC,MAAQA,GAAS,MAAM,CAAC,GAAK,MAAQA,GAAS,CACjD,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAGgiB,CAAwB,EAC7DA,CACT,EAAE,EAEEe,EAAoB,UAAY,CAClC,SAASC,EAAyB7E,EAAMlH,EAAM,EAC3C,MAAQjX,GAAS,EAAI,UAAU,WAAW,GAC1C,MAAQA,GAAS,EAAE,EAAI,IACvB,MAAQA,GAAS,qBAAuB,oBAAoB,mBAAmB,GAE/E,MAAQA,GAAS,qBAAqB,UAAU,MAAQA,GAAS,CAAC,GAElE,MAAQA,GAAS,OAAS,MAAQA,GAAS,sBAC3C,MAAQA,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,QAAU,IAC3B,MAAQA,GAAS,EAAIiX,EAAK,EAC3B,KAAK,6BAA6BkH,CAAI,GACrC,MAAQne,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAChF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAChF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAE5E,MAAQA,GAAS,kBAAkB,QACrC,MAAQA,GAAS,EAAI,KAErB,MAAQA,GAAS,EAAI,GACtB,KAAK,kBAAkB,EAE3B,CAEA,OAAAgjB,EAAyB,UAAY,CACnC,kBAAmB,UAAY,CAC7B,IAAI3Z,GAAM,MAAQrJ,GAAS,EAAE,EAAE,CAAC,EAC5B2H,GAAM,MAAQ3H,GAAS,EAAE,EAAE,CAAC,EAC5BijB,GAAM,MAAQjjB,GAAS,EAAE,EAAE,CAAC,EAAI,EAChCmf,GAAM,MAAQnf,GAAS,EAAE,EAAE,CAAC,EAAI,EAChCkjB,EAAQ,MAAMD,EAAI9D,GAAK,MAAQnf,GAAS,EAAE,CAAC,EAC3C0hB,EAASwB,GAAS,EAAI,cACzB,MAAQljB,GAAS,EAAE,QAAU,GAEzB,MAAQA,GAAS,IAAM,IAAM,MAAQA,GAAS,IAAM,IACtD,MAAQA,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQ,EAAG,EAAI,GAErH,MAAQ1hB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO,EAAG,EAAI,EAElHA,IAAU,IACX,MAAQljB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQ,EAAG,EAAI,GAErH,MAAQ1hB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO,EAAG,EAAI,GAErH,MAAQljB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI,EAAG,EAAI,KAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAItb,EAAKwX,EAAI,CAAC,GAE/F,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAI9V,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAI,CAAC,MAGjG,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO,EAAG,EAAI,EAElHA,IAAU,IACX,MAAQljB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQ,EAAG,EAAI,GAErH,MAAQ1hB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO,EAAG,EAAI,GAErH,MAAQljB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAKC,EAAOvb,EAAKwX,EAAI,EAAG,EAAI,GAErH,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAK+D,EAAO7Z,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQ,EAAG,EAAI,KAErH,MAAQ1hB,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAItb,EAAKwX,EAAI,EAAG,EAAI,GAErG,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAI9V,EAAK4Z,EAAItb,EAAKwX,EAAKuC,EAAQrY,EAAK4Z,EAAItb,EAAKwX,EAAI,EAAG,EAAI,GAErG,MAAQnf,GAAS,EAAE,YAAYqJ,EAAK4Z,EAAItb,EAAKwX,EAAI9V,EAAK4Z,EAAKvB,EAAQ/Z,EAAKwX,EAAI9V,EAAK4Z,EAAItb,EAAKwX,EAAI,EAAG,EAAI,GAG5G,EACA,SAAU,UAAY,EACf,MAAQnf,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,WAInE,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQA,GAAS,MACpB,KAAK,kBAAkB,EAE3B,EACA,MAAOmhB,CACT,EACA,gBAAgB,CAAC,wBAAwB,EAAG6B,CAAwB,EAC7DA,CACT,EAAE,EAEF,SAASG,EAAahF,EAAMlH,EAAMlW,EAAM,CACtC,IAAIoC,EAEJ,GAAIpC,IAAS,GAAKA,IAAS,EAAG,CAC5B,IAAIqiB,EAAWriB,IAAS,EAAIkW,EAAK,GAAKA,EAAK,GACvCoM,EAAOD,EAAS,EAEhBC,EAAK,OACPlgB,EAAO,IAAIqe,EAAuBrD,EAAMlH,EAAMlW,CAAI,EAElDoC,EAAO,IAAIoe,EAAcpD,EAAMlH,EAAMlW,CAAI,CAE7C,MAAWA,IAAS,EAClBoC,EAAO,IAAI4f,EAAkB5E,EAAMlH,CAAI,EAC9BlW,IAAS,EAClBoC,EAAO,IAAIse,EAAiBtD,EAAMlH,CAAI,EAC7BlW,IAAS,IAClBoC,EAAO,IAAI4e,EAAkB5D,EAAMlH,CAAI,GAGzC,OAAI9T,EAAK,GACPgb,EAAK,mBAAmBhb,CAAI,EAGvBA,CACT,CAEA,SAASmgB,GAAyB,CAChC,OAAO/B,CACT,CAEA,SAASgC,GAAkC,CACzC,OAAO/B,CACT,CAEA,IAAI5U,EAAK,CAAC,EACV,OAAAA,EAAG,aAAeuW,EAClBvW,EAAG,uBAAyB0W,EAC5B1W,EAAG,gCAAkC2W,EAC9B3W,CACT,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAIA,EAAK,CAAC,EACN4W,EAAY,CAAC,EACjB5W,EAAG,iBAAmB6W,EACtB7W,EAAG,YAAc8W,EAEjB,SAASD,EAAiB1W,EAAI1M,EAAS,CAChCmjB,EAAUzW,CAAE,IACfyW,EAAUzW,CAAE,EAAI1M,EAEpB,CAEA,SAASqjB,EAAY3W,EAAIoR,EAAMlH,EAAM,CACnC,OAAO,IAAIuM,EAAUzW,CAAE,EAAEoR,EAAMlH,CAAI,CACrC,CAEA,OAAOrK,CACT,EAAE,EAEF,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAU,uBAAyB,UAAY,CAAC,EAE9D,cAAc,UAAU,mBAAqB,UAAY,CAAC,EAE1D,cAAc,UAAU,SAAW,SAAUqK,EAAM,CACjD,GAAI,EAAE,MAAQjX,GAAS,OAAQ,CAE7BiX,EAAK,GAAG,UAAU,mBAAmBA,EAAK,EAAE,EAC5C,IAAInF,EAAY,CACd,MAAOmF,EAAK,GACZ,KAAMA,EACN,qBAAsB,oBAAoB,mBAAmB,CAC/D,GAEC,MAAQjX,GAAS,OAAO,KAAK8R,CAAS,EAEvC,KAAK,mBAAmBA,CAAS,GAE5B,MAAQ9R,GAAS,aACpBiX,EAAK,cAAc,CAEvB,CACF,EAEA,cAAc,UAAU,KAAO,SAAUkH,EAAMlH,EAAM,EAClD,MAAQjX,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,KAAOme,EACzB,KAAK,6BAA6BA,CAAI,EACtC,KAAK,uBAAuBA,EAAMlH,CAAI,GACrC,MAAQjX,GAAS,QAAU,qBAC3B,MAAQA,GAAS,OAAS,IAC1B,MAAQA,GAAS,EAAI,IAEjB,MAAQA,GAAS,kBAAkB,QACrC,MAAQA,GAAS,EAAI,GAEtB,KAAK,SAAS,EAAI,CAEtB,EAEA,cAAc,UAAU,YAAc,UAAY,EAC3C,MAAQA,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,WAInE,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,EAChC,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,aAAa,EAGzD,SAAS,cAAe,CAAC,CAEzB,gBAAgB,CAAC,aAAa,EAAG,YAAY,EAE7C,aAAa,UAAU,uBAAyB,SAAUme,EAAMlH,EAAM,EACnE,MAAQjX,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAChF,MAAQA,GAAS,OAAS,GAC1B,MAAQA,GAAS,OAAS,GAC1B,MAAQA,GAAS,UAAY,MAAQA,GAAS,aAC9C,MAAQA,GAAS,EAAIiX,EAAK,GAC1B,MAAQjX,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQA,GAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQA,GAAS,EAAE,gBAAgB,MACxK,EAEA,aAAa,UAAU,mBAAqB,SAAU8R,EAAW,CAC/DA,EAAU,UAAY,CAAC,CACzB,EAEA,aAAa,UAAU,oBAAsB,SAAUnQ,EAAGoD,EAAG4e,EAAanS,EAAaoS,EAAqB,CAC1G,IAAIC,EAAW,CAAC,EAEZ9e,GAAK,EACP8e,EAAS,KAAK,CACZ,EAAGliB,EACH,EAAGoD,CACL,CAAC,EACQpD,GAAK,EACdkiB,EAAS,KAAK,CACZ,EAAGliB,EAAI,EACP,EAAGoD,EAAI,CACT,CAAC,GAED8e,EAAS,KAAK,CACZ,EAAGliB,EACH,EAAG,CACL,CAAC,EACDkiB,EAAS,KAAK,CACZ,EAAG,EACH,EAAG9e,EAAI,CACT,CAAC,GAGH,IAAI+e,EAAgB,CAAC,EACjBtjB,EACAC,EAAMojB,EAAS,OACfE,EAEJ,IAAKvjB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAGxB,GAFAujB,EAAYF,EAASrjB,CAAC,EAElB,EAAEujB,EAAU,EAAIH,EAAsBpS,GAAeuS,EAAU,EAAIH,EAAsBpS,EAAcmS,GAAc,CACvH,IAAIK,EACAC,EAEAF,EAAU,EAAIH,GAAuBpS,EACvCwS,EAAS,EAETA,GAAUD,EAAU,EAAIH,EAAsBpS,GAAemS,EAG3DI,EAAU,EAAIH,GAAuBpS,EAAcmS,EACrDM,EAAS,EAETA,GAAUF,EAAU,EAAIH,EAAsBpS,GAAemS,EAG/DG,EAAc,KAAK,CAACE,EAAQC,CAAM,CAAC,CACrC,CAGF,OAAKH,EAAc,QACjBA,EAAc,KAAK,CAAC,EAAG,CAAC,CAAC,EAGpBA,CACT,EAEA,aAAa,UAAU,iBAAmB,SAAUI,EAAW,CAC7D,IAAI1jB,EACAC,EAAMyjB,EAAU,OAEpB,IAAK1jB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,mBAAmB,QAAQ0jB,EAAU1jB,CAAC,CAAC,EAGzC,OAAA0jB,EAAU,OAAS,EACZA,CACT,EAEA,aAAa,UAAU,cAAgB,SAAUC,EAAe,CAC9D,IAAIxiB,EACAoD,EAEJ,IAAK,MAAQ/E,GAAS,MAAQmkB,EAAe,CAC3C,IAAI9e,GAAK,MAAQrF,GAAS,EAAE,EAAI,IAAM,IAsBtC,GApBIqF,EAAI,IACNA,GAAK,IAGF,MAAQrF,GAAS,EAAE,EAAI,EAC1B2B,EAAI,EAAI0D,GACE,MAAQrF,GAAS,EAAE,EAAI,EACjC2B,EAAI,EAAI0D,EAER1D,GAAK,MAAQ3B,GAAS,EAAE,EAAIqF,GAGzB,MAAQrF,GAAS,EAAE,EAAI,EAC1B+E,EAAI,EAAIM,GACE,MAAQrF,GAAS,EAAE,EAAI,EACjC+E,EAAI,EAAIM,EAERN,GAAK,MAAQ/E,GAAS,EAAE,EAAIqF,EAG1B1D,EAAIoD,EAAG,CACT,IAAIqf,EAAKziB,EACTA,EAAIoD,EACJA,EAAIqf,CACN,CAEAziB,EAAI,KAAK,MAAMA,EAAI,GAAK,EAAI,KAC5BoD,EAAI,KAAK,MAAMA,EAAI,GAAK,EAAI,MAC3B,MAAQ/E,GAAS,OAAS2B,GAC1B,MAAQ3B,GAAS,OAAS+E,CAC7B,MACEpD,GAAK,MAAQ3B,GAAS,OACtB+E,GAAK,MAAQ/E,GAAS,OAGxB,IAAIqkB,EACA7jB,EACAC,GAAO,MAAQT,GAAS,OAAO,OAC/BgF,EACAqQ,EACA6O,EACAzN,EACA6N,EACAV,EAAsB,EAE1B,GAAI7e,IAAMpD,EACR,IAAKnB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,qBAAqB,cAAc,GAE9D,MAAQR,GAAS,OAAOQ,CAAC,EAAE,MAAM,KAAO,IACxC,MAAQR,GAAS,OAAOQ,CAAC,EAAE,MAAM,OAAS,MAAQR,GAAS,OAAOQ,CAAC,EAAE,sBAEjE,MAAQR,GAAS,QACnB,MAAQA,GAAS,OAAOQ,CAAC,EAAE,UAAU,OAAS,WAGxCuE,IAAM,GAAKpD,IAAM,GAAKoD,IAAM,GAAKpD,IAAM,GAyG7C,IAAK,MAAQ3B,GAAS,KAC3B,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GAGvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,UAAU,OAAS,GAC9C,MAAQR,GAAS,OAAOQ,CAAC,EAAE,MAAM,KAAO,OA9GW,CACtD,IAAIqjB,EAAW,CAAC,EACZ/R,EACAyS,EAEJ,IAAK/jB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAGxB,GAFAsR,GAAa,MAAQ9R,GAAS,OAAOQ,CAAC,EAElC,CAACsR,EAAU,MAAM,MAAQ,EAAE,MAAQ9R,GAAS,MAAQ,CAACmkB,IAAkB,MAAQnkB,GAAS,IAAM,EAChG8R,EAAU,MAAM,MAAQA,EAAU,yBAC7B,CAKL,GAJAuS,EAAavS,EAAU,MAAM,MAC7BuD,EAAOgP,EAAW,QAClBC,EAAmB,EAEf,CAACxS,EAAU,MAAM,MAAQA,EAAU,UAAU,OAC/CwS,EAAmBxS,EAAU,qBACxB,CAGL,IAFAoS,EAAY,KAAK,iBAAiBpS,EAAU,SAAS,EAEhD9M,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByR,EAAW,IAAI,kBAAkB4N,EAAW,OAAOrf,CAAC,CAAC,EACrDkf,EAAU,KAAKzN,CAAQ,EACvB6N,GAAoB7N,EAAS,YAG/B3E,EAAU,iBAAmBwS,EAC7BxS,EAAU,UAAYoS,CACxB,CAEAN,GAAuBU,EACvBxS,EAAU,MAAM,KAAO,EACzB,CAGF,IAAIkS,EAASriB,EACTsiB,EAASlf,EACTyM,EAAc,EACdgT,EAEJ,IAAKhkB,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,EAG7B,GAFAsR,GAAa,MAAQ9R,GAAS,OAAOQ,CAAC,EAElCsR,EAAU,MAAM,KAAM,CAaxB,IAZAyS,EAAuBzS,EAAU,qBACjCyS,EAAqB,cAAc,GAE9B,MAAQvkB,GAAS,IAAM,GAAKS,EAAM,GACrC+jB,EAAQ,KAAK,oBAAoB7iB,EAAGoD,EAAG+M,EAAU,iBAAkBN,EAAaoS,CAAmB,EACnGpS,GAAeM,EAAU,kBAEzB0S,EAAQ,CAAC,CAACR,EAAQC,CAAM,CAAC,EAG3B5O,EAAOmP,EAAM,OAERxf,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAC5Bgf,EAASQ,EAAMxf,CAAC,EAAE,CAAC,EACnBif,EAASO,EAAMxf,CAAC,EAAE,CAAC,EACnB6e,EAAS,OAAS,EAEdI,GAAU,EACZJ,EAAS,KAAK,CACZ,EAAG/R,EAAU,iBAAmBkS,EAChC,EAAGlS,EAAU,iBAAmBmS,CAClC,CAAC,EACQD,GAAU,EACnBH,EAAS,KAAK,CACZ,EAAG/R,EAAU,kBAAoBkS,EAAS,GAC1C,EAAGlS,EAAU,kBAAoBmS,EAAS,EAC5C,CAAC,GAEDJ,EAAS,KAAK,CACZ,EAAG/R,EAAU,iBAAmBkS,EAChC,EAAGlS,EAAU,gBACf,CAAC,EACD+R,EAAS,KAAK,CACZ,EAAG,EACH,EAAG/R,EAAU,kBAAoBmS,EAAS,EAC5C,CAAC,GAGH,IAAIQ,EAAgB,KAAK,UAAU3S,EAAW+R,EAAS,CAAC,CAAC,EAEzD,GAAIA,EAAS,CAAC,EAAE,IAAMA,EAAS,CAAC,EAAE,EAAG,CACnC,GAAIA,EAAS,OAAS,EAAG,CACvB,IAAIa,EAAwB5S,EAAU,MAAM,MAAM,OAAOA,EAAU,MAAM,MAAM,QAAU,CAAC,EAE1F,GAAI4S,EAAsB,EAAG,CAC3B,IAAIC,EAAYF,EAAc,IAAI,EAClC,KAAK,SAASA,EAAeF,CAAoB,EACjDE,EAAgB,KAAK,UAAU3S,EAAW+R,EAAS,CAAC,EAAGc,CAAS,CAClE,MACE,KAAK,SAASF,EAAeF,CAAoB,EACjDE,EAAgB,KAAK,UAAU3S,EAAW+R,EAAS,CAAC,CAAC,CAEzD,CAEA,KAAK,SAASY,EAAeF,CAAoB,CACnD,CACF,CAEAzS,EAAU,MAAM,MAAQyS,CAC1B,CAEJ,CAQF,EAEA,aAAa,UAAU,SAAW,SAAUK,EAAUL,EAAsB,CAC1E,IAAI,EACA9jB,EAAMmkB,EAAS,OAEnB,IAAK,EAAI,EAAG,EAAInkB,EAAK,GAAK,EACxB8jB,EAAqB,SAASK,EAAS,CAAC,CAAC,CAE7C,EAEA,aAAa,UAAU,WAAa,SAAU1b,EAAKC,EAAKC,EAAKgI,EAAKyT,EAAWjF,EAAKkF,EAAU,CAC1FD,EAAU,QAAQ1b,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAG,IAAKyW,CAAG,EAC1CiF,EAAU,QAAQzb,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAG,IAAKwW,EAAM,CAAC,EAE1CkF,GACFD,EAAU,QAAQ3b,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAG,IAAK0W,CAAG,EAG5CiF,EAAU,QAAQzT,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAG,IAAKwO,EAAM,CAAC,CAChD,EAEA,aAAa,UAAU,oBAAsB,SAAU/Q,EAAQgW,EAAWjF,EAAKkF,EAAU,CACvFD,EAAU,QAAQhW,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAG,IAAK+Q,CAAG,EAChDiF,EAAU,QAAQhW,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAG,IAAK+Q,EAAM,CAAC,EAEhDkF,GACFD,EAAU,QAAQhW,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAG,IAAK+Q,CAAG,EAGlDiF,EAAU,QAAQhW,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAG,IAAK+Q,EAAM,CAAC,CACtD,EAEA,aAAa,UAAU,UAAY,SAAU9N,EAAWiT,EAAcF,EAAW,CAC/E,IAAIX,EAAYpS,EAAU,UACtBuS,EAAavS,EAAU,MAAM,MAAM,OACnCtR,EACAC,EAAMqR,EAAU,MAAM,MAAM,QAC5B9M,EACAqQ,EACA7D,EAAc,EACdwT,EACAC,EACA7S,EACA8S,EACArO,EAAS,CAAC,EACV7D,EACA8R,EAAW,GAaf,IAXKD,GAKHI,EAAeJ,EAAU,QACzB7R,EAAU6R,EAAU,UALpBA,EAAY,UAAU,WAAW,EACjCI,EAAe,EACfjS,EAAU,GAMZ6D,EAAO,KAAKgO,CAAS,EAEhBrkB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAK3B,IAJA4R,EAAU8R,EAAU1jB,CAAC,EAAE,QACvBqkB,EAAU,EAAIR,EAAW7jB,CAAC,EAAE,EAC5B6U,EAAOgP,EAAW7jB,CAAC,EAAE,EAAI4R,EAAQ,OAASA,EAAQ,OAAS,EAEtDpN,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAGzB,GAFAggB,EAAoB5S,EAAQpN,EAAI,CAAC,EAE7BwM,EAAcwT,EAAkB,YAAcD,EAAa,EAC7DvT,GAAewT,EAAkB,YACjCH,EAAU,EAAI,WACLrT,EAAcuT,EAAa,EAAG,CACvCF,EAAU,EAAI,GACd,KACF,MACME,EAAa,GAAKvT,GAAeuT,EAAa,GAAKvT,EAAcwT,EAAkB,aACrF,KAAK,WAAWX,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,CAAC,EAAG6f,EAAWI,EAAcH,CAAQ,EACzIA,EAAW,KAEXI,EAAU,IAAI,cAAcb,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,CAAC,GAAI+f,EAAa,EAAIvT,GAAewT,EAAkB,aAAcD,EAAa,EAAIvT,GAAewT,EAAkB,YAAa5S,EAAQpN,EAAI,CAAC,CAAC,EAClQ,KAAK,oBAAoBkgB,EAASL,EAAWI,EAAcH,CAAQ,EAEnEA,EAAW,GACXD,EAAU,EAAI,IAGhBrT,GAAewT,EAAkB,YACjCC,GAAgB,EAIpB,GAAIZ,EAAW7jB,CAAC,EAAE,GAAK4R,EAAQ,OAAQ,CAGrC,GAFA4S,EAAoB5S,EAAQpN,EAAI,CAAC,EAE7BwM,GAAeuT,EAAa,EAAG,CACjC,IAAII,EAAgB/S,EAAQpN,EAAI,CAAC,EAAE,YAE/B+f,EAAa,GAAKvT,GAAeuT,EAAa,GAAKvT,EAAc2T,GACnE,KAAK,WAAWd,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAE,CAAC,EAAG6jB,EAAW7jB,CAAC,EAAE,EAAE,CAAC,EAAGqkB,EAAWI,EAAcH,CAAQ,EACzIA,EAAW,KAEXI,EAAU,IAAI,cAAcb,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAE,CAAC,EAAG6jB,EAAW7jB,CAAC,EAAE,EAAEwE,EAAI,CAAC,EAAGqf,EAAW7jB,CAAC,EAAE,EAAE,CAAC,GAAIukB,EAAa,EAAIvT,GAAe2T,GAAgBJ,EAAa,EAAIvT,GAAe2T,EAAe/S,EAAQpN,EAAI,CAAC,CAAC,EAClO,KAAK,oBAAoBkgB,EAASL,EAAWI,EAAcH,CAAQ,EAEnEA,EAAW,GACXD,EAAU,EAAI,GAElB,MACEA,EAAU,EAAI,GAGhBrT,GAAewT,EAAkB,YACjCC,GAAgB,CAClB,CAOA,GALIJ,EAAU,UACZA,EAAU,QAAQA,EAAU,EAAE7R,CAAO,EAAE,CAAC,EAAG6R,EAAU,EAAE7R,CAAO,EAAE,CAAC,EAAG,IAAKA,CAAO,EAChF6R,EAAU,QAAQA,EAAU,EAAEA,EAAU,QAAU,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAEA,EAAU,QAAU,CAAC,EAAE,CAAC,EAAG,IAAKA,EAAU,QAAU,CAAC,GAGxHrT,EAAcuT,EAAa,EAC7B,MAGEvkB,EAAIC,EAAM,IACZokB,EAAY,UAAU,WAAW,EACjCC,EAAW,GACXjO,EAAO,KAAKgO,CAAS,EACrBI,EAAe,EAEnB,CAEA,OAAOpO,CACT,EAEA,eAAe,iBAAiB,KAAM,YAAY,EAGlD,SAAS,sBAAuB,CAAC,CAEjC,gBAAgB,CAAC,aAAa,EAAG,oBAAoB,EAErD,qBAAqB,UAAU,uBAAyB,SAAUsH,EAAMlH,EAAM,EAC3E,MAAQjX,GAAS,UAAY,MAAQA,GAAS,aAC9C,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACpF,MAAQA,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,GAAG,gBAAgB,MACzE,EAEA,qBAAqB,UAAU,YAAc,SAAU4V,EAAMsN,EAAO,CAClE,IAAIkC,EAAa,UAAU,WAAW,EACtCA,EAAW,EAAIxP,EAAK,EACpB,IAAIpV,EACAC,EAAMmV,EAAK,QACXyP,EACAC,EACAC,EACAC,EACAC,EACAC,EACA/L,EAAQ,EACRmG,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,IAAK3f,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB6kB,EAAWzP,EAAK,EAAEpV,CAAC,EACnB+kB,EAAW3P,EAAK,EAAEpV,CAAC,EACnB8kB,EAAW1P,EAAK,EAAEpV,CAAC,EAEf6kB,EAAS,CAAC,IAAME,EAAS,CAAC,GAAKF,EAAS,CAAC,IAAME,EAAS,CAAC,GAAKF,EAAS,CAAC,IAAMC,EAAS,CAAC,GAAKD,EAAS,CAAC,IAAMC,EAAS,CAAC,GACpH9kB,IAAM,GAAKA,IAAMC,EAAM,IAAM,CAACmV,EAAK,GACtCwP,EAAW,YAAYC,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGE,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAGD,EAAS,CAAC,EAAGA,EAAS,CAAC,EAAG3L,CAAK,EAK1GA,GAAS,IAELnZ,IAAM,EACRglB,EAAU5P,EAAK,EAAEnV,EAAM,CAAC,EAExB+kB,EAAU5P,EAAK,EAAEpV,EAAI,CAAC,EAGxBilB,EAAW,KAAK,KAAK,KAAK,IAAIJ,EAAS,CAAC,EAAIG,EAAQ,CAAC,EAAG,CAAC,EAAI,KAAK,IAAIH,EAAS,CAAC,EAAIG,EAAQ,CAAC,EAAG,CAAC,CAAC,EAClGE,EAAaD,EAAW,KAAK,IAAIA,EAAW,EAAGvC,CAAK,EAAIuC,EAAW,EACnEvF,EAAKmF,EAAS,CAAC,GAAKG,EAAQ,CAAC,EAAIH,EAAS,CAAC,GAAKK,EAChD5F,EAAKI,EACLC,EAAKkF,EAAS,CAAC,GAAKA,EAAS,CAAC,EAAIG,EAAQ,CAAC,GAAKE,EAChD3F,EAAKI,EACLH,EAAKF,GAAMA,EAAKuF,EAAS,CAAC,GAAK,YAC/BpF,EAAKF,GAAMA,EAAKsF,EAAS,CAAC,GAAK,YAC/BD,EAAW,YAAYtF,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIxG,CAAK,EACpDA,GAAS,EAELnZ,IAAMC,EAAM,EACd+kB,EAAU5P,EAAK,EAAE,CAAC,EAElB4P,EAAU5P,EAAK,EAAEpV,EAAI,CAAC,EAGxBilB,EAAW,KAAK,KAAK,KAAK,IAAIJ,EAAS,CAAC,EAAIG,EAAQ,CAAC,EAAG,CAAC,EAAI,KAAK,IAAIH,EAAS,CAAC,EAAIG,EAAQ,CAAC,EAAG,CAAC,CAAC,EAClGE,EAAaD,EAAW,KAAK,IAAIA,EAAW,EAAGvC,CAAK,EAAIuC,EAAW,EACnEzF,EAAKqF,EAAS,CAAC,GAAKG,EAAQ,CAAC,EAAIH,EAAS,CAAC,GAAKK,EAChD5F,EAAKE,EACLC,EAAKoF,EAAS,CAAC,GAAKG,EAAQ,CAAC,EAAIH,EAAS,CAAC,GAAKK,EAChD3F,EAAKE,EACLC,EAAKJ,GAAMA,EAAKuF,EAAS,CAAC,GAAK,YAC/BlF,EAAKJ,GAAMA,EAAKsF,EAAS,CAAC,GAAK,YAC/BD,EAAW,YAAYtF,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAIxG,CAAK,EACpDA,GAAS,IAGXyL,EAAW,YAAYxP,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGoV,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAAGmZ,CAAK,EAChHA,GAAS,GAIb,OAAOyL,CACT,EAEA,qBAAqB,UAAU,cAAgB,SAAUjB,EAAe,CACtE,IAAIE,EACA,EACA5jB,GAAO,MAAQT,GAAS,OAAO,OAC/BgF,EACAqQ,EACAsQ,GAAM,MAAQ3lB,GAAS,GAAG,EAE9B,GAAI2lB,IAAO,EAAG,CACZ,IAAI7T,EACAyS,EAEJ,IAAK,EAAI,EAAG,EAAI9jB,EAAK,GAAK,EAAG,CAI3B,GAHAqR,GAAa,MAAQ9R,GAAS,OAAO,CAAC,EACtCukB,EAAuBzS,EAAU,qBAE7B,EAAE,CAACA,EAAU,MAAM,MAAQ,EAAE,MAAQ9R,GAAS,MAAQ,CAACmkB,GAMzD,IALAI,EAAqB,cAAc,EACnCzS,EAAU,MAAM,KAAO,GACvBuS,EAAavS,EAAU,MAAM,MAAM,OACnCuD,EAAOvD,EAAU,MAAM,MAAM,QAExB9M,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzBuf,EAAqB,SAAS,KAAK,YAAYF,EAAWrf,CAAC,EAAG2gB,CAAE,CAAC,EAIrE7T,EAAU,MAAM,MAAQA,EAAU,oBACpC,CACF,EAEM,MAAQ9R,GAAS,kBAAkB,UACtC,MAAQA,GAAS,KAAO,GAE7B,EAEA,eAAe,iBAAiB,KAAM,oBAAoB,EAG1D,SAAS,wBAAyB,CAAC,CAEnC,gBAAgB,CAAC,aAAa,EAAG,sBAAsB,EAEvD,uBAAuB,UAAU,uBAAyB,SAAUme,EAAMlH,EAAM,EAC7E,MAAQjX,GAAS,UAAY,MAAQA,GAAS,aAC9C,MAAQA,GAAS,OAAS,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACxF,MAAQA,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,OAAO,gBAAgB,MAC7E,EAEA,uBAAuB,UAAU,YAAc,SAAU4V,EAAMgQ,EAAQ,CACrE,IAAIvS,EAAUuS,EAAS,IACnBC,EAAc,CAAC,EAAG,CAAC,EACnBC,EAAalQ,EAAK,QAClBpV,EAAI,EAER,IAAKA,EAAI,EAAGA,EAAIslB,EAAYtlB,GAAK,EAC/BqlB,EAAY,CAAC,GAAKjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAC7BqlB,EAAY,CAAC,GAAKjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,EAG/BqlB,EAAY,CAAC,GAAKC,EAClBD,EAAY,CAAC,GAAKC,EAClB,IAAIV,EAAa,UAAU,WAAW,EACtCA,EAAW,EAAIxP,EAAK,EACpB,IAAIkK,EACAC,EACAC,EACAC,EACAC,EACAC,EAEJ,IAAK3f,EAAI,EAAGA,EAAIslB,EAAYtlB,GAAK,EAC/Bsf,EAAKlK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK6S,EACtD0M,EAAKnK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK6S,EACtD2M,EAAKpK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK,CAAC6S,EACvD4M,EAAKrK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK,CAAC6S,EACvD6M,EAAKtK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK,CAAC6S,EACvD8M,EAAKvK,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAKqlB,EAAY,CAAC,EAAIjQ,EAAK,EAAEpV,CAAC,EAAE,CAAC,GAAK,CAAC6S,EACvD+R,EAAW,YAAYtF,EAAIC,EAAIC,EAAIC,EAAIC,EAAIC,EAAI3f,CAAC,EAGlD,OAAO4kB,CACT,EAEA,uBAAuB,UAAU,cAAgB,SAAUjB,EAAe,CACxE,IAAIE,EACA,EACA5jB,GAAO,MAAQT,GAAS,OAAO,OAC/BgF,EACAqQ,EACAuQ,GAAU,MAAQ5lB,GAAS,OAAO,EAEtC,GAAI4lB,IAAW,EAAG,CAChB,IAAI9T,EACAyS,EAEJ,IAAK,EAAI,EAAG,EAAI9jB,EAAK,GAAK,EAAG,CAI3B,GAHAqR,GAAa,MAAQ9R,GAAS,OAAO,CAAC,EACtCukB,EAAuBzS,EAAU,qBAE7B,EAAE,CAACA,EAAU,MAAM,MAAQ,EAAE,MAAQ9R,GAAS,MAAQ,CAACmkB,GAMzD,IALAI,EAAqB,cAAc,EACnCzS,EAAU,MAAM,KAAO,GACvBuS,EAAavS,EAAU,MAAM,MAAM,OACnCuD,EAAOvD,EAAU,MAAM,MAAM,QAExB9M,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzBuf,EAAqB,SAAS,KAAK,YAAYF,EAAWrf,CAAC,EAAG4gB,CAAM,CAAC,EAIzE9T,EAAU,MAAM,MAAQA,EAAU,oBACpC,CACF,EAEM,MAAQ9R,GAAS,kBAAkB,UACtC,MAAQA,GAAS,KAAO,GAE7B,EAEA,eAAe,iBAAiB,KAAM,sBAAsB,EAG5D,SAAS,kBAAmB,CAAC,CAE7B,gBAAgB,CAAC,aAAa,EAAG,gBAAgB,EAEjD,iBAAiB,UAAU,uBAAyB,SAAUme,EAAMlH,EAAM,EACvE,MAAQjX,GAAS,UAAY,MAAQA,GAAS,aAC9C,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,GAAK,yBAAyB,qBAAqBme,EAAMlH,EAAK,GAAI,MAAQjX,CAAO,GAClG,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAG,GAAI,EAAG,IAAM,MAAQjX,CAAO,GACxF,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,GAAG,GAAI,EAAG,IAAM,MAAQjX,CAAO,GACxF,MAAQA,GAAS,KAAOiX,GAEnB,MAAQjX,GAAS,kBAAkB,QACvC,KAAK,SAAS,EAAI,GAGnB,MAAQA,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,kBAAkB,QACrE,MAAQA,GAAS,QAAU,IAAI,QAC/B,MAAQA,GAAS,QAAU,IAAI,QAC/B,MAAQA,GAAS,QAAU,IAAI,QAC/B,MAAQA,GAAS,QAAU,IAAI,QAC/B,MAAQA,GAAS,OAAS,IAAI,MACjC,EAEA,iBAAiB,UAAU,gBAAkB,SAAU+lB,EAASC,EAASC,EAASvgB,EAAW6L,EAAM2U,EAAK,CACtG,IAAI/S,EAAM+S,EAAM,GAAK,EACjBC,EAASzgB,EAAU,EAAE,EAAE,CAAC,GAAK,EAAIA,EAAU,EAAE,EAAE,CAAC,IAAM,EAAI6L,GAC1D6U,EAAS1gB,EAAU,EAAE,EAAE,CAAC,GAAK,EAAIA,EAAU,EAAE,EAAE,CAAC,IAAM,EAAI6L,GAC9DwU,EAAQ,UAAUrgB,EAAU,EAAE,EAAE,CAAC,EAAIyN,EAAM5B,EAAM7L,EAAU,EAAE,EAAE,CAAC,EAAIyN,EAAM5B,EAAM7L,EAAU,EAAE,EAAE,CAAC,CAAC,EAChGsgB,EAAQ,UAAU,CAACtgB,EAAU,EAAE,EAAE,CAAC,EAAG,CAACA,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,CAAC,EACxEsgB,EAAQ,OAAO,CAACtgB,EAAU,EAAE,EAAIyN,EAAM5B,CAAI,EAC1CyU,EAAQ,UAAUtgB,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,CAAC,EACtEugB,EAAQ,UAAU,CAACvgB,EAAU,EAAE,EAAE,CAAC,EAAG,CAACA,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,CAAC,EACxEugB,EAAQ,MAAMC,EAAM,EAAIC,EAASA,EAAQD,EAAM,EAAIE,EAASA,CAAM,EAClEH,EAAQ,UAAUvgB,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,EAAGA,EAAU,EAAE,EAAE,CAAC,CAAC,CACxE,EAEA,iBAAiB,UAAU,KAAO,SAAUyY,EAAMnb,EAAK4c,EAAKyG,EAAW,CAYrE,KAXC,MAAQrmB,GAAS,KAAOme,GACxB,MAAQne,GAAS,IAAMgD,GACvB,MAAQhD,GAAS,IAAM4f,GACvB,MAAQ5f,GAAS,UAAYqmB,GAC7B,MAAQrmB,GAAS,eAAiB,GAClC,MAAQA,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,QAAU,CAAC,GAC5B,MAAQA,GAAS,QAAU,GAC5B,KAAK,6BAA6Bme,CAAI,EACtC,KAAK,uBAAuBA,EAAMnb,EAAI4c,CAAG,CAAC,EAEnCA,EAAM,GACXA,GAAO,GAEN,MAAQ5f,GAAS,UAAU,QAAQgD,EAAI4c,CAAG,CAAC,GAGzC,MAAQ5f,GAAS,kBAAkB,QACrC,MAAQA,GAAS,EAAI,GAEtB,KAAK,SAAS,EAAI,CAEtB,EAEA,iBAAiB,UAAU,cAAgB,SAAUsmB,EAAU,CAC7D,IAAI9lB,EACAC,EAAM6lB,EAAS,OAEnB,IAAK9lB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8lB,EAAS9lB,CAAC,EAAE,WAAa,GAErB8lB,EAAS9lB,CAAC,EAAE,KAAO,MACrB,KAAK,cAAc8lB,EAAS9lB,CAAC,EAAE,EAAE,CAGvC,EAEA,iBAAiB,UAAU,cAAgB,SAAU8lB,EAAU,CAC7D,IAAIC,EAAc,KAAK,MAAM,KAAK,UAAUD,CAAQ,CAAC,EACrD,YAAK,cAAcC,CAAW,EACvBA,CACT,EAEA,iBAAiB,UAAU,kBAAoB,SAAUD,EAAUE,EAAY,CAC7E,IAAI,EACA/lB,EAAM6lB,EAAS,OAEnB,IAAK,EAAI,EAAG,EAAI7lB,EAAK,GAAK,EACxB6lB,EAAS,CAAC,EAAE,QAAUE,EAElBF,EAAS,CAAC,EAAE,KAAO,MACrB,KAAK,kBAAkBA,EAAS,CAAC,EAAE,GAAIE,CAAU,CAGvD,EAEA,iBAAiB,UAAU,cAAgB,SAAUrC,EAAe,CAClE,IAAIsC,EACAC,EACAlmB,EACA2S,EACAwT,EACAC,EAAc,GAElB,IAAK,MAAQ5mB,GAAS,MAAQmkB,EAAe,CAC3C,IAAI0C,EAAS,KAAK,MAAM,MAAQ7mB,GAAS,EAAE,CAAC,EAE5C,IAAK,MAAQA,GAAS,QAAQ,OAAS6mB,EAAQ,CAC7C,MAAQ,MAAQ7mB,GAAS,QAAQ,OAAS6mB,GAAQ,CAChD,IAAIC,EAAQ,CACV,GAAI,KAAK,eAAe,MAAQ9mB,GAAS,SAAS,EAClD,GAAI,IACN,EACA8mB,EAAM,GAAG,KAAK,CACZ,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,EAAG,CAAC,CACV,EACA,GAAI,YACJ,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,GACL,EACA,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,EAAG,CAAC,CACV,EACA,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,CACF,EAAG,EACH,EAAG,EACH,EAAG,CACL,EAAG,CACD,EAAG,EACH,EAAG,EACH,EAAG,CACL,CAAC,CACH,EACA,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,IAAK,GAAG,CACd,EACA,GAAI,CACF,EAAG,EACH,GAAI,EACJ,EAAG,CACL,EACA,GAAI,CACF,EAAG,EACH,GAAI,EACJ,EAAG,CACL,EACA,GAAI,IACN,CAAC,GAEA,MAAQ9mB,GAAS,IAAI,OAAO,EAAG,EAAG8mB,CAAK,GAEvC,MAAQ9mB,GAAS,QAAQ,OAAO,EAAG,EAAG8mB,CAAK,GAE3C,MAAQ9mB,GAAS,gBAAkB,CACtC,EAEC,MAAQA,GAAS,KAAK,aAAa,EAEpC4mB,EAAc,EAChB,CAEAD,EAAO,EACP,IAAIH,EAEJ,IAAKhmB,EAAI,EAAGA,IAAM,MAAQR,GAAS,QAAQ,OAAS,EAAGQ,GAAK,EAAG,CAK7D,GAJAgmB,EAAaG,EAAOE,GACnB,MAAQ7mB,GAAS,QAAQQ,CAAC,EAAE,QAAUgmB,EACvC,KAAK,mBAAmB,MAAQxmB,GAAS,QAAQQ,CAAC,EAAE,GAAIgmB,CAAU,EAE9D,CAACA,EAAY,CACf,IAAIO,GAAS,MAAQ/mB,GAAS,UAAUQ,CAAC,EAAE,GACvCwmB,EAAgBD,EAAMA,EAAM,OAAS,CAAC,EAEtCC,EAAc,UAAU,GAAG,IAAM,GACnCA,EAAc,UAAU,GAAG,KAAO,GAClCA,EAAc,UAAU,GAAG,EAAI,GAE/BA,EAAc,UAAU,GAAG,KAAO,EAEtC,CAEAL,GAAQ,CACV,EAEC,MAAQ3mB,GAAS,eAAiB6mB,EAEnC,IAAIrkB,GAAU,MAAQxC,GAAS,EAAE,EAC7BinB,EAAezkB,EAAS,EACxB0kB,EAAc1kB,EAAS,EAAI,KAAK,MAAMA,CAAM,EAAI,KAAK,KAAKA,CAAM,EAChE2kB,GAAU,MAAQnnB,GAAS,QAAQ,MACnConB,GAAU,MAAQpnB,GAAS,QAAQ,MACnCqnB,GAAU,MAAQrnB,GAAS,QAAQ,OAEtC,MAAQA,GAAS,QAAQ,MAAM,GAE/B,MAAQA,GAAS,QAAQ,MAAM,GAE/B,MAAQA,GAAS,QAAQ,MAAM,GAE/B,MAAQA,GAAS,QAAQ,MAAM,GAE/B,MAAQA,GAAS,OAAO,MAAM,EAE/B,IAAIsnB,EAAY,EAEhB,GAAI9kB,EAAS,EAAG,CACd,KAAO8kB,EAAYJ,GACjB,KAAK,iBAAiB,MAAQlnB,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,GAAI,EAAG,EAAK,EACpIsnB,GAAa,EAGXL,IACF,KAAK,iBAAiB,MAAQjnB,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,GAAIinB,EAAc,EAAK,EAC/IK,GAAaL,EAEjB,SAAWzkB,EAAS,EAAG,CACrB,KAAO8kB,EAAYJ,GACjB,KAAK,iBAAiB,MAAQlnB,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,GAAI,EAAG,EAAI,EACnIsnB,GAAa,EAGXL,IACF,KAAK,iBAAiB,MAAQjnB,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,GAAI,CAACinB,EAAc,EAAI,EAC/IK,GAAaL,EAEjB,CAEAzmB,GAAK,MAAQR,GAAS,KAAK,IAAM,EAAI,GAAK,MAAQA,GAAS,eAAiB,EAC5EmT,GAAO,MAAQnT,GAAS,KAAK,IAAM,EAAI,EAAI,GAC3C2mB,GAAQ,MAAQ3mB,GAAS,eAIzB,QAHIgF,EACAqQ,EAEGsR,GAAM,CAQX,GAPAF,GAAS,MAAQzmB,GAAS,UAAUQ,CAAC,EAAE,GACvCkmB,EAAiBD,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,OAAO,EAAE,MAC5DpR,EAAOqR,EAAe,OACtBD,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,OAAO,KAAO,GAChDA,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,GAAG,KAAO,GAC5CA,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,GAAG,GAAK,MAAQzmB,GAAS,iBAAmB,GAAK,MAAQA,GAAS,GAAG,GAAK,MAAQA,GAAS,GAAG,IAAM,MAAQA,GAAS,GAAG,GAAK,MAAQA,GAAS,GAAG,IAAMQ,IAAM,MAAQR,GAAS,eAAiB,IAE7NsnB,IAAc,EAAG,CAWnB,KAVI9mB,IAAM,GAAK2S,IAAQ,GAAK3S,KAAO,MAAQR,GAAS,eAAiB,GAAKmT,IAAQ,KAChF,KAAK,iBAAiB,MAAQnT,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,SAAU,MAAQA,GAAS,GAAI,EAAG,EAAK,GAGrI,MAAQA,GAAS,OAAO,UAAUonB,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,CAAC,GAEtN,MAAQpnB,GAAS,OAAO,UAAUqnB,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,CAAC,GAEtN,MAAQrnB,GAAS,OAAO,UAAUmnB,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,CAAC,EAElNniB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB0hB,EAAe1hB,CAAC,GAAK,MAAQhF,GAAS,OAAO,MAAMgF,CAAC,GAGrD,MAAQhF,GAAS,OAAO,MAAM,CACjC,KAGE,MAFC,MAAQA,GAAS,OAAO,MAAM,EAE1BgF,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB0hB,EAAe1hB,CAAC,GAAK,MAAQhF,GAAS,OAAO,MAAMgF,CAAC,EAIxDsiB,GAAa,EACbX,GAAQ,EACRnmB,GAAK2S,CACP,CACF,KAKE,KAJAwT,GAAQ,MAAQ3mB,GAAS,eACzBQ,EAAI,EACJ2S,EAAM,EAECwT,GACLF,GAAS,MAAQzmB,GAAS,UAAUQ,CAAC,EAAE,GACvCkmB,EAAiBD,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,OAAO,EAAE,MAC5DA,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,OAAO,KAAO,GAChDA,EAAMA,EAAM,OAAS,CAAC,EAAE,UAAU,GAAG,KAAO,GAC5CE,GAAQ,EACRnmB,GAAK2S,EAIT,OAAOyT,CACT,EAEA,iBAAiB,UAAU,SAAW,UAAY,CAAC,EAEnD,eAAe,iBAAiB,KAAM,gBAAgB,EAGtD,SAAS,iBAAkB,EACxB,MAAQ5mB,GAAS,QAAU,GAC3B,MAAQA,GAAS,WAAa,GAC9B,MAAQA,GAAS,OAAS,kBAAkB,MAAQA,GAAS,UAAU,CAC1E,CAEA,gBAAgB,UAAU,SAAW,SAAU8R,EAAW,EACnD,MAAQ9R,GAAS,WAAa,MAAQA,GAAS,cACjD,MAAQA,GAAS,QAAU,MAAQA,GAAS,OAAO,OAAO,kBAAkB,MAAQA,GAAS,UAAU,CAAC,GACxG,MAAQA,GAAS,YAAc,IAGjC,MAAQA,GAAS,QAAQ,MAAQA,GAAS,OAAO,EAAI8R,GACrD,MAAQ9R,GAAS,SAAW,CAC/B,EAEA,gBAAgB,UAAU,cAAgB,UAAY,CACpD,IAAIQ,EAEJ,IAAKA,EAAI,EAAGA,GAAK,MAAQR,GAAS,QAASQ,GAAK,EAC9C,UAAU,SAAS,MAAQR,GAAS,OAAOQ,CAAC,CAAC,GAG9C,MAAQR,GAAS,QAAU,CAC9B,EAIA,SAAS,aAAame,EAAMlH,EAAMsQ,EAAUnkB,EAAW,EACpD,MAAQpD,GAAS,KAAOme,GACxB,MAAQne,GAAS,QAAU,IAC3B,MAAQA,GAAS,UAAY,iBAAiBiX,EAAK,MAAM,GACzD,MAAQjX,GAAS,SAAWunB,GAC5B,MAAQvnB,GAAS,EAAI,IACrB,MAAQA,GAAS,QAAU,IAC3B,MAAQA,GAAS,UAAY,iBAAiB,UAAWiX,EAAK,OAASA,EAAK,OAAS,EAAI,CAAC,GAC1F,MAAQjX,GAAS,WAAa,iBAAiB,UAAW,CAAC,EAC5D,KAAK,6BAA6BoD,CAAS,EAC3C,IAAI5C,EACAC,EAAMwW,EAAK,QAAU,EACrB9T,EAEJ,IAAK3C,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB2C,EAAO,gBAAgB,QAAQgb,EAAMlH,EAAKzW,CAAC,EAAE,EAAG,EAAG,EAAG,MAAQR,CAAO,GACpE,MAAQA,GAAS,EAAImD,EAAK,IAAM,MAAQnD,GAAS,GACjD,MAAQA,GAAS,UAAUQ,CAAC,EAAI,CAC/B,EAAGyW,EAAKzW,CAAC,EAAE,EACX,EAAG2C,CACL,GAGI,MAAQnD,GAAS,GACrB,KAAK,SAAS,EAAI,GAGnB,MAAQA,GAAS,aAAe,MAAQA,GAAS,CACpD,CAEA,aAAa,UAAU,SAAW,SAAUif,EAAa,CACvD,GAAK,SAAQjf,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,SAAW,CAACif,MAI/E,MAAQjf,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAC7B,MAAQA,GAAS,MAAQ,MAAQA,GAAS,MAAQif,GAE9C,MAAQjf,GAAS,MAAM,CAC1B,IAAIQ,EAAI,EACJC,GAAO,MAAQT,GAAS,UAAU,OAMtC,KAJK,MAAQA,GAAS,WAAa,SAChC,MAAQA,GAAS,QAAU,IAGzBQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACnB,MAAQR,GAAS,UAAUQ,CAAC,EAAE,IAAM,KAClC,MAAQR,GAAS,WAAa,OAChC,MAAQA,GAAS,SAAW,KAAO,MAAQA,GAAS,UAAUQ,CAAC,EAAE,EAAE,GAEnE,MAAQR,GAAS,UAAUQ,CAAC,GAAK,MAAQR,GAAS,UAAUQ,CAAC,EAAE,EAAE,GAGnE,MAAQR,GAAS,WAAW,CAAC,GAAK,MAAQA,GAAS,UAAUQ,CAAC,EAAE,EAAE,CAGzE,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,YAAY,EAGxD,SAAS,iBAAiB2d,EAAMlH,EAAM7T,EAAW,EAC9C,MAAQpD,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,EAAI,iBAAiB,SAAUiX,EAAK,EAAI,CAAC,EAC3D,IAAIuQ,EAAUvQ,EAAK,EAAE,EAAE,CAAC,EAAE,EAAIA,EAAK,EAAE,EAAE,CAAC,EAAE,EAAE,OAASA,EAAK,EAAI,EAAIA,EAAK,EAAE,EAAE,OAASA,EAAK,EAAI,GAC5F,MAAQjX,GAAS,EAAI,iBAAiB,UAAWwnB,CAAO,GACxD,MAAQxnB,GAAS,MAAQ,IACzB,MAAQA,GAAS,MAAQ,IACzB,MAAQA,GAAS,aAAe,KAAK,iBAAiB,GACtD,MAAQA,GAAS,YAAcwnB,EAChC,KAAK,6BAA6BpkB,CAAS,GAC1C,MAAQpD,GAAS,KAAO,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACtF,MAAQA,GAAS,GAAK,MAAQA,GAAS,KAAK,EAC7C,KAAK,SAAS,EAAI,CACpB,CAEA,iBAAiB,UAAU,cAAgB,SAAUmd,EAAQtO,EAAQ,CAKnE,QAJI,EAAI,EACJpO,GAAO,MAAQT,GAAS,EAAE,OAAS,EACnCynB,EAEG,EAAIhnB,GAAK,CAGd,GAFAgnB,EAAO,KAAK,IAAItK,EAAO,EAAI,CAAC,EAAIA,EAAOtO,EAAS,EAAI,EAAI,CAAC,CAAC,EAEtD4Y,EAAO,IACT,MAAO,GAGT,GAAK,CACP,CAEA,MAAO,EACT,EAEA,iBAAiB,UAAU,iBAAmB,UAAY,CACxD,IAAK,MAAQznB,GAAS,EAAE,OAAS,KAAO,MAAQA,GAAS,EAAE,OAAS,EAClE,MAAO,GAGT,IAAK,MAAQA,GAAS,KAAK,EAAE,EAAE,CAAC,EAAE,EAIhC,QAHIQ,EAAI,EACJC,GAAO,MAAQT,GAAS,KAAK,EAAE,EAAE,OAE9BQ,EAAIC,GAAK,CACd,GAAI,CAAC,KAAK,eAAe,MAAQT,GAAS,KAAK,EAAE,EAAEQ,CAAC,EAAE,GAAI,MAAQR,GAAS,KAAK,CAAC,EAC/E,MAAO,GAGTQ,GAAK,CACP,SACS,CAAC,KAAK,eAAe,MAAQR,GAAS,KAAK,EAAE,GAAI,MAAQA,GAAS,KAAK,CAAC,EACjF,MAAO,GAGT,MAAO,EACT,EAEA,iBAAiB,UAAU,SAAW,SAAUif,EAAa,CAO3D,IANC,MAAQjf,GAAS,KAAK,SAAS,GAE/B,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,MAAQ,IACzB,MAAQA,GAAS,MAAQ,IAErB,MAAQA,GAAS,KAAK,MAAQif,EAAa,CAC9C,IAAIze,EACAC,GAAO,MAAQT,GAAS,KAAK,EAAI,EACjCoe,EACA1d,EAEJ,IAAKF,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB4d,EAAO5d,EAAI,IAAM,EAAI,IAAM,IAC3BE,EAAM,KAAK,OAAO,MAAQV,GAAS,KAAK,EAAEQ,CAAC,EAAI4d,CAAI,GAE9C,MAAQpe,GAAS,EAAEQ,CAAC,IAAME,KAC5B,MAAQV,GAAS,EAAEQ,CAAC,EAAIE,GACxB,MAAQV,GAAS,MAAQ,CAACif,GAI/B,IAAK,MAAQjf,GAAS,EAAE,OAGtB,IAFAS,GAAO,MAAQT,GAAS,KAAK,EAAE,OAE1BQ,GAAK,MAAQR,GAAS,KAAK,EAAI,EAAGQ,EAAIC,EAAKD,GAAK,EACnD4d,EAAO5d,EAAI,IAAM,EAAI,IAAM,EAC3BE,EAAMF,EAAI,IAAM,EAAI,KAAK,OAAO,MAAQR,GAAS,KAAK,EAAEQ,CAAC,EAAI,GAAG,GAAK,MAAQR,GAAS,KAAK,EAAEQ,CAAC,GAEzF,MAAQR,GAAS,EAAEQ,GAAK,MAAQR,GAAS,KAAK,EAAI,CAAC,IAAMU,KAC3D,MAAQV,GAAS,EAAEQ,GAAK,MAAQR,GAAS,KAAK,EAAI,CAAC,EAAIU,GACvD,MAAQV,GAAS,MAAQ,CAACif,IAKhC,MAAQjf,GAAS,KAAO,CAACif,CAC5B,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,gBAAgB,EAG5D,IAAI,iBAAmB,SAAUyI,EAAWnV,EAAQP,EAAQ8M,EAAK,CAC/D,GAAIvM,IAAW,EACb,MAAO,GAGT,IAAIoV,EAAKD,EAAU,EACfE,EAAKF,EAAU,EACf5F,EAAK4F,EAAU,EACflnB,EACAqnB,EAAc,KAAO/I,EAAI,wBAAwBgD,EAAG,CAAC,EAAE,CAAC,EAAGA,EAAG,CAAC,EAAE,CAAC,CAAC,EAEvE,IAAKthB,EAAI,EAAGA,EAAI+R,EAAQ/R,GAAK,EAC3BqnB,GAAe,KAAO/I,EAAI,wBAAwB6I,EAAGnnB,EAAI,CAAC,EAAE,CAAC,EAAGmnB,EAAGnnB,EAAI,CAAC,EAAE,CAAC,CAAC,EAAI,IAAMse,EAAI,wBAAwB8I,EAAGpnB,CAAC,EAAE,CAAC,EAAGonB,EAAGpnB,CAAC,EAAE,CAAC,CAAC,EAAI,IAAMse,EAAI,wBAAwBgD,EAAGthB,CAAC,EAAE,CAAC,EAAGshB,EAAGthB,CAAC,EAAE,CAAC,CAAC,EAG9L,OAAIwR,GAAUO,IACZsV,GAAe,KAAO/I,EAAI,wBAAwB6I,EAAGnnB,EAAI,CAAC,EAAE,CAAC,EAAGmnB,EAAGnnB,EAAI,CAAC,EAAE,CAAC,CAAC,EAAI,IAAMse,EAAI,wBAAwB8I,EAAG,CAAC,EAAE,CAAC,EAAGA,EAAG,CAAC,EAAE,CAAC,CAAC,EAAI,IAAM9I,EAAI,wBAAwBgD,EAAG,CAAC,EAAE,CAAC,EAAGA,EAAG,CAAC,EAAE,CAAC,CAAC,EAC5L+F,GAAe,KAGVA,CACT,EAMI,uBAAyB,UAAY,CACvC,SAASC,EAAgBC,EAAc,EACpC,MAAQ/nB,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,aAAe+nB,GAChC,MAAQ/nB,GAAS,QAAU,GAC3B,MAAQA,GAAS,SAAW,EAC/B,CAEA,OAAA8nB,EAAgB,UAAY,CAC1B,SAAU,SAAUE,EAAO,EACxB,MAAQhoB,GAAS,OAAO,KAAKgoB,CAAK,CACrC,EACA,MAAO,UAAY,CACjB,IAAIxnB,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,MAAM,CAEtC,EACA,OAAQ,UAAY,CAClB,IAAIA,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,OAAO,CAEvC,EACA,QAAS,SAAUynB,EAAW,CAC5B,IAAI,EACAxnB,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAIS,EAAK,GAAK,GACvB,MAAQT,GAAS,OAAO,CAAC,EAAE,QAAQioB,CAAS,CAEjD,EACA,YAAa,SAAUC,EAAW,CAChC,OAAK,MAAQloB,GAAS,aACb,KAAK,aAAakoB,CAAS,EAGhC,KACK,IAAI,KAAK,CACd,IAAK,CAACA,CAAS,CACjB,CAAC,EAGI,CACL,UAAW,GACX,KAAM,UAAY,EACf,MAAQloB,GAAS,UAAY,EAChC,EACA,KAAM,UAAY,EACf,MAAQA,GAAS,UAAY,EAChC,EACA,QAAS,UAAY,CAAC,EACtB,KAAM,UAAY,CAAC,EACnB,UAAW,UAAY,CAAC,CAC1B,CACF,EACA,gBAAiB,SAAU+nB,EAAc,EACtC,MAAQ/nB,GAAS,aAAe+nB,CACnC,EACA,UAAW,SAAU9kB,EAAO,EACzB,MAAQjD,GAAS,QAAUiD,EAE5B,KAAK,cAAc,CACrB,EACA,KAAM,UAAY,EACf,MAAQjD,GAAS,SAAW,GAE7B,KAAK,cAAc,CACrB,EACA,OAAQ,UAAY,EACjB,MAAQA,GAAS,SAAW,GAE7B,KAAK,cAAc,CACrB,EACA,UAAW,UAAY,CACrB,OAAQ,MAAQA,GAAS,OAC3B,EACA,cAAe,UAAY,CACzB,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,QAAQ,MAAQR,GAAS,UAAY,MAAQA,GAAS,SAAW,EAAI,EAAE,CAEvG,CACF,EACO,UAAY,CACjB,OAAO,IAAI8nB,CACb,CACF,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAIK,EAAa,UAAY,CAC3B,IAAIC,EAAS,UAAU,QAAQ,EAC/BA,EAAO,MAAQ,EACfA,EAAO,OAAS,EAChB,IAAIC,EAAMD,EAAO,WAAW,IAAI,EAChC,OAAAC,EAAI,UAAY,gBAChBA,EAAI,SAAS,EAAG,EAAG,EAAG,CAAC,EAChBD,CACT,EAAE,EAEF,SAASE,GAAc,EACpB,MAAQtoB,GAAS,cAAgB,GAE7B,MAAQA,GAAS,gBAAkB,MAAQA,GAAS,cAAgB,MAAQA,GAAS,uBAAyB,MAAQA,GAAS,gBAC7H,MAAQA,GAAS,gBACpB,KAAK,eAAe,IAAI,CAG9B,CAEA,SAASuoB,GAAgB,EACtB,MAAQvoB,GAAS,qBAAuB,GAEpC,MAAQA,GAAS,gBAAkB,MAAQA,GAAS,cAAgB,MAAQA,GAAS,uBAAyB,MAAQA,GAAS,gBAC7H,MAAQA,GAAS,gBACpB,KAAK,eAAe,IAAI,CAG9B,CAEA,SAASwoB,EAAcC,EAAWC,EAAYC,EAAc,CAC1D,IAAI/S,EAAO,GAEX,GAAI6S,EAAU,EACZ7S,EAAO6S,EAAU,UACRC,EAAY,CACrB,IAAIE,EAAYH,EAAU,EAEtBG,EAAU,QAAQ,SAAS,IAAM,KACnCA,EAAYA,EAAU,MAAM,GAAG,EAAE,CAAC,GAGpChT,EAAO8S,EAAaE,CACtB,MACEhT,EAAO+S,EACP/S,GAAQ6S,EAAU,EAAIA,EAAU,EAAI,GACpC7S,GAAQ6S,EAAU,EAGpB,OAAO7S,CACT,CAEA,SAASiT,EAAgBC,EAAK,CAC5B,IAAIrnB,EAAS,EACTsnB,EAAa,YAAY,UAAY,CACvC,IAAIC,EAAMF,EAAI,QAAQ,GAElBE,EAAI,OAASvnB,EAAS,OACxB,KAAK,aAAa,EAElB,cAAcsnB,CAAU,GAG1BtnB,GAAU,CACZ,EAAE,KAAK,MAAQzB,CAAO,EAAG,EAAE,CAC7B,CAEA,SAASipB,EAAgBR,EAAW,CAClC,IAAI7S,EAAO4S,EAAcC,GAAY,MAAQzoB,GAAS,YAAa,MAAQA,GAAS,IAAI,EACpF8oB,EAAM,SAAS,OAAO,EAEtB,SACF,KAAK,gBAAgBA,CAAG,EAExBA,EAAI,iBAAiB,QAAS,MAAQ9oB,GAAS,aAAc,EAAK,EAGpE8oB,EAAI,iBAAiB,QAAS,UAAY,CACxClc,EAAG,IAAMub,EAET,KAAK,aAAa,CACpB,EAAE,KAAK,MAAQnoB,CAAO,EAAG,EAAK,EAC9B8oB,EAAI,eAAe,+BAAgC,OAAQlT,CAAI,GAE1D,MAAQ5V,GAAS,eAAe,QAClC,MAAQA,GAAS,eAAe,OAAO8oB,CAAG,GAE1C,MAAQ9oB,GAAS,eAAe,YAAY8oB,CAAG,EAGlD,IAAIlc,EAAK,CACP,IAAKkc,EACL,UAAWL,CACb,EACA,OAAO7b,CACT,CAEA,SAASsc,EAAcT,EAAW,CAChC,IAAI7S,EAAO4S,EAAcC,GAAY,MAAQzoB,GAAS,YAAa,MAAQA,GAAS,IAAI,EACpF8oB,EAAM,UAAU,KAAK,EACzBA,EAAI,YAAc,YAClBA,EAAI,iBAAiB,QAAS,MAAQ9oB,GAAS,aAAc,EAAK,EAClE8oB,EAAI,iBAAiB,QAAS,UAAY,CACxClc,EAAG,IAAMub,EAET,KAAK,aAAa,CACpB,EAAE,KAAK,MAAQnoB,CAAO,EAAG,EAAK,EAC9B8oB,EAAI,IAAMlT,EACV,IAAIhJ,EAAK,CACP,IAAKkc,EACL,UAAWL,CACb,EACA,OAAO7b,CACT,CAEA,SAASuc,EAAkBlS,EAAM,CAC/B,IAAIrK,EAAK,CACP,UAAWqK,CACb,EACIrB,EAAO4S,EAAcvR,GAAO,MAAQjX,GAAS,YAAa,MAAQA,GAAS,IAAI,EACnF,mBAAY,KAAK4V,EAAM,SAAUwT,EAAa,CAC5Cxc,EAAG,IAAMwc,EAET,KAAK,eAAe,CACtB,EAAE,KAAK,MAAQppB,CAAO,EAAG,UAAY,CACnC4M,EAAG,IAAM,CAAC,EAEV,KAAK,eAAe,CACtB,EAAE,KAAK,MAAQ5M,CAAO,CAAC,EAChB4M,CACT,CAEA,SAASyc,EAAWC,EAAQC,EAAI,EAC7B,MAAQvpB,GAAS,eAAiBupB,EACnC,IAAI/oB,EACAC,EAAM6oB,EAAO,OAEjB,IAAK9oB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACnB8oB,EAAO9oB,CAAC,EAAE,SACR8oB,EAAO9oB,CAAC,EAAE,EAIJ8oB,EAAO9oB,CAAC,EAAE,IAAM,KACxB,MAAQR,GAAS,eAAiB,GAElC,MAAQA,GAAS,OAAO,KAAK,KAAK,kBAAkBspB,EAAO9oB,CAAC,CAAC,CAAC,KAN9D,MAAQR,GAAS,aAAe,GAEhC,MAAQA,GAAS,OAAO,KAAK,KAAK,iBAAiBspB,EAAO9oB,CAAC,CAAC,CAAC,GAQtE,CAEA,SAASgpB,EAAQ5T,EAAM,EACpB,MAAQ5V,GAAS,KAAO4V,GAAQ,EACnC,CAEA,SAAS6T,EAAc7T,EAAM,EAC1B,MAAQ5V,GAAS,WAAa4V,GAAQ,EACzC,CAEA,SAAS8T,EAASjB,EAAW,CAI3B,QAHIjoB,EAAI,EACJC,GAAO,MAAQT,GAAS,OAAO,OAE5BQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,OAAOQ,CAAC,EAAE,YAAcioB,EAC5C,OAAQ,MAAQzoB,GAAS,OAAOQ,CAAC,EAAE,IAGrCA,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAASmpB,GAAU,EAChB,MAAQ3pB,GAAS,eAAiB,MAClC,MAAQA,GAAS,OAAO,OAAS,CACpC,CAEA,SAAS4pB,GAAe,CACtB,OAAQ,MAAQ5pB,GAAS,eAAiB,MAAQA,GAAS,YAC7D,CAEA,SAAS6pB,GAAiB,CACxB,OAAQ,MAAQ7pB,GAAS,iBAAmB,MAAQA,GAAS,mBAC/D,CAEA,SAAS8pB,EAAa/oB,EAAMgpB,EAAe,CACrChpB,IAAS,QACV,MAAQf,GAAS,eAAiB+pB,GAClC,MAAQ/pB,GAAS,kBAAoB,MAAQA,GAAS,gBAAgB,KAAK,MAAQA,CAAO,IAE1F,MAAQA,GAAS,kBAAoB,MAAQA,GAAS,cAAc,KAAK,MAAQA,CAAO,CAE7F,CAEA,SAASgqB,GAAwB,EAC9B,MAAQhqB,GAAS,aAAesoB,EAAY,KAAK,MAAQtoB,CAAO,GAChE,MAAQA,GAAS,eAAiBuoB,EAAc,KAAK,MAAQvoB,CAAO,GACpE,MAAQA,GAAS,gBAAkB6oB,EAAgB,KAAK,MAAQ7oB,CAAO,GACvE,MAAQA,GAAS,kBAAoBmpB,EAAkB,KAAK,MAAQnpB,CAAO,GAC3E,MAAQA,GAAS,WAAa,IAC9B,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,YAAc,GAC/B,MAAQA,GAAS,cAAgB,GACjC,MAAQA,GAAS,aAAe,GAChC,MAAQA,GAAS,oBAAsB,GACvC,MAAQA,GAAS,eAAiB,MAClC,MAAQA,GAAS,OAAS,CAAC,CAC9B,CAEA,OAAAgqB,EAAsB,UAAY,CAChC,WAAYX,EACZ,cAAeI,EACf,QAASD,EACT,aAAcI,EACd,eAAgBC,EAChB,QAASF,EACT,SAAUD,EACV,cAAeR,EACf,gBAAiBD,EACjB,YAAaX,EACb,cAAeC,EACf,aAAcuB,CAChB,EACOE,CACT,EAAE,EAIE,eAAiB,UAAY,CAC/B,IAAIpd,EAAK,CACP,SAAU,EACZ,EAEA,OAAI,WAAW,KAAKzM,EAAU,SAAS,GAAK,UAAU,KAAKA,EAAU,SAAS,GAAK,WAAW,KAAKA,EAAU,SAAS,GAAK,aAAa,KAAKA,EAAU,SAAS,KAC9JyM,EAAG,SAAW,IAGTA,CACT,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAIA,EAAK,CAAC,EACVA,EAAG,aAAeqd,EAClBrd,EAAG,6BAA+Bsd,EAElC,SAASD,EAAaE,EAAOC,EAAiB,CAC5C,IAAIC,EAAM,SAAS,QAAQ,EAC3B,OAAAA,EAAI,aAAa,KAAMF,CAAK,EAExBC,IAAoB,KACtBC,EAAI,aAAa,cAAe,mBAAmB,EACnDA,EAAI,aAAa,IAAK,IAAI,EAC1BA,EAAI,aAAa,IAAK,IAAI,EAC1BA,EAAI,aAAa,QAAS,MAAM,EAChCA,EAAI,aAAa,SAAU,MAAM,GAG5BA,CACT,CAEA,SAASH,GAA+B,CACtC,IAAII,EAAgB,SAAS,eAAe,EAC5C,OAAAA,EAAc,aAAa,OAAQ,QAAQ,EAC3CA,EAAc,aAAa,8BAA+B,MAAM,EAChEA,EAAc,aAAa,SAAU,4CAA4C,EAC1EA,CACT,CAEA,OAAO1d,CACT,EAAE,EAIE,YAAc,UAAY,CAC5B,SAAS2d,EAAeC,EAAK,CAC3B,OAAIA,EAAI,UAAY,OAAOA,EAAI,UAAa,SACnCA,EAAI,SAGTA,EAAI,UAAY,OAAOA,EAAI,UAAa,SACnC,KAAK,MAAMA,EAAI,QAAQ,EAG5BA,EAAI,aACC,KAAK,MAAMA,EAAI,YAAY,EAG7B,IACT,CAEA,SAASC,EAAU7U,EAAM9S,EAAU4nB,EAAe,CAChD,IAAIC,EACAH,EAAM,IAAI,eAEd,GAAI,CAEFA,EAAI,aAAe,MACrB,MAAc,CAAC,CAGfA,EAAI,mBAAqB,UAAY,CACnC,GAAIA,EAAI,aAAe,EACrB,GAAIA,EAAI,SAAW,IACjBG,EAAWJ,EAAeC,CAAG,EAC7B1nB,EAAS6nB,CAAQ,MAEjB,IAAI,CACFA,EAAWJ,EAAeC,CAAG,EAC7B1nB,EAAS6nB,CAAQ,CACnB,OAASC,EAAK,CACRF,GACFA,EAAcE,CAAG,CAErB,CAGN,EAEAJ,EAAI,KAAK,MAAO5U,EAAM,EAAI,EAC1B4U,EAAI,KAAK,CACX,CAEA,MAAO,CACL,KAAMC,CACR,CACF,EAAE,EAKF,SAAS,qBAAqBI,EAAUC,EAAY3M,EAAM,EACvD,MAAQne,GAAS,cAAgB,IACjC,MAAQA,GAAS,eAAiB,IAClC,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,UAAY6qB,GAC7B,MAAQ7qB,GAAS,YAAc8qB,GAC/B,MAAQ9qB,GAAS,MAAQme,GACzB,MAAQne,GAAS,eAAiB,kBAAkB,MAAQA,GAAS,UAAU,EAAE,MAAM,GACvF,MAAQA,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,aAAe,CAC/B,UAAW,CAAC,CACd,GACC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,mBAAqB,GACvC,KAAK,6BAA6Bme,CAAI,CACxC,CAEA,qBAAqB,UAAU,iBAAmB,UAAY,CAC5D,IAAI3d,EACAC,GAAO,MAAQT,GAAS,UAAU,EAAE,OACpC+qB,EACApM,EAAU,gBAAgB,QAE9B,IAAKne,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBuqB,GAAiB,MAAQ/qB,GAAS,UAAU,EAAEQ,CAAC,GAC9C,MAAQR,GAAS,eAAeQ,CAAC,EAAI,IAAI,0BAA0B,MAAQR,GAAS,MAAO+qB,EAAe,MAAQ/qB,CAAO,GAGvH,MAAQA,GAAS,UAAU,GAAK,MAAQ,MAAQA,GAAS,UAAU,IACrE,MAAQA,GAAS,UAAY,CAC5B,EAAG2e,GAAS,MAAQ3e,GAAS,OAAQ,MAAQA,GAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQA,CAAO,EAC1F,EAAG2e,GAAS,MAAQ3e,GAAS,OAAQ,MAAQA,GAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQA,CAAO,EAC1F,GAAI,MAAQA,GAAS,UAAU,EAAE,EACjC,GAAI,MAAQA,GAAS,MAAM,YAAY,iBAAiB,MAAQA,GAAS,UAAU,EAAE,CAAC,CACxF,GACC,MAAQA,GAAS,eAAiB,KAElC,MAAQA,GAAS,eAAiB,IAGpC,MAAQA,GAAS,aAAa,UAAY2e,GAAS,MAAQ3e,GAAS,OAAQ,MAAQA,GAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQA,CAAO,CACpI,EAEA,qBAAqB,UAAU,YAAc,SAAUqW,EAAc2U,EAAoB,CAGvF,IAFC,MAAQhrB,GAAS,mBAAqBgrB,EAEnC,IAAE,MAAQhrB,GAAS,MAAQ,EAAE,MAAQA,GAAS,eAAiB,CAACgrB,IAAuB,EAAE,MAAQhrB,GAAS,gBAAkB,EAAE,MAAQA,GAAS,UAAU,EAAE,OAI/J,EAAC,MAAQA,GAAS,cAAgB,GAClC,IAAIirB,GAAa,MAAQjrB,GAAS,aAAa,UAAU,EACrDkrB,GAAa,MAAQlrB,GAAS,eAC9B6qB,GAAY,MAAQ7qB,GAAS,UAC7BmrB,GAAgB,MAAQnrB,GAAS,QACjC8qB,GAAc,MAAQ9qB,GAAS,YAC/BorB,GAAwB,MAAQprB,GAAS,gBAAgB,OACzDqrB,EACAC,EACA9qB,EACAC,EACA8qB,EAAUlV,EAAa,EACvBmV,EACAC,EACAC,EACAvG,EACAtkB,EACA8qB,EACAC,EACAC,EACAhd,EACAgV,EACAiI,EACAzZ,EACAd,EACAwa,EACAhhB,EAEJ,IAAK,MAAQ/K,GAAS,eAAgB,CAGpC,GAFA+K,GAAQ,MAAQ/K,GAAS,UAAU,EAE/B,EAAE,MAAQA,GAAS,UAAU,IAAM,MAAQA,GAAS,UAAU,KAAM,CACtE,IAAI0W,EAAQ3L,EAAK,GAEZ,MAAQ/K,GAAS,UAAU,IAC9B0W,EAAQA,EAAM,QAAQ,GAIxB8U,EAAW,CACT,QAAS,EACT,SAAU,CAAC,CACb,EACA/qB,EAAMiW,EAAM,QAAU,EACtB,IAAI7D,EAGJ,IAFAR,EAAc,EAET7R,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqS,EAAa,IAAI,gBAAgB6D,EAAM,EAAElW,CAAC,EAAGkW,EAAM,EAAElW,EAAI,CAAC,EAAG,CAACkW,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAGkW,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,CAAC,EAAE,CAAC,CAAC,EAAG,CAACkW,EAAM,EAAElW,EAAI,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,EAAI,CAAC,EAAE,CAAC,EAAGkW,EAAM,EAAElW,EAAI,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,EAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAC3MgrB,EAAS,SAAW3Y,EAAW,cAC/B2Y,EAAS,SAAS,KAAK3Y,CAAU,EACjCR,GAAeQ,EAAW,cAG5BrS,EAAIC,EAEAsK,EAAK,EAAE,IACT8H,EAAa,IAAI,gBAAgB6D,EAAM,EAAElW,CAAC,EAAGkW,EAAM,EAAE,CAAC,EAAG,CAACA,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAGkW,EAAM,EAAElW,CAAC,EAAE,CAAC,EAAIkW,EAAM,EAAElW,CAAC,EAAE,CAAC,CAAC,EAAG,CAACkW,EAAM,EAAE,CAAC,EAAE,CAAC,EAAIA,EAAM,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAM,EAAE,CAAC,EAAE,CAAC,EAAIA,EAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EACvL8U,EAAS,SAAW3Y,EAAW,cAC/B2Y,EAAS,SAAS,KAAK3Y,CAAU,EACjCR,GAAeQ,EAAW,gBAG3B,MAAQ7S,GAAS,UAAU,GAAKwrB,CACnC,CAUA,GARAA,GAAY,MAAQxrB,GAAS,UAAU,GACvCyrB,GAAiB,MAAQzrB,GAAS,UAAU,EAAE,EAC9C4rB,EAAa,EACbD,EAAW,EACXxG,EAAgB,EAChBtkB,EAAO,GACPgjB,EAAW2H,EAAS,SAEhBC,EAAgB,GAAK1gB,EAAK,EAAE,EAS9B,IARIygB,EAAS,QAAU,KAAK,IAAIC,CAAa,IAC3CA,EAAgB,CAAC,KAAK,IAAIA,CAAa,EAAID,EAAS,SAGtDI,EAAa/H,EAAS,OAAS,EAC/BhV,EAASgV,EAAS+H,CAAU,EAAE,OAC9BD,EAAW9c,EAAO,OAAS,EAEpB4c,EAAgB,GACrBA,GAAiB5c,EAAO8c,CAAQ,EAAE,cAClCA,GAAY,EAERA,EAAW,IACbC,GAAc,EACd/c,EAASgV,EAAS+H,CAAU,EAAE,OAC9BD,EAAW9c,EAAO,OAAS,GAKjCA,EAASgV,EAAS+H,CAAU,EAAE,OAC9BC,EAAYhd,EAAO8c,EAAW,CAAC,EAC/BD,EAAe7c,EAAO8c,CAAQ,EAC9BG,EAAgBJ,EAAa,aAC/B,CAEAjrB,EAAM8qB,EAAQ,OACdF,EAAO,EACPC,EAAO,EACP,IAAIU,EAAO3V,EAAa,UAAY,IAAM,KACtC4V,EAAY,GACZlB,EACAmB,EACAlnB,EACAqQ,EACA8W,EACJ9W,EAAO6V,EAAU,OACjB,IAAI9M,EACAlD,EAAM,GACNkR,EACAC,EACAC,EACAC,GAAcd,EACde,GAAiBZ,EACjBa,GAAed,EACfe,GAAc,GACdC,GACA1T,GACA2T,GACAC,EACA5nB,GACA6nB,GACAC,GACAC,GACAC,GAAU,GACVC,IAAW,MAAQltB,GAAS,kBAC5BmtB,GAEJ,GAAI9W,EAAa,IAAM,GAAKA,EAAa,IAAM,EAAG,CAChD,IAAI+W,GAAwB,EACxBC,GAA0B,EAC1BC,GAAoBjX,EAAa,IAAM,EAAI,IAAO,GAClDkX,GAAY,EACZC,GAAY,GAEhB,IAAKhtB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI+qB,EAAQ/qB,CAAC,EAAE,EAAG,CAKhB,IAJI4sB,KACFA,IAAyBC,IAGpBE,GAAY/sB,GACjB+qB,EAAQgC,EAAS,EAAE,sBAAwBH,GAC3CG,IAAa,EAGfH,GAAwB,EACxBI,GAAY,EACd,KAAO,CACL,IAAKxoB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WACdyC,IAAanX,EAAa,IAAM,IAClCgX,IAA2BtC,EAAc,EAAE,EAAIuC,IAGjDpB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/EoZ,EAAK,OACPgP,IAAyBrC,EAAc,EAAE,EAAI3M,EAAK,CAAC,EAAIkP,GAEvDF,IAAyBrC,EAAc,EAAE,EAAI3M,EAAOkP,IAK1DE,GAAY,EACd,CAOF,IAJIJ,KACFA,IAAyBC,IAGpBE,GAAY/sB,GACjB+qB,EAAQgC,EAAS,EAAE,sBAAwBH,GAC3CG,IAAa,CAEjB,CAGA,IAAK/sB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAI3B,GAHA2qB,EAAa,MAAM,EACnBwB,GAAc,EAEVpB,EAAQ/qB,CAAC,EAAE,EACb6qB,EAAO,EACPC,GAAQjV,EAAa,QACrBiV,GAAQW,EAAY,EAAI,EACxBR,EAAgBc,GAChBN,EAAY,IAEP,MAAQjsB,GAAS,iBACpB4rB,EAAaY,GACbb,EAAWc,GACX5d,EAASgV,EAAS+H,CAAU,EAAE,OAC9BC,EAAYhd,EAAO8c,EAAW,CAAC,EAC/BD,EAAe7c,EAAO8c,CAAQ,EAC9BG,EAAgBJ,EAAa,cAC7BvG,EAAgB,GAGlB8H,GAAU,GACVD,GAAW,GACXF,GAAW,GACXK,GAAU,GACVD,IAAW,MAAQltB,GAAS,sBACvB,CACL,IAAK,MAAQA,GAAS,eAAgB,CACpC,GAAI0sB,KAAgBnB,EAAQ/qB,CAAC,EAAE,KAAM,CACnC,OAAQ6V,EAAa,EAAG,CACtB,IAAK,GACHoV,GAAiBpZ,EAAcgE,EAAa,WAAWkV,EAAQ/qB,CAAC,EAAE,IAAI,EACtE,MAEF,IAAK,GACHirB,IAAkBpZ,EAAcgE,EAAa,WAAWkV,EAAQ/qB,CAAC,EAAE,IAAI,GAAK,EAC5E,MAEF,QACE,KACJ,CAEAksB,GAAcnB,EAAQ/qB,CAAC,EAAE,IAC3B,CAEI0a,IAAQqQ,EAAQ/qB,CAAC,EAAE,MACjB+qB,EAAQrQ,CAAG,IACbuQ,GAAiBF,EAAQrQ,CAAG,EAAE,OAGhCuQ,GAAiBF,EAAQ/qB,CAAC,EAAE,GAAK,EACjC0a,EAAMqQ,EAAQ/qB,CAAC,EAAE,KAGnBirB,GAAiBR,EAAU,CAAC,EAAIM,EAAQ/qB,CAAC,EAAE,GAAK,KAChD,IAAIitB,GAAiB,EAErB,IAAKzoB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/EoZ,EAAK,OACPqP,IAAkB1C,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAE/CqP,IAAkB1C,EAAc,EAAE,EAAE,CAAC,EAAI3M,GAIzC2M,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/EoZ,EAAK,OACPqP,IAAkB1C,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAE/CqP,IAAkB1C,EAAc,EAAE,EAAE,CAAC,EAAI3M,GAO/C,IAFAvd,EAAO,GAEAA,GACDskB,EAAgB2G,GAAiBL,EAAgBgC,IAAkB,CAAC5e,GACtE0C,GAAQka,EAAgBgC,GAAiBtI,GAAiBuG,EAAa,cACvEW,EAAWR,EAAU,MAAM,CAAC,GAAKH,EAAa,MAAM,CAAC,EAAIG,EAAU,MAAM,CAAC,GAAKta,EAC/E+a,EAAWT,EAAU,MAAM,CAAC,GAAKH,EAAa,MAAM,CAAC,EAAIG,EAAU,MAAM,CAAC,GAAKta,EAC/E4Z,EAAa,UAAU,CAACF,EAAU,CAAC,EAAIM,EAAQ/qB,CAAC,EAAE,GAAK,KAAO,EAAEyqB,EAAU,CAAC,EAAIe,GAAQ,GAAI,EAC3FnrB,EAAO,IACEgO,IACTsW,GAAiBuG,EAAa,cAC9BC,GAAY,EAERA,GAAY9c,EAAO,SACrB8c,EAAW,EACXC,GAAc,EAET/H,EAAS+H,CAAU,EAUtB/c,EAASgV,EAAS+H,CAAU,EAAE,OAT1B7gB,EAAK,EAAE,GACT4gB,EAAW,EACXC,EAAa,EACb/c,EAASgV,EAAS+H,CAAU,EAAE,SAE9BzG,GAAiBuG,EAAa,cAC9B7c,EAAS,OAOXA,IACFgd,EAAYH,EACZA,EAAe7c,EAAO8c,CAAQ,EAC9BG,EAAgBJ,EAAa,gBAKnCU,EAAOb,EAAQ/qB,CAAC,EAAE,GAAK,EAAI+qB,EAAQ/qB,CAAC,EAAE,IACtC2qB,EAAa,UAAU,CAACiB,EAAM,EAAG,CAAC,CACpC,MACEA,EAAOb,EAAQ/qB,CAAC,EAAE,GAAK,EAAI+qB,EAAQ/qB,CAAC,EAAE,IACtC2qB,EAAa,UAAU,CAACiB,EAAM,EAAG,CAAC,EAElCjB,EAAa,UAAU,CAACF,EAAU,CAAC,EAAIM,EAAQ/qB,CAAC,EAAE,GAAK,KAAO,CAACyqB,EAAU,CAAC,EAAIe,EAAO,IAAM,CAAC,EAG9F,IAAKhnB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,GAE/EqmB,IAAS,GAAKhV,EAAa,IAAM,MAC9B,MAAQrW,GAAS,eAChBoe,EAAK,OACPqN,GAAiBV,EAAc,EAAE,EAAI3M,EAAK,CAAC,EAE3CqN,GAAiBV,EAAc,EAAE,EAAI3M,EAE9BA,EAAK,OACdiN,GAAQN,EAAc,EAAE,EAAI3M,EAAK,CAAC,EAElCiN,GAAQN,EAAc,EAAE,EAAI3M,IAsBpC,IAhBI/H,EAAa,kBACfuW,GAAKvW,EAAa,IAAM,GAGtBA,EAAa,kBACXA,EAAa,GACf4C,GAAK,CAAC5C,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,CAAC,EAEhE4C,GAAK,CAAC,EAAG,EAAG,CAAC,GAIb5C,EAAa,eAAiBA,EAAa,KAC7CwW,EAAK,CAACxW,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,CAAC,GAG7DrR,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/EoZ,EAAK,OACP+M,EAAa,UAAU,CAACJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAAG,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAAG2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,CAAC,EAEvH+M,EAAa,UAAU,CAACJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAM,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAM2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,CAAI,GAKpH,IAAKpZ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/EoZ,EAAK,OACP+M,EAAa,MAAM,GAAKJ,EAAc,EAAE,EAAE,CAAC,EAAI,GAAK3M,EAAK,CAAC,EAAG,GAAK2M,EAAc,EAAE,EAAE,CAAC,EAAI,GAAK3M,EAAK,CAAC,EAAG,CAAC,EAExG+M,EAAa,MAAM,GAAKJ,EAAc,EAAE,EAAE,CAAC,EAAI,GAAK3M,EAAM,GAAK2M,EAAc,EAAE,EAAE,CAAC,EAAI,GAAK3M,EAAM,CAAC,GAKxG,IAAKpZ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAqD5B,GApDA+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAC7BknB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,EAE/E+lB,EAAc,GAAG,WACf3M,EAAK,OACP+M,EAAa,aAAa,CAACJ,EAAc,GAAG,EAAI3M,EAAK,CAAC,EAAG2M,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAErF+M,EAAa,aAAa,CAACJ,EAAc,GAAG,EAAI3M,EAAM2M,EAAc,GAAG,EAAI3M,CAAI,GAI/E2M,EAAc,EAAE,WACd3M,EAAK,OACP+M,EAAa,QAAQ,CAACJ,EAAc,EAAE,EAAI3M,EAAK,CAAC,CAAC,EAEjD+M,EAAa,QAAQ,CAACJ,EAAc,EAAE,EAAI3M,CAAI,GAI9C2M,EAAc,GAAG,WACf3M,EAAK,OACP+M,EAAa,QAAQJ,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAEjD+M,EAAa,QAAQJ,EAAc,GAAG,EAAI3M,CAAI,GAI9C2M,EAAc,GAAG,WACf3M,EAAK,OACP+M,EAAa,QAAQJ,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAEjD+M,EAAa,QAAQJ,EAAc,GAAG,EAAI3M,CAAI,GAI9C2M,EAAc,EAAE,WACd3M,EAAK,OACPuO,KAAgB5B,EAAc,EAAE,EAAI3M,EAAK,CAAC,EAAIuO,IAAevO,EAAK,CAAC,EAEnEuO,KAAgB5B,EAAc,EAAE,EAAI3M,EAAOuO,IAAevO,GAI1D/H,EAAa,iBAAmB0U,EAAc,GAAG,WAC/C3M,EAAK,OACPwO,IAAM7B,EAAc,GAAG,EAAI3M,EAAK,CAAC,EAEjCwO,IAAM7B,EAAc,GAAG,EAAI3M,GAI3B/H,EAAa,iBAAmB0U,EAAc,GAAG,SACnD,IAAK9lB,GAAI,EAAGA,GAAI,EAAGA,IAAK,EAClBmZ,EAAK,OACPnF,GAAGhU,EAAC,IAAM8lB,EAAc,GAAG,EAAE9lB,EAAC,EAAIgU,GAAGhU,EAAC,GAAKmZ,EAAK,CAAC,EAEjDnF,GAAGhU,EAAC,IAAM8lB,EAAc,GAAG,EAAE9lB,EAAC,EAAIgU,GAAGhU,EAAC,GAAKmZ,EAKjD,GAAI/H,EAAa,eAAiBA,EAAa,GAAI,CACjD,GAAI0U,EAAc,GAAG,SACnB,IAAK9lB,GAAI,EAAGA,GAAI,EAAGA,IAAK,EAClBmZ,EAAK,OACPyO,EAAG5nB,EAAC,IAAM8lB,EAAc,GAAG,EAAE9lB,EAAC,EAAI4nB,EAAG5nB,EAAC,GAAKmZ,EAAK,CAAC,EAEjDyO,EAAG5nB,EAAC,IAAM8lB,EAAc,GAAG,EAAE9lB,EAAC,EAAI4nB,EAAG5nB,EAAC,GAAKmZ,EAK7C2M,EAAc,GAAG,WACf3M,EAAK,OACPyO,EAAK,YAAYA,EAAI9B,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAEjDyO,EAAK,YAAYA,EAAI9B,EAAc,GAAG,EAAI3M,CAAI,GAI9C2M,EAAc,GAAG,WACf3M,EAAK,OACPyO,EAAK,mBAAmBA,EAAI9B,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAExDyO,EAAK,mBAAmBA,EAAI9B,EAAc,GAAG,EAAI3M,CAAI,GAIrD2M,EAAc,GAAG,WACf3M,EAAK,OACPyO,EAAK,mBAAmBA,EAAI9B,EAAc,GAAG,EAAI3M,EAAK,CAAC,CAAC,EAExDyO,EAAK,mBAAmBA,EAAI9B,EAAc,GAAG,EAAI3M,CAAI,EAG3D,CACF,CAEA,IAAKpZ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+lB,EAAgBG,EAAUlmB,CAAC,EAAE,EAEzB+lB,EAAc,EAAE,WAClBmB,EAAmBhB,EAAUlmB,CAAC,EAAE,EAChCoZ,EAAO8N,EAAiB,QAAQX,EAAQ/qB,CAAC,EAAE,UAAUwE,CAAC,EAAG6lB,EAAS,EAAE7lB,CAAC,EAAE,EAAE,UAAU,GAE9E,MAAQhF,GAAS,eAChBoe,EAAK,OACP+M,EAAa,UAAU,EAAGJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAAG,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,CAAC,EAEzF+M,EAAa,UAAU,EAAGJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAM,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,CAAI,EAE5EA,EAAK,OACd+M,EAAa,UAAUJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAAG2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,EAAG,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAK,CAAC,CAAC,EAEtH+M,EAAa,UAAUJ,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAM2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,EAAM,CAAC2M,EAAc,EAAE,EAAE,CAAC,EAAI3M,CAAI,GAiBnH,GAZI/H,EAAa,kBACfyW,GAAWF,GAAK,EAAI,EAAIA,IAGtBvW,EAAa,kBACf0W,GAAW,OAAS,KAAK,MAAM9T,GAAG,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,GAAG,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,GAAG,CAAC,EAAI,GAAG,EAAI,KAG5G5C,EAAa,eAAiBA,EAAa,KAC7C2W,GAAW,OAAS,KAAK,MAAMH,EAAG,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,EAAG,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,EAAG,CAAC,EAAI,GAAG,EAAI,MAG3G,MAAQ7sB,GAAS,eAAgB,CAIpC,GAHAmrB,EAAa,UAAU,EAAG,CAAC9U,EAAa,EAAE,EAC1C8U,EAAa,UAAU,EAAGF,EAAU,CAAC,EAAIe,EAAO,IAAOV,EAAM,CAAC,EAE1DT,EAAS,EAAE,EAAG,CAChBkB,GAAYL,EAAa,MAAM,CAAC,EAAIG,EAAU,MAAM,CAAC,IAAMH,EAAa,MAAM,CAAC,EAAIG,EAAU,MAAM,CAAC,GACpG,IAAI6B,GAAM,KAAK,KAAK3B,CAAQ,EAAI,IAAM,KAAK,GAEvCL,EAAa,MAAM,CAAC,EAAIG,EAAU,MAAM,CAAC,IAC3C6B,IAAO,KAGTvC,EAAa,OAAO,CAACuC,GAAM,KAAK,GAAK,GAAG,CAC1C,CAEAvC,EAAa,UAAUkB,EAAUC,EAAU,CAAC,EAC5Cb,GAAiBR,EAAU,CAAC,EAAIM,EAAQ/qB,CAAC,EAAE,GAAK,KAE5C+qB,EAAQ/qB,EAAI,CAAC,GAAK0a,IAAQqQ,EAAQ/qB,EAAI,CAAC,EAAE,MAC3CirB,GAAiBF,EAAQ/qB,CAAC,EAAE,GAAK,EACjCirB,GAAiBpV,EAAa,GAAK,KAAQA,EAAa,UAE5D,KAAO,CAQL,OAPA8U,EAAa,UAAUE,EAAMC,EAAM,CAAC,EAEhCjV,EAAa,IAEf8U,EAAa,UAAU9U,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,EAAIA,EAAa,OAAQ,CAAC,EAGhFA,EAAa,EAAG,CACtB,IAAK,GACH8U,EAAa,UAAUI,EAAQ/qB,CAAC,EAAE,sBAAwB6V,EAAa,eAAiBA,EAAa,SAAWA,EAAa,WAAWkV,EAAQ/qB,CAAC,EAAE,IAAI,GAAI,EAAG,CAAC,EAC/J,MAEF,IAAK,GACH2qB,EAAa,UAAUI,EAAQ/qB,CAAC,EAAE,sBAAwB6V,EAAa,eAAiBA,EAAa,SAAWA,EAAa,WAAWkV,EAAQ/qB,CAAC,EAAE,IAAI,GAAK,EAAG,EAAG,CAAC,EACnK,MAEF,QACE,KACJ,CAEA2qB,EAAa,UAAU,EAAG,CAAC9U,EAAa,EAAE,EAC1C8U,EAAa,UAAUiB,EAAM,EAAG,CAAC,EACjCjB,EAAa,UAAUF,EAAU,CAAC,EAAIM,EAAQ/qB,CAAC,EAAE,GAAK,KAAOyqB,EAAU,CAAC,EAAIe,EAAO,IAAM,CAAC,EAC1FX,GAAQE,EAAQ/qB,CAAC,EAAE,EAAI6V,EAAa,GAAK,KAAQA,EAAa,SAChE,CAEIyU,IAAe,OACjBmC,GAAU9B,EAAa,MAAM,EACpBL,IAAe,MACxBmC,GAAU9B,EAAa,QAAQ,EAE/B+B,GAAU,CAAC/B,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,CAAC,EAAGA,EAAa,MAAM,EAAE,EAAGA,EAAa,MAAM,EAAE,EAAGA,EAAa,MAAM,EAAE,EAAGA,EAAa,MAAM,EAAE,EAAGA,EAAa,MAAM,EAAE,EAAGA,EAAa,MAAM,EAAE,CAAC,EAGjYgC,GAAUR,EACZ,CAEIvB,GAAwB5qB,GAC1B2rB,EAAc,IAAI,YAAYgB,GAASL,GAAUC,GAAUC,GAAUC,GAASC,EAAO,GAEpF,MAAQltB,GAAS,gBAAgB,KAAKmsB,CAAW,EAElDf,GAAwB,GACvB,MAAQprB,GAAS,mBAAqB,KAEvCmsB,GAAe,MAAQnsB,GAAS,gBAAgBQ,CAAC,GAChD,MAAQR,GAAS,mBAAqBmsB,EAAY,OAAOgB,GAASL,GAAUC,GAAUC,GAAUC,GAASC,EAAO,IAAM,MAAQltB,GAAS,mBAE5I,EACF,EAEA,qBAAqB,UAAU,SAAW,UAAY,EAC/C,MAAQA,GAAS,MAAM,WAAW,WAAa,MAAQA,GAAS,YAIpE,MAAQA,GAAS,UAAY,MAAQA,GAAS,MAAM,WAAW,QAChE,KAAK,yBAAyB,EAChC,EAEA,qBAAqB,UAAU,QAAU,IAAI,OAC7C,qBAAqB,UAAU,kBAAoB,CAAC,EACpD,gBAAgB,CAAC,wBAAwB,EAAG,oBAAoB,EAKhE,SAAS,yBAAyBme,EAAM4M,EAAe3nB,EAAW,CAChE,IAAIuqB,EAAc,CAChB,SAAU,EACZ,EACIhP,EAAU,gBAAgB,QAC1BiP,EAA0B7C,EAAc,GAC3C,MAAQ/qB,GAAS,EAAI,CACpB,EAAG4tB,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,UAAWxqB,CAAS,EAAIuqB,EACnG,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,UAAWxqB,CAAS,EAAIuqB,EACtG,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,UAAWxqB,CAAS,EAAIuqB,EACtG,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,UAAWxqB,CAAS,EAAIuqB,EACtG,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,UAAWxqB,CAAS,EAAIuqB,EACtG,EAAGC,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,IAAMxqB,CAAS,EAAIuqB,EAC9F,EAAGC,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC3F,EAAGC,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,IAAMxqB,CAAS,EAAIuqB,EAC9F,EAAGC,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC3F,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC9F,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC9F,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC9F,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,EAAGxqB,CAAS,EAAIuqB,EAC9F,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,IAAMxqB,CAAS,EAAIuqB,EACjG,GAAIC,EAAwB,GAAKjP,EAAQR,EAAMyP,EAAwB,GAAI,EAAG,IAAMxqB,CAAS,EAAIuqB,EACjG,EAAGC,EAAwB,EAAIjP,EAAQR,EAAMyP,EAAwB,EAAG,EAAG,EAAGxqB,CAAS,EAAIuqB,CAC7F,GACC,MAAQ3tB,GAAS,EAAI,iBAAiB,oBAAoBme,EAAM4M,EAAc,EAAG3nB,CAAS,GAC1F,MAAQpD,GAAS,EAAE,EAAI+qB,EAAc,EAAE,CAC1C,CAEA,SAAS,YAAY1lB,EAAGunB,EAAI3T,EAAI4T,EAAI1nB,EAAGlD,EAAG,EACvC,MAAQjC,GAAS,EAAIqF,GACrB,MAAQrF,GAAS,GAAK4sB,GACtB,MAAQ5sB,GAAS,GAAKiZ,GACtB,MAAQjZ,GAAS,GAAK6sB,GACtB,MAAQ7sB,GAAS,EAAImF,GACrB,MAAQnF,GAAS,EAAIiC,GACrB,MAAQjC,GAAS,KAAO,CACvB,EAAG,GACH,GAAI,CAAC,CAAC4sB,EACN,GAAI,CAAC,CAAC3T,EACN,GAAI,CAAC,CAAC4T,EACN,EAAG,GACH,EAAG,EACL,CACF,CAEA,YAAY,UAAU,OAAS,SAAUxnB,EAAGunB,EAAI3T,EAAI4T,EAAI1nB,EAAGlD,EAAG,EAC3D,MAAQjC,GAAS,KAAK,EAAI,IAC1B,MAAQA,GAAS,KAAK,GAAK,IAC3B,MAAQA,GAAS,KAAK,GAAK,IAC3B,MAAQA,GAAS,KAAK,GAAK,IAC3B,MAAQA,GAAS,KAAK,EAAI,IAC1B,MAAQA,GAAS,KAAK,EAAI,GAC3B,IAAI6tB,EAAU,GAEd,OAAK,MAAQ7tB,GAAS,IAAMqF,KACzB,MAAQrF,GAAS,EAAIqF,GACrB,MAAQrF,GAAS,KAAK,EAAI,GAC3B6tB,EAAU,KAGP,MAAQ7tB,GAAS,KAAO4sB,KAC1B,MAAQ5sB,GAAS,GAAK4sB,GACtB,MAAQ5sB,GAAS,KAAK,GAAK,GAC5B6tB,EAAU,KAGP,MAAQ7tB,GAAS,KAAOiZ,KAC1B,MAAQjZ,GAAS,GAAKiZ,GACtB,MAAQjZ,GAAS,KAAK,GAAK,GAC5B6tB,EAAU,KAGP,MAAQ7tB,GAAS,KAAO6sB,KAC1B,MAAQ7sB,GAAS,GAAK6sB,GACtB,MAAQ7sB,GAAS,KAAK,GAAK,GAC5B6tB,EAAU,KAGP,MAAQ7tB,GAAS,IAAMmF,KACzB,MAAQnF,GAAS,EAAImF,GACrB,MAAQnF,GAAS,KAAK,EAAI,GAC3B6tB,EAAU,IAGR5rB,EAAE,UAAY,MAAQjC,GAAS,EAAE,CAAC,IAAMiC,EAAE,CAAC,IAAM,MAAQjC,GAAS,EAAE,CAAC,IAAMiC,EAAE,CAAC,IAAM,MAAQjC,GAAS,EAAE,CAAC,IAAMiC,EAAE,CAAC,IAAM,MAAQjC,GAAS,EAAE,CAAC,IAAMiC,EAAE,CAAC,IAAM,MAAQjC,GAAS,EAAE,EAAE,IAAMiC,EAAE,EAAE,IAAM,MAAQjC,GAAS,EAAE,EAAE,IAAMiC,EAAE,EAAE,MAC/N,MAAQjC,GAAS,EAAIiC,GACrB,MAAQjC,GAAS,KAAK,EAAI,GAC3B6tB,EAAU,IAGLA,CACT,EAMA,SAAS,aAAa1P,EAAMlH,EAAM,EAC/B,MAAQjX,GAAS,SAAW,qBAC5B,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,EAAI,IACrB,MAAQA,GAAS,GAAK,IACtB,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,KAAOme,GACxB,MAAQne,GAAS,MAAQ,MAAQA,GAAS,KAAK,MAC/C,MAAQA,GAAS,UAAY,GAC7B,MAAQA,GAAS,UAAY,IAC7B,MAAQA,GAAS,gBAAkB,GACnC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,YAAc,CAC9B,OAAQ,EACR,UAAW,MAAQA,GAAS,gBAC5B,EAAG,GACH,OAAQ,GACR,QAAS,GACT,GAAI,GACJ,EAAG,GACH,cAAe,GACf,EAAG,CAAC,EACJ,GAAI,EACJ,WAAY,CAAC,EACb,GAAI,GACJ,GAAI,GACJ,EAAG,GACH,GAAI,GACJ,GAAI,EACJ,EAAG,EACH,GAAI,EACJ,GAAI,EACJ,GAAI,KACJ,cAAe,GACf,gBAAiB,GACjB,gBAAiB,GACjB,QAAS,EACT,UAAW,EACX,UAAW,CAAC,EACZ,gBAAiB,EACjB,WAAY,EACd,EACA,KAAK,UAAU,MAAQA,GAAS,aAAc,MAAQA,GAAS,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAEvE,KAAK,eAAe,GACvB,KAAK,kBAAkB,MAAQA,GAAS,WAAW,CAEvD,CAEA,aAAa,UAAU,gBAAkB,CAAC,EAAG,CAAC,EAE9C,aAAa,UAAU,SAAW,SAAUmM,EAAK8K,EAAM,CACrD,QAAStV,KAAKsV,EACR,OAAO,UAAU,eAAe,KAAKA,EAAMtV,CAAC,IAC9CwK,EAAIxK,CAAC,EAAIsV,EAAKtV,CAAC,GAInB,OAAOwK,CACT,EAEA,aAAa,UAAU,eAAiB,SAAU8K,EAAM,CACjDA,EAAK,YACR,KAAK,iBAAiBA,CAAI,GAG3B,MAAQjX,GAAS,YAAciX,GAC/B,MAAQjX,GAAS,YAAY,UAAY,MAAQA,GAAS,YAAY,WAAa,MAAQA,GAAS,iBACpG,MAAQA,GAAS,KAAO,EAC3B,EAEA,aAAa,UAAU,eAAiB,UAAY,CAClD,OAAO,KAAK,gBAAgB,CAC9B,EAEA,aAAa,UAAU,gBAAkB,UAAY,CACnD,OAAC,MAAQA,GAAS,IAAM,MAAQA,GAAS,KAAK,EAAE,EAAE,OAAS,GAEtD,MAAQA,GAAS,IACpB,KAAK,WAAW,MAAQA,GAAS,iBAAiB,KAAK,MAAQA,CAAO,CAAC,GAGjE,MAAQA,GAAS,EAC3B,EAEA,aAAa,UAAU,UAAY,SAAUie,EAAgB,EAC1D,MAAQje,GAAS,gBAAgB,KAAKie,CAAc,GAEpD,MAAQje,GAAS,KAAK,mBAAmB,MAAQA,CAAO,CAC3D,EAEA,aAAa,UAAU,SAAW,SAAU8tB,EAAa,CACvD,GAAM,UAAQ9tB,GAAS,KAAK,WAAW,WAAa,MAAQA,GAAS,SAAW,EAAE,MAAQA,GAAS,gBAAgB,SAAW,CAAC8tB,GAI/H,EAAC,MAAQ9tB,GAAS,YAAY,GAAK,MAAQA,GAAS,KAAK,EAAE,GAAG,MAAQA,GAAS,SAAS,EAAE,EAAE,EAC5F,IAAI+tB,GAAgB,MAAQ/tB,GAAS,YACjCguB,GAAgB,MAAQhuB,GAAS,UAErC,IAAK,MAAQA,GAAS,KAAM,CAC1B,KAAK,gBAAgB,MAAQA,GAAS,WAAW,EACjD,MACF,EAEC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAO,GACzB,IAAIQ,EACAC,GAAO,MAAQT,GAAS,gBAAgB,OACxC+d,EAAa+P,IAAgB,MAAQ9tB,GAAS,KAAK,EAAE,GAAG,MAAQA,GAAS,SAAS,EAAE,EAExF,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAEpBwtB,KAAkB,MAAQhuB,GAAS,UACrC+d,GAAc,MAAQ/d,GAAS,gBAAgBQ,CAAC,EAAEud,EAAYA,EAAW,CAAC,EAE1EA,GAAc,MAAQ/d,GAAS,gBAAgBQ,CAAC,GAAG,MAAQR,GAAS,YAAa+d,EAAW,CAAC,EAI7FgQ,IAAiBhQ,GACnB,KAAK,eAAeA,CAAU,GAG/B,MAAQ/d,GAAS,GAAK,MAAQA,GAAS,aACvC,MAAQA,GAAS,IAAM,MAAQA,GAAS,GACxC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,WAAW,QAChE,EAEA,aAAa,UAAU,iBAAmB,UAAY,CAMpD,QALIiuB,GAAY,MAAQjuB,GAAS,KAAK,EAAE,EACpCua,GAAY,MAAQva,GAAS,KAAK,KAAK,cACvC,EAAI,EACJS,EAAMwtB,EAAS,OAEZ,GAAKxtB,EAAM,GACZ,MAAMA,EAAM,GAAKwtB,EAAS,EAAI,CAAC,EAAE,EAAI1T,IAIzC,GAAK,EAGP,OAAK,MAAQva,GAAS,YAAc,KACjC,MAAQA,GAAS,UAAY,IAGxB,MAAQA,GAAS,KAAK,EAAE,GAAG,MAAQA,GAAS,SAAS,EAAE,CACjE,EAEA,aAAa,UAAU,eAAiB,SAAUkuB,EAAM,CAOtD,QANIxW,EAAqB,YAAY,0BAA0B,EAC3DyW,EAAkB,CAAC,EACnB3tB,EAAI,EACJC,EAAMytB,EAAK,OACXE,EAEG5tB,EAAIC,GACT2tB,EAAWF,EAAK,WAAW1tB,CAAC,EAExBkX,EAAmB,QAAQ0W,CAAQ,IAAM,GAC3CD,EAAgBA,EAAgB,OAAS,CAAC,GAAKD,EAAK,OAAO1tB,CAAC,EACnD4tB,GAAY,OAASA,GAAY,OAC1CA,EAAWF,EAAK,WAAW1tB,EAAI,CAAC,EAE5B4tB,GAAY,OAASA,GAAY,OACnCD,EAAgB,KAAKD,EAAK,OAAO1tB,EAAG,CAAC,CAAC,EACtCA,GAAK,GAEL2tB,EAAgB,KAAKD,EAAK,OAAO1tB,CAAC,CAAC,GAGrC2tB,EAAgB,KAAKD,EAAK,OAAO1tB,CAAC,CAAC,EAGrCA,GAAK,EAGP,OAAO2tB,CACT,EAEA,aAAa,UAAU,iBAAmB,SAAU9X,EAAc,CAChEA,EAAa,WAAa,GAC1B,IAAIlB,GAAe,MAAQnV,GAAS,KAAK,WAAW,YAChDiX,GAAQ,MAAQjX,GAAS,KACzBurB,EAAU,CAAC,EACX/qB,EACAC,EACA4tB,EACA1U,EAAQ,EACRjZ,EACA4tB,EAAiBrX,EAAK,EAAE,EACxBsX,EAAc,EACdC,EAAa,EACb9B,EAAc,EACd+B,EAAa,CAAC,EACdC,EAAY,EACZC,EAAe,EACf3pB,EACAqQ,EACA8B,EAAWhC,EAAY,cAAckB,EAAa,CAAC,EACnDuY,EACApH,EAAU,EACV/O,EAAY,kBAAkBtB,CAAQ,EAC1Cd,EAAa,QAAUoC,EAAU,OACjCpC,EAAa,OAASoC,EAAU,MAChCpC,EAAa,UAAYA,EAAa,EACtCA,EAAa,UAAY,KAAK,eAAeA,EAAa,CAAC,EAC3D5V,EAAM4V,EAAa,UAAU,OAC7BA,EAAa,gBAAkBA,EAAa,GAC5C,IAAIwY,EAAiBxY,EAAa,GAAK,IAAOA,EAAa,UACvD+X,EAEJ,GAAI/X,EAAa,GAOf,QANIxV,EAAO,GACPiuB,EAAWzY,EAAa,GAAG,CAAC,EAC5B0Y,EAAY1Y,EAAa,GAAG,CAAC,EAC7B2Y,EACAC,EAEGpuB,GAAM,CACXouB,EAAY,KAAK,eAAe5Y,EAAa,CAAC,EAC9C2Y,EAAgB,EAChBN,EAAY,EACZjuB,EAAMwuB,EAAU,OAChBJ,EAAiBxY,EAAa,GAAK,IAAOA,EAAa,UACvD,IAAI6Y,EAAiB,GAErB,IAAK1uB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB4tB,EAAWa,EAAUzuB,CAAC,EAAE,WAAW,CAAC,EACpC6tB,EAAc,GAEVY,EAAUzuB,CAAC,IAAM,IACnB0uB,EAAiB1uB,GACR4tB,IAAa,IAAMA,IAAa,KACzCM,EAAY,EACZL,EAAc,GACdW,GAAiB3Y,EAAa,iBAAmBA,EAAa,UAAY,KAGxElB,EAAY,OACdyZ,EAAWzZ,EAAY,YAAY8Z,EAAUzuB,CAAC,EAAG2W,EAAS,OAAQA,EAAS,OAAO,EAClFqQ,EAAU6G,EAAc,EAAIO,EAAS,EAAIvY,EAAa,UAAY,KAGlEmR,EAAUrS,EAAY,YAAY8Z,EAAUzuB,CAAC,EAAG6V,EAAa,EAAGA,EAAa,SAAS,EAGpFqY,EAAYlH,EAAUsH,GAAYG,EAAUzuB,CAAC,IAAM,KACjD0uB,IAAmB,GACrBzuB,GAAO,EAEPD,EAAI0uB,EAGNF,GAAiB3Y,EAAa,iBAAmBA,EAAa,UAAY,IAC1E4Y,EAAU,OAAOzuB,EAAG0uB,IAAmB1uB,EAAI,EAAI,EAAG,IAAI,EAEtD0uB,EAAiB,GACjBR,EAAY,IAEZA,GAAalH,EACbkH,GAAaG,GAIjBG,GAAiB7X,EAAS,OAASd,EAAa,UAAY,KAEvD,MAAQrW,GAAS,WAAaqW,EAAa,WAAa,MAAQrW,GAAS,iBAAmB+uB,EAAYC,GAC3G3Y,EAAa,WAAa,EAC1BA,EAAa,gBAAkBA,EAAa,UAAYA,EAAa,GAAKA,EAAa,IAEvFA,EAAa,UAAY4Y,EACzBxuB,EAAM4V,EAAa,UAAU,OAC7BxV,EAAO,GAEX,CAGF6tB,EAAY,CAACG,EACbrH,EAAU,EACV,IAAI2H,EAAoB,EACpBC,EAEJ,IAAK5uB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EA6CxB,GA5CA6tB,EAAc,GACde,EAAc/Y,EAAa,UAAU7V,CAAC,EACtC4tB,EAAWgB,EAAY,WAAW,CAAC,EAE/BhB,IAAa,IAAMA,IAAa,GAClCe,EAAoB,EACpBV,EAAW,KAAKC,CAAS,EACzBC,EAAeD,EAAYC,EAAeD,EAAYC,EACtDD,EAAY,GAAKG,EACjBnuB,EAAM,GACN2tB,EAAc,GACd3B,GAAe,GAEfhsB,EAAM0uB,EAGJja,EAAY,OACdyZ,EAAWzZ,EAAY,YAAYia,EAAajY,EAAS,OAAQhC,EAAY,cAAckB,EAAa,CAAC,EAAE,OAAO,EAClHmR,EAAU6G,EAAc,EAAIO,EAAS,EAAIvY,EAAa,UAAY,KAIlEmR,EAAUrS,EAAY,YAAYzU,EAAK2V,EAAa,EAAGA,EAAa,SAAS,EAI3E+Y,IAAgB,IAClBD,GAAqB3H,EAAUqH,GAE/BH,GAAalH,EAAUqH,EAAiBM,EACxCA,EAAoB,GAGtB5D,EAAQ,KAAK,CACX,EAAG/D,EACH,GAAIA,EACJ,IAAK+G,EACL,EAAGF,EACH,UAAW,CAAC,EACZ,IAAK3tB,EACL,KAAMgsB,EACN,sBAAuB,CACzB,CAAC,EAEG4B,GAAkB,GAIpB,GAFAC,GAAe/G,EAEX9mB,IAAQ,IAAMA,IAAQ,KAAOF,IAAMC,EAAM,EAAG,CAK9C,KAJIC,IAAQ,IAAMA,IAAQ,OACxB6tB,GAAe/G,GAGVgH,GAAchuB,GACnB+qB,EAAQiD,CAAU,EAAE,GAAKD,EACzBhD,EAAQiD,CAAU,EAAE,IAAM7U,EAC1B4R,EAAQiD,CAAU,EAAE,MAAQhH,EAC5BgH,GAAc,EAGhB7U,GAAS,EACT4U,EAAc,CAChB,UACSD,GAAkB,GAI3B,GAFAC,GAAe/G,EAEX9mB,IAAQ,IAAMF,IAAMC,EAAM,EAAG,CAK/B,IAJIC,IAAQ,KACV6tB,GAAe/G,GAGVgH,GAAchuB,GACnB+qB,EAAQiD,CAAU,EAAE,GAAKD,EACzBhD,EAAQiD,CAAU,EAAE,IAAM7U,EAC1B4R,EAAQiD,CAAU,EAAE,MAAQhH,EAC5BgH,GAAc,EAGhBD,EAAc,EACd5U,GAAS,CACX,OAEA4R,EAAQ5R,CAAK,EAAE,IAAMA,EACrB4R,EAAQ5R,CAAK,EAAE,MAAQ,EACvBA,GAAS,EAQb,GAJAtD,EAAa,EAAIkV,EACjBoD,EAAeD,EAAYC,EAAeD,EAAYC,EACtDF,EAAW,KAAKC,CAAS,EAErBrY,EAAa,GACfA,EAAa,SAAWA,EAAa,GAAG,CAAC,EACzCA,EAAa,cAAgB,MAI7B,QAFAA,EAAa,SAAWsY,EAEhBtY,EAAa,EAAG,CACtB,IAAK,GACHA,EAAa,cAAgB,CAACA,EAAa,SAC3C,MAEF,IAAK,GACHA,EAAa,cAAgB,CAACA,EAAa,SAAW,EACtD,MAEF,QACEA,EAAa,cAAgB,CACjC,CAGFA,EAAa,WAAaoY,EAC1B,IAAIvD,EAAYjU,EAAK,EACjBoY,EACAC,EACJja,EAAO6V,EAAU,OACjB,IAAIqE,EACArU,EACAsU,EAAU,CAAC,EAEf,IAAKxqB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAkB5B,IAjBAqqB,EAAenE,EAAUlmB,CAAC,EAEtBqqB,EAAa,EAAE,KACjBhZ,EAAa,gBAAkB,IAG7BgZ,EAAa,EAAE,KACjBhZ,EAAa,gBAAkB,KAG7BgZ,EAAa,EAAE,IAAMA,EAAa,EAAE,IAAMA,EAAa,EAAE,IAAMA,EAAa,EAAE,MAChFhZ,EAAa,cAAgB,IAG/B6E,EAAM,EACNqU,EAAQF,EAAa,EAAE,EAElB7uB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8uB,EAAa/D,EAAQ/qB,CAAC,EACtB8uB,EAAW,UAAUtqB,CAAC,EAAIkW,GAEtBqU,GAAS,GAAKD,EAAW,MAAQ,IAAMC,GAAS,GAAKD,EAAW,MAAQ,IAAMA,EAAW,MAAQ,KAAOC,GAAS,IAAMD,EAAW,GAAKA,EAAW,KAAO,KAAO9uB,GAAKC,EAAM,IAAM8uB,GAAS,IAAMD,EAAW,GAAK9uB,GAAKC,EAAM,MAEzN4uB,EAAa,EAAE,KAAO,GACxBG,EAAQ,KAAKtU,CAAG,EAGlBA,GAAO,GAIXjE,EAAK,EAAEjS,CAAC,EAAE,EAAE,WAAakW,EACzB,IAAIuU,EAAa,GACbC,EAEJ,GAAIL,EAAa,EAAE,KAAO,EACxB,IAAK7uB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8uB,EAAa/D,EAAQ/qB,CAAC,EAElBivB,GAAcH,EAAW,UAAUtqB,CAAC,IAEtCyqB,EAAaH,EAAW,UAAUtqB,CAAC,EACnC0qB,EAASF,EAAQ,OAAO,KAAK,MAAM,KAAK,OAAO,EAAIA,EAAQ,MAAM,EAAG,CAAC,EAAE,CAAC,GAG1EF,EAAW,UAAUtqB,CAAC,EAAI0qB,CAGhC,CAEArZ,EAAa,QAAUA,EAAa,iBAAmBA,EAAa,UAAY,IAChFA,EAAa,GAAKA,EAAa,IAAM,EACrCA,EAAa,OAASc,EAAS,OAASd,EAAa,UAAY,GACnE,EAEA,aAAa,UAAU,mBAAqB,SAAUsZ,EAAShW,EAAO,CACpEA,EAAQA,IAAU,QAAa,MAAQ3Z,GAAS,UAAY2Z,EAC5D,IAAIiW,EAAQ,KAAK,SAAS,CAAC,GAAI,MAAQ5vB,GAAS,KAAK,EAAE,EAAE2Z,CAAK,EAAE,CAAC,EACjEiW,EAAQ,KAAK,SAASA,EAAOD,CAAO,GACnC,MAAQ3vB,GAAS,KAAK,EAAE,EAAE2Z,CAAK,EAAE,EAAIiW,EACtC,KAAK,YAAYjW,CAAK,GAErB,MAAQ3Z,GAAS,KAAK,mBAAmB,MAAQA,CAAO,CAC3D,EAEA,aAAa,UAAU,YAAc,SAAU2Z,EAAO,CACpD,IAAIiW,GAAS,MAAQ5vB,GAAS,KAAK,EAAE,EAAE2Z,CAAK,EAAE,EAC9CiW,EAAM,WAAa,IAClB,MAAQ5vB,GAAS,UAAY,GAC7B,MAAQA,GAAS,cAAgB,GAClC,KAAK,SAAS4vB,CAAK,CACrB,EAEA,aAAa,UAAU,cAAgB,SAAUC,EAAY,EAC1D,MAAQ7vB,GAAS,UAAY6vB,EAC9B,KAAK,aAAa,MAAQ7vB,GAAS,SAAS,GAE3C,MAAQA,GAAS,KAAK,mBAAmB,MAAQA,CAAO,CAC3D,EAEA,aAAa,UAAU,mBAAqB,SAAU8vB,EAAY,EAC/D,MAAQ9vB,GAAS,gBAAkB,KAAK,MAAM8vB,CAAU,GAAK,EAC9D,KAAK,aAAa,MAAQ9vB,GAAS,SAAS,GAE3C,MAAQA,GAAS,KAAK,mBAAmB,MAAQA,CAAO,CAC3D,EAMA,IAAI,iBAAmB,UAAY,CACjC,IAAIoC,EAAM,KAAK,IACXC,EAAM,KAAK,IACX0tB,EAAQ,KAAK,MAEjB,SAASC,EAAwB7R,EAAMlH,EAAM,EAC1C,MAAQjX,GAAS,mBAAqB,IACtC,MAAQA,GAAS,EAAI,IACrB,MAAQA,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,OAAS,GAC1B,MAAQA,GAAS,OAAS,EAC3B,KAAK,6BAA6Bme,CAAI,GACrC,MAAQne,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQjX,CAAO,EAEpB,MAAOiX,GACR,MAAQjX,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAEhF,MAAQA,GAAS,EAAI,CACpB,EAAG,GACL,GAGD,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACvB,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,IAAM,CAC9D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACvB,MAAQA,GAAS,GAAK,gBAAgB,QAAQme,EAAMlH,EAAK,IAAM,CAC9D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACvB,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GAE9E,MAAQA,GAAS,kBAAkB,QACvC,KAAK,SAAS,CAElB,CAEAgwB,EAAwB,UAAY,CAClC,QAAS,SAAU9U,EAAK,EACjB,MAAQlb,GAAS,sBAAwB,MAAQA,GAAS,KAAK,aAAa,YAAY,EAAE,QAC7F,KAAK,SAAS,EAIhB,IAAIoQ,EAAK,EACLC,EAAK,EACLC,EAAK,EACLC,EAAK,GAEJ,MAAQvQ,GAAS,GAAG,EAAI,EAC3BoQ,GAAM,MAAQpQ,GAAS,GAAG,EAAI,IAE9BqQ,EAAK,EAAE,MAAQrQ,GAAS,GAAG,EAAI,KAG5B,MAAQA,GAAS,GAAG,EAAI,EAC3BsQ,EAAK,GAAK,MAAQtQ,GAAS,GAAG,EAAI,IAElCuQ,EAAK,GAAK,MAAQvQ,GAAS,GAAG,EAAI,IAGpC,IAAIiwB,EAAQ,cAAc,gBAAgB7f,EAAIC,EAAIC,EAAIC,CAAE,EAAE,IACtD6N,EAAO,EACPzc,GAAK,MAAQ3B,GAAS,OACtB+E,GAAK,MAAQ/E,GAAS,OACtBe,GAAQ,MAAQf,GAAS,KAAK,GAElC,GAAIe,IAAS,EACPgE,IAAMpD,EACRyc,EAAOlD,GAAOnW,EAAI,EAAI,EAEtBqZ,EAAOhc,EAAI,EAAGC,EAAI,IAAO0C,EAAIpD,IAAMuZ,EAAMvZ,IAAMoD,EAAIpD,GAAI,CAAC,CAAC,EAG3Dyc,EAAO6R,EAAM7R,CAAI,UACRrd,IAAS,EACdgE,IAAMpD,EACRyc,EAAOlD,GAAOnW,EAAI,EAAI,EAEtBqZ,EAAO,EAAIhc,EAAI,EAAGC,EAAI,IAAO0C,EAAIpD,IAAMuZ,EAAMvZ,IAAMoD,EAAIpD,GAAI,CAAC,CAAC,EAG/Dyc,EAAO6R,EAAM7R,CAAI,UACRrd,IAAS,EACdgE,IAAMpD,EACRyc,EAAO,GAEPA,EAAOhc,EAAI,EAAGC,EAAI,IAAO0C,EAAIpD,IAAMuZ,EAAMvZ,IAAMoD,EAAIpD,GAAI,CAAC,CAAC,EAErDyc,EAAO,GACTA,GAAQ,EAERA,EAAO,EAAI,GAAKA,EAAO,KAI3BA,EAAO6R,EAAM7R,CAAI,UACRrd,IAAS,EAAG,CACrB,GAAIgE,IAAMpD,EACRyc,EAAO,MACF,CACL,IAAI8R,EAAMnrB,EAAIpD,EAIduZ,EAAM7Y,EAAID,EAAI,EAAG8Y,EAAM,GAAMvZ,CAAC,EAAGoD,EAAIpD,CAAC,EACtC,IAAIwG,EAAI,CAAC+nB,EAAM,EAAIhV,EACfrW,EAAIqrB,EAAM,EACd9R,EAAO,KAAK,KAAK,EAAIjW,EAAIA,GAAKtD,EAAIA,EAAE,CACtC,CAEAuZ,EAAO6R,EAAM7R,CAAI,CACnB,MAAWrd,IAAS,GACdgE,IAAMpD,EACRyc,EAAO,GAEPlD,EAAM7Y,EAAID,EAAI,EAAG8Y,EAAM,GAAMvZ,CAAC,EAAGoD,EAAIpD,CAAC,EACtCyc,GAAQ,EAAI,KAAK,IAAI,KAAK,GAAK,KAAK,GAAK,EAAIlD,GAAOnW,EAAIpD,EAAE,GAAK,GAGjEyc,EAAO6R,EAAM7R,CAAI,IAEblD,GAAO6U,EAAMpuB,CAAC,IACZuZ,EAAMvZ,EAAI,EACZyc,EAAOhc,EAAI,EAAGC,EAAIA,EAAI0C,EAAG,CAAC,GAAKpD,EAAIuZ,GAAM,CAAC,CAAC,EAE3CkD,EAAOhc,EAAI,EAAGC,EAAI0C,EAAImW,EAAK,CAAC,CAAC,GAIjCkD,EAAO6R,EAAM7R,CAAI,GAGnB,OAAOA,GAAQ,MAAQpe,GAAS,EAAE,CACpC,EACA,SAAU,SAAUmwB,EAAc,CAChC,KAAK,yBAAyB,GAC7B,MAAQnwB,GAAS,KAAOmwB,IAAiB,MAAQnwB,GAAS,MAC1D,MAAQA,GAAS,oBAAsB,MAAQA,GAAS,KAAK,aAAa,YAAY,EAAE,QAAU,EAE/FmwB,IAAiB,MAAQnwB,GAAS,KAAK,IAAM,KAC9C,MAAQA,GAAS,EAAE,GAAK,MAAQA,GAAS,oBAG5C,IAAIowB,GAAW,MAAQpwB,GAAS,KAAK,IAAM,EAAI,EAAI,KAAO,MAAQA,GAAS,KAAK,WAC5EqF,GAAK,MAAQrF,GAAS,EAAE,EAAIowB,EAC5BzuB,GAAK,MAAQ3B,GAAS,EAAE,EAAIowB,EAAU/qB,EACtCN,GAAK,MAAQ/E,GAAS,EAAE,EAAIowB,EAAU/qB,EAE1C,GAAI1D,EAAIoD,EAAG,CACT,IAAIqf,EAAKziB,EACTA,EAAIoD,EACJA,EAAIqf,CACN,EAEC,MAAQpkB,GAAS,OAAS2B,GAC1B,MAAQ3B,GAAS,OAAS+E,CAC7B,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAGirB,CAAuB,EAEnE,SAASK,EAAoBlS,EAAMlH,EAAMjU,EAAK,CAC5C,OAAO,IAAIgtB,EAAwB7R,EAAMlH,EAAMjU,CAAG,CACpD,CAEA,MAAO,CACL,oBAAqBqtB,CACvB,CACF,EAAE,EAME,YAAc,UAAY,CAC5B,OAAO,SAAUC,EAAeC,EAASC,EAAU,CACjD,IAAIC,EAAU,EACVC,EAAaJ,EACbhmB,EAAO,iBAAiBomB,CAAU,EAClC9jB,EAAK,CACP,WAAY+jB,EACZ,QAASC,CACX,EAEA,SAASD,GAAa,CACpB,IAAI7vB,EAEJ,OAAI2vB,GACFA,GAAW,EACX3vB,EAAUwJ,EAAKmmB,CAAO,GAEtB3vB,EAAUyvB,EAAQ,EAGbzvB,CACT,CAEA,SAAS8vB,EAAQ9vB,EAAS,CACpB2vB,IAAYC,IACdpmB,EAAO,QAAQ,OAAOA,CAAI,EAC1BomB,GAAc,GAGZF,GACFA,EAAS1vB,CAAO,EAGlBwJ,EAAKmmB,CAAO,EAAI3vB,EAChB2vB,GAAW,CACb,CAEA,OAAO7jB,CACT,CACF,EAAE,EAME,QAAU,UAAY,CACxB,SAASikB,EAAO7tB,EAAK,CACnB,OAAOA,EAAI,OAAO,iBAAiBA,EAAI,MAAM,CAAC,CAChD,CAEA,MAAO,CACL,OAAQ6tB,CACV,CACF,EAAE,EAME,UAAY,UAAY,CAC1B,SAASC,GAAS,CAChB,OAAO,iBAAiB,UAAW,CAAC,CACtC,CAEA,OAAO,YAAY,EAAGA,CAAM,CAC9B,EAAE,EAME,UAAY,UAAY,CAC1B,SAASA,GAAS,CAChB,OAAO,IAAI,SACb,CAEA,SAASF,EAAQ/L,EAAW,CAC1B,IAAIpkB,EAAMokB,EAAU,QAChBrkB,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,UAAU,QAAQqkB,EAAU,EAAErkB,CAAC,CAAC,EAChC,UAAU,QAAQqkB,EAAU,EAAErkB,CAAC,CAAC,EAChC,UAAU,QAAQqkB,EAAU,EAAErkB,CAAC,CAAC,EAChCqkB,EAAU,EAAErkB,CAAC,EAAI,KACjBqkB,EAAU,EAAErkB,CAAC,EAAI,KACjBqkB,EAAU,EAAErkB,CAAC,EAAI,KAGnBqkB,EAAU,QAAU,EACpBA,EAAU,EAAI,EAChB,CAEA,SAAS9c,EAAMgpB,EAAO,CACpB,IAAIC,EAAS3wB,EAAQ,WAAW,EAC5BG,EACAC,EAAMswB,EAAM,UAAY,OAAYA,EAAM,EAAE,OAASA,EAAM,QAI/D,IAHAC,EAAO,UAAUvwB,CAAG,EACpBuwB,EAAO,EAAID,EAAM,EAEZvwB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwwB,EAAO,YAAYD,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGuwB,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGuwB,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGuwB,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGuwB,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGuwB,EAAM,EAAEvwB,CAAC,EAAE,CAAC,EAAGA,CAAC,EAGhH,OAAOwwB,CACT,CAEA,IAAI3wB,EAAU,YAAY,EAAGywB,EAAQF,CAAO,EAC5C,OAAAvwB,EAAQ,MAAQ0H,EACT1H,CACT,EAAE,EAME,oBAAsB,UAAY,CACpC,IAAIuM,EAAK,CACP,mBAAoBqkB,EACpB,QAASL,CACX,EACIH,EAAU,EACVC,EAAa,EACbpmB,EAAO,iBAAiBomB,CAAU,EAEtC,SAASO,GAAqB,CAC5B,IAAIC,EAEJ,OAAIT,GACFA,GAAW,EACXS,EAAkB5mB,EAAKmmB,CAAO,GAE9BS,EAAkB,IAAI,gBAGjBA,CACT,CAEA,SAASN,EAAQM,EAAiB,CAChC,IAAI1wB,EACAC,EAAMywB,EAAgB,QAE1B,IAAK1wB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,UAAU,QAAQ0wB,EAAgB,OAAO1wB,CAAC,CAAC,EAG7C0wB,EAAgB,QAAU,EAEtBT,IAAYC,IACdpmB,EAAO,QAAQ,OAAOA,CAAI,EAC1BomB,GAAc,GAGhBpmB,EAAKmmB,CAAO,EAAIS,EAChBT,GAAW,CACb,CAEA,OAAO7jB,CACT,EAAE,EAME,mBAAqB,UAAY,CACnC,SAASkkB,GAAS,CAChB,MAAO,CACL,QAAS,CAAC,EACV,YAAa,CACf,CACF,CAEA,SAASF,EAAQ9vB,EAAS,CACxB,IAAIN,EACAC,EAAMK,EAAQ,QAAQ,OAE1B,IAAKN,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,iBAAiB,QAAQM,EAAQ,QAAQN,CAAC,CAAC,EAG7CM,EAAQ,QAAQ,OAAS,CAC3B,CAEA,OAAO,YAAY,EAAGgwB,EAAQF,CAAO,CACvC,EAAE,EAME,iBAAmB,UAAY,CACjC,SAASE,GAAS,CAChB,MAAO,CACL,YAAa,EACb,SAAU,iBAAiB,UAAW,oBAAoB,EAC1D,QAAS,iBAAiB,UAAW,oBAAoB,CAC3D,CACF,CAEA,OAAO,YAAY,EAAGA,CAAM,CAC9B,EAAE,EAIE,aAAe,UAAY,CAC7B,SAASK,EAAkBC,EAAS,CAMlC,QALIC,EAAQD,EAAQ,MAAM;AAAA,CAAM,EAC5B/N,EAAO,CAAC,EACRiO,EACAC,EAAY,EAEP/wB,EAAI,EAAGA,EAAI6wB,EAAM,OAAQ7wB,GAAK,EACrC8wB,EAAOD,EAAM7wB,CAAC,EAAE,MAAM,GAAG,EAErB8wB,EAAK,SAAW,IAClBjO,EAAKiO,EAAK,CAAC,CAAC,EAAIA,EAAK,CAAC,EAAE,KAAK,EAC7BC,GAAa,GAIjB,GAAIA,IAAc,EAChB,MAAM,IAAI,MAGZ,OAAOlO,CACT,CAEA,OAAO,SAAUmO,EAAU,CAGzB,QAFIC,EAAU,CAAC,EAENjxB,EAAI,EAAGA,EAAIgxB,EAAS,OAAQhxB,GAAK,EAAG,CAC3C,IAAIkxB,EAAUF,EAAShxB,CAAC,EACpBmxB,EAAa,CACf,KAAMD,EAAQ,GACd,SAAUA,EAAQ,EACpB,EAEA,GAAI,CACFC,EAAW,QAAU,KAAK,MAAMH,EAAShxB,CAAC,EAAE,EAAE,CAChD,MAAY,CACV,GAAI,CACFmxB,EAAW,QAAUR,EAAkBK,EAAShxB,CAAC,EAAE,EAAE,CACvD,MAAa,CACXmxB,EAAW,QAAU,CACnB,KAAMH,EAAShxB,CAAC,CAClB,CACF,CACF,CAEAixB,EAAQ,KAAKE,CAAU,CACzB,CAEA,OAAOF,CACT,CACF,EAAE,EAIF,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAU,YAAc,SAAUG,EAAK,CAClD,IAAIpxB,EACAC,GAAO,MAAQT,GAAS,OAAO,OAC/BiX,EAGJ,KAFC,MAAQjX,GAAS,eAAiB,GAE9BQ,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,GACvB,MAAQR,GAAS,SAASQ,CAAC,IAC/ByW,GAAQ,MAAQjX,GAAS,OAAOQ,CAAC,EAE7ByW,EAAK,GAAKA,EAAK,IAAM2a,GAAO,MAAQ5xB,GAAS,OAAOQ,CAAC,EAAE,IAAMyW,EAAK,GAAKA,EAAK,GAAK2a,GAAO,MAAQ5xB,GAAS,OAAOQ,CAAC,EAAE,IACrH,KAAK,UAAUA,CAAC,IAInB,MAAQR,GAAS,gBAAkB,MAAQA,GAAS,SAASQ,CAAC,GAAK,MAAQR,GAAS,eAAiB,GAGxG,KAAK,qBAAqB,CAC5B,EAEA,aAAa,UAAU,WAAa,SAAU6xB,EAAO,CACnD,OAAQA,EAAM,GAAI,CAChB,IAAK,GACH,OAAO,KAAK,YAAYA,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAWA,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAYA,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAWA,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAYA,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAWA,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAYA,CAAK,EAE/B,IAAK,IACH,OAAO,KAAK,aAAaA,CAAK,EAEhC,IAAK,IACH,OAAO,KAAK,cAAcA,CAAK,EAEjC,QACE,OAAO,KAAK,WAAWA,CAAK,CAChC,CACF,EAEA,aAAa,UAAU,aAAe,UAAY,CAChD,MAAM,IAAI,MAAM,kDAAkD,CACpE,EAEA,aAAa,UAAU,YAAc,SAAU5a,EAAM,CACnD,OAAO,IAAI,aAAaA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC7E,EAEA,aAAa,UAAU,cAAgB,SAAUiX,EAAM,CACrD,OAAO,IAAI,eAAeA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC/E,EAEA,aAAa,UAAU,cAAgB,UAAY,CACjD,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,KAAK,UAAUA,CAAC,EAGlB,KAAK,qBAAqB,CAC5B,EAEA,aAAa,UAAU,cAAgB,SAAUsxB,EAAW,EACzD,MAAQ9xB,GAAS,eAAiB,GACnC,IAAIQ,EACAC,EAAMqxB,EAAU,OAChB9sB,EACAqQ,GAAQ,MAAQrV,GAAS,OAAO,OAEpC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAGxB,IAFAwE,EAAI,EAEGA,EAAIqQ,GAAM,CACf,IAAK,MAAQrV,GAAS,OAAOgF,CAAC,EAAE,KAAO8sB,EAAUtxB,CAAC,EAAE,GAAI,EACrD,MAAQR,GAAS,OAAOgF,CAAC,EAAI8sB,EAAUtxB,CAAC,EACzC,KACF,CAEAwE,GAAK,CACP,CAEJ,EAEA,aAAa,UAAU,oBAAsB,SAAU+sB,EAAY,EAChE,MAAQ/xB,GAAS,WAAW,iBAAmB+xB,CAClD,EAEA,aAAa,UAAU,UAAY,UAAY,EACvC,MAAQ/xB,GAAS,WAAW,iBAChC,KAAK,cAAc,CAEvB,EAEA,aAAa,UAAU,sBAAwB,SAAUc,EAASkxB,EAAYC,EAAW,CAMvF,QALI3L,GAAY,MAAQtmB,GAAS,SAC7BiV,GAAU,MAAQjV,GAAS,OAC3BQ,EAAI,EACJC,EAAMwU,EAAO,OAEVzU,EAAIC,GACLwU,EAAOzU,CAAC,EAAE,KAAOwxB,IAEf,CAAC1L,EAAS9lB,CAAC,GAAK8lB,EAAS9lB,CAAC,IAAM,IAClC,KAAK,UAAUA,CAAC,EAChB,KAAK,kBAAkBM,CAAO,IAE9BmxB,EAAU,KAAK3L,EAAS9lB,CAAC,CAAC,EAC1B8lB,EAAS9lB,CAAC,EAAE,YAAY,EAEpByU,EAAOzU,CAAC,EAAE,SAAW,OACvB,KAAK,sBAAsBM,EAASmU,EAAOzU,CAAC,EAAE,OAAQyxB,CAAS,EAE/DnxB,EAAQ,aAAamxB,CAAS,IAKpCzxB,GAAK,CAET,EAEA,aAAa,UAAU,kBAAoB,SAAUM,EAAS,EAC3D,MAAQd,GAAS,gBAAgB,KAAKc,CAAO,CAChD,EAEA,aAAa,UAAU,wBAA0B,SAAUwoB,EAAQ,CACjE,IAAI9oB,EACAC,EAAM6oB,EAAO,OAEjB,IAAK9oB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI8oB,EAAO9oB,CAAC,EAAE,GAAI,CAChB,IAAI0xB,EAAO,KAAK,WAAW5I,EAAO9oB,CAAC,CAAC,EACpC0xB,EAAK,gBAAgB,GAEpB,MAAQlyB,GAAS,WAAW,iBAAiB,oBAAoBkyB,CAAI,CACxE,CAEJ,EAEA,aAAa,UAAU,gBAAkB,SAAUC,EAAUC,EAAgB,EAC1E,MAAQpyB,GAAS,WAAW,YAAc,IAAI,aAE9C,MAAQA,GAAS,WAAW,YAAY,SAASmyB,EAAS,KAAK,GAE/D,MAAQnyB,GAAS,WAAW,YAAY,SAASmyB,EAAS,MAAOC,CAAc,GAE/E,MAAQpyB,GAAS,WAAW,cAAgB,MAAQA,GAAS,cAAc,aAAa,MAAM,MAAQA,GAAS,aAAa,GAC5H,MAAQA,GAAS,WAAW,eAAiB,MAAQA,GAAS,cAAc,cAAc,MAAM,MAAQA,GAAS,aAAa,GAC9H,MAAQA,GAAS,WAAW,aAAe,MAAQA,GAAS,cAAc,gBAC1E,MAAQA,GAAS,WAAW,iBAAmB,MAAQA,GAAS,cAAc,iBAC9E,MAAQA,GAAS,WAAW,QAAU,GACtC,MAAQA,GAAS,WAAW,UAAYmyB,EAAS,IACjD,MAAQnyB,GAAS,WAAW,GAAKmyB,EAAS,IAC1C,MAAQnyB,GAAS,WAAW,SAAW,CACtC,EAAGmyB,EAAS,EACZ,EAAGA,EAAS,CACd,CACF,EAKA,SAAS,YAAYE,EAAeC,EAAQ,EACzC,MAAQtyB,GAAS,cAAgBqyB,GACjC,MAAQryB,GAAS,OAAS,MAC1B,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,WAAa,SAAS,KAAK,EAC7C,IAAIuyB,EAAY,GAEhB,GAAID,GAAUA,EAAO,MAAO,CAC1B,IAAIE,EAAe,SAAS,OAAO,EAC/BC,EAAU,gBAAgB,EAC9BD,EAAa,aAAa,KAAMC,CAAO,EACvCD,EAAa,YAAcF,EAAO,OAEjC,MAAQtyB,GAAS,WAAW,YAAYwyB,CAAY,EAErDD,GAAaE,CACf,CAEA,GAAIH,GAAUA,EAAO,YAAa,CAChC,IAAII,EAAc,SAAS,MAAM,EAC7BC,EAAS,gBAAgB,EAC7BD,EAAY,aAAa,KAAMC,CAAM,EACrCD,EAAY,YAAcJ,EAAO,aAEhC,MAAQtyB,GAAS,WAAW,YAAY0yB,CAAW,EAEpDH,GAAa,IAAMI,CACrB,CAEIJ,IACD,MAAQvyB,GAAS,WAAW,aAAa,kBAAmBuyB,CAAS,EAGxE,IAAI3Z,EAAO,SAAS,MAAM,GAEzB,MAAQ5Y,GAAS,WAAW,YAAY4Y,CAAI,EAE7C,IAAIga,EAAc,SAAS,GAAG,GAE7B,MAAQ5yB,GAAS,WAAW,YAAY4yB,CAAW,GAEnD,MAAQ5yB,GAAS,aAAe4yB,GAChC,MAAQ5yB,GAAS,aAAe,CAC/B,oBAAqBsyB,GAAUA,EAAO,qBAAuB,gBAC7D,yBAA0BA,GAAUA,EAAO,0BAA4B,iBACvE,gBAAiBA,GAAUA,EAAO,iBAAmB,GACrD,kBAAmB,EAAEA,GAAUA,EAAO,oBAAsB,IAC5D,YAAaA,GAAUA,EAAO,aAAe,GAC7C,YAAaA,GAAUA,EAAO,aAAe,GAC7C,UAAWA,GAAUA,EAAO,WAAa,GACzC,GAAIA,GAAUA,EAAO,IAAM,GAC3B,UAAWA,GAAUA,EAAO,UAC5B,WAAY,CACV,MAAOA,GAAUA,EAAO,YAAcA,EAAO,WAAW,OAAS,OACjE,OAAQA,GAAUA,EAAO,YAAcA,EAAO,WAAW,QAAU,OACnE,EAAGA,GAAUA,EAAO,YAAcA,EAAO,WAAW,GAAK,KACzD,EAAGA,GAAUA,EAAO,YAAcA,EAAO,WAAW,GAAK,IAC3D,CACF,GACC,MAAQtyB,GAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACV,KAAM4Y,EACN,cAAe,MAAQ5Y,GAAS,YAClC,GACC,MAAQA,GAAS,SAAW,CAAC,GAC7B,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,UAAY,IAC7B,MAAQA,GAAS,aAAe,KACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,WAAW,EAE3C,YAAY,UAAU,WAAa,SAAUiX,EAAM,CACjD,OAAO,IAAI,YAAYA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC5E,EAEA,YAAY,UAAU,YAAc,SAAUiX,EAAM,CAClD,OAAO,IAAI,gBAAgBA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAChF,EAEA,YAAY,UAAU,WAAa,SAAUiX,EAAM,CACjD,OAAO,IAAI,qBAAqBA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CACrF,EAEA,YAAY,UAAU,YAAc,SAAUiX,EAAM,CAClD,OAAO,IAAI,cAAcA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC9E,EAEA,YAAY,UAAU,WAAa,SAAUiX,EAAM,CACjD,OAAO,IAAI,eAAeA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC/E,EAEA,YAAY,UAAU,YAAc,SAAUiX,EAAM,CAClD,OAAO,IAAI,cAAcA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC9E,EAEA,YAAY,UAAU,gBAAkB,SAAUmyB,EAAU,EACzD,MAAQnyB,GAAS,WAAW,aAAa,QAAS,4BAA4B,GAE1E,MAAQA,GAAS,aAAa,aAChC,MAAQA,GAAS,WAAW,aAAa,WAAY,MAAQA,GAAS,aAAa,WAAW,GAE9F,MAAQA,GAAS,WAAW,aAAa,UAAW,OAASmyB,EAAS,EAAI,IAAMA,EAAS,CAAC,GAGvF,MAAQnyB,GAAS,aAAa,eACjC,MAAQA,GAAS,WAAW,aAAa,QAASmyB,EAAS,CAAC,GAE5D,MAAQnyB,GAAS,WAAW,aAAa,SAAUmyB,EAAS,CAAC,GAE7D,MAAQnyB,GAAS,WAAW,MAAM,MAAQ,QAC1C,MAAQA,GAAS,WAAW,MAAM,OAAS,QAC3C,MAAQA,GAAS,WAAW,MAAM,UAAY,uBAG5C,MAAQA,GAAS,aAAa,YAChC,MAAQA,GAAS,WAAW,aAAa,SAAU,MAAQA,GAAS,aAAa,SAAS,GAGxF,MAAQA,GAAS,aAAa,KAChC,MAAQA,GAAS,WAAW,aAAa,MAAO,MAAQA,GAAS,aAAa,EAAE,GAG9E,MAAQA,GAAS,aAAa,YAAc,SAC9C,MAAQA,GAAS,WAAW,aAAa,aAAc,MAAQA,GAAS,aAAa,SAAS,GAGhG,MAAQA,GAAS,WAAW,aAAa,uBAAwB,MAAQA,GAAS,aAAa,mBAAmB,GAIlH,MAAQA,GAAS,cAAc,QAAQ,aAAa,MAAQA,GAAS,UAAU,EAGhF,IAAI4Y,GAAQ,MAAQ5Y,GAAS,WAAW,KACxC,KAAK,gBAAgBmyB,EAAUvZ,CAAI,GAClC,MAAQ5Y,GAAS,WAAW,iBAAmB,MAAQA,GAAS,aAAa,iBAC7E,MAAQA,GAAS,KAAOmyB,EACzB,IAAIS,EAAc,SAAS,UAAU,EACjCC,EAAO,SAAS,MAAM,EAC1BA,EAAK,aAAa,QAASV,EAAS,CAAC,EACrCU,EAAK,aAAa,SAAUV,EAAS,CAAC,EACtCU,EAAK,aAAa,IAAK,CAAC,EACxBA,EAAK,aAAa,IAAK,CAAC,EACxB,IAAIC,EAAS,gBAAgB,EAC7BF,EAAY,aAAa,KAAME,CAAM,EACrCF,EAAY,YAAYC,CAAI,GAE3B,MAAQ7yB,GAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAM8yB,EAAS,GAAG,EAEnGla,EAAK,YAAYga,CAAW,GAC3B,MAAQ5yB,GAAS,OAASmyB,EAAS,QACnC,MAAQnyB,GAAS,SAAW,iBAAiBmyB,EAAS,OAAO,MAAM,CACtE,EAEA,YAAY,UAAU,QAAU,UAAY,EACrC,MAAQnyB,GAAS,cAAc,WACjC,MAAQA,GAAS,cAAc,QAAQ,UAAY,KAGrD,MAAQA,GAAS,aAAe,MAChC,MAAQA,GAAS,WAAW,KAAO,KACpC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,QAAU,MAAQA,GAAS,OAAO,OAAS,EAEvE,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACnB,MAAQR,GAAS,SAASQ,CAAC,IAC7B,MAAQR,GAAS,SAASQ,CAAC,EAAE,QAAQ,GAIzC,MAAQR,GAAS,SAAS,OAAS,GACnC,MAAQA,GAAS,UAAY,IAC7B,MAAQA,GAAS,cAAgB,IACpC,EAEA,YAAY,UAAU,oBAAsB,UAAY,CAAC,EAEzD,YAAY,UAAU,UAAY,SAAU4f,EAAK,CAC/C,IAAI0G,GAAY,MAAQtmB,GAAS,SAEjC,GAAI,EAAAsmB,EAAS1G,CAAG,IAAM,MAAQ5f,GAAS,OAAO4f,CAAG,EAAE,KAAO,IAI1D,CAAA0G,EAAS1G,CAAG,EAAI,GAChB,IAAI9e,EAAU,KAAK,YAAY,MAAQd,GAAS,OAAO4f,CAAG,CAAC,EAC3D0G,EAAS1G,CAAG,EAAI9e,EAEZ,qBACG,MAAQd,GAAS,OAAO4f,CAAG,EAAE,KAAO,IACtC,MAAQ5f,GAAS,WAAW,iBAAiB,oBAAoBc,CAAO,EAG3EA,EAAQ,gBAAgB,GAG1B,KAAK,mBAAmBA,EAAS8e,CAAG,GAE/B,MAAQ5f,GAAS,OAAO4f,CAAG,EAAE,KAC5B,EAAE,MAAQ5f,GAAS,SAAS4f,EAAM,CAAC,IAAM,MAAQ5f,GAAS,SAAS4f,EAAM,CAAC,IAAM,IAClF,KAAK,UAAUA,EAAM,CAAC,EACtB,KAAK,kBAAkB9e,CAAO,GAE9BA,EAAQ,SAASwlB,EAAS1G,EAAM,CAAC,EAAE,OAAO,GAGhD,EAEA,YAAY,UAAU,qBAAuB,UAAY,CACvD,MAAQ,MAAQ5f,GAAS,gBAAgB,QAAQ,CAC/C,IAAIc,GAAW,MAAQd,GAAS,gBAAgB,IAAI,EAIpD,GAFAc,EAAQ,eAAe,EAEnBA,EAAQ,KAAK,GAIf,QAHIN,EAAI,EACJC,GAAO,MAAQT,GAAS,SAAS,OAE9BQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,SAASQ,CAAC,IAAMM,EAAS,CAC7CA,EAAQ,UAAU,MAAQd,GAAS,SAASQ,EAAI,CAAC,EAAE,OAAO,EAC1D,KACF,CAEAA,GAAK,CACP,CAEJ,CACF,EAEA,YAAY,UAAU,YAAc,SAAUoxB,EAAK,CACjD,GAAK,SAAQ5xB,GAAS,gBAAkB4xB,IAAQ,MAAQ5xB,GAAS,WAIjE,CAAI4xB,IAAQ,KACVA,GAAO,MAAQ5xB,GAAS,eAEvB,MAAQA,GAAS,cAAgB4xB,GAKnC,MAAQ5xB,GAAS,WAAW,SAAW4xB,GACvC,MAAQ5xB,GAAS,WAAW,SAAW,GACvC,MAAQA,GAAS,WAAW,iBAAiB,aAAe4xB,GAC5D,MAAQ5xB,GAAS,WAAW,KAAO,GACpC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAMnC,KAJM,MAAQA,GAAS,gBACrB,KAAK,YAAY4xB,CAAG,EAGjBpxB,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,IACxB,MAAQR,GAAS,iBAAmB,MAAQA,GAAS,SAASQ,CAAC,KACjE,MAAQR,GAAS,SAASQ,CAAC,EAAE,aAAaoxB,GAAO,MAAQ5xB,GAAS,OAAOQ,CAAC,EAAE,EAAE,EAInF,IAAK,MAAQR,GAAS,WAAW,KAC/B,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,IACnB,MAAQR,GAAS,iBAAmB,MAAQA,GAAS,SAASQ,CAAC,KACjE,MAAQR,GAAS,SAASQ,CAAC,EAAE,YAAY,EAIlD,EAEA,YAAY,UAAU,mBAAqB,SAAUM,EAAS8e,EAAK,CACjE,IAAI+Q,EAAa7vB,EAAQ,eAAe,EAExC,GAAK6vB,EAOL,SAHInwB,EAAI,EACJuyB,EAEGvyB,EAAIof,IACJ,MAAQ5f,GAAS,SAASQ,CAAC,IAAM,MAAQR,GAAS,SAASQ,CAAC,IAAM,KAAS,MAAQR,GAAS,SAASQ,CAAC,EAAE,eAAe,IAC1HuyB,GAAe,MAAQ/yB,GAAS,SAASQ,CAAC,EAAE,eAAe,GAG7DA,GAAK,EAGHuyB,GACD,MAAQ/yB,GAAS,aAAa,aAAa2wB,EAAYoC,CAAW,GAElE,MAAQ/yB,GAAS,aAAa,YAAY2wB,CAAU,EAEzD,EAEA,YAAY,UAAU,KAAO,UAAY,EACtC,MAAQ3wB,GAAS,aAAa,MAAM,QAAU,MACjD,EAEA,YAAY,UAAU,KAAO,UAAY,EACtC,MAAQA,GAAS,aAAa,MAAM,QAAU,OACjD,EAKA,SAAS,eAAeqyB,EAAeC,EAAQ,EAC5C,MAAQtyB,GAAS,cAAgBqyB,GACjC,MAAQryB,GAAS,aAAe,CAC/B,YAAasyB,GAAUA,EAAO,cAAgB,OAAYA,EAAO,YAAc,GAC/E,QAASA,GAAUA,EAAO,SAAW,KACrC,gBAAiBA,GAAUA,EAAO,iBAAmB,GACrD,oBAAqBA,GAAUA,EAAO,qBAAuB,gBAC7D,yBAA0BA,GAAUA,EAAO,0BAA4B,iBACvE,UAAWA,GAAUA,EAAO,WAAa,GACzC,GAAIA,GAAUA,EAAO,IAAM,EAC7B,GACC,MAAQtyB,GAAS,aAAa,IAAMsyB,GAAUA,EAAO,KAAO,GAExD,MAAQtyB,GAAS,cAAc,WACjC,MAAQA,GAAS,aAAa,IAAMsyB,GAAUA,EAAO,KAAO,OAAO,kBAAoB,IAGzF,MAAQtyB,GAAS,cAAgB,IACjC,MAAQA,GAAS,WAAa,CAC7B,SAAU,GACV,KAAM,GACN,cAAe,MAAQA,GAAS,aAChC,mBAAoB,EACtB,GACC,MAAQA,GAAS,YAAc,IAAI,eACnC,MAAQA,GAAS,SAAW,CAAC,GAC7B,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,aAAe,IAAI,QACpC,MAAQA,GAAS,eAAiB,IAClC,MAAQA,GAAS,aAAe,QACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,cAAc,EAE9C,eAAe,UAAU,YAAc,SAAUiX,EAAM,CACrD,OAAO,IAAI,eAAeA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,SAAUiX,EAAM,CACpD,OAAO,IAAI,cAAcA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC9E,EAEA,eAAe,UAAU,YAAc,SAAUiX,EAAM,CACrD,OAAO,IAAI,eAAeA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,SAAUiX,EAAM,CACpD,OAAO,IAAI,cAAcA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC9E,EAEA,eAAe,UAAU,YAAc,SAAUiX,EAAM,CACrD,OAAO,IAAI,eAAeA,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,aAAe,SAAUiI,EAAO,CACvD,GAAI,EAAAA,EAAM,CAAC,IAAM,GAAKA,EAAM,CAAC,IAAM,GAAKA,EAAM,CAAC,IAAM,GAAKA,EAAM,CAAC,IAAM,GAAKA,EAAM,EAAE,IAAM,GAAKA,EAAM,EAAE,IAAM,GAI7G,IAAI,EAAE,MAAQjI,GAAS,aAAa,YAAa,EAC9C,MAAQA,GAAS,cAAc,UAAUiI,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,CAAC,EAEtG,MACF,EAEC,MAAQjI,GAAS,aAAa,eAAeiI,CAAK,EAEnD,IAAI+qB,GAAU,MAAQhzB,GAAS,YAAY,IAAI,OAE9C,MAAQA,GAAS,aAAa,UAAUgzB,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,CAAC,GAG5N,MAAQhzB,GAAS,YAAY,IAAI,gBAAgB,MAAQA,GAAS,aAAa,KAAK,EAErF,IAAIizB,GAAW,MAAQjzB,GAAS,YAAY,IAAI,OAE/C,MAAQA,GAAS,cAAc,aAAaizB,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGA,EAAQ,EAAE,EAAGA,EAAQ,EAAE,CAAC,EACvH,EAEA,eAAe,UAAU,WAAa,SAAUC,EAAI,CAIlD,GAAI,EAAE,MAAQlzB,GAAS,aAAa,YAAa,EAC9C,MAAQA,GAAS,cAAc,aAAekzB,EAAK,EAAI,EAAIA,GAC3D,MAAQlzB,GAAS,WAAW,oBAAsB,MAAQA,GAAS,YAAY,GAChF,MACF,EAEC,MAAQA,GAAS,YAAY,IAAMkzB,EAAK,EAAI,EAAIA,GAE5C,MAAQlzB,GAAS,WAAW,sBAAwB,MAAQA,GAAS,YAAY,MACnF,MAAQA,GAAS,cAAc,aAAe,MAAQA,GAAS,YAAY,IAC3E,MAAQA,GAAS,WAAW,oBAAsB,MAAQA,GAAS,YAAY,GAEpF,EAEA,eAAe,UAAU,MAAQ,UAAY,CAC3C,GAAI,EAAE,MAAQA,GAAS,aAAa,YAAa,EAC9C,MAAQA,GAAS,cAAc,QAAQ,EAExC,MACF,EAEC,MAAQA,GAAS,YAAY,MAAM,CACtC,EAEA,eAAe,UAAU,KAAO,SAAUmzB,EAAY,CACpD,GAAI,EAAE,MAAQnzB,GAAS,aAAa,YAAa,EAC9C,MAAQA,GAAS,cAAc,KAAK,EAErC,MACF,CAEImzB,IACD,MAAQnzB,GAAS,cAAc,KAAK,EAGvC,IAAIiI,GAAS,MAAQjI,GAAS,YAAY,IAAI,OAEzC,MAAQA,GAAS,YAAY,UAAY,MAAQA,GAAS,YAAY,UACxE,MAAQA,GAAS,YAAY,UAAU,EAG1C,IAAI,EACAgD,GAAO,MAAQhD,GAAS,YAAY,OAAO,MAAQA,GAAS,YAAY,OAAO,EAEnF,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvBgD,EAAI,CAAC,EAAIiF,EAAM,CAAC,GAGjB,MAAQjI,GAAS,YAAY,SAAS,MAAQA,GAAS,YAAY,OAAO,GAAK,MAAQA,GAAS,YAAY,IAC5G,MAAQA,GAAS,YAAY,SAAW,CAC3C,EAEA,eAAe,UAAU,QAAU,SAAUmzB,EAAY,CACvD,GAAI,EAAE,MAAQnzB,GAAS,aAAa,YAAa,EAC9C,MAAQA,GAAS,cAAc,QAAQ,EAExC,MACF,CAEImzB,KACD,MAAQnzB,GAAS,cAAc,QAAQ,GAEvC,MAAQA,GAAS,WAAW,UAAY,gBAG1C,MAAQA,GAAS,YAAY,SAAW,EACzC,IAAIozB,GAAU,MAAQpzB,GAAS,YAAY,OAAO,MAAQA,GAAS,YAAY,OAAO,EAClF,EACAgD,GAAO,MAAQhD,GAAS,YAAY,IAAI,MAE5C,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvBgD,EAAI,CAAC,EAAIowB,EAAO,CAAC,GAGlB,MAAQpzB,GAAS,cAAc,aAAaozB,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,EAAE,EAAGA,EAAO,EAAE,CAAC,EAE/GA,GAAU,MAAQpzB,GAAS,YAAY,SAAS,MAAQA,GAAS,YAAY,OAAO,GACnF,MAAQA,GAAS,YAAY,GAAKozB,GAE9B,MAAQpzB,GAAS,WAAW,qBAAuBozB,KACrD,MAAQpzB,GAAS,cAAc,YAAcozB,GAC7C,MAAQpzB,GAAS,WAAW,mBAAqBozB,EAEtD,EAEA,eAAe,UAAU,gBAAkB,SAAUjB,EAAU,CAC7D,IAAK,MAAQnyB,GAAS,cAAc,QAAS,EAC1C,MAAQA,GAAS,cAAc,UAAY,UAAU,QAAQ,EAC9D,IAAIqzB,GAAkB,MAAQrzB,GAAS,cAAc,UAAU,MAC/DqzB,EAAe,MAAQ,OACvBA,EAAe,OAAS,OACxB,IAAIC,EAAS,cACbD,EAAe,gBAAkBC,EACjCD,EAAe,mBAAqBC,EACpCD,EAAe,sBAAwBC,EACvCD,EAAe,mBAAmB,EAAIC,GAErC,MAAQtzB,GAAS,cAAc,QAAQ,aAAa,MAAQA,GAAS,cAAc,SAAS,GAE5F,MAAQA,GAAS,eAAiB,MAAQA,GAAS,cAAc,UAAU,WAAW,IAAI,GAEtF,MAAQA,GAAS,aAAa,YAChC,MAAQA,GAAS,cAAc,UAAU,aAAa,SAAU,MAAQA,GAAS,aAAa,SAAS,GAGrG,MAAQA,GAAS,aAAa,KAChC,MAAQA,GAAS,cAAc,UAAU,aAAa,MAAO,MAAQA,GAAS,aAAa,EAAE,CAElG,MACG,MAAQA,GAAS,eAAiB,MAAQA,GAAS,aAAa,SAGlE,MAAQA,GAAS,KAAOmyB,GACxB,MAAQnyB,GAAS,OAASmyB,EAAS,QACnC,MAAQnyB,GAAS,gBAAkB,CAClC,EAAGmyB,EAAS,EACZ,EAAGA,EAAS,EACZ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,CACN,EACA,KAAK,gBAAgBA,EAAU,SAAS,IAAI,GAC3C,MAAQnyB,GAAS,WAAW,eAAiB,MAAQA,GAAS,eAC9D,MAAQA,GAAS,WAAW,SAAW,MAAQA,GAC/C,MAAQA,GAAS,WAAW,SAAW,IACvC,MAAQA,GAAS,WAAW,iBAAmB,MAAQA,GAAS,aAAa,iBAC7E,MAAQA,GAAS,WAAW,iBAAmB,MAAQA,GAAS,iBAChE,MAAQA,GAAS,SAAW,iBAAiBmyB,EAAS,OAAO,MAAM,EACpE,KAAK,oBAAoB,CAC3B,EAEA,eAAe,UAAU,oBAAsB,UAAY,CACzD,KAAK,MAAM,EACX,IAAIoB,EACAC,GAEC,MAAQxzB,GAAS,cAAc,UAAY,MAAQA,GAAS,cAAc,WAC7EuzB,GAAgB,MAAQvzB,GAAS,cAAc,QAAQ,YACvDwzB,GAAiB,MAAQxzB,GAAS,cAAc,QAAQ,cAEvD,MAAQA,GAAS,cAAc,UAAU,aAAa,QAASuzB,GAAgB,MAAQvzB,GAAS,aAAa,GAAG,GAEhH,MAAQA,GAAS,cAAc,UAAU,aAAa,SAAUwzB,GAAiB,MAAQxzB,GAAS,aAAa,GAAG,IAEnHuzB,GAAgB,MAAQvzB,GAAS,cAAc,OAAO,OAAS,MAAQA,GAAS,aAAa,IAC7FwzB,GAAiB,MAAQxzB,GAAS,cAAc,OAAO,QAAU,MAAQA,GAAS,aAAa,KAGjG,IAAIyzB,EACAC,EAEJ,IAAK,MAAQ1zB,GAAS,aAAa,oBAAoB,QAAQ,MAAM,IAAM,KAAO,MAAQA,GAAS,aAAa,oBAAoB,QAAQ,OAAO,IAAM,GAAI,CAC3J,IAAI2zB,GAAO,MAAQ3zB,GAAS,aAAa,oBAAoB,MAAM,GAAG,EAElE4zB,EAAWD,EAAI,CAAC,GAAK,OACrB/T,EAAM+T,EAAI,CAAC,GAAK,WAChBtI,EAAOzL,EAAI,OAAO,EAAG,CAAC,EACtB0L,EAAO1L,EAAI,OAAO,CAAC,EACvB6T,EAAaF,EAAeC,EAC5BE,GAAgB,MAAQ1zB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,gBAAgB,EAEnF0zB,EAAeD,GAAcG,IAAa,QAAUF,EAAeD,GAAcG,IAAa,UAC/F,MAAQ5zB,GAAS,gBAAgB,GAAKuzB,IAAiB,MAAQvzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,MAC3H,MAAQA,GAAS,gBAAgB,GAAKuzB,IAAiB,MAAQvzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,QAE3H,MAAQA,GAAS,gBAAgB,GAAKwzB,IAAkB,MAAQxzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,MAC5H,MAAQA,GAAS,gBAAgB,GAAKwzB,IAAkB,MAAQxzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,MAG3HqrB,IAAS,SAAWqI,EAAeD,GAAcG,IAAa,QAAUF,EAAeD,GAAcG,IAAa,UACnH,MAAQ5zB,GAAS,gBAAgB,IAAMuzB,GAAgB,MAAQvzB,GAAS,gBAAgB,GAAKwzB,GAAiB,MAAQxzB,GAAS,gBAAgB,IAAM,GAAK,MAAQA,GAAS,aAAa,IAChLqrB,IAAS,SAAWqI,EAAeD,GAAcG,IAAa,QAAUF,EAAeD,GAAcG,IAAa,UAC1H,MAAQ5zB,GAAS,gBAAgB,IAAMuzB,GAAgB,MAAQvzB,GAAS,gBAAgB,GAAKwzB,GAAiB,MAAQxzB,GAAS,gBAAgB,KAAO,MAAQA,GAAS,aAAa,KAEpL,MAAQA,GAAS,gBAAgB,GAAK,EAGrCsrB,IAAS,SAAWoI,EAAeD,GAAcG,IAAa,QAAUF,EAAeD,GAAcG,IAAa,UACnH,MAAQ5zB,GAAS,gBAAgB,IAAMwzB,GAAiB,MAAQxzB,GAAS,gBAAgB,GAAKuzB,GAAgB,MAAQvzB,GAAS,gBAAgB,IAAM,GAAK,MAAQA,GAAS,aAAa,IAChLsrB,IAAS,SAAWoI,EAAeD,GAAcG,IAAa,QAAUF,EAAeD,GAAcG,IAAa,UAC1H,MAAQ5zB,GAAS,gBAAgB,IAAMwzB,GAAiB,MAAQxzB,GAAS,gBAAgB,GAAKuzB,GAAgB,MAAQvzB,GAAS,gBAAgB,KAAO,MAAQA,GAAS,aAAa,KAEpL,MAAQA,GAAS,gBAAgB,GAAK,CAE3C,MAAY,MAAQA,GAAS,aAAa,sBAAwB,SAC/D,MAAQA,GAAS,gBAAgB,GAAKuzB,IAAiB,MAAQvzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,MAC3H,MAAQA,GAAS,gBAAgB,GAAKwzB,IAAkB,MAAQxzB,GAAS,gBAAgB,GAAK,MAAQA,GAAS,aAAa,MAC5H,MAAQA,GAAS,gBAAgB,GAAK,GACtC,MAAQA,GAAS,gBAAgB,GAAK,KAEtC,MAAQA,GAAS,gBAAgB,IAAM,MAAQA,GAAS,aAAa,KACrE,MAAQA,GAAS,gBAAgB,IAAM,MAAQA,GAAS,aAAa,KACrE,MAAQA,GAAS,gBAAgB,GAAK,GACtC,MAAQA,GAAS,gBAAgB,GAAK,IAGxC,MAAQA,GAAS,gBAAgB,MAAQ,EAAE,MAAQA,GAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,GAAI,MAAQA,GAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,MAAQA,GAAS,gBAAgB,IAAK,MAAQA,GAAS,gBAAgB,GAAI,EAAG,CAAC,EAQrO,KAAK,cAAc,MAAQA,GAAS,gBAAgB,KAAK,GAExD,MAAQA,GAAS,cAAc,UAAU,GAEzC,MAAQA,GAAS,cAAc,KAAK,EAAG,GAAI,MAAQA,GAAS,gBAAgB,GAAI,MAAQA,GAAS,gBAAgB,CAAC,GAElH,MAAQA,GAAS,cAAc,UAAU,GAEzC,MAAQA,GAAS,cAAc,KAAK,EAErC,KAAK,aAAa,MAAQA,GAAS,cAAe,EAAI,CACxD,EAEA,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQA,GAAS,aAAa,cAAgB,MAAQA,GAAS,cAAc,WAC/E,MAAQA,GAAS,cAAc,QAAQ,UAAY,IAGtD,IAAIQ,EACAC,GAAO,MAAQT,GAAS,QAAU,MAAQA,GAAS,OAAO,OAAS,EAEvE,IAAKQ,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,GACxB,MAAQR,GAAS,SAASQ,CAAC,IAC7B,MAAQR,GAAS,SAASQ,CAAC,EAAE,QAAQ,GAIzC,MAAQR,GAAS,SAAS,OAAS,GACnC,MAAQA,GAAS,WAAW,cAAgB,MAC5C,MAAQA,GAAS,cAAc,UAAY,MAC3C,MAAQA,GAAS,UAAY,EAChC,EAEA,eAAe,UAAU,YAAc,SAAU4xB,EAAK3S,EAAa,CACjE,GAAK,SAAQjf,GAAS,gBAAkB4xB,IAAQ,MAAQ5xB,GAAS,aAAa,cAAgB,IAAQ,CAACif,IAAgB,MAAQjf,GAAS,WAAa4xB,IAAQ,IAI7J,EAAC,MAAQ5xB,GAAS,cAAgB4xB,GACjC,MAAQ5xB,GAAS,WAAW,SAAW4xB,GAAO,MAAQ5xB,GAAS,cAAc,eAC7E,MAAQA,GAAS,WAAW,SAAW,GACvC,MAAQA,GAAS,WAAW,KAAO,EAAE,MAAQA,GAAS,aAAa,aAAeif,GAClF,MAAQjf,GAAS,WAAW,iBAAiB,aAAe4xB,EAG7D,IAAI,EACAnxB,GAAO,MAAQT,GAAS,OAAO,OAMnC,KAJM,MAAQA,GAAS,gBACrB,KAAK,YAAY4xB,CAAG,EAGjB,EAAI,EAAG,EAAInxB,EAAK,GAAK,IACnB,MAAQT,GAAS,iBAAmB,MAAQA,GAAS,SAAS,CAAC,KACjE,MAAQA,GAAS,SAAS,CAAC,EAAE,aAAa4xB,GAAO,MAAQ5xB,GAAS,OAAO,CAAC,EAAE,EAAE,EAInF,IAAK,MAAQA,GAAS,WAAW,KAAM,CAOrC,KANK,MAAQA,GAAS,aAAa,cAAgB,IAChD,MAAQA,GAAS,cAAc,UAAU,EAAG,GAAI,MAAQA,GAAS,gBAAgB,GAAI,MAAQA,GAAS,gBAAgB,CAAC,EAExH,KAAK,KAAK,EAGP,EAAIS,EAAM,EAAG,GAAK,EAAG,GAAK,IACxB,MAAQT,GAAS,iBAAmB,MAAQA,GAAS,SAAS,CAAC,KACjE,MAAQA,GAAS,SAAS,CAAC,EAAE,YAAY,GAIzC,MAAQA,GAAS,aAAa,cAAgB,IACjD,KAAK,QAAQ,CAEjB,EACF,EAEA,eAAe,UAAU,UAAY,SAAU4f,EAAK,CAClD,IAAI0G,GAAY,MAAQtmB,GAAS,SAEjC,GAAI,EAAAsmB,EAAS1G,CAAG,IAAM,MAAQ5f,GAAS,OAAO4f,CAAG,EAAE,KAAO,IAI1D,KAAI9e,EAAU,KAAK,YAAY,MAAQd,GAAS,OAAO4f,CAAG,EAAG,MAAQ5f,GAAU,MAAQA,GAAS,UAAU,EAC1GsmB,EAAS1G,CAAG,EAAI9e,EAChBA,EAAQ,gBAAgB,EAI1B,EAEA,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQd,GAAS,gBAAgB,QAAQ,CAC/C,IAAIc,GAAW,MAAQd,GAAS,gBAAgB,IAAI,EAEpDc,EAAQ,eAAe,CACzB,CACF,EAEA,eAAe,UAAU,KAAO,UAAY,EACzC,MAAQd,GAAS,cAAc,UAAU,MAAM,QAAU,MAC5D,EAEA,eAAe,UAAU,KAAO,UAAY,EACzC,MAAQA,GAAS,cAAc,UAAU,MAAM,QAAU,OAC5D,EAMA,SAAS,eAAeqyB,EAAeC,EAAQ,EAC5C,MAAQtyB,GAAS,cAAgBqyB,GACjC,MAAQryB,GAAS,OAAS,MAC1B,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,aAAe,CAC/B,UAAWsyB,GAAUA,EAAO,WAAa,GACzC,yBAA0BA,GAAUA,EAAO,0BAA4B,iBACvE,kBAAmB,EAAEA,GAAUA,EAAO,oBAAsB,IAC5D,WAAY,CACV,MAAOA,GAAUA,EAAO,YAAcA,EAAO,WAAW,OAAS,OACjE,OAAQA,GAAUA,EAAO,YAAcA,EAAO,WAAW,QAAU,OACnE,EAAGA,GAAUA,EAAO,YAAcA,EAAO,WAAW,GAAK,QACzD,EAAGA,GAAUA,EAAO,YAAcA,EAAO,WAAW,GAAK,OAC3D,CACF,GACC,MAAQtyB,GAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACV,cAAe,MAAQA,GAAS,YAClC,GACC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,SAAW,CAAC,GAC7B,MAAQA,GAAS,eAAiB,CAAC,GACnC,MAAQA,GAAS,UAAY,IAC7B,MAAQA,GAAS,OAAS,MAC1B,MAAQA,GAAS,WAAa,IAC9B,MAAQA,GAAS,aAAe,MACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,cAAc,EAC9C,eAAe,UAAU,UAAY,YAAY,UAAU,UAE3D,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQA,GAAS,gBAAgB,QAAQ,CAC/C,IAAIc,GAAW,MAAQd,GAAS,gBAAgB,IAAI,EAEpDc,EAAQ,eAAe,CACzB,CACF,EAEA,eAAe,UAAU,mBAAqB,SAAUA,EAAS8e,EAAK,CACpE,IAAIiU,EAAgB/yB,EAAQ,eAAe,EAE3C,GAAK+yB,EAIL,KAAIhC,GAAS,MAAQ7xB,GAAS,OAAO4f,CAAG,EAExC,GAAI,CAACiS,EAAM,KAAO,EAAE,MAAQ7xB,GAAS,WACnC,IAAK,MAAQA,GAAS,eACpB,KAAK,iBAAiB6zB,EAAejU,CAAG,MACnC,CAML,QALIpf,EAAI,EACJszB,EACAC,EACAC,EAEGxzB,EAAIof,IACJ,MAAQ5f,GAAS,SAASQ,CAAC,IAAM,MAAQR,GAAS,SAASQ,CAAC,IAAM,KAAS,MAAQR,GAAS,SAASQ,CAAC,EAAE,iBAC3GuzB,GAAa,MAAQ/zB,GAAS,SAASQ,CAAC,EACxCwzB,GAAiB,MAAQh0B,GAAS,OAAOQ,CAAC,EAAE,IAAM,KAAK,wBAAwBA,CAAC,EAAIuzB,EAAU,eAAe,EAC7GD,EAAiBE,GAAiBF,GAGpCtzB,GAAK,EAGHszB,GACE,CAACjC,EAAM,KAAO,EAAE,MAAQ7xB,GAAS,cAClC,MAAQA,GAAS,aAAa,aAAa6zB,EAAeC,CAAc,GAElE,CAACjC,EAAM,KAAO,EAAE,MAAQ7xB,GAAS,cACzC,MAAQA,GAAS,aAAa,YAAY6zB,CAAa,CAE5D,MAEA,KAAK,iBAAiBA,EAAejU,CAAG,EAE5C,EAEA,eAAe,UAAU,YAAc,SAAU3I,EAAM,CACrD,OAAM,MAAQjX,GAAS,WAIhB,IAAI,cAAciX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAHnE,IAAI,gBAAgBiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAIlF,EAEA,eAAe,UAAU,WAAa,SAAUiX,EAAM,CACpD,OAAM,MAAQjX,GAAS,WAIhB,IAAI,aAAaiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAHlE,IAAI,qBAAqBiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAIvF,EAEA,eAAe,UAAU,aAAe,SAAUiX,EAAM,CACtD,OAAC,MAAQjX,GAAS,OAAS,IAAI,eAAeiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,GACzF,MAAQA,GAAS,MAC3B,EAEA,eAAe,UAAU,YAAc,SAAUiX,EAAM,CACrD,OAAM,MAAQjX,GAAS,WAIhB,IAAI,cAAciX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAHnE,IAAI,cAAciX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAIhF,EAEA,eAAe,UAAU,WAAa,SAAUiX,EAAM,CACpD,OAAM,MAAQjX,GAAS,WAIhB,IAAI,aAAaiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAHlE,IAAI,eAAeiX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAIjF,EAEA,eAAe,UAAU,YAAc,SAAUiX,EAAM,CACrD,OAAM,MAAQjX,GAAS,WAIhB,IAAI,cAAciX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAHnE,IAAI,cAAciX,GAAO,MAAQjX,GAAS,WAAY,MAAQA,CAAO,CAIhF,EAEA,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,wBAA0B,SAAU4f,EAAK,CAIhE,QAHIpf,EAAI,EACJC,GAAO,MAAQT,GAAS,eAAe,OAEpCQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,eAAeQ,CAAC,EAAE,UAAYof,IAAQ,MAAQ5f,GAAS,eAAeQ,CAAC,EAAE,QAAUof,EACvG,OAAQ,MAAQ5f,GAAS,eAAeQ,CAAC,EAAE,gBAG7CA,GAAK,CACP,CAEA,OAAO,IACT,EAEA,eAAe,UAAU,sBAAwB,SAAUof,EAAK7e,EAAM,CACpE,IAAIkzB,EAAkB,UAAU,KAAK,EACjC1a,EACA8Z,EACJ,SAASY,CAAe,EACxB,IAAI7wB,EAAY,UAAU,KAAK,EAG/B,GAFA,SAASA,CAAS,EAEdrC,IAAS,KAAM,CACjBwY,EAAQ0a,EAAgB,MACxB1a,EAAM,OAAS,MAAQvZ,GAAS,WAAW,SAAS,EAAI,KACxDuZ,EAAM,QAAU,MAAQvZ,GAAS,WAAW,SAAS,EAAI,KACzD,IAAIk0B,EAAS,UACb3a,EAAM,sBAAwB2a,EAC9B3a,EAAM,mBAAqB2a,EAC3B3a,EAAM,gBAAkB2a,EACxBb,EAAiBjwB,EAAU,MAC3B,IAAI+wB,EAAS,4CACbd,EAAe,UAAYc,EAC3Bd,EAAe,gBAAkBc,CACnC,CAEAF,EAAgB,YAAY7wB,CAAS,EAErC,IAAIgxB,EAAsB,CACxB,UAAWhxB,EACX,gBAAiB6wB,EACjB,SAAUrU,EACV,OAAQA,EACR,KAAM7e,CACR,EAEA,OAAC,MAAQf,GAAS,eAAe,KAAKo0B,CAAmB,EAElDA,CACT,EAEA,eAAe,UAAU,kBAAoB,UAAY,CACvD,IAAI5zB,EACAC,GAAO,MAAQT,GAAS,OAAO,OAC/Bq0B,EACAC,EAAmB,GAEvB,IAAK9zB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACnB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,MAAQ,MAAQR,GAAS,OAAOQ,CAAC,EAAE,KAAO,GACpE8zB,IAAqB,OACvBA,EAAmB,KACnBD,EAA0B,KAAK,sBAAsB7zB,EAAG,IAAI,GAG9D6zB,EAAwB,OAAS,KAAK,IAAIA,EAAwB,OAAQ7zB,CAAC,IAEvE8zB,IAAqB,OACvBA,EAAmB,KACnBD,EAA0B,KAAK,sBAAsB7zB,EAAG,IAAI,GAG9D6zB,EAAwB,OAAS,KAAK,IAAIA,EAAwB,OAAQ7zB,CAAC,GAM/E,IAFAC,GAAO,MAAQT,GAAS,eAAe,OAElCQ,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,GAC5B,MAAQR,GAAS,YAAY,aAAa,MAAQA,GAAS,eAAeQ,CAAC,EAAE,eAAe,CAEjG,EAEA,eAAe,UAAU,iBAAmB,SAAU2d,EAAMyB,EAAK,CAI/D,QAHI,EAAI,EACJnf,GAAO,MAAQT,GAAS,eAAe,OAEpC,EAAIS,GAAK,CACd,GAAImf,IAAQ,MAAQ5f,GAAS,eAAe,CAAC,EAAE,OAAQ,CAIrD,QAHIgF,GAAK,MAAQhF,GAAS,eAAe,CAAC,EAAE,SACxC+yB,EAEG/tB,EAAI4a,IACJ,MAAQ5f,GAAS,SAASgF,CAAC,IAAM,MAAQhF,GAAS,SAASgF,CAAC,EAAE,iBACjE+tB,GAAe,MAAQ/yB,GAAS,SAASgF,CAAC,EAAE,eAAe,GAG7DA,GAAK,EAGH+tB,GACD,MAAQ/yB,GAAS,eAAe,CAAC,EAAE,UAAU,aAAame,EAAM4U,CAAW,GAE3E,MAAQ/yB,GAAS,eAAe,CAAC,EAAE,UAAU,YAAYme,CAAI,EAGhE,KACF,CAEA,GAAK,CACP,CACF,EAEA,eAAe,UAAU,gBAAkB,SAAUgU,EAAU,CAC7D,IAAIoC,EAAc,UAAU,KAAK,EAC7BC,GAAW,MAAQx0B,GAAS,cAAc,QAC1CuZ,EAAQgb,EAAY,MACxBhb,EAAM,MAAQ4Y,EAAS,EAAI,KAC3B5Y,EAAM,OAAS4Y,EAAS,EAAI,MAC3B,MAAQnyB,GAAS,YAAcu0B,EAChC,SAASA,CAAW,EACpBhb,EAAM,eAAiB,OACvBA,EAAM,kBAAoB,OAC1BA,EAAM,qBAAuB,QAExB,MAAQvZ,GAAS,aAAa,WACjCu0B,EAAY,aAAa,SAAU,MAAQv0B,GAAS,aAAa,SAAS,EAG5Ew0B,EAAQ,YAAYD,CAAW,EAC/Bhb,EAAM,SAAW,SACjB,IAAIkb,EAAM,SAAS,KAAK,EACxBA,EAAI,aAAa,QAAS,GAAG,EAC7BA,EAAI,aAAa,SAAU,GAAG,EAC9B,SAASA,CAAG,GAEX,MAAQz0B,GAAS,YAAY,YAAYy0B,CAAG,EAE7C,IAAI7b,EAAO,SAAS,MAAM,EAC1B6b,EAAI,YAAY7b,CAAI,GACnB,MAAQ5Y,GAAS,KAAOmyB,EAEzB,KAAK,gBAAgBA,EAAUsC,CAAG,GACjC,MAAQz0B,GAAS,WAAW,KAAO4Y,GACnC,MAAQ5Y,GAAS,OAASmyB,EAAS,QACnC,MAAQnyB,GAAS,cAAgB,MAAQA,GAAS,YACnD,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,CAC3B,EAEA,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQA,GAAS,cAAc,WACjC,MAAQA,GAAS,cAAc,QAAQ,UAAY,KAGrD,MAAQA,GAAS,cAAc,UAAY,MAC3C,MAAQA,GAAS,WAAW,KAAO,KACpC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,QAAU,MAAQA,GAAS,OAAO,OAAS,EAEvE,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,SAASQ,CAAC,EAAE,QAAQ,GAGvC,MAAQR,GAAS,SAAS,OAAS,GACnC,MAAQA,GAAS,UAAY,IAC7B,MAAQA,GAAS,cAAgB,IACpC,EAEA,eAAe,UAAU,oBAAsB,UAAY,CACzD,IAAIuzB,GAAgB,MAAQvzB,GAAS,cAAc,QAAQ,YACvDwzB,GAAiB,MAAQxzB,GAAS,cAAc,QAAQ,aACxDyzB,EAAaF,EAAeC,EAC5BE,GAAgB,MAAQ1zB,GAAS,WAAW,SAAS,GAAK,MAAQA,GAAS,WAAW,SAAS,EAC/FoE,EACAC,EACAkB,EACAC,EAEAkuB,EAAeD,GACjBrvB,EAAKmvB,GAAgB,MAAQvzB,GAAS,WAAW,SAAS,EAC1DqE,EAAKkvB,GAAgB,MAAQvzB,GAAS,WAAW,SAAS,EAC1DuF,EAAK,EACLC,GAAMguB,GAAiB,MAAQxzB,GAAS,WAAW,SAAS,GAAKuzB,GAAgB,MAAQvzB,GAAS,WAAW,SAAS,IAAM,IAE5HoE,EAAKovB,GAAiB,MAAQxzB,GAAS,WAAW,SAAS,EAC3DqE,EAAKmvB,GAAiB,MAAQxzB,GAAS,WAAW,SAAS,EAC3DuF,GAAMguB,GAAgB,MAAQvzB,GAAS,WAAW,SAAS,GAAKwzB,GAAiB,MAAQxzB,GAAS,WAAW,SAAS,IAAM,EAC5HwF,EAAK,GAGP,IAAI+T,GAAS,MAAQvZ,GAAS,YAAY,MAC1CuZ,EAAM,gBAAkB,YAAcnV,EAAK,YAAcC,EAAK,gBAAkBkB,EAAK,IAAMC,EAAK,QAChG+T,EAAM,UAAYA,EAAM,eAC1B,EAEA,eAAe,UAAU,YAAc,YAAY,UAAU,YAE7D,eAAe,UAAU,KAAO,UAAY,EACzC,MAAQvZ,GAAS,YAAY,MAAM,QAAU,MAChD,EAEA,eAAe,UAAU,KAAO,UAAY,EACzC,MAAQA,GAAS,YAAY,MAAM,QAAU,OAChD,EAEA,eAAe,UAAU,UAAY,UAAY,CAG/C,GAFA,KAAK,cAAc,GAEd,MAAQA,GAAS,QACnB,MAAQA,GAAS,OAAO,MAAM,MAC1B,CACL,IAAI00B,GAAU,MAAQ10B,GAAS,WAAW,SAAS,EAC/C20B,GAAW,MAAQ30B,GAAS,WAAW,SAAS,EAChD,EACAS,GAAO,MAAQT,GAAS,eAAe,OAE3C,IAAK,EAAI,EAAG,EAAIS,EAAK,GAAK,EAAG,CAC3B,IAAI8Y,GAAS,MAAQvZ,GAAS,eAAe,CAAC,EAAE,gBAAgB,MAChEuZ,EAAM,kBAAoB,KAAK,KAAK,KAAK,IAAImb,EAAQ,CAAC,EAAI,KAAK,IAAIC,EAAS,CAAC,CAAC,EAAI,KAClFpb,EAAM,YAAcA,EAAM,iBAC5B,CACF,CACF,EAEA,eAAe,UAAU,wBAA0B,SAAU+P,EAAQ,CACnE,IAAI9oB,EACAC,EAAM6oB,EAAO,OACbsL,EAAoB,UAAU,KAAK,EAEvC,IAAKp0B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI8oB,EAAO9oB,CAAC,EAAE,GAAI,CAChB,IAAI0xB,EAAO,KAAK,WAAW5I,EAAO9oB,CAAC,EAAGo0B,GAAoB,MAAQ50B,GAAS,WAAW,KAAM,IAAI,EAChGkyB,EAAK,gBAAgB,GAEpB,MAAQlyB,GAAS,WAAW,iBAAiB,oBAAoBkyB,CAAI,CACxE,CAEJ,EAIA,SAAS,YAAYjb,EAAMnW,EAAS+zB,EAAY,EAC7C,MAAQ70B,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,QAAUc,GAC3B,MAAQd,GAAS,WAAa60B,GAC9B,MAAQ70B,GAAS,WAAa,CAAC,GAC/B,MAAQA,GAAS,iBAAmB,MAAQA,GAAS,KAAK,iBAAmB,CAAC,GAC9E,MAAQA,GAAS,YAAc,KAChC,IAAI4Y,GAAQ,MAAQ5Y,GAAS,WAAW,KACpCQ,EACAC,GAAO,MAAQT,GAAS,iBAAmB,MAAQA,GAAS,gBAAgB,OAAS,GACxF,MAAQA,GAAS,SAAW,iBAAiBS,CAAG,GAChD,MAAQT,GAAS,UAAY,GAC9B,IAAI4V,EACAkf,GAAc,MAAQ90B,GAAS,gBAC/BkM,EAAQ,EACR6oB,EAAe,CAAC,EAChB/vB,EACAqQ,EACA2f,EAAU,gBAAgB,EAC1BnC,EACAoC,EACAC,EACA/sB,EACAgtB,EAAW,WACXC,EAAU,YAEd,IAAK50B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAkBxB,IAjBIs0B,EAAWt0B,CAAC,EAAE,OAAS,KAAOs0B,EAAWt0B,CAAC,EAAE,OAAS,KAAOs0B,EAAWt0B,CAAC,EAAE,KAAOs0B,EAAWt0B,CAAC,EAAE,EAAE,IAAM,KAAOs0B,EAAWt0B,CAAC,EAAE,EAAE,KAChI20B,EAAW,OACXC,EAAU,SAGPN,EAAWt0B,CAAC,EAAE,OAAS,KAAOs0B,EAAWt0B,CAAC,EAAE,OAAS,MAAQ0L,IAAU,GAC1E2mB,EAAO,SAAS,MAAM,EACtBA,EAAK,aAAa,OAAQ,SAAS,EACnCA,EAAK,aAAa,SAAU,MAAQ7yB,GAAS,QAAQ,KAAK,KAAK,GAAK,CAAC,EACrE6yB,EAAK,aAAa,UAAW,MAAQ7yB,GAAS,QAAQ,KAAK,KAAK,GAAK,CAAC,EACtE+0B,EAAa,KAAKlC,CAAI,GAEtBA,EAAO,KAGTjd,EAAO,SAAS,MAAM,EAElBkf,EAAWt0B,CAAC,EAAE,OAAS,KAExB,MAAQR,GAAS,SAASQ,CAAC,EAAI,CAC9B,GAAI,gBAAgB,SAAS,MAAQR,GAAS,QAAS80B,EAAWt0B,CAAC,EAAE,EAAG,EAAG,KAAO,MAAQR,GAAS,OAAO,EAC1G,KAAM,qBAAqB,cAAc,MAAQA,GAAS,QAAS80B,EAAWt0B,CAAC,EAAG,CAAC,EACnF,KAAMoV,EACN,SAAU,EACZ,EACAgD,EAAK,YAAYhD,CAAI,MAChB,CACL1J,GAAS,EACT0J,EAAK,aAAa,OAAQkf,EAAWt0B,CAAC,EAAE,OAAS,IAAM,UAAY,SAAS,EAC5EoV,EAAK,aAAa,YAAa,SAAS,EACxC,IAAIyf,EAgCJ,GA9BIP,EAAWt0B,CAAC,EAAE,EAAE,IAAM,GACxB20B,EAAW,OACXC,EAAU,OACVjtB,EAAI,gBAAgB,SAAS,MAAQnI,GAAS,QAAS80B,EAAWt0B,CAAC,EAAE,EAAG,EAAG,MAAO,MAAQR,GAAS,OAAO,EAC1Gq1B,EAAW,gBAAgB,EAC3BJ,EAAW,SAAS,QAAQ,EAC5BA,EAAS,aAAa,KAAMI,CAAQ,EACpCH,EAAU,SAAS,cAAc,EACjCA,EAAQ,aAAa,WAAY,OAAO,EACxCA,EAAQ,aAAa,KAAM,eAAe,EAC1CA,EAAQ,aAAa,SAAU,GAAG,EAClCD,EAAS,YAAYC,CAAO,EAC5Btc,EAAK,YAAYqc,CAAQ,EACzBrf,EAAK,aAAa,SAAUkf,EAAWt0B,CAAC,EAAE,OAAS,IAAM,UAAY,SAAS,IAE9E00B,EAAU,KACV/sB,EAAI,OAIL,MAAQnI,GAAS,WAAWQ,CAAC,EAAI,CAChC,KAAMoV,EACN,EAAGzN,EACH,MAAO+sB,EACP,SAAU,GACV,aAAc,GACd,SAAUG,EACV,WAAY,CACd,EAEIP,EAAWt0B,CAAC,EAAE,OAAS,IAAK,CAC9B6U,EAAO0f,EAAa,OACpB,IAAIjzB,EAAI,SAAS,GAAG,EAEpB,IAAKkD,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzBlD,EAAE,YAAYizB,EAAa/vB,CAAC,CAAC,EAG/B,IAAI+F,EAAO,SAAS,MAAM,EAC1BA,EAAK,aAAa,YAAa,OAAO,EACtCA,EAAK,aAAa,KAAMiqB,EAAU,IAAM9oB,CAAK,EAC7CnB,EAAK,YAAY6K,CAAI,EACrBgD,EAAK,YAAY7N,CAAI,EACrBjJ,EAAE,aAAa,OAAQ,OAAS,aAAe,IAAMkzB,EAAU,IAAM9oB,EAAQ,GAAG,EAChF6oB,EAAa,OAAS,EACtBA,EAAa,KAAKjzB,CAAC,CACrB,MACEizB,EAAa,KAAKnf,CAAI,EAGpBkf,EAAWt0B,CAAC,EAAE,KAAO,EAAE,MAAQR,GAAS,aACzC,MAAQA,GAAS,UAAY,KAAK,qBAAqB,IAIzD,MAAQA,GAAS,SAASQ,CAAC,EAAI,CAC9B,KAAMoV,EACN,SAAU,GACV,GAAI,gBAAgB,SAAS,MAAQ5V,GAAS,QAAS80B,EAAWt0B,CAAC,EAAE,EAAG,EAAG,KAAO,MAAQR,GAAS,OAAO,EAC1G,KAAM,qBAAqB,cAAc,MAAQA,GAAS,QAAS80B,EAAWt0B,CAAC,EAAG,CAAC,EACnF,QAASqyB,CACX,GAEM,MAAQ7yB,GAAS,SAASQ,CAAC,EAAE,KAAK,GACtC,KAAK,SAASs0B,EAAWt0B,CAAC,GAAI,MAAQR,GAAS,SAASQ,CAAC,EAAE,KAAK,GAAI,MAAQR,GAAS,SAASQ,CAAC,CAAC,CAEpG,CAMF,KAHC,MAAQR,GAAS,YAAc,SAASm1B,CAAQ,EACjD10B,EAAMs0B,EAAa,OAEdv0B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,YAAY,YAAY+0B,EAAav0B,CAAC,CAAC,EAGvD0L,EAAQ,KACT,MAAQlM,GAAS,YAAY,aAAa,KAAMg1B,CAAO,GAEvD,MAAQh1B,GAAS,QAAQ,cAAc,aAAao1B,EAAS,OAAS,aAAe,IAAMJ,EAAU,GAAG,EAEzGpc,EAAK,aAAa,MAAQ5Y,GAAS,WAAW,IAG3C,MAAQA,GAAS,SAAS,SAC5B,MAAQA,GAAS,QAAQ,uBAAuB,MAAQA,CAAO,CAEpE,CAEA,YAAY,UAAU,gBAAkB,SAAU4f,EAAK,CACrD,OAAQ,MAAQ5f,GAAS,SAAS4f,CAAG,EAAE,IACzC,EAEA,YAAY,UAAU,YAAc,SAAU0V,EAAc,CAC1D,IAAIC,GAAY,MAAQv1B,GAAS,QAAQ,eAAe,IACpD,EACAS,GAAO,MAAQT,GAAS,gBAAgB,OAE5C,IAAK,EAAI,EAAG,EAAIS,EAAK,GAAK,EASxB,KARK,MAAQT,GAAS,SAAS,CAAC,EAAE,KAAK,MAAQs1B,IAC7C,KAAK,UAAU,MAAQt1B,GAAS,gBAAgB,CAAC,GAAI,MAAQA,GAAS,SAAS,CAAC,EAAE,KAAK,GAAI,MAAQA,GAAS,SAAS,CAAC,CAAC,IAGpH,MAAQA,GAAS,SAAS,CAAC,EAAE,GAAG,MAAQs1B,KAC1C,MAAQt1B,GAAS,SAAS,CAAC,EAAE,KAAK,aAAa,gBAAiB,MAAQA,GAAS,SAAS,CAAC,EAAE,GAAG,CAAC,GAG/F,MAAQA,GAAS,gBAAgB,CAAC,EAAE,OAAS,OAC3C,MAAQA,GAAS,SAAS,CAAC,EAAE,WAAa,MAAQA,GAAS,QAAQ,eAAe,MAAM,MAAQs1B,KAClG,MAAQt1B,GAAS,SAAS,CAAC,EAAE,QAAQ,aAAa,YAAau1B,EAAS,iBAAiB,EAAE,QAAQ,CAAC,GAGlG,MAAQv1B,GAAS,WAAW,CAAC,EAAE,KAAO,MAAQA,GAAS,WAAW,CAAC,EAAE,EAAE,MAAQs1B,IAAe,CACjG,IAAIJ,GAAW,MAAQl1B,GAAS,WAAW,CAAC,EAAE,OAEzC,MAAQA,GAAS,WAAW,CAAC,EAAE,EAAE,EAAI,IACnC,MAAQA,GAAS,WAAW,CAAC,EAAE,eAAiB,WAClD,MAAQA,GAAS,WAAW,CAAC,EAAE,aAAe,SAE9C,MAAQA,GAAS,WAAW,CAAC,EAAE,KAAK,aAAa,SAAU,OAAS,aAAe,KAAO,MAAQA,GAAS,WAAW,CAAC,EAAE,SAAW,GAAG,GAG1Ik1B,EAAQ,aAAa,SAAU,EAAE,MAAQl1B,GAAS,WAAW,CAAC,EAAE,EAAE,CAAC,KAE9D,MAAQA,GAAS,WAAW,CAAC,EAAE,eAAiB,YAClD,MAAQA,GAAS,WAAW,CAAC,EAAE,aAAe,UAE9C,MAAQA,GAAS,WAAW,CAAC,EAAE,KAAK,aAAa,SAAU,IAAI,IAGjE,MAAQA,GAAS,WAAW,CAAC,EAAE,KAAK,aAAa,gBAAiB,MAAQA,GAAS,WAAW,CAAC,EAAE,EAAE,EAAI,CAAC,EAE7G,CAGN,EAEA,YAAY,UAAU,eAAiB,UAAY,CACjD,OAAQ,MAAQA,GAAS,WAC3B,EAEA,YAAY,UAAU,qBAAuB,UAAY,CACvD,IAAI4V,EAAO,QACX,OAAAA,GAAQ,MAAQ,MAAQ5V,GAAS,WAAW,SAAS,EACrD4V,GAAQ,MAAQ,MAAQ5V,GAAS,WAAW,SAAS,EACrD4V,GAAQ,OAAS,MAAQ5V,GAAS,WAAW,SAAS,EACtD4V,GAAQ,OAAS,MAAQ5V,GAAS,WAAW,SAAS,EAAI,IACnD4V,CACT,EAEA,YAAY,UAAU,SAAW,SAAUa,EAAUiR,EAAW8N,EAAU,CACxE,IAAIC,EAAa,KAAO/N,EAAU,EAAE,CAAC,EAAE,CAAC,EAAI,IAAMA,EAAU,EAAE,CAAC,EAAE,CAAC,EAC9DlnB,EACAC,EAGJ,IAFAA,EAAMinB,EAAU,QAEXlnB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAExBi1B,GAAc,KAAO/N,EAAU,EAAElnB,EAAI,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,EAAI,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,CAAC,EAAE,CAAC,EASjL,GALIknB,EAAU,GAAKjnB,EAAM,IACvBg1B,GAAc,KAAO/N,EAAU,EAAElnB,EAAI,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAElnB,EAAI,CAAC,EAAE,CAAC,EAAI,IAAMknB,EAAU,EAAE,CAAC,EAAE,CAAC,EAAI,IAAMA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAI,IAAMA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAI,IAAMA,EAAU,EAAE,CAAC,EAAE,CAAC,GAI7K8N,EAAS,WAAaC,EAAY,CACpC,IAAIC,EAAiB,GAEjBF,EAAS,OACP9N,EAAU,IACZgO,EAAiBjf,EAAS,KAAO,MAAQzW,GAAS,UAAYy1B,EAAaA,GAG7ED,EAAS,KAAK,aAAa,IAAKE,CAAc,GAGhDF,EAAS,SAAWC,CACtB,CACF,EAEA,YAAY,UAAU,QAAU,UAAY,EACzC,MAAQz1B,GAAS,QAAU,MAC3B,MAAQA,GAAS,WAAa,MAC9B,MAAQA,GAAS,YAAc,MAC/B,MAAQA,GAAS,KAAO,MACxB,MAAQA,GAAS,gBAAkB,IACtC,EAQA,SAAS,kBAAmB,CAAC,CAE7B,iBAAiB,UAAY,CAM3B,cAAe,UAAY,EAExB,MAAQA,GAAS,UAAY,CAAC,GAE9B,MAAQA,GAAS,UAAY,GAC9B,KAAK,eAAe,CACtB,EASA,aAAc,SAAUiyB,EAAW,EAChC,MAAQjyB,GAAS,UAAYiyB,CAChC,EAOA,YAAa,UAAY,EACtB,MAAQjyB,GAAS,UAAY,EAChC,EAOA,eAAgB,UAAY,EACrB,MAAQA,GAAS,KAAK,SAAW,SACnC,MAAQA,GAAS,KAAK,sBAAsB,MAAQA,GAAU,MAAQA,GAAS,KAAK,OAAQ,CAAC,CAAC,CAEnG,CACF,EAQA,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAY,CAMvB,UAAW,UAAY,EAEpB,MAAQA,GAAS,cAAgB,IAEjC,MAAQA,GAAS,kBAAoB,CAAC,GAEtC,MAAQA,GAAS,KAAO,EAC3B,EAYA,kBAAmB,SAAU4xB,EAAK+D,EAAW,CAC3C,IAAI,EACAl1B,GAAO,MAAQT,GAAS,kBAAkB,OAE9C,IAAK,EAAI,EAAG,EAAIS,EAAK,GAAK,GACpBk1B,IAAc,MAAQ31B,GAAS,YAAc,MAAQA,GAAS,kBAAkB,CAAC,EAAE,WAAa,gBACjG,MAAQA,GAAS,kBAAkB,CAAC,EAAE,SAAS,GAE3C,MAAQA,GAAS,kBAAkB,CAAC,EAAE,QACxC,MAAQA,GAAS,WAAW,KAAO,IACnC,MAAQA,GAAS,KAAO,IAIjC,EACA,mBAAoB,SAAUmD,EAAM,EAC7B,MAAQnD,GAAS,kBAAkB,QAAQmD,CAAI,IAAM,KACvD,MAAQnD,GAAS,kBAAkB,KAAKmD,CAAI,CAEjD,CACF,EAGA,SAAS,kBAAmB,CAAC,CAE7B,iBAAiB,UAAY,CAC3B,cAAe,UAAY,EACxB,MAAQnD,GAAS,eAAiB,CACjC,OAAQ,MAAQA,GAAS,KAAK,GAAK,yBAAyB,qBAAqB,MAAQA,GAAU,MAAQA,GAAS,KAAK,GAAI,MAAQA,CAAO,EAAI,CAC9I,EAAG,CACL,EACA,QAAS,GACT,OAAQ,GACR,IAAK,IAAI,MACX,GAEK,MAAQA,GAAS,KAAK,MACxB,MAAQA,GAAS,eAAe,MAAM,aAAe,KAInD,MAAQA,GAAS,KAAK,EAE7B,EACA,gBAAiB,UAAY,CAI3B,IAHC,MAAQA,GAAS,eAAe,QAAU,MAAQA,GAAS,eAAe,MAAM,EAAE,OAAS,MAAQA,GAAS,eAC5G,MAAQA,GAAS,eAAe,SAAW,MAAQA,GAAS,eAAe,MAAM,OAAS,MAAQA,GAAS,eAEvG,MAAQA,GAAS,UAAW,CAC/B,IAAI8e,EACAyW,GAAY,MAAQv1B,GAAS,eAAe,IAC5C,EAAI,EACJS,GAAO,MAAQT,GAAS,UAAU,OAEtC,GAAI,EAAE,MAAQA,GAAS,eAAe,QACpC,KAAO,EAAIS,GAAK,CACd,IAAK,MAAQT,GAAS,UAAU,CAAC,EAAE,eAAe,MAAM,KAAM,EAC3D,MAAQA,GAAS,eAAe,QAAU,GAC3C,KACF,CAEA,GAAK,CACP,CAGF,IAAK,MAAQA,GAAS,eAAe,QAInC,IAHA8e,GAAO,MAAQ9e,GAAS,eAAe,MAAM,EAAE,MAC/Cu1B,EAAS,eAAezW,CAAG,EAEtB,EAAI,EAAG,EAAIre,EAAK,GAAK,EACxBqe,GAAO,MAAQ9e,GAAS,UAAU,CAAC,EAAE,eAAe,MAAM,EAAE,MAC5Du1B,EAAS,UAAUzW,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,EAAE,EAAGA,EAAI,EAAE,EAAGA,EAAI,EAAE,EAAGA,EAAI,EAAE,EAAGA,EAAI,EAAE,EAAGA,EAAI,EAAE,CAAC,CAG7J,CACF,EACA,cAAe,SAAUjW,EAAI,CAC3B,IAAI+sB,EAAa,CAAC,EAClBA,EAAW,MAAM,MAAQ51B,GAAS,cAAc,EAIhD,QAHIa,EAAO,GACPqxB,GAAQ,MAAQlyB,GAAS,KAEtBa,GACDqxB,EAAK,gBACHA,EAAK,KAAK,SACZ0D,EAAW,OAAO,EAAG,EAAG1D,EAAK,cAAc,EAG7CA,EAAOA,EAAK,MAEZrxB,EAAO,GAIX,IAAIL,EACAC,EAAMm1B,EAAW,OACjBC,EAEJ,IAAKr1B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBq1B,EAAQD,EAAWp1B,CAAC,EAAE,IAAI,kBAAkB,EAAG,EAAG,CAAC,EAEnDqI,EAAK,CAACA,EAAG,CAAC,EAAIgtB,EAAM,CAAC,EAAGhtB,EAAG,CAAC,EAAIgtB,EAAM,CAAC,EAAG,CAAC,EAG7C,OAAOhtB,CACT,EACA,QAAS,IAAI,MACf,EAEA,SAAS,mBAAoB,CAAC,CAE9B,kBAAkB,UAAY,CAC5B,eAAgB,UAAY,EAEzB,MAAQ7I,GAAS,UAAY,IAE7B,MAAQA,GAAS,OAAS,IAE1B,MAAQA,GAAS,cAAgB,IAEjC,MAAQA,GAAS,qBAAuB,CAAC,CAC5C,EACA,uBAAwB,SAAU81B,EAAW,EACtC,MAAQ91B,GAAS,qBAAqB,QAAQ81B,CAAS,IAAM,KAC/D,MAAQ91B,GAAS,qBAAqB,KAAK81B,CAAS,CAEzD,EACA,0BAA2B,SAAUA,EAAW,EACzC,MAAQ91B,GAAS,qBAAqB,QAAQ81B,CAAS,IAAM,KAC/D,MAAQ91B,GAAS,qBAAqB,QAAQ,MAAQA,GAAS,qBAAqB,QAAQ81B,CAAS,EAAG,CAAC,CAE9G,EACA,uBAAwB,SAAUlE,EAAK,CACrC,KAAK,iBAAiBA,CAAG,CAC3B,EACA,kBAAmB,UAAY,EACxB,MAAQ5xB,GAAS,eAAe,MAAM,EAAE,GAAK,EAC5C,EAAE,MAAQA,GAAS,gBAAkB,MAAQA,GAAS,WAAW,aAAa,qBAC/E,MAAQA,GAAS,cAAgB,GAClC,KAAK,KAAK,IAEF,MAAQA,GAAS,iBAC1B,MAAQA,GAAS,cAAgB,GAClC,KAAK,KAAK,EAEd,EAUA,iBAAkB,SAAU4xB,EAAK,EAC1B,MAAQ5xB,GAAS,KAAK,IAAM,MAAQA,GAAS,KAAK,IAAM4xB,IAAQ,MAAQ5xB,GAAS,KAAK,IAAM,MAAQA,GAAS,KAAK,GAAK4xB,GACrH,MAAQ5xB,GAAS,YAAc,MACjC,MAAQA,GAAS,WAAW,KAAO,IACnC,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,UAAY,GAC9B,KAAK,KAAK,IAEF,MAAQA,GAAS,YAAc,MACxC,MAAQA,GAAS,WAAW,KAAO,IACnC,MAAQA,GAAS,UAAY,GAC9B,KAAK,KAAK,EAEd,EACA,iBAAkB,UAAY,CAC5B,IAAIQ,EACAC,GAAO,MAAQT,GAAS,qBAAqB,OAEjD,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,qBAAqBQ,CAAC,EAAE,aAAa,MAAQR,GAAS,aAAa,CAKzF,EACA,iBAAkB,UAAY,CAC5B,MAAO,CACL,IAAK,EACL,KAAM,EACN,MAAO,IACP,OAAQ,GACV,CACF,EACA,aAAc,UAAY,CACxB,OAAK,MAAQA,GAAS,KAAK,KAAO,EACzB,CACL,GAAI,MAAQA,GAAS,KAAK,SAAS,MACnC,GAAI,MAAQA,GAAS,KAAK,SAAS,MACrC,EAGK,CACL,GAAI,MAAQA,GAAS,KAAK,MAC1B,GAAI,MAAQA,GAAS,KAAK,MAC5B,CACF,CACF,EAGA,SAAS,sBAAuB,CAAC,EAEhC,UAAY,CACX,IAAI+1B,EAAa,CACf,YAAa,SAAU9e,EAAM4d,EAAY3C,EAAM,CAC7C,KAAK,UAAU,EACf,KAAK,aAAajb,EAAM4d,EAAY3C,CAAI,EACxC,KAAK,cAAcjb,EAAM4d,EAAY3C,CAAI,EACzC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,KAAK,CACZ,EACA,KAAM,UAAY,CAChB,GAAI,EAAE,MAAQlyB,GAAS,SAAW,EAAE,MAAQA,GAAS,YAAc,MAAQA,GAAS,eAAgB,CAClG,IAAIme,GAAQ,MAAQne,GAAS,cAAgB,MAAQA,GAAS,aAC9Dme,EAAK,MAAM,QAAU,QACpB,MAAQne,GAAS,OAAS,EAC7B,CACF,EACA,KAAM,UAAY,CAChB,IAAK,MAAQA,GAAS,WAAa,EAAE,MAAQA,GAAS,cAAe,CACnE,GAAI,EAAE,MAAQA,GAAS,KAAK,GAAI,CAC9B,IAAIme,GAAQ,MAAQne,GAAS,cAAgB,MAAQA,GAAS,aAC9Dme,EAAK,MAAM,QAAU,OACvB,EAEC,MAAQne,GAAS,OAAS,IAC1B,MAAQA,GAAS,cAAgB,EACpC,CACF,EACA,YAAa,UAAY,EAGlB,MAAQA,GAAS,KAAK,KAAO,MAAQA,GAAS,SAInD,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GAEnB,MAAQA,GAAS,iBACnB,MAAQA,GAAS,cAAgB,IAEtC,EACA,mBAAoB,UAAY,CAAC,EACjC,aAAc,SAAU4xB,EAAK,EAC1B,MAAQ5xB,GAAS,KAAO,GACzB,KAAK,uBAAuB4xB,CAAG,EAC/B,KAAK,kBAAkBA,GAAM,MAAQ5xB,GAAS,SAAS,EACvD,KAAK,kBAAkB,CACzB,EACA,QAAS,UAAY,EAClB,MAAQA,GAAS,UAAY,KAC9B,KAAK,mBAAmB,CAC1B,CACF,EACA,gBAAgB,CAAC,kBAAmB,oBAAoB+1B,CAAU,CAAC,EAAG,oBAAoB,CAC5F,GAAG,EAIH,SAAS,iBAAiBj1B,EAASk1B,EAAU,EAC1C,MAAQh2B,GAAS,KAAOc,GACxB,MAAQd,GAAS,IAAMg2B,CAC1B,CAIA,SAAS,aAAa/e,EAAMgf,EAAO,EAChC,MAAQj2B,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,KAAOiX,EAAK,IAC7B,MAAQjX,GAAS,EAAI,IACrB,MAAQA,GAAS,IAAMi2B,GACvB,MAAQj2B,GAAS,KAAO,IACxB,MAAQA,GAAS,OAASiX,EAAK,KAAO,IACtC,MAAQjX,GAAS,MAAQ,SAAS,MAAM,GACxC,MAAQA,GAAS,OAAS,IAC7B,CAEA,aAAa,UAAU,MAAQ,UAAY,EACxC,MAAQA,GAAS,EAAI,IACrB,MAAQA,GAAS,KAAO,EAC3B,EAEA,SAAS,aAAak2B,EAAcD,EAAOlF,EAAO,EAC/C,MAAQ/wB,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,aAAek2B,GAChC,MAAQl2B,GAAS,KAAO,IACxB,MAAQA,GAAS,GAAK+wB,GACtB,MAAQ/wB,GAAS,IAAMi2B,GAIvB,MAAQj2B,GAAS,YAAc,CAAC,CAAC+wB,EAAM,EAKxC,QAHIvwB,EAAI,EACJC,EAAMy1B,EAAa,OAEhB11B,EAAIC,GAAK,CACd,GAAIy1B,EAAa11B,CAAC,EAAE,OAAO,kBAAkB,OAAQ,EAClD,MAAQR,GAAS,YAAc,GAChC,KACF,CAEAQ,GAAK,CACP,CACF,CAEA,aAAa,UAAU,cAAgB,UAAY,EAChD,MAAQR,GAAS,YAAc,EAClC,EAIA,SAAS,iBAAiBm2B,EAAQjD,EAAI9vB,EAAW,EAC9C,MAAQpD,GAAS,UAAY,CAC5B,OAAQm2B,EACR,GAAIjD,EACJ,UAAW9vB,CACb,GACC,MAAQpD,GAAS,SAAW,CAAC,GAC7B,MAAQA,GAAS,aAAe,MAAQA,GAAS,UAAU,OAAO,kBAAkB,SAAW,MAAQA,GAAS,UAAU,GAAG,gBAAgB,MAChJ,CAIA,SAAS,mBAAmBme,EAAMlH,EAAMmf,EAAS,CAC/C,KAAK,6BAA6BjY,CAAI,GACrC,MAAQne,GAAS,UAAY,MAAQA,GAAS,0BAC9C,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,IAAI,aAAame,EAAMlH,EAAK,GAAK,CAAC,EAAG,MAAO,MAAQjX,CAAO,GAChF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAK,MAAQjX,CAAO,GAClF,MAAQA,GAAS,MAAQo2B,GACzB,MAAQp2B,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,WACtD,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,kBAAkB,EAG9D,SAAS,iBAAiBme,EAAMlH,EAAMmf,EAAS,CAC7C,KAAK,6BAA6BjY,CAAI,GACrC,MAAQne,GAAS,UAAY,MAAQA,GAAS,0BAC9C,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAK,MAAQjX,CAAO,GAClF,MAAQA,GAAS,MAAQo2B,CAC5B,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,gBAAgB,EAI5D,SAAS,yBAAyBjY,EAAMlH,EAAMmf,EAAS,CACrD,KAAK,6BAA6BjY,CAAI,GACrC,MAAQne,GAAS,UAAY,MAAQA,GAAS,yBAC/C,KAAK,iBAAiBme,EAAMlH,EAAMmf,CAAO,CAC3C,CAEA,yBAAyB,UAAU,iBAAmB,SAAUjY,EAAMlH,EAAMmf,EAAS,EAClF,MAAQp2B,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,IAAM,MAAQjX,CAAO,GAC1B,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,UAAW,MAAQjX,CAAO,GAC/B,MAAQA,GAAS,EAAI,IAAI,iBAAiBme,EAAMlH,EAAK,EAAG,MAAQjX,CAAO,GACvE,MAAQA,GAAS,MAAQo2B,GACzB,MAAQp2B,GAAS,MAAQ,CAAC,EAC3B,KAAK,gBAAgBo2B,EAAQ,MAAOnf,CAAI,EACxC,KAAK,mBAAmBA,EAAMmf,CAAO,GACpC,MAAQp2B,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,WACtD,EAEA,yBAAyB,UAAU,gBAAkB,SAAUq2B,EAAapf,EAAM,CAChF,IAAIqf,EAAa,gBAAgB,EAC7BC,EAAQ,SAAStf,EAAK,IAAM,EAAI,iBAAmB,gBAAgB,EACvEsf,EAAM,aAAa,KAAMD,CAAU,EACnCC,EAAM,aAAa,eAAgB,KAAK,EACxCA,EAAM,aAAa,gBAAiB,gBAAgB,EACpD,IAAIC,EAAQ,CAAC,EACTC,EACAzxB,EACAqQ,EAGJ,IAFAA,EAAO4B,EAAK,EAAE,EAAI,EAEbjS,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzByxB,EAAO,SAAS,MAAM,EACtBF,EAAM,YAAYE,CAAI,EACtBD,EAAM,KAAKC,CAAI,EAGjBJ,EAAY,aAAapf,EAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAMqf,EAAa,GAAG,GAC5G,MAAQt2B,GAAS,GAAKu2B,GACtB,MAAQv2B,GAAS,IAAMw2B,CAC1B,EAEA,yBAAyB,UAAU,mBAAqB,SAAUvf,EAAMmf,EAAS,CAC/E,IAAK,MAAQp2B,GAAS,EAAE,aAAe,EAAE,MAAQA,GAAS,EAAE,aAAc,CACxE,IAAIy2B,EACAzxB,EACAqQ,EACAtK,EAAO,SAAS,MAAM,EACtB6nB,EAAc,SAAS,MAAM,EACjC7nB,EAAK,YAAY6nB,CAAW,EAC5B,IAAI8D,EAAY,gBAAgB,EAC5B5D,EAAS,gBAAgB,EAC7B/nB,EAAK,aAAa,KAAM+nB,CAAM,EAC9B,IAAI6D,EAAS,SAAS1f,EAAK,IAAM,EAAI,iBAAmB,gBAAgB,EACxE0f,EAAO,aAAa,KAAMD,CAAS,EACnCC,EAAO,aAAa,eAAgB,KAAK,EACzCA,EAAO,aAAa,gBAAiB,gBAAgB,EACrDthB,EAAO4B,EAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAIA,EAAK,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAASA,EAAK,EAAE,EAAE,EAAE,OAC7D,IAAIuf,GAAS,MAAQx2B,GAAS,MAE9B,IAAKgF,EAAIiS,EAAK,EAAE,EAAI,EAAGjS,EAAIqQ,EAAMrQ,GAAK,EACpCyxB,EAAO,SAAS,MAAM,EACtBA,EAAK,aAAa,aAAc,kBAAkB,EAClDE,EAAO,YAAYF,CAAI,EACvBD,EAAM,KAAKC,CAAI,EAGjB7D,EAAY,aAAa3b,EAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAMyf,EAAY,GAAG,GAC3G,MAAQ12B,GAAS,GAAK22B,GACtB,MAAQ32B,GAAS,GAAK+K,GACtB,MAAQ/K,GAAS,IAAMw2B,GACvB,MAAQx2B,GAAS,OAAS8yB,EAC3BsD,EAAQ,OAASxD,CACnB,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,wBAAwB,EAGpE,SAAS,2BAA2BzU,EAAMlH,EAAMmf,EAAS,CACvD,KAAK,6BAA6BjY,CAAI,GACrC,MAAQne,GAAS,UAAY,MAAQA,GAAS,0BAC9C,MAAQA,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,GACnF,MAAQA,GAAS,EAAI,IAAI,aAAame,EAAMlH,EAAK,GAAK,CAAC,EAAG,MAAO,MAAQjX,CAAO,EACjF,KAAK,iBAAiBme,EAAMlH,EAAMmf,CAAO,GACxC,MAAQp2B,GAAS,YAAc,CAAC,EAAE,MAAQA,GAAS,WACtD,CAEA,gBAAgB,CAAC,yBAA0B,wBAAwB,EAAG,0BAA0B,EAKhG,SAAS,gBAAiB,EACvB,MAAQA,GAAS,GAAK,CAAC,GACvB,MAAQA,GAAS,aAAe,CAAC,GACjC,MAAQA,GAAS,GAAK,SAAS,GAAG,CACrC,CAMA,IAAI,oBAAsB,UAAY,CACpC,IAAI42B,EAAkB,IAAI,OAEtBC,EAAgB,IAAI,OAEpBjqB,EAAK,CACP,qBAAsBkqB,CACxB,EAEA,SAASA,EAAqB7f,EAAM,CAClC,OAAQA,EAAK,GAAI,CACf,IAAK,KACH,OAAO8f,EAET,IAAK,KACH,OAAOC,EAET,IAAK,KACH,OAAOC,EAET,IAAK,KACH,OAAOC,EAET,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAOC,EAET,IAAK,KACH,OAAOC,EAET,QACE,OAAO,IACX,CACF,CAEA,SAASA,EAAuBC,EAAWC,EAAUhC,EAAc,EAC7DA,GAAgBgC,EAAS,UAAU,GAAG,OACxCA,EAAS,UAAU,UAAU,aAAa,UAAWA,EAAS,UAAU,GAAG,CAAC,GAG1EhC,GAAgBgC,EAAS,UAAU,OAAO,OAC5CA,EAAS,UAAU,UAAU,aAAa,YAAaA,EAAS,UAAU,OAAO,EAAE,QAAQ,CAAC,CAEhG,CAEA,SAASH,EAAWE,EAAWC,EAAUhC,EAAc,CACrD,IAAItwB,EACAqQ,EACAkiB,EACAC,EACA9P,EACAxiB,EACAuyB,EAAOH,EAAS,OAAO,OACvBI,EAAMJ,EAAS,IACf5gB,EACAoI,EACA7W,EACA0vB,EACA1yB,EAEJ,IAAKC,EAAI,EAAGA,EAAIuyB,EAAMvyB,GAAK,EAAG,CAG5B,GAFAsyB,EAASF,EAAS,GAAG,MAAQhC,EAEzBgC,EAAS,OAAOpyB,CAAC,EAAE,IAAMwyB,EAAK,CAKhC,IAJA5Y,EAAM+X,EAAc,MAAM,EAC1Bc,EAAaD,EAAMJ,EAAS,OAAOpyB,CAAC,EAAE,IACtCD,EAAIqyB,EAAS,aAAa,OAAS,EAE5B,CAACE,GAAUG,EAAa,GAC7BH,EAASF,EAAS,aAAaryB,CAAC,EAAE,OAAO,MAAQuyB,EACjDG,GAAc,EACd1yB,GAAK,EAGP,GAAIuyB,EAIF,IAHAG,EAAaD,EAAMJ,EAAS,OAAOpyB,CAAC,EAAE,IACtCD,EAAIqyB,EAAS,aAAa,OAAS,EAE5BK,EAAa,GAClB1vB,EAAQqvB,EAAS,aAAaryB,CAAC,EAAE,OAAO,EAAE,MAC1C6Z,EAAI,UAAU7W,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,CAAC,EAClL0vB,GAAc,EACd1yB,GAAK,CAGX,MACE6Z,EAAM8X,EAMR,GAHAlgB,EAAQ4gB,EAAS,GAAG,MACpBjiB,EAAOqB,EAAM,QAET8gB,EAAQ,CAGV,IAFAD,EAAwB,GAEnBvyB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB0iB,EAAYhR,EAAM,OAAO1R,CAAC,EAEtB0iB,GAAaA,EAAU,UACzB6P,GAAyB,iBAAiB7P,EAAWA,EAAU,QAASA,EAAU,EAAG5I,CAAG,GAI5FwY,EAAS,OAAOpyB,CAAC,EAAIqyB,CACvB,MACEA,EAAwBD,EAAS,OAAOpyB,CAAC,EAG3CoyB,EAAS,OAAOpyB,CAAC,EAAE,GAAKmyB,EAAU,KAAO,GAAO,GAAKE,EACrDD,EAAS,OAAOpyB,CAAC,EAAE,KAAOsyB,GAAUF,EAAS,OAAOpyB,CAAC,EAAE,IACzD,CACF,CAEA,SAAS6xB,EAAWM,EAAWC,EAAUhC,EAAc,CACrD,IAAIsC,EAAYN,EAAS,OAErBA,EAAS,EAAE,MAAQhC,IACrBsC,EAAU,MAAM,aAAa,OAAQ,OAAS,QAAQN,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,GAAG,GAG5IA,EAAS,EAAE,MAAQhC,IACrBsC,EAAU,MAAM,aAAa,eAAgBN,EAAS,EAAE,CAAC,CAE7D,CAEA,SAASL,EAAqBI,EAAWC,EAAUhC,EAAc,CAC/D0B,EAAeK,EAAWC,EAAUhC,CAAY,EAChD4B,EAAaG,EAAWC,EAAUhC,CAAY,CAChD,CAEA,SAAS0B,EAAeK,EAAWC,EAAUhC,EAAc,CACzD,IAAIiB,EAAQe,EAAS,GACjBO,EAAaP,EAAS,EAAE,YACxBpuB,EAAMouB,EAAS,EAAE,EACjBnuB,EAAMmuB,EAAS,EAAE,EAErB,GAAIA,EAAS,EAAE,MAAQhC,EAAc,CACnC,IAAIvlB,EAAOsnB,EAAU,KAAO,KAAO,eAAiB,iBACpDC,EAAS,MAAM,MAAM,aAAavnB,EAAMunB,EAAS,EAAE,CAAC,CACtD,CAEA,GAAIA,EAAS,EAAE,MAAQhC,EAAc,CACnC,IAAIwC,EAAQT,EAAU,IAAM,EAAI,KAAO,KACnCU,EAAQD,IAAU,KAAO,KAAO,KACpCvB,EAAM,aAAauB,EAAO5uB,EAAI,CAAC,CAAC,EAChCqtB,EAAM,aAAawB,EAAO7uB,EAAI,CAAC,CAAC,EAE5B2uB,GAAc,CAACP,EAAS,EAAE,eAC5BA,EAAS,GAAG,aAAaQ,EAAO5uB,EAAI,CAAC,CAAC,EACtCouB,EAAS,GAAG,aAAaS,EAAO7uB,EAAI,CAAC,CAAC,EAE1C,CAEA,IAAIstB,EACAh2B,EACAC,EACAg2B,EAEJ,GAAIa,EAAS,EAAE,OAAShC,EAAc,CACpCkB,EAAQc,EAAS,IACjB,IAAIU,EAAUV,EAAS,EAAE,EAGzB,IAFA72B,EAAM+1B,EAAM,OAEPh2B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBi2B,EAAOD,EAAMh2B,CAAC,EACdi2B,EAAK,aAAa,SAAUuB,EAAQx3B,EAAI,CAAC,EAAI,GAAG,EAChDi2B,EAAK,aAAa,aAAc,OAASuB,EAAQx3B,EAAI,EAAI,CAAC,EAAI,IAAMw3B,EAAQx3B,EAAI,EAAI,CAAC,EAAI,IAAMw3B,EAAQx3B,EAAI,EAAI,CAAC,EAAI,GAAG,CAE3H,CAEA,GAAIq3B,IAAeP,EAAS,EAAE,OAAShC,GAAe,CACpD,IAAI2C,EAAUX,EAAS,EAAE,EAUzB,IARIA,EAAS,EAAE,aACbd,EAAQc,EAAS,IAEjBd,EAAQc,EAAS,IAGnB72B,EAAM+1B,EAAM,OAEPh2B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBi2B,EAAOD,EAAMh2B,CAAC,EAET82B,EAAS,EAAE,cACdb,EAAK,aAAa,SAAUwB,EAAQz3B,EAAI,CAAC,EAAI,GAAG,EAGlDi2B,EAAK,aAAa,eAAgBwB,EAAQz3B,EAAI,EAAI,CAAC,CAAC,CAExD,CAEA,GAAI62B,EAAU,IAAM,GACdC,EAAS,EAAE,MAAQhC,KACrBiB,EAAM,aAAa,KAAMptB,EAAI,CAAC,CAAC,EAC/BotB,EAAM,aAAa,KAAMptB,EAAI,CAAC,CAAC,EAE3B0uB,GAAc,CAACP,EAAS,EAAE,eAC5BA,EAAS,GAAG,aAAa,KAAMnuB,EAAI,CAAC,CAAC,EACrCmuB,EAAS,GAAG,aAAa,KAAMnuB,EAAI,CAAC,CAAC,QAGpC,CACL,IAAIsZ,EAWJ,IATI6U,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAQhC,KACxC7S,EAAM,KAAK,KAAK,KAAK,IAAIvZ,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,EAAI,KAAK,IAAID,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,CAAC,EAC3EotB,EAAM,aAAa,IAAK9T,CAAG,EAEvBoV,GAAc,CAACP,EAAS,EAAE,cAC5BA,EAAS,GAAG,aAAa,IAAK7U,CAAG,GAIjC6U,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAQhC,EAAc,CACpE7S,IACHA,EAAM,KAAK,KAAK,KAAK,IAAIvZ,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,EAAI,KAAK,IAAID,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,CAAC,GAG7E,IAAI+uB,EAAM,KAAK,MAAM/uB,EAAI,CAAC,EAAID,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAID,EAAI,CAAC,CAAC,EACjDmK,EAAUikB,EAAS,EAAE,EAErBjkB,GAAW,EACbA,EAAU,IACDA,GAAW,KACpBA,EAAU,MAGZ,IAAIjE,EAAOqT,EAAMpP,EACblL,EAAI,KAAK,IAAI+vB,EAAMZ,EAAS,EAAE,CAAC,EAAIloB,EAAOlG,EAAI,CAAC,EAC/Cd,EAAI,KAAK,IAAI8vB,EAAMZ,EAAS,EAAE,CAAC,EAAIloB,EAAOlG,EAAI,CAAC,EACnDqtB,EAAM,aAAa,KAAMpuB,CAAC,EAC1BouB,EAAM,aAAa,KAAMnuB,CAAC,EAEtByvB,GAAc,CAACP,EAAS,EAAE,eAC5BA,EAAS,GAAG,aAAa,KAAMnvB,CAAC,EAChCmvB,EAAS,GAAG,aAAa,KAAMlvB,CAAC,EAEpC,CAEF,CACF,CAEA,SAAS8uB,EAAaG,EAAWC,EAAUhC,EAAc,CACvD,IAAIsC,EAAYN,EAAS,MACrBh1B,EAAIg1B,EAAS,EAEbh1B,IAAMA,EAAE,MAAQgzB,IAAiBhzB,EAAE,UACrCs1B,EAAU,MAAM,aAAa,mBAAoBt1B,EAAE,OAAO,EAC1Ds1B,EAAU,MAAM,aAAa,oBAAqBt1B,EAAE,WAAW,CAAC,CAAC,GAG/Dg1B,EAAS,IAAMA,EAAS,EAAE,MAAQhC,IACpCsC,EAAU,MAAM,aAAa,SAAU,OAAS,QAAQN,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,GAAG,GAG9IA,EAAS,EAAE,MAAQhC,IACrBsC,EAAU,MAAM,aAAa,iBAAkBN,EAAS,EAAE,CAAC,GAGzDA,EAAS,EAAE,MAAQhC,KACrBsC,EAAU,MAAM,aAAa,eAAgBN,EAAS,EAAE,CAAC,EAErDM,EAAU,QACZA,EAAU,OAAO,aAAa,eAAgBN,EAAS,EAAE,CAAC,EAGhE,CAEA,OAAO1qB,CACT,EAAE,EAIF,SAAS,uBAAwB,EAC9B,MAAQ5M,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,aAAe,CAAC,GACjC,MAAQA,GAAS,oBAAsB,CAC1C,CAEA,sBAAsB,UAAY,CAChC,qBAAsB,SAAU41B,EAAY,CAC1C,IAAIp1B,EACAC,EAAMm1B,EAAW,OACjBxqB,EAAM,IAEV,IAAK5K,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB4K,GAAOwqB,EAAWp1B,CAAC,EAAE,UAAU,IAAM,IAGvC,IAAI23B,GAAY,MAAQn4B,GAAS,UAAUoL,CAAG,EAE9C,OAAK+sB,IACHA,EAAW,CACT,WAAY,CAAC,EAAE,OAAOvC,CAAU,EAChC,eAAgB,IAAI,OACpB,KAAM,EACR,GACC,MAAQ51B,GAAS,UAAUoL,CAAG,EAAI+sB,GAElC,MAAQn4B,GAAS,aAAa,KAAKm4B,CAAQ,GAGvCA,CACT,EACA,gBAAiB,SAAUA,EAAU7C,EAAc,CAKjD,QAJI,EAAI,EACJ70B,EAAM03B,EAAS,WAAW,OAC1BpZ,EAAOuW,EAEJ,EAAI70B,GAAO,CAAC60B,GAAc,CAC/B,GAAI6C,EAAS,WAAW,CAAC,EAAE,UAAU,OAAO,KAAM,CAChDpZ,EAAO,GACP,KACF,CAEA,GAAK,CACP,CAEA,GAAIA,EAAM,CACR,IAAI9W,EAGJ,IAFAkwB,EAAS,eAAe,MAAM,EAEzB,EAAI13B,EAAM,EAAG,GAAK,EAAG,GAAK,EAC7BwH,EAAQkwB,EAAS,WAAW,CAAC,EAAE,UAAU,OAAO,EAAE,MAClDA,EAAS,eAAe,UAAUlwB,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,EAAGA,EAAM,EAAE,CAAC,CAE1M,CAEAkwB,EAAS,KAAOpZ,CAClB,EACA,iBAAkB,SAAUuW,EAAc,CACxC,IAAI90B,EACAC,GAAO,MAAQT,GAAS,aAAa,OAEzC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,KAAK,iBAAiB,MAAQR,GAAS,aAAaQ,CAAC,EAAG80B,CAAY,CAExE,EACA,UAAW,UAAY,CACrB,OAAC,MAAQt1B,GAAS,qBAAuB,EAClC,KAAO,MAAQA,GAAS,mBACjC,CACF,EAGA,SAAS,YAAYc,EAASmW,EAAMG,EAAQghB,EAAmB,EAC5D,MAAQp4B,GAAS,aAAe,CAAC,GACjC,MAAQA,GAAS,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACxC,IAAIwF,EAAK,EAELyR,EAAK,KAAO,KACdzR,EAAK,EACIyR,EAAK,KAAO,KACrBzR,EAAK,EACIyR,EAAK,KAAO,OACrBzR,EAAK,IAGN,MAAQxF,GAAS,GAAK,qBAAqB,aAAac,EAASmW,EAAMzR,EAAI1E,CAAO,EACnF,IAAIN,EACAC,EAAM2W,EAAO,OACbihB,EAEJ,IAAK73B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACnB4W,EAAO5W,CAAC,EAAE,SACb63B,EAAc,CACZ,WAAYD,EAAkB,qBAAqBhhB,EAAO5W,CAAC,EAAE,UAAU,EACvE,QAAS,CAAC,CACZ,GAEC,MAAQR,GAAS,aAAa,KAAKq4B,CAAW,EAE/CjhB,EAAO5W,CAAC,EAAE,SAAS,KAAK63B,CAAW,EAGzC,CAEA,YAAY,UAAU,cAAgB,aAAa,UAAU,cAI7D,SAAS,aAAc,CAAC,CAExB,YAAY,UAAY,CACtB,WAAY,UAAY,CACtB,GAAI,EAAE,MAAQr4B,GAAS,KAAK,QAC1B,MAAO,GAMT,QAHIQ,EAAI,EACJC,GAAO,MAAQT,GAAS,KAAK,gBAAgB,OAE1CQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,KAAK,gBAAgBQ,CAAC,EAAE,OAAS,MAAQ,MAAQR,GAAS,KAAK,gBAAgBQ,CAAC,EAAE,KAAO,GAC7G,MAAO,GAGTA,GAAK,CACP,CAEA,MAAO,EACT,EACA,gBAAiB,UAAY,EAC1B,MAAQR,GAAS,eAAiB,yBAAyB,MAAQA,CAAO,GAEtE,MAAQA,GAAS,KAAK,UAAY,MAAQA,GAAS,cACrD,MAAQA,GAAS,eAAe,uBAAuB,MAAQA,GAAS,WAAW,EAGtF,IAAIs4B,EAAmB,2BAA2B,uBAAuB,MAAQt4B,GAAU,MAAQA,GAAS,cAAc,GAEzH,MAAQA,GAAS,eAAe,yBAAyBs4B,CAAgB,GAErE,MAAQt4B,GAAS,KAAK,KAAO,IAAM,MAAQA,GAAS,KAAK,IAC3D,MAAQA,GAAS,cAAgB,wBAAwB,MAAQA,CAAO,GAC/D,MAAQA,GAAS,KAAK,KAAO,IACtC,MAAQA,GAAS,eAAe,eAAiB,0BAA0B,MAAQA,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,cAAc,GACrK,MAAQA,GAAS,eAAe,SAAW,MAAQA,GAAS,eAAe,iBAClE,MAAQA,GAAS,KAAK,KAAO,KACtC,MAAQA,GAAS,eAAe,cAAgB,wBAAwB,MAAQA,CAAO,GACvF,MAAQA,GAAS,eAAe,MAAQ,MAAQA,GAAS,eAAe,cAE7E,EACA,aAAc,UAAY,CACxB,IAAIu4B,EAAiB,cAAc,MAAQv4B,GAAS,KAAK,EAAE,EACvDme,GAAQ,MAAQne,GAAS,cAAgB,MAAQA,GAAS,aAC9Dme,EAAK,MAAM,gBAAgB,EAAIoa,CACjC,EACA,aAAc,SAAUthB,EAAM4d,EAAY3C,EAAM,EAC7C,MAAQlyB,GAAS,WAAa60B,GAC9B,MAAQ70B,GAAS,KAAOkyB,GACxB,MAAQlyB,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,QAAU,gBAAgB,GAEtC,MAAQA,GAAS,KAAK,MACzB,MAAQA,GAAS,KAAK,GAAK,IAI7B,MAAQA,GAAS,eAAiB,IAAI,gBAAgB,MAAQA,GAAS,KAAM,MAAQA,GAAU,MAAQA,GAAS,iBAAiB,CACpI,EACA,QAAS,UAAY,CACnB,OAAQ,MAAQA,GAAS,IAC3B,EACA,iBAAkB,UAAY,CAAC,CACjC,EAGA,SAAS,YAAYiX,EAAM4d,EAAY3C,EAAM,CAC3C,KAAK,UAAU,EACf,KAAK,aAAajb,EAAM4d,EAAY3C,CAAI,EACxC,KAAK,UAAU,EACf,KAAK,cAAcjb,EAAM4d,EAAY3C,CAAI,EACzC,KAAK,cAAc,CACrB,CAEA,YAAY,UAAU,aAAe,SAAUN,EAAK,CAClD,KAAK,kBAAkBA,EAAK,EAAI,CAClC,EAEA,YAAY,UAAU,YAAc,UAAY,CAAC,EAEjD,YAAY,UAAU,eAAiB,UAAY,CACjD,OAAO,IACT,EAEA,YAAY,UAAU,QAAU,UAAY,CAAC,EAE7C,YAAY,UAAU,iBAAmB,UAAY,CAAC,EAEtD,YAAY,UAAU,KAAO,UAAY,CAAC,EAE1C,gBAAgB,CAAC,YAAa,iBAAkB,iBAAkB,YAAY,EAAG,WAAW,EAG5F,SAAS,gBAAiB,CAAC,CAE3B,eAAe,UAAY,CACzB,oBAAqB,UAAY,EAC9B,MAAQ5xB,GAAS,aAAe,SAAS,GAAG,CAC/C,EACA,wBAAyB,UAAY,EAClC,MAAQA,GAAS,aAAe,SAAS,GAAG,GAC5C,MAAQA,GAAS,oBAAsB,MAAQA,GAAS,cACxD,MAAQA,GAAS,eAAiB,MAAQA,GAAS,cACnD,MAAQA,GAAS,aAAe,GACjC,IAAIw4B,EAAqB,KAErBrO,EACAE,EACAoO,EAEJ,IAAK,MAAQz4B,GAAS,KAAK,IACzB,IAAK,MAAQA,GAAS,KAAK,IAAM,IAAM,MAAQA,GAAS,KAAK,IAAM,EAAG,CAEpE,IAAI04B,EAAS,SAAS,MAAM,EAC5BA,EAAO,aAAa,MAAO,MAAQ14B,GAAS,OAAO,EACnD04B,EAAO,aAAa,aAAc,MAAQ14B,GAAS,KAAK,IAAM,EAAI,YAAc,OAAO,EAEvF04B,EAAO,aAAa,MAAQ14B,GAAS,YAAY,EACjDw4B,EAAqBE,GAEpB,MAAQ14B,GAAS,WAAW,KAAK,YAAY04B,CAAM,EAGhD,CAAC,eAAe,WAAa,MAAQ14B,GAAS,KAAK,IAAM,IAE3D04B,EAAO,aAAa,YAAa,WAAW,EAC5CvO,EAAQ,gBAAgB,EACxBE,EAAM,eAAe,aAAaF,CAAK,GAEtC,MAAQnqB,GAAS,WAAW,KAAK,YAAYqqB,CAAG,EAEjDA,EAAI,YAAY,eAAe,6BAA6B,CAAC,EAC7DoO,EAAK,SAAS,GAAG,EACjBA,EAAG,aAAa,MAAQz4B,GAAS,YAAY,EAC7Cw4B,EAAqBC,EACrBC,EAAO,YAAYD,CAAE,EACrBA,EAAG,aAAa,SAAU,OAAS,aAAe,IAAMtO,EAAQ,GAAG,EAEvE,UAAY,MAAQnqB,GAAS,KAAK,IAAM,EAAG,CAEzC,IAAI24B,EAAY,SAAS,MAAM,EAC/BA,EAAU,aAAa,MAAO,MAAQ34B,GAAS,OAAO,EACtD24B,EAAU,aAAa,YAAa,OAAO,EAC3C,IAAIC,EAAc,SAAS,GAAG,EAC9BD,EAAU,YAAYC,CAAW,EACjCzO,EAAQ,gBAAgB,EACxBE,EAAM,eAAe,aAAaF,CAAK,EAUvC,IAAI0O,EAAQ,SAAS,qBAAqB,EAC1CA,EAAM,aAAa,KAAM,eAAe,EACxCxO,EAAI,YAAYwO,CAAK,EACrB,IAAIC,EAAS,SAAS,SAAS,EAC/BA,EAAO,aAAa,OAAQ,OAAO,EACnCA,EAAO,aAAa,cAAe,SAAS,EAC5CD,EAAM,YAAYC,CAAM,GAEvB,MAAQ94B,GAAS,WAAW,KAAK,YAAYqqB,CAAG,EAEjD,IAAI0O,EAAY,SAAS,MAAM,EAC/BA,EAAU,aAAa,SAAU,MAAQ/4B,GAAS,KAAK,KAAK,CAAC,EAC7D+4B,EAAU,aAAa,UAAW,MAAQ/4B,GAAS,KAAK,KAAK,CAAC,EAC9D+4B,EAAU,aAAa,IAAK,GAAG,EAC/BA,EAAU,aAAa,IAAK,GAAG,EAC/BA,EAAU,aAAa,OAAQ,SAAS,EACxCA,EAAU,aAAa,UAAW,GAAG,EACrCH,EAAY,aAAa,SAAU,OAAS,aAAe,IAAMzO,EAAQ,GAAG,EAC5EyO,EAAY,YAAYG,CAAS,EACjCH,EAAY,aAAa,MAAQ54B,GAAS,YAAY,EACtDw4B,EAAqBI,EAEhB,eAAe,WAClBD,EAAU,aAAa,YAAa,WAAW,EAC/CtO,EAAI,YAAY,eAAe,6BAA6B,CAAC,EAC7DoO,EAAK,SAAS,GAAG,EACjBG,EAAY,YAAYG,CAAS,EACjCN,EAAG,aAAa,MAAQz4B,GAAS,YAAY,EAC7Cw4B,EAAqBC,EACrBG,EAAY,YAAYH,CAAE,IAG3B,MAAQz4B,GAAS,WAAW,KAAK,YAAY24B,CAAS,CACzD,OACU,MAAQ34B,GAAS,KAAK,KAC/B,MAAQA,GAAS,aAAa,aAAa,MAAQA,GAAS,YAAY,EAEzEw4B,GAAsB,MAAQx4B,GAAS,cACtC,MAAQA,GAAS,aAAe,MAAQA,GAAS,eAEjD,MAAQA,GAAS,aAAe,MAAQA,GAAS,aAYpD,IATK,MAAQA,GAAS,KAAK,KACxB,MAAQA,GAAS,aAAa,aAAa,MAAO,MAAQA,GAAS,KAAK,EAAE,GAGxE,MAAQA,GAAS,KAAK,KACxB,MAAQA,GAAS,aAAa,aAAa,SAAU,MAAQA,GAAS,KAAK,EAAE,GAI3E,MAAQA,GAAS,KAAK,KAAO,GAAK,EAAE,MAAQA,GAAS,KAAK,GAAI,CACjE,IAAIg5B,EAAK,SAAS,UAAU,EACxBnwB,EAAK,SAAS,MAAM,EACxBA,EAAG,aAAa,IAAK,UAAY,MAAQ7I,GAAS,KAAK,EAAI,QAAU,MAAQA,GAAS,KAAK,EAAI,KAAO,MAAQA,GAAS,KAAK,EAAI,QAAU,MAAQA,GAAS,KAAK,EAAI,GAAG,EACvK,IAAIi5B,EAAS,gBAAgB,EAM7B,GALAD,EAAG,aAAa,KAAMC,CAAM,EAC5BD,EAAG,YAAYnwB,CAAE,GAEhB,MAAQ7I,GAAS,WAAW,KAAK,YAAYg5B,CAAE,EAE5C,KAAK,WAAW,EAAG,CACrB,IAAIE,EAAU,SAAS,GAAG,EAC1BA,EAAQ,aAAa,YAAa,OAAS,aAAe,IAAMD,EAAS,GAAG,EAC5EC,EAAQ,aAAa,MAAQl5B,GAAS,YAAY,GACjD,MAAQA,GAAS,mBAAqBk5B,EAEnCV,EACFA,EAAmB,aAAa,MAAQx4B,GAAS,kBAAkB,GAElE,MAAQA,GAAS,aAAe,MAAQA,GAAS,kBAEtD,MACG,MAAQA,GAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAMi5B,EAAS,GAAG,CAEvG,EAEK,MAAQj5B,GAAS,KAAK,KAAO,GAChC,KAAK,aAAa,CAEtB,EACA,cAAe,UAAY,EACpB,MAAQA,GAAS,eAAe,UAClC,MAAQA,GAAS,mBAAmB,aAAa,aAAc,MAAQA,GAAS,eAAe,IAAI,QAAQ,CAAC,GAG1G,MAAQA,GAAS,eAAe,SAClC,MAAQA,GAAS,mBAAmB,aAAa,WAAY,MAAQA,GAAS,eAAe,MAAM,EAAE,CAAC,CAE3G,EACA,mBAAoB,UAAY,EAC7B,MAAQA,GAAS,aAAe,MAChC,MAAQA,GAAS,aAAe,MAEhC,MAAQA,GAAS,YAAY,QAAQ,CACxC,EACA,eAAgB,UAAY,CAC1B,OAAK,MAAQA,GAAS,KAAK,GAClB,MAGD,MAAQA,GAAS,WAC3B,EACA,2BAA4B,UAAY,EACrC,MAAQA,GAAS,YAAc,IAAI,aAAa,MAAQA,GAAS,KAAM,MAAQA,GAAU,MAAQA,GAAS,UAAU,GACpH,MAAQA,GAAS,yBAA2B,IAAI,WAAW,MAAQA,CAAO,CAC7E,EACA,SAAU,SAAU2P,EAAI,EAChB,MAAQ3P,GAAS,eAItB,MAAQA,GAAS,aAAa,aAAa,OAAQ,OAAS,aAAe,IAAM2P,EAAK,GAAG,CAC5F,CACF,EAGA,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAY,CACxB,oBAAqB,SAAUsH,EAAM,CACnC,IAAIzW,EACAC,GAAO,MAAQT,GAAS,eAAe,OAE3C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,eAAeQ,CAAC,EAAE,SAASyW,CAAI,CAErD,EACA,2BAA4B,SAAUA,EAAM,CAI1C,QAHIzW,EAAI,EACJC,GAAO,MAAQT,GAAS,eAAe,OAEpCQ,EAAIC,GACT,IAAK,MAAQT,GAAS,eAAeQ,CAAC,EAAE,oBAAoByW,CAAI,EAC9D,MAAO,GAIX,MAAO,EACT,EACA,gBAAiB,UAAY,CAC3B,IAAM,MAAQjX,GAAS,eAAe,OAItC,KAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,OAAOQ,CAAC,EAAE,GAAG,MAAM,EAGvCC,GAAO,MAAQT,GAAS,eAAe,OACvC,IAAIm5B,EAEJ,IAAK34B,EAAIC,EAAM,EAAGD,GAAK,IACrB24B,GAAsB,MAAQn5B,GAAS,eAAeQ,CAAC,EAAE,eAAe,MAAQR,GAAS,aAAa,EAGlG,CAAAm5B,GAJoB34B,GAAK,EAI7B,EAIJ,EACA,OAAQ,CACN,EAAG,OACH,EAAG,QACH,EAAG,QACL,EACA,OAAQ,CACN,EAAG,QACH,EAAG,QACH,EAAG,OACL,EACA,uBAAwB,SAAU2d,EAAM,CAKtC,QAJImI,GAAY,MAAQtmB,GAAS,kBAC7B,EAAI,EACJS,EAAM6lB,EAAS,OAEZ,EAAI7lB,GAAK,CACd,GAAI6lB,EAAS,CAAC,EAAE,OAASnI,EACvB,OAAOmI,EAAS,CAAC,EAAE,IAGrB,GAAK,CACP,CAEA,MAAO,EACT,EACA,oBAAqB,SAAUnI,EAAMyB,EAAK,CAIxC,QAHI0G,GAAY,MAAQtmB,GAAS,kBAC7BQ,EAAI8lB,EAAS,OAEV9lB,GAGL,GAFAA,GAAK,EAED8lB,EAAS9lB,CAAC,EAAE,OAAS2d,EAAM,CAC7BmI,EAAS9lB,CAAC,EAAE,IAAMof,EAClB,MACF,CAGF0G,EAAS,KAAK,IAAI,iBAAiBnI,EAAMyB,CAAG,CAAC,CAC/C,EACA,aAAc,SAAUgS,EAAK,CAC3B,KAAK,uBAAuBA,CAAG,EAC/B,KAAK,kBAAkBA,GAAM,MAAQ5xB,GAAS,SAAS,CACzD,CACF,EAGA,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAU,YAAc,SAAUiX,EAAM4d,EAAY3C,EAAM,EACpE,MAAQlyB,GAAS,mBAAqB,GACvC,KAAK,UAAU,EACf,KAAK,aAAaiX,EAAM4d,EAAY3C,CAAI,GACvC,MAAQlyB,GAAS,aAAe,IAAI,aAAa,MAAQA,EAASiX,EAAK,GAAI,MAAQjX,GAAS,iBAAiB,GAC7G,MAAQA,GAAS,aAAe,IAAI,qBAAqBiX,EAAK,GAAI,MAAQjX,GAAS,WAAY,MAAQA,CAAO,EAC/G,KAAK,cAAciX,EAAM4d,EAAY3C,CAAI,EACzC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,KAAK,GAET,MAAQlyB,GAAS,aAAa,kBAAkB,MAAQA,GAAS,iBAAiB,CACrF,EAEA,aAAa,UAAU,aAAe,SAAU4xB,EAAK,EAClD,MAAQ5xB,GAAS,KAAO,GACzB,KAAK,uBAAuB4xB,CAAG,EAC/B,KAAK,kBAAkBA,GAAM,MAAQ5xB,GAAS,SAAS,IAElD,MAAQA,GAAS,aAAa,OAAS,MAAQA,GAAS,aAAa,iBACxE,KAAK,aAAa,GACjB,MAAQA,GAAS,aAAa,cAAgB,IAC9C,MAAQA,GAAS,aAAa,KAAO,GAE1C,EAEA,aAAa,UAAU,gBAAkB,SAAUmrB,EAActU,EAAQ,CACvE,IAAI7R,EACAqQ,EAAOwB,EAAO,OACd6Q,EACA0R,EAAW,GAEf,IAAKp0B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB0iB,EAAY7Q,EAAO7R,CAAC,EAAE,GAAG,EACzBo0B,GAAY,iBAAiB1R,EAAWA,EAAU,EAAE,OAAQ,GAAMyD,CAAY,EAGhF,OAAOiO,CACT,EAEA,aAAa,UAAU,mBAAqB,SAAUzJ,EAAShW,EAAO,EACnE,MAAQ3Z,GAAS,aAAa,mBAAmB2vB,EAAShW,CAAK,CAClE,EAEA,aAAa,UAAU,cAAgB,SAAUkW,EAAY,EAC1D,MAAQ7vB,GAAS,aAAa,cAAc6vB,CAAU,CACzD,EAEA,aAAa,UAAU,mBAAqB,SAAUwJ,EAAW,EAC9D,MAAQr5B,GAAS,aAAa,mBAAmBq5B,CAAS,CAC7D,EAEA,aAAa,UAAU,4BAA8B,SAAUhjB,EAAc8U,EAAcmO,EAAYjO,EAAMC,EAAM,CAOjH,OANIjV,EAAa,IACf8U,EAAa,UAAU9U,EAAa,GAAG,CAAC,EAAGA,EAAa,GAAG,CAAC,EAAIA,EAAa,OAAQ,CAAC,EAGxF8U,EAAa,UAAU,EAAG,CAAC9U,EAAa,GAAI,CAAC,EAErCA,EAAa,EAAG,CACtB,IAAK,GACH8U,EAAa,UAAU9U,EAAa,eAAiBA,EAAa,SAAWA,EAAa,WAAWijB,CAAU,GAAI,EAAG,CAAC,EACvH,MAEF,IAAK,GACHnO,EAAa,UAAU9U,EAAa,eAAiBA,EAAa,SAAWA,EAAa,WAAWijB,CAAU,GAAK,EAAG,EAAG,CAAC,EAC3H,MAEF,QACE,KACJ,CAEAnO,EAAa,UAAUE,EAAMC,EAAM,CAAC,CACtC,EAEA,aAAa,UAAU,WAAa,SAAUiO,EAAW,CACvD,MAAO,OAAS,KAAK,MAAMA,EAAU,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,EAAU,CAAC,EAAI,GAAG,EAAI,IAAM,KAAK,MAAMA,EAAU,CAAC,EAAI,GAAG,EAAI,GACjI,EAEA,aAAa,UAAU,UAAY,IAAI,YAEvC,aAAa,UAAU,QAAU,UAAY,CAAC,EAI9C,SAAS,cAAe,CAAC,CAEzB,gBAAgB,CAAC,YAAa,iBAAkB,iBAAkB,aAAc,oBAAoB,EAAG,YAAY,EAEnH,aAAa,UAAU,YAAc,SAAUtiB,EAAM4d,EAAY3C,EAAM,CACrE,KAAK,UAAU,EACf,KAAK,aAAajb,EAAM4d,EAAY3C,CAAI,EACxC,KAAK,cAAcjb,EAAM4d,EAAY3C,CAAI,EACzC,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,IAE3B,MAAQlyB,GAAS,KAAK,IAAM,CAAC60B,EAAW,kBAC3C,KAAK,cAAc,EAGrB,KAAK,KAAK,CACZ,EAcA,aAAa,UAAU,aAAe,SAAUjD,EAAK,CAKnD,IAJC,MAAQ5xB,GAAS,KAAO,GACzB,KAAK,uBAAuB4xB,CAAG,EAC/B,KAAK,kBAAkBA,GAAM,MAAQ5xB,GAAS,SAAS,EAEnD,IAAE,MAAQA,GAAS,WAAa,EAAE,MAAQA,GAAS,KAAK,IAI5D,KAAM,MAAQA,GAAS,GAAG,cASvB,MAAQA,GAAS,cAAgB4xB,GAAO,MAAQ5xB,GAAS,KAAK,OATzB,CACtC,IAAIw5B,GAAgB,MAAQx5B,GAAS,GAAG,EAEpCw5B,KAAkB,MAAQx5B,GAAS,KAAK,KAC1Cw5B,GAAgB,MAAQx5B,GAAS,KAAK,GAAK,IAG5C,MAAQA,GAAS,cAAgBw5B,CACpC,CAIA,IAAI,EACA/4B,GAAO,MAAQT,GAAS,SAAS,OAOrC,KALM,MAAQA,GAAS,gBACrB,KAAK,aAAa,MAAQA,GAAS,aAAa,EAI7C,EAAIS,EAAM,EAAG,GAAK,EAAG,GAAK,IACxB,MAAQT,GAAS,iBAAmB,MAAQA,GAAS,SAAS,CAAC,MACjE,MAAQA,GAAS,SAAS,CAAC,EAAE,cAAc,MAAQA,GAAS,eAAiB,MAAQA,GAAS,OAAO,CAAC,EAAE,EAAE,GAEtG,MAAQA,GAAS,SAAS,CAAC,EAAE,QAC/B,MAAQA,GAAS,KAAO,KAIjC,EAEA,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,IACnB,MAAQR,GAAS,iBAAmB,MAAQA,GAAS,SAASQ,CAAC,KACjE,MAAQR,GAAS,SAASQ,CAAC,EAAE,YAAY,CAGhD,EAEA,aAAa,UAAU,YAAc,SAAUumB,EAAO,EACnD,MAAQ/mB,GAAS,SAAW+mB,CAC/B,EAEA,aAAa,UAAU,YAAc,UAAY,CAC/C,OAAQ,MAAQ/mB,GAAS,QAC3B,EAEA,aAAa,UAAU,gBAAkB,UAAY,CACnD,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACnB,MAAQR,GAAS,SAASQ,CAAC,IAC7B,MAAQR,GAAS,SAASQ,CAAC,EAAE,QAAQ,CAG5C,EAEA,aAAa,UAAU,QAAU,UAAY,CAC3C,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,CAC1B,EAIA,SAAS,cAAcyW,EAAM4d,EAAY3C,EAAM,EAC5C,MAAQlyB,GAAS,UAAY60B,EAAW,aAAa5d,EAAK,KAAK,EAChE,KAAK,YAAYA,EAAM4d,EAAY3C,CAAI,GACtC,MAAQlyB,GAAS,WAAa,CAC7B,IAAK,EACL,KAAM,EACN,OAAQ,MAAQA,GAAS,UAAU,EACnC,QAAS,MAAQA,GAAS,UAAU,CACtC,CACF,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,oBAAoB,EAAG,aAAa,EAEpI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAIkoB,GAAa,MAAQloB,GAAS,WAAW,eAAe,MAAQA,GAAS,SAAS,GAErF,MAAQA,GAAS,UAAY,SAAS,OAAO,GAE7C,MAAQA,GAAS,UAAU,aAAa,SAAU,MAAQA,GAAS,UAAU,EAAI,IAAI,GAErF,MAAQA,GAAS,UAAU,aAAa,UAAW,MAAQA,GAAS,UAAU,EAAI,IAAI,GAEtF,MAAQA,GAAS,UAAU,aAAa,uBAAwB,MAAQA,GAAS,UAAU,KAAO,MAAQA,GAAS,WAAW,aAAa,wBAAwB,GAEnK,MAAQA,GAAS,UAAU,eAAe,+BAAgC,OAAQkoB,CAAS,GAE3F,MAAQloB,GAAS,aAAa,aAAa,MAAQA,GAAS,SAAS,CACxE,EAEA,cAAc,UAAU,iBAAmB,UAAY,CACrD,OAAQ,MAAQA,GAAS,UAC3B,EAIA,SAAS,cAAciX,EAAM4d,EAAY3C,EAAM,CAC7C,KAAK,YAAYjb,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,aAAa,EAAG,aAAa,EAE9C,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAIW,EAAO,SAAS,MAAM,EAI1BA,EAAK,aAAa,SAAU,MAAQ7yB,GAAS,KAAK,EAAE,EACpD6yB,EAAK,aAAa,UAAW,MAAQ7yB,GAAS,KAAK,EAAE,EACrD6yB,EAAK,aAAa,QAAS,MAAQ7yB,GAAS,KAAK,EAAE,GAElD,MAAQA,GAAS,aAAa,YAAY6yB,CAAI,CACjD,EAIA,SAAS,aAAa5b,EAAM4d,EAAY3C,EAAM,CAC5C,KAAK,UAAU,EACf,KAAK,eAAe,GACnB,MAAQlyB,GAAS,UAAY60B,EAAW,aAAa5d,EAAK,KAAK,EAChE,KAAK,aAAaA,EAAM4d,EAAY3C,CAAI,GACvC,MAAQlyB,GAAS,WAAa,IAC9B,MAAQA,GAAS,SAAW,GAE7B,IAAIkoB,GAAa,MAAQloB,GAAS,WAAW,eAAe,MAAQA,GAAS,SAAS,GAErF,MAAQA,GAAS,OAAS,MAAQA,GAAS,WAAW,gBAAgB,YAAYkoB,CAAS,GAC3F,MAAQloB,GAAS,aAAe,GAEhC,MAAQA,GAAS,WAAW,gBAAgB,SAAS,MAAQA,CAAO,GAEpE,MAAQA,GAAS,GAAKiX,EAAK,GAAK,gBAAgB,QAAQ,MAAQjX,EAASiX,EAAK,GAAI,EAAG4d,EAAW,UAAW,MAAQ70B,CAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,aAAa,UAAU,aAAe,SAAU4xB,EAAK,CAInD,GAHA,KAAK,uBAAuBA,EAAK,EAAI,EACrC,KAAK,kBAAkBA,EAAK,EAAI,GAE1B,MAAQ5xB,GAAS,GAAG,cAIvB,MAAQA,GAAS,aAAe4xB,GAAO,MAAQ5xB,GAAS,KAAK,OAJxB,CACtC,IAAIw5B,GAAgB,MAAQx5B,GAAS,GAAG,GACvC,MAAQA,GAAS,aAAew5B,CACnC,CAGF,EAEA,gBAAgB,CAAC,kBAAmB,YAAa,YAAY,EAAG,YAAY,EAE5E,aAAa,UAAU,YAAc,UAAY,EAC1C,MAAQx5B,GAAS,YAAc,MAAQA,GAAS,YAC7C,MAAQA,GAAS,YAMZ,EAAE,MAAQA,GAAS,MAAM,QAAQ,GAAK,KAAK,KAAK,MAAQA,GAAS,cAAgB,MAAQA,GAAS,WAAW,WAAa,MAAQA,GAAS,MAAM,KAAK,CAAC,EAAI,MACnK,MAAQA,GAAS,MAAM,MAAM,MAAQA,GAAS,cAAgB,MAAQA,GAAS,WAAW,SAAS,IANnG,MAAQA,GAAS,MAAM,KAAK,GAE5B,MAAQA,GAAS,MAAM,MAAM,MAAQA,GAAS,cAAgB,MAAQA,GAAS,WAAW,SAAS,GAEnG,MAAQA,GAAS,WAAa,IAKrC,EAEA,aAAa,UAAU,KAAO,UAAY,CAC1C,EAEA,aAAa,UAAU,KAAO,UAAY,EACvC,MAAQA,GAAS,MAAM,MAAM,GAE7B,MAAQA,GAAS,WAAa,EACjC,EAEA,aAAa,UAAU,MAAQ,UAAY,EACxC,MAAQA,GAAS,MAAM,MAAM,GAE7B,MAAQA,GAAS,WAAa,IAC9B,MAAQA,GAAS,SAAW,EAC/B,EAEA,aAAa,UAAU,OAAS,UAAY,EACzC,MAAQA,GAAS,SAAW,EAC/B,EAEA,aAAa,UAAU,QAAU,SAAUioB,EAAW,EACnD,MAAQjoB,GAAS,MAAM,KAAKioB,CAAS,CACxC,EAEA,aAAa,UAAU,OAAS,SAAUwR,EAAa,EACpD,MAAQz5B,GAAS,MAAM,OAAOy5B,CAAW,CAC5C,EAEA,aAAa,UAAU,eAAiB,UAAY,CAClD,OAAO,IACT,EAEA,aAAa,UAAU,QAAU,UAAY,CAAC,EAE9C,aAAa,UAAU,iBAAmB,UAAY,CAAC,EAEvD,aAAa,UAAU,gBAAkB,UAAY,CAAC,EAItD,SAAS,eAAexiB,EAAM4d,EAAY3C,EAAM,CAC9C,KAAK,UAAU,EACf,KAAK,eAAe,GACnB,MAAQlyB,GAAS,UAAY60B,EAAW,aAAa5d,EAAK,KAAK,GAC/D,MAAQjX,GAAS,YAAc60B,EAAW,YAAY,UAAU,MAAQ70B,GAAS,SAAS,EAC3F,KAAK,aAAaiX,EAAM4d,EAAY3C,CAAI,CAC1C,CAEA,eAAe,UAAU,aAAe,UAAY,CAAC,EAErD,gBAAgB,CAAC,kBAAmB,YAAa,YAAY,EAAG,cAAc,EAE9E,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAO,IACT,EAEA,eAAe,UAAU,YAAc,UAAY,CAAC,EAEpD,eAAe,UAAU,QAAU,UAAY,CAAC,EAEhD,eAAe,UAAU,gBAAkB,UAAY,EACpD,MAAQlyB,GAAS,eAAiB,iBAAiB,MAAQA,CAAO,CACrE,EAEA,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAQ,MAAQA,GAAS,WAC3B,EAIA,SAAS,eAAeiX,EAAM4d,EAAY3C,EAAM,EAC7C,MAAQlyB,GAAS,OAASiX,EAAK,QAC/B,MAAQjX,GAAS,WAAa,IAC9B,MAAQA,GAAS,eAAiB,IAClC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,UAAY,MAAQA,GAAS,OAAS,kBAAkB,MAAQA,GAAS,OAAO,MAAM,EAAI,CAAC,EAE7G,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,GACtC,MAAQlyB,GAAS,GAAKiX,EAAK,GAAK,gBAAgB,QAAQ,MAAQjX,EAASiX,EAAK,GAAI,EAAG4d,EAAW,UAAW,MAAQ70B,CAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,gBAAgB,CAAC,YAAa,aAAc,cAAc,EAAG,cAAc,EAI3E,SAAS,qBAAqBiX,EAAM4d,EAAY3C,EAAM,EACnD,MAAQlyB,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,WAAa,MAC/B,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,qBAAsB,YAAY,EAAG,oBAAoB,EAEzJ,qBAAqB,UAAU,cAAgB,UAAY,EACpD,MAAQlyB,GAAS,KAAK,aAAe,EAAE,MAAQA,GAAS,WAAW,YAAY,SACjF,MAAQA,GAAS,cAAgB,SAAS,MAAM,EAErD,EAEA,qBAAqB,UAAU,kBAAoB,SAAU05B,EAAW,CAMtE,QALIl5B,EAAI,EACJC,EAAMi5B,EAAU,OAChBC,EAAe,CAAC,EAChBC,EAAqB,GAElBp5B,EAAIC,GACLi5B,EAAUl5B,CAAC,IAAM,MAA2Bk5B,EAAUl5B,CAAC,IAAM,KAC/Dm5B,EAAa,KAAKC,CAAkB,EACpCA,EAAqB,IAErBA,GAAsBF,EAAUl5B,CAAC,EAGnCA,GAAK,EAGP,OAAAm5B,EAAa,KAAKC,CAAkB,EAC7BD,CACT,EAEA,qBAAqB,UAAU,aAAe,UAAY,CACxD,IAAIn5B,EACAC,EACA4V,GAAgB,MAAQrW,GAAS,aAAa,aACjD,MAAQA,GAAS,gBAAkB,iBAAiBqW,EAAeA,EAAa,EAAE,OAAS,CAAC,EAEzFA,EAAa,IACd,MAAQrW,GAAS,aAAa,aAAa,OAAQ,KAAK,WAAWqW,EAAa,EAAE,CAAC,GAEnF,MAAQrW,GAAS,aAAa,aAAa,OAAQ,eAAe,EAGjEqW,EAAa,MACd,MAAQrW,GAAS,aAAa,aAAa,SAAU,KAAK,WAAWqW,EAAa,EAAE,CAAC,GAErF,MAAQrW,GAAS,aAAa,aAAa,eAAgBqW,EAAa,EAAE,IAG5E,MAAQrW,GAAS,aAAa,aAAa,YAAaqW,EAAa,SAAS,EAE/E,IAAIc,GAAY,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAEpF,GAAIc,EAAS,QACV,MAAQnX,GAAS,aAAa,aAAa,QAASmX,EAAS,MAAM,MAC/D,EACJ,MAAQnX,GAAS,aAAa,aAAa,cAAemX,EAAS,OAAO,EAE3E,IAAIE,EAAUhB,EAAa,QACvBiB,EAASjB,EAAa,QAEzB,MAAQrW,GAAS,aAAa,aAAa,aAAcsX,CAAM,GAE/D,MAAQtX,GAAS,aAAa,aAAa,cAAeqX,CAAO,CACpE,EAEC,MAAQrX,GAAS,aAAa,aAAa,aAAcqW,EAAa,CAAC,EAExE,IAAIkV,EAAUlV,EAAa,GAAK,CAAC,EAC7BwjB,EAAa,CAAC,EAAE,MAAQ75B,GAAS,WAAW,YAAY,MAC5DS,EAAM8qB,EAAQ,OACd,IAAIuO,EACA3O,GAAgB,MAAQnrB,GAAS,QACjC6W,EACAuiB,EAAW,GACXW,GAAe,MAAQ/5B,GAAS,KAAK,YACrCqrB,EAAO,EACPC,EAAO,EACPW,EAAY,GACZ4C,EAAiBxY,EAAa,GAAK,KAAQA,EAAa,UAE5D,GAAI0jB,GAAe,CAACF,GAAc,CAACxjB,EAAa,GAAI,CAClD,IAAI2jB,GAAY,MAAQh6B,GAAS,cAC7Bi6B,EAAU,QAEd,OAAQ5jB,EAAa,EAAG,CACtB,IAAK,GACH4jB,EAAU,MACV,MAEF,IAAK,GACHA,EAAU,SACV,MAEF,QACEA,EAAU,QACV,KACJ,CAEAD,EAAS,aAAa,cAAeC,CAAO,EAC5CD,EAAS,aAAa,iBAAkBnL,CAAc,EACtD,IAAIqL,EAAc,KAAK,kBAAkB7jB,EAAa,SAAS,EAI/D,IAHA5V,EAAMy5B,EAAY,OAClB5O,EAAOjV,EAAa,GAAKA,EAAa,GAAG,CAAC,EAAIA,EAAa,OAAS,EAE/D7V,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBs5B,GAAS,MAAQ95B,GAAS,UAAUQ,CAAC,GAAK,SAAS,OAAO,EAC1Ds5B,EAAM,YAAcI,EAAY15B,CAAC,EACjCs5B,EAAM,aAAa,IAAK,CAAC,EACzBA,EAAM,aAAa,IAAKxO,CAAI,EAC5BwO,EAAM,MAAM,QAAU,UACtBE,EAAS,YAAYF,CAAK,GACzB,MAAQ95B,GAAS,UAAUQ,CAAC,EAAIs5B,EACjCxO,GAAQjV,EAAa,iBAGtB,MAAQrW,GAAS,aAAa,YAAYg6B,CAAQ,CACrD,KAAO,CACL,IAAIG,GAAqB,MAAQn6B,GAAS,UAAU,OAChD8R,EACA8c,EAEJ,IAAKpuB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACpB,CAACq5B,GAAc,CAACE,GAAev5B,IAAM,KACvCs5B,EAAQK,EAAoB35B,GAAK,MAAQR,GAAS,UAAUQ,CAAC,EAAI,SAASq5B,EAAa,OAAS,MAAM,EAElGM,GAAqB35B,IACvBs5B,EAAM,aAAa,iBAAkB,MAAM,EAC3CA,EAAM,aAAa,kBAAmB,OAAO,EAC7CA,EAAM,aAAa,oBAAqB,GAAG,GAC1C,MAAQ95B,GAAS,UAAUQ,CAAC,EAAIs5B,GAEhC,MAAQ95B,GAAS,aAAa,YAAY85B,CAAK,GAGlDA,EAAM,MAAM,QAAU,WAGxB3O,EAAa,MAAM,EACnBA,EAAa,MAAM9U,EAAa,UAAY,IAAKA,EAAa,UAAY,GAAG,EAEzE0jB,IACExO,EAAQ/qB,CAAC,EAAE,IACb6qB,EAAO,CAACwD,EACRvD,GAAQjV,EAAa,QACrBiV,GAAQW,EAAY,EAAI,EACxBA,EAAY,IAGd,KAAK,4BAA4B5V,EAAc8U,EAAcI,EAAQ/qB,CAAC,EAAE,KAAM6qB,EAAMC,CAAI,EACxFD,GAAQE,EAAQ/qB,CAAC,EAAE,GAAK,EAExB6qB,GAAQwD,GAGNgL,GACFjL,GAAY,MAAQ5uB,GAAS,WAAW,YAAY,YAAYqW,EAAa,UAAU7V,CAAC,EAAG2W,EAAS,QAAS,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAAE,OAAO,EAC1LvE,EAAY8c,GAAYA,EAAS,MAAQ,CAAC,EAC1C/X,EAAS/E,EAAU,OAASA,EAAU,OAAO,CAAC,EAAE,GAAK,CAAC,EAEjDioB,EAGHX,GAAY,KAAK,gBAAgBjO,EAActU,CAAM,EAFrDijB,EAAM,aAAa,IAAK,KAAK,gBAAgB3O,EAActU,CAAM,CAAC,IAKhEkjB,GACFD,EAAM,aAAa,YAAa,aAAe3O,EAAa,MAAM,EAAE,EAAI,IAAMA,EAAa,MAAM,EAAE,EAAI,GAAG,EAG5G2O,EAAM,YAAcvO,EAAQ/qB,CAAC,EAAE,IAC/Bs5B,EAAM,eAAe,uCAAwC,YAAa,UAAU,GAKpFC,GAAeD,GACjBA,EAAM,aAAa,IAAKV,CAAQ,CAEpC,CAEA,KAAO54B,GAAK,MAAQR,GAAS,UAAU,SACpC,MAAQA,GAAS,UAAUQ,CAAC,EAAE,MAAM,QAAU,OAC/CA,GAAK,GAGN,MAAQR,GAAS,aAAe,EACnC,EAEA,qBAAqB,UAAU,iBAAmB,UAAY,CAI5D,GAHA,KAAK,cAAc,MAAQA,GAAS,KAAK,eAAiB,MAAQA,GAAS,KAAK,EAAE,EAClF,KAAK,mBAAmB,GAEnB,MAAQA,GAAS,aAAc,EACjC,MAAQA,GAAS,aAAe,GAEjC,IAAIo6B,GAAW,MAAQp6B,GAAS,aAAa,QAAQ,GAEpD,MAAQA,GAAS,KAAO,CACvB,IAAKo6B,EAAQ,EACb,KAAMA,EAAQ,EACd,MAAOA,EAAQ,MACf,OAAQA,EAAQ,MAClB,CACF,CAEA,OAAQ,MAAQp6B,GAAS,IAC3B,EAEA,qBAAqB,UAAU,mBAAqB,UAAY,CAC9D,GAAI,EAAE,MAAQA,GAAS,KAAK,eACzB,MAAQA,GAAS,aAAa,aAAa,MAAQA,GAAS,aAAa,aAAc,MAAQA,GAAS,kBAAkB,GAEtH,MAAQA,GAAS,qBAAuB,MAAQA,GAAS,aAAa,oBAAoB,EAC5F,MAAQA,GAAS,aAAe,GACjC,IAAIQ,EACAC,EACA45B,GAAmB,MAAQr6B,GAAS,aAAa,gBACjDurB,GAAW,MAAQvrB,GAAS,aAAa,YAAY,EACzDS,EAAM8qB,EAAQ,OACd,IAAI+O,EACAC,EAEJ,IAAK/5B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACnB+qB,EAAQ/qB,CAAC,EAAE,IACd85B,EAAiBD,EAAgB75B,CAAC,EAClC+5B,GAAY,MAAQv6B,GAAS,UAAUQ,CAAC,EAEpC85B,EAAe,KAAK,GACtBC,EAAS,aAAa,YAAaD,EAAe,CAAC,EAGjDA,EAAe,KAAK,GACtBC,EAAS,aAAa,UAAWD,EAAe,CAAC,EAG/CA,EAAe,KAAK,IACtBC,EAAS,aAAa,eAAgBD,EAAe,EAAE,EAGrDA,EAAe,KAAK,IACtBC,EAAS,aAAa,SAAUD,EAAe,EAAE,EAG/CA,EAAe,KAAK,IACtBC,EAAS,aAAa,OAAQD,EAAe,EAAE,EAIvD,CAEJ,EAOA,SAAS,gBAAgBrjB,EAAM4d,EAAY3C,EAAM,EAE9C,MAAQlyB,GAAS,OAAS,CAAC,GAE3B,MAAQA,GAAS,WAAaiX,EAAK,QAEnC,MAAQjX,GAAS,WAAa,CAAC,GAE/B,MAAQA,GAAS,eAAiB,CAAC,GAEnC,MAAQA,GAAS,UAAY,CAAC,GAE9B,MAAQA,GAAS,kBAAoB,CAAC,GAEtC,MAAQA,GAAS,iBAAmB,CAAC,EACtC,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,GAGtC,MAAQlyB,GAAS,aAAe,CAAC,CACpC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,cAAe,iBAAkB,aAAc,oBAAoB,EAAG,eAAe,EAErJ,gBAAgB,UAAU,qBAAuB,UAAY,CAAC,EAE9D,gBAAgB,UAAU,eAAiB,IAAI,OAE/C,gBAAgB,UAAU,yBAA2B,UAAY,CAAC,EAElE,gBAAgB,UAAU,cAAgB,UAAY,CACpD,KAAK,cAAc,MAAQA,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,cAAe,MAAQA,GAAS,aAAc,EAAG,CAAC,EAAG,EAAI,EACxJ,KAAK,mBAAmB,CAC1B,EAMA,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,IAAIQ,EACAC,GAAO,MAAQT,GAAS,OAAO,OAC/B+wB,EACA/rB,EACAqQ,GAAQ,MAAQrV,GAAS,WAAW,OACpCuZ,EACAihB,EAAa,CAAC,EACdC,EAAc,GAElB,IAAKz1B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAK5B,IAJAuU,GAAS,MAAQvZ,GAAS,WAAWgF,CAAC,EACtCy1B,EAAc,GACdD,EAAW,OAAS,EAEfh6B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBuwB,GAAS,MAAQ/wB,GAAS,OAAOQ,CAAC,EAE9BuwB,EAAM,OAAO,QAAQxX,CAAK,IAAM,KAClCihB,EAAW,KAAKzJ,CAAK,EACrB0J,EAAc1J,EAAM,aAAe0J,GAInCD,EAAW,OAAS,GAAKC,GAC3B,KAAK,oBAAoBD,CAAU,CAEvC,CACF,EAEA,gBAAgB,UAAU,oBAAsB,SAAU3jB,EAAQ,CAChE,IAAIrW,EACAC,EAAMoW,EAAO,OAEjB,IAAKrW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqW,EAAOrW,CAAC,EAAE,cAAc,CAE5B,EAEA,gBAAgB,UAAU,mBAAqB,SAAUyW,EAAMgf,EAAO,CAEpE,IAAIyE,EACAtE,EAAU,IAAI,aAAanf,EAAMgf,CAAK,EACtCI,EAAcD,EAAQ,MAE1B,GAAInf,EAAK,KAAO,KACdyjB,EAAc,IAAI,mBAAmB,MAAQ16B,EAASiX,EAAMmf,CAAO,UAC1Dnf,EAAK,KAAO,KACrByjB,EAAc,IAAI,iBAAiB,MAAQ16B,EAASiX,EAAMmf,CAAO,UACxDnf,EAAK,KAAO,MAAQA,EAAK,KAAO,KAAM,CAC/C,IAAI0jB,EAAsB1jB,EAAK,KAAO,KAAO,yBAA2B,2BACxEyjB,EAAc,IAAIC,EAAoB,MAAQ36B,EAASiX,EAAMmf,CAAO,GAEnE,MAAQp2B,GAAS,WAAW,KAAK,YAAY06B,EAAY,EAAE,EAExDA,EAAY,UACb,MAAQ16B,GAAS,WAAW,KAAK,YAAY06B,EAAY,EAAE,GAE3D,MAAQ16B,GAAS,WAAW,KAAK,YAAY06B,EAAY,EAAE,EAE5DrE,EAAY,aAAa,OAAQ,OAAS,aAAe,IAAMqE,EAAY,OAAS,GAAG,EAE3F,CAEA,OAAIzjB,EAAK,KAAO,MAAQA,EAAK,KAAO,QAClCof,EAAY,aAAa,kBAAmB,MAAQr2B,GAAS,OAAOiX,EAAK,EAAE,GAAK,OAAO,EACvFof,EAAY,aAAa,mBAAoB,MAAQr2B,GAAS,OAAOiX,EAAK,EAAE,GAAK,OAAO,EACxFof,EAAY,aAAa,eAAgB,GAAG,EAExCpf,EAAK,KAAO,GACdof,EAAY,aAAa,oBAAqBpf,EAAK,EAAE,GAIrDA,EAAK,IAAM,GACbof,EAAY,aAAa,YAAa,SAAS,EAG7Cpf,EAAK,IACPof,EAAY,aAAa,KAAMpf,EAAK,EAAE,EAGpCA,EAAK,IACPof,EAAY,aAAa,QAASpf,EAAK,EAAE,EAGvCA,EAAK,KACPof,EAAY,MAAM,gBAAgB,EAAI,aAAapf,EAAK,EAAE,IAG3D,MAAQjX,GAAS,WAAW,KAAKo2B,CAAO,EAEzC,KAAK,sBAAsBnf,EAAMyjB,CAAW,EACrCA,CACT,EAEA,gBAAgB,UAAU,mBAAqB,SAAUzjB,EAAM,CAC7D,IAAIyjB,EAAc,IAAI,eAEtB,OAAIzjB,EAAK,IACPyjB,EAAY,GAAG,aAAa,KAAMzjB,EAAK,EAAE,EAGvCA,EAAK,IACPyjB,EAAY,GAAG,aAAa,QAASzjB,EAAK,EAAE,EAG1CA,EAAK,KACPyjB,EAAY,GAAG,MAAM,gBAAgB,EAAI,aAAazjB,EAAK,EAAE,GAGxDyjB,CACT,EAEA,gBAAgB,UAAU,uBAAyB,SAAUzjB,EAAM7T,EAAW,CAC5E,IAAIw3B,EAAoB,yBAAyB,qBAAqB,MAAQ56B,EAASiX,EAAM,MAAQjX,CAAO,EACxG06B,EAAc,IAAI,iBAAiBE,EAAmBA,EAAkB,EAAGx3B,CAAS,EACxF,YAAK,sBAAsB6T,EAAMyjB,CAAW,EACrCA,CACT,EAEA,gBAAgB,UAAU,mBAAqB,SAAUzjB,EAAM4jB,EAAiB5E,EAAO,CACrF,IAAIzwB,EAAK,EAELyR,EAAK,KAAO,KACdzR,EAAK,EACIyR,EAAK,KAAO,KACrBzR,EAAK,EACIyR,EAAK,KAAO,OACrBzR,EAAK,GAGP,IAAIs1B,EAAgB,qBAAqB,aAAa,MAAQ96B,EAASiX,EAAMzR,EAAI,MAAQxF,CAAO,EAC5F06B,EAAc,IAAI,aAAaG,EAAiB5E,EAAO6E,CAAa,EAExE,OAAC,MAAQ96B,GAAS,OAAO,KAAK06B,CAAW,EAEzC,KAAK,oBAAoBA,CAAW,EACpC,KAAK,sBAAsBzjB,EAAMyjB,CAAW,EACrCA,CACT,EAEA,gBAAgB,UAAU,sBAAwB,SAAUzjB,EAAMnW,EAAS,CAIzE,QAHI,EAAI,EACJL,GAAO,MAAQT,GAAS,iBAAiB,OAEtC,EAAIS,GAAK,CACd,IAAK,MAAQT,GAAS,iBAAiB,CAAC,EAAE,UAAYc,EACpD,OAGF,GAAK,CACP,EAEC,MAAQd,GAAS,iBAAiB,KAAK,CACtC,GAAI,oBAAoB,qBAAqBiX,CAAI,EACjD,QAASnW,EACT,KAAMmW,CACR,CAAC,CACH,EAEA,gBAAgB,UAAU,iBAAmB,SAAUyjB,EAAa,CAClE,IAAI13B,EAAM03B,EAAY,OAClB11B,EACAqQ,GAAQ,MAAQrV,GAAS,WAAW,OAExC,IAAKgF,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,GACnB,MAAQhF,GAAS,WAAWgF,CAAC,EAAE,QACnChC,EAAI,MAAM,MAAQhD,GAAS,WAAWgF,CAAC,CAAC,CAG9C,EAEA,gBAAgB,UAAU,aAAe,UAAY,EAClD,MAAQhF,GAAS,cAAgB,GAClC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,UAAU,OAEtC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,aAAaQ,CAAC,GAAK,MAAQR,GAAS,UAAUQ,CAAC,EAOnE,IAJA,KAAK,cAAc,MAAQR,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,cAAe,MAAQA,GAAS,aAAc,EAAG,CAAC,EAAG,EAAI,EACxJ,KAAK,mBAAmB,EACxBS,GAAO,MAAQT,GAAS,kBAAkB,OAErCQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,kBAAkBQ,CAAC,EAAE,SAAS,EAGlD,KAAK,gBAAgB,CACvB,EAEA,gBAAgB,UAAU,aAAe,SAAUwC,EAAK+3B,EAAWC,EAAc53B,EAAW6yB,EAAOC,EAAc+E,EAAQ,CACvH,IAAIJ,EAAkB,CAAC,EAAE,OAAO3E,CAAY,EACxC11B,EACAC,EAAMuC,EAAI,OAAS,EACnBgC,EACAqQ,EACA6lB,EAAY,CAAC,EACbC,EAAe,CAAC,EAChBC,EACAC,EACAC,EAEJ,IAAK96B,EAAIC,EAAKD,GAAK,EAAGA,GAAK,EAAG,CAS5B,GARA86B,EAAe,KAAK,uBAAuBt4B,EAAIxC,CAAC,CAAC,EAE5C86B,EAGHP,EAAUv6B,CAAC,EAAIw6B,EAAaM,EAAe,CAAC,EAF5Ct4B,EAAIxC,CAAC,EAAE,QAAUy6B,EAKfj4B,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,KAC7E86B,EAGHP,EAAUv6B,CAAC,EAAE,MAAM,OAAS,GAF5Bu6B,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,EAAGy1B,CAAK,EAKlDjzB,EAAIxC,CAAC,EAAE,SACT4C,EAAU,YAAY23B,EAAUv6B,CAAC,EAAE,MAAM,KAAK,EAGhD06B,EAAU,KAAKH,EAAUv6B,CAAC,EAAE,KAAK,UACxBwC,EAAIxC,CAAC,EAAE,KAAO,KAAM,CAC7B,GAAI,CAAC86B,EACHP,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,CAAC,MAI7C,KAFA6U,EAAO0lB,EAAUv6B,CAAC,EAAE,GAAG,OAElBwE,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+1B,EAAUv6B,CAAC,EAAE,aAAawE,CAAC,EAAI+1B,EAAUv6B,CAAC,EAAE,GAAGwE,CAAC,EAIpD,KAAK,aAAahC,EAAIxC,CAAC,EAAE,GAAIu6B,EAAUv6B,CAAC,EAAE,GAAIu6B,EAAUv6B,CAAC,EAAE,aAAcu6B,EAAUv6B,CAAC,EAAE,GAAIy1B,EAAQ,EAAG4E,EAAiBI,CAAM,EAExHj4B,EAAIxC,CAAC,EAAE,SACT4C,EAAU,YAAY23B,EAAUv6B,CAAC,EAAE,EAAE,CAEzC,MAAWwC,EAAIxC,CAAC,EAAE,KAAO,MAClB86B,IACHP,EAAUv6B,CAAC,EAAI,KAAK,uBAAuBwC,EAAIxC,CAAC,EAAG4C,CAAS,GAG9Dg4B,EAAmBL,EAAUv6B,CAAC,EAAE,UAChCq6B,EAAgB,KAAKO,CAAgB,GAC5Bp4B,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MACpF86B,IACHP,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,EAAGq6B,EAAiB5E,CAAK,GAGvE,KAAK,iBAAiB8E,EAAUv6B,CAAC,CAAC,GACzBwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MACpF86B,GAOHD,EAAWN,EAAUv6B,CAAC,EACtB66B,EAAS,OAAS,KAPlBA,EAAW,eAAe,YAAYr4B,EAAIxC,CAAC,EAAE,EAAE,EAC/C66B,EAAS,KAAK,MAAQr7B,EAASgD,EAAIxC,CAAC,CAAC,EACrCu6B,EAAUv6B,CAAC,EAAI66B,GAEd,MAAQr7B,GAAS,eAAe,KAAKq7B,CAAQ,GAMhDF,EAAa,KAAKE,CAAQ,GACjBr4B,EAAIxC,CAAC,EAAE,KAAO,OAClB86B,GASHD,EAAWN,EAAUv6B,CAAC,EACtB66B,EAAS,OAAS,KATlBA,EAAW,eAAe,YAAYr4B,EAAIxC,CAAC,EAAE,EAAE,EAC/Cu6B,EAAUv6B,CAAC,EAAI66B,EACfA,EAAS,KAAK,MAAQr7B,EAASgD,EAAKxC,EAAGu6B,CAAS,GAE/C,MAAQ/6B,GAAS,eAAe,KAAKq7B,CAAQ,EAE9CJ,EAAS,IAMXE,EAAa,KAAKE,CAAQ,GAG5B,KAAK,oBAAoBr4B,EAAIxC,CAAC,EAAGA,EAAI,CAAC,CACxC,CAIA,IAFAC,EAAMy6B,EAAU,OAEX16B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB06B,EAAU16B,CAAC,EAAE,OAAS,GAKxB,IAFAC,EAAM06B,EAAa,OAEd36B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB26B,EAAa36B,CAAC,EAAE,OAAS,EAE7B,EAEA,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,KAAK,gBAAgB,EACrB,IAAIA,EACAC,GAAO,MAAQT,GAAS,WAAW,OAEvC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,WAAWQ,CAAC,EAAE,MAAM,EAKxC,IAFA,KAAK,YAAY,EAEZA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,IACnB,MAAQR,GAAS,WAAWQ,CAAC,EAAE,OAAS,MAAQR,GAAS,kBACvD,MAAQA,GAAS,WAAWQ,CAAC,EAAE,UACjC,MAAQR,GAAS,WAAWQ,CAAC,EAAE,OAAO,aAAa,KAAM,MAAQR,GAAS,WAAWQ,CAAC,EAAE,CAAC,GAGzF,MAAQR,GAAS,WAAWQ,CAAC,EAAE,EAAI,QAAU,MAAQR,GAAS,WAAWQ,CAAC,EAAE,IAG9E,MAAQR,GAAS,WAAWQ,CAAC,EAAE,MAAM,aAAa,KAAM,MAAQR,GAAS,WAAWQ,CAAC,EAAE,GAAK,MAAM,EAGzG,EAEA,gBAAgB,UAAU,YAAc,UAAY,CAClD,IAAIA,EACAC,GAAO,MAAQT,GAAS,iBAAiB,OACzCu7B,EAEJ,IAAK/6B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB+6B,GAAmB,MAAQv7B,GAAS,iBAAiBQ,CAAC,IAEhD,MAAQR,GAAS,eAAiBu7B,EAAgB,QAAQ,cAAgBA,EAAgB,OAAS,IACvGA,EAAgB,GAAGA,EAAgB,KAAMA,EAAgB,SAAU,MAAQv7B,GAAS,aAAa,CAGvG,EAEA,gBAAgB,UAAU,QAAU,UAAY,CAC9C,KAAK,mBAAmB,GACvB,MAAQA,GAAS,WAAa,MAC9B,MAAQA,GAAS,UAAY,IAChC,EAIA,SAAS,cAAcw7B,EAAQC,EAAe,EAC3C,MAAQz7B,GAAS,cAAgBy7B,EAClC,IAAInR,EAAgB,SAAS,eAAe,EAc5C,GAbAA,EAAc,aAAa,OAAQ,QAAQ,EAC3CA,EAAc,aAAa,8BAA+B,WAAW,EACrEA,EAAc,aAAa,SAAU,sFAAsF,EAC3HA,EAAc,aAAa,SAAU,IAAI,EACzCkR,EAAO,YAAYlR,CAAa,EAChCA,EAAgB,SAAS,eAAe,EACxCA,EAAc,aAAa,OAAQ,QAAQ,EAC3CA,EAAc,aAAa,8BAA+B,MAAM,EAChEA,EAAc,aAAa,SAAU,yCAAyC,EAC9EA,EAAc,aAAa,SAAU,IAAI,EACzCkR,EAAO,YAAYlR,CAAa,GAC/B,MAAQtqB,GAAS,aAAesqB,EAE7BmR,EAAc,eAAe,CAAC,EAAE,EAAE,IAAM,KAAOA,EAAc,eAAe,CAAC,EAAE,EAAE,EAAG,CACtF,IAAIC,EAAU,SAAS,SAAS,EAChCF,EAAO,YAAYE,CAAO,EAC1B,IAAIC,EACJA,EAAc,SAAS,aAAa,EACpCA,EAAY,aAAa,KAAM,eAAe,EAC9CD,EAAQ,YAAYC,CAAW,EAC/BA,EAAc,SAAS,aAAa,EACpCA,EAAY,aAAa,KAAM,IAAI,EACnCD,EAAQ,YAAYC,CAAW,CACjC,CACF,CAEA,cAAc,UAAU,YAAc,SAAU1c,EAAa,CAC3D,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CACvD,IAAI47B,GAAc,MAAQ57B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EACjE67B,GAAc,MAAQ77B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EACjE87B,GAAW,MAAQ97B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,KAErE,MAAQA,GAAS,aAAa,aAAa,SAAU67B,EAAW,CAAC,EAAID,EAAW,CAAC,EAAI,UAAYA,EAAW,CAAC,EAAI,KAAOC,EAAW,CAAC,EAAID,EAAW,CAAC,GAAK,UAAYA,EAAW,CAAC,EAAI,KAAOC,EAAW,CAAC,EAAID,EAAW,CAAC,GAAK,UAAYA,EAAW,CAAC,EAAI,UAAYE,EAAU,IAAI,CACtR,CACF,EAIA,SAAS,cAAcN,EAAQC,EAAe,EAC3C,MAAQz7B,GAAS,cAAgBy7B,EAClC,IAAInR,EAAgB,SAAS,eAAe,EAC5CA,EAAc,aAAa,OAAQ,QAAQ,EAC3CA,EAAc,aAAa,8BAA+B,MAAM,EAChEA,EAAc,aAAa,SAAU,yCAAyC,EAC9EkR,EAAO,YAAYlR,CAAa,GAC/B,MAAQtqB,GAAS,aAAesqB,CACnC,CAEA,cAAc,UAAU,YAAc,SAAUrL,EAAa,CAC3D,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CACvD,IAAIuC,GAAS,MAAQvC,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC5D87B,GAAW,MAAQ97B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAEjE,MAAQA,GAAS,aAAa,aAAa,SAAU,WAAauC,EAAM,CAAC,EAAI,YAAcA,EAAM,CAAC,EAAI,YAAcA,EAAM,CAAC,EAAI,UAAYu5B,EAAU,IAAI,CAC5J,CACF,EAIA,SAAS,sBAAsBN,EAAQC,EAAe,CAEpDD,EAAO,aAAa,IAAK,OAAO,EAChCA,EAAO,aAAa,IAAK,OAAO,EAChCA,EAAO,aAAa,QAAS,MAAM,EACnCA,EAAO,aAAa,SAAU,MAAM,GACnC,MAAQx7B,GAAS,cAAgBy7B,EAClC,IAAIM,EAAiB,SAAS,gBAAgB,EAC9CP,EAAO,YAAYO,CAAc,GAChC,MAAQ/7B,GAAS,eAAiB+7B,CACrC,CAEA,sBAAsB,UAAU,YAAc,SAAU9c,EAAa,CACnE,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CAEvD,IAAIg8B,EAAqB,GACrBC,GAAS,MAAQj8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAIg8B,EAOhEE,GAAc,MAAQl8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EACjEm8B,EAASD,GAAc,EAAI,EAAID,EAE/BG,EAASF,GAAc,EAAI,EAAID,GAElC,MAAQj8B,GAAS,eAAe,aAAa,eAAgBm8B,EAAS,IAAMC,CAAM,EAMnF,IAAIC,GAAY,MAAQr8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAAK,EAAI,OAAS,aAEpF,MAAQA,GAAS,eAAe,aAAa,WAAYq8B,CAAQ,CACpE,CACF,EAIA,SAAS,gBAAgBle,EAAMsd,EAAe,EAC3C,MAAQz7B,GAAS,YAAc,IAC/B,MAAQA,GAAS,cAAgBy7B,GACjC,MAAQz7B,GAAS,KAAOme,GACxB,MAAQne,GAAS,MAAQ,CAAC,CAC7B,CAEA,gBAAgB,UAAU,WAAa,UAAY,CACjD,IAAIs8B,GAAgB,MAAQt8B,GAAS,KAAK,aAAa,WAAa,MAAQA,GAAS,KAAK,aAAa,WACnG4V,EACA2mB,EACA/7B,EACAC,EAeJ,KAbK,MAAQT,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,IAAM,GAC5DS,GAAO,MAAQT,GAAS,KAAK,YAAY,gBAAgB,OACzDQ,EAAI,IAEJA,GAAK,MAAQR,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,EAC5DS,EAAMD,EAAI,GAGZ+7B,EAAY,SAAS,GAAG,EACxBA,EAAU,aAAa,OAAQ,MAAM,EACrCA,EAAU,aAAa,iBAAkB,OAAO,EAChDA,EAAU,aAAa,oBAAqB,CAAC,EAExC/7B,EAAGA,EAAIC,EAAKD,GAAK,EACpBoV,EAAO,SAAS,MAAM,EACtB2mB,EAAU,YAAY3mB,CAAI,GAEzB,MAAQ5V,GAAS,MAAM,KAAK,CAC3B,EAAG4V,EACH,EAAGpV,CACL,CAAC,EAGH,IAAK,MAAQR,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,EAAG,CAChE,IAAI+K,EAAO,SAAS,MAAM,EACtB4E,EAAK,gBAAgB,EACzB5E,EAAK,aAAa,KAAM4E,CAAE,EAC1B5E,EAAK,aAAa,YAAa,OAAO,EACtCA,EAAK,YAAYwxB,CAAS,GAEzB,MAAQv8B,GAAS,KAAK,WAAW,KAAK,YAAY+K,CAAI,EAEvD,IAAIjJ,EAAI,SAAS,GAAG,EAGpB,IAFAA,EAAE,aAAa,OAAQ,OAAS,aAAe,IAAM6N,EAAK,GAAG,EAEtD2sB,EAAa,CAAC,GACnBx6B,EAAE,YAAYw6B,EAAa,CAAC,CAAC,GAG9B,MAAQt8B,GAAS,KAAK,aAAa,YAAY8B,CAAC,GAEhD,MAAQ9B,GAAS,OAAS+K,EAC3BwxB,EAAU,aAAa,SAAU,MAAM,CACzC,UAAY,MAAQv8B,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,IAAM,MAAQA,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,EAAG,CACvI,IAAK,MAAQA,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,EAG7D,IAFAs8B,GAAgB,MAAQt8B,GAAS,KAAK,aAAa,WAAa,MAAQA,GAAS,KAAK,aAAa,WAE5Fs8B,EAAa,SACjB,MAAQt8B,GAAS,KAAK,aAAa,YAAYs8B,EAAa,CAAC,CAAC,GAIlE,MAAQt8B,GAAS,KAAK,aAAa,YAAYu8B,CAAS,GAExD,MAAQv8B,GAAS,KAAK,aAAa,gBAAgB,MAAM,EAE1Du8B,EAAU,aAAa,SAAU,MAAM,CACzC,EAEC,MAAQv8B,GAAS,YAAc,IAC/B,MAAQA,GAAS,WAAau8B,CACjC,EAEA,gBAAgB,UAAU,YAAc,SAAUtd,EAAa,EACvD,MAAQjf,GAAS,aACrB,KAAK,WAAW,EAGlB,IAAIQ,EACAC,GAAO,MAAQT,GAAS,MAAM,OAC9B+K,EACA6K,EAEJ,IAAKpV,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,IAAK,MAAQR,GAAS,MAAMQ,CAAC,EAAE,IAAM,KACnCuK,GAAQ,MAAQ/K,GAAS,KAAK,YAAY,UAAU,MAAQA,GAAS,MAAMQ,CAAC,EAAE,CAAC,EAC/EoV,GAAQ,MAAQ5V,GAAS,MAAMQ,CAAC,EAAE,GAE9Bye,IAAgB,MAAQjf,GAAS,cAAc,MAAQ+K,EAAK,KAAK,OACnE6K,EAAK,aAAa,IAAK7K,EAAK,QAAQ,EAGlCkU,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,OAAS,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,OAAS,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,OAAS,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,MAAQ+K,EAAK,KAAK,MAAM,CACjR,IAAIyxB,EAEJ,IAAK,MAAQx8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,IAAM,IAAM,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,IAAM,IAAK,CAChI,IAAI2B,EAAI,KAAK,KAAK,MAAQ3B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAAI,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,CAAC,EAAI,IAC7H+E,EAAI,KAAK,KAAK,MAAQ/E,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAAI,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,CAAC,EAAI,IAC7HkF,EAAI0Q,EAAK,eAAe,EAC5B4mB,EAAiB,SAAWt3B,EAAIvD,EAAI,IACpC,IAAI86B,EAAav3B,GAAKH,EAAIpD,GACtBujB,EAAU,GAAK,MAAQllB,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,GAAK,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,IAClI08B,EAAQ,KAAK,MAAMD,EAAavX,CAAO,EACvClgB,EAEJ,IAAKA,EAAI,EAAGA,EAAI03B,EAAO13B,GAAK,EAC1Bw3B,GAAkB,MAAQ,MAAQx8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,GAAK,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,IAAO,IAGtJw8B,GAAkB,KAAOt3B,EAAI,GAAK,MACpC,MACEs3B,EAAiB,MAAQ,MAAQx8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,GAAK,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,IAG9I4V,EAAK,aAAa,mBAAoB4mB,CAAc,CACtD,CAYJ,IARIvd,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,QACpE,MAAQA,GAAS,WAAW,aAAa,gBAAiB,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,CAAC,GAGjHif,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,QACpE,MAAQA,GAAS,WAAW,aAAa,WAAY,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,CAAC,IAGvG,MAAQA,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,IAAM,MAAQA,GAAS,cAAc,eAAe,EAAE,EAAE,EAAE,IAAM,KACzHif,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,MAAM,CAC3E,IAAIuC,GAAS,MAAQvC,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAE/D,MAAQA,GAAS,WAAW,aAAa,SAAU,OAAS,QAAQuC,EAAM,CAAC,EAAI,GAAG,EAAI,IAAM,QAAQA,EAAM,CAAC,EAAI,GAAG,EAAI,IAAM,QAAQA,EAAM,CAAC,EAAI,GAAG,EAAI,GAAG,CAC5J,CAEJ,EAIA,SAAS,iBAAiBi5B,EAAQC,EAAe,EAC9C,MAAQz7B,GAAS,cAAgBy7B,EAClC,IAAInR,EAAgB,SAAS,eAAe,EAC5CA,EAAc,aAAa,OAAQ,QAAQ,EAC3CA,EAAc,aAAa,8BAA+B,WAAW,EACrEA,EAAc,aAAa,SAAU,sFAAsF,EAC3HA,EAAc,aAAa,SAAU,IAAI,EACzCkR,EAAO,YAAYlR,CAAa,EAChC,IAAIqS,EAAsB,SAAS,qBAAqB,EACxDA,EAAoB,aAAa,8BAA+B,MAAM,EACtEnB,EAAO,YAAYmB,CAAmB,GACrC,MAAQ38B,GAAS,aAAe28B,EACjC,IAAIC,EAAU,SAAS,SAAS,EAChCA,EAAQ,aAAa,OAAQ,OAAO,EACpCD,EAAoB,YAAYC,CAAO,GACtC,MAAQ58B,GAAS,QAAU48B,EAC5B,IAAIC,EAAU,SAAS,SAAS,EAChCA,EAAQ,aAAa,OAAQ,OAAO,EACpCF,EAAoB,YAAYE,CAAO,GACtC,MAAQ78B,GAAS,QAAU68B,EAC5B,IAAIC,EAAU,SAAS,SAAS,EAChCA,EAAQ,aAAa,OAAQ,OAAO,EACpCH,EAAoB,YAAYG,CAAO,GACtC,MAAQ98B,GAAS,QAAU88B,CAC9B,CAEA,iBAAiB,UAAU,YAAc,SAAU7d,EAAa,CAC9D,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CACvD,IAAI+8B,GAAU,MAAQ/8B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC7Dg9B,GAAU,MAAQh9B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC7Di9B,GAAU,MAAQj9B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC7Dk9B,EAASD,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,EACrDI,EAASF,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,EACrDK,EAASH,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,EAAI,IAAMD,EAAO,CAAC,GAExD,MAAQ/8B,GAAS,QAAQ,aAAa,cAAek9B,CAAM,GAE3D,MAAQl9B,GAAS,QAAQ,aAAa,cAAem9B,CAAM,GAE3D,MAAQn9B,GAAS,QAAQ,aAAa,cAAeo9B,CAAM,CAG9D,CACF,EAIA,SAAS,mBAAmB5B,EAAQC,EAAe,EAChD,MAAQz7B,GAAS,cAAgBy7B,EAClC,IAAI4B,GAAkB,MAAQr9B,GAAS,cAAc,eACjD28B,EAAsB,SAAS,qBAAqB,GAEpDU,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,MAC9R,MAAQr9B,GAAS,QAAU,KAAK,aAAa,UAAW28B,CAAmB,IAG1EU,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,MAC9R,MAAQr9B,GAAS,QAAU,KAAK,aAAa,UAAW28B,CAAmB,IAG1EU,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,MAC9R,MAAQr9B,GAAS,QAAU,KAAK,aAAa,UAAW28B,CAAmB,IAG1EU,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,GAAKA,EAAe,EAAE,EAAE,EAAE,GAAKA,EAAe,EAAE,EAAE,EAAE,IAAM,MAC9R,MAAQr9B,GAAS,QAAU,KAAK,aAAa,UAAW28B,CAAmB,KAGzE,MAAQ38B,GAAS,UAAY,MAAQA,GAAS,UAAY,MAAQA,GAAS,UAAY,MAAQA,GAAS,WAC3G28B,EAAoB,aAAa,8BAA+B,MAAM,EACtEnB,EAAO,YAAYmB,CAAmB,EACtCA,EAAsB,SAAS,qBAAqB,IAGlDU,EAAe,CAAC,EAAE,EAAE,GAAKA,EAAe,CAAC,EAAE,EAAE,IAAM,GAAKA,EAAe,CAAC,EAAE,EAAE,GAAKA,EAAe,CAAC,EAAE,EAAE,IAAM,GAAKA,EAAe,CAAC,EAAE,EAAE,GAAKA,EAAe,CAAC,EAAE,EAAE,IAAM,GAAKA,EAAe,CAAC,EAAE,EAAE,GAAKA,EAAe,CAAC,EAAE,EAAE,IAAM,GAAKA,EAAe,CAAC,EAAE,EAAE,GAAKA,EAAe,CAAC,EAAE,EAAE,IAAM,KACrRV,EAAoB,aAAa,8BAA+B,MAAM,EACtEnB,EAAO,YAAYmB,CAAmB,GACrC,MAAQ38B,GAAS,gBAAkB,KAAK,aAAa,UAAW28B,CAAmB,GACnF,MAAQ38B,GAAS,gBAAkB,KAAK,aAAa,UAAW28B,CAAmB,GACnF,MAAQ38B,GAAS,gBAAkB,KAAK,aAAa,UAAW28B,CAAmB,EAExF,CAEA,mBAAmB,UAAU,aAAe,SAAU57B,EAAM47B,EAAqB,CAC/E,IAAI7D,EAAS,SAAS/3B,CAAI,EAC1B,OAAA+3B,EAAO,aAAa,OAAQ,OAAO,EACnC6D,EAAoB,YAAY7D,CAAM,EAC/BA,CACT,EAEA,mBAAmB,UAAU,cAAgB,SAAUwE,EAAYC,EAAYC,EAAOC,EAAaC,EAAa,CAc9G,QAbIjd,EAAM,EACNoD,EAAW,IACXtS,EACAlP,EAAM,KAAK,IAAIi7B,EAAYC,CAAU,EACrCn7B,EAAM,KAAK,IAAIk7B,EAAYC,CAAU,EACrCI,EAAQ,MAAM,KAAK,KAAM,CAC3B,OAAQ9Z,CACV,CAAC,EACG+Z,EACAhe,EAAM,EACNie,EAAcH,EAAcD,EAC5BK,EAAaP,EAAaD,EAEvB7c,GAAO,KACZlP,EAAOkP,EAAM,IAETlP,GAAQlP,EACVu7B,EAAaE,EAAa,EAAIJ,EAAcD,EACnClsB,GAAQnP,EACjBw7B,EAAaE,EAAa,EAAIL,EAAcC,EAE5CE,EAAaH,EAAcI,EAAc,KAAK,KAAKtsB,EAAO+rB,GAAcQ,EAAY,EAAIN,CAAK,EAG/FG,EAAM/d,CAAG,EAAIge,EACbhe,GAAO,EACPa,GAAO,KAAOoD,EAAW,GAG3B,OAAO8Z,EAAM,KAAK,GAAG,CACvB,EAEA,mBAAmB,UAAU,YAAc,SAAU1e,EAAa,CAChE,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CACvD,IAAIU,EACA28B,GAAkB,MAAQr9B,GAAS,cAAc,gBAEhD,MAAQA,GAAS,kBAAoBif,GAAeoe,EAAe,CAAC,EAAE,EAAE,MAAQA,EAAe,CAAC,EAAE,EAAE,MAAQA,EAAe,CAAC,EAAE,EAAE,MAAQA,EAAe,CAAC,EAAE,EAAE,MAAQA,EAAe,CAAC,EAAE,EAAE,QAC3L38B,EAAM,KAAK,cAAc28B,EAAe,CAAC,EAAE,EAAE,EAAGA,EAAe,CAAC,EAAE,EAAE,EAAGA,EAAe,CAAC,EAAE,EAAE,EAAGA,EAAe,CAAC,EAAE,EAAE,EAAGA,EAAe,CAAC,EAAE,EAAE,CAAC,GAEzI,MAAQr9B,GAAS,gBAAgB,aAAa,cAAeU,CAAG,GAEhE,MAAQV,GAAS,gBAAgB,aAAa,cAAeU,CAAG,GAEhE,MAAQV,GAAS,gBAAgB,aAAa,cAAeU,CAAG,IAG9D,MAAQV,GAAS,UAAYif,GAAeoe,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,QACxL38B,EAAM,KAAK,cAAc28B,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,CAAC,GAE9I,MAAQr9B,GAAS,QAAQ,aAAa,cAAeU,CAAG,IAGtD,MAAQV,GAAS,UAAYif,GAAeoe,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,QACxL38B,EAAM,KAAK,cAAc28B,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,CAAC,GAE9I,MAAQr9B,GAAS,QAAQ,aAAa,cAAeU,CAAG,IAGtD,MAAQV,GAAS,UAAYif,GAAeoe,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,QACxL38B,EAAM,KAAK,cAAc28B,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,CAAC,GAE9I,MAAQr9B,GAAS,QAAQ,aAAa,cAAeU,CAAG,IAGtD,MAAQV,GAAS,UAAYif,GAAeoe,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,MAAQA,EAAe,EAAE,EAAE,EAAE,QACxL38B,EAAM,KAAK,cAAc28B,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,EAAGA,EAAe,EAAE,EAAE,EAAE,CAAC,GAE9I,MAAQr9B,GAAS,QAAQ,aAAa,cAAeU,CAAG,EAE7D,CACF,EAIA,SAAS,oBAAoB86B,EAAQC,EAAe,CAClD,IAAIsC,EAAatC,EAAc,UAAU,WAAW,aAAa,WACjED,EAAO,aAAa,IAAKuC,EAAW,CAAC,EACrCvC,EAAO,aAAa,IAAKuC,EAAW,CAAC,EACrCvC,EAAO,aAAa,QAASuC,EAAW,KAAK,EAC7CvC,EAAO,aAAa,SAAUuC,EAAW,MAAM,GAC9C,MAAQ/9B,GAAS,cAAgBy7B,EAClC,IAAIM,EAAiB,SAAS,gBAAgB,EAC9CA,EAAe,aAAa,KAAM,aAAa,EAC/CA,EAAe,aAAa,SAAU,eAAe,EACrDA,EAAe,aAAa,eAAgB,GAAG,GAC9C,MAAQ/7B,GAAS,eAAiB+7B,EACnCP,EAAO,YAAYO,CAAc,EACjC,IAAIiC,EAAW,SAAS,UAAU,EAClCA,EAAS,aAAa,KAAM,IAAI,EAChCA,EAAS,aAAa,KAAM,GAAG,EAC/BA,EAAS,aAAa,KAAM,eAAe,EAC3CA,EAAS,aAAa,SAAU,eAAe,GAC9C,MAAQh+B,GAAS,SAAWg+B,EAC7BxC,EAAO,YAAYwC,CAAQ,EAC3B,IAAIC,EAAU,SAAS,SAAS,EAChCA,EAAQ,aAAa,cAAe,SAAS,EAC7CA,EAAQ,aAAa,gBAAiB,GAAG,EACzCA,EAAQ,aAAa,SAAU,eAAe,GAC7C,MAAQj+B,GAAS,QAAUi+B,EAC5BzC,EAAO,YAAYyC,CAAO,EAC1B,IAAIC,EAAc,SAAS,aAAa,EACxCA,EAAY,aAAa,KAAM,eAAe,EAC9CA,EAAY,aAAa,MAAO,eAAe,EAC/CA,EAAY,aAAa,WAAY,IAAI,EACzCA,EAAY,aAAa,SAAU,eAAe,EAClD1C,EAAO,YAAY0C,CAAW,EAC9B,IAAIxC,EAAU,SAAS,SAAS,EAChCF,EAAO,YAAYE,CAAO,EAC1B,IAAIC,EACJA,EAAc,SAAS,aAAa,EACpCD,EAAQ,YAAYC,CAAW,EAC/BA,EAAc,SAAS,aAAa,EACpCA,EAAY,aAAa,KAAM,eAAe,GAC7C,MAAQ37B,GAAS,YAAc27B,GAC/B,MAAQ37B,GAAS,QAAU07B,GAC3B,MAAQ17B,GAAS,kBAAoB,GACtC07B,EAAQ,YAAYC,CAAW,CACjC,CAEA,oBAAoB,UAAU,YAAc,SAAU1c,EAAa,CACjE,GAAIA,IAAgB,MAAQjf,GAAS,cAAc,KAAM,CAKvD,IAJIif,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,QACpE,MAAQA,GAAS,eAAe,aAAa,gBAAiB,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,CAAC,EAGrHif,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,KAAM,CAC3E,IAAIm+B,GAAO,MAAQn+B,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,GAE7D,MAAQA,GAAS,QAAQ,aAAa,cAAe,SAAS,KAAK,MAAMm+B,EAAI,CAAC,EAAI,GAAG,EAAG,KAAK,MAAMA,EAAI,CAAC,EAAI,GAAG,EAAG,KAAK,MAAMA,EAAI,CAAC,EAAI,GAAG,CAAC,CAAC,CAC9I,CAMA,IAJIlf,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,QACpE,MAAQA,GAAS,QAAQ,aAAa,iBAAkB,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,GAAG,EAGjHif,IAAgB,MAAQjf,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,OAAS,MAAQA,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,KAAM,CACvI,IAAIylB,GAAY,MAAQzlB,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC/D6D,IAAU,MAAQ7D,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAAI,IAAM,UACvEmI,EAAIsd,EAAW,KAAK,IAAI5hB,CAAK,EAC7BuE,EAAIqd,EAAW,KAAK,IAAI5hB,CAAK,GAEhC,MAAQ7D,GAAS,SAAS,aAAa,KAAMmI,CAAC,GAE9C,MAAQnI,GAAS,SAAS,aAAa,KAAMoI,CAAC,CACjD,CAWF,CACF,EAIA,IAAI,iBAAmB,CAAC,EAExB,SAAS,gBAAgBg2B,EAAY3C,EAAetd,EAAM,EACvD,MAAQne,GAAS,YAAc,IAC/B,MAAQA,GAAS,cAAgBy7B,GACjC,MAAQz7B,GAAS,WAAao+B,GAC9B,MAAQp+B,GAAS,KAAOme,EACzBA,EAAK,aAAe,SAAS,GAAG,EAChCA,EAAK,aAAa,YAAYA,EAAK,YAAY,EAC/CA,EAAK,aAAa,YAAYA,EAAK,kBAAkB,EACrDA,EAAK,YAAcA,EAAK,YAC1B,CAEA,gBAAgB,UAAU,WAAa,SAAUpT,EAAM,CAIrD,QAHIvK,EAAI,EACJC,EAAM,iBAAiB,OAEpBD,EAAIC,GAAK,CACd,GAAI,iBAAiBD,CAAC,IAAMuK,EAC1B,OAAO,iBAAiBvK,CAAC,EAG3BA,GAAK,CACP,CAEA,OAAO,IACT,EAEA,gBAAgB,UAAU,gBAAkB,SAAUuK,EAAMszB,EAAU,CACpE,IAAIpmB,EAAalN,EAAK,aAAa,WAEnC,GAAKkN,EAQL,SAJIqmB,EAAWrmB,EAAW,SACtBzX,EAAI,EACJC,EAAM69B,EAAS,OAEZ99B,EAAIC,GACL69B,EAAS99B,CAAC,IAAMuK,EAAK,cAIzBvK,GAAK,EAGP,IAAI+9B,EAEA/9B,GAAKC,EAAM,IACb89B,EAAYD,EAAS99B,EAAI,CAAC,GAG5B,IAAIg+B,EAAU,SAAS,KAAK,EAC5BA,EAAQ,aAAa,OAAQ,IAAMH,CAAQ,EAEvCE,EACFtmB,EAAW,aAAaumB,EAASD,CAAS,EAE1CtmB,EAAW,YAAYumB,CAAO,EAElC,EAEA,gBAAgB,UAAU,iBAAmB,SAAUrgB,EAAMpT,EAAM,CACjE,GAAI,CAAC,KAAK,WAAWA,CAAI,EAAG,CAC1B,IAAIszB,EAAW,gBAAgB,EAC3B3F,EAAS,SAAS,MAAM,EAC5BA,EAAO,aAAa,KAAM3tB,EAAK,OAAO,EACtC2tB,EAAO,aAAa,YAAa,OAAO,EAExC,iBAAiB,KAAK3tB,CAAI,EAE1B,IAAI6N,EAAOuF,EAAK,WAAW,KAC3BvF,EAAK,YAAY8f,CAAM,EACvB,IAAI+F,EAAS,SAAS,QAAQ,EAC9BA,EAAO,aAAa,KAAMJ,CAAQ,EAClC,KAAK,gBAAgBtzB,EAAMszB,CAAQ,EACnCI,EAAO,YAAY1zB,EAAK,YAAY,EACpC6N,EAAK,YAAY6lB,CAAM,EACvB,IAAID,EAAU,SAAS,KAAK,EAC5BA,EAAQ,aAAa,OAAQ,IAAMH,CAAQ,EAC3C3F,EAAO,YAAY8F,CAAO,EAC1BzzB,EAAK,KAAK,GAAK,GACfA,EAAK,KAAK,CACZ,CAEAoT,EAAK,SAASpT,EAAK,OAAO,CAC5B,EAEA,gBAAgB,UAAU,WAAa,UAAY,CAMjD,QALImQ,GAAO,MAAQlb,GAAS,cAAc,eAAe,CAAC,EAAE,EAAE,EAC1DsmB,GAAY,MAAQtmB,GAAS,KAAK,KAAK,SACvC,EAAI,EACJS,EAAM6lB,EAAS,OAEZ,EAAI7lB,GACL6lB,EAAS,CAAC,GAAKA,EAAS,CAAC,EAAE,KAAK,MAAQpL,GAC1C,KAAK,kBAAkB,MAAQlb,GAAS,KAAMsmB,EAAS,CAAC,CAAC,EAG3D,GAAK,GAGN,MAAQtmB,GAAS,YAAc,EAClC,EAEA,gBAAgB,UAAU,YAAc,UAAY,EAC5C,MAAQA,GAAS,aACrB,KAAK,WAAW,CAEpB,EAKA,SAAS,WAAWme,EAAM,CACxB,IAAI3d,EACAC,EAAM0d,EAAK,KAAK,GAAKA,EAAK,KAAK,GAAG,OAAS,EAC3CgM,EAAQ,gBAAgB,EACxBE,EAAM,eAAe,aAAaF,EAAO,EAAI,EAC7Cje,EAAQ,GACX,MAAQlM,GAAS,QAAU,CAAC,EAC7B,IAAIy7B,EAEJ,IAAKj7B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBi7B,EAAgB,KAEZtd,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,IACzB0L,GAAS,EACTuvB,EAAgB,IAAI,cAAcpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GACnE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,IAChC0L,GAAS,EACTuvB,EAAgB,IAAI,cAAcpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GACnE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,GAChCi7B,EAAgB,IAAI,gBAAgBtd,EAAMA,EAAK,eAAe,eAAe3d,CAAC,CAAC,EACtE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,IAChC0L,GAAS,EACTuvB,EAAgB,IAAI,iBAAiBpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GACtE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,IAChC0L,GAAS,EACTuvB,EAAgB,IAAI,mBAAmBpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GACxE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,IAChC0L,GAAS,EACTuvB,EAAgB,IAAI,oBAAoBpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GACzE2d,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,GAEhCi7B,EAAgB,IAAI,gBAAgBpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,EAAG2d,CAAI,EAC3EA,EAAK,KAAK,GAAG3d,CAAC,EAAE,KAAO,KAChC0L,GAAS,EACTuvB,EAAgB,IAAI,sBAAsBpR,EAAKlM,EAAK,eAAe,eAAe3d,CAAC,CAAC,GAGlFi7B,IACD,MAAQz7B,GAAS,QAAQ,KAAKy7B,CAAa,EAI5CvvB,IACFiS,EAAK,WAAW,KAAK,YAAYkM,CAAG,EACpClM,EAAK,aAAa,aAAa,SAAU,OAAS,aAAe,IAAMgM,EAAQ,GAAG,IAG/E,MAAQnqB,GAAS,QAAQ,QAC5Bme,EAAK,uBAAuB,MAAQne,CAAO,CAE/C,CAEA,WAAW,UAAU,YAAc,SAAUmkB,EAAe,CAC1D,IAAI3jB,EACAC,GAAO,MAAQT,GAAS,QAAQ,OAEpC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,QAAQQ,CAAC,EAAE,YAAY2jB,CAAa,CAE1D,EAIA,SAAS,eAAgB,EACtB,MAAQnkB,GAAS,MAAQ,CAAC,GAC1B,MAAQA,GAAS,QAAU,GAC3B,MAAQA,GAAS,IAAM,IAAI,QAC3B,MAAQA,GAAS,GAAK,EACvB,IAAIQ,EACAC,EAAM,GAGV,KAFC,MAAQT,GAAS,QAAU,iBAAiB,UAAWS,CAAG,EAEtDD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,MAAMQ,CAAC,EAAI,iBAAiB,UAAW,EAAE,GAG5D,MAAQR,GAAS,QAAUS,CAC9B,CAEA,cAAc,UAAU,UAAY,UAAY,CAC9C,IAAIi+B,GAAa,MAAQ1+B,GAAS,QAAU,EACxC2+B,GAAkB,MAAQ3+B,GAAS,SACtC,MAAQA,GAAS,QAAU,iBAAiB,UAAW0+B,CAAS,GAEhE,MAAQ1+B,GAAS,QAAQ,IAAI2+B,CAAc,EAE5C,IAAI,EAAI,EAER,IAAK,GAAK,MAAQ3+B,GAAS,QAAS,EAAI0+B,EAAW,GAAK,GACrD,MAAQ1+B,GAAS,MAAM,CAAC,EAAI,iBAAiB,UAAW,EAAE,GAG5D,MAAQA,GAAS,QAAU0+B,CAC9B,EAEA,cAAc,UAAU,MAAQ,UAAY,EACzC,MAAQ1+B,GAAS,QAAU,GAE3B,MAAQA,GAAS,IAAI,MAAM,GAE3B,MAAQA,GAAS,GAAK,CACzB,EAIA,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAY,CACxB,eAAgB,UAAY,CAAC,EAC7B,oBAAqB,UAAY,CAAC,EAClC,wBAAyB,UAAY,EAClC,MAAQA,GAAS,eAAiB,MAAQA,GAAS,WAAW,eAC9D,MAAQA,GAAS,yBAA2B,IAAI,UAAU,MAAQA,CAAO,CAC5E,EACA,cAAe,UAAY,CAAC,EAC5B,aAAc,UAAY,CACxB,IAAI60B,GAAc,MAAQ70B,GAAS,WAEnC,GAAI60B,EAAW,aAAe,MAAQ70B,GAAS,KAAK,GAAI,CACtD60B,EAAW,WAAa,MAAQ70B,GAAS,KAAK,GAC9C,IAAIu4B,EAAiB,cAAc,MAAQv4B,GAAS,KAAK,EAAE,EAC3D60B,EAAW,cAAc,yBAA2B0D,CACtD,CACF,EACA,2BAA4B,UAAY,EACrC,MAAQv4B,GAAS,YAAc,IAAI,eAAe,MAAQA,GAAS,KAAM,MAAQA,CAAO,CAC3F,EACA,YAAa,UAAY,CACnB,EAAE,MAAQA,GAAS,SAAW,EAAE,MAAQA,GAAS,YAAc,MAAQA,GAAS,kBACjF,MAAQA,GAAS,OAAS,GAE/B,EACA,YAAa,UAAY,EAClB,MAAQA,GAAS,WAAa,EAAE,MAAQA,GAAS,iBACnD,MAAQA,GAAS,OAAS,IAC1B,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,YAAY,cAAgB,GAElD,EACA,YAAa,UAAY,CACvB,GAAK,SAAQA,GAAS,SAAW,MAAQA,GAAS,KAAK,IAIvD,MAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,IAAI4+B,GAAkB,MAAQ5+B,GAAS,KAAK,KAAO,GAElD,MAAQA,GAAS,WAAW,SAAS,KAAK4+B,CAAc,GAExD,MAAQ5+B,GAAS,WAAW,SAAS,cAAc,MAAQA,GAAS,eAAe,IAAI,KAAK,GAE5F,MAAQA,GAAS,WAAW,SAAS,YAAY,MAAQA,GAAS,eAAe,MAAM,EAAE,CAAC,EAE3F,KAAK,mBAAmB,GAEvB,MAAQA,GAAS,WAAW,SAAS,QAAQ4+B,CAAc,GAEvD,MAAQ5+B,GAAS,YAAY,WAC/B,MAAQA,GAAS,WAAW,SAAS,QAAQ,EAAI,GAG/C,MAAQA,GAAS,iBACnB,MAAQA,GAAS,cAAgB,IAEtC,EACA,QAAS,UAAY,EAClB,MAAQA,GAAS,cAAgB,MACjC,MAAQA,GAAS,KAAO,MACxB,MAAQA,GAAS,WAAa,MAE9B,MAAQA,GAAS,YAAY,QAAQ,CACxC,EACA,QAAS,IAAI,MACf,EACA,cAAc,UAAU,KAAO,cAAc,UAAU,YACvD,cAAc,UAAU,KAAO,cAAc,UAAU,YAIvD,SAAS,eAAeiX,EAAM4d,EAAY3C,EAAM,EAC7C,MAAQlyB,GAAS,UAAY60B,EAAW,aAAa5d,EAAK,KAAK,GAC/D,MAAQjX,GAAS,IAAM60B,EAAW,YAAY,UAAU,MAAQ70B,GAAS,SAAS,EACnF,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,iBAAiB,EAAG,cAAc,EACjI,eAAe,UAAU,YAAc,gBAAgB,UAAU,YACjE,eAAe,UAAU,aAAe,cAAc,UAAU,aAEhE,eAAe,UAAU,cAAgB,UAAY,CACnD,IAAK,MAAQlyB,GAAS,IAAI,SAAW,MAAQA,GAAS,UAAU,KAAO,MAAQA,GAAS,IAAI,QAAU,MAAQA,GAAS,UAAU,KAAO,MAAQA,GAAS,IAAI,QAAS,CACpK,IAAIooB,EAAS,UAAU,QAAQ,EAC/BA,EAAO,OAAS,MAAQpoB,GAAS,UAAU,EAC3CooB,EAAO,QAAU,MAAQpoB,GAAS,UAAU,EAC5C,IAAIqoB,EAAMD,EAAO,WAAW,IAAI,EAC5ByW,GAAQ,MAAQ7+B,GAAS,IAAI,MAC7B8+B,GAAQ,MAAQ9+B,GAAS,IAAI,OAC7B++B,EAASF,EAAOC,EAChBE,GAAa,MAAQh/B,GAAS,UAAU,GAAK,MAAQA,GAAS,UAAU,EACxEi/B,EACAC,EACAvL,GAAO,MAAQ3zB,GAAS,UAAU,KAAO,MAAQA,GAAS,WAAW,aAAa,yBAElF++B,EAASC,GAAarL,IAAQ,kBAAoBoL,EAASC,GAAarL,IAAQ,kBAClFuL,EAAaJ,EACbG,EAAYC,EAAaF,IAEzBC,EAAYJ,EACZK,EAAaD,EAAYD,GAG3B3W,EAAI,WAAW,MAAQroB,GAAS,KAAM6+B,EAAOI,GAAa,GAAIH,EAAOI,GAAc,EAAGD,EAAWC,EAAY,EAAG,GAAI,MAAQl/B,GAAS,UAAU,GAAI,MAAQA,GAAS,UAAU,CAAC,GAC9K,MAAQA,GAAS,IAAMooB,CAC1B,CACF,EAEA,eAAe,UAAU,mBAAqB,UAAY,EACvD,MAAQpoB,GAAS,cAAc,WAAW,MAAQA,GAAS,IAAK,EAAG,CAAC,CACvE,EAEA,eAAe,UAAU,QAAU,UAAY,EAC5C,MAAQA,GAAS,IAAM,IAC1B,EAIA,SAAS,cAAciX,EAAM4d,EAAY3C,EAAM,EAC5C,MAAQlyB,GAAS,eAAiB,IAClC,MAAQA,GAAS,OAASiX,EAAK,QAC/B,MAAQjX,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,SAAW,kBAAkB,MAAQA,GAAS,OAAO,MAAM,EAC7E,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,GACtC,MAAQlyB,GAAS,GAAKiX,EAAK,GAAK,gBAAgB,QAAQ,MAAQjX,EAASiX,EAAK,GAAI,EAAG4d,EAAW,UAAW,MAAQ70B,CAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,gBAAgB,CAAC,eAAgB,aAAc,aAAa,EAAG,aAAa,EAE5E,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAIqoB,GAAO,MAAQroB,GAAS,cAC5BqoB,EAAI,UAAU,EACdA,EAAI,OAAO,EAAG,CAAC,EACfA,EAAI,QAAQ,MAAQroB,GAAS,KAAK,EAAG,CAAC,EACtCqoB,EAAI,QAAQ,MAAQroB,GAAS,KAAK,GAAI,MAAQA,GAAS,KAAK,CAAC,EAC7DqoB,EAAI,OAAO,GAAI,MAAQroB,GAAS,KAAK,CAAC,EACtCqoB,EAAI,OAAO,EAAG,CAAC,EACfA,EAAI,KAAK,EACT,IAAI7nB,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,IACxB,MAAQR,GAAS,iBAAmB,MAAQA,GAAS,SAASQ,CAAC,KACjE,MAAQR,GAAS,SAASQ,CAAC,EAAE,YAAY,CAGhD,EAEA,cAAc,UAAU,QAAU,UAAY,CAC5C,IAAIA,EACAC,GAAO,MAAQT,GAAS,OAAO,OAEnC,IAAKQ,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,GACxB,MAAQR,GAAS,SAASQ,CAAC,IAC7B,MAAQR,GAAS,SAASQ,CAAC,EAAE,QAAQ,GAIzC,MAAQR,GAAS,OAAS,MAC1B,MAAQA,GAAS,SAAW,IAC/B,EAIA,SAAS,cAAciX,EAAMnW,EAAS,EACnC,MAAQd,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,QAAUc,GAC3B,MAAQd,GAAS,iBAAmB,MAAQA,GAAS,KAAK,iBAAmB,CAAC,GAC9E,MAAQA,GAAS,SAAW,kBAAkB,MAAQA,GAAS,gBAAgB,MAAM,EACtF,IAAI,EACAS,GAAO,MAAQT,GAAS,gBAAgB,OACxCm/B,EAAW,GAEf,IAAK,EAAI,EAAG,EAAI1+B,EAAK,GAAK,GACnB,MAAQT,GAAS,gBAAgB,CAAC,EAAE,OAAS,MAChDm/B,EAAW,KAGZ,MAAQn/B,GAAS,SAAS,CAAC,EAAI,qBAAqB,cAAc,MAAQA,GAAS,SAAU,MAAQA,GAAS,gBAAgB,CAAC,EAAG,CAAC,GAGrI,MAAQA,GAAS,SAAWm/B,EAEzBA,IACD,MAAQn/B,GAAS,QAAQ,uBAAuB,MAAQA,CAAO,CAEpE,CAEA,cAAc,UAAU,YAAc,UAAY,CAChD,IAAM,MAAQA,GAAS,SAIvB,KAAI0F,GAAa,MAAQ1F,GAAS,QAAQ,eAAe,IACrDqoB,GAAO,MAAQroB,GAAS,QAAQ,cAChC,EACAS,GAAO,MAAQT,GAAS,gBAAgB,OACxC6I,EACAE,EACAkO,EAGJ,IAFAoR,EAAI,UAAU,EAET,EAAI,EAAG,EAAI5nB,EAAK,GAAK,EACxB,IAAK,MAAQT,GAAS,gBAAgB,CAAC,EAAE,OAAS,IAAK,EAChD,MAAQA,GAAS,gBAAgB,CAAC,EAAE,MACvCqoB,EAAI,OAAO,EAAG,CAAC,EACfA,EAAI,QAAQ,MAAQroB,GAAS,QAAQ,WAAW,SAAS,EAAG,CAAC,EAC7DqoB,EAAI,QAAQ,MAAQroB,GAAS,QAAQ,WAAW,SAAS,GAAI,MAAQA,GAAS,QAAQ,WAAW,SAAS,CAAC,EAC3GqoB,EAAI,OAAO,GAAI,MAAQroB,GAAS,QAAQ,WAAW,SAAS,CAAC,EAC7DqoB,EAAI,OAAO,EAAG,CAAC,GAGjBpR,GAAQ,MAAQjX,GAAS,SAAS,CAAC,EAAE,EACrC6I,EAAKnD,EAAU,kBAAkBuR,EAAK,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAK,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EAC9DoR,EAAI,OAAOxf,EAAG,CAAC,EAAGA,EAAG,CAAC,CAAC,EACvB,IAAI7D,EACAqQ,EAAO4B,EAAK,QAEhB,IAAKjS,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+D,EAAMrD,EAAU,oBAAoBuR,EAAK,EAAEjS,EAAI,CAAC,EAAGiS,EAAK,EAAEjS,CAAC,EAAGiS,EAAK,EAAEjS,CAAC,CAAC,EACvEqjB,EAAI,cAActf,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,EAGlEA,EAAMrD,EAAU,oBAAoBuR,EAAK,EAAEjS,EAAI,CAAC,EAAGiS,EAAK,EAAE,CAAC,EAAGA,EAAK,EAAE,CAAC,CAAC,EACvEoR,EAAI,cAActf,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CAClE,EAGD,MAAQ/I,GAAS,QAAQ,WAAW,SAAS,KAAK,EAAI,EAEvDqoB,EAAI,KAAK,EACX,EAEA,cAAc,UAAU,gBAAkB,YAAY,UAAU,gBAEhE,cAAc,UAAU,QAAU,UAAY,EAC3C,MAAQroB,GAAS,QAAU,IAC9B,EAMA,SAAS,eAAeiX,EAAM4d,EAAY3C,EAAM,EAC7C,MAAQlyB,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,WAAaiX,EAAK,QACnC,MAAQjX,GAAS,WAAa,CAAC,GAC/B,MAAQA,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,aAAe,CAAC,GACjC,MAAQA,GAAS,eAAiB,CAAC,GACnC,MAAQA,GAAS,kBAAoB,CAAC,GACtC,MAAQA,GAAS,kBAAoB,IAAI,sBAC1C,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,cAAe,iBAAkB,aAAc,iBAAiB,EAAG,cAAc,EAChJ,eAAe,UAAU,YAAc,qBAAqB,UAAU,YACtE,eAAe,UAAU,gBAAkB,CACzC,QAAS,EACT,OAAQ,EACV,EACA,eAAe,UAAU,aAAe,CAAC,EAEzC,eAAe,UAAU,cAAgB,UAAY,CACnD,KAAK,cAAc,MAAQlyB,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,aAAc,GAAM,CAAC,CAAC,CACvH,EAEA,eAAe,UAAU,mBAAqB,SAAUiX,EAAM2e,EAAY,CACxE,IAAIgC,EAAY,CACd,KAAM3gB,EACN,KAAMA,EAAK,GACX,eAAgB,MAAQjX,GAAS,kBAAkB,qBAAqB41B,CAAU,EAClF,WAAY,CAAC,EACb,SAAU,CAAC,EACX,OAAQ3e,EAAK,KAAO,EACtB,EACIyjB,EAAc,CAAC,EAsBnB,GApBIzjB,EAAK,KAAO,MAAQA,EAAK,KAAO,MAClCyjB,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,EAAG,EAAG,IAAK,MAAQjX,CAAO,EAEnF06B,EAAY,EAAE,IACjB9C,EAAU,GAAK,OAAS,QAAQ8C,EAAY,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAY,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAY,EAAE,EAAE,CAAC,CAAC,EAAI,OAEvHzjB,EAAK,KAAO,MAAQA,EAAK,KAAO,QACzCyjB,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,EACzF06B,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,EACzF06B,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,GAAK,CACjE,EAAG,CACL,EAAG,EAAG,IAAM,MAAQjX,CAAO,EAC3B06B,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,GAAK,CACjE,EAAG,CACL,EAAG,EAAG,UAAW,MAAQjX,CAAO,EAChC06B,EAAY,EAAI,IAAI,iBAAiB,MAAQ16B,EAASiX,EAAK,EAAG,MAAQjX,CAAO,GAG/E06B,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,EAErFiX,EAAK,KAAO,MAAQA,EAAK,KAAO,MAelC,GAdA2gB,EAAU,IAAM,MAAQ53B,GAAS,OAAOiX,EAAK,EAAE,GAAK,QACpD2gB,EAAU,IAAM,MAAQ53B,GAAS,OAAOiX,EAAK,EAAE,GAAK,QAEhDA,EAAK,IAAM,IAEb2gB,EAAU,GAAK3gB,EAAK,IAGtByjB,EAAY,EAAI,gBAAgB,QAAQ,MAAQ16B,EAASiX,EAAK,EAAG,EAAG,KAAM,MAAQjX,CAAO,EAEpF06B,EAAY,EAAE,IACjB9C,EAAU,GAAK8C,EAAY,EAAE,GAG3BzjB,EAAK,EAAG,CACV,IAAI3U,EAAI,IAAI,aAAa,MAAQtC,EAASiX,EAAK,EAAG,SAAU,MAAQjX,CAAO,EAC3E06B,EAAY,EAAIp4B,EAEXo4B,EAAY,EAAE,IACjB9C,EAAU,GAAK8C,EAAY,EAAE,UAC7B9C,EAAU,GAAK8C,EAAY,EAAE,WAAW,CAAC,EAE7C,OAEA9C,EAAU,EAAI3gB,EAAK,IAAM,EAAI,UAAY,UAG3C,OAAC,MAAQjX,GAAS,WAAW,KAAK43B,CAAS,EAE3C8C,EAAY,MAAQ9C,EACb8C,CACT,EAEA,eAAe,UAAU,mBAAqB,UAAY,CACxD,IAAIA,EAAc,CAChB,GAAI,CAAC,EACL,aAAc,CAAC,CACjB,EACA,OAAOA,CACT,EAEA,eAAe,UAAU,uBAAyB,SAAUzjB,EAAM,CAChE,IAAIyjB,EAAc,CAChB,UAAW,CACT,QAAS,EACT,OAAQ,GACR,KAAM,MAAQ16B,GAAS,kBAAkB,UAAU,EACnD,GAAI,gBAAgB,QAAQ,MAAQA,EAASiX,EAAK,EAAG,EAAG,IAAM,MAAQjX,CAAO,EAC7E,OAAQ,yBAAyB,qBAAqB,MAAQA,EAASiX,EAAM,MAAQjX,CAAO,CAC9F,CACF,EACA,OAAO06B,CACT,EAEA,eAAe,UAAU,mBAAqB,SAAUzjB,EAAM,CAC5D,IAAIyjB,EAAc,IAAI,YAAY,MAAQ16B,EAASiX,GAAO,MAAQjX,GAAS,YAAa,MAAQA,GAAS,iBAAiB,EAE1H,OAAC,MAAQA,GAAS,OAAO,KAAK06B,CAAW,EAEzC,KAAK,oBAAoBA,CAAW,EAC7BA,CACT,EAEA,eAAe,UAAU,aAAe,UAAY,EACjD,MAAQ16B,GAAS,cAAgB,GAClC,IAAIQ,EACAC,GAAO,MAAQT,GAAS,UAAU,OAEtC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,aAAaQ,CAAC,GAAK,MAAQR,GAAS,UAAUQ,CAAC,EAMnE,IAHA,KAAK,cAAc,MAAQR,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,aAAc,GAAM,CAAC,CAAC,EACrHS,GAAO,MAAQT,GAAS,kBAAkB,OAErCQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,kBAAkBQ,CAAC,EAAE,SAAS,EAGlD,KAAK,gBAAgB,GAEpB,MAAQR,GAAS,kBAAkB,kBAAkB,MAAQA,GAAS,aAAa,CACtF,EAEA,eAAe,UAAU,wBAA0B,SAAU0F,EAAW,CACtE,IAAIlF,EACAC,GAAO,MAAQT,GAAS,WAAW,OAEvC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GAClB,MAAQR,GAAS,WAAWQ,CAAC,EAAE,SAClC,MAAQR,GAAS,WAAWQ,CAAC,EAAE,WAAW,KAAKkF,CAAS,CAG/D,EAEA,eAAe,UAAU,6BAA+B,UAAY,CAClE,IAAIlF,EACAC,GAAO,MAAQT,GAAS,WAAW,OAEvC,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GAClB,MAAQR,GAAS,WAAWQ,CAAC,EAAE,SAClC,MAAQR,GAAS,WAAWQ,CAAC,EAAE,WAAW,IAAI,CAGrD,EAEA,eAAe,UAAU,YAAc,SAAU4W,EAAQ,CACvD,IAAI5W,EACAC,EAAM2W,EAAO,OAEjB,IAAK5W,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB4W,EAAO5W,CAAC,EAAE,OAAS,EAEvB,EAEA,eAAe,UAAU,aAAe,SAAUwC,EAAK+3B,EAAWC,EAAcoE,EAAcxJ,EAAY,CACxG,IAAIp1B,EACAC,EAAMuC,EAAI,OAAS,EACnBgC,EACAqQ,EACA6lB,EAAY,CAAC,EACbC,EAAe,CAAC,EAChBG,EACAD,EACAD,EACAiE,EAAgB,CAAC,EAAE,OAAOzJ,CAAU,EAExC,IAAKp1B,EAAIC,EAAKD,GAAK,EAAGA,GAAK,EAAG,CAS5B,GARA86B,EAAe,KAAK,uBAAuBt4B,EAAIxC,CAAC,CAAC,EAE5C86B,EAGHP,EAAUv6B,CAAC,EAAIw6B,EAAaM,EAAe,CAAC,EAF5Ct4B,EAAIxC,CAAC,EAAE,cAAgB4+B,EAKrBp8B,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,KAC7E86B,EAGHP,EAAUv6B,CAAC,EAAE,MAAM,OAAS,GAF5Bu6B,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,EAAG6+B,CAAa,EAK9DnE,EAAU,KAAKH,EAAUv6B,CAAC,EAAE,KAAK,UACxBwC,EAAIxC,CAAC,EAAE,KAAO,KAAM,CAC7B,GAAI,CAAC86B,EACHP,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,CAAC,MAI7C,KAFA6U,EAAO0lB,EAAUv6B,CAAC,EAAE,GAAG,OAElBwE,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACzB+1B,EAAUv6B,CAAC,EAAE,aAAawE,CAAC,EAAI+1B,EAAUv6B,CAAC,EAAE,GAAGwE,CAAC,EAIpD,KAAK,aAAahC,EAAIxC,CAAC,EAAE,GAAIu6B,EAAUv6B,CAAC,EAAE,GAAIu6B,EAAUv6B,CAAC,EAAE,aAAc4+B,EAAcC,CAAa,CACtG,MAAWr8B,EAAIxC,CAAC,EAAE,KAAO,MAClB86B,IACHF,EAAmB,KAAK,uBAAuBp4B,EAAIxC,CAAC,CAAC,EACrDu6B,EAAUv6B,CAAC,EAAI46B,GAGjBiE,EAAc,KAAKtE,EAAUv6B,CAAC,CAAC,EAC/B,KAAK,wBAAwBu6B,EAAUv6B,CAAC,CAAC,GAChCwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,KACpF86B,IACHP,EAAUv6B,CAAC,EAAI,KAAK,mBAAmBwC,EAAIxC,CAAC,CAAC,GAEtCwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAAQwC,EAAIxC,CAAC,EAAE,KAAO,MAC9D86B,GAOHD,EAAWN,EAAUv6B,CAAC,EACtB66B,EAAS,OAAS,KAPlBA,EAAW,eAAe,YAAYr4B,EAAIxC,CAAC,EAAE,EAAE,EAC/C66B,EAAS,KAAK,MAAQr7B,EAASgD,EAAIxC,CAAC,CAAC,EACrCu6B,EAAUv6B,CAAC,EAAI66B,GAEd,MAAQr7B,GAAS,eAAe,KAAKq7B,CAAQ,GAMhDF,EAAa,KAAKE,CAAQ,GACjBr4B,EAAIxC,CAAC,EAAE,KAAO,OAClB86B,GASHD,EAAWN,EAAUv6B,CAAC,EACtB66B,EAAS,OAAS,KATlBA,EAAW,eAAe,YAAYr4B,EAAIxC,CAAC,EAAE,EAAE,EAC/Cu6B,EAAUv6B,CAAC,EAAI66B,EACfA,EAAS,KAAK,MAAQr7B,EAASgD,EAAKxC,EAAGu6B,CAAS,GAE/C,MAAQ/6B,GAAS,eAAe,KAAKq7B,CAAQ,EAE9C+D,EAAe,IAMjBjE,EAAa,KAAKE,CAAQ,GAG5B,KAAK,oBAAoBr4B,EAAIxC,CAAC,EAAGA,EAAI,CAAC,CACxC,CAMA,IAJA,KAAK,6BAA6B,EAClC,KAAK,YAAY06B,CAAS,EAC1Bz6B,EAAM06B,EAAa,OAEd36B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB26B,EAAa36B,CAAC,EAAE,OAAS,EAE7B,EAEA,eAAe,UAAU,mBAAqB,UAAY,EACvD,MAAQR,GAAS,gBAAgB,QAAU,GAC3C,MAAQA,GAAS,gBAAgB,OAAS,GAC3C,KAAK,gBAAgB,GAEpB,MAAQA,GAAS,kBAAkB,kBAAkB,MAAQA,GAAS,aAAa,EAEpF,KAAK,aAAa,MAAQA,GAAS,iBAAkB,MAAQA,GAAS,YAAa,MAAQA,GAAS,UAAW,EAAI,CACrH,EAEA,eAAe,UAAU,qBAAuB,SAAUs/B,EAAiBC,EAAgB,EACrFD,EAAgB,QAAUC,EAAe,GAAG,OAAS,MAAQv/B,GAAS,iBACxEu/B,EAAe,QAAUD,EAAgB,QACzCC,EAAe,SAAWA,EAAe,GAAG,EAC5CA,EAAe,OAAS,GAE5B,EAEA,eAAe,UAAU,UAAY,UAAY,CAC/C,IAAI/+B,EACAC,GAAO,MAAQT,GAAS,WAAW,OACnCgF,EACAqQ,EACApQ,EACAqQ,EACAyR,EACAyY,EACAjY,GAAY,MAAQvnB,GAAS,WAAW,SACxCqoB,GAAO,MAAQroB,GAAS,WAAW,cACnCe,EACA0+B,EAEJ,IAAKj/B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAQxB,GAPAi/B,GAAgB,MAAQz/B,GAAS,WAAWQ,CAAC,EAC7CO,EAAO0+B,EAAa,KAMhB,GAAG1+B,IAAS,MAAQA,IAAS,OAAS0+B,EAAa,KAAO,GAAK,CAACA,EAAa,KAAK,eAAiBA,EAAa,OAAS,IAAM,MAAQz/B,GAAS,WAAW,qBAAuB,GAAI,CAuBxL,IAtBAunB,EAAS,KAAK,EACdR,EAAQ0Y,EAAa,SAEjB1+B,IAAS,MAAQA,IAAS,MAC5BsnB,EAAI,YAActnB,IAAS,KAAO0+B,EAAa,GAAKA,EAAa,IACjEpX,EAAI,UAAYoX,EAAa,GAC7BpX,EAAI,QAAUoX,EAAa,GAC3BpX,EAAI,SAAWoX,EAAa,GAC5BpX,EAAI,WAAaoX,EAAa,IAAM,GAEpCpX,EAAI,UAAYtnB,IAAS,KAAO0+B,EAAa,GAAKA,EAAa,IAGjElY,EAAS,WAAWkY,EAAa,IAAI,EAEjC1+B,IAAS,MAAQA,IAAS,MAC5BsnB,EAAI,UAAU,EAGhBd,EAAS,aAAakY,EAAa,cAAc,eAAe,KAAK,EACrEpqB,EAAO0R,EAAM,OAER/hB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAa5B,KAZIjE,IAAS,MAAQA,IAAS,QAC5BsnB,EAAI,UAAU,EAEVoX,EAAa,KACfpX,EAAI,YAAYoX,EAAa,EAAE,EAC/BpX,EAAI,eAAiBoX,EAAa,KAItCD,EAAQzY,EAAM/hB,CAAC,EAAE,QACjBsQ,EAAOkqB,EAAM,OAERv6B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBu6B,EAAMv6B,CAAC,EAAE,IAAM,IACjBojB,EAAI,OAAOmX,EAAMv6B,CAAC,EAAE,EAAE,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,EAAE,CAAC,CAAC,EAC9Bu6B,EAAMv6B,CAAC,EAAE,IAAM,IACxBojB,EAAI,cAAcmX,EAAMv6B,CAAC,EAAE,IAAI,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,IAAI,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,IAAI,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,IAAI,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,IAAI,CAAC,EAAGu6B,EAAMv6B,CAAC,EAAE,IAAI,CAAC,CAAC,EAEtHojB,EAAI,UAAU,GAIdtnB,IAAS,MAAQA,IAAS,QAC5BsnB,EAAI,OAAO,EAEPoX,EAAa,IACfpX,EAAI,aAAa,MAAQroB,GAAS,YAAY,EAGpD,CAEIe,IAAS,MAAQA,IAAS,MAC5BsnB,EAAI,KAAKoX,EAAa,CAAC,EAGzBlY,EAAS,QAAQ,CACnB,CAEJ,EAEA,eAAe,UAAU,YAAc,SAAU+X,EAAiB7Y,EAAOxP,EAAMyoB,EAAQ,CACrF,IAAIl/B,EACAC,EAAMgmB,EAAM,OAAS,EACrB8Y,EAGJ,IAFAA,EAAiBD,EAEZ9+B,EAAIC,EAAKD,GAAK,EAAGA,GAAK,EACrBimB,EAAMjmB,CAAC,EAAE,KAAO,MAClB++B,EAAiBtoB,EAAKzW,CAAC,EAAE,UACzB,KAAK,qBAAqB8+B,EAAiBC,CAAc,GAChD9Y,EAAMjmB,CAAC,EAAE,KAAO,MAAQimB,EAAMjmB,CAAC,EAAE,KAAO,MAAQimB,EAAMjmB,CAAC,EAAE,KAAO,MAAQimB,EAAMjmB,CAAC,EAAE,KAAO,KACjG,KAAK,WAAWimB,EAAMjmB,CAAC,EAAGyW,EAAKzW,CAAC,CAAC,EACxBimB,EAAMjmB,CAAC,EAAE,KAAO,KACzB,KAAK,WAAWimB,EAAMjmB,CAAC,EAAGyW,EAAKzW,CAAC,EAAG++B,CAAc,EACxC9Y,EAAMjmB,CAAC,EAAE,KAAO,KACzB,KAAK,aAAaimB,EAAMjmB,CAAC,EAAGyW,EAAKzW,CAAC,EAAG++B,CAAc,EAC1C9Y,EAAMjmB,CAAC,EAAE,KAAO,MAAQimB,EAAMjmB,CAAC,EAAE,KAAO,KACjD,KAAK,mBAAmBimB,EAAMjmB,CAAC,EAAGyW,EAAKzW,CAAC,EAAG++B,CAAc,EAChD9Y,EAAMjmB,CAAC,EAAE,KAAO,KACzB,KAAK,YAAY++B,EAAgB9Y,EAAMjmB,CAAC,EAAE,GAAIyW,EAAKzW,CAAC,EAAE,EAAE,EAC/CimB,EAAMjmB,CAAC,EAAE,GAIlBk/B,GACF,KAAK,UAAU,CAEnB,EAEA,eAAe,UAAU,kBAAoB,SAAUrH,EAAatH,EAAO,CACzE,IAAK,MAAQ/wB,GAAS,eAAiB+wB,EAAM,MAAQsH,EAAY,WAAW,KAAM,CAChF,IAAIsH,EAAatH,EAAY,QACzB3hB,EAAQqa,EAAM,MACdvwB,EACAC,EACAuE,EACAqQ,EAAOqB,EAAM,QACjBipB,EAAW,OAAS,EACpB,IAAIC,EAAoBvH,EAAY,WAAW,eAE/C,IAAKrzB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAC5B,IAAI0iB,EAAYhR,EAAM,OAAO1R,CAAC,EAE9B,GAAI0iB,GAAaA,EAAU,EAAG,CAG5B,IAFAjnB,EAAMinB,EAAU,QAEXlnB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpBA,IAAM,GACRm/B,EAAW,KAAK,CACd,EAAG,IACH,EAAGC,EAAkB,kBAAkBlY,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,CAChF,CAAC,EAGHiY,EAAW,KAAK,CACd,EAAG,IACH,IAAKC,EAAkB,oBAAoBlY,EAAU,EAAElnB,EAAI,CAAC,EAAGknB,EAAU,EAAElnB,CAAC,EAAGknB,EAAU,EAAElnB,CAAC,CAAC,CAC/F,CAAC,EAGCC,IAAQ,GACVk/B,EAAW,KAAK,CACd,EAAG,IACH,EAAGC,EAAkB,kBAAkBlY,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,CAChF,CAAC,EAGCA,EAAU,GAAKjnB,IACjBk/B,EAAW,KAAK,CACd,EAAG,IACH,IAAKC,EAAkB,oBAAoBlY,EAAU,EAAElnB,EAAI,CAAC,EAAGknB,EAAU,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,CAAC,CAC/F,CAAC,EACDiY,EAAW,KAAK,CACd,EAAG,GACL,CAAC,EAEL,CACF,CAEAtH,EAAY,QAAUsH,CACxB,CACF,EAEA,eAAe,UAAU,WAAa,SAAUlpB,EAAU6gB,EAAU,CAClE,GAAI7gB,EAAS,KAAO,IAAQA,EAAS,cAAe,CAClD,IAAI,EACAhW,EAAM62B,EAAS,aAAa,OAEhC,IAAK,EAAI,EAAG,EAAI72B,EAAK,GAAK,EACxB,KAAK,kBAAkB62B,EAAS,aAAa,CAAC,EAAGA,EAAS,EAAE,CAEhE,CACF,EAEA,eAAe,UAAU,WAAa,SAAUD,EAAWC,EAAUiI,EAAgB,CACnF,IAAI3H,EAAYN,EAAS,OAErBA,EAAS,EAAE,OAAS,MAAQt3B,GAAS,iBACvC43B,EAAU,GAAK,OAAS,QAAQN,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,MAGnHA,EAAS,EAAE,MAAQiI,EAAe,SAAW,MAAQv/B,GAAS,iBAChE43B,EAAU,KAAON,EAAS,EAAE,EAAIiI,EAAe,QAEnD,EAEA,eAAe,UAAU,mBAAqB,SAAUlI,EAAWC,EAAUiI,EAAgB,CAC3F,IAAI3H,EAAYN,EAAS,MACrBuI,EAEJ,GAAI,CAACjI,EAAU,KAAON,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAQD,EAAU,IAAM,IAAMC,EAAS,EAAE,MAAQA,EAAS,EAAE,MAAO,CACxI,IAAIjP,GAAO,MAAQroB,GAAS,WAAW,cACnCkJ,EAAMouB,EAAS,EAAE,EACjBnuB,EAAMmuB,EAAS,EAAE,EAErB,GAAID,EAAU,IAAM,EAClBwI,EAAMxX,EAAI,qBAAqBnf,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,MACxD,CACL,IAAIsZ,EAAM,KAAK,KAAK,KAAK,IAAIvZ,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,EAAI,KAAK,IAAID,EAAI,CAAC,EAAIC,EAAI,CAAC,EAAG,CAAC,CAAC,EAC3E+uB,EAAM,KAAK,MAAM/uB,EAAI,CAAC,EAAID,EAAI,CAAC,EAAGC,EAAI,CAAC,EAAID,EAAI,CAAC,CAAC,EACjDmK,EAAUikB,EAAS,EAAE,EAErBjkB,GAAW,EACbA,EAAU,IACDA,GAAW,KACpBA,EAAU,MAGZ,IAAIjE,EAAOqT,EAAMpP,EACblL,EAAI,KAAK,IAAI+vB,EAAMZ,EAAS,EAAE,CAAC,EAAIloB,EAAOlG,EAAI,CAAC,EAC/Cd,EAAI,KAAK,IAAI8vB,EAAMZ,EAAS,EAAE,CAAC,EAAIloB,EAAOlG,EAAI,CAAC,EACnD22B,EAAMxX,EAAI,qBAAqBlgB,EAAGC,EAAG,EAAGc,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGuZ,CAAG,CAC7D,CAEA,IAAIjiB,EACAC,EAAM42B,EAAU,EAAE,EAClBW,EAAUV,EAAS,EAAE,EACrBwE,EAAU,EAEd,IAAKt7B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpB82B,EAAS,EAAE,aAAeA,EAAS,EAAE,eACvCwE,EAAUxE,EAAS,EAAE,EAAE92B,EAAI,EAAI,CAAC,GAGlCq/B,EAAI,aAAa7H,EAAQx3B,EAAI,CAAC,EAAI,IAAK,QAAUw3B,EAAQx3B,EAAI,EAAI,CAAC,EAAI,IAAMw3B,EAAQx3B,EAAI,EAAI,CAAC,EAAI,IAAMw3B,EAAQx3B,EAAI,EAAI,CAAC,EAAI,IAAMs7B,EAAU,GAAG,EAGjJlE,EAAU,IAAMiI,CAClB,CAEAjI,EAAU,KAAON,EAAS,EAAE,EAAIiI,EAAe,OACjD,EAEA,eAAe,UAAU,aAAe,SAAUlI,EAAWC,EAAUiI,EAAgB,CACrF,IAAI3H,EAAYN,EAAS,MACrBh1B,EAAIg1B,EAAS,EAEbh1B,IAAMA,EAAE,OAAS,MAAQtC,GAAS,iBACpC43B,EAAU,GAAKt1B,EAAE,UACjBs1B,EAAU,GAAKt1B,EAAE,WAAW,CAAC,IAG3Bg1B,EAAS,EAAE,OAAS,MAAQt3B,GAAS,iBACvC43B,EAAU,GAAK,OAAS,QAAQN,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,IAAM,QAAQA,EAAS,EAAE,EAAE,CAAC,CAAC,EAAI,MAGnHA,EAAS,EAAE,MAAQiI,EAAe,SAAW,MAAQv/B,GAAS,iBAChE43B,EAAU,KAAON,EAAS,EAAE,EAAIiI,EAAe,UAG7CjI,EAAS,EAAE,OAAS,MAAQt3B,GAAS,iBACvC43B,EAAU,GAAKN,EAAS,EAAE,EAE9B,EAEA,eAAe,UAAU,QAAU,UAAY,EAC5C,MAAQt3B,GAAS,WAAa,MAC9B,MAAQA,GAAS,WAAa,MAC9B,MAAQA,GAAS,cAAgB,MACjC,MAAQA,GAAS,WAAW,OAAS,GACrC,MAAQA,GAAS,UAAU,OAAS,CACvC,EAKA,SAAS,eAAeiX,EAAM4d,EAAY3C,EAAM,CAC9C,KAAK,YAAYjb,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,iBAAiB,EAAG,cAAc,EACjI,eAAe,UAAU,YAAc,gBAAgB,UAAU,YACjE,eAAe,UAAU,aAAe,cAAc,UAAU,aAEhE,eAAe,UAAU,mBAAqB,UAAY,CACxD,IAAI7J,GAAO,MAAQroB,GAAS,cAC5BqoB,EAAI,WAAa,MAAQroB,GAAS,KAAK,GACvCqoB,EAAI,SAAS,EAAG,GAAI,MAAQroB,GAAS,KAAK,IAAK,MAAQA,GAAS,KAAK,EAAE,CACzE,EAKA,SAAS,cAAciX,EAAM4d,EAAY3C,EAAM,EAC5C,MAAQlyB,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,QAAU,GAC3B,MAAQA,GAAS,cAAgB,IACjC,MAAQA,GAAS,gBAAkB,IACnC,MAAQA,GAAS,gBAAkB,IACnC,MAAQA,GAAS,OAAS,IAC1B,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,cAAgB,GACjC,MAAQA,GAAS,cAAgB,MACjC,MAAQA,GAAS,WAAa,UAC9B,MAAQA,GAAS,OAAS,CACzB,KAAM,gBACN,OAAQ,gBACR,OAAQ,EACR,OAAQ,EACV,EACA,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,kBAAmB,YAAY,EAAG,aAAa,EAC9I,cAAc,UAAU,QAAU,UAAU,QAAQ,EAAE,WAAW,IAAI,EAErE,cAAc,UAAU,aAAe,UAAY,CACjD,IAAI7b,GAAgB,MAAQrW,GAAS,aAAa,aACjD,MAAQA,GAAS,gBAAkB,iBAAiBqW,EAAa,EAAIA,EAAa,EAAE,OAAS,CAAC,EAC/F,IAAIypB,EAAU,GAEVzpB,EAAa,IACfypB,EAAU,IACT,MAAQ9/B,GAAS,OAAO,KAAO,KAAK,WAAWqW,EAAa,EAAE,IAE9D,MAAQrW,GAAS,OAAO,KAAO,iBAGjC,MAAQA,GAAS,KAAO8/B,EACzB,IAAIC,EAAY,GAEZ1pB,EAAa,KACf0pB,EAAY,IACX,MAAQ//B,GAAS,OAAO,OAAS,KAAK,WAAWqW,EAAa,EAAE,GAChE,MAAQrW,GAAS,OAAO,OAASqW,EAAa,IAGjD,IAAIc,GAAY,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAEhF7V,EACAC,EACA8qB,EAAUlV,EAAa,EACvB8U,GAAgB,MAAQnrB,GAAS,SACpC,MAAQA,GAAS,OAAS+/B,GAC1B,MAAQ//B,GAAS,OAAO,OAASqW,EAAa,UAAY,OAAS,MAAQrW,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAAE,QAC1I5V,EAAM4V,EAAa,UAAU,OAE7B,IAAIuY,EACA9c,EACA7M,EACAqQ,EACAuB,EACA7R,EACAqQ,EACAqS,EACAsY,EACAC,EACAlG,GAAe,MAAQ/5B,GAAS,KAAK,YACrC6uB,EAAiBxY,EAAa,GAAK,KAAQA,EAAa,UACxDgV,EAAO,EACPC,EAAO,EACPW,EAAY,GACZxL,EAAM,EAEV,IAAKjgB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAsB3B,IArBAouB,GAAY,MAAQ5uB,GAAS,WAAW,YAAY,YAAYqW,EAAa,UAAU7V,CAAC,EAAG2W,EAAS,QAAS,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAAE,OAAO,EAC1LvE,EAAY8c,GAAYA,EAAS,MAAQ,CAAC,EAC1CzD,EAAa,MAAM,EAEf4O,GAAexO,EAAQ/qB,CAAC,EAAE,IAC5B6qB,EAAO,CAACwD,EACRvD,GAAQjV,EAAa,QACrBiV,GAAQW,EAAY,EAAI,EACxBA,EAAY,IAGdpV,EAAS/E,EAAU,OAASA,EAAU,OAAO,CAAC,EAAE,GAAK,CAAC,EACtDuD,EAAOwB,EAAO,OACdsU,EAAa,MAAM9U,EAAa,UAAY,IAAKA,EAAa,UAAY,GAAG,EAEzE0jB,GACF,KAAK,4BAA4B1jB,EAAc8U,EAAcI,EAAQ/qB,CAAC,EAAE,KAAM6qB,EAAMC,CAAI,EAG1F0U,EAAW,iBAAiB3qB,CAAI,EAE3BrQ,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAAG,CAK5B,IAJAsQ,EAAOuB,EAAO7R,CAAC,EAAE,GAAG,EAAE,EAAE,OACxB0iB,EAAY7Q,EAAO7R,CAAC,EAAE,GAAG,EACzBi7B,EAAU,CAAC,EAENh7B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EACrBA,IAAM,GACRg7B,EAAQ,KAAK9U,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGyD,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC,EAG7IuY,EAAQ,KAAK9U,EAAa,SAASzD,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC,EAG7Zg7B,EAAQ,KAAK9U,EAAa,SAASzD,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAGyiB,EAAU,EAAEziB,EAAI,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGkmB,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGyD,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGyD,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,EAAGyD,EAAa,SAASzD,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAG,CAAC,CAAC,EAC3ZsY,EAASh7B,CAAC,EAAIi7B,CAChB,CAEIlG,IACF1O,GAAQE,EAAQ/qB,CAAC,EAAE,EACnB6qB,GAAQwD,IAGL,MAAQ7uB,GAAS,UAAUygB,CAAG,GAChC,MAAQzgB,GAAS,UAAUygB,CAAG,EAAE,KAAOuf,GAEvC,MAAQhgC,GAAS,UAAUygB,CAAG,EAAI,CACjC,KAAMuf,CACR,EAGFvf,GAAO,CACT,CACF,EAEA,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAI4H,GAAO,MAAQroB,GAAS,cAC5BqoB,EAAI,MAAQ,MAAQroB,GAAS,OAAO,OACpCqoB,EAAI,QAAU,OACdA,EAAI,SAAW,QACfA,EAAI,WAAa,GAEX,MAAQroB,GAAS,KAAK,cACzB,MAAQA,GAAS,aAAa,aAAa,MAAQA,GAAS,aAAa,aAAc,MAAQA,GAAS,kBAAkB,EAG7H,IAAIQ,EACAC,EACAuE,EACAqQ,EACApQ,EACAqQ,EACA+kB,GAAmB,MAAQr6B,GAAS,aAAa,gBACjDurB,GAAW,MAAQvrB,GAAS,aAAa,YAAY,EACzDS,EAAM8qB,EAAQ,OACd,IAAI+O,EACA4F,EAAW,KACXC,EAAa,KACbC,EAAc,KACdJ,EACAC,EAEJ,IAAKz/B,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB,GAAI,CAAC+qB,EAAQ/qB,CAAC,EAAE,EAAG,CAWjB,GAVA85B,EAAiBD,EAAgB75B,CAAC,EAE9B85B,KACD,MAAQt6B,GAAS,WAAW,SAAS,KAAK,GAE1C,MAAQA,GAAS,WAAW,SAAS,aAAas6B,EAAe,CAAC,GAElE,MAAQt6B,GAAS,WAAW,SAAS,WAAWs6B,EAAe,CAAC,IAG9D,MAAQt6B,GAAS,KAAM,CAgB1B,IAfIs6B,GAAkBA,EAAe,GAC/B4F,IAAa5F,EAAe,KAC9B4F,EAAW5F,EAAe,GAC1BjS,EAAI,UAAYiS,EAAe,IAExB4F,KAAc,MAAQlgC,GAAS,OAAO,OAC/CkgC,GAAY,MAAQlgC,GAAS,OAAO,KACpCqoB,EAAI,WAAa,MAAQroB,GAAS,OAAO,MAG3CggC,GAAY,MAAQhgC,GAAS,UAAUQ,CAAC,EAAE,KAC1C6U,EAAO2qB,EAAS,QAEf,MAAQhgC,GAAS,WAAW,cAAc,UAAU,EAEhDgF,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAMzB,IALAi7B,EAAUD,EAASh7B,CAAC,EACpBsQ,EAAO2qB,EAAQ,QAEd,MAAQjgC,GAAS,WAAW,cAAc,OAAOigC,EAAQ,CAAC,EAAGA,EAAQ,CAAC,CAAC,EAEnEh7B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,GACxB,MAAQjF,GAAS,WAAW,cAAc,cAAcigC,EAAQh7B,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,CAAC,GAItJ,MAAQjF,GAAS,WAAW,cAAc,UAAU,GAEpD,MAAQA,GAAS,WAAW,cAAc,KAAK,CAElD,CAEA,IAAK,MAAQA,GAAS,OAAQ,CA0B5B,IAzBIs6B,GAAkBA,EAAe,GAC/B8F,IAAgB9F,EAAe,KACjC8F,EAAc9F,EAAe,GAC7BjS,EAAI,UAAYiS,EAAe,IAExB8F,KAAiB,MAAQpgC,GAAS,OAAO,SAClDogC,GAAe,MAAQpgC,GAAS,OAAO,OACvCqoB,EAAI,WAAa,MAAQroB,GAAS,OAAO,QAGvCs6B,GAAkBA,EAAe,GAC/B6F,IAAe7F,EAAe,KAChC6F,EAAa7F,EAAe,GAC5BjS,EAAI,YAAciS,EAAe,IAE1B6F,KAAgB,MAAQngC,GAAS,OAAO,SACjDmgC,GAAc,MAAQngC,GAAS,OAAO,OACtCqoB,EAAI,aAAe,MAAQroB,GAAS,OAAO,QAG7CggC,GAAY,MAAQhgC,GAAS,UAAUQ,CAAC,EAAE,KAC1C6U,EAAO2qB,EAAS,QAEf,MAAQhgC,GAAS,WAAW,cAAc,UAAU,EAEhDgF,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAMzB,IALAi7B,EAAUD,EAASh7B,CAAC,EACpBsQ,EAAO2qB,EAAQ,QAEd,MAAQjgC,GAAS,WAAW,cAAc,OAAOigC,EAAQ,CAAC,EAAGA,EAAQ,CAAC,CAAC,EAEnEh7B,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,GACxB,MAAQjF,GAAS,WAAW,cAAc,cAAcigC,EAAQh7B,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,EAAGg7B,EAAQh7B,EAAI,CAAC,CAAC,GAItJ,MAAQjF,GAAS,WAAW,cAAc,UAAU,GAEpD,MAAQA,GAAS,WAAW,cAAc,OAAO,CAEpD,CAEIs6B,IACD,MAAQt6B,GAAS,WAAW,SAAS,QAAQ,CAElD,CAEJ,EAEA,SAAS,WAAY,CAAC,CAEtB,UAAU,UAAU,YAAc,UAAY,CAAC,EAI/C,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAY,CACvB,eAAgB,UAAY,CAAC,EAC7B,oBAAqB,UAAY,EAC9B,MAAQA,GAAS,YAAc,WAAW,MAAQA,GAAS,KAAK,IAAM,KAAK,GAEvE,MAAQA,GAAS,KAAK,UACxB,MAAQA,GAAS,WAAa,SAAS,KAAK,GAC5C,MAAQA,GAAS,aAAe,SAAS,GAAG,GAC5C,MAAQA,GAAS,eAAiB,MAAQA,GAAS,cAEnD,MAAQA,GAAS,WAAW,aAAa,MAAQA,GAAS,YAAY,GAEtE,MAAQA,GAAS,YAAY,aAAa,MAAQA,GAAS,UAAU,IAErE,MAAQA,GAAS,cAAgB,MAAQA,GAAS,YAGrD,UAAU,MAAQA,GAAS,WAAW,CACxC,EACA,wBAAyB,UAAY,EAClC,MAAQA,GAAS,yBAA2B,IAAI,UAAU,MAAQA,CAAO,GACzE,MAAQA,GAAS,oBAAsB,MAAQA,GAAS,aACxD,MAAQA,GAAS,eAAiB,MAAQA,GAAS,cAE/C,MAAQA,GAAS,KAAK,KACxB,MAAQA,GAAS,aAAa,aAAa,MAAO,MAAQA,GAAS,KAAK,EAAE,GAGxE,MAAQA,GAAS,KAAK,KACxB,MAAQA,GAAS,aAAa,aAAa,SAAU,MAAQA,GAAS,KAAK,EAAE,GAG3E,MAAQA,GAAS,KAAK,KAAO,GAChC,KAAK,aAAa,CAEtB,EACA,cAAe,UAAY,CACzB,IAAIqgC,GAA2B,MAAQrgC,GAAS,oBAAsB,MAAQA,GAAS,mBAAmB,MAAQ,CAAC,EAEnH,IAAK,MAAQA,GAAS,eAAe,QAAS,CAC5C,IAAIsgC,GAAe,MAAQtgC,GAAS,eAAe,IAAI,MAAM,EAE7DqgC,EAAwB,UAAYC,EACpCD,EAAwB,gBAAkBC,CAC5C,EAEK,MAAQtgC,GAAS,eAAe,SACnCqgC,EAAwB,SAAW,MAAQrgC,GAAS,eAAe,MAAM,EAAE,EAE/E,EACA,YAAa,UAAY,EAGlB,MAAQA,GAAS,KAAK,KAAO,MAAQA,GAAS,SAInD,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GAEnB,MAAQA,GAAS,iBACnB,MAAQA,GAAS,cAAgB,IAEtC,EACA,QAAS,UAAY,EAClB,MAAQA,GAAS,aAAe,MAChC,MAAQA,GAAS,mBAAqB,MAElC,MAAQA,GAAS,gBACnB,MAAQA,GAAS,aAAe,OAG9B,MAAQA,GAAS,eACnB,MAAQA,GAAS,YAAY,QAAQ,GAErC,MAAQA,GAAS,YAAc,KAEpC,EACA,2BAA4B,UAAY,EACrC,MAAQA,GAAS,YAAc,IAAI,aAAa,MAAQA,GAAS,KAAM,MAAQA,GAAU,MAAQA,GAAS,UAAU,CACvH,EACA,WAAY,UAAY,CAAC,EACzB,SAAU,UAAY,CAAC,CACzB,EACA,aAAa,UAAU,eAAiB,eAAe,UAAU,eACjE,aAAa,UAAU,mBAAqB,aAAa,UAAU,QACnE,aAAa,UAAU,sBAAwB,eAAe,UAAU,sBAIxE,SAAS,cAAciX,EAAM4d,EAAY3C,EAAM,CAC7C,KAAK,YAAYjb,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,oBAAoB,EAAG,aAAa,EAElI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAIW,GAEC,MAAQ7yB,GAAS,KAAK,SACzB6yB,EAAO,SAAS,MAAM,EACtBA,EAAK,aAAa,SAAU,MAAQ7yB,GAAS,KAAK,EAAE,EACpD6yB,EAAK,aAAa,UAAW,MAAQ7yB,GAAS,KAAK,EAAE,EACrD6yB,EAAK,aAAa,QAAS,MAAQ7yB,GAAS,KAAK,EAAE,GAElD,MAAQA,GAAS,WAAW,aAAa,SAAU,MAAQA,GAAS,KAAK,EAAE,GAE3E,MAAQA,GAAS,WAAW,aAAa,UAAW,MAAQA,GAAS,KAAK,EAAE,IAE7E6yB,EAAO,UAAU,KAAK,EACtBA,EAAK,MAAM,OAAS,MAAQ7yB,GAAS,KAAK,GAAK,KAC/C6yB,EAAK,MAAM,QAAU,MAAQ7yB,GAAS,KAAK,GAAK,KAChD6yB,EAAK,MAAM,iBAAmB,MAAQ7yB,GAAS,KAAK,KAGrD,MAAQA,GAAS,aAAa,YAAY6yB,CAAI,CACjD,EAIA,SAAS,aAAa5b,EAAM4d,EAAY3C,EAAM,EAC3C,MAAQlyB,GAAS,OAASiX,EAAK,QAC/B,MAAQjX,GAAS,WAAa,CAACiX,EAAK,SACpC,MAAQjX,GAAS,eAAiB,IAClC,MAAQA,GAAS,gBAAkB,CAAC,GACpC,MAAQA,GAAS,UAAY,MAAQA,GAAS,OAAS,kBAAkB,MAAQA,GAAS,OAAO,MAAM,EAAI,CAAC,EAC7G,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,GACtC,MAAQlyB,GAAS,GAAKiX,EAAK,GAAK,gBAAgB,QAAQ,MAAQjX,EAASiX,EAAK,GAAI,EAAG4d,EAAW,UAAW,MAAQ70B,CAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,gBAAgB,CAAC,eAAgB,aAAc,YAAY,EAAG,YAAY,EAC1E,aAAa,UAAU,6BAA+B,aAAa,UAAU,wBAE7E,aAAa,UAAU,wBAA0B,UAAY,CAC3D,KAAK,6BAA6B,GAG7B,MAAQA,GAAS,KAAK,UACxB,MAAQA,GAAS,WAAW,aAAa,SAAU,MAAQA,GAAS,KAAK,CAAC,GAE1E,MAAQA,GAAS,WAAW,aAAa,UAAW,MAAQA,GAAS,KAAK,CAAC,GAE3E,MAAQA,GAAS,oBAAsB,MAAQA,GAAS,cAExD,MAAQA,GAAS,oBAAsB,MAAQA,GAAS,YAE7D,EAEA,aAAa,UAAU,iBAAmB,SAAUme,EAAMyB,EAAK,CAI7D,QAHI5a,EAAI,EACJ+tB,EAEG/tB,EAAI4a,IACJ,MAAQ5f,GAAS,SAASgF,CAAC,IAAM,MAAQhF,GAAS,SAASgF,CAAC,EAAE,iBACjE+tB,GAAe,MAAQ/yB,GAAS,SAASgF,CAAC,EAAE,eAAe,GAG7DA,GAAK,EAGH+tB,GACD,MAAQ/yB,GAAS,aAAa,aAAame,EAAM4U,CAAW,GAE5D,MAAQ/yB,GAAS,aAAa,YAAYme,CAAI,CAEnD,EAKA,SAAS,cAAclH,EAAM4d,EAAY3C,EAAM,EAE5C,MAAQlyB,GAAS,OAAS,CAAC,GAE3B,MAAQA,GAAS,WAAaiX,EAAK,QAEnC,MAAQjX,GAAS,WAAa,CAAC,GAE/B,MAAQA,GAAS,eAAiB,CAAC,GAEnC,MAAQA,GAAS,UAAY,CAAC,GAE9B,MAAQA,GAAS,kBAAoB,CAAC,GAEtC,MAAQA,GAAS,iBAAmB,CAAC,GACrC,MAAQA,GAAS,gBAAkB,SAAS,GAAG,EAChD,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,GAGtC,MAAQlyB,GAAS,aAAe,CAAC,GACjC,MAAQA,GAAS,YAAc,CAC9B,EAAG,OACH,EAAG,QACH,EAAG,EACH,EAAG,CACL,CACF,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,gBAAiB,aAAc,iBAAkB,aAAc,iBAAiB,EAAG,aAAa,EAC/J,cAAc,UAAU,kBAAoB,cAAc,UAAU,mBAEpE,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI2mB,EAGJ,IAFC,MAAQ3mB,GAAS,YAAY,MAAM,SAAW,GAE1C,MAAQA,GAAS,KAAK,SACxB,MAAQA,GAAS,aAAa,aAAa,MAAQA,GAAS,eAAe,EAE5E2mB,GAAQ,MAAQ3mB,GAAS,eACpB,CACL2mB,EAAO,SAAS,KAAK,EACrB,IAAIjN,GAAQ,MAAQ1Z,GAAS,KAAK,MAAQ,MAAQA,GAAS,KAAK,MAAQ,MAAQA,GAAS,WAAW,SACpG2mB,EAAK,aAAa,QAASjN,EAAK,CAAC,EACjCiN,EAAK,aAAa,SAAUjN,EAAK,CAAC,EAClCiN,EAAK,aAAa,MAAQ3mB,GAAS,eAAe,GAEjD,MAAQA,GAAS,aAAa,YAAY2mB,CAAI,CACjD,CAEA,KAAK,cAAc,MAAQ3mB,GAAS,YAAa,MAAQA,GAAS,WAAY,MAAQA,GAAS,cAAe,MAAQA,GAAS,gBAAiB,EAAG,CAAC,EAAG,EAAI,EAC3J,KAAK,mBAAmB,GACvB,MAAQA,GAAS,UAAY2mB,CAChC,EAEA,cAAc,UAAU,oBAAsB,SAAUuP,EAAcxkB,EAAO,CAC3E,IAAI,EACAjR,EAAMy1B,EAAa,OAEvB,IAAK,EAAI,EAAG,EAAIz1B,EAAK,GAAK,EACxBiR,EAAQwkB,EAAa,CAAC,EAAE,OAAO,EAAE,kBAAkBxkB,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAG,CAAC,EAG1E,OAAOA,CACT,EAEA,cAAc,UAAU,0BAA4B,SAAU6uB,EAAMC,EAAa,CAC/E,IAAIzP,EAAQwP,EAAK,GAAG,EAChBrK,EAAeqK,EAAK,aACpB//B,EACAC,EAAMswB,EAAM,QACZ0P,EACAC,EACAC,EACAC,EAEJ,GAAI,EAAAngC,GAAO,GAIX,KAAKD,EAAI,EAAGA,EAAIC,EAAM,EAAGD,GAAK,EAC5BigC,EAAS,KAAK,oBAAoBvK,EAAcnF,EAAM,EAAEvwB,CAAC,CAAC,EAC1DkgC,EAAS,KAAK,oBAAoBxK,EAAcnF,EAAM,EAAEvwB,CAAC,CAAC,EAC1DmgC,EAAa,KAAK,oBAAoBzK,EAAcnF,EAAM,EAAEvwB,EAAI,CAAC,CAAC,EAClEogC,EAAa,KAAK,oBAAoB1K,EAAcnF,EAAM,EAAEvwB,EAAI,CAAC,CAAC,EAClE,KAAK,YAAYigC,EAAQC,EAAQC,EAAYC,EAAYJ,CAAW,EAGlEzP,EAAM,IACR0P,EAAS,KAAK,oBAAoBvK,EAAcnF,EAAM,EAAEvwB,CAAC,CAAC,EAC1DkgC,EAAS,KAAK,oBAAoBxK,EAAcnF,EAAM,EAAEvwB,CAAC,CAAC,EAC1DmgC,EAAa,KAAK,oBAAoBzK,EAAcnF,EAAM,EAAE,CAAC,CAAC,EAC9D6P,EAAa,KAAK,oBAAoB1K,EAAcnF,EAAM,EAAE,CAAC,CAAC,EAC9D,KAAK,YAAY0P,EAAQC,EAAQC,EAAYC,EAAYJ,CAAW,GAExE,EAEA,cAAc,UAAU,YAAc,SAAUC,EAAQC,EAAQC,EAAYC,EAAYJ,EAAa,CACnG,KAAK,iBAAiBC,EAAQC,EAAQC,EAAYC,CAAU,EAC5D,IAAIC,GAAU,MAAQ7gC,GAAS,iBAC/BwgC,EAAY,EAAI,MAAMK,EAAO,KAAML,EAAY,CAAC,EAChDA,EAAY,KAAO,MAAMK,EAAO,MAAOL,EAAY,IAAI,EACvDA,EAAY,EAAI,MAAMK,EAAO,IAAKL,EAAY,CAAC,EAC/CA,EAAY,KAAO,MAAMK,EAAO,OAAQL,EAAY,IAAI,CAC1D,EAEA,cAAc,UAAU,iBAAmB,CACzC,KAAM,EACN,MAAO,EACP,IAAK,EACL,OAAQ,CACV,EACA,cAAc,UAAU,gBAAkB,CACxC,EAAG,EACH,KAAM,EACN,EAAG,EACH,KAAM,EACN,MAAO,EACP,OAAQ,CACV,EAEA,cAAc,UAAU,iBAAmB,SAAUn3B,EAAI1B,EAAIjB,EAAIo6B,EAAI,CAGnE,QAFID,EAAS,CAAC,CAACx3B,EAAG,CAAC,EAAGy3B,EAAG,CAAC,CAAC,EAAG,CAACz3B,EAAG,CAAC,EAAGy3B,EAAG,CAAC,CAAC,CAAC,EAEnCj8B,EAAG9C,EAAG+C,EAAG3C,EAAG4+B,EAAMztB,EAAI0tB,EAAIxgC,EAAI,EAAGA,EAAI,EAAG,EAAEA,EAEjDuB,EAAI,EAAIsH,EAAG7I,CAAC,EAAI,GAAKmH,EAAGnH,CAAC,EAAI,EAAIkG,EAAGlG,CAAC,EACrCqE,EAAI,GAAKwE,EAAG7I,CAAC,EAAI,EAAImH,EAAGnH,CAAC,EAAI,EAAIkG,EAAGlG,CAAC,EAAI,EAAIsgC,EAAGtgC,CAAC,EACjDsE,EAAI,EAAI6C,EAAGnH,CAAC,EAAI,EAAI6I,EAAG7I,CAAC,EACxBuB,GAAK,EAEL8C,GAAK,EAELC,GAAK,EAEDD,IAAM,GAAK9C,IAAM,IACV8C,IAAM,GACf1C,EAAI,CAAC2C,EAAI/C,EAELI,EAAI,GAAKA,EAAI,GACf0+B,EAAOrgC,CAAC,EAAE,KAAK,KAAK,WAAW2B,EAAGkH,EAAI1B,EAAIjB,EAAIo6B,EAAItgC,CAAC,CAAC,IAGtDugC,EAAOh/B,EAAIA,EAAI,EAAI+C,EAAID,EAEnBk8B,GAAQ,IACVztB,GAAM,CAACvR,EAAI,OAAOg/B,CAAI,IAAM,EAAIl8B,GAC5ByO,EAAK,GAAKA,EAAK,GAAGutB,EAAOrgC,CAAC,EAAE,KAAK,KAAK,WAAW8S,EAAIjK,EAAI1B,EAAIjB,EAAIo6B,EAAItgC,CAAC,CAAC,EAC3EwgC,GAAM,CAACj/B,EAAI,OAAOg/B,CAAI,IAAM,EAAIl8B,GAC5Bm8B,EAAK,GAAKA,EAAK,GAAGH,EAAOrgC,CAAC,EAAE,KAAK,KAAK,WAAWwgC,EAAI33B,EAAI1B,EAAIjB,EAAIo6B,EAAItgC,CAAC,CAAC,MAKhF,MAAQR,GAAS,iBAAiB,KAAO,MAAM,MAAM,KAAM6gC,EAAO,CAAC,CAAC,GACpE,MAAQ7gC,GAAS,iBAAiB,IAAM,MAAM,MAAM,KAAM6gC,EAAO,CAAC,CAAC,GACnE,MAAQ7gC,GAAS,iBAAiB,MAAQ,MAAM,MAAM,KAAM6gC,EAAO,CAAC,CAAC,GACrE,MAAQ7gC,GAAS,iBAAiB,OAAS,MAAM,MAAM,KAAM6gC,EAAO,CAAC,CAAC,CACzE,EAEA,cAAc,UAAU,WAAa,SAAU,EAAGx3B,EAAI1B,EAAIjB,EAAIo6B,EAAItgC,EAAG,CACnE,OAAO,MAAM,EAAI,EAAG,CAAC,EAAI6I,EAAG7I,CAAC,EAAI,EAAI,MAAM,EAAI,EAAG,CAAC,EAAI,EAAImH,EAAGnH,CAAC,EAAI,GAAK,EAAI,GAAK,MAAM,EAAG,CAAC,EAAIkG,EAAGlG,CAAC,EAAI,MAAM,EAAG,CAAC,EAAIsgC,EAAGtgC,CAAC,CAC3H,EAEA,cAAc,UAAU,qBAAuB,SAAUu6B,EAAWyF,EAAa,CAC/E,IAAI,EACA//B,EAAMs6B,EAAU,OAEpB,IAAK,EAAI,EAAG,EAAIt6B,EAAK,GAAK,EACpBs6B,EAAU,CAAC,GAAKA,EAAU,CAAC,EAAE,GAC/B,KAAK,0BAA0BA,EAAU,CAAC,EAAGyF,CAAW,EAC/CzF,EAAU,CAAC,GAAKA,EAAU,CAAC,EAAE,IACtC,KAAK,qBAAqBA,EAAU,CAAC,EAAE,GAAIyF,CAAW,CAG5D,EAEA,cAAc,UAAU,mBAAqB,SAAUxX,EAAK,CAC1D,OAAQ,MAAQhpB,GAAS,YAAY,GAAKgpB,EAAI,IAAM,MAAQhpB,GAAS,YAAY,GAAKgpB,EAAI,IAAM,MAAQhpB,GAAS,YAAY,OAAS,MAAQA,GAAS,YAAY,GAAKgpB,EAAI,EAAIA,EAAI,QAAU,MAAQhpB,GAAS,YAAY,QAAU,MAAQA,GAAS,YAAY,GAAKgpB,EAAI,EAAIA,EAAI,MACrR,EAEA,cAAc,UAAU,mBAAqB,UAAY,CAGvD,GAFA,KAAK,kBAAkB,EAEnB,EAAE,MAAQhpB,GAAS,UAAY,MAAQA,GAAS,gBAAkB,MAAQA,GAAS,MAAO,CAC5F,IAAIihC,GAAmB,MAAQjhC,GAAS,gBACpCoC,EAAM,OASV,GARA6+B,EAAgB,EAAI7+B,EACpB6+B,EAAgB,KAAO,CAAC7+B,EACxB6+B,EAAgB,EAAI7+B,EACpB6+B,EAAgB,KAAO,CAAC7+B,EACxB,KAAK,sBAAsB,MAAQpC,GAAS,UAAWihC,CAAe,EACtEA,EAAgB,MAAQA,EAAgB,KAAOA,EAAgB,EAAI,EAAIA,EAAgB,KAAOA,EAAgB,EAC9GA,EAAgB,OAASA,EAAgB,KAAOA,EAAgB,EAAI,EAAIA,EAAgB,KAAOA,EAAgB,EAE3G,KAAK,mBAAmBA,CAAe,EACzC,OAGF,IAAIC,EAAU,GAkBd,IAhBK,MAAQlhC,GAAS,YAAY,IAAMihC,EAAgB,SACrD,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,OAEjD,MAAQjhC,GAAS,UAAU,aAAa,QAASihC,EAAgB,KAAK,EAEvEC,EAAU,KAGP,MAAQlhC,GAAS,YAAY,IAAMihC,EAAgB,UACrD,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,QAEjD,MAAQjhC,GAAS,UAAU,aAAa,SAAUihC,EAAgB,MAAM,EAEzEC,EAAU,IAGRA,IAAY,MAAQlhC,GAAS,YAAY,IAAMihC,EAAgB,IAAM,MAAQjhC,GAAS,YAAY,IAAMihC,EAAgB,EAAG,EAC5H,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,OACjD,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,QACjD,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,GACjD,MAAQjhC,GAAS,YAAY,EAAIihC,EAAgB,GAEjD,MAAQjhC,GAAS,UAAU,aAAa,WAAY,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,CAAC,EAE3M,IAAImhC,GAAc,MAAQnhC,GAAS,UAAU,MACzCohC,EAAiB,cAAgB,MAAQphC,GAAS,YAAY,EAAI,OAAS,MAAQA,GAAS,YAAY,EAAI,MAChHmhC,EAAW,UAAYC,EACvBD,EAAW,gBAAkBC,CAC/B,CACF,CACF,EAKA,SAAS,aAAanqB,EAAM4d,EAAY3C,EAAM,EAC3C,MAAQlyB,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,UAAY,CAAC,GAC9B,MAAQA,GAAS,YAAc,CAC9B,EAAG,OACH,EAAG,QACH,EAAG,EACH,EAAG,CACL,GACC,MAAQA,GAAS,WAAa,OAC9B,MAAQA,GAAS,SAAW,GAC7B,KAAK,YAAYiX,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,qBAAsB,YAAY,EAAG,YAAY,EAE/I,aAAa,UAAU,cAAgB,UAAY,CAGjD,IAFC,MAAQlyB,GAAS,SAAW,KAAK,WAAW,GAExC,MAAQA,GAAS,SAAU,EAC7B,MAAQA,GAAS,WAAa,OAC9B,MAAQA,GAAS,OAAS,MAAQA,GAAS,KAAK,KAAK,GACrD,MAAQA,GAAS,OAAS,MAAQA,GAAS,KAAK,KAAK,GAErD,MAAQA,GAAS,WAAW,aAAa,SAAU,MAAQA,GAAS,KAAK,GAEzE,MAAQA,GAAS,WAAW,aAAa,UAAW,MAAQA,GAAS,KAAK,EAE3E,IAAI8B,EAAI,SAAS,GAAG,GAEnB,MAAQ9B,GAAS,cAAc,YAAY8B,CAAC,GAE5C,MAAQ9B,GAAS,UAAY8B,CAChC,MACG,MAAQ9B,GAAS,WAAa,QAC9B,MAAQA,GAAS,WAAa,MAAQA,GAAS,aAGlD,KAAK,eAAe,CACtB,EAEA,aAAa,UAAU,aAAe,UAAY,CAChD,IAAIqW,GAAgB,MAAQrW,GAAS,aAAa,aACjD,MAAQA,GAAS,gBAAkB,iBAAiBqW,EAAa,EAAIA,EAAa,EAAE,OAAS,CAAC,EAC/F,IAAIgrB,GAAkB,MAAQrhC,GAAS,UAAU,MAC7CshC,EAAYjrB,EAAa,GAAK,KAAK,WAAWA,EAAa,EAAE,EAAI,gBACrEgrB,EAAe,KAAOC,EACtBD,EAAe,MAAQC,EAEnBjrB,EAAa,KACfgrB,EAAe,OAAS,KAAK,WAAWhrB,EAAa,EAAE,EACvDgrB,EAAe,YAAchrB,EAAa,GAAK,MAGjD,IAAIc,GAAY,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAEpF,GAAI,EAAE,MAAQrW,GAAS,WAAW,YAAY,MAI5C,GAHAqhC,EAAe,SAAWhrB,EAAa,UAAY,KACnDgrB,EAAe,WAAahrB,EAAa,UAAY,KAEjDc,EAAS,QACV,MAAQnX,GAAS,UAAU,UAAYmX,EAAS,WAC5C,CACLkqB,EAAe,WAAalqB,EAAS,QACrC,IAAIE,EAAUhB,EAAa,QACvBiB,EAASjB,EAAa,OAC1BgrB,EAAe,UAAY/pB,EAC3B+pB,EAAe,WAAahqB,CAC9B,CAGF,IAAI7W,EACAC,EACA8qB,EAAUlV,EAAa,EAC3B5V,EAAM8qB,EAAQ,OACd,IAAIuO,EACAyH,EACAC,EACArW,GAAgB,MAAQnrB,GAAS,QACjC6W,EACAuiB,EAAW,GACX3Y,EAAM,EAEV,IAAKjgB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAAG,CAuC3B,IAtCK,MAAQR,GAAS,WAAW,YAAY,QACrC,MAAQA,GAAS,UAAUygB,CAAG,EAMlCqZ,GAAS,MAAQ95B,GAAS,UAAUygB,CAAG,GALvCqZ,EAAQ,SAAS,MAAM,EACvBA,EAAM,aAAa,iBAAkB,MAAM,EAC3CA,EAAM,aAAa,kBAAmB,OAAO,EAC7CA,EAAM,aAAa,oBAAqB,GAAG,IAKvC,MAAQ95B,GAAS,YAChB,MAAQA,GAAS,UAAUygB,CAAG,GACjC8gB,GAAW,MAAQvhC,GAAS,UAAUygB,CAAG,EACzC+gB,EAAQD,EAAQ,SAAS,CAAC,IAE1BA,EAAU,UAAU,KAAK,EACzBA,EAAQ,MAAM,WAAa,EAC3BC,EAAQ,SAAS,KAAK,EACtBA,EAAM,YAAY1H,CAAK,EACvB,SAASyH,CAAO,MAGT,MAAQvhC,GAAS,SAY5B85B,GAAS,MAAQ95B,GAAS,UAAUygB,CAAG,GAAK,MAAQzgB,GAAS,UAAUygB,CAAG,EAAI,SAAS,MAAM,GAXxF,MAAQzgB,GAAS,UAAUygB,CAAG,GACjC8gB,GAAW,MAAQvhC,GAAS,UAAUygB,CAAG,EACzCqZ,GAAS,MAAQ95B,GAAS,UAAUygB,CAAG,IAEvC8gB,EAAU,UAAU,MAAM,EAC1B,SAASA,CAAO,EAChBzH,EAAQ,UAAU,MAAM,EACxB,SAASA,CAAK,EACdyH,EAAQ,YAAYzH,CAAK,IAOxB,MAAQ95B,GAAS,WAAW,YAAY,MAAO,CAClD,IAAI4uB,GAAY,MAAQ5uB,GAAS,WAAW,YAAY,YAAYqW,EAAa,UAAU7V,CAAC,EAAG2W,EAAS,QAAS,MAAQnX,GAAS,WAAW,YAAY,cAAcqW,EAAa,CAAC,EAAE,OAAO,EAE1LvE,EAiBJ,GAfI8c,EACF9c,EAAY8c,EAAS,KAErB9c,EAAY,KAGdqZ,EAAa,MAAM,EAEfrZ,GAAaA,EAAU,SACzB+E,EAAS/E,EAAU,OAAO,CAAC,EAAE,GAC7BqZ,EAAa,MAAM9U,EAAa,UAAY,IAAKA,EAAa,UAAY,GAAG,EAC7E+iB,EAAW,KAAK,gBAAgBjO,EAActU,CAAM,EACpDijB,EAAM,aAAa,IAAKV,CAAQ,IAG5B,MAAQp5B,GAAS,UAsBpB,MAAQA,GAAS,UAAU,YAAY85B,CAAK,MAtBd,CAG/B,IAFC,MAAQ95B,GAAS,UAAU,YAAYuhC,CAAO,EAE3CzvB,GAAaA,EAAU,OAAQ,CAEjC,SAAS,KAAK,YAAY0vB,CAAK,EAC/B,IAAIhB,EAAcgB,EAAM,QAAQ,EAChCA,EAAM,aAAa,QAAShB,EAAY,MAAQ,CAAC,EACjDgB,EAAM,aAAa,SAAUhB,EAAY,OAAS,CAAC,EACnDgB,EAAM,aAAa,UAAWhB,EAAY,EAAI,EAAI,KAAOA,EAAY,EAAI,GAAK,KAAOA,EAAY,MAAQ,GAAK,KAAOA,EAAY,OAAS,EAAE,EAC5I,IAAIiB,EAAaD,EAAM,MACnBE,EAAmB,cAAgBlB,EAAY,EAAI,GAAK,OAASA,EAAY,EAAI,GAAK,MAC1FiB,EAAW,UAAYC,EACvBD,EAAW,gBAAkBC,EAC7BnW,EAAQ/qB,CAAC,EAAE,QAAUggC,EAAY,EAAI,CACvC,MACEgB,EAAM,aAAa,QAAS,CAAC,EAC7BA,EAAM,aAAa,SAAU,CAAC,EAGhCD,EAAQ,YAAYC,CAAK,CAC3B,CAGF,SACE1H,EAAM,YAAcvO,EAAQ/qB,CAAC,EAAE,IAC/Bs5B,EAAM,eAAe,uCAAwC,YAAa,UAAU,GAE9E,MAAQ95B,GAAS,UASpB,MAAQA,GAAS,UAAU,YAAY85B,CAAK,MATd,EAC9B,MAAQ95B,GAAS,UAAU,YAAYuhC,CAAO,EAG/C,IAAII,EAAS7H,EAAM,MACf8H,EAAmB,iBAAmB,CAACvrB,EAAa,UAAY,IAAM,QAC1EsrB,EAAO,UAAYC,EACnBD,EAAO,gBAAkBC,CAC3B,EAMI,MAAQ5hC,GAAS,UAGpB,MAAQA,GAAS,UAAUygB,CAAG,EAAIqZ,GAFlC,MAAQ95B,GAAS,UAAUygB,CAAG,EAAI8gB,GAKpC,MAAQvhC,GAAS,UAAUygB,CAAG,EAAE,MAAM,QAAU,SAChD,MAAQzgB,GAAS,UAAUygB,CAAG,EAAIqZ,EACnCrZ,GAAO,CACT,CAEA,KAAOA,GAAO,MAAQzgB,GAAS,UAAU,SACtC,MAAQA,GAAS,UAAUygB,CAAG,EAAE,MAAM,QAAU,OACjDA,GAAO,CAEX,EAEA,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAIohB,EAEJ,IAAK,MAAQ7hC,GAAS,KAAK,YAAa,CACtC,GAAI,EAAE,MAAQA,GAAS,eAAiB,EAAE,MAAQA,GAAS,mBACzD,OAGF,IAAK,MAAQA,GAAS,WAAa,MAAQA,GAAS,eAAe,QAAS,EAEzE,MAAQA,GAAS,WAAW,aAAa,UAAW,EAAE,MAAQA,GAAS,eAAe,MAAM,EAAE,EAAE,CAAC,EAAI,IAAM,EAAE,MAAQA,GAAS,eAAe,MAAM,EAAE,EAAE,CAAC,EAAI,KAAO,MAAQA,GAAS,MAAQ,KAAO,MAAQA,GAAS,KAAK,EAE1N6hC,GAAY,MAAQ7hC,GAAS,WAAW,MACxC,IAAI8hC,EAAc,aAAe,EAAE,MAAQ9hC,GAAS,eAAe,MAAM,EAAE,EAAE,CAAC,EAAI,MAAQ,EAAE,MAAQA,GAAS,eAAe,MAAM,EAAE,EAAE,CAAC,EAAI,MAC3I6hC,EAAS,UAAYC,EACrBD,EAAS,gBAAkBC,CAC7B,CACF,CAIA,IAFC,MAAQ9hC,GAAS,aAAa,aAAa,MAAQA,GAAS,aAAa,aAAc,MAAQA,GAAS,kBAAkB,EAEvH,IAAE,MAAQA,GAAS,oBAAsB,EAAE,MAAQA,GAAS,aAAa,oBAI7E,KAAI,EACAS,EACAyL,EAAQ,EACRmuB,GAAmB,MAAQr6B,GAAS,aAAa,gBACjDurB,GAAW,MAAQvrB,GAAS,aAAa,YAAY,EACzDS,EAAM8qB,EAAQ,OACd,IAAI+O,EACAC,EACAwH,EAEJ,IAAK,EAAI,EAAG,EAAIthC,EAAK,GAAK,EACpB8qB,EAAQ,CAAC,EAAE,EACbrf,GAAS,GAETquB,GAAY,MAAQv6B,GAAS,UAAU,CAAC,EACxC+hC,GAAY,MAAQ/hC,GAAS,UAAU,CAAC,EACxCs6B,EAAiBD,EAAgBnuB,CAAK,EACtCA,GAAS,EAELouB,EAAe,KAAK,KAChB,MAAQt6B,GAAS,SAIrBu6B,EAAS,aAAa,YAAaD,EAAe,CAAC,GAHnDC,EAAS,MAAM,gBAAkBD,EAAe,EAChDC,EAAS,MAAM,UAAYD,EAAe,IAO9CC,EAAS,MAAM,QAAUD,EAAe,EAEpCA,EAAe,IAAMA,EAAe,KAAK,IAC3CyH,EAAS,aAAa,eAAgBzH,EAAe,EAAE,EAGrDA,EAAe,IAAMA,EAAe,KAAK,IAC3CyH,EAAS,aAAa,SAAUzH,EAAe,EAAE,EAG/CA,EAAe,IAAMA,EAAe,KAAK,KAC3CyH,EAAS,aAAa,OAAQzH,EAAe,EAAE,EAC/CyH,EAAS,MAAM,MAAQzH,EAAe,KAK5C,IAAK,MAAQt6B,GAAS,UAAU,SAAW,EAAE,MAAQA,GAAS,UAAY,MAAQA,GAAS,gBAAkB,MAAQA,GAAS,MAAO,CACnI,IAAIwgC,GAAe,MAAQxgC,GAAS,UAAU,QAAQ,GAEjD,MAAQA,GAAS,YAAY,IAAMwgC,EAAY,SACjD,MAAQxgC,GAAS,YAAY,EAAIwgC,EAAY,OAE7C,MAAQxgC,GAAS,WAAW,aAAa,QAASwgC,EAAY,KAAK,IAGjE,MAAQxgC,GAAS,YAAY,IAAMwgC,EAAY,UACjD,MAAQxgC,GAAS,YAAY,EAAIwgC,EAAY,QAE7C,MAAQxgC,GAAS,WAAW,aAAa,SAAUwgC,EAAY,MAAM,GAGxE,IAAIwB,EAAS,EAEb,IAAK,MAAQhiC,GAAS,YAAY,IAAMwgC,EAAY,MAAQwB,EAAS,IAAM,MAAQhiC,GAAS,YAAY,IAAMwgC,EAAY,OAASwB,EAAS,IAAM,MAAQhiC,GAAS,YAAY,IAAMwgC,EAAY,EAAIwB,IAAW,MAAQhiC,GAAS,YAAY,IAAMwgC,EAAY,EAAIwB,EAAQ,EACxQ,MAAQhiC,GAAS,YAAY,EAAIwgC,EAAY,MAAQwB,EAAS,GAC9D,MAAQhiC,GAAS,YAAY,EAAIwgC,EAAY,OAASwB,EAAS,GAC/D,MAAQhiC,GAAS,YAAY,EAAIwgC,EAAY,EAAIwB,GACjD,MAAQhiC,GAAS,YAAY,EAAIwgC,EAAY,EAAIwB,GAEjD,MAAQhiC,GAAS,WAAW,aAAa,WAAY,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,EAAI,KAAO,MAAQA,GAAS,YAAY,CAAC,EAE5M6hC,GAAY,MAAQ7hC,GAAS,WAAW,MACxC,IAAIiiC,EAAe,cAAgB,MAAQjiC,GAAS,YAAY,EAAI,OAAS,MAAQA,GAAS,YAAY,EAAI,MAC9G6hC,EAAS,UAAYI,EACrBJ,EAAS,gBAAkBI,CAC7B,CACF,EACF,EAKA,SAAS,cAAchrB,EAAM4d,EAAY3C,EAAM,EAC5C,MAAQlyB,GAAS,UAAY60B,EAAW,aAAa5d,EAAK,KAAK,EAChE,KAAK,YAAYA,EAAM4d,EAAY3C,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,cAAe,iBAAkB,aAAc,iBAAiB,EAAG,aAAa,EAE9I,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAIhK,GAAa,MAAQloB,GAAS,WAAW,eAAe,MAAQA,GAAS,SAAS,EAElF8oB,EAAM,IAAI,OAET,MAAQ9oB,GAAS,KAAK,UACxB,MAAQA,GAAS,UAAY,SAAS,OAAO,GAE7C,MAAQA,GAAS,UAAU,aAAa,SAAU,MAAQA,GAAS,UAAU,EAAI,IAAI,GAErF,MAAQA,GAAS,UAAU,aAAa,UAAW,MAAQA,GAAS,UAAU,EAAI,IAAI,GAEtF,MAAQA,GAAS,UAAU,eAAe,+BAAgC,OAAQkoB,CAAS,GAE3F,MAAQloB,GAAS,aAAa,aAAa,MAAQA,GAAS,SAAS,GAErE,MAAQA,GAAS,YAAY,aAAa,SAAU,MAAQA,GAAS,UAAU,CAAC,GAEhF,MAAQA,GAAS,YAAY,aAAa,UAAW,MAAQA,GAAS,UAAU,CAAC,IAEjF,MAAQA,GAAS,aAAa,YAAY8oB,CAAG,EAGhDA,EAAI,YAAc,YAClBA,EAAI,IAAMZ,GAEL,MAAQloB,GAAS,KAAK,KACxB,MAAQA,GAAS,YAAY,aAAa,MAAO,MAAQA,GAAS,KAAK,EAAE,CAE9E,EAIA,SAAS,eAAeiX,EAAM4d,EAAY3C,EAAM,CAC9C,KAAK,UAAU,EACf,KAAK,aAAajb,EAAM4d,EAAY3C,CAAI,EACxC,KAAK,cAAc,EACnB,IAAIvT,EAAU,gBAAgB,QAe9B,IAdC,MAAQ3e,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAI,EAAG,EAAG,MAAQjX,CAAO,EAE1EiX,EAAK,GAAG,EAAE,IACX,MAAQjX,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACjF,MAAQA,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,GACjF,MAAQA,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQjX,CAAO,IAEjF,MAAQA,GAAS,EAAI2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,EAAG,EAAG,EAAG,MAAQjX,CAAO,EAG7EiX,EAAK,GAAG,KACT,MAAQjX,GAAS,EAAI2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,EAAG,EAAG,EAAG,MAAQjX,CAAO,GAG7EiX,EAAK,GAAG,GAAG,EAAE,QAAUA,EAAK,GAAG,GAAG,EAAE,CAAC,EAAE,GAAI,CAC7C,IAAIzW,EACAC,EAAMwW,EAAK,GAAG,GAAG,EAAE,OAEvB,IAAKzW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxByW,EAAK,GAAG,GAAG,EAAEzW,CAAC,EAAE,GAAK,KACrByW,EAAK,GAAG,GAAG,EAAEzW,CAAC,EAAE,GAAK,IAEzB,EAEC,MAAQR,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQjX,CAAO,GACxF,MAAQA,GAAS,GAAG,GAAK,IACzB,MAAQA,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQjX,CAAO,GACxF,MAAQA,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQjX,CAAO,GACxF,MAAQA,GAAS,GAAK2e,EAAQ,MAAQ3e,EAASiX,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQjX,CAAO,GACxF,MAAQA,GAAS,IAAM,IAAI,QAC3B,MAAQA,GAAS,SAAW,IAAI,QAChC,MAAQA,GAAS,cAAgB,IAEjC,MAAQA,GAAS,eAAiB,CACjC,MAAO,MAAQA,CACjB,CACF,CAEA,gBAAgB,CAAC,YAAa,aAAc,gBAAgB,EAAG,cAAc,EAE7E,eAAe,UAAU,MAAQ,UAAY,CAC3C,IAAIQ,EACAC,GAAO,MAAQT,GAAS,KAAK,eAAe,OAC5CkyB,EACAgQ,EACA7O,EAEJ,IAAK7yB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAIxB,GAFA0xB,GAAQ,MAAQlyB,GAAS,KAAK,eAAeQ,CAAC,EAE1C0xB,EAAK,OAAS,KAAM,CACtBgQ,EAAmBhQ,EAAK,gBAAgB,MACxCmB,EAAiBnB,EAAK,UAAU,MAChC,IAAIiQ,GAAe,MAAQniC,GAAS,GAAG,EAAI,KACvCszB,EAAS,cACTa,EAAS,4CACb+N,EAAiB,YAAcC,EAC/BD,EAAiB,kBAAoBC,EACrC9O,EAAe,gBAAkBC,EACjCD,EAAe,mBAAqBC,EACpCD,EAAe,sBAAwBC,EACvC4O,EAAiB,UAAY/N,EAC7B+N,EAAiB,gBAAkB/N,CACrC,CAEJ,EAEA,eAAe,UAAU,eAAiB,UAAY,CAAC,EAEvD,eAAe,UAAU,KAAO,UAAY,CAAC,EAE7C,eAAe,UAAU,YAAc,UAAY,CACjD,IAAIpV,GAAQ,MAAQ/e,GAAS,cACzBQ,EACAC,EAEJ,IAAK,MAAQT,GAAS,UAGpB,IAFAS,GAAO,MAAQT,GAAS,UAAU,OAE7BQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBue,GAAQ,MAAQ/e,GAAS,UAAUQ,CAAC,EAAE,eAAe,MAAM,MAAQue,EAIvE,GAAIA,IAAS,MAAQ/e,GAAS,GAAG,OAAS,MAAQA,GAAS,IAAM,MAAQA,GAAS,EAAE,OAAS,MAAQA,GAAS,MAAQ,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,GAAG,QAAU,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,GAAG,OAAS,MAAQA,GAAS,IAAM,MAAQA,GAAS,EAAE,KAAM,CAGhX,IAFC,MAAQA,GAAS,IAAI,MAAM,GAEvB,MAAQA,GAAS,UAGpB,IAFAS,GAAO,MAAQT,GAAS,UAAU,OAAS,EAEtCQ,EAAIC,EAAKD,GAAK,EAAGA,GAAK,EAAG,CAC5B,IAAI4hC,GAAW,MAAQpiC,GAAS,UAAUQ,CAAC,EAAE,eAAe,OAE3D,MAAQR,GAAS,IAAI,UAAU,CAACoiC,EAAQ,EAAE,EAAE,CAAC,EAAG,CAACA,EAAQ,EAAE,EAAE,CAAC,EAAGA,EAAQ,EAAE,EAAE,CAAC,CAAC,GAE/E,MAAQpiC,GAAS,IAAI,QAAQ,CAACoiC,EAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,CAACA,EAAQ,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQA,EAAQ,GAAG,EAAE,CAAC,CAAC,GAEhG,MAAQpiC,GAAS,IAAI,QAAQ,CAACoiC,EAAQ,GAAG,CAAC,EAAE,QAAQ,CAACA,EAAQ,GAAG,CAAC,EAAE,QAAQA,EAAQ,GAAG,CAAC,GAEvF,MAAQpiC,GAAS,IAAI,MAAM,EAAIoiC,EAAQ,EAAE,EAAE,CAAC,EAAG,EAAIA,EAAQ,EAAE,EAAE,CAAC,EAAG,EAAIA,EAAQ,EAAE,EAAE,CAAC,CAAC,GAErF,MAAQpiC,GAAS,IAAI,UAAUoiC,EAAQ,EAAE,EAAE,CAAC,EAAGA,EAAQ,EAAE,EAAE,CAAC,EAAGA,EAAQ,EAAE,EAAE,CAAC,CAAC,CAChF,CASF,IANK,MAAQpiC,GAAS,GACnB,MAAQA,GAAS,IAAI,UAAU,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,EAAG,EAAE,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,GAE7G,MAAQA,GAAS,IAAI,UAAU,EAAE,MAAQA,GAAS,GAAG,EAAG,EAAE,MAAQA,GAAS,GAAG,GAAI,MAAQA,GAAS,GAAG,CAAC,GAGrG,MAAQA,GAAS,EAAG,CACvB,IAAIqiC,GAEC,MAAQriC,GAAS,EACpBqiC,EAAa,EAAE,MAAQriC,GAAS,EAAE,EAAE,CAAC,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,EAE3KqiC,EAAa,EAAE,MAAQriC,GAAS,GAAG,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,GAAG,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,GAAI,MAAQA,GAAS,GAAG,GAAK,MAAQA,GAAS,EAAE,EAAE,CAAC,CAAC,EAGvK,IAAIsiC,EAAM,KAAK,KAAK,KAAK,IAAID,EAAW,CAAC,EAAG,CAAC,EAAI,KAAK,IAAIA,EAAW,CAAC,EAAG,CAAC,EAAI,KAAK,IAAIA,EAAW,CAAC,EAAG,CAAC,CAAC,EAEpGE,EAAU,CAACF,EAAW,CAAC,EAAIC,EAAKD,EAAW,CAAC,EAAIC,EAAKD,EAAW,CAAC,EAAIC,CAAG,EACxEE,EAAiB,KAAK,KAAKD,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EAAIA,EAAQ,CAAC,CAAC,EAC5EE,EAAa,KAAK,MAAMF,EAAQ,CAAC,EAAGC,CAAc,EAClDE,EAAa,KAAK,MAAMH,EAAQ,CAAC,EAAG,CAACA,EAAQ,CAAC,CAAC,GAElD,MAAQviC,GAAS,IAAI,QAAQ0iC,CAAU,EAAE,QAAQ,CAACD,CAAU,CAC/D,EAEC,MAAQziC,GAAS,IAAI,QAAQ,EAAE,MAAQA,GAAS,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,CAAC,GAErH,MAAQA,GAAS,IAAI,QAAQ,EAAE,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,MAAQA,GAAS,GAAG,EAAE,CAAC,CAAC,GAE9H,MAAQA,GAAS,IAAI,WAAW,MAAQA,GAAS,WAAW,SAAS,EAAI,GAAI,MAAQA,GAAS,WAAW,SAAS,EAAI,EAAG,CAAC,GAE1H,MAAQA,GAAS,IAAI,UAAU,EAAG,GAAI,MAAQA,GAAS,GAAG,CAAC,EAE5D,IAAI2iC,EAAmB,EAAE,MAAQ3iC,GAAS,SAAS,QAAQ,MAAQA,GAAS,GAAG,EAE/E,IAAK2iC,IAAqB,MAAQ3iC,GAAS,GAAG,QAAU,MAAQA,GAAS,KAAK,eAAgB,CAC5FS,GAAO,MAAQT,GAAS,KAAK,eAAe,OAC5C,IAAIkyB,EACAgQ,EACA7O,EAEJ,IAAK7yB,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAGxB,GAFA0xB,GAAQ,MAAQlyB,GAAS,KAAK,eAAeQ,CAAC,EAE1C0xB,EAAK,OAAS,KAAM,CACtB,GAAIyQ,EAAkB,CACpB,IAAIC,GAAY,MAAQ5iC,GAAS,IAAI,MAAM,EAE3CqzB,EAAiBnB,EAAK,UAAU,MAChCmB,EAAe,UAAYuP,EAC3BvP,EAAe,gBAAkBuP,CACnC,EAEK,MAAQ5iC,GAAS,GAAG,OACvBkiC,EAAmBhQ,EAAK,gBAAgB,MACxCgQ,EAAiB,aAAe,MAAQliC,GAAS,GAAG,EAAI,KACxDkiC,EAAiB,mBAAqB,MAAQliC,GAAS,GAAG,EAAI,KAElE,EAGD,MAAQA,GAAS,IAAI,OAAO,MAAQA,GAAS,QAAQ,CACxD,CACF,EAEC,MAAQA,GAAS,cAAgB,EACpC,EAEA,eAAe,UAAU,aAAe,SAAU4xB,EAAK,CACrD,KAAK,kBAAkBA,EAAK,EAAI,CAClC,EAEA,eAAe,UAAU,QAAU,UAAY,CAAC,EAEhD,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAO,IACT,EAEA,SAAS,UAAW,CAAC,CAErB,SAAS,UAAU,YAAc,UAAY,CAAC,EAM9C,IAAI,iBAAmB,UAAY,CACjC,IAAI1a,EAAW,CAAC,EACZ2rB,EAAuB,CAAC,EACxBplB,EAAW,EACXhd,EAAM,EACNqiC,EAAuB,EACvBC,EAAW,GACXC,EAAY,GAEhB,SAASC,EAAcC,EAAI,CAIzB,QAHI1iC,EAAI,EACJ2iC,EAAWD,EAAG,OAEX1iC,EAAIC,GACLoiC,EAAqBriC,CAAC,EAAE,YAAc2iC,IACxCN,EAAqB,OAAOriC,EAAG,CAAC,EAChCA,GAAK,EACLC,GAAO,EAEF0iC,EAAS,UACZC,EAAqB,GAIzB5iC,GAAK,CAET,CAEA,SAAS6iC,EAAkBviC,EAASyV,EAAe,CACjD,GAAI,CAACzV,EACH,OAAO,KAKT,QAFIN,EAAI,EAEDA,EAAIC,GAAK,CACd,GAAIoiC,EAAqBriC,CAAC,EAAE,OAASM,GAAW+hC,EAAqBriC,CAAC,EAAE,OAAS,KAC/E,OAAOqiC,EAAqBriC,CAAC,EAAE,UAGjCA,GAAK,CACP,CAEA,IAAI2iC,EAAW,IAAI,cACnB,OAAAG,EAAeH,EAAUriC,CAAO,EAChCqiC,EAAS,QAAQriC,EAASyV,CAAa,EAChC4sB,CACT,CAEA,SAASI,GAA0B,CACjC,IAAI/iC,EACAgjC,EAAWX,EAAqB,OAChCY,EAAa,CAAC,EAElB,IAAKjjC,EAAI,EAAGA,EAAIgjC,EAAUhjC,GAAK,EAC7BijC,EAAW,KAAKZ,EAAqBriC,CAAC,EAAE,SAAS,EAGnD,OAAOijC,CACT,CAEA,SAASC,GAAkB,CACzBZ,GAAwB,EACxBa,EAAS,CACX,CAEA,SAASP,GAAuB,CAC9BN,GAAwB,CAC1B,CAEA,SAASQ,EAAeH,EAAUriC,EAAS,CACzCqiC,EAAS,iBAAiB,UAAWF,CAAa,EAClDE,EAAS,iBAAiB,UAAWO,CAAe,EACpDP,EAAS,iBAAiB,QAASC,CAAoB,EACvDP,EAAqB,KAAK,CACxB,KAAM/hC,EACN,UAAWqiC,CACb,CAAC,EACD1iC,GAAO,CACT,CAEA,SAASmjC,EAAcC,EAAQ,CAC7B,IAAIV,EAAW,IAAI,cACnB,OAAAG,EAAeH,EAAU,IAAI,EAC7BA,EAAS,UAAUU,CAAM,EAClBV,CACT,CAEA,SAASW,EAASpjC,EAAKqjC,EAAW,CAChC,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,SAASE,EAAKqjC,CAAS,CAE7D,CAEA,SAASC,EAAatjC,EAAKqjC,EAAW,CACpC,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,aAAaE,EAAKqjC,CAAS,CAEjE,CAEA,SAASE,EAAKF,EAAW,CACvB,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,KAAKujC,CAAS,CAEpD,CAEA,SAASG,EAAOC,EAAS,CACvB,IAAIC,EAAcD,EAAU1mB,EACxBjd,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,YAAY4jC,CAAW,EAG3D3mB,EAAW0mB,EAEPrB,GAAwB,CAACE,EAC3B,OAAO,sBAAsBkB,CAAM,EAEnCnB,EAAW,EAEf,CAEA,SAASsB,EAAMF,EAAS,CACtB1mB,EAAW0mB,EACX,OAAO,sBAAsBD,CAAM,CACrC,CAEA,SAASI,EAAMP,EAAW,CACxB,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,MAAMujC,CAAS,CAErD,CAEA,SAASQ,EAAYthC,EAAOuhC,EAAST,EAAW,CAC9C,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,YAAYyC,EAAOuhC,EAAST,CAAS,CAE3E,CAEA,SAAStN,EAAKsN,EAAW,CACvB,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,KAAKujC,CAAS,CAEpD,CAEA,SAASU,EAAYV,EAAW,CAC9B,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,YAAYujC,CAAS,CAE3D,CAEA,SAASpa,EAAQoa,EAAW,CAC1B,IAAIvjC,EAEJ,IAAKA,EAAIC,EAAM,EAAGD,GAAK,EAAGA,GAAK,EAC7BqiC,EAAqBriC,CAAC,EAAE,UAAU,QAAQujC,CAAS,CAEvD,CAEA,SAASW,EAAiBnuB,EAAeouB,EAAYpd,EAAU,CAC7D,IAAIqd,EAAe,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,SAAS,uBAAuB,QAAQ,CAAC,EAAG,CAAC,EAAE,MAAM,KAAK,SAAS,uBAAuB,WAAW,CAAC,CAAC,EAC9IpkC,EACAgjC,EAAWoB,EAAa,OAE5B,IAAKpkC,EAAI,EAAGA,EAAIgjC,EAAUhjC,GAAK,EACzB+mB,GACFqd,EAAapkC,CAAC,EAAE,aAAa,eAAgB+mB,CAAQ,EAGvD8b,EAAkBuB,EAAapkC,CAAC,EAAG+V,CAAa,EAGlD,GAAIouB,GAAcnB,IAAa,EAAG,CAC3Bjc,IACHA,EAAW,OAGb,IAAIsd,EAAO,SAAS,qBAAqB,MAAM,EAAE,CAAC,EAClDA,EAAK,UAAY,GACjB,IAAIC,EAAM,UAAU,KAAK,EACzBA,EAAI,MAAM,MAAQ,OAClBA,EAAI,MAAM,OAAS,OACnBA,EAAI,aAAa,eAAgBvd,CAAQ,EACzCsd,EAAK,YAAYC,CAAG,EACpBzB,EAAkByB,EAAKvuB,CAAa,CACtC,CACF,CAEA,SAASwuB,GAAS,CAChB,IAAIvkC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,OAAO,CAE7C,CAEA,SAASmjC,GAAW,CACd,CAACX,GAAaF,GACZC,IACF,OAAO,sBAAsBsB,CAAK,EAClCtB,EAAW,GAGjB,CAEA,SAASiC,GAAS,CAChBhC,EAAY,EACd,CAEA,SAASiC,GAAW,CAClBjC,EAAY,GACZW,EAAS,CACX,CAEA,SAASuB,EAAUxkC,EAAKqjC,EAAW,CACjC,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,UAAUE,EAAKqjC,CAAS,CAE9D,CAEA,SAASoB,EAAKpB,EAAW,CACvB,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,KAAKujC,CAAS,CAEpD,CAEA,SAASqB,EAAOrB,EAAW,CACzB,IAAIvjC,EAEJ,IAAKA,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBqiC,EAAqBriC,CAAC,EAAE,UAAU,OAAOujC,CAAS,CAEtD,CAEA,OAAA7sB,EAAS,kBAAoBmsB,EAC7BnsB,EAAS,cAAgB0sB,EACzB1sB,EAAS,SAAW4sB,EACpB5sB,EAAS,aAAe8sB,EACxB9sB,EAAS,KAAO+sB,EAChB/sB,EAAS,MAAQotB,EACjBptB,EAAS,KAAOuf,EAChBvf,EAAS,YAAcutB,EACvBvtB,EAAS,iBAAmBwtB,EAC5BxtB,EAAS,OAAS6tB,EAElB7tB,EAAS,YAAcqtB,EACvBrtB,EAAS,QAAUyS,EACnBzS,EAAS,OAAS8tB,EAClB9tB,EAAS,SAAW+tB,EACpB/tB,EAAS,UAAYguB,EACrBhuB,EAAS,KAAOiuB,EAChBjuB,EAAS,OAASkuB,EAClBluB,EAAS,wBAA0BqsB,EAC5BrsB,CACT,EAAE,EAOE,cAAgB,UAAY,EAC7B,MAAQlX,GAAS,KAAO,CAAC,GACzB,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,aAAe,GAChC,MAAQA,GAAS,gBAAkB,GACnC,MAAQA,GAAS,WAAa,GAC9B,MAAQA,GAAS,YAAc,GAC/B,MAAQA,GAAS,UAAY,GAC7B,MAAQA,GAAS,UAAY,GAC7B,MAAQA,GAAS,UAAY,GAC7B,MAAQA,GAAS,cAAgB,GACjC,MAAQA,GAAS,UAAY,GAC7B,MAAQA,GAAS,cAAgB,CAAC,GAClC,MAAQA,GAAS,OAAS,CAAC,GAC3B,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,KAAO,IACxB,MAAQA,GAAS,SAAW,MAC5B,MAAQA,GAAS,YAAc,gBAAgB,GAC/C,MAAQA,GAAS,WAAa,IAC9B,MAAQA,GAAS,cAAgB,GACjC,MAAQA,GAAS,WAAa,GAC9B,MAAQA,GAAS,kBAAoB,iBACrC,MAAQA,GAAS,SAAW,CAAC,GAC7B,MAAQA,GAAS,MAAQ,IACzB,MAAQA,GAAS,eAAiB,IAClC,MAAQA,GAAS,iBAAmB,iBAAiB,GACrD,MAAQA,GAAS,eAAiB,IAAI,gBACtC,MAAQA,GAAS,gBAAkB,uBAAuB,GAC1D,MAAQA,GAAS,QAAU,CAAC,CAC/B,EAEA,gBAAgB,CAAC,SAAS,EAAG,aAAa,EAE1C,cAAc,UAAU,UAAY,SAAU6jC,EAAQ,EAChDA,EAAO,SAAWA,EAAO,cAC1B,MAAQ7jC,GAAS,QAAU6jC,EAAO,SAAWA,EAAO,WAGvD,IAAIwB,EAAW,MAQf,OANIxB,EAAO,SACTwB,EAAWxB,EAAO,SACTA,EAAO,WAChBwB,EAAWxB,EAAO,UAGZwB,EAAU,CAChB,IAAK,UACF,MAAQrlC,GAAS,SAAW,IAAI,eAAe,MAAQA,EAAS6jC,EAAO,gBAAgB,EACxF,MAEF,IAAK,OACF,MAAQ7jC,GAAS,SAAW,IAAI,YAAY,MAAQA,EAAS6jC,EAAO,gBAAgB,EACrF,MAEF,SACG,MAAQ7jC,GAAS,SAAW,IAAI,eAAe,MAAQA,EAAS6jC,EAAO,gBAAgB,EACxF,KACJ,EAEC,MAAQ7jC,GAAS,eAAe,aAAaqlC,GAAW,MAAQrlC,GAAS,SAAS,WAAW,IAAI,GAEjG,MAAQA,GAAS,SAAS,qBAAqB,MAAQA,GAAS,gBAAgB,GAEhF,MAAQA,GAAS,SAAWqlC,EAEzBxB,EAAO,OAAS,IAAMA,EAAO,OAAS,MAAQA,EAAO,OAAS,QAAaA,EAAO,OAAS,IAC5F,MAAQ7jC,GAAS,KAAO,GAChB6jC,EAAO,OAAS,IACxB,MAAQ7jC,GAAS,KAAO,IAExB,MAAQA,GAAS,KAAO,SAAS6jC,EAAO,KAAM,EAAE,GAGlD,MAAQ7jC,GAAS,SAAW,aAAc6jC,EAASA,EAAO,SAAW,IACrE,MAAQ7jC,GAAS,KAAO6jC,EAAO,KAAOA,EAAO,KAAO,IACpD,MAAQ7jC,GAAS,iBAAmB,OAAO,UAAU,eAAe,KAAK6jC,EAAQ,kBAAkB,EAAIA,EAAO,iBAAmB,IACjI,MAAQ7jC,GAAS,WAAa6jC,EAAO,YACrC,MAAQ7jC,GAAS,eAAiB6jC,EAAO,eAEtCA,EAAO,eACR,MAAQ7jC,GAAS,gBAAgB,gBAAgB6jC,EAAO,YAAY,EAGnEA,EAAO,cACT,KAAK,gBAAgBA,EAAO,aAAa,EAChCA,EAAO,OACZA,EAAO,KAAK,YAAY,IAAI,IAAM,IACnC,MAAQ7jC,GAAS,KAAO6jC,EAAO,KAAK,OAAO,EAAGA,EAAO,KAAK,YAAY,IAAI,EAAI,CAAC,GAE/E,MAAQ7jC,GAAS,KAAO6jC,EAAO,KAAK,OAAO,EAAGA,EAAO,KAAK,YAAY,GAAG,EAAI,CAAC,GAGhF,MAAQ7jC,GAAS,SAAW6jC,EAAO,KAAK,OAAOA,EAAO,KAAK,YAAY,GAAG,EAAI,CAAC,GAC/E,MAAQ7jC,GAAS,UAAY,MAAQA,GAAS,SAAS,OAAO,GAAI,MAAQA,GAAS,SAAS,YAAY,OAAO,CAAC,EACjH,YAAY,KAAK6jC,EAAO,MAAO,MAAQ7jC,GAAS,gBAAgB,KAAK,MAAQA,CAAO,EAAG,UAAY,CACjG,KAAK,QAAQ,aAAa,CAC5B,EAAE,KAAK,MAAQA,CAAO,CAAC,EAE3B,EAEA,cAAc,UAAU,QAAU,SAAUw0B,EAASje,EAAe,CAC9DA,GACE,OAAOA,GAAkB,WAC3BA,EAAgB,KAAK,MAAMA,CAAa,GAI5C,IAAIstB,EAAS,CACX,QAASrP,EACT,cAAeje,CACjB,EACI+uB,EAAoB9Q,EAAQ,WAChCqP,EAAO,KAAOyB,EAAkB,aAAa,qBAAqB,EAChEA,EAAkB,aAAa,qBAAqB,EAAE,MAAQA,EAAkB,aAAa,cAAc,EAC3GA,EAAkB,aAAa,cAAc,EAAE,MAAQA,EAAkB,aAAa,SAAS,EAAIA,EAAkB,aAAa,SAAS,EAAE,MAAQ,GACvJzB,EAAO,SAAWyB,EAAkB,aAAa,gBAAgB,EAC/DA,EAAkB,aAAa,gBAAgB,EAAE,MAAQA,EAAkB,aAAa,cAAc,EACtGA,EAAkB,aAAa,cAAc,EAAE,MAAQA,EAAkB,aAAa,SAAS,EAC/FA,EAAkB,aAAa,SAAS,EAAE,MAAQA,EAAkB,aAAa,kBAAkB,EACnGA,EAAkB,aAAa,kBAAkB,EAAE,MAAQA,EAAkB,aAAa,aAAa,EAAIA,EAAkB,aAAa,aAAa,EAAE,MAAQ,SACnK,IAAIC,EAAOD,EAAkB,aAAa,gBAAgB,EACxDA,EAAkB,aAAa,gBAAgB,EAAE,MAAQA,EAAkB,aAAa,cAAc,EACtGA,EAAkB,aAAa,cAAc,EAAE,MAAQA,EAAkB,aAAa,SAAS,EAAIA,EAAkB,aAAa,SAAS,EAAE,MAAQ,GAEnJC,IAAS,QACX1B,EAAO,KAAO,GACL0B,IAAS,OAClB1B,EAAO,KAAO,GACL0B,IAAS,KAClB1B,EAAO,KAAO,SAAS0B,EAAM,EAAE,GAGjC,IAAIC,EAAWF,EAAkB,aAAa,oBAAoB,EAChEA,EAAkB,aAAa,oBAAoB,EAAE,MAAQA,EAAkB,aAAa,kBAAkB,EAC9GA,EAAkB,aAAa,kBAAkB,EAAE,MAAQA,EAAkB,aAAa,aAAa,EAAIA,EAAkB,aAAa,aAAa,EAAE,MAAQ,GACnKzB,EAAO,SAAW2B,IAAa,QAC/B3B,EAAO,KAAOyB,EAAkB,aAAa,WAAW,EACtDA,EAAkB,aAAa,WAAW,EAAE,MAAQA,EAAkB,aAAa,cAAc,EACjGA,EAAkB,aAAa,cAAc,EAAE,MAAQA,EAAkB,aAAa,SAAS,EAAIA,EAAkB,aAAa,SAAS,EAAE,MAAQ,GACvJ,IAAIG,EAAYH,EAAkB,aAAa,qBAAqB,EAClEA,EAAkB,aAAa,qBAAqB,EAAE,MAAQA,EAAkB,aAAa,mBAAmB,EAChHA,EAAkB,aAAa,mBAAmB,EAAE,MAAQA,EAAkB,aAAa,cAAc,EAAIA,EAAkB,aAAa,cAAc,EAAE,MAAQ,GAElKG,IAAc,UAChB5B,EAAO,UAAY,IAGrB,KAAK,UAAUA,CAAM,CACvB,EAEA,cAAc,UAAU,cAAgB,SAAU5sB,EAAM,CAClDA,EAAK,IAAM,MAAQjX,GAAS,cAAc,MAC3C,MAAQA,GAAS,cAAc,GAAKiX,EAAK,IACzC,MAAQjX,GAAS,YAAc,KAAK,MAAMiX,EAAK,IAAM,MAAQjX,GAAS,cAAc,EAAE,GAGzF,IAAIiV,GAAU,MAAQjV,GAAS,cAAc,OACzC,EACAS,EAAMwU,EAAO,OACb6c,EAAY7a,EAAK,OACjBjS,EACAqQ,EAAOyc,EAAU,OAErB,IAAK9sB,EAAI,EAAGA,EAAIqQ,EAAMrQ,GAAK,EAGzB,IAFA,EAAI,EAEG,EAAIvE,GAAK,CACd,GAAIwU,EAAO,CAAC,EAAE,KAAO6c,EAAU9sB,CAAC,EAAE,GAAI,CACpCiQ,EAAO,CAAC,EAAI6c,EAAU9sB,CAAC,EACvB,KACF,CAEA,GAAK,CACP,CASF,IANIiS,EAAK,OAASA,EAAK,UACpB,MAAQjX,GAAS,SAAS,WAAW,YAAY,SAASiX,EAAK,KAAK,GAEpE,MAAQjX,GAAS,SAAS,WAAW,YAAY,SAASiX,EAAK,OAAQ,MAAQjX,GAAS,SAAS,WAAW,IAAI,GAG/GiX,EAAK,OAGP,IAFAxW,EAAMwW,EAAK,OAAO,OAEb,EAAI,EAAG,EAAIxW,EAAK,GAAK,GACvB,MAAQT,GAAS,cAAc,OAAO,KAAKiX,EAAK,OAAO,CAAC,CAAC,GAI7D,MAAQjX,GAAS,cAAc,WAAa,GAC7C,YAAY,cAAc,MAAQA,GAAS,eAAgB,MAAQA,GAAS,SAAS,WAAW,WAAW,GAE1G,MAAQA,GAAS,SAAS,cAAciX,EAAK,MAAM,EAEhD,mBACF,kBAAkB,gBAAgB,MAAQjX,CAAO,EAGnD,KAAK,gBAAgB,CACvB,EAEA,cAAc,UAAU,gBAAkB,UAAY,CACpD,IAAI6jB,GAAY,MAAQ7jB,GAAS,cAAc,SAE/C,GAAI,CAAC6jB,GAAYA,EAAS,SAAW,GAAK,EAAE,MAAQ7jB,GAAS,iBAAkB,CAC7E,KAAK,QAAQ,YAAY,GACxB,MAAQA,GAAS,eAAiB,MAAQA,GAAS,YACpD,MACF,CAEA,IAAIklB,EAAUrB,EAAS,MAAM,GAC5B,MAAQ7jB,GAAS,cAAgBklB,EAAQ,MAAQ,MAAQllB,GAAS,UACnE,IAAI0lC,GAAe,MAAQ1lC,GAAS,MAAQ,MAAQA,GAAS,SAAW,KAAO,MAAQA,GAAS,WAAa,SAC5G,MAAQA,GAAS,YAAc,EAChC,YAAY,KAAK0lC,GAAc,MAAQ1lC,GAAS,cAAc,KAAK,MAAQA,CAAO,EAAG,UAAY,CAC/F,KAAK,QAAQ,aAAa,CAC5B,EAAE,KAAK,MAAQA,CAAO,CAAC,CACzB,EAEA,cAAc,UAAU,aAAe,UAAY,CACjD,IAAI6jB,GAAY,MAAQ7jB,GAAS,cAAc,SAE1C6jB,KACF,MAAQ7jB,GAAS,eAAiB,MAAQA,GAAS,aAGtD,KAAK,gBAAgB,CACvB,EAEA,cAAc,UAAU,aAAe,UAAY,CACjD,KAAK,QAAQ,eAAe,EAC5B,KAAK,YAAY,CACnB,EAEA,cAAc,UAAU,cAAgB,UAAY,EACjD,MAAQA,GAAS,eAAe,eAAe,MAAQA,GAAS,UAAU,GAE1E,MAAQA,GAAS,eAAe,SAAS,MAAQA,GAAS,IAAI,GAE9D,MAAQA,GAAS,eAAe,YAAY,MAAQA,GAAS,cAAc,QAAS,MAAQA,GAAS,aAAa,KAAK,MAAQA,CAAO,CAAC,CAC1I,EAEA,cAAc,UAAU,gBAAkB,SAAUmyB,EAAU,CAC5D,IAAM,MAAQnyB,GAAS,SAIvB,GAAI,EACD,MAAQA,GAAS,cAAgBmyB,GAE7B,MAAQnyB,GAAS,iBACnB,MAAQA,GAAS,YAAc,KAAK,OAAO,MAAQA,GAAS,eAAe,CAAC,GAAK,MAAQA,GAAS,eAAe,CAAC,CAAC,GACnH,MAAQA,GAAS,WAAa,KAAK,OAAO,MAAQA,GAAS,eAAe,CAAC,CAAC,KAE5E,MAAQA,GAAS,YAAc,KAAK,OAAO,MAAQA,GAAS,cAAc,IAAM,MAAQA,GAAS,cAAc,EAAE,GACjH,MAAQA,GAAS,WAAa,KAAK,OAAO,MAAQA,GAAS,cAAc,EAAE,IAG7E,MAAQA,GAAS,SAAS,gBAAgBmyB,CAAQ,EAE9CA,EAAS,SACZA,EAAS,OAAS,CAAC,IAGpB,MAAQnyB,GAAS,QAAU,MAAQA,GAAS,cAAc,QAC1D,MAAQA,GAAS,WAAa,MAAQA,GAAS,cAAc,IAC7D,MAAQA,GAAS,WAAa,MAAQA,GAAS,cAAc,GAAK,KAElE,MAAQA,GAAS,SAAS,wBAAwBmyB,EAAS,MAAM,GAEjE,MAAQnyB,GAAS,QAAU,aAAamyB,EAAS,SAAW,CAAC,CAAC,EAC/D,KAAK,QAAQ,cAAc,EAC3B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GAEnB,MAAQnyB,GAAS,WACnB,MAAQA,GAAS,gBAAgB,MAAM,CAE5C,OAAS2lC,EAAO,CACd,KAAK,mBAAmBA,CAAK,CAC/B,CACF,EAEA,cAAc,UAAU,mBAAqB,UAAY,EACjD,MAAQ3lC,GAAS,YAIlB,MAAQA,GAAS,SAAS,WAAW,YAAY,SACpD,KAAK,YAAY,EAEjB,YAAY,MAAQA,GAAS,mBAAmB,KAAK,MAAQA,CAAO,EAAG,EAAE,EAE7E,EAEA,cAAc,UAAU,YAAc,UAAY,CAC5C,EAAE,MAAQA,GAAS,WAAa,MAAQA,GAAS,SAAS,WAAW,YAAY,YAAc,MAAQA,GAAS,eAAe,aAAa,IAAM,MAAQA,GAAS,SAAS,eAAiB,YAAc,MAAQA,GAAS,eAAe,eAAe,KAC3P,MAAQA,GAAS,SAAW,GAC7B,YAAY,cAAc,MAAQA,GAAS,eAAgB,MAAQA,GAAS,SAAS,WAAW,WAAW,EAEvG,mBACF,kBAAkB,gBAAgB,MAAQA,CAAO,GAGlD,MAAQA,GAAS,SAAS,UAAU,EAErC,WAAW,UAAY,CACrB,KAAK,QAAQ,WAAW,CAC1B,EAAE,KAAK,MAAQA,CAAO,EAAG,CAAC,EAC1B,KAAK,UAAU,GAEV,MAAQA,GAAS,UACpB,KAAK,KAAK,EAGhB,EAEA,cAAc,UAAU,OAAS,UAAY,EAC1C,MAAQA,GAAS,SAAS,oBAAoB,CACjD,EAEA,cAAc,UAAU,YAAc,SAAUa,EAAM,EACnD,MAAQb,GAAS,kBAAoB,CAAC,CAACa,CAC1C,EAEA,cAAc,UAAU,UAAY,UAAY,EAC7C,MAAQb,GAAS,cAAgB,MAAQA,GAAS,mBAAqB,MAAQA,GAAS,gBAAkB,CAAC,EAAE,MAAQA,GAAS,iBAE1H,MAAQA,GAAS,iBAAmB,MAAQA,GAAS,cAAgB,MAAQA,GAAS,cAAgB,MAAQA,GAAS,iBACzH,MAAQA,GAAS,cAAgB,MAAQA,GAAS,eAGrD,KAAK,QAAQ,YAAY,EACzB,KAAK,YAAY,CACnB,EAEA,cAAc,UAAU,YAAc,UAAY,CAChD,GAAK,SAAQA,GAAS,WAAa,IAAS,EAAE,MAAQA,GAAS,UAI/D,GAAI,EACD,MAAQA,GAAS,SAAS,aAAa,MAAQA,GAAS,cAAgB,MAAQA,GAAS,UAAU,CACtG,OAAS2lC,EAAO,CACd,KAAK,wBAAwBA,CAAK,CACpC,CACF,EAEA,cAAc,UAAU,KAAO,SAAU5rB,EAAM,CACzCA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAIlC,MAAQ/Z,GAAS,WAAa,MAChC,MAAQA,GAAS,SAAW,IAE5B,MAAQA,GAAS,gBAAgB,OAAO,GAEpC,MAAQA,GAAS,SACnB,MAAQA,GAAS,MAAQ,GAC1B,KAAK,QAAQ,SAAS,GAG5B,EAEA,cAAc,UAAU,MAAQ,SAAU+Z,EAAM,CAC1CA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAIlC,MAAQ/Z,GAAS,WAAa,MAChC,MAAQA,GAAS,SAAW,IAC5B,MAAQA,GAAS,MAAQ,GAC1B,KAAK,QAAQ,OAAO,GAEnB,MAAQA,GAAS,gBAAgB,MAAM,EAE5C,EAEA,cAAc,UAAU,YAAc,SAAU+Z,EAAM,CAChDA,IAAS,MAAQ/Z,GAAS,OAAS+Z,KAIlC,MAAQ/Z,GAAS,WAAa,GACjC,KAAK,KAAK,EAEV,KAAK,MAAM,EAEf,EAEA,cAAc,UAAU,KAAO,SAAU+Z,EAAM,CACzCA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAIvC,KAAK,MAAM,GACV,MAAQ/Z,GAAS,UAAY,GAC7B,MAAQA,GAAS,eAAiB,GACnC,KAAK,wBAAwB,CAAC,EAChC,EAEA,cAAc,UAAU,cAAgB,SAAU4lC,EAAY,CAG5D,QAFIC,EAEK,EAAI,EAAG,GAAK,MAAQ7lC,GAAS,QAAQ,OAAQ,GAAK,EAGzD,GAFA6lC,GAAU,MAAQ7lC,GAAS,QAAQ,CAAC,EAEhC6lC,EAAO,SAAWA,EAAO,QAAQ,OAASD,EAC5C,OAAOC,EAIX,OAAO,IACT,EAEA,cAAc,UAAU,YAAc,SAAU5iC,EAAOuhC,EAASzqB,EAAM,CACpE,GAAI,EAAAA,IAAS,MAAQ/Z,GAAS,OAAS+Z,GAIvC,KAAI+rB,EAAW,OAAO7iC,CAAK,EAE3B,GAAI,MAAM6iC,CAAQ,EAAG,CACnB,IAAID,EAAS,KAAK,cAAc5iC,CAAK,EAEjC4iC,GACF,KAAK,YAAYA,EAAO,KAAM,EAAI,CAEtC,MAAWrB,EACT,KAAK,wBAAwBvhC,CAAK,EAElC,KAAK,wBAAwBA,GAAS,MAAQjD,GAAS,aAAa,EAGtE,KAAK,MAAM,EACb,EAEA,cAAc,UAAU,YAAc,SAAUiD,EAAOuhC,EAASzqB,EAAM,CACpE,GAAI,EAAAA,IAAS,MAAQ/Z,GAAS,OAAS+Z,GAIvC,KAAI+rB,EAAW,OAAO7iC,CAAK,EAE3B,GAAI,MAAM6iC,CAAQ,EAAG,CACnB,IAAID,EAAS,KAAK,cAAc5iC,CAAK,EAEjC4iC,IACGA,EAAO,SAGV,KAAK,aAAa,CAACA,EAAO,KAAMA,EAAO,KAAOA,EAAO,QAAQ,EAAG,EAAI,EAFpE,KAAK,YAAYA,EAAO,KAAM,EAAI,EAKxC,MACE,KAAK,YAAYC,EAAUtB,EAASzqB,CAAI,EAG1C,KAAK,KAAK,EACZ,EAEA,cAAc,UAAU,YAAc,SAAU9W,EAAO,CACrD,GAAK,SAAQjD,GAAS,WAAa,KAAS,MAAQA,GAAS,WAAa,IAI1E,KAAI+lC,GAAa,MAAQ/lC,GAAS,gBAAkBiD,GAAS,MAAQjD,GAAS,cAC1EgmC,EAAc,GAGdD,IAAc,MAAQ/lC,GAAS,YAAc,IAAM,MAAQA,GAAS,cAAgB,EAClF,EAAE,MAAQA,GAAS,OAAS,MAAQA,GAAS,aAAe,MAAQA,GAAS,KAC1E,KAAK,cAAc+lC,GAAa,MAAQ/lC,GAAS,YAAc+lC,GAAa,MAAQ/lC,GAAS,YAAc,CAAC,IAC/GgmC,EAAc,GACdD,GAAa,MAAQ/lC,GAAS,YAAc,GAErC+lC,IAAc,MAAQ/lC,GAAS,cACvC,MAAQA,GAAS,WAAa,EAE1B,KAAK,cAAc+lC,GAAa,MAAQ/lC,GAAS,WAAW,IAC/D,KAAK,wBAAwB+lC,GAAa,MAAQ/lC,GAAS,WAAW,GACrE,MAAQA,GAAS,eAAiB,GACnC,KAAK,QAAQ,cAAc,IAG7B,KAAK,wBAAwB+lC,CAAS,EAE/BA,EAAY,EAChB,KAAK,cAAcA,GAAa,MAAQ/lC,GAAS,WAAW,KAC1D,MAAQA,GAAS,MAAQ,GAAG,MAAQA,GAAS,aAAe,IAAM,MAAQA,GAAS,OAAS,KAE/F,KAAK,yBAAyB,MAAQA,GAAS,YAAc+lC,GAAa,MAAQ/lC,GAAS,WAAW,GAEhG,MAAQA,GAAS,eAGrB,KAAK,QAAQ,cAAc,GAF1B,MAAQA,GAAS,eAAiB,KAKrCgmC,EAAc,GACdD,EAAY,IAIhB,KAAK,wBAAwBA,CAAS,EAGpCC,IACF,KAAK,wBAAwBD,CAAS,EACtC,KAAK,MAAM,EACX,KAAK,QAAQ,UAAU,GAE3B,EAEA,cAAc,UAAU,cAAgB,SAAU/iC,EAAKR,EAAQ,EAC5D,MAAQxC,GAAS,UAAY,EAE1BgD,EAAI,CAAC,EAAIA,EAAI,CAAC,IACX,MAAQhD,GAAS,cAAgB,KAC/B,MAAQA,GAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQA,GAAS,SAAS,EAE1C,KAAK,aAAa,EAAE,IAIvB,MAAQA,GAAS,YAAcgD,EAAI,CAAC,EAAIA,EAAI,CAAC,GAC7C,MAAQhD,GAAS,eAAiB,MAAQA,GAAS,aACnD,MAAQA,GAAS,WAAagD,EAAI,CAAC,EACpC,KAAK,yBAAyB,MAAQhD,GAAS,YAAc,KAAQwC,CAAM,GAClEQ,EAAI,CAAC,EAAIA,EAAI,CAAC,KAClB,MAAQhD,GAAS,cAAgB,KAC/B,MAAQA,GAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQA,GAAS,SAAS,EAE1C,KAAK,aAAa,CAAC,IAItB,MAAQA,GAAS,YAAcgD,EAAI,CAAC,EAAIA,EAAI,CAAC,GAC7C,MAAQhD,GAAS,eAAiB,MAAQA,GAAS,aACnD,MAAQA,GAAS,WAAagD,EAAI,CAAC,EACpC,KAAK,wBAAwB,KAAQR,CAAM,GAG7C,KAAK,QAAQ,cAAc,CAC7B,EAEA,cAAc,UAAU,WAAa,SAAUge,EAAMylB,EAAK,CACxD,IAAIC,EAAe,IAEd,MAAQlmC,GAAS,YACf,MAAQA,GAAS,iBAAmB,MAAQA,GAAS,WAAawgB,EACrE0lB,EAAe1lB,GACL,MAAQxgB,GAAS,iBAAmB,MAAQA,GAAS,WAAaimC,IAC5EC,EAAeD,EAAMzlB,KAIxB,MAAQxgB,GAAS,WAAawgB,GAC9B,MAAQxgB,GAAS,YAAcimC,EAAMzlB,GACrC,MAAQxgB,GAAS,eAAiB,MAAQA,GAAS,YAEhDkmC,IAAiB,IACnB,KAAK,YAAYA,EAAc,EAAI,CAEvC,EAEA,cAAc,UAAU,aAAe,SAAUljC,EAAKmjC,EAAW,CAK/D,GAJIA,KACD,MAAQnmC,GAAS,SAAS,OAAS,GAGlC,OAAOgD,EAAI,CAAC,GAAM,SAAU,CAC9B,IAAI,EACAvC,EAAMuC,EAAI,OAEd,IAAK,EAAI,EAAG,EAAIvC,EAAK,GAAK,GACvB,MAAQT,GAAS,SAAS,KAAKgD,EAAI,CAAC,CAAC,CAE1C,MACG,MAAQhD,GAAS,SAAS,KAAKgD,CAAG,GAGhC,MAAQhD,GAAS,SAAS,QAAUmmC,GACvC,KAAK,eAAe,MAAQnmC,GAAS,SAAS,MAAM,EAAG,CAAC,GAGrD,MAAQA,GAAS,UACpB,KAAK,KAAK,CAEd,EAEA,cAAc,UAAU,cAAgB,SAAUmmC,EAAW,EAC1D,MAAQnmC,GAAS,SAAS,OAAS,GAEnC,MAAQA,GAAS,SAAS,KAAK,EAAE,MAAQA,GAAS,cAAc,IAAK,MAAQA,GAAS,cAAc,EAAE,CAAC,EAGpGmmC,GACF,KAAK,cAAc,CAAC,CAExB,EAEA,cAAc,UAAU,cAAgB,SAAU3jC,EAAQ,CACxD,OAAK,MAAQxC,GAAS,SAAS,QAC7B,KAAK,eAAe,MAAQA,GAAS,SAAS,MAAM,EAAGwC,CAAM,EACtD,IAGF,EACT,EAEA,cAAc,UAAU,QAAU,SAAUuX,EAAM,CAC5CA,IAAS,MAAQ/Z,GAAS,OAAS+Z,GAAQ,EAAE,MAAQ/Z,GAAS,YAIjE,MAAQA,GAAS,SAAS,QAAQ,GAElC,MAAQA,GAAS,eAAe,QAAQ,EAEzC,KAAK,QAAQ,SAAS,GACrB,MAAQA,GAAS,KAAO,MACxB,MAAQA,GAAS,aAAe,MAChC,MAAQA,GAAS,eAAiB,MAClC,MAAQA,GAAS,WAAa,MAC9B,MAAQA,GAAS,eAAiB,MAClC,MAAQA,GAAS,UAAY,MAC7B,MAAQA,GAAS,SAAW,MAC5B,MAAQA,GAAS,SAAW,MAC5B,MAAQA,GAAS,eAAiB,MAClC,MAAQA,GAAS,iBAAmB,KACvC,EAEA,cAAc,UAAU,wBAA0B,SAAUiD,EAAO,EAChE,MAAQjD,GAAS,gBAAkBiD,EACpC,KAAK,UAAU,CACjB,EAEA,cAAc,UAAU,SAAW,SAAUvC,EAAK,EAC/C,MAAQV,GAAS,UAAYU,EAC9B,KAAK,kBAAkB,CACzB,EAEA,cAAc,UAAU,aAAe,SAAUA,EAAK,EACnD,MAAQV,GAAS,cAAgBU,EAAM,EAAI,GAAK,EACjD,KAAK,kBAAkB,CACzB,EAEA,cAAc,UAAU,UAAY,SAAUA,EAAKqZ,EAAM,CACnDA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAItC,MAAQ/Z,GAAS,gBAAgB,UAAUU,CAAG,CACjD,EAEA,cAAc,UAAU,UAAY,UAAY,CAC9C,OAAQ,MAAQV,GAAS,gBAAgB,UAAU,CACrD,EAEA,cAAc,UAAU,KAAO,SAAU+Z,EAAM,CACzCA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAItC,MAAQ/Z,GAAS,gBAAgB,KAAK,CACzC,EAEA,cAAc,UAAU,OAAS,SAAU+Z,EAAM,CAC3CA,IAAS,MAAQ/Z,GAAS,OAAS+Z,IAItC,MAAQ/Z,GAAS,gBAAgB,OAAO,CAC3C,EAEA,cAAc,UAAU,kBAAoB,UAAY,EACrD,MAAQA,GAAS,eAAiB,MAAQA,GAAS,WAAa,MAAQA,GAAS,WAAa,MAAQA,GAAS,eAE/G,MAAQA,GAAS,gBAAgB,SAAS,MAAQA,GAAS,WAAa,MAAQA,GAAS,aAAa,CACzG,EAEA,cAAc,UAAU,QAAU,UAAY,CAC5C,OAAQ,MAAQA,GAAS,IAC3B,EAEA,cAAc,UAAU,cAAgB,SAAUyoB,EAAW,CAC3D,IAAI7S,EAAO,GAEX,GAAI6S,EAAU,EACZ7S,EAAO6S,EAAU,WACP,MAAQzoB,GAAS,WAAY,CACvC,IAAI4oB,EAAYH,EAAU,EAEtBG,EAAU,QAAQ,SAAS,IAAM,KACnCA,EAAYA,EAAU,MAAM,GAAG,EAAE,CAAC,GAGpChT,GAAQ,MAAQ5V,GAAS,WAAa4oB,CACxC,MACEhT,GAAQ,MAAQ5V,GAAS,KACzB4V,GAAQ6S,EAAU,EAAIA,EAAU,EAAI,GACpC7S,GAAQ6S,EAAU,EAGpB,OAAO7S,CACT,EAEA,cAAc,UAAU,aAAe,SAAUjG,EAAI,CAInD,QAHInP,EAAI,EACJC,GAAO,MAAQT,GAAS,OAAO,OAE5BQ,EAAIC,GAAK,CACd,GAAIkP,KAAQ,MAAQ3P,GAAS,OAAOQ,CAAC,EAAE,GACrC,OAAQ,MAAQR,GAAS,OAAOQ,CAAC,EAGnCA,GAAK,CACP,CAEA,OAAO,IACT,EAEA,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQR,GAAS,SAAS,KAAK,CAClC,EAEA,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQA,GAAS,SAAS,KAAK,CAClC,EAEA,cAAc,UAAU,YAAc,SAAUwkC,EAAS,CACvD,OAAOA,GAAW,MAAQxkC,GAAS,aAAe,MAAQA,GAAS,aAAe,MAAQA,GAAS,SACrG,EAEA,cAAc,UAAU,QAAU,SAAU+Z,EAAM,CAChD,IAAK,MAAQ/Z,GAAS,OAAS,MAAQA,GAAS,KAAK+Z,CAAI,EACvD,OAAQA,EAAM,CACZ,IAAK,aACH,KAAK,aAAaA,EAAM,IAAI,kBAAkBA,GAAO,MAAQ/Z,GAAS,cAAe,MAAQA,GAAS,aAAc,MAAQA,GAAS,aAAa,CAAC,EACnJ,MAEF,IAAK,eACH,KAAK,aAAa+Z,EAAM,IAAI,oBAAoBA,GAAO,MAAQ/Z,GAAS,MAAO,MAAQA,GAAS,WAAY,MAAQA,GAAS,SAAS,CAAC,EACvI,MAEF,IAAK,WACH,KAAK,aAAa+Z,EAAM,IAAI,gBAAgBA,GAAO,MAAQ/Z,GAAS,SAAS,CAAC,EAC9E,MAEF,IAAK,eACH,KAAK,aAAa+Z,EAAM,IAAI,oBAAoBA,GAAO,MAAQ/Z,GAAS,YAAa,MAAQA,GAAS,WAAW,CAAC,EAClH,MAEF,IAAK,UACH,KAAK,aAAa+Z,EAAM,IAAI,eAAeA,EAAM,MAAQ/Z,CAAO,CAAC,EACjE,MAEF,QACE,KAAK,aAAa+Z,CAAI,CAC1B,CAGEA,IAAS,eAAiB,MAAQ/Z,GAAS,eAC5C,MAAQA,GAAS,aAAa,KAAK,MAAQA,EAAS,IAAI,kBAAkB+Z,GAAO,MAAQ/Z,GAAS,cAAe,MAAQA,GAAS,aAAc,MAAQA,GAAS,SAAS,CAAC,EAG1K+Z,IAAS,iBAAmB,MAAQ/Z,GAAS,iBAC9C,MAAQA,GAAS,eAAe,KAAK,MAAQA,EAAS,IAAI,oBAAoB+Z,GAAO,MAAQ/Z,GAAS,MAAO,MAAQA,GAAS,WAAY,MAAQA,GAAS,SAAS,CAAC,EAGpK+Z,IAAS,aAAe,MAAQ/Z,GAAS,aAC1C,MAAQA,GAAS,WAAW,KAAK,MAAQA,EAAS,IAAI,gBAAgB+Z,GAAO,MAAQ/Z,GAAS,SAAS,CAAC,EAGvG+Z,IAAS,iBAAmB,MAAQ/Z,GAAS,iBAC9C,MAAQA,GAAS,eAAe,KAAK,MAAQA,EAAS,IAAI,oBAAoB+Z,GAAO,MAAQ/Z,GAAS,YAAa,MAAQA,GAAS,WAAW,CAAC,EAG/I+Z,IAAS,YAAc,MAAQ/Z,GAAS,YACzC,MAAQA,GAAS,UAAU,KAAK,MAAQA,EAAS,IAAI,eAAe+Z,EAAM,MAAQ/Z,CAAO,CAAC,CAE/F,EAEA,cAAc,UAAU,wBAA0B,SAAUwB,EAAa,CACvE,IAAImkC,EAAQ,IAAI,wBAAwBnkC,GAAc,MAAQxB,GAAS,YAAY,EACnF,KAAK,aAAa,QAAS2lC,CAAK,GAE3B,MAAQ3lC,GAAS,UACnB,MAAQA,GAAS,QAAQ,KAAK,MAAQA,EAAS2lC,CAAK,CAEzD,EAEA,cAAc,UAAU,mBAAqB,SAAUnkC,EAAa,CAClE,IAAImkC,EAAQ,IAAI,mBAAmBnkC,GAAc,MAAQxB,GAAS,YAAY,EAC9E,KAAK,aAAa,QAAS2lC,CAAK,GAE3B,MAAQ3lC,GAAS,UACnB,MAAQA,GAAS,QAAQ,KAAK,MAAQA,EAAS2lC,CAAK,CAEzD,EAMA,IAAI,YAAc,UAAY,CAC5B,IAAI/4B,EAAK,CAAC,EACVA,EAAG,gBAAkBw5B,EAErB,SAASA,EAAgBrC,EAAW,CAClC,IAAIsC,EAAa,EACbC,EAAY,CAAC,EAEjB,SAASC,GAAiB,CACxBF,GAAc,CAChB,CAEA,SAASG,GAAgB,CACvBH,GAAc,EAEVA,IAAe,GACjBI,EAAiB,CAErB,CAEA,SAASC,EAA2BC,EAAY,CAC1CL,EAAU,QAAQK,CAAU,IAAM,IACpCL,EAAU,KAAKK,CAAU,CAE7B,CAEA,SAASF,GAAmB,CAC1B,IAAIjmC,EACAC,EAAM6lC,EAAU,OAEpB,IAAK9lC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB8lC,EAAU9lC,CAAC,EAAE,QAAQ,EAGvB8lC,EAAU,OAAS,CACrB,CAEAvC,EAAU,SAAS,cAAgB,wBAAwBA,EAAU,QAAQ,EAC7EA,EAAU,SAAS,WAAW,iBAAiB,oBAAoBA,EAAU,QAAQ,EACrFA,EAAU,SAAS,WAAW,eAAiBwC,EAC/CxC,EAAU,SAAS,WAAW,cAAgByC,EAC9CzC,EAAU,SAAS,WAAW,2BAA6B2C,CAC7D,CAEA,OAAO95B,CACT,EAAE,EAEF,kBAAoB,YAKpB,IAAI,kBAAoB,UAAY,CAClC,aAEA,IAAI,GAAK,CAAC,EACN,KAAO,OACP,OAAS,KACT,SAAW,KAEf,SAAS,sBAAsB5J,EAAK,CAClC,OAAOA,EAAI,cAAgB,OAASA,EAAI,cAAgB,YAC1D,CAEA,SAAS,YAAY4jC,EAAMhlC,EAAG,CAC5B,OAAOglC,IAAS,UAAYA,IAAS,WAAaA,IAAS,UAAYhlC,aAAa,MACtF,CAEA,SAAS,QAAQiD,EAAG,CAClB,IAAIgiC,EAAO,OAAOhiC,EAElB,GAAIgiC,IAAS,UAAYA,IAAS,WAAahiC,aAAa,OAC1D,MAAO,CAACA,EAGV,GAAI,sBAAsBA,CAAC,EAAG,CAC5B,IAAI,EACAiiC,EAAOjiC,EAAE,OACTkiC,EAAS,CAAC,EAEd,IAAK,EAAI,EAAG,EAAID,EAAM,GAAK,EACzBC,EAAO,CAAC,EAAI,CAACliC,EAAE,CAAC,EAGlB,OAAOkiC,CACT,CAEA,OAAIliC,EAAE,SACGA,EAAE,EAGJ,CAACA,CACV,CAEA,IAAI,UAAY,cAAc,gBAAgB,KAAO,EAAG,KAAO,KAAO,QAAQ,EAAE,IAC5E,WAAa,cAAc,gBAAgB,KAAO,KAAO,KAAO,EAAG,SAAS,EAAE,IAC9E,aAAe,cAAc,gBAAgB,IAAM,EAAG,KAAO,EAAG,WAAW,EAAE,IAEjF,SAAS,IAAIA,EAAG9C,EAAG,CACjB,IAAI8kC,EAAO,OAAOhiC,EACdmiC,EAAO,OAAOjlC,EAMlB,GAJI8kC,IAAS,UAAYG,IAAS,UAI9B,YAAYH,EAAMhiC,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAC7C,OAAO8C,EAAI9C,EAGb,GAAI,sBAAsB8C,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EACjD,OAAA8C,EAAIA,EAAE,MAAM,CAAC,EACbA,EAAE,CAAC,GAAK9C,EACD8C,EAGT,GAAI,YAAYgiC,EAAMhiC,CAAC,GAAK,sBAAsB9C,CAAC,EACjD,OAAAA,EAAIA,EAAE,MAAM,CAAC,EACbA,EAAE,CAAC,EAAI8C,EAAI9C,EAAE,CAAC,EACPA,EAGT,GAAI,sBAAsB8C,CAAC,GAAK,sBAAsB9C,CAAC,EAAG,CAMxD,QALIvB,EAAI,EACJsmC,EAAOjiC,EAAE,OACToiC,EAAOllC,EAAE,OACTglC,EAAS,CAAC,EAEPvmC,EAAIsmC,GAAQtmC,EAAIymC,IAChB,OAAOpiC,EAAErE,CAAC,GAAM,UAAYqE,EAAErE,CAAC,YAAa,UAAY,OAAOuB,EAAEvB,CAAC,GAAM,UAAYuB,EAAEvB,CAAC,YAAa,QACvGumC,EAAOvmC,CAAC,EAAIqE,EAAErE,CAAC,EAAIuB,EAAEvB,CAAC,EAEtBumC,EAAOvmC,CAAC,EAAIuB,EAAEvB,CAAC,IAAM,OAAYqE,EAAErE,CAAC,EAAIqE,EAAErE,CAAC,GAAKuB,EAAEvB,CAAC,EAGrDA,GAAK,EAGP,OAAOumC,CACT,CAEA,MAAO,EACT,CAEA,IAAI,IAAM,IAEV,SAAS,IAAIliC,EAAG9C,EAAG,CACjB,IAAI8kC,EAAO,OAAOhiC,EACdmiC,EAAO,OAAOjlC,EAElB,GAAI,YAAY8kC,EAAMhiC,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAC7C,OAAI8kC,IAAS,WACXhiC,EAAI,SAASA,EAAG,EAAE,GAGhBmiC,IAAS,WACXjlC,EAAI,SAASA,EAAG,EAAE,GAGb8C,EAAI9C,EAGb,GAAI,sBAAsB8C,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EACjD,OAAA8C,EAAIA,EAAE,MAAM,CAAC,EACbA,EAAE,CAAC,GAAK9C,EACD8C,EAGT,GAAI,YAAYgiC,EAAMhiC,CAAC,GAAK,sBAAsB9C,CAAC,EACjD,OAAAA,EAAIA,EAAE,MAAM,CAAC,EACbA,EAAE,CAAC,EAAI8C,EAAI9C,EAAE,CAAC,EACPA,EAGT,GAAI,sBAAsB8C,CAAC,GAAK,sBAAsB9C,CAAC,EAAG,CAMxD,QALIvB,EAAI,EACJsmC,EAAOjiC,EAAE,OACToiC,EAAOllC,EAAE,OACTglC,EAAS,CAAC,EAEPvmC,EAAIsmC,GAAQtmC,EAAIymC,IAChB,OAAOpiC,EAAErE,CAAC,GAAM,UAAYqE,EAAErE,CAAC,YAAa,UAAY,OAAOuB,EAAEvB,CAAC,GAAM,UAAYuB,EAAEvB,CAAC,YAAa,QACvGumC,EAAOvmC,CAAC,EAAIqE,EAAErE,CAAC,EAAIuB,EAAEvB,CAAC,EAEtBumC,EAAOvmC,CAAC,EAAIuB,EAAEvB,CAAC,IAAM,OAAYqE,EAAErE,CAAC,EAAIqE,EAAErE,CAAC,GAAKuB,EAAEvB,CAAC,EAGrDA,GAAK,EAGP,OAAOumC,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAIliC,EAAG9C,EAAG,CACjB,IAAI8kC,EAAO,OAAOhiC,EACdmiC,EAAO,OAAOjlC,EACdiB,EAEJ,GAAI,YAAY6jC,EAAMhiC,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAC7C,OAAO8C,EAAI9C,EAGb,IAAIvB,EACAC,EAEJ,GAAI,sBAAsBoE,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAAG,CAIpD,IAHAtB,EAAMoE,EAAE,OACR7B,EAAM,iBAAiB,UAAWvC,CAAG,EAEhCD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAIxC,CAAC,EAAIqE,EAAErE,CAAC,EAAIuB,EAGlB,OAAOiB,CACT,CAEA,GAAI,YAAY6jC,EAAMhiC,CAAC,GAAK,sBAAsB9C,CAAC,EAAG,CAIpD,IAHAtB,EAAMsB,EAAE,OACRiB,EAAM,iBAAiB,UAAWvC,CAAG,EAEhCD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAIxC,CAAC,EAAIqE,EAAI9C,EAAEvB,CAAC,EAGlB,OAAOwC,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAI6B,EAAG9C,EAAG,CACjB,IAAI8kC,EAAO,OAAOhiC,EACdmiC,EAAO,OAAOjlC,EACdiB,EAEJ,GAAI,YAAY6jC,EAAMhiC,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAC7C,OAAO8C,EAAI9C,EAGb,IAAIvB,EACAC,EAEJ,GAAI,sBAAsBoE,CAAC,GAAK,YAAYmiC,EAAMjlC,CAAC,EAAG,CAIpD,IAHAtB,EAAMoE,EAAE,OACR7B,EAAM,iBAAiB,UAAWvC,CAAG,EAEhCD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAIxC,CAAC,EAAIqE,EAAErE,CAAC,EAAIuB,EAGlB,OAAOiB,CACT,CAEA,GAAI,YAAY6jC,EAAMhiC,CAAC,GAAK,sBAAsB9C,CAAC,EAAG,CAIpD,IAHAtB,EAAMsB,EAAE,OACRiB,EAAM,iBAAiB,UAAWvC,CAAG,EAEhCD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAIxC,CAAC,EAAIqE,EAAI9C,EAAEvB,CAAC,EAGlB,OAAOwC,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAI6B,EAAG9C,EAAG,CACjB,OAAI,OAAO8C,GAAM,WACfA,EAAI,SAASA,EAAG,EAAE,GAGhB,OAAO9C,GAAM,WACfA,EAAI,SAASA,EAAG,EAAE,GAGb8C,EAAI9C,CACb,CAEA,IAAI,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IAEd,SAAS,MAAM6vB,EAAKvvB,EAAKD,EAAK,CAC5B,GAAIC,EAAMD,EAAK,CACb,IAAI8kC,EAAK9kC,EACTA,EAAMC,EACNA,EAAM6kC,CACR,CAEA,OAAO,KAAK,IAAI,KAAK,IAAItV,EAAKvvB,CAAG,EAAGD,CAAG,CACzC,CAEA,SAAS,iBAAiB1B,EAAK,CAC7B,OAAOA,EAAM,SACf,CAEA,IAAI,mBAAqB,iBAEzB,SAAS,iBAAiBA,EAAK,CAC7B,OAAOA,EAAM,SACf,CAEA,IAAI,mBAAqB,iBACrB,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAEzC,SAAS,OAAOymC,EAAMC,EAAM,CAC1B,GAAI,OAAOD,GAAS,UAAYA,aAAgB,OAC9C,OAAAC,EAAOA,GAAQ,EACR,KAAK,IAAID,EAAOC,CAAI,EAGxBA,IACHA,EAAO,mBAGT,IAAI,EACA3mC,EAAM,KAAK,IAAI0mC,EAAK,OAAQC,EAAK,MAAM,EACvC51B,EAAc,EAElB,IAAK,EAAI,EAAG,EAAI/Q,EAAK,GAAK,EACxB+Q,GAAe,KAAK,IAAI41B,EAAK,CAAC,EAAID,EAAK,CAAC,EAAG,CAAC,EAG9C,OAAO,KAAK,KAAK31B,CAAW,CAC9B,CAEA,SAAS,UAAU61B,EAAK,CACtB,OAAO,IAAIA,EAAK,OAAOA,CAAG,CAAC,CAC7B,CAEA,SAAS,SAAS3mC,EAAK,CACrB,IAAI,EAAIA,EAAI,CAAC,EACToB,EAAIpB,EAAI,CAAC,EACTqB,EAAIrB,EAAI,CAAC,EACT0B,EAAM,KAAK,IAAI,EAAGN,EAAGC,CAAC,EACtBM,EAAM,KAAK,IAAI,EAAGP,EAAGC,CAAC,EACtB,EACAJ,EACAuD,GAAK9C,EAAMC,GAAO,EAEtB,GAAID,IAAQC,EACV,EAAI,EAEJV,EAAI,MACC,CACL,IAAIW,EAAIF,EAAMC,EAGd,OAFAV,EAAIuD,EAAI,GAAM5C,GAAK,EAAIF,EAAMC,GAAOC,GAAKF,EAAMC,GAEvCD,EAAK,CACX,KAAK,EACH,GAAKN,EAAIC,GAAKO,GAAKR,EAAIC,EAAI,EAAI,GAC/B,MAEF,KAAKD,EACH,GAAKC,EAAI,GAAKO,EAAI,EAClB,MAEF,KAAKP,EACH,GAAK,EAAID,GAAKQ,EAAI,EAClB,MAEF,QACE,KACJ,CAEA,GAAK,CACP,CAEA,MAAO,CAAC,EAAGX,EAAGuD,EAAGxE,EAAI,CAAC,CAAC,CACzB,CAEA,SAAS,QAAQuB,EAAGC,EAAGC,EAAG,CAGxB,OAFIA,EAAI,IAAGA,GAAK,GACZA,EAAI,IAAGA,GAAK,GACZA,EAAI,EAAI,EAAUF,GAAKC,EAAID,GAAK,EAAIE,EACpCA,EAAI,EAAI,EAAUD,EAClBC,EAAI,EAAI,EAAUF,GAAKC,EAAID,IAAM,EAAI,EAAIE,GAAK,EAC3CF,CACT,CAEA,SAAS,SAASvB,EAAK,CACrB,IAAIgB,EAAIhB,EAAI,CAAC,EACTiB,EAAIjB,EAAI,CAAC,EACTwE,EAAIxE,EAAI,CAAC,EACTmB,EACAC,EACAC,EAEJ,GAAIJ,IAAM,EACRE,EAAIqD,EAEJnD,EAAImD,EAEJpD,EAAIoD,MACC,CACL,IAAIhD,EAAIgD,EAAI,GAAMA,GAAK,EAAIvD,GAAKuD,EAAIvD,EAAIuD,EAAIvD,EACxCM,EAAI,EAAIiD,EAAIhD,EAChBL,EAAI,QAAQI,EAAGC,EAAGR,EAAI,EAAI,CAAC,EAC3BI,EAAI,QAAQG,EAAGC,EAAGR,CAAC,EACnBK,EAAI,QAAQE,EAAGC,EAAGR,EAAI,EAAI,CAAC,CAC7B,CAEA,MAAO,CAACG,EAAGC,EAAGC,EAAGrB,EAAI,CAAC,CAAC,CACzB,CAEA,SAAS,OAAO,EAAG4mC,EAAMC,EAAMC,EAAQC,EAAQ,CAQ7C,IAPID,IAAW,QAAaC,IAAW,UACrCD,EAASF,EACTG,EAASF,EACTD,EAAO,EACPC,EAAO,GAGLA,EAAOD,EAAM,CACf,IAAII,EAAQH,EACZA,EAAOD,EACPA,EAAOI,CACT,CAEA,GAAI,GAAKJ,EACP,OAAOE,EAGT,GAAI,GAAKD,EACP,OAAOE,EAGT,IAAIl2B,EAAOg2B,IAASD,EAAO,GAAK,EAAIA,IAASC,EAAOD,GAEpD,GAAI,CAACE,EAAO,OACV,OAAOA,GAAUC,EAASD,GAAUj2B,EAGtC,IAAI/Q,EACAC,EAAM+mC,EAAO,OACbxkC,EAAM,iBAAiB,UAAWvC,CAAG,EAEzC,IAAKD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwC,EAAIxC,CAAC,EAAIgnC,EAAOhnC,CAAC,GAAKinC,EAAOjnC,CAAC,EAAIgnC,EAAOhnC,CAAC,GAAK+Q,EAGjD,OAAOvO,CACT,CAEA,SAAS,OAAOX,EAAKD,EAAK,CAWxB,GAVIA,IAAQ,SACNC,IAAQ,QACVA,EAAM,EACND,EAAM,IAENA,EAAMC,EACNA,EAAM,SAIND,EAAI,OAAQ,CACd,IAAI,EACA3B,EAAM2B,EAAI,OAETC,IACHA,EAAM,iBAAiB,UAAW5B,CAAG,GAGvC,IAAIuC,EAAM,iBAAiB,UAAWvC,CAAG,EACrCknC,EAAM,OAAO,OAAO,EAExB,IAAK,EAAI,EAAG,EAAIlnC,EAAK,GAAK,EACxBuC,EAAI,CAAC,EAAIX,EAAI,CAAC,EAAIslC,GAAOvlC,EAAI,CAAC,EAAIC,EAAI,CAAC,GAGzC,OAAOW,CACT,CAEIX,IAAQ,SACVA,EAAM,GAGR,IAAIulC,EAAO,OAAO,OAAO,EACzB,OAAOvlC,EAAMulC,GAAQxlC,EAAMC,EAC7B,CAEA,SAAS,WAAWwM,EAAQg5B,EAAYC,EAAa91B,EAAQ,CAC3D,IAAIxR,EACAC,EAAMoO,EAAO,OACb+G,EAAO,UAAU,WAAW,EAChCA,EAAK,YAAY,CAAC,CAAC5D,EAAQvR,CAAG,EAC9B,IAAIsnC,EAAiB,CAAC,EAAG,CAAC,EACtBC,EACAC,EAEJ,IAAKznC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBwnC,EAAgBH,GAAcA,EAAWrnC,CAAC,EAAIqnC,EAAWrnC,CAAC,EAAIunC,EAC9DE,EAAiBH,GAAeA,EAAYtnC,CAAC,EAAIsnC,EAAYtnC,CAAC,EAAIunC,EAClEnyB,EAAK,YAAY/G,EAAOrO,CAAC,EAAE,CAAC,EAAGqO,EAAOrO,CAAC,EAAE,CAAC,EAAGynC,EAAe,CAAC,EAAIp5B,EAAOrO,CAAC,EAAE,CAAC,EAAGynC,EAAe,CAAC,EAAIp5B,EAAOrO,CAAC,EAAE,CAAC,EAAGwnC,EAAc,CAAC,EAAIn5B,EAAOrO,CAAC,EAAE,CAAC,EAAGwnC,EAAc,CAAC,EAAIn5B,EAAOrO,CAAC,EAAE,CAAC,EAAGA,EAAG,EAAI,EAG5L,OAAOoV,CACT,CAEA,SAAS,mBAAmB,KAAM,KAAM,SAAU,CAChD,IAAI,IAAM,KAAK,EACX,cAAgB,qBAAqB,KAAK,GAAG,EAE7C,aAAe,IAAI,QAAQ,QAAQ,IAAM,GAEzC,SAAW,KAAK,KAAK,GACrB,UACA,cACA,QACA,OACA,aAAe,SACnB,aAAa,YAAc,aAAa,eACxC,OAAO,eAAe,aAAc,QAAS,CAC3C,IAAK,UAAY,CACf,OAAO,aAAa,CACtB,CACF,CAAC,EACD,KAAK,KAAK,cAAgB,EAAI,KAAK,KAAK,WAAW,UACnD,KAAK,KAAK,iBAAmB,EAC7B,IAAI,QAAU,KAAK,KAAK,GAAK,KAAK,KAAK,WAAW,UAC9C,SAAW,KAAK,KAAK,GAAK,KAAK,KAAK,WAAW,UAC/C,MAAQ,KAAK,KAAK,GAAK,KAAK,KAAK,GAAK,EACtC,OAAS,KAAK,KAAK,GAAK,KAAK,KAAK,GAAK,EACvC,KAAO,KAAK,KAAK,GACjB,OACA,QACA,QACA,SACA,OACA,QACA,UACA,SACA,OACA,kBACA,SACA,SACA,YACA,MACA,UACA,SACA,KACA,YACA,eACA,aACA,oBAAsB,KAAK,oCAAsC,IAAM,wBAAwB,EAAE,CAAC,EAElG,QAAU,SAAS,GAAK,KAAK,EAAE,OAAS,EACxC,OAAS,EAAE,MAAQ5V,GAAS,OAAS,MAAQA,GAAS,KAAK,KAAO,GAElE,OAAS,SAASkoC,EAAOC,EAAMC,EAAK,CACtC,IAAIC,EACArjC,EACAsjC,GAAa,MAAQtoC,GAAS,GAAG,QAAU,MAAQA,GAAS,GAAG,OAAS,EACxEuoC,EAAY,iBAAiB,UAAWD,CAAS,EACrDH,EAAO,EACP,IAAIxQ,EAAa,KAAK,MAAM,KAAOwQ,CAAI,EAIvC,IAHAE,EAAU,EACVrjC,EAAI,EAEGqjC,EAAU1Q,GAAY,CAE3B,IAAK3yB,EAAI,EAAGA,EAAIsjC,EAAWtjC,GAAK,EAC9BujC,EAAUvjC,CAAC,GAAK,CAACojC,EAAMA,EAAM,EAAI,OAAO,OAAO,EAGjDC,GAAW,CACb,CAGA,IAAIG,EAAU,KAAOL,EACjB52B,EAAOi3B,EAAU,KAAK,MAAMA,CAAO,EACnCxlC,EAAM,iBAAiB,UAAWslC,CAAS,EAE/C,GAAIA,EAAY,EAAG,CACjB,IAAKtjC,EAAI,EAAGA,EAAIsjC,EAAWtjC,GAAK,EAC9BhC,EAAIgC,CAAC,GAAK,MAAQhF,GAAS,GAAGgF,CAAC,EAAIujC,EAAUvjC,CAAC,GAAK,CAACojC,EAAMA,EAAM,EAAI,OAAO,OAAO,GAAK72B,EAIzF,OAAOvO,CACT,CAEA,OAAQ,MAAQhD,GAAS,GAAKuoC,EAAU,CAAC,GAAK,CAACH,EAAMA,EAAM,EAAI,OAAO,OAAO,GAAK72B,CACpF,EAAE,KAAK,MAAQvR,CAAO,EAElB,aAAa,SACf,OAAS,aAAa,OAAO,KAAK,YAAY,EAC9C,QAAU,QAGR,aAAa,UACf,QAAU,aAAa,QAAQ,KAAK,YAAY,EAChD,SAAW,SAGT,aAAa,SACf,OAAS,aAAa,OAAO,KAAK,YAAY,GAGhD,SAAS,eAAee,EAAM0nC,EAAU,CACtC,OAAO,OAAO1nC,EAAM0nC,EAAU,EAAI,CACpC,CAEA,SAAS,gBAAgB1nC,EAAM0nC,EAAU,CACvC,OAAO,QAAQ1nC,EAAM0nC,EAAU,EAAI,CACrC,EAEK,MAAQzoC,GAAS,iBACpB,aAAe,MAAQA,GAAS,eAAe,KAAK,MAAQA,CAAO,IAGhE,MAAQA,GAAS,oBACpB,gBAAkB,MAAQA,GAAS,kBAAkB,KAAK,MAAQA,CAAO,GAG3E,IAAI,KAAO,KAAK,KAAK,WAAW,iBAAiB,KAAK,KAAK,KAAK,WAAW,gBAAgB,EAE3F,SAAS,OAAO0oC,EAAOC,EAAO,CAC5B,IAAIC,EAAO,CAACD,EAAM,CAAC,EAAID,EAAM,CAAC,EAAGC,EAAM,CAAC,EAAID,EAAM,CAAC,EAAGC,EAAM,CAAC,EAAID,EAAM,CAAC,CAAC,EACrEG,EAAQ,KAAK,MAAMD,EAAK,CAAC,EAAG,KAAK,KAAKA,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,CAAC,EAAI,UAChFE,EAAM,CAAC,KAAK,MAAMF,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAI,UAC1C,MAAO,CAACE,EAAKD,EAAO,CAAC,CACvB,CAEA,SAAS,QAAQ,EAAGvB,EAAMC,EAAMwB,EAAMC,EAAM,CAC1C,OAAO,UAAU,WAAY,EAAG1B,EAAMC,EAAMwB,EAAMC,CAAI,CACxD,CAEA,SAAS,OAAO,EAAG1B,EAAMC,EAAMwB,EAAMC,EAAM,CACzC,OAAO,UAAU,UAAW,EAAG1B,EAAMC,EAAMwB,EAAMC,CAAI,CACvD,CAEA,SAAS,KAAK,EAAG1B,EAAMC,EAAMwB,EAAMC,EAAM,CACvC,OAAO,UAAU,aAAc,EAAG1B,EAAMC,EAAMwB,EAAMC,CAAI,CAC1D,CAEA,SAAS,UAAUC,EAAI9mC,EAAGmlC,EAAMC,EAAMwB,EAAMC,EAAM,CAC5CD,IAAS,QACXA,EAAOzB,EACP0B,EAAOzB,GAEPplC,GAAKA,EAAImlC,IAASC,EAAOD,GAGvBnlC,EAAI,EACNA,EAAI,EACKA,EAAI,IACbA,EAAI,GAGN,IAAIic,EAAO6qB,EAAG9mC,CAAC,EAEf,GAAI,sBAAsB4mC,CAAI,EAAG,CAC/B,IAAIG,EACAC,EAASJ,EAAK,OACd/lC,EAAM,iBAAiB,UAAWmmC,CAAM,EAE5C,IAAKD,EAAO,EAAGA,EAAOC,EAAQD,GAAQ,EACpClmC,EAAIkmC,CAAI,GAAKF,EAAKE,CAAI,EAAIH,EAAKG,CAAI,GAAK9qB,EAAO2qB,EAAKG,CAAI,EAG1D,OAAOlmC,CACT,CAEA,OAAQgmC,EAAOD,GAAQ3qB,EAAO2qB,CAChC,CAEA,SAAS,WAAWltB,EAAM,CACxB,IAAIqtB,EACAC,EAAS,KAAK,EAAE,OAChBxvB,EACAqB,EAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,CAAC,GAAM,SACzCrB,EAAQ,EACRqB,EAAU,UAEVrB,EAAQ,GACRkC,GAAQ,KAAK,KAAK,WAAW,UAEzBA,EAAO,KAAK,EAAE,CAAC,EAAE,EACnBlC,EAAQ,EACRqB,EAAU,KAAK,EAAE,CAAC,EAAE,MACf,CACL,IAAKkuB,EAAO,EAAGA,EAAOC,EAAS,EAAGD,GAAQ,EACxC,GAAIrtB,IAAS,KAAK,EAAEqtB,CAAI,EAAE,EAAG,CAC3BvvB,EAAQuvB,EAAO,EACfluB,EAAU,KAAK,EAAEkuB,CAAI,EAAE,EACvB,KACF,SAAWrtB,EAAO,KAAK,EAAEqtB,CAAI,EAAE,GAAKrtB,EAAO,KAAK,EAAEqtB,EAAO,CAAC,EAAE,EAAG,CACzDrtB,EAAO,KAAK,EAAEqtB,CAAI,EAAE,EAAI,KAAK,EAAEA,EAAO,CAAC,EAAE,EAAIrtB,GAC/ClC,EAAQuvB,EAAO,EACfluB,EAAU,KAAK,EAAEkuB,EAAO,CAAC,EAAE,IAE3BvvB,EAAQuvB,EAAO,EACfluB,EAAU,KAAK,EAAEkuB,CAAI,EAAE,GAGzB,KACF,CAGEvvB,IAAU,KACZA,EAAQuvB,EAAO,EACfluB,EAAU,KAAK,EAAEkuB,CAAI,EAAE,EAE3B,CAGF,IAAIE,EAAQ,CAAC,EACb,OAAAA,EAAM,MAAQzvB,EACdyvB,EAAM,KAAOpuB,EAAU,KAAK,KAAK,WAAW,UACrCouB,CACT,CAEA,SAAS,IAAIluB,EAAK,CAChB,IAAIkuB,EACAF,EACAC,EAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,CAAC,GAAM,SACzC,MAAM,IAAI,MAAM,yCAA2CjuB,CAAG,EAGhEA,GAAO,EACPkuB,EAAQ,CACN,KAAM,KAAK,EAAEluB,CAAG,EAAE,EAAI,KAAK,KAAK,WAAW,UAC3C,MAAO,CAAC,CACV,EACA,IAAIlY,EAAM,OAAO,UAAU,eAAe,KAAK,KAAK,EAAEkY,CAAG,EAAG,GAAG,EAAI,KAAK,EAAEA,CAAG,EAAE,EAAI,KAAK,EAAEA,EAAM,CAAC,EAAE,EAGnG,IAFAiuB,EAASnmC,EAAI,OAERkmC,EAAO,EAAGA,EAAOC,EAAQD,GAAQ,EACpCE,EAAMF,CAAI,EAAIlmC,EAAIkmC,CAAI,EACtBE,EAAM,MAAMF,CAAI,EAAIlmC,EAAIkmC,CAAI,EAG9B,OAAOE,CACT,CAEA,SAAS,aAAaC,EAAQC,EAAK,CACjC,OAAKA,IACHA,EAAM,KAAK,KAAK,WAAW,WAGtBD,EAASC,CAClB,CAEA,SAAS,aAAa,EAAGA,EAAK,CAC5B,MAAI,CAAC,GAAK,IAAM,IACd,EAAI,MAGDA,IACHA,EAAM,KAAK,KAAK,WAAW,WAGtB,EAAIA,CACb,CAEA,SAAS,WAAWp+B,EAAM,CACxB,OAAO,WAAW,SAAWA,CAAI,CACnC,CAEA,SAAS,kBAAmB,CAC1B,OAAO,KAAK,iBAAiB,CAC/B,CAEA,SAAS,UAAUsV,EAAMylB,EAAK,CAC5B,OAAI,OAAO,OAAU,SACfA,IAAQ,OACH,MAAM,UAAUzlB,CAAI,EAGtB,MAAM,UAAUA,EAAMylB,CAAG,EAG3B,EACT,CAEA,SAAS,OAAOzlB,EAAMylB,EAAK,CACzB,OAAI,OAAO,OAAU,SACfA,IAAQ,OACH,MAAM,OAAOzlB,CAAI,EAGnB,MAAM,OAAOA,EAAMylB,CAAG,EAGxB,EACT,CAEA,SAAS,cAAcsD,EAAiB,CACtC,KAAOA,IAAoB,EAAI,EAAI,KAAK,MAAM,KAAOA,CAAe,EAAIA,EACxE,MAAQ,YAAY,IAAI,CAC1B,CAEA,IAAI,KACA,SACA,MACA,KACA,UACA,UACA,cACA,MAAQ,KAAK,KAAK,IAClB,UAAY,CAAC,EAAE,KAAK,WAAa,KAAK,UAAU,QAChD,OACA,SAAW,KAAK,MAAM,KAAK,OAAO,EAAI,GAAO,EAC7C,WAAa,KAAK,WAEtB,SAAS,kBAAkBC,EAAQ,CAQjC,OANA,MAAQA,EAEJ,cACF,WAAW,QAAQ,GAGhB,MAAQxpC,GAAS,oBAAsB,KAAK,WAAW,UAAY,MAAQA,GAAS,WAAa,eAC7F,QAGJ,MAAQA,GAAS,WAAa,iBACjC,WAAa,MAAQA,GAAS,UAC9B,WAAa,MAAQA,GAAS,UAC9B,eAAiB,MAAQA,GAAS,eAG/B,YACH,KAAO,KAAK,eAAe,KAC3B,UAAY,KAAK,eACjB,SAAW,KAAK,KAAK,cACrB,QAAU,UAAU,QAAQ,KAAK,SAAS,EAC1C,UAAY,UAAU,UAAU,KAAK,SAAS,EAC9C,SAAW,UAAU,SAAS,KAAK,SAAS,EAC5C,OAAS,UAAU,OAAO,KAAK,SAAS,EACxC,KAAO,UAAU,KAAO,UAAU,KAAK,KAAK,SAAS,EAAI,KACzD,kBAAoB,UAGjB,YACH,UAAY,KAAK,eAAe,sBAAsB,EACtD,cAAgB,UAEZ,YACF,YAAc,UAAU,cAOxB,WAAa,GAAK,CAAC,UACrB,QAAU,UAAU,yBAAyB,GAG1C,SACH,OAAS,UAAU,CAAC,GAGtB,UAAY,CAAC,EAAE,KAAK,WAAa,KAAK,UAAU,QAE5C,WAAa,CAAC,SAChB,OAAS,KAAK,UAAU,CAAC,EAAE,gBAG7B,MAAQ,MAAQA,GAAS,KAAK,eAAiB,MAAQA,GAAS,KAAK,WAAW,UAE5E,gBACF,SAAW,eAAe,IAAI,GAGhC,oBAAoB,GACnB,MAAQA,GAAS,kBAAoB,KAAK,WAAW,QAElD,aAAa,WAAa,UAC5B,aAAe,aAAa,GAIvB,aACT,CAEA,OAAO,iBACT,CAEA,UAAG,mBAAqB,mBACjB,EACT,EAAE,EAME,kBAAoB,UAAY,CAClC,SAASypC,EAAkBtrB,EAAMlH,EAAM9T,EAAM,CACvC8T,EAAK,IACP9T,EAAK,EAAI,GACTA,EAAK,EAAI,GACTA,EAAK,mBAAqB,kBAAkB,mBAC5CA,EAAK,gBAAgB,KAAKA,EAAK,mBAAmBgb,EAAMlH,EAAM9T,CAAI,EAAE,KAAKA,CAAI,CAAC,EAElF,CAEA,SAASumC,EAAenvB,EAAU,CAChC,OAAAA,IAAa,MAAQva,GAAS,KAAK,WAAW,UAC9Cua,IAAa,MAAQva,GAAS,WAE1Bua,KAAc,MAAQva,GAAS,eAAe,aAC/C,MAAQA,GAAS,eAAe,WAAa,MAAQA,GAAS,eAAe,UAAYua,GAAY,MAAQva,GAAS,eAAe,UAAY,GACjJ,MAAQA,GAAS,eAAe,MAAQ,KAAK,iBAAiBua,GAAW,MAAQva,GAAS,cAAc,GACxG,MAAQA,GAAS,eAAe,UAAYua,IAGvC,MAAQva,GAAS,eAAe,KAC1C,CAEA,SAAS2pC,EAAepvB,EAAU,CAChC,IAAIqvB,EAAQ,KACRzqB,EAAK,KAAK,eAAe5E,CAAQ,EACjC6E,EAAK,KAAK,eAAe7E,EAAWqvB,CAAK,EACzCC,EAAQ,EAEZ,GAAI1qB,EAAG,OAAQ,CACb,IAAI3e,EAEJ,IAAKA,EAAI,EAAGA,EAAI2e,EAAG,OAAQ3e,GAAK,EAC9BqpC,GAAS,KAAK,IAAIzqB,EAAG5e,CAAC,EAAI2e,EAAG3e,CAAC,EAAG,CAAC,EAGpCqpC,EAAQ,KAAK,KAAKA,CAAK,EAAI,GAC7B,MACEA,EAAQ,EAGV,OAAOA,CACT,CAEA,SAASC,EAAkBvvB,EAAU,CACnC,IAAK,MAAQva,GAAS,MAAQ,OAC5B,OAAQ,MAAQA,GAAS,IAG3B,IAAI4pC,EAAQ,MAERzqB,EAAK,KAAK,eAAe5E,CAAQ,EACjC6E,EAAK,KAAK,eAAe7E,EAAWqvB,CAAK,EACzCG,EAEJ,GAAI5qB,EAAG,OAAQ,CACb4qB,EAAW,iBAAiB,UAAW5qB,EAAG,MAAM,EAChD,IAAI3e,EAEJ,IAAKA,EAAI,EAAGA,EAAI2e,EAAG,OAAQ3e,GAAK,EAI9BupC,EAASvpC,CAAC,GAAK4e,EAAG5e,CAAC,EAAI2e,EAAG3e,CAAC,GAAKopC,CAEpC,MACEG,GAAY3qB,EAAKD,GAAMyqB,EAGzB,OAAOG,CACT,CAEA,SAASC,GAAuB,CAC9B,OAAQ,MAAQhqC,GAAS,EAC3B,CAEA,SAASiqC,EAAiBC,EAAe,EACtC,MAAQlqC,GAAS,cAAgBkqC,CACpC,CAEA,MAAO,CACL,kBAAmBT,EACnB,eAAgBE,EAChB,kBAAmBG,EACnB,eAAgBJ,EAChB,qBAAsBM,EACtB,iBAAkBC,CACpB,CACF,EAAE,GAKD,SAASE,GAAuB,CAC/B,SAASC,EAAQrpC,EAAM0nC,EAAU4B,EAAc,CAC7C,GAAI,EAAE,MAAQrqC,GAAS,GAAK,EAAE,MAAQA,GAAS,UAC7C,OAAQ,MAAQA,GAAS,GAG3Be,EAAOA,EAAOA,EAAK,YAAY,EAAI,GACnC,IAAIupC,GAAgB,MAAQtqC,GAAS,KAAK,cACtCuqC,GAAa,MAAQvqC,GAAS,UAC9BwqC,EAAeD,EAAUA,EAAU,OAAS,CAAC,EAAE,EAEnD,GAAID,GAAgBE,EAClB,OAAQ,MAAQxqC,GAAS,GAG3B,IAAIyqC,EACAC,EAECL,GAQE5B,EAGHgC,EAAgB,KAAK,IAAID,GAAgB,MAAQxqC,GAAS,KAAK,KAAK,WAAW,UAAYyoC,CAAQ,EAFnGgC,EAAgB,KAAK,IAAI,EAAGD,GAAgB,MAAQxqC,GAAS,KAAK,KAAK,EAAE,EAK3E0qC,EAAgBF,EAAeC,KAb3B,CAAChC,GAAYA,EAAW8B,EAAU,OAAS,KAC7C9B,EAAW8B,EAAU,OAAS,GAGhCG,EAAgBH,EAAUA,EAAU,OAAS,EAAI9B,CAAQ,EAAE,EAC3DgC,EAAgBD,EAAeE,GAWjC,IAAIlqC,EACAC,EACAkqC,EAEJ,GAAI5pC,IAAS,WAAY,CACvB,IAAI42B,EAAa,KAAK,OAAO2S,EAAeI,GAAiBD,CAAa,EAE1E,GAAI9S,EAAa,IAAM,EACrB,OAAO,KAAK,gBAAgB8S,GAAiBH,EAAeI,GAAiBD,EAAgBC,IAAkB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,CAEhK,SAAWe,IAAS,SAAU,CAC5B,IAAI6pC,EAAQ,KAAK,eAAeF,GAAiB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAC1F6qC,EAAO,KAAK,eAAeL,GAAgB,MAAQxqC,GAAS,KAAK,WAAW,UAAW,CAAC,EACxF8qC,EAAU,KAAK,iBAAiBR,EAAeI,GAAiBD,EAAgBC,IAAkB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAE/I+qC,EAAU,KAAK,OAAOT,EAAeI,GAAiBD,CAAa,EAEvE,IAAK,MAAQzqC,GAAS,GAAG,OAAQ,CAI/B,IAHA2qC,EAAM,IAAI,MAAMC,EAAM,MAAM,EAC5BnqC,EAAMkqC,EAAI,OAELnqC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmqC,EAAInqC,CAAC,GAAKqqC,EAAKrqC,CAAC,EAAIoqC,EAAMpqC,CAAC,GAAKuqC,EAAUD,EAAQtqC,CAAC,EAGrD,OAAOmqC,CACT,CAEA,OAAQE,EAAOD,GAASG,EAAUD,CACpC,SAAW/pC,IAAS,WAAY,CAC9B,IAAIiqC,EAAY,KAAK,eAAeR,GAAgB,MAAQxqC,GAAS,KAAK,WAAW,UAAW,CAAC,EAC7FirC,EAAgB,KAAK,gBAAgBT,EAAe,OAAU,MAAQxqC,GAAS,KAAK,WAAW,UAAW,CAAC,EAE/G,IAAK,MAAQA,GAAS,GAAG,OAAQ,CAI/B,IAHA2qC,EAAM,IAAI,MAAMK,EAAU,MAAM,EAChCvqC,EAAMkqC,EAAI,OAELnqC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmqC,EAAInqC,CAAC,EAAIwqC,EAAUxqC,CAAC,GAAKwqC,EAAUxqC,CAAC,EAAIyqC,EAAczqC,CAAC,KAAO8pC,EAAeE,IAAiB,MAAQxqC,GAAS,KAAK,WAAW,WAAa,KAG9I,OAAO2qC,CACT,CAEA,OAAOK,GAAaA,EAAYC,KAAmBX,EAAeE,GAAgB,KACpF,CAEA,OAAO,KAAK,iBAAiBF,EAAeI,GAAiBD,EAAgBC,IAAkB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,CAC9I,CAEA,SAASkrC,EAAOnqC,EAAM0nC,EAAU4B,EAAc,CAC5C,GAAI,EAAE,MAAQrqC,GAAS,EACrB,OAAQ,MAAQA,GAAS,GAG3Be,EAAOA,EAAOA,EAAK,YAAY,EAAI,GACnC,IAAIupC,GAAgB,MAAQtqC,GAAS,KAAK,cACtCuqC,GAAa,MAAQvqC,GAAS,UAC9B0qC,EAAgBH,EAAU,CAAC,EAAE,EAEjC,GAAID,GAAgBI,EAClB,OAAQ,MAAQ1qC,GAAS,GAG3B,IAAIyqC,EACAD,EAECH,GAQE5B,EAGHgC,EAAgB,KAAK,KAAK,MAAQzqC,GAAS,KAAK,KAAK,WAAW,UAAYyoC,CAAQ,EAFpFgC,EAAgB,KAAK,IAAI,GAAI,MAAQzqC,GAAS,KAAK,KAAK,GAAK0qC,CAAa,EAK5EF,EAAeE,EAAgBD,KAb3B,CAAChC,GAAYA,EAAW8B,EAAU,OAAS,KAC7C9B,EAAW8B,EAAU,OAAS,GAGhCC,EAAeD,EAAU9B,CAAQ,EAAE,EACnCgC,EAAgBD,EAAeE,GAWjC,IAAIlqC,EACAC,EACAkqC,EAEJ,GAAI5pC,IAAS,WAAY,CACvB,IAAI42B,EAAa,KAAK,OAAO+S,EAAgBJ,GAAgBG,CAAa,EAE1E,GAAI9S,EAAa,IAAM,EACrB,OAAO,KAAK,iBAAiB+S,EAAgBJ,GAAgBG,EAAgBC,IAAkB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,CAEhJ,SAAWe,IAAS,SAAU,CAC5B,IAAI6pC,EAAQ,KAAK,eAAeF,GAAiB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAC1F6qC,EAAO,KAAK,eAAeL,GAAgB,MAAQxqC,GAAS,KAAK,WAAW,UAAW,CAAC,EACxF8qC,EAAU,KAAK,gBAAgBL,GAAiBC,EAAgBJ,GAAgBG,EAAgBC,IAAkB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAC/J+qC,EAAU,KAAK,OAAOL,EAAgBJ,GAAgBG,CAAa,EAAI,EAE3E,IAAK,MAAQzqC,GAAS,GAAG,OAAQ,CAI/B,IAHA2qC,EAAM,IAAI,MAAMC,EAAM,MAAM,EAC5BnqC,EAAMkqC,EAAI,OAELnqC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmqC,EAAInqC,CAAC,EAAIsqC,EAAQtqC,CAAC,GAAKqqC,EAAKrqC,CAAC,EAAIoqC,EAAMpqC,CAAC,GAAKuqC,EAG/C,OAAOJ,CACT,CAEA,OAAOG,GAAWD,EAAOD,GAASG,CACpC,SAAWhqC,IAAS,WAAY,CAC9B,IAAIoqC,EAAa,KAAK,eAAeT,GAAiB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAC/ForC,EAAiB,KAAK,gBAAgBV,EAAgB,OAAU,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,EAEjH,IAAK,MAAQA,GAAS,GAAG,OAAQ,CAI/B,IAHA2qC,EAAM,IAAI,MAAMQ,EAAW,MAAM,EACjC1qC,EAAMkqC,EAAI,OAELnqC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmqC,EAAInqC,CAAC,EAAI2qC,EAAW3qC,CAAC,GAAK2qC,EAAW3qC,CAAC,EAAI4qC,EAAe5qC,CAAC,IAAMkqC,EAAgBJ,GAAgB,KAGlG,OAAOK,CACT,CAEA,OAAOQ,GAAcA,EAAaC,IAAmBV,EAAgBJ,GAAgB,IACvF,CAEA,OAAO,KAAK,gBAAgBG,IAAkBC,EAAgBJ,GAAgBG,EAAgBC,KAAmB,MAAQ1qC,GAAS,KAAK,WAAW,UAAW,CAAC,CAChK,CAEA,SAASqrC,EAAO7gC,EAAO8gC,EAAS,CAC9B,GAAI,EAAE,MAAQtrC,GAAS,EACrB,OAAQ,MAAQA,GAAS,GAM3B,GAHAwK,GAASA,GAAS,IAAO,GACzB8gC,EAAU,KAAK,MAAMA,GAAW,CAAC,EAE7BA,GAAW,EACb,OAAQ,MAAQtrC,GAAS,GAG3B,IAAIgB,GAAe,MAAQhB,GAAS,KAAK,eAAiB,MAAQA,GAAS,KAAK,WAAW,UACvFoa,EAAYpZ,EAAcwJ,EAC1B+gC,EAAWvqC,EAAcwJ,EACzBghC,EAAkBF,EAAU,GAAKC,EAAWnxB,IAAckxB,EAAU,GAAK,EACzE9qC,EAAI,EACJwE,EAAI,EACJ/B,GAEC,MAAQjD,GAAS,GAAG,OACvBiD,EAAQ,iBAAiB,WAAY,MAAQjD,GAAS,GAAG,MAAM,EAE/DiD,EAAQ,EAKV,QAFIwoC,EAEGjrC,EAAI8qC,GAAS,CAGlB,GAFAG,EAAc,KAAK,eAAerxB,EAAY5Z,EAAIgrC,CAAe,GAE5D,MAAQxrC,GAAS,GAAG,OACvB,IAAKgF,EAAI,EAAGA,GAAK,MAAQhF,GAAS,GAAG,OAAQgF,GAAK,EAChD/B,EAAM+B,CAAC,GAAKymC,EAAYzmC,CAAC,OAG3B/B,GAASwoC,EAGXjrC,GAAK,CACP,CAEA,IAAK,MAAQR,GAAS,GAAG,OACvB,IAAKgF,EAAI,EAAGA,GAAK,MAAQhF,GAAS,GAAG,OAAQgF,GAAK,EAChD/B,EAAM+B,CAAC,GAAKsmC,OAGdroC,GAASqoC,EAGX,OAAOroC,CACT,CAEA,SAASyoC,EAAwB7vB,EAAM,EAC/B,MAAQ7b,GAAS,2BACpB,MAAQA,GAAS,wBAA0B,CAC1C,EAAG,IAAI,MACT,GAIF,IAAIm0B,GAAU,MAAQn0B,GAAS,wBAAwB,EAGvD,GAFAm0B,EAAO,gBAAgB,MAAQn0B,GAAS,IAAI,KAAK,GAE5C,MAAQA,GAAS,uBAAyB,EAAG,CAChD,IAAI2rC,GAAU,MAAQ3rC,GAAS,EAAE,eAAe6b,CAAI,EAEpDsY,EAAO,UAAU,CAACwX,EAAO,CAAC,GAAK,MAAQ3rC,GAAS,EAAE,KAAM,CAAC2rC,EAAO,CAAC,GAAK,MAAQ3rC,GAAS,EAAE,KAAM2rC,EAAO,CAAC,GAAK,MAAQ3rC,GAAS,EAAE,IAAI,CACrI,CAEA,IAAK,MAAQA,GAAS,uBAAyB,EAAG,CAChD,IAAI0E,GAAS,MAAQ1E,GAAS,EAAE,eAAe6b,CAAI,EAEnDsY,EAAO,MAAMzvB,EAAM,CAAC,GAAK,MAAQ1E,GAAS,EAAE,KAAM0E,EAAM,CAAC,GAAK,MAAQ1E,GAAS,EAAE,KAAM0E,EAAM,CAAC,GAAK,MAAQ1E,GAAS,EAAE,IAAI,CAC5H,CAEA,IAAK,MAAQA,GAAS,KAAO,MAAQA,GAAS,uBAAyB,EAAG,CACxE,IAAIsE,GAAQ,MAAQtE,GAAS,GAAG,eAAe6b,CAAI,EAE/C+vB,GAAY,MAAQ5rC,GAAS,GAAG,eAAe6b,CAAI,EAEvDsY,EAAO,aAAa,CAAC7vB,GAAQ,MAAQtE,GAAS,GAAG,KAAM4rC,GAAY,MAAQ5rC,GAAS,GAAG,IAAI,CAC7F,CAEA,IAAK,MAAQA,GAAS,IAAM,MAAQA,GAAS,uBAAyB,EAAG,CACvE,IAAI6rC,GAAY,MAAQ7rC,GAAS,EAAE,eAAe6b,CAAI,EAEtDsY,EAAO,OAAO,CAAC0X,GAAY,MAAQ7rC,GAAS,EAAE,IAAI,CACpD,SAAW,EAAE,MAAQA,GAAS,IAAM,MAAQA,GAAS,uBAAyB,EAAG,CAC/E,IAAI8rC,GAAa,MAAQ9rC,GAAS,GAAG,eAAe6b,CAAI,EAEpDkwB,GAAa,MAAQ/rC,GAAS,GAAG,eAAe6b,CAAI,EAEpDmwB,GAAa,MAAQhsC,GAAS,GAAG,eAAe6b,CAAI,EAEpDowB,GAAe,MAAQjsC,GAAS,GAAG,eAAe6b,CAAI,EAE1DsY,EAAO,QAAQ,CAAC2X,GAAa,MAAQ9rC,GAAS,GAAG,IAAI,EAAE,QAAQ+rC,GAAa,MAAQ/rC,GAAS,GAAG,IAAI,EAAE,QAAQgsC,GAAa,MAAQhsC,GAAS,GAAG,IAAI,EAAE,QAAQ,CAACisC,EAAY,CAAC,GAAK,MAAQjsC,GAAS,GAAG,IAAI,EAAE,QAAQisC,EAAY,CAAC,GAAK,MAAQjsC,GAAS,GAAG,IAAI,EAAE,QAAQisC,EAAY,CAAC,GAAK,MAAQjsC,GAAS,GAAG,IAAI,CAClT,CAEA,IAAK,MAAQA,GAAS,KAAK,IAAM,MAAQA,GAAS,KAAK,EAAE,EAAG,CAC1D,IAAIksC,GAAa,MAAQlsC,GAAS,GAAG,eAAe6b,CAAI,EAEpDswB,GAAa,MAAQnsC,GAAS,GAAG,eAAe6b,CAAI,EAExD,IAAK,MAAQ7b,GAAS,KAAK,EAAE,EAAG,CAC9B,IAAIosC,GAAa,MAAQpsC,GAAS,GAAG,eAAe6b,CAAI,EAExDsY,EAAO,UAAU+X,GAAa,MAAQlsC,GAAS,GAAG,KAAMmsC,GAAa,MAAQnsC,GAAS,GAAG,KAAM,CAACosC,GAAa,MAAQpsC,GAAS,GAAG,IAAI,CACvI,MACEm0B,EAAO,UAAU+X,GAAa,MAAQlsC,GAAS,GAAG,KAAMmsC,GAAa,MAAQnsC,GAAS,GAAG,KAAM,CAAC,CAEpG,KAAO,CACL,IAAIg2B,GAAY,MAAQh2B,GAAS,EAAE,eAAe6b,CAAI,EAEtDsY,EAAO,UAAU6B,EAAS,CAAC,GAAK,MAAQh2B,GAAS,EAAE,KAAMg2B,EAAS,CAAC,GAAK,MAAQh2B,GAAS,EAAE,KAAM,CAACg2B,EAAS,CAAC,GAAK,MAAQh2B,GAAS,EAAE,IAAI,CAC1I,CAEA,OAAOm0B,CACT,CAEA,SAASkY,GAAgC,CACvC,OAAQ,MAAQrsC,GAAS,EAAE,MAAM,IAAI,MAAQ,CAC/C,CAEA,IAAI2f,EAAuB,yBAAyB,qBAEpD,yBAAyB,qBAAuB,SAAUxB,EAAMlH,EAAM7T,EAAW,CAC/E,IAAID,EAAOwc,EAAqBxB,EAAMlH,EAAM7T,CAAS,EAErD,OAAID,EAAK,kBAAkB,OACzBA,EAAK,eAAiBuoC,EAAwB,KAAKvoC,CAAI,EAEvDA,EAAK,eAAiBkpC,EAA8B,KAAKlpC,CAAI,EAG/DA,EAAK,iBAAmB,kBAAkB,iBACnCA,CACT,EAEA,IAAImpC,EAAkB,gBAAgB,QAEtC,gBAAgB,QAAU,SAAUnuB,EAAMlH,EAAMlW,EAAMqd,EAAMhb,EAAW,CACrE,IAAID,EAAOmpC,EAAgBnuB,EAAMlH,EAAMlW,EAAMqd,EAAMhb,CAAS,EAIxDD,EAAK,GACPA,EAAK,eAAiB,kBAAkB,eAAe,KAAKA,CAAI,EAEhEA,EAAK,eAAiB,kBAAkB,qBAAqB,KAAKA,CAAI,EAGxEA,EAAK,iBAAmB,kBAAkB,iBAC1CA,EAAK,QAAUinC,EACfjnC,EAAK,OAAS+nC,EACd/nC,EAAK,OAASkoC,EACdloC,EAAK,kBAAoB,kBAAkB,kBAAkB,KAAKA,CAAI,EACtEA,EAAK,eAAiB,kBAAkB,eAAe,KAAKA,CAAI,EAChEA,EAAK,QAAU8T,EAAK,IAAM,EAAIA,EAAK,EAAE,OAAS,EAC9C9T,EAAK,cAAgB8T,EAAK,GAC1B,IAAIhU,EAAQ,EAEZ,OAAIlC,IAAS,IACXkC,EAAQ,iBAAiB,UAAWgU,EAAK,IAAM,EAAIA,EAAK,EAAE,CAAC,EAAE,EAAE,OAASA,EAAK,EAAE,MAAM,GAGvF9T,EAAK,eAAiB,CACpB,UAAW,oBACX,UAAW,EACX,MAAOF,CACT,EACA,kBAAkB,kBAAkBkb,EAAMlH,EAAM9T,CAAI,EAEhDA,EAAK,GACPC,EAAU,mBAAmBD,CAAI,EAG5BA,CACT,EAEA,SAASopC,EAAoBhyB,EAAU,CAErC,OAAM,MAAQva,GAAS,kBACpB,MAAQA,GAAS,eAAiB,CACjC,WAAY,UAAU,OAAO,MAAQA,GAAS,EAAE,EAChD,UAAW,EACX,SAAU,mBACZ,GAGFua,IAAa,MAAQva,GAAS,KAAK,WAAW,UAC9Cua,IAAa,MAAQva,GAAS,WAE1Bua,KAAc,MAAQva,GAAS,eAAe,YAC/C,MAAQA,GAAS,eAAe,WAAa,MAAQA,GAAS,eAAe,SAAWua,GAAY,MAAQva,GAAS,SAAS,UAAY,GAC1I,MAAQA,GAAS,eAAe,SAAWua,EAC5C,KAAK,iBAAiBA,GAAW,MAAQva,GAAS,eAAe,YAAa,MAAQA,GAAS,cAAc,IAGvG,MAAQA,GAAS,eAAe,UAC1C,CAEA,IAAIwsC,EAAmC,qBAAqB,uBAAuB,EAC/EC,EAA4C,qBAAqB,gCAAgC,EAErG,SAASC,GAAmB,CAAC,CAE7BA,EAAiB,UAAY,CAC3B,SAAU,SAAUvpC,EAAM0Y,EAAM,EACzB,MAAQ7b,GAAS,GACpB,KAAK,SAAS,EAGhB,IAAI6kB,GAAa,MAAQ7kB,GAAS,EAE9B6b,IAAS,SACXgJ,EAAY,KAAK,eAAehJ,EAAM,CAAC,GAGzC,IAAIrb,EACAC,EAAMokB,EAAU,QAChBxE,EAAWwE,EAAU1hB,CAAI,EACzB0L,EAASgW,EAAU,EACnB7hB,EAAM,iBAAiBvC,CAAG,EAE9B,IAAKD,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpB2C,IAAS,KAAOA,IAAS,IAC3BH,EAAIxC,CAAC,EAAI,CAAC6f,EAAS7f,CAAC,EAAE,CAAC,EAAIqO,EAAOrO,CAAC,EAAE,CAAC,EAAG6f,EAAS7f,CAAC,EAAE,CAAC,EAAIqO,EAAOrO,CAAC,EAAE,CAAC,CAAC,EAEtEwC,EAAIxC,CAAC,EAAI,CAAC6f,EAAS7f,CAAC,EAAE,CAAC,EAAG6f,EAAS7f,CAAC,EAAE,CAAC,CAAC,EAI5C,OAAOwC,CACT,EACA,OAAQ,SAAU6Y,EAAM,CACtB,OAAO,KAAK,SAAS,IAAKA,CAAI,CAChC,EACA,WAAY,SAAUA,EAAM,CAC1B,OAAO,KAAK,SAAS,IAAKA,CAAI,CAChC,EACA,YAAa,SAAUA,EAAM,CAC3B,OAAO,KAAK,SAAS,IAAKA,CAAI,CAChC,EACA,SAAU,UAAY,CACpB,OAAQ,MAAQ7b,GAAS,EAAE,CAC7B,EACA,YAAa,SAAUuR,EAAMsK,EAAM,CACjC,IAAIgJ,GAAa,MAAQ7kB,GAAS,EAE9B6b,IAAS,SACXgJ,EAAY,KAAK,eAAehJ,EAAM,CAAC,IAGnC,MAAQ7b,GAAS,mBACpB,MAAQA,GAAS,gBAAkB,IAAI,kBAAkB6kB,CAAS,GAWrE,QARI9S,GAAkB,MAAQ/R,GAAS,gBACnCoS,EAAUL,EAAe,QACzBkB,EAAYlB,EAAe,YAAcR,EACzC/Q,EAAI,EACJC,EAAM2R,EAAQ,OACdu6B,EAAoB,EACpB9jC,EAEGrI,EAAIC,GAAK,CACd,GAAIksC,EAAoBv6B,EAAQ5R,CAAC,EAAE,YAAcyS,EAAW,CAC1D,IAAI25B,EAAYpsC,EACZqsC,EAAWhoB,EAAU,GAAKrkB,IAAMC,EAAM,EAAI,EAAID,EAAI,EAClD4a,GAAenI,EAAY05B,GAAqBv6B,EAAQ5R,CAAC,EAAE,YAC/DqI,EAAK,IAAI,kBAAkBgc,EAAU,EAAE+nB,CAAS,EAAG/nB,EAAU,EAAEgoB,CAAQ,EAAGhoB,EAAU,EAAE+nB,CAAS,EAAG/nB,EAAU,EAAEgoB,CAAQ,EAAGzxB,EAAahJ,EAAQ5R,CAAC,CAAC,EAChJ,KACF,MACEmsC,GAAqBv6B,EAAQ5R,CAAC,EAAE,YAGlCA,GAAK,CACP,CAEA,OAAKqI,IACHA,EAAKgc,EAAU,EAAI,CAACA,EAAU,EAAE,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAE,CAAC,EAAE,CAAC,CAAC,EAAI,CAACA,EAAU,EAAEA,EAAU,QAAU,CAAC,EAAE,CAAC,EAAGA,EAAU,EAAEA,EAAU,QAAU,CAAC,EAAE,CAAC,CAAC,GAGpIhc,CACT,EACA,aAAc,SAAU0I,EAAMsK,EAAMixB,EAAY,CAE1Cv7B,GAAQ,EAEVA,GAAQ,MAAQvR,GAAS,EAAE,EAClBuR,GAAQ,IAEjBA,EAAO,MAGT,IAAIrI,EAAM,KAAK,YAAYqI,EAAMsK,CAAI,EACjC1S,EAAM,KAAK,YAAYoI,EAAO,KAAOsK,CAAI,EACzCkxB,EAAU5jC,EAAI,CAAC,EAAID,EAAI,CAAC,EACxB8jC,EAAU7jC,EAAI,CAAC,EAAID,EAAI,CAAC,EACxB+jC,EAAY,KAAK,KAAK,KAAK,IAAIF,EAAS,CAAC,EAAI,KAAK,IAAIC,EAAS,CAAC,CAAC,EAErE,GAAIC,IAAc,EAChB,MAAO,CAAC,EAAG,CAAC,EAGd,IAAIC,EAAaJ,IAAe,UAAY,CAACC,EAAUE,EAAWD,EAAUC,CAAS,EAAI,CAAC,CAACD,EAAUC,EAAWF,EAAUE,CAAS,EACnI,OAAOC,CACT,EACA,cAAe,SAAU37B,EAAMsK,EAAM,CACnC,OAAO,KAAK,aAAatK,EAAMsK,EAAM,SAAS,CAChD,EACA,aAAc,SAAUtK,EAAMsK,EAAM,CAClC,OAAO,KAAK,aAAatK,EAAMsK,EAAM,QAAQ,CAC/C,EACA,iBAAkB,kBAAkB,iBACpC,eAAgB,kBAAkB,oBACpC,EACA,gBAAgB,CAAC6wB,CAAgB,EAAGF,CAAgC,EACpE,gBAAgB,CAACE,CAAgB,EAAGD,CAAyC,EAC7EA,EAA0C,UAAU,eAAiBF,EACrEE,EAA0C,UAAU,mBAAqB,kBAAkB,mBAC3F,IAAIU,EAAuB,qBAAqB,aAEhD,qBAAqB,aAAe,SAAUhvB,EAAMlH,EAAMlW,EAAMiC,EAAKoqC,EAAO,CAC1E,IAAIjqC,EAAOgqC,EAAqBhvB,EAAMlH,EAAMlW,EAAMiC,EAAKoqC,CAAK,EAC5D,OAAAjqC,EAAK,cAAgB8T,EAAK,GAC1B9T,EAAK,KAAO,GAERpC,IAAS,EACX,kBAAkB,kBAAkBod,EAAMlH,EAAK,GAAI9T,CAAI,EAC9CpC,IAAS,GAClB,kBAAkB,kBAAkBod,EAAMlH,EAAK,GAAI9T,CAAI,EAGrDA,EAAK,GACPgb,EAAK,mBAAmBhb,CAAI,EAGvBA,CACT,CACF,GAAG,EAIF,SAASkqC,GAAe,CACvB,SAAS5D,GAAoB,CAC3B,OAAK,MAAQzpC,GAAS,KAAK,EAAE,IAC1B,MAAQA,GAAS,oBAAsB,kBAAkB,mBAAmB,KAAK,MAAQA,CAAO,GAAG,MAAQA,GAAS,MAAO,MAAQA,GAAS,KAAK,EAAG,MAAQA,CAAO,EACpK,KAAK,WAAW,MAAQA,GAAS,mBAAmB,KAAK,MAAQA,CAAO,CAAC,EAClE,IAGF,IACT,CAEA,aAAa,UAAU,mBAAqB,SAAU+tB,EAAcG,EAAM,CACxE,IAAIxT,EAAW,KAAK,oBAAoBwT,CAAI,EAE5C,GAAIH,EAAa,IAAMrT,EAAU,CAC/B,IAAIiV,EAAU,CAAC,EACf,YAAK,SAASA,EAAS5B,CAAY,EACnC4B,EAAQ,EAAIjV,EAAS,SAAS,EAC9BiV,EAAQ,WAAa,GACdA,CACT,CAEA,OAAO5B,CACT,EAEA,aAAa,UAAU,eAAiB,UAAY,CAClD,IAAIuf,EAAc,KAAK,gBAAgB,EACnCC,EAAiB,KAAK,kBAAkB,EAC5C,OAAC,MAAQvtC,GAAS,GAAKstC,GAAeC,GAC9B,MAAQvtC,GAAS,EAC3B,EAEA,aAAa,UAAU,kBAAoBypC,CAC7C,EAAG,EAMH,IAAI,mBAAqB,UAAY,CACnC,OAAO,SAA8B1Y,EAAOyc,EAAMtD,EAAe,CAC/D,IAAI/mC,EAAOqqC,EAAK,GAEhB,SAASC,EAAkB/sC,EAAK,CAC9B,OAAIA,IAAQ,SAAWA,IAAQ,SAAWA,IAAQ,QAAUA,IAAQ,QAAUA,IAAQ,qBAAuBA,IAAQ,EAC5G+sC,EAAkB,KAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAE1E,OAAA/mC,EAAK,iBAAiB,kBAAkB,OAAQuqC,CAAc,CAAC,EAC/D,OAAO,iBAAiBD,EAAmB,CACzC,KAAM,CACJ,IAAK,UAAY,CACf,OAAItqC,EAAK,GACPA,EAAK,SAAS,EAGTA,CACT,CACF,EACA,MAAO,CACL,IAAK,UAAY,CACf,OAAIA,EAAK,GACPA,EAAK,SAAS,EAGTA,CACT,CACF,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,EACA,GAAI,CACF,MAAOA,EAAM,EACf,EACA,cAAe,CACb,MAAOA,EAAM,EACf,EACA,GAAI,CACF,MAAOA,EAAM,EACf,EACA,cAAe,CACb,MAAOmZ,CACT,CACF,CAAC,EACMuD,CACT,CACF,EAAE,EAIE,qBAAuB,UAAY,CACrC,OAAO,SAAUA,EAAmBE,EAAqB,CACvD,OAAO,SAAUjtC,EAAK,CAGpB,OAFAA,EAAMA,IAAQ,OAAY,EAAIA,EAE1BA,GAAO,EACF+sC,EAGFE,EAAoBjtC,EAAM,CAAC,CACpC,CACF,CACF,EAAE,EAIE,kBAAoB,UAAY,CAClC,OAAO,SAAUktC,EAAc1D,EAAe,CAC5C,IAAIuD,EAAoB,CACtB,MAAOG,CACT,EAEA,SAASF,EAAehtC,EAAK,CAG3B,OAFAA,EAAMA,IAAQ,OAAY,EAAIA,EAE1BA,GAAO,EACF+sC,EAGFvD,EAAcxpC,EAAM,CAAC,CAC9B,CAEA,OAAOgtC,CACT,CACF,EAAE,EAME,yBAA2B,UAAY,CACzC,SAASG,EAAgBh3B,EAAQ22B,EAAMtD,EAAe,CACpD,IAAIlnC,EAAM,CAAC,EACPxC,EACAC,EAAMoW,EAASA,EAAO,OAAS,EAEnC,IAAKrW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpBqW,EAAOrW,CAAC,EAAE,KAAO,KACnBwC,EAAI,KAAK8qC,EAAsBj3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACxDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAK+qC,EAAqBl3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACvDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKgrC,EAAuBn3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACzDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKirC,EAAqBp3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACvDrzB,EAAOrW,CAAC,EAAE,KAAO,OACjBqW,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKkrC,EAAwBr3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EAC1DrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKmrC,EAAqBt3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACvDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAK,mBAAmB6T,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACrDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKorC,EAAqBv3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EACvDrzB,EAAOrW,CAAC,EAAE,KAAO,KAC1BwC,EAAI,KAAKqrC,EAAwBx3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,EAC1DrzB,EAAOrW,CAAC,EAAE,KAAO,MAC1BwC,EAAI,KAAKsrC,EAAyBz3B,EAAOrW,CAAC,EAAGgtC,EAAKhtC,CAAC,EAAG0pC,CAAa,CAAC,GAIxE,OAAOlnC,CACT,CAEA,SAASurC,EAAyBxd,EAAOyc,EAAMtD,EAAe,CAC5D,IAAIsE,EAEAf,EAAoB,SAA4BxqC,EAAO,CAIzD,QAHIzC,EAAI,EACJC,EAAM+tC,EAAW,OAEdhuC,EAAIC,GAAK,CACd,GAAI+tC,EAAWhuC,CAAC,EAAE,QAAUyC,GAASurC,EAAWhuC,CAAC,EAAE,KAAOyC,GAASurC,EAAWhuC,CAAC,EAAE,gBAAkByC,GAASurC,EAAWhuC,CAAC,EAAE,KAAOyC,GAASurC,EAAWhuC,CAAC,EAAE,MAAQyC,EAC9J,OAAOurC,EAAWhuC,CAAC,EAGrBA,GAAK,CACP,CAEA,OAAI,OAAOyC,GAAU,SACZurC,EAAWvrC,EAAQ,CAAC,EAGtB,IACT,EAEAwqC,EAAkB,cAAgB,qBAAqBA,EAAmBvD,CAAa,EACvFsE,EAAaX,EAAgB9c,EAAM,GAAIyc,EAAK,GAAIC,EAAkB,aAAa,EAC/EA,EAAkB,cAAgBe,EAAW,OAC7C,IAAIC,EAAqBC,EAA0B3d,EAAM,GAAGA,EAAM,GAAG,OAAS,CAAC,EAAGyc,EAAK,GAAGA,EAAK,GAAG,OAAS,CAAC,EAAGC,EAAkB,aAAa,EAC9I,OAAAA,EAAkB,UAAYgB,EAC9BhB,EAAkB,cAAgB1c,EAAM,IACxC0c,EAAkB,MAAQ1c,EAAM,GACzB0c,CACT,CAEA,SAASK,EAAsB/c,EAAOyc,EAAMtD,EAAe,CACzD,IAAIuD,EAAoB,SAA4BxqC,EAAO,CACzD,OAAQA,EAAO,CACb,IAAK,qBACL,IAAK,WACL,IAAK,GACH,OAAOwqC,EAAkB,QAK3B,QACE,OAAOA,EAAkB,SAC7B,CACF,EAEAA,EAAkB,cAAgB,qBAAqBA,EAAmBvD,CAAa,EACvF,IAAIyE,EAAUJ,EAAyBxd,EAAOyc,EAAMC,EAAkB,aAAa,EAC/EgB,EAAqBC,EAA0B3d,EAAM,GAAGA,EAAM,GAAG,OAAS,CAAC,EAAGyc,EAAK,GAAGA,EAAK,GAAG,OAAS,CAAC,EAAGC,EAAkB,aAAa,EAC9I,OAAAA,EAAkB,QAAUkB,EAC5BlB,EAAkB,UAAYgB,EAC9B,OAAO,eAAehB,EAAmB,QAAS,CAChD,IAAK,UAAY,CACf,OAAO1c,EAAM,EACf,CACF,CAAC,EAED0c,EAAkB,cAAgB1c,EAAM,GACxC0c,EAAkB,cAAgB1c,EAAM,GACxC0c,EAAkB,GAAK1c,EAAM,GAC7B0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASM,EAAqBhd,EAAOyc,EAAMtD,EAAe,CACxD,SAASuD,EAAkB/sC,EAAK,CAC9B,OAAIA,IAAQ,SAAWA,IAAQ,QACtB+sC,EAAkB,MAGvB/sC,IAAQ,WAAaA,IAAQ,UACxB+sC,EAAkB,QAGpB,IACT,CAEA,cAAO,iBAAiBA,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4BD,EAAK,CAAC,CACzC,EACA,QAAS,CACP,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAOzc,EAAM,EACf,EACA,GAAI,CACF,MAAOA,EAAM,EACf,CACF,CAAC,EACDyc,EAAK,EAAE,iBAAiB,kBAAkB,QAAStD,CAAa,CAAC,EACjEsD,EAAK,EAAE,iBAAiB,kBAAkB,UAAWtD,CAAa,CAAC,EAC5DuD,CACT,CAEA,SAASO,EAAuBjd,EAAOyc,EAAMtD,EAAe,CAC1D,IAAIwD,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAEtE0E,EAAqB,qBAAqBC,EAAQnB,CAAc,EAEpE,SAASoB,EAAoBtuC,EAAG,CAC9B,OAAO,eAAequC,EAAQ9d,EAAM,EAAEvwB,CAAC,EAAE,GAAI,CAC3C,IAAK,4BAA4BgtC,EAAK,EAAE,UAAUhtC,CAAC,EAAE,CAAC,CACxD,CAAC,CACH,CAEA,IAAIA,EACAC,EAAMswB,EAAM,EAAIA,EAAM,EAAE,OAAS,EACjC8d,EAAS,CAAC,EAEd,IAAKruC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBsuC,EAAoBtuC,CAAC,EACrBgtC,EAAK,EAAE,UAAUhtC,CAAC,EAAE,EAAE,iBAAiBouC,CAAkB,EAG3D,SAASnB,EAAkB/sC,EAAK,CAC9B,OAAIA,IAAQ,SAAWA,IAAQ,QACtB+sC,EAAkB,MAGvB/sC,IAAQ,WAAaA,IAAQ,UACxB+sC,EAAkB,QAGvB/sC,IAAQ,gBAAkBA,IAAQ,eAC7B+sC,EAAkB,YAGpB,IACT,CAEA,cAAO,iBAAiBA,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4BD,EAAK,CAAC,CACzC,EACA,QAAS,CACP,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,YAAa,CACX,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,KAAM,CACJ,IAAK,UAAY,CACf,OAAOqB,CACT,CACF,EACA,MAAO,CACL,MAAO9d,EAAM,EACf,EACA,GAAI,CACF,MAAOA,EAAM,EACf,CACF,CAAC,EACDyc,EAAK,EAAE,iBAAiB,kBAAkB,QAASE,CAAc,CAAC,EAClEF,EAAK,EAAE,iBAAiB,kBAAkB,UAAWE,CAAc,CAAC,EACpEF,EAAK,EAAE,iBAAiB,kBAAkB,eAAgBE,CAAc,CAAC,EAClED,CACT,CAEA,SAASQ,EAAqBld,EAAOyc,EAAMtD,EAAe,CACxD,SAASuD,EAAkB/sC,EAAK,CAC9B,OAAIA,IAAQqwB,EAAM,EAAE,IAAMrwB,IAAQ,OAASA,IAAQ,MAC1C+sC,EAAkB,IAGvB/sC,IAAQqwB,EAAM,EAAE,GACX0c,EAAkB,MAGvB/sC,IAAQqwB,EAAM,EAAE,GACX0c,EAAkB,OAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAE1E,OAAAuD,EAAkB,cAAgB1c,EAAM,GACxCyc,EAAK,EAAE,iBAAiB,kBAAkB,QAASE,CAAc,CAAC,EAClEF,EAAK,EAAE,iBAAiB,kBAAkB,MAAOE,CAAc,CAAC,EAChEF,EAAK,EAAE,iBAAiB,kBAAkB,SAAUE,CAAc,CAAC,EACnED,EAAkB,cAAgB1c,EAAM,GACxC0c,EAAkB,cAAgBvD,EAClC,OAAO,iBAAiBuD,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4BD,EAAK,CAAC,CACzC,EACA,IAAK,CACH,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAOzc,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASiB,EAA0B3d,EAAOyc,EAAMtD,EAAe,CAC7D,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,GAASA,IAAU,eAC7BwqC,EAAkB,YAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,UAC7BwqC,EAAkB,QAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,WAC7BwqC,EAAkB,SAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,YAAcA,IAAU,uBACrDwqC,EAAkB,SAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,QAC7BwqC,EAAkB,MAGvB1c,EAAM,IAAMA,EAAM,GAAG,KAAO9tB,GAASA,IAAU,OAC1CwqC,EAAkB,KAGvB1c,EAAM,IAAMA,EAAM,GAAG,KAAO9tB,GAASA,IAAU,YAC1CwqC,EAAkB,SAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAE1E,OAAAsD,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,UAAWE,CAAc,CAAC,EACrFF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAYE,CAAc,CAAC,EACtFF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,eAAgBE,CAAc,CAAC,EAC1FF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,QAASE,CAAc,CAAC,EACnFF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAYE,CAAc,CAAC,EAElFF,EAAK,UAAU,OAAO,KACxBA,EAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,OAAQE,CAAc,CAAC,EACnFF,EAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,aAAcE,CAAc,CAAC,GAG3FF,EAAK,UAAU,GAAG,iBAAiB,kBAAkB,UAAWE,CAAc,CAAC,EAC/E,OAAO,iBAAiBD,EAAmB,CACzC,QAAS,CACP,IAAK,4BAA4BD,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,SAAU,CACR,IAAK,4BAA4BA,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,YAAa,CACX,IAAK,4BAA4BA,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,MAAO,CACL,IAAK,4BAA4BA,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,SAAU,CACR,IAAK,4BAA4BA,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,KAAM,CACJ,IAAK,4BAA4BA,EAAK,UAAU,OAAO,EAAE,CAC3D,EACA,SAAU,CACR,IAAK,4BAA4BA,EAAK,UAAU,OAAO,EAAE,CAC3D,EACA,MAAO,CACL,MAAOzc,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK,KACvBA,EAAkB,GAAK1c,EAAM,GAC7B0c,EAAkB,cAAgBvD,EAC3BuD,CACT,CAEA,SAASS,EAAwBnd,EAAOyc,EAAMtD,EAAe,CAC3D,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,SAGvB1c,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,KAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAE1EuD,EAAkB,cAAgB1c,EAAM,GACxC,IAAI5tB,EAAOqqC,EAAK,GAAG,KAAO,KAAOA,EAAK,GAAG,KAAOA,EAAK,GACrD,OAAArqC,EAAK,EAAE,iBAAiB,kBAAkB,OAAQuqC,CAAc,CAAC,EACjEvqC,EAAK,EAAE,iBAAiB,kBAAkB,WAAYuqC,CAAc,CAAC,EACrE,OAAO,iBAAiBD,EAAmB,CACzC,KAAM,CACJ,IAAK,4BAA4BtqC,EAAK,CAAC,CACzC,EACA,SAAU,CACR,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASU,EAAqBpd,EAAOyc,EAAMtD,EAAe,CACxD,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,SAGvB1c,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,SAGvB1c,EAAM,GAAG,KAAO9tB,EACXwqC,EAAkB,OAGvB1c,EAAM,GAAG,KAAO9tB,GAASA,IAAU,gCAC9BwqC,EAAkB,YAGvB1c,EAAM,GAAG,KAAO9tB,EACXwqC,EAAkB,eAGvB1c,EAAM,KAAOA,EAAM,GAAG,KAAO9tB,GAASA,IAAU,iCAC3CwqC,EAAkB,YAGvB1c,EAAM,IAAMA,EAAM,GAAG,KAAO9tB,EACvBwqC,EAAkB,eAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAEtE/mC,EAAOqqC,EAAK,GAAG,KAAO,KAAOA,EAAK,GAAG,KAAOA,EAAK,GACrD,OAAAC,EAAkB,cAAgB1c,EAAM,GACxC5tB,EAAK,GAAG,iBAAiB,kBAAkB,eAAgBuqC,CAAc,CAAC,EAC1EvqC,EAAK,GAAG,iBAAiB,kBAAkB,kBAAmBuqC,CAAc,CAAC,EAC7EvqC,EAAK,GAAG,iBAAiB,kBAAkB,SAAUuqC,CAAc,CAAC,EACpEvqC,EAAK,EAAE,iBAAiB,kBAAkB,WAAYuqC,CAAc,CAAC,EACrEvqC,EAAK,EAAE,iBAAiB,kBAAkB,WAAYuqC,CAAc,CAAC,EAEjE3c,EAAM,KACR5tB,EAAK,GAAG,iBAAiB,kBAAkB,eAAgBuqC,CAAc,CAAC,EAC1EvqC,EAAK,GAAG,iBAAiB,kBAAkB,kBAAmBuqC,CAAc,CAAC,GAG/E,OAAO,iBAAiBD,EAAmB,CACzC,SAAU,CACR,IAAK,4BAA4BtqC,EAAK,CAAC,CACzC,EACA,SAAU,CACR,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4BA,EAAK,EAAE,CAC1C,EACA,YAAa,CACX,IAAK,4BAA4BA,EAAK,EAAE,CAC1C,EACA,eAAgB,CACd,IAAK,4BAA4BA,EAAK,EAAE,CAC1C,EACA,YAAa,CACX,IAAK,4BAA4BA,EAAK,EAAE,CAC1C,EACA,eAAgB,CACd,IAAK,4BAA4BA,EAAK,EAAE,CAC1C,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASW,EAAqBrd,EAAOyc,EAAMtD,EAAe,CACxD,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,SAGvB1c,EAAM,EAAE,KAAO9tB,EACVwqC,EAAkB,UAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,QAAUA,IAAU,wBACjDwqC,EAAkB,KAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAEtE/mC,EAAOqqC,EAAK,GAAG,KAAO,KAAOA,EAAK,GAAG,KAAOA,EAAK,GACrD,OAAAC,EAAkB,cAAgB1c,EAAM,GACxC5tB,EAAK,EAAE,iBAAiB,kBAAkB,WAAYuqC,CAAc,CAAC,EACrEvqC,EAAK,EAAE,iBAAiB,kBAAkB,OAAQuqC,CAAc,CAAC,EACjEvqC,EAAK,EAAE,iBAAiB,kBAAkB,WAAYuqC,CAAc,CAAC,EACrE,OAAO,iBAAiBD,EAAmB,CACzC,SAAU,CACR,IAAK,4BAA4BtqC,EAAK,CAAC,CACzC,EACA,UAAW,CACT,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,KAAM,CACJ,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASY,EAAwBtd,EAAOyc,EAAMtD,EAAe,CAC3D,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,GAASA,IAAU,kBAC7BwqC,EAAkB,OAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAEtE/mC,EAAOqqC,EACX,OAAAC,EAAkB,cAAgB1c,EAAM,GACxC5tB,EAAK,GAAG,iBAAiB,kBAAkB,SAAUuqC,CAAc,CAAC,EACpE,OAAO,iBAAiBD,EAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4BtqC,EAAK,EAAE,CAC1C,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,SAASa,EAAyBvd,EAAOyc,EAAMtD,EAAe,CAC5D,SAASuD,EAAkBxqC,EAAO,CAChC,OAAI8tB,EAAM,EAAE,KAAO9tB,GAASA,IAAU,SAC7BwqC,EAAkB,OAGvB1c,EAAM,EAAE,KAAO9tB,GAASA,IAAU,SAC7BwqC,EAAkB,OAGpB,IACT,CAEA,IAAIC,EAAiB,qBAAqBD,EAAmBvD,CAAa,EAEtE/mC,EAAOqqC,EACX,OAAAC,EAAkB,cAAgB1c,EAAM,GACxC5tB,EAAK,EAAE,iBAAiB,kBAAkB,SAAUuqC,CAAc,CAAC,EACnEvqC,EAAK,EAAE,iBAAiB,kBAAkB,SAAUuqC,CAAc,CAAC,EACnE,OAAO,iBAAiBD,EAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4BtqC,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4BA,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO4tB,EAAM,EACf,CACF,CAAC,EACD0c,EAAkB,GAAK1c,EAAM,GACtB0c,CACT,CAEA,OAAO,SAAU52B,EAAQ22B,EAAMtD,EAAe,CAC5C,IAAIsE,EAEJ,SAASO,EAAmB9rC,EAAO,CACjC,GAAI,OAAOA,GAAU,SAGnB,OAFAA,EAAQA,IAAU,OAAY,EAAIA,EAE9BA,IAAU,EACLinC,EAGFsE,EAAWvrC,EAAQ,CAAC,EAM7B,QAHIzC,EAAI,EACJC,EAAM+tC,EAAW,OAEdhuC,EAAIC,GAAK,CACd,GAAI+tC,EAAWhuC,CAAC,EAAE,QAAUyC,EAC1B,OAAOurC,EAAWhuC,CAAC,EAGrBA,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAASwuC,GAAqB,CAC5B,OAAO9E,CACT,CAEA,OAAA6E,EAAmB,cAAgB,qBAAqBA,EAAoBC,CAAkB,EAC9FR,EAAaX,EAAgBh3B,EAAQ22B,EAAMuB,EAAmB,aAAa,EAC3EA,EAAmB,cAAgBP,EAAW,OAC9CO,EAAmB,MAAQ,WACpBA,CACT,CACF,EAAE,EAIE,wBAA0B,UAAY,CACxC,OAAO,SAAU5wB,EAAM,CACrB,IAAI8wB,EAEAC,EAEJ,SAASC,EAAmBp1B,EAAM,CAChC,OAAQA,EAAM,CACZ,IAAK,qBACH,OAAOo1B,EAAmB,WAE5B,QACE,OAAO,IACX,CACF,CAEA,cAAO,eAAeA,EAAoB,aAAc,CACtD,IAAK,UAAY,CACfhxB,EAAK,aAAa,SAAS,EAC3B,IAAIixB,EAAcjxB,EAAK,aAAa,YAAY,EAEhD,OAAIixB,IAAgBH,IAClB9wB,EAAK,aAAa,YAAY,EAAI8wB,EAClCC,EAAc,IAAI,OAAOE,CAAW,EAGpCF,EAAY,MAAQE,GAAe,IAAI,OAAOA,CAAW,GAGpDF,CACT,CACF,CAAC,EACMC,CACT,CACF,EAAE,EAME,yBAA2B,UAAY,CACzC,SAASE,EAAUxzB,EAAM,CACvB,IAAIyzB,EAAa,IAAI,OAErB,GAAIzzB,IAAS,OAAW,CACtB,IAAI0zB,GAAc,MAAQvvC,GAAS,MAAM,eAAe,MAAM,eAAe6b,CAAI,EAEjF0zB,EAAW,MAAMD,CAAU,CAC7B,KAAO,CACL,IAAIE,GAAgB,MAAQxvC,GAAS,MAAM,eAAe,MAC1DwvC,EAAa,cAAcF,CAAU,CACvC,CAEA,OAAOA,CACT,CAEA,SAASG,EAAWzsC,EAAK6Y,EAAM,CAC7B,IAAIyzB,EAAa,KAAK,UAAUzzB,CAAI,EACpC,OAAAyzB,EAAW,MAAM,EAAE,EAAI,EACvBA,EAAW,MAAM,EAAE,EAAI,EACvBA,EAAW,MAAM,EAAE,EAAI,EAChB,KAAK,WAAWA,EAAYtsC,CAAG,CACxC,CAEA,SAAS0sC,EAAQ1sC,EAAK6Y,EAAM,CAC1B,IAAIyzB,EAAa,KAAK,UAAUzzB,CAAI,EACpC,OAAO,KAAK,WAAWyzB,EAAYtsC,CAAG,CACxC,CAEA,SAAS2sC,EAAa3sC,EAAK6Y,EAAM,CAC/B,IAAIyzB,EAAa,KAAK,UAAUzzB,CAAI,EACpC,OAAAyzB,EAAW,MAAM,EAAE,EAAI,EACvBA,EAAW,MAAM,EAAE,EAAI,EACvBA,EAAW,MAAM,EAAE,EAAI,EAChB,KAAK,YAAYA,EAAYtsC,CAAG,CACzC,CAEA,SAAS4sC,EAAU5sC,EAAK6Y,EAAM,CAC5B,IAAIyzB,EAAa,KAAK,UAAUzzB,CAAI,EACpC,OAAO,KAAK,YAAYyzB,EAAYtsC,CAAG,CACzC,CAEA,SAAS6sC,EAAW1b,EAAQnxB,EAAK,CAC/B,IAAK,MAAQhD,GAAS,MAAM,YAAc,MAAQA,GAAS,MAAM,UAAU,OAAQ,CACjF,IAAIQ,EACAC,GAAO,MAAQT,GAAS,MAAM,UAAU,OAE5C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,MAAM,UAAUQ,CAAC,EAAE,eAAe,MAAM,cAAc2zB,CAAM,CAElF,CAEA,OAAOA,EAAO,kBAAkBnxB,EAAI,CAAC,EAAGA,EAAI,CAAC,EAAGA,EAAI,CAAC,GAAK,CAAC,CAC7D,CAEA,SAAS8sC,EAAY3b,EAAQnxB,EAAK,CAChC,IAAK,MAAQhD,GAAS,MAAM,YAAc,MAAQA,GAAS,MAAM,UAAU,OAAQ,CACjF,IAAIQ,EACAC,GAAO,MAAQT,GAAS,MAAM,UAAU,OAE5C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,MAAM,UAAUQ,CAAC,EAAE,eAAe,MAAM,cAAc2zB,CAAM,CAElF,CAEA,OAAOA,EAAO,aAAanxB,CAAG,CAChC,CAEA,SAAS+sC,EAAS/sC,EAAK,CACrB,IAAIssC,EAAa,IAAI,OAKrB,GAJAA,EAAW,MAAM,GAEhB,MAAQtvC,GAAS,MAAM,eAAe,MAAM,cAAcsvC,CAAU,GAEhE,MAAQtvC,GAAS,MAAM,YAAc,MAAQA,GAAS,MAAM,UAAU,OAAQ,CACjF,IAAIQ,EACAC,GAAO,MAAQT,GAAS,MAAM,UAAU,OAE5C,IAAKQ,EAAI,EAAGA,EAAIC,EAAKD,GAAK,GACvB,MAAQR,GAAS,MAAM,UAAUQ,CAAC,EAAE,eAAe,MAAM,cAAc8uC,CAAU,EAGpF,OAAOA,EAAW,aAAatsC,CAAG,CACpC,CAEA,OAAOssC,EAAW,aAAatsC,CAAG,CACpC,CAEA,SAASgtC,GAAc,CACrB,MAAO,CAAC,EAAG,EAAG,EAAG,CAAC,CACpB,CAEA,OAAO,SAAU7xB,EAAM,CACrB,IAAIswB,EAEJ,SAASwB,EAAuBC,EAAa,CAC3Cf,EAAmB,KAAO,IAAI,qBAAqBe,EAAa/xB,CAAI,CACtE,CAEA,SAASgyB,EAA0BC,EAAS,CAC1CjB,EAAmB,OAASiB,CAC9B,CAEA,SAASjB,EAAmBp1B,EAAM,CAChC,OAAQA,EAAM,CACZ,IAAK,0BACL,IAAK,WACL,IAAK,GACH,OAAOo1B,EAAmB,eAE5B,IAAK,GACL,IAAK,GACL,IAAK,YACL,IAAK,YACL,IAAK,uBACH,OAAOV,EAET,IAAK,GACL,IAAK,qBACL,IAAK,UACL,IAAK,UACH,OAAOU,EAAmB,OAE5B,IAAK,uBACH,OAAOA,EAAmB,cAE5B,QACE,OAAO,IACX,CACF,CAEAA,EAAmB,UAAYE,EAC/BF,EAAmB,YAAcW,EACjCX,EAAmB,WAAaU,EAChCV,EAAmB,QAAUO,EAC7BP,EAAmB,WAAaM,EAChCN,EAAmB,UAAYS,EAC/BT,EAAmB,aAAeQ,EAClCR,EAAmB,OAASO,EAC5BP,EAAmB,SAAWY,EAC9BZ,EAAmB,YAAca,EACjCb,EAAmB,iBAAmBhxB,EAAK,iBAAiB,KAAKA,CAAI,EACrEgxB,EAAmB,MAAQhxB,EAC3BswB,EAAqB,6BAA6BtwB,EAAK,eAAe,KAAK,EAC3E,IAAIkyB,EAAwB,cAAc5B,EAAoB,aAAa,EAC3E,cAAO,iBAAiBU,EAAoB,CAC1C,UAAW,CACT,IAAK,UAAY,CACf,OAAOhxB,EAAK,UAAU,MACxB,CACF,EACA,OAAQ,CACN,IAAK,UAAY,CACf,OAAOA,EAAK,UAAU,CAAC,EAAE,cAC3B,CACF,EACA,SAAU,cAAcswB,EAAoB,UAAU,EACtD,MAAO,cAAcA,EAAoB,OAAO,EAChD,SAAU,cAAcA,EAAoB,UAAU,EACtD,QAAS,cAAcA,EAAoB,SAAS,EACpD,YAAa4B,EACb,aAAcA,EACd,UAAW,CACT,IAAK,UAAY,CACf,OAAO5B,CACT,CACF,EACA,OAAQ,CACN,IAAK,UAAY,CACf,OAAOtwB,EAAK,SACd,CACF,CACF,CAAC,EACDgxB,EAAmB,UAAYhxB,EAAK,KAAK,GACzCgxB,EAAmB,MAAQhxB,EAAK,KAAK,IACrCgxB,EAAmB,OAAShxB,EAAK,KAAK,MACtCgxB,EAAmB,OAAShxB,EAAK,KAAK,KAAO,EAAIA,EAAK,KAAK,EAAI,IAC/DgxB,EAAmB,MAAQhxB,EAAK,KAAK,KAAO,EAAIA,EAAK,KAAK,EAAI,IAC9DgxB,EAAmB,QAAUhxB,EAAK,KAAK,GAAKA,EAAK,KAAK,WAAW,UACjEgxB,EAAmB,SAAWhxB,EAAK,KAAK,GAAKA,EAAK,KAAK,WAAW,UAClEgxB,EAAmB,MAAQhxB,EAAK,KAAK,GACrCgxB,EAAmB,sBAAwBc,EAC3Cd,EAAmB,yBAA2BgB,EACvChB,CACT,CACF,EAAE,EAME,iBAAmB,UAAY,CACjC,IAAImB,EAA0B,SAAUnyB,EAAM,CAC5C,IAAIoyB,EAAsB,GACtBC,EAAkBryB,EAAK,eAAe,EAE1C,SAASqC,GAAO,CACd,OAAA+vB,EAAsB,GACtBC,EAAkBryB,EAAK,eAAe,EAC/BsyB,CACT,CAEA,SAASA,EAAextC,EAAO,CAC7B,GAAIutC,EAAgBvtC,CAAK,EAIvB,OAHAstC,EAAsBttC,EACtButC,EAAkBA,EAAgBvtC,CAAK,EAEnC,OAAOutC,GAAoB,SACtBC,EAGFD,EAGT,IAAIE,EAAoBztC,EAAM,QAAQstC,CAAmB,EAEzD,GAAIG,IAAsB,GAAI,CAC5B,IAAI/2B,EAAQ,SAAS1W,EAAM,OAAOytC,EAAoBH,EAAoB,MAAM,EAAG,EAAE,EAGrF,OAFAC,EAAkBA,EAAgB72B,CAAK,EAEnC,OAAO62B,GAAoB,SACtBC,EAGFD,CACT,CAEA,MAAO,EACT,CAEA,OAAOhwB,CACT,EAEImwB,EAAuB,SAAUxyB,EAAM,CACzC,SAASsvB,EAAkBxqC,EAAO,CAChC,OAAIA,IAAU,UACLwqC,EAAkB,iBAAiB,EAGrC,IACT,CAEA,OAAAA,EAAkB,MAAQ,UAC1BA,EAAkB,iBAAmB6C,EAAwBnyB,CAAI,EAC1DsvB,CACT,EAEA,OAAO,SAAUtvB,EAAM,CACrB,SAAS4wB,EAAmB9rC,EAAO,CACjC,OAAIA,IAAU,OACL8rC,EAAmB,cAGrB,IACT,CAEA,OAAAA,EAAmB,MAAQ,OAC3BA,EAAmB,cAAgB4B,EAAqBxyB,CAAI,EACrD4wB,CACT,CACF,EAAE,EAIE,wBAA0B,UAAY,CACxC,OAAO,SAAU7c,EAAM,CACrB,SAASid,EAAmBp1B,EAAM,CAIhC,QAHIvZ,EAAI,EACJC,EAAMyxB,EAAK,OAAO,OAEf1xB,EAAIC,GAAK,CACd,GAAIyxB,EAAK,OAAO1xB,CAAC,EAAE,KAAOuZ,GAAQmY,EAAK,OAAO1xB,CAAC,EAAE,MAAQuZ,EACvD,OAAOmY,EAAK,SAAS1xB,CAAC,EAAE,eAG1BA,GAAK,CACP,CAEA,OAAO,IACT,CAEA,cAAO,eAAe2uC,EAAoB,QAAS,CACjD,MAAOjd,EAAK,KAAK,EACnB,CAAC,EACDid,EAAmB,MAAQA,EAC3BA,EAAmB,YAAc,EACjCA,EAAmB,OAASjd,EAAK,KAAK,GAAKA,EAAK,WAAW,SAAS,EACpEid,EAAmB,MAAQjd,EAAK,KAAK,GAAKA,EAAK,WAAW,SAAS,EACnEid,EAAmB,YAAc,EACjCA,EAAmB,cAAgB,EAAIjd,EAAK,WAAW,UACvDid,EAAmB,iBAAmB,EACtCA,EAAmB,UAAYjd,EAAK,OAAO,OACpCid,CACT,CACF,EAAE,EAME,6BAA+B,UAAY,CAC7C,OAAO,SAAUzpC,EAAW,CAC1B,SAASkrC,EAAc72B,EAAM,CAC3B,OAAQA,EAAM,CACZ,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,GACH,OAAO62B,EAAc,MAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,IAAK,IACH,OAAOA,EAAc,SAEvB,IAAK,gBACH,OAAOA,EAAc,UAEvB,IAAK,gBACH,OAAOA,EAAc,UAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,GACH,OAAOA,EAAc,SAEvB,IAAK,kBACH,OAAOA,EAAc,UAEvB,IAAK,kBACH,OAAOA,EAAc,UAEvB,IAAK,kBACH,OAAOA,EAAc,UAEvB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,GACH,OAAOA,EAAc,YAEvB,IAAK,UACL,IAAK,UACL,IAAK,IACH,OAAOA,EAAc,QAEvB,QACE,OAAO,IACX,CACF,CAEA,OAAO,eAAeA,EAAe,WAAY,CAC/C,IAAK,4BAA4BlrC,EAAU,GAAKA,EAAU,EAAE,CAC9D,CAAC,EACD,OAAO,eAAekrC,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,IAAMA,EAAU,CAAC,CAC9D,CAAC,EACD,OAAO,eAAekrC,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,QAAS,CAC5C,IAAK,4BAA4BlrC,EAAU,CAAC,CAC9C,CAAC,EAED,IAAImrC,EAEAC,EAEAC,EAEAC,EAEJ,OAAItrC,EAAU,EACZsrC,EAAoB,4BAA4BtrC,EAAU,CAAC,GAE3DmrC,EAAM,4BAA4BnrC,EAAU,EAAE,EAC9CorC,EAAM,4BAA4BprC,EAAU,EAAE,EAE1CA,EAAU,KACZqrC,EAAM,4BAA4BrrC,EAAU,EAAE,IAIlD,OAAO,eAAekrC,EAAe,WAAY,CAC/C,IAAK,UAAY,CACf,OAAIlrC,EAAU,EACLsrC,EAAkB,EAGpB,CAACH,EAAI,EAAGC,EAAI,EAAGC,EAAMA,EAAI,EAAI,CAAC,CACvC,CACF,CAAC,EACD,OAAO,eAAeH,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,YAAa,CAChD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,cAAe,CAClD,IAAK,4BAA4BlrC,EAAU,CAAC,CAC9C,CAAC,EACD,OAAO,eAAekrC,EAAe,UAAW,CAC9C,IAAK,4BAA4BlrC,EAAU,CAAC,CAC9C,CAAC,EACD,OAAO,eAAekrC,EAAe,OAAQ,CAC3C,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,WAAY,CAC/C,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAekrC,EAAe,cAAe,CAClD,IAAK,4BAA4BlrC,EAAU,EAAE,CAC/C,CAAC,EACMkrC,CACT,CACF,EAAE,EAIF,iBAAmB,UAAY,CAC7B,SAASK,EAAoB/e,EAAM,EAChC,MAAQlyB,GAAS,aAAa,KAAKkyB,CAAI,CAC1C,CAEA,OAAO,UAAY,CACjB,SAASgf,EAAqBn3B,EAAM,CAIlC,QAHIvZ,EAAI,EACJC,GAAO,MAAQT,GAAS,aAAa,OAElCQ,EAAIC,GAAK,CACd,IAAK,MAAQT,GAAS,aAAaQ,CAAC,EAAE,OAAS,MAAQR,GAAS,aAAaQ,CAAC,EAAE,KAAK,KAAOuZ,EAC1F,OAAK,MAAQ/Z,GAAS,aAAaQ,CAAC,EAAE,eAAiB,MAAQR,GAAS,aAAaQ,CAAC,EAAE,KAAK,KAC1F,MAAQR,GAAS,aAAaQ,CAAC,EAAE,cAAc,MAAQR,GAAS,YAAY,GAGvE,MAAQA,GAAS,aAAaQ,CAAC,EAAE,cAG3CA,GAAK,CACP,CAEA,OAAO,IACT,CAEA,OAAA0wC,EAAqB,aAAe,CAAC,EACrCA,EAAqB,aAAe,EACpCA,EAAqB,oBAAsBD,EACpCC,CACT,CACF,EAAE,EAMF,IAAI,2BAA6B,UAAY,CAC3C,IAAItkC,EAAK,CACP,uBAAwBukC,CAC1B,EAEA,SAASA,EAAuBhzB,EAAM+rB,EAAe,CACnD,GAAI/rB,EAAK,eAAgB,CACvB,IAAIkf,EAAiB,CAAC,EAClB+T,EAAcjzB,EAAK,KAAK,GACxB3d,EACAC,EAAM0d,EAAK,eAAe,eAAe,OAE7C,IAAK3d,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxB68B,EAAe,KAAKgU,EAAqBD,EAAY5wC,CAAC,EAAG2d,EAAK,eAAe,eAAe3d,CAAC,EAAG0pC,EAAe/rB,CAAI,CAAC,EAGtH,IAAIiyB,EAAUjyB,EAAK,KAAK,IAAM,CAAC,EAE3BmzB,EAAiB,SAAUv3B,EAAM,CAInC,IAHAvZ,EAAI,EACJC,EAAM2vC,EAAQ,OAEP5vC,EAAIC,GAAK,CACd,GAAIsZ,IAASq2B,EAAQ5vC,CAAC,EAAE,IAAMuZ,IAASq2B,EAAQ5vC,CAAC,EAAE,IAAMuZ,IAASq2B,EAAQ5vC,CAAC,EAAE,GAC1E,OAAO68B,EAAe78B,CAAC,EAGzBA,GAAK,CACP,CAEA,OAAO,IACT,EAEA,cAAO,eAAe8wC,EAAgB,gBAAiB,CACrD,IAAK,UAAY,CACf,OAAOlB,EAAQ,MACjB,CACF,CAAC,EACMkB,CACT,CAEA,OAAO,IACT,CAEA,SAASD,EAAqBp6B,EAAMqP,EAAU4jB,EAAe/rB,EAAM,CACjE,SAASmzB,EAAev3B,EAAM,CAK5B,QAJIq2B,EAAUn5B,EAAK,GACfzW,EAAI,EACJC,EAAM2vC,EAAQ,OAEX5vC,EAAIC,GAAK,CACd,GAAIsZ,IAASq2B,EAAQ5vC,CAAC,EAAE,IAAMuZ,IAASq2B,EAAQ5vC,CAAC,EAAE,IAAMuZ,IAASq2B,EAAQ5vC,CAAC,EAAE,GAC1E,OAAI4vC,EAAQ5vC,CAAC,EAAE,KAAO,EACb68B,EAAe78B,CAAC,EAGlB68B,EAAe78B,CAAC,EAAE,EAG3BA,GAAK,CACP,CAEA,MAAM,IAAI,KACZ,CAEA,IAAIktC,EAAiB,qBAAqB4D,EAAgBpH,CAAa,EAEnE7M,EAAiB,CAAC,EAClB78B,EACAC,EAAMwW,EAAK,GAAG,OAElB,IAAKzW,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACpByW,EAAK,GAAGzW,CAAC,EAAE,KAAO,EACpB68B,EAAe,KAAKgU,EAAqBp6B,EAAK,GAAGzW,CAAC,EAAG8lB,EAAS,eAAe9lB,CAAC,EAAG8lB,EAAS,eAAe9lB,CAAC,EAAE,cAAe2d,CAAI,CAAC,EAEhIkf,EAAe,KAAKkU,EAAqBjrB,EAAS,eAAe9lB,CAAC,EAAGyW,EAAK,GAAGzW,CAAC,EAAE,GAAI2d,EAAMuvB,CAAc,CAAC,EAI7G,OAAIz2B,EAAK,KAAO,sBACd,OAAO,eAAeq6B,EAAgB,QAAS,CAC7C,IAAK,UAAY,CACf,OAAOjU,EAAe,CAAC,EAAE,CAC3B,CACF,CAAC,EAGH,OAAO,iBAAiBiU,EAAgB,CACtC,cAAe,CACb,IAAK,UAAY,CACf,OAAOr6B,EAAK,EACd,CACF,EACA,MAAO,CACL,MAAOA,EAAK,EACd,EACA,cAAe,CACb,MAAOy2B,CACT,CACF,CAAC,EACD4D,EAAe,QAAUr6B,EAAK,KAAO,EACrCq6B,EAAe,OAASA,EAAe,QAChCA,CACT,CAEA,SAASC,EAAqBzwC,EAASC,EAAMod,EAAM+rB,EAAe,CAChE,IAAIsH,EAAqB,4BAA4B1wC,EAAQ,CAAC,EAE9D,SAAS2sC,GAAoB,CAC3B,OAAI1sC,IAAS,GACJod,EAAK,KAAK,cAAcrd,EAAQ,EAAE,CAAC,EAGrC0wC,EAAmB,CAC5B,CAEA,OAAI1wC,EAAQ,EAAE,kBACZA,EAAQ,EAAE,iBAAiB,kBAAkB,GAAIopC,CAAa,CAAC,EAG1DuD,CACT,CAEA,OAAO7gC,CACT,EAAE,EAME,qBAAuB,UAAY,CACrC,SAAS6kC,EAAc1mC,EAAMkM,EAAM,EAChC,MAAQjX,GAAS,MAAQ+K,GACzB,MAAQ/K,GAAS,MAAQiX,CAC5B,CAEA,OAAO,eAAew6B,EAAc,UAAW,WAAY,CACzD,IAAK,UAAY,CACf,OAAK,MAAQzxC,GAAS,MAAM,KAAK,IAC9B,MAAQA,GAAS,MAAM,KAAK,SAAS,GAGhC,MAAQA,GAAS,MAAM,IACjC,CACF,CAAC,EACD,OAAO,eAAeyxC,EAAc,UAAW,cAAe,CAC5D,IAAK,UAAY,CACf,OAAK,MAAQzxC,GAAS,MAAM,GAAG,IAC5B,MAAQA,GAAS,MAAM,GAAG,SAAS,GAG9B,MAAQA,GAAS,MAAM,GAAG,EAAI,GACxC,CACF,CAAC,EAED,IAAI0xC,EAAc,SAAUxB,EAAa,CACvC,IAAIyB,EAAmB,iBAAiBzB,EAAY,SAAS,MAAM,EAE/D1vC,EACAC,EAAMyvC,EAAY,SAAS,OAE/B,IAAK1vC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmxC,EAAiBnxC,CAAC,EAAI,IAAIixC,EAAcvB,EAAY,SAAS1vC,CAAC,EAAG0vC,EAAY,gBAAgB1vC,CAAC,CAAC,EAGjG,IAAIoxC,EAAe,SAAU73B,EAAM,CAGjC,IAFAvZ,EAAI,EAEGA,EAAIC,GAAK,CACd,GAAIyvC,EAAY,gBAAgB1vC,CAAC,EAAE,KAAOuZ,EACxC,OAAO43B,EAAiBnxC,CAAC,EAG3BA,GAAK,CACP,CAEA,OAAO,IACT,EAEA,OAAOoxC,CACT,EAEA,OAAOF,CACT,EAAE,EAME,4BAA8B,UAAY,CAC5C,IAAIG,EAA6B,CAC/B,GAAI,EACJ,EAAG,EACH,KAAM,CACR,EACIC,EAA+B,CACjC,GAAI,CAAC,EAAG,EAAG,CAAC,EACZ,EAAG,CAAC,EAAG,EAAG,CAAC,EACX,KAAM,CACR,EAEA,SAASC,EAAiBC,EAAiBC,EAAUlxC,EAAM,CACzD,OAAO,eAAeixC,EAAiB,WAAY,CACjD,IAAK,UAAY,CACf,OAAOC,EAAS,kBAAkBA,EAAS,KAAK,YAAY,CAC9D,CACF,CAAC,EACDD,EAAgB,QAAUC,EAAS,UAAYA,EAAS,UAAU,OAAS,EAE3ED,EAAgB,IAAM,SAAUpyB,EAAK,CACnC,GAAI,CAACoyB,EAAgB,QACnB,MAAO,GAGT,IAAI/uC,EAAQ,GAER,MAAOgvC,EAAS,UAAUryB,EAAM,CAAC,EACnC3c,EAAQgvC,EAAS,UAAUryB,EAAM,CAAC,EAAE,EAC3B,MAAOqyB,EAAS,UAAUryB,EAAM,CAAC,EAC1C3c,EAAQgvC,EAAS,UAAUryB,EAAM,CAAC,EAAE,EAEpC3c,EAAQgvC,EAAS,UAAUryB,EAAM,CAAC,EAAE,EAGtC,IAAIsyB,EAAYnxC,IAAS,iBAAmB,IAAI,OAAOkC,CAAK,EAAI,OAAO,OAAO,CAAC,EAAGA,CAAK,EAEvF,OAAAivC,EAAU,KAAOD,EAAS,UAAUryB,EAAM,CAAC,EAAE,EAAIqyB,EAAS,KAAK,KAAK,WAAW,UAC/EC,EAAU,MAAQnxC,IAAS,iBAAmBkC,EAAM,CAAC,EAAIA,EAClDivC,CACT,EAEAF,EAAgB,YAAcC,EAAS,eACvCD,EAAgB,YAAcC,EAAS,eACvCD,EAAgB,eAAiBC,EAAS,kBAC1CD,EAAgB,cAAgBC,EAAS,aAC3C,CAEA,SAASE,EAAgCF,EAAU,EAC7C,CAACA,GAAY,EAAE,OAAQA,MACzBA,EAAWJ,GAGb,IAAIzzB,EAAO,EAAI6zB,EAAS,KACpBvxC,EAAMuxC,EAAS,GAAK7zB,EACpB4zB,EAAkB,IAAI,OAAOtxC,CAAG,EAEpC,OAAAsxC,EAAgB,MAAQtxC,EACxBqxC,EAAiBC,EAAiBC,EAAU,gBAAgB,EACrD,UAAY,CACjB,OAAIA,EAAS,GACXA,EAAS,SAAS,EAGpBvxC,EAAMuxC,EAAS,EAAI7zB,EAEf4zB,EAAgB,QAAUtxC,IAC5BsxC,EAAkB,IAAI,OAAOtxC,CAAG,EAEhCsxC,EAAgB,MAAQtxC,EACxBqxC,EAAiBC,EAAiBC,EAAU,gBAAgB,GAGvDD,CACT,CACF,CAEA,SAASI,EAAkCH,EAAU,EAC/C,CAACA,GAAY,EAAE,OAAQA,MACzBA,EAAWH,GAGb,IAAI1zB,EAAO,EAAI6zB,EAAS,KACpBxxC,EAAMwxC,EAAS,MAAQA,EAAS,KAAK,GAAKA,EAAS,GAAG,OACtDD,EAAkB,iBAAiB,UAAWvxC,CAAG,EACjD4xC,EAAW,iBAAiB,UAAW5xC,CAAG,EAC9C,OAAAuxC,EAAgB,MAAQK,EACxBN,EAAiBC,EAAiBC,EAAU,kBAAkB,EACvD,UAAY,CACbA,EAAS,GACXA,EAAS,SAAS,EAGpB,QAASzxC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EAC5B6xC,EAAS7xC,CAAC,EAAIyxC,EAAS,EAAEzxC,CAAC,EAAI4d,EAC9B4zB,EAAgBxxC,CAAC,EAAI6xC,EAAS7xC,CAAC,EAGjC,OAAOwxC,CACT,CACF,CAGA,SAASM,GAAgB,CACvB,OAAOT,CACT,CAEA,OAAO,SAAUI,EAAU,CACzB,OAAKA,EAIDA,EAAS,WAAa,iBACjBE,EAAgCF,CAAQ,EAG1CG,EAAkCH,CAAQ,EAPxCK,CAQX,CACF,EAAE,GAMD,UAAY,CACX,IAAIC,EAA6B,UAAY,CAE3C,SAASC,EAAc74B,EAAO84B,EAAO,CACnC,OAAC,MAAQzyC,GAAS,UAAY2Z,EAAQ,GACrC,MAAQ3Z,GAAS,UAAYyyC,GAC7B,MAAQzyC,GAAS,EAAI,KAAK,SAAS,GAAK,MAAQA,GAAS,MAClD,MAAQA,GAAS,CAC3B,CAEA,OAAO,SAA2Cme,EAAMlH,EAAM,EAC3D,MAAQjX,GAAS,GAAK,GACtB,MAAQA,GAAS,KAAOme,EAAK,MAC7B,MAAQne,GAAS,KAAOme,GACxB,MAAQne,GAAS,KAAO,KACxB,MAAQA,GAAS,SAAW,gBAC5B,MAAQA,GAAS,UAAYiX,EAAK,YAClC,MAAQjX,GAAS,cAAgB,KACjC,MAAQA,GAAS,UAAY,CAAC,EAAG,EAAG,CAAC,GACrC,MAAQA,GAAS,EAAI,IACrB,MAAQA,GAAS,EAAI,IACrB,MAAQA,GAAS,SAAW,kBAAkB,mBAAmB,KAAK,MAAQA,CAAO,EAAEme,EAAMlH,EAAM,MAAQjX,CAAO,GAClH,MAAQA,GAAS,QAAUwyC,GAC3B,MAAQxyC,GAAS,kBAAoB,kBAAkB,mBAEnD,MAAQA,GAAS,IACnB,MAAQA,GAAS,eAAiB,kBAAkB,eAAe,KAAK,MAAQA,CAAO,GAEvF,MAAQA,GAAS,eAAiB,kBAAkB,qBAAqB,KAAK,MAAQA,CAAO,GAG/F,MAAQA,GAAS,iBAAmB,kBAAkB,gBACzD,CACF,EAAE,EAEE0yC,EAAsB,iBAAiB,oBAE3C,iBAAiB,oBAAsB,SAAUv0B,EAAMlH,EAAMjU,EAAK,CAChE,OAAIiU,EAAK,IAAM,EACN,IAAI,kCAAkCkH,EAAMlH,EAAMjU,CAAG,EAGvD0vC,EAAoBv0B,EAAMlH,EAAMjU,CAAG,CAC5C,CACF,GAAG,EAMH,SAAS,aAAaiU,EAAMkH,EAAM/a,EAAW,EAC1C,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,YAAY6T,EAAMkH,EAAM/a,EAAW,EACzC,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,YAAY6T,EAAMkH,EAAM/a,EAAW,EACzC,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,YAAY6T,EAAMkH,EAAM/a,EAAW,EACzC,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,iBAAiB6T,EAAMkH,EAAM/a,EAAW,EAC9C,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,gBAAgB6T,EAAMkH,EAAM/a,EAAW,EAC7C,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,eAAe6T,EAAMkH,EAAM/a,EAAW,EAC5C,MAAQpD,GAAS,EAAI,gBAAgB,QAAQme,EAAMlH,EAAK,EAAG,EAAG,EAAG7T,CAAS,CAC7E,CAEA,SAAS,eAAgB,EACtB,MAAQpD,GAAS,EAAI,CAAC,CACzB,CAKA,SAAS,eAAeiX,EAAMnW,EAAS,CACrC,IAAIsvC,EAAUn5B,EAAK,IAAM,CAAC,GACzB,MAAQjX,GAAS,eAAiB,CAAC,EACpC,IAAIQ,EACAC,EAAM2vC,EAAQ,OACduC,EAEJ,IAAKnyC,EAAI,EAAGA,EAAIC,EAAKD,GAAK,EACxBmyC,EAAa,IAAI,YAAYvC,EAAQ5vC,CAAC,EAAGM,CAAO,GAE/C,MAAQd,GAAS,eAAe,KAAK2yC,CAAU,CAEpD,CAEA,SAAS,YAAY17B,EAAMnW,EAAS,CAClC,KAAK,KAAKmW,EAAMnW,CAAO,CACzB,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,WAAW,EACvD,YAAY,UAAU,SAAW,YAAY,UAAU,yBAEvD,YAAY,UAAU,KAAO,SAAUmW,EAAMnW,EAAS,EACnD,MAAQd,GAAS,KAAOiX,GACxB,MAAQjX,GAAS,eAAiB,CAAC,EACpC,KAAK,6BAA6Bc,CAAO,EACzC,IAAI,EACAL,GAAO,MAAQT,GAAS,KAAK,GAAG,OAChC4yC,EACAxC,GAAW,MAAQpwC,GAAS,KAAK,GAErC,IAAK,EAAI,EAAG,EAAIS,EAAK,GAAK,EAAG,CAG3B,OAFAmyC,EAAM,KAEExC,EAAQ,CAAC,EAAE,GAAI,CACrB,IAAK,GACHwC,EAAM,IAAI,aAAaxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC3D,MAEF,IAAK,GACH4yC,EAAM,IAAI,YAAYxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC1D,MAEF,IAAK,GACH4yC,EAAM,IAAI,YAAYxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC1D,MAEF,IAAK,GACH4yC,EAAM,IAAI,YAAYxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC1D,MAEF,IAAK,GACL,IAAK,GACH4yC,EAAM,IAAI,eAAexC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC7D,MAEF,IAAK,IACH4yC,EAAM,IAAI,iBAAiBxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC/D,MAEF,IAAK,IACH4yC,EAAM,IAAI,gBAAgBxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC9D,MAEF,IAAK,GACH4yC,EAAM,IAAI,eAAexC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC7D,MAGF,QACE4yC,EAAM,IAAI,cAAcxC,EAAQ,CAAC,EAAGtvC,EAAS,MAAQd,CAAO,EAC5D,KACJ,CAEI4yC,IACD,MAAQ5yC,GAAS,eAAe,KAAK4yC,CAAG,CAE7C,CACF,EAEA,IAAI,OAAS,CAAC,EAEd,SAAS,gBAAgBC,EAAM,CAC7B,aAAeA,CACjB,CAEA,SAAS,kBAAmB,CACtB,aAAe,GACjB,iBAAiB,iBAAiB,cAAe,WAAY,QAAQ,EAErE,iBAAiB,iBAAiB,CAEtC,CAEA,SAAS,qBAAqBhyC,EAAM,CAClC,gBAAkBA,CACpB,CAEA,SAAS,cAAcgjC,EAAQ,CAC7B,OAAI,aAAe,KACjBA,EAAO,cAAgB,KAAK,MAAM,aAAa,GAG1C,iBAAiB,cAAcA,CAAM,CAC9C,CAEA,SAAS,WAAW5gC,EAAO,CACzB,GAAI,OAAOA,GAAU,SACnB,OAAQA,EAAO,CACb,IAAK,OACH,qBAAuB,IACvB,MAEF,QACA,IAAK,SACH,qBAAuB,GACvB,MAEF,IAAK,MACH,qBAAuB,GACvB,KACJ,KACS,CAAC,MAAMA,CAAK,GAAKA,EAAQ,IAClC,qBAAuBA,GAGrB,sBAAwB,GAC1B,YAAY,EAAK,EAEjB,YAAY,EAAI,CAEpB,CAEA,SAAS,WAAY,CACnB,OAAO,OAAO9C,EAAc,GAC9B,CAEA,SAAS,cAAcY,EAAM+xC,EAAQ,CAC/B/xC,IAAS,gBACX,kBAAoB+xC,EAExB,CAEA,SAAS,WAAW/4B,EAAM,CACxB,OAAQA,EAAM,CACZ,IAAK,kBACH,OAAO,gBAET,IAAK,uBACH,OAAO,qBAET,IAAK,SACH,OAAO,OAET,QACE,OAAO,IACX,CACF,CAEA,OAAO,KAAO,iBAAiB,KAC/B,OAAO,MAAQ,iBAAiB,MAChC,OAAO,gBAAkB,gBACzB,OAAO,YAAc,iBAAiB,YACtC,OAAO,SAAW,iBAAiB,SACnC,OAAO,aAAe,iBAAiB,aACvC,OAAO,KAAO,iBAAiB,KAC/B,OAAO,iBAAmB,iBAC1B,OAAO,kBAAoB,iBAAiB,kBAC5C,OAAO,cAAgB,cACvB,OAAO,qBAAuB,qBAC9B,OAAO,OAAS,iBAAiB,OAEjC,OAAO,YAAc,iBAAiB,YACtC,OAAO,QAAU,iBAAiB,QAClC,OAAO,WAAa,WACpB,OAAO,UAAY,UACnB,OAAO,cAAgB,cACvB,OAAO,OAAS,iBAAiB,OACjC,OAAO,SAAW,iBAAiB,SACnC,OAAO,UAAY,iBAAiB,UACpC,OAAO,KAAO,iBAAiB,KAC/B,OAAO,OAAS,iBAAiB,OACjC,OAAO,wBAA0B,iBAAiB,wBAClD,OAAO,aAAe,WACtB,OAAO,QAAU,QAEjB,SAAS,YAAa,CAChB,SAAS,aAAe,aAC1B,cAAc,uBAAuB,EACrC,iBAAiB,EAErB,CAEA,SAAS,iBAAiBg5B,EAAU,CAGlC,QAFIC,EAAO,YAAY,MAAM,GAAG,EAEvB,EAAI,EAAG,EAAIA,EAAK,OAAQ,GAAK,EAAG,CACvC,IAAIC,EAAOD,EAAK,CAAC,EAAE,MAAM,GAAG,EAE5B,GAAI,mBAAmBC,EAAK,CAAC,CAAC,GAAKF,EAEjC,OAAO,mBAAmBE,EAAK,CAAC,CAAC,CAErC,CAEA,OAAO,IACT,CAEA,IAAI,WAAa,mBACb,cAAgB,sBAChB,SAAW,GACX,YAEJ,GAAI,WAAY,CACd,IAAI,QAAU,SAAS,qBAAqB,QAAQ,EAChD,MAAQ,QAAQ,OAAS,EACzB,SAAW,QAAQ,KAAK,GAAK,CAC/B,IAAK,EACP,EACA,YAAc,SAAS,IAAI,QAAQ,aAAc,EAAE,EAEnD,SAAW,iBAAiB,UAAU,CACxC,CAEA,IAAI,wBAA0B,YAAY,WAAY,GAAG,EACzD,OAAO,MACT,CAAC,EACD,IAAIC,GAAYhzC,GAETizC,GAAQD,GC/ikBkX,IAAIE,IAAS,SAASA,EAAQ,CAACA,EAAQ,KAAQ,SAASA,EAAQ,IAAO,KAAM,GAAGA,KAAUA,GAAQ,CAAC,EAAE,EAAE,IAAIC,IAAQ,SAASA,EAAO,CAACA,EAAO,KAAQ,OAAOA,EAAO,OAAU,QAAS,GAAGA,KAASA,GAAO,CAAC,EAAE,EAAE,IAAMC,GAAe,iDAQxlB,SAASC,GAAOC,EAAM,CAAC,GAAK,CAAC,MAAAC,EAAM,OAAAC,EAAO,QAAAC,EAAQ,QAAAC,EAAQ,OAAAC,EAAO,SAASC,EAAY,QAAAC,EAAQ,KAAAC,EAAK,eAAAC,EAAe,cAAAC,EAAc,oBAAAC,EAAoB,MAAAC,EAAM,QAAAC,EAAQ,aAAAC,EAAa,aAAAC,EAAa,YAAAC,EAAY,UAAAC,EAAU,WAAAC,CAAU,EAAElB,EAAYmB,EAAWC,GAAa,QAAQ,IAAIA,GAAa,OAAaC,GAAY,CAACX,GAAe,CAACS,IAAaZ,EAAce,EAAUX,EAAoB,EAAE,GAASY,EAAelB,IAAS,SAAemB,EAAGC,EAAO,EAAQC,EAAgBD,EAAO,EAAK,EAAQE,EAAcF,EAAO,CAAC,KAAK,KAAK,UAAU,KAAK,SAAS,IAAI,CAAC,EAAQG,EAASC,GAAmBvB,EAAY,CAAC,UAAUwB,GAAGA,EAAE,GAAG,CAAC,EAAQC,EAAK,IAAI,CAAC,IAAIC,EAAiCC,EAAuB,OAAOA,EAAuBN,EAAc,WAAW,MAAMM,IAAyB,SAAeD,EAAiCC,EAAuB,aAAa,MAAMD,IAAmC,OAAtH,OAAoIA,EAAiC,KAAK,CAAE,EAAQE,EAAM,IAAI,CAAC,IAAIF,EAAiCC,EAAuB,OAAOA,EAAuBN,EAAc,WAAW,MAAMM,IAAyB,SAAeD,EAAiCC,EAAuB,aAAa,MAAMD,IAAmC,OAAtH,OAAoIA,EAAiC,MAAM,CAAE,EAAQG,EAAQ,IAAI,CAAC,IAAIH,EAAiCC,EAAuB,OAAOA,EAAuBN,EAAc,WAAW,MAAMM,IAAyB,SAAeD,EAAiCC,EAAuB,aAAa,MAAMD,IAAmC,OAAtH,OAAoIA,EAAiC,QAAQ,CAAE,EAAQI,EAAQC,GAAY,CAACC,EAAmBC,IAAkB,CAAC,GAAG,CAACZ,EAAc,QAAQ,UAAU,CAACA,EAAc,QAAQ,UAAU,OACtwD,IAAMa,EAAkBF,IAAqB,EAAEX,EAAc,QAAQ,SAAS,EAAEW,EAAmBX,EAAc,QAAQ,SAAYY,EAAgBZ,EAAc,QAAQ,UAAU,YAAYa,EAAkB,EAAI,EAAOb,EAAc,QAAQ,UAAU,YAAYa,EAAkB,EAAI,CAAE,EAAE,CAAC,CAAC,EAAQC,EAAgBJ,GAAY,MAAMK,GAAUA,EAA2B,MAAM,MAAMA,EAAI,CAAC,OAAO,MAAM,YAAY,OAAO,SAAS,QAAQ,CAAC,EAAE,KAAKC,GAAGA,EAAE,KAAK,CAAC,EAArG,KAAqH,CAAC,CAAC,EACtdC,EAAKP,GAAY,SAAS,CAChCF,EAAQ,EAAE,IAAIU,EAAWzC,IAAU,QAAMyC,EAAQ3C,GAAUE,IAAU,WAASyC,EAAQ1C,GAAY0C,IAAS,QAAQ,KAAK,oCAAoC,EAAEA,EAAQ/C,IAAgB,IAAMgD,EAAK,MAAML,EAAgBI,CAAO,EAAE,OAAAlB,EAAc,QAAQ,KAAKmB,EAAYC,EAAMrB,EAAgB,OAAO,CAAE,EAAE,CAACtB,EAAQF,EAAOC,CAAO,CAAC,EAC1T4C,EAAMV,GAAYE,GAAiB,CAAC,GAAG,CAACf,EAAG,QAAQ,OAAOW,EAAQ,EAAE,IAAMa,EAAQ,CAAC,UAAUxB,EAAG,QAAQ,SAAS,MAAM,KAAKhB,EAAK,SAASa,EAAW,cAAcM,EAAc,QAAQ,KAAK,iBAAiB,CAAC,oBAAoB,gBAAgB,CAAC,EAAQsB,EAAKtB,EAAc,QAAQ,UAAUuB,GAAO,cAAcF,CAAO,EAAE,OAAArB,EAAc,QAAQ,SAASsB,EAAK,YAAY,EAAI,EAAEA,EAAK,aAAa3B,CAAS,EAAE2B,EAAK,SAASrC,CAAK,EAAEc,EAAgB,QAAQ,GAAQP,GAAYI,EAAea,EAAQ3B,EAAe,EAAK,EAAO2B,EAAQR,EAAS,IAAI,EAAEP,GAAYkB,CAAe,EAAQ,IAAI,CAACU,EAAK,QAAQ,CAAE,CAAE,EAAE,CAACzC,EAAKa,EAAWT,EAAMU,EAAUH,EAAWI,EAAed,CAAc,CAAC,EACxqB,OAAA0C,GAAU,IAAI,CAAC,IAAIC,EAAQ,OAAAR,EAAK,EAAE,KAAKS,GAAGD,EAAQC,CAAC,EAAQ,IAAI,CAAID,GAAQA,EAAQ,CAAE,CAAE,EAAE,CAAChD,EAAQD,EAAQD,CAAM,CAAC,EACjHiD,GAAU,IAAI,CAAC,GAAIzB,EAAgB,QAAe,OAAOqB,EAAM,EAAK,CAAE,EAAE,CAACvC,CAAI,CAAC,EAC9E2C,GAAU,IAAID,GAAO,WAAW/B,EAAW,MAAM,QAAQ,EAAE,CAAC,CAAC,EAM7DgC,GAAU,IAAIvB,EAAS,SAAS0B,GAAK,CAAInC,IAAqBE,EAAWe,EAAQkB,EAAI,EAAI,EAAOlB,EAAQkB,EAAI,EAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAEH,GAAU,IAAI,CAAC,IAAMG,EAAI1B,EAAS,IAAI,EAAKP,EAAWe,EAAQkB,EAAI,EAAI,EAAOlB,EAAQkB,EAAI,EAAK,CAAE,EAAE,CAAChD,CAAW,CAAC,EAAE6C,GAAU,IAAI,CAAC,GAAG,CAAChC,EAAW,OAAO,IAAMoC,EAAyB9C,EAAe,IAAsB2B,EAAfb,EAAuBgC,EAA6C3B,EAAS,IAAI,EAAjC,EAAK,CAAqC,EAAE,CAACL,EAAed,CAAc,CAAC,EAAE0C,GAAU,IAAI,CAAC,IAAIlB,EAA6B,GAAAA,EAAuBN,EAAc,WAAW,MAAMM,IAAyB,SAAcA,EAAuB,YAAkBN,EAAc,QAAQ,UAAU,SAASf,CAAK,EAAEwB,EAAQR,EAAS,IAAI,EAAE,EAAI,EAAE,EAAE,CAAChB,CAAK,CAAC,EAAEuC,GAAU,IAAI,CAAC,IAAIlB,EAA6B,GAAAA,EAAuBN,EAAc,WAAW,MAAMM,IAAyB,SAAcA,EAAuB,YAAkBN,EAAc,QAAQ,UAAU,aAAaL,CAAS,EAAEc,EAAQR,EAAS,IAAI,EAAE,EAAI,EAAE,EAAE,CAACN,CAAS,CAAC,EAAE6B,GAAU,IAAI,CAAI9B,EAAWU,EAAK,EAAOG,EAAM,CAAE,EAAE,CAACb,CAAU,CAAC,EAAsBmC,EAAKC,EAAO,IAAI,CAAC,IAAIjC,EAAG,MAAMvB,EAAM,QAAAY,EAAQ,aAAAC,EAAa,aAAAC,EAAa,YAAAC,EAAY,UAAAC,CAAS,CAAC,CAAE,CAAClB,GAAO,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ,MAAM,cAAc,GAAK,OAAOD,GAAe,SAAS,EAAE,OAAO,OAAO,eAAe,CAAC,EAAE4D,EAAoB3D,GAAO,CAAC,QAAQ,CAAC,KAAK4D,EAAY,KAAK,wBAAwB,GAAK,MAAM,SAAS,QAAQ,CAAC,MAAM,QAAQ,CAAC,EAAE,OAAO,CAAC,KAAKA,EAAY,OAAO,MAAM,MAAM,YAAY,kBAAkB,OAAO3D,GAAOA,EAAM,UAAU,QAAQ,EAAE,QAAQ,CAAC,KAAK2D,EAAY,KAAK,MAAM,OAAO,iBAAiB,CAAC,MAAM,EAAE,OAAO3D,GAAOA,EAAM,UAAU,KAAK,EAAE,QAAQ,CAAC,KAAK2D,EAAY,QAAQ,MAAM,UAAU,aAAa,MAAM,cAAc,IAAI,EAC/tD,cAAc,CAAC,KAAKA,EAAY,QAAQ,MAAM,SAAS,cAAc,OAAO,aAAa,QAAQ,OAAO3D,GAAOA,EAAM,UAAU,EAAK,EAAE,KAAK,CAAC,KAAK2D,EAAY,QAAQ,MAAM,OAAO,aAAa,MAAM,cAAc,IAAI,EAAE,oBAAoB,CAAC,MAAM,YAAY,KAAKA,EAAY,QAAQ,aAAa,SAAS,cAAc,SAAS,EAAE,MAAM,CAAC,KAAKA,EAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,eAAe,GAAK,KAAK,GAAG,EAAE,OAAO,CAAC,MAAM,SAAS,KAAKA,EAAY,KAAK,QAAQ,CAAC,OAAO,QAAQ,EAAE,wBAAwB,EAAI,EAAE,eAAe,CAAC,MAAM,IAAI,KAAKA,EAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,OAAO,CAAC,CAAC,OAAAtD,CAAM,IAAIA,IAAS,MAAM,EAAE,SAAS,CAAC,MAAM,WAAW,KAAKsD,EAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,YAAY,mGAAmG,EAAE,GAAGC,EAAa,CAAC,ECrBjjB,IAAMC,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,MAAM,YAAY,MAAM,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,QAAQL,GAAwBK,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMtB,IAAesB,EAAM,iBAAwBtB,EAAS,KAAK,GAAG,EAAEsB,EAAM,iBAAwBtB,EAAS,KAAK,GAAG,EAAUwB,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,GAAK,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAA9B,EAAQ,GAAG+B,CAAS,EAAEf,GAASI,CAAK,EAAO,CAAC,YAAAY,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAzC,CAAQ,EAAE0C,GAAgB,CAAC,WAAA/C,GAAW,eAAe,YAAY,QAAAO,EAAQ,kBAAAL,EAAiB,CAAC,EAAQ8C,EAAiBpB,GAAuBD,EAAMtB,CAAQ,EAAuC4C,EAAkBC,GAAGjD,GAAkB,GAAhD,CAAC,CAAuE,EAAQkD,EAAWC,EAAO,IAAI,EAAQC,EAAY,IAAQd,IAAc,YAA6Ce,EAAa,IAAQf,IAAc,YAA6CgB,EAAsBC,GAAM,EAAQC,EAAkBC,GAAqB,EAAE,OAAoBxC,EAAKyC,GAAY,CAAC,GAAGtB,GAAUkB,EAAgB,SAAsBrC,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsBoD,EAAMxC,EAAO,IAAI,CAAC,GAAGkB,EAAU,GAAGI,EAAgB,UAAUQ,GAAGD,EAAkB,iBAAiBb,EAAUI,CAAU,EAAE,mBAAmB,QAAQ,iBAAiBQ,EAAiB,SAAS,YAAY,IAAIjB,GAAKoB,EAAK,MAAM,CAAC,GAAGhB,CAAK,EAAE,GAAGhC,GAAqB,CAAC,UAAU,CAAC,mBAAmB,OAAO,CAAC,EAAEoC,EAAYI,CAAc,EAAE,SAAS,CAACU,EAAY,GAAgBnC,EAAK2C,GAAI,CAAC,UAAU,iBAAiB,mBAAmB,cAAc,OAAO,WAAW,iBAAiBb,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,8QAA8Q,aAAa,YAAY,mBAAmB,EAAI,CAAC,EAAEM,EAAa,GAAgBpC,EAAK2C,GAAI,CAAC,UAAU,eAAe,mBAAmB,cAAc,OAAO,WAAW,iBAAiBb,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,oWAAoW,aAAa,YAAY,mBAAmB,GAAK,GAAG7C,GAAqB,CAAC,UAAU,CAAC,aAAa,UAAU,CAAC,EAAEoC,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQmB,GAAI,CAAC,kFAAkF,gFAAgF,0PAA0P,4HAA4H,8WAA8W,EAQxyJC,GAAgBC,GAAQnC,GAAUiC,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,qBAAqBA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,QAAQ,OAAO,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECRC,IAAMM,GAAsBC,GAASC,EAAgB,EAAQC,GAAyBC,GAAoBF,EAAgB,EAAQG,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAqB,CAAC,MAAM,YAAY,MAAM,WAAW,EAAQC,GAAwB,CAAC,GAAG,YAAY,IAAI,WAAW,EAAQC,GAAS,CAAC,CAAC,SAAAC,EAAS,OAAAC,EAAO,WAAAC,EAAW,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUL,GAAUK,EAAM,WAAW,sEAAsE,UAAUR,GAAqBK,CAAU,GAAGA,GAAYG,EAAM,UAAU,QAAQP,GAAwBO,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMzB,IAAeyB,EAAM,iBAAwBzB,EAAS,KAAK,GAAG,EAAEyB,EAAM,iBAAwBzB,EAAS,KAAK,GAAG,EAAU2B,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,GAAK,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAjC,EAAQ,UAAAkC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAEnB,GAASM,CAAK,EAAO,CAAC,YAAAc,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAA9C,CAAQ,EAAE+C,GAAgB,CAAC,WAAApD,GAAW,eAAe,YAAY,QAAAO,EAAQ,kBAAAL,EAAiB,CAAC,EAAQmD,EAAiBtB,GAAuBD,EAAMzB,CAAQ,EAAuCiD,EAAkBC,GAAGtD,GAAkB,GAAhD,CAAC,CAAuE,EAAQuD,EAAWC,EAAO,IAAI,EAAQC,EAAsBC,GAAM,EAAQC,EAAkBC,GAAqB,EAAE,OAAoB3C,EAAK4C,GAAY,CAAC,GAAGtB,GAAUkB,EAAgB,SAAsBxC,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsBU,EAAKE,EAAO,IAAI,CAAC,GAAGuB,EAAU,GAAGI,EAAgB,UAAUQ,GAAGD,EAAkB,gBAAgBf,EAAUM,CAAU,EAAE,mBAAmB,MAAM,iBAAiBQ,EAAiB,SAAS,YAAY,IAAInB,GAAKsB,EAAK,MAAM,CAAC,gBAAgBf,EAAU,uBAAuB,MAAM,wBAAwB,MAAM,oBAAoB,MAAM,qBAAqB,MAAM,GAAGH,CAAK,EAAE,GAAGnC,GAAqB,CAAC,UAAU,CAAC,mBAAmB,IAAI,CAAC,EAAEyC,EAAYI,CAAc,EAAE,SAAsB9B,EAAK6C,GAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAGH,GAAmB,GAAG,KAAKA,GAAmB,QAAQ,IAAI,kBAAkB,GAAG,GAAGzD,GAAqB,CAAC,UAAU,CAAC,GAAGyD,GAAmB,GAAG,KAAKA,GAAmB,QAAQ,IAAI,kBAAkB,EAAE,CAAC,EAAEhB,EAAYI,CAAc,EAAE,SAAsB9B,EAAKE,EAAO,IAAI,CAAC,UAAU,0BAA0B,iBAAiBiC,EAAiB,SAAS,sBAAsB,SAAsBnC,EAAKrB,GAAiB,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ6C,EAAU,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQsB,GAAI,CAAC,kFAAkF,kFAAkF,+JAA+J,+JAA+J,8EAA8E,wGAAwG,EASxgJC,GAAgBC,GAAQlC,GAAUgC,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,oBAAoBA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,MAAM,IAAI,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,8FAA8F,MAAM,YAAY,KAAKA,EAAY,KAAK,EAAE,UAAUvE,IAA2B,SAAY,CAAC,GAAGA,GAAyB,QAAW,aAAa,KAAK,YAAY,OAAU,OAAO,OAAU,MAAM,aAAa,CAAC,CAAC,EAAEwE,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAGtE,EAAqB,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECT9H,IAAM4E,GAASC,GAASC,EAAG,EAAQC,GAAoCC,GAAOC,EAA6B,EAAQC,GAAqBL,GAASM,EAAe,EAAQC,GAAwBC,GAAoBF,EAAe,EAAQG,GAAgB,CAAC,UAAU,CAAC,MAAM,EAAI,CAAC,EAAQC,GAAW,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,GAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,OAAO,EAAQC,GAAU,CAAC,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAqB,CAAC,MAAM,YAAY,MAAM,WAAW,EAAQC,GAAwB,CAAC,YAAY,YAAY,YAAY,YAAY,QAAQ,YAAY,OAAO,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,OAAAC,EAAO,MAAAC,EAAM,QAAAC,EAAQ,SAAAC,EAAS,OAAAC,EAAO,WAAAC,EAAW,GAAAC,EAAG,MAAAC,EAAM,KAAAC,EAAK,OAAAC,EAAO,aAAAC,EAAa,UAAAC,EAAU,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUJ,GAAQI,EAAM,UAAU,UAAUZ,GAAOY,EAAM,UAAU,UAAUb,GAAQa,EAAM,WAAW,qBAAqB,UAAUN,GAAOM,EAAM,WAAW,cAAc,UAAUjB,GAAqBS,CAAU,GAAGA,GAAYQ,EAAM,WAAW,YAAY,UAAUd,GAAQc,EAAM,WAAW,CAAC,YAAY,QAAQ,YAAY,QAAQ,YAAY,CAAC,EAAE,UAAUX,GAASW,EAAM,WAAW,2BAAsB,UAAUH,GAAcG,EAAM,UAAU,UAAUF,GAAWE,EAAM,WAAW,kEAAkE,UAAUL,GAAMK,EAAM,UAAU,UAAUV,GAAUU,EAAM,WAAW,sEAAsE,QAAQhB,GAAwBgB,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMpC,IAAeoC,EAAM,iBAAwBpC,EAAS,KAAK,GAAG,EAAEoC,EAAM,iBAAwBpC,EAAS,KAAK,GAAG,EAAUsC,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAAnD,EAAQ,UAAAoD,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAE5C,GAASe,CAAK,EAAO,CAAC,YAAA8B,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAzE,CAAQ,EAAE0E,GAAgB,CAAC,WAAA/E,GAAW,eAAe,YAAY,gBAAAD,GAAgB,IAAIiD,EAAW,QAAAzC,EAAQ,kBAAAL,EAAiB,CAAC,EAAQ8E,EAAiBtC,GAAuBD,EAAMpC,CAAQ,EAAO,CAAC,sBAAA4E,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAaH,EAAsB,SAASI,IAAO,CAAoC,GAAnCR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAKV,GAAqB,MAAMA,EAAU,GAAGkB,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAuCC,EAAkBC,GAAGtF,GAAkB,GAAhD,CAAC,CAAuE,EAAQuF,EAAY,IAAQ,GAAC,YAAY,WAAW,EAAE,SAASjB,CAAW,EAAmCkB,EAAa,IAAQ,EAAC,YAAY,WAAW,EAAE,SAASlB,CAAW,EAA6B,OAAoBnD,EAAKsE,GAAY,CAAC,GAAGhC,GAAUT,EAAgB,SAAsB7B,EAAKC,GAAS,CAAC,QAAQhB,EAAS,QAAQ,GAAM,SAAsBe,EAAKT,GAAW,CAAC,MAAMH,GAAY,SAAsBY,EAAKuE,GAAK,CAAC,KAAK5B,EAAU,YAAY,GAAK,OAAO,YAAY,aAAaC,EAAU,QAAQ,YAAY,aAAaC,EAAU,SAAsB2B,EAAMtE,EAAO,EAAE,CAAC,GAAGgD,EAAU,GAAGI,EAAgB,UAAU,GAAGa,GAAGD,EAAkB,iBAAiB7B,EAAUe,CAAU,CAAC,kBAAkB,mBAAmB,UAAU,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,MAAMI,EAAa,IAAIpC,EAAW,MAAM,CAAC,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,IAAI,GAAGQ,CAAK,EAAE,GAAGrD,GAAqB,CAAC,kBAAkB,CAAC,mBAAmB,MAAS,EAAE,UAAU,CAAC,mBAAmB,QAAQ,EAAE,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAEoE,EAAYI,CAAc,EAAE,SAAS,CAAcvD,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,cAAc,GAAK,mBAAmB,KAAK,iBAAiB0D,EAAiB,SAAS,YAAY,MAAM,CAAC,yBAAyBd,EAAU,mBAAmBA,EAAU,aAAa,KAAK,iBAAiBA,EAAU,YAAY,uBAAuBA,EAAU,iBAAiBA,EAAU,aAAa,KAAK,wBAAwBA,EAAU,kBAAkBA,EAAU,aAAa,KAAK,iBAAiBA,EAAU,YAAY,sBAAsBA,EAAU,gBAAgBA,EAAU,aAAa,KAAK,gBAAgBP,EAAU,uBAAuB,IAAI,wBAAwB,IAAI,oBAAoB,IAAI,qBAAqB,GAAG,EAAE,SAAS6B,EAAY,GAAgBpE,EAAKyE,GAA0B,CAAC,SAAsBzE,EAAK5B,GAAoC,CAAC,eAAekB,GAAU,4BAA4B,GAAK,0BAA0B,EAAE,yBAAyB,OAAO,yBAAyBD,GAAY,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,UAAU,2BAA2B,iBAAiB,GAAK,iBAAiB,GAAK,iBAAiBuE,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB5D,EAAK7B,GAAI,CAAC,kBAAkB,SAAS,MAAM,qBAAqB,eAAe,EAAE,KAAK,GAAM,KAAK,CAAC,WAAW,qDAAqD,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,SAAS,WAAW,KAAK,EAAE,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,YAAY,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,KAAK6E,EAAU,KAAK,GAAK,MAAM,OAAO,GAAGjE,GAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,qDAAqD,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,SAAS,WAAW,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,qDAAqD,SAAS,OAAO,UAAU,SAAS,WAAW,IAAI,cAAc,QAAQ,WAAW,KAAK,CAAC,CAAC,EAAEoE,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAevD,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,iBAAiB0D,EAAiB,SAAS,YAAY,SAAsB5D,EAAKyE,GAA0B,CAAC,OAAO,GAAG,GAAGvC,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,GAAGnD,GAAqB,CAAC,UAAU,CAAC,OAAO,GAAG,MAAM,OAAO,GAAGmD,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,MAAM,OAAO,GAAGA,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,EAAEiB,EAAYI,CAAc,EAAE,SAAsBvD,EAAK1B,GAA8B,CAAC,UAAU,2BAA2B,iBAAiBsF,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB5D,EAAKxB,GAAgB,CAAC,UAAUkE,EAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAUO,EAAU,QAAQ,YAAY,MAAM,OAAO,GAAGlE,GAAqB,CAAC,kBAAkB,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,CAAC,CAAC,EAAEoE,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEc,EAAa,GAAgBrE,EAAKE,EAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAQ,iBAAiB0D,EAAiB,SAAS,YAAY,SAAsB5D,EAAK0E,GAAS,CAAC,sBAAsB,GAAK,SAAsB1E,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,sBAAsB,wEAAwE,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,uBAAuB,EAAE,iBAAiB0D,EAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,gDAAgD,2BAA2B,mBAAmB,gCAAgC,YAAY,6BAA6B,MAAM,2CAA2CnB,CAAS,EAAE,KAAKD,EAAU,kBAAkB,MAAM,mBAAmB,GAAK,GAAGzD,GAAqB,CAAC,kBAAkB,CAAC,SAAsBiB,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,mCAAmC,uBAAuB,qDAAqD,uBAAuB,MAAM,sBAAsB,wEAAwE,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAEiD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQoB,GAAI,CAAC,kFAAkF,kFAAkF,+SAA+S,gMAAgM,0LAA0L,yQAAyQ,yGAAyG,+RAA+R,8JAA8J,o2BAAo2B,+EAA+E,mOAAmO,mJAAmJ,6GAA6G,qFAAqF,+bAA+b,EAS7/aC,GAAgBC,GAAQtD,GAAUoD,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,uBAAuBA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,SAAS,YAAY,WAAW,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,qBAAqB,MAAM,SAAS,KAAKA,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,cAAc,gBAAgB,GAAM,MAAM,QAAQ,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,aAAa,kEAAkE,MAAM,aAAa,KAAKA,EAAY,KAAK,EAAE,UAAU,CAAC,aAAa,8FAA8F,MAAM,YAAY,KAAKA,EAAY,KAAK,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,GAAM,MAAM,UAAU,KAAKA,EAAY,OAAO,EAAE,UAAU,CAAC,aAAa,GAAM,MAAM,gBAAgB,KAAKA,EAAY,OAAO,EAAE,UAAU,CAAC,aAAa,CAAC,YAAY,QAAQ,YAAY,QAAQ,YAAY,CAAC,EAAE,MAAM,SAAS,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,YAAY,EAAE,UAAU,CAAC,aAAa,2BAAsB,gBAAgB,GAAK,MAAM,UAAU,KAAKA,EAAY,MAAM,EAAE,UAAUvG,IAA0B,WAAc,CAAC,GAAGA,GAAwB,UAAa,aAAa,YAAY,YAAY,OAAU,OAAO,OAAU,MAAM,aAAa,CAAC,CAAC,EAAEwG,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG3G,GAAS,GAAGM,EAAoB,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECTrgE,IAAM2G,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO,EAAQC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,KAAAC,EAAK,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUF,GAAME,EAAM,UAAU,QAAQN,GAAwBM,EAAM,OAAO,GAAGA,EAAM,SAAS,WAAW,GAAUC,GAAuB,CAACD,EAAMvB,IAAeuB,EAAM,iBAAwBvB,EAAS,KAAK,GAAG,EAAEuB,EAAM,iBAAwBvB,EAAS,KAAK,GAAG,EAAUyB,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,GAAK,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAA/B,EAAQ,UAAAgC,EAAU,GAAGC,CAAS,EAAEjB,GAASK,CAAK,EAAO,CAAC,YAAAa,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAA3C,CAAQ,EAAE4C,GAAgB,CAAC,WAAAjD,GAAW,eAAe,YAAY,QAAAO,EAAQ,kBAAAL,EAAiB,CAAC,EAAQgD,EAAiBrB,GAAuBD,EAAMvB,CAAQ,EAAO,CAAC,sBAAA8C,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAeH,EAAsB,SAASI,IAAO,CAAC,MAAMH,EAAM,IAAIJ,EAAW,WAAW,EAAE,GAAG,CAAE,CAAC,EAAQQ,EAAgBL,EAAsB,SAASI,IAAO,CAAC,MAAMH,EAAM,IAAIJ,EAAW,WAAW,EAAE,GAAG,CAAE,CAAC,EAAES,GAAmBhB,EAAY,CAAC,QAAQa,EAAe,UAAUE,CAAe,CAAC,EAAiC,IAAME,EAAkBC,GAAG1D,GAAkB,GAAhD,CAAC,CAAuE,EAAQ2D,EAAWC,EAAO,IAAI,EAAQC,EAAsBC,GAAM,EAAQC,EAAkBC,GAAqB,EAAE,OAAoB/C,EAAKgD,GAAY,CAAC,GAAG5B,GAAUwB,EAAgB,SAAsB5C,EAAKC,GAAS,CAAC,QAAQd,EAAS,QAAQ,GAAM,SAAsBa,EAAKT,GAAW,CAAC,MAAMD,GAAY,SAAsBU,EAAKiD,GAAK,CAAC,KAAK5B,EAAU,OAAO,YAAY,aAAa,GAAK,SAAsBrB,EAAKE,EAAO,EAAE,CAAC,GAAGoB,EAAU,GAAGI,EAAgB,UAAU,GAAGe,GAAGD,EAAkB,gBAAgBrB,EAAUK,CAAU,CAAC,kBAAkB,mBAAmB,YAAY,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,IAAIlB,GAAK4B,EAAK,MAAM,CAAC,GAAGxB,CAAK,EAAE,GAAGjC,GAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAEsC,EAAYI,CAAc,EAAE,SAAsB3B,EAAKkD,GAAS,CAAC,sBAAsB,GAAK,SAAsBlD,EAAWG,EAAS,CAAC,SAAsBgD,EAAMjD,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,qBAAqB,OAAO,sBAAsB,2CAA2C,EAAE,SAAS,CAAcF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,wCAAwC,EAAE,SAAS,OAAO,CAAC,EAAeF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,0CAA0C,EAAE,SAAS,GAAG,CAAC,EAAeF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,mCAAmC,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,MAAM,CAAC,wBAAwB,gCAAgC,EAAE,iBAAiB8B,EAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,eAAe,qBAAqB,kBAAkB,qBAAqB,mBAAmB,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,sBAAsB,kBAAkB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAG/C,GAAqB,CAAC,UAAU,CAAC,SAAsBe,EAAWG,EAAS,CAAC,SAAsBgD,EAAMjD,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,qBAAqB,MAAM,EAAE,SAAS,CAAcF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,oCAAoC,sBAAsB,4CAA4C,EAAE,SAAS,OAAO,CAAC,EAAeF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,0CAA0C,EAAE,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEqB,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQyB,GAAI,CAAC,kFAAkF,kFAAkF,mRAAmR,gHAAgH,0WAA0W,EAStgMC,GAAgBC,GAAQ1C,GAAUwC,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,eAAeA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAY,IAAI,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,uGAAuG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECTjlB,IAAMM,GAAgB,CAAC,UAAU,CAAC,MAAM,EAAI,CAAC,EAAQC,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,iBAAiB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAmB,CAACC,EAAEC,IAAI,yBAAyBA,CAAC,GAASC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,QAAQ,YAAY,SAAS,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,KAAAC,EAAK,MAAAC,EAAM,SAAAC,EAAS,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUJ,GAAMI,EAAM,UAAU,QAAQR,GAAwBQ,EAAM,OAAO,GAAGA,EAAM,SAAS,YAAY,UAAUH,GAAOG,EAAM,UAAU,UAAUF,GAAUE,EAAM,WAAW,UAAU,GAAUC,GAAuB,CAACD,EAAM5B,IAAe4B,EAAM,iBAAwB5B,EAAS,KAAK,GAAG,EAAE4B,EAAM,iBAAwB5B,EAAS,KAAK,GAAG,EAAU8B,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,GAAK,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAApC,EAAQ,UAAAqC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAErB,GAASO,CAAK,EAAO,CAAC,YAAAe,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAlD,CAAQ,EAAEmD,GAAgB,CAAC,WAAAxD,GAAW,eAAe,YAAY,gBAAAD,GAAgB,QAAAQ,EAAQ,kBAAAL,EAAiB,CAAC,EAAQuD,EAAiBvB,GAAuBD,EAAM5B,CAAQ,EAAO,CAAC,sBAAAqD,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAYH,EAAsB,SAASI,IAAO,CAAoC,GAAnCR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAKR,GAAqB,MAAMA,EAAU,GAAGgB,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAuCC,EAAkBC,GAAG/D,GAAkB,GAAhD,CAAC,CAAuE,EAAQgE,EAAWC,EAAO,IAAI,EAAQC,EAAY,IAAQnB,IAAc,YAA6CoB,EAAsBC,GAAM,EAAQC,EAAkBC,GAAqB,EAAE,OAAoBlD,EAAKmD,GAAY,CAAC,GAAG7B,GAAUyB,EAAgB,SAAsB/C,EAAKC,GAAS,CAAC,QAAQjB,EAAS,QAAQ,GAAM,SAAsBgB,EAAKT,GAAW,CAAC,MAAMJ,GAAY,SAAsBa,EAAKoD,GAAK,CAAC,KAAK7B,EAAU,OAAO,YAAY,SAAsBvB,EAAKE,EAAO,EAAE,CAAC,GAAGwB,EAAU,GAAGI,EAAgB,UAAU,GAAGa,GAAGD,EAAkB,gBAAgBrB,EAAUO,CAAU,CAAC,iBAAiB,mBAAmB,UAAU,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,MAAMI,EAAY,IAAIxB,GAAK4B,EAAK,MAAM,CAAC,GAAGxB,CAAK,EAAE,GAAGtC,GAAqB,CAAC,kBAAkB,CAAC,mBAAmB,MAAS,EAAE,UAAU,CAAC,mBAAmB,UAAU,CAAC,EAAE6C,EAAYI,CAAc,EAAE,SAAsBsB,EAAMnD,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBkC,EAAiB,SAAS,YAAY,SAAS,CAAcpC,EAAKsD,GAAS,CAAC,sBAAsB,GAAK,SAAsBtD,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,0CAA0C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,uBAAuB,EAAE,iBAAiBkC,EAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,kBAAkB,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,KAAKZ,EAAU,kBAAkBpC,GAAmB,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,kBAAkB,EAAE,UAAU,CAAC,qBAAqB,kBAAkB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGN,GAAqB,CAAC,kBAAkB,CAAC,SAAsBkB,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,oCAAoC,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,2CAA2C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAAE,UAAU,CAAC,SAAsBF,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,oCAAoC,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,2CAA2C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAEyB,EAAYI,CAAc,CAAC,CAAC,EAAEe,EAAY,GAAgB9C,EAAKuD,GAAI,CAAC,UAAU,iBAAiB,OAAO,WAAW,iBAAiBnB,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,sSAAsS,aAAa,WAAW,mBAAmB,GAAK,GAAGtD,GAAqB,CAAC,UAAU,CAAC,aAAa,WAAW,CAAC,EAAE6C,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQyB,GAAI,CAAC,kFAAkF,gFAAgF,oTAAoT,mHAAmH,sIAAsI,oLAAoL,0WAA0W,EASpkOC,GAAgBC,GAAQ5C,GAAU0C,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,aAAaA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,UAAU,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,MAAM,YAAY,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,YAAY,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,uGAAuG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECTtZ,IAAMM,GAAgBC,GAASC,EAAU,EAAQC,GAAiBF,GAASG,EAAW,EAAQC,GAAgBC,GAAOC,EAAO,GAAG,EAAQC,GAAmBC,GAAoBP,EAAU,EAAQQ,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,MAAM,EAAE,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAO,EAAQC,GAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAQC,GAAY,CAAC,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAWD,GAAY,EAAE,IAAI,EAAE,CAAC,EAAQE,GAAmB,CAACC,EAAEC,IAAI,yBAAyBA,CAAC,GAASC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAAS5B,EAAO,OAAa6B,CAAQ,EAAQC,GAAqB,CAAC,QAAQ,YAAY,SAAS,WAAW,EAAQC,GAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,MAAAC,EAAM,MAAAC,EAAM,MAAAC,EAAM,MAAAC,EAAM,SAAAC,EAAS,UAAAC,EAAU,UAAAC,EAAU,GAAAC,EAAG,GAAAC,EAAG,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUV,GAAOU,EAAM,UAAU,UAAUf,GAAqBa,CAAE,GAAGA,GAAIE,EAAM,UAAU,UAAUT,GAAOS,EAAM,UAAU,UAAUJ,GAAWI,EAAM,WAAW,gBAAgB,UAAUP,GAAOO,EAAM,UAAU,UAAUR,GAAOQ,EAAM,UAAU,UAAUL,GAAWK,EAAM,WAAW,WAAW,QAAQd,GAAwBc,EAAM,OAAO,GAAGA,EAAM,SAAS,YAAY,UAAUN,GAAUM,EAAM,WAAW,YAAY,UAAUf,GAAqBY,CAAE,GAAGA,GAAIG,EAAM,SAAS,GAAUC,GAAuB,CAACD,EAAMrC,IAAeqC,EAAM,iBAAwBrC,EAAS,KAAK,GAAG,EAAEqC,EAAM,iBAAwBrC,EAAS,KAAK,GAAG,EAAUuC,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAApD,EAAQ,UAAAqD,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAEzC,GAASa,CAAK,EAAO,CAAC,YAAA6B,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAzE,CAAQ,EAAE0E,GAAgB,CAAC,WAAA/E,GAAW,eAAe,YAAY,IAAIiD,EAAW,QAAA1C,EAAQ,kBAAAL,EAAiB,CAAC,EAAQ8E,EAAiBrC,GAAuBD,EAAMrC,CAAQ,EAAO,CAAC,sBAAA4E,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAaH,EAAsB,SAASI,IAAO,CAACP,EAAW,WAAW,CAAE,CAAC,EAAQQ,EAAYL,EAAsB,SAASI,IAAO,CAACP,EAAW,WAAW,CAAE,CAAC,EAAuCS,EAAkBC,GAAGvF,GAAkB,GAAhD,CAAC,CAAuE,EAAQwF,EAAY,IAAQlB,IAAc,YAA6CmB,EAAa,IAAQnB,IAAc,YAAuC,OAAoB/C,EAAKmE,GAAY,CAAC,GAAGhC,GAAUT,EAAgB,SAAsB1B,EAAKC,GAAS,CAAC,QAAQpB,EAAS,QAAQ,GAAM,SAAsBmB,EAAKT,GAAW,CAAC,MAAMP,GAAY,SAAsBoF,EAAM/F,EAAO,IAAI,CAAC,GAAGyE,EAAU,GAAGI,EAAgB,UAAUc,GAAGD,EAAkB,iBAAiB7B,EAAUc,CAAU,EAAE,mBAAmB,YAAY,iBAAiBQ,EAAiB,SAAS,YAAY,IAAI/B,EAAW,MAAM,CAAC,gBAAgB,qBAAqB,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,GAAGQ,CAAK,EAAE,GAAGtD,GAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAEoE,EAAYI,CAAc,EAAE,SAAS,CAAcnD,EAAK3B,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBmF,EAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,UAAU,MAAM,EAAE,SAAS,CAAC,UAAU,CAAC,UAAU,sCAAsC,CAAC,EAAE,SAASS,EAAY,GAAgBG,EAAMjG,GAAgB,CAAC,kBAAkB,CAAC,WAAWe,EAAW,EAAE,sBAAsB,GAAM,gBAAgBD,GAAU,eAAeE,GAAW,mCAAmC,GAAK,oBAAoB,GAAG,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,UAAU,iBAAiB,iBAAiBqE,EAAiB,SAAS,YAAY,kBAAkBpE,GAAmB,GAAGT,GAAqB,CAAC,UAAU,CAAC,kBAAkB,MAAS,CAAC,EAAEoE,EAAYI,CAAc,EAAE,SAAS,CAACe,EAAa,GAAgBlE,EAAKqE,GAA0B,CAAC,OAAO,GAAG,SAAsBrE,EAAKsE,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiBd,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBxD,EAAKhC,GAAW,CAAC,UAAUsE,EAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQD,EAAU,MAAM,OAAO,UAAUE,CAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAevC,EAAKqE,GAA0B,CAAC,OAAO,GAAG,GAAG1F,GAAqB,CAAC,UAAU,CAAC,MAAM,QAAQoD,GAAmB,OAAO,OAAO,YAAY,GAAGA,GAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAEgB,EAAYI,CAAc,EAAE,SAAsBnD,EAAKsE,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiBd,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBxD,EAAK9B,GAAY,CAAC,OAAO,OAAO,GAAG,YAAY,UAAUkE,EAAU,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAepC,EAAKqE,GAA0B,CAAC,OAAO,GAAG,GAAG1F,GAAqB,CAAC,UAAU,CAAC,MAAM,QAAQoD,GAAmB,OAAO,OAAO,YAAY,GAAGA,GAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC,EAAEgB,EAAYI,CAAc,EAAE,SAAsBnD,EAAKsE,GAA8B,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,iBAAiBd,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBxD,EAAKhC,GAAW,CAAC,UAAUwE,EAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQI,EAAU,MAAM,OAAO,UAAUH,CAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAezC,EAAKqE,GAA0B,CAAC,OAAO,GAAG,GAAG1F,GAAqB,CAAC,UAAU,CAAC,MAAM,QAAQoD,GAAmB,OAAO,OAAO,YAAY,GAAGA,GAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAEgB,EAAYI,CAAc,EAAE,SAAsBnD,EAAKsE,GAA8B,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,iBAAiBd,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBxD,EAAKhC,GAAW,CAAC,UAAU0E,EAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQG,EAAU,MAAM,OAAO,UAAUF,CAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAeyB,EAAM/F,EAAO,IAAI,CAAC,UAAU,gBAAgB,iBAAiB,GAAK,iBAAiBmF,EAAiB,SAAS,YAAY,MAAMI,EAAa,GAAGjF,GAAqB,CAAC,UAAU,CAAC,MAAMmF,CAAW,CAAC,EAAEf,EAAYI,CAAc,EAAE,SAAS,CAAcnD,EAAKuE,GAAI,CAAC,UAAU,gBAAgB,mBAAmB,UAAU,OAAO,WAAW,iBAAiBf,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,wOAAwO,aAAa,YAAY,mBAAmB,GAAK,GAAG7E,GAAqB,CAAC,UAAU,CAAC,IAAI,oRAAoR,aAAa,WAAW,CAAC,EAAEoE,EAAYI,CAAc,CAAC,CAAC,EAAenD,EAAKuE,GAAI,CAAC,UAAU,gBAAgB,mBAAmB,UAAU,OAAO,WAAW,iBAAiBf,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,wOAAwO,aAAa,WAAW,mBAAmB,GAAK,GAAG7E,GAAqB,CAAC,UAAU,CAAC,IAAI,mRAAmR,aAAa,WAAW,CAAC,EAAEoE,EAAYI,CAAc,CAAC,CAAC,EAAenD,EAAKuE,GAAI,CAAC,UAAU,gBAAgB,mBAAmB,UAAU,OAAO,WAAW,iBAAiBf,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,sOAAsO,aAAa,YAAY,mBAAmB,GAAK,GAAG7E,GAAqB,CAAC,UAAU,CAAC,IAAI,mRAAmR,aAAa,WAAW,CAAC,EAAEoE,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQqB,GAAI,CAAC,kFAAkF,kFAAkF,qGAAqG,kQAAkQ,oTAAoT,0LAA0L,wGAAwG,qJAAqJ,+OAA+O,4HAA4H,oRAAoR,iGAAiG,uEAAuE,wEAAwE,uEAAuE,EAW7wZC,GAAgBC,GAAQtD,GAAUoD,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,OAAOA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,YAAY,gBAAgB,GAAM,MAAM,YAAY,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,MAAM,cAAc,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,gBAAgB,gBAAgB,GAAM,MAAM,cAAc,KAAKA,EAAY,MAAM,EAAE,UAAUvG,IAAqB,SAAY,CAAC,GAAGA,GAAmB,QAAW,aAAa,KAAK,YAAY,OAAU,OAAO,OAAU,MAAM,KAAK,EAAE,UAAUA,IAAqB,SAAY,CAAC,GAAGA,GAAmB,QAAW,aAAa,KAAK,YAAY,OAAU,OAAO,OAAU,MAAM,KAAK,CAAC,CAAC,EAAEwG,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAG3G,GAAgB,GAAGG,EAAgB,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECX/5B,IAAM8G,GAAgB,CAAC,UAAU,CAAC,MAAM,EAAI,CAAC,EAAQC,GAAW,CAAC,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,mBAAmB,UAAU,iBAAiB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAmB,CAACC,EAAEC,IAAI,yBAAyBA,CAAC,GAASC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAwB,CAAC,QAAQ,YAAY,SAAS,WAAW,EAAQC,GAAS,CAAC,CAAC,OAAAC,EAAO,GAAAC,EAAG,KAAAC,EAAK,MAAAC,EAAM,SAAAC,EAAS,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUJ,GAAMI,EAAM,UAAU,QAAQR,GAAwBQ,EAAM,OAAO,GAAGA,EAAM,SAAS,YAAY,UAAUH,GAAOG,EAAM,UAAU,UAAUF,GAAUE,EAAM,WAAW,UAAU,GAAUC,GAAuB,CAACD,EAAM5B,IAAe4B,EAAM,iBAAwB5B,EAAS,KAAK,GAAG,EAAE4B,EAAM,iBAAwB5B,EAAS,KAAK,GAAG,EAAU8B,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAA3C,EAAQ,UAAA4C,EAAU,UAAAC,EAAU,UAAAC,EAAU,GAAGC,CAAS,EAAE5B,GAASO,CAAK,EAAO,CAAC,YAAAsB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAzD,CAAQ,EAAE0D,GAAgB,CAAC,WAAA/D,GAAW,eAAe,YAAY,gBAAAD,GAAgB,IAAIyC,EAAW,QAAAjC,EAAQ,kBAAAL,EAAiB,CAAC,EAAQ8D,EAAiB9B,GAAuBD,EAAM5B,CAAQ,EAAO,CAAC,sBAAA4D,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAYH,EAAsB,SAASI,IAAO,CAAoC,GAAnCR,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAKR,GAAqB,MAAMA,EAAU,GAAGgB,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAuCC,EAAkBC,GAAGtE,GAAkB,GAAhD,CAAC,CAAuE,EAAQuE,EAAY,IAAQjB,IAAc,YAAuC,OAAoBlC,EAAKoD,GAAY,CAAC,GAAGvB,GAAUT,EAAgB,SAAsBpB,EAAKC,GAAS,CAAC,QAAQjB,EAAS,QAAQ,GAAM,SAAsBgB,EAAKT,GAAW,CAAC,MAAMJ,GAAY,SAAsBa,EAAKqD,GAAK,CAAC,KAAKvB,EAAU,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB9B,EAAKE,EAAO,EAAE,CAAC,GAAG+B,EAAU,GAAGI,EAAgB,UAAU,GAAGa,GAAGD,EAAkB,iBAAiBrB,EAAUO,CAAU,CAAC,kBAAkB,mBAAmB,UAAU,iBAAiB,GAAK,iBAAiBQ,EAAiB,SAAS,YAAY,MAAMI,EAAY,IAAI5B,EAAW,MAAM,CAAC,GAAGQ,CAAK,EAAE,GAAG7C,GAAqB,CAAC,kBAAkB,CAAC,mBAAmB,MAAS,EAAE,UAAU,CAAC,mBAAmB,UAAU,CAAC,EAAEoD,EAAYI,CAAc,EAAE,SAAsBgB,EAAMpD,EAAO,IAAI,CAAC,UAAU,gBAAgB,iBAAiByC,EAAiB,SAAS,YAAY,SAAS,CAAc3C,EAAKuD,GAAS,CAAC,sBAAsB,GAAK,SAAsBvD,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,0CAA0C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,uBAAuB,EAAE,iBAAiByC,EAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,kBAAkB,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,KAAKZ,EAAU,kBAAkB3C,GAAmB,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,kBAAkB,EAAE,UAAU,CAAC,qBAAqB,kBAAkB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGN,GAAqB,CAAC,kBAAkB,CAAC,SAAsBkB,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,oCAAoC,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,2CAA2C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gCAAgC,CAAC,EAAE,UAAU,CAAC,SAAsBF,EAAWG,EAAS,CAAC,SAAsBH,EAAKE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,oCAAoC,qBAAqB,OAAO,0BAA0B,SAAS,sBAAsB,2CAA2C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,gCAAgC,CAAC,CAAC,EAAEgC,EAAYI,CAAc,CAAC,CAAC,EAAEa,EAAY,GAAgBnD,EAAKwD,GAAI,CAAC,UAAU,gBAAgB,OAAO,WAAW,iBAAiBb,EAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,sSAAsS,aAAa,WAAW,mBAAmB,GAAK,GAAG7D,GAAqB,CAAC,UAAU,CAAC,aAAa,WAAW,CAAC,EAAEoD,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQmB,GAAI,CAAC,kFAAkF,kFAAkF,qTAAqT,kHAAkH,sIAAsI,oLAAoL,8WAA8W,EAS7rOC,GAAgBC,GAAQ7C,GAAU2C,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,aAAaA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,UAAU,UAAU,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,OAAO,KAAKA,EAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,MAAM,YAAY,KAAKA,EAAY,MAAM,EAAE,UAAU,CAAC,MAAM,SAAS,KAAKA,EAAY,YAAY,CAAC,CAAC,EAAEC,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,uGAAuG,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECThH,IAAMM,GAAgBC,GAASC,EAAU,EAAQC,GAAiBF,GAASG,EAAW,EAAQC,GAAwBJ,GAASK,EAAkB,EAAQC,GAAUN,GAASO,EAAI,EAAQC,GAAmBC,GAAoBR,EAAU,EAAQS,GAAaD,GAAoBF,EAAI,EAAQI,GAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,GAAkB,eAAqBC,GAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,iBAAiB,EAAE,SAASC,GAAqBC,KAAaC,EAAS,CAAC,IAAMC,EAAc,CAAC,EAAE,OAAAD,GAAU,QAAQE,GAASA,GAAS,OAAO,OAAOD,EAAcF,EAAUG,CAAO,CAAC,CAAC,EAASD,CAAc,CAAC,IAAME,GAAY,CAAC,OAAO,GAAG,MAAM,EAAE,SAAS,GAAG,KAAK,QAAQ,EAAQC,GAAmB,CAACC,EAAEC,IAAI,yBAAyBA,CAAC,GAASC,GAAW,CAAC,CAAC,MAAAC,EAAM,SAAAC,CAAQ,IAAI,CAAC,IAAMC,EAAaC,GAAWC,EAAmB,EAAQC,EAAWL,GAAOE,EAAO,WAAiBI,EAAmBC,GAAQ,KAAK,CAAC,GAAGL,EAAO,WAAAG,CAAU,GAAG,CAAC,KAAK,UAAUA,CAAU,CAAC,CAAC,EAAE,OAAoBG,EAAKJ,GAAoB,SAAS,CAAC,MAAME,EAAa,SAASL,CAAQ,CAAC,CAAE,EAAQQ,GAASC,EAAO,OAAaC,CAAQ,EAAQC,GAAqB,CAAC,QAAQ,YAAY,SAAS,WAAW,EAAQC,GAAsB,CAAC,QAAQ,YAAY,SAAS,WAAW,EAAQC,GAAwB,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,OAAO,YAAY,MAAM,YAAY,IAAI,WAAW,EAAQC,GAAS,CAAC,CAAC,MAAAC,EAAM,OAAAC,EAAO,GAAAC,EAAG,GAAAC,EAAG,GAAAC,EAAG,SAAAC,EAAS,SAAAC,EAAS,MAAAC,EAAM,GAAGC,CAAK,KAAW,CAAC,GAAGA,EAAM,UAAUR,GAAOQ,EAAM,UAAU,UAAUZ,GAAqBS,CAAQ,GAAGA,GAAUG,EAAM,UAAU,UAAUX,GAAsBM,CAAE,GAAGA,GAAIK,EAAM,WAAW,YAAY,QAAQV,GAAwBU,EAAM,OAAO,GAAGA,EAAM,SAAS,YAAY,UAAUX,GAAsBO,CAAE,GAAGA,GAAII,EAAM,WAAW,YAAY,UAAUZ,GAAqBU,CAAQ,GAAGA,GAAUE,EAAM,SAAS,GAAUC,GAAuB,CAACD,EAAMhC,IAAegC,EAAM,iBAAwBhC,EAAS,KAAK,GAAG,EAAEgC,EAAM,iBAAwBhC,EAAS,KAAK,GAAG,EAAUkC,GAA6BC,GAAW,SAASH,EAAMI,EAAI,CAAC,IAAMC,EAAYC,EAAO,IAAI,EAAQC,EAAWH,GAAKC,EAAkBG,EAAsBC,GAAM,EAAO,CAAC,aAAAC,EAAa,UAAAC,CAAS,EAAEC,GAAc,EAAQC,EAAkBC,GAAqB,EAAO,CAAC,MAAAC,EAAM,UAAAC,EAAU,SAAAC,EAAS,QAAA/C,EAAQ,UAAAgD,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,UAAAC,EAAU,mBAAAC,EAAmB,GAAGC,CAAS,EAAEjC,GAASS,CAAK,EAAO,CAAC,YAAAyB,EAAY,WAAAC,EAAW,oBAAAC,EAAoB,gBAAAC,EAAgB,eAAAC,EAAe,UAAAC,EAAU,gBAAAC,EAAgB,WAAAC,EAAW,SAAAhE,CAAQ,EAAEiE,GAAgB,CAAC,WAAAtE,GAAW,eAAe,YAAY,IAAI4C,EAAW,QAAArC,EAAQ,kBAAAL,EAAiB,CAAC,EAAQqE,EAAiBjC,GAAuBD,EAAMhC,CAAQ,EAAO,CAAC,sBAAAmE,EAAsB,MAAAC,CAAK,EAAEC,GAAyBZ,CAAW,EAAQa,EAAiBH,EAAsB,SAASI,IAAO,CAAC,GAAGrB,GAAqB,MAAMA,EAAU,GAAGqB,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAuCC,EAAkBC,GAAG7E,GAAkB,GAAhD,CAAC,CAAuE,EAAQ8E,EAAY,IAAQ,GAAC,YAAY,YAAY,WAAW,EAAE,SAASjB,CAAW,EAAmCkB,EAAa,IAAQ,EAAC,YAAY,YAAY,WAAW,EAAE,SAASlB,CAAW,EAAmCmB,EAAa,IAAQnB,IAAc,YAA6CoB,EAAa,IAAQpB,IAAc,YAA6CqB,EAAa,IAAQ,EAAC,YAAY,YAAY,WAAW,EAAE,SAASrB,CAAW,EAAmCsB,EAAOC,GAAU,EAAQC,EAAa,IAAQ,GAAC,YAAY,WAAW,EAAE,SAASxB,CAAW,EAA6B,OAAoBzC,EAAKkE,GAAY,CAAC,GAAGjC,GAAUT,EAAgB,SAAsBxB,EAAKC,GAAS,CAAC,QAAQjB,EAAS,QAAQ,GAAM,SAAsBgB,EAAKT,GAAW,CAAC,MAAMJ,GAAY,SAAsBgF,EAAMjE,EAAO,IAAI,CAAC,GAAGsC,EAAU,GAAGI,EAAgB,UAAUa,GAAGD,EAAkB,iBAAiBxB,EAAUU,CAAU,EAAE,cAAc,GAAK,mBAAmB,SAAS,iBAAiBQ,EAAiB,SAAS,YAAY,IAAI3B,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,sBAAsB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,eAAe,aAAa,gBAAgB,4BAA4B,qBAAqB,aAAa,GAAGQ,CAAK,EAAE,GAAGjD,GAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,KAAK,EAAE,UAAU,CAAC,mBAAmB,OAAO,EAAE,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE2D,EAAYI,CAAc,EAAE,SAAS,CAAc7C,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,cAAc,GAAK,iBAAiBgD,EAAiB,SAAS,YAAY,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,sBAAsB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,KAAK,CAAC,CAAC,EAAelD,EAAKE,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBgD,EAAiB,SAAS,YAAY,SAAsBiB,EAAMjE,EAAO,IAAI,CAAC,UAAU,gBAAgB,iBAAiBgD,EAAiB,SAAS,YAAY,GAAGpE,GAAqB,CAAC,UAAU,CAAC,kBAAkBM,EAAkB,CAAC,EAAEqD,EAAYI,CAAc,EAAE,SAAS,CAACa,EAAY,GAAgB1D,EAAKoE,GAAS,CAAC,sBAAsB,GAAK,SAAsBpE,EAAWG,EAAS,CAAC,SAAsBgE,EAAMjE,EAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,+BAA+B,uBAAuB,qDAAqD,qBAAqB,OAAO,uBAAuB,MAAM,sBAAsB,2CAA2C,EAAE,SAAS,CAAcF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,wCAAwC,EAAE,SAAS,OAAO,CAAC,EAAeF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,0CAA0C,EAAE,SAAS,GAAG,CAAC,EAAeF,EAAKE,EAAO,KAAK,CAAC,MAAM,CAAC,kBAAkB,2CAA2C,uBAAuB,mCAAmC,EAAE,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,MAAM,CAAC,wBAAwB,gCAAgC,EAAE,iBAAiBgD,EAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,eAAe,qBAAqB,kBAAkB,qBAAqB,mBAAmB,2BAA2B,mBAAmB,gCAAgC,WAAW,EAAE,kBAAkB,MAAM,mBAAmB,EAAI,CAAC,EAAES,EAAa,GAAgB3D,EAAKqE,GAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsBrE,EAAKsE,GAAM,CAAC,GAAG,IAAI,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,MAAM,QAAQC,IAA2B1C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,YAAY,IAAI,WAAW,KAAK,MAAM,QAAQ,IAAI,0FAA0F,OAAO,sQAAsQ,EAAE,UAAU,8BAA8B,mBAAmB,uBAAuB,iBAAiBqB,EAAiB,SAAS,YAAY,GAAGpE,GAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,MAAM,QAAQyF,IAA2B1C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,YAAY,IAAI,WAAW,KAAK,MAAM,QAAQ,IAAI,0FAA0F,OAAO,sQAAsQ,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,KAAK,eAAe,MAAM,QAAQ0C,IAA2B1C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,GAAG,EAAE,YAAY,IAAI,WAAW,KAAK,MAAM,QAAQ,IAAI,0FAA0F,OAAO,sQAAsQ,CAAC,CAAC,EAAEY,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,EAAEe,EAAa,GAAgBO,EAAMjE,EAAO,IAAI,CAAC,UAAU,gBAAgB,iBAAiBgD,EAAiB,SAAS,YAAY,SAAS,CAACW,EAAa,GAAgBM,EAAMjE,EAAO,IAAI,CAAC,UAAU,iBAAiB,iBAAiBgD,EAAiB,SAAS,YAAY,SAAS,CAACY,EAAa,GAAgBK,EAAMjE,EAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,aAAa,iBAAiBgD,EAAiB,SAAS,YAAY,SAAS,CAAclD,EAAKwE,GAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,CAAC,EAAE,SAASC,GAA4BzE,EAAK0E,GAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG7C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,SAAsB7B,EAAK2E,GAA8B,CAAC,UAAU,2BAA2B,iBAAiBzB,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBlD,EAAK/B,GAAW,CAAC,UAAUwG,EAAc,CAAC,EAAE,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQtC,EAAU,MAAM,OAAO,UAAU,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAenC,EAAKwE,GAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,CAAC,EAAE,SAASI,GAA6B5E,EAAK0E,GAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG7C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,SAAsB7B,EAAK2E,GAA8B,CAAC,UAAU,2BAA2B,iBAAiBzB,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBlD,EAAK/B,GAAW,CAAC,UAAU2G,EAAe,CAAC,EAAE,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQxC,EAAU,MAAM,OAAO,UAAU,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAepC,EAAKwE,GAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,CAAC,EAAE,SAASK,GAA6B7E,EAAK0E,GAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG7C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,EAAE,SAAsB7B,EAAK2E,GAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiBzB,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBlD,EAAK7B,GAAY,CAAC,OAAO,OAAO,GAAG,YAAY,UAAU0G,EAAe,CAAC,EAAE,SAAS,YAAY,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe7E,EAAK0E,GAA0B,CAAC,OAAO,GAAG,GAAG7C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG/C,GAAqB,CAAC,UAAU,CAAC,GAAG+C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,EAAE,UAAU,CAAC,GAAGA,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE,CAAC,CAAC,EAAEY,EAAYI,CAAc,EAAE,SAAsB7C,EAAK2E,GAA8B,CAAC,UAAU,2BAA2B,iBAAiBzB,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBlD,EAAK3B,GAAmB,CAAC,UAAU,GAAM,UAAUiF,EAAiB,UAAU,oBAAoB,UAAU,YAAY,OAAO,OAAO,UAAU,YAAY,GAAG,YAAY,UAAU,CAAC,YAAY,oBAAoB,YAAY,QAAQ,YAAY,CAAC,EAAE,SAAS,YAAY,UAAU,2BAAsB,UAAU,GAAK,UAAU,qBAAqB,UAAU,qBAAqB,QAAQ,YAAY,MAAM,OAAO,GAAGxE,GAAqB,CAAC,UAAU,CAAC,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,CAAC,YAAY,mBAAmB,YAAY,QAAQ,YAAY,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,CAAC,YAAY,mBAAmB,YAAY,QAAQ,YAAY,CAAC,CAAC,CAAC,EAAE2D,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEoB,EAAa,GAAgBjE,EAAKwE,GAAa,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAKjC,EAAmB,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAKA,EAAmB,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAKA,EAAmB,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,EAAE,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,sBAAsB,MAAS,CAAC,EAAE,SAASuC,GAA6B9E,EAAK0E,GAA0B,CAAC,GAAG5F,GAAqB,CAAC,UAAU,CAAC,OAAO,GAAG,GAAG+C,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,GAAGA,GAAmB,GAAG,IAAI,IAAIA,GAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,EAAEY,EAAYI,CAAc,EAAE,SAAsB7C,EAAK2E,GAA8B,CAAC,UAAU,2BAA2B,iBAAiBzB,EAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsBlD,EAAKzB,GAAK,CAAC,UAAUuG,EAAe,CAAC,EAAE,UAAU,YAAY,OAAO,OAAO,GAAG,YAAY,UAAUA,EAAe,CAAC,EAAE,UAAU,gBAAgB,SAAS,YAAY,UAAUA,EAAe,CAAC,EAAE,UAAUA,EAAe,CAAC,EAAE,UAAU,WAAW,QAAQ,YAAY,UAAU,YAAY,MAAM,OAAO,UAAU,YAAY,GAAGhG,GAAqB,CAAC,UAAU,CAAC,UAAUgG,EAAe,CAAC,EAAE,UAAUzC,EAAU,UAAUyC,EAAe,CAAC,EAAE,UAAUA,EAAe,CAAC,EAAE,UAAUA,EAAe,CAAC,EAAE,UAAUxC,CAAS,EAAE,UAAU,CAAC,UAAUwC,EAAe,CAAC,EAAE,UAAUA,EAAe,CAAC,EAAE,UAAUA,EAAe,EAAE,EAAE,UAAUA,EAAe,EAAE,CAAC,CAAC,EAAErC,EAAYI,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe7C,EAAKE,EAAO,IAAI,CAAC,UAAU,gBAAgB,cAAc,GAAK,iBAAiBgD,EAAiB,SAAS,YAAY,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,sBAAsB,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,EAAQ6B,GAAI,CAAC,kFAAkF,gFAAgF,wPAAwP,0MAA0M,oHAAoH,6SAA6S,iHAAiH,oNAAoN,oRAAoR,qRAAqR,qRAAqR,0GAA0G,0GAA0G,yGAAyG,yGAAyG,sHAAsH,4MAA4M,+OAA+O,iPAAiP,8EAA8E,kGAAkG,+bAA+b,EAWxznBC,GAAgBC,GAAQ/D,GAAU6D,GAAI,cAAc,EAASG,GAAQF,GAAgBA,GAAgB,YAAY,YAAYA,GAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,EAAEG,EAAoBH,GAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,SAAS,MAAM,QAAQ,YAAY,YAAY,WAAW,EAAE,MAAM,UAAU,KAAKI,EAAY,IAAI,EAAE,UAAU,CAAC,MAAM,QAAQ,KAAKA,EAAY,YAAY,EAAE,UAAU5G,IAAqB,SAAY,CAAC,GAAGA,GAAmB,QAAW,aAAa,KAAK,YAAY,OAAU,OAAO,OAAU,MAAM,WAAW,EAAE,UAAUA,IAAqB,SAAY,CAAC,GAAGA,GAAmB,QAAW,aAAa,KAAK,YAAY,OAAU,OAAO,OAAU,MAAM,WAAW,EAAE,UAAUE,IAAe,WAAc,CAAC,GAAGA,GAAa,UAAa,aAAa,YAAY,YAAY,OAAU,OAAO,OAAU,MAAM,KAAK,EAAE,UAAUA,IAAe,WAAc,CAAC,GAAGA,GAAa,UAAa,aAAa,YAAY,YAAY,OAAU,OAAO,OAAU,MAAM,KAAK,CAAC,CAAC,EAAE2G,GAASL,GAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,aAAa,OAAO,YAAY,MAAM,SAAS,IAAI,yKAAyK,OAAO,KAAK,EAAE,CAAC,OAAO,sBAAsB,OAAO,SAAS,MAAM,SAAS,IAAI,uGAAuG,OAAO,KAAK,CAAC,CAAC,EAAE,GAAGjH,GAAgB,GAAGG,GAAiB,GAAGE,GAAwB,GAAGE,EAAS,EAAE,CAAC,6BAA6B,EAAI,CAAC,ECX/mDgH,GAAU,UAAU,CAAC,CAAC,EAAS,IAAMC,GAAM,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAeC,GAAI,CAAC,iYAAiY,EAAeC,GAAU",
  "names": ["clamp", "e", "n", "isNumber", "isEasingList", "wrap", "e", "n", "o", "getEasingForSegment", "mix", "noopReturn", "progress", "e", "n", "fillOffset", "o", "s", "mix", "defaultOffset", "interpolate", "f", "r", "clamp", "getEasingForSegment", "isString", "e", "velocityPerSecond", "steps", "e", "o", "r", "clamp", "Grain", "props", "opacity", "style", "keyframesX", "keyframesY", "isCanvas", "RenderTarget", "p", "motion", "containerStyle", "steps", "addPropertyControls", "ControlType", "currentYear", "AutoCopyright", "props", "name", "statement", "dateRange", "startYear", "font", "color", "fontSize", "displayText", "textStyle", "p", "addPropertyControls", "ControlType", "murmur2", "r", "t", "a", "e", "c", "getAlignmentIcon", "alignmentBaseline", "Arc", "withCSS", "props", "isCanvas", "RenderTarget", "cylinder", "path", "createPath", "id", "murmur2", "alignmentValue", "u", "p", "Arc_default", "addPropertyControls", "ControlType", "flip", "cylinderTop", "cylinderBottom", "HandyArrows", "props", "color", "arrows", "SelectedArrow", "Arrow1", "Arrow2", "Arrow3", "Arrow4", "Arrow5", "Arrow6", "Arrow7", "Arrow8", "Arrow9", "Arrow10", "Arrow11", "Arrow12", "Arrow13", "Arrow14", "Arrow15", "Arrow16", "p", "addPropertyControls", "ControlType", "u", "containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "useConstant", "init", "ref", "pe", "isBrowserSafari", "navigator", "userAgent", "useIsBrowserSafari", "se", "useRenderTarget", "se", "RenderTarget", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "usePadding", "padding", "paddingPerSide", "paddingTop", "paddingRight", "paddingBottom", "paddingLeft", "paddingControl", "isMotionValue", "v", "MotionValue", "useAutoMotionValue", "inputValue", "options", "optionsRef", "pe", "animation", "didInitialMount", "isOnCanvas", "RenderTarget", "onChangeDeps", "onChange", "te", "transformer", "value", "ref", "value1", "useConstant", "isMotionValue", "motionValue", "ue", "ref1", "newValue", "ref2", "animate2", "_global", "global", "exports", "navigator", "root", "factory", "window", "propertyNames", "i", "len", "val", "tOfVal", "absArr", "flag", "element", "type", "currentTime", "totalTime", "frameMultiplier", "totalLoops", "currentLoop", "firstFrame", "totalFrames", "target", "nativeError", "_count", "h", "s", "v", "r", "g", "b", "f", "p", "q", "t", "max", "min", "d", "color", "offset", "hsv", "colorMap", "hex", "eventName", "args", "callback", "createRegularArray", "arr", "value", "createTypedArrayFactory", "prop", "container", "blendModeEnums", "mode", "_cos", "_sin", "_tan", "_rnd", "reset", "rotate", "angle", "mCos", "mSin", "rotateX", "rotateY", "rotateZ", "shear", "sx", "sy", "skew", "ax", "ay", "skewFromAxis", "scale", "sz", "setTransform", "a", "c", "e", "j", "k", "l", "m", "n", "o", "translate", "tx", "ty", "tz", "transform", "a2", "b2", "c2", "d2", "e2", "f2", "g2", "h2", "i2", "j2", "k2", "l2", "m2", "n2", "o2", "p2", "_p", "a1", "b1", "c1", "d1", "e1", "f1", "g1", "h1", "i1", "j1", "k1", "l1", "m1", "n1", "o1", "p1", "isIdentity", "equals", "matr", "clone", "cloneFromProps", "props", "applyToPoint", "x", "y", "z", "applyToX", "applyToY", "applyToZ", "getInverseMatrix", "determinant", "inverseMatrix", "inversePoint", "pt", "inversePoints", "pts", "retPts", "applyToTriplePoints", "pt1", "pt2", "pt3", "p0", "p4", "p5", "p12", "p13", "applyToPointArray", "applyToPointStringified", "toCSS", "cssValue", "roundMatrixProperty", "to2dCSS", "_a", "_b", "_c", "_d", "_e", "_f", "pool", "math", "width", "chunks", "digits", "rngname", "startdenom", "significance", "overflow", "mask", "nodecrypto", "seedrandom", "seed", "options", "key", "shortseed", "mixkey", "flatten", "tostring", "autoseed", "arc4", "ARC4", "prng", "is_math_call", "state", "copy", "keylen", "me", "count", "obj", "depth", "result", "typ", "stringseed", "smear", "out", "browser", "plugins", "ob", "getBezierEasing", "beziers", "nm", "str", "bezEasing", "BezierEasing", "NEWTON_ITERATIONS", "NEWTON_MIN_SLOPE", "SUBDIVISION_PRECISION", "SUBDIVISION_MAX_ITERATIONS", "kSplineTableSize", "kSampleStepSize", "float32ArraySupported", "A", "aA1", "aA2", "B", "C", "calcBezier", "aT", "getSlope", "binarySubdivide", "aX", "aA", "aB", "mX1", "mX2", "currentX", "currentT", "newtonRaphsonIterate", "aGuessT", "currentSlope", "points", "mY1", "mY2", "mSampleValues", "intervalStart", "currentSample", "lastSample", "dist", "guessForT", "initialSlope", "lastTime", "vendors", "currTime", "timeToCall", "id", "sources", "destination", "sourcePrototype", "attr", "object", "prototype", "ProxyFunction", "pointOnLine2D", "x1", "y1", "x2", "y2", "x3", "y3", "det1", "pointOnLine3D", "z1", "z2", "z3", "dist1", "dist2", "dist3", "diffDist", "getBezierLength", "pt4", "curveSegments", "ptCoord", "perc", "addedLength", "ptDistance", "point", "lastPoint", "lengthData", "getSegmentsLength", "shapeData", "segmentsLength", "closed", "pathV", "pathO", "pathI", "lengths", "totalLength", "BezierData", "length", "PointData", "partial", "buildBezierData", "storedData", "bezierName", "bezierData", "getDistancePerc", "percents", "initPos", "lengthPos", "lPerc", "dir", "getPointInSegment", "percent", "t1", "u1", "ptX", "ptY", "bezierSegmentPoints", "getNewSegment", "startPerc", "endPerc", "t0", "u0", "u0u0u0", "t0u0u0_3", "t0t0u0_3", "t0t0t0", "u0u0u1", "t0u0u1_3", "t0t0u1_3", "t0t0t1", "u0u1u1", "t0u1u1_3", "t0t1u1_3", "t0t1t1", "u1u1u1", "t1u1u1_3", "t1t1u1_3", "t1t1t1", "completeLayers", "layers", "comps", "fontManager", "layerData", "jLen", "kLen", "maskProps", "convertPathsToAbsoluteValues", "findCompLayers", "completeShapes", "completeText", "path", "checkVersion", "minimum", "animVersionString", "animVersion", "checkText", "minimumVersion", "updateTextLayer", "textLayer", "documentData", "iterateLayers", "animationData", "checkChars", "pathData", "paths", "checkColors", "iterateShapes", "shapes", "checkShapes", "completeClosingShapes", "completeData", "data", "moduleOb", "fontData", "styles", "fWeight", "fStyle", "styleName", "maxWaitingTime", "emptyChar", "combinedCharacters", "trimFontOptions", "font", "familyArray", "enabledFamilies", "setUpNode", "family", "parentNode", "node", "checkLoadedFonts", "w", "loadedCount", "createHelper", "def", "tHelper", "fontProps", "tCanvasHelper", "addFonts", "defs", "fontArr", "_pendingFonts", "shouldLoadFont", "loadedSelector", "sc", "addChars", "chars", "found", "getCharData", "char", "style", "measureText", "fontName", "size", "index", "doubleSize", "singleSize", "getFontByName", "name", "getCombinedCharacterCodes", "setIsLoaded", "Font", "fontPrototype", "initFrame", "mathAbs", "interpolateValue", "frameNum", "caching", "offsetTime", "newValue", "iterationIndex", "keyData", "nextKeyData", "fnc", "nextKeyTime", "keyTime", "endValue", "ind", "distanceInLine", "segmentPerc", "outX", "outY", "inX", "inY", "keyValue", "quatStart", "createQuaternion", "quatEnd", "time", "quaternionToEuler", "slerp", "az", "aw", "bx", "by", "bz", "bw", "omega", "cosom", "sinom", "scale0", "scale1", "quat", "qx", "qy", "qz", "qw", "heading", "attitude", "bank", "values", "c3", "s1", "s2", "s3", "getValueAtCurrentTime", "initTime", "endTime", "renderResult", "setVValue", "multipliedValue", "processEffectsSequence", "finalValue", "addEffect", "effectFunction", "ValueProperty", "elem", "mult", "MultiDimensionalProperty", "KeyframedValueProperty", "KeyframedMultidimensionalProperty", "to", "ti", "arrLen", "getProp", "defaultVector", "applyToMatrix", "mat", "_mdf", "processKeys", "forceRender", "frameRate", "v1", "v2", "px", "py", "precalculateMatrix", "autoOrient", "addDynamicProperty", "TransformProperty", "getTransformProperty", "pos", "replace", "vX", "vY", "oX", "oY", "iX", "iY", "newPath", "vertices", "outPoints", "inPoints", "init", "cnt", "interpolateShape", "previousValue", "keyPropS", "keyPropE", "isHold", "vertexValue", "kf", "interpolateShapeCurrentTime", "lastFrame", "resetShape", "shapesEqual", "shape1", "shape2", "ShapeProperty", "KeyframedShapeProperty", "EllShapeProperty", "cPoint", "EllShapePropertyFactory", "s0", "_cw", "_v", "StarShapeProperty", "StarShapePropertyFactory", "numPts", "longFlag", "longRad", "shortRad", "longRound", "shortRound", "longPerimSegment", "shortPerimSegment", "rad", "roundness", "perimSegment", "currentAng", "ox", "oy", "RectShapeProperty", "RectShapePropertyFactory", "v0", "round", "getShapeProp", "dataProp", "keys", "getConstructorFunction", "getKeyframedConstructorFunction", "modifiers", "registerModifier", "getModifier", "shapeLength", "totalModifierLength", "segments", "shapeSegments", "segmentOb", "shapeS", "shapeE", "pathsData", "_isFirstFrame", "_s", "shapePaths", "totalShapeLength", "localShapeCollection", "edges", "newShapesData", "lastShapeInCollection", "lastShape", "newPaths", "shapePath", "newShape", "shapeSegment", "currentLengthData", "segmentCount", "segment", "segmentLength", "clonedPath", "currentV", "currentI", "currentO", "closerV", "distance", "newPosPerc", "rd", "amount", "centerPoint", "pathLength", "pMatrix", "rMatrix", "sMatrix", "inv", "scaleX", "scaleY", "elemsData", "elements", "newElements", "renderFlag", "items", "itemsTransform", "cont", "hasReloaded", "copies", "group", "elems", "transformData", "offsetModulo", "roundOffset", "pProps", "rProps", "sProps", "iteration", "renderer", "cLength", "diff", "pathNodes", "_o", "_i", "shapeString", "AudioController", "audioFactory", "audio", "rateValue", "assetPath", "proxyImage", "canvas", "ctx", "imageLoaded", "footageLoaded", "getAssetsPath", "assetData", "assetsPath", "originalPath", "imagePath", "testImageLoaded", "img", "intervalId", "box", "createImageData", "createImgData", "createFootageData", "footageData", "loadAssets", "assets", "cb", "setPath", "setAssetsPath", "getAsset", "destroy", "loadedImages", "loadedFootages", "setCacheType", "elementHelper", "ImagePreloaderFactory", "createFilter", "createAlphaToLuminanceFilter", "filId", "skipCoordinates", "fil", "feColorMatrix", "formatResponse", "xhr", "loadAsset", "errorCallback", "response", "err", "textData", "renderType", "animatorProps", "lettersChangedFlag", "alignment", "animators", "matrixHelper", "renderedLettersCount", "xPos", "yPos", "letters", "pathInfo", "currentLength", "currentPoint", "pointInd", "segmentInd", "prevPoint", "partialLength", "tanAngle", "yOff", "firstLine", "animatorSelector", "letterValue", "offf", "xPathPos", "yPathPos", "initPathPos", "initSegmentInd", "initPointInd", "currentLine", "elemOpacity", "sw", "fc", "letterSw", "letterSc", "letterFc", "letterM", "letterP", "letterO", "animatorJustifyOffset", "animatorFirstCharOffset", "justifyOffsetMult", "lastIndex", "isNewLine", "animatorOffset", "rot", "defaultData", "textAnimatorAnimatables", "updated", "_finalValue", "currentValue", "currentIndex", "textKeys", "text", "charactersArray", "charCode", "newLineFlag", "anchorGrouping", "currentSize", "currentPos", "lineWidths", "lineWidth", "maxLineWidth", "charData", "trackingOffset", "boxWidth", "boxHeight", "currentHeight", "finalText", "lastSpaceIndex", "uncollapsedSpaces", "currentChar", "animatorData", "letterData", "based", "indexes", "currentInd", "newInd", "newData", "dData", "_canResize", "_fontValue", "floor", "TextSelectorPropFactory", "easer", "tot", "newCharsFlag", "divisor", "getTextSelectorProp", "initialLength", "_create", "_release", "_length", "_maxLength", "newElement", "release", "double", "create", "shape", "cloned", "newShapeCollection", "shapeCollection", "parsePayloadLines", "payload", "lines", "line", "keysCount", "_markers", "markers", "_marker", "markerData", "num", "layer", "newLayers", "pInterface", "parentName", "hierarchy", "comp", "animData", "fontsContainer", "animationItem", "config", "ariaLabel", "titleElement", "titleId", "descElement", "descId", "maskElement", "rect", "maskId", "nextElement", "cProps", "trProps", "op", "actionFlag", "popped", "containerStyle", "origin", "elementWidth", "elementHeight", "elementRel", "animationRel", "par", "fillType", "newDOMElement", "nextDOMElement", "nextLayer", "tmpDOMElement", "perspectiveElem", "center", "matrix", "threeDContainerData", "lastThreeDContainerData", "currentContainer", "resizerElem", "wrapper", "svg", "cWidth", "cHeight", "floatingContainer", "globalData", "properties", "currentMasks", "layerId", "expansor", "feMorph", "maskType", "maskRef", "filterID", "isFirstFrame", "finalMat", "viewData", "pathString", "pathShapeValue", "isVisible", "transforms", "ptNew", "component", "_prototype", "position", "level", "transformers", "mProps", "styleOb", "pathElement", "gradientId", "gfill", "stops", "stop", "opacityId", "opFill", "_identityMatrix", "_matrixHelper", "createRenderFunction", "renderFill", "renderGradient", "renderGradientStroke", "renderStroke", "renderPath", "renderContentTransform", "styleData", "itemData", "pathStringTransformed", "redraw", "lLen", "lvl", "iterations", "styleElem", "hasOpacity", "attr1", "attr2", "cValues", "oValues", "ang", "sequence", "transformsManager", "styledShape", "effectsInterface", "blendModeValue", "layerElementParent", "gg", "masker", "maskGroup", "maskGrouper", "feCTr", "feFunc", "alphaRect", "cp", "clipId", "cpGroup", "shouldBreakProcess", "shapeStr", "_fontSize", "lineNumber", "colorData", "timeRemapped", "volumeValue", "textArray", "textContents", "currentTextContent", "usesGlyphs", "tSpan", "singleShape", "tElement", "justify", "textContent", "cachedSpansLength", "textBox", "renderedLetters", "renderedLetter", "textSpan", "tempShapes", "areAnimated", "elementData", "GradientConstructor", "transformProperty", "ownTransformers", "shapeProperty", "itemsData", "prevViewData", "render", "ownStyles", "ownModifiers", "currentTransform", "modifier", "processedPos", "animatedContent", "filter", "filterManager", "feMerge", "feMergeNode", "colorBlack", "colorWhite", "opacity", "feGaussianBlur", "kBlurrinessToSigma", "sigma", "dimensions", "sigmaX", "sigmaY", "edgeMode", "elemChildren", "groupPath", "dasharrayValue", "lineLength", "units", "feComponentTransfer", "feFuncR", "feFuncG", "feFuncB", "color1", "color2", "color3", "tableR", "tableG", "tableB", "effectElements", "inputBlack", "inputWhite", "gamma", "outputBlack", "outputWhite", "table", "colorValue", "outputDelta", "inputDelta", "filterSize", "feOffset", "feFlood", "feComposite", "col", "filterElem", "symbolId", "children", "nextChild", "useElem", "symbol", "newLength", "currentSavedOp", "forceRealStack", "imgW", "imgH", "imgRel", "canvasRel", "widthCrop", "heightCrop", "hasMasks", "shouldRender", "ownTransforms", "parentTransform", "groupTransform", "nodes", "currentStyle", "isMain", "shapeNodes", "groupTransformMat", "grd", "hasFill", "hasStroke", "commands", "pathArr", "lastFill", "lastStroke", "lastStrokeW", "transformedElementStyle", "matrixValue", "item", "boundingBox", "vPoint", "oPoint", "nextIPoint", "nextVPoint", "bounds", "p3", "b2ac", "t2", "tempBoundingBox", "changed", "shapeStyle", "shapeTransform", "innerElemStyle", "textColor", "tParent", "tCont", "tContStyle", "tContTranslation", "tStyle", "tSpanTranslation", "svgStyle", "translation", "textPath", "margin", "svgTransform", "perspectiveStyle", "perspective", "mTransf", "diffVector", "mag", "lookDir", "lookLengthOnXZ", "mRotationX", "mRotationY", "hasMatrixChanged", "matValue", "registeredAnimations", "playingAnimationsNum", "_stopped", "_isFrozen", "removeElement", "ev", "animItem", "subtractPlayingCount", "registerAnimation", "setupAnimation", "getRegisteredAnimations", "lenAnims", "animations", "addPlayingCount", "activate", "loadAnimation", "params", "setSpeed", "animation", "setDirection", "play", "resume", "nowTime", "elapsedTime", "first", "pause", "goToAndStop", "isFrame", "togglePause", "searchAnimations", "standalone", "animElements", "body", "div", "resize", "freeze", "unfreeze", "setVolume", "mute", "unmute", "animType", "wrapperAttributes", "loop", "autoplay", "prerender", "segmentPath", "error", "markerName", "marker", "numValue", "nextValue", "_isComplete", "end", "pendingFrame", "forceFlag", "initExpressions", "stackCount", "registers", "pushExpression", "popExpression", "releaseInstances", "registerExpressionProperty", "expression", "tOfV", "tOfA", "lenA", "retArr", "tOfB", "lenB", "mm", "arr1", "arr2", "vec", "tMin", "tMax", "value1", "value2", "_tMin", "rnd", "rndm", "inTangents", "outTangents", "arrPlaceholder", "inVertexPoint", "outVertexPoint", "wiggle", "freq", "amp", "iWiggle", "lenWiggle", "addedAmps", "periods", "duration", "elem1", "elem2", "fVec", "pitch", "yaw", "val1", "val2", "fn", "iKey", "lenKey", "obKey", "frames", "fps", "framesPerSecond", "_value", "searchExpressions", "getValueAtTime", "getSpeedAtTime", "delta", "speed", "getVelocityAtTime", "velocity", "getStaticValueAtTime", "setGroupProperty", "propertyGroup", "addPropertyDecorator", "loopOut", "durationFlag", "currentFrame", "keyframes", "lastKeyFrame", "cycleDuration", "firstKeyFrame", "ret", "initV", "endV", "current", "repeats", "lastValue", "nextLastValue", "loopIn", "firstValue", "nextFirstValue", "smooth", "samples", "endFrame", "sampleFrequency", "sampleValue", "getTransformValueAtTime", "anchor", "skewAxis", "rotation", "rotationZ", "rotationY", "rotationX", "orientation", "positionX", "positionY", "positionZ", "getTransformStaticValueAtTime", "propertyGetProp", "getShapeValueAtTime", "ShapePropertyConstructorFunction", "KeyframedShapePropertyConstructorFunction", "ShapeExpressions", "accumulatedLength", "initIndex", "endIndex", "vectorType", "xLength", "yLength", "magnitude", "unitVector", "propertyGetShapeProp", "trims", "addDecorator", "isKeyframed", "hasExpressions", "view", "interfaceFunction", "_propertyGroup", "parentPropertyGroup", "propertyName", "iterateElements", "groupInterfaceFactory", "fillInterfaceFactory", "strokeInterfaceFactory", "trimInterfaceFactory", "ellipseInterfaceFactory", "starInterfaceFactory", "rectInterfaceFactory", "roundedInterfaceFactory", "repeaterInterfaceFactory", "contentsInterfaceFactory", "interfaces", "transformInterface", "transformInterfaceFactory", "content", "_dashPropertyGroup", "dashOb", "addPropertyToDashOb", "_interfaceFunction", "parentGroupWrapper", "_prevValue", "_sourceText", "_thisLayerFunction", "stringValue", "getMatrix", "toWorldMat", "propMatrix", "transformMat", "toWorldVec", "toWorld", "fromWorldVec", "fromWorld", "applyPoint", "invertPoint", "fromComp", "sampleImage", "_registerMaskInterface", "maskManager", "_registerEffectsInterface", "effects", "anchorPointDescriptor", "outlineInterfaceFactory", "currentPropertyName", "currentProperty", "searchProperty", "propertyNameIndex", "dataInterfaceFactory", "_thisFunction", "_px", "_py", "_pz", "_transformFactory", "registerComposition", "_thisProjectFunction", "createEffectsInterface", "effectsData", "createGroupInterface", "groupInterface", "createValueInterface", "expressionProperty", "MaskInterface", "MaskManager", "_masksInterfaces", "maskFunction", "defaultUnidimensionalValue", "defaultMultidimensionalValue", "completeProperty", "expressionValue", "property", "valueProp", "UnidimensionalPropertyInterface", "MultidimensionalPropertyInterface", "arrValue", "defaultGetter", "TextExpressionSelectorProp", "getValueProxy", "total", "propertyGetTextProp", "effectItem", "eff", "href", "plugin", "variable", "vars", "pair", "exports$1", "npm_lottie_web_5_7_default", "SrcType", "Poster", "placeholderUrl", "Lottie", "props", "style", "srcUrl", "srcFile", "srcType", "poster", "progressRaw", "playing", "loop", "posterProgress", "pauseOnCanvas", "isForwardsDirection", "speed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "onComplete", "isOnCanvas", "RenderTarget", "shouldPlay", "direction", "isCustomPoster", "el", "pe", "didInitialMount", "animationInfo", "progress", "useAutoMotionValue", "v", "play", "_animationInfo_current_animation", "_animationInfo_current", "pause", "destroy", "scrubTo", "te", "normalizedProgress", "shouldPlayAfter", "frameNumberTarget", "fetchLottieData", "url", "d", "init", "dataUrl", "data", "setup", "options", "anim", "npm_lottie_web_5_7_default", "ue", "cleanup", "c", "val", "normalizedPosterProgress", "p", "motion", "addPropertyControls", "ControlType", "defaultEvents", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "ref1", "pe", "isDisplayed", "isDisplayed1", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "u", "SVG", "css", "FrameroLaCv7REM", "withCSS", "oLaCv7REM_default", "addPropertyControls", "ControlType", "addFonts", "BouncyButtonIconFonts", "getFonts", "oLaCv7REM_default", "BouncyButtonIconControls", "getPropertyControls", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableEnumMap", "humanReadableVariantMap", "getProps", "dotColor", "height", "iconColour", "id", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "bkgNXsaVh", "Om1LwRtBr", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "ref1", "pe", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "ComponentViewportProvider", "css", "FramertbYx7absT", "withCSS", "tbYx7absT_default", "addPropertyControls", "ControlType", "addFonts", "ArcFonts", "getFonts", "Arc_default", "SmartComponentScopedContainerWithFX", "withFX", "SmartComponentScopedContainer", "BouncyButtonDotFonts", "tbYx7absT_default", "BouncyButtonDotControls", "getPropertyControls", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transition2", "animation", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableEnumMap", "humanReadableVariantMap", "getProps", "border", "button", "click", "content", "dotColor", "height", "iconColour", "id", "label", "link", "newTab", "smoothScroll", "textColor", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "G12sDdivV", "gnaXB_FDf", "NEqJTpV7F", "V4GP67J_M", "uzYUogkDq", "AAql3Z1IA", "lflvlvWlr", "jlmyjJ5mE", "DgGX5rgEB", "levTt4hJO", "HoW4Eozft", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1pqbec4", "args", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "LayoutGroup", "Link", "u", "ComponentViewportProvider", "RichText2", "css", "FramerXLJpEU7au", "withCSS", "XLJpEU7au_default", "addPropertyControls", "ControlType", "addFonts", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "IijCQ5cRe", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onAppearn3sq8o", "args", "onAppear1o4g3zo", "useOnVariantChange", "scopingClassNames", "cx", "ref1", "pe", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "RichText2", "u", "css", "FrameroZ7dedNc0", "withCSS", "oZ7dedNc0_default", "addPropertyControls", "ControlType", "addFonts", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "link2", "pageName", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "activeLocale", "setLocale", "useLocaleInfo", "style", "className", "layoutId", "CBJ6XOtYB", "zgty524KL", "X8PVoL_Ax", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTapz71rm6", "args", "scopingClassNames", "cx", "ref1", "pe", "isDisplayed", "defaultLayoutId", "ae", "componentViewport", "useComponentViewport", "LayoutGroup", "Link", "u", "RichText2", "SVG", "css", "FramerO5xt7w8c2", "withCSS", "O5xt7w8c2_default", "addPropertyControls", "ControlType", "addFonts", "Header_NavFonts", "getFonts", "O5xt7w8c2_default", "PedalInvestFonts", "oZ7dedNc0_default", "MotionDivWithFX", "withFX", "motion", "Header_NavControls", "getPropertyControls", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "animation", "transition2", "animation1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "x", "humanReadableEnumMap", "humanReadableVariantMap", "getProps", "height", "id", "link4", "link5", "link6", "link7", "pageName", "pageName2", "pageName3", "pV", "sV", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "AM18aElz8", "NylXvf68G", "iFyVmdMRA", "W1yuFEORh", "rOSrs4sKo", "tl0MeRgeh", "QcORCb8f6", "jNben6aYF", "ausu9hqLj", "Zd64JiMbq", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTap1nyxmpg", "args", "onTapk43vti", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "LayoutGroup", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "SVG", "css", "FramermGctrih77", "withCSS", "mGctrih77_default", "addPropertyControls", "ControlType", "addFonts", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "link2", "pageName", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "CBJ6XOtYB", "zgty524KL", "X8PVoL_Ax", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "onTapz71rm6", "args", "scopingClassNames", "cx", "isDisplayed", "LayoutGroup", "Link", "u", "RichText2", "SVG", "css", "FramerRCHbZjYBB", "withCSS", "RCHbZjYBB_default", "addPropertyControls", "ControlType", "addFonts", "Header_NavFonts", "getFonts", "RCHbZjYBB_default", "PedalInvestFonts", "oZ7dedNc0_default", "BouncyButtonButtonFonts", "XLJpEU7au_default", "MenuFonts", "mGctrih77_default", "Header_NavControls", "getPropertyControls", "MenuControls", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "transformTemplate1", "_", "t", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableEnumMap", "humanReadableEnumMap1", "humanReadableVariantMap", "getProps", "click", "height", "id", "pV", "sV", "variant5", "variant6", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "ftOUhx3_N", "HJNJMxgXX", "W2MKUdzt5", "VJSZL_UJA", "RptIWx8wD", "kZBSKrgA7Z0c8yur4c", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "activeVariantCallback", "delay", "useActiveVariantCallback", "DgGX5rgEB126cfou", "args", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "isDisplayed2", "isDisplayed3", "isDisplayed4", "router", "useRouter", "isDisplayed5", "LayoutGroup", "u", "RichText2", "Link", "Image2", "getLoadingLazyAtYPosition", "ResolveLinks", "resolvedLinks", "ComponentViewportProvider", "SmartComponentScopedContainer", "resolvedLinks1", "resolvedLinks2", "resolvedLinks3", "css", "FramerNb6PHI77H", "withCSS", "Nb6PHI77H_default", "addPropertyControls", "ControlType", "addFonts", "fontStore", "fonts", "css", "className"]
}
