{"version":3,"file":"shared.Qki7CU63.mjs","names":["i","a","e","t","n","r","o","s","useRef","useMemo","useMemo","useState","useRef","Player","e","e","t","n","n","r","e","t","A","O","t","x","V","b","useRef","useCallback","animate","useRef","useCallback","lottie","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transitions","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","sharedStyle.className","RichText","SVG","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transitions","transformTemplate1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","fonts","css","className","fonts","css","className","fonts","css","className","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","SVG","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transitions","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","sharedStyle.className","RichText","SVG","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","SVG","addPropertyOverrides","ButtonL","PortfolioButton","SocialMedia","Logo","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","sharedStyle5.className","sharedStyle6.className","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle5.css","sharedStyle6.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","sharedStyle5.fonts","sharedStyle6.fonts","addPropertyOverrides","FooterContext","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transitions","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","React.useRef","React.useId","SVG","Children","useRef","useMemo","useState","useCallback","serializationHash","variantClassNames","transition1","animation","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","Image","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","RichText","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","RichText","SVG","sharedStyle.css","sharedStyle.fonts","addPropertyOverrides","LogoBlack","ButtonL2","RichText","cycleOrder","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","humanReadableVariantMap","Variants","React.Fragment","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.forwardRef","useRef","React.useId","React.useContext","React.useMemo","React.Fragment","React.forwardRef","React.useRef","React.useId","SVG","fonts","css","className"],"sources":["https:/ga.jspm.io/npm:@vimeo/player@2.16.4/dist/player.es.js","https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/0sWquksFr1YDkaIgrl9Z/VgWe6mCMJOseqaLiMnaC/Vimeo.js","https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/animation@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:tslib@2.4.0/tslib.es6.js","https:/ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js","https:/ga.jspm.io/npm:@motionone/generators@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/dom@10.12.0/dist/index.es.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/TbXI1XaZFNevVKcgIt7G/isMotionValue.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js","https:/framer.com/m/framer/useAutoMotionValue.js@0.3.0","https:/jspm.dev/npm:lottie-web@5.7.8!cjs","https:/jspm.dev/lottie-web@5.7.8","https:/framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/7oWoX9MqdnxameM59dqC/Lottie.js","https:/framerusercontent.com/modules/ZS3cM5OF1SzNpRHJpYUT/AQhyIL7d6hLylmakfQRZ/fKjzjeSrx.js","https:/framerusercontent.com/modules/Y8hDzGnVN6M7dNlX2yLv/IMDlJfFP3gGH4mYIFOpS/iLS5PZkjv.js","https:/framerusercontent.com/modules/qYTXsRBDT36QwgsicWsh/OhWwHxWHJdXj6HlsGURD/dqfeojICA.js","https:/framerusercontent.com/modules/dXsbqw5Fftaw9oIrbVCd/r4dWJuvu261KsJXMlqc7/MwdlXB47S.js","https:/framerusercontent.com/modules/Xj0im1Lge8D85dGEyLwx/gLOBaMHKpBuhwB6YSiPr/XfBF1f48z.js","https:/framerusercontent.com/modules/EZ3BfnvuZh667YZbouqu/TjDsoxGK2XZHlSCfzgZC/cG_QYdwAT.js","https:/framerusercontent.com/modules/jYSSH8c8RnUvLkdPzeyy/ZUWNgtm2Ix9SFTOfoFUq/hLYKYInjt.js","https:/framerusercontent.com/modules/jdIDjuiXVTLCROpcPyVK/Lp4NeGN92OCjUR9ft9yz/tXaijr4Q8.js","https:/framerusercontent.com/modules/ORDUDkvx5rzyRth4Umbw/ymvz2S4tRgFKm01d0kgl/ebPnaQt0C.js","https:/framerusercontent.com/modules/wX198ByJLqSQQxfhWvO9/6D3wnFVjNPtwCo1Eq7Fk/ILuq37Wmw.js","https:/framerusercontent.com/modules/0TDbNHzDrYalxCyaU7Hz/HtDELt6W1QtWQvFABcBr/JuPfa_dGH.js","https:/framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/qacJMtbrGDTpaTF4eVfx/Ticker.js","https:/framerusercontent.com/modules/7P8aD4rUEPfaxcj3Q6qf/uxjQUO9HhfNXRLqlybgm/ue4r52X5Q.js","https:/framerusercontent.com/modules/6nufOdKvnuSQf2I3YB62/C41zJT6bjEJVBRy6bRDA/wScdves00.js","https:/framerusercontent.com/modules/OUgRhniaQIb3xW5bBvqm/gu1X2dsDWgQgK06vHfWs/CPwpMpSoA.js","https:/framerusercontent.com/modules/k2FDhjwWXCQhiVJsxYPY/Orrr86PNiu0Xmr4TZ9sp/x98pkxXTQ.js","https:/framerusercontent.com/modules/uV7IZd2nHCUl8G24QHaS/CbkRlQRoYHCsncB4e9rR/fqScnV6Rg.js","https:/framerusercontent.com/modules/OXID8r5U9fgMfrdRRJ6O/SDl8oHEzda9jFx1WTVMY/ZKemCo0mJ.js","https:/framerusercontent.com/modules/V4rfTHbYWdVX9lyFxPus/1q43yWicU23GEoGhGZvu/NAFpJvEjZ.js","https:/framerusercontent.com/modules/NtFo6H3jd2JVk36okdIj/IgEdwGgZ6A8zUbHQAhw7/OzfmMIoc7.js"],"sourcesContent":["function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function _defineProperties(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||false;r.configurable=true;\"value\"in r&&(r.writable=true);Object.defineProperty(e,r.key,r)}}function _createClass(e,t,n){t&&_defineProperties(e.prototype,t);n&&_defineProperties(e,n);return e}\n/**\n * Check to see this is a node environment.\n * @type {Boolean}\n */var e=\"undefined\"!==typeof global&&\"[object global]\"==={}.toString.call(global);\n/**\n * Get the name of the method for a given getter or setter.\n *\n * @param {string} prop The name of the property.\n * @param {string} type Either “get” or “set”.\n * @return {string}\n */function getMethodName(e,t){return 0===e.indexOf(t.toLowerCase())?e:\"\".concat(t.toLowerCase()).concat(e.substr(0,1).toUpperCase()).concat(e.substr(1))}\n/**\n * Check to see if the object is a DOM Element.\n *\n * @param {*} element The object to check.\n * @return {boolean}\n */function isDomElement(e){return Boolean(e&&1===e.nodeType&&\"nodeName\"in e&&e.ownerDocument&&e.ownerDocument.defaultView)}\n/**\n * Check to see whether the value is a number.\n *\n * @see http://dl.dropboxusercontent.com/u/35146/js/tests/isNumber.html\n * @param {*} value The value to check.\n * @param {boolean} integer Check if the value is an integer.\n * @return {boolean}\n */function isInteger(e){return!isNaN(parseFloat(e))&&isFinite(e)&&Math.floor(e)==e}\n/**\n * Check to see if the URL is a Vimeo url.\n *\n * @param {string} url The url string.\n * @return {boolean}\n */function isVimeoUrl(e){return/^(https?:)?\\/\\/((player|www)\\.)?vimeo\\.com(?=$|\\/)/.test(e)}\n/**\n * Get the Vimeo URL from an element.\n * The element must have either a data-vimeo-id or data-vimeo-url attribute.\n *\n * @param {object} oEmbedParameters The oEmbed parameters.\n * @return {string}\n */function getVimeoUrl(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t=e.id;var n=e.url;var r=t||n;if(!r)throw new Error(\"An id or url must be passed, either in an options object or as a data-vimeo-id or data-vimeo-url attribute.\");if(isInteger(r))return\"https://vimeo.com/\".concat(r);if(isVimeoUrl(r))return r.replace(\"http:\",\"https:\");if(t)throw new TypeError(\"“\".concat(t,\"” is not a valid video id.\"));throw new TypeError(\"“\".concat(r,\"” is not a vimeo.com url.\"))}var t=\"undefined\"!==typeof Array.prototype.indexOf;var n=\"undefined\"!==typeof window&&\"undefined\"!==typeof window.postMessage;if(!e&&(!t||!n))throw new Error(\"Sorry, the Vimeo Player API is not available in this browser.\");var r=\"undefined\"!==typeof globalThis?globalThis:\"undefined\"!==typeof window?window:\"undefined\"!==typeof global?global:\"undefined\"!==typeof self?self:{};function createCommonjsModule(e,t){return t={exports:{}},e(t,t.exports),t.exports\n/*!\n * weakmap-polyfill v2.0.1 - ECMAScript6 WeakMap polyfill\n * https://github.com/polygonplanet/weakmap-polyfill\n * Copyright (c) 2015-2020 Polygon Planet <polygon.planet.aqua@gmail.com>\n * @license MIT\n */}(function(e){if(!e.WeakMap){var t=Object.prototype.hasOwnProperty;var defineProperty=function(e,t,n){Object.defineProperty?Object.defineProperty(e,t,{configurable:true,writable:true,value:n}):e[t]=n};e.WeakMap=function(){function WeakMap(){if(void 0===this)throw new TypeError(\"Constructor WeakMap requires 'new'\");defineProperty(this,\"_id\",genId(\"_WeakMap\"));if(arguments.length>0)throw new TypeError(\"WeakMap iterable is not supported\")}defineProperty(WeakMap.prototype,\"delete\",(function(e){checkInstance(this,\"delete\");if(!isObject(e))return false;var t=e[this._id];if(t&&t[0]===e){delete e[this._id];return true}return false}));defineProperty(WeakMap.prototype,\"get\",(function(e){checkInstance(this,\"get\");if(isObject(e)){var t=e[this._id];return t&&t[0]===e?t[1]:void 0}}));defineProperty(WeakMap.prototype,\"has\",(function(e){checkInstance(this,\"has\");if(!isObject(e))return false;var t=e[this._id];return!(!t||t[0]!==e)}));defineProperty(WeakMap.prototype,\"set\",(function(e,t){checkInstance(this,\"set\");if(!isObject(e))throw new TypeError(\"Invalid value used as weak map key\");var n=e[this._id];if(n&&n[0]===e){n[1]=t;return this}defineProperty(e,this._id,[e,t]);return this}));function checkInstance(e,n){if(!isObject(e)||!t.call(e,\"_id\"))throw new TypeError(n+\" method called on incompatible receiver \"+typeof e)}function genId(e){return e+\"_\"+rand()+\".\"+rand()}function rand(){return Math.random().toString().substring(2)}defineProperty(WeakMap,\"_polyfill\",true);return WeakMap}()}function isObject(e){return Object(e)===e}})(\"undefined\"!==typeof self?self:\"undefined\"!==typeof window?window:(\"undefined\"!==typeof r,r));var o=createCommonjsModule((function(e){(function UMD(t,n,r){n[t]=n[t]||r();e.exports&&(e.exports=n[t])})(\"Promise\",(\"undefined\"!=typeof r,r),(function DEF(){var e,t,n,r=Object.prototype.toString,o=\"undefined\"!=typeof setImmediate?function timer(e){return setImmediate(e)}:setTimeout;try{Object.defineProperty({},\"x\",{});e=function builtInProp(e,t,n,r){return Object.defineProperty(e,t,{value:n,writable:true,configurable:false!==r})}}catch(t){e=function builtInProp(e,t,n){e[t]=n;return e}}n=function Queue(){var e,n,r;function Item(e,t){this.fn=e;this.self=t;this.next=void 0}return{add:function add(t,o){r=new Item(t,o);n?n.next=r:e=r;n=r;r=void 0},drain:function drain(){var r=e;e=n=t=void 0;while(r){r.fn.call(r.self);r=r.next}}}}();function schedule(e,r){n.add(e,r);t||(t=o(n.drain))}function isThenable(e){var t,n=typeof e;null==e||\"object\"!=n&&\"function\"!=n||(t=e.then);return\"function\"==typeof t&&t}function notify(){for(var e=0;e<this.chain.length;e++)notifyIsolated(this,1===this.state?this.chain[e].success:this.chain[e].failure,this.chain[e]);this.chain.length=0}function notifyIsolated(e,t,n){var r,o;try{if(false===t)n.reject(e.msg);else{r=true===t?e.msg:t.call(void 0,e.msg);r===n.promise?n.reject(TypeError(\"Promise-chain cycle\")):(o=isThenable(r))?o.call(r,n.resolve,n.reject):n.resolve(r)}}catch(e){n.reject(e)}}function resolve(e){var t,n=this;if(!n.triggered){n.triggered=true;n.def&&(n=n.def);try{if(t=isThenable(e))schedule((function(){var r=new MakeDefWrapper(n);try{t.call(e,(function $resolve$(){resolve.apply(r,arguments)}),(function $reject$(){reject.apply(r,arguments)}))}catch(e){reject.call(r,e)}}));else{n.msg=e;n.state=1;n.chain.length>0&&schedule(notify,n)}}catch(e){reject.call(new MakeDefWrapper(n),e)}}}function reject(e){var t=this;if(!t.triggered){t.triggered=true;t.def&&(t=t.def);t.msg=e;t.state=2;t.chain.length>0&&schedule(notify,t)}}function iteratePromises(e,t,n,r){for(var o=0;o<t.length;o++)(function IIFE(o){e.resolve(t[o]).then((function $resolver$(e){n(o,e)}),r)})(o)}function MakeDefWrapper(e){this.def=e;this.triggered=false}function MakeDef(e){this.promise=e;this.state=0;this.triggered=false;this.chain=[];this.msg=void 0}function Promise(e){if(\"function\"!=typeof e)throw TypeError(\"Not a function\");if(0!==this.__NPO__)throw TypeError(\"Not a promise\");this.__NPO__=1;var t=new MakeDef(this);this.then=function then(e,n){var r={success:\"function\"!=typeof e||e,failure:\"function\"==typeof n&&n};r.promise=new this.constructor((function extractChain(e,t){if(\"function\"!=typeof e||\"function\"!=typeof t)throw TypeError(\"Not a function\");r.resolve=e;r.reject=t}));t.chain.push(r);0!==t.state&&schedule(notify,t);return r.promise};this.catch=function $catch$(e){return this.then(void 0,e)};try{e.call(void 0,(function publicResolve(e){resolve.call(t,e)}),(function publicReject(e){reject.call(t,e)}))}catch(e){reject.call(t,e)}}var i=e({},\"constructor\",Promise,false);Promise.prototype=i;e(i,\"__NPO__\",0,false);e(Promise,\"resolve\",(function Promise$resolve(e){var t=this;return e&&\"object\"==typeof e&&1===e.__NPO__?e:new t((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");t(e)}))}));e(Promise,\"reject\",(function Promise$reject(e){return new this((function executor(t,n){if(\"function\"!=typeof t||\"function\"!=typeof n)throw TypeError(\"Not a function\");n(e)}))}));e(Promise,\"all\",(function Promise$all(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):0===e.length?t.resolve([]):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");var o=e.length,i=Array(o),a=0;iteratePromises(t,e,(function resolver(e,t){i[e]=t;++a===o&&n(i)}),r)}))}));e(Promise,\"race\",(function Promise$race(e){var t=this;return\"[object Array]\"!=r.call(e)?t.reject(TypeError(\"Not an array\")):new t((function executor(n,r){if(\"function\"!=typeof n||\"function\"!=typeof r)throw TypeError(\"Not a function\");iteratePromises(t,e,(function resolver(e,t){n(t)}),r)}))}));return Promise}))}));var i=new WeakMap;\n/**\n * Store a callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @param {(function(this:Player, *): void|{resolve: function, reject: function})} callback\n *        The callback to call or an object with resolve and reject functions for a promise.\n * @return {void}\n */function storeCallback(e,t,n){var r=i.get(e.element)||{};t in r||(r[t]=[]);r[t].push(n);i.set(e.element,r)}\n/**\n * Get the callbacks for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @return {function[]}\n */function getCallbacks(e,t){var n=i.get(e.element)||{};return n[t]||[]}\n/**\n * Remove a stored callback for a method or event for a player.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name\n * @param {function} [callback] The specific callback to remove.\n * @return {boolean} Was this the last callback?\n */function removeCallback(e,t,n){var r=i.get(e.element)||{};if(!r[t])return true;if(!n){r[t]=[];i.set(e.element,r);return true}var o=r[t].indexOf(n);-1!==o&&r[t].splice(o,1);i.set(e.element,r);return r[t]&&0===r[t].length}\n/**\n * Return the first stored callback for a player and event or method.\n *\n * @param {Player} player The player object.\n * @param {string} name The method or event name.\n * @return {function} The callback, or false if there were none\n */function shiftCallbacks(e,t){var n=getCallbacks(e,t);if(n.length<1)return false;var r=n.shift();removeCallback(e,t,r);return r}\n/**\n * Move callbacks associated with an element to another element.\n *\n * @param {HTMLElement} oldElement The old element.\n * @param {HTMLElement} newElement The new element.\n * @return {void}\n */function swapCallbacks(e,t){var n=i.get(e);i.set(t,n);i.delete(e)}var a=[\"autopause\",\"autoplay\",\"background\",\"byline\",\"color\",\"controls\",\"dnt\",\"height\",\"id\",\"interactive_params\",\"keyboard\",\"loop\",\"maxheight\",\"maxwidth\",\"muted\",\"playsinline\",\"portrait\",\"responsive\",\"speed\",\"texttrack\",\"title\",\"transparent\",\"url\",\"width\"];\n/**\n * Get the 'data-vimeo'-prefixed attributes from an element as an object.\n *\n * @param {HTMLElement} element The element.\n * @param {Object} [defaults={}] The default values to use.\n * @return {Object<string, string>}\n */function getOEmbedParameters(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a.reduce((function(t,n){var r=e.getAttribute(\"data-vimeo-\".concat(n));(r||\"\"===r)&&(t[n]=\"\"===r?1:r);return t}),t)}\n/**\n * Create an embed from oEmbed data inside an element.\n *\n * @param {object} data The oEmbed data.\n * @param {HTMLElement} element The element to put the iframe in.\n * @return {HTMLIFrameElement} The iframe embed.\n */function createEmbed(e,t){var n=e.html;if(!t)throw new TypeError(\"An element must be provided\");if(null!==t.getAttribute(\"data-vimeo-initialized\"))return t.querySelector(\"iframe\");var r=document.createElement(\"div\");r.innerHTML=n;t.appendChild(r.firstChild);t.setAttribute(\"data-vimeo-initialized\",\"true\");return t.querySelector(\"iframe\")}\n/**\n * Make an oEmbed call for the specified URL.\n *\n * @param {string} videoUrl The vimeo.com url for the video.\n * @param {Object} [params] Parameters to pass to oEmbed.\n * @param {HTMLElement} element The element.\n * @return {Promise}\n */function getOEmbedData(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};var n=arguments.length>2?arguments[2]:void 0;return new Promise((function(r,o){if(!isVimeoUrl(e))throw new TypeError(\"“\".concat(e,\"” is not a vimeo.com url.\"));var i=\"https://vimeo.com/api/oembed.json?url=\".concat(encodeURIComponent(e));for(var a in t)t.hasOwnProperty(a)&&(i+=\"&\".concat(a,\"=\").concat(encodeURIComponent(t[a])));var u=\"XDomainRequest\"in window?new XDomainRequest:new XMLHttpRequest;u.open(\"GET\",i,true);u.onload=function(){if(404!==u.status)if(403!==u.status)try{var t=JSON.parse(u.responseText);if(403===t.domain_status_code){createEmbed(t,n);o(new Error(\"“\".concat(e,\"” is not embeddable.\")));return}r(t)}catch(e){o(e)}else o(new Error(\"“\".concat(e,\"” is not embeddable.\")));else o(new Error(\"“\".concat(e,\"” was not found.\")))};u.onerror=function(){var e=u.status?\" (\".concat(u.status,\")\"):\"\";o(new Error(\"There was an error fetching the embed code from Vimeo\".concat(e,\".\")))};u.send()}))}\n/**\n * Initialize all embeds within a specific element\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function initializeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;var t=[].slice.call(e.querySelectorAll(\"[data-vimeo-id], [data-vimeo-url]\"));var n=function handleError(e){\"console\"in window&&console.error&&console.error(\"There was an error creating an embed: \".concat(e))};t.forEach((function(e){try{if(null!==e.getAttribute(\"data-vimeo-defer\"))return;var t=getOEmbedParameters(e);var r=getVimeoUrl(t);getOEmbedData(r,t,e).then((function(t){return createEmbed(t,e)})).catch(n)}catch(e){n(e)}}))}\n/**\n * Resize embeds when messaged by the player.\n *\n * @param {HTMLElement} [parent=document] The parent element.\n * @return {void}\n */function resizeEmbeds(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;if(!window.VimeoPlayerResizeEmbeds_){window.VimeoPlayerResizeEmbeds_=true;var t=function onMessage(t){if(isVimeoUrl(t.origin)&&t.data&&\"spacechange\"===t.data.event){var n=e.querySelectorAll(\"iframe\");for(var r=0;r<n.length;r++)if(n[r].contentWindow===t.source){var o=n[r].parentElement;o.style.paddingBottom=\"\".concat(t.data.data[0].bottom,\"px\");break}}};window.addEventListener(\"message\",t)}}\n/**\n * Parse a message received from postMessage.\n *\n * @param {*} data The data received from postMessage.\n * @return {object}\n */function parseMessageData(e){if(\"string\"===typeof e)try{e=JSON.parse(e)}catch(e){console.warn(e);return{}}return e}\n/**\n * Post a message to the specified target.\n *\n * @param {Player} player The player object to use.\n * @param {string} method The API method to call.\n * @param {object} params The parameters to send to the player.\n * @return {void}\n */function postMessage(e,t,n){if(e.element.contentWindow&&e.element.contentWindow.postMessage){var r={method:t};void 0!==n&&(r.value=n);var o=parseFloat(navigator.userAgent.toLowerCase().replace(/^.*msie (\\d+).*$/,\"$1\"));o>=8&&o<10&&(r=JSON.stringify(r));e.element.contentWindow.postMessage(r,e.origin)}}\n/**\n * Parse the data received from a message event.\n *\n * @param {Player} player The player that received the message.\n * @param {(Object|string)} data The message data. Strings will be parsed into JSON.\n * @return {void}\n */function processData(e,t){t=parseMessageData(t);var n=[];var r;if(t.event){if(\"error\"===t.event){var o=getCallbacks(e,t.data.method);o.forEach((function(n){var r=new Error(t.data.message);r.name=t.data.name;n.reject(r);removeCallback(e,t.data.method,n)}))}n=getCallbacks(e,\"event:\".concat(t.event));r=t.data}else if(t.method){var i=shiftCallbacks(e,t.method);if(i){n.push(i);r=t.value}}n.forEach((function(t){try{if(\"function\"===typeof t){t.call(e,r);return}t.resolve(r)}catch(e){}}))}function initializeScreenfull(){var e=function(){var e;var t=[[\"requestFullscreen\",\"exitFullscreen\",\"fullscreenElement\",\"fullscreenEnabled\",\"fullscreenchange\",\"fullscreenerror\"],[\"webkitRequestFullscreen\",\"webkitExitFullscreen\",\"webkitFullscreenElement\",\"webkitFullscreenEnabled\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"webkitRequestFullScreen\",\"webkitCancelFullScreen\",\"webkitCurrentFullScreenElement\",\"webkitCancelFullScreen\",\"webkitfullscreenchange\",\"webkitfullscreenerror\"],[\"mozRequestFullScreen\",\"mozCancelFullScreen\",\"mozFullScreenElement\",\"mozFullScreenEnabled\",\"mozfullscreenchange\",\"mozfullscreenerror\"],[\"msRequestFullscreen\",\"msExitFullscreen\",\"msFullscreenElement\",\"msFullscreenEnabled\",\"MSFullscreenChange\",\"MSFullscreenError\"]];var n=0;var r=t.length;var o={};for(;n<r;n++){e=t[n];if(e&&e[1]in document){for(n=0;n<e.length;n++)o[t[0][n]]=e[n];return o}}return false}();var t={fullscreenchange:e.fullscreenchange,fullscreenerror:e.fullscreenerror};var n={request:function request(t){return new Promise((function(r,o){var i=function onFullScreenEntered(){n.off(\"fullscreenchange\",onFullScreenEntered);r()};n.on(\"fullscreenchange\",i);t=t||document.documentElement;var a=t[e.requestFullscreen]();a instanceof Promise&&a.then(i).catch(o)}))},exit:function exit(){return new Promise((function(t,r){if(n.isFullscreen){var o=function onFullScreenExit(){n.off(\"fullscreenchange\",onFullScreenExit);t()};n.on(\"fullscreenchange\",o);var i=document[e.exitFullscreen]();i instanceof Promise&&i.then(o).catch(r)}else t()}))},on:function on(e,n){var r=t[e];r&&document.addEventListener(r,n)},off:function off(e,n){var r=t[e];r&&document.removeEventListener(r,n)}};Object.defineProperties(n,{isFullscreen:{get:function get(){return Boolean(document[e.fullscreenElement])}},element:{enumerable:true,get:function get(){return document[e.fullscreenElement]}},isEnabled:{enumerable:true,get:function get(){return Boolean(document[e.fullscreenEnabled])}}});return n}var u=new WeakMap;var l=new WeakMap;var s={};var c=function(){\n/**\n   * Create a Player.\n   *\n   * @param {(HTMLIFrameElement|HTMLElement|string|jQuery)} element A reference to the Vimeo\n   *        player iframe, and id, or a jQuery object.\n   * @param {object} [options] oEmbed parameters to use when creating an embed in the element.\n   * @return {Player}\n   */\nfunction Player(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};_classCallCheck(this,Player);if(window.jQuery&&e instanceof jQuery){e.length>1&&window.console&&console.warn&&console.warn(\"A jQuery object with multiple elements was passed, using the first element.\");e=e[0]}\"undefined\"!==typeof document&&\"string\"===typeof e&&(e=document.getElementById(e));if(!isDomElement(e))throw new TypeError(\"You must pass either a valid element or a valid id.\");if(\"IFRAME\"!==e.nodeName){var r=e.querySelector(\"iframe\");r&&(e=r)}if(\"IFRAME\"===e.nodeName&&!isVimeoUrl(e.getAttribute(\"src\")||\"\"))throw new Error(\"The player element passed isn’t a Vimeo embed.\");if(u.has(e))return u.get(e);this._window=e.ownerDocument.defaultView;this.element=e;this.origin=\"*\";var i=new o((function(r,o){t._onMessage=function(e){if(isVimeoUrl(e.origin)&&t.element.contentWindow===e.source){\"*\"===t.origin&&(t.origin=e.origin);var n=parseMessageData(e.data);var i=n&&\"error\"===n.event;var a=i&&n.data&&\"ready\"===n.data.method;if(a){var u=new Error(n.data.message);u.name=n.data.name;o(u)}else{var l=n&&\"ready\"===n.event;var s=n&&\"ping\"===n.method;if(l||s){t.element.setAttribute(\"data-ready\",\"true\");r()}else processData(t,n)}}};t._window.addEventListener(\"message\",t._onMessage);if(\"IFRAME\"!==t.element.nodeName){var i=getOEmbedParameters(e,n);var a=getVimeoUrl(i);getOEmbedData(a,i,e).then((function(n){var r=createEmbed(n,e);t.element=r;t._originalElement=e;swapCallbacks(e,r);u.set(t.element,t);return n})).catch(o)}}));l.set(this,i);u.set(this.element,this);\"IFRAME\"===this.element.nodeName&&postMessage(this,\"ping\");if(s.isEnabled){var a=function exitFullscreen(){return s.exit()};this.fullscreenchangeHandler=function(){s.isFullscreen?storeCallback(t,\"event:exitFullscreen\",a):removeCallback(t,\"event:exitFullscreen\",a);t.ready().then((function(){postMessage(t,\"fullscreenchange\",s.isFullscreen)}))};s.on(\"fullscreenchange\",this.fullscreenchangeHandler)}return this}\n/**\n   * Get a promise for a method.\n   *\n   * @param {string} name The API method to call.\n   * @param {Object} [args={}] Arguments to send via postMessage.\n   * @return {Promise}\n   */_createClass(Player,[{key:\"callMethod\",value:function callMethod(e){var t=this;var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new o((function(r,o){return t.ready().then((function(){storeCallback(t,e,{resolve:r,reject:o});postMessage(t,e,n)})).catch(o)}))}\n/**\n     * Get a promise for the value of a player property.\n     *\n     * @param {string} name The property name\n     * @return {Promise}\n     */},{key:\"get\",value:function get(e){var t=this;return new o((function(n,r){e=getMethodName(e,\"get\");return t.ready().then((function(){storeCallback(t,e,{resolve:n,reject:r});postMessage(t,e)})).catch(r)}))}\n/**\n     * Get a promise for setting the value of a player property.\n     *\n     * @param {string} name The API method to call.\n     * @param {mixed} value The value to set.\n     * @return {Promise}\n     */},{key:\"set\",value:function set(e,t){var n=this;return new o((function(r,o){e=getMethodName(e,\"set\");if(void 0===t||null===t)throw new TypeError(\"There must be a value to set.\");return n.ready().then((function(){storeCallback(n,e,{resolve:r,reject:o});postMessage(n,e,t)})).catch(o)}))}\n/**\n     * Add an event listener for the specified event. Will call the\n     * callback with a single parameter, `data`, that contains the data for\n     * that event.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function(*)} callback The function to call when the event fires.\n     * @return {void}\n     */},{key:\"on\",value:function on(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(!t)throw new TypeError(\"You must pass a callback function.\");if(\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=getCallbacks(this,\"event:\".concat(e));0===n.length&&this.callMethod(\"addEventListener\",e).catch((function(){}));storeCallback(this,\"event:\".concat(e),t)}\n/**\n     * Remove an event listener for the specified event. Will remove all\n     * listeners for that event if a `callback` isn’t passed, or only that\n     * specific callback if it is passed.\n     *\n     * @param {string} eventName The name of the event.\n     * @param {function} [callback] The specific callback to remove.\n     * @return {void}\n     */},{key:\"off\",value:function off(e,t){if(!e)throw new TypeError(\"You must pass an event name.\");if(t&&\"function\"!==typeof t)throw new TypeError(\"The callback must be a function.\");var n=removeCallback(this,\"event:\".concat(e),t);n&&this.callMethod(\"removeEventListener\",e).catch((function(e){}))}\n/**\n     * Load a new video into this embed. The promise will be resolved if\n     * the video is successfully loaded, or it will be rejected if it could\n     * not be loaded.\n     *\n     * @param {number|string|object} options The id of the video, the url of the video, or an object with embed options.\n     * @return {LoadVideoPromise}\n     */},{key:\"loadVideo\",value:function loadVideo(e){return this.callMethod(\"loadVideo\",e)}},{key:\"ready\",value:function ready(){var e=l.get(this)||new o((function(e,t){t(new Error(\"Unknown player. Probably unloaded.\"))}));return o.resolve(e)}\n/**\n     * Add a cue point to the player.\n     *\n     * @param {number} time The time for the cue point.\n     * @param {object} [data] Arbitrary data to be returned with the cue point.\n     * @return {AddCuePointPromise}\n     */},{key:\"addCuePoint\",value:function addCuePoint(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.callMethod(\"addCuePoint\",{time:e,data:t})}\n/**\n     * Remove a cue point from the video.\n     *\n     * @param {string} id The id of the cue point to remove.\n     * @return {RemoveCuePointPromise}\n     */},{key:\"removeCuePoint\",value:function removeCuePoint(e){return this.callMethod(\"removeCuePoint\",e)}\n/**\n     * A representation of a text track on a video.\n     *\n     * @typedef {Object} VimeoTextTrack\n     * @property {string} language The ISO language code.\n     * @property {string} kind The kind of track it is (captions or subtitles).\n     * @property {string} label The human‐readable label for the track.\n     */\n/**\n     * Enable the text track with the specified language, and optionally the\n     * specified kind (captions or subtitles).\n     *\n     * When set via the API, the track language will not change the viewer’s\n     * stored preference.\n     *\n     * @param {string} language The two‐letter language code.\n     * @param {string} [kind] The kind of track to enable (captions or subtitles).\n     * @return {EnableTextTrackPromise}\n     */},{key:\"enableTextTrack\",value:function enableTextTrack(e,t){if(!e)throw new TypeError(\"You must pass a language.\");return this.callMethod(\"enableTextTrack\",{language:e,kind:t})}},{key:\"disableTextTrack\",value:function disableTextTrack(){return this.callMethod(\"disableTextTrack\")}},{key:\"pause\",value:function pause(){return this.callMethod(\"pause\")}},{key:\"play\",value:function play(){return this.callMethod(\"play\")}},{key:\"requestFullscreen\",value:function requestFullscreen(){return s.isEnabled?s.request(this.element):this.callMethod(\"requestFullscreen\")}},{key:\"exitFullscreen\",value:function exitFullscreen(){return s.isEnabled?s.exit():this.callMethod(\"exitFullscreen\")}},{key:\"getFullscreen\",value:function getFullscreen(){return s.isEnabled?o.resolve(s.isFullscreen):this.get(\"fullscreen\")}},{key:\"requestPictureInPicture\",value:function requestPictureInPicture(){return this.callMethod(\"requestPictureInPicture\")}},{key:\"exitPictureInPicture\",value:function exitPictureInPicture(){return this.callMethod(\"exitPictureInPicture\")}},{key:\"getPictureInPicture\",value:function getPictureInPicture(){return this.get(\"pictureInPicture\")}},{key:\"unload\",value:function unload(){return this.callMethod(\"unload\")}},{key:\"destroy\",value:function destroy(){var e=this;return new o((function(t){l.delete(e);u.delete(e.element);if(e._originalElement){u.delete(e._originalElement);e._originalElement.removeAttribute(\"data-vimeo-initialized\")}e.element&&\"IFRAME\"===e.element.nodeName&&e.element.parentNode&&(e.element.parentNode.parentNode&&e._originalElement&&e._originalElement!==e.element.parentNode?e.element.parentNode.parentNode.removeChild(e.element.parentNode):e.element.parentNode.removeChild(e.element));if(e.element&&\"DIV\"===e.element.nodeName&&e.element.parentNode){e.element.removeAttribute(\"data-vimeo-initialized\");var n=e.element.querySelector(\"iframe\");n&&n.parentNode&&(n.parentNode.parentNode&&e._originalElement&&e._originalElement!==n.parentNode?n.parentNode.parentNode.removeChild(n.parentNode):n.parentNode.removeChild(n))}e._window.removeEventListener(\"message\",e._onMessage);s.isEnabled&&s.off(\"fullscreenchange\",e.fullscreenchangeHandler);t()}))}},{key:\"getAutopause\",value:function getAutopause(){return this.get(\"autopause\")}\n/**\n     * Enable or disable the autopause behavior of this player.\n     *\n     * By default, when another video is played in the same browser, this\n     * player will automatically pause. Unless you have a specific reason\n     * for doing so, we recommend that you leave autopause set to the\n     * default (`true`).\n     *\n     * @param {boolean} autopause\n     * @return {SetAutopausePromise}\n     */},{key:\"setAutopause\",value:function setAutopause(e){return this.set(\"autopause\",e)}},{key:\"getBuffered\",value:function getBuffered(){return this.get(\"buffered\")}\n/**\n     * @typedef {Object} CameraProperties\n     * @prop {number} props.yaw - Number between 0 and 360.\n     * @prop {number} props.pitch - Number between -90 and 90.\n     * @prop {number} props.roll - Number between -180 and 180.\n     * @prop {number} props.fov - The field of view in degrees.\n     */},{key:\"getCameraProps\",value:function getCameraProps(){return this.get(\"cameraProps\")}\n/**\n     * For 360° videos set the camera properties for this player.\n     *\n     * @param {CameraProperties} camera The camera properties\n     * @return {SetCameraPromise}\n     */},{key:\"setCameraProps\",value:function setCameraProps(e){return this.set(\"cameraProps\",e)}\n/**\n     * A representation of a chapter.\n     *\n     * @typedef {Object} VimeoChapter\n     * @property {number} startTime The start time of the chapter.\n     * @property {object} title The title of the chapter.\n     * @property {number} index The place in the order of Chapters. Starts at 1.\n     */},{key:\"getChapters\",value:function getChapters(){return this.get(\"chapters\")}},{key:\"getCurrentChapter\",value:function getCurrentChapter(){return this.get(\"currentChapter\")}},{key:\"getColor\",value:function getColor(){return this.get(\"color\")}\n/**\n     * Set the color of this player to a hex or rgb string. Setting the\n     * color may fail if the owner of the video has set their embed\n     * preferences to force a specific color.\n     *\n     * @param {string} color The hex or rgb color string to set.\n     * @return {SetColorPromise}\n     */},{key:\"setColor\",value:function setColor(e){return this.set(\"color\",e)}\n/**\n     * A representation of a cue point.\n     *\n     * @typedef {Object} VimeoCuePoint\n     * @property {number} time The time of the cue point.\n     * @property {object} data The data passed when adding the cue point.\n     * @property {string} id The unique id for use with removeCuePoint.\n     */},{key:\"getCuePoints\",value:function getCuePoints(){return this.get(\"cuePoints\")}},{key:\"getCurrentTime\",value:function getCurrentTime(){return this.get(\"currentTime\")}\n/**\n     * Set the current playback position in seconds. If the player was\n     * paused, it will remain paused. Likewise, if the player was playing,\n     * it will resume playing once the video has buffered.\n     *\n     * You can provide an accurate time and the player will attempt to seek\n     * to as close to that time as possible. The exact time will be the\n     * fulfilled value of the promise.\n     *\n     * @param {number} currentTime\n     * @return {SetCurrentTimePromise}\n     */},{key:\"setCurrentTime\",value:function setCurrentTime(e){return this.set(\"currentTime\",e)}},{key:\"getDuration\",value:function getDuration(){return this.get(\"duration\")}},{key:\"getEnded\",value:function getEnded(){return this.get(\"ended\")}},{key:\"getLoop\",value:function getLoop(){return this.get(\"loop\")}\n/**\n     * Set the loop state of the player. When set to `true`, the player\n     * will start over immediately once playback ends.\n     *\n     * @param {boolean} loop\n     * @return {SetLoopPromise}\n     */},{key:\"setLoop\",value:function setLoop(e){return this.set(\"loop\",e)}\n/**\n     * Set the muted state of the player. When set to `true`, the player\n     * volume will be muted.\n     *\n     * @param {boolean} muted\n     * @return {SetMutedPromise}\n     */},{key:\"setMuted\",value:function setMuted(e){return this.set(\"muted\",e)}},{key:\"getMuted\",value:function getMuted(){return this.get(\"muted\")}},{key:\"getPaused\",value:function getPaused(){return this.get(\"paused\")}},{key:\"getPlaybackRate\",value:function getPlaybackRate(){return this.get(\"playbackRate\")}\n/**\n     * Set the playback rate of the player on a scale from `0.5` to `2`. When set\n     * via the API, the playback rate will not be synchronized to other\n     * players or stored as the viewer's preference.\n     *\n     * @param {number} playbackRate\n     * @return {SetPlaybackRatePromise}\n     */},{key:\"setPlaybackRate\",value:function setPlaybackRate(e){return this.set(\"playbackRate\",e)}},{key:\"getPlayed\",value:function getPlayed(){return this.get(\"played\")}},{key:\"getQualities\",value:function getQualities(){return this.get(\"qualities\")}},{key:\"getQuality\",value:function getQuality(){return this.get(\"quality\")}\n/**\n     * Set a video quality.\n     *\n     * @param {string} quality\n     * @return {SetQualityPromise}\n     */},{key:\"setQuality\",value:function setQuality(e){return this.set(\"quality\",e)}},{key:\"getSeekable\",value:function getSeekable(){return this.get(\"seekable\")}},{key:\"getSeeking\",value:function getSeeking(){return this.get(\"seeking\")}},{key:\"getTextTracks\",value:function getTextTracks(){return this.get(\"textTracks\")}},{key:\"getVideoEmbedCode\",value:function getVideoEmbedCode(){return this.get(\"videoEmbedCode\")}},{key:\"getVideoId\",value:function getVideoId(){return this.get(\"videoId\")}},{key:\"getVideoTitle\",value:function getVideoTitle(){return this.get(\"videoTitle\")}},{key:\"getVideoWidth\",value:function getVideoWidth(){return this.get(\"videoWidth\")}},{key:\"getVideoHeight\",value:function getVideoHeight(){return this.get(\"videoHeight\")}},{key:\"getVideoUrl\",value:function getVideoUrl(){return this.get(\"videoUrl\")}},{key:\"getVolume\",value:function getVolume(){return this.get(\"volume\")}\n/**\n     * Set the volume of the player on a scale from `0` to `1`. When set\n     * via the API, the volume level will not be synchronized to other\n     * players or stored as the viewer’s preference.\n     *\n     * Most mobile devices do not support setting the volume. An error will\n     * *not* be triggered in that situation.\n     *\n     * @param {number} volume\n     * @return {SetVolumePromise}\n     */},{key:\"setVolume\",value:function setVolume(e){return this.set(\"volume\",e)}}]);return Player}();if(!e){s=initializeScreenfull();initializeEmbeds();resizeEmbeds()}export{c as default};\n\n//# sourceMappingURL=player.es.js.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 — 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 { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.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 { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.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 * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.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{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,withCSS}from\"framer\";import{motion}from\"framer-motion\";import Player from\"@vimeo/player\";import{useEffect,useRef,useState}from\"react\";import{useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";const vimeoRegex=/^https?:\\/\\/vimeo\\.com\\/(\\d+)/;/**\n * VIMEO\n *\n * @framerIntrinsicWidth 480\n * @framerIntrinsicHeight 270\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps borderRadius, backgroundColor\n */ const Vimeo=withCSS(function Vimeo({video,autoplay,mute,controls,loop,titles,backgroundColor,onPlay=()=>{},onEnd=()=>{},style,...props}){const[key,setKey]=useState(0);const player=useRef();const borderRadius=useRadius(props);useEffect(()=>{if(!player.current)return;const[,id]=video.match(vimeoRegex)?video.match(vimeoRegex):[null,0];const embeddedPlayer=new Player(player.current,{id,autopause:false,autoplay:RenderTarget.current()===RenderTarget.canvas?false:autoplay,byline:titles,controls:controls,loop:loop,title:titles,muted:mute,responsive:true});embeddedPlayer.on(\"play\",onPlay);embeddedPlayer.on(\"ended\",onEnd);},[player,key]);useEffect(()=>{setKey(key=>key+1);},[video,autoplay,mute,controls,loop,titles]);return /*#__PURE__*/ _jsx(motion.div,{style:{background:backgroundColor,...style,borderRadius,position:\"relative\",width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"},...props,children:/*#__PURE__*/ _jsx(\"div\",{className:\"framer-vimeo\",ref:player,style:{width:\"100%\",height:\"100%\"}},key)});},[\".framer-vimeo > div { padding: 0 !important; width: 100%; height: 100%; }\",]);Vimeo.defaultProps={video:\"https://vimeo.com/642263700\",autoplay:false,loop:false,mute:false,backgroundColor:\"rgba(0, 0, 0, 0)\",borderRadius:0};addPropertyControls(Vimeo,{video:{title:\"URL\",type:ControlType.String},...borderRadiusControl,controls:{title:\"Controls\",type:ControlType.Boolean,enabledTitle:\"Show\",disabledTitle:\"Hide\"},autoplay:{title:\"Autoplay\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// playOnCanvas: {\n//     title: \"On Canvas\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Play\",\n//     disabledTitle: \"Pause\",\n// },\nloop:{title:\"Loop\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},mute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\"},// titles: {\n//     title: \"Titles\",\n//     type: ControlType.Boolean,\n//     enabledTitle: \"Show\",\n//     disabledTitle: \"Hide\",\n// },\nbackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"rgba(0, 0, 0, 0)\"},onPlay:{type:ControlType.EventHandler},onEnd:{type:ControlType.EventHandler}});export default Vimeo;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Vimeo\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"270\",\"framerIntrinsicWidth\":\"480\",\"framerComponentPresetProps\":\"borderRadius, backgroundColor\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Vimeo.map","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{noopReturn as t,defaults as i,isEasingGenerator as e,isEasingList as s,interpolate as a}from\"@motionone/utils\";import{cubicBezier as n,steps as r}from\"@motionone/easing\";const o={ease:n(.25,.1,.25,1),\"ease-in\":n(.42,0,1,1),\"ease-in-out\":n(.42,0,.58,1),\"ease-out\":n(0,0,.58,1)};const h=/\\((.*?)\\)/;function getEasingFunction(i){if(\"function\"===typeof i)return i;if(Array.isArray(i))return n(...i);if(o[i])return o[i];if(i.startsWith(\"steps\")){const t=h.exec(i);if(t){const i=t[1].split(\",\");return r(parseFloat(i[0]),i[1].trim())}}return t}class Animation{constructor(n,r=[0,1],{easing:o,duration:h=i.duration,delay:u=i.delay,endDelay:l=i.endDelay,repeat:m=i.repeat,offset:c,direction:p=\"normal\"}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=t;this.duration=0;this.totalDuration=0;this.repeat=0;this.playState=\"idle\";this.finished=new Promise(((t,i)=>{this.resolve=t;this.reject=i}));o=o||i.easing;if(e(o)){const t=o.createAnimation(r,(()=>\"0\"),true);o=t.easing;void 0!==t.keyframes&&(r=t.keyframes);void 0!==t.duration&&(h=t.duration)}this.repeat=m;this.easing=s(o)?t:getEasingFunction(o);this.updateDuration(h);const d=a(r,c,s(o)?o.map(getEasingFunction):t);this.tick=t=>{var i;u=u;let e=0;e=void 0!==this.pauseTime?this.pauseTime:(t-this.startTime)*this.rate;this.t=e;e/=1e3;e=Math.max(e-u,0);\"finished\"===this.playState&&void 0===this.pauseTime&&(e=this.totalDuration);const s=e/this.duration;let a=Math.floor(s);let r=s%1;!r&&s>=1&&(r=1);1===r&&a--;const o=a%2;(\"reverse\"===p||\"alternate\"===p&&o||\"alternate-reverse\"===p&&!o)&&(r=1-r);const h=e>=this.totalDuration?1:Math.min(r,1);const m=d(this.easing(h));n(m);const c=void 0===this.pauseTime&&(\"finished\"===this.playState||e>=this.totalDuration+l);if(c){this.playState=\"finished\";null===(i=this.resolve)||void 0===i?void 0:i.call(this,m)}else\"idle\"!==this.playState&&(this.frameRequestId=requestAnimationFrame(this.tick))};this.play()}play(){const t=performance.now();this.playState=\"running\";void 0!==this.pauseTime?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t);this.cancelTimestamp=this.startTime;this.pauseTime=void 0;this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState=\"paused\";this.pauseTime=this.t}finish(){this.playState=\"finished\";this.tick(0)}stop(){var t;this.playState=\"idle\";void 0!==this.frameRequestId&&cancelAnimationFrame(this.frameRequestId);null===(t=this.reject)||void 0===t?void 0:t.call(this,false)}cancel(){this.stop();this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t;this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){void 0!==this.pauseTime||0===this.rate?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}export{Animation,getEasingFunction};\n\n//# sourceMappingURL=index.es.js.map","var extendStatics=function(e,t){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};return extendStatics(e,t)};function __extends(e,t){if(\"function\"!==typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};return __assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&\"function\"===typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function __decorate(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __metadata(e,t){if(\"object\"===typeof Reflect&&\"function\"===typeof Reflect.metadata)return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},\"function\"===typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(a){if(r)throw new TypeError(\"Generator is already executing.\");while(i)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;(n=0,o)&&(a=[2&a[0],o.value]);switch(a[0]){case 0:case 1:o=a;break;case 4:i.label++;return{value:a[1],done:false};case 5:i.label++;n=a[1];a=[0];continue;case 7:a=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(6===a[0]||2===a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1];o=a;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(a);break}o[2]&&i.ops.pop();i.trys.pop();continue}a=t.call(e,i)}catch(e){a=[6,e];n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){void 0===n&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!(\"get\"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:true,get:function(){return t[r]}});Object.defineProperty(e,n,o)}:function(e,t,r,n){void 0===n&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)\"default\"===n||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=\"function\"===typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&\"number\"===typeof e.length)return{next:function(){e&&n>=e.length&&(e=void 0);return{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(e,t){var r=\"function\"===typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((void 0===t||t-- >0)&&!(n=a.next()).done)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}\n/** @deprecated */function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}\n/** @deprecated */function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,c=a.length;i<c;i++,o++)n[o]=a[i];return n}function __spreadArray(e,t,r){if(r||2===arguments.length)for(var n,o=0,a=t.length;o<a;o++)if(n||!(o in t)){n||(n=Array.prototype.slice.call(t,0,o));n[o]=t[o]}return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,o=r.apply(e,t||[]),a=[];return n={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),n[Symbol.asyncIterator]=function(){return this},n;function verb(e){o[e]&&(n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))})}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume(\"next\",e)}function reject(e){resume(\"throw\",e)}function settle(e,t){(e(t),a.shift(),a.length)&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},verb(\"next\"),verb(\"throw\",(function(e){throw e})),verb(\"return\"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:\"return\"===n}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=\"function\"===typeof __values?__values(e):e[Symbol.iterator](),t={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function verb(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){t=e[r](t),settle(n,o,t.done,t.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}}function __makeTemplateObject(e,t){Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t;return e}var t=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:true,value:t})}:function(e,t){e.default=t};function __importStar(r){if(r&&r.__esModule)return r;var n={};if(null!=r)for(var o in r)\"default\"!==o&&Object.prototype.hasOwnProperty.call(r,o)&&e(n,r,o);t(n,r);return n}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if(\"a\"===r&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?n:\"a\"===r?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(null===t||\"object\"!==typeof t&&\"function\"!==typeof t)throw new TypeError(\"Cannot use 'in' operator on non-object\");return\"function\"===typeof e?t===e:e.has(t)}export{__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__read,__rest,__spread,__spreadArray,__spreadArrays,__values};\n\n//# sourceMappingURL=tslib.es6.js.map","var n={};Object.defineProperty(n,\"__esModule\",{value:true});n.warning=function(){};n.invariant=function(){};const e=n.__esModule,t=n.warning,r=n.invariant;export default n;export{e as __esModule,r as invariant,t as warning};\n\n//# sourceMappingURL=index.js.map","import{velocityPerSecond as e,time as t}from\"@motionone/utils\";const s=5;function calcGeneratorVelocity(t,n,r){const a=Math.max(n-s,0);return e(r-t(a),n-a)}const n={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=n.stiffness,t=n.damping,s=n.mass)=>t/(2*Math.sqrt(e*s));function hasReachedTarget(e,t,s){return e<t&&s>=t||e>t&&s<=t}const spring=({stiffness:e=n.stiffness,damping:s=n.damping,mass:r=n.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i=2,restDistance:h=.5}={})=>{c=c?t.s(c):0;const u={done:false,hasReachedTarget:false,current:a,target:o};const d=o-a;const f=Math.sqrt(e/r)/1e3;const l=calcDampingRatio(e,s,r);let g;if(l<1){const e=f*Math.sqrt(1-l*l);g=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else g=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=g(e);const t=0===e?c:calcGeneratorVelocity(g,e,u.current);const s=Math.abs(t)<=i;const n=Math.abs(o-u.current)<=h;u.done=s&&n;u.hasReachedTarget=hasReachedTarget(a,o,u.current);return u}};const glide=({from:e=0,velocity:s=0,power:n=.8,decay:r=.325,bounceDamping:a,bounceStiffness:o,changeTarget:c,min:i,max:h,restDistance:u=.5,restSpeed:d})=>{r=t.ms(r);const f={hasReachedTarget:false,done:false,current:e,target:e};const isOutOfBounds=e=>void 0!==i&&e<i||void 0!==h&&e>h;const nearestBoundary=e=>void 0===i?h:void 0===h||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=void 0===c?g:c(g);f.target=m;m!==g&&(l=m-e);const calcDelta=e=>-l*Math.exp(-e/r);const calcLatest=e=>m+calcDelta(e);const applyFriction=e=>{const t=calcDelta(e);const s=calcLatest(e);f.done=Math.abs(t)<=u;f.current=f.done?m:s};let p;let M;const checkCatchBoundary=e=>{if(isOutOfBounds(f.current)){p=e;M=spring({from:f.current,to:nearestBoundary(f.current),velocity:calcGeneratorVelocity(calcLatest,e,f.current),damping:a,stiffness:o,restDistance:u,restSpeed:d})}};checkCatchBoundary(0);return e=>{let t=false;if(!M&&void 0===p){t=true;applyFriction(e);checkCatchBoundary(e)}if(void 0!==p&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const r=10;const a=1e4;function pregenerateKeyframes(e){let t;let s=r;let n=e(0);const o=[n.current];while(!n.done&&s<a){n=e(s);o.push(n.done?n.target:n.current);void 0===t&&n.hasReachedTarget&&(t=s);s+=r}const c=s-r;1===o.length&&o.push(n.current);return{keyframes:o,duration:c/1e3,overshootDuration:(null!==t&&void 0!==t?t:c)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n\n//# sourceMappingURL=index.es.js.map","import{MotionValue as e}from\"@motionone/types\";import{noopReturn as t,addUniqueItem as n,isCubicBezier as o,defaults as i,isEasingGenerator as s,isNumber as r,time as a,isEasingList as c,noop as l,removeItem as f,mix as u,getEasingForSegment as d,isString as g,defaultOffset as m,fillOffset as h,progress as p,velocityPerSecond as v,interpolate as y}from\"@motionone/utils\";import{Animation as w,getEasingFunction as E}from\"@motionone/animation\";import{__rest as b}from\"tslib\";import{invariant as S}from\"hey-listen\";import{pregenerateKeyframes as A,calcGeneratorVelocity as O,spring as x,glide as V}from\"@motionone/generators\";const z=new WeakMap;function getAnimationData(e){z.has(e)||z.set(e,{transforms:[],values:new Map});return z.get(e)}function getMotionValue(t,n){t.has(n)||t.set(n,new e);return t.get(n)}const W=[\"\",\"X\",\"Y\",\"Z\"];const L=[\"translate\",\"scale\",\"rotate\",\"skew\"];const T={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const M={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:t},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const B=[\"x\",\"y\",\"z\"];L.forEach((e=>{W.forEach((t=>{B.push(e+t);k.set(asTransformCssVar(e+t),M[e])}))}));const compareTransformOrder=(e,t)=>B.indexOf(e)-B.indexOf(t);const j=new Set(B);const isTransform=e=>j.has(e);const addTransformToElement=(e,t)=>{T[t]&&(t=T[t]);const{transforms:o}=getAnimationData(e);n(o,t);e.style.transform=buildTransformTemplate(o)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const P=new Set;function registerCssVariable(e){if(!P.has(e)){P.add(e);try{const{syntax:t,initialValue:n}=k.has(e)?k.get(e):{};CSS.registerProperty({name:e,inherits:false,syntax:t,initialValue:n})}catch(e){}}}const convertEasing=e=>o(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;const testAnimation=e=>document.createElement(\"div\").animate(e,{duration:.001});const C={cssRegisterProperty:()=>\"undefined\"!==typeof CSS&&Object.hasOwnProperty.call(CSS,\"registerProperty\"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,\"animate\"),partialKeyframes:()=>{try{testAnimation({opacity:[1]})}catch(e){return false}return true},finished:()=>Boolean(testAnimation({opacity:[0,1]}).finished)};const $={};const R={};for(const e in C)R[e]=()=>{void 0===$[e]&&($[e]=C[e]());return $[e]};function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)null===e[n]&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){T[e]&&(e=T[e]);return isTransform(e)?asTransformCssVar(e):e}const H={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&0!==n){const e=k.get(t);e&&(n=e.initialValue)}return n},set:(e,t,n)=>{t=getStyleName(t);isCssVar(t)?e.style.setProperty(t,n):e.style[t]=n}};function stopAnimation(e,t=true){if(e&&\"finished\"!==e.playState)try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={}){const f=getDevToolsRecord();const u=false!==o.record&&f;let d;let{duration:g=i.duration,delay:m=i.delay,endDelay:h=i.endDelay,repeat:p=i.repeat,easing:v=i.easing,direction:y,offset:E,allowWebkitAcceleration:b=false}=o;const S=getAnimationData(e);let A=R.waapi();const O=isTransform(t);O&&addTransformToElement(e,t);const x=getStyleName(t);const V=getMotionValue(S.values,x);const z=k.get(x);stopAnimation(V.animation,!(s(v)&&V.generator)&&false!==o.record);return()=>{const readInitialValue=()=>{var t,n;return null!==(n=null!==(t=H.get(e,x))&&void 0!==t?t:null===z||void 0===z?void 0:z.initialValue)&&void 0!==n?n:0};let i=hydrateKeyframes(keyframesList(n),readInitialValue);if(s(v)){const e=v.createAnimation(i,readInitialValue,O,x,V);v=e.easing;void 0!==e.keyframes&&(i=e.keyframes);void 0!==e.duration&&(g=e.duration)}isCssVar(x)&&(R.cssRegisterProperty()?registerCssVariable(x):A=false);if(A){z&&(i=i.map((e=>r(e)?z.toDefaultUnit(e):e)));1!==i.length||R.partialKeyframes()&&!u||i.unshift(readInitialValue());const t={delay:a.ms(m),duration:a.ms(g),endDelay:a.ms(h),easing:c(v)?void 0:convertEasing(v),direction:y,iterations:p+1,fill:\"both\"};d=e.animate({[x]:i,offset:E,easing:c(v)?v.map(convertEasing):void 0},t);d.finished||(d.finished=new Promise(((e,t)=>{d.onfinish=e;d.oncancel=t})));const n=i[i.length-1];d.finished.then((()=>{H.set(e,x,n);d.cancel()})).catch(l);b||(d.playbackRate=1.000001)}else if(O){i=i.map((e=>\"string\"===typeof e?parseFloat(e):e));1===i.length&&i.unshift(parseFloat(readInitialValue()));const render=t=>{z&&(t=z.toDefaultUnit(t));H.set(e,x,t)};d=new w(render,i,Object.assign(Object.assign({},o),{duration:g,easing:v}))}else{const t=i[i.length-1];H.set(e,x,z&&r(t)?z.toDefaultUnit(t):t)}u&&f(e,t,i,{duration:g,delay:m,easing:v,repeat:p,offset:E},\"motion-one\");V.setAnimation(d);return d}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(\"string\"===typeof e)if(t){null!==(n=t[e])&&void 0!==n?n:t[e]=document.querySelectorAll(e);e=t[e]}else e=document.querySelectorAll(e);else e instanceof Element&&(e=[e]);return Array.from(e||[])}const createAnimation=e=>e();const withControls=(e,t,n=i.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},I);const getActiveAnimation=e=>e.animations[0];const I={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return a.s((null===n||void 0===n?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return null===n||void 0===n?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(l));return e.finished;case\"stop\":return()=>{e.animations.forEach((e=>stopAnimation(e)))};case\"forEachNative\":return t=>{e.animations.forEach((n=>t(n,e)))};default:return\"undefined\"===typeof(null===n||void 0===n?void 0:n[t])?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=a.ms(n);case\"currentTime\":case\"playbackRate\":for(let o=0;o<e.animations.length;o++)e.animations[o][t]=n;return true}return false}};const selectFinished=e=>e.finished;function stagger(e=.1,{start:t=0,from:n=0,easing:o}={}){return(i,s)=>{const a=r(n)?n:getFromIndex(n,s);const c=Math.abs(a-i);let l=e*c;if(o){const t=s*e;const n=E(o);l=n(l/t)*t}return t+l}}function getFromIndex(e,t){if(\"first\"===e)return 0;{const n=t-1;return\"last\"===e?n:n/2}}function resolveOption(e,t,n){return\"function\"===typeof e?e(t,n):e}function animate(e,t,n={}){e=resolveElements(e);const o=e.length;const i=[];for(let s=0;s<o;s++){const r=e[s];for(const e in t){const a=getOptions(n,e);a.delay=resolveOption(a.delay,s,o);const c=animateStyle(r,e,t[e],a);i.push(c)}}return withControls(i,n,n.duration)}function calcNextTime(e,t,n,o){var i;return r(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):\"<\"===t?n:null!==(i=o.get(t))&&void 0!==i?i:e}function eraseKeyframes(e,t,n){for(let o=0;o<e.length;o++){const i=e[o];if(i.at>t&&i.at<n){f(e,i);o--}}}function addKeyframes(e,t,n,o,i,s){eraseKeyframes(e,i,s);for(let r=0;r<t.length;r++)e.push({value:t[r],at:u(i,s,o[r]),easing:d(n,r)})}function compareByTime(e,t){return e.at===t.at?null===e.value?1:-1:e.at-t.at}function timeline(e,t={}){var n;const o=createAnimationsFromTimeline(e,t);const i=o.map((e=>animateStyle(...e))).filter(Boolean);return withControls(i,t,null===(n=o[0])||void 0===n?void 0:n[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:n={}}=t,o=b(t,[\"defaultOptions\"]);const r=[];const a=new Map;const c={};const l=new Map;let f=0;let u=0;let d=0;for(let t=0;t<e.length;t++){const o=e[t];if(g(o)){l.set(o,u);continue}if(!Array.isArray(o)){l.set(o.name,calcNextTime(u,o.at,f,l));continue}const[r,p,v={}]=o;void 0!==v.at&&(u=calcNextTime(u,v.at,f,l));let y=0;const w=resolveElements(r,c);const E=w.length;for(let e=0;e<E;e++){const t=w[e];const o=getElementSequence(t,a);for(const t in p){const r=getValueSequence(t,o);let a=keyframesList(p[t]);const c=getOptions(v,t);let{duration:l=n.duration||i.duration,easing:f=n.easing||i.easing}=c;if(s(f)){const e=isTransform(t);S(2===a.length||!e,\"spring must be provided 2 keyframes within timeline\");const n=f.createAnimation(a,(()=>\"0\"),e);f=n.easing;void 0!==n.keyframes&&(a=n.keyframes);void 0!==n.duration&&(l=n.duration)}const g=resolveOption(v.delay,e,E)||0;const w=u+g;const b=w+l;let{offset:A=m(a.length)}=c;1===A.length&&0===A[0]&&(A[1]=1);const O=length-a.length;O>0&&h(A,O);1===a.length&&a.unshift(null);addKeyframes(r,a,f,A,w,b);y=Math.max(g+l,y);d=Math.max(b,d)}}f=u;u+=y}a.forEach(((e,t)=>{for(const s in e){const a=e[s];a.sort(compareByTime);const c=[];const l=[];const f=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];c.push(n);l.push(p(0,d,t));f.push(o||i.easing)}if(0!==l[0]){l.unshift(0);c.unshift(c[0]);f.unshift(\"linear\")}if(1!==l[l.length-1]){l.push(1);c.push(null)}r.push([t,s,c,Object.assign(Object.assign(Object.assign({},n),{duration:d,easing:f,offset:l}),o)])}}));return r}function getElementSequence(e,t){!t.has(e)&&t.set(e,{});return t.get(e)}function getValueSequence(e,t){t[e]||(t[e]=[]);return t[e]}function createGeneratorEasing(e){const t=new WeakMap;return(n={})=>{const o=new Map;const getGenerator=(t=0,i=100,s=0,r=false)=>{const a=`${t}-${i}-${s}-${r}`;o.has(a)||o.set(a,e(Object.assign({from:t,to:i,velocity:s,restSpeed:r?.05:2,restDistance:r?.01:.5},n)));return o.get(a)};const getKeyframes=e=>{t.has(e)||t.set(e,A(e));return t.get(e)};return{createAnimation:(e,t,n,o,i)=>{var s,r;let a;const c=e.length;let l=n&&c<=2&&e.every(isNumberOrNull);if(l){const n=e[c-1];const l=1===c?null:e[0];let f=0;let u=0;const d=null===i||void 0===i?void 0:i.generator;if(d){const{animation:t,generatorStartTime:n}=i;const o=(null===t||void 0===t?void 0:t.startTime)||n||0;const r=(null===t||void 0===t?void 0:t.currentTime)||performance.now()-o;const a=d(r).current;u=null!==(s=l)&&void 0!==s?s:a;(1===c||2===c&&null===e[0])&&(f=O((e=>d(e).current),r,a))}else u=null!==(r=l)&&void 0!==r?r:parseFloat(t());const g=getGenerator(u,n,f,null===o||void 0===o?void 0:o.includes(\"scale\"));const m=getKeyframes(g);a=Object.assign(Object.assign({},m),{easing:\"linear\"});if(i){i.generator=g;i.generatorStartTime=performance.now()}}else{const e=getKeyframes(getGenerator(0,100));a={easing:\"ease\",duration:e.overshootDuration}}return a}}}}const isNumberOrNull=e=>\"string\"!==typeof e;const N=createGeneratorEasing(x);const F=createGeneratorEasing(V);const U={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(\"undefined\"===typeof IntersectionObserver)return()=>{};const s=resolveElements(e);const r=new WeakMap;const onIntersectionChange=e=>{e.forEach((e=>{const n=r.get(e.target);if(e.isIntersecting!==Boolean(n))if(e.isIntersecting){const n=t(e);\"function\"===typeof n?r.set(e.target,n):a.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const a=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:\"number\"===typeof i?i:U[i]});s.forEach((e=>a.observe(e)));return()=>a.disconnect()}const q=new WeakMap;let K;function getElementSize(e,t){if(t){const{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&\"getBBox\"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function notifyTarget({target:e,contentRect:t,borderBoxSize:n}){var o;null===(o=q.get(e))||void 0===o?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){\"undefined\"!==typeof ResizeObserver&&(K=new ResizeObserver(notifyAll))}function resizeElement(e,t){K||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=q.get(e);if(!n){n=new Set;q.set(e,n)}n.add(t);null===K||void 0===K?void 0:K.observe(e)}));return()=>{n.forEach((e=>{const n=q.get(e);null===n||void 0===n?void 0:n.delete(t);(null===n||void 0===n?void 0:n.size)||(null===K||void 0===K?void 0:K.unobserve(e))}))}}const G=new Set;let _;function createWindowResizeHandler(){_=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};G.forEach((e=>e(t)))};window.addEventListener(\"resize\",_)}function resizeWindow(e){G.add(e);_||createWindowResizeHandler();return()=>{G.delete(e);!G.size&&_&&(_=void 0)}}function resize(e,t){return\"function\"===typeof e?resizeWindow(e):resizeElement(e,t)}const Z=50;const createAxisInfo=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0});const createScrollInfo=()=>({time:0,x:createAxisInfo(),y:createAxisInfo()});const X={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:r}=X[t];const a=i.current;const c=n.time;i.current=e[\"scroll\"+r];i.scrollLength=e[\"scroll\"+s]-e[\"client\"+s];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=p(0,i.scrollLength,i.current);const l=o-c;i.velocity=l>Z?0:v(i.current-a,l)}function updateScrollInfo(e,t,n){updateAxisInfo(e,\"x\",t,n);updateAxisInfo(e,\"y\",t,n);t.time=n}function calcInset(e,t){let n={x:0,y:0};let o=e;while(o&&o!==t)if(o instanceof HTMLElement){n.x+=o.offsetLeft;n.y+=o.offsetTop;o=o.offsetParent}else if(o instanceof SVGGraphicsElement&&\"getBBox\"in o){const{top:e,left:t}=o.getBBox();n.x+=t;n.y+=e;while(o&&\"svg\"!==o.tagName)o=o.parentNode}return n}const Y={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const J={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;void 0!==J[e]&&(e=J[e]);if(g(e)){const t=parseFloat(e);e.endsWith(\"px\")?o=t:e.endsWith(\"%\")?e=t/100:e.endsWith(\"vw\")?o=t/100*document.documentElement.clientWidth:e.endsWith(\"vh\")?o=t/100*document.documentElement.clientHeight:e=t}r(e)&&(o=t*e);return n+o}const Q=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:Q;let s=0;let a=0;if(r(e))i=[e,e];else if(g(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,J[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);a=resolveEdge(i[1],t);return s-a}const ee={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=Y.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=\"y\"===s?\"height\":\"width\";const a=i!==e?calcInset(i,e):ee;const c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:i.clientWidth,height:i.clientHeight};const l={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let f=!t[s].interpolate;const u=o.length;for(let e=0;e<u;e++){const n=resolveOffset(o[e],l[r],c[r],a[s]);f||n===t[s].interpolatorOffsets[e]||(f=true);t[s].offset[e]=n}if(f){t[s].interpolate=y(m(u),t[s].offset);t[s].interpolatorOffsets=[...t[s].offset]}t[s].progress=t[s].interpolate(t[s].current)}function measure(e,t=e,n){n.x.targetOffset=0;n.y.targetOffset=0;if(t!==e){let o=t;while(o&&o!=e){n.x.targetOffset+=o.offsetLeft;n.y.targetOffset+=o.offsetTop;o=o.offsetParent}}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth;n.y.targetLength=t===e?t.scrollHeight:t.clientHeight;n.x.containerLength=e.clientWidth;n.y.containerLength=e.clientHeight}function createOnScrollHandler(e,t,n,o={}){const i=o.axis||\"y\";return{measure:()=>measure(e,o.target,n),update:t=>{updateScrollInfo(e,n,t);(o.offset||o.target)&&resolveOffsets(e,n,o)},notify:\"function\"===typeof t?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,n){e.pause();e.forEachNative(((e,{easing:n})=>{var o,i;if(e.updateDuration){n||(e.easing=t);e.updateDuration(1)}else{const t={duration:1e3};n||(t.easing=\"linear\");null===(i=null===(o=e.effect)||void 0===o?void 0:o.updateTiming)||void 0===i?void 0:i.call(o,t)}}));return()=>{e.currentTime=n.progress}}const te=new WeakMap;const ne=new WeakMap;const oe=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=b(t,[\"container\"]);let i=oe.get(n);if(!i){i=new Set;oe.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!te.has(n)){const listener=()=>{const e=performance.now();for(const e of i)e.measure();for(const t of i)t.update(e);for(const e of i)e.notify()};te.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&ne.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=te.get(n);const c=requestAnimationFrame(a);return()=>{var t;\"function\"!==typeof e&&e.stop();cancelAnimationFrame(c);const o=oe.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=te.get(n);te.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);null===(t=ne.get(n))||void 0===t?void 0:t();window.removeEventListener(\"resize\",i)}}}function hasChanged(e,t){return typeof e!==typeof t||(Array.isArray(e)&&Array.isArray(t)?!shallowCompare(e,t):e!==t)}function shallowCompare(e,t){const n=t.length;if(n!==e.length)return false;for(let o=0;o<n;o++)if(t[o]!==e[o])return false;return true}function isVariant(e){return\"object\"===typeof e}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ie;function processScheduledAnimations(){if(!ie)return;const e=ie.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ie=void 0}function scheduleAnimation(e){if(ie)n(ie,e);else{ie=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ie&&f(ie,e)}const compareByDepth=(e,t)=>e.getDepth()-t.getDepth();const fireAnimateUpdates=e=>e.animateUpdates();const fireNext=e=>e.next();const motionEvent=(e,t)=>new CustomEvent(e,{detail:{target:t}});function dispatchPointerEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function dispatchViewEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const se={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=b(o,[\"once\"]);return inView$1(e,(o=>{t();dispatchViewEvent(e,\"viewenter\",o);if(!i)return t=>{n();dispatchViewEvent(e,\"viewleave\",t)}}),s)}};const mouseEvent=(e,t,n)=>o=>{if(!o.pointerType||\"mouse\"===o.pointerType){n();dispatchPointerEvent(e,t,o)}};const re={isActive:e=>Boolean(e.hover),subscribe:(e,{enable:t,disable:n})=>{const o=mouseEvent(e,\"hoverstart\",t);const i=mouseEvent(e,\"hoverend\",n);e.addEventListener(\"pointerenter\",o);e.addEventListener(\"pointerleave\",i);return()=>{e.removeEventListener(\"pointerenter\",o);e.removeEventListener(\"pointerleave\",i)}}};const ae={isActive:e=>Boolean(e.press),subscribe:(e,{enable:t,disable:n})=>{const onPointerUp=t=>{n();dispatchPointerEvent(e,\"pressend\",t);window.removeEventListener(\"pointerup\",onPointerUp)};const onPointerDown=n=>{t();dispatchPointerEvent(e,\"pressstart\",n);window.addEventListener(\"pointerup\",onPointerUp)};e.addEventListener(\"pointerdown\",onPointerDown);return()=>{e.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointerup\",onPointerUp)}}};const ce={inView:se,hover:re,press:ae};const le=[\"initial\",\"animate\",...Object.keys(ce),\"exit\"];const fe=new WeakMap;function createMotionState(e={},t){let n;let o=t?t.getDepth()+1:0;const i={initial:true,animate:true};const s={};const r={};for(const n of le)r[n]=\"string\"===typeof e[n]?e[n]:null===t||void 0===t?void 0:t.getContext()[n];const a=false===e.initial?\"animate\":\"initial\";let c=resolveVariant(e[a]||r[a],e.variants)||{},f=b(c,[\"transition\"]);const u=Object.assign({},f);function*animateUpdates(){var t,o;const s=f;f={};const r={};for(const n of le){if(!i[n])continue;const s=resolveVariant(e[n]);if(s)for(const n in s)if(\"transition\"!==n){f[n]=s[n];r[n]=getOptions(null!==(o=null!==(t=s.transition)&&void 0!==t?t:e.transition)&&void 0!==o?o:{},n)}}const a=new Set([...Object.keys(f),...Object.keys(s)]);const c=[];a.forEach((e=>{var t;void 0===f[e]&&(f[e]=u[e]);if(hasChanged(s[e],f[e])){null!==(t=u[e])&&void 0!==t?t:u[e]=H.get(n,e);c.push(animateStyle(n,e,f[e],r[e]))}}));yield;const d=c.map((e=>e())).filter(Boolean);if(!d.length)return;const g=f;n.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(d.map((e=>e.finished))).then((()=>{n.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(l)}const setGesture=(e,t)=>()=>{i[e]=t;scheduleAnimation(d)};const updateGestureSubscriptions=()=>{for(const t in ce){const o=ce[t].isActive(e);const i=s[t];if(o&&!i)s[t]=ce[t].subscribe(n,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!o&&i){i();delete s[t]}}};const d={update:t=>{if(n){e=t;updateGestureSubscriptions();scheduleAnimation(d)}},setActive:(e,t)=>{if(n){i[e]=t;scheduleAnimation(d)}},animateUpdates:animateUpdates,getDepth:()=>o,getTarget:()=>f,getOptions:()=>e,getContext:()=>r,mount:e=>{S(Boolean(e),\"Animation state must be mounted with valid Element\");n=e;fe.set(n,d);updateGestureSubscriptions();return()=>{fe.delete(n);unscheduleAnimation(d);for(const e in s)s[e]()}},isMounted:()=>Boolean(n)};return d}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){T[o]&&(o=T[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const a=k.get(o);a&&(s=r(i)?a.toDefaultUnit(i):i);t[o]=s}n.length&&(t.transform=buildTransformTemplate(n));return t}const camelLetterToPipeLetter=e=>`-${e.toLowerCase()}`;const camelToPipeCase=e=>e.replace(/[A-Z]/g,camelLetterToPipeLetter);function createStyleString(e={}){const t=createStyles(e);let n=\"\";for(const e in t){n+=e.startsWith(\"--\")?e:camelToPipeCase(e);n+=`: ${t[e]}; `}return n}export{Y as ScrollOffset,animate,animateStyle,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,F as glide,inView$1 as inView,fe as mountedStates,resize,scroll,N as spring,stagger,H as style,timeline,withControls};\n\n//# sourceMappingURL=index.es.js.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","/*\n * useAutoMotionValue (framer/useAutoMotionValue@0.3.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/V4SPg9g59hF1vFH3ZTF0/useAutoMotionValue.js\"\n","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ëtan Renaudeau 2014 - 2015 – 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","export { default } from \"/npm:lottie-web@5.7.8!cjs\";\n","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://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/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===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 ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.play();};const pause=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.pause();};const destroy=()=>{var ref,ref1;return(ref=animationInfo.current)===null||ref===void 0?void 0:(ref1=ref.animation)===null||ref1===void 0?void 0:ref1.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===SrcType.Url)dataUrl=srcUrl;if(srcType===SrcType.File)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:!isOnCanvas&&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 ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.animation))return;animationInfo.current.animation.setSpeed(speed);scrubTo(progress.get(),true);},[speed]);useEffect(()=>{var ref;if(!((ref=animationInfo.current)===null||ref===void 0?void 0:ref.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:SrcType.Url,pauseOnCanvas:true,srcUrl:placeholderUrl,progress:0,poster:Poster.Auto,posterProgress:0};addPropertyControls(Lottie,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[SrcType.Url,SrcType.File]},srcUrl:{type:ControlType.String,title:\" \",placeholder:\"../example.json\",hidden:props=>props.srcType===SrcType.File},srcFile:{type:ControlType.File,title:\" \",allowedFileTypes:[\"json\"],hidden:props=>props.srcType===SrcType.Url},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},// Temporarily disabling for perf\n// pauseOnCanvas: {\n//     type: ControlType.Boolean,\n//     title: \"Canvas\",\n//     disabledTitle: \"Play\",\n//     enabledTitle: \"Pause\",\n//     hidden: (props) => props.playing === false,\n// },\nloop:{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:[Poster.Auto,Poster.Custom],displaySegmentedControl:true},posterProgress:{title:\" \",type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({poster})=>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\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Lottie.map","// Generated by Framer (3d7d016)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/ajRDqFMJyIQZjKTkx0Po/lZrKyWFFRtsRGudERe9Y/P7ft19d5V.js\";const cycleOrder=[\"q13u8Y13b\",\"b3qSHRyRa\"];const serializationHash=\"framer-AHhPT\";const variantClassNames={b3qSHRyRa:\"framer-v-1b8o0bi\",q13u8Y13b:\"framer-v-15000za\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"q13u8Y13b\",\"Variant 2\":\"b3qSHRyRa\"};const getProps=({height,id,tap,title,width,...props})=>{var _ref,_humanReadableVariantMap_props_variant,_ref1;return{...props,gl1HWoEIG:tap!==null&&tap!==void 0?tap:props.gl1HWoEIG,rY28fpWbp:(_ref=title!==null&&title!==void 0?title:props.rY28fpWbp)!==null&&_ref!==void 0?_ref:\"Schedule a call\",variant:(_ref1=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref1!==void 0?_ref1:\"q13u8Y13b\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,rY28fpWbp,gl1HWoEIG,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"q13u8Y13b\",transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1el9270=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(gl1HWoEIG){const res=await gl1HWoEIG(...args);if(res===false)return false;}});const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"b3qSHRyRa\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"b3qSHRyRa\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-15000za\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"q13u8Y13b\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:onTap1el9270,onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgb(0, 0, 0)\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,...style},variants:{b3qSHRyRa:{backgroundColor:\"rgb(255, 255, 255)\"}},...addPropertyOverrides({b3qSHRyRa:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-6kt8eg\",layoutDependency:layoutDependency,layoutId:\"vGApNhTET\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Schedule a call\"})}),className:\"framer-1h96bf3\",\"data-framer-name\":\"Schedule a call\",layoutDependency:layoutDependency,layoutId:\"okWdiD15P\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},text:rY28fpWbp,variants:{b3qSHRyRa:{\"--extracted-r6o4lv\":\"rgb(0, 0, 0)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({b3qSHRyRa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(0, 0, 0))\"},children:\"Schedule a call\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1u2ioo\",\"data-framer-name\":\"Arrow\",layoutDependency:layoutDependency,layoutId:\"lohxrVUdL\",children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-2j027g\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:20,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"wqBN5AGHF\",svg:'<svg width=\"19\" height=\"20\" viewBox=\"0 0 19 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_3_17876)\">\\n<rect x=\"19\" y=\"19.25\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.25)\" fill=\"white\"/>\\n<path d=\"M11.875 6.97925L7.125 11.7292\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M11.875 10.9375V6.97917\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M7.91667 6.97925H11.875\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_3_17876\">\\n<rect x=\"19\" y=\"19.25\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.25)\" fill=\"white\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1osdqsr\",\"data-framer-name\":\"arrows-diagrams-16 1\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:20,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"vrWuqB44E\",svg:'<svg width=\"19\" height=\"20\" viewBox=\"0 0 19 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_90_19148)\">\\n<rect x=\"19\" y=\"19.125\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.125)\" fill=\"black\"/>\\n<path d=\"M11.875 6.85449L7.125 11.6045\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M11.875 10.8125V6.85417\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M7.91667 6.85449H11.875\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_90_19148\">\\n<rect x=\"19\" y=\"19.125\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.125)\" fill=\"white\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true})]})]})})})})});});const css=['.framer-AHhPT[data-border=\"true\"]::after, .framer-AHhPT [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; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-AHhPT.framer-ouei1u, .framer-AHhPT .framer-ouei1u { display: block; }\",\".framer-AHhPT.framer-15000za { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: visible; padding: 24px 32px 24px 32px; position: relative; width: 231px; }\",\".framer-AHhPT .framer-6kt8eg { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: 28px; justify-content: space-between; overflow: visible; padding: 0px 0px 0px 0px; position: relative; width: 1px; }\",\".framer-AHhPT .framer-1h96bf3 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-AHhPT .framer-1u2ioo { flex: none; height: 20px; overflow: hidden; position: relative; width: 20px; }\",\".framer-AHhPT .framer-2j027g { bottom: 0px; flex: none; left: calc(50.00000000000002% - 19px / 2); position: absolute; top: 0px; width: 19px; }\",\".framer-AHhPT .framer-1osdqsr { flex: none; height: 20px; left: 0px; position: absolute; top: 0px; width: 19px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-AHhPT.framer-15000za { gap: 0px; } .framer-AHhPT.framer-15000za > * { margin: 0px; margin-left: calc(12px / 2); margin-right: calc(12px / 2); } .framer-AHhPT.framer-15000za > :first-child { margin-left: 0px; } .framer-AHhPT.framer-15000za > :last-child { margin-right: 0px; } }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 76\n * @framerIntrinsicWidth 231\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"b3qSHRyRa\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"rY28fpWbp\":\"title\",\"gl1HWoEIG\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerfKjzjeSrx=withCSS(Component,css,\"framer-AHhPT\");export default FramerfKjzjeSrx;FramerfKjzjeSrx.displayName=\"Button /L\";FramerfKjzjeSrx.defaultProps={height:76,width:231};addPropertyControls(FramerfKjzjeSrx,{variant:{options:[\"q13u8Y13b\",\"b3qSHRyRa\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},rY28fpWbp:{defaultValue:\"Schedule a call\",displayTextArea:false,title:\"Title\",type:ControlType.String},gl1HWoEIG:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerfKjzjeSrx,[...sharedStyle.fonts]);\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerfKjzjeSrx\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"231\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"b3qSHRyRa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"rY28fpWbp\\\":\\\"title\\\",\\\"gl1HWoEIG\\\":\\\"tap\\\"}\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"76\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fKjzjeSrx.map","// Generated by Framer (3d7d016)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useOnVariantChange,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{Lottie}from\"https://framerusercontent.com/modules/YbkSqZ7STzW5WsMb1yan/7oWoX9MqdnxameM59dqC/Lottie.js\";const LottieFonts=getFonts(Lottie);const cycleOrder=[\"rvlvxLaAq\",\"yKdX2hsrQ\",\"gzHNf833b\"];const serializationHash=\"framer-4CLtC\";const variantClassNames={gzHNf833b:\"framer-v-4gdfvi\",rvlvxLaAq:\"framer-v-1simm37\",yKdX2hsrQ:\"framer-v-fo5skj\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:.1,stiffness:500,type:\"spring\"}};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"rvlvxLaAq\",\"Variant 2\":\"yKdX2hsrQ\",\"Variant 3\":\"gzHNf833b\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"rvlvxLaAq\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"rvlvxLaAq\",transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppear5iut0=activeVariantCallback(async(...args)=>{setVariant(\"yKdX2hsrQ\");});const onAppear1aaltcd=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(\"gzHNf833b\"),1500);});useOnVariantChange(baseVariant,{default:onAppear5iut0,gzHNf833b:undefined,yKdX2hsrQ:onAppear1aaltcd});const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1simm37\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"rvlvxLaAq\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{opacity:1,...style},variants:{gzHNf833b:{opacity:0}},...addPropertyOverrides({gzHNf833b:{\"data-framer-name\":\"Variant 3\",\"data-highlight\":undefined},yKdX2hsrQ:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-3olg28\",layoutDependency:layoutDependency,layoutId:\"LTQM2YhOc\",style:{backgroundColor:\"rgb(255, 255, 255)\",opacity:1},variants:{gzHNf833b:{opacity:0}},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-4fk6vq-container\",layoutDependency:layoutDependency,layoutId:\"qO6bxcUdl-container\",style:{opacity:1},transformTemplate:transformTemplate1,variants:{gzHNf833b:{opacity:0}},children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"qO6bxcUdl\",isForwardsDirection:true,layoutId:\"qO6bxcUdl\",loop:true,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/FczaaWvqrni2H79t0ZypwNxJ6Q.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-4q3omn\",layoutDependency:layoutDependency,layoutId:\"PnN9l7rfR\",style:{backgroundColor:\"rgb(0, 0, 0)\"}})]})})})})});});const css=['.framer-4CLtC[data-border=\"true\"]::after, .framer-4CLtC [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; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-4CLtC.framer-14ofhla, .framer-4CLtC .framer-14ofhla { display: block; }\",\".framer-4CLtC.framer-1simm37 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: auto; justify-content: center; overflow: hidden; padding: 0px 0px 0px 0px; position: relative; width: 600px; }\",\".framer-4CLtC .framer-3olg28 { flex: none; height: calc(var(--framer-viewport-height, 100vh) * 1); overflow: visible; position: relative; width: 100%; }\",\".framer-4CLtC .framer-4fk6vq-container { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 28px); left: 50%; position: absolute; top: 50%; width: 5%; }\",\".framer-4CLtC .framer-4q3omn { bottom: 0px; flex: none; height: 7px; left: 0px; overflow: visible; position: absolute; width: 0%; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-4CLtC.framer-1simm37 { gap: 0px; } .framer-4CLtC.framer-1simm37 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-4CLtC.framer-1simm37 > :first-child { margin-left: 0px; } .framer-4CLtC.framer-1simm37 > :last-child { margin-right: 0px; } }\",\".framer-4CLtC.framer-v-fo5skj .framer-4fk6vq-container { height: var(--framer-aspect-ratio-supported, 180px); width: 30%; }\",\".framer-4CLtC.framer-v-fo5skj .framer-4q3omn { left: calc(50.00000000000002% - 100% / 2); width: 100%; }\",\".framer-4CLtC.framer-v-4gdfvi .framer-3olg28 { height: calc(var(--framer-viewport-height, 100vh) * 0); }\",\".framer-4CLtC.framer-v-4gdfvi .framer-4q3omn { bottom: -2px; height: unset; left: calc(50.00000000000002% - 100% / 2); top: -5px; width: 100%; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 600\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"yKdX2hsrQ\":{\"layout\":[\"fixed\",\"auto\"]},\"gzHNf833b\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FrameriLS5PZkjv=withCSS(Component,css,\"framer-4CLtC\");export default FrameriLS5PZkjv;FrameriLS5PZkjv.displayName=\"Preloader Light\";FrameriLS5PZkjv.defaultProps={height:200,width:600};addPropertyControls(FrameriLS5PZkjv,{variant:{options:[\"rvlvxLaAq\",\"yKdX2hsrQ\",\"gzHNf833b\"],optionTitles:[\"Variant 1\",\"Variant 2\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FrameriLS5PZkjv,[...LottieFonts]);\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FrameriLS5PZkjv\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"yKdX2hsrQ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"gzHNf833b\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"600\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./iLS5PZkjv.map","import{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Now Display Bold\"]);export const fonts=[{family:\"Helvetica Now Display Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/EjvJsmi6VH1SIHjfwQ1295XtFWQ.woff2\"}];export const css=['.framer-HlOIo .framer-styles-preset-1hh8fks:not(.rich-text-wrapper), .framer-HlOIo .framer-styles-preset-1hh8fks.rich-text-wrapper p { --framer-font-family: \"Helvetica Now Display Bold\", \"Helvetica Now Display Bold Placeholder\", sans-serif; --framer-font-size: 20px; --framer-font-style: normal; --framer-font-weight: 400; --framer-letter-spacing: 0.14px; --framer-line-height: 28px; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-HlOIo\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Now Display Bold\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{family:\"Helvetica Now Display Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/EjvJsmi6VH1SIHjfwQ1295XtFWQ.woff2\"}];export const css=['.framer-XSTw3 .framer-styles-preset-5vy7ul:not(.rich-text-wrapper), .framer-XSTw3 .framer-styles-preset-5vy7ul.rich-text-wrapper h1 { --framer-font-family: \"Helvetica Now Display Bold\", \"Helvetica Now Display Bold Placeholder\", sans-serif; --framer-font-family-bold: \"Inter-Black\", \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter-BlackItalic\", \"Inter\", sans-serif; --framer-font-family-italic: \"Inter-BoldItalic\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 48px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.14px; --framer-line-height: 120%; --framer-paragraph-spacing: 40px; --framer-text-alignment: left; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-XSTw3\";\nexport const __FramerMetadata__ = {\"exports\":{\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","import{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Now Display Bold\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{family:\"Helvetica Now Display Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/EjvJsmi6VH1SIHjfwQ1295XtFWQ.woff2\"}];export const css=['.framer-MJjsR .framer-styles-preset-h99mzd:not(.rich-text-wrapper), .framer-MJjsR .framer-styles-preset-h99mzd.rich-text-wrapper h2 { --framer-font-family: \"Helvetica Now Display Bold\", \"Helvetica Now Display Bold Placeholder\", sans-serif; --framer-font-family-bold: \"Inter-Black\", \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter-BlackItalic\", \"Inter\", sans-serif; --framer-font-family-italic: \"Inter-BoldItalic\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 36px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: 0.14px; --framer-line-height: 48px; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-MJjsR\";\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\"}}}","// Generated by Framer (450d190)\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=[\"HbVsO386O\",\"AHBVB79ba\"];const serializationHash=\"framer-X3zOU\";const variantClassNames={AHBVB79ba:\"framer-v-18iamzc\",HbVsO386O:\"framer-v-ca60t8\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0: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!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"HbVsO386O\",\"Variant 2\":\"AHBVB79ba\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"HbVsO386O\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"HbVsO386O\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"AHBVB79ba\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-ca60t8\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"HbVsO386O\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({AHBVB79ba:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1j1y1at\",\"data-framer-name\":\"Frame\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:37,intrinsicWidth:34,layoutDependency:layoutDependency,layoutId:\"Ce8LTw9rs\",svg:'<svg width=\"34\" height=\"37\" viewBox=\"0 0 34 37\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_3_17911)\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M30.244 30.3776L20.8331 35.6704C18.5103 36.9761 15.645 36.9761 13.3222 35.6704L3.91126 30.3776C1.59179 29.0719 0.15918 26.6564 0.15918 24.0416V13.4594C0.15918 10.8446 1.59179 8.42912 3.91467 7.12338L13.3256 1.83063C15.6485 0.524882 18.5137 0.524882 20.8366 1.83063L30.2475 7.12338C32.5703 8.42912 34.003 10.8446 34.003 13.4594V24.0416C34.003 26.6564 32.5703 29.0719 30.2475 30.3776H30.244Z\" fill=\"black\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_3_17911\">\\n<rect width=\"33.8404\" height=\"35.8\" fill=\"white\" transform=\"translate(0.159668 0.849609)\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true}),isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1dktych\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:37,intrinsicWidth:34,layoutDependency:layoutDependency,layoutId:\"Fsq4nVNt7\",svg:'<svg width=\"34\" height=\"37\" viewBox=\"0 0 34 37\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M30.245 30.2528L20.8341 35.5456C18.5112 36.8513 15.646 36.8513 13.3231 35.5456L3.91224 30.2528C1.59277 28.9471 0.160156 26.5316 0.160156 23.9168V13.3346C0.160156 10.7198 1.59277 8.30437 3.91565 6.99862L13.3265 1.70587C15.6494 0.400126 18.5147 0.400126 20.8375 1.70587L30.2484 6.99862C32.5713 8.30437 34.0039 10.7198 34.0039 13.3346V23.9168C34.0039 26.5316 32.5713 28.9471 30.2484 30.2528H30.245Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-X3zOU.framer-1oegk18, .framer-X3zOU .framer-1oegk18 { display: block; }\",\".framer-X3zOU.framer-ca60t8 { height: 60px; overflow: hidden; position: relative; width: 55px; }\",\".framer-X3zOU .framer-1j1y1at { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-X3zOU .framer-1dktych { aspect-ratio: 0.918918918918919 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 60px); left: 0px; position: absolute; top: 0px; width: 55px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 60\n * @framerIntrinsicWidth 55\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"AHBVB79ba\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramercG_QYdwAT=withCSS(Component,css,\"framer-X3zOU\");export default FramercG_QYdwAT;FramercG_QYdwAT.displayName=\"Logo\";FramercG_QYdwAT.defaultProps={height:60,width:55};addPropertyControls(FramercG_QYdwAT,{variant:{options:[\"HbVsO386O\",\"AHBVB79ba\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramercG_QYdwAT,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramercG_QYdwAT\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"55\",\"framerIntrinsicHeight\":\"60\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"AHBVB79ba\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./cG_QYdwAT.map","// Generated by Framer (3d7d016)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/ajRDqFMJyIQZjKTkx0Po/lZrKyWFFRtsRGudERe9Y/P7ft19d5V.js\";const cycleOrder=[\"cgM3m0Gyv\",\"QJ3bvMzpa\"];const serializationHash=\"framer-RVbVy\";const variantClassNames={cgM3m0Gyv:\"framer-v-1au61jx\",QJ3bvMzpa:\"framer-v-1r6gzon\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"cgM3m0Gyv\",\"Variant 2\":\"QJ3bvMzpa\"};const getProps=({height,id,tap,text,width,...props})=>{var _ref,_humanReadableVariantMap_props_variant,_ref1;return{...props,dPakDVYIe:(_ref=text!==null&&text!==void 0?text:props.dPakDVYIe)!==null&&_ref!==void 0?_ref:\"Behance\",RAEoOiNsU:tap!==null&&tap!==void 0?tap:props.RAEoOiNsU,variant:(_ref1=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref1!==void 0?_ref1:\"cgM3m0Gyv\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,dPakDVYIe,RAEoOiNsU,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"cgM3m0Gyv\",transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapwm10eo=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(RAEoOiNsU){const res=await RAEoOiNsU(...args);if(res===false)return false;}});const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"QJ3bvMzpa\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"QJ3bvMzpa\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-1au61jx\",className,classNames),\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"cgM3m0Gyv\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:onTapwm10eo,onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({QJ3bvMzpa:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"Behance\"})}),className:\"framer-1jgbhmj\",\"data-framer-name\":\"Behance\",layoutDependency:layoutDependency,layoutId:\"l0UhkvphV\",text:dPakDVYIe,variants:{QJ3bvMzpa:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({QJ3bvMzpa:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Behance\"})})}},baseVariant,gestureVariant)}),isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-16r9k5u\",\"data-framer-name\":\"arrows-diagrams-16 1\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"gfkSugOIs\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 19 19\"><g transform=\"translate(0.196 0.05)\" id=\"ss3180361986_1\"><path d=\"M 18.4 0 L 18.4 18.4 L 0 18.4 L 0 0 Z\" fill=\"transparent\"></path><path d=\"M 18.4 0 L 18.4 18.4 L 0 18.4 L 0 0 Z\" fill=\"rgb(255,255,255)\"></path><path d=\"M 12 6.401 L 4.8 13.601\" fill=\"transparent\" stroke-width=\"1.2\" stroke=\"rgb(0,0,0)\" stroke-linejoin=\"round\" stroke-dasharray=\"\"></path><path d=\"M 12.59 12.591 L 12.59 5.812 L 5.811 5.812\" fill=\"transparent\" stroke-width=\"1.2\" stroke=\"rgb(0,0,0)\" stroke-miterlimit=\"10\" stroke-dasharray=\"\"></path></g><path d=\"M 17.996 0.649 L 17.996 17.849 L 0.796 17.85 L 0.796 0.65 Z\" fill=\"transparent\" stroke-width=\"1.2\" stroke=\"rgb(0,0,0)\" stroke-miterlimit=\"10\" stroke-dasharray=\"\"></path></svg>',svgContentId:3180361986,withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1d391bj\",\"data-framer-name\":\"arrows-diagrams-16 1\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:19,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"yCIPQzK50\",svg:'<svg width=\"19\" height=\"19\" viewBox=\"0 0 19 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_90_19164)\">\\n<rect x=\"18.5957\" y=\"18.9248\" width=\"18.4\" height=\"18.4\" transform=\"rotate(180 18.5957 18.9248)\" fill=\"black\"/>\\n<path d=\"M12.1953 6.925L4.99531 14.125\" stroke=\"white\" stroke-width=\"1.2\" stroke-linejoin=\"round\"/>\\n<path d=\"M12.7852 13.1152V6.33629H6.00621\" stroke=\"white\" stroke-width=\"1.2\"/>\\n</g>\\n<rect x=\"17.9957\" y=\"18.3248\" width=\"17.2\" height=\"17.2\" transform=\"rotate(180 17.9957 18.3248)\" stroke=\"white\" stroke-width=\"1.2\"/>\\n<defs>\\n<clipPath id=\"clip0_90_19164\">\\n<rect x=\"18.5957\" y=\"18.9248\" width=\"18.4\" height=\"18.4\" transform=\"rotate(180 18.5957 18.9248)\" fill=\"white\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true})]})})})});});const css=['.framer-RVbVy[data-border=\"true\"]::after, .framer-RVbVy [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; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-RVbVy.framer-1g2hite, .framer-RVbVy .framer-1g2hite { display: block; }\",\".framer-RVbVy.framer-1au61jx { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px 0px 0px 0px; position: relative; width: 130px; }\",\".framer-RVbVy .framer-1jgbhmj { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-RVbVy .framer-16r9k5u, .framer-RVbVy .framer-1d391bj { flex: none; height: 19px; position: relative; width: 19px; }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 28\n * @framerIntrinsicWidth 130\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"QJ3bvMzpa\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"dPakDVYIe\":\"text\",\"RAEoOiNsU\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerhLYKYInjt=withCSS(Component,css,\"framer-RVbVy\");export default FramerhLYKYInjt;FramerhLYKYInjt.displayName=\"Portfolio Button\";FramerhLYKYInjt.defaultProps={height:28,width:130};addPropertyControls(FramerhLYKYInjt,{variant:{options:[\"cgM3m0Gyv\",\"QJ3bvMzpa\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},dPakDVYIe:{defaultValue:\"Behance\",displayTextArea:false,title:\"Text\",type:ControlType.String},RAEoOiNsU:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerhLYKYInjt,[...sharedStyle.fonts]);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerhLYKYInjt\",\"slots\":[],\"annotations\":{\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"130\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"QJ3bvMzpa\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"28\",\"framerVariables\":\"{\\\"dPakDVYIe\\\":\\\"text\\\",\\\"RAEoOiNsU\\\":\\\"tap\\\"}\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./hLYKYInjt.map","// Generated by Framer (38fb4ea)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"sJsqv8fUJ\",\"Kxg8Cr8rO\"];const serializationHash=\"framer-bonju\";const variantClassNames={Kxg8Cr8rO:\"framer-v-cbg00i\",sJsqv8fUJ:\"framer-v-9qnayu\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0: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!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={Black:\"sJsqv8fUJ\",White:\"Kxg8Cr8rO\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"sJsqv8fUJ\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"sJsqv8fUJ\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"Kxg8Cr8rO\")return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"Kxg8Cr8rO\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-9qnayu\",className,classNames),\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"sJsqv8fUJ\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({Kxg8Cr8rO:{\"data-framer-name\":\"White\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1vdhp9n\",\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"AkZyhhVde\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/creathivestudio\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-4zyh8c framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"AHGmYXuGe\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1d8vksy\",\"data-framer-name\":\"Instagram\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"Zdh3bvzro\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M16.0654 7C18.5285 7 18.8358 7.00907 19.8022 7.05439C20.7677 7.09972 21.4249 7.25111 22.0033 7.47594C22.6016 7.7062 23.1056 8.01805 23.6097 8.52118C24.0707 8.97436 24.4273 9.52254 24.6549 10.1276C24.8788 10.705 25.0311 11.3632 25.0765 12.3287C25.1191 13.295 25.1309 13.6024 25.1309 16.0654C25.1309 18.5285 25.1218 18.8358 25.0765 19.8022C25.0311 20.7677 24.8788 21.4249 24.6549 22.0033C24.428 22.6087 24.0712 23.157 23.6097 23.6097C23.1564 24.0705 22.6082 24.4272 22.0033 24.6549C21.4258 24.8788 20.7677 25.0311 19.8022 25.0765C18.8358 25.1191 18.5285 25.1309 16.0654 25.1309C13.6024 25.1309 13.295 25.1218 12.3287 25.0765C11.3632 25.0311 10.7059 24.8788 10.1276 24.6549C9.5223 24.4278 8.97402 24.0711 8.52118 23.6097C8.06012 23.1566 7.70342 22.6084 7.47594 22.0033C7.25111 21.4258 7.09972 20.7677 7.05439 19.8022C7.01179 18.8358 7 18.5285 7 16.0654C7 13.6024 7.00907 13.295 7.05439 12.3287C7.09972 11.3623 7.25111 10.7059 7.47594 10.1276C7.70278 9.52216 8.05957 8.97384 8.52118 8.52118C8.97415 8.05996 9.52239 7.70323 10.1276 7.47594C10.7059 7.25111 11.3623 7.09972 12.3287 7.05439C13.295 7.01179 13.6024 7 16.0654 7ZM16.0654 11.5327C14.8633 11.5327 13.7104 12.0103 12.8603 12.8603C12.0103 13.7104 11.5327 14.8633 11.5327 16.0654C11.5327 17.2676 12.0103 18.4205 12.8603 19.2705C13.7104 20.1206 14.8633 20.5981 16.0654 20.5981C17.2676 20.5981 18.4205 20.1206 19.2705 19.2705C20.1206 18.4205 20.5981 17.2676 20.5981 16.0654C20.5981 14.8633 20.1206 13.7104 19.2705 12.8603C18.4205 12.0103 17.2676 11.5327 16.0654 11.5327V11.5327ZM21.958 11.3061C21.958 11.0055 21.8386 10.7173 21.6261 10.5048C21.4135 10.2923 21.1253 10.1729 20.8248 10.1729C20.5242 10.1729 20.236 10.2923 20.0235 10.5048C19.811 10.7173 19.6916 11.0055 19.6916 11.3061C19.6916 11.6066 19.811 11.8948 20.0235 12.1074C20.236 12.3199 20.5242 12.4393 20.8248 12.4393C21.1253 12.4393 21.4135 12.3199 21.6261 12.1074C21.8386 11.8948 21.958 11.6066 21.958 11.3061ZM16.0654 13.3458C16.7867 13.3458 17.4785 13.6323 17.9885 14.1424C18.4985 14.6524 18.7851 15.3441 18.7851 16.0654C18.7851 16.7867 18.4985 17.4785 17.9885 17.9885C17.4785 18.4985 16.7867 18.7851 16.0654 18.7851C15.3441 18.7851 14.6524 18.4985 14.1424 17.9885C13.6323 17.4785 13.3458 16.7867 13.3458 16.0654C13.3458 15.3441 13.6323 14.6524 14.1424 14.1424C14.6524 13.6323 15.3441 13.3458 16.0654 13.3458V13.3458Z\" fill=\"black\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://twitter.com/creathivestudio\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1lgwai framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"zsm6Qd0jH\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-cv0qd1\",\"data-framer-name\":\"X\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"I9oaGiLFU\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M17.3333 14.9287L22.5459 9H21.3111L16.7831 14.1468L13.1692 9H9L14.4661 16.7836L9 23H10.2348L15.0135 17.5637L18.8308 23H23M10.6805 9.91111H12.5775L21.3102 22.1337H19.4127\" fill=\"black\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://creathive.medium.com/\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-izkwnl framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"DqT0QWK4F\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1nueurw\",\"data-framer-name\":\"Medium\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"LSYJKMZcR\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M25.0936 9.86401C25.258 9.72107 25.3089 9.50354 25.2224 9.31378C25.1359 9.12408 24.9293 9 24.6996 9H19.0581C18.7464 9 18.4937 9.22541 18.4937 9.50344V11.9249L16.3817 16.8091L12.5082 9.29317C12.4161 9.11452 12.2158 9.00003 11.9954 9.00003H6.71175C6.49375 9.00003 6.29528 9.11203 6.20182 9.2877C6.10844 9.46337 6.13677 9.67136 6.27466 9.82196L8.66318 12.4305V18.8744L6.11927 21.7851C5.98668 21.9369 5.9626 22.1427 6.05727 22.3156C6.15193 22.4885 6.34871 22.5981 6.56441 22.5981H11.8907C12.1064 22.5981 12.3032 22.4885 12.3979 22.3156C12.4925 22.1428 12.4685 21.9369 12.3359 21.7851L9.792 18.8744V14.399L14.1956 22.3184C14.2912 22.4903 14.4875 22.5981 14.7011 22.5981C14.7097 22.5981 14.7185 22.5979 14.7272 22.5976C14.9508 22.5884 15.1472 22.4621 15.2278 22.2758L18.4938 14.7228V20.048L16.9757 21.7851C16.8431 21.9369 16.819 22.1427 16.9137 22.3156C17.0083 22.4885 17.2051 22.5981 17.4208 22.5981H24.4674C24.6831 22.5981 24.8799 22.4885 24.9746 22.3156C25.0692 22.1427 25.0451 21.9369 24.9125 21.7851L23.3943 20.048V11.3414L25.0936 9.86401Z\" fill=\"black\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/company/10946504\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-rgmxk framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"xQrhb8C_Q\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1pq2mjk\",\"data-framer-name\":\"Linkedin\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"tilGFJje_\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M11.5677 8.77857C11.5674 9.25004 11.3793 9.7021 11.0446 10.0353C10.7099 10.3685 10.2561 10.5556 9.78295 10.5554C9.30984 10.5551 8.85621 10.3676 8.52184 10.0341C8.18748 9.70051 7.99976 9.24826 8 8.77679C8.00024 8.30532 8.1884 7.85325 8.52311 7.52004C8.85781 7.18683 9.31163 6.99976 9.78473 7C10.2578 7.00024 10.7115 7.18775 11.0458 7.5213C11.3802 7.85485 11.5679 8.3071 11.5677 8.77857V8.77857ZM11.6212 11.8717H8.05352V23H11.6212V11.8717ZM17.2581 11.8717H13.7083V23H17.2225V17.1603C17.2225 13.9072 21.4769 13.605 21.4769 17.1603V23H25V15.9515C25 10.4674 18.703 10.6718 17.2225 13.365L17.2581 11.8717V11.8717Z\" fill=\"black\"/>\\n</svg>\\n',withExternalLayout:true})})})]}),isDisplayed1()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-7btaww\",\"data-framer-name\":\"White\",layoutDependency:layoutDependency,layoutId:\"IIaKHHKyp\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.instagram.com/creathivestudio\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-11xt1gr framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"KG7USiXqf\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-192p2dt\",\"data-framer-name\":\"Instagram\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"HE8PXjfc8\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M16.0654 7C18.5285 7 18.8358 7.00907 19.8022 7.05439C20.7677 7.09972 21.4249 7.25111 22.0033 7.47594C22.6016 7.7062 23.1056 8.01805 23.6097 8.52118C24.0707 8.97436 24.4273 9.52254 24.6549 10.1276C24.8788 10.705 25.0311 11.3632 25.0765 12.3287C25.1191 13.295 25.1309 13.6024 25.1309 16.0654C25.1309 18.5285 25.1218 18.8358 25.0765 19.8022C25.0311 20.7677 24.8788 21.4249 24.6549 22.0033C24.428 22.6087 24.0712 23.157 23.6097 23.6097C23.1564 24.0705 22.6082 24.4272 22.0033 24.6549C21.4258 24.8788 20.7677 25.0311 19.8022 25.0765C18.8358 25.1191 18.5285 25.1309 16.0654 25.1309C13.6024 25.1309 13.295 25.1218 12.3287 25.0765C11.3632 25.0311 10.7059 24.8788 10.1276 24.6549C9.5223 24.4278 8.97402 24.0711 8.52118 23.6097C8.06012 23.1566 7.70342 22.6084 7.47594 22.0033C7.25111 21.4258 7.09972 20.7677 7.05439 19.8022C7.01179 18.8358 7 18.5285 7 16.0654C7 13.6024 7.00907 13.295 7.05439 12.3287C7.09972 11.3623 7.25111 10.7059 7.47594 10.1276C7.70278 9.52216 8.05957 8.97384 8.52118 8.52118C8.97415 8.05996 9.52239 7.70323 10.1276 7.47594C10.7059 7.25111 11.3623 7.09972 12.3287 7.05439C13.295 7.01179 13.6024 7 16.0654 7ZM16.0654 11.5327C14.8633 11.5327 13.7104 12.0103 12.8603 12.8603C12.0103 13.7104 11.5327 14.8633 11.5327 16.0654C11.5327 17.2676 12.0103 18.4205 12.8603 19.2705C13.7104 20.1206 14.8633 20.5981 16.0654 20.5981C17.2676 20.5981 18.4205 20.1206 19.2705 19.2705C20.1206 18.4205 20.5981 17.2676 20.5981 16.0654C20.5981 14.8633 20.1206 13.7104 19.2705 12.8603C18.4205 12.0103 17.2676 11.5327 16.0654 11.5327V11.5327ZM21.958 11.3061C21.958 11.0055 21.8386 10.7173 21.6261 10.5048C21.4135 10.2923 21.1253 10.1729 20.8248 10.1729C20.5242 10.1729 20.236 10.2923 20.0235 10.5048C19.811 10.7173 19.6916 11.0055 19.6916 11.3061C19.6916 11.6066 19.811 11.8948 20.0235 12.1074C20.236 12.3199 20.5242 12.4393 20.8248 12.4393C21.1253 12.4393 21.4135 12.3199 21.6261 12.1074C21.8386 11.8948 21.958 11.6066 21.958 11.3061ZM16.0654 13.3458C16.7867 13.3458 17.4785 13.6323 17.9885 14.1424C18.4985 14.6524 18.7851 15.3441 18.7851 16.0654C18.7851 16.7867 18.4985 17.4785 17.9885 17.9885C17.4785 18.4985 16.7867 18.7851 16.0654 18.7851C15.3441 18.7851 14.6524 18.4985 14.1424 17.9885C13.6323 17.4785 13.3458 16.7867 13.3458 16.0654C13.3458 15.3441 13.6323 14.6524 14.1424 14.1424C14.6524 13.6323 15.3441 13.3458 16.0654 13.3458V13.3458Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://twitter.com/creathivestudio\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1yvke91 framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"cEE2oMEie\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-1c9s2mb\",\"data-framer-name\":\"X\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"hAUU6Ac6C\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M17.3333 14.9287L22.5459 9H21.3111L16.7831 14.1468L13.1692 9H9L14.4661 16.7836L9 23H10.2348L15.0135 17.5637L18.8308 23H23M10.6805 9.91111H12.5775L21.3102 22.1337H19.4127\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://creathive.medium.com/\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-ylau6c framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"usHZ9plZC\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-nosgjn\",\"data-framer-name\":\"Medium\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"wB7KdugpJ\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M25.0936 9.86401C25.258 9.72107 25.3089 9.50354 25.2224 9.31378C25.1359 9.12408 24.9293 9 24.6996 9H19.0581C18.7464 9 18.4937 9.22541 18.4937 9.50344V11.9249L16.3817 16.8091L12.5082 9.29317C12.4161 9.11452 12.2158 9.00003 11.9954 9.00003H6.71175C6.49375 9.00003 6.29528 9.11203 6.20182 9.2877C6.10844 9.46337 6.13677 9.67136 6.27466 9.82196L8.66318 12.4305V18.8744L6.11927 21.7851C5.98668 21.9369 5.9626 22.1427 6.05727 22.3156C6.15193 22.4885 6.34871 22.5981 6.56441 22.5981H11.8907C12.1064 22.5981 12.3032 22.4885 12.3979 22.3156C12.4925 22.1428 12.4685 21.9369 12.3359 21.7851L9.792 18.8744V14.399L14.1956 22.3184C14.2912 22.4903 14.4875 22.5981 14.7011 22.5981C14.7097 22.5981 14.7185 22.5979 14.7272 22.5976C14.9508 22.5884 15.1472 22.4621 15.2278 22.2758L18.4938 14.7228V20.048L16.9757 21.7851C16.8431 21.9369 16.819 22.1427 16.9137 22.3156C17.0083 22.4885 17.2051 22.5981 17.4208 22.5981H24.4674C24.6831 22.5981 24.8799 22.4885 24.9746 22.3156C25.0692 22.1427 25.0451 21.9369 24.9125 21.7851L23.3943 20.048V11.3414L25.0936 9.86401Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})})}),/*#__PURE__*/_jsx(Link,{href:\"https://www.linkedin.com/company/10946504\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-t0hc6 framer-1m0igao\",layoutDependency:layoutDependency,layoutId:\"aArtCOmjI\",children:/*#__PURE__*/_jsx(SVG,{className:\"framer-tb05ti\",\"data-framer-name\":\"Linkedin\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:32,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"jwhG46ujg\",svg:'<svg width=\"32\" height=\"32\" viewBox=\"0 0 32 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M11.5677 8.77857C11.5674 9.25004 11.3793 9.7021 11.0446 10.0353C10.7099 10.3685 10.2561 10.5556 9.78295 10.5554C9.30984 10.5551 8.85621 10.3676 8.52184 10.0341C8.18748 9.70051 7.99976 9.24826 8 8.77679C8.00024 8.30532 8.1884 7.85325 8.52311 7.52004C8.85781 7.18683 9.31163 6.99976 9.78473 7C10.2578 7.00024 10.7115 7.18775 11.0458 7.5213C11.3802 7.85485 11.5679 8.3071 11.5677 8.77857V8.77857ZM11.6212 11.8717H8.05352V23H11.6212V11.8717ZM17.2581 11.8717H13.7083V23H17.2225V17.1603C17.2225 13.9072 21.4769 13.605 21.4769 17.1603V23H25V15.9515C25 10.4674 18.703 10.6718 17.2225 13.365L17.2581 11.8717V11.8717Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-bonju.framer-1m0igao, .framer-bonju .framer-1m0igao { display: block; }\",\".framer-bonju.framer-9qnayu { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 32px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-bonju .framer-1vdhp9n, .framer-bonju .framer-7btaww { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: 32px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-bonju .framer-4zyh8c, .framer-bonju .framer-1lgwai, .framer-bonju .framer-izkwnl, .framer-bonju .framer-rgmxk, .framer-bonju .framer-11xt1gr, .framer-bonju .framer-1yvke91, .framer-bonju .framer-ylau6c, .framer-bonju .framer-t0hc6 { flex: none; height: 26px; overflow: visible; position: relative; text-decoration: none; width: 26px; }\",\".framer-bonju .framer-1d8vksy, .framer-bonju .framer-cv0qd1, .framer-bonju .framer-1nueurw, .framer-bonju .framer-1pq2mjk, .framer-bonju .framer-192p2dt, .framer-bonju .framer-1c9s2mb, .framer-bonju .framer-nosgjn, .framer-bonju .framer-tb05ti { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 26px); left: 0px; position: absolute; top: 0px; width: 26px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-bonju.framer-9qnayu, .framer-bonju .framer-1vdhp9n, .framer-bonju .framer-7btaww { gap: 0px; } .framer-bonju.framer-9qnayu > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-bonju.framer-9qnayu > :first-child, .framer-bonju .framer-1vdhp9n > :first-child, .framer-bonju .framer-7btaww > :first-child { margin-left: 0px; } .framer-bonju.framer-9qnayu > :last-child, .framer-bonju .framer-1vdhp9n > :last-child, .framer-bonju .framer-7btaww > :last-child { margin-right: 0px; } .framer-bonju .framer-1vdhp9n > *, .framer-bonju .framer-7btaww > * { margin: 0px; margin-left: calc(16px / 2); margin-right: calc(16px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 32\n * @framerIntrinsicWidth 152\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"fixed\"]},\"Kxg8Cr8rO\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramertXaijr4Q8=withCSS(Component,css,\"framer-bonju\");export default FramertXaijr4Q8;FramertXaijr4Q8.displayName=\"Social Media\";FramertXaijr4Q8.defaultProps={height:32,width:152};addPropertyControls(FramertXaijr4Q8,{variant:{options:[\"sJsqv8fUJ\",\"Kxg8Cr8rO\"],optionTitles:[\"Black\",\"White\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramertXaijr4Q8,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramertXaijr4Q8\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"Kxg8Cr8rO\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerIntrinsicWidth\":\"152\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"32\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./tXaijr4Q8.map","// Generated by Framer (90417e1)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import*as sharedStyle6 from\"https://framerusercontent.com/modules/qYTXsRBDT36QwgsicWsh/OhWwHxWHJdXj6HlsGURD/dqfeojICA.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/BPBZF8gwYoMcsfxwHUG3/oC1i7XwEFgIOZiuIKT0l/Efnd5tS_j.js\";import*as sharedStyle5 from\"https://framerusercontent.com/modules/VGd4OTJdnbmpfzxGPs8f/xi5CIU7Q1QkFPEGoRTRh/jvAkdYGfq.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/dXsbqw5Fftaw9oIrbVCd/r4dWJuvu261KsJXMlqc7/MwdlXB47S.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/ajRDqFMJyIQZjKTkx0Po/lZrKyWFFRtsRGudERe9Y/P7ft19d5V.js\";import*as sharedStyle4 from\"https://framerusercontent.com/modules/a9ZuZpni3F3ziHoTQTUK/09UYik9KszfmqD75jA8J/Qa5xKvxsK.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/Xj0im1Lge8D85dGEyLwx/gLOBaMHKpBuhwB6YSiPr/XfBF1f48z.js\";import Logo from\"https://framerusercontent.com/modules/EZ3BfnvuZh667YZbouqu/TjDsoxGK2XZHlSCfzgZC/cG_QYdwAT.js\";import ButtonL from\"https://framerusercontent.com/modules/ZS3cM5OF1SzNpRHJpYUT/AQhyIL7d6hLylmakfQRZ/fKjzjeSrx.js\";import PortfolioButton from\"https://framerusercontent.com/modules/jYSSH8c8RnUvLkdPzeyy/ZUWNgtm2Ix9SFTOfoFUq/hLYKYInjt.js\";import SocialMedia from\"https://framerusercontent.com/modules/jdIDjuiXVTLCROpcPyVK/Lp4NeGN92OCjUR9ft9yz/tXaijr4Q8.js\";const ButtonLFonts=getFonts(ButtonL);const PortfolioButtonFonts=getFonts(PortfolioButton);const SocialMediaFonts=getFonts(SocialMedia);const LogoFonts=getFonts(Logo);const cycleOrder=[\"RuH17Eg56\",\"VZw0LZOKz\",\"n4uwXoJ6e\",\"MM2CSzLK7\",\"UKR_cSY2z\",\"hYjy4AjQf\"];const serializationHash=\"framer-yap7o\";const variantClassNames={hYjy4AjQf:\"framer-v-1y73nhu\",MM2CSzLK7:\"framer-v-i2v0ip\",n4uwXoJ6e:\"framer-v-8ar6gg\",RuH17Eg56:\"framer-v-sho6yj\",UKR_cSY2z:\"framer-v-qas3e0\",VZw0LZOKz:\"framer-v-1wdw9ka\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Dark /desktop\":\"MM2CSzLK7\",\"Dark /mobile\":\"hYjy4AjQf\",\"Dark /tablet\":\"UKR_cSY2z\",\"Light /desktop\":\"RuH17Eg56\",\"Light /mobile\":\"n4uwXoJ6e\",\"Light /tablet\":\"VZw0LZOKz\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"RuH17Eg56\"};};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:\"RuH17Eg56\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.className,sharedStyle5.className,sharedStyle6.className];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?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(serializationHash,...sharedStyleClassNames,\"framer-sho6yj\",className,classNames),\"data-framer-name\":\"Light /desktop\",layoutDependency:layoutDependency,layoutId:\"RuH17Eg56\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({hYjy4AjQf:{\"data-framer-name\":\"Dark /mobile\"},MM2CSzLK7:{\"data-framer-name\":\"Dark /desktop\"},n4uwXoJ6e:{\"data-framer-name\":\"Light /mobile\"},UKR_cSY2z:{\"data-framer-name\":\"Dark /tablet\"},VZw0LZOKz:{\"data-framer-name\":\"Light /tablet\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-p2nox2\",\"data-framer-name\":\"CTA\",layoutDependency:layoutDependency,layoutId:\"Usoh0uTFJ\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-ozu8eu\",\"data-styles-preset\":\"Efnd5tS_j\",style:{\"--framer-text-color\":\"var(--extracted-gdpscs, hsl(0, 0%, 0%))\"},children:\"Let's create something unique together. \"})}),className:\"framer-6sr1zr\",\"data-framer-name\":\"H1\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"vW2k_rIEt\",style:{\"--extracted-gdpscs\":\"hsl(0, 0%, 0%)\"},variants:{hYjy4AjQf:{\"--extracted-1of0zx5\":\"rgb(255, 255, 255)\"},MM2CSzLK7:{\"--extracted-gdpscs\":\"rgb(255, 255, 255)\"},n4uwXoJ6e:{\"--extracted-1of0zx5\":\"rgb(0, 0, 0)\"},UKR_cSY2z:{\"--extracted-gdpscs\":\"rgb(255, 255, 255)\"},VZw0LZOKz:{\"--extracted-gdpscs\":\"rgb(0, 0, 0)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-h99mzd\",\"data-styles-preset\":\"XfBF1f48z\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(255, 255, 255))\"},children:\"Let's create something unique together. \"})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-ozu8eu\",\"data-styles-preset\":\"Efnd5tS_j\",style:{\"--framer-text-color\":\"var(--extracted-gdpscs, rgb(255, 255, 255))\"},children:\"Let's create something unique together. \"})})},n4uwXoJ6e:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-h99mzd\",\"data-styles-preset\":\"XfBF1f48z\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(0, 0, 0))\"},children:\"Let's create something unique together. \"})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-5vy7ul\",\"data-styles-preset\":\"MwdlXB47S\",style:{\"--framer-text-color\":\"var(--extracted-gdpscs, rgb(255, 255, 255))\"},children:\"Let's create something unique together. \"})})},VZw0LZOKz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h1,{className:\"framer-styles-preset-5vy7ul\",\"data-styles-preset\":\"MwdlXB47S\",style:{\"--framer-text-color\":\"var(--extracted-gdpscs, rgb(0, 0, 0))\"},children:\"Let's create something unique together. \"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(Link,{href:\"https://calendly.com/berfe-yjy0/30min\",openInNewTab:true,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-teckk0 framer-1h612wj\",layoutDependency:layoutDependency,layoutId:\"B_Rkq5CRR\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:76,y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0+0+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||559)-0-324.8)/1*0)+0+14210854715202004e-30,...addPropertyOverrides({hYjy4AjQf:{width:(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\",y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+0+0)+0+80+14210854715202004e-30},n4uwXoJ6e:{width:(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\",y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+0+0)+0+80+14210854715202004e-30},UKR_cSY2z:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||655)-0-642.4000005722046)/2+0+0)+0+14210854715202004e-30},VZw0LZOKz:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-642.4000005722046)/2+0+0)+0+14210854715202004e-30}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-dbib0l-container\",layoutDependency:layoutDependency,layoutId:\"ag065Vad7-container\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(ButtonL,{height:\"100%\",id:\"ag065Vad7\",layoutId:\"ag065Vad7\",rY28fpWbp:\"Schedule a call\",variant:\"q13u8Y13b\",width:\"100%\",...addPropertyOverrides({hYjy4AjQf:{style:{width:\"100%\"},variant:\"b3qSHRyRa\"},MM2CSzLK7:{variant:\"b3qSHRyRa\"},n4uwXoJ6e:{style:{width:\"100%\"}},UKR_cSY2z:{variant:\"b3qSHRyRa\"}},baseVariant,gestureVariant)})})})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-54zwma\",layoutDependency:layoutDependency,layoutId:\"uXkEiA2j5\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-e31g2p\",\"data-framer-name\":\"Frame 45375\",layoutDependency:layoutDependency,layoutId:\"JEDGSmax7\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Home\"})})})}),className:\"framer-13ac3op\",\"data-framer-name\":\"Home\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"FCelfzCv3\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Studio\"})})})}),className:\"framer-1x3ps8j\",\"data-framer-name\":\"Studio\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LmIgP5SOo\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Works\"})})})}),className:\"framer-18lsrzu\",\"data-framer-name\":\"Works\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"SwVxn90mP\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Blog\"})})})}),className:\"framer-1tr5myt\",\"data-framer-name\":\"Blog\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"eDhklrjpS\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Blog\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Blog\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Blog\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Careers\"})})})}),className:\"framer-1e18rr4\",\"data-framer-name\":\"Career - 3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"UMEpKaDW_\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Contact\"})})})}),className:\"framer-pcs7ak\",\"data-framer-name\":\"Contact\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"gSWdnjTOw\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},openInNewTab:false,smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1eg5buy\",\"data-framer-name\":\"Frame 435087\",layoutDependency:layoutDependency,layoutId:\"X3PRGfO57\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-csyqaa\",layoutDependency:layoutDependency,layoutId:\"cqqTtkjVy\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1cwoy07\",\"data-framer-name\":\"Frame 45373\",layoutDependency:layoutDependency,layoutId:\"WlHSTpMab\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",children:\"London Office\"})}),className:\"framer-1cdah2t\",\"data-framer-name\":\"hello@creathive.co\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"GwBhdHtA3\",variants:{hYjy4AjQf:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},MM2CSzLK7:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},UKR_cSY2z:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"London Office\"})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"London Office\"})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"London Office\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"AA House 23127 Old Gloucester Street \"}),/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"London - UK\"})]}),className:\"framer-1jlhubv\",\"data-framer-name\":\"Officelink - Piazza AVM, Maltepe Istanbul - TR\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"pr6MH6UuP\",variants:{hYjy4AjQf:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},MM2CSzLK7:{\"--extracted-2gxw0f\":\"rgb(255, 255, 255)\",\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},UKR_cSY2z:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"AA House 23127 Old Gloucester Street - London - UK\"})})},MM2CSzLK7:{children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"AA House 23127 Old Gloucester Street \"}),/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-2gxw0f, rgb(255, 255, 255))\"},children:\"London - UK\"})]})},n4uwXoJ6e:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"AA House 23127 Old Gloucester Street - London - UK\"})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"AA House 23127 Old Gloucester Street - London - UK\"})})},VZw0LZOKz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"AA House 23127 Old Gloucester Street - London - UK\"})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1fseo7z\",\"data-framer-name\":\"Frame 45373\",layoutDependency:layoutDependency,layoutId:\"kuPMJ6ZgQ\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",children:\"Istanbul Office\"})}),className:\"framer-1akrbq8\",\"data-framer-name\":\"hello@creathive.co\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"NiIbLyqyD\",variants:{hYjy4AjQf:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},MM2CSzLK7:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},UKR_cSY2z:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Istanbul Office\"})})},MM2CSzLK7:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Istanbul Office\"})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1hh8fks\",\"data-styles-preset\":\"dqfeojICA\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Istanbul Office\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:[\"Officelink - Piazza AVM, \",/*#__PURE__*/_jsx(motion.br,{}),\"Maltepe \"]}),/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"Istanbul - TR\"})]}),className:\"framer-d0oecq\",\"data-framer-name\":\"Officelink - Piazza AVM, Maltepe Istanbul - TR\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HVlwSzBa4\",variants:{hYjy4AjQf:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"},MM2CSzLK7:{\"--extracted-1w3ko1f\":\"rgb(255, 255, 255)\",\"--extracted-2gxw0f\":\"rgb(255, 255, 255)\",\"--extracted-c9yw3e\":\"rgb(255, 255, 255)\"},UKR_cSY2z:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hYjy4AjQf:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Officelink - Piazza AVM, Maltepe Istanbul - TR\"})})},MM2CSzLK7:{children:/*#__PURE__*/_jsxs(React.Fragment,{children:[/*#__PURE__*/_jsxs(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:[/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-1w3ko1f, rgb(255, 255, 255))\"},children:\"Officelink - Piazza AVM, \"}),/*#__PURE__*/_jsx(motion.br,{}),/*#__PURE__*/_jsx(motion.span,{style:{\"--framer-text-color\":\"var(--extracted-c9yw3e, rgb(255, 255, 255))\"},children:\"Maltepe \"})]}),/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-2gxw0f, rgb(255, 255, 255))\"},children:\"Istanbul - TR\"})]})},n4uwXoJ6e:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"Officelink - Piazza AVM, Maltepe Istanbul - TR\"})})},UKR_cSY2z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Officelink - Piazza AVM, Maltepe Istanbul - TR\"})})},VZw0LZOKz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-m0p2av\",\"data-styles-preset\":\"P7ft19d5V\",children:\"Officelink - Piazza AVM, Maltepe Istanbul - TR\"})})}},baseVariant,gestureVariant)})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-jcdme5\",layoutDependency:layoutDependency,layoutId:\"fF9xoFhZ4\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1j0mv31\",\"data-framer-name\":\"Frame 47535\",layoutDependency:layoutDependency,layoutId:\"umjgj7ufT\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-hgblqu\",\"data-framer-name\":\"Frame 47534\",layoutDependency:layoutDependency,layoutId:\"gC4nnYfl4\",children:[/*#__PURE__*/_jsx(Link,{href:\"https://www.behance.net/creathivestudio\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-w3zqtn framer-1h612wj\",layoutDependency:layoutDependency,layoutId:\"nVZsGGfCi\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:28,y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0+76.8+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||559)-0-324.8)/1*1)+0+0+0+0+0+0+0+7105427357601002e-30,...addPropertyOverrides({hYjy4AjQf:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0+0+0+0+0+7105427357601002e-30},n4uwXoJ6e:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0+0+0+0+0+7105427357601002e-30},UKR_cSY2z:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||655)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0+0+0+0+7105427357601002e-30},VZw0LZOKz:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0+0+0+0+7105427357601002e-30}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-s2m47g-container\",layoutDependency:layoutDependency,layoutId:\"KBMLomAgV-container\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(PortfolioButton,{dPakDVYIe:\"Behance\",height:\"100%\",id:\"KBMLomAgV\",layoutId:\"KBMLomAgV\",variant:\"cgM3m0Gyv\",width:\"100%\",...addPropertyOverrides({hYjy4AjQf:{variant:\"QJ3bvMzpa\"},MM2CSzLK7:{variant:\"QJ3bvMzpa\"},UKR_cSY2z:{variant:\"QJ3bvMzpa\"}},baseVariant,gestureVariant)})})})})}),/*#__PURE__*/_jsx(Link,{href:\"https://dribbble.com/creathive\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-vcgm49 framer-1h612wj\",layoutDependency:layoutDependency,layoutId:\"HJOEr_aQk\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:28,y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0+76.8+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||559)-0-324.8)/1*1)+0+0+0+0+0+0+34.40000009536743+7105427357601002e-30,...addPropertyOverrides({hYjy4AjQf:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0+0+0+0+34.40000009536743+7105427357601002e-30},n4uwXoJ6e:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0+0+0+0+34.40000009536743+7105427357601002e-30},UKR_cSY2z:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||655)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0+0+0+0+7105427357601002e-30},VZw0LZOKz:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0+0+0+0+7105427357601002e-30}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-mjvezq-container\",layoutDependency:layoutDependency,layoutId:\"rK1yrLA9p-container\",transformTemplate:transformTemplate1,children:/*#__PURE__*/_jsx(PortfolioButton,{dPakDVYIe:\"Dribbble\",height:\"100%\",id:\"rK1yrLA9p\",layoutId:\"rK1yrLA9p\",variant:\"cgM3m0Gyv\",width:\"100%\",...addPropertyOverrides({hYjy4AjQf:{variant:\"QJ3bvMzpa\"},MM2CSzLK7:{variant:\"QJ3bvMzpa\"},UKR_cSY2z:{variant:\"QJ3bvMzpa\"}},baseVariant,gestureVariant)})})})})})]})}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:32,y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0+76.8+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||559)-0-324.8)/1*1)+0+0+0,...addPropertyOverrides({hYjy4AjQf:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0},n4uwXoJ6e:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+0+264.00000047683716+0+444.80000019073486+0},UKR_cSY2z:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||655)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0},VZw0LZOKz:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-642.4000005722046)/2+76+32)+0+264.00000047683716+0+238.40000009536743+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-ns95n1-container\",layoutDependency:layoutDependency,layoutId:\"wdqkDJA99-container\",children:/*#__PURE__*/_jsx(SocialMedia,{height:\"100%\",id:\"wdqkDJA99\",layoutId:\"wdqkDJA99\",style:{height:\"100%\"},variant:\"sJsqv8fUJ\",width:\"100%\",...addPropertyOverrides({hYjy4AjQf:{variant:\"Kxg8Cr8rO\"},MM2CSzLK7:{variant:\"Kxg8Cr8rO\"},UKR_cSY2z:{variant:\"Kxg8Cr8rO\"}},baseVariant,gestureVariant)})})})]})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-b014hj\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"P34V2IWum\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:60,width:\"55px\",y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+(0+76.8+(((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||559)-0-324.8)/1*1)+248-60+0,...addPropertyOverrides({hYjy4AjQf:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+.5+0},n4uwXoJ6e:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-960.2000007629395)/2+156+32)+.5+0},UKR_cSY2z:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||655)-0-642.4000005722046)/2+76+32)+.5+0},VZw0LZOKz:{y:((componentViewport===null||componentViewport===void 0?void 0:componentViewport.y)||0)+0+((((componentViewport===null||componentViewport===void 0?void 0:componentViewport.height)||200)-0-642.4000005722046)/2+76+32)+.5+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1wh77b2-container\",layoutDependency:layoutDependency,layoutId:\"BzVowS1sS-container\",children:/*#__PURE__*/_jsx(Logo,{height:\"100%\",id:\"BzVowS1sS\",layoutId:\"BzVowS1sS\",style:{height:\"100%\",width:\"100%\"},variant:\"HbVsO386O\",width:\"100%\",...addPropertyOverrides({hYjy4AjQf:{variant:\"AHBVB79ba\"},MM2CSzLK7:{variant:\"AHBVB79ba\"},UKR_cSY2z:{variant:\"AHBVB79ba\"}},baseVariant,gestureVariant)})})})})]})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-yap7o.framer-1h612wj, .framer-yap7o .framer-1h612wj { display: block; }\",\".framer-yap7o.framer-sho6yj { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: 559px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1104px; }\",\".framer-yap7o .framer-p2nox2 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-yap7o .framer-6sr1zr { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 55%; word-break: break-word; word-wrap: break-word; }\",\".framer-yap7o .framer-teckk0 { flex: none; height: 76px; overflow: visible; position: relative; text-decoration: none; width: 231px; }\",\".framer-yap7o .framer-dbib0l-container, .framer-yap7o .framer-s2m47g-container { flex: none; height: auto; left: 50%; position: absolute; top: 50%; width: auto; }\",\".framer-yap7o .framer-54zwma { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 248px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-yap7o .framer-e31g2p { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 132px; }\",\".framer-yap7o .framer-13ac3op, .framer-yap7o .framer-1x3ps8j, .framer-yap7o .framer-18lsrzu, .framer-yap7o .framer-1tr5myt, .framer-yap7o .framer-1e18rr4, .framer-yap7o .framer-pcs7ak, .framer-yap7o .framer-1cdah2t, .framer-yap7o .framer-1akrbq8 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-yap7o .framer-1eg5buy { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 80%; }\",\".framer-yap7o .framer-csyqaa { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 139px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 55%; }\",\".framer-yap7o .framer-1cwoy07, .framer-yap7o .framer-1fseo7z { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 45%; }\",\".framer-yap7o .framer-1jlhubv, .framer-yap7o .framer-d0oecq { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-yap7o .framer-jcdme5 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: 64px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 343px; }\",\".framer-yap7o .framer-1j0mv31 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-yap7o .framer-hgblqu { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 6px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-yap7o .framer-w3zqtn { flex: none; height: 28px; overflow: visible; position: relative; text-decoration: none; width: 130px; }\",\".framer-yap7o .framer-vcgm49 { flex: none; height: 29px; overflow: visible; position: relative; text-decoration: none; width: 130px; }\",\".framer-yap7o .framer-mjvezq-container { flex: none; height: auto; left: 50%; position: absolute; top: 48%; width: auto; }\",\".framer-yap7o .framer-ns95n1-container { flex: none; height: 32px; position: relative; width: auto; }\",\".framer-yap7o .framer-b014hj { bottom: 0px; flex: none; height: 60px; overflow: visible; position: absolute; right: 0px; width: 55px; }\",\".framer-yap7o .framer-1wh77b2-container { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; z-index: 1; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-yap7o .framer-e31g2p, .framer-yap7o .framer-1cwoy07, .framer-yap7o .framer-1fseo7z, .framer-yap7o .framer-1j0mv31, .framer-yap7o .framer-hgblqu { gap: 0px; } .framer-yap7o .framer-e31g2p > *, .framer-yap7o .framer-1cwoy07 > *, .framer-yap7o .framer-1fseo7z > *, .framer-yap7o .framer-hgblqu > * { margin: 0px; margin-bottom: calc(6.400000095367432px / 2); margin-top: calc(6.400000095367432px / 2); } .framer-yap7o .framer-e31g2p > :first-child, .framer-yap7o .framer-1cwoy07 > :first-child, .framer-yap7o .framer-1fseo7z > :first-child, .framer-yap7o .framer-1j0mv31 > :first-child, .framer-yap7o .framer-hgblqu > :first-child { margin-top: 0px; } .framer-yap7o .framer-e31g2p > :last-child, .framer-yap7o .framer-1cwoy07 > :last-child, .framer-yap7o .framer-1fseo7z > :last-child, .framer-yap7o .framer-1j0mv31 > :last-child, .framer-yap7o .framer-hgblqu > :last-child { margin-bottom: 0px; } .framer-yap7o .framer-1j0mv31 > * { margin: 0px; margin-bottom: calc(9.5999994px / 2); margin-top: calc(9.5999994px / 2); } }\",\".framer-yap7o.framer-v-1wdw9ka.framer-sho6yj, .framer-yap7o.framer-v-qas3e0.framer-sho6yj { gap: 32px; height: min-content; justify-content: center; width: 780px; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-54zwma, .framer-yap7o.framer-v-8ar6gg .framer-54zwma, .framer-yap7o.framer-v-qas3e0 .framer-54zwma, .framer-yap7o.framer-v-1y73nhu .framer-54zwma { flex-direction: column; gap: 64px; height: min-content; justify-content: flex-start; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-1eg5buy, .framer-yap7o.framer-v-8ar6gg .framer-1eg5buy, .framer-yap7o.framer-v-qas3e0 .framer-1eg5buy, .framer-yap7o.framer-v-1y73nhu .framer-1eg5buy { flex-direction: column; gap: 64px; justify-content: flex-start; width: 100%; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-csyqaa, .framer-yap7o.framer-v-1wdw9ka .framer-jcdme5, .framer-yap7o.framer-v-8ar6gg .framer-jcdme5, .framer-yap7o.framer-v-qas3e0 .framer-csyqaa, .framer-yap7o.framer-v-qas3e0 .framer-jcdme5, .framer-yap7o.framer-v-1y73nhu .framer-jcdme5 { height: min-content; width: 100%; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-1cwoy07, .framer-yap7o.framer-v-1wdw9ka .framer-1fseo7z, .framer-yap7o.framer-v-qas3e0 .framer-1cwoy07, .framer-yap7o.framer-v-qas3e0 .framer-1fseo7z { width: 40%; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-hgblqu, .framer-yap7o.framer-v-qas3e0 .framer-hgblqu { flex-direction: row; gap: 64px; }\",\".framer-yap7o.framer-v-1wdw9ka .framer-b014hj, .framer-yap7o.framer-v-8ar6gg .framer-b014hj, .framer-yap7o.framer-v-qas3e0 .framer-b014hj, .framer-yap7o.framer-v-1y73nhu .framer-b014hj { bottom: unset; top: 1px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-yap7o.framer-v-1wdw9ka.framer-sho6yj, .framer-yap7o.framer-v-1wdw9ka .framer-54zwma, .framer-yap7o.framer-v-1wdw9ka .framer-1eg5buy, .framer-yap7o.framer-v-1wdw9ka .framer-hgblqu { gap: 0px; } .framer-yap7o.framer-v-1wdw9ka.framer-sho6yj > * { margin: 0px; margin-bottom: calc(32px / 2); margin-top: calc(32px / 2); } .framer-yap7o.framer-v-1wdw9ka.framer-sho6yj > :first-child, .framer-yap7o.framer-v-1wdw9ka .framer-54zwma > :first-child, .framer-yap7o.framer-v-1wdw9ka .framer-1eg5buy > :first-child { margin-top: 0px; } .framer-yap7o.framer-v-1wdw9ka.framer-sho6yj > :last-child, .framer-yap7o.framer-v-1wdw9ka .framer-54zwma > :last-child, .framer-yap7o.framer-v-1wdw9ka .framer-1eg5buy > :last-child { margin-bottom: 0px; } .framer-yap7o.framer-v-1wdw9ka .framer-54zwma > *, .framer-yap7o.framer-v-1wdw9ka .framer-1eg5buy > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-yap7o.framer-v-1wdw9ka .framer-hgblqu > * { margin: 0px; margin-left: calc(64px / 2); margin-right: calc(64px / 2); } .framer-yap7o.framer-v-1wdw9ka .framer-hgblqu > :first-child { margin-left: 0px; } .framer-yap7o.framer-v-1wdw9ka .framer-hgblqu > :last-child { margin-right: 0px; } }\",\".framer-yap7o.framer-v-8ar6gg.framer-sho6yj, .framer-yap7o.framer-v-1y73nhu.framer-sho6yj { gap: 32px; height: min-content; justify-content: center; width: 380px; }\",\".framer-yap7o.framer-v-8ar6gg .framer-p2nox2, .framer-yap7o.framer-v-1y73nhu .framer-p2nox2 { flex-direction: column; gap: 32px; justify-content: flex-start; }\",\".framer-yap7o.framer-v-8ar6gg .framer-6sr1zr, .framer-yap7o.framer-v-8ar6gg .framer-teckk0, .framer-yap7o.framer-v-8ar6gg .framer-dbib0l-container, .framer-yap7o.framer-v-8ar6gg .framer-1cwoy07, .framer-yap7o.framer-v-8ar6gg .framer-1fseo7z, .framer-yap7o.framer-v-1y73nhu .framer-6sr1zr, .framer-yap7o.framer-v-1y73nhu .framer-teckk0, .framer-yap7o.framer-v-1y73nhu .framer-dbib0l-container, .framer-yap7o.framer-v-1y73nhu .framer-1cwoy07, .framer-yap7o.framer-v-1y73nhu .framer-1fseo7z { width: 100%; }\",\".framer-yap7o.framer-v-8ar6gg .framer-csyqaa, .framer-yap7o.framer-v-1y73nhu .framer-csyqaa { flex-direction: column; gap: 32px; height: min-content; justify-content: flex-start; width: 100%; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-yap7o.framer-v-8ar6gg.framer-sho6yj, .framer-yap7o.framer-v-8ar6gg .framer-p2nox2, .framer-yap7o.framer-v-8ar6gg .framer-54zwma, .framer-yap7o.framer-v-8ar6gg .framer-1eg5buy, .framer-yap7o.framer-v-8ar6gg .framer-csyqaa { gap: 0px; } .framer-yap7o.framer-v-8ar6gg.framer-sho6yj > *, .framer-yap7o.framer-v-8ar6gg .framer-p2nox2 > *, .framer-yap7o.framer-v-8ar6gg .framer-csyqaa > * { margin: 0px; margin-bottom: calc(32px / 2); margin-top: calc(32px / 2); } .framer-yap7o.framer-v-8ar6gg.framer-sho6yj > :first-child, .framer-yap7o.framer-v-8ar6gg .framer-p2nox2 > :first-child, .framer-yap7o.framer-v-8ar6gg .framer-54zwma > :first-child, .framer-yap7o.framer-v-8ar6gg .framer-1eg5buy > :first-child, .framer-yap7o.framer-v-8ar6gg .framer-csyqaa > :first-child { margin-top: 0px; } .framer-yap7o.framer-v-8ar6gg.framer-sho6yj > :last-child, .framer-yap7o.framer-v-8ar6gg .framer-p2nox2 > :last-child, .framer-yap7o.framer-v-8ar6gg .framer-54zwma > :last-child, .framer-yap7o.framer-v-8ar6gg .framer-1eg5buy > :last-child, .framer-yap7o.framer-v-8ar6gg .framer-csyqaa > :last-child { margin-bottom: 0px; } .framer-yap7o.framer-v-8ar6gg .framer-54zwma > *, .framer-yap7o.framer-v-8ar6gg .framer-1eg5buy > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-yap7o.framer-v-qas3e0.framer-sho6yj, .framer-yap7o.framer-v-qas3e0 .framer-54zwma, .framer-yap7o.framer-v-qas3e0 .framer-1eg5buy, .framer-yap7o.framer-v-qas3e0 .framer-hgblqu { gap: 0px; } .framer-yap7o.framer-v-qas3e0.framer-sho6yj > * { margin: 0px; margin-bottom: calc(32px / 2); margin-top: calc(32px / 2); } .framer-yap7o.framer-v-qas3e0.framer-sho6yj > :first-child, .framer-yap7o.framer-v-qas3e0 .framer-54zwma > :first-child, .framer-yap7o.framer-v-qas3e0 .framer-1eg5buy > :first-child { margin-top: 0px; } .framer-yap7o.framer-v-qas3e0.framer-sho6yj > :last-child, .framer-yap7o.framer-v-qas3e0 .framer-54zwma > :last-child, .framer-yap7o.framer-v-qas3e0 .framer-1eg5buy > :last-child { margin-bottom: 0px; } .framer-yap7o.framer-v-qas3e0 .framer-54zwma > *, .framer-yap7o.framer-v-qas3e0 .framer-1eg5buy > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-yap7o.framer-v-qas3e0 .framer-hgblqu > * { margin: 0px; margin-left: calc(64px / 2); margin-right: calc(64px / 2); } .framer-yap7o.framer-v-qas3e0 .framer-hgblqu > :first-child { margin-left: 0px; } .framer-yap7o.framer-v-qas3e0 .framer-hgblqu > :last-child { margin-right: 0px; } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-yap7o.framer-v-1y73nhu.framer-sho6yj, .framer-yap7o.framer-v-1y73nhu .framer-p2nox2, .framer-yap7o.framer-v-1y73nhu .framer-54zwma, .framer-yap7o.framer-v-1y73nhu .framer-1eg5buy, .framer-yap7o.framer-v-1y73nhu .framer-csyqaa { gap: 0px; } .framer-yap7o.framer-v-1y73nhu.framer-sho6yj > *, .framer-yap7o.framer-v-1y73nhu .framer-p2nox2 > *, .framer-yap7o.framer-v-1y73nhu .framer-csyqaa > * { margin: 0px; margin-bottom: calc(32px / 2); margin-top: calc(32px / 2); } .framer-yap7o.framer-v-1y73nhu.framer-sho6yj > :first-child, .framer-yap7o.framer-v-1y73nhu .framer-p2nox2 > :first-child, .framer-yap7o.framer-v-1y73nhu .framer-54zwma > :first-child, .framer-yap7o.framer-v-1y73nhu .framer-1eg5buy > :first-child, .framer-yap7o.framer-v-1y73nhu .framer-csyqaa > :first-child { margin-top: 0px; } .framer-yap7o.framer-v-1y73nhu.framer-sho6yj > :last-child, .framer-yap7o.framer-v-1y73nhu .framer-p2nox2 > :last-child, .framer-yap7o.framer-v-1y73nhu .framer-54zwma > :last-child, .framer-yap7o.framer-v-1y73nhu .framer-1eg5buy > :last-child, .framer-yap7o.framer-v-1y73nhu .framer-csyqaa > :last-child { margin-bottom: 0px; } .framer-yap7o.framer-v-1y73nhu .framer-54zwma > *, .framer-yap7o.framer-v-1y73nhu .framer-1eg5buy > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,...sharedStyle5.css,...sharedStyle6.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 559\n * @framerIntrinsicWidth 1104\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"VZw0LZOKz\":{\"layout\":[\"fixed\",\"auto\"]},\"n4uwXoJ6e\":{\"layout\":[\"fixed\",\"auto\"]},\"MM2CSzLK7\":{\"layout\":[\"fixed\",\"fixed\"]},\"UKR_cSY2z\":{\"layout\":[\"fixed\",\"auto\"]},\"hYjy4AjQf\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerebPnaQt0C=withCSS(Component,css,\"framer-yap7o\");export default FramerebPnaQt0C;FramerebPnaQt0C.displayName=\"Footer Context\";FramerebPnaQt0C.defaultProps={height:559,width:1104};addPropertyControls(FramerebPnaQt0C,{variant:{options:[\"RuH17Eg56\",\"VZw0LZOKz\",\"n4uwXoJ6e\",\"MM2CSzLK7\",\"UKR_cSY2z\",\"hYjy4AjQf\"],optionTitles:[\"Light /desktop\",\"Light /tablet\",\"Light /mobile\",\"Dark /desktop\",\"Dark /tablet\",\"Dark /mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerebPnaQt0C,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...ButtonLFonts,...PortfolioButtonFonts,...SocialMediaFonts,...LogoFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts),...getFontsFromSharedStyle(sharedStyle5.fonts),...getFontsFromSharedStyle(sharedStyle6.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerebPnaQt0C\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"VZw0LZOKz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"n4uwXoJ6e\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"MM2CSzLK7\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"UKR_cSY2z\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"hYjy4AjQf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"559\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"1104\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ebPnaQt0C.map","// Generated by Framer (450d190)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import FooterContext from\"https://framerusercontent.com/modules/ORDUDkvx5rzyRth4Umbw/ymvz2S4tRgFKm01d0kgl/ebPnaQt0C.js\";const FooterContextFonts=getFonts(FooterContext);const cycleOrder=[\"IJ3ibz13s\",\"AcBRqmYIu\",\"BgwSU3gfx\",\"nivzzAjR0\",\"kpSl2TSvW\",\"U6P1POgZC\",\"CLT_isNLZ\",\"leu5W90Q5\"];const serializationHash=\"framer-EqxNG\";const variantClassNames={AcBRqmYIu:\"framer-v-vw0pfk\",BgwSU3gfx:\"framer-v-wu0vbq\",CLT_isNLZ:\"framer-v-go83ip\",IJ3ibz13s:\"framer-v-44a5e6\",kpSl2TSvW:\"framer-v-1xx8mh4\",leu5W90Q5:\"framer-v-1jy6by7\",nivzzAjR0:\"framer-v-17m9hih\",U6P1POgZC:\"framer-v-llk8q\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0: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!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Dark / Footer L\":\"kpSl2TSvW\",\"Dark / Footer M\":\"U6P1POgZC\",\"Dark / Footer Mobile\":\"leu5W90Q5\",\"Dark / Footer Tablet\":\"CLT_isNLZ\",\"Light / Footer L\":\"AcBRqmYIu\",\"Light / Footer M\":\"IJ3ibz13s\",\"Light / Footer Mobile\":\"nivzzAjR0\",\"Light / Footer Tablet\":\"BgwSU3gfx\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"IJ3ibz13s\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"IJ3ibz13s\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-44a5e6\",className,classNames),\"data-framer-name\":\"Light / Footer M\",layoutDependency:layoutDependency,layoutId:\"IJ3ibz13s\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgba(0, 0, 0, 0)\",...style},variants:{CLT_isNLZ:{backgroundColor:\"rgb(0, 0, 0)\"},kpSl2TSvW:{backgroundColor:\"rgb(0, 0, 0)\"},leu5W90Q5:{backgroundColor:\"rgb(0, 0, 0)\"},U6P1POgZC:{backgroundColor:\"rgb(0, 0, 0)\"}},...addPropertyOverrides({AcBRqmYIu:{\"data-framer-name\":\"Light / Footer L\"},BgwSU3gfx:{\"data-framer-name\":\"Light / Footer Tablet\"},CLT_isNLZ:{\"data-framer-name\":\"Dark / Footer Tablet\"},kpSl2TSvW:{\"data-framer-name\":\"Dark / Footer L\"},leu5W90Q5:{\"data-framer-name\":\"Dark / Footer Mobile\"},nivzzAjR0:{\"data-framer-name\":\"Light / Footer Mobile\"},U6P1POgZC:{\"data-framer-name\":\"Dark / Footer M\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(ComponentViewportProvider,{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 96px)`,...addPropertyOverrides({AcBRqmYIu:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 128px)`},BgwSU3gfx:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 64px)`},CLT_isNLZ:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 64px)`},kpSl2TSvW:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 128px)`},leu5W90Q5:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 40px)`},nivzzAjR0:{width:`calc(${(componentViewport===null||componentViewport===void 0?void 0:componentViewport.width)||\"100vw\"} - 40px)`}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1dsz0jx-container\",layoutDependency:layoutDependency,layoutId:\"HpiMlzjJw-container\",children:/*#__PURE__*/_jsx(FooterContext,{height:\"100%\",id:\"HpiMlzjJw\",layoutId:\"HpiMlzjJw\",style:{height:\"100%\",width:\"100%\"},variant:\"RuH17Eg56\",width:\"100%\",...addPropertyOverrides({BgwSU3gfx:{style:{width:\"100%\"},variant:\"VZw0LZOKz\"},CLT_isNLZ:{style:{width:\"100%\"},variant:\"UKR_cSY2z\"},kpSl2TSvW:{variant:\"MM2CSzLK7\"},leu5W90Q5:{style:{width:\"100%\"},variant:\"hYjy4AjQf\"},nivzzAjR0:{style:{width:\"100%\"},variant:\"n4uwXoJ6e\"},U6P1POgZC:{variant:\"MM2CSzLK7\"}},baseVariant,gestureVariant)})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-EqxNG.framer-jnr2eu, .framer-EqxNG .framer-jnr2eu { display: block; }\",\".framer-EqxNG.framer-44a5e6 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 80px; height: min-content; justify-content: center; overflow: visible; padding: 48px 48px 48px 48px; position: relative; width: 1200px; }\",\".framer-EqxNG .framer-1dsz0jx-container { flex: none; height: 559px; position: relative; width: 100%; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-EqxNG.framer-44a5e6 { gap: 0px; } .framer-EqxNG.framer-44a5e6 > * { margin: 0px; margin-bottom: calc(80px / 2); margin-top: calc(80px / 2); } .framer-EqxNG.framer-44a5e6 > :first-child { margin-top: 0px; } .framer-EqxNG.framer-44a5e6 > :last-child { margin-bottom: 0px; } }\",\".framer-EqxNG.framer-v-vw0pfk.framer-44a5e6, .framer-EqxNG.framer-v-1xx8mh4.framer-44a5e6 { padding: 64px 64px 64px 64px; width: 1600px; }\",\".framer-EqxNG.framer-v-wu0vbq.framer-44a5e6, .framer-EqxNG.framer-v-go83ip.framer-44a5e6 { gap: 64px; padding: 32px 32px 32px 32px; width: 810px; }\",\".framer-EqxNG.framer-v-wu0vbq .framer-1dsz0jx-container, .framer-EqxNG.framer-v-17m9hih .framer-1dsz0jx-container, .framer-EqxNG.framer-v-go83ip .framer-1dsz0jx-container, .framer-EqxNG.framer-v-1jy6by7 .framer-1dsz0jx-container { height: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-EqxNG.framer-v-wu0vbq.framer-44a5e6 { gap: 0px; } .framer-EqxNG.framer-v-wu0vbq.framer-44a5e6 > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-EqxNG.framer-v-wu0vbq.framer-44a5e6 > :first-child { margin-top: 0px; } .framer-EqxNG.framer-v-wu0vbq.framer-44a5e6 > :last-child { margin-bottom: 0px; } }\",\".framer-EqxNG.framer-v-17m9hih.framer-44a5e6, .framer-EqxNG.framer-v-1jy6by7.framer-44a5e6 { gap: 64px; padding: 20px 20px 20px 20px; width: 390px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-EqxNG.framer-v-17m9hih.framer-44a5e6 { gap: 0px; } .framer-EqxNG.framer-v-17m9hih.framer-44a5e6 > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-EqxNG.framer-v-17m9hih.framer-44a5e6 > :first-child { margin-top: 0px; } .framer-EqxNG.framer-v-17m9hih.framer-44a5e6 > :last-child { margin-bottom: 0px; } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-EqxNG.framer-v-go83ip.framer-44a5e6 { gap: 0px; } .framer-EqxNG.framer-v-go83ip.framer-44a5e6 > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-EqxNG.framer-v-go83ip.framer-44a5e6 > :first-child { margin-top: 0px; } .framer-EqxNG.framer-v-go83ip.framer-44a5e6 > :last-child { margin-bottom: 0px; } }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-EqxNG.framer-v-1jy6by7.framer-44a5e6 { gap: 0px; } .framer-EqxNG.framer-v-1jy6by7.framer-44a5e6 > * { margin: 0px; margin-bottom: calc(64px / 2); margin-top: calc(64px / 2); } .framer-EqxNG.framer-v-1jy6by7.framer-44a5e6 > :first-child { margin-top: 0px; } .framer-EqxNG.framer-v-1jy6by7.framer-44a5e6 > :last-child { margin-bottom: 0px; } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 655\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"AcBRqmYIu\":{\"layout\":[\"fixed\",\"auto\"]},\"BgwSU3gfx\":{\"layout\":[\"fixed\",\"auto\"]},\"nivzzAjR0\":{\"layout\":[\"fixed\",\"auto\"]},\"kpSl2TSvW\":{\"layout\":[\"fixed\",\"auto\"]},\"U6P1POgZC\":{\"layout\":[\"fixed\",\"auto\"]},\"CLT_isNLZ\":{\"layout\":[\"fixed\",\"auto\"]},\"leu5W90Q5\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerILuq37Wmw=withCSS(Component,css,\"framer-EqxNG\");export default FramerILuq37Wmw;FramerILuq37Wmw.displayName=\"Footer\";FramerILuq37Wmw.defaultProps={height:655,width:1200};addPropertyControls(FramerILuq37Wmw,{variant:{options:[\"IJ3ibz13s\",\"AcBRqmYIu\",\"BgwSU3gfx\",\"nivzzAjR0\",\"kpSl2TSvW\",\"U6P1POgZC\",\"CLT_isNLZ\",\"leu5W90Q5\"],optionTitles:[\"Light / Footer M\",\"Light / Footer L\",\"Light / Footer Tablet\",\"Light / Footer Mobile\",\"Dark / Footer L\",\"Dark / Footer M\",\"Dark / Footer Tablet\",\"Dark / Footer Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerILuq37Wmw,[{explicitInter:true,fonts:[]},...FooterContextFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerILuq37Wmw\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"AcBRqmYIu\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"BgwSU3gfx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"nivzzAjR0\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"kpSl2TSvW\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"U6P1POgZC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"CLT_isNLZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"leu5W90Q5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerIntrinsicWidth\":\"1200\",\"framerIntrinsicHeight\":\"655\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (716ed5b)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,Link,SVG,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"dlSMpevKS\",\"FGdJ26qd3\",\"alYMjrYwl\",\"pag1uOsmF\"];const serializationHash=\"framer-wN6qA\";const variantClassNames={alYMjrYwl:\"framer-v-6qsjd9\",dlSMpevKS:\"framer-v-1rpv99c\",FGdJ26qd3:\"framer-v-1ju9bz1\",pag1uOsmF:\"framer-v-1f7ojeu\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Black Logo\":\"pag1uOsmF\",\"White \":\"FGdJ26qd3\",\"Whitie Logo\":\"alYMjrYwl\",Black:\"dlSMpevKS\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"dlSMpevKS\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"dlSMpevKS\",transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},openInNewTab:false,children:/*#__PURE__*/_jsxs(motion.a,{...restProps,className:`${cx(serializationHash,...sharedStyleClassNames,\"framer-1rpv99c\",className,classNames)} framer-h4ga9w`,\"data-framer-name\":\"Black\",layoutDependency:layoutDependency,layoutId:\"dlSMpevKS\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({alYMjrYwl:{\"data-framer-name\":\"Whitie Logo\"},FGdJ26qd3:{\"data-framer-name\":\"White \"},pag1uOsmF:{\"data-framer-name\":\"Black Logo\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-18krhez\",layoutDependency:layoutDependency,layoutId:\"ek48XXihF\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-n3a0yr\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:43,intrinsicWidth:40,layoutDependency:layoutDependency,layoutId:\"zeeVWXhxX\",style:{opacity:1},svg:'<svg width=\"40\" height=\"43\" viewBox=\"0 0 40 43\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M39.847 27.095V16.8198C39.847 12.9709 37.7972 9.41541 34.4727 7.49384L25.5959 2.35622C22.2714 0.434646 18.1717 0.434646 14.8472 2.35622L5.97048 7.49384C2.646 9.41541 0.596191 12.9709 0.596191 16.8198V27.095C0.596191 30.9439 2.646 34.4994 5.97048 36.421L14.8472 41.5586C18.1717 43.4802 22.2714 43.4802 25.5959 41.5586L34.4727 36.421C37.7972 34.4994 39.847 30.9439 39.847 27.095Z\" fill=\"black\"/>\\n</svg>\\n',variants:{alYMjrYwl:{opacity:0},FGdJ26qd3:{opacity:0}},withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-608vkz\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:35,intrinsicWidth:32,layoutDependency:layoutDependency,layoutId:\"nIGLIvJH6\",style:{opacity:0},svg:'<svg width=\"32\" height=\"35\" viewBox=\"0 0 32 35\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M32 21.7727V13.2273C32 10.0263 30.3289 7.06937 27.6185 5.47129L20.3815 1.19856C17.6711 -0.399522 14.3288 -0.399522 11.6185 1.19856L4.3815 5.47129C1.67115 7.06937 0 10.0263 0 13.2273V21.7727C0 24.9737 1.67115 27.9306 4.3815 29.5287L11.6185 33.8014C14.3288 35.3995 17.6711 35.3995 20.3815 33.8014L27.6185 29.5287C30.3289 27.9306 32 24.9737 32 21.7727Z\" fill=\"white\"/>\\n</svg>\\n',variants:{alYMjrYwl:{opacity:1},FGdJ26qd3:{opacity:1}},withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ir11ar\",layoutDependency:layoutDependency,layoutId:\"dfxRL2Vsg\",style:{opacity:1},variants:{alYMjrYwl:{opacity:0},pag1uOsmF:{opacity:0}},children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-1ym43vw\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:34,intrinsicWidth:83,layoutDependency:layoutDependency,layoutId:\"boFkN6YRu\",style:{opacity:1},svg:'<svg width=\"83\" height=\"34\" viewBox=\"0 0 83 34\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M6.97639 15.3763C4.95419 15.3763 3.29965 14.6982 2.02361 13.3366C0.747565 11.975 0.104126 10.2391 0.104126 8.13428C0.104126 6.02948 0.731346 4.28271 1.99117 2.8994C3.25099 1.52152 4.90552 0.827148 6.95476 0.827148C8.539 0.827148 9.86371 1.23943 10.9235 2.05856C12.1292 2.96992 12.8267 4.25016 13.0052 5.90471H9.56092C9.46901 5.26459 9.19324 4.73839 8.72283 4.32068C8.25784 3.90298 7.65766 3.69684 6.93313 3.69684C5.84092 3.69684 5.01366 4.10369 4.45133 4.9174C3.88901 5.73111 3.60243 6.79979 3.60243 8.12885C3.60243 9.45791 3.90523 10.494 4.51621 11.3132C5.1272 12.1323 5.93825 12.5446 6.94935 12.5446C7.70092 12.5446 8.32272 12.3276 8.80935 11.899C9.29597 11.4705 9.57714 10.9117 9.65825 10.2174H13.1025C12.9997 11.6224 12.4428 12.8158 11.4263 13.7923C10.3341 14.8447 8.85261 15.3763 6.97098 15.3763H6.97639ZM6.31674 33.4515C4.43512 33.4515 2.93738 33.0447 1.82895 32.231C0.720522 31.4173 0.147382 30.2509 0.104126 28.7266H3.56999C3.71058 30.0557 4.61895 30.7175 6.29511 30.7175C6.91691 30.7175 7.44679 30.5981 7.87935 30.354C8.31191 30.1153 8.53359 29.7464 8.53359 29.2528C8.53359 28.9165 8.39842 28.6289 8.12267 28.4011C7.85232 28.1733 7.57657 28.016 7.2954 27.9237C7.01424 27.8315 6.48975 27.6905 5.71115 27.4952C5.6733 27.4843 5.64627 27.4735 5.63546 27.4681C5.62465 27.4626 5.60301 27.4572 5.57597 27.4464C5.54894 27.4409 5.52191 27.4355 5.50029 27.4355C4.90552 27.2945 4.41348 27.1643 4.02959 27.0558C3.6457 26.9473 3.21314 26.7737 2.72651 26.5458C2.23988 26.318 1.856 26.0685 1.56943 25.7918C1.28286 25.5206 1.03954 25.1571 0.839482 24.7069C0.639424 24.2566 0.536693 23.7521 0.536693 23.1934C0.536693 21.7612 1.04494 20.6871 2.06686 19.9711C3.08337 19.255 4.41889 18.897 6.06801 18.897C7.71714 18.897 8.94453 19.2604 9.95023 19.9928C10.9559 20.7197 11.4912 21.7883 11.5561 23.1934H8.18755C8.12267 22.6617 7.89557 22.244 7.50627 21.9511C7.11696 21.6582 6.59789 21.5117 5.94906 21.5117C5.35429 21.5117 4.86767 21.631 4.49999 21.8751C4.13232 22.1138 3.94308 22.4339 3.94308 22.8245C3.94308 23.2693 4.16476 23.5894 4.60273 23.7901C5.0461 23.9908 5.87337 24.2295 7.09535 24.5007C7.86314 24.6852 8.49034 24.8642 8.98237 25.0378C9.47441 25.2114 9.97726 25.4663 10.4909 25.7918C11.0046 26.1173 11.3885 26.535 11.6372 27.0503C11.8913 27.5657 12.0157 28.1787 12.0157 28.8948C12.0157 30.316 11.4804 31.4281 10.4098 32.2364C9.33923 33.0447 7.97127 33.4461 6.31133 33.4461L6.31674 33.4515ZM23.2892 33.4136C22.1592 33.4136 21.294 33.0772 20.6885 32.41C20.0829 31.7373 19.7855 30.8314 19.7855 29.6868V23.1228H22.9378V29.0195C22.9378 30.1533 23.4352 30.7175 24.4355 30.7175C24.9816 30.7175 25.4087 30.533 25.7223 30.1587C26.0359 29.7898 26.1874 29.3016 26.1874 28.7049V23.1174H29.3612V33.1152H26.3225V31.8838H26.263C25.5115 32.8982 24.5166 33.4081 23.2838 33.4081L23.2892 33.4136ZM37.423 19.83V24.2566H37.3635C36.7039 23.3073 35.7739 22.8299 34.579 22.8299C33.2921 22.8299 32.2486 23.3236 31.4375 24.3054C30.6265 25.2873 30.2209 26.5621 30.2209 28.1244C30.2209 29.7681 30.6211 31.0592 31.4267 32.014C32.2323 32.9633 33.2813 33.4407 34.579 33.4407C35.8766 33.4407 36.8715 32.8874 37.5204 31.7807H37.5582V33.1261H40.5969V19.8354H37.423V19.83ZM36.9364 30.1425C36.5579 30.6578 36.0496 30.9128 35.4008 30.9128C34.7898 30.9128 34.3086 30.6578 33.9626 30.1533C33.6111 29.6434 33.4381 28.9544 33.4381 28.0811C33.4381 27.2077 33.6165 26.5296 33.9734 26.0088C34.3302 25.488 34.8223 25.2276 35.4441 25.2276C36.1199 25.2276 36.6282 25.488 36.9797 26.0196C37.3311 26.5458 37.5041 27.2456 37.5041 28.119C37.5041 28.9924 37.3149 29.6271 36.9364 30.1425ZM54.9903 31.9272C54.0116 32.9308 52.7302 33.4298 51.1459 33.4298C49.5617 33.4298 48.2802 32.9308 47.2907 31.9272C46.3067 30.9236 45.8092 29.6596 45.8092 28.1407C45.8092 26.6218 46.3013 25.3524 47.2907 24.3543C48.2748 23.3507 49.5617 22.8516 51.1459 22.8516C52.7302 22.8516 54.0116 23.3507 54.9903 24.3543C55.9689 25.3578 56.461 26.6218 56.461 28.1407C56.461 29.6596 55.9689 30.929 54.9903 31.9272ZM49.5671 30.3432C49.9293 30.8911 50.4484 31.1623 51.1243 31.1623C51.8002 31.1623 52.3192 30.8911 52.6923 30.3432C53.06 29.7953 53.2492 29.0629 53.2492 28.1353C53.2492 27.2077 53.0654 26.4699 52.6923 25.9166C52.3246 25.3633 51.8002 25.0866 51.1243 25.0866C50.4484 25.0866 49.9293 25.3578 49.5671 25.9057C49.2048 26.4536 49.021 27.1968 49.021 28.1299C49.021 29.0629 49.2048 29.7898 49.5671 30.3377V30.3432ZM40.7645 14.2914C40.7645 12.3601 40.7105 10.0601 40.7105 8.51401C40.7105 8.26989 40.6997 8.02578 40.6672 7.78709C40.4996 6.40921 39.7588 5.487 38.4828 5.08015C37.1527 4.65159 35.7955 4.64617 34.4546 5.04217C33.4976 5.31883 32.719 5.87758 32.254 6.81606C32.0431 7.24462 31.9295 7.70572 31.9187 8.19395H34.7574C34.7736 8.118 34.7844 8.04748 34.8006 7.97696C34.8763 7.6569 35.0169 7.36396 35.2927 7.19037C35.882 6.83234 36.5093 6.81606 37.1365 7.0656C37.4933 7.20664 37.6988 7.6135 37.6717 8.03663C37.6501 8.42721 37.4014 8.61708 37.077 8.73642C37.0121 8.76355 36.9472 8.78524 36.8823 8.80152C36.3741 8.89916 35.8712 9.01308 35.3576 9.08903C34.6276 9.20295 33.8923 9.31144 33.2056 9.60981C32.5135 9.91359 31.9512 10.3747 31.6646 11.1125C31.4591 11.6387 31.4267 12.1866 31.5078 12.7453C31.6592 13.8574 32.2432 14.6277 33.2651 15.0291C33.9409 15.2949 34.6438 15.3329 35.3576 15.2678C36.2713 15.1864 37.0229 14.785 37.596 14.0418C37.6285 14.0038 37.6609 13.9659 37.715 13.9008C37.7312 13.9767 37.742 14.0147 37.7528 14.0527C37.8285 14.3402 37.9042 14.6277 37.9853 14.9098C38.0124 15.0074 38.0827 15.04 38.1908 15.04C39.0019 15.04 41.2566 15.04 41.2566 15.04C41.2566 15.04 40.7699 14.9532 40.7699 14.2914H40.7645ZM37.742 11.6712C37.688 12.4632 37.1148 13.0708 36.3254 13.2227C35.9415 13.2932 35.5576 13.2986 35.1845 13.1793C34.6438 13.0057 34.4222 12.6585 34.4654 12.0238C34.4979 11.5844 34.752 11.3023 35.1305 11.1559C35.5035 11.0094 35.8929 10.8955 36.2713 10.7761C36.5201 10.7002 36.7742 10.6405 37.0175 10.5646C37.2554 10.4886 37.4933 10.391 37.7474 10.2987C37.7474 10.7653 37.7745 11.2264 37.7474 11.6766L37.742 11.6712ZM20.3208 4.92283C20.3965 4.93368 20.4722 4.94453 20.4722 5.06387C20.4722 5.91013 20.4722 6.75639 20.4722 7.60265C20.4722 7.62977 20.4614 7.65147 20.4668 7.65147C20.1748 7.65147 19.899 7.64605 19.6179 7.65147C18.4229 7.68945 17.5849 8.41636 17.3686 9.62065C17.3145 9.92444 17.2875 10.2337 17.2875 10.5429C17.2767 11.9641 17.2875 13.3854 17.2875 14.8067V15.0291H14.2001V5.05845H17.1523V6.59907C17.1523 6.59907 17.1847 6.60992 17.1956 6.60992C17.2334 6.55568 17.2712 6.50143 17.3037 6.44718C17.6497 5.89386 18.0499 5.40563 18.65 5.13439C19.1853 4.89028 19.7477 4.84146 20.3262 4.92283H20.3208ZM61.8679 1.73308V4.21761H58.7968V1.7385H61.8679V1.73308ZM61.8679 5.05302V15.0345H58.7968V5.05845H61.8679V5.05302ZM51.5568 1.73308V6.25731C51.5568 6.25731 51.5839 6.26816 51.5947 6.27359C51.6434 6.22477 51.692 6.17594 51.7353 6.1217C52.157 5.5955 52.6328 5.13982 53.2762 4.94453C54.4982 4.57564 55.6607 4.67329 56.6881 5.52497C57.299 6.02948 57.6289 6.71299 57.7748 7.49416C57.8397 7.84134 57.8776 8.2048 57.8776 8.56283C57.8884 10.6676 57.8776 12.7724 57.8776 14.8827V15.04H54.7902V14.8338C54.7902 13.0057 54.7902 11.1776 54.7902 9.34942C54.7902 9.09988 54.774 8.85034 54.7253 8.60623C54.5847 7.93898 54.1792 7.5267 53.6007 7.43991C52.8869 7.33684 52.2922 7.53755 51.8867 8.18852C51.6379 8.58453 51.5514 9.02936 51.546 9.49046C51.546 11.2698 51.546 13.0491 51.546 14.8338V15.0508H48.464V1.7385H51.5514L51.5568 1.73308ZM69.9676 5.04217C70.7948 5.04217 71.6275 5.04217 72.4548 5.04217H72.644C72.4926 5.49785 72.3466 5.94268 72.1952 6.38208C71.2382 9.21922 70.2812 12.0509 69.3295 14.8881C69.2917 15.0074 69.2376 15.04 69.1187 15.04C68.0643 15.04 67.0045 15.04 65.934 15.04C64.8147 11.7092 63.6955 8.38381 62.5708 5.05302H65.7718C66.3936 7.21207 67.0262 9.38197 67.6588 11.5736C67.6804 11.4922 67.6966 11.4271 67.7183 11.362C68.286 9.38739 68.8591 7.41278 69.4323 5.4436C69.4701 5.31341 69.4755 5.13439 69.562 5.0693C69.6594 5.0042 69.827 5.04217 69.9622 5.04217H69.9676ZM45.8146 1.73308V5.03675H47.5719V7.02763H45.8201V9.46876V11.6983C45.8201 11.7906 45.8309 11.8828 45.8363 11.975C45.8687 12.3059 46.0417 12.5229 46.3553 12.6205C46.6852 12.729 47.0204 12.7019 47.361 12.6911C47.4313 12.6911 47.4962 12.6911 47.5773 12.6911V15.0183C47.3178 15.0508 47.0528 15.0996 46.7879 15.1213C46.0363 15.1756 45.2902 15.1973 44.5494 15.002C43.5275 14.7308 42.9381 14.0201 42.8354 12.9406C42.8138 12.7128 42.803 12.4849 42.803 12.2571C42.803 10.5863 42.803 8.91544 42.803 7.24462V7.02763H41.5215V5.0476H42.7921V2.97535L45.8201 1.73308H45.8146ZM30.8806 10.7653C30.8806 9.88104 30.7779 9.01308 30.5021 8.17225C30.1777 7.1741 29.6478 6.32241 28.8097 5.69857C27.5229 4.74381 26.0846 4.5431 24.5707 4.90655C22.9215 5.30256 21.7969 6.35496 21.1967 7.97696C20.7101 9.28975 20.7155 10.6297 21.1481 11.9587C21.6185 13.3963 22.5431 14.3999 23.9218 14.9532C24.8086 15.3112 25.7386 15.3926 26.6794 15.2949C28.069 15.1539 29.2261 14.5572 30.0858 13.4071C30.3832 13.0111 30.5832 12.5663 30.6913 12.0726C30.6643 12.0618 30.6535 12.0564 30.6427 12.0564C29.6857 12.0564 28.7286 12.0564 27.7716 12.0564C27.7229 12.0564 27.6526 12.116 27.6256 12.1703C27.3715 12.6368 26.993 12.9243 26.4847 13.0111C25.6575 13.1522 24.814 12.9406 24.3274 12.1649C24.084 11.7689 23.9434 11.3403 23.8786 10.8521H30.859C30.8698 10.8087 30.8752 10.787 30.8752 10.7653H30.8806ZM23.9218 8.96426C23.9218 7.83591 24.8302 6.97881 25.9711 7.00593C26.9335 7.03305 27.777 7.96068 27.7283 8.96426H23.9218ZM16.8711 19.8788V23.1825H18.6284V25.1734H16.8766V27.6145V29.8441C16.8766 29.9363 16.8874 30.0285 16.8928 30.1208C16.9252 30.4517 17.0982 30.6687 17.4118 30.7663C17.7417 30.8748 18.0769 30.8477 18.4175 30.8368C18.4878 30.8368 18.5527 30.8368 18.6338 30.8368V33.164C18.3743 33.1966 18.1093 33.2454 17.8444 33.2671C17.0928 33.3213 16.3467 33.3431 15.6059 33.1478C14.584 32.8765 13.9946 32.1659 13.8919 31.0864C13.8703 30.8585 13.8595 30.6307 13.8595 30.4028C13.8595 28.732 13.8595 27.0612 13.8595 25.3904V25.1734H12.578V23.1934H13.8486V21.1211L16.8766 19.8788H16.8711ZM82.5658 10.711C82.5658 9.7617 82.436 8.83407 82.1116 7.93898C81.7764 7.01678 81.2465 6.24104 80.4571 5.66602C79.1918 4.74924 77.7806 4.55937 76.2991 4.8957C74.8284 5.22661 73.7416 6.11627 73.082 7.50501C72.4223 8.89916 72.3574 10.3584 72.7954 11.8285C73.2658 13.3963 74.2661 14.4758 75.7855 15.0183C76.8182 15.3872 77.878 15.4251 78.9431 15.2081C80.1002 14.9694 81.0572 14.3836 81.7764 13.4125C82.0738 13.0111 82.2792 12.5663 82.3874 12.0726C82.3603 12.0672 82.3495 12.0564 82.3333 12.0564C81.3763 12.0564 80.4192 12.0564 79.4622 12.0564C79.419 12.0564 79.3541 12.0998 79.3324 12.1432C79.0134 12.7562 78.4998 13.022 77.8455 13.0491C76.51 13.1033 75.7422 12.2083 75.5854 10.8521H82.555C82.555 10.787 82.5658 10.749 82.5658 10.711ZM75.607 8.95884C75.7909 7.72742 76.4613 6.98423 77.6238 7.00593C78.8296 7.03305 79.3811 8.0963 79.4244 8.95884H75.607ZM44.8576 19.83V22.3145H41.7864V19.83H44.8576ZM44.8576 23.15V33.1315H41.7864V23.15H44.8576Z\" fill=\"black\"/>\\n</svg>\\n',variants:{FGdJ26qd3:{opacity:0}},withExternalLayout:true}),/*#__PURE__*/_jsx(SVG,{className:\"framer-1ijzlhj\",\"data-framer-name\":\"Vector\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:31,intrinsicWidth:79,layoutDependency:layoutDependency,layoutId:\"SnhV7_IkJ\",style:{opacity:0},svg:'<svg width=\"79\" height=\"31\" viewBox=\"0 0 79 31\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path d=\"M6.58378 13.8247C4.64646 13.8247 3.06138 13.1804 1.83891 11.8866C0.616428 10.5928 0 8.9433 0 6.9433C0 4.9433 0.600889 3.28351 1.80783 1.96907C3.01476 0.659794 4.59984 0 6.56305 0C8.08079 0 9.34988 0.391753 10.3652 1.1701C11.5203 2.03608 12.1885 3.25258 12.3595 4.82474H9.05981C8.97175 4.21649 8.70756 3.71649 8.2569 3.31959C7.81142 2.92268 7.23644 2.7268 6.54233 2.7268C5.49597 2.7268 4.70343 3.1134 4.16471 3.8866C3.626 4.65979 3.35145 5.67526 3.35145 6.93814C3.35145 8.20103 3.64153 9.18557 4.22687 9.96392C4.81221 10.7423 5.58921 11.134 6.55787 11.134C7.27788 11.134 7.87358 10.9278 8.33978 10.5206C8.80598 10.1134 9.07534 9.58247 9.15304 8.92268H12.4527C12.3543 10.2577 11.8207 11.3918 10.8469 12.3196C9.80054 13.3196 8.38123 13.8247 6.57859 13.8247H6.58378ZM5.95182 31C4.14918 31 2.71431 30.6134 1.65242 29.8402C0.59052 29.067 0.0414399 27.9588 0 26.5103H3.32037C3.45505 27.7732 4.3253 28.4021 5.93109 28.4021C6.52679 28.4021 7.03443 28.2887 7.44882 28.0567C7.86322 27.8299 8.0756 27.4794 8.0756 27.0103C8.0756 26.6907 7.94611 26.4175 7.68193 26.201C7.42293 25.9845 7.15875 25.8351 6.88939 25.7474C6.62003 25.6598 6.11756 25.5258 5.37164 25.3402C5.33538 25.3299 5.30949 25.3196 5.29913 25.3144C5.28877 25.3093 5.26804 25.3041 5.24214 25.2938C5.21624 25.2887 5.19035 25.2835 5.16963 25.2835C4.59983 25.1495 4.12846 25.0258 3.76068 24.9227C3.3929 24.8196 2.9785 24.6546 2.5123 24.4381C2.0461 24.2217 1.67833 23.9845 1.40379 23.7216C1.12925 23.4639 0.896146 23.1186 0.704487 22.6907C0.512827 22.2629 0.414408 21.7835 0.414408 21.2526C0.414408 19.8918 0.90132 18.8711 1.88034 18.1907C2.85418 17.5103 4.13363 17.1701 5.71353 17.1701C7.29342 17.1701 8.46929 17.5155 9.43277 18.2113C10.3962 18.9021 10.9091 19.9175 10.9712 21.2526H7.74409C7.68193 20.7474 7.46436 20.3505 7.0914 20.0722C6.71844 19.7938 6.22116 19.6546 5.59957 19.6546C5.02977 19.6546 4.56357 19.768 4.21133 20C3.85909 20.2268 3.67779 20.5309 3.67779 20.9021C3.67779 21.3247 3.89017 21.6289 4.30975 21.8196C4.73451 22.0103 5.52706 22.2371 6.69774 22.4948C7.43329 22.6701 8.03417 22.8402 8.50555 23.0052C8.97693 23.1701 9.45867 23.4124 9.95077 23.7216C10.4429 24.0309 10.8106 24.4278 11.0489 24.9175C11.2924 25.4072 11.4115 25.9897 11.4115 26.6701C11.4115 28.0206 10.8987 29.0773 9.87306 29.8454C8.84742 30.6134 7.53689 30.9948 5.94663 30.9948L5.95182 31ZM22.2118 30.9639C21.1292 30.9639 20.3004 30.6443 19.7202 30.0103C19.1401 29.3711 18.8552 28.5103 18.8552 27.4227V21.1856H21.8751V26.7887C21.8751 27.866 22.3516 28.4021 23.3099 28.4021C23.8331 28.4021 24.2423 28.2268 24.5428 27.8711C24.8432 27.5206 24.9883 27.0567 24.9883 26.4897V21.1804H28.0289V30.6804H25.1178V29.5103H25.0608C24.3408 30.4742 23.3876 30.9588 22.2066 30.9588L22.2118 30.9639ZM35.7523 18.0567V22.2629H35.6953C35.0633 21.3608 34.1724 20.9072 33.0276 20.9072C31.7948 20.9072 30.795 21.3763 30.018 22.3093C29.241 23.2423 28.8525 24.4536 28.8525 25.9381C28.8525 27.5 29.2359 28.7268 30.0077 29.634C30.7795 30.5361 31.7844 30.9897 33.0276 30.9897C34.2708 30.9897 35.2239 30.4639 35.8455 29.4124H35.8818V30.6907H38.7929V18.0619H35.7523V18.0567ZM35.2861 27.8557C34.9235 28.3454 34.4366 28.5876 33.815 28.5876C33.2296 28.5876 32.7686 28.3454 32.4371 27.866C32.1004 27.3814 31.9346 26.7268 31.9346 25.8969C31.9346 25.067 32.1056 24.4227 32.4474 23.9278C32.7893 23.433 33.2607 23.1856 33.8564 23.1856C34.5039 23.1856 34.9908 23.433 35.3275 23.9381C35.6642 24.4381 35.83 25.1031 35.83 25.933C35.83 26.7629 35.6487 27.366 35.2861 27.8557ZM52.5821 29.5515C51.6445 30.5052 50.4168 30.9794 48.8991 30.9794C47.3814 30.9794 46.1537 30.5052 45.2058 29.5515C44.263 28.5979 43.7864 27.3969 43.7864 25.9536C43.7864 24.5103 44.2578 23.3041 45.2058 22.3557C46.1485 21.4021 47.3814 20.9278 48.8991 20.9278C50.4168 20.9278 51.6445 21.4021 52.5821 22.3557C53.5196 23.3093 53.991 24.5103 53.991 25.9536C53.991 27.3969 53.5196 28.6031 52.5821 29.5515ZM47.3865 28.0464C47.7336 28.567 48.2309 28.8247 48.8784 28.8247C49.5259 28.8247 50.0231 28.567 50.3806 28.0464C50.7328 27.5258 50.9141 26.8299 50.9141 25.9485C50.9141 25.067 50.738 24.366 50.3806 23.8402C50.0283 23.3144 49.5259 23.0515 48.8784 23.0515C48.2309 23.0515 47.7336 23.3093 47.3865 23.8299C47.0395 24.3505 46.8633 25.0567 46.8633 25.9433C46.8633 26.8299 47.0395 27.5206 47.3865 28.0412V28.0464ZM38.9535 12.7938C38.9535 10.9588 38.9017 8.7732 38.9017 7.30412C38.9017 7.07217 38.8914 6.84021 38.8603 6.6134C38.6997 5.30412 37.99 4.42784 36.7676 4.04124C35.4933 3.63402 34.1931 3.62887 32.9085 4.00515C31.9916 4.26804 31.2457 4.79897 30.8002 5.69072C30.5982 6.09794 30.4894 6.53608 30.479 7H33.1985C33.2141 6.92784 33.2244 6.86083 33.24 6.79381C33.3125 6.48969 33.4472 6.21134 33.7114 6.04639C34.276 5.70619 34.8769 5.69072 35.4777 5.92784C35.8196 6.06186 36.0165 6.44845 35.9906 6.85052C35.9698 7.22165 35.7316 7.40206 35.4208 7.51546C35.3586 7.54124 35.2964 7.56186 35.2343 7.57732C34.7474 7.6701 34.2656 7.77835 33.7735 7.85052C33.0742 7.95876 32.3697 8.06186 31.7119 8.34536C31.0488 8.63402 30.5101 9.07216 30.2356 9.7732C30.0387 10.2732 30.0077 10.7938 30.0854 11.3247C30.2304 12.3814 30.7899 13.1134 31.7689 13.4948C32.4164 13.7474 33.0898 13.7835 33.7735 13.7217C34.6489 13.6443 35.369 13.2629 35.918 12.5567C35.9491 12.5206 35.9802 12.4845 36.032 12.4227C36.0475 12.4948 36.0579 12.5309 36.0683 12.567C36.1408 12.8402 36.2133 13.1134 36.291 13.3814C36.3169 13.4742 36.3842 13.5052 36.4878 13.5052C37.2648 13.5052 39.4249 13.5052 39.4249 13.5052C39.4249 13.5052 38.9587 13.4227 38.9587 12.7938H38.9535ZM36.0579 10.3041C36.0061 11.0567 35.457 11.634 34.7007 11.7784C34.333 11.8454 33.9652 11.8505 33.6078 11.7371C33.0898 11.5722 32.8774 11.2423 32.9188 10.6392C32.9499 10.2216 33.1934 9.95361 33.556 9.81443C33.9134 9.67526 34.2863 9.56701 34.6489 9.45361C34.8872 9.38144 35.1307 9.32474 35.3638 9.25258C35.5917 9.18041 35.8196 9.08763 36.0631 9C36.0631 9.4433 36.089 9.88144 36.0631 10.3093L36.0579 10.3041ZM19.368 3.89175C19.4405 3.90206 19.513 3.91237 19.513 4.02577C19.513 4.8299 19.513 5.63402 19.513 6.43814C19.513 6.46392 19.5027 6.48454 19.5078 6.48454C19.2281 6.48454 18.9639 6.47938 18.6946 6.48454C17.5498 6.52062 16.7469 7.21134 16.5397 8.35567C16.4879 8.64433 16.462 8.93814 16.462 9.23196C16.4516 10.5825 16.462 11.933 16.462 13.2835V13.4948H13.5042V4.02062H16.3325V5.48454C16.3325 5.48454 16.3636 5.49485 16.3739 5.49485C16.4102 5.4433 16.4465 5.39175 16.4775 5.34021C16.8091 4.81443 17.1924 4.35052 17.7674 4.09278C18.2802 3.86082 18.8189 3.81443 19.3732 3.89175H19.368ZM59.171 0.860825V3.22165H56.2288V0.865979H59.171V0.860825ZM59.171 4.01546V13.5H56.2288V4.02062H59.171V4.01546ZM49.2928 0.860825V5.15979C49.2928 5.15979 49.3187 5.1701 49.329 5.17526C49.3756 5.12887 49.4223 5.08247 49.4637 5.03093C49.8678 4.53093 50.3236 4.09794 50.94 3.91237C52.1107 3.56186 53.2244 3.65464 54.2086 4.46392C54.7939 4.9433 55.1099 5.59278 55.2497 6.33505C55.3119 6.66495 55.3482 7.01031 55.3482 7.35052C55.3585 9.35052 55.3482 11.3505 55.3482 13.3557V13.5052H52.3904V13.3093C52.3904 11.5722 52.3904 9.83505 52.3904 8.09794C52.3904 7.86082 52.3749 7.62371 52.3282 7.39175C52.1936 6.75773 51.8051 6.36598 51.2508 6.28351C50.567 6.18557 49.9973 6.37629 49.6088 6.99484C49.3705 7.37113 49.2876 7.79381 49.2824 8.23196C49.2824 9.92268 49.2824 11.6134 49.2824 13.3093V13.5155H46.3298V0.865979H49.2876L49.2928 0.860825ZM66.9306 4.00515C67.7232 4.00515 68.5209 4.00515 69.3134 4.00515H69.4947C69.3497 4.43814 69.2098 4.86082 69.0648 5.27835C68.1479 7.97423 67.2311 10.6649 66.3194 13.3608C66.2831 13.4742 66.2313 13.5052 66.1174 13.5052C65.1073 13.5052 64.092 13.5052 63.0663 13.5052C61.9941 10.3402 60.9218 7.18041 59.8444 4.01546H62.911C63.5067 6.06701 64.1127 8.12887 64.7188 10.2113C64.7395 10.134 64.755 10.0722 64.7758 10.0103C65.3197 8.13402 65.8687 6.25773 66.4178 4.3866C66.4541 4.26289 66.4592 4.09278 66.5421 4.03093C66.6354 3.96907 66.7959 4.00515 66.9254 4.00515H66.9306ZM43.7916 0.860825V4H45.4751V5.89175H43.7968V8.21134V10.3299C43.7968 10.4175 43.8072 10.5052 43.8123 10.5928C43.8434 10.9072 44.0092 11.1134 44.3096 11.2062C44.6256 11.3093 44.9468 11.2835 45.2731 11.2732C45.3404 11.2732 45.4026 11.2732 45.4803 11.2732V13.4845C45.2317 13.5155 44.9778 13.5619 44.724 13.5825C44.004 13.634 43.2892 13.6546 42.5795 13.4691C41.6005 13.2113 41.0359 12.5361 40.9374 11.5103C40.9167 11.2938 40.9064 11.0773 40.9064 10.8608C40.9064 9.2732 40.9064 7.68557 40.9064 6.09794V5.89175H39.6787V4.01031H40.896V2.04124L43.7968 0.860825H43.7916ZM29.4845 9.4433C29.4845 8.60309 29.3861 7.77835 29.1219 6.97938C28.8111 6.03093 28.3034 5.22165 27.5006 4.62887C26.2677 3.72165 24.8898 3.53093 23.4394 3.87629C21.8595 4.25258 20.7821 5.25258 20.2071 6.79381C19.7409 8.04124 19.7461 9.31443 20.1605 10.5773C20.6112 11.9433 21.497 12.8969 22.8179 13.4227C23.6674 13.7629 24.5583 13.8402 25.4597 13.7474C26.7909 13.6134 27.8994 13.0464 28.723 11.9536C29.0079 11.5773 29.1996 11.1546 29.3032 10.6856C29.2773 10.6753 29.2669 10.6701 29.2566 10.6701C28.3397 10.6701 27.4229 10.6701 26.506 10.6701C26.4594 10.6701 26.392 10.7268 26.3661 10.7784C26.1227 11.2216 25.7601 11.4948 25.2732 11.5773C24.4806 11.7113 23.6726 11.5103 23.2064 10.7732C22.9733 10.3969 22.8386 9.98969 22.7764 9.52577H29.4638C29.4741 9.48454 29.4793 9.46392 29.4793 9.4433H29.4845ZM22.8179 7.73196C22.8179 6.65979 23.6881 5.84536 24.7811 5.87113C25.7031 5.89691 26.5112 6.77835 26.4646 7.73196H22.8179ZM16.0631 18.1031V21.2423H17.7466V23.134H16.0683V25.4536V27.5722C16.0683 27.6598 16.0787 27.7474 16.0839 27.8351C16.1149 28.1495 16.2807 28.3557 16.5811 28.4485C16.8971 28.5515 17.2183 28.5258 17.5446 28.5155C17.612 28.5155 17.6741 28.5155 17.7518 28.5155V30.7268C17.5032 30.7577 17.2494 30.8041 16.9955 30.8247C16.2755 30.8763 15.5607 30.8969 14.851 30.7113C13.872 30.4536 13.3074 29.7784 13.209 28.7526C13.1882 28.5361 13.1779 28.3196 13.1779 28.1031C13.1779 26.5155 13.1779 24.9278 13.1779 23.3402V23.134H11.9502V21.2526H13.1675V19.2835L16.0683 18.1031H16.0631ZM79 9.39175C79 8.48969 78.8757 7.60825 78.5649 6.75773C78.2437 5.88144 77.7361 5.14433 76.9798 4.59794C75.7677 3.7268 74.4157 3.54639 72.9964 3.86598C71.5874 4.18041 70.5463 5.02577 69.9143 6.34536C69.2823 7.6701 69.2202 9.0567 69.6398 10.4536C70.0904 11.9433 71.0487 12.9691 72.5043 13.4845C73.4937 13.8351 74.5089 13.8711 75.5294 13.6649C76.6379 13.4381 77.5548 12.8814 78.2437 11.9588C78.5286 11.5773 78.7254 11.1546 78.829 10.6856C78.8031 10.6804 78.7928 10.6701 78.7773 10.6701C77.8604 10.6701 76.9435 10.6701 76.0267 10.6701C75.9852 10.6701 75.9231 10.7113 75.9024 10.7526C75.5968 11.3351 75.1047 11.5876 74.4779 11.6134C73.1984 11.6649 72.4629 10.8144 72.3126 9.52577H78.9896C78.9896 9.46392 79 9.42784 79 9.39175ZM72.3334 7.7268C72.5095 6.5567 73.1518 5.85052 74.2655 5.87113C75.4206 5.89691 75.949 6.90722 75.9904 7.7268H72.3334ZM42.8748 18.0567V20.4175H39.9325V18.0567H42.8748ZM42.8748 21.2113V30.6959H39.9325V21.2113H42.8748Z\" fill=\"white\"/>\\n</svg>\\n',variants:{alYMjrYwl:{opacity:1},FGdJ26qd3:{opacity:1},pag1uOsmF:{opacity:1}},withExternalLayout:true})]})]})})})})});});const css=['.framer-wN6qA[data-border=\"true\"]::after, .framer-wN6qA [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; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-wN6qA.framer-h4ga9w, .framer-wN6qA .framer-h4ga9w { display: block; }\",\".framer-wN6qA.framer-1rpv99c { height: 45px; overflow: visible; position: relative; text-decoration: none; width: 150px; }\",\".framer-wN6qA .framer-18krhez { bottom: 0px; flex: none; left: 0px; overflow: visible; position: absolute; top: 0px; width: 41px; }\",\".framer-wN6qA .framer-n3a0yr, .framer-wN6qA .framer-608vkz { flex: none; height: 35px; left: 0px; position: absolute; top: calc(48.88888888888891% - 35px / 2); width: 33px; }\",\".framer-wN6qA .framer-1ir11ar { flex: none; height: 30px; left: 45px; overflow: visible; position: absolute; top: calc(48.88888888888891% - 29.555555555555557px / 2); width: 73px; z-index: 1; }\",\".framer-wN6qA .framer-1ym43vw { bottom: 0px; flex: none; left: 0px; position: absolute; right: 0px; top: 0px; }\",\".framer-wN6qA .framer-1ijzlhj { flex: none; height: 28px; left: 0px; position: absolute; top: calc(50.847457627118665% - 28px / 2); width: 72px; }\",\".framer-wN6qA.framer-v-6qsjd9.framer-1rpv99c, .framer-wN6qA.framer-v-1f7ojeu.framer-1rpv99c { width: 35px; }\",\".framer-wN6qA.framer-v-6qsjd9 .framer-1ir11ar, .framer-wN6qA.framer-v-1f7ojeu .framer-1ir11ar { height: 30px; left: 57px; top: calc(48.88888888888891% - 30px / 2); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 45\n * @framerIntrinsicWidth 150\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"FGdJ26qd3\":{\"layout\":[\"fixed\",\"fixed\"]},\"alYMjrYwl\":{\"layout\":[\"fixed\",\"fixed\"]},\"pag1uOsmF\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n */const FramerJuPfa_dGH=withCSS(Component,css,\"framer-wN6qA\");export default FramerJuPfa_dGH;FramerJuPfa_dGH.displayName=\"Logo /black\";FramerJuPfa_dGH.defaultProps={height:45,width:150};addPropertyControls(FramerJuPfa_dGH,{variant:{options:[\"dlSMpevKS\",\"FGdJ26qd3\",\"alYMjrYwl\",\"pag1uOsmF\"],optionTitles:[\"Black\",\"White \",\"Whitie Logo\",\"Black Logo\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerJuPfa_dGH,[]);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerJuPfa_dGH\",\"slots\":[],\"annotations\":{\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"FGdJ26qd3\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"alYMjrYwl\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"pag1uOsmF\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"45\",\"framerIntrinsicWidth\":\"150\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./JuPfa_dGH.map","import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{Children,useEffect,useState,useRef,useMemo,createRef,useCallback,cloneElement}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useAnimationFrame,useReducedMotion,LayoutGroup,useInView,useMotionValue,useTransform,motion,wrap,frame}from\"framer-motion\";import{resize}from\"@motionone/dom\";const MAX_DUPLICATED_ITEMS=100;const directionTransformers={left:offset=>`translateX(-${offset}px)`,right:offset=>`translateX(${offset}px)`,top:offset=>`translateY(-${offset}px)`,bottom:offset=>`translateY(${offset}px)`};const supportsAcceleratedAnimations=typeof Animation!==\"undefined\"&&typeof Animation.prototype.updatePlaybackRate===\"function\";/**\n *\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n *\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */export default function Ticker(props){/* Props */let{slots,gap,padding,paddingPerSide,paddingTop,paddingRight,paddingBottom,paddingLeft,speed,hoverFactor,direction,alignment,sizingOptions,fadeOptions,style}=props;const{fadeContent,overflow,fadeWidth,fadeInset,fadeAlpha}=fadeOptions;const{widthType,heightType}=sizingOptions;const paddingValue=paddingPerSide?`${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`:`${padding}px`;/* Checks */const isCanvas=RenderTarget.current()===RenderTarget.canvas;const numChildren=Children.count(slots);const hasChildren=numChildren>0;if(direction===true){direction=\"left\";}const isHorizontal=direction===\"left\"||direction===\"right\";const offset=useMotionValue(0);const transformer=directionTransformers[direction];const transform=useTransform(offset,transformer);/* Refs and State */const parentRef=useRef(null);const childrenRef=useMemo(()=>{return[/*#__PURE__*/createRef(),/*#__PURE__*/createRef()];},[]);const[size,setSize]=useState({parent:null,children:null});/* Arrays */let clonedChildren=[];let dupedChildren=[];/* Duplicate value */let duplicateBy=0;let opacity=0;if(isCanvas){duplicateBy=numChildren?Math.floor(10/numChildren):0;opacity=1;}if(!isCanvas&&hasChildren&&size.parent){duplicateBy=Math.round(size.parent/size.children*2)+1;duplicateBy=Math.min(duplicateBy,MAX_DUPLICATED_ITEMS);opacity=1;}/* Measure parent and child */const measure=useCallback(()=>{if(hasChildren&&parentRef.current){const parentLength=isHorizontal?parentRef.current.offsetWidth:parentRef.current.offsetHeight;const start=childrenRef[0].current?isHorizontal?childrenRef[0].current.offsetLeft:childrenRef[0].current.offsetTop:0;const end=childrenRef[1].current?isHorizontal?childrenRef[1].current.offsetLeft+childrenRef[1].current.offsetWidth:childrenRef[1].current.offsetTop+childrenRef[1].current.offsetHeight:0;const childrenLength=end-start+gap;setSize({parent:parentLength,children:childrenLength});}},[]);const childrenStyles=isCanvas?{contentVisibility:\"auto\"}:{};/* Add refs to first and last child */if(hasChildren){// TODO: These conditional hooks will be unsafe if hasChildren ever changes outside the canvas.\nif(!isCanvas){/**\n             * Track whether this is the initial resize event. By default this will fire on mount,\n             * which we do in the useEffect. We should only fire it on subsequent resizes.\n             */let initialResize=useRef(true);useEffect(()=>{frame.read(measure);return resize(parentRef.current,({contentSize})=>{if(!initialResize.current&&(contentSize.width||contentSize.height)){frame.read(measure);}initialResize.current=false;});},[]);}clonedChildren=Children.map(slots,(child,index)=>{var _child_props,_child_props1,_child_props2,_child_props3;let ref;if(index===0){ref=childrenRef[0];}if(index===slots.length-1){ref=childrenRef[1];}const size={width:widthType?(_child_props=child.props)===null||_child_props===void 0?void 0:_child_props.width:\"100%\",height:heightType?(_child_props1=child.props)===null||_child_props1===void 0?void 0:_child_props1.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{ref:ref,style:size,children:/*#__PURE__*/cloneElement(child,{style:{...(_child_props2=child.props)===null||_child_props2===void 0?void 0:_child_props2.style,...size,flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-original-\"+index:undefined},(_child_props3=child.props)===null||_child_props3===void 0?void 0:_child_props3.children)})});});}if(!isCanvas){for(let i=0;i<duplicateBy;i++){dupedChildren=[...dupedChildren,...Children.map(slots,(child,childIndex)=>{var _child_props,_child_props1,_child_props2,_child_props3,_child_props4,_child_props5;const size={width:widthType?(_child_props=child.props)===null||_child_props===void 0?void 0:_child_props.width:\"100%\",height:heightType?(_child_props1=child.props)===null||_child_props1===void 0?void 0:_child_props1.height:\"100%\"};return /*#__PURE__*/_jsx(LayoutGroup,{inherit:\"id\",children:/*#__PURE__*/_jsx(\"li\",{style:size,\"aria-hidden\":true,children:/*#__PURE__*/cloneElement(child,{key:i+\" \"+childIndex,style:{...(_child_props2=child.props)===null||_child_props2===void 0?void 0:_child_props2.style,width:widthType?(_child_props3=child.props)===null||_child_props3===void 0?void 0:_child_props3.width:\"100%\",height:heightType?(_child_props4=child.props)===null||_child_props4===void 0?void 0:_child_props4.height:\"100%\",flexShrink:0,...childrenStyles},layoutId:child.props.layoutId?child.props.layoutId+\"-dupe-\"+i:undefined},(_child_props5=child.props)===null||_child_props5===void 0?void 0:_child_props5.children)},i+\"li\"+childIndex)},i+\"lg\"+childIndex);})];}}const animateToValue=size.children+size.children*Math.round(size.parent/size.children);const initialTime=useRef(null);const prevTime=useRef(null);const xOrY=useRef(0);const isHover=useRef(false);const isReducedMotion=useReducedMotion();const listRef=useRef(null);const animationRef=useRef(null);/**\n     * Setup animations\n     */if(!isCanvas){const isInView=useInView(parentRef);/**\n         * If this is an animation we can hardware accelerate, animate with WAAPI\n         */if(supportsAcceleratedAnimations){useEffect(()=>{if(isReducedMotion||!animateToValue||!speed){return;}animationRef.current=listRef.current.animate({transform:[transformer(0),transformer(animateToValue)]},{duration:Math.abs(animateToValue)/speed*1e3,iterations:Infinity,easing:\"linear\"});return()=>animationRef.current.cancel();},[hoverFactor,animateToValue,speed]);}else{/**\n             * If we can't accelerate this animation because we have a hoverFactor defined\n             * animate with a rAF loop.\n             */useAnimationFrame(t=>{if(!animateToValue||isReducedMotion||supportsAcceleratedAnimations){return;}/**\n                 * In case this animation is delayed from starting because we're running a bunch\n                 * of other work, we want to set an initial time rather than counting from 0.\n                 * That ensures that if the animation is delayed, it starts from the first frame\n                 * rather than jumping.\n                 */if(initialTime.current===null){initialTime.current=t;}t=t-initialTime.current;const timeSince=prevTime.current===null?0:t-prevTime.current;let delta=timeSince*(speed/1e3);if(isHover.current){delta*=hoverFactor;}xOrY.current+=delta;xOrY.current=wrap(0,animateToValue,xOrY.current);prevTime.current=t;if(!isInView)return;offset.set(xOrY.current);});}}/* Fades */const fadeDirection=isHorizontal?\"to right\":\"to bottom\";const fadeWidthStart=fadeWidth/2;const fadeWidthEnd=100-fadeWidth/2;const fadeInsetStart=clamp(fadeInset,0,fadeWidthStart);const fadeInsetEnd=100-fadeInset;const fadeMask=`linear-gradient(${fadeDirection}, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetStart}%, rgba(0, 0, 0, 1) ${fadeWidthStart}%, rgba(0, 0, 0, 1) ${fadeWidthEnd}%, rgba(0, 0, 0, ${fadeAlpha}) ${fadeInsetEnd}%)`;/* Empty state */if(!hasChildren){return /*#__PURE__*/_jsxs(\"section\",{style:placeholderStyles,children:[/*#__PURE__*/_jsx(\"div\",{style:emojiStyles,children:\"✨\"}),/*#__PURE__*/_jsx(\"p\",{style:titleStyles,children:\"Connect to Content\"}),/*#__PURE__*/_jsx(\"p\",{style:subtitleStyles,children:\"Add layers or components to infinitely loop on your page.\"})]});}return /*#__PURE__*/_jsx(\"section\",{style:{...containerStyle,opacity:opacity,WebkitMaskImage:fadeContent?fadeMask:undefined,MozMaskImage:fadeContent?fadeMask:undefined,maskImage:fadeContent?fadeMask:undefined,overflow:overflow?\"visible\":\"hidden\",padding:paddingValue},ref:parentRef,children:/*#__PURE__*/_jsxs(motion.ul,{ref:listRef,style:{...containerStyle,gap:gap,top:direction===\"bottom\"&&isValidNumber(animateToValue)?-animateToValue:undefined,left:direction===\"right\"&&isValidNumber(animateToValue)?-animateToValue:undefined,placeItems:alignment,position:\"relative\",flexDirection:isHorizontal?\"row\":\"column\",...style,transform:supportsAcceleratedAnimations?undefined:transform,willChange:isCanvas?\"auto\":\"transform\"},onMouseEnter:()=>{isHover.current=true;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=hoverFactor;}},onMouseLeave:()=>{isHover.current=false;if(animationRef.current){// TODO Replace with updatePlaybackRate when Chrome bugs sorted\nanimationRef.current.playbackRate=1;}},children:[clonedChildren,dupedChildren]})});}/* Default Properties */Ticker.defaultProps={gap:10,padding:10,sizingOptions:{widthType:true,heightType:true},fadeOptions:{fadeContent:true,overflow:false,fadeWidth:25,fadeAlpha:0,fadeInset:0},direction:true};/* Property Controls */addPropertyControls(Ticker,{slots:{type:ControlType.Array,title:\"Children\",control:{type:ControlType.ComponentInstance}},speed:{type:ControlType.Number,title:\"Speed\",min:0,max:1e3,defaultValue:100,unit:\"%\",displayStepper:true,step:5},direction:{type:ControlType.Enum,title:\"Direction\",options:[\"left\",\"right\",\"top\",\"bottom\"],optionIcons:[\"direction-left\",\"direction-right\",\"direction-up\",\"direction-down\"],optionTitles:[\"Left\",\"Right\",\"Top\",\"Bottom\"],defaultValue:\"left\",displaySegmentedControl:true},alignment:{type:ControlType.Enum,title:\"Align\",options:[\"flex-start\",\"center\",\"flex-end\"],optionIcons:{direction:{right:[\"align-top\",\"align-middle\",\"align-bottom\"],left:[\"align-top\",\"align-middle\",\"align-bottom\"],top:[\"align-left\",\"align-center\",\"align-right\"],bottom:[\"align-left\",\"align-center\",\"align-right\"]}},defaultValue:\"center\",displaySegmentedControl:true},gap:{type:ControlType.Number,title:\"Gap\"},padding:{title:\"Padding\",type:ControlType.FusedNumber,toggleKey:\"paddingPerSide\",toggleTitles:[\"Padding\",\"Padding per side\"],valueKeys:[\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"paddingLeft\"],valueLabels:[\"T\",\"R\",\"B\",\"L\"],min:0},sizingOptions:{type:ControlType.Object,title:\"Sizing\",controls:{widthType:{type:ControlType.Boolean,title:\"Width\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true},heightType:{type:ControlType.Boolean,title:\"Height\",enabledTitle:\"Auto\",disabledTitle:\"Stretch\",defaultValue:true}}},fadeOptions:{type:ControlType.Object,title:\"Clipping\",controls:{fadeContent:{type:ControlType.Boolean,title:\"Fade\",defaultValue:true},overflow:{type:ControlType.Boolean,title:\"Overflow\",enabledTitle:\"Show\",disabledTitle:\"Hide\",defaultValue:false,hidden(props){return props.fadeContent===true;}},fadeWidth:{type:ControlType.Number,title:\"Width\",defaultValue:25,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeInset:{type:ControlType.Number,title:\"Inset\",defaultValue:0,min:0,max:100,unit:\"%\",hidden(props){return props.fadeContent===false;}},fadeAlpha:{type:ControlType.Number,title:\"Opacity\",defaultValue:0,min:0,max:1,step:.05,hidden(props){return props.fadeContent===false;}}}},hoverFactor:{type:ControlType.Number,title:\"Hover\",min:0,max:1,unit:\"x\",defaultValue:1,step:.1,displayStepper:true,description:\"Slows down the speed while you are hovering.\"}});/* Placeholder Styles */const containerStyle={display:\"flex\",width:\"100%\",height:\"100%\",maxWidth:\"100%\",maxHeight:\"100%\",placeItems:\"center\",margin:0,padding:0,listStyleType:\"none\",textIndent:\"none\"};/* Styles */const placeholderStyles={display:\"flex\",width:\"100%\",height:\"100%\",placeContent:\"center\",placeItems:\"center\",flexDirection:\"column\",color:\"#96F\",background:\"rgba(136, 85, 255, 0.1)\",fontSize:11,overflow:\"hidden\",padding:\"20px 20px 30px 20px\"};const emojiStyles={fontSize:32,marginBottom:10};const titleStyles={margin:0,marginBottom:10,fontWeight:600,textAlign:\"center\"};const subtitleStyles={margin:0,opacity:.7,maxWidth:150,lineHeight:1.5,textAlign:\"center\"};/* Clamp function, used for fadeInset */const clamp=(num,min,max)=>Math.min(Math.max(num,min),max);const isValidNumber=value=>typeof value===\"number\"&&!isNaN(value);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Ticker\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"200\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Ticker.map","// Generated by Framer (293632e)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,cx,getFonts,Image,Link,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Ticker from\"https://framerusercontent.com/modules/B2xAlJLcN0gOnt11mSPw/qacJMtbrGDTpaTF4eVfx/Ticker.js\";const TickerFonts=getFonts(Ticker);const serializationHash=\"framer-uJxj7\";const variantClassNames={uN4csaRNe:\"framer-v-evn8yt\"};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 transition2={damping:120,delay:0,mass:1,stiffness:300,type:\"spring\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1.1,skewX:0,skewY:0,transition:transition2};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 getProps=({height,id,width,...props})=>{return{...props};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"uN4csaRNe\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);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-evn8yt\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"uN4csaRNe\",ref:refBinding,style:{...style},children:/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1melybc-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"pgLGyEHpv-container\",nodeId:\"pgLGyEHpv\",rendersWithMotion:true,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(Ticker,{alignment:\"center\",direction:\"left\",fadeOptions:{fadeAlpha:0,fadeContent:false,fadeInset:0,fadeWidth:25,overflow:false},gap:32,height:\"100%\",hoverFactor:.5,id:\"pgLGyEHpv\",layoutId:\"pgLGyEHpv\",padding:0,paddingBottom:0,paddingLeft:0,paddingPerSide:false,paddingRight:0,paddingTop:0,sizingOptions:{heightType:true,widthType:true},slots:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"tnaFNuH17\"},motionChild:true,nodeId:\"Bg5L9exeg\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-a9swh7 framer-qmazjx\",\"data-framer-name\":\"Metatime\",layoutDependency:layoutDependency,layoutId:\"Bg5L9exeg\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3387,pixelWidth:3600,sizes:\"400px\",src:\"https://framerusercontent.com/images/TWufiR3FUf3h2IlqRQv9hVGmoQ.png?width=3600&height=3387\",srcSet:\"https://framerusercontent.com/images/TWufiR3FUf3h2IlqRQv9hVGmoQ.png?scale-down-to=512&width=3600&height=3387 512w,https://framerusercontent.com/images/TWufiR3FUf3h2IlqRQv9hVGmoQ.png?scale-down-to=1024&width=3600&height=3387 1024w,https://framerusercontent.com/images/TWufiR3FUf3h2IlqRQv9hVGmoQ.png?scale-down-to=2048&width=3600&height=3387 2048w,https://framerusercontent.com/images/TWufiR3FUf3h2IlqRQv9hVGmoQ.png?width=3600&height=3387 3600w\"},className:\"framer-18s9a27\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"fLBEscXhM\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"TfsZuM8Vt\"},motionChild:true,nodeId:\"EJJvrSE4L\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1vyu4t2 framer-qmazjx\",\"data-framer-name\":\"Papara\",layoutDependency:layoutDependency,layoutId:\"EJJvrSE4L\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/ZnOP3Z2gELuvhoGJHfIYEhyYbQ.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/ZnOP3Z2gELuvhoGJHfIYEhyYbQ.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/ZnOP3Z2gELuvhoGJHfIYEhyYbQ.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/ZnOP3Z2gELuvhoGJHfIYEhyYbQ.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/ZnOP3Z2gELuvhoGJHfIYEhyYbQ.png?width=3200&height=3200 3200w\"},className:\"framer-1cb9g6u\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"X3BocAipF\",style:{transformPerspective:1200},whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"eGH4MMVdj\"},motionChild:true,nodeId:\"DSvYPLtdr\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-n6s7gr framer-qmazjx\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"DSvYPLtdr\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/NmlAUqbynAyEgmlnkxJ5nbAb8.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/NmlAUqbynAyEgmlnkxJ5nbAb8.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/NmlAUqbynAyEgmlnkxJ5nbAb8.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/NmlAUqbynAyEgmlnkxJ5nbAb8.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/NmlAUqbynAyEgmlnkxJ5nbAb8.png?width=3200&height=3200 3200w\"},className:\"framer-1xk0qc6\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"oBYdktTa5\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"MCo0pjGjE\"},motionChild:true,nodeId:\"ebBvg4l3G\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-afs4cv framer-qmazjx\",\"data-framer-name\":\"Hop\",layoutDependency:layoutDependency,layoutId:\"ebBvg4l3G\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/M8XrEWd5aOmm0lYtl8kU0Fo5n4.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/M8XrEWd5aOmm0lYtl8kU0Fo5n4.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/M8XrEWd5aOmm0lYtl8kU0Fo5n4.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/M8XrEWd5aOmm0lYtl8kU0Fo5n4.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/M8XrEWd5aOmm0lYtl8kU0Fo5n4.png?width=3200&height=3200 3200w\"},className:\"framer-1xgvt1b\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"duvaMp_bq\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"hQc2aBIlA\"},motionChild:true,nodeId:\"xOw4iTdjo\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1y8eqkg framer-qmazjx\",\"data-framer-name\":\"Mukellef\",layoutDependency:layoutDependency,layoutId:\"xOw4iTdjo\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3969,pixelWidth:3969,sizes:\"400px\",src:\"https://framerusercontent.com/images/oJZr8k1n6xAusM1IaykZUyJA.png?width=3969&height=3969\",srcSet:\"https://framerusercontent.com/images/oJZr8k1n6xAusM1IaykZUyJA.png?scale-down-to=512&width=3969&height=3969 512w,https://framerusercontent.com/images/oJZr8k1n6xAusM1IaykZUyJA.png?scale-down-to=1024&width=3969&height=3969 1024w,https://framerusercontent.com/images/oJZr8k1n6xAusM1IaykZUyJA.png?scale-down-to=2048&width=3969&height=3969 2048w,https://framerusercontent.com/images/oJZr8k1n6xAusM1IaykZUyJA.png?width=3969&height=3969 3969w\"},className:\"framer-17sivfi\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"atuj5NiUF\",style:{transformPerspective:1200},whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"wFPxU7EG6\"},motionChild:true,nodeId:\"wOn0Rqncg\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-v0ltbs framer-qmazjx\",\"data-framer-name\":\"Hubx\",layoutDependency:layoutDependency,layoutId:\"wOn0Rqncg\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/SMXLt70uWuS9DBSEiXhDJrayXm0.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/SMXLt70uWuS9DBSEiXhDJrayXm0.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/SMXLt70uWuS9DBSEiXhDJrayXm0.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/SMXLt70uWuS9DBSEiXhDJrayXm0.png?width=1260&height=1260 1260w\"},className:\"framer-1baa4o\",\"data-framer-name\":\"Hubx\",layoutDependency:layoutDependency,layoutId:\"gLZg2WhOE\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"g0KSb1Rwq\"},motionChild:true,nodeId:\"jlFyFg55e\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-11sw9xc framer-qmazjx\",\"data-framer-name\":\"Vigo\",layoutDependency:layoutDependency,layoutId:\"jlFyFg55e\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1016,pixelWidth:1060,sizes:\"400px\",src:\"https://framerusercontent.com/images/xx3xxi2AC2KmL0omDUnYBPo1qI.png?width=1060&height=1016\",srcSet:\"https://framerusercontent.com/images/xx3xxi2AC2KmL0omDUnYBPo1qI.png?scale-down-to=512&width=1060&height=1016 512w,https://framerusercontent.com/images/xx3xxi2AC2KmL0omDUnYBPo1qI.png?scale-down-to=1024&width=1060&height=1016 1024w,https://framerusercontent.com/images/xx3xxi2AC2KmL0omDUnYBPo1qI.png?width=1060&height=1016 1060w\"},className:\"framer-48lg3g\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"AFAkI3yO0\",style:{transformPerspective:1200},whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"mSnScqgUY\"},motionChild:true,nodeId:\"TVxC6Pvm4\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1p6mr95 framer-qmazjx\",\"data-framer-name\":\"Printify\",layoutDependency:layoutDependency,layoutId:\"TVxC6Pvm4\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/UMxwIHFlkaIoe92VoOh0xLcrYF4.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/UMxwIHFlkaIoe92VoOh0xLcrYF4.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/UMxwIHFlkaIoe92VoOh0xLcrYF4.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/UMxwIHFlkaIoe92VoOh0xLcrYF4.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/UMxwIHFlkaIoe92VoOh0xLcrYF4.png?width=3200&height=3200 3200w\"},className:\"framer-at0mzk\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"Lt2VpWVEB\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"jwHklGKhH\"},motionChild:true,nodeId:\"jVn91NRSn\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-x82wio framer-qmazjx\",\"data-framer-name\":\"Kolay\",layoutDependency:layoutDependency,layoutId:\"jVn91NRSn\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/j1JtAoXPzag8DU6acDXIhdN9BY.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/j1JtAoXPzag8DU6acDXIhdN9BY.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/j1JtAoXPzag8DU6acDXIhdN9BY.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/j1JtAoXPzag8DU6acDXIhdN9BY.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/j1JtAoXPzag8DU6acDXIhdN9BY.png?width=3200&height=3200 3200w\"},className:\"framer-gefzmh\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"Z0RMjAQUb\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"g9imLehUX\"},motionChild:true,nodeId:\"kPLvcuCTo\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1br8cqq framer-qmazjx\",\"data-framer-name\":\"Getir\",layoutDependency:layoutDependency,layoutId:\"kPLvcuCTo\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/a9uc5tHgewDNVf57iGilRAIjkU.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/a9uc5tHgewDNVf57iGilRAIjkU.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/a9uc5tHgewDNVf57iGilRAIjkU.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/a9uc5tHgewDNVf57iGilRAIjkU.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/a9uc5tHgewDNVf57iGilRAIjkU.png?width=3200&height=3200 3200w\"},className:\"framer-83421n\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"BqgU3P2of\",whileHover:animation})})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-17efxz9\",\"data-framer-name\":\"Blindlook\",layoutDependency:layoutDependency,layoutId:\"h7WsroBGz\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/xoPQbrK6iQ7R7P8tbmG2vbGKZl4.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/xoPQbrK6iQ7R7P8tbmG2vbGKZl4.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/xoPQbrK6iQ7R7P8tbmG2vbGKZl4.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/xoPQbrK6iQ7R7P8tbmG2vbGKZl4.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/xoPQbrK6iQ7R7P8tbmG2vbGKZl4.png?width=3200&height=3200 3200w\"},className:\"framer-15mj31r\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"VNOC_cv9u\",whileHover:animation})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"aA4TwQ14h\"},motionChild:true,nodeId:\"BPG81bxAb\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1gj8afl framer-qmazjx\",\"data-framer-name\":\"Coinpara\",layoutDependency:layoutDependency,layoutId:\"BPG81bxAb\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/VlBF4ZIPRiZ2ZW7bOvXYxshCQ.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/VlBF4ZIPRiZ2ZW7bOvXYxshCQ.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/VlBF4ZIPRiZ2ZW7bOvXYxshCQ.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/VlBF4ZIPRiZ2ZW7bOvXYxshCQ.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/VlBF4ZIPRiZ2ZW7bOvXYxshCQ.png?width=3200&height=3200 3200w\"},className:\"framer-1ssfi5u\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"VfIIlvMMl\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ow8fEioar\"},motionChild:true,nodeId:\"pW3ZowYp_\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-ka6ojp framer-qmazjx\",\"data-framer-name\":\"Gardrops\",layoutDependency:layoutDependency,layoutId:\"pW3ZowYp_\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/0DEGXOzvc1LfEXoyiunpaGfPQ.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/0DEGXOzvc1LfEXoyiunpaGfPQ.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/0DEGXOzvc1LfEXoyiunpaGfPQ.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/0DEGXOzvc1LfEXoyiunpaGfPQ.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/0DEGXOzvc1LfEXoyiunpaGfPQ.png?width=3200&height=3200 3200w\"},className:\"framer-k5j8hc\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"u8t93Wcxj\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"nOWHqnPTS\"},motionChild:true,nodeId:\"v4LGjXHIj\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1s3c4iw framer-qmazjx\",\"data-framer-name\":\"Codeway\",layoutDependency:layoutDependency,layoutId:\"v4LGjXHIj\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:2520,pixelWidth:2520,sizes:\"400px\",src:\"https://framerusercontent.com/images/3HR1S3rsqBtttU9pMqDdyKqMLEc.png?width=2520&height=2520\",srcSet:\"https://framerusercontent.com/images/3HR1S3rsqBtttU9pMqDdyKqMLEc.png?scale-down-to=512&width=2520&height=2520 512w,https://framerusercontent.com/images/3HR1S3rsqBtttU9pMqDdyKqMLEc.png?scale-down-to=1024&width=2520&height=2520 1024w,https://framerusercontent.com/images/3HR1S3rsqBtttU9pMqDdyKqMLEc.png?scale-down-to=2048&width=2520&height=2520 2048w,https://framerusercontent.com/images/3HR1S3rsqBtttU9pMqDdyKqMLEc.png?width=2520&height=2520 2520w\"},className:\"framer-16i65kj\",\"data-framer-name\":\"image 1749\",layoutDependency:layoutDependency,layoutId:\"srWnuD4bs\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QTODQOTql\"},motionChild:true,nodeId:\"aV1XbFtGX\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1s82ufc framer-qmazjx\",\"data-framer-name\":\"Zeo\",layoutDependency:layoutDependency,layoutId:\"aV1XbFtGX\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/3HZ0zx7wlbXsVpt9Q1k5TCiTWAQ.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/3HZ0zx7wlbXsVpt9Q1k5TCiTWAQ.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/3HZ0zx7wlbXsVpt9Q1k5TCiTWAQ.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/3HZ0zx7wlbXsVpt9Q1k5TCiTWAQ.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/3HZ0zx7wlbXsVpt9Q1k5TCiTWAQ.png?width=3200&height=3200 3200w\"},className:\"framer-7nesgl\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"z2tJUeHeL\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"DkJjSyIzE\"},motionChild:true,nodeId:\"qBX_zcUIp\",scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1274i0g framer-qmazjx\",\"data-framer-name\":\"Evreka\",layoutDependency:layoutDependency,layoutId:\"qBX_zcUIp\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:3200,pixelWidth:3200,sizes:\"400px\",src:\"https://framerusercontent.com/images/iIDxwQYjS0warASPDKhKycFxwQ.png?width=3200&height=3200\",srcSet:\"https://framerusercontent.com/images/iIDxwQYjS0warASPDKhKycFxwQ.png?scale-down-to=512&width=3200&height=3200 512w,https://framerusercontent.com/images/iIDxwQYjS0warASPDKhKycFxwQ.png?scale-down-to=1024&width=3200&height=3200 1024w,https://framerusercontent.com/images/iIDxwQYjS0warASPDKhKycFxwQ.png?scale-down-to=2048&width=3200&height=3200 2048w,https://framerusercontent.com/images/iIDxwQYjS0warASPDKhKycFxwQ.png?width=3200&height=3200 3200w\"},className:\"framer-14chkyy\",\"data-framer-name\":\"Simpra\",layoutDependency:layoutDependency,layoutId:\"maEbT8c1M\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"ZL8f_p6pM\"},motionChild:true,nodeId:\"MweIHmYuv\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1nrlx5p framer-qmazjx\",\"data-framer-name\":\"Amerika Postam\",layoutDependency:layoutDependency,layoutId:\"MweIHmYuv\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fit\",pixelHeight:2520,pixelWidth:2520,positionX:\"center\",positionY:\"center\",sizes:\"400px\",src:\"https://framerusercontent.com/images/sb9jqZpvhRYDxJVGqhS81efffXM.png?width=2520&height=2520\",srcSet:\"https://framerusercontent.com/images/sb9jqZpvhRYDxJVGqhS81efffXM.png?scale-down-to=512&width=2520&height=2520 512w,https://framerusercontent.com/images/sb9jqZpvhRYDxJVGqhS81efffXM.png?scale-down-to=1024&width=2520&height=2520 1024w,https://framerusercontent.com/images/sb9jqZpvhRYDxJVGqhS81efffXM.png?scale-down-to=2048&width=2520&height=2520 2048w,https://framerusercontent.com/images/sb9jqZpvhRYDxJVGqhS81efffXM.png?width=2520&height=2520 2520w\"},className:\"framer-1gellqu\",\"data-framer-name\":\"Amerika Postam - 8\",layoutDependency:layoutDependency,layoutId:\"u4oOaMH4b\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bMfdfavP6\"},motionChild:true,nodeId:\"VNCYO2FvT\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1pv93qj framer-qmazjx\",\"data-framer-name\":\"Houdiniswap\",layoutDependency:layoutDependency,layoutId:\"VNCYO2FvT\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/g30PTlzx7a7R8JEPW4ZaPBGC4m8.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/g30PTlzx7a7R8JEPW4ZaPBGC4m8.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/g30PTlzx7a7R8JEPW4ZaPBGC4m8.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/g30PTlzx7a7R8JEPW4ZaPBGC4m8.png?width=1260&height=1260 1260w\"},className:\"framer-135p0vb\",\"data-framer-name\":\"Houdiniswap\",layoutDependency:layoutDependency,layoutId:\"NMpG7lWWX\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"GfOsLHs03\"},motionChild:true,nodeId:\"Nq3GHOT5a\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-k54ta9 framer-qmazjx\",\"data-framer-name\":\"Search'nStuff\",layoutDependency:layoutDependency,layoutId:\"Nq3GHOT5a\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:2731,pixelWidth:4096,sizes:\"400px\",src:\"https://framerusercontent.com/images/lS4oY0wFvwfVuU3eT1Tg1ZjbE.jpg?width=4096&height=2731\",srcSet:\"https://framerusercontent.com/images/lS4oY0wFvwfVuU3eT1Tg1ZjbE.jpg?scale-down-to=512&width=4096&height=2731 512w,https://framerusercontent.com/images/lS4oY0wFvwfVuU3eT1Tg1ZjbE.jpg?scale-down-to=1024&width=4096&height=2731 1024w,https://framerusercontent.com/images/lS4oY0wFvwfVuU3eT1Tg1ZjbE.jpg?scale-down-to=2048&width=4096&height=2731 2048w,https://framerusercontent.com/images/lS4oY0wFvwfVuU3eT1Tg1ZjbE.jpg?width=4096&height=2731 4096w\"},className:\"framer-gql9e0\",\"data-framer-name\":\"Stand Board Mockup copy 1\",layoutDependency:layoutDependency,layoutId:\"P8wFggF5r\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"DubkYwG5e\"},motionChild:true,nodeId:\"IWbU8JOgQ\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1md004o framer-qmazjx\",\"data-framer-name\":\"Forms.app\",layoutDependency:layoutDependency,layoutId:\"IWbU8JOgQ\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:1383,pixelWidth:984,sizes:\"400px\",src:\"https://framerusercontent.com/images/8a0XI0nX59OErgGE9Tb316BAnM.png?width=984&height=1383\",srcSet:\"https://framerusercontent.com/images/8a0XI0nX59OErgGE9Tb316BAnM.png?scale-down-to=1024&width=984&height=1383 728w,https://framerusercontent.com/images/8a0XI0nX59OErgGE9Tb316BAnM.png?width=984&height=1383 984w\"},className:\"framer-1lbapqr\",\"data-framer-name\":\"Dribbble 10\",layoutDependency:layoutDependency,layoutId:\"VaZLrarc3\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"N7p45qjGe\"},motionChild:true,nodeId:\"wqcEQkeRF\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-cn4kw1 framer-qmazjx\",\"data-framer-name\":\"Cyberpunk City\",layoutDependency:layoutDependency,layoutId:\"wqcEQkeRF\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/wGwXoGuD7SNNjQssJCHGk1RLvnk.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/wGwXoGuD7SNNjQssJCHGk1RLvnk.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/wGwXoGuD7SNNjQssJCHGk1RLvnk.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/wGwXoGuD7SNNjQssJCHGk1RLvnk.png?width=1260&height=1260 1260w\"},className:\"framer-1ci577h\",\"data-framer-name\":\"Cyberpunk City\",layoutDependency:layoutDependency,layoutId:\"Mr0tXbK23\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"UJqeHUdRt\"},motionChild:true,nodeId:\"qRfglfUpp\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-ldjtja framer-qmazjx\",\"data-framer-name\":\"Apex\",layoutDependency:layoutDependency,layoutId:\"qRfglfUpp\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/4TbXDcIwV6xDjIjCn33HgDpFCE.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/4TbXDcIwV6xDjIjCn33HgDpFCE.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/4TbXDcIwV6xDjIjCn33HgDpFCE.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/4TbXDcIwV6xDjIjCn33HgDpFCE.png?width=1260&height=1260 1260w\"},className:\"framer-1sjikns\",\"data-framer-name\":\"Apex\",layoutDependency:layoutDependency,layoutId:\"zChZQKEu3\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"LqH4MLkf2\"},motionChild:true,nodeId:\"E8g2cjLMn\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-17fv7r1 framer-qmazjx\",\"data-framer-name\":\"Yuppo\",layoutDependency:layoutDependency,layoutId:\"E8g2cjLMn\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/M9RBoIM9kQkizRvPZzKcJqBvi0.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/M9RBoIM9kQkizRvPZzKcJqBvi0.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/M9RBoIM9kQkizRvPZzKcJqBvi0.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/M9RBoIM9kQkizRvPZzKcJqBvi0.png?width=1260&height=1260 1260w\"},className:\"framer-my4xrd\",\"data-framer-name\":\"Yuppo\",layoutDependency:layoutDependency,layoutId:\"ypRuTYcpJ\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"eT2d8asxE\"},motionChild:true,nodeId:\"TrHXHaw2W\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-18eo2vo framer-qmazjx\",\"data-framer-name\":\"Easycep\",layoutDependency:layoutDependency,layoutId:\"TrHXHaw2W\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/wDZVAoePj5QdvSYqhBRcQefkx7M.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/wDZVAoePj5QdvSYqhBRcQefkx7M.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/wDZVAoePj5QdvSYqhBRcQefkx7M.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/wDZVAoePj5QdvSYqhBRcQefkx7M.png?width=1260&height=1260 1260w\"},className:\"framer-1eoxaml\",\"data-framer-name\":\"Easycep\",layoutDependency:layoutDependency,layoutId:\"TJV1dfUOc\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"sIyvOzGMS\"},motionChild:true,nodeId:\"lNoXLqjXz\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-z4ni0o framer-qmazjx\",\"data-framer-name\":\"Tazecicek\",layoutDependency:layoutDependency,layoutId:\"lNoXLqjXz\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:630,intrinsicWidth:630,pixelHeight:1260,pixelWidth:1260,sizes:\"400px\",src:\"https://framerusercontent.com/images/vqjVPgYsxikjwfgbkKTMSr55HU.png?width=1260&height=1260\",srcSet:\"https://framerusercontent.com/images/vqjVPgYsxikjwfgbkKTMSr55HU.png?scale-down-to=512&width=1260&height=1260 512w,https://framerusercontent.com/images/vqjVPgYsxikjwfgbkKTMSr55HU.png?scale-down-to=1024&width=1260&height=1260 1024w,https://framerusercontent.com/images/vqjVPgYsxikjwfgbkKTMSr55HU.png?width=1260&height=1260 1260w\"},className:\"framer-2q0v3u\",\"data-framer-name\":\"Tazecicek\",layoutDependency:layoutDependency,layoutId:\"cUp5GNSW2\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"fYEtVKVLE\"},motionChild:true,nodeId:\"W3rOrStAJ\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1ykksj6 framer-qmazjx\",\"data-framer-name\":\"Ek\\xfcri\",layoutDependency:layoutDependency,layoutId:\"W3rOrStAJ\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:2520,pixelWidth:2520,sizes:\"400px\",src:\"https://framerusercontent.com/images/NXRVkIaSxSPZfP5ZiMHjpywKSA.png?width=2520&height=2520\",srcSet:\"https://framerusercontent.com/images/NXRVkIaSxSPZfP5ZiMHjpywKSA.png?scale-down-to=512&width=2520&height=2520 512w,https://framerusercontent.com/images/NXRVkIaSxSPZfP5ZiMHjpywKSA.png?scale-down-to=1024&width=2520&height=2520 1024w,https://framerusercontent.com/images/NXRVkIaSxSPZfP5ZiMHjpywKSA.png?scale-down-to=2048&width=2520&height=2520 2048w,https://framerusercontent.com/images/NXRVkIaSxSPZfP5ZiMHjpywKSA.png?width=2520&height=2520 2520w\"},className:\"framer-1pjbk1a\",\"data-framer-name\":\"image 1749\",layoutDependency:layoutDependency,layoutId:\"TPLEEVxK5\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QIS2IMBgD\"},motionChild:true,nodeId:\"Bdu04zaWW\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1qbffbq framer-qmazjx\",\"data-framer-name\":\"Ideasoft\",layoutDependency:layoutDependency,layoutId:\"Bdu04zaWW\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:2520,pixelWidth:2520,sizes:\"400px\",src:\"https://framerusercontent.com/images/sYAccZXnjkb4XTHuEpJmbxtcyXg.png?width=2520&height=2520\",srcSet:\"https://framerusercontent.com/images/sYAccZXnjkb4XTHuEpJmbxtcyXg.png?scale-down-to=512&width=2520&height=2520 512w,https://framerusercontent.com/images/sYAccZXnjkb4XTHuEpJmbxtcyXg.png?scale-down-to=1024&width=2520&height=2520 1024w,https://framerusercontent.com/images/sYAccZXnjkb4XTHuEpJmbxtcyXg.png?scale-down-to=2048&width=2520&height=2520 2048w,https://framerusercontent.com/images/sYAccZXnjkb4XTHuEpJmbxtcyXg.png?width=2520&height=2520 2520w\"},className:\"framer-qc4s2o\",\"data-framer-name\":\"image 1749\",layoutDependency:layoutDependency,layoutId:\"zLl6mXUNu\",whileHover:animation})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"e11ZpoAgr\"},motionChild:true,nodeId:\"PjkOS0F1_\",openInNewTab:false,scopeId:\"ue4r52X5Q\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1jgbhpc framer-qmazjx\",\"data-framer-name\":\"Pera\",layoutDependency:layoutDependency,layoutId:\"PjkOS0F1_\",style:{backgroundColor:\"rgb(255, 255, 255)\"},children:/*#__PURE__*/_jsx(Image,{background:{alt:\"\",fit:\"fill\",pixelHeight:630,pixelWidth:630,sizes:\"400px\",src:\"https://framerusercontent.com/images/ahthZul71zTLIssJV4id9cqUDHs.png?width=630&height=630\",srcSet:\"https://framerusercontent.com/images/ahthZul71zTLIssJV4id9cqUDHs.png?scale-down-to=512&width=630&height=630 512w,https://framerusercontent.com/images/ahthZul71zTLIssJV4id9cqUDHs.png?width=630&height=630 630w\"},className:\"framer-13jjr8c\",\"data-framer-name\":\"image 1752\",layoutDependency:layoutDependency,layoutId:\"T7KwJ6ZrL\",whileHover:animation})})})],speed:100,style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-uJxj7.framer-qmazjx, .framer-uJxj7 .framer-qmazjx { display: block; }\",\".framer-uJxj7.framer-evn8yt { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: min-content; }\",\".framer-uJxj7 .framer-1melybc-container { flex: none; height: 400px; position: relative; width: 3875px; }\",\".framer-uJxj7 .framer-a9swh7, .framer-uJxj7 .framer-1vyu4t2, .framer-uJxj7 .framer-n6s7gr, .framer-uJxj7 .framer-afs4cv, .framer-uJxj7 .framer-1y8eqkg, .framer-uJxj7 .framer-v0ltbs, .framer-uJxj7 .framer-11sw9xc, .framer-uJxj7 .framer-1p6mr95, .framer-uJxj7 .framer-x82wio, .framer-uJxj7 .framer-1br8cqq, .framer-uJxj7 .framer-1gj8afl, .framer-uJxj7 .framer-ka6ojp, .framer-uJxj7 .framer-1s3c4iw, .framer-uJxj7 .framer-1s82ufc, .framer-uJxj7 .framer-1274i0g, .framer-uJxj7 .framer-1nrlx5p, .framer-uJxj7 .framer-1pv93qj, .framer-uJxj7 .framer-k54ta9, .framer-uJxj7 .framer-1md004o, .framer-uJxj7 .framer-cn4kw1, .framer-uJxj7 .framer-ldjtja, .framer-uJxj7 .framer-17fv7r1, .framer-uJxj7 .framer-18eo2vo, .framer-uJxj7 .framer-z4ni0o, .framer-uJxj7 .framer-1ykksj6, .framer-uJxj7 .framer-1qbffbq, .framer-uJxj7 .framer-1jgbhpc { height: 400px; overflow: hidden; position: relative; text-decoration: none; width: 400px; }\",\".framer-uJxj7 .framer-18s9a27, .framer-uJxj7 .framer-1cb9g6u, .framer-uJxj7 .framer-1xk0qc6, .framer-uJxj7 .framer-1xgvt1b, .framer-uJxj7 .framer-17sivfi, .framer-uJxj7 .framer-48lg3g, .framer-uJxj7 .framer-at0mzk, .framer-uJxj7 .framer-gefzmh, .framer-uJxj7 .framer-83421n, .framer-uJxj7 .framer-15mj31r, .framer-uJxj7 .framer-1ssfi5u, .framer-uJxj7 .framer-k5j8hc, .framer-uJxj7 .framer-7nesgl, .framer-uJxj7 .framer-14chkyy, .framer-uJxj7 .framer-gql9e0, .framer-uJxj7 .framer-13jjr8c { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 400px); left: 0px; position: absolute; right: 0px; top: 0px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-uJxj7 .framer-1baa4o { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 400px); left: 0px; overflow: visible; position: absolute; right: 0px; top: 0px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-uJxj7 .framer-17efxz9 { height: 400px; overflow: hidden; position: relative; width: 400px; }\",\".framer-uJxj7 .framer-16i65kj, .framer-uJxj7 .framer-1gellqu, .framer-uJxj7 .framer-1pjbk1a, .framer-uJxj7 .framer-qc4s2o { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 400px); left: 0px; position: absolute; top: 0px; width: 400px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-uJxj7 .framer-135p0vb, .framer-uJxj7 .framer-1ci577h, .framer-uJxj7 .framer-1sjikns, .framer-uJxj7 .framer-my4xrd, .framer-uJxj7 .framer-1eoxaml, .framer-uJxj7 .framer-2q0v3u { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 400px); left: 0px; overflow: visible; position: absolute; top: 0px; width: 400px; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-uJxj7 .framer-1lbapqr { flex: none; gap: 0px; height: 400px; left: 0px; overflow: hidden; position: absolute; top: 0px; width: 400px; will-change: var(--framer-will-change-effect-override, transform); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 400\n * @framerIntrinsicWidth 3875\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerue4r52X5Q=withCSS(Component,css,\"framer-uJxj7\");export default Framerue4r52X5Q;Framerue4r52X5Q.displayName=\"All Works 2\";Framerue4r52X5Q.defaultProps={height:400,width:3875};addFonts(Framerue4r52X5Q,[{explicitInter:true,fonts:[]},...TickerFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerue4r52X5Q\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicWidth\":\"3875\",\"framerComponentViewportWidth\":\"true\",\"framerContractVersion\":\"1\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicHeight\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ue4r52X5Q.map","// Generated by Framer (f21d278)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,RichText,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle from\"https://framerusercontent.com/modules/a0uNmFnVF02YwMu3gNnh/og5QVbNpNdPTJnQktvvI/vbjST14C8.js\";const cycleOrder=[\"G7F_QnOlR\",\"ZdjYj04it\"];const serializationHash=\"framer-XRwFm\";const variantClassNames={G7F_QnOlR:\"framer-v-w3mai4\",ZdjYj04it:\"framer-v-424e8b\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const ni5eyo99u=undefined;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 humanReadableVariantMap={\"Label /Black\":\"G7F_QnOlR\",\"Label /White\":\"ZdjYj04it\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,serviceName,width,...props})=>{return{...props,ni5eyo99u:serviceName??props.ni5eyo99u??\"Branding\",variant:humanReadableVariantMap[props.variant]??props.variant??\"G7F_QnOlR\"};};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,ni5eyo99u,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"G7F_QnOlR\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);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-w3mai4\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Label /Black\",layoutDependency:layoutDependency,layoutId:\"G7F_QnOlR\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(0, 0, 0)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",...style},variants:{ZdjYj04it:{\"--border-color\":\"rgba(255, 255, 255, 0.8)\"}},...addPropertyOverrides({ZdjYj04it:{\"data-framer-name\":\"Label /White\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:\"text\"})}),className:\"framer-1tzxpl6\",\"data-framer-name\":\"Text\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ECyRZmj12\",text:ni5eyo99u,variants:{ZdjYj04it:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({ZdjYj04it:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:\"Branding\"})})}},baseVariant,gestureVariant)})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-XRwFm.framer-1szf160, .framer-XRwFm .framer-1szf160 { display: block; }\",\".framer-XRwFm.framer-w3mai4 { align-content: flex-start; align-items: flex-start; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 4px 0px 4px 0px; position: relative; width: min-content; }\",\".framer-XRwFm .framer-1tzxpl6 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",...sharedStyle.css,'.framer-XRwFm[data-border=\"true\"]::after, .framer-XRwFm [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 27\n * @framerIntrinsicWidth 65.5\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"ZdjYj04it\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerVariables {\"ni5eyo99u\":\"serviceName\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerwScdves00=withCSS(Component,css,\"framer-XRwFm\");export default FramerwScdves00;FramerwScdves00.displayName=\"Tag#\";FramerwScdves00.defaultProps={height:27,width:65.5};addPropertyControls(FramerwScdves00,{variant:{options:[\"G7F_QnOlR\",\"ZdjYj04it\"],optionTitles:[\"Label /Black\",\"Label /White\"],title:\"Variant\",type:ControlType.Enum},ni5eyo99u:{defaultValue:\"Branding\",displayTextArea:false,placeholder:\"\",title:\"Service Name\",type:ControlType.String}});addFonts(FramerwScdves00,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerwScdves00\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"65.5\",\"framerComponentViewportWidth\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerContractVersion\":\"1\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"ZdjYj04it\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerVariables\":\"{\\\"ni5eyo99u\\\":\\\"serviceName\\\"}\",\"framerIntrinsicHeight\":\"27\",\"framerImmutableVariables\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./wScdves00.map","// Generated by Framer (deac62f)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,getFontsFromSharedStyle,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\";import*as sharedStyle from\"https://framerusercontent.com/modules/a0uNmFnVF02YwMu3gNnh/og5QVbNpNdPTJnQktvvI/vbjST14C8.js\";const cycleOrder=[\"KWtjzAn9Q\",\"H7TEu4b6z\"];const serializationHash=\"framer-7FNR1\";const variantClassNames={H7TEu4b6z:\"framer-v-gzzdr9\",KWtjzAn9Q:\"framer-v-1ispk8w\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const gl1HWoEIG=undefined;const rY28fpWbp=undefined;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 humanReadableVariantMap={\"Variant 1\":\"KWtjzAn9Q\",\"Variant 2\":\"H7TEu4b6z\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,tap,title,width,...props})=>{return{...props,gl1HWoEIG:tap??props.gl1HWoEIG,rY28fpWbp:title??props.rY28fpWbp??\"Schedule a call\",variant:humanReadableVariantMap[props.variant]??props.variant??\"KWtjzAn9Q\"};};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,rY28fpWbp,gl1HWoEIG,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"KWtjzAn9Q\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTap1k35ynx=activeVariantCallback(async(...args)=>{setGestureState({isPressed:false});if(gl1HWoEIG){const res=await gl1HWoEIG(...args);if(res===false)return false;}});const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(baseVariant===\"H7TEu4b6z\")return true;return false;};const isDisplayed1=()=>{if(baseVariant===\"H7TEu4b6z\")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(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-1ispk8w\",className,classNames),\"data-border\":true,\"data-framer-name\":\"Variant 1\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"KWtjzAn9Q\",onTap:onTap1k35ynx,ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(0, 0, 0)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgba(0, 0, 0, 0)\",borderBottomLeftRadius:50,borderBottomRightRadius:50,borderTopLeftRadius:50,borderTopRightRadius:50,...style},variants:{H7TEu4b6z:{\"--border-color\":\"rgb(255, 255, 255)\",backgroundColor:\"rgba(255, 255, 255, 0)\"}},...addPropertyOverrides({H7TEu4b6z:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1io3ki1\",layoutDependency:layoutDependency,layoutId:\"uGNN6vrq9\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(0, 0, 0))\"},children:\"Schedule a call\"})}),className:\"framer-15cd9cf\",\"data-framer-name\":\"Schedule a call\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"Wi1p8Dl8S\",style:{\"--extracted-a0htzi\":\"rgb(0, 0, 0)\"},text:rY28fpWbp,variants:{H7TEu4b6z:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({H7TEu4b6z:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",dir:\"auto\",style:{\"--framer-text-alignment\":\"left\",\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:\"Schedule a call\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1qjsny4\",\"data-framer-name\":\"Arrow\",layoutDependency:layoutDependency,layoutId:\"ldD96HhIg\",children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1u0gcg6\",\"data-framer-name\":\"icon\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:20,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"wj5dg9MMI\",svg:'<svg width=\"19\" height=\"20\" viewBox=\"0 0 19 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_3_17876)\">\\n<rect x=\"19\" y=\"19.25\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.25)\" fill=\"white\"/>\\n<path d=\"M11.875 6.97925L7.125 11.7292\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M11.875 10.9375V6.97917\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M7.91667 6.97925H11.875\" stroke=\"black\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_3_17876\">\\n<rect x=\"19\" y=\"19.25\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.25)\" fill=\"white\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1h1pweq\",\"data-framer-name\":\"arrows-diagrams-16 1\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:20,intrinsicWidth:19,layoutDependency:layoutDependency,layoutId:\"PIJjigs5U\",svg:'<svg width=\"19\" height=\"20\" viewBox=\"0 0 19 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_90_19148)\">\\n<rect x=\"19\" y=\"19.125\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.125)\" fill=\"black\"/>\\n<path d=\"M11.875 6.85449L7.125 11.6045\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M11.875 10.8125V6.85417\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n<path d=\"M7.91667 6.85449H11.875\" stroke=\"white\" stroke-width=\"1.1875\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_90_19148\">\\n<rect x=\"19\" y=\"19.125\" width=\"19\" height=\"19\" rx=\"9.5\" transform=\"rotate(180 19 19.125)\" fill=\"white\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-7FNR1.framer-14dcfrd, .framer-7FNR1 .framer-14dcfrd { display: block; }\",\".framer-7FNR1.framer-1ispk8w { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-start; overflow: visible; padding: 8px 8px 8px 16px; position: relative; width: 231px; }\",\".framer-7FNR1 .framer-1io3ki1 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: row; flex-wrap: nowrap; height: 28px; justify-content: space-between; overflow: visible; padding: 0px; position: relative; width: 1px; }\",\".framer-7FNR1 .framer-15cd9cf { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-7FNR1 .framer-1qjsny4 { flex: none; height: 20px; overflow: hidden; position: relative; width: 20px; }\",\".framer-7FNR1 .framer-1u0gcg6 { bottom: 0px; flex: none; left: calc(50.00000000000002% - 19px / 2); position: absolute; top: 0px; width: 19px; }\",\".framer-7FNR1 .framer-1h1pweq { flex: none; height: 20px; left: 0px; position: absolute; top: 0px; width: 19px; }\",...sharedStyle.css,'.framer-7FNR1[data-border=\"true\"]::after, .framer-7FNR1 [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; corner-shape: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 44\n * @framerIntrinsicWidth 231\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"H7TEu4b6z\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerVariables {\"rY28fpWbp\":\"title\",\"gl1HWoEIG\":\"tap\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerCPwpMpSoA=withCSS(Component,css,\"framer-7FNR1\");export default FramerCPwpMpSoA;FramerCPwpMpSoA.displayName=\"Button /L 2\";FramerCPwpMpSoA.defaultProps={height:44,width:231};addPropertyControls(FramerCPwpMpSoA,{variant:{options:[\"KWtjzAn9Q\",\"H7TEu4b6z\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},rY28fpWbp:{defaultValue:\"Schedule a call\",displayTextArea:false,title:\"Title\",type:ControlType.String},gl1HWoEIG:{title:\"Tap\",type:ControlType.EventHandler}});addFonts(FramerCPwpMpSoA,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerCPwpMpSoA\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerIntrinsicHeight\":\"44\",\"framerColorSyntax\":\"true\",\"framerVariables\":\"{\\\"rY28fpWbp\\\":\\\"title\\\",\\\"gl1HWoEIG\\\":\\\"tap\\\"}\",\"framerIntrinsicWidth\":\"231\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"H7TEu4b6z\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CPwpMpSoA.map","// Generated by Framer (deac62f)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useActiveVariantCallback,useComponentViewport,useLocaleInfo,useVariantState,withCSS,withFX,withOptimizedAppearEffect,withVariantAppearEffect}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/2fo2XCEUWZFNARSnV0jK/H4134AC68vrZSnx1DwQ5/IShA3RGIz.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/VGd4OTJdnbmpfzxGPs8f/xi5CIU7Q1QkFPEGoRTRh/jvAkdYGfq.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/a9ZuZpni3F3ziHoTQTUK/09UYik9KszfmqD75jA8J/Qa5xKvxsK.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/a0uNmFnVF02YwMu3gNnh/og5QVbNpNdPTJnQktvvI/vbjST14C8.js\";import ButtonL2 from\"https://framerusercontent.com/modules/OUgRhniaQIb3xW5bBvqm/gu1X2dsDWgQgK06vHfWs/CPwpMpSoA.js\";import LogoBlack from\"https://framerusercontent.com/modules/0TDbNHzDrYalxCyaU7Hz/HtDELt6W1QtWQvFABcBr/JuPfa_dGH.js\";const LogoBlackFonts=getFonts(LogoBlack);const LogoBlackWithVariantAppearEffect=withVariantAppearEffect(LogoBlack);const ButtonL2Fonts=getFonts(ButtonL2);const RichTextWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(RichText));const MotionDivWithFXWithOptimizedAppearEffect=withOptimizedAppearEffect(withFX(motion.div));const cycleOrder=[\"ictNJ79U7\",\"HUnzPEV3Y\",\"VOmaAiEUs\",\"wZ_FoluUO\",\"sQu1duQyv\",\"CGihyJFOl\",\"VxaKLupmR\",\"ggIkCe9YC\",\"CsLXGXLmx\",\"h8KcmuCem\",\"yA5JsEdqu\",\"AF79cnjo5\",\"veCl5bwrN\",\"WW2TaeGuY\",\"mMbo5JzFz\",\"SZBLtWLVO\",\"hR39Bb3zZ\",\"QbZVH2gF5\"];const serializationHash=\"framer-VVSia\";const variantClassNames={AF79cnjo5:\"framer-v-un8qe\",CGihyJFOl:\"framer-v-a157se\",CsLXGXLmx:\"framer-v-z0y6bv\",ggIkCe9YC:\"framer-v-18vwzs9\",h8KcmuCem:\"framer-v-93fw0x\",hR39Bb3zZ:\"framer-v-1kx9jzp\",HUnzPEV3Y:\"framer-v-1y3gmhi\",ictNJ79U7:\"framer-v-ixaqf3\",mMbo5JzFz:\"framer-v-1cm3jxw\",QbZVH2gF5:\"framer-v-10xfsgp\",sQu1duQyv:\"framer-v-y6wr68\",SZBLtWLVO:\"framer-v-tk3rxb\",veCl5bwrN:\"framer-v-1ae6wgv\",VOmaAiEUs:\"framer-v-14nsjmh\",VxaKLupmR:\"framer-v-129zfeo\",WW2TaeGuY:\"framer-v-3m0bco\",wZ_FoluUO:\"framer-v-zewic6\",yA5JsEdqu:\"framer-v-ztoabe\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants?.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const m9rvavtdU=undefined;const transition1={damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"};const matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={delay:0,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition2,x:0,y:0};const animation1={opacity:.001,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,x:0,y:0};const transition3={delay:.1,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation2={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition3,x:0,y:0};const transition4={delay:.2,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation3={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition4,x:0,y:0};const transition5={delay:.3,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation4={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition5,x:0,y:0};const transition6={delay:.4,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation5={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition6,x:0,y:0};const transition7={delay:.5,duration:1,ease:[.44,0,.56,1],type:\"tween\"};const animation6={opacity:1,rotate:0,rotateX:0,rotateY:0,scale:1,skewX:0,skewY:0,transformPerspective:1200,transition:transition7,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 humanReadableVariantMap={\"L Menu - Hero /Black /\":\"ictNJ79U7\",\"L Menu - Hero /White\":\"HUnzPEV3Y\",\"L Menu - Scroll /Black /\":\"VOmaAiEUs\",\"L Menu - Scroll /White /\":\"wZ_FoluUO\",\"M Menu - Hero /Black\":\"CGihyJFOl\",\"M Menu - Hero /White\":\"sQu1duQyv\",\"Mobile Menu - Hero /Black\":\"h8KcmuCem\",\"Mobile Menu - Hero /White\":\"CsLXGXLmx\",\"Mobile Menu - Scroll /Black\":\"yA5JsEdqu\",\"Mobile Menu - Scroll /White\":\"AF79cnjo5\",\"Tablet Menu - Hero /Black\":\"hR39Bb3zZ\",\"Tablet Menu - Hero /White\":\"QbZVH2gF5\",\"Tablet Menu - Open /Black\":\"WW2TaeGuY\",\"Tablet Menu - Open /White \":\"veCl5bwrN\"};const Variants=motion.create(React.Fragment);const getProps=({caseDetail,height,id,width,...props})=>{return{...props,m9rvavtdU:caseDetail??props.m9rvavtdU,variant:humanReadableVariantMap[props.variant]??props.variant??\"ictNJ79U7\"};};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,m9rvavtdU,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"ictNJ79U7\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onTapy3fm9=activeVariantCallback(async(...args)=>{setVariant(\"veCl5bwrN\");});const onTap2iyuz0=activeVariantCallback(async(...args)=>{setVariant(\"WW2TaeGuY\");});const onTap1nczmjq=activeVariantCallback(async(...args)=>{setVariant(\"SZBLtWLVO\");});const onTap1m04mzx=activeVariantCallback(async(...args)=>{setVariant(\"hR39Bb3zZ\");});const onTap1a0497y=activeVariantCallback(async(...args)=>{setVariant(\"QbZVH2gF5\");});const onTap15qvku7=activeVariantCallback(async(...args)=>{setVariant(\"mMbo5JzFz\");});const onTap5c3q9n=activeVariantCallback(async(...args)=>{setVariant(\"VxaKLupmR\");});const onTap1hk6145=activeVariantCallback(async(...args)=>{setVariant(\"ggIkCe9YC\");});const onTap1eodmba=activeVariantCallback(async(...args)=>{setVariant(\"AF79cnjo5\");});const onTaptp7rhe=activeVariantCallback(async(...args)=>{setVariant(\"CsLXGXLmx\");});const onTap1pd4ho9=activeVariantCallback(async(...args)=>{setVariant(\"h8KcmuCem\");});const onTap12gefyx=activeVariantCallback(async(...args)=>{setVariant(\"yA5JsEdqu\");});const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if([\"VxaKLupmR\",\"ggIkCe9YC\",\"CsLXGXLmx\",\"h8KcmuCem\",\"yA5JsEdqu\",\"AF79cnjo5\",\"veCl5bwrN\",\"WW2TaeGuY\",\"mMbo5JzFz\",\"SZBLtWLVO\",\"hR39Bb3zZ\",\"QbZVH2gF5\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"sQu1duQyv\")return false;return true;};const isDisplayed2=()=>{if([\"VxaKLupmR\",\"ggIkCe9YC\",\"CsLXGXLmx\",\"h8KcmuCem\",\"yA5JsEdqu\",\"AF79cnjo5\",\"veCl5bwrN\",\"WW2TaeGuY\",\"mMbo5JzFz\",\"SZBLtWLVO\",\"hR39Bb3zZ\",\"QbZVH2gF5\"].includes(baseVariant))return true;return false;};const isDisplayed3=()=>{if([\"veCl5bwrN\",\"WW2TaeGuY\",\"mMbo5JzFz\",\"SZBLtWLVO\",\"hR39Bb3zZ\",\"QbZVH2gF5\"].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-ixaqf3\",className,classNames),\"data-framer-name\":\"L Menu - Hero /Black /\",layoutDependency:layoutDependency,layoutId:\"ictNJ79U7\",ref:refBinding,style:{...style},...addPropertyOverrides({AF79cnjo5:{\"data-framer-name\":\"Mobile Menu - Scroll /White\"},CGihyJFOl:{\"data-framer-name\":\"M Menu - Hero /Black\"},CsLXGXLmx:{\"data-framer-name\":\"Mobile Menu - Hero /White\"},ggIkCe9YC:{\"data-framer-name\":\"Tablet Menu - Hero /Black\"},h8KcmuCem:{\"data-framer-name\":\"Mobile Menu - Hero /Black\"},hR39Bb3zZ:{\"data-framer-name\":\"Tablet Menu - Hero /Black\"},HUnzPEV3Y:{\"data-framer-name\":\"L Menu - Hero /White\"},mMbo5JzFz:{\"data-framer-name\":\"Tablet Menu - Hero /Black\"},QbZVH2gF5:{\"data-framer-name\":\"Tablet Menu - Hero /White\"},sQu1duQyv:{\"data-framer-name\":\"M Menu - Hero /White\"},SZBLtWLVO:{\"data-framer-name\":\"Tablet Menu - Hero /White\"},veCl5bwrN:{\"data-framer-name\":\"Tablet Menu - Open /White \"},VOmaAiEUs:{\"data-framer-name\":\"L Menu - Scroll /Black /\"},VxaKLupmR:{\"data-framer-name\":\"Tablet Menu - Hero /White\"},WW2TaeGuY:{\"data-framer-name\":\"Tablet Menu - Open /Black\"},wZ_FoluUO:{\"data-framer-name\":\"L Menu - Scroll /White /\"},yA5JsEdqu:{\"data-framer-name\":\"Mobile Menu - Scroll /Black\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-uf804x\",\"data-framer-name\":\"Menu\",layoutDependency:layoutDependency,layoutId:\"F9s12bpiZ\",children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-cqbs2p-container\",layoutDependency:layoutDependency,layoutId:\"I0WWSN8w3-container\",nodeId:\"I0WWSN8w3\",rendersWithMotion:true,scopeId:\"x98pkxXTQ\",children:/*#__PURE__*/_jsx(LogoBlackWithVariantAppearEffect,{__framer__animateOnce:false,__framer__targets:[{ref:m9rvavtdU,target:\"pag1uOsmF\"}],__framer__threshold:0,__framer__variantAppearEffectEnabled:true,height:\"100%\",id:\"I0WWSN8w3\",layoutId:\"I0WWSN8w3\",style:{height:\"100%\",width:\"100%\"},variant:matchVariant(\"dlSMpevKS\"),width:\"100%\",...addPropertyOverrides({AF79cnjo5:{variant:matchVariant(\"pag1uOsmF\")},CsLXGXLmx:{variant:matchVariant(\"FGdJ26qd3\")},HUnzPEV3Y:{variant:matchVariant(\"FGdJ26qd3\")},QbZVH2gF5:{variant:matchVariant(\"FGdJ26qd3\")},sQu1duQyv:{variant:matchVariant(\"FGdJ26qd3\")},SZBLtWLVO:{variant:matchVariant(\"FGdJ26qd3\")},veCl5bwrN:{variant:matchVariant(\"FGdJ26qd3\")},VOmaAiEUs:{variant:matchVariant(\"pag1uOsmF\")},VxaKLupmR:{variant:matchVariant(\"FGdJ26qd3\")},wZ_FoluUO:{variant:matchVariant(\"alYMjrYwl\")},yA5JsEdqu:{variant:matchVariant(\"alYMjrYwl\")}},baseVariant,gestureVariant)})})}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-m0od9m\",\"data-framer-name\":\"Menu Frame\",layoutDependency:layoutDependency,layoutId:\"bz7tqH0SD\",children:[isDisplayed()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1g5z878\",\"data-framer-name\":\"Menu Text\",layoutDependency:layoutDependency,layoutId:\"Y4GEjtMb2\",children:[isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"jpYsnKOg3\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Home\"})})})}),className:\"framer-jg1fq5\",\"data-framer-name\":\"Home\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"jpYsnKOg3\",variants:{HUnzPEV3Y:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\"},wZ_FoluUO:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"jpYsnKOg3\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"jpYsnKOg3\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"yQ2MdoXp1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Studio\"})})})}),className:\"framer-x7irev\",\"data-framer-name\":\"Studio\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"yQ2MdoXp1\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"yQ2MdoXp1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})},sQu1duQyv:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"yQ2MdoXp1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"yQ2MdoXp1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"eSanrHMqe\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Works\"})})})}),className:\"framer-1d75gng\",\"data-framer-name\":\"Works\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"eSanrHMqe\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"eSanrHMqe\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})},sQu1duQyv:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"eSanrHMqe\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"eSanrHMqe\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"ClYmI4cIo\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Media\"})})})}),className:\"framer-38w9jp\",\"data-framer-name\":\"Blog\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ClYmI4cIo\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"ClYmI4cIo\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Media\"})})})})},sQu1duQyv:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"ClYmI4cIo\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Media\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"ClYmI4cIo\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Media\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-kl4usf\",layoutDependency:layoutDependency,layoutId:\"uFIOYSRi9\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"ewb_siI8_\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Careers\"})})})}),className:\"framer-fp89o2\",\"data-framer-name\":\"Career 3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ewb_siI8_\",variants:{wZ_FoluUO:{\"--extracted-a0htzi\":\"rgb(255, 255, 255)\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"ewb_siI8_\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})},sQu1duQyv:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"ewb_siI8_\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",style:{\"--framer-text-color\":\"var(--extracted-a0htzi, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"ewb_siI8_\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})})}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"opQ5sSGrl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Contact\"})})})}),className:\"framer-1wt4pl2\",\"data-framer-name\":\"Contact\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"opQ5sSGrl\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({HUnzPEV3Y:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"opQ5sSGrl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})},sQu1duQyv:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"opQ5sSGrl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})},wZ_FoluUO:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h3,{className:\"framer-styles-preset-4gj457\",\"data-styles-preset\":\"vbjST14C8\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"opQ5sSGrl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(Link,{href:\"https://calendly.com/berfe-yjy0/30min\",motionChild:true,nodeId:\"CFUI0SLCQ\",openInNewTab:true,scopeId:\"x98pkxXTQ\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1fox6qr framer-10t06jb\",layoutDependency:layoutDependency,layoutId:\"CFUI0SLCQ\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:44,width:\"165px\",y:(componentViewport?.y||0)+46+(0+0+((componentViewport?.height||138.5)-94-44.5)/1*0)+8.25+-8+0+0,...addPropertyOverrides({VOmaAiEUs:{y:(componentViewport?.y||0)+24+(0+0+((componentViewport?.height||92.5)-48-44.5)/1*0)+8.25+-8+0+0},wZ_FoluUO:{y:(componentViewport?.y||0)+24+(0+0+((componentViewport?.height||92.5)-48-44.5)/1*0)+8.25+-8+0+0}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1tulm56-container\",layoutDependency:layoutDependency,layoutId:\"YqT9Gy9v3-container\",nodeId:\"YqT9Gy9v3\",rendersWithMotion:true,scopeId:\"x98pkxXTQ\",children:/*#__PURE__*/_jsx(ButtonL2,{height:\"100%\",id:\"YqT9Gy9v3\",layoutId:\"YqT9Gy9v3\",rY28fpWbp:\"Schedule a call\",style:{width:\"100%\"},variant:matchVariant(\"KWtjzAn9Q\"),width:\"100%\",...addPropertyOverrides({HUnzPEV3Y:{variant:matchVariant(\"H7TEu4b6z\")},sQu1duQyv:{variant:matchVariant(\"H7TEu4b6z\")},wZ_FoluUO:{variant:matchVariant(\"H7TEu4b6z\")}},baseVariant,gestureVariant)})})})})})]}),isDisplayed2()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1p3mdm5\",\"data-framer-name\":\"Menu Icon\",layoutDependency:layoutDependency,layoutId:\"BiMfhAcvT\",...addPropertyOverrides({AF79cnjo5:{\"data-highlight\":true,onTap:onTap15qvku7},CsLXGXLmx:{\"data-highlight\":true,onTap:onTap1nczmjq},ggIkCe9YC:{\"data-highlight\":true,onTap:onTap2iyuz0},h8KcmuCem:{\"data-highlight\":true,onTap:onTap1m04mzx},hR39Bb3zZ:{\"data-highlight\":true,onTap:onTap1pd4ho9},mMbo5JzFz:{\"data-highlight\":true,onTap:onTap1eodmba},QbZVH2gF5:{\"data-highlight\":true,onTap:onTap12gefyx},SZBLtWLVO:{\"data-highlight\":true,onTap:onTaptp7rhe},veCl5bwrN:{\"data-highlight\":true,onTap:onTap5c3q9n},VxaKLupmR:{\"data-highlight\":true,onTap:onTapy3fm9},WW2TaeGuY:{\"data-highlight\":true,onTap:onTap1hk6145},yA5JsEdqu:{\"data-highlight\":true,onTap:onTap1a0497y}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-t7fpje\",\"data-framer-name\":\"Rectangle 21405\",layoutDependency:layoutDependency,layoutId:\"GzXloUpNw\",style:{backgroundColor:\"rgb(0, 0, 0)\",rotate:0},variants:{CsLXGXLmx:{backgroundColor:\"rgb(255, 255, 255)\"},hR39Bb3zZ:{rotate:45},mMbo5JzFz:{rotate:45},QbZVH2gF5:{backgroundColor:\"rgb(255, 255, 255)\",rotate:45},SZBLtWLVO:{backgroundColor:\"rgb(255, 255, 255)\",rotate:45},veCl5bwrN:{backgroundColor:\"rgb(255, 255, 255)\",rotate:45},VxaKLupmR:{backgroundColor:\"rgb(255, 255, 255)\"},WW2TaeGuY:{rotate:45},yA5JsEdqu:{backgroundColor:\"rgb(255, 255, 255)\"}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-32la4j\",\"data-framer-name\":\"Rectangle 21406\",layoutDependency:layoutDependency,layoutId:\"Lk3iaRTsy\",style:{backgroundColor:\"rgb(0, 0, 0)\",opacity:1},variants:{CsLXGXLmx:{backgroundColor:\"rgb(255, 255, 255)\"},hR39Bb3zZ:{opacity:0},mMbo5JzFz:{opacity:0},QbZVH2gF5:{backgroundColor:\"rgb(255, 255, 255)\",opacity:0},SZBLtWLVO:{backgroundColor:\"rgb(255, 255, 255)\",opacity:0},veCl5bwrN:{backgroundColor:\"rgb(255, 255, 255)\",opacity:0},VxaKLupmR:{backgroundColor:\"rgb(255, 255, 255)\"},WW2TaeGuY:{opacity:0},yA5JsEdqu:{backgroundColor:\"rgb(255, 255, 255)\"}}}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-gsauak\",\"data-framer-name\":\"Rectangle 21407\",layoutDependency:layoutDependency,layoutId:\"AJan7ezpq\",style:{backgroundColor:\"rgb(0, 0, 0)\",rotate:0},variants:{CsLXGXLmx:{backgroundColor:\"rgb(255, 255, 255)\"},hR39Bb3zZ:{rotate:-45},mMbo5JzFz:{rotate:-45},QbZVH2gF5:{backgroundColor:\"rgb(255, 255, 255)\",rotate:-45},SZBLtWLVO:{backgroundColor:\"rgb(255, 255, 255)\",rotate:-45},veCl5bwrN:{backgroundColor:\"rgb(255, 255, 255)\",rotate:-45},VxaKLupmR:{backgroundColor:\"rgb(255, 255, 255)\"},WW2TaeGuY:{rotate:-45},yA5JsEdqu:{backgroundColor:\"rgb(255, 255, 255)\"}}})]})]})]}),isDisplayed3()&&/*#__PURE__*/_jsxs(motion.div,{className:\"framer-13p4j0g\",\"data-framer-name\":\"Menu Text\",layoutDependency:layoutDependency,layoutId:\"H_Mb4Hx_C\",children:[/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, rgb(255, 255, 255))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"E8pZbOui1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Home\"})})})}),className:\"framer-10eanod\",\"data-framer-appear-id\":\"10eanod\",\"data-framer-name\":\"Home\",fonts:[\"Inter\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"E8pZbOui1\",optimized:true,style:{\"--extracted-1of0zx5\":\"rgb(255, 255, 255)\",transformPerspective:1200},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"E8pZbOui1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Home\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"E8pZbOui1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Home\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"xSyYUvhCM\"},motionChild:true,nodeId:\"E8pZbOui1\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Home\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation2,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"FEtIEryD4\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Studio\"})})})}),className:\"framer-165jiim\",\"data-framer-appear-id\":\"165jiim\",\"data-framer-name\":\"Studio\",fonts:[\"Inter\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"FEtIEryD4\",optimized:true,style:{transformPerspective:1200},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"FEtIEryD4\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Studio\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"FEtIEryD4\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Studio\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Y6GIk4jwR\"},motionChild:true,nodeId:\"FEtIEryD4\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Studio\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation3,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"rLkdJF6yl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Works\"})})})}),className:\"framer-1n4eahk\",\"data-framer-appear-id\":\"1n4eahk\",\"data-framer-name\":\"Works\",fonts:[\"Inter\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"rLkdJF6yl\",optimized:true,style:{transformPerspective:1200},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"rLkdJF6yl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Works\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"rLkdJF6yl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Works\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Yd1DgTFOR\"},motionChild:true,nodeId:\"rLkdJF6yl\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Works\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation4,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"porBgJJC9\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Media\"})})})}),className:\"framer-1czdw1c\",\"data-framer-appear-id\":\"1czdw1c\",\"data-framer-name\":\"Blog\",fonts:[\"Inter\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"porBgJJC9\",optimized:true,style:{transformPerspective:1200},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"porBgJJC9\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Media\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"porBgJJC9\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Media\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bOPnR371V\"},motionChild:true,nodeId:\"porBgJJC9\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Media\"})})})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(MotionDivWithFXWithOptimizedAppearEffect,{__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation5,className:\"framer-wasvyi\",\"data-framer-appear-id\":\"wasvyi\",initial:animation1,layoutDependency:layoutDependency,layoutId:\"RwGDc3m21\",optimized:true,style:{transformPerspective:1200},children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"xX5K2JNs6\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Careers\"})})})}),className:\"framer-1gnp06i\",\"data-framer-name\":\"Career 3\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"xX5K2JNs6\",verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"xX5K2JNs6\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Careers\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"xX5K2JNs6\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Careers\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"bcDaYs9Vx\"},motionChild:true,nodeId:\"xX5K2JNs6\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Careers\"})})})})}},baseVariant,gestureVariant)})}),/*#__PURE__*/_jsx(RichTextWithFXWithOptimizedAppearEffect,{__fromCanvasComponent:true,__perspectiveFX:false,__smartComponentFX:true,__targetOpacity:1,animate:animation6,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"u1HVtwRMZ\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-14wxrfk\",\"data-styles-preset\":\"jvAkdYGfq\",children:\"Contact\"})})})}),className:\"framer-bhlyu6\",\"data-framer-appear-id\":\"bhlyu6\",\"data-framer-name\":\"Contact\",fonts:[\"Inter\"],initial:animation1,layoutDependency:layoutDependency,layoutId:\"u1HVtwRMZ\",optimized:true,style:{transformPerspective:1200},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({hR39Bb3zZ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"u1HVtwRMZ\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Contact\"})})})})},mMbo5JzFz:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"u1HVtwRMZ\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Contact\"})})})})},WW2TaeGuY:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1qu71cz\",\"data-styles-preset\":\"IShA3RGIz\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"offXSQA3N\"},motionChild:true,nodeId:\"u1HVtwRMZ\",openInNewTab:false,relValues:[],scopeId:\"x98pkxXTQ\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-1f0c50k\",\"data-styles-preset\":\"Qa5xKvxsK\",children:\"Contact\"})})})})}},baseVariant,gestureVariant)})]}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-16xvwd9\",\"data-framer-name\":\"Background\",layoutDependency:layoutDependency,layoutId:\"koM1Rah3q\",style:{backdropFilter:\"blur(100px)\",backgroundColor:\"rgba(255, 255, 255, 0.2)\",WebkitBackdropFilter:\"blur(100px)\"},variants:{CsLXGXLmx:{backgroundColor:\"rgb(0, 0, 0)\"},HUnzPEV3Y:{backgroundColor:\"rgba(0, 0, 0, 0.2)\"},QbZVH2gF5:{backgroundColor:\"rgb(0, 0, 0)\"},sQu1duQyv:{backgroundColor:\"rgb(0, 0, 0)\"},SZBLtWLVO:{backgroundColor:\"rgb(0, 0, 0)\"},veCl5bwrN:{backgroundColor:\"rgb(0, 0, 0)\"},VOmaAiEUs:{backdropFilter:\"blur(30px)\",WebkitBackdropFilter:\"blur(30px)\"},VxaKLupmR:{backgroundColor:\"rgb(0, 0, 0)\"},wZ_FoluUO:{backdropFilter:\"blur(30px)\",backgroundColor:\"rgba(0, 0, 0, 0.2)\",WebkitBackdropFilter:\"blur(30px)\"},yA5JsEdqu:{backgroundColor:\"rgb(0, 0, 0)\"}}})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-VVSia.framer-10t06jb, .framer-VVSia .framer-10t06jb { display: block; }\",\".framer-VVSia.framer-ixaqf3 { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; height: min-content; justify-content: space-between; overflow: hidden; padding: 46px 48px 48px 48px; position: relative; width: 1600px; }\",\".framer-VVSia .framer-uf804x { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; height: min-content; justify-content: space-between; max-width: 1920px; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-VVSia .framer-cqbs2p-container { flex: none; height: 45px; position: relative; width: 150px; z-index: 1; }\",\".framer-VVSia .framer-m0od9m { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 32px; height: 28px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; z-index: 1; }\",\".framer-VVSia .framer-1g5z878 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 44px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-VVSia .framer-jg1fq5, .framer-VVSia .framer-x7irev, .framer-VVSia .framer-1d75gng, .framer-VVSia .framer-38w9jp, .framer-VVSia .framer-fp89o2, .framer-VVSia .framer-1wt4pl2, .framer-VVSia .framer-10eanod, .framer-VVSia .framer-165jiim, .framer-VVSia .framer-1n4eahk, .framer-VVSia .framer-1czdw1c, .framer-VVSia .framer-1gnp06i, .framer-VVSia .framer-bhlyu6 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-VVSia .framer-kl4usf { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: 19px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-VVSia .framer-1fox6qr { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 44px; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: 165px; }\",\".framer-VVSia .framer-1tulm56-container { flex: 1 0 0px; height: auto; position: relative; width: 1px; }\",\".framer-VVSia .framer-1p3mdm5 { flex: none; height: 28px; overflow: visible; position: relative; width: 39px; }\",\".framer-VVSia .framer-t7fpje { flex: none; height: 3px; left: calc(48.71794871794874% - 23px / 2); position: absolute; top: 6px; width: 23px; }\",\".framer-VVSia .framer-32la4j { flex: none; height: 3px; left: calc(48.71794871794874% - 23px / 2); position: absolute; top: calc(50.00000000000002% - 3px / 2); width: 23px; }\",\".framer-VVSia .framer-gsauak { bottom: 6px; flex: none; height: 3px; left: calc(48.71794871794874% - 23px / 2); position: absolute; width: 23px; }\",\".framer-VVSia .framer-13p4j0g { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 24px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 1; }\",\".framer-VVSia .framer-wasvyi { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 4px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-VVSia .framer-16xvwd9 { flex: none; height: 173px; left: calc(50.00000000000002% - 100% / 2); overflow: hidden; position: absolute; top: -174px; width: 100%; z-index: 0; }\",\".framer-VVSia.framer-v-14nsjmh.framer-ixaqf3, .framer-VVSia.framer-v-zewic6.framer-ixaqf3 { padding: 24px 48px 24px 48px; }\",\".framer-VVSia.framer-v-14nsjmh .framer-m0od9m, .framer-VVSia.framer-v-zewic6 .framer-m0od9m { flex: 1 0 0px; width: 1px; }\",\".framer-VVSia.framer-v-14nsjmh .framer-1g5z878, .framer-VVSia.framer-v-zewic6 .framer-1g5z878 { flex: 1 0 0px; gap: unset; justify-content: space-between; width: 1px; }\",\".framer-VVSia.framer-v-14nsjmh .framer-16xvwd9, .framer-VVSia.framer-v-zewic6 .framer-16xvwd9 { height: 111px; top: -2px; }\",\".framer-VVSia.framer-v-y6wr68.framer-ixaqf3, .framer-VVSia.framer-v-a157se.framer-ixaqf3 { width: 1200px; }\",\".framer-VVSia.framer-v-y6wr68 .framer-16xvwd9, .framer-VVSia.framer-v-a157se .framer-16xvwd9 { height: 141px; top: -142px; }\",\".framer-VVSia.framer-v-129zfeo.framer-ixaqf3, .framer-VVSia.framer-v-18vwzs9.framer-ixaqf3 { padding: 32px; width: 810px; }\",\".framer-VVSia.framer-v-129zfeo .framer-m0od9m, .framer-VVSia.framer-v-18vwzs9 .framer-m0od9m, .framer-VVSia.framer-v-z0y6bv .framer-m0od9m, .framer-VVSia.framer-v-93fw0x .framer-m0od9m, .framer-VVSia.framer-v-ztoabe .framer-m0od9m, .framer-VVSia.framer-v-un8qe .framer-m0od9m, .framer-VVSia.framer-v-1ae6wgv .framer-m0od9m, .framer-VVSia.framer-v-3m0bco .framer-m0od9m, .framer-VVSia.framer-v-1cm3jxw .framer-m0od9m, .framer-VVSia.framer-v-tk3rxb .framer-m0od9m, .framer-VVSia.framer-v-1kx9jzp .framer-m0od9m, .framer-VVSia.framer-v-10xfsgp .framer-m0od9m { gap: 16px; }\",\".framer-VVSia.framer-v-129zfeo .framer-1p3mdm5, .framer-VVSia.framer-v-18vwzs9 .framer-1p3mdm5, .framer-VVSia.framer-v-z0y6bv .framer-1p3mdm5, .framer-VVSia.framer-v-93fw0x .framer-1p3mdm5, .framer-VVSia.framer-v-ztoabe .framer-1p3mdm5, .framer-VVSia.framer-v-un8qe .framer-1p3mdm5, .framer-VVSia.framer-v-1ae6wgv .framer-1p3mdm5, .framer-VVSia.framer-v-3m0bco .framer-1p3mdm5, .framer-VVSia.framer-v-1cm3jxw .framer-1p3mdm5, .framer-VVSia.framer-v-tk3rxb .framer-1p3mdm5, .framer-VVSia.framer-v-1kx9jzp .framer-1p3mdm5, .framer-VVSia.framer-v-10xfsgp .framer-1p3mdm5 { cursor: pointer; order: 1; }\",\".framer-VVSia.framer-v-129zfeo .framer-16xvwd9, .framer-VVSia.framer-v-18vwzs9 .framer-16xvwd9 { height: 109px; top: -110px; }\",\".framer-VVSia.framer-v-z0y6bv.framer-ixaqf3, .framer-VVSia.framer-v-93fw0x.framer-ixaqf3 { padding: 20px; width: 400px; }\",\".framer-VVSia.framer-v-z0y6bv .framer-16xvwd9, .framer-VVSia.framer-v-93fw0x .framer-16xvwd9 { height: 85px; top: -85px; }\",\".framer-VVSia.framer-v-ztoabe.framer-ixaqf3, .framer-VVSia.framer-v-un8qe.framer-ixaqf3 { padding: 8px 12px 8px 12px; width: 400px; }\",\".framer-VVSia.framer-v-ztoabe .framer-16xvwd9, .framer-VVSia.framer-v-un8qe .framer-16xvwd9 { height: 85px; top: -1px; }\",\".framer-VVSia.framer-v-1ae6wgv.framer-ixaqf3, .framer-VVSia.framer-v-3m0bco.framer-ixaqf3 { gap: 32px; justify-content: flex-start; min-height: calc(var(--framer-viewport-height, 100vh) * 1); padding: 32px; width: 810px; }\",\".framer-VVSia.framer-v-1ae6wgv .framer-t7fpje, .framer-VVSia.framer-v-3m0bco .framer-t7fpje, .framer-VVSia.framer-v-1cm3jxw .framer-t7fpje, .framer-VVSia.framer-v-tk3rxb .framer-t7fpje, .framer-VVSia.framer-v-1kx9jzp .framer-t7fpje, .framer-VVSia.framer-v-10xfsgp .framer-t7fpje { top: calc(50.00000000000002% - 3px / 2); }\",\".framer-VVSia.framer-v-1ae6wgv .framer-gsauak, .framer-VVSia.framer-v-3m0bco .framer-gsauak, .framer-VVSia.framer-v-1cm3jxw .framer-gsauak, .framer-VVSia.framer-v-tk3rxb .framer-gsauak, .framer-VVSia.framer-v-1kx9jzp .framer-gsauak, .framer-VVSia.framer-v-10xfsgp .framer-gsauak { bottom: unset; top: calc(50.00000000000002% - 3px / 2); }\",\".framer-VVSia.framer-v-1ae6wgv .framer-16xvwd9, .framer-VVSia.framer-v-3m0bco .framer-16xvwd9, .framer-VVSia.framer-v-1cm3jxw .framer-16xvwd9, .framer-VVSia.framer-v-tk3rxb .framer-16xvwd9, .framer-VVSia.framer-v-1kx9jzp .framer-16xvwd9, .framer-VVSia.framer-v-10xfsgp .framer-16xvwd9 { height: 100%; top: 0px; }\",\".framer-VVSia.framer-v-1cm3jxw.framer-ixaqf3, .framer-VVSia.framer-v-tk3rxb.framer-ixaqf3, .framer-VVSia.framer-v-1kx9jzp.framer-ixaqf3, .framer-VVSia.framer-v-10xfsgp.framer-ixaqf3 { gap: 32px; justify-content: flex-start; min-height: calc(var(--framer-viewport-height, 100vh) * 1); padding: 20px; width: 400px; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 138.5\n * @framerIntrinsicWidth 1600\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"HUnzPEV3Y\":{\"layout\":[\"fixed\",\"auto\"]},\"VOmaAiEUs\":{\"layout\":[\"fixed\",\"auto\"]},\"wZ_FoluUO\":{\"layout\":[\"fixed\",\"auto\"]},\"sQu1duQyv\":{\"layout\":[\"fixed\",\"auto\"]},\"CGihyJFOl\":{\"layout\":[\"fixed\",\"auto\"]},\"VxaKLupmR\":{\"layout\":[\"fixed\",\"auto\"]},\"ggIkCe9YC\":{\"layout\":[\"fixed\",\"auto\"]},\"CsLXGXLmx\":{\"layout\":[\"fixed\",\"auto\"]},\"h8KcmuCem\":{\"layout\":[\"fixed\",\"auto\"]},\"yA5JsEdqu\":{\"layout\":[\"fixed\",\"auto\"]},\"AF79cnjo5\":{\"layout\":[\"fixed\",\"auto\"]},\"veCl5bwrN\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"WW2TaeGuY\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"mMbo5JzFz\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"SZBLtWLVO\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"hR39Bb3zZ\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]},\"QbZVH2gF5\":{\"layout\":[\"fixed\",\"auto\"],\"constraints\":[null,null,\"100vh\",null]}}}\n * @framerVariables {\"m9rvavtdU\":\"caseDetail\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const Framerx98pkxXTQ=withCSS(Component,css,\"framer-VVSia\");export default Framerx98pkxXTQ;Framerx98pkxXTQ.displayName=\"Menu\";Framerx98pkxXTQ.defaultProps={height:138.5,width:1600};addPropertyControls(Framerx98pkxXTQ,{variant:{options:[\"ictNJ79U7\",\"HUnzPEV3Y\",\"VOmaAiEUs\",\"wZ_FoluUO\",\"sQu1duQyv\",\"CGihyJFOl\",\"VxaKLupmR\",\"ggIkCe9YC\",\"CsLXGXLmx\",\"h8KcmuCem\",\"yA5JsEdqu\",\"AF79cnjo5\",\"veCl5bwrN\",\"WW2TaeGuY\",\"mMbo5JzFz\",\"SZBLtWLVO\",\"hR39Bb3zZ\",\"QbZVH2gF5\"],optionTitles:[\"L Menu - Hero /Black /\",\"L Menu - Hero /White\",\"L Menu - Scroll /Black /\",\"L Menu - Scroll /White /\",\"M Menu - Hero /White\",\"M Menu - Hero /Black\",\"Tablet Menu - Hero /White\",\"Tablet Menu - Hero /Black\",\"Mobile Menu - Hero /White\",\"Mobile Menu - Hero /Black\",\"Mobile Menu - Scroll /Black\",\"Mobile Menu - Scroll /White\",\"Tablet Menu - Open /White \",\"Tablet Menu - Open /Black\",\"Tablet Menu - Hero /Black\",\"Tablet Menu - Hero /White\",\"Tablet Menu - Hero /Black\",\"Tablet Menu - Hero /White\"],title:\"Variant\",type:ControlType.Enum},m9rvavtdU:{title:\"case-detail\",type:ControlType.ScrollSectionRef}});addFonts(Framerx98pkxXTQ,[{explicitInter:true,fonts:[{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2070, U+2074-207E, U+2080-208E, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/GrgcKwrN6d3Uz8EwcLHZxwEfC4.woff2\",weight:\"400\"},{cssFamilyName:\"Inter\",source:\"framer\",style:\"normal\",uiFamilyName:\"Inter\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]},...LogoBlackFonts,...ButtonL2Fonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts)],{supportsExplicitInterCodegen:true});Framerx98pkxXTQ.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(LogoBlack,{},context),forwardLoader(ButtonL2,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"Framerx98pkxXTQ\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"138.5\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"HUnzPEV3Y\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VOmaAiEUs\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"wZ_FoluUO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"sQu1duQyv\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"CGihyJFOl\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"VxaKLupmR\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"ggIkCe9YC\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"CsLXGXLmx\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"h8KcmuCem\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"yA5JsEdqu\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"AF79cnjo5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"veCl5bwrN\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"WW2TaeGuY\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"mMbo5JzFz\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"SZBLtWLVO\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"hR39Bb3zZ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]},\\\"QbZVH2gF5\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"],\\\"constraints\\\":[null,null,\\\"100vh\\\",null]}}}\",\"framerVariables\":\"{\\\"m9rvavtdU\\\":\\\"caseDetail\\\"}\",\"framerContractVersion\":\"1\",\"framerComponentViewportWidth\":\"true\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicWidth\":\"1600\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./x98pkxXTQ.map","// Generated by Framer (569b461)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";const cycleOrder=[\"oyXnSI8Fp\",\"tFmzKN0GQ\",\"avoKxoOQD\"];const serializationHash=\"framer-LLJwg\";const variantClassNames={avoKxoOQD:\"framer-v-x1023\",oyXnSI8Fp:\"framer-v-uatdsy\",tFmzKN0GQ:\"framer-v-xdvlnj\"};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={\"Gradient /Dark\":\"tFmzKN0GQ\",\"Gradient /Light\":\"oyXnSI8Fp\",\"Gradient /No\":\"avoKxoOQD\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"oyXnSI8Fp\"};};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,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"oyXnSI8Fp\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);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-uatdsy\",className,classNames),\"data-framer-name\":\"Gradient /Light\",layoutDependency:layoutDependency,layoutId:\"oyXnSI8Fp\",ref:refBinding,style:{background:\"linear-gradient(180.0000000000005deg, rgb(255, 255, 255) 15.000000000000002%, rgba(255, 255, 255, 0) 100%)\",opacity:1,...style},variants:{avoKxoOQD:{background:\"linear-gradient(180.0000000000005deg, rgb(0, 0, 0) 15.000000000000002%, rgba(0, 0, 0, 0) 100%)\",opacity:0},tFmzKN0GQ:{background:\"linear-gradient(180.0000000000005deg, rgb(0, 0, 0) 15.000000000000002%, rgba(0, 0, 0, 0) 100%)\"}},...addPropertyOverrides({avoKxoOQD:{\"data-framer-name\":\"Gradient /No\"},tFmzKN0GQ:{\"data-framer-name\":\"Gradient /Dark\"}},baseVariant,gestureVariant)})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-LLJwg.framer-1xyovn6, .framer-LLJwg .framer-1xyovn6 { display: block; }\",\".framer-LLJwg.framer-uatdsy { height: 490px; position: relative; width: 1200px; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 490\n * @framerIntrinsicWidth 1200\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"tFmzKN0GQ\":{\"layout\":[\"fixed\",\"fixed\"]},\"avoKxoOQD\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerfqScnV6Rg=withCSS(Component,css,\"framer-LLJwg\");export default FramerfqScnV6Rg;FramerfqScnV6Rg.displayName=\"Gradient\";FramerfqScnV6Rg.defaultProps={height:490,width:1200};addPropertyControls(FramerfqScnV6Rg,{variant:{options:[\"oyXnSI8Fp\",\"tFmzKN0GQ\",\"avoKxoOQD\"],optionTitles:[\"Gradient /Light\",\"Gradient /Dark\",\"Gradient /No\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerfqScnV6Rg,[{explicitInter:true,fonts:[]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerfqScnV6Rg\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerAutoSizeImages\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"tFmzKN0GQ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"avoKxoOQD\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"490\",\"framerIntrinsicWidth\":\"1200\",\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./fqScnV6Rg.map","// Generated by Framer (e1022ef)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,SVG,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const cycleOrder=[\"EZBFzXRNZ\",\"W0SFoaVhf\",\"bUUeb_jXy\"];const serializationHash=\"framer-07Ck5\";const variantClassNames={bUUeb_jXy:\"framer-v-t7m5rv\",EZBFzXRNZ:\"framer-v-h0fx5p\",W0SFoaVhf:\"framer-v-1vtdfx4\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transitions={default:{damping:60,delay:0,mass:1,stiffness:500,type:\"spring\"}};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"EZBFzXRNZ\",\"Variant 2\":\"W0SFoaVhf\",\"Variant 3\":\"bUUeb_jXy\"};const getProps=({height,id,width,...props})=>{var _humanReadableVariantMap_props_variant,_ref;return{...props,variant:(_ref=(_humanReadableVariantMap_props_variant=humanReadableVariantMap[props.variant])!==null&&_humanReadableVariantMap_props_variant!==void 0?_humanReadableVariantMap_props_variant:props.variant)!==null&&_ref!==void 0?_ref:\"EZBFzXRNZ\"};};const createLayoutDependency=(props,variants)=>variants.join(\"-\")+props.layoutDependency;const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,gestureVariant,setGestureState,setVariant,transition,variants}=useVariantState({cycleOrder,defaultVariant:\"EZBFzXRNZ\",transitions,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const isDisplayed=()=>{if([\"W0SFoaVhf\",\"bUUeb_jXy\"].includes(baseVariant))return false;return true;};const isDisplayed1=()=>{if(baseVariant===\"W0SFoaVhf\")return true;return false;};const isDisplayed2=()=>{if(baseVariant===\"bUUeb_jXy\")return true;return false;};const defaultLayoutId=React.useId();const sharedStyleClassNames=[];return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition,children:/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(serializationHash,...sharedStyleClassNames,\"framer-h0fx5p\",className,classNames),\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"EZBFzXRNZ\",onHoverEnd:()=>setGestureState({isHovered:false}),onHoverStart:()=>setGestureState({isHovered:true}),onTap:()=>setGestureState({isPressed:false}),onTapCancel:()=>setGestureState({isPressed:false}),onTapStart:()=>setGestureState({isPressed:true}),ref:ref!==null&&ref!==void 0?ref:ref1,style:{...style},...addPropertyOverrides({bUUeb_jXy:{\"data-framer-name\":\"Variant 3\"},W0SFoaVhf:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-br39yr\",\"data-framer-name\":\"Frame 435157\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:78,intrinsicWidth:64,layoutDependency:layoutDependency,layoutId:\"fJMxfFs4X\",svg:'<svg width=\"64\" height=\"78\" viewBox=\"0 0 64 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<g clip-path=\"url(#clip0_92_20440)\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M45.5541 0.602905C50.3318 0.606881 54.9136 2.53348 58.2939 5.9609C61.6813 9.3954 63.5845 14.0553 63.5845 18.9144C63.5845 27.9657 59.1984 35.9643 50.5232 44.0033C45.0731 48.792 39.2585 53.1359 33.1338 56.9945L31.8094 57.8289L30.4756 57.01C24.2879 53.211 18.452 48.8511 12.9889 43.9372C4.74729 36.1161 -5.11086e-06 27.6858 0 18.9092C0.0166399 10.4865 5.68939 3.15996 13.7501 1.15064C20.4823 -0.527564 27.432 1.8643 31.789 7.04224C35.1738 3.00842 40.1731 0.603592 45.5244 0.602905L45.5541 0.602905Z\" fill=\"black\"/>\\n</g>\\n<defs>\\n<clipPath id=\"clip0_92_20440\">\\n<rect width=\"63.5845\" height=\"77.226\" fill=\"white\" transform=\"translate(0 0.602905)\"/>\\n</clipPath>\\n</defs>\\n</svg>\\n',withExternalLayout:true}),isDisplayed1()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-1q5r53m\",\"data-framer-name\":\"Clip 2\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:58,intrinsicWidth:64,layoutDependency:layoutDependency,layoutId:\"RKXToCRkr\",svg:'<svg width=\"64\" height=\"58\" viewBox=\"0 0 64 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M45.5541 0.602905C50.3318 0.606881 54.9136 2.53348 58.2939 5.9609C61.6813 9.3954 63.5845 14.0553 63.5845 18.9144C63.5845 27.9657 59.1984 35.9643 50.5232 44.0033C45.0731 48.792 39.2585 53.1359 33.1338 56.9945L31.8094 57.8289L30.4756 57.01C24.2879 53.211 18.452 48.8511 12.9889 43.9372C4.74729 36.1161 -5.11086e-06 27.6858 0 18.9092C0.0166399 10.4865 5.68939 3.15996 13.7501 1.15064C20.4823 -0.527564 27.432 1.8643 31.789 7.04224C35.1738 3.00842 40.1731 0.603592 45.5244 0.602905L45.5541 0.602905Z\" fill=\"white\"/>\\n</svg>\\n',withExternalLayout:true}),isDisplayed2()&&/*#__PURE__*/_jsx(SVG,{className:\"framer-pcrp3p\",\"data-framer-name\":\"Clip 2\",fill:\"rgba(0,0,0,1)\",intrinsicHeight:58,intrinsicWidth:64,layoutDependency:layoutDependency,layoutId:\"h2Bl6Zm2K\",svg:'<svg width=\"64\" height=\"58\" viewBox=\"0 0 64 58\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M45.5541 0.602905C50.3318 0.606881 54.9136 2.53348 58.2939 5.9609C61.6813 9.3954 63.5845 14.0553 63.5845 18.9144C63.5845 27.9657 59.1984 35.9643 50.5232 44.0033C45.0731 48.792 39.2585 53.1359 33.1338 56.9945L31.8094 57.8289L30.4756 57.01C24.2879 53.211 18.452 48.8511 12.9889 43.9372C4.74729 36.1161 -5.11086e-06 27.6858 0 18.9092C0.0166399 10.4865 5.68939 3.15996 13.7501 1.15064C20.4823 -0.527564 27.432 1.8643 31.789 7.04224C35.1738 3.00842 40.1731 0.603592 45.5244 0.602905L45.5541 0.602905Z\" fill=\"#FFDF80\"/>\\n</svg>\\n',withExternalLayout:true})]})})})});});const css=['.framer-07Ck5[data-border=\"true\"]::after, .framer-07Ck5 [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; }',\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-07Ck5.framer-ej51rw, .framer-07Ck5 .framer-ej51rw { display: block; }\",\".framer-07Ck5.framer-h0fx5p { height: 78px; overflow: visible; position: relative; width: 64px; }\",\".framer-07Ck5 .framer-br39yr { aspect-ratio: 0.8205128205128205 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 78px); left: 0px; position: absolute; top: 0px; width: 100%; }\",\".framer-07Ck5 .framer-1q5r53m, .framer-07Ck5 .framer-pcrp3p { aspect-ratio: 1.103448275862069 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 181px); left: 0px; position: absolute; top: 0px; width: 100%; }\",\".framer-07Ck5.framer-v-1vtdfx4 .framer-1q5r53m, .framer-07Ck5.framer-v-t7m5rv .framer-pcrp3p { height: var(--framer-aspect-ratio-supported, 58px); }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 78\n * @framerIntrinsicWidth 64\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"W0SFoaVhf\":{\"layout\":[\"fixed\",\"fixed\"]},\"bUUeb_jXy\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n */const FramerZKemCo0mJ=withCSS(Component,css,\"framer-07Ck5\");export default FramerZKemCo0mJ;FramerZKemCo0mJ.displayName=\"Heart\";FramerZKemCo0mJ.defaultProps={height:78,width:64};addPropertyControls(FramerZKemCo0mJ,{variant:{options:[\"EZBFzXRNZ\",\"W0SFoaVhf\",\"bUUeb_jXy\"],optionTitles:[\"Variant 1\",\"Variant 2\",\"Variant 3\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerZKemCo0mJ,[]);\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerZKemCo0mJ\",\"slots\":[],\"annotations\":{\"framerIntrinsicWidth\":\"64\",\"framerImmutableVariables\":\"true\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"78\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"W0SFoaVhf\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"bUUeb_jXy\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerDisplayContentsDiv\":\"false\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ZKemCo0mJ.map","import{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Now Display Bold\",\"Inter-Black\",\"Inter-BlackItalic\",\"Inter-BoldItalic\"]);export const fonts=[{family:\"Helvetica Now Display Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/EjvJsmi6VH1SIHjfwQ1295XtFWQ.woff2\"}];export const css=['.framer-NAiDf .framer-styles-preset-qpyyyd:not(.rich-text-wrapper), .framer-NAiDf .framer-styles-preset-qpyyyd.rich-text-wrapper h1 { --framer-font-family: \"Helvetica Now Display Bold\", \"Helvetica Now Display Bold Placeholder\", sans-serif; --framer-font-family-bold: \"Inter-Black\", \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter-BlackItalic\", \"Inter\", sans-serif; --framer-font-family-italic: \"Inter-BoldItalic\", \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-size: 146px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-weight: 400; --framer-font-weight-bold: 900; --framer-font-weight-bold-italic: 900; --framer-font-weight-italic: 700; --framer-letter-spacing: -0.03em; --framer-line-height: 105%; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-NAiDf\";\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\"}}}","import{fontStore}from\"framer\";fontStore.loadFonts([\"CUSTOM;Helvetica Now Display Bold\"]);export const fonts=[{family:\"Helvetica Now Display Bold\",source:\"custom\",url:\"https://framerusercontent.com/assets/EjvJsmi6VH1SIHjfwQ1295XtFWQ.woff2\"}];export const css=['.framer-hCvLu .framer-styles-preset-18n6a6t:not(.rich-text-wrapper), .framer-hCvLu .framer-styles-preset-18n6a6t.rich-text-wrapper h1 { --framer-font-family: \"Helvetica Now Display Bold\", \"Helvetica Now Display Bold Placeholder\", sans-serif; --framer-font-size: 240px; --framer-font-style: normal; --framer-font-weight: 400; --framer-letter-spacing: -0.04em; --framer-line-height: 90%; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #000000; --framer-text-decoration: none; --framer-text-transform: none; }'];export const className=\"framer-hCvLu\";\nexport const __FramerMetadata__ = {\"exports\":{\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"yjDAAA,SAAS,gBAAgB,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,GAAG,MAAU,UAAU,mCAAmC,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,YAAY,GAAM,EAAE,aAAa,GAAK,UAAU,IAAI,EAAE,SAAS,IAAM,OAAO,eAAe,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,CAA+D,OAA9D,GAAG,kBAAkB,EAAE,UAAU,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC,EAAS,CAAC,CAWzY,SAAS,cAAc,EAAE,EAAE,CAAC,OAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,IAA7B,EAA+B,EAAE,GAAU,EAAE,YAAY,IAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,YAAY,IAAU,EAAE,OAAO,CAAC,GAAE,CAMtJ,SAAS,aAAa,EAAE,CAAC,MAAO,GAAQ,GAAO,EAAE,WAAN,GAAgB,aAAa,GAAG,EAAE,eAAe,EAAE,cAAc,YAAY,CAQxH,SAAS,UAAU,EAAE,CAAC,MAAM,CAAC,MAAM,WAAW,CAAC,CAAC,GAAG,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC,CAMhF,SAAS,WAAW,EAAE,CAAC,MAAM,qDAAqD,KAAK,CAAC,CAAC,CAOzF,SAAS,aAAa,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAM,EAAE,EAAE,GAAO,EAAE,EAAE,IAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAU,MAAM,6GAA6G,EAAE,GAAG,UAAU,CAAC,EAAE,MAAM,qBAA4B,IAAG,GAAG,WAAW,CAAC,EAAE,OAAO,EAAE,QAAQ,QAAQ,QAAQ,EAAuE,MAAtD,UAAZ,EAAsB,IAAW,8BAAqD,IAAW,4BAAjC,CAAgE,CAAyX,SAAS,qBAAqB,EAAE,EAAE,CAAC,MAAO,GAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;;;;;;EAM76B,CASA,SAAS,cAAc,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEA,IAAE,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,IAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAO1G,SAAS,aAAa,EAAE,EAAE,CAA4B,OAArBA,IAAE,IAAI,EAAE,OAAO,GAAG,CAAC,EAAA,CAAW,IAAI,CAAC,CAAC,CAQrE,SAAS,eAAe,EAAE,EAAE,EAAE,CAAC,IAAI,EAAEA,IAAE,IAAI,EAAE,OAAO,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,MAAO,GAAK,GAAG,CAAC,EAA8B,MAA3B,GAAE,GAAG,CAAC,EAAE,IAAE,IAAI,EAAE,QAAQ,CAAC,EAAS,GAAK,IAAI,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAA8C,OAAvC,IAAL,IAAQ,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,IAAE,IAAI,EAAE,QAAQ,CAAC,EAAS,EAAE,IAAQ,EAAE,EAAE,CAAC,SAAT,CAAe,CAO3N,SAAS,eAAe,EAAE,EAAE,CAAC,IAAI,EAAE,aAAa,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAO,GAAM,IAAI,EAAE,EAAE,MAAM,EAAwB,OAAtB,eAAe,EAAE,EAAE,CAAC,EAAS,CAAC,CAO9H,SAAS,cAAc,EAAE,EAAE,CAAC,IAAI,EAAEA,IAAE,IAAI,CAAC,EAAE,IAAE,IAAI,EAAE,CAAC,EAAE,IAAE,OAAO,CAAC,CAAC,CAOjE,SAAS,oBAAoB,EAAE,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAE,OAAOC,IAAE,QAAQ,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,aAAa,cAAqB,GAAE,EAAiC,OAA9B,GAAQ,IAAL,MAAU,EAAE,GAAQ,IAAL,GAAO,EAAE,GAAU,CAAC,GAAG,CAAC,CAAC,CAOzN,SAAS,YAAY,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,MAAU,UAAU,6BAA6B,EAAE,GAAU,EAAE,aAAa,wBAAwB,IAA9C,KAAgD,OAAO,EAAE,cAAc,QAAQ,EAAE,IAAI,EAAE,SAAS,cAAc,KAAK,EAA4F,MAA1F,GAAE,UAAU,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,aAAa,yBAAyB,MAAM,EAAS,EAAE,cAAc,QAAQ,CAAC,CAQlV,SAAS,cAAc,EAAE,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAM,EAAE,UAAU,OAAO,EAAE,UAAU,GAAG,IAAK,GAAE,OAAO,IAAI,SAAS,SAAS,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,MAAU,UAAU,IAAW,4BAA8B,EAAE,IAAI,EAAE,yCAAgD,mBAAmB,CAAC,IAAG,IAAI,IAAI,KAAK,EAAE,EAAE,eAAe,CAAC,IAAI,GAAG,IAAW,KAAc,mBAAmB,EAAE,EAAE,KAAI,IAAI,EAAE,mBAAmB,OAAO,IAAI,eAAe,IAAI,eAAe,EAAE,KAAK,MAAM,EAAE,EAAI,EAAE,EAAE,OAAO,UAAU,CAAC,GAAS,EAAE,SAAR,IAAe,GAAS,EAAE,SAAR,IAAe,GAAG,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,YAAY,EAAE,GAAS,EAAE,qBAAR,IAA2B,CAAC,YAAY,EAAE,CAAC,EAAE,EAAM,MAAM,IAAW,uBAAyB,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,EAAM,MAAM,IAAW,uBAAyB,CAAC,OAAO,EAAM,MAAM,IAAW,mBAAqB,CAAC,CAAC,EAAE,EAAE,QAAQ,UAAU,CAAC,IAAI,EAAE,EAAE,OAAO,KAAY,EAAE,UAAY,GAAG,EAAM,MAAM,wDAA+D,IAAM,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAMt+B,SAAS,kBAAkB,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,SAAa,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,iBAAiB,mCAAmC,CAAC,EAAM,EAAE,SAAqB,EAAE,CAAC,YAAY,QAAQ,QAAQ,OAAO,QAAQ,MAAM,yCAAgD,GAAE,CAAC,EAAE,EAAE,SAAS,SAAS,EAAE,CAAC,GAAG,CAAC,GAAU,EAAE,aAAa,kBAAkB,IAAxC,KAA0C,OAAO,IAAI,EAAE,oBAAoB,CAAC,EAAuB,cAAf,YAAY,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,OAAO,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAMhhB,SAAS,cAAc,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,SAAa,OAAO,2BAA0B,OAAO,yBAAyB,GAA8R,OAAO,iBAAiB,UAAU,SAAlS,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,GAAG,EAAE,MAAsB,EAAE,KAAK,QAAvB,cAAiE,KAAI,IAAnC,EAAE,EAAE,iBAAiB,QAAQ,EAAU,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,GAAG,EAAE,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,cAAc,EAAE,MAAM,cAAc,GAAU,EAAE,KAAK,KAAK,EAAE,CAAC,WAAa,KAAK,EAAE,CAAqC,EAAE,CAMte,SAAS,iBAAiB,EAAE,CAAC,GAAc,OAAO,GAAlB,SAAoB,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,OAAO,EAAE,CAAiB,OAAhB,QAAQ,KAAK,CAAC,EAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAQlH,SAAS,YAAY,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,eAAe,EAAE,QAAQ,cAAc,YAAY,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAW,IAAT,IAAK,KAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,UAAU,UAAU,YAAY,CAAC,CAAC,QAAQ,mBAAmB,IAAI,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,UAAU,CAAC,GAAG,EAAE,QAAQ,cAAc,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC,CAO7S,SAAS,YAAY,EAAE,EAAE,CAAC,EAAE,iBAAiB,CAAC,EAAE,IAAI,EAAE,CAAC,EAAM,EAAE,GAAG,EAAE,MAAoB,EAAE,QAAZ,SAAuD,aAAjB,EAAE,EAAE,KAAK,MAAQ,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,IAAI,EAAM,MAAM,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,EAAE,KAAK,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,SAAgB,EAAE,OAAM,EAAE,EAAE,EAAE,UAAU,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,EAAE,MAAM,EAAK,IAAG,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC,GAAG,CAAC,GAAgB,OAAO,GAApB,WAAsB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAS,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,sBAAsB,CAAC,IAAI,EAAE,UAAU,CAAmuB,IAAluB,IAAI,EAAM,EAAE,CAAC,CAAC,oBAAoB,iBAAiB,oBAAoB,oBAAoB,mBAAmB,iBAAiB,EAAE,CAAC,0BAA0B,uBAAuB,0BAA0B,0BAA0B,yBAAyB,uBAAuB,EAAE,CAAC,0BAA0B,yBAAyB,iCAAiC,yBAAyB,yBAAyB,uBAAuB,EAAE,CAAC,uBAAuB,sBAAsB,uBAAuB,uBAAuB,sBAAsB,oBAAoB,EAAE,CAAC,sBAAsB,mBAAmB,sBAAsB,sBAAsB,qBAAqB,mBAAmB,CAAC,EAAM,EAAE,EAAM,EAAE,EAAE,OAAW,EAAE,CAAC,EAAO,EAAE,EAAE,IAAY,GAAP,EAAE,EAAE,GAAM,GAAG,EAAE,KAAK,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAE,MAAO,EAAK,EAAE,EAAM,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,gBAAgB,EAAE,eAAe,EAAM,EAAE,CAAC,QAAQ,SAAiB,EAAE,CAAC,OAAO,IAAI,SAAS,SAAS,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,GAAqB,CAAC,EAAE,IAAI,mBAAmB,CAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,mBAAmB,CAAC,EAAE,IAAK,SAAS,gBAAgB,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,aAAa,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,UAAe,CAAC,OAAO,IAAI,SAAS,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,SAAS,GAAkB,CAAC,EAAE,IAAI,mBAAmB,CAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,aAAa,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAY,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,SAAS,iBAAiB,EAAE,CAAC,CAAC,EAAE,IAAI,SAAa,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,GAAG,SAAS,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAiS,OAA/R,OAAO,iBAAiB,EAAE,CAAC,aAAa,CAAC,IAAI,UAAc,CAAC,MAAO,EAAQ,SAAS,EAAE,kBAAmB,CAAC,EAAE,QAAQ,CAAC,WAAW,GAAK,IAAI,UAAc,CAAC,OAAO,SAAS,EAAE,kBAAkB,CAAC,EAAE,UAAU,CAAC,WAAW,GAAK,IAAI,UAAc,CAAC,MAAO,EAAQ,SAAS,EAAE,kBAAmB,CAAC,CAAC,CAAC,EAAS,CAAC,yEAnG7yD,4BAlCrmBC,IAAuB,SAArB,QAAiD,CAAC,EAAE,SAAS,KAAK,MAAM,IAA3C,kBAkC4cC,IAAuB,MAAM,UAAU,UAArC,OAAiDC,IAAuB,SAArB,QAAkD,OAAO,cAA5B,OAA2C,CAACF,MAAI,CAACC,KAAG,CAACC,KAAG,MAAU,MAAM,+DAA+D,EAAMC,IAAgB,OAAO,WAArB,IAAgC,WAAgC,SAArB,OAAwD,SAArB,OAAiD,OAAO,KAArB,IAA0B,KAAK,CAAC,EAAvC,OAAnC,QAMrxB,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,UAAU,eAAmB,EAAe,SAAS,EAAE,EAAE,EAAE,CAAC,OAAO,eAAe,OAAO,eAAe,EAAE,EAAE,CAAC,aAAa,GAAK,SAAS,GAAK,MAAM,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,QAAQ,UAAU,CAAC,SAAS,GAAS,CAAC,GAAY,OAAT,IAAK,GAAS,MAAU,UAAU,oCAAoC,EAA+C,GAA7C,EAAe,KAAK,MAAM,EAAM,UAAU,CAAC,EAAK,UAAU,OAAO,EAAE,MAAU,UAAU,mCAAmC,CAAC,CAAC,EAAe,EAAQ,UAAU,UAAU,SAAS,EAAE,CAA8B,GAA7B,EAAc,KAAK,QAAQ,EAAK,CAAC,EAAS,CAAC,EAAE,MAAO,GAAM,IAAI,EAAE,EAAE,KAAK,KAAoD,OAA5C,GAAG,EAAE,KAAK,GAAG,OAAO,EAAE,KAAK,KAAY,IAAY,EAAK,EAAE,EAAE,EAAe,EAAQ,UAAU,OAAO,SAAS,EAAE,CAA2B,GAA1B,EAAc,KAAK,KAAK,EAAK,EAAS,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,KAAK,OAAO,GAAG,EAAE,KAAK,EAAE,EAAE,GAAG,IAAK,EAAC,CAAC,EAAE,EAAE,EAAe,EAAQ,UAAU,OAAO,SAAS,EAAE,CAA2B,GAA1B,EAAc,KAAK,KAAK,EAAK,CAAC,EAAS,CAAC,EAAE,MAAO,GAAM,IAAI,EAAE,EAAE,KAAK,KAAK,MAAM,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,EAAe,EAAQ,UAAU,OAAO,SAAS,EAAE,EAAE,CAA2B,GAA1B,EAAc,KAAK,KAAK,EAAK,CAAC,EAAS,CAAC,EAAE,MAAU,UAAU,oCAAoC,EAAE,IAAI,EAAE,EAAE,KAAK,KAAyE,OAAjE,GAAG,EAAE,KAAK,GAAG,EAAE,GAAG,EAAS,OAAK,EAAe,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAS,KAAI,EAAE,EAAE,SAAS,EAAc,EAAE,EAAE,CAAC,GAAG,CAAC,EAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAU,UAAU,EAAE,2CAA2C,OAAO,CAAC,CAAC,CAAC,SAAS,EAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAK,EAAE,IAAI,EAAK,CAAC,CAAC,SAAS,GAAM,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,CAA0C,OAAzC,EAAe,EAAQ,YAAY,EAAI,EAAS,CAAO,EAAE,CAAC,CAAC,SAAS,EAAS,EAAE,CAAC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAA,CAAiB,OAAO,KAArB,IAA0B,KAA0B,SAArB,OAA2DA,IAA/B,MAAiC,EAAMC,IAAE,sBAAsB,SAAS,EAAE,EAAE,SAAa,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,AAAY,EAAE,UAAQ,EAAE,EAAG,EAAA,CAAG,UAAiCD,KAAI,UAAc,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,UAAU,SAAS,EAAe,OAAO,aAApB,IAAiC,SAAe,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,EAAE,WAAW,GAAG,CAAC,OAAO,eAAe,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,SAAqB,EAAE,EAAE,EAAE,EAAE,CAAC,OAAO,OAAO,eAAe,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,GAAK,aAAa,KAAQ,CAAC,CAAC,CAAC,CAAC,MAAS,CAAC,EAAE,SAAqB,EAAE,EAAE,EAAE,CAAQ,MAAP,GAAE,GAAG,EAAS,CAAC,CAAC,CAAC,EAAE,UAAgB,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAK,EAAE,EAAE,CAAC,KAAK,GAAG,EAAE,KAAK,KAAK,EAAE,KAAK,KAAK,IAAK,EAAC,CAAC,MAAM,CAAC,IAAI,SAAa,EAAE,EAAE,CAAC,EAAE,IAAI,EAAK,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,IAAK,EAAC,EAAE,MAAM,UAAgB,CAAC,IAAI,EAAE,EAAe,IAAb,EAAE,EAAE,EAAE,IAAK,GAAQ,GAAG,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAK,CAAC,CAAC,EAAE,EAAE,SAAS,EAAS,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,AAAI,IAAE,EAAE,EAAE,KAAK,CAAE,CAAC,SAAS,EAAW,EAAE,CAAC,IAAI,EAAE,EAAE,OAAO,EAAkD,OAA1C,GAAN,MAAmB,GAAV,UAAyB,GAAZ,aAAgB,EAAE,EAAE,MAAwB,OAAO,GAAnB,YAAsB,CAAC,CAAC,SAAS,GAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,KAAK,MAAM,OAAO,IAAI,EAAe,KAAS,KAAK,QAAT,EAAe,KAAK,MAAM,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC,QAAQ,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,OAAO,CAAC,CAAC,SAAS,EAAe,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAI,KAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,GAAO,EAAE,KAAO,EAAE,EAAE,IAAI,EAAE,KAAK,IAAK,GAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,UAAU,qBAAqB,CAAC,GAAG,EAAE,EAAW,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,UAAU,CAAC,EAAE,UAAU,GAAK,EAAE,MAAM,EAAE,EAAE,KAAK,GAAG,EAAI,EAAE,EAAW,CAAC,GAAE,GAAU,UAAU,CAAC,IAAI,EAAE,IAAI,EAAe,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,UAAoB,CAAC,EAAQ,MAAM,EAAE,SAAS,CAAC,IAAI,UAAmB,CAAC,EAAO,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,GAAO,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,OAAO,GAAG,EAAS,EAAO,CAAC,EAAE,OAAO,EAAE,CAAC,EAAO,KAAK,IAAI,EAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAO,EAAE,CAAC,IAAI,EAAE,KAAS,EAAE,YAAW,EAAE,UAAU,GAAK,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,OAAO,GAAG,EAAS,EAAO,CAAC,EAAE,CAAC,SAAS,EAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,OAAO,KAAK,SAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,MAAM,SAAoB,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAA,CAAG,CAAC,CAAC,CAAC,SAAS,EAAe,EAAE,CAAC,KAAK,IAAI,EAAE,KAAK,UAAU,EAAK,CAAC,SAAS,EAAQ,EAAE,CAAC,KAAK,QAAQ,EAAE,KAAK,MAAM,EAAE,KAAK,UAAU,GAAM,KAAK,MAAM,CAAC,EAAE,KAAK,IAAI,IAAK,EAAC,CAAC,SAAS,EAAQ,EAAE,CAAC,GAAe,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,GAAO,KAAK,UAAT,EAAiB,MAAM,UAAU,eAAe,EAAE,KAAK,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAQ,IAAI,EAAE,KAAK,KAAK,SAAc,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,QAAoB,OAAO,GAAnB,YAAsB,EAAE,QAAoB,OAAO,GAAnB,YAAsB,CAAC,EAAuN,MAArN,GAAE,QAAQ,IAAI,KAAK,aAAa,SAAsB,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,YAAkC,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,EAAM,EAAE,QAAN,GAAa,EAAS,EAAO,CAAC,EAAS,EAAE,OAAO,EAAE,KAAK,MAAM,SAAiB,EAAE,CAAC,OAAO,KAAK,KAAK,IAAK,GAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,IAAK,IAAG,SAAuB,EAAE,CAAC,EAAQ,KAAK,EAAE,CAAC,CAAC,IAAI,SAAsB,EAAE,CAAC,EAAO,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,EAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,cAAc,EAAQ,EAAK,EAAqlC,MAAnlC,GAAQ,UAAU,EAAE,EAAE,EAAE,UAAU,EAAE,EAAK,EAAE,EAAE,EAAQ,WAAW,SAAyB,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,GAAa,OAAO,GAAjB,UAAwB,EAAE,UAAN,EAAc,EAAE,IAAI,GAAG,SAAkB,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,YAAkC,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAQ,UAAU,SAAwB,EAAE,CAAC,OAAO,IAAI,MAAM,SAAkB,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,YAAkC,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAQ,OAAO,SAAqB,EAAE,CAAC,IAAI,EAAE,KAAK,OAAwB,EAAE,KAAK,CAAC,GAA1B,iBAAoE,EAAE,SAAN,EAAa,EAAE,QAAQ,CAAC,CAAC,EAAE,IAAI,GAAG,SAAkB,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,YAAkC,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,EAAgB,EAAE,GAAG,SAAkB,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAlR,EAAE,OAAO,UAAU,cAAc,CAAC,CAAiP,EAAE,EAAE,EAAE,EAAQ,QAAQ,SAAsB,EAAE,CAAC,IAAI,EAAE,KAAK,OAAwB,EAAE,KAAK,CAAC,GAA1B,iBAAgE,IAAI,GAAG,SAAkB,EAAE,EAAE,CAAC,GAAe,OAAO,GAAnB,YAAkC,OAAO,GAAnB,WAAqB,MAAM,UAAU,gBAAgB,EAAE,EAAgB,EAAE,GAAG,SAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAzM,EAAE,OAAO,UAAU,cAAc,CAAC,CAAwK,EAAE,EAAS,CAAO,EAAE,CAAC,EAAE,EAAML,IAAE,IAAI,QAsC9+KC,IAAE,CAAC,YAAY,WAAW,aAAa,SAAS,QAAQ,WAAW,MAAM,SAAS,KAAK,qBAAqB,WAAW,OAAO,YAAY,WAAW,QAAQ,cAAc,WAAW,aAAa,QAAQ,YAAY,QAAQ,cAAc,MAAM,OAAO,EAuD2lE,EAAE,IAAI,QAAY,EAAE,IAAI,QAAYM,IAAE,CAAC,EAAM,EAAE,UAAU,CASv9E,SAAS,EAAO,EAAE,CAAC,IAAI,EAAE,KAAS,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAsS,GAApS,gBAAgB,KAAK,CAAM,EAAK,OAAO,QAAQ,aAAa,SAAQ,EAAE,OAAO,GAAG,OAAO,SAAS,QAAQ,MAAM,QAAQ,KAAK,6EAA6E,EAAE,EAAE,EAAE,IAAiB,OAAO,SAArB,KAA0C,OAAO,GAAlB,WAAsB,EAAE,SAAS,eAAe,CAAC,GAAM,CAAC,aAAa,CAAC,EAAE,MAAU,UAAU,qDAAqD,EAAE,GAAc,EAAE,WAAb,SAAsB,CAAC,IAAI,EAAE,EAAE,cAAc,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,GAAc,EAAE,WAAb,UAAuB,CAAC,WAAW,EAAE,aAAa,KAAK,GAAG,EAAE,EAAE,MAAU,MAAM,gDAAgD,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,cAAc,YAAY,KAAK,QAAQ,EAAE,KAAK,OAAO,IAAI,IAAI,EAAE,IAAID,KAAG,SAAS,EAAE,EAAE,CAA4d,GAA3d,EAAE,WAAW,SAAS,EAAE,CAAC,GAAG,WAAW,EAAE,MAAM,GAAG,EAAE,QAAQ,gBAAgB,EAAE,OAAO,CAAO,EAAE,SAAR,MAAiB,EAAE,OAAO,EAAE,QAAQ,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAsE,GAA9D,GAAa,EAAE,QAAZ,SAA2B,EAAE,MAAgB,EAAE,KAAK,SAAjB,QAA6B,CAAC,IAAI,EAAM,MAAM,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAa,EAAE,QAAZ,QAAsB,EAAE,GAAY,EAAE,SAAX,OAAqB,GAAG,GAAG,EAAE,QAAQ,aAAa,aAAa,MAAM,EAAE,EAAE,GAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,iBAAiB,UAAU,EAAE,UAAU,EAAgB,EAAE,QAAQ,WAArB,SAA8B,CAAC,IAAI,EAAE,oBAAoB,EAAE,CAAC,EAAuB,cAAf,YAAY,CAAiB,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,SAAS,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,EAAyE,MAAvE,GAAE,QAAQ,EAAE,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAS,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAoG,GAAlG,EAAE,IAAI,KAAK,CAAC,EAAE,EAAE,IAAI,KAAK,QAAQ,IAAI,EAAa,KAAK,QAAQ,WAAxB,UAAkC,YAAY,KAAK,MAAM,EAAKC,IAAE,UAAU,CAAC,IAAI,EAAE,UAAyB,CAAC,OAAOA,IAAE,KAAK,CAAC,EAAE,KAAK,wBAAwB,UAAU,CAAC,IAAE,aAAa,cAAc,EAAE,uBAAuB,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,EAAE,mBAAmBA,IAAE,YAAY,CAAC,EAAE,CAAC,EAAE,IAAE,GAAG,mBAAmB,KAAK,uBAAuB,CAAC,CAAC,OAAO,IAAI,CAiL/1D,OA1KjF,aAAa,EAAO,CAAC,CAAC,IAAI,aAAa,MAAM,SAAoB,EAAE,CAAC,IAAI,EAAE,KAAS,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAE,OAAO,IAAID,KAAG,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAMpR,EAAE,CAAC,IAAI,MAAM,MAAM,SAAa,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,IAAIA,KAAG,SAAS,EAAE,EAAE,CAA0B,MAAzB,GAAE,cAAc,EAAE,KAAK,EAAS,EAAE,MAAM,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAO5M,EAAE,CAAC,IAAI,MAAM,MAAM,SAAa,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,OAAO,IAAIA,KAAG,SAAS,EAAE,EAAE,CAA0B,GAAzB,EAAE,cAAc,EAAE,KAAK,EAAc,GAAG,KAAS,MAAU,UAAU,+BAA+B,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,EAAE,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAS7R,EAAE,CAAC,IAAI,KAAK,MAAM,SAAY,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAU,UAAU,8BAA8B,EAAE,GAAG,CAAC,EAAE,MAAU,UAAU,oCAAoC,EAAE,GAAgB,OAAO,GAApB,WAAsB,MAAU,UAAU,kCAAkC,EAAQ,aAAa,KAAK,SAAgB,GAAQ,CAAC,CAAC,SAAN,GAAc,KAAK,WAAW,mBAAmB,CAAC,CAAC,CAAC,OAAO,UAAU,CAAC,EAAE,EAAE,cAAc,KAAK,SAAgB,IAAG,CAAC,CAAC,CAS5Y,EAAE,CAAC,IAAI,MAAM,MAAM,SAAa,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAU,UAAU,8BAA8B,EAAE,GAAG,GAAgB,OAAO,GAApB,WAAsB,MAAU,UAAU,kCAAkC,EAAkD,eAA3B,KAAK,SAAgB,IAAG,CAAG,GAAG,KAAK,WAAW,sBAAsB,CAAC,CAAC,CAAC,OAAO,SAAS,EAAE,CAAC,EAAE,CAAC,CAQrS,EAAE,CAAC,IAAI,YAAY,MAAM,SAAmB,EAAE,CAAC,OAAO,KAAK,WAAW,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,UAAgB,CAAC,IAAI,EAAE,EAAE,IAAI,IAAI,GAAG,IAAIA,KAAG,SAAS,EAAE,EAAE,CAAC,EAAM,MAAM,oCAAoC,CAAC,CAAC,EAAE,EAAE,OAAOA,IAAE,QAAQ,CAAC,CAAC,CAO5O,EAAE,CAAC,IAAI,cAAc,MAAM,SAAqB,EAAE,CAAC,IAAI,EAAE,UAAU,OAAO,GAAY,UAAU,KAAnB,IAAK,GAAiB,UAAU,GAAG,CAAC,EAAE,OAAO,KAAK,WAAW,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAMxK,EAAE,CAAC,IAAI,iBAAiB,MAAM,SAAwB,EAAE,CAAC,OAAO,KAAK,WAAW,iBAAiB,CAAC,CAAC,CAmBnG,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAAyB,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,MAAU,UAAU,2BAA2B,EAAE,OAAO,KAAK,WAAW,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,mBAAmB,MAAM,UAA2B,CAAC,OAAO,KAAK,WAAW,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,QAAQ,MAAM,UAAgB,CAAC,OAAO,KAAK,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,OAAO,MAAM,UAAe,CAAC,OAAO,KAAK,WAAW,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,UAA4B,CAAC,OAAOC,IAAE,UAAUA,IAAE,QAAQ,KAAK,OAAO,EAAE,KAAK,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,UAAyB,CAAC,OAAOA,IAAE,UAAUA,IAAE,KAAK,EAAE,KAAK,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,UAAwB,CAAC,OAAOA,IAAE,UAAUD,IAAE,QAAQC,IAAE,YAAY,EAAE,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,0BAA0B,MAAM,UAAkC,CAAC,OAAO,KAAK,WAAW,yBAAyB,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAuB,MAAM,UAA+B,CAAC,OAAO,KAAK,WAAW,sBAAsB,CAAC,CAAC,EAAE,CAAC,IAAI,sBAAsB,MAAM,UAA8B,CAAC,OAAO,KAAK,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,SAAS,MAAM,UAAiB,CAAC,OAAO,KAAK,WAAW,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,UAAkB,CAAC,IAAI,EAAE,KAAK,OAAO,IAAID,KAAG,SAAS,EAAE,CAAia,GAAha,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,EAAE,OAAO,EAAK,EAAE,mBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,gBAAgB,wBAAwB,GAAE,EAAE,SAAoB,EAAE,QAAQ,WAArB,UAA+B,EAAE,QAAQ,aAAa,EAAE,QAAQ,WAAW,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,QAAQ,WAAW,EAAE,QAAQ,WAAW,WAAW,YAAY,EAAE,QAAQ,UAAU,EAAE,EAAE,QAAQ,WAAW,YAAY,EAAE,OAAO,GAAM,EAAE,SAAiB,EAAE,QAAQ,WAAlB,OAA4B,EAAE,QAAQ,WAAW,CAAC,EAAE,QAAQ,gBAAgB,wBAAwB,EAAE,IAAI,EAAE,EAAE,QAAQ,cAAc,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,WAAW,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,WAAW,YAAY,EAAE,UAAU,EAAE,EAAE,WAAW,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,oBAAoB,UAAU,EAAE,UAAU,EAAE,IAAE,WAAWC,IAAE,IAAI,mBAAmB,EAAE,uBAAuB,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,UAAuB,CAAC,OAAO,KAAK,IAAI,WAAW,CAAC,CAWvsE,EAAE,CAAC,IAAI,eAAe,MAAM,SAAsB,EAAE,CAAC,OAAO,KAAK,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,UAAsB,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAOjK,EAAE,CAAC,IAAI,iBAAiB,MAAM,UAAyB,CAAC,OAAO,KAAK,IAAI,aAAa,CAAC,CAMtF,EAAE,CAAC,IAAI,iBAAiB,MAAM,SAAwB,EAAE,CAAC,OAAO,KAAK,IAAI,cAAc,CAAC,CAAC,CAQzF,EAAE,CAAC,IAAI,cAAc,MAAM,UAAsB,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,UAA4B,CAAC,OAAO,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,UAAmB,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,CAQlP,EAAE,CAAC,IAAI,WAAW,MAAM,SAAkB,EAAE,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAQvE,EAAE,CAAC,IAAI,eAAe,MAAM,UAAuB,CAAC,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,UAAyB,CAAC,OAAO,KAAK,IAAI,aAAa,CAAC,CAYvK,EAAE,CAAC,IAAI,iBAAiB,MAAM,SAAwB,EAAE,CAAC,OAAO,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,UAAsB,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,UAAmB,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,UAAU,MAAM,UAAkB,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,CAO9S,EAAE,CAAC,IAAI,UAAU,MAAM,SAAiB,EAAE,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,CAOpE,EAAE,CAAC,IAAI,WAAW,MAAM,SAAkB,EAAE,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,WAAW,MAAM,UAAmB,CAAC,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,UAAoB,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,kBAAkB,MAAM,UAA0B,CAAC,OAAO,KAAK,IAAI,cAAc,CAAC,CAQ9S,EAAE,CAAC,IAAI,kBAAkB,MAAM,SAAyB,EAAE,CAAC,OAAO,KAAK,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,UAAoB,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,eAAe,MAAM,UAAuB,CAAC,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,UAAqB,CAAC,OAAO,KAAK,IAAI,SAAS,CAAC,CAMhU,EAAE,CAAC,IAAI,aAAa,MAAM,SAAoB,EAAE,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,UAAsB,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,UAAqB,CAAC,OAAO,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,UAAwB,CAAC,OAAO,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,oBAAoB,MAAM,UAA4B,CAAC,OAAO,KAAK,IAAI,gBAAgB,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,MAAM,UAAqB,CAAC,OAAO,KAAK,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,UAAwB,CAAC,OAAO,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,gBAAgB,MAAM,UAAwB,CAAC,OAAO,KAAK,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,IAAI,iBAAiB,MAAM,UAAyB,CAAC,OAAO,KAAK,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,cAAc,MAAM,UAAsB,CAAC,OAAO,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,YAAY,MAAM,UAAoB,CAAC,OAAO,KAAK,IAAI,QAAQ,CAAC,CAW13B,EAAE,CAAC,IAAI,YAAY,MAAM,SAAmB,EAAE,CAAC,OAAO,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAS,CAAM,EAAE,EAAML,MAAG,IAAE,qBAAqB,EAAE,iBAAiB,EAAE,aAAa,oICnUnI,EAEvB,gBAAkB,CAC3B,SAAU,WACV,MAAO,OACP,OAAQ,OACR,QAAS,OACT,eAAgB,SAChB,WAAY,QAChB,EACa,gBAAkB,CAC3B,GAAG,gBACH,aAAc,EACd,WAAY,0BACZ,MAAO,OACP,OAAQ,kBACR,cAAe,QACnB,EACa,cAAgB,CACzB,QAAS,CACL,KAAM,YAAY,YACtB,EACA,aAAc,CACV,KAAM,YAAY,YACtB,EACA,aAAc,CACV,KAAM,YAAY,YACtB,CACJ,EAEU,YAAY,OASR,YAAY,QAOZ,YAAY,OAMZ,YAAY,6ECpD6B,wBACtB,KCM7B,SAAgB,YAAY,EAAM,CAClC,IAAM,EAAMM,GAAO,IAAI,EAIvB,OAHI,EAAI,UAAY,OAChB,EAAI,QAAU,EAAK,GAEhB,EAAI,OACf,2DAb8B,6DCAA,8DCAM,kECAN,2DCAM,kFCAL,2DCAE,uBAE+F,oECF1E,uBACK,uBAEqE,mBAEJ,8DCJ/F,wBAA6B,iBAAoH,KCW9K,SAAgB,eAAgB,CAG5B,OAFiBC,SAAY,aAAa,QAAQ,IAAM,aAAa,OACnE,CAAC,CACW,CAClB,+DAhB+B,uBACM,kECDP,KCE9B,SAAgB,UAAU,EAAO,CAC7B,GAAM,CAAE,eAAe,sBAAsB,gBAAgB,iBAAiB,oBAAoB,oBAAwB,EAU1H,OAToBC,SAAY,EAAsB,GAAG,EAAc,KAAK,EAAe,KAAK,EAAkB,KAAK,EAAiB,IAAM,GAAG,EAAa,IAC5J,CACE,EACA,EACA,EACA,EACA,EACA,CACJ,CACiB,CACrB,4FAd+B,uBACK,EAcvB,oBAAsB,CAC/B,aAAc,CACV,MAAO,SACP,KAAM,YAAY,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,EAgBc,YAAY,uECtDkL,mCAAiJ,mBAAwH,sBAAgJ,uBAA4H,0BAA+I,oBAAgI,iBAA6H,mBAAyI,4BAA0Q,uBAAgI,uBAA6J,0BAAsI,iBAAkK,2IEA3hE,uBAAyE,8BAAkC,iBAAkC,wBAA6C,8BAAgG,EAAO,WAAW,gCAU5U,MAAM,QAAQ,SAAe,CAAC,QAAM,WAAS,OAAK,WAAS,OAAK,SAAO,kBAAgB,aAAW,CAAC,EAAE,YAAU,CAAC,EAAE,QAAM,GAAG,GAAO,CAAC,GAAK,CAAC,EAAI,GAAQC,GAAS,CAAC,EAAQ,EAAOC,GAAO,EAAQ,EAAa,UAAU,CAAK,EAA6e,OAA3e,OAAc,CAAC,GAAG,CAAC,EAAO,QAAQ,OAAO,GAAK,EAAE,GAAI,EAAM,MAAM,UAAU,EAAE,EAAM,MAAM,UAAU,EAAE,CAAC,KAAK,CAAC,EAAQ,EAAe,IAAIC,EAAO,EAAO,QAAQ,CAAC,KAAG,UAAU,GAAM,SAAS,aAAa,QAAQ,IAAI,aAAa,QAAa,EAAS,OAAO,EAAgB,WAAc,OAAK,MAAM,EAAO,MAAM,EAAK,WAAW,EAAI,CAAC,EAAE,EAAe,GAAG,OAAO,CAAM,EAAE,EAAe,GAAG,QAAQ,CAAK,CAAE,EAAE,CAAC,EAAO,CAAG,CAAC,EAAE,OAAc,CAAC,EAAO,GAAK,EAAI,CAAC,CAAE,EAAE,CAAC,EAAM,EAAS,EAAK,EAAS,EAAK,CAAM,CAAC,EAAuB,EAAK,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,EAAgB,GAAG,EAAM,eAAa,SAAS,WAAW,MAAM,OAAO,OAAO,OAAO,QAAQ,OAAO,eAAe,SAAS,WAAW,SAAS,SAAS,QAAQ,EAAE,GAAG,EAAM,SAAuB,EAAK,MAAM,CAAC,UAAU,eAAe,IAAI,EAAO,MAAM,CAAC,MAAM,OAAO,OAAO,MAAM,CAAC,EAAE,CAAG,CAAC,CAAC,CAAE,EAAE,CAAC,2EAA4E,CAAC,EAAE,MAAM,aAAa,CAAC,MAAM,8BAA8B,SAAS,GAAM,KAAK,GAAM,KAAK,GAAM,gBAAgB,mBAAmB,aAAa,CAAC,EAAE,oBAAoB,MAAM,CAAC,MAAM,CAAC,MAAM,MAAM,KAAK,YAAY,MAAM,EAAE,GAAG,oBAAoB,SAAS,CAAC,MAAM,WAAW,KAAK,YAAY,QAAQ,aAAa,OAAO,cAAc,MAAM,EAAE,SAAS,CAAC,MAAM,WAAW,KAAK,YAAY,QAAQ,aAAa,MAAM,cAAc,IAAI,EAM7hD,KAAK,CAAC,MAAM,OAAO,KAAK,YAAY,QAAQ,aAAa,MAAM,cAAc,IAAI,EAAE,KAAK,CAAC,MAAM,OAAO,KAAK,YAAY,QAAQ,aAAa,MAAM,cAAc,IAAI,EAMpK,gBAAgB,CAAC,KAAK,YAAY,MAAM,MAAM,aAAa,aAAa,kBAAkB,EAAE,OAAO,CAAC,KAAK,YAAY,YAAY,EAAE,MAAM,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC,KChBvK,SAAS,kBAAkB,EAAE,EAAE,CAAC,OAAO,EAAK,IAAI,EAAP,EAAU,CAAC,mDANid,WAAW,GAAG,KCAtY,SAAS,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAM,EAAM,EAAE,EAAE,EAAG,GAAE,GAAG,EAAE,GAAG,EAAE,EAAE,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC,EAAEE,KAAG,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,SAAS,YAAY,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,OAAOC,WAAE,IAAM,EAAS,GAAG,gBAAgB,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,MAAO,IAAO,IAAJ,GAAW,IAAJ,EAAM,EAAE,WAAW,EAAS,CAAC,EAAE,EAAE,CAAC,CAAC,qEAA7X,EAAO,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,EAAQD,IAAE,KAAW,EAAE,uDCAoC,KCAqkB,SAAS,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,UAAU,eAAe,KAAK,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAS,GAAN,MAAsB,OAAO,OAAO,uBAA3B,WAAiD,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,sBAAsB,CAAC,EAAE,EAAE,EAAE,OAAO,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,OAAO,UAAU,qBAAqB,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,4ECAjkCG,IAAE,CAAC,EAAE,OAAO,eAAeA,IAAE,aAAa,CAAC,MAAM,EAAI,CAAC,EAAE,IAAE,QAAQ,UAAU,CAAC,EAAE,IAAE,UAAU,UAAU,CAAC,EAAUA,IAAE,WAAaA,IAAE,QAAUA,IAAE,aCAxE,SAAS,sBAAsB,EAAE,EAAE,EAAE,CAAC,IAAM,EAAE,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,OAAOE,kBAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAA6H,SAAS,iBAAiB,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC,CAA4tD,SAAS,qBAAqB,EAAE,CAAC,IAAI,EAAM,EAAE,EAAM,EAAE,EAAE,CAAC,EAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,KAAM,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAW,IAAT,IAAK,IAAO,EAAE,mBAAmB,EAAE,GAAG,GAAG,EAAE,IAAM,EAAE,EAAE,EAAkC,OAA5B,EAAE,SAAN,GAAc,EAAE,KAAK,EAAE,OAAO,EAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,mBAA0B,GAAgB,GAAG,GAAG,CAAC,0FAAvyE,EAAO,EAAE,EAAw9D,EAAE,GAAS,EAAE,OCAqnG,SAAS,gBAAgB,EAAE,EAAE,CAAC,IAAI,EAA6K,OAA7J,OAAO,GAAlB,SAAuB,GAAa,EAAE,KAAkB,EAAE,GAAG,SAAS,iBAAiB,CAAC,GAAE,EAAE,EAAE,IAAQ,EAAE,SAAS,iBAAiB,CAAC,EAAO,aAAa,UAAU,EAAE,CAAC,CAAC,GAAU,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAo7H,SAAS,sBAAsB,EAAE,CAAC,IAAM,EAAE,IAAI,QAAQ,OAAO,EAAE,CAAC,IAAI,CAAC,IAAM,EAAE,IAAI,IAAU,GAAc,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAQ,CAAC,IAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAA4G,OAAxG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAS,EAAE,IAAI,CAAC,CAAC,EAAQ,EAAa,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAEE,qBAAE,CAAC,CAAC,EAAS,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAQ,EAAE,EAAE,OAA8C,GAAjC,GAAG,GAAG,GAAG,EAAE,MAAM,cAAc,EAAO,CAAC,IAAM,EAAE,EAAE,EAAE,GAAS,EAAM,IAAJ,EAAM,KAAK,EAAE,GAAO,EAAE,EAAM,EAAE,EAAQ,EAAS,GAAuB,UAAU,GAAG,EAAE,CAAC,GAAK,CAAC,UAAU,EAAE,mBAAmB,GAAG,EAAQ,EAAU,GAAuB,WAAY,GAAG,EAAQ,EAAU,GAAuB,aAAc,YAAY,IAAI,EAAE,EAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAY,GAAiB,GAAO,IAAJ,GAAW,IAAJ,GAAc,EAAE,KAAT,QAAe,EAAEC,uBAAG,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,KAAM,GAAY,GAAiB,WAAW,EAAE,CAAC,EAAE,IAAM,EAAE,EAAa,EAAE,EAAE,EAAS,GAAuB,SAAS,OAAO,CAAC,EAAQ,EAAE,EAAa,CAAC,EAAE,EAAE,OAAO,OAAO,OAAO,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,QAAQ,CAAC,EAAK,IAAG,EAAE,UAAU,EAAE,EAAE,mBAAmB,YAAY,IAAI,EAAE,KAAgD,GAAE,CAAC,OAAO,OAAO,SAAnD,EAAa,EAAa,EAAE,GAAG,CAA6B,CAAC,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAqI,SAAS,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAAiB,OAAO,qBAArB,IAA0C,UAAU,CAAC,EAAE,IAAM,EAAE,gBAAgB,CAAC,EAAQ,EAAE,IAAI,QAA6P,EAAE,IAAI,qBAAhO,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAQ,KAAM,EAAE,eAAe,CAAC,IAAM,EAAE,EAAE,CAAC,EAAe,OAAO,GAApB,WAAsB,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAS,IAAG,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAwD,CAAC,KAAK,EAAE,WAAW,EAAE,UAAqB,OAAO,GAAlB,SAAoB,EAAE,EAAE,EAAE,CAAC,EAA+B,OAA7B,EAAE,SAAS,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAY,EAAE,WAAW,CAAC,CAA2B,SAAS,eAAe,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,GAAK,CAAC,WAAW,EAAE,UAAU,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,aAAa,YAAY,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,OAAO,EAAE,YAAY,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,cAAc,GAAG,CAAC,IAAI,GAAU,EAAE,EAAE,IAAI,CAAC,IAAjB,MAAuC,EAAE,SAAS,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,MAAM,CAAC,OAAO,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,UAAU,EAAE,CAAC,EAAE,QAAQ,YAAY,CAAC,CAAC,SAAS,sBAAsB,CAAe,OAAO,eAArB,MAAsC,EAAE,IAAI,eAAe,SAAS,EAAE,CAAC,SAAS,cAAc,EAAE,EAAE,CAAC,GAAG,qBAAqB,EAAE,IAAM,EAAE,gBAAgB,CAAC,EAAiH,OAA/G,EAAE,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,EAAM,IAAG,EAAE,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,GAAE,EAAE,IAAI,CAAC,EAAS,GAAuB,QAAQ,CAAC,CAAC,EAAE,MAAY,CAAC,EAAE,SAAS,GAAG,CAAC,IAAM,EAAE,EAAE,IAAI,CAAC,EAAS,GAAuB,OAAO,CAAC,EAAU,GAAP,MAA4B,EAAE,MAAe,GAAP,MAA4B,EAAE,UAAU,CAAC,CAAE,EAAE,CAAC,CAAC,CAAuB,SAAS,2BAA2B,CAAC,MAAM,CAAC,IAAM,EAAE,CAAC,MAAM,OAAO,WAAW,OAAO,OAAO,WAAW,EAAQ,EAAE,CAAC,OAAO,OAAO,KAAK,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,iBAAiB,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,EAAE,CAAyC,OAAxC,EAAE,IAAI,CAAC,EAAE,GAAG,0BAA0B,MAAY,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,IAAI,EAAE,IAAK,GAAE,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,OAAmB,OAAO,GAApB,WAAsB,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAA+hK,SAAS,qBAAqB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,kBAAkB,EAAE,EAAE,EAAE,CAAC,EAAE,cAAc,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,gLAAv3iB,kBAAwE,iBAA+B,YAAuC,kBAA+G,EAAgM,EAAE,CAAC,GAAG,IAAI,IAAI,GAAG,EAAQ,EAAE,CAAC,YAAY,QAAQ,SAAS,MAAM,EAA+D,EAAE,CAAC,OAAO,UAAU,aAAa,OAAO,cAAc,GAAG,EAAE,KAAK,EAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,sBAAsB,aAAa,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,WAAW,aAAa,EAAE,cAAcC,UAAC,EAAE,KAAK,CAAC,EAAQ,EAAE,IAAI,IAAU,kBAAkB,GAAG,YAAY,IAAU,EAAE,CAAC,IAAI,IAAI,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,IAAI,kBAAkB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAuE,IAAI,IAAI,CAAC,EAAiuB,cAAc,GAAG,SAAS,cAAc,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,SAAS,IAAI,CAAC,EAAQ,EAAE,CAAC,wBAAsC,OAAO,IAArB,KAA0B,OAAO,eAAe,KAAK,IAAI,kBAAkB,EAAE,UAAU,OAAO,eAAe,KAAK,QAAQ,UAAU,SAAS,EAAE,qBAAqB,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAS,CAAC,MAAO,EAAK,CAAC,MAAO,EAAI,EAAE,aAAa,EAAQ,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAS,EAAQ,EAAE,CAAC,EAAQ,EAAE,CAAC,EAAE,IAAI,IAAM,KAAK,EAAE,EAAE,QAAiB,EAAE,KAAX,IAAK,KAAW,EAAE,GAAG,EAAE,EAAE,CAAC,GAAU,EAAE,IAAg7P,eAAe,GAAc,OAAO,GAAlB,SAA4F,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAmkB,EAAE,IAAI,QAA45B,EAAE,IAAI,IAAsoL,GAAG,CAAC,SAAS,GAAG,EAAQ,EAAE,OAAQ,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,GAAG,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAK,CAAC,KAAK,GAAG,EAAkB,OAAO,SAAS,GAAG,GAAG,CAAwC,GAAvC,EAAE,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAK,CAAC,EAAE,MAAO,IAAG,CAAC,EAAE,EAAE,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,GAApIG,OAAE,EAAE,CAAC,MAAM,CAA4H,CAAC,CAAC,CAAC,EAAQ,YAAY,EAAE,EAAE,IAAI,GAAG,EAAI,CAAC,EAAE,aAAuB,EAAE,cAAZ,WAAyB,EAAE,EAAE,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAA8xB,GAAG,CAAC,OAAO,GAAG,MAAM,CAAtyB,SAAS,GAAG,EAAQ,EAAE,MAAO,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAM,EAAE,WAAW,EAAE,aAAa,CAAC,EAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,EAA4E,OAA1E,EAAE,iBAAiB,eAAe,CAAC,EAAE,EAAE,iBAAiB,eAAe,CAAC,MAAY,CAAC,EAAE,oBAAoB,eAAe,CAAC,EAAE,EAAE,oBAAoB,eAAe,CAAC,CAAC,CAAC,CAAwf,EAAE,MAAM,CAAnf,SAAS,GAAG,EAAQ,EAAE,MAAO,WAAW,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAM,EAAY,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,WAAW,CAAC,EAAE,OAAO,oBAAoB,YAAY,CAAW,CAAC,EAAQ,EAAc,GAAG,CAAC,EAAE,EAAE,qBAAqB,EAAE,aAAa,CAAC,EAAE,OAAO,iBAAiB,YAAY,CAAW,CAAC,EAAkD,OAAhD,EAAE,iBAAiB,cAAc,CAAa,MAAY,CAAC,EAAE,oBAAoB,cAAc,CAAa,EAAE,OAAO,oBAAoB,YAAY,CAAW,CAAC,CAAC,CAAuC,CAAC,EAAW,CAAqB,GAAG,OAAO,KAAK,EAAE,CAAQ,0ECA76lB,EAClB,cAAc,GAAG,aAAa,eCD8S,SAAgB,mBAAmB,EAAW,EAAQ,CAE/Y,IAAM,EAAWC,GAAO,CAAO,EAAQ,EAAUA,GAAO,EAAQ,EAAgBA,GAAO,EAAK,EAAQ,EAAW,aAAa,QAAQ,IAAI,aAAa,OAC/I,EAAc,GAAgD,aAAc,EAAQ,aAAa,CAAC,EAClG,EAASC,GAAY,GAAgD,SAAS,CAAC,GAAG,CAAa,CAAC,EAChG,EAAYA,GAAY,GAAO,CAAC,IAAI,EAAI,OAAY,EAAW,SAAyC,UAAW,EAAW,QAAQ,UAAU,CAAK,EAAE,CAAM,EAAE,CAAC,CAAC,EACjK,EAAO,gBAAgB,cAAc,CAAU,EAAE,EAAW,YAAY,EAAY,CAAU,CAAC,CAAC,EAIsG,OAH5M,OAAc,CAAC,GAAG,CAAC,cAAc,CAAU,GAAG,EAAgB,QAAQ,CAAC,IAAI,EAAI,EAAK,IAAM,EAAS,EAAY,CAAU,EAEzH,IAF4H,EAAI,EAAU,UAAW,MAA0B,EAAI,KAAK,EACrL,GAAS,EAAS,EAAS,CAAM,EAC1B,EAAW,SAA2C,SAAU,CAAC,EAAW,CAAC,IAAI,EAC3F,EAAU,QAAQC,SAAQ,EAAO,EAAe,EAAW,SAA2C,UAAU,CAAE,MAAM,EAAO,IAAI,CAAQ,CAAG,CAAC,EAAgB,QAAQ,EAAK,EAAE,CAAC,EAAW,GAAG,CAAY,CAAC,EAAS,CAAO,kEAV3K,uBAAqD,qBAA4H,mBAAwH;;;;;;;;;yBEApV,QAAU,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAO,OAEhG,QAAU,CAAC,EACR,YAAc,QAAe,SAAU,EAAM,EAAS,CACvD,QACF,QAAU,EAAQ,CAAI,GAEtB,EAAK,OAAS,EAAQ,CAAI,EAC1B,EAAK,UAAY,EAAK,OAE1B,EAAE,QAAU,CAAC,EAAG,SAAU,OAAQ,CAQhC,IAAI,MAAQ,6BACR,aAAe,GACf,oBAAsB,QAQtB,gBAAkB,GAClB,kBACA,SAAW,iCAAiC,KAAK,UAAU,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,IAAI,EAAgB,0OAA+V,EAC/W,EACA,EAAM,EAAc,OAExB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,OAAO,EAAc,IAAM,KAAK,EAAc,GAElD,EAAA,CAAG,EAEH,SAAS,kBAAmB,CAC1B,MAAO,CAAC,CACV,CAEA,OAAO,OAAS,KAAK,OAErB,OAAO,IAAM,SAAU,EAAK,CAG1B,GAAI,OAFgB,GAEL,UAAY,EAAI,OAAQ,CACrC,IAAI,EAAS,iBAAiB,EAAI,MAAM,EACpC,EACA,EAAM,EAAI,OAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,GAAK,KAAK,IAAI,EAAI,EAAE,EAG7B,OAAO,CACT,CAEA,OAAO,KAAK,IAAI,CAAG,CACrB,EAEA,IAAI,qBAAuB,IACvB,UAAY,KAAK,GAAK,IACtB,YAAc,MAElB,SAAS,YAAY,EAAM,CAQ3B,CAIA,SAAS,SAAS,EAAS,CACzB,EAAQ,MAAM,SAAW,WACzB,EAAQ,MAAM,IAAM,EACpB,EAAQ,MAAM,KAAO,EACrB,EAAQ,MAAM,QAAU,QACxB,EAAQ,MAAM,gBAAkB,MAChC,EAAQ,MAAM,sBAAwB,MACtC,EAAQ,MAAM,mBAAqB,UACnC,EAAQ,MAAM,yBAA2B,UACzC,EAAQ,MAAM,eAAiB,cAC/B,EAAQ,MAAM,qBAAuB,cACrC,EAAQ,MAAM,kBAAoB,aACpC,CAEA,SAAS,kBAAkB,EAAM,EAAa,EAAW,EAAiB,CACxE,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,gBAAgB,EAAM,EAAiB,CAC9C,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,oBAAoB,EAAM,EAAY,EAAa,EAAiB,CAC3E,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAkB,EAAI,GAAK,CAC3D,CAEA,SAAS,oBAAoB,EAAM,EAAY,EAAa,CAC1D,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,CAClC,CAEA,SAAS,eAAe,EAAM,EAAQ,CACpC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,OAAS,CAC7B,CAEA,SAAS,wBAAwB,EAAa,EAAa,CACzD,CAAC,MAAQ,QAAA,CAAS,KAAO,mBACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,YAAc,CAClC,CAEA,SAAS,mBAAmB,EAAa,CACvC,CAAC,MAAQ,QAAA,CAAS,KAAO,cACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,CAClC,CAEA,SAAS,4BAA4B,EAAM,EAAa,CACtD,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,CAClC,CAEA,IAAI,gBAAkB,UAAY,CAChC,IAAI,EAAS,EACb,OAAO,UAAoB,CAEzB,MADA,IAAU,EACH,oBAAsB,CAC/B,CACF,EAAE,EAEF,SAAS,SAAS,EAAG,EAAG,EAAG,CACzB,IAAI,EACA,EACA,EACA,EAKA,KAAK,MAAM,EAAI,CAAC,EAJhB,EAKA,EAAI,EAAI,EAJR,EAKA,GAAK,EAAI,GAJT,EAKA,GAAK,EAAI,EAAI,GAJb,EAKA,GAAK,GAAK,EAAI,GAAK,GAEvB,OAAQ,EAAI,EAAZ,CACE,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,IAAK,GACH,EAAI,EACJ,EAAI,EACJ,EAAI,EACJ,MAEF,QACE,KACJ,CAEA,MAAO,CAAC,EAAG,EAAG,CAAC,CACjB,CAEA,SAAS,SAAS,EAAG,EAAG,EAAG,CACzB,IAAI,EAAM,KAAK,IAAI,EAAG,EAAG,CAAC,EACtB,EAAM,KAAK,IAAI,EAAG,EAAG,CAAC,EACtB,EAAI,EAAM,EACV,EACA,EAAI,IAAQ,EAAI,EAAI,EAAI,EACxB,EAAI,EAAM,IAEd,OAAQ,EAAR,CACE,KAAK,EACH,EAAI,EACJ,MAEF,KAAK,EACH,EAAI,EAAI,EAAI,GAAK,EAAI,EAAI,EAAI,GAC7B,GAAK,EAAI,EACT,MAEF,KAAK,EACH,EAAI,EAAI,EAAI,EAAI,EAChB,GAAK,EAAI,EACT,MAEF,KAAK,EACH,EAAI,EAAI,EAAI,EAAI,EAChB,GAAK,EAAI,EACT,MAEF,QACE,KACJ,CAEA,MAAO,CAAC,EAAG,EAAG,CAAC,CACjB,CAEA,SAAS,mBAAmB,EAAO,EAAQ,CACzC,IAAI,EAAM,SAAS,EAAM,GAAK,IAAK,EAAM,GAAK,IAAK,EAAM,GAAK,GAAG,EASjE,MARA,GAAI,IAAM,EAEN,EAAI,GAAK,EACX,EAAI,GAAK,EACA,EAAI,IAAM,IACnB,EAAI,GAAK,GAGJ,SAAS,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,CACxC,CAEA,SAAS,mBAAmB,EAAO,EAAQ,CACzC,IAAI,EAAM,SAAS,EAAM,GAAK,IAAK,EAAM,GAAK,IAAK,EAAM,GAAK,GAAG,EASjE,MARA,GAAI,IAAM,EAEN,EAAI,GAAK,EACX,EAAI,GAAK,EACA,EAAI,GAAK,IAClB,EAAI,GAAK,GAGJ,SAAS,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,CACxC,CAEA,SAAS,YAAY,EAAO,EAAQ,CAClC,IAAI,EAAM,SAAS,EAAM,GAAK,IAAK,EAAM,GAAK,IAAK,EAAM,GAAK,GAAG,EASjE,MARA,GAAI,IAAM,EAAS,IAEf,EAAI,GAAK,EACX,IAAI,GACK,EAAI,GAAK,IAClB,EAAI,IAAM,GAGL,SAAS,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,CACxC,CAEA,IAAI,SAAW,UAAY,CACzB,IAAI,EAAW,CAAC,EACZ,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,IAAK,GAAK,EACxB,EAAM,EAAE,SAAS,EAAE,EACnB,EAAS,GAAK,EAAI,SAAW,EAAI,IAAM,EAAM,EAG/C,OAAO,SAAU,EAAG,EAAG,EAAG,CAaxB,OAZI,EAAI,IACN,EAAI,GAGF,EAAI,IACN,EAAI,GAGF,EAAI,IACN,EAAI,GAGC,IAAM,EAAS,GAAK,EAAS,GAAK,EAAS,EACpD,CACF,EAAE,EAEF,SAAS,WAAY,CAAC,CAEtB,UAAU,UAAY,CACpB,aAAc,SAAU,EAAW,EAAM,CACvC,IAAK,MAAQ,QAAA,CAAS,KAAK,GAGzB,IAAK,IAFD,GAAO,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,OAEnC,EAAI,EAAG,EAAI,EAAK,GAAK,GAC3B,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,EAAE,CAAC,CAAI,CAG/C,EACA,iBAAkB,SAAU,EAAW,EAAU,CAO/C,OANM,MAAQ,QAAA,CAAS,KAAK,KAC1B,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAa,CAAC,IAGtC,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,KAAK,CAAQ,EAExC,UAAY,CACjB,KAAK,oBAAoB,EAAW,CAAQ,CAC9C,EAAE,KAAK,MAAQ,OAAO,CACxB,EACA,oBAAqB,SAAU,EAAW,EAAU,CAClD,GAAI,CAAC,EACH,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAa,UAC/B,IAAK,MAAQ,QAAA,CAAS,KAAK,GAAY,CAI5C,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,OAErC,EAAI,IACJ,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,KAAO,KAC1C,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,OAAO,EAAG,CAAC,EAE7C,IACA,KAGF,GAAK,GAGD,MAAQ,QAAA,CAAS,KAAK,EAAU,CAAC,SACrC,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAa,KAExC,CACF,CACF,EAGA,IAAI,iBAAmB,UAAY,CACjC,SAAS,EAAmB,EAAM,EAAK,CACrC,IAAI,EAAI,EACJ,EAAM,CAAC,EACP,EAEJ,OAAQ,EAAR,CACE,IAAK,QACL,IAAK,SACH,EAAQ,EACR,MAEF,QACE,EAAQ,IACR,KACJ,CAEA,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,KAAK,CAAK,EAGhB,OAAO,CACT,CAEA,SAAS,EAAwB,EAAM,EAAK,CAa1C,OAZI,IAAS,UACJ,IAAI,aAAa,CAAG,EAGzB,IAAS,QACJ,IAAI,WAAW,CAAG,EAGvB,IAAS,SACJ,IAAI,kBAAkB,CAAG,EAG3B,EAAmB,EAAM,CAAG,CACrC,CAMA,OAJI,OAAO,mBAAsB,YAAc,OAAO,cAAiB,WAC9D,EAGF,CACT,EAAE,EAEF,SAAS,iBAAiB,EAAK,CAC7B,OAAO,MAAM,MAAM,KAAM,CACvB,OAAQ,CACV,CAAC,CACH,CAMA,SAAS,SAAS,EAAM,CAEtB,OAAO,SAAS,gBAAgB,MAAO,CAAI,CAC7C,CAIA,SAAS,UAAU,EAAM,CAEvB,OAAO,SAAS,cAAc,CAAI,CACpC,CAEA,SAAS,0BAA2B,CAAC,CAErC,yBAAyB,UAAY,CACnC,mBAAoB,SAAU,EAAM,EAC7B,MAAQ,QAAA,CAAS,kBAAkB,QAAQ,CAAI,IAAM,MACvD,MAAQ,QAAA,CAAS,kBAAkB,KAAK,CAAI,GAE5C,MAAQ,QAAA,CAAS,UAAU,mBAAmB,MAAQ,OAAO,EAE9D,CAAC,MAAQ,QAAA,CAAS,YAAc,GAEpC,EACA,yBAA0B,UAAY,CACpC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,kBAAkB,OAE9C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,SAAS,GAE3C,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,OACzC,CAAC,MAAQ,QAAA,CAAS,KAAO,GAG/B,EACA,6BAA8B,SAAU,EAAW,CACjD,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,EACvC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAClC,CACF,EAGA,IAAI,aAAe,UAAY,CAC7B,IAAI,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,SAAU,EAAM,CACrB,OAAO,EAAe,IAAS,EACjC,CACF,EAAE,EAiCE,OAAS,UAAY,CACvB,IAAI,EAAO,KAAK,IACZ,EAAO,KAAK,IACZ,EAAO,KAAK,IACZ,EAAO,KAAK,MAEhB,SAAS,GAAQ,CAiBf,MAhBA,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EACvB,MAAQ,OACjB,CAEA,SAAS,EAAO,EAAO,CACrB,GAAI,IAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,EAAO,EAAK,CAAK,EAEjB,EAAO,EAAK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAM,CAAC,EAAM,EAAG,EAAG,EAAM,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAAS,EAAQ,EAAO,CACtB,GAAI,IAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,EAAO,EAAK,CAAK,EAEjB,EAAO,EAAK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAM,CAAC,EAAM,EAAG,EAAG,EAAM,EAAM,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAAS,EAAQ,EAAO,CACtB,GAAI,IAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,EAAO,EAAK,CAAK,EAEjB,EAAO,EAAK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAM,EAAG,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAAM,EAAG,EAAM,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAAS,EAAQ,EAAO,CACtB,GAAI,IAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,EAAO,EAAK,CAAK,EAEjB,EAAO,EAAK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAM,CAAC,EAAM,EAAG,EAAG,EAAM,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAC5E,CAEA,SAAS,EAAM,EAAI,EAAI,CACrB,OAAO,KAAK,GAAG,EAAG,EAAI,EAAI,EAAG,EAAG,CAAC,CACnC,CAEA,SAAS,EAAK,EAAI,EAAI,CACpB,OAAO,KAAK,MAAM,EAAK,CAAE,EAAG,EAAK,CAAE,CAAC,CACtC,CAEA,SAAS,EAAa,EAAI,EAAO,CAC/B,IAAI,EAAO,EAAK,CAAK,EAEjB,EAAO,EAAK,CAAK,EAErB,OAAO,KAAK,GAAG,EAAM,EAAM,EAAG,EAAG,CAAC,EAAM,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAAC,CAAC,GAAG,EAAG,EAAG,EAAG,EAAG,EAAK,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAAC,CAAC,GAAG,EAAM,CAAC,EAAM,EAAG,EAAG,EAAM,EAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CACtM,CAEA,SAAS,EAAM,EAAI,EAAI,EAAI,CASzB,MARI,CAAC,GAAM,IAAO,IAChB,EAAK,GAGH,IAAO,GAAK,IAAO,GAAK,IAAO,EAC1B,MAAQ,QAGV,KAAK,GAAG,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAAG,EAAI,EAAG,EAAG,EAAG,EAAG,CAAC,CAClE,CAEA,SAAS,EAAa,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAiBpE,MAhBA,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,EACvB,MAAQ,OACjB,CAEA,SAAS,EAAU,EAAI,EAAI,EAAI,CAO7B,MANA,KAAW,EAEP,IAAO,GAAK,IAAO,GAAK,IAAO,EAC1B,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAI,EAAI,EAAI,CAAC,EAG3D,MAAQ,OACjB,CAEA,SAAS,EAAU,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CACjF,IAAI,GAAM,MAAQ,QAAA,CAAS,MAE3B,GAAI,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,GAAK,IAAO,EAS7I,MANA,GAAG,IAAM,EAAG,IAAM,EAAK,EAAG,IAAM,EAChC,EAAG,IAAM,EAAG,IAAM,EAAK,EAAG,IAAM,EAChC,EAAG,IAAM,EAAG,IAAM,EAAK,EAAG,IAAM,EAChC,EAAG,KAAO,EAEV,CAAC,MAAQ,QAAA,CAAS,oBAAsB,GACjC,MAAQ,QAGjB,IAAI,EAAK,EAAG,GACR,EAAK,EAAG,GACR,EAAK,EAAG,GACR,GAAK,EAAG,GACR,EAAK,EAAG,GACR,EAAK,EAAG,GACR,GAAK,EAAG,GACR,GAAK,EAAG,GACR,GAAK,EAAG,GACR,GAAK,EAAG,GACR,GAAK,EAAG,IACR,GAAK,EAAG,IACR,GAAK,EAAG,IACR,GAAK,EAAG,IACR,GAAK,EAAG,IACR,EAAK,EAAG,IAwBZ,MAjBA,GAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,EAAK,EAAK,EAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,GAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAC3C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAC5C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAC5C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,EAAK,EAC5C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,EAAK,EAC5C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,EAAK,EAC5C,EAAG,IAAM,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,EAAK,EAC5C,CAAC,MAAQ,QAAA,CAAS,oBAAsB,GACjC,MAAQ,OACjB,CAEA,SAAS,GAAa,CAMpB,OALM,MAAQ,QAAA,CAAS,sBACrB,CAAC,MAAQ,QAAA,CAAS,UAAY,GAAG,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,IAAM,MAAQ,QAAA,CAAS,MAAM,MAAQ,GACjmB,CAAC,MAAQ,QAAA,CAAS,oBAAsB,KAGlC,MAAQ,QAAA,CAAS,SAC3B,CAEA,SAAS,EAAO,EAAM,CAGpB,IAFA,IAAI,EAAI,EAED,EAAI,IAAI,CACb,GAAI,EAAK,MAAM,MAAQ,MAAQ,QAAA,CAAS,MAAM,GAC5C,MAAO,GAGT,GAAK,CACP,CAEA,MAAO,EACT,CAEA,SAAS,EAAM,EAAM,CACnB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvB,EAAK,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,GAG1C,OAAO,CACT,CAEA,SAAS,EAAe,EAAO,CAC7B,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,EAAM,EAEvC,CAEA,SAAS,GAAa,EAAG,EAAG,EAAG,CAC7B,MAAO,CACL,EAAG,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAC9H,EAAG,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAC9H,EAAG,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,KAAO,MAAQ,QAAA,CAAS,MAAM,GACjI,CAKF,CAEA,SAAS,EAAS,EAAG,EAAG,EAAG,CACzB,OAAO,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,GACpI,CAEA,SAAS,EAAS,EAAG,EAAG,EAAG,CACzB,OAAO,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,GACpI,CAEA,SAAS,GAAS,EAAG,EAAG,EAAG,CACzB,OAAO,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,KAAO,MAAQ,QAAA,CAAS,MAAM,GACrI,CAEA,SAAS,IAAmB,CAC1B,IAAI,GAAe,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,GAC7H,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,EACjC,EAAI,EAAE,MAAQ,QAAA,CAAS,MAAM,GAAK,EAClC,EAAI,EAAE,MAAQ,QAAA,CAAS,MAAM,GAAK,EAClC,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,EACjC,IAAM,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,EAC5H,EAAI,GAAG,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,KAAO,EAC7H,EAAgB,IAAI,OAOxB,MANA,GAAc,MAAM,GAAK,EACzB,EAAc,MAAM,GAAK,EACzB,EAAc,MAAM,GAAK,EACzB,EAAc,MAAM,GAAK,EACzB,EAAc,MAAM,IAAM,EAC1B,EAAc,MAAM,IAAM,EACnB,CACT,CAEA,SAAS,GAAa,EAAI,CAExB,OADoB,KAAK,iBACN,CAAC,CAAC,kBAAkB,EAAG,GAAI,EAAG,GAAI,EAAG,IAAM,CAAC,CACjE,CAEA,SAAS,GAAc,EAAK,CAC1B,IAAI,EACA,EAAM,EAAI,OACV,EAAS,CAAC,EAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,GAAK,GAAa,EAAI,EAAE,EAGjC,OAAO,CACT,CAEA,SAAS,GAAoB,EAAK,EAAK,EAAK,CAC1C,IAAI,EAAM,iBAAiB,UAAW,CAAC,EAEvC,GAAI,KAAK,WAAW,EAClB,EAAI,GAAK,EAAI,GACb,EAAI,GAAK,EAAI,GACb,EAAI,GAAK,EAAI,GACb,EAAI,GAAK,EAAI,GACb,EAAI,GAAK,EAAI,GACb,EAAI,GAAK,EAAI,OACR,CACL,IAAI,GAAM,MAAQ,QAAA,CAAS,MAAM,GAC7B,GAAM,MAAQ,QAAA,CAAS,MAAM,GAC7B,GAAM,MAAQ,QAAA,CAAS,MAAM,GAC7B,GAAM,MAAQ,QAAA,CAAS,MAAM,GAC7B,GAAO,MAAQ,QAAA,CAAS,MAAM,IAC9B,GAAO,MAAQ,QAAA,CAAS,MAAM,IAClC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,EACrC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,EACrC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,EACrC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,EACrC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,EACrC,EAAI,GAAK,EAAI,GAAK,EAAK,EAAI,GAAK,EAAK,CACvC,CAEA,OAAO,CACT,CAEA,SAAS,GAAkB,EAAG,EAAG,EAAG,CASlC,OANI,KAAK,WAAW,EACZ,CAAC,EAAG,EAAG,CAAC,EAER,CAAC,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,MAAM,IAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,GAAK,GAAK,MAAQ,QAAA,CAAS,MAAM,KAAO,MAAQ,QAAA,CAAS,MAAM,GAAG,CAI1Y,CAEA,SAAS,GAAwB,EAAG,EAAG,CACrC,GAAI,KAAK,WAAW,EAClB,OAAO,EAAI,IAAM,EAGnB,IAAI,GAAM,MAAQ,QAAA,CAAS,MAC3B,OAAO,KAAK,OAAO,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,KAAO,GAAG,EAAI,IAAM,IAAM,KAAK,OAAO,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAG,KAAO,GAAG,EAAI,GAC/H,CAEA,SAAS,IAAQ,CAWf,IALA,IAAI,EAAI,EACJ,GAAS,MAAQ,QAAA,CAAS,MAC1B,EAAW,YACX,EAAI,IAED,EAAI,IACT,GAAY,EAAK,EAAM,GAAK,CAAC,EAAI,EACjC,GAAY,IAAM,GAAK,IAAM,IAC7B,GAAK,EAGP,OAAO,CACT,CAEA,SAAS,GAAoB,EAAK,CAChC,IAAI,EAAI,IAMR,OAJI,EAAM,MAAY,EAAM,GAAK,EAAM,OAAa,EAAM,EACjD,EAAK,EAAM,CAAC,EAAI,EAGlB,CACT,CAEA,SAAS,GAAU,CAMjB,IAAI,GAAS,MAAQ,QAAA,CAAS,MAE1B,EAAK,GAAoB,EAAM,EAAE,EAEjC,EAAK,GAAoB,EAAM,EAAE,EAEjC,EAAK,GAAoB,EAAM,EAAE,EAEjC,EAAK,GAAoB,EAAM,EAAE,EAEjC,EAAK,GAAoB,EAAM,GAAG,EAElC,EAAK,GAAoB,EAAM,GAAG,EAEtC,MAAO,UAAY,EAAK,IAAM,EAAK,IAAM,EAAK,IAAM,EAAK,IAAM,EAAK,IAAM,EAAK,GACjF,CAEA,OAAO,UAAY,CACjB,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,aAAe,GACjC,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,GACtC,CAAC,MAAQ,QAAA,CAAS,oBAAsB,GACxC,CAAC,MAAQ,QAAA,CAAS,wBAA0B,GAC5C,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,eAAiB,EACnC,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,aAAe,GACjC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,GACrC,CAAC,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,UACzC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,oBAAsB,GACxC,CAAC,MAAQ,QAAA,CAAS,MAAQ,iBAAiB,UAAW,EAAE,EACxD,KAAK,MAAM,CACb,CACF,EAAE,GA4BD,SAAU,EAAM,EAAM,CAIrB,IAAI,EAAS,MAAQ,QACjB,EAAQ,IAEZ,EAAS,EAET,EAAS,GAET,EAAU,SAEV,EAAa,EAAK,IAAI,EAAO,CAAM,EAC/B,EAAe,EAAK,IAAI,EAAG,CAAM,EACjC,EAAW,EAAe,EAC1B,EAAO,EAAQ,EACf,EAMJ,SAAS,EAAW,EAAM,EAAS,EAAU,CAC3C,IAAI,EAAM,CAAC,EACX,EAAU,IAAY,GAAO,CAC3B,QAAS,EACX,EAAI,GAAW,CAAC,EAEhB,IAAI,EAAY,EAAO,EAAQ,EAAQ,QAAU,CAAC,EAAM,EAAS,CAAI,CAAC,EAAI,IAAS,KAAO,EAAS,EAAI,EAAM,CAAC,EAAG,CAAG,EAEhH,EAAO,IAAI,EAAK,CAAG,EAGnB,GAAO,UAAY,CAOrB,IANA,IAAI,EAAI,EAAK,EAAE,CAAM,EAErB,EAAI,EAEJ,EAAI,EAEG,EAAI,GAET,GAAK,EAAI,GAAK,EAEd,GAAK,EAEL,EAAI,EAAK,EAAE,CAAC,EAGd,KAAO,GAAK,GAEV,GAAK,EAEL,GAAK,EAEL,KAAO,EAGT,OAAQ,EAAI,GAAK,CACnB,EAcA,MAZA,IAAK,MAAQ,UAAY,CACvB,OAAO,EAAK,EAAE,CAAC,EAAI,CACrB,EAEA,GAAK,MAAQ,UAAY,CACvB,OAAO,EAAK,EAAE,CAAC,EAAI,UACrB,EAEA,GAAK,OAAS,GAEd,EAAO,EAAS,EAAK,CAAC,EAAG,CAAI,GAErB,EAAQ,MAAQ,GAAY,SAAU,EAAM,EAAM,EAAc,EAAO,CAoBxE,OAnBD,IAEE,EAAM,GACR,EAAK,EAAO,CAAI,EAIlB,EAAK,MAAQ,UAAY,CACvB,OAAO,EAAK,EAAM,CAAC,CAAC,CACtB,GAKE,GACF,EAAK,GAAW,EACT,GAGG,CACd,EAAA,CAAG,GAAM,EAAW,WAAY,EAAU,EAAQ,QAAU,MAAQ,UAAY,EAAM,EAAQ,KAAK,CACrG,CAEA,EAAK,OAAS,GAAW,EAWzB,SAAS,EAAK,EAAK,CACjB,IAAI,EACA,EAAS,EAAI,OACb,EAAK,MAAQ,QACb,EAAI,EACJ,EAAI,EAAG,EAAI,EAAG,EAAI,EAClB,EAAI,EAAG,EAAI,CAAC,EAOhB,IALK,IACH,EAAM,CAAC,GAAQ,GAIV,EAAI,GACT,EAAE,GAAK,IAGT,IAAK,EAAI,EAAG,EAAI,EAAO,IACrB,EAAE,GAAK,EAAE,EAAI,EAAO,EAAI,EAAI,EAAI,IAAW,EAAI,EAAE,KACjD,EAAE,GAAK,EAIT,EAAG,EAAI,SAAU,EAAO,CAQtB,IANA,IAAI,EACA,EAAI,EACJ,EAAI,EAAG,EACP,EAAI,EAAG,EACP,EAAI,EAAG,EAEJ,KACL,EAAI,EAAE,EAAI,EAAO,EAAI,GACrB,EAAI,EAAI,EAAQ,EAAE,GAAQ,EAAE,GAAK,EAAE,EAAI,EAAO,EAAI,KAAO,EAAE,GAAK,IAKlE,MAFA,GAAG,EAAI,EACP,EAAG,EAAI,EACA,CAGT,CACF,CAMA,SAAS,EAAK,EAAG,EAAG,CAIlB,MAHA,GAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EACR,EAAE,EAAI,EAAE,EAAE,MAAM,EACT,CACT,CAMA,SAAS,EAAQ,EAAK,EAAO,CAC3B,IAAI,EAAS,CAAC,EACV,EAAM,OAAO,EACb,EAEJ,GAAI,GAAS,GAAO,SAClB,IAAK,KAAQ,EACX,GAAI,CACF,EAAO,KAAK,EAAQ,EAAI,GAAO,EAAQ,CAAC,CAAC,CAC3C,MAAY,CAAC,CAIjB,OAAO,EAAO,OAAS,EAAS,GAAO,SAAW,EAAM,EAAM,IAChE,CAOA,SAAS,EAAO,EAAM,EAAK,CAKzB,IAJA,IAAI,EAAa,EAAO,GACpB,EACA,EAAI,EAED,EAAI,EAAW,QACpB,EAAI,EAAO,GAAK,GAAQ,GAAS,EAAI,EAAO,GAAK,IAAM,EAAW,WAAW,GAAG,EAGlF,OAAO,EAAS,CAAG,CACrB,CAOA,SAAS,GAAW,CAClB,GAAI,CACF,GAAI,EACF,OAAO,EAAS,EAAW,YAAY,CAAK,CAAC,EAG/C,IAAI,EAAM,IAAI,WAAW,CAAK,EAE9B,OADC,EAAO,QAAU,EAAO,SAAA,CAAU,gBAAgB,CAAG,EAC/C,EAAS,CAAG,CACrB,MAAY,CACV,IAAI,EAAU,EAAO,UACjB,EAAU,GAAW,EAAQ,QACjC,MAAO,CAAC,CAAC,IAAI,KAAQ,EAAQ,EAAS,EAAO,OAAQ,EAAS,CAAI,CAAC,CACrE,CACF,CAMA,SAAS,EAAS,EAAG,CACnB,OAAO,OAAO,aAAa,MAAM,EAAG,CAAC,CACvC,CASA,EAAO,EAAK,OAAO,EAAG,CAAI,CAK5B,EAAA,CAAG,CAAC,EACJ,MACA,EAIA,IAAI,cAAgB,UAAY,CAW9B,IAAI,EAAK,CAAC,EACV,EAAG,gBAAkB,EACrB,IAAI,EAAU,CAAC,EAEf,SAAS,EAAgB,EAAG,EAAG,EAAG,EAAG,EAAI,CACvC,IAAI,EAAM,IAAO,OAAS,EAAI,IAAM,EAAI,IAAM,EAAI,IAAM,EAAA,CAAG,QAAQ,MAAO,GAAG,EAE7E,GAAI,EAAQ,GACV,OAAO,EAAQ,GAGjB,IAAI,EAAY,IAAI,EAAa,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,EAE7C,MADA,GAAQ,GAAO,EACR,CACT,CAGA,IAAI,EAAoB,EACpB,EAAmB,KACnB,EAAwB,KACxB,EAA6B,GAC7B,EAAmB,GACnB,EAAkB,GAAK,EAAmB,GAC1C,EAAwB,OAAO,cAAiB,WAEpD,SAAS,EAAE,EAAK,EAAK,CACnB,MAAO,GAAI,EAAI,EAAM,EAAI,CAC3B,CAEA,SAAS,EAAE,EAAK,EAAK,CACnB,MAAO,GAAI,EAAM,EAAI,CACvB,CAEA,SAAS,EAAE,EAAK,CACd,MAAO,GAAI,CACb,CAGA,SAAS,EAAW,EAAI,EAAK,EAAK,CAChC,QAAS,EAAE,EAAK,CAAG,EAAI,EAAK,EAAE,EAAK,CAAG,GAAK,EAAK,EAAE,CAAG,GAAK,CAC5D,CAGA,SAAS,EAAS,EAAI,EAAK,EAAK,CAC9B,MAAO,GAAI,EAAE,EAAK,CAAG,EAAI,EAAK,EAAK,EAAI,EAAE,EAAK,CAAG,EAAI,EAAK,EAAE,CAAG,CACjE,CAEA,SAAS,EAAgB,EAAI,EAAI,EAAI,EAAK,EAAK,CAC7C,IAAI,EACA,EACA,EAAI,EAER,EACE,GAAW,GAAM,EAAK,GAAM,EAC5B,EAAW,EAAW,EAAU,EAAK,CAAG,EAAI,EAExC,EAAW,EACb,EAAK,EAEL,EAAK,QAEA,KAAK,IAAI,CAAQ,EAAI,GAAyB,EAAE,EAAI,GAE7D,OAAO,CACT,CAEA,SAAS,EAAqB,EAAI,EAAS,EAAK,EAAK,CACnD,IAAK,IAAI,EAAI,EAAG,EAAI,EAAmB,EAAE,EAAG,CAC1C,IAAI,EAAe,EAAS,EAAS,EAAK,CAAG,EAC7C,GAAI,IAAiB,EAAG,OAAO,EAC/B,IAAI,EAAW,EAAW,EAAS,EAAK,CAAG,EAAI,EAC/C,GAAW,EAAW,CACxB,CAEA,OAAO,CACT,CAMA,SAAS,EAAa,EAAQ,CAC5B,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,eAAiB,EAAwB,IAAI,aAAa,CAAgB,EAAQ,MAAM,CAAgB,EAC1H,CAAC,MAAQ,QAAA,CAAS,aAAe,GACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,MAAQ,QAAA,CAAS,IAAI,KAAK,MAAQ,OAAO,CACpE,CAqEA,MAnEA,GAAa,UAAY,CACvB,IAAK,SAAU,EAAG,CAChB,IAAI,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAO/B,OANM,MAAQ,QAAA,CAAS,cAAc,KAAK,YAAY,EAClD,IAAQ,GAAO,IAAQ,EAAY,EAGnC,IAAM,EAAU,EAChB,IAAM,EAAU,EACb,EAAW,KAAK,UAAU,CAAC,EAAG,EAAK,CAAG,CAC/C,EAEA,YAAa,UAAY,CACvB,IAAI,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,IAE7B,IAAQ,GAAO,IAAQ,IACzB,KAAK,kBAAkB,CAE3B,EACA,kBAAmB,UAAY,CAI7B,IAAK,IAHD,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAEtB,EAAI,EAAG,EAAI,EAAkB,EAAE,EACtC,CAAC,MAAQ,QAAA,CAAS,eAAe,GAAK,EAAW,EAAI,EAAiB,EAAK,CAAG,CAElF,EAKA,UAAW,SAAU,EAAI,CAQvB,IAPA,IAAI,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAO,MAAQ,QAAA,CAAS,GAAG,GAC3B,GAAiB,MAAQ,QAAA,CAAS,eAClC,EAAgB,EAChB,EAAgB,EAChB,EAAa,EAAmB,EAE7B,IAAkB,GAAc,EAAc,IAAkB,EAAI,EAAE,EAC3E,GAAiB,EAGnB,EAAE,EAEF,IAAI,GAAQ,EAAK,EAAc,KAAmB,EAAc,EAAgB,GAAK,EAAc,IAC/F,EAAY,EAAgB,EAAO,EACnC,EAAe,EAAS,EAAW,EAAK,CAAG,EAU/C,OARI,GAAgB,EACX,EAAqB,EAAI,EAAW,EAAK,CAAG,EAGjD,IAAiB,EACZ,EAGF,EAAgB,EAAI,EAAe,EAAgB,EAAiB,EAAK,CAAG,CACrF,CACF,EACO,CACT,EAAE,GAED,UAAY,CAIX,IAAK,IAHD,EAAW,EACX,EAAU,CAAC,KAAM,MAAO,SAAU,GAAG,EAEhC,EAAI,EAAG,EAAI,EAAQ,QAAU,CAAC,OAAO,sBAAuB,EAAE,EAErE,OAAO,sBAAwB,OAAO,EAAQ,GAAK,yBACnD,OAAO,qBAAuB,OAAO,EAAQ,GAAK,yBAA2B,OAAO,EAAQ,GAAK,+BAGnG,AACE,OAAO,wBAAwB,SAAU,EAAU,CACjD,IAAI,EAAW,IAAI,KAAK,CAAA,CAAE,QAAQ,EAC9B,EAAa,KAAK,IAAI,EAAG,IAAM,EAAW,EAAS,EACnD,EAAK,WAAW,UAAY,CAC9B,EAAS,EAAW,CAAU,CAChC,EAAG,CAAU,EAEb,MADA,GAAW,EAAW,EACf,CACT,EAGF,AACE,OAAO,uBAAuB,SAAU,EAAI,CAC1C,aAAa,CAAE,CACjB,CAEJ,EAAA,CAAG,EAIH,SAAS,gBAAgB,EAAS,EAAa,CAC7C,IAAI,EACA,EAAM,EAAQ,OACd,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,IAAK,IAAI,IAFT,GAAkB,EAAQ,EAAE,CAAC,UAEZ,EACX,OAAO,UAAU,eAAe,KAAK,EAAiB,CAAI,IAAG,EAAY,UAAU,GAAQ,EAAgB,GAGrH,CAEA,SAAS,cAAc,EAAQ,EAAM,CACnC,OAAO,OAAO,yBAAyB,EAAQ,CAAI,CACrD,CAEA,SAAS,oBAAoB,EAAW,CACtC,SAAS,GAAgB,CAAC,CAG1B,MADA,GAAc,UAAY,EACnB,CACT,CAMA,SAAS,aAAc,CACrB,IAAI,EAAO,KAEX,SAAS,EAAc,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAC7C,IAAI,EAAO,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAClE,OAAO,EAAO,OAAU,EAAO,IACjC,CAEA,SAAS,EAAc,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CACzD,GAAI,IAAO,GAAK,IAAO,GAAK,IAAO,EACjC,OAAO,EAAc,EAAI,EAAI,EAAI,EAAI,EAAI,CAAE,EAG7C,IAAI,EAAQ,EAAK,KAAK,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,CAAC,EACpF,EAAQ,EAAK,KAAK,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,CAAC,EACpF,EAAQ,EAAK,KAAK,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,EAAI,EAAK,IAAI,EAAK,EAAI,CAAC,CAAC,EACpF,EAEA,EAAQ,EACN,EAAQ,EACC,EAAQ,EAAQ,EAEhB,EAAQ,EAAQ,EAEpB,EAAQ,EACN,EAAQ,EAAQ,EAEhB,EAAQ,EAAQ,EAG7B,OAAO,EAAW,OAAW,EAAW,IAC1C,CAEA,IAAI,EAAkB,UAAY,CAChC,OAAO,SAAU,EAAK,EAAK,EAAK,EAAK,CACnC,IAAI,EAAgB,qBAChB,EACA,EACA,EACA,EACA,EACA,EAAc,EACd,EACA,EAAQ,CAAC,EACT,EAAY,CAAC,EACb,EAAa,iBAAiB,WAAW,EAG7C,IAFA,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAe,GAAK,EAAG,CAIrC,IAHA,EAAO,GAAK,EAAgB,GAC5B,EAAa,EAER,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAU,MAAM,EAAI,EAAM,CAAC,EAAI,EAAI,GAAK,EAAI,MAAM,EAAI,EAAM,CAAC,EAAI,EAAO,EAAI,GAAK,GAAK,EAAI,GAAQ,MAAM,EAAM,CAAC,EAAI,EAAI,GAAK,MAAM,EAAM,CAAC,EAAI,EAAI,GACjJ,EAAM,GAAK,EAEP,EAAU,KAAO,OACnB,GAAc,MAAM,EAAM,GAAK,EAAU,GAAI,CAAC,GAGhD,EAAU,GAAK,EAAM,GAGnB,IACF,EAAa,OAAO,CAAU,EAC9B,GAAe,GAGjB,EAAW,SAAS,GAAK,EACzB,EAAW,QAAQ,GAAK,CAC1B,CAGA,MADA,GAAW,YAAc,EAClB,CACT,CACF,EAAE,EAEF,SAAS,EAAkB,EAAW,CACpC,IAAI,EAAiB,mBAAmB,WAAW,EAC/C,EAAS,EAAU,EACnB,EAAQ,EAAU,EAClB,EAAQ,EAAU,EAClB,EAAQ,EAAU,EAClB,EACA,EAAM,EAAU,QAChB,EAAU,EAAe,QACzB,EAAc,EAElB,IAAK,EAAI,EAAG,EAAI,EAAM,EAAG,GAAK,EAC5B,EAAQ,GAAK,EAAgB,EAAM,GAAI,EAAM,EAAI,GAAI,EAAM,GAAI,EAAM,EAAI,EAAE,EAC3E,GAAe,EAAQ,EAAE,CAAC,YAS5B,OANI,GAAU,IACZ,EAAQ,GAAK,EAAgB,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,EAAE,EACnE,GAAe,EAAQ,EAAE,CAAC,aAG5B,EAAe,YAAc,EACtB,CACT,CAEA,SAAS,EAAW,EAAQ,CAC1B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,OAAa,MAAM,CAAM,CAC7C,CAEA,SAAS,EAAU,EAAS,EAAO,CACjC,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAC5B,CAEA,IAAI,EAAkB,UAAY,CAChC,IAAI,EAAa,CAAC,EAClB,OAAO,SAAU,EAAK,EAAK,EAAK,EAAK,CACnC,IAAI,GAAc,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAK,IAAM,EAAI,GAAA,CAAI,QAAQ,MAAO,GAAG,EAErJ,GAAI,CAAC,EAAW,GAAa,CAC3B,IAAI,EAAgB,qBAChB,EACA,EACA,EACA,EACA,EACA,EAAc,EACd,EACA,EACA,EAAY,KAEZ,EAAI,SAAW,IAAM,EAAI,KAAO,EAAI,IAAM,EAAI,KAAO,EAAI,KAAO,EAAc,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAK,EAAI,GAAI,EAAI,GAAK,EAAI,EAAE,GAAK,EAAc,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAK,EAAI,GAAI,EAAI,GAAK,EAAI,EAAE,IACnO,EAAgB,GAGlB,IAAI,EAAa,IAAI,EAAW,CAAa,EAG7C,IAFA,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAe,GAAK,EAAG,CAKrC,IAJA,EAAQ,iBAAiB,CAAG,EAC5B,EAAO,GAAK,EAAgB,GAC5B,EAAa,EAER,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAU,MAAM,EAAI,EAAM,CAAC,EAAI,EAAI,GAAK,EAAI,MAAM,EAAI,EAAM,CAAC,EAAI,GAAQ,EAAI,GAAK,EAAI,IAAM,GAAK,EAAI,GAAQ,MAAM,EAAM,CAAC,GAAK,EAAI,GAAK,EAAI,IAAM,MAAM,EAAM,CAAC,EAAI,EAAI,GACvK,EAAM,GAAK,EAEP,IAAc,OAChB,GAAc,MAAM,EAAM,GAAK,EAAU,GAAI,CAAC,GAIlD,EAAa,OAAO,CAAU,EAC9B,GAAe,EACf,EAAW,OAAO,GAAK,IAAI,EAAU,EAAY,CAAK,EACtD,EAAY,CACd,CAEA,EAAW,cAAgB,EAC3B,EAAW,GAAc,CAC3B,CAEA,OAAO,EAAW,EACpB,CACF,EAAE,EAEF,SAAS,EAAgB,EAAM,EAAY,CACzC,IAAI,EAAW,EAAW,SACtB,EAAU,EAAW,QACrB,EAAM,EAAS,OACf,EAAU,SAAS,EAAM,GAAK,CAAI,EAClC,EAAY,EAAO,EAAW,YAC9B,EAAQ,EAEZ,GAAI,IAAY,EAAM,GAAK,IAAY,GAAK,IAAc,EAAQ,GAChE,OAAO,EAAS,GAMlB,IAHA,IAAI,EAAM,EAAQ,GAAW,EAAY,GAAK,EAC1C,EAAO,GAEJ,GAQL,GAPI,EAAQ,IAAY,GAAa,EAAQ,EAAU,GAAK,GAC1D,GAAS,EAAY,EAAQ,KAAa,EAAQ,EAAU,GAAK,EAAQ,IACzE,EAAO,IAEP,GAAW,EAGT,EAAU,GAAK,GAAW,EAAM,EAAG,CAErC,GAAI,IAAY,EAAM,EACpB,OAAO,EAAS,GAGlB,EAAO,EACT,CAGF,OAAO,EAAS,IAAY,EAAS,EAAU,GAAK,EAAS,IAAY,CAC3E,CAEA,SAAS,EAAkB,EAAK,EAAK,EAAK,EAAK,EAAS,EAAY,CAClE,IAAI,EAAK,EAAgB,EAAS,CAAU,EACxC,EAAK,EAAI,EAGb,MAAO,CAFG,EAAK,OAAO,EAAK,EAAK,EAAK,EAAI,IAAM,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAM,EAAI,IAAM,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAM,EAAI,GAAK,EAAK,EAAK,EAAK,EAAI,IAAM,GAAI,EAAI,IACrL,EAAK,OAAO,EAAK,EAAK,EAAK,EAAI,IAAM,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAM,EAAI,IAAM,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,GAAM,EAAI,GAAK,EAAK,EAAK,EAAK,EAAI,IAAM,GAAI,EAAI,GAC/K,CAClB,CAEA,IAAI,EAAsB,iBAAiB,UAAW,CAAC,EAEvD,SAAS,EAAc,EAAK,EAAK,EAAK,EAAK,EAAW,EAAS,EAAY,CACrE,EAAY,EACd,EAAY,EACH,EAAY,IACrB,EAAY,GAGd,IAAI,EAAK,EAAgB,EAAW,CAAU,EAC9C,EAAU,EAAU,EAAI,EAAI,EAC5B,IAAI,EAAK,EAAgB,EAAS,CAAU,EACxC,EACA,EAAM,EAAI,OACV,EAAK,EAAI,EACT,EAAK,EAAI,EACT,EAAS,EAAK,EAAK,EACnB,EAAW,EAAK,EAAK,EAAK,EAE1B,EAAW,EAAK,EAAK,EAAK,EAE1B,EAAS,EAAK,EAAK,EAEnB,GAAS,EAAK,EAAK,EACnB,EAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,EAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,GAAS,EAAK,EAAK,EAEnB,GAAS,EAAK,EAAK,EACnB,GAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,GAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,GAAS,EAAK,EAAK,EAEnB,GAAS,EAAK,EAAK,EACnB,GAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,GAAW,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAEnD,GAAS,EAAK,EAAK,EAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAoB,EAAI,GAAK,EAAK,OAAO,EAAS,EAAI,GAAK,EAAW,EAAI,GAAK,EAAW,EAAI,GAAK,EAAS,EAAI,IAAM,GAAI,EAAI,IAE9H,EAAoB,EAAI,EAAI,GAAK,EAAK,OAAO,GAAS,EAAI,GAAK,EAAW,EAAI,GAAK,EAAW,EAAI,GAAK,GAAS,EAAI,IAAM,GAAI,EAAI,IAElI,EAAoB,EAAI,EAAI,GAAK,EAAK,OAAO,GAAS,EAAI,GAAK,GAAW,EAAI,GAAK,GAAW,EAAI,GAAK,GAAS,EAAI,IAAM,GAAI,EAAI,IAElI,EAAoB,EAAI,EAAI,GAAK,EAAK,OAAO,GAAS,EAAI,GAAK,GAAW,EAAI,GAAK,GAAW,EAAI,GAAK,GAAS,EAAI,IAAM,GAAI,EAAI,IAGpI,OAAO,CACT,CAEA,MAAO,CACc,oBACJ,gBACI,oBACF,kBACF,gBACA,eACjB,CACF,CAEA,IAAI,IAAM,YAAY,EAGtB,SAAS,qBAAsB,CAE7B,SAAS,EAAe,EAAQ,EAAO,EAAa,CAClD,IAAI,EACA,EACA,EAAM,EAAO,OACb,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,GAFA,EAAY,EAAO,GAEf,OAAQ,GAAa,CAAC,EAAU,UAAW,CAO7C,GANA,EAAU,UAAY,GAElB,EAAU,KACZ,EAAO,EAAI,EAAE,CAAC,GAAK,EAAU,IAG3B,EAAU,QAAS,CACrB,IAAI,EAAY,EAAU,gBAG1B,IAFA,EAAO,EAAU,OAEZ,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,GAAI,EAAU,EAAE,CAAC,GAAG,EAAE,EACpB,EAA6B,EAAU,EAAE,CAAC,GAAG,CAAC,OAI9C,IAFA,EAAO,EAAU,EAAE,CAAC,GAAG,EAAE,OAEpB,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GACvB,EAA6B,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAGpD,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GACvB,EAA6B,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAKhE,CAEI,EAAU,KAAO,GACnB,EAAU,OAAS,EAAe,EAAU,MAAO,CAAK,EACxD,EAAe,EAAU,OAAQ,EAAO,CAAW,GAC1C,EAAU,KAAO,EAC1B,EAAe,EAAU,MAAM,EACtB,EAAU,KAAO,GAC1B,EAAa,EAAW,CAAW,CAEvC,CAEJ,CAEA,SAAS,EAAe,EAAI,EAAO,CAIjC,IAHA,IAAI,EAAI,EACJ,EAAM,EAAM,OAET,EAAI,GAAK,CACd,GAAI,EAAM,EAAE,CAAC,KAAO,EAMlB,OALK,EAAM,EAAE,CAAC,OAAO,OAKd,KAAK,MAAM,KAAK,UAAU,EAAM,EAAE,CAAC,MAAM,CAAC,GAJ/C,EAAM,EAAE,CAAC,OAAO,OAAS,GAClB,EAAM,EAAE,CAAC,QAMpB,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAAS,EAAe,EAAK,CAC3B,IAAI,EACA,EAAM,EAAI,OACV,EACA,EAEJ,IAAK,EAAI,EAAM,EAAG,GAAK,EAAG,IACxB,GAAI,EAAI,EAAE,CAAC,KAAO,KAChB,GAAI,EAAI,EAAE,CAAC,GAAG,EAAE,EACd,EAA6B,EAAI,EAAE,CAAC,GAAG,CAAC,OAIxC,IAFA,EAAO,EAAI,EAAE,CAAC,GAAG,EAAE,OAEd,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GACjB,EAA6B,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAG9C,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GACjB,EAA6B,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,OAI7C,EAAI,EAAE,CAAC,KAAO,MACvB,EAAe,EAAI,EAAE,CAAC,EAAE,CAG9B,CAEA,SAAS,EAA6B,EAAM,CAC1C,IAAI,EACA,EAAM,EAAK,EAAE,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAK,EAAE,EAAE,CAAC,IAAM,EAAK,EAAE,EAAE,CAAC,GAC1B,EAAK,EAAE,EAAE,CAAC,IAAM,EAAK,EAAE,EAAE,CAAC,GAC1B,EAAK,EAAE,EAAE,CAAC,IAAM,EAAK,EAAE,EAAE,CAAC,GAC1B,EAAK,EAAE,EAAE,CAAC,IAAM,EAAK,EAAE,EAAE,CAAC,EAE9B,CAEA,SAAS,EAAa,EAAS,EAAmB,CAChD,IAAI,EAAc,EAAoB,EAAkB,MAAM,GAAG,EAAI,CAAC,IAAK,IAAK,GAAG,EA0BnF,OAxBI,EAAQ,GAAK,EAAY,GACpB,GAGL,EAAY,GAAK,EAAQ,GACpB,GAGL,EAAQ,GAAK,EAAY,GACpB,GAGL,EAAY,GAAK,EAAQ,GACpB,GAGL,EAAQ,GAAK,EAAY,GACpB,GAGL,EAAY,GAAK,EAAQ,GACpB,GAGF,IACT,CAEA,IAAI,EAAY,UAAY,CAC1B,IAAI,EAAiB,CAAC,EAAG,EAAG,EAAE,EAE9B,SAAS,EAAgB,EAAW,CAClC,IAAI,EAAe,EAAU,EAAE,EAC/B,EAAU,EAAE,EAAI,CACd,EAAG,CAAC,CACF,EAAG,EACH,EAAG,CACL,CAAC,CACH,CACF,CAEA,SAAS,EAAc,EAAQ,CAC7B,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAO,EAAE,CAAC,KAAO,GACnB,EAAgB,EAAO,EAAE,CAG/B,CAEA,OAAO,SAAU,EAAe,CAC9B,GAAI,EAAa,EAAgB,EAAc,CAAC,IAC9C,EAAc,EAAc,MAAM,EAE9B,EAAc,QAAQ,CACxB,IAAI,EACA,EAAM,EAAc,OAAO,OAE/B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAc,OAAO,EAAE,CAAC,QAC1B,EAAc,EAAc,OAAO,EAAE,CAAC,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEE,EAAa,UAAY,CAC3B,IAAI,EAAiB,CAAC,EAAG,EAAG,EAAE,EAC9B,OAAO,SAAU,EAAe,CAC9B,GAAI,EAAc,OAAS,CAAC,EAAa,EAAgB,EAAc,CAAC,EAAG,CACzE,IAAI,EACA,EAAM,EAAc,MAAM,OAC1B,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAc,MAAM,EAAE,CAAC,MAAQ,EAAc,MAAM,EAAE,CAAC,KAAK,OAI7D,IAHA,EAAQ,EAAc,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,GAC9C,EAAO,EAAM,OAER,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAW,EAAM,EAAE,CAAC,GAAG,EAElB,EAAS,cACZ,EAA6B,EAAM,EAAE,CAAC,GAAG,CAAC,EAC1C,EAAS,YAAc,GAKjC,CACF,CACF,EAAE,EAEE,EAAc,UAAY,CAC5B,IAAI,EAAiB,CAAC,EAAG,EAAG,CAAC,EAE7B,SAAS,EAAc,EAAQ,CAC7B,IAAI,EACA,EAAM,EAAO,OACb,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAO,EAAE,CAAC,KAAO,KACnB,EAAc,EAAO,EAAE,CAAC,EAAE,OACrB,GAAI,EAAO,EAAE,CAAC,KAAO,MAAQ,EAAO,EAAE,CAAC,KAAO,KACnD,GAAI,EAAO,EAAE,CAAC,EAAE,GAAK,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAGpC,IAFA,EAAO,EAAO,EAAE,CAAC,EAAE,EAAE,OAEhB,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IACnB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,KAGvB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IACnB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,IACzB,EAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAM,SAI7B,GAAO,EAAE,CAAC,EAAE,EAAE,IAAM,IACpB,EAAO,EAAE,CAAC,EAAE,EAAE,IAAM,IACpB,EAAO,EAAE,CAAC,EAAE,EAAE,IAAM,IACpB,EAAO,EAAE,CAAC,EAAE,EAAE,IAAM,GAI5B,CAEA,SAAS,EAAc,EAAQ,CAC7B,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAO,EAAE,CAAC,KAAO,GACnB,EAAc,EAAO,EAAE,CAAC,MAAM,CAGpC,CAEA,OAAO,SAAU,EAAe,CAC9B,GAAI,EAAa,EAAgB,EAAc,CAAC,IAC9C,EAAc,EAAc,MAAM,EAE9B,EAAc,QAAQ,CACxB,IAAI,EACA,EAAM,EAAc,OAAO,OAE/B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAc,OAAO,EAAE,CAAC,QAC1B,EAAc,EAAc,OAAO,EAAE,CAAC,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEE,EAAc,UAAY,CAC5B,IAAI,EAAiB,CAAC,EAAG,EAAG,EAAE,EAE9B,SAAS,EAAsB,EAAK,CAClC,IAAI,EACA,EAAM,EAAI,OACV,EACA,EAEJ,IAAK,EAAI,EAAM,EAAG,GAAK,EAAG,IACxB,GAAI,EAAI,EAAE,CAAC,KAAO,KAChB,GAAI,EAAI,EAAE,CAAC,GAAG,EAAE,EACd,EAAI,EAAE,CAAC,GAAG,EAAE,EAAI,EAAI,EAAE,CAAC,YAIvB,IAFA,EAAO,EAAI,EAAE,CAAC,GAAG,EAAE,OAEd,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IACjB,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAI,EAAI,EAAE,CAAC,QAG7B,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IACjB,EAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAI,EAAI,EAAE,CAAC,aAI5B,EAAI,EAAE,CAAC,KAAO,MACvB,EAAsB,EAAI,EAAE,CAAC,EAAE,CAGrC,CAEA,SAAS,EAAc,EAAQ,CAC7B,IAAI,EACA,EACA,EAAM,EAAO,OACb,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAG3B,GAFA,EAAY,EAAO,GAEf,EAAU,QAAS,CACrB,IAAI,EAAY,EAAU,gBAG1B,IAFA,EAAO,EAAU,OAEZ,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,GAAI,EAAU,EAAE,CAAC,GAAG,EAAE,EACpB,EAAU,EAAE,CAAC,GAAG,EAAE,EAAI,EAAU,EAAE,CAAC,QAInC,IAFA,EAAO,EAAU,EAAE,CAAC,GAAG,EAAE,OAEpB,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IACvB,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAI,EAAU,EAAE,CAAC,IAGzC,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IACvB,EAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAI,EAAU,EAAE,CAAC,GAKrD,CAEI,EAAU,KAAO,GACnB,EAAsB,EAAU,MAAM,CAE1C,CACF,CAEA,OAAO,SAAU,EAAe,CAC9B,GAAI,EAAa,EAAgB,EAAc,CAAC,IAC9C,EAAc,EAAc,MAAM,EAE9B,EAAc,QAAQ,CACxB,IAAI,EACA,EAAM,EAAc,OAAO,OAE/B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAc,OAAO,EAAE,CAAC,QAC1B,EAAc,EAAc,OAAO,EAAE,CAAC,MAAM,CAGlD,CAEJ,CACF,EAAE,EAEF,SAAS,EAAa,EAAe,EAAa,CAC5C,AASJ,EAAc,cALd,EAAY,CAAa,EACzB,EAAU,CAAa,EACvB,EAAW,CAAa,EACxB,EAAY,CAAa,EACzB,EAAe,EAAc,OAAQ,EAAc,OAAQ,CAAW,EAC3C,GAC7B,CAEA,SAAS,EAAa,EAAM,CACtB,EAAK,EAAE,EAAE,SAAW,GAAK,EAAE,MAAO,EAAK,EAAE,KAC3C,EAAK,YAAc,GAEvB,CAEA,IAAI,EAAW,CAAC,EAMhB,MALA,GAAS,aAAe,EACxB,EAAS,YAAc,EACvB,EAAS,WAAa,EACtB,EAAS,YAAc,EACvB,EAAS,eAAiB,EACnB,CACT,CAEA,IAAI,YAAc,oBAAoB,EAGtC,SAAS,kBAAkB,EAAU,CAOnC,IAAK,IAND,EAAS,EAAS,OAAS,EAAS,OAAO,MAAM,GAAG,EAAI,CAAC,EACzD,EAAU,SACV,EAAS,SACT,EAAM,EAAO,OACb,EAEK,EAAI,EAAG,EAAI,EAAK,GAAK,EAG5B,OAFA,EAAY,EAAO,EAAE,CAAC,YAAY,EAE1B,EAAR,CACE,IAAK,SACH,EAAS,SACT,MAEF,IAAK,OACH,EAAU,MACV,MAEF,IAAK,QACH,EAAU,MACV,MAEF,IAAK,SACH,EAAU,MACV,MAEF,IAAK,UACL,IAAK,SACH,EAAU,MACV,MAEF,IAAK,QACL,IAAK,OACH,EAAU,MACV,MAEF,QACE,KACJ,CAGF,MAAO,CACL,MAAO,EACP,OAAQ,EAAS,SAAW,CAC9B,CACF,CAMA,IAAI,YAAc,UAAY,CAC5B,IAAI,EAAiB,IACjB,EAAY,CACd,EAAG,EACH,KAAM,EACN,OAAQ,CAAC,CACX,EACI,EAAqB,CAAC,EAE1B,EAAqB,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,SAAS,EAAgB,EAAM,CAC7B,IAAI,EAAc,EAAK,MAAM,GAAG,EAC5B,EACA,EAAM,EAAY,OAClB,EAAkB,CAAC,EAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAY,KAAO,cAAgB,EAAY,KAAO,aACxD,EAAgB,KAAK,EAAY,EAAE,EAIvC,OAAO,EAAgB,KAAK,GAAG,CACjC,CAEA,SAAS,EAAU,EAAM,EAAQ,CAC/B,IAAI,EAAa,UAAU,MAAM,EAEjC,EAAW,aAAa,cAAe,EAAI,EAC3C,EAAW,MAAM,WAAa,EAC9B,IAAI,EAAO,UAAU,MAAM,EAE3B,EAAK,UAAY,iBAEjB,EAAW,MAAM,SAAW,WAC5B,EAAW,MAAM,KAAO,WACxB,EAAW,MAAM,IAAM,WAEvB,EAAW,MAAM,SAAW,QAE5B,EAAW,MAAM,YAAc,SAC/B,EAAW,MAAM,UAAY,SAC7B,EAAW,MAAM,WAAa,SAC9B,EAAW,MAAM,cAAgB,IACjC,EAAW,YAAY,CAAI,EAC3B,SAAS,KAAK,YAAY,CAAU,EAEpC,IAAI,EAAQ,EAAK,YAEjB,MADA,GAAK,MAAM,WAAa,EAAgB,CAAI,EAAI,KAAO,EAChD,CACC,OACN,EAAG,EACH,OAAQ,CACV,CACF,CAEA,SAAS,GAAmB,CAC1B,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,MAAM,OAC9B,EACA,EACA,EAAc,EAElB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,OAC7B,KACU,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,UAAY,MAAQ,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAW,EAC7F,CAAC,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,OAAS,IAEpC,GAAQ,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,KAC3C,GAAK,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,EAEpC,EAAK,cAAgB,GAIvB,GAAQ,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,KAC3C,GAAK,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,EAEpC,EAAK,cAAgB,IACvB,IACA,CAAC,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,OAAS,MARtC,IACA,CAAC,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,OAAS,KAWjC,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,UAC5B,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,OAAO,WAAW,aAAa,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,MAAM,GAE3G,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,OAAO,WAAW,aAAa,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,SAAS,MAAM,IAK9G,IAAgB,GAAK,KAAK,IAAI,GAAK,MAAQ,QAAA,CAAS,SAAW,IACjE,YAAY,MAAQ,QAAA,CAAS,uBAAwB,EAAE,EAEvD,YAAY,MAAQ,QAAA,CAAS,kBAAmB,EAAE,CAEtD,CAEA,SAAS,EAAa,EAAK,EAAU,CACnC,IAAI,EAAU,SAAS,MAAM,EAC7B,EAAQ,MAAM,SAAW,QAEzB,IAAI,EAAY,kBAAkB,CAAQ,EAC1C,EAAQ,aAAa,cAAe,EAAS,OAAO,EACpD,EAAQ,aAAa,aAAc,EAAU,KAAK,EAClD,EAAQ,aAAa,cAAe,EAAU,MAAM,EACpD,EAAQ,YAAc,IAElB,EAAS,QACX,EAAQ,MAAM,WAAa,UAC3B,EAAQ,aAAa,QAAS,EAAS,MAAM,GAE7C,EAAQ,MAAM,WAAa,EAAS,QAGtC,EAAI,YAAY,CAAO,EACvB,IAAI,EAAgB,UAAU,QAAQ,CAAC,CAAC,WAAW,IAAI,EAGvD,MAFA,GAAc,KAAO,EAAS,QAAU,IAAM,EAAS,OAAS,UAAY,EAAS,QAE9E,CACT,CAEA,SAAS,EAAS,EAAU,EAAM,CAChC,GAAI,CAAC,EAAU,CACb,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,MACF,CAEA,IAAK,MAAQ,QAAA,CAAS,MAAO,CAC3B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAAS,KACnC,MACF,CAEA,IAAI,EAAU,EAAS,KACnB,EACA,EAAM,EAAQ,OACd,EAAgB,EAEpB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAC3B,IAAI,EAAiB,GACjB,EACA,EAKJ,GAJA,EAAQ,EAAE,CAAC,OAAS,GACpB,EAAQ,EAAE,CAAC,SAAW,EAAU,EAAQ,EAAE,CAAC,QAAS,WAAW,EAC/D,EAAQ,EAAE,CAAC,SAAW,EAAU,EAAQ,EAAE,CAAC,QAAS,YAAY,EAE5D,CAAC,EAAQ,EAAE,CAAC,MACd,EAAQ,EAAE,CAAC,OAAS,GACpB,SACK,GAAI,EAAQ,EAAE,CAAC,UAAY,KAAO,EAAQ,EAAE,CAAC,SAAW,EAO7D,IANA,EAAiB,SAAS,iBAAiB,kCAAuC,EAAQ,EAAE,CAAC,QAAU,qCAA2C,EAAQ,EAAE,CAAC,QAAU,IAAK,EAExK,EAAe,OAAS,IAC1B,EAAiB,IAGf,EAAgB,CAClB,IAAI,EAAI,UAAU,OAAO,EACzB,EAAE,aAAa,YAAa,EAAQ,EAAE,CAAC,OAAO,EAC9C,EAAE,aAAa,WAAY,EAAQ,EAAE,CAAC,MAAM,EAC5C,EAAE,aAAa,WAAY,EAAQ,EAAE,CAAC,OAAO,EAC7C,EAAE,KAAO,WACT,EAAE,UAAY,4BAA8B,EAAQ,EAAE,CAAC,QAAU,mCAAqC,EAAQ,EAAE,CAAC,MAAQ,OACzH,EAAK,YAAY,CAAC,CACpB,OACK,GAAI,EAAQ,EAAE,CAAC,UAAY,KAAO,EAAQ,EAAE,CAAC,SAAW,EAAG,CAGhE,IAFA,EAAiB,SAAS,iBAAiB,yCAA6C,EAEnF,EAAI,EAAG,EAAI,EAAe,OAAQ,GAAK,EACtC,EAAe,EAAE,CAAC,KAAK,QAAQ,EAAQ,EAAE,CAAC,KAAK,IAAM,KAEvD,EAAiB,IAIrB,GAAI,EAAgB,CAClB,IAAI,EAAI,UAAU,MAAM,EACxB,EAAE,aAAa,YAAa,EAAQ,EAAE,CAAC,OAAO,EAC9C,EAAE,aAAa,WAAY,EAAQ,EAAE,CAAC,MAAM,EAC5C,EAAE,KAAO,WACT,EAAE,IAAM,aACR,EAAE,KAAO,EAAQ,EAAE,CAAC,MACpB,SAAS,KAAK,YAAY,CAAC,CAC7B,CACF,MAAO,GAAI,EAAQ,EAAE,CAAC,UAAY,KAAO,EAAQ,EAAE,CAAC,SAAW,EAAG,CAGhE,IAFA,EAAiB,SAAS,iBAAiB,6CAAiD,EAEvF,EAAI,EAAG,EAAI,EAAe,OAAQ,GAAK,EACtC,EAAQ,EAAE,CAAC,QAAU,EAAe,EAAE,CAAC,MAEzC,EAAiB,IAIrB,GAAI,EAAgB,CAClB,IAAI,EAAK,UAAU,MAAM,EACzB,EAAG,aAAa,YAAa,EAAQ,EAAE,CAAC,OAAO,EAC/C,EAAG,aAAa,WAAY,EAAQ,EAAE,CAAC,MAAM,EAC7C,EAAG,aAAa,MAAO,YAAY,EACnC,EAAG,aAAa,OAAQ,EAAQ,EAAE,CAAC,KAAK,EACxC,EAAK,YAAY,CAAE,CACrB,CACF,CAEA,EAAQ,EAAE,CAAC,OAAS,EAAa,EAAM,EAAQ,EAAE,EACjD,EAAQ,EAAE,CAAC,MAAQ,CAAC,GAEnB,MAAQ,QAAA,CAAS,MAAM,KAAK,EAAQ,EAAE,CACzC,CAEI,IAAkB,EACpB,CAAC,MAAQ,QAAA,CAAS,SAAW,GAI7B,YAAY,MAAQ,QAAA,CAAS,iBAAiB,KAAK,MAAQ,OAAO,EAAG,GAAG,CAE5E,CAEA,SAAS,EAAS,EAAO,CAClB,KAIL,EAAM,MAAQ,QAAA,CAAS,QACrB,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,GAG7B,IAAI,EACA,EAAM,EAAM,OACZ,EACA,GAAQ,MAAQ,QAAA,CAAS,MAAM,OAC/B,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAI3B,IAHA,EAAI,EACJ,EAAQ,GAED,EAAI,IACJ,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,QAAU,EAAM,EAAE,CAAC,QAAU,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,UAAY,EAAM,EAAE,CAAC,UAAY,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,KAAO,EAAM,EAAE,CAAC,KAC/J,EAAQ,IAGV,GAAK,EAGF,KACF,MAAQ,QAAA,CAAS,MAAM,KAAK,EAAM,EAAE,EAErC,GAAQ,EAEZ,CA1B6B,CA2B/B,CAEA,SAAS,EAAY,EAAM,EAAO,EAAM,CAItC,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,MAAM,OAE3B,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,KAAO,IAAS,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,QAAU,IAAU,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,UAAY,EACjI,OAAQ,MAAQ,QAAA,CAAS,MAAM,GAGjC,GAAK,CACP,CAQA,OANK,OAAO,GAAS,UAAY,EAAK,WAAW,CAAC,IAAM,IAAM,CAAC,IAAS,SAAW,QAAQ,MACxF,EAAE,MAAQ,QAAA,CAAS,UACpB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,QAAQ,KAAK,oDAAqD,EAAM,EAAO,CAAI,GAG9E,CACT,CAEA,SAAS,EAAY,EAAM,EAAU,EAAM,CACzC,IAAI,EAAW,KAAK,cAAc,CAAQ,EACtC,EAAQ,EAAK,WAAW,CAAC,EAE7B,GAAI,CAAC,EAAS,MAAM,EAAQ,GAAI,CAC9B,IAAI,EAAU,EAAS,OAKvB,GAAI,IAAS,IAAK,CAChB,EAAQ,YAAc,IAAM,EAAO,IACnC,IAAI,EAAa,EAAQ,sBAAsB,EAC/C,EAAQ,YAAc,KACtB,IAAI,EAAa,EAAQ,sBAAsB,EAC/C,EAAS,MAAM,EAAQ,IAAM,EAAa,GAAc,GAC1D,KACE,GAAQ,YAAc,EACtB,EAAS,MAAM,EAAQ,GAAK,EAAQ,sBAAsB,EAAI,GAElE,CAEA,OAAO,EAAS,MAAM,EAAQ,GAAK,CACrC,CAEA,SAAS,EAAc,EAAM,CAI3B,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,MAAM,OAE3B,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,QAAU,EACvC,OAAQ,MAAQ,QAAA,CAAS,MAAM,GAGjC,GAAK,CACP,CAEA,OAAQ,MAAQ,QAAA,CAAS,MAAM,EACjC,CAEA,SAAS,GAA4B,CACnC,OAAO,CACT,CAEA,SAAS,GAAc,CACrB,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC/B,CAEA,IAAI,EAAO,UAAY,CACrB,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,EAC3B,CAAC,MAAQ,QAAA,CAAS,MAAQ,KAC1B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,KAAK,IAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,mBAAqB,MAAQ,QAAA,CAAS,YAAY,KAAK,MAAQ,OAAO,EACxF,CAAC,MAAQ,QAAA,CAAS,wBAA0B,MAAQ,QAAA,CAAS,iBAAiB,KAAK,MAAQ,OAAO,CACpG,EAcA,MAXA,GAAK,0BAA4B,EAUjC,EAAK,UAAY,CARL,WACA,WACG,cACE,gBACF,cACK,mBACL,aAEc,EACtB,CACT,EAAE,EAME,gBAAkB,UAAY,CAChC,IAAI,EAAY,oBACZ,EAAU,KAAK,IAEnB,SAAS,EAAiB,EAAU,EAAS,CAC3C,IAAI,GAAc,MAAQ,QAAA,CAAS,WAC/B,GAEC,MAAQ,QAAA,CAAS,WAAa,qBACjC,EAAW,iBAAiB,WAAY,MAAQ,QAAA,CAAS,GAAG,MAAM,GAUpE,IAPA,IAAI,EAAiB,EAAQ,UACzB,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,UAAU,OAAS,EAC3C,EAAO,GACP,EACA,EAEG,GAAM,CAIX,GAHA,GAAW,MAAQ,QAAA,CAAS,UAAU,GACtC,GAAe,MAAQ,QAAA,CAAS,UAAU,EAAI,GAE1C,IAAM,EAAM,GAAK,GAAY,EAAY,EAAI,EAAY,CACvD,EAAQ,IACV,EAAU,GAGZ,EAAiB,EACjB,KACF,CAEA,GAAI,EAAY,EAAI,EAAa,EAAU,CACzC,EAAiB,EACjB,KACF,CAEI,EAAI,EAAM,EACZ,GAAK,GAEL,EAAiB,EACjB,EAAO,GAEX,CAEA,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,EAAc,EAAY,EAAI,EAC9B,GAAU,EAAQ,EAAI,EACtB,EAEJ,GAAI,EAAQ,GAAI,CACd,AACE,EAAQ,aAAa,IAAI,gBAAgB,EAAQ,EAAG,EAAY,GAAK,EAAQ,EAAG,EAAQ,GAAI,EAAQ,EAAE,EAGxG,IAAI,EAAa,EAAQ,WAEzB,GAAI,GAAY,GAAe,EAAW,GAAS,CACjD,IAAI,GAAM,GAAY,EAAc,EAAW,OAAO,OAAS,EAAI,EAGnE,IAFA,EAAO,EAAW,OAAO,GAAI,CAAC,MAAM,OAE/B,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAS,GAAK,EAAW,OAAO,GAAI,CAAC,MAAM,EAG/C,KAAO,CACD,EAAQ,OACV,EAAM,EAAQ,QAEd,EAAM,cAAc,gBAAgB,EAAQ,EAAE,EAAG,EAAQ,EAAE,EAAG,EAAQ,EAAE,EAAG,EAAQ,EAAE,EAAG,EAAQ,CAAC,CAAC,CAAC,IACnG,EAAQ,OAAS,GAGnB,EAAO,GAAK,EAAW,KAAY,EAAc,GAAQ,EACzD,IAAI,GAAiB,EAAW,cAAgB,EAC5C,GACA,GAAc,EAAQ,UAAY,GAAY,EAAQ,qBAAuB,EAAI,EAAQ,iBAAmB,EAKhH,IAJA,EAAI,EAAQ,UAAY,GAAY,EAAQ,qBAAuB,EAAI,EAAQ,WAAa,EAC5F,EAAO,GACP,EAAO,EAAW,OAAO,OAElB,GAAM,CAGX,GAFA,IAAe,EAAW,OAAO,EAAE,CAAC,cAEhC,KAAmB,GAAK,IAAS,GAAK,IAAM,EAAW,OAAO,OAAS,EAAG,CAG5E,IAFA,EAAO,EAAW,OAAO,EAAE,CAAC,MAAM,OAE7B,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAS,GAAK,EAAW,OAAO,EAAE,CAAC,MAAM,GAG3C,KACF,MAAO,GAAI,IAAkB,IAAe,GAAiB,GAAc,EAAW,OAAO,EAAI,EAAE,CAAC,cAAe,CAIjH,IAHA,IAAe,GAAiB,IAAe,EAAW,OAAO,EAAI,EAAE,CAAC,cACxE,EAAO,EAAW,OAAO,EAAE,CAAC,MAAM,OAE7B,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAS,GAAK,EAAW,OAAO,EAAE,CAAC,MAAM,IAAM,EAAW,OAAO,EAAI,EAAE,CAAC,MAAM,GAAK,EAAW,OAAO,EAAE,CAAC,MAAM,IAAM,GAGtH,KACF,CAEI,EAAI,EAAO,EACb,GAAK,EAEL,EAAO,EAEX,CAEA,EAAQ,WAAa,EACrB,EAAQ,iBAAmB,GAAc,EAAW,OAAO,EAAE,CAAC,cAC9D,EAAQ,mBAAqB,CAC/B,CACF,KAAO,CACL,IAAI,GACA,GACA,GACA,GACA,GAIJ,GAHA,EAAM,EAAQ,EAAE,OAChB,EAAW,EAAY,GAAK,EAAQ,GAE/B,MAAQ,QAAA,CAAS,IAAM,EAAQ,IAAM,EACxC,GAAI,GAAY,EACd,EAAS,GAAK,EAAS,GACvB,EAAS,GAAK,EAAS,GACvB,EAAS,GAAK,EAAS,QAClB,GAAI,GAAY,GACrB,EAAS,GAAK,EAAQ,EAAE,GACxB,EAAS,GAAK,EAAQ,EAAE,GACxB,EAAS,GAAK,EAAQ,EAAE,OACnB,CACL,IAAI,EAAY,EAAiB,EAAQ,CAAC,EACtC,GAAU,EAAiB,CAAQ,EACnC,IAAQ,EAAW,KAAY,EAAc,IACjD,EAAkB,EAAU,EAAM,EAAW,GAAS,EAAI,CAAC,CAC7D,MAEA,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAQ,IAAM,IACZ,GAAY,EACd,EAAO,EACE,EAAW,GACpB,EAAO,GAEH,EAAQ,EAAE,EAAE,cAAgB,OAC9B,AACE,EAAQ,SAAS,CAAC,EAGf,EAAQ,OAAO,GAQlB,EAAM,EAAQ,OAAO,IAPrB,GAAc,EAAQ,EAAE,EAAE,KAAO,OAAc,EAAQ,EAAE,EAAE,GAAK,EAAQ,EAAE,EAAE,GAC5E,GAAc,EAAQ,EAAE,EAAE,KAAO,OAAc,EAAQ,EAAE,EAAE,GAAK,EAAQ,EAAE,EAAE,GAC5E,GAAa,EAAQ,EAAE,EAAE,KAAO,OAAc,EAAQ,EAAE,EAAE,GAAK,EAAQ,EAAE,EAAE,GAC3E,GAAa,EAAQ,EAAE,EAAE,KAAO,OAAc,EAAQ,EAAE,EAAE,GAAK,EAAQ,EAAE,EAAE,GAC3E,EAAM,cAAc,gBAAgB,GAAM,GAAM,GAAK,EAAG,CAAC,CAAC,IAC1D,EAAQ,OAAO,GAAK,IAIZ,EAAQ,OAQlB,EAAM,EAAQ,QAPd,GAAO,EAAQ,EAAE,EACjB,GAAO,EAAQ,EAAE,EACjB,GAAM,EAAQ,EAAE,EAChB,GAAM,EAAQ,EAAE,EAChB,EAAM,cAAc,gBAAgB,GAAM,GAAM,GAAK,EAAG,CAAC,CAAC,IAC1D,EAAQ,OAAS,GAKnB,EAAO,GAAK,EAAW,KAAY,EAAc,GAAQ,IAI7D,EAAW,EAAY,GAAK,EAAQ,EACpC,GAAW,EAAQ,IAAM,EAAI,EAAQ,EAAE,GAAK,EAAQ,EAAE,IAAM,EAAS,GAAK,EAAQ,EAAE,IAAM,GAErF,MAAQ,QAAA,CAAS,WAAa,mBACjC,EAAS,GAAK,GAEd,EAAW,EAInB,CAGA,MADA,GAAQ,UAAY,EACb,CACT,CAGA,SAAS,EAAM,EAAG,EAAG,EAAG,CACtB,IAAI,EAAM,CAAC,EACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EAAK,EAAE,GACP,EACA,EAII,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAAK,EAHvC,EACA,EACA,EAyBJ,OAtBI,EAAQ,IACV,EAAQ,CAAC,EACT,EAAK,CAAC,EACN,EAAK,CAAC,EACN,EAAK,CAAC,EACN,EAAK,CAAC,GAGJ,EAAI,EAAQ,MACd,EAAQ,KAAK,KAAK,CAAK,EACvB,EAAQ,KAAK,IAAI,CAAK,EACtB,EAAS,KAAK,KAAK,EAAI,GAAK,CAAK,EAAI,EACrC,EAAS,KAAK,IAAI,EAAI,CAAK,EAAI,IAE/B,EAAS,EAAI,EACb,EAAS,GAGX,EAAI,GAAK,EAAS,EAAK,EAAS,EAChC,EAAI,GAAK,EAAS,EAAK,EAAS,EAChC,EAAI,GAAK,EAAS,EAAK,EAAS,EAChC,EAAI,GAAK,EAAS,EAAK,EAAS,EACzB,CACT,CAEA,SAAS,EAAkB,EAAK,EAAM,CACpC,IAAI,EAAK,EAAK,GACV,EAAK,EAAK,GACV,EAAK,EAAK,GACV,EAAK,EAAK,GACV,EAAU,KAAK,MAAM,EAAI,EAAK,EAAK,EAAI,EAAK,EAAI,EAAI,EAAI,EAAK,EAAK,EAAI,EAAK,CAAE,EAC7E,EAAW,KAAK,KAAK,EAAI,EAAK,EAAK,EAAI,EAAK,CAAE,EAC9C,EAAO,KAAK,MAAM,EAAI,EAAK,EAAK,EAAI,EAAK,EAAI,EAAI,EAAI,EAAK,EAAK,EAAI,EAAK,CAAE,EAC9E,EAAI,GAAK,EAAU,UACnB,EAAI,GAAK,EAAW,UACpB,EAAI,GAAK,EAAO,SAClB,CAEA,SAAS,EAAiB,EAAQ,CAChC,IAAI,EAAU,EAAO,GAAK,UACtB,EAAW,EAAO,GAAK,UACvB,EAAO,EAAO,GAAK,UACnB,EAAK,KAAK,IAAI,EAAU,CAAC,EACzB,EAAK,KAAK,IAAI,EAAW,CAAC,EAC1B,EAAK,KAAK,IAAI,EAAO,CAAC,EACtB,EAAK,KAAK,IAAI,EAAU,CAAC,EACzB,EAAK,KAAK,IAAI,EAAW,CAAC,EAC1B,EAAK,KAAK,IAAI,EAAO,CAAC,EACtB,EAAI,EAAK,EAAK,EAAK,EAAK,EAAK,EAIjC,MAAO,CAHC,EAAK,EAAK,EAAK,EAAK,EAAK,EACzB,EAAK,EAAK,EAAK,EAAK,EAAK,EACzB,EAAK,EAAK,EAAK,EAAK,EAAK,EAChB,CAAC,CACpB,CAEA,SAAS,GAAwB,CAC/B,IAAI,GAAY,MAAQ,QAAA,CAAS,KAAK,eAAiB,MAAQ,QAAA,CAAS,WACpE,GAAY,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WAChE,GAAW,MAAQ,QAAA,CAAS,WAAW,MAAQ,QAAA,CAAS,UAAU,OAAS,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WAExG,GAAI,EAAE,KAAc,MAAQ,QAAA,CAAS,SAAS,YAAc,MAAQ,QAAA,CAAS,SAAS,YAAc,KAAe,MAAQ,QAAA,CAAS,SAAS,WAAa,GAAW,GAAY,IAAY,MAAQ,QAAA,CAAS,SAAS,UAAY,GAAY,EAAW,IAAY,EAC/P,MAAQ,QAAA,CAAS,SAAS,WAAa,IAC1C,CAAC,MAAQ,QAAA,CAAS,SAAS,mBAAqB,GAChD,CAAC,MAAQ,QAAA,CAAS,SAAS,UAAY,GAGzC,IAAI,EAAe,KAAK,iBAAiB,GAAW,MAAQ,QAAA,CAAS,QAAQ,EAC7E,CAAC,MAAQ,QAAA,CAAS,GAAK,CACzB,CAGA,MADA,CAAC,MAAQ,QAAA,CAAS,SAAS,UAAY,GAC/B,MAAQ,QAAA,CAAS,EAC3B,CAEA,SAAS,EAAU,EAAK,CACtB,IAAI,EAEJ,IAAK,MAAQ,QAAA,CAAS,WAAa,iBACjC,EAAkB,GAAO,MAAQ,QAAA,CAAS,KAEtC,GAAS,MAAQ,QAAA,CAAS,EAAI,CAAe,EAAI,OACnD,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAO,SAM3B,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,EAAE,OAEvB,EAAI,GACT,EAAkB,EAAI,IAAM,MAAQ,QAAA,CAAS,KAEzC,GAAS,MAAQ,QAAA,CAAS,EAAE,GAAK,CAAe,EAAI,OACtD,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,IAG3B,GAAK,CAGX,CAEA,SAAS,GAAyB,CAChC,MAAK,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,SAAW,EAAE,MAAQ,QAAA,CAAS,gBAAgB,QAIlH,KAAK,MAAQ,QAAA,CAAS,KAAM,CAC1B,KAAK,WAAW,MAAQ,QAAA,CAAS,EAAE,EACnC,MACF,CAEA,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,cAC3C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OACxC,GAAc,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,KAAK,EAEtF,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAc,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,CAAU,EAG9D,KAAK,UAAU,CAAU,EACzB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,OAf9D,CAgBF,CAEA,SAAS,EAAU,EAAgB,EAChC,MAAQ,QAAA,CAAS,gBAAgB,KAAK,CAAc,GAEpD,MAAQ,QAAA,CAAS,UAAU,mBAAmB,MAAQ,OAAO,CAChE,CAEA,SAAS,EAAc,EAAM,EAAM,EAAM,EAAW,CAClD,CAAC,MAAQ,QAAA,CAAS,SAAW,iBAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,GAAQ,EACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAO,EAAK,EAAI,EAAO,EAAK,EAClD,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAK,EAC5B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,IAAM,EACxB,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,CAEA,SAAS,EAAyB,EAAM,EAAM,EAAM,EAAW,CAC7D,CAAC,MAAQ,QAAA,CAAS,SAAW,mBAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,GAAQ,EACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,IAAI,EACA,EAAM,EAAK,EAAE,OAKjB,IAJA,CAAC,MAAQ,QAAA,CAAS,EAAI,iBAAiB,UAAW,CAAG,EACrD,CAAC,MAAQ,QAAA,CAAS,GAAK,iBAAiB,UAAW,CAAG,EACtD,CAAC,MAAQ,QAAA,CAAS,IAAM,iBAAiB,UAAW,CAAG,EAElD,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,EAAK,EAAE,IAAM,MAAQ,QAAA,CAAS,KACvD,CAAC,MAAQ,QAAA,CAAS,GAAG,GAAK,EAAK,EAAE,GAGnC,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,CAEA,SAAS,EAAuB,EAAM,EAAM,EAAM,EAAW,CAC3D,CAAC,MAAQ,QAAA,CAAS,SAAW,iBAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAK,EACnC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,KAAK,GACzC,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,CAC3B,UAAW,EACX,UAAW,EACX,MAAO,EACP,mBAAoB,EACtB,EACA,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GAAQ,EACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,iBAAmB,EACrC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EAAsB,KAAK,MAAQ,OAAO,CAAC,EAChF,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,CAEA,SAAS,EAAkC,EAAM,EAAM,EAAM,EAAW,CACtE,CAAC,MAAQ,QAAA,CAAS,SAAW,mBAC7B,IAAI,EACA,EAAM,EAAK,EAAE,OACb,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAM,EAAG,GAAK,EACxB,EAAK,EAAE,EAAE,CAAC,IAAM,EAAK,EAAE,EAAE,CAAC,GAAK,EAAK,EAAE,EAAI,IAAM,EAAK,EAAE,EAAI,EAAE,CAAC,IAChE,EAAI,EAAK,EAAE,EAAE,CAAC,EACd,EAAI,EAAK,EAAE,EAAI,EAAE,CAAC,EAClB,EAAK,EAAK,EAAE,EAAE,CAAC,GACf,EAAK,EAAK,EAAE,EAAE,CAAC,IAEX,EAAE,SAAW,GAAK,EAAE,EAAE,KAAO,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,IAAI,cAAc,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,EAAE,GAAK,IAAI,cAAc,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,EAAE,GAAK,EAAE,SAAW,GAAK,EAAE,EAAE,KAAO,EAAE,IAAM,EAAE,KAAO,EAAE,IAAM,EAAE,KAAO,EAAE,KAAO,IAAI,cAAc,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,EAAE,GAAK,IAAI,cAAc,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,GAAI,EAAE,GAAK,EAAG,EAAE,KACpd,EAAK,EAAE,EAAE,CAAC,GAAK,KACf,EAAK,EAAE,EAAE,CAAC,GAAK,MAGb,EAAE,KAAO,EAAE,IAAM,EAAE,KAAO,EAAE,IAAM,EAAG,KAAO,GAAK,EAAG,KAAO,GAAK,EAAG,KAAO,GAAK,EAAG,KAAO,IACvF,EAAE,SAAW,GAAK,EAAE,KAAO,EAAE,IAAM,EAAG,KAAO,GAAK,EAAG,KAAO,KAC9D,EAAK,EAAE,EAAE,CAAC,GAAK,KACf,EAAK,EAAE,EAAE,CAAC,GAAK,OAMvB,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EAAsB,KAAK,MAAQ,OAAO,CAAC,EAChF,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAK,EACnC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,KAAK,GACzC,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,KAAO,GAAQ,EACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,iBAAmB,EACrC,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,IAAI,EAAS,EAAK,EAAE,EAAE,CAAC,EAAE,OAIzB,IAHA,CAAC,MAAQ,QAAA,CAAS,EAAI,iBAAiB,UAAW,CAAM,EACxD,CAAC,MAAQ,QAAA,CAAS,GAAK,iBAAiB,UAAW,CAAM,EAEpD,EAAI,EAAG,EAAI,EAAQ,GAAK,EAC3B,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,EACzB,CAAC,MAAQ,QAAA,CAAS,GAAG,GAAK,EAG5B,CAAC,MAAQ,QAAA,CAAS,SAAW,CAC3B,UAAW,EACX,UAAW,EACX,MAAO,iBAAiB,UAAW,CAAM,CAC3C,EACA,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,CAEA,SAAS,EAAQ,EAAM,EAAM,EAAM,EAAM,EAAW,CAClD,IAAI,EAEJ,GAAI,CAAC,EAAK,EAAE,OACV,EAAI,IAAI,EAAc,EAAM,EAAM,EAAM,CAAS,OAC5C,GAAI,OAAO,EAAK,EAAE,IAAO,SAC9B,EAAI,IAAI,EAAyB,EAAM,EAAM,EAAM,CAAS,OAE5D,OAAQ,EAAR,CACE,IAAK,GACH,EAAI,IAAI,EAAuB,EAAM,EAAM,EAAM,CAAS,EAC1D,MAEF,IAAK,GACH,EAAI,IAAI,EAAkC,EAAM,EAAM,EAAM,CAAS,EACrE,MAEF,QACE,KACJ,CAOF,OAJI,EAAE,gBAAgB,QACpB,EAAU,mBAAmB,CAAC,EAGzB,CACT,CAKA,MAAO,CAFI,SAEH,CACV,EAAE,EAME,yBAA2B,UAAY,CACzC,IAAI,EAAgB,CAAC,EAAG,CAAC,EAEzB,SAAS,EAAc,EAAK,CAC1B,IAAI,GAAQ,MAAQ,QAAA,CAAS,KAC7B,KAAK,yBAAyB,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,MAAQ,GAE9C,MAAQ,QAAA,CAAS,GACpB,EAAI,UAAU,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,GAGzF,MAAQ,QAAA,CAAS,GACpB,EAAI,OAAO,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,GAGnF,MAAQ,QAAA,CAAS,IACpB,EAAI,aAAa,EAAE,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,CAAC,GAG7D,MAAQ,QAAA,CAAS,EACpB,EAAI,OAAO,EAAE,MAAQ,QAAA,CAAS,EAAE,CAAC,EAEjC,EAAI,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,GAG1M,MAAQ,QAAA,CAAS,KAAK,EAAE,GACtB,MAAQ,QAAA,CAAS,KAAK,EAAE,EAC3B,EAAI,WAAW,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,EAAG,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,EAErF,EAAI,WAAW,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,EAAG,CAAC,EAGjE,EAAI,WAAW,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,CAE/F,CAEA,SAAS,EAAY,EAAa,CAChC,IAAK,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,QAWpE,KAPK,MAAQ,QAAA,CAAS,WACpB,KAAK,mBAAmB,EACxB,CAAC,MAAQ,QAAA,CAAS,SAAW,IAG/B,KAAK,yBAAyB,GAEzB,MAAQ,QAAA,CAAS,MAAQ,EAAa,CACzC,IAAI,EAsBJ,IApBC,MAAQ,QAAA,CAAS,EAAE,gBAAgB,MAAQ,QAAA,CAAS,IAAI,KAAK,GAEzD,MAAQ,QAAA,CAAS,uBAAyB,IAC5C,MAAQ,QAAA,CAAS,EAAE,UAAU,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,GAGzG,MAAQ,QAAA,CAAS,uBAAyB,IAC5C,MAAQ,QAAA,CAAS,EAAE,OAAO,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,GAGnG,MAAQ,QAAA,CAAS,KAAO,MAAQ,QAAA,CAAS,uBAAyB,IACpE,MAAQ,QAAA,CAAS,EAAE,aAAa,EAAE,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,CAAC,GAG7E,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,uBAAyB,GACnE,MAAQ,QAAA,CAAS,EAAE,OAAO,EAAE,MAAQ,QAAA,CAAS,EAAE,CAAC,EACxC,EAAE,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,uBAAyB,IAC3E,MAAQ,QAAA,CAAS,EAAE,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,GAG1N,MAAQ,QAAA,CAAS,aAAc,CAClC,IAAI,EACA,EAGJ,GAFA,GAAa,MAAQ,QAAA,CAAS,KAAK,WAAW,WAEzC,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,YAAc,MAAQ,QAAA,CAAS,EAAE,gBACzE,MAAQ,QAAA,CAAS,EAAE,SAAS,WAAa,MAAQ,QAAA,CAAS,EAAE,aAAe,MAAQ,QAAA,CAAS,EAAE,UAAU,EAAE,CAAC,GAC9G,GAAM,MAAQ,QAAA,CAAS,EAAE,iBAAiB,MAAQ,QAAA,CAAS,EAAE,UAAU,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,EAClG,GAAM,MAAQ,QAAA,CAAS,EAAE,gBAAgB,MAAQ,QAAA,CAAS,EAAE,UAAU,EAAE,CAAC,EAAI,EAAW,CAAC,IAC/E,MAAQ,QAAA,CAAS,EAAE,SAAS,WAAa,MAAQ,QAAA,CAAS,EAAE,aAAe,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,EAAE,UAAU,OAAS,EAAE,CAAC,GAC5J,GAAM,MAAQ,QAAA,CAAS,EAAE,gBAAgB,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,EAAE,UAAU,OAAS,EAAE,CAAC,EAAI,EAAW,CAAC,EAChI,GAAM,MAAQ,QAAA,CAAS,EAAE,iBAAiB,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,EAAE,UAAU,OAAS,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,IAEzI,GAAM,MAAQ,QAAA,CAAS,EAAE,GACzB,GAAM,MAAQ,QAAA,CAAS,EAAE,iBAAiB,MAAQ,QAAA,CAAS,EAAE,SAAS,WAAa,MAAQ,QAAA,CAAS,EAAE,WAAa,KAAQ,GAAY,MAAQ,QAAA,CAAS,EAAE,UAAU,QAEjK,IAAK,MAAQ,QAAA,CAAS,KAAO,MAAQ,QAAA,CAAS,GAAG,YAAc,MAAQ,QAAA,CAAS,GAAG,YAAc,MAAQ,QAAA,CAAS,GAAG,iBAAmB,MAAQ,QAAA,CAAS,GAAG,eAAgB,CACjL,EAAK,CAAC,EACN,EAAK,CAAC,EACN,IAAI,GAAM,MAAQ,QAAA,CAAS,GACvB,GAAM,MAAQ,QAAA,CAAS,GAEvB,EAAG,SAAS,UAAY,EAAG,YAAc,EAAG,UAAU,EAAE,CAAC,GAC3D,EAAG,GAAK,EAAG,gBAAgB,EAAG,UAAU,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,EACnE,EAAG,GAAK,EAAG,gBAAgB,EAAG,UAAU,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,EACnE,EAAG,GAAK,EAAG,eAAe,EAAG,UAAU,EAAE,CAAC,EAAI,EAAW,CAAC,EAC1D,EAAG,GAAK,EAAG,eAAe,EAAG,UAAU,EAAE,CAAC,EAAI,EAAW,CAAC,GACjD,EAAG,SAAS,UAAY,EAAG,YAAc,EAAG,UAAU,EAAG,UAAU,OAAS,EAAE,CAAC,GACxF,EAAG,GAAK,EAAG,eAAe,EAAG,UAAU,EAAG,UAAU,OAAS,EAAE,CAAC,EAAI,EAAW,CAAC,EAChF,EAAG,GAAK,EAAG,eAAe,EAAG,UAAU,EAAG,UAAU,OAAS,EAAE,CAAC,EAAI,EAAW,CAAC,EAChF,EAAG,GAAK,EAAG,gBAAgB,EAAG,UAAU,EAAG,UAAU,OAAS,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,EACzF,EAAG,GAAK,EAAG,gBAAgB,EAAG,UAAU,EAAG,UAAU,OAAS,EAAE,CAAC,EAAI,KAAQ,EAAW,CAAC,IAEzF,EAAK,CAAC,EAAG,GAAI,EAAG,EAAE,EAClB,EAAG,GAAK,EAAG,gBAAgB,EAAG,SAAS,UAAY,EAAG,WAAa,KAAQ,EAAW,EAAG,UAAU,EACnG,EAAG,GAAK,EAAG,gBAAgB,EAAG,SAAS,UAAY,EAAG,WAAa,KAAQ,EAAW,EAAG,UAAU,EAEvG,KACE,GAAK,EACL,EAAK,GAGN,MAAQ,QAAA,CAAS,EAAE,OAAO,CAAC,KAAK,MAAM,EAAG,GAAK,EAAG,GAAI,EAAG,GAAK,EAAG,EAAE,CAAC,CACtE,EAEK,MAAQ,QAAA,CAAS,KAAK,IAAM,MAAQ,QAAA,CAAS,KAAK,EAAE,GAClD,MAAQ,QAAA,CAAS,KAAK,EAAE,GAC1B,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,EAAG,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,GAEpG,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,EAAG,CAAC,GAGhF,MAAQ,QAAA,CAAS,EAAE,WAAW,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,CAE/G,CAEA,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,OAF9D,CAGF,CAEA,SAAS,GAAqB,CAC5B,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,GACtB,MAAQ,QAAA,CAAS,IAAI,UAAU,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,EAE9G,CAAC,MAAQ,QAAA,CAAS,uBAAyB,OAE3C,OAGF,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,gBAAgB,QACtC,MAAQ,QAAA,CAAS,IAAI,OAAO,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,EAExG,CAAC,MAAQ,QAAA,CAAS,uBAAyB,OAE3C,OAGF,IAAK,MAAQ,QAAA,CAAS,GACpB,GAAI,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,QACvF,MAAQ,QAAA,CAAS,IAAI,aAAa,EAAE,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,CAAC,EAElF,CAAC,MAAQ,QAAA,CAAS,uBAAyB,OAE3C,QAIC,MAAQ,QAAA,CAAS,GACd,MAAQ,QAAA,CAAS,EAAE,gBAAgB,UACtC,MAAQ,QAAA,CAAS,IAAI,OAAO,EAAE,MAAQ,QAAA,CAAS,EAAE,CAAC,EAEnD,CAAC,MAAQ,QAAA,CAAS,uBAAyB,GAEpC,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,UAC9L,MAAQ,QAAA,CAAS,IAAI,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,EAE/N,CAAC,MAAQ,QAAA,CAAS,uBAAyB,EAE/C,CAEA,SAAS,GAAa,CAEtB,CAEA,SAAS,EAAmB,EAAM,CAChC,KAAK,oBAAoB,CAAI,GAE5B,MAAQ,QAAA,CAAS,KAAK,mBAAmB,CAAI,EAE9C,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC/B,CAEA,SAAS,EAAkB,EAAM,EAAM,EAAW,CAwBhD,GAvBA,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,YAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,EAAI,IAAI,OAE1B,CAAC,MAAQ,QAAA,CAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,QAAA,CAAS,uBAAyB,EAC3C,KAAK,6BAA6B,GAAa,CAAI,EAE/C,EAAK,GAAK,EAAK,EAAE,GACnB,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EAEhF,EAAK,EAAE,IACT,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,IAGtF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,CAAC,CACb,EAAG,EAAG,EAAG,MAAQ,OAAO,EAGtB,EAAK,GAAI,CAKX,GAJA,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,EAC3F,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,EAC3F,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,EAEvF,EAAK,GAAG,EAAE,EAAE,CAAC,GAAI,CACnB,IAAI,EACA,EAAM,EAAK,GAAG,EAAE,OAEpB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAK,GAAG,EAAE,EAAE,CAAC,GAAK,KAClB,EAAK,GAAG,EAAE,EAAE,CAAC,GAAK,IAEtB,CAEA,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,EAE3F,CAAC,MAAQ,QAAA,CAAS,GAAG,GAAK,EAC5B,KACE,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,UAAW,MAAQ,OAAO,EAG9B,EAAK,KACP,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,EAC3F,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,UAAW,MAAQ,OAAO,GAG7F,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,CAAC,CACb,EAAG,EAAG,EAAG,MAAQ,OAAO,EACxB,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CAAC,IAAK,IAAK,GAAG,CACnB,EAAG,EAAG,IAAM,MAAQ,OAAO,EAEvB,EAAK,EACP,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,CAAI,EAEzE,CAAC,MAAQ,QAAA,CAAS,EAAI,CACpB,KAAM,GACN,EAAG,CACL,EAGF,CAAC,MAAQ,QAAA,CAAS,SAAW,IAEvB,MAAQ,QAAA,CAAS,kBAAkB,QACvC,KAAK,SAAS,EAAI,CAEtB,CAEA,EAAkB,UAAY,CACb,gBACf,SAAU,EACU,qBACR,YACd,EACA,gBAAgB,CAAC,wBAAwB,EAAG,CAAiB,EAC7D,EAAkB,UAAU,mBAAqB,EACjD,EAAkB,UAAU,oBAAsB,yBAAyB,UAAU,mBAErF,SAAS,EAAqB,EAAM,EAAM,EAAW,CACnD,OAAO,IAAI,EAAkB,EAAM,EAAM,CAAS,CACpD,CAEA,MAAO,CACiB,sBACxB,CACF,EAAE,EAIF,SAAS,WAAY,CACnB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,EAAI,kBAAkB,MAAQ,QAAA,CAAS,UAAU,EACnE,CAAC,MAAQ,QAAA,CAAS,EAAI,kBAAkB,MAAQ,QAAA,CAAS,UAAU,EACnE,CAAC,MAAQ,QAAA,CAAS,EAAI,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CACrE,CAEA,UAAU,UAAU,YAAc,SAAU,EAAQ,EAAK,CACvD,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,KAAK,UAAU,CAAG,EAGlB,IAFA,IAAI,EAAI,EAED,EAAI,GACT,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,UAAU,WAAW,EAC9C,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,UAAU,WAAW,EAC9C,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,UAAU,WAAW,EAC9C,GAAK,CAET,EAEA,UAAU,UAAU,UAAY,SAAU,EAAK,CAC7C,MAAQ,MAAQ,QAAA,CAAS,WAAa,GACpC,KAAK,kBAAkB,EAGzB,CAAC,MAAQ,QAAA,CAAS,QAAU,CAC9B,EAEA,UAAU,UAAU,kBAAoB,UAAY,CAClD,CAAC,MAAQ,QAAA,CAAS,GAAK,MAAQ,QAAA,CAAS,EAAE,OAAO,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CAAC,EAC/F,CAAC,MAAQ,QAAA,CAAS,GAAK,MAAQ,QAAA,CAAS,EAAE,OAAO,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CAAC,EAC/F,CAAC,MAAQ,QAAA,CAAS,GAAK,MAAQ,QAAA,CAAS,EAAE,OAAO,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CAAC,EAC/F,CAAC,MAAQ,QAAA,CAAS,YAAc,CAClC,EAEA,UAAU,UAAU,QAAU,SAAU,EAAG,EAAG,EAAM,EAAK,EAAS,CAChE,IAAI,EAOJ,OANA,CAAC,MAAQ,QAAA,CAAS,QAAU,KAAK,KAAK,MAAQ,QAAA,CAAS,QAAS,EAAM,CAAC,GAElE,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,YACjD,KAAK,kBAAkB,EAGjB,EAAR,CACE,IAAK,IACH,GAAO,MAAQ,QAAA,CAAS,EACxB,MAEF,IAAK,IACH,GAAO,MAAQ,QAAA,CAAS,EACxB,MAEF,IAAK,IACH,GAAO,MAAQ,QAAA,CAAS,EACxB,MAEF,QACE,EAAM,CAAC,EACP,KACJ,EAEI,CAAC,EAAI,IAAQ,EAAI,IAAQ,CAAC,KAC5B,EAAI,GAAO,UAAU,WAAW,GAGlC,EAAI,EAAI,CAAC,GAAK,EACd,EAAI,EAAI,CAAC,GAAK,CAChB,EAEA,UAAU,UAAU,YAAc,SAAU,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,EAAK,EAAS,CAChF,KAAK,QAAQ,EAAI,EAAI,IAAK,EAAK,CAAO,EACtC,KAAK,QAAQ,EAAI,EAAI,IAAK,EAAK,CAAO,EACtC,KAAK,QAAQ,EAAI,EAAI,IAAK,EAAK,CAAO,CACxC,EAEA,UAAU,UAAU,QAAU,UAAY,CACxC,IAAI,EAAU,IAAI,UAClB,EAAQ,aAAa,MAAQ,QAAA,CAAS,GAAI,MAAQ,QAAA,CAAS,OAAO,EAClE,IAAI,GAAY,MAAQ,QAAA,CAAS,EAC7B,GAAa,MAAQ,QAAA,CAAS,EAC9B,GAAY,MAAQ,QAAA,CAAS,EAC7B,EAAO,GAEN,MAAQ,QAAA,CAAS,IACpB,EAAQ,YAAY,EAAS,EAAE,CAAC,GAAI,EAAS,EAAE,CAAC,GAAI,EAAS,EAAE,CAAC,GAAI,EAAS,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,GAAI,EAAG,EAAK,EAC9H,EAAO,GAGT,IAAI,GAAO,MAAQ,QAAA,CAAS,QAAU,EAClC,GAAO,MAAQ,QAAA,CAAS,QACxB,EAEJ,IAAK,EAAI,EAAM,EAAI,EAAK,GAAK,EAC3B,EAAQ,YAAY,EAAS,EAAI,CAAC,GAAI,EAAS,EAAI,CAAC,GAAI,EAAS,EAAI,CAAC,GAAI,EAAS,EAAI,CAAC,GAAI,EAAU,EAAI,CAAC,GAAI,EAAU,EAAI,CAAC,GAAI,EAAG,EAAK,EAC1I,IAGF,OAAO,CACT,EAOA,IAAI,qBAAuB,UAAY,CACrC,IAAI,EAAY,QAEhB,SAAS,EAAiB,EAAU,EAAe,EAAS,CAC1D,IAAI,EAAiB,EAAQ,UACzB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAAM,MAAQ,QAAA,CAAS,UAE3B,GAAI,EAAW,EAAG,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WACzC,EAAW,EAAG,EAAE,CAAC,EAAE,GACnB,EAAS,GACT,EAAiB,OACZ,GAAI,GAAY,EAAG,EAAG,OAAS,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WAC7D,EAAW,EAAG,EAAG,OAAS,EAAE,CAAC,EAAI,EAAG,EAAG,OAAS,EAAE,CAAC,EAAE,GAAK,EAAG,EAAG,OAAS,EAAE,CAAC,EAAE,GAO9E,EAAS,OACJ,CAOL,IANA,IAAI,EAAI,EACJ,EAAM,EAAG,OAAS,EAClB,EAAO,GACP,EACA,EAEG,IACL,EAAU,EAAG,GACb,EAAc,EAAG,EAAI,GAEjB,IAAY,GAAK,MAAQ,QAAA,CAAS,WAAa,KAI/C,EAAI,EAAM,EACZ,GAAK,EAEL,EAAO,GAOX,GAHA,EAAS,EAAQ,IAAM,EACvB,EAAiB,EAEb,CAAC,EAAQ,CACX,GAAI,GAAY,EAAY,GAAK,MAAQ,QAAA,CAAS,WAChD,EAAO,OACF,GAAI,EAAW,EAAQ,GAAK,MAAQ,QAAA,CAAS,WAClD,EAAO,MACF,CACL,IAAI,EAEA,EAAQ,OACV,EAAM,EAAQ,QAEd,EAAM,cAAc,gBAAgB,EAAQ,EAAE,EAAG,EAAQ,EAAE,EAAG,EAAQ,EAAE,EAAG,EAAQ,EAAE,CAAC,CAAC,CAAC,IACxF,EAAQ,OAAS,GAGnB,EAAO,GAAK,GAAY,EAAQ,GAAK,MAAQ,QAAA,CAAS,cAAgB,EAAY,GAAK,MAAQ,QAAA,CAAS,YAAc,EAAQ,GAAK,MAAQ,QAAA,CAAS,YAAY,CAClK,CAEA,EAAW,EAAY,EAAI,EAAY,EAAE,GAAK,EAAQ,EAAE,EAC1D,CAEA,EAAW,EAAQ,EAAE,EACvB,CAMA,IAJA,EAAO,EAAc,QACrB,EAAO,EAAS,EAAE,EAAE,CAAC,OACrB,EAAQ,UAAY,EAEf,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAc,EAAS,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EACrG,EAAc,EAAE,EAAE,CAAC,GAAK,EACxB,EAAc,EAAS,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EACrG,EAAc,EAAE,EAAE,CAAC,GAAK,EACxB,EAAc,EAAS,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EAAS,EAAE,EAAE,CAAC,GAAK,EAAS,EAAE,EAAE,CAAC,IAAM,EACrG,EAAc,EAAE,EAAE,CAAC,GAAK,CAG9B,CAEA,SAAS,GAA8B,CACrC,IAAI,GAAY,MAAQ,QAAA,CAAS,KAAK,eAAiB,MAAQ,QAAA,CAAS,WACpE,GAAY,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WAChE,GAAW,MAAQ,QAAA,CAAS,WAAW,MAAQ,QAAA,CAAS,UAAU,OAAS,EAAE,CAAC,GAAK,MAAQ,QAAA,CAAS,WACpG,GAAa,MAAQ,QAAA,CAAS,SAAS,UAS3C,OAPM,IAAc,IAAc,EAAY,GAAY,EAAW,GAAY,EAAY,GAAW,EAAW,KAEjH,CAAC,MAAQ,QAAA,CAAS,SAAS,UAAY,EAAY,GAAY,MAAQ,QAAA,CAAS,SAAS,UAAY,EACrG,KAAK,iBAAiB,GAAW,MAAQ,QAAA,CAAS,IAAK,MAAQ,QAAA,CAAS,QAAQ,GAGlF,CAAC,MAAQ,QAAA,CAAS,SAAS,UAAY,GAC/B,MAAQ,QAAA,CAAS,EAC3B,CAEA,SAAS,GAAa,CACpB,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,oBAC9C,CAEA,SAAS,EAAY,EAAQ,EAAQ,CACnC,GAAI,EAAO,UAAY,EAAO,SAAW,EAAO,IAAM,EAAO,EAC3D,MAAO,GAGT,IAAI,EACA,EAAM,EAAO,QAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,IAAM,EAAO,EAAE,EAAE,CAAC,KAAO,EAAO,EAAE,EAAE,CAAC,GAC1N,MAAO,GAIX,MAAO,EACT,CAEA,SAAS,EAAU,EAAS,CACrB,GAAa,MAAQ,QAAA,CAAS,EAAG,CAAO,IAC3C,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,MAAM,CAAO,GAE5C,MAAQ,QAAA,CAAS,qBAAqB,cAAc,GAEpD,MAAQ,QAAA,CAAS,qBAAqB,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEnE,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,qBAEhD,CAEA,SAAS,GAAyB,CAChC,IAAK,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,QAIpE,IAAI,EAAE,MAAQ,QAAA,CAAS,gBAAgB,OAAQ,CAC7C,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,MACF,CAEA,IAAK,MAAQ,QAAA,CAAS,KAAM,CAC1B,KAAK,WAAW,MAAQ,QAAA,CAAS,EAAE,EACnC,MACF,CAEA,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,IAAI,GAEC,MAAQ,QAAA,CAAS,IACN,MAAQ,QAAA,CAAS,IACrB,MAAQ,QAAA,CAAS,KAAK,IAClB,MAAQ,QAAA,CAAS,KAAK,GAAG,GAEzB,MAAQ,QAAA,CAAS,KAAK,GAAG,EAGrC,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OAE5C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAc,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,CAAU,EAG9D,KAAK,UAAU,CAAU,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,OA5B9D,CA6BF,CAEA,SAAS,EAAc,EAAM,EAAM,EAAM,CACvC,CAAC,MAAQ,QAAA,CAAS,SAAW,QAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,IAAI,EAAW,IAAS,EAAI,EAAK,GAAG,EAAI,EAAK,GAAG,EAChD,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,MAAM,CAAQ,EAC9C,CAAC,MAAQ,QAAA,CAAS,GAAK,UAAU,OAAO,MAAQ,QAAA,CAAS,CAAC,EAC1D,CAAC,MAAQ,QAAA,CAAS,qBAAuB,oBAAoB,mBAAmB,EAChF,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,sBAE3C,MAAQ,QAAA,CAAS,MAAM,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEpD,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,CACvC,CAEA,SAAS,EAAU,EAAgB,EAChC,MAAQ,QAAA,CAAS,gBAAgB,KAAK,CAAc,GAEpD,MAAQ,QAAA,CAAS,UAAU,mBAAmB,MAAQ,OAAO,CAChE,CAEA,EAAc,UAAU,iBAAmB,EAC3C,EAAc,UAAU,SAAW,EACnC,EAAc,UAAU,UAAY,EACpC,EAAc,UAAU,UAAY,EAEpC,SAAS,EAAuB,EAAM,EAAM,EAAM,CAChD,CAAC,MAAQ,QAAA,CAAS,SAAW,QAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,KAAK,GACzC,CAAC,MAAQ,QAAA,CAAS,UAAY,IAAS,EAAI,EAAK,GAAG,EAAI,EAAK,GAAG,EAC/D,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,IAAI,GAAO,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,OAChD,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,WAAW,GAE1C,MAAQ,QAAA,CAAS,EAAE,aAAa,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAG,CAAG,EAE1E,CAAC,MAAQ,QAAA,CAAS,GAAK,UAAU,OAAO,MAAQ,QAAA,CAAS,CAAC,EAC1D,CAAC,MAAQ,QAAA,CAAS,qBAAuB,oBAAoB,mBAAmB,EAChF,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,sBAE3C,MAAQ,QAAA,CAAS,MAAM,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEpD,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,SAAW,CAC3B,UAAW,EACX,UAAW,CACb,EACA,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EAA4B,KAAK,MAAQ,OAAO,CAAC,CACxF,CAEA,EAAuB,UAAU,SAAW,EAC5C,EAAuB,UAAU,iBAAmB,EACpD,EAAuB,UAAU,UAAY,EAC7C,EAAuB,UAAU,UAAY,EAE7C,IAAI,EAAmB,UAAY,CACjC,IAAI,EAAS,YAEb,SAAS,EAAwB,EAAM,EAAM,CAO3C,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,WAAW,GAE1C,MAAQ,QAAA,CAAS,EAAE,YAAY,GAAM,CAAC,EAEvC,CAAC,MAAQ,QAAA,CAAS,qBAAuB,oBAAoB,mBAAmB,EAChF,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,sBAE3C,MAAQ,QAAA,CAAS,qBAAqB,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEnE,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAK,EAC3B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,GAE5E,MAAQ,QAAA,CAAS,kBAAkB,OACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,IAEtB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,KAAK,iBAAiB,EAE1B,CAoDA,MAlDA,GAAwB,UAAY,CAClC,MAAO,EACP,SAAU,UAAY,EACf,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,UAIpE,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQ,QAAA,CAAS,MACpB,KAAK,iBAAiB,EAE1B,EACA,iBAAkB,UAAY,CAC5B,IAAI,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC3B,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC3B,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAK,EAChC,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAK,EAEhC,GAAO,MAAQ,QAAA,CAAS,IAAM,EAE9B,GAAM,MAAQ,QAAA,CAAS,EAC3B,EAAG,EAAE,EAAE,CAAC,GAAK,EACb,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EACb,EAAG,EAAE,EAAE,CAAC,GAAK,EACb,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EACb,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAS,EAAK,EAAK,EAChD,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAAK,EACvB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAS,EAAK,EAAK,EAChD,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAAK,EACvB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAS,EAAK,EAAK,EAChD,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAAK,EACvB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAS,EAAK,EAAK,EAChD,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAClB,EAAG,EAAE,EAAE,CAAC,GAAK,EAAM,EAAK,EAAK,EAAK,EAClC,EAAG,EAAE,EAAE,CAAC,GAAK,EAAK,EAAK,CACzB,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAG,CAAuB,EAC5D,CACT,EAAE,EAEE,EAAoB,UAAY,CAClC,SAAS,EAAyB,EAAM,EAAM,CAC5C,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,WAAW,GAE1C,MAAQ,QAAA,CAAS,EAAE,YAAY,GAAM,CAAC,EAEvC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAK,EAC3B,KAAK,6BAA6B,CAAI,EAElC,EAAK,KAAO,GACd,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,EAAG,MAAQ,OAAO,EACnF,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,IAAM,MAAQ,OAAO,EACtF,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,mBAEpD,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,qBAGtD,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,EAAG,MAAQ,OAAO,EACnF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,UAAW,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,EAAG,MAAQ,OAAO,EACnF,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAI,EAAG,IAAM,MAAQ,OAAO,EACtF,CAAC,MAAQ,QAAA,CAAS,qBAAuB,oBAAoB,mBAAmB,GAE/E,MAAQ,QAAA,CAAS,qBAAqB,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEnE,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,sBAEvC,MAAQ,QAAA,CAAS,kBAAkB,OACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,IAEtB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,KAAK,cAAc,EAEvB,CA2FA,MAzFA,GAAyB,UAAY,CACnC,MAAO,EACP,SAAU,UAAY,EACf,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,UAIpE,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQ,QAAA,CAAS,MACpB,KAAK,cAAc,EAEvB,EACA,kBAAmB,UAAY,CAC7B,IAAI,EAAS,KAAK,OAAO,MAAQ,QAAA,CAAS,GAAG,CAAC,EAAI,EAC9C,EAAQ,KAAK,GAAK,EAAI,EAKtB,EAAW,GACX,GAAW,MAAQ,QAAA,CAAS,GAAG,EAC/B,GAAY,MAAQ,QAAA,CAAS,GAAG,EAChC,GAAa,MAAQ,QAAA,CAAS,GAAG,EACjC,GAAc,MAAQ,QAAA,CAAS,GAAG,EAClC,EAAmB,EAAI,KAAK,GAAK,GAAW,EAAS,GACrD,EAAoB,EAAI,KAAK,GAAK,GAAY,EAAS,GACvD,EACA,EACA,EACA,EACA,EAAa,CAAC,KAAK,GAAK,EAC5B,IAAe,MAAQ,QAAA,CAAS,EAAE,EAClC,IAAI,GAAO,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,GAAK,EAGhD,IAFA,CAAC,MAAQ,QAAA,CAAS,EAAE,QAAU,EAEzB,EAAI,EAAG,EAAI,EAAQ,GAAK,EAAG,CAC9B,EAAM,EAAW,EAAU,EAC3B,EAAY,EAAW,EAAY,EACnC,EAAe,EAAW,EAAmB,EAC7C,IAAI,EAAI,EAAM,KAAK,IAAI,CAAU,EAC7B,EAAI,EAAM,KAAK,IAAI,CAAU,EAC7B,EAAK,IAAM,GAAK,IAAM,EAAI,EAAI,EAAI,KAAK,KAAK,EAAI,EAAI,EAAI,CAAC,EACzD,EAAK,IAAM,GAAK,IAAM,EAAI,EAAI,CAAC,EAAI,KAAK,KAAK,EAAI,EAAI,EAAI,CAAC,EAC9D,GAAK,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC5B,GAAK,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAE3B,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAG,EAAG,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAG,EAAI,EAOjN,EAAW,CAAC,EACZ,GAAc,EAAQ,CACxB,CACF,EACA,qBAAsB,UAAY,CAChC,IAAI,EAAS,KAAK,OAAO,MAAQ,QAAA,CAAS,GAAG,CAAC,EAC1C,EAAQ,KAAK,GAAK,EAAI,EACtB,GAAO,MAAQ,QAAA,CAAS,GAAG,EAC3B,GAAa,MAAQ,QAAA,CAAS,GAAG,EACjC,EAAe,EAAI,KAAK,GAAK,GAAO,EAAS,GAC7C,EACA,EAAa,CAAC,KAAK,GAAK,GACxB,GAAO,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,GAAK,EAIhD,IAHA,IAAe,MAAQ,QAAA,CAAS,EAAE,EAClC,CAAC,MAAQ,QAAA,CAAS,EAAE,QAAU,EAEzB,EAAI,EAAG,EAAI,EAAQ,GAAK,EAAG,CAC9B,IAAI,EAAI,EAAM,KAAK,IAAI,CAAU,EAC7B,EAAI,EAAM,KAAK,IAAI,CAAU,EAC7B,EAAK,IAAM,GAAK,IAAM,EAAI,EAAI,EAAI,KAAK,KAAK,EAAI,EAAI,EAAI,CAAC,EACzD,EAAK,IAAM,GAAK,IAAM,EAAI,EAAI,CAAC,EAAI,KAAK,KAAK,EAAI,EAAI,EAAI,CAAC,EAC9D,GAAK,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC5B,GAAK,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAE3B,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAG,EAAG,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAI,EAAK,EAAe,EAAY,EAAK,EAAG,EAAI,EAEjN,GAAc,EAAQ,CACxB,CAEA,CAAC,MAAQ,QAAA,CAAS,MAAM,OAAS,EACjC,CAAC,MAAQ,QAAA,CAAS,MAAM,IAAM,MAAQ,QAAA,CAAS,CACjD,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAG,CAAwB,EAC7D,CACT,EAAE,EAEE,EAAoB,UAAY,CAClC,SAAS,EAAyB,EAAM,EAAM,CAC5C,CAAC,MAAQ,QAAA,CAAS,EAAI,UAAU,WAAW,EAC3C,CAAC,MAAQ,QAAA,CAAS,EAAE,EAAI,GACxB,CAAC,MAAQ,QAAA,CAAS,qBAAuB,oBAAoB,mBAAmB,GAE/E,MAAQ,QAAA,CAAS,qBAAqB,UAAU,MAAQ,QAAA,CAAS,CAAC,EAEnE,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,qBAC5C,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAK,EAC3B,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,GAE5E,MAAQ,QAAA,CAAS,kBAAkB,OACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,IAEtB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,KAAK,kBAAkB,EAE3B,CA2EA,MAzEA,GAAyB,UAAY,CACnC,kBAAmB,UAAY,CAC7B,IAAI,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC3B,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAC3B,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAK,EAChC,GAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAK,EAChC,EAAQ,MAAM,EAAI,GAAK,MAAQ,QAAA,CAAS,EAAE,CAAC,EAC3C,EAAS,GAAS,EAAI,aAC1B,CAAC,MAAQ,QAAA,CAAS,EAAE,QAAU,GAEzB,MAAQ,QAAA,CAAS,IAAM,IAAM,MAAQ,QAAA,CAAS,IAAM,IACtD,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAG,EAAI,EAElH,IAAU,IAaX,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,CAAC,GAE/F,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAI,CAAC,KAd/F,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAG,EAAI,MAOvH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAG,EAAI,EAElH,IAAU,IAeX,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAG,EAAI,GAErG,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAI,EAAG,EAAI,GAErG,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAI,EAAK,EAAI,EAAG,EAAI,KAlBrG,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAG,EAAI,GAErH,MAAQ,QAAA,CAAS,EAAE,YAAY,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAO,EAAK,EAAI,EAAK,EAAK,EAAQ,EAAG,EAAI,GAS5H,EACA,SAAU,UAAY,EACf,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,UAIpE,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,GAEzB,MAAQ,QAAA,CAAS,MACpB,KAAK,kBAAkB,EAE3B,EACA,MAAO,CACT,EACA,gBAAgB,CAAC,wBAAwB,EAAG,CAAwB,EAC7D,CACT,EAAE,EAEF,SAAS,EAAa,EAAM,EAAM,EAAM,CACtC,IAAI,EAuBJ,OArBI,IAAS,GAAK,IAAS,EAIzB,AAGE,GANa,IAAS,EAAI,EAAK,GAAK,EAAK,GAAA,CACvB,EAEX,OACA,IAAI,EAAuB,EAAM,EAAM,CAAI,EAE3C,IAAI,EAAc,EAAM,EAAM,CAAI,EAElC,IAAS,EAClB,EAAO,IAAI,EAAkB,EAAM,CAAI,EAC9B,IAAS,EAClB,EAAO,IAAI,EAAiB,EAAM,CAAI,EAC7B,IAAS,IAClB,EAAO,IAAI,EAAkB,EAAM,CAAI,GAGrC,EAAK,GACP,EAAK,mBAAmB,CAAI,EAGvB,CACT,CAEA,SAAS,GAAyB,CAChC,OAAO,CACT,CAEA,SAAS,GAAkC,CACzC,OAAO,CACT,CAEA,IAAI,EAAK,CAAC,EAIV,MAHA,GAAG,aAAe,EAClB,EAAG,uBAAyB,EAC5B,EAAG,gCAAkC,EAC9B,CACT,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAI,EAAK,CAAC,EACN,EAAY,CAAC,EACjB,EAAG,iBAAmB,EACtB,EAAG,YAAc,EAEjB,SAAS,EAAiB,EAAI,EAAS,CAChC,EAAU,KACb,EAAU,GAAM,EAEpB,CAEA,SAAS,EAAY,EAAI,EAAM,EAAM,CACnC,OAAO,IAAI,EAAU,GAAI,EAAM,CAAI,CACrC,CAEA,OAAO,CACT,EAAE,EAEF,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAU,uBAAyB,UAAY,CAAC,EAE9D,cAAc,UAAU,mBAAqB,UAAY,CAAC,EAE1D,cAAc,UAAU,SAAW,SAAU,EAAM,CACjD,GAAI,EAAE,MAAQ,QAAA,CAAS,OAAQ,CAE7B,EAAK,GAAG,UAAU,mBAAmB,EAAK,EAAE,EAC5C,IAAI,EAAY,CACd,MAAO,EAAK,GACN,OACN,qBAAsB,oBAAoB,mBAAmB,CAC/D,GAEC,MAAQ,QAAA,CAAS,OAAO,KAAK,CAAS,EAEvC,KAAK,mBAAmB,CAAS,GAE5B,MAAQ,QAAA,CAAS,aACpB,EAAK,cAAc,CAEvB,CACF,EAEA,cAAc,UAAU,KAAO,SAAU,EAAM,EAAM,CACnD,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,KAAK,6BAA6B,CAAI,EACtC,KAAK,uBAAuB,EAAM,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,QAAU,oBAC5B,CAAC,MAAQ,QAAA,CAAS,OAAS,GAC3B,CAAC,MAAQ,QAAA,CAAS,EAAI,IAEjB,MAAQ,QAAA,CAAS,kBAAkB,OACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,GAEtB,KAAK,SAAS,EAAI,CAEtB,EAEA,cAAc,UAAU,YAAc,UAAY,EAC3C,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,UAIpE,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,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,SAAU,EAAM,EAAM,CACpE,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,YAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAK,EAC3B,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQ,QAAA,CAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQ,QAAA,CAAS,EAAE,gBAAgB,MACxK,EAEA,aAAa,UAAU,mBAAqB,SAAU,EAAW,CAC/D,EAAU,UAAY,CAAC,CACzB,EAEA,aAAa,UAAU,oBAAsB,SAAU,EAAG,EAAG,EAAa,EAAa,EAAqB,CAC1G,IAAI,EAAW,CAAC,EAEZ,GAAK,EACP,EAAS,KAAK,CACT,IACA,GACL,CAAC,EACQ,GAAK,EACd,EAAS,KAAK,CACZ,EAAG,EAAI,EACP,EAAG,EAAI,CACT,CAAC,GAED,EAAS,KAAK,CACT,IACH,EAAG,CACL,CAAC,EACD,EAAS,KAAK,CACZ,EAAG,EACH,EAAG,EAAI,CACT,CAAC,GAGH,IAAI,EAAgB,CAAC,EACjB,EACA,EAAM,EAAS,OACf,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,GAFA,EAAY,EAAS,GAEjB,EAAE,EAAU,EAAI,EAAsB,GAAe,EAAU,EAAI,EAAsB,EAAc,GAAc,CACvH,IAAI,EAGA,EAAU,EAAI,GAAuB,EAC9B,GAEC,EAAU,EAAI,EAAsB,GAAe,EAL3D,EAQA,EAAU,EAAI,GAAuB,EAAc,EAC5C,GAEC,EAAU,EAAI,EAAsB,GAAe,EAG/D,EAAc,KAAK,CAAC,EAAQ,CAAM,CAAC,CACrC,CAOF,OAJK,EAAc,QACjB,EAAc,KAAK,CAAC,EAAG,CAAC,CAAC,EAGpB,CACT,EAEA,aAAa,UAAU,iBAAmB,SAAU,EAAW,CAC7D,IAAI,EACA,EAAM,EAAU,OAEpB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,mBAAmB,QAAQ,EAAU,EAAE,EAIzC,MADA,GAAU,OAAS,EACZ,CACT,EAEA,aAAa,UAAU,cAAgB,SAAU,EAAe,CAC9D,IAAI,EACA,EAEJ,IAAK,MAAQ,QAAA,CAAS,MAAQ,EAAe,CAC3C,IAAI,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAI,IAAM,IAsBtC,GApBI,EAAI,IACN,GAAK,GAGP,AAKE,GALG,MAAQ,QAAA,CAAS,EAAE,EAAI,EACtB,EAAI,GACE,MAAQ,QAAA,CAAS,EAAE,EAAI,EAC7B,EAAI,GAEH,MAAQ,QAAA,CAAS,EAAE,EAAI,EAG9B,AAKE,GALG,MAAQ,QAAA,CAAS,EAAE,EAAI,EACtB,EAAI,GACE,MAAQ,QAAA,CAAS,EAAE,EAAI,EAC7B,EAAI,GAEH,MAAQ,QAAA,CAAS,EAAE,EAAI,EAG1B,EAAI,EAAG,CACT,IAAI,EAAK,EACT,EAAI,EACJ,EAAI,CACN,CAEA,EAAI,KAAK,MAAM,EAAI,GAAK,EAAI,KAC5B,EAAI,KAAK,MAAM,EAAI,GAAK,EAAI,KAC5B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,OAAS,CAC7B,KACE,IAAK,MAAQ,QAAA,CAAS,OACtB,GAAK,MAAQ,QAAA,CAAS,OAGxB,IAAI,EACA,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EACA,EACA,EACA,EACA,EACA,EAAsB,EAE1B,GAAI,IAAM,EACR,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,qBAAqB,cAAc,EAE/D,CAAC,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,MAAM,KAAO,GACzC,CAAC,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,MAAM,OAAS,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,sBAEjE,MAAQ,QAAA,CAAS,OACpB,CAAC,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,UAAU,OAAS,QAG9C,GAAI,EAAE,IAAM,GAAK,IAAM,GAAK,IAAM,GAAK,IAAM,GAAI,CACtD,IAAI,EAAW,CAAC,EACZ,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,GAFA,GAAa,MAAQ,QAAA,CAAS,OAAO,GAEjC,CAAC,EAAU,MAAM,MAAQ,EAAE,MAAQ,QAAA,CAAS,MAAQ,CAAC,IAAkB,MAAQ,QAAA,CAAS,IAAM,EAChG,EAAU,MAAM,MAAQ,EAAU,yBAC7B,CAKL,GAJA,EAAa,EAAU,MAAM,MAC7B,EAAO,EAAW,QAClB,EAAmB,EAEf,CAAC,EAAU,MAAM,MAAQ,EAAU,UAAU,OAC/C,EAAmB,EAAU,qBACxB,CAGL,IAFA,EAAY,KAAK,iBAAiB,EAAU,SAAS,EAEhD,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAW,IAAI,kBAAkB,EAAW,OAAO,EAAE,EACrD,EAAU,KAAK,CAAQ,EACvB,GAAoB,EAAS,YAG/B,EAAU,iBAAmB,EAC7B,EAAU,UAAY,CACxB,CAEA,GAAuB,EACvB,EAAU,MAAM,KAAO,EACzB,CAGF,IAAI,EAAS,EACT,EAAS,EACT,EAAc,EACd,GAEJ,IAAK,EAAI,EAAM,EAAG,GAAK,EAAG,IAGxB,GAFA,GAAa,MAAQ,QAAA,CAAS,OAAO,GAEjC,EAAU,MAAM,KAAM,CAaxB,IAZA,EAAuB,EAAU,qBACjC,EAAqB,cAAc,GAE9B,MAAQ,QAAA,CAAS,IAAM,GAAK,EAAM,GACrC,GAAQ,KAAK,oBAAoB,EAAG,EAAG,EAAU,iBAAkB,EAAa,CAAmB,EACnG,GAAe,EAAU,kBAEzB,GAAQ,CAAC,CAAC,EAAQ,CAAM,CAAC,EAG3B,EAAO,GAAM,OAER,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAC5B,EAAS,GAAM,EAAE,CAAC,GAClB,EAAS,GAAM,EAAE,CAAC,GAClB,EAAS,OAAS,EAEd,GAAU,EACZ,EAAS,KAAK,CACZ,EAAG,EAAU,iBAAmB,EAChC,EAAG,EAAU,iBAAmB,CAClC,CAAC,EACQ,GAAU,EACnB,EAAS,KAAK,CACZ,EAAG,EAAU,kBAAoB,EAAS,GAC1C,EAAG,EAAU,kBAAoB,EAAS,EAC5C,CAAC,GAED,EAAS,KAAK,CACZ,EAAG,EAAU,iBAAmB,EAChC,EAAG,EAAU,gBACf,CAAC,EACD,EAAS,KAAK,CACZ,EAAG,EACH,EAAG,EAAU,kBAAoB,EAAS,EAC5C,CAAC,GAGH,IAAI,EAAgB,KAAK,UAAU,EAAW,EAAS,EAAE,EAEzD,GAAI,EAAS,EAAE,CAAC,IAAM,EAAS,EAAE,CAAC,EAAG,CACnC,GAAI,EAAS,OAAS,EAGpB,GAF4B,EAAU,MAAM,MAAM,OAAO,EAAU,MAAM,MAAM,QAAU,EAEhE,CAAC,EAAG,CAC3B,IAAI,EAAY,EAAc,IAAI,EAClC,KAAK,SAAS,EAAe,CAAoB,EACjD,EAAgB,KAAK,UAAU,EAAW,EAAS,GAAI,CAAS,CAClE,MACE,KAAK,SAAS,EAAe,CAAoB,EACjD,EAAgB,KAAK,UAAU,EAAW,EAAS,EAAE,EAIzD,KAAK,SAAS,EAAe,CAAoB,CACnD,CACF,CAEA,EAAU,MAAM,MAAQ,CAC1B,CAEJ,MAAO,IAAK,MAAQ,QAAA,CAAS,KAC3B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,CAAC,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,UAAU,OAAS,EAC/C,CAAC,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,MAAM,KAAO,EAG/C,EAEA,aAAa,UAAU,SAAW,SAAU,EAAU,EAAsB,CAC1E,IAAI,EACA,EAAM,EAAS,OAEnB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,SAAS,EAAS,EAAE,CAE7C,EAEA,aAAa,UAAU,WAAa,SAAU,EAAK,EAAK,EAAK,EAAK,EAAW,EAAK,EAAU,CAC1F,EAAU,QAAQ,EAAI,GAAI,EAAI,GAAI,IAAK,CAAG,EAC1C,EAAU,QAAQ,EAAI,GAAI,EAAI,GAAI,IAAK,EAAM,CAAC,EAE1C,GACF,EAAU,QAAQ,EAAI,GAAI,EAAI,GAAI,IAAK,CAAG,EAG5C,EAAU,QAAQ,EAAI,GAAI,EAAI,GAAI,IAAK,EAAM,CAAC,CAChD,EAEA,aAAa,UAAU,oBAAsB,SAAU,EAAQ,EAAW,EAAK,EAAU,CACvF,EAAU,QAAQ,EAAO,GAAI,EAAO,GAAI,IAAK,CAAG,EAChD,EAAU,QAAQ,EAAO,GAAI,EAAO,GAAI,IAAK,EAAM,CAAC,EAEhD,GACF,EAAU,QAAQ,EAAO,GAAI,EAAO,GAAI,IAAK,CAAG,EAGlD,EAAU,QAAQ,EAAO,GAAI,EAAO,GAAI,IAAK,EAAM,CAAC,CACtD,EAEA,aAAa,UAAU,UAAY,SAAU,EAAW,EAAc,EAAW,CAC/E,IAAI,EAAY,EAAU,UACtB,EAAa,EAAU,MAAM,MAAM,OACnC,EACA,EAAM,EAAU,MAAM,MAAM,QAC5B,EACA,EACA,EAAc,EACd,EACA,EACA,EACA,EACA,EAAS,CAAC,EACV,EACA,EAAW,GAaf,IAXK,GAKH,EAAe,EAAU,QACzB,EAAU,EAAU,UALpB,EAAY,UAAU,WAAW,EACjC,EAAe,EACf,EAAU,GAMZ,EAAO,KAAK,CAAS,EAEhB,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAK3B,IAJA,EAAU,EAAU,EAAE,CAAC,QACvB,EAAU,EAAI,EAAW,EAAE,CAAC,EAC5B,EAAO,EAAW,EAAE,CAAC,EAAI,EAAQ,OAAS,EAAQ,OAAS,EAEtD,EAAI,EAAG,EAAI,EAAM,GAAK,EAGzB,GAFA,EAAoB,EAAQ,EAAI,GAE5B,EAAc,EAAkB,YAAc,EAAa,EAC7D,GAAe,EAAkB,YACjC,EAAU,EAAI,QACT,GAAI,EAAc,EAAa,EAAG,CACvC,EAAU,EAAI,GACd,KACF,MACM,EAAa,GAAK,GAAe,EAAa,GAAK,EAAc,EAAkB,aACrF,KAAK,WAAW,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAc,CAAQ,EACzI,EAAW,KAEX,EAAU,IAAI,cAAc,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,IAAK,EAAa,EAAI,GAAe,EAAkB,aAAc,EAAa,EAAI,GAAe,EAAkB,YAAa,EAAQ,EAAI,EAAE,EAClQ,KAAK,oBAAoB,EAAS,EAAW,EAAc,CAAQ,EAEnE,EAAW,GACX,EAAU,EAAI,IAGhB,GAAe,EAAkB,YACjC,GAAgB,EAIpB,GAAI,EAAW,EAAE,CAAC,GAAK,EAAQ,OAAQ,CAGrC,GAFA,EAAoB,EAAQ,EAAI,GAE5B,GAAe,EAAa,EAAG,CACjC,IAAI,EAAgB,EAAQ,EAAI,EAAE,CAAC,YAE/B,EAAa,GAAK,GAAe,EAAa,GAAK,EAAc,GACnE,KAAK,WAAW,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAc,CAAQ,EACzI,EAAW,KAEX,EAAU,IAAI,cAAc,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,GAAI,EAAW,EAAE,CAAC,EAAE,EAAI,GAAI,EAAW,EAAE,CAAC,EAAE,IAAK,EAAa,EAAI,GAAe,GAAgB,EAAa,EAAI,GAAe,EAAe,EAAQ,EAAI,EAAE,EAClO,KAAK,oBAAoB,EAAS,EAAW,EAAc,CAAQ,EAEnE,EAAW,GACX,EAAU,EAAI,GAElB,KACE,GAAU,EAAI,GAGhB,GAAe,EAAkB,YACjC,GAAgB,CAClB,CAOA,GALI,EAAU,UACZ,EAAU,QAAQ,EAAU,EAAE,EAAQ,CAAC,GAAI,EAAU,EAAE,EAAQ,CAAC,GAAI,IAAK,CAAO,EAChF,EAAU,QAAQ,EAAU,EAAE,EAAU,QAAU,EAAE,CAAC,GAAI,EAAU,EAAE,EAAU,QAAU,EAAE,CAAC,GAAI,IAAK,EAAU,QAAU,CAAC,GAGxH,EAAc,EAAa,EAC7B,MAGE,EAAI,EAAM,IACZ,EAAY,UAAU,WAAW,EACjC,EAAW,GACX,EAAO,KAAK,CAAS,EACrB,EAAe,EAEnB,CAEA,OAAO,CACT,EAEA,eAAe,iBAAiB,KAAM,YAAY,EAGlD,SAAS,sBAAuB,CAAC,CAEjC,gBAAgB,CAAC,aAAa,EAAG,oBAAoB,EAErD,qBAAqB,UAAU,uBAAyB,SAAU,EAAM,EAAM,CAC5E,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,YAC/C,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACrF,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,GAAG,gBAAgB,MACzE,EAEA,qBAAqB,UAAU,YAAc,SAAU,EAAM,EAAO,CAClE,IAAI,EAAa,UAAU,WAAW,EACtC,EAAW,EAAI,EAAK,EACpB,IAAI,EACA,EAAM,EAAK,QACX,EACA,EACA,EACA,EACA,EACA,EACA,EAAQ,EACR,EACA,EACA,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAW,EAAK,EAAE,GAClB,EAAW,EAAK,EAAE,GAClB,EAAW,EAAK,EAAE,GAEd,EAAS,KAAO,EAAS,IAAM,EAAS,KAAO,EAAS,IAAM,EAAS,KAAO,EAAS,IAAM,EAAS,KAAO,EAAS,IACnH,IAAM,GAAK,IAAM,EAAM,IAAM,CAAC,EAAK,GACtC,EAAW,YAAY,EAAS,GAAI,EAAS,GAAI,EAAS,GAAI,EAAS,GAAI,EAAS,GAAI,EAAS,GAAI,CAAK,EAK1G,GAAS,IAET,AAGE,EAHE,IAAM,EACE,EAAK,EAAE,EAAM,GAEb,EAAK,EAAE,EAAI,GAGvB,EAAW,KAAK,MAAc,EAAS,GAAK,EAAQ,KAAI,GAAc,EAAS,GAAK,EAAQ,KAAI,CAAE,EAClG,EAAa,EAAW,KAAK,IAAI,EAAW,EAAG,CAAK,EAAI,EAAW,EACnE,EAAK,EAAS,IAAM,EAAQ,GAAK,EAAS,IAAM,EAChD,EAAK,EACL,EAAK,EAAS,IAAM,EAAS,GAAK,EAAQ,IAAM,EAChD,EAAK,EACL,EAAK,GAAM,EAAK,EAAS,IAAM,YAC/B,EAAK,GAAM,EAAK,EAAS,IAAM,YAC/B,EAAW,YAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAAK,EACpD,GAAS,EAET,AAGE,EAHE,IAAM,EAAM,EACJ,EAAK,EAAE,GAEP,EAAK,EAAE,EAAI,GAGvB,EAAW,KAAK,MAAc,EAAS,GAAK,EAAQ,KAAI,GAAc,EAAS,GAAK,EAAQ,KAAI,CAAE,EAClG,EAAa,EAAW,KAAK,IAAI,EAAW,EAAG,CAAK,EAAI,EAAW,EACnE,EAAK,EAAS,IAAM,EAAQ,GAAK,EAAS,IAAM,EAChD,EAAK,EACL,EAAK,EAAS,IAAM,EAAQ,GAAK,EAAS,IAAM,EAChD,EAAK,EACL,EAAK,GAAM,EAAK,EAAS,IAAM,YAC/B,EAAK,GAAM,EAAK,EAAS,IAAM,YAC/B,EAAW,YAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAAK,EACpD,GAAS,IAGX,EAAW,YAAY,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,CAAK,EAChH,GAAS,GAIb,OAAO,CACT,EAEA,qBAAqB,UAAU,cAAgB,SAAU,EAAe,CACtE,IAAI,EACA,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EACA,EACA,GAAM,MAAQ,QAAA,CAAS,GAAG,EAE9B,GAAI,IAAO,EAAG,CACZ,IAAI,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAI3B,GAHA,GAAa,MAAQ,QAAA,CAAS,OAAO,GACrC,EAAuB,EAAU,qBAE7B,EAAE,CAAC,EAAU,MAAM,MAAQ,EAAE,MAAQ,QAAA,CAAS,MAAQ,CAAC,GAMzD,IALA,EAAqB,cAAc,EACnC,EAAU,MAAM,KAAO,GACvB,EAAa,EAAU,MAAM,MAAM,OACnC,EAAO,EAAU,MAAM,MAAM,QAExB,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAqB,SAAS,KAAK,YAAY,EAAW,GAAI,CAAE,CAAC,EAIrE,EAAU,MAAM,MAAQ,EAAU,oBACpC,CACF,EAEM,MAAQ,QAAA,CAAS,kBAAkB,SACvC,CAAC,MAAQ,QAAA,CAAS,KAAO,GAE7B,EAEA,eAAe,iBAAiB,KAAM,oBAAoB,EAG1D,SAAS,wBAAyB,CAAC,CAEnC,gBAAgB,CAAC,aAAa,EAAG,sBAAsB,EAEvD,uBAAuB,UAAU,uBAAyB,SAAU,EAAM,EAAM,CAC9E,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,YAC/C,CAAC,MAAQ,QAAA,CAAS,OAAS,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,OAAO,gBAAgB,MAC7E,EAEA,uBAAuB,UAAU,YAAc,SAAU,EAAM,EAAQ,CACrE,IAAI,EAAU,EAAS,IACnB,EAAc,CAAC,EAAG,CAAC,EACnB,EAAa,EAAK,QAClB,EAAI,EAER,IAAK,EAAI,EAAG,EAAI,EAAY,GAAK,EAC/B,EAAY,IAAM,EAAK,EAAE,EAAE,CAAC,GAC5B,EAAY,IAAM,EAAK,EAAE,EAAE,CAAC,GAG9B,EAAY,IAAM,EAClB,EAAY,IAAM,EAClB,IAAI,EAAa,UAAU,WAAW,EACtC,EAAW,EAAI,EAAK,EACpB,IAAI,EACA,EACA,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAY,GAAK,EAC/B,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EACtD,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EACtD,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,CAAC,EACvD,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,CAAC,EACvD,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,CAAC,EACvD,EAAK,EAAK,EAAE,EAAE,CAAC,IAAM,EAAY,GAAK,EAAK,EAAE,EAAE,CAAC,IAAM,CAAC,EACvD,EAAW,YAAY,EAAI,EAAI,EAAI,EAAI,EAAI,EAAI,CAAC,EAGlD,OAAO,CACT,EAEA,uBAAuB,UAAU,cAAgB,SAAU,EAAe,CACxE,IAAI,EACA,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EACA,EACA,GAAU,MAAQ,QAAA,CAAS,OAAO,EAEtC,GAAI,IAAW,EAAG,CAChB,IAAI,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAI3B,GAHA,GAAa,MAAQ,QAAA,CAAS,OAAO,GACrC,EAAuB,EAAU,qBAE7B,EAAE,CAAC,EAAU,MAAM,MAAQ,EAAE,MAAQ,QAAA,CAAS,MAAQ,CAAC,GAMzD,IALA,EAAqB,cAAc,EACnC,EAAU,MAAM,KAAO,GACvB,EAAa,EAAU,MAAM,MAAM,OACnC,EAAO,EAAU,MAAM,MAAM,QAExB,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAqB,SAAS,KAAK,YAAY,EAAW,GAAI,CAAM,CAAC,EAIzE,EAAU,MAAM,MAAQ,EAAU,oBACpC,CACF,EAEM,MAAQ,QAAA,CAAS,kBAAkB,SACvC,CAAC,MAAQ,QAAA,CAAS,KAAO,GAE7B,EAEA,eAAe,iBAAiB,KAAM,sBAAsB,EAG5D,SAAS,kBAAmB,CAAC,CAE7B,gBAAgB,CAAC,aAAa,EAAG,gBAAgB,EAEjD,iBAAiB,UAAU,uBAAyB,SAAU,EAAM,EAAM,CACxE,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,YAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,GAAK,yBAAyB,qBAAqB,EAAM,EAAK,GAAI,MAAQ,OAAO,EACnG,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAG,GAAI,EAAG,IAAM,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,GAAG,GAAI,EAAG,IAAM,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,KAAO,GAEnB,MAAQ,QAAA,CAAS,kBAAkB,QACvC,KAAK,SAAS,EAAI,EAGpB,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,kBAAkB,OACtE,CAAC,MAAQ,QAAA,CAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,QAAA,CAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,QAAA,CAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,QAAA,CAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,QAAA,CAAS,OAAS,IAAI,MACjC,EAEA,iBAAiB,UAAU,gBAAkB,SAAU,EAAS,EAAS,EAAS,EAAW,EAAM,EAAK,CACtG,IAAI,EAAM,EAAM,GAAK,EACjB,EAAS,EAAU,EAAE,EAAE,IAAM,EAAI,EAAU,EAAE,EAAE,KAAO,EAAI,GAC1D,EAAS,EAAU,EAAE,EAAE,IAAM,EAAI,EAAU,EAAE,EAAE,KAAO,EAAI,GAC9D,EAAQ,UAAU,EAAU,EAAE,EAAE,GAAK,EAAM,EAAM,EAAU,EAAE,EAAE,GAAK,EAAM,EAAM,EAAU,EAAE,EAAE,EAAE,EAChG,EAAQ,UAAU,CAAC,EAAU,EAAE,EAAE,GAAI,CAAC,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,EAAE,EACxE,EAAQ,OAAO,CAAC,EAAU,EAAE,EAAI,EAAM,CAAI,EAC1C,EAAQ,UAAU,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,EAAE,EACtE,EAAQ,UAAU,CAAC,EAAU,EAAE,EAAE,GAAI,CAAC,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,EAAE,EACxE,EAAQ,MAAM,EAAM,EAAI,EAAS,EAAQ,EAAM,EAAI,EAAS,CAAM,EAClE,EAAQ,UAAU,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,GAAI,EAAU,EAAE,EAAE,EAAE,CACxE,EAEA,iBAAiB,UAAU,KAAO,SAAU,EAAM,EAAK,EAAK,EAAW,CAYrE,IAXA,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,IAAM,EACxB,CAAC,MAAQ,QAAA,CAAS,IAAM,EACxB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,eAAiB,EACnC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,QAAU,CAAC,EAC7B,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,KAAK,6BAA6B,CAAI,EACtC,KAAK,uBAAuB,EAAM,EAAI,EAAI,EAEnC,EAAM,GACX,KAEC,MAAQ,QAAA,CAAS,UAAU,QAAQ,EAAI,EAAI,GAGzC,MAAQ,QAAA,CAAS,kBAAkB,OACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,GAEtB,KAAK,SAAS,EAAI,CAEtB,EAEA,iBAAiB,UAAU,cAAgB,SAAU,EAAU,CAC7D,IAAI,EACA,EAAM,EAAS,OAEnB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAS,EAAE,CAAC,WAAa,GAErB,EAAS,EAAE,CAAC,KAAO,MACrB,KAAK,cAAc,EAAS,EAAE,CAAC,EAAE,CAGvC,EAEA,iBAAiB,UAAU,cAAgB,SAAU,EAAU,CAC7D,IAAI,EAAc,KAAK,MAAM,KAAK,UAAU,CAAQ,CAAC,EAErD,OADA,KAAK,cAAc,CAAW,EACvB,CACT,EAEA,iBAAiB,UAAU,kBAAoB,SAAU,EAAU,EAAY,CAC7E,IAAI,EACA,EAAM,EAAS,OAEnB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAS,EAAE,CAAC,QAAU,EAElB,EAAS,EAAE,CAAC,KAAO,MACrB,KAAK,kBAAkB,EAAS,EAAE,CAAC,GAAI,CAAU,CAGvD,EAEA,iBAAiB,UAAU,cAAgB,SAAU,EAAe,CAClE,IAAI,EACA,EACA,EACA,EACA,EACA,EAAc,GAElB,IAAK,MAAQ,QAAA,CAAS,MAAQ,EAAe,CAC3C,IAAI,EAAS,KAAK,MAAM,MAAQ,QAAA,CAAS,EAAE,CAAC,EAE5C,IAAK,MAAQ,QAAA,CAAS,QAAQ,OAAS,EAAQ,CAC7C,MAAQ,MAAQ,QAAA,CAAS,QAAQ,OAAS,GAAQ,CAChD,IAAI,EAAQ,CACV,GAAI,KAAK,eAAe,MAAQ,QAAA,CAAS,SAAS,EAClD,GAAI,IACN,EACA,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,MAAQ,QAAA,CAAS,IAAI,OAAO,EAAG,EAAG,CAAK,GAEvC,MAAQ,QAAA,CAAS,QAAQ,OAAO,EAAG,EAAG,CAAK,EAE5C,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CACtC,EAEC,MAAQ,QAAA,CAAS,KAAK,aAAa,EAEpC,EAAc,EAChB,CAEA,EAAO,EACP,IAAI,EAEJ,IAAK,EAAI,EAAG,IAAM,MAAQ,QAAA,CAAS,QAAQ,OAAS,EAAG,GAAK,EAAG,CAK7D,GAJA,EAAa,EAAO,EACpB,CAAC,MAAQ,QAAA,CAAS,QAAQ,EAAE,CAAC,QAAU,EACvC,KAAK,mBAAmB,MAAQ,QAAA,CAAS,QAAQ,EAAE,CAAC,GAAI,CAAU,EAE9D,CAAC,EAAY,CACf,IAAI,GAAS,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,GACvC,EAAgB,EAAM,EAAM,OAAS,GAErC,EAAc,UAAU,GAAG,IAAM,EAInC,EAAc,UAAU,GAAG,KAAO,IAHlC,EAAc,UAAU,GAAG,KAAO,GAClC,EAAc,UAAU,GAAG,EAAI,EAInC,CAEA,GAAQ,CACV,CAEA,CAAC,MAAQ,QAAA,CAAS,eAAiB,EAEnC,IAAI,GAAU,MAAQ,QAAA,CAAS,EAAE,EAC7B,EAAe,EAAS,EACxB,EAAc,EAAS,EAAI,KAAK,MAAM,CAAM,EAAI,KAAK,KAAK,CAAM,EAChE,GAAU,MAAQ,QAAA,CAAS,QAAQ,MACnC,GAAU,MAAQ,QAAA,CAAS,QAAQ,MACnC,GAAU,MAAQ,QAAA,CAAS,QAAQ,OAEtC,MAAQ,QAAA,CAAS,QAAQ,MAAM,GAE/B,MAAQ,QAAA,CAAS,QAAQ,MAAM,GAE/B,MAAQ,QAAA,CAAS,QAAQ,MAAM,GAE/B,MAAQ,QAAA,CAAS,QAAQ,MAAM,GAE/B,MAAQ,QAAA,CAAS,OAAO,MAAM,EAE/B,IAAI,EAAY,EAEhB,GAAI,EAAS,EAAG,CACd,KAAO,EAAY,GACjB,KAAK,iBAAiB,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,GAAI,EAAG,EAAK,EACpI,GAAa,EAGX,IACF,KAAK,iBAAiB,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,GAAI,EAAc,EAAK,EAC/I,GAAa,EAEjB,MAAO,GAAI,EAAS,EAAG,CACrB,KAAO,EAAY,GACjB,KAAK,iBAAiB,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,GAAI,EAAG,EAAI,EACnI,IAGE,IACF,KAAK,iBAAiB,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,GAAI,CAAC,EAAc,EAAI,EAC/I,GAAa,EAEjB,CAEA,GAAK,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,GAAK,MAAQ,QAAA,CAAS,eAAiB,EAC5E,GAAO,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,EAAI,GAC3C,GAAQ,MAAQ,QAAA,CAAS,eAIzB,IAHA,IAAI,EACA,GAEG,GAAM,CAQX,GAPA,GAAS,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,GACvC,EAAiB,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,OAAO,EAAE,MAC5D,GAAO,EAAe,OACtB,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,OAAO,KAAO,GAChD,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,GAAG,KAAO,GAC5C,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,GAAG,GAAK,MAAQ,QAAA,CAAS,iBAAmB,GAAK,MAAQ,QAAA,CAAS,GAAG,GAAK,MAAQ,QAAA,CAAS,GAAG,IAAM,MAAQ,QAAA,CAAS,GAAG,GAAK,MAAQ,QAAA,CAAS,GAAG,IAAM,IAAM,MAAQ,QAAA,CAAS,eAAiB,IAE7N,IAAc,EAAG,CAWnB,KAVI,IAAM,GAAK,IAAQ,GAAK,KAAO,MAAQ,QAAA,CAAS,eAAiB,GAAK,IAAQ,KAChF,KAAK,iBAAiB,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,GAAI,EAAG,EAAK,GAGrI,MAAQ,QAAA,CAAS,OAAO,UAAU,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,GAAG,GAEtN,MAAQ,QAAA,CAAS,OAAO,UAAU,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,GAAG,GAEtN,MAAQ,QAAA,CAAS,OAAO,UAAU,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,GAAG,EAElN,EAAI,EAAG,EAAI,GAAM,GAAK,EACzB,EAAe,IAAM,MAAQ,QAAA,CAAS,OAAO,MAAM,IAGpD,MAAQ,QAAA,CAAS,OAAO,MAAM,CACjC,MAGE,KAFC,MAAQ,QAAA,CAAS,OAAO,MAAM,EAE1B,EAAI,EAAG,EAAI,GAAM,GAAK,EACzB,EAAe,IAAM,MAAQ,QAAA,CAAS,OAAO,MAAM,GAIvD,GAAa,EACb,IACA,GAAK,CACP,CACF,MAKE,IAJA,GAAQ,MAAQ,QAAA,CAAS,eACzB,EAAI,EACJ,EAAM,EAEC,GACL,GAAS,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,GACvC,EAAiB,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,OAAO,EAAE,MAC5D,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,OAAO,KAAO,GAChD,EAAM,EAAM,OAAS,EAAE,CAAC,UAAU,GAAG,KAAO,GAC5C,IACA,GAAK,EAIT,OAAO,CACT,EAEA,iBAAiB,UAAU,SAAW,UAAY,CAAC,EAEnD,eAAe,iBAAiB,KAAM,gBAAgB,EAGtD,SAAS,iBAAkB,CACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,OAAS,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CAC1E,CAEA,gBAAgB,UAAU,SAAW,SAAU,EAAW,EACnD,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,aAClD,CAAC,MAAQ,QAAA,CAAS,QAAU,MAAQ,QAAA,CAAS,OAAO,OAAO,kBAAkB,MAAQ,QAAA,CAAS,UAAU,CAAC,EACzG,CAAC,MAAQ,QAAA,CAAS,YAAc,GAGlC,CAAC,MAAQ,QAAA,CAAS,QAAQ,MAAQ,QAAA,CAAS,SAAW,EACtD,CAAC,MAAQ,QAAA,CAAS,SAAW,CAC/B,EAEA,gBAAgB,UAAU,cAAgB,UAAY,CACpD,IAAI,EAEJ,IAAK,EAAI,EAAG,GAAK,MAAQ,QAAA,CAAS,QAAS,GAAK,EAC9C,UAAU,SAAS,MAAQ,QAAA,CAAS,OAAO,EAAE,EAG/C,CAAC,MAAQ,QAAA,CAAS,QAAU,CAC9B,EAIA,SAAS,aAAa,EAAM,EAAM,EAAU,EAAW,CACrD,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,UAAY,iBAAiB,EAAK,MAAM,EAC1D,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,QAAU,GAC5B,CAAC,MAAQ,QAAA,CAAS,UAAY,iBAAiB,UAAW,EAAK,OAAS,EAAK,OAAS,EAAI,CAAC,EAC3F,CAAC,MAAQ,QAAA,CAAS,WAAa,iBAAiB,UAAW,CAAC,EAC5D,KAAK,6BAA6B,CAAS,EAC3C,IAAI,EACA,EAAM,EAAK,QAAU,EACrB,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,gBAAgB,QAAQ,EAAM,EAAK,EAAE,CAAC,EAAG,EAAG,EAAG,MAAQ,OAAO,EACrE,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAK,IAAM,MAAQ,QAAA,CAAS,EAClD,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAK,CAC/B,EAAG,EAAK,EAAE,CAAC,EACX,EAAG,CACL,GAGI,MAAQ,QAAA,CAAS,GACrB,KAAK,SAAS,EAAI,EAGpB,CAAC,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,CACpD,CAEA,aAAa,UAAU,SAAW,SAAU,EAAa,CACvD,MAAK,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,SAAW,CAAC,KAIhF,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,QAC9D,KAAK,yBAAyB,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,MAAQ,GAE9C,MAAQ,QAAA,CAAS,MAAM,CAC1B,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,UAAU,OAMtC,KAJK,MAAQ,QAAA,CAAS,WAAa,QACjC,CAAC,MAAQ,QAAA,CAAS,QAAU,IAGzB,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,IAAM,IAOvC,CAAC,MAAQ,QAAA,CAAS,WAAW,IAAM,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,EAAE,GAN9D,MAAQ,QAAA,CAAS,WAAa,MACjC,CAAC,MAAQ,QAAA,CAAS,SAAW,KAAO,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,EAAE,EAEpE,CAAC,MAAQ,QAAA,CAAS,UAAU,IAAM,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,EAAE,CAM1E,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,YAAY,EAGxD,SAAS,iBAAiB,EAAM,EAAM,EAAW,CAC/C,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,EAAI,iBAAiB,SAAU,EAAK,EAAI,CAAC,EAC3D,IAAI,EAAU,EAAK,EAAE,EAAE,EAAE,CAAC,EAAI,EAAK,EAAE,EAAE,EAAE,CAAC,EAAE,OAAS,EAAK,EAAI,EAAI,EAAK,EAAE,EAAE,OAAS,EAAK,EAAI,EAC7F,CAAC,MAAQ,QAAA,CAAS,EAAI,iBAAiB,UAAW,CAAO,EACzD,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,CAAC,MAAQ,QAAA,CAAS,aAAe,KAAK,iBAAiB,EACvD,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,KAAK,6BAA6B,CAAS,EAC3C,CAAC,MAAQ,QAAA,CAAS,KAAO,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACvF,CAAC,MAAQ,QAAA,CAAS,GAAK,MAAQ,QAAA,CAAS,KAAK,EAC7C,KAAK,SAAS,EAAI,CACpB,CAEA,iBAAiB,UAAU,cAAgB,SAAU,EAAQ,EAAQ,CAKnE,IAJA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,EAAE,OAAS,EACnC,EAEG,EAAI,GAAK,CAGd,GAFA,EAAO,KAAK,IAAI,EAAO,EAAI,GAAK,EAAO,EAAS,EAAI,EAAI,EAAE,EAEtD,EAAO,IACT,MAAO,GAGT,GAAK,CACP,CAEA,MAAO,EACT,EAEA,iBAAiB,UAAU,iBAAmB,UAAY,CACxD,IAAK,MAAQ,QAAA,CAAS,EAAE,OAAS,IAAO,MAAQ,QAAA,CAAS,EAAE,OAAS,EAClE,MAAO,GAGT,IAAK,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAE,CAAC,EAIhC,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,OAE9B,EAAI,GAAK,CACd,GAAI,CAAC,KAAK,eAAe,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAE,CAAC,GAAI,MAAQ,QAAA,CAAS,KAAK,CAAC,EAC/E,MAAO,GAGT,GAAK,CACP,MACK,GAAI,CAAC,KAAK,eAAe,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAI,MAAQ,QAAA,CAAS,KAAK,CAAC,EACjF,MAAO,GAGT,MAAO,EACT,EAEA,iBAAiB,UAAU,SAAW,SAAU,EAAa,CAO3D,IANC,MAAQ,QAAA,CAAS,KAAK,SAAS,EAEhC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,CAAC,MAAQ,QAAA,CAAS,MAAQ,IAErB,MAAQ,QAAA,CAAS,KAAK,MAAQ,EAAa,CAC9C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,KAAK,EAAI,EACjC,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,EAAI,GAAM,EAAI,IAAM,IAC3B,EAAM,KAAK,OAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAK,CAAI,GAE9C,MAAQ,QAAA,CAAS,EAAE,KAAO,IAC7B,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,EACzB,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,GAI/B,IAAK,MAAQ,QAAA,CAAS,EAAE,OAGtB,IAFA,GAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,OAE1B,GAAK,MAAQ,QAAA,CAAS,KAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACnD,EAAO,EAAI,GAAM,EAAI,IAAM,EAC3B,EAAM,EAAI,GAAM,EAAI,KAAK,OAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAK,GAAG,GAAK,MAAQ,QAAA,CAAS,KAAK,EAAE,IAExF,MAAQ,QAAA,CAAS,EAAE,GAAK,MAAQ,QAAA,CAAS,KAAK,EAAI,KAAO,IAC5D,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,MAAQ,QAAA,CAAS,KAAK,EAAI,GAAK,EACxD,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,GAKjC,CAAC,MAAQ,QAAA,CAAS,KAAO,CAAC,CAC5B,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,gBAAgB,EAG5D,IAAI,iBAAmB,SAAU,EAAW,EAAQ,EAAQ,EAAK,CAC/D,GAAI,IAAW,EACb,MAAO,GAGT,IAAI,EAAK,EAAU,EACf,EAAK,EAAU,EACf,EAAK,EAAU,EACf,EACA,EAAc,KAAO,EAAI,wBAAwB,EAAG,EAAE,CAAC,GAAI,EAAG,EAAE,CAAC,EAAE,EAEvE,IAAK,EAAI,EAAG,EAAI,EAAQ,GAAK,EAC3B,GAAe,KAAO,EAAI,wBAAwB,EAAG,EAAI,EAAE,CAAC,GAAI,EAAG,EAAI,EAAE,CAAC,EAAE,EAAI,IAAM,EAAI,wBAAwB,EAAG,EAAE,CAAC,GAAI,EAAG,EAAE,CAAC,EAAE,EAAI,IAAM,EAAI,wBAAwB,EAAG,EAAE,CAAC,GAAI,EAAG,EAAE,CAAC,EAAE,EAQ9L,OALI,GAAU,IACZ,GAAe,KAAO,EAAI,wBAAwB,EAAG,EAAI,EAAE,CAAC,GAAI,EAAG,EAAI,EAAE,CAAC,EAAE,EAAI,IAAM,EAAI,wBAAwB,EAAG,EAAE,CAAC,GAAI,EAAG,EAAE,CAAC,EAAE,EAAI,IAAM,EAAI,wBAAwB,EAAG,EAAE,CAAC,GAAI,EAAG,EAAE,CAAC,EAAE,EAC5L,GAAe,KAGV,CACT,EAMI,uBAAyB,UAAY,CACvC,SAAS,EAAgB,EAAc,CACrC,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC/B,CAoFA,MAlFA,GAAgB,UAAY,CAC1B,SAAU,SAAU,EAAO,EACxB,MAAQ,QAAA,CAAS,OAAO,KAAK,CAAK,CACrC,EACA,MAAO,UAAY,CACjB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,MAAM,CAEtC,EACA,OAAQ,UAAY,CAClB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,OAAO,CAEvC,EACA,QAAS,SAAU,EAAW,CAC5B,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,QAAQ,CAAS,CAEjD,EACA,YAAa,SAAU,EAAW,CAWhC,OAVK,MAAQ,QAAA,CAAS,aACb,KAAK,aAAa,CAAS,EAGhC,KACK,IAAI,KAAK,CACd,IAAK,CAAC,CAAS,CACjB,CAAC,EAGI,CACL,UAAW,GACX,KAAM,UAAY,CAChB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAChC,EACA,KAAM,UAAY,CAChB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAChC,EACA,QAAS,UAAY,CAAC,EACtB,KAAM,UAAY,CAAC,EACnB,UAAW,UAAY,CAAC,CAC1B,CACF,EACA,gBAAiB,SAAU,EAAc,CACvC,CAAC,MAAQ,QAAA,CAAS,aAAe,CACnC,EACA,UAAW,SAAU,EAAO,CAC1B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAE5B,KAAK,cAAc,CACrB,EACA,KAAM,UAAY,CAChB,CAAC,MAAQ,QAAA,CAAS,SAAW,GAE7B,KAAK,cAAc,CACrB,EACA,OAAQ,UAAY,CAClB,CAAC,MAAQ,QAAA,CAAS,SAAW,GAE7B,KAAK,cAAc,CACrB,EACA,UAAW,UAAY,CACrB,OAAQ,MAAQ,QAAA,CAAS,OAC3B,EACA,cAAe,UAAY,CACzB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,QAAQ,MAAQ,QAAA,CAAS,QAAA,GAAY,MAAQ,QAAA,CAAS,QAAiB,CAEvG,CACF,EACO,UAAY,CACjB,OAAO,IAAI,CACb,CACF,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAI,EAAa,UAAY,CAC3B,IAAI,EAAS,UAAU,QAAQ,EAC/B,EAAO,MAAQ,EACf,EAAO,OAAS,EAChB,IAAI,EAAM,EAAO,WAAW,IAAI,EAGhC,MAFA,GAAI,UAAY,gBAChB,EAAI,SAAS,EAAG,EAAG,EAAG,CAAC,EAChB,CACT,EAAE,EAEF,SAAS,GAAc,CACrB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAE7B,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,uBAAyB,MAAQ,QAAA,CAAS,gBAC7H,MAAQ,QAAA,CAAS,gBACpB,KAAK,eAAe,IAAI,CAG9B,CAEA,SAAS,GAAgB,CACvB,CAAC,MAAQ,QAAA,CAAS,qBAAuB,GAEpC,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,uBAAyB,MAAQ,QAAA,CAAS,gBAC7H,MAAQ,QAAA,CAAS,gBACpB,KAAK,eAAe,IAAI,CAG9B,CAEA,SAAS,EAAc,EAAW,EAAY,EAAc,CAC1D,IAAI,EAAO,GAEX,GAAI,EAAU,EACZ,EAAO,EAAU,OACZ,GAAI,EAAY,CACrB,IAAI,EAAY,EAAU,EAEtB,EAAU,QAAQ,SAAS,IAAM,KACnC,EAAY,EAAU,MAAM,GAAG,CAAC,CAAC,IAGnC,EAAO,EAAa,CACtB,KACE,GAAO,EACP,GAAQ,EAAU,EAAI,EAAU,EAAI,GACpC,GAAQ,EAAU,EAGpB,OAAO,CACT,CAEA,SAAS,EAAgB,EAAK,CAC5B,IAAI,EAAS,EACT,EAAa,YAAY,UAAY,EAC7B,EAAI,QAER,CAAC,CAAC,OAAS,EAAS,OACxB,KAAK,aAAa,EAElB,cAAc,CAAU,GAG1B,GAAU,CACZ,EAAE,KAAK,MAAQ,OAAO,EAAG,EAAE,CAC7B,CAEA,SAAS,EAAgB,EAAW,CAClC,IAAI,EAAO,EAAc,GAAY,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,IAAI,EACpF,EAAM,SAAS,OAAO,EAEtB,SACF,KAAK,gBAAgB,CAAG,EAExB,EAAI,iBAAiB,QAAS,MAAQ,QAAA,CAAS,aAAc,EAAK,EAGpE,EAAI,iBAAiB,QAAS,UAAY,CACxC,EAAG,IAAM,EAET,KAAK,aAAa,CACpB,EAAE,KAAK,MAAQ,OAAO,EAAG,EAAK,EAC9B,EAAI,eAAe,+BAAgC,OAAQ,CAAI,GAE1D,MAAQ,QAAA,CAAS,eAAe,QAClC,MAAQ,QAAA,CAAS,eAAe,OAAO,CAAG,GAE1C,MAAQ,QAAA,CAAS,eAAe,YAAY,CAAG,EAGlD,IAAI,EAAK,CACF,MACM,WACb,EACA,OAAO,CACT,CAEA,SAAS,EAAc,EAAW,CAChC,IAAI,EAAO,EAAc,GAAY,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,IAAI,EACpF,EAAM,UAAU,KAAK,EACzB,EAAI,YAAc,YAClB,EAAI,iBAAiB,QAAS,MAAQ,QAAA,CAAS,aAAc,EAAK,EAClE,EAAI,iBAAiB,QAAS,UAAY,CACxC,EAAG,IAAM,EAET,KAAK,aAAa,CACpB,EAAE,KAAK,MAAQ,OAAO,EAAG,EAAK,EAC9B,EAAI,IAAM,EACV,IAAI,EAAK,CACF,MACM,WACb,EACA,OAAO,CACT,CAEA,SAAS,EAAkB,EAAM,CAC/B,IAAI,EAAK,CACP,UAAW,CACb,EACI,EAAO,EAAc,GAAO,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,IAAI,EAUnF,OATA,YAAY,KAAK,EAAM,SAAU,EAAa,CAC5C,EAAG,IAAM,EAET,KAAK,eAAe,CACtB,EAAE,KAAK,MAAQ,OAAO,EAAG,UAAY,CACnC,EAAG,IAAM,CAAC,EAEV,KAAK,eAAe,CACtB,EAAE,KAAK,MAAQ,OAAO,CAAC,EAChB,CACT,CAEA,SAAS,EAAW,EAAQ,EAAI,CAC9B,CAAC,MAAQ,QAAA,CAAS,eAAiB,EACnC,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACnB,EAAO,EAAE,CAAC,SACR,EAAO,EAAE,CAAC,EAIJ,EAAO,EAAE,CAAC,IAAM,IACzB,CAAC,MAAQ,QAAA,CAAS,eAAiB,GAElC,MAAQ,QAAA,CAAS,OAAO,KAAK,KAAK,kBAAkB,EAAO,EAAE,CAAC,IAN/D,CAAC,MAAQ,QAAA,CAAS,aAAe,GAEhC,MAAQ,QAAA,CAAS,OAAO,KAAK,KAAK,iBAAiB,EAAO,EAAE,CAAC,GAQtE,CAEA,SAAS,EAAQ,EAAM,CACrB,CAAC,MAAQ,QAAA,CAAS,KAAO,GAAQ,EACnC,CAEA,SAAS,EAAc,EAAM,CAC3B,CAAC,MAAQ,QAAA,CAAS,WAAa,GAAQ,EACzC,CAEA,SAAS,EAAS,EAAW,CAI3B,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,OAAO,OAE5B,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,YAAc,EAC5C,OAAQ,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,IAGrC,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAAS,GAAU,CACjB,CAAC,MAAQ,QAAA,CAAS,eAAiB,KACnC,CAAC,MAAQ,QAAA,CAAS,OAAO,OAAS,CACpC,CAEA,SAAS,GAAe,CACtB,OAAQ,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,YAC7D,CAEA,SAAS,GAAiB,CACxB,OAAQ,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,mBAC/D,CAEA,SAAS,EAAa,EAAM,EAAe,CACrC,IAAS,OACX,CAAC,MAAQ,QAAA,CAAS,eAAiB,EACnC,CAAC,MAAQ,QAAA,CAAS,kBAAoB,MAAQ,QAAA,CAAS,gBAAgB,KAAK,MAAQ,OAAO,GAE3F,CAAC,MAAQ,QAAA,CAAS,kBAAoB,MAAQ,QAAA,CAAS,cAAc,KAAK,MAAQ,OAAO,CAE7F,CAEA,SAAS,GAAwB,CAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,EAAY,KAAK,MAAQ,OAAO,EACjE,CAAC,MAAQ,QAAA,CAAS,eAAiB,EAAc,KAAK,MAAQ,OAAO,EACrE,CAAC,MAAQ,QAAA,CAAS,gBAAkB,EAAgB,KAAK,MAAQ,OAAO,EACxE,CAAC,MAAQ,QAAA,CAAS,kBAAoB,EAAkB,KAAK,MAAQ,OAAO,EAC5E,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,oBAAsB,EACxC,CAAC,MAAQ,QAAA,CAAS,eAAiB,KACnC,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,CAC9B,CAgBA,MAdA,GAAsB,UAAY,CACpB,aACG,gBACN,UACK,eACE,iBACP,UACC,WACK,gBACE,kBACJ,cACE,gBACD,cAChB,EACO,CACT,EAAE,EAIE,eAAiB,UAAY,CAC/B,IAAI,EAAK,CACP,SAAU,EACZ,EAMA,OAJI,WAAW,KAAK,UAAU,SAAS,GAAK,UAAU,KAAK,UAAU,SAAS,GAAK,WAAW,KAAK,UAAU,SAAS,GAAK,aAAa,KAAK,UAAU,SAAS,KAC9J,EAAG,SAAW,IAGT,CACT,EAAE,EAME,eAAiB,UAAY,CAC/B,IAAI,EAAK,CAAC,EACV,EAAG,aAAe,EAClB,EAAG,6BAA+B,EAElC,SAAS,EAAa,EAAO,EAAiB,CAC5C,IAAI,EAAM,SAAS,QAAQ,EAW3B,OAVA,EAAI,aAAa,KAAM,CAAK,EAExB,IAAoB,KACtB,EAAI,aAAa,cAAe,mBAAmB,EACnD,EAAI,aAAa,IAAK,IAAI,EAC1B,EAAI,aAAa,IAAK,IAAI,EAC1B,EAAI,aAAa,QAAS,MAAM,EAChC,EAAI,aAAa,SAAU,MAAM,GAG5B,CACT,CAEA,SAAS,GAA+B,CACtC,IAAI,EAAgB,SAAS,eAAe,EAI5C,OAHA,EAAc,aAAa,OAAQ,QAAQ,EAC3C,EAAc,aAAa,8BAA+B,MAAM,EAChE,EAAc,aAAa,SAAU,4CAA4C,EAC1E,CACT,CAEA,OAAO,CACT,EAAE,EAIE,YAAc,UAAY,CAC5B,SAAS,EAAe,EAAK,CAa3B,OAZI,EAAI,UAAY,OAAO,EAAI,UAAa,SACnC,EAAI,SAGT,EAAI,UAAY,OAAO,EAAI,UAAa,SACnC,KAAK,MAAM,EAAI,QAAQ,EAG5B,EAAI,aACC,KAAK,MAAM,EAAI,YAAY,EAG7B,IACT,CAEA,SAAS,EAAU,EAAM,EAAU,EAAe,CAChD,IAAI,EACA,EAAM,IAAI,eAEd,GAAI,CAEF,EAAI,aAAe,MACrB,MAAc,CAAC,CAGf,EAAI,mBAAqB,UAAY,CACnC,GAAI,EAAI,aAAe,EACrB,GAAI,EAAI,SAAW,IACjB,EAAW,EAAe,CAAG,EAC7B,EAAS,CAAQ,OAEjB,GAAI,CACF,EAAW,EAAe,CAAG,EAC7B,EAAS,CAAQ,CACnB,OAAS,EAAK,CACR,GACF,EAAc,CAAG,CAErB,CAGN,EAEA,EAAI,KAAK,MAAO,EAAM,EAAI,EAC1B,EAAI,KAAK,CACX,CAEA,MAAO,CACL,KAAM,CACR,CACF,EAAE,EAKF,SAAS,qBAAqB,EAAU,EAAY,EAAM,CACxD,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,eAAiB,kBAAkB,MAAQ,QAAA,CAAS,UAAU,EAAE,MAAM,EACxF,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,CAC/B,UAAW,CAAC,CACd,EACA,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,mBAAqB,GACvC,KAAK,6BAA6B,CAAI,CACxC,CAEA,qBAAqB,UAAU,iBAAmB,UAAY,CAC5D,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,UAAU,EAAE,OACpC,EACA,EAAU,gBAAgB,QAE9B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAiB,MAAQ,QAAA,CAAS,UAAU,EAAE,GAC9C,CAAC,MAAQ,QAAA,CAAS,eAAe,GAAK,IAAI,0BAA0B,MAAQ,QAAA,CAAS,MAAO,EAAe,MAAQ,OAAO,GAGvH,MAAQ,QAAA,CAAS,UAAU,GAAK,MAAQ,MAAQ,QAAA,CAAS,UAAU,GACtE,CAAC,MAAQ,QAAA,CAAS,UAAY,CAC5B,EAAG,GAAS,MAAQ,QAAA,CAAS,OAAQ,MAAQ,QAAA,CAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EAC1F,EAAG,GAAS,MAAQ,QAAA,CAAS,OAAQ,MAAQ,QAAA,CAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EAC1F,GAAI,MAAQ,QAAA,CAAS,UAAU,EAAE,EACjC,GAAI,MAAQ,QAAA,CAAS,MAAM,YAAY,iBAAiB,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,CACxF,EACA,CAAC,MAAQ,QAAA,CAAS,eAAiB,IAEnC,CAAC,MAAQ,QAAA,CAAS,eAAiB,GAGrC,CAAC,MAAQ,QAAA,CAAS,aAAa,UAAY,GAAS,MAAQ,QAAA,CAAS,OAAQ,MAAQ,QAAA,CAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,CACpI,EAEA,qBAAqB,UAAU,YAAc,SAAU,EAAc,EAAoB,CACvF,IAAC,MAAQ,QAAA,CAAS,mBAAqB,EAEnC,IAAE,MAAQ,QAAA,CAAS,MAAQ,EAAE,MAAQ,QAAA,CAAS,eAAiB,CAAC,IAAuB,EAAE,MAAQ,QAAA,CAAS,gBAAkB,EAAE,MAAQ,QAAA,CAAS,UAAU,EAAE,OAI/J,EAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,IAAI,GAAa,MAAQ,QAAA,CAAS,aAAa,UAAU,EACrD,GAAa,MAAQ,QAAA,CAAS,eAC9B,GAAY,MAAQ,QAAA,CAAS,UAC7B,GAAgB,MAAQ,QAAA,CAAS,QACjC,GAAc,MAAQ,QAAA,CAAS,YAC/B,GAAwB,MAAQ,QAAA,CAAS,gBAAgB,OACzD,EACA,EACA,EACA,EACA,EAAU,EAAa,EACvB,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GACA,EACA,EACA,GACA,GACA,GACA,GACA,GAEJ,IAAK,MAAQ,QAAA,CAAS,eAAgB,CAGpC,GAFA,IAAQ,MAAQ,QAAA,CAAS,UAAU,EAE/B,EAAE,MAAQ,QAAA,CAAS,UAAU,IAAM,MAAQ,QAAA,CAAS,UAAU,KAAM,CACtE,IAAI,GAAQ,GAAK,GAEZ,MAAQ,QAAA,CAAS,UAAU,IAC9B,GAAQ,GAAM,QAAQ,GAIxB,EAAW,CACT,QAAS,EACT,SAAU,CAAC,CACb,EACA,EAAM,GAAM,QAAU,EACtB,IAAI,GAGJ,IAFA,GAAc,EAET,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAa,IAAI,gBAAgB,GAAM,EAAE,GAAI,GAAM,EAAE,EAAI,GAAI,CAAC,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,GAAI,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,EAAE,EAAG,CAAC,GAAM,EAAE,EAAI,EAAE,CAAC,GAAK,GAAM,EAAE,EAAI,EAAE,CAAC,GAAI,GAAM,EAAE,EAAI,EAAE,CAAC,GAAK,GAAM,EAAE,EAAI,EAAE,CAAC,EAAE,CAAC,EAC3M,EAAS,SAAW,GAAW,cAC/B,EAAS,SAAS,KAAK,EAAU,EACjC,IAAe,GAAW,cAG5B,EAAI,EAEA,GAAK,EAAE,IACT,GAAa,IAAI,gBAAgB,GAAM,EAAE,GAAI,GAAM,EAAE,GAAI,CAAC,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,GAAI,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,EAAE,EAAG,CAAC,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,GAAI,GAAM,EAAE,EAAE,CAAC,GAAK,GAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EACvL,EAAS,SAAW,GAAW,cAC/B,EAAS,SAAS,KAAK,EAAU,EACjC,IAAe,GAAW,eAG5B,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAK,CACnC,CAUA,GARA,GAAY,MAAQ,QAAA,CAAS,UAAU,GACvC,GAAiB,MAAQ,QAAA,CAAS,UAAU,EAAE,EAC9C,EAAa,EACb,EAAW,EACX,EAAgB,EAChB,EAAO,GACP,EAAW,EAAS,SAEhB,EAAgB,GAAK,GAAK,EAAE,EAS9B,IARI,EAAS,QAAU,KAAK,IAAI,CAAa,IAC3C,EAAgB,CAAC,KAAK,IAAI,CAAa,EAAI,EAAS,SAGtD,EAAa,EAAS,OAAS,EAC/B,EAAS,EAAS,EAAW,CAAC,OAC9B,EAAW,EAAO,OAAS,EAEpB,EAAgB,GACrB,GAAiB,EAAO,EAAS,CAAC,cAClC,IAEI,EAAW,IACb,IACA,EAAS,EAAS,EAAW,CAAC,OAC9B,EAAW,EAAO,OAAS,GAKjC,EAAS,EAAS,EAAW,CAAC,OAC9B,GAAY,EAAO,EAAW,GAC9B,EAAe,EAAO,GACtB,GAAgB,EAAa,aAC/B,CAEA,EAAM,EAAQ,OACd,EAAO,EACP,EAAO,EACP,IAAI,GAAO,EAAa,UAAY,IAAM,KACtC,GAAY,GACZ,EACA,GACA,GACA,GAEG,EAAU,OADb,GAEA,GACA,GAAM,GACN,GACA,GACA,GACA,GAAc,EACd,GAAiB,EACjB,GAAe,EACf,GAAc,GACd,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GAAU,GACV,IAAW,MAAQ,QAAA,CAAS,kBAC5B,GAEJ,GAAI,EAAa,IAAM,GAAK,EAAa,IAAM,EAAG,CAChD,IAAI,GAAwB,EACxB,GAA0B,EAC1B,GAAoB,EAAa,IAAM,EAAI,IAAO,GAClD,GAAY,EACZ,GAAY,GAEhB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAQ,EAAE,CAAC,EAAG,CAKhB,IAJI,KACF,IAAyB,IAGpB,GAAY,GACjB,EAAQ,GAAU,CAAC,sBAAwB,GAC3C,IAAa,EAGf,GAAwB,EACxB,GAAY,EACd,KAAO,CACL,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WACd,IAAa,EAAa,IAAM,IAClC,IAA2B,EAAc,EAAE,EAAI,IAGjD,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,GAAK,OACP,IAAyB,EAAc,EAAE,EAAI,GAAK,GAAK,GAEvD,IAAyB,EAAc,EAAE,EAAI,GAAO,IAK1D,GAAY,EACd,CAOF,IAJI,KACF,IAAyB,IAGpB,GAAY,GACjB,EAAQ,GAAU,CAAC,sBAAwB,GAC3C,IAAa,CAEjB,CAGA,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAI3B,GAHA,EAAa,MAAM,EACnB,GAAc,EAEV,EAAQ,EAAE,CAAC,EACb,EAAO,EACP,GAAQ,EAAa,QACrB,GAAQ,MACR,EAAgB,GAChB,GAAY,IAEP,MAAQ,QAAA,CAAS,iBACpB,EAAa,GACb,EAAW,GACX,EAAS,EAAS,EAAW,CAAC,OAC9B,GAAY,EAAO,EAAW,GAC9B,EAAe,EAAO,GACtB,GAAgB,EAAa,cAC7B,EAAgB,GAGlB,GAAU,GACV,GAAW,GACX,GAAW,GACX,GAAU,GACV,IAAW,MAAQ,QAAA,CAAS,sBACvB,CACL,IAAK,MAAQ,QAAA,CAAS,eAAgB,CACpC,GAAI,KAAgB,EAAQ,EAAE,CAAC,KAAM,CACnC,OAAQ,EAAa,EAArB,CACE,IAAK,GACH,GAAiB,GAAc,EAAa,WAAW,EAAQ,EAAE,CAAC,MAClE,MAEF,IAAK,GACH,IAAkB,GAAc,EAAa,WAAW,EAAQ,EAAE,CAAC,OAAS,EAC5E,MAEF,QACE,KACJ,CAEA,GAAc,EAAQ,EAAE,CAAC,IAC3B,CAEI,KAAQ,EAAQ,EAAE,CAAC,MACjB,EAAQ,MACV,GAAiB,EAAQ,GAAI,CAAC,OAGhC,GAAiB,EAAQ,EAAE,CAAC,GAAK,EACjC,GAAM,EAAQ,EAAE,CAAC,KAGnB,GAAiB,EAAU,GAAK,EAAQ,EAAE,CAAC,GAAK,KAChD,IAAI,GAAiB,EAErB,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,GAAK,OACP,IAAkB,EAAc,EAAE,EAAE,GAAK,GAAK,GAE9C,IAAkB,EAAc,EAAE,EAAE,GAAK,IAIzC,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,GAAK,OACP,IAAkB,EAAc,EAAE,EAAE,GAAK,GAAK,GAE9C,IAAkB,EAAc,EAAE,EAAE,GAAK,IAO/C,IAFA,EAAO,GAEA,GACD,EAAgB,IAAiB,EAAgB,IAAkB,CAAC,GACtE,IAAQ,EAAgB,GAAiB,GAAiB,EAAa,cACvE,GAAW,GAAU,MAAM,IAAM,EAAa,MAAM,GAAK,GAAU,MAAM,IAAM,GAC/E,GAAW,GAAU,MAAM,IAAM,EAAa,MAAM,GAAK,GAAU,MAAM,IAAM,GAC/E,EAAa,UAAU,CAAC,EAAU,GAAK,EAAQ,EAAE,CAAC,GAAK,KAAO,EAAE,EAAU,GAAK,IAAQ,GAAI,EAC3F,EAAO,IACE,IACT,GAAiB,EAAa,cAC9B,GAAY,EAER,GAAY,EAAO,SACrB,EAAW,EACX,GAAc,EAET,EAAS,GAUZ,EAAS,EAAS,EAAW,CAAC,OAT1B,GAAK,EAAE,GACT,EAAW,EACX,EAAa,EACb,EAAS,EAAS,EAAW,CAAC,SAE9B,GAAiB,EAAa,cAC9B,EAAS,OAOX,IACF,GAAY,EACZ,EAAe,EAAO,GACtB,GAAgB,EAAa,gBAKnC,GAAO,EAAQ,EAAE,CAAC,GAAK,EAAI,EAAQ,EAAE,CAAC,IACtC,EAAa,UAAU,CAAC,GAAM,EAAG,CAAC,CACpC,KACE,IAAO,EAAQ,EAAE,CAAC,GAAK,EAAI,EAAQ,EAAE,CAAC,IACtC,EAAa,UAAU,CAAC,GAAM,EAAG,CAAC,EAElC,EAAa,UAAU,CAAC,EAAU,GAAK,EAAQ,EAAE,CAAC,GAAK,KAAO,CAAC,EAAU,GAAK,GAAO,IAAM,CAAC,EAG9F,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,GAE/E,IAAS,GAAK,EAAa,IAAM,MAC9B,MAAQ,QAAA,CAAS,eAChB,GAAK,OACP,GAAiB,EAAc,EAAE,EAAI,GAAK,GAE1C,GAAiB,EAAc,EAAE,EAAI,GAE9B,GAAK,OACd,GAAQ,EAAc,EAAE,EAAI,GAAK,GAEjC,GAAQ,EAAc,EAAE,EAAI,KAsBpC,IAhBI,EAAa,kBACf,GAAK,EAAa,IAAM,GAGtB,EAAa,kBACf,AAGE,GAHE,EAAa,GACV,CAAC,EAAa,GAAG,GAAI,EAAa,GAAG,GAAI,EAAa,GAAG,EAAE,EAE3D,CAAC,EAAG,EAAG,CAAC,GAIb,EAAa,eAAiB,EAAa,KAC7C,GAAK,CAAC,EAAa,GAAG,GAAI,EAAa,GAAG,GAAI,EAAa,GAAG,EAAE,GAG7D,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,GAAK,OACP,EAAa,UAAU,CAAC,EAAc,EAAE,EAAE,GAAK,GAAK,GAAI,CAAC,EAAc,EAAE,EAAE,GAAK,GAAK,GAAI,EAAc,EAAE,EAAE,GAAK,GAAK,EAAE,EAEvH,EAAa,UAAU,CAAC,EAAc,EAAE,EAAE,GAAK,GAAM,CAAC,EAAc,EAAE,EAAE,GAAK,GAAM,EAAc,EAAE,EAAE,GAAK,EAAI,GAKpH,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,GAAK,OACP,EAAa,MAAM,GAAK,EAAc,EAAE,EAAE,GAAK,GAAK,GAAK,GAAI,GAAK,EAAc,EAAE,EAAE,GAAK,GAAK,GAAK,GAAI,CAAC,EAExG,EAAa,MAAM,GAAK,EAAc,EAAE,EAAE,GAAK,GAAK,GAAM,GAAK,EAAc,EAAE,EAAE,GAAK,GAAK,GAAM,CAAC,GAKxG,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EAAG,CAqD5B,GApDA,EAAgB,EAAU,GAAE,CAAC,EAC7B,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,EAE/E,EAAc,GAAG,WACf,GAAK,OACP,EAAa,aAAa,CAAC,EAAc,GAAG,EAAI,GAAK,GAAI,EAAc,GAAG,EAAI,GAAK,EAAE,EAErF,EAAa,aAAa,CAAC,EAAc,GAAG,EAAI,GAAM,EAAc,GAAG,EAAI,EAAI,GAI/E,EAAc,EAAE,WACd,GAAK,OACP,EAAa,QAAQ,CAAC,EAAc,EAAE,EAAI,GAAK,EAAE,EAEjD,EAAa,QAAQ,CAAC,EAAc,EAAE,EAAI,EAAI,GAI9C,EAAc,GAAG,WACf,GAAK,OACP,EAAa,QAAQ,EAAc,GAAG,EAAI,GAAK,EAAE,EAEjD,EAAa,QAAQ,EAAc,GAAG,EAAI,EAAI,GAI9C,EAAc,GAAG,WACf,GAAK,OACP,EAAa,QAAQ,EAAc,GAAG,EAAI,GAAK,EAAE,EAEjD,EAAa,QAAQ,EAAc,GAAG,EAAI,EAAI,GAI9C,EAAc,EAAE,WACd,GAAK,OACP,KAAgB,EAAc,EAAE,EAAI,GAAK,GAAK,IAAe,GAAK,GAElE,KAAgB,EAAc,EAAE,EAAI,GAAO,IAAe,IAI1D,EAAa,iBAAmB,EAAc,GAAG,WAC/C,GAAK,OACP,IAAM,EAAc,GAAG,EAAI,GAAK,GAEhC,IAAM,EAAc,GAAG,EAAI,IAI3B,EAAa,iBAAmB,EAAc,GAAG,SACnD,IAAK,GAAI,EAAG,GAAI,EAAG,IAAK,EAClB,GAAK,OACP,GAAG,MAAO,EAAc,GAAG,EAAE,IAAK,GAAG,KAAM,GAAK,GAEhD,GAAG,MAAO,EAAc,GAAG,EAAE,IAAK,GAAG,KAAM,GAKjD,GAAI,EAAa,eAAiB,EAAa,GAAI,CACjD,GAAI,EAAc,GAAG,SACnB,IAAK,GAAI,EAAG,GAAI,EAAG,IAAK,EAClB,GAAK,OACP,GAAG,MAAO,EAAc,GAAG,EAAE,IAAK,GAAG,KAAM,GAAK,GAEhD,GAAG,MAAO,EAAc,GAAG,EAAE,IAAK,GAAG,KAAM,GAK7C,EAAc,GAAG,WACnB,AAGE,GAHE,GAAK,OACF,YAAY,GAAI,EAAc,GAAG,EAAI,GAAK,EAAE,EAE5C,YAAY,GAAI,EAAc,GAAG,EAAI,EAAI,GAI9C,EAAc,GAAG,WACnB,AAGE,GAHE,GAAK,OACF,mBAAmB,GAAI,EAAc,GAAG,EAAI,GAAK,EAAE,EAEnD,mBAAmB,GAAI,EAAc,GAAG,EAAI,EAAI,GAIrD,EAAc,GAAG,WACnB,AAGE,GAHE,GAAK,OACF,mBAAmB,GAAI,EAAc,GAAG,EAAI,GAAK,EAAE,EAEnD,mBAAmB,GAAI,EAAc,GAAG,EAAI,EAAI,EAG3D,CACF,CAEA,IAAK,GAAI,EAAG,GAAI,GAAM,IAAK,EACzB,EAAgB,EAAU,GAAE,CAAC,EAEzB,EAAc,EAAE,WAClB,GAAmB,EAAU,GAAE,CAAC,EAChC,GAAO,GAAiB,QAAQ,EAAQ,EAAE,CAAC,UAAU,IAAI,EAAS,EAAE,GAAE,CAAC,EAAE,UAAU,GAE9E,MAAQ,QAAA,CAAS,eAChB,GAAK,OACP,EAAa,UAAU,EAAG,EAAc,EAAE,EAAE,GAAK,GAAK,GAAI,CAAC,EAAc,EAAE,EAAE,GAAK,GAAK,EAAE,EAEzF,EAAa,UAAU,EAAG,EAAc,EAAE,EAAE,GAAK,GAAM,CAAC,EAAc,EAAE,EAAE,GAAK,EAAI,EAE5E,GAAK,OACd,EAAa,UAAU,EAAc,EAAE,EAAE,GAAK,GAAK,GAAI,EAAc,EAAE,EAAE,GAAK,GAAK,GAAI,CAAC,EAAc,EAAE,EAAE,GAAK,GAAK,EAAE,EAEtH,EAAa,UAAU,EAAc,EAAE,EAAE,GAAK,GAAM,EAAc,EAAE,EAAE,GAAK,GAAM,CAAC,EAAc,EAAE,EAAE,GAAK,EAAI,GAiBnH,GAZI,EAAa,kBACf,GAAW,GAAK,EAAI,EAAI,IAGtB,EAAa,kBACf,GAAW,OAAS,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,KAG5G,EAAa,eAAiB,EAAa,KAC7C,GAAW,OAAS,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,GAAG,GAAK,GAAG,EAAI,MAG3G,MAAQ,QAAA,CAAS,eAAgB,CAIpC,GAHA,EAAa,UAAU,EAAG,CAAC,EAAa,EAAE,EAC1C,EAAa,UAAU,EAAG,EAAU,GAAK,GAAO,IAAO,EAAM,CAAC,EAE1D,EAAS,EAAE,EAAG,CAChB,IAAY,EAAa,MAAM,GAAK,GAAU,MAAM,KAAO,EAAa,MAAM,GAAK,GAAU,MAAM,IACnG,IAAI,GAAM,KAAK,KAAK,EAAQ,EAAI,IAAM,KAAK,GAEvC,EAAa,MAAM,GAAK,GAAU,MAAM,KAC1C,IAAO,KAGT,EAAa,OAAO,CAAC,GAAM,KAAK,GAAK,GAAG,CAC1C,CAEA,EAAa,UAAU,GAAU,GAAU,CAAC,EAC5C,GAAiB,EAAU,GAAK,EAAQ,EAAE,CAAC,GAAK,KAE5C,EAAQ,EAAI,IAAM,KAAQ,EAAQ,EAAI,EAAE,CAAC,MAC3C,GAAiB,EAAQ,EAAE,CAAC,GAAK,EACjC,GAAiB,EAAa,GAAK,KAAQ,EAAa,UAE5D,KAAO,CAQL,OAPA,EAAa,UAAU,EAAM,EAAM,CAAC,EAEhC,EAAa,IAEf,EAAa,UAAU,EAAa,GAAG,GAAI,EAAa,GAAG,GAAK,EAAa,OAAQ,CAAC,EAGhF,EAAa,EAArB,CACE,IAAK,GACH,EAAa,UAAU,EAAQ,EAAE,CAAC,sBAAwB,EAAa,eAAiB,EAAa,SAAW,EAAa,WAAW,EAAQ,EAAE,CAAC,OAAQ,EAAG,CAAC,EAC/J,MAEF,IAAK,GACH,EAAa,UAAU,EAAQ,EAAE,CAAC,sBAAwB,EAAa,eAAiB,EAAa,SAAW,EAAa,WAAW,EAAQ,EAAE,CAAC,OAAS,EAAG,EAAG,CAAC,EACnK,MAEF,QACE,KACJ,CAEA,EAAa,UAAU,EAAG,CAAC,EAAa,EAAE,EAC1C,EAAa,UAAU,GAAM,EAAG,CAAC,EACjC,EAAa,UAAU,EAAU,GAAK,EAAQ,EAAE,CAAC,GAAK,KAAO,EAAU,GAAK,GAAO,IAAM,CAAC,EAC1F,GAAQ,EAAQ,EAAE,CAAC,EAAI,EAAa,GAAK,KAAQ,EAAa,SAChE,CAEI,IAAe,OACjB,GAAU,EAAa,MAAM,EACpB,IAAe,MACxB,GAAU,EAAa,QAAQ,EAE/B,GAAU,CAAC,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,GAAI,EAAa,MAAM,IAAK,EAAa,MAAM,IAAK,EAAa,MAAM,IAAK,EAAa,MAAM,IAAK,EAAa,MAAM,IAAK,EAAa,MAAM,GAAG,EAGjY,GAAU,EACZ,CAEI,GAAwB,GAC1B,GAAc,IAAI,YAAY,GAAS,GAAU,GAAU,GAAU,GAAS,EAAO,GAEpF,MAAQ,QAAA,CAAS,gBAAgB,KAAK,EAAW,EAElD,GAAwB,EACxB,CAAC,MAAQ,QAAA,CAAS,mBAAqB,KAEvC,IAAe,MAAQ,QAAA,CAAS,gBAAgB,GAChD,CAAC,MAAQ,QAAA,CAAS,mBAAqB,GAAY,OAAO,GAAS,GAAU,GAAU,GAAU,GAAS,EAAO,IAAM,MAAQ,QAAA,CAAS,mBAE5I,CAhlBkC,CAilBpC,EAEA,qBAAqB,UAAU,SAAW,UAAY,EAC/C,MAAQ,QAAA,CAAS,MAAM,WAAW,WAAa,MAAQ,QAAA,CAAS,WAIrE,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,MAAM,WAAW,QAChE,KAAK,yBAAyB,EAChC,EAEA,qBAAqB,UAAU,QAAU,IAAI,OAC7C,qBAAqB,UAAU,kBAAoB,CAAC,EACpD,gBAAgB,CAAC,wBAAwB,EAAG,oBAAoB,EAKhE,SAAS,yBAAyB,EAAM,EAAe,EAAW,CAChE,IAAI,EAAc,CAChB,SAAU,EACZ,EACI,EAAU,gBAAgB,QAC1B,EAA0B,EAAc,EAC5C,CAAC,MAAQ,QAAA,CAAS,EAAI,CACpB,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,UAAW,CAAS,EAAI,EACnG,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,UAAW,CAAS,EAAI,EACtG,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,UAAW,CAAS,EAAI,EACtG,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,UAAW,CAAS,EAAI,EACtG,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,UAAW,CAAS,EAAI,EACtG,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,IAAM,CAAS,EAAI,EAC9F,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,EAAG,CAAS,EAAI,EAC3F,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,IAAM,CAAS,EAAI,EAC9F,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,EAAG,CAAS,EAAI,EAC3F,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,EAAG,CAAS,EAAI,EAC9F,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,EAAG,CAAS,EAAI,EAC9F,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,EAAG,CAAS,EAAI,EAC9F,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,EAAG,CAAS,EAAI,EAC9F,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,IAAM,CAAS,EAAI,EACjG,GAAI,EAAwB,GAAK,EAAQ,EAAM,EAAwB,GAAI,EAAG,IAAM,CAAS,EAAI,EACjG,EAAG,EAAwB,EAAI,EAAQ,EAAM,EAAwB,EAAG,EAAG,EAAG,CAAS,EAAI,CAC7F,EACA,CAAC,MAAQ,QAAA,CAAS,EAAI,iBAAiB,oBAAoB,EAAM,EAAc,EAAG,CAAS,EAC3F,CAAC,MAAQ,QAAA,CAAS,EAAE,EAAI,EAAc,EAAE,CAC1C,CAEA,SAAS,YAAY,EAAG,EAAI,EAAI,EAAI,EAAG,EAAG,CACxC,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAO,CACvB,EAAG,GACH,GAAI,CAAC,CAAC,EACN,GAAI,CAAC,CAAC,EACN,GAAI,CAAC,CAAC,EACN,EAAG,GACH,EAAG,EACL,CACF,CAEA,YAAY,UAAU,OAAS,SAAU,EAAG,EAAI,EAAI,EAAI,EAAG,EAAG,CAC5D,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,IAAI,EAAU,GAsCd,OApCK,MAAQ,QAAA,CAAS,IAAM,IAC1B,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,EAAU,KAGP,MAAQ,QAAA,CAAS,KAAO,IAC3B,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,EAAU,KAGP,MAAQ,QAAA,CAAS,KAAO,IAC3B,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,EAAU,KAGP,MAAQ,QAAA,CAAS,KAAO,IAC3B,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAC5B,EAAU,KAGP,MAAQ,QAAA,CAAS,IAAM,IAC1B,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,EAAU,IAGR,EAAE,UAAY,MAAQ,QAAA,CAAS,EAAE,KAAO,EAAE,KAAO,MAAQ,QAAA,CAAS,EAAE,KAAO,EAAE,KAAO,MAAQ,QAAA,CAAS,EAAE,KAAO,EAAE,KAAO,MAAQ,QAAA,CAAS,EAAE,KAAO,EAAE,KAAO,MAAQ,QAAA,CAAS,EAAE,MAAQ,EAAE,MAAQ,MAAQ,QAAA,CAAS,EAAE,MAAQ,EAAE,OAC9N,CAAC,MAAQ,QAAA,CAAS,EAAI,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAI,GAC3B,EAAU,IAGL,CACT,EAMA,SAAS,aAAa,EAAM,EAAM,CAChC,CAAC,MAAQ,QAAA,CAAS,SAAW,oBAC7B,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,GAAK,GACvB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,KAAK,KAChD,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,gBAAkB,EACpC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,YAAc,CAC9B,OAAQ,EACR,UAAW,MAAQ,QAAA,CAAS,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,MAAQ,QAAA,CAAS,aAAc,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,EAEvE,KAAK,eAAe,GACvB,KAAK,kBAAkB,MAAQ,QAAA,CAAS,WAAW,CAEvD,CAEA,aAAa,UAAU,gBAAkB,CAAC,EAAG,CAAC,EAE9C,aAAa,UAAU,SAAW,SAAU,EAAK,EAAM,CACrD,IAAK,IAAI,KAAK,EACR,OAAO,UAAU,eAAe,KAAK,EAAM,CAAC,IAC9C,EAAI,GAAK,EAAK,IAIlB,OAAO,CACT,EAEA,aAAa,UAAU,eAAiB,SAAU,EAAM,CACjD,EAAK,YACR,KAAK,iBAAiB,CAAI,EAG5B,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,YAAY,UAAY,MAAQ,QAAA,CAAS,YAAY,WAAa,MAAQ,QAAA,CAAS,gBACrG,CAAC,MAAQ,QAAA,CAAS,KAAO,EAC3B,EAEA,aAAa,UAAU,eAAiB,UAAY,CAClD,OAAO,KAAK,gBAAgB,CAC9B,EAEA,aAAa,UAAU,gBAAkB,UAAY,CAOnD,MANA,CAAC,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,OAAS,GAEtD,MAAQ,QAAA,CAAS,IACpB,KAAK,WAAW,MAAQ,QAAA,CAAS,iBAAiB,KAAK,MAAQ,OAAO,CAAC,GAGjE,MAAQ,QAAA,CAAS,EAC3B,EAEA,aAAa,UAAU,UAAY,SAAU,EAAgB,EAC1D,MAAQ,QAAA,CAAS,gBAAgB,KAAK,CAAc,GAEpD,MAAQ,QAAA,CAAS,KAAK,mBAAmB,MAAQ,OAAO,CAC3D,EAEA,aAAa,UAAU,SAAW,SAAU,EAAa,CACvD,OAAM,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,MAAQ,QAAA,CAAS,SAAW,EAAE,MAAQ,QAAA,CAAS,gBAAgB,SAAW,CAAC,GAI/H,EAAC,MAAQ,QAAA,CAAS,YAAY,GAAK,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAG,MAAQ,QAAA,CAAS,UAAU,CAAC,EAAE,EAC5F,IAAI,GAAgB,MAAQ,QAAA,CAAS,YACjC,GAAgB,MAAQ,QAAA,CAAS,UAErC,IAAK,MAAQ,QAAA,CAAS,KAAM,CAC1B,KAAK,gBAAgB,MAAQ,QAAA,CAAS,WAAW,EACjD,MACF,CAEA,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OACxC,EAAa,IAAgB,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAG,MAAQ,QAAA,CAAS,UAAU,CAAC,EAExF,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAExB,AACE,EADE,KAAkB,MAAQ,QAAA,CAAS,WAGvB,MAAQ,QAAA,CAAS,gBAAgB,EAAE,EAAE,MAAQ,QAAA,CAAS,YAAa,EAAW,CAAC,GAF/E,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,EAAY,EAAW,CAAC,EAM1E,IAAiB,GACnB,KAAK,eAAe,CAAU,EAGhC,CAAC,MAAQ,QAAA,CAAS,GAAK,MAAQ,QAAA,CAAS,YACxC,CAAC,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,EACzC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,WAAW,OA/B8B,CAgC9F,EAEA,aAAa,UAAU,iBAAmB,UAAY,CAMpD,IALA,IAAI,GAAY,MAAQ,QAAA,CAAS,KAAK,EAAE,EACpC,GAAY,MAAQ,QAAA,CAAS,KAAK,KAAK,cACvC,EAAI,EACJ,EAAM,EAAS,OAEZ,GAAK,EAAM,GACZ,MAAM,EAAM,GAAK,EAAS,EAAI,EAAE,CAAC,EAAI,IAIzC,GAAK,EAOP,OAJK,MAAQ,QAAA,CAAS,YAAc,IAClC,CAAC,MAAQ,QAAA,CAAS,UAAY,IAGxB,MAAQ,QAAA,CAAS,KAAK,EAAE,GAAG,MAAQ,QAAA,CAAS,UAAU,CAAC,CACjE,EAEA,aAAa,UAAU,eAAiB,SAAU,EAAM,CAOtD,IANA,IAAI,EAAqB,YAAY,0BAA0B,EAC3D,EAAkB,CAAC,EACnB,EAAI,EACJ,EAAM,EAAK,OACX,EAEG,EAAI,GACT,EAAW,EAAK,WAAW,CAAC,EAExB,EAAmB,QAAQ,CAAQ,IAAM,GAElC,GAAY,OAAS,GAAY,OAC1C,EAAW,EAAK,WAAW,EAAI,CAAC,EAE5B,GAAY,OAAS,GAAY,OACnC,EAAgB,KAAK,EAAK,OAAO,EAAG,CAAC,CAAC,EACtC,GAAK,GAEL,EAAgB,KAAK,EAAK,OAAO,CAAC,CAAC,GAGrC,EAAgB,KAAK,EAAK,OAAO,CAAC,CAAC,EAXnC,EAAgB,EAAgB,OAAS,IAAM,EAAK,OAAO,CAAC,EAc9D,GAAK,EAGP,OAAO,CACT,EAEA,aAAa,UAAU,iBAAmB,SAAU,EAAc,CAChE,EAAa,WAAa,GAC1B,IAAI,GAAe,MAAQ,QAAA,CAAS,KAAK,WAAW,YAChD,GAAQ,MAAQ,QAAA,CAAS,KACzB,EAAU,CAAC,EACX,EACA,EACA,EACA,EAAQ,EACR,EACA,EAAiB,EAAK,EAAE,EACxB,EAAc,EACd,EAAa,EACb,EAAc,EACd,EAAa,CAAC,EACd,EAAY,EACZ,EAAe,EACf,EACA,EACA,EAAW,EAAY,cAAc,EAAa,CAAC,EACnD,EACA,GAAU,EACV,EAAY,kBAAkB,CAAQ,EAC1C,EAAa,QAAU,EAAU,OACjC,EAAa,OAAS,EAAU,MAChC,EAAa,UAAY,EAAa,EACtC,EAAa,UAAY,KAAK,eAAe,EAAa,CAAC,EAC3D,EAAM,EAAa,UAAU,OAC7B,EAAa,gBAAkB,EAAa,GAC5C,IAAI,EAAiB,EAAa,GAAK,IAAO,EAAa,UACvD,GAEJ,GAAI,EAAa,GAOf,IANA,IAAI,GAAO,GACP,GAAW,EAAa,GAAG,GAC3B,GAAY,EAAa,GAAG,GAC5B,GACA,GAEG,IAAM,CACX,GAAY,KAAK,eAAe,EAAa,CAAC,EAC9C,GAAgB,EAChB,EAAY,EACZ,EAAM,GAAU,OAChB,EAAiB,EAAa,GAAK,IAAO,EAAa,UACvD,IAAI,GAAiB,GAErB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAW,GAAU,EAAE,CAAC,WAAW,CAAC,EACpC,EAAc,GAEV,GAAU,KAAO,IACnB,GAAiB,GACR,KAAa,IAAM,KAAa,KACzC,EAAY,EACZ,EAAc,GACd,IAAiB,EAAa,iBAAmB,EAAa,UAAY,KAGxE,EAAY,OACd,EAAW,EAAY,YAAY,GAAU,GAAI,EAAS,OAAQ,EAAS,OAAO,EAClF,GAAU,EAAc,EAAI,EAAS,EAAI,EAAa,UAAY,KAGlE,GAAU,EAAY,YAAY,GAAU,GAAI,EAAa,EAAG,EAAa,SAAS,EAGpF,EAAY,GAAU,IAAY,GAAU,KAAO,KACjD,KAAmB,GACrB,GAAO,EAEP,EAAI,GAGN,IAAiB,EAAa,iBAAmB,EAAa,UAAY,IAC1E,GAAU,OAAO,EAAG,OAAmB,GAAW,IAAI,EAEtD,GAAiB,GACjB,EAAY,IAEZ,GAAa,GACb,GAAa,GAIjB,IAAiB,EAAS,OAAS,EAAa,UAAY,KAEvD,MAAQ,QAAA,CAAS,WAAa,EAAa,WAAa,MAAQ,QAAA,CAAS,iBAAmB,GAAY,IAC3G,IAAa,UACb,EAAa,gBAAkB,EAAa,UAAY,EAAa,GAAK,EAAa,IAEvF,EAAa,UAAY,GACzB,EAAM,EAAa,UAAU,OAC7B,GAAO,GAEX,CAGF,EAAY,CAAC,EACb,GAAU,EACV,IAAI,GAAoB,EACpB,GAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EA6CxB,GA5CA,EAAc,GACd,GAAc,EAAa,UAAU,GACrC,GAAW,GAAY,WAAW,CAAC,EAE/B,KAAa,IAAM,KAAa,GAClC,GAAoB,EACpB,EAAW,KAAK,CAAS,EACzB,EAAe,EAAY,EAAe,EAAY,EACtD,EAAY,GAAK,EACjB,EAAM,GACN,EAAc,GACd,GAAe,GAEf,EAAM,GAGJ,EAAY,OACd,EAAW,EAAY,YAAY,GAAa,EAAS,OAAQ,EAAY,cAAc,EAAa,CAAC,CAAC,CAAC,OAAO,EAClH,GAAU,EAAc,EAAI,EAAS,EAAI,EAAa,UAAY,KAIlE,GAAU,EAAY,YAAY,EAAK,EAAa,EAAG,EAAa,SAAS,EAI3E,KAAgB,IAClB,IAAqB,GAAU,GAE/B,GAAa,GAAU,EAAiB,GACxC,GAAoB,GAGtB,EAAQ,KAAK,CACX,EAAG,GACH,GAAI,GACJ,IAAK,EACL,EAAG,EACH,UAAW,CAAC,EACP,MACL,KAAM,EACN,sBAAuB,CACzB,CAAC,EAEG,GAAkB,EAIpB,IAFA,GAAe,GAEX,IAAQ,IAAM,IAAQ,KAAO,IAAM,EAAM,EAAG,CAK9C,KAJI,IAAQ,IAAM,IAAQ,OACxB,GAAe,IAGV,GAAc,GACnB,EAAQ,EAAW,CAAC,GAAK,EACzB,EAAQ,EAAW,CAAC,IAAM,EAC1B,EAAQ,EAAW,CAAC,MAAQ,GAC5B,GAAc,EAGhB,GAAS,EACT,EAAc,CAChB,OACK,GAAI,GAAkB,EAI3B,IAFA,GAAe,GAEX,IAAQ,IAAM,IAAM,EAAM,EAAG,CAK/B,IAJI,IAAQ,KACV,GAAe,IAGV,GAAc,GACnB,EAAQ,EAAW,CAAC,GAAK,EACzB,EAAQ,EAAW,CAAC,IAAM,EAC1B,EAAQ,EAAW,CAAC,MAAQ,GAC5B,GAAc,EAGhB,EAAc,EACd,GAAS,CACX,MAEA,GAAQ,EAAM,CAAC,IAAM,EACrB,EAAQ,EAAM,CAAC,MAAQ,EACvB,GAAS,EAQb,GAJA,EAAa,EAAI,EACjB,EAAe,EAAY,EAAe,EAAY,EACtD,EAAW,KAAK,CAAS,EAErB,EAAa,GACf,EAAa,SAAW,EAAa,GAAG,GACxC,EAAa,cAAgB,OAI7B,OAFA,EAAa,SAAW,EAEhB,EAAa,EAArB,CACE,IAAK,GACH,EAAa,cAAgB,CAAC,EAAa,SAC3C,MAEF,IAAK,GACH,EAAa,cAAgB,CAAC,EAAa,SAAW,EACtD,MAEF,QACE,EAAa,cAAgB,CACjC,CAGF,EAAa,WAAa,EAC1B,IAAI,EAAY,EAAK,EACjB,GACA,GACJ,EAAO,EAAU,OACjB,IAAI,GACA,GACA,GAAU,CAAC,EAEf,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAkB5B,IAjBA,GAAe,EAAU,GAErB,GAAa,EAAE,KACjB,EAAa,gBAAkB,IAG7B,GAAa,EAAE,KACjB,EAAa,gBAAkB,KAG7B,GAAa,EAAE,IAAM,GAAa,EAAE,IAAM,GAAa,EAAE,IAAM,GAAa,EAAE,MAChF,EAAa,cAAgB,IAG/B,GAAM,EACN,GAAQ,GAAa,EAAE,EAElB,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAa,EAAQ,GACrB,GAAW,UAAU,GAAK,IAEtB,IAAS,GAAK,GAAW,MAAQ,IAAM,IAAS,GAAK,GAAW,MAAQ,IAAM,GAAW,MAAQ,KAAO,IAAS,IAAM,GAAW,GAAK,GAAW,KAAO,KAAO,GAAK,EAAM,IAAM,IAAS,IAAM,GAAW,GAAK,GAAK,EAAM,MAEzN,GAAa,EAAE,KAAO,GACxB,GAAQ,KAAK,EAAG,EAGlB,IAAO,GAIX,EAAK,EAAE,EAAE,CAAC,EAAE,WAAa,GACzB,IAAI,GAAa,GACb,GAEJ,GAAI,GAAa,EAAE,KAAO,EACxB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAa,EAAQ,GAEjB,IAAc,GAAW,UAAU,KAErC,GAAa,GAAW,UAAU,GAClC,GAAS,GAAQ,OAAO,KAAK,MAAM,KAAK,OAAO,EAAI,GAAQ,MAAM,EAAG,CAAC,CAAC,CAAC,IAGzE,GAAW,UAAU,GAAK,EAGhC,CAEA,EAAa,QAAU,EAAa,iBAAmB,EAAa,UAAY,IAChF,EAAa,GAAK,EAAa,IAAM,EACrC,EAAa,OAAS,EAAS,OAAS,EAAa,UAAY,GACnE,EAEA,aAAa,UAAU,mBAAqB,SAAU,EAAS,EAAO,CACpE,EAAQ,IAAU,IAAA,IAAa,MAAQ,QAAA,CAAS,UAAY,EAC5D,IAAI,EAAQ,KAAK,SAAS,CAAC,GAAI,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAM,CAAC,CAAC,EACjE,EAAQ,KAAK,SAAS,EAAO,CAAO,EACpC,CAAC,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAM,CAAC,EAAI,EACtC,KAAK,YAAY,CAAK,GAErB,MAAQ,QAAA,CAAS,KAAK,mBAAmB,MAAQ,OAAO,CAC3D,EAEA,aAAa,UAAU,YAAc,SAAU,EAAO,CACpD,IAAI,GAAS,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAE,EAAM,CAAC,EAC9C,EAAM,WAAa,GACnB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,KAAK,SAAS,CAAK,CACrB,EAEA,aAAa,UAAU,cAAgB,SAAU,EAAY,CAC3D,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,KAAK,aAAa,MAAQ,QAAA,CAAS,SAAS,GAE3C,MAAQ,QAAA,CAAS,KAAK,mBAAmB,MAAQ,OAAO,CAC3D,EAEA,aAAa,UAAU,mBAAqB,SAAU,EAAY,CAChE,CAAC,MAAQ,QAAA,CAAS,gBAAkB,KAAK,MAAM,CAAU,GAAK,EAC9D,KAAK,aAAa,MAAQ,QAAA,CAAS,SAAS,GAE3C,MAAQ,QAAA,CAAS,KAAK,mBAAmB,MAAQ,OAAO,CAC3D,EAMA,IAAI,iBAAmB,UAAY,CACjC,IAAI,EAAM,KAAK,IACX,EAAM,KAAK,IACX,EAAQ,KAAK,MAEjB,SAAS,EAAwB,EAAM,EAAM,CAC3C,CAAC,MAAQ,QAAA,CAAS,mBAAqB,GACvC,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQ,OAAO,EAEpB,MAAO,EACT,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,MAAQ,OAAO,EAEjF,CAAC,MAAQ,QAAA,CAAS,EAAI,CACpB,EAAG,GACL,EAGF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQ,OAAO,EACxB,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,IAAM,CAC9D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQ,OAAO,EACxB,CAAC,MAAQ,QAAA,CAAS,GAAK,gBAAgB,QAAQ,EAAM,EAAK,IAAM,CAC9D,EAAG,CACL,EAAG,EAAG,EAAG,MAAQ,OAAO,EACxB,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,GAE9E,MAAQ,QAAA,CAAS,kBAAkB,QACvC,KAAK,SAAS,CAElB,CAEA,EAAwB,UAAY,CAClC,QAAS,SAAU,EAAK,EACjB,MAAQ,QAAA,CAAS,sBAAwB,MAAQ,QAAA,CAAS,KAAK,aAAa,YAAY,EAAE,QAC7F,KAAK,SAAS,EAIhB,IAAI,EAAK,EACL,EAAK,EACL,EAAK,EACL,EAAK,GAEJ,MAAQ,QAAA,CAAS,GAAG,EAAI,EAC3B,GAAM,MAAQ,QAAA,CAAS,GAAG,EAAI,IAE9B,EAAK,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAI,KAG5B,MAAQ,QAAA,CAAS,GAAG,EAAI,EAC3B,EAAK,GAAK,MAAQ,QAAA,CAAS,GAAG,EAAI,IAElC,EAAK,GAAK,MAAQ,QAAA,CAAS,GAAG,EAAI,IAGpC,IAAI,EAAQ,cAAc,gBAAgB,EAAI,EAAI,EAAI,CAAE,CAAC,CAAC,IACtD,EAAO,EACP,GAAK,MAAQ,QAAA,CAAS,OACtB,GAAK,MAAQ,QAAA,CAAS,OACtB,GAAQ,MAAQ,QAAA,CAAS,KAAK,GAElC,GAAI,IAAS,EACX,AAGE,EAHE,IAAM,EACD,KAAO,GAEP,EAAI,EAAG,EAAI,IAAO,EAAI,IAAM,EAAM,IAAM,EAAI,GAAI,CAAC,CAAC,EAG3D,EAAO,EAAM,CAAI,OACZ,GAAI,IAAS,EAClB,AAGE,EAHE,IAAM,EACD,GAAO,EAAI,EAAI,EAEf,EAAI,EAAI,EAAG,EAAI,IAAO,EAAI,IAAM,EAAM,IAAM,EAAI,GAAI,CAAC,CAAC,EAG/D,EAAO,EAAM,CAAI,OACZ,GAAI,IAAS,EACd,IAAM,EACR,EAAO,GAEP,EAAO,EAAI,EAAG,EAAI,IAAO,EAAI,IAAM,EAAM,IAAM,EAAI,GAAI,CAAC,CAAC,EAErD,EAAO,GACT,GAAQ,EAER,EAAO,EAAI,GAAK,EAAO,KAI3B,EAAO,EAAM,CAAI,OACZ,GAAI,IAAS,EAAG,CACrB,GAAI,IAAM,EACR,EAAO,MACF,CACL,IAAI,EAAM,EAAI,EAId,EAAM,EAAI,EAAI,EAAG,EAAM,GAAM,CAAC,EAAG,EAAI,CAAC,EACtC,IAAI,EAAI,CAAC,EAAM,EAAI,EACf,EAAI,EAAM,EACd,EAAO,KAAK,KAAK,EAAI,EAAI,GAAK,EAAI,EAAE,CACtC,CAEA,EAAO,EAAM,CAAI,CACnB,MAAW,IAAS,GACd,IAAM,EACR,EAAO,GAEP,EAAM,EAAI,EAAI,EAAG,EAAM,GAAM,CAAC,EAAG,EAAI,CAAC,EACtC,GAAQ,EAAI,KAAK,IAAI,KAAK,GAAK,KAAK,GAAK,EAAI,GAAO,EAAI,EAAE,GAAK,GAGjE,EAAO,EAAM,CAAI,IAEb,GAAO,EAAM,CAAC,IAChB,AAGE,EAHE,EAAM,EAAI,EACL,EAAI,EAAG,EAAI,EAAI,EAAG,CAAC,GAAK,EAAI,GAAM,CAAC,CAAC,EAEpC,EAAI,EAAG,EAAI,EAAI,EAAK,CAAC,CAAC,GAIjC,EAAO,EAAM,CAAI,GAGnB,OAAO,GAAQ,MAAQ,QAAA,CAAS,EAAE,CACpC,EACA,SAAU,SAAU,EAAc,CAChC,KAAK,yBAAyB,EAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,IAAiB,MAAQ,QAAA,CAAS,KAC3D,CAAC,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,KAAK,aAAa,YAAY,EAAE,QAAU,EAE/F,IAAiB,MAAQ,QAAA,CAAS,KAAK,IAAM,IAC/C,CAAC,MAAQ,QAAA,CAAS,EAAE,GAAK,MAAQ,QAAA,CAAS,oBAG5C,IAAI,GAAW,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,EAAI,KAAO,MAAQ,QAAA,CAAS,KAAK,WAC5E,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAI,EAC5B,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAI,EAAU,EACtC,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAI,EAAU,EAE1C,GAAI,EAAI,EAAG,CACT,IAAI,EAAK,EACT,EAAI,EACJ,EAAI,CACN,CAEA,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,OAAS,CAC7B,CACF,EACA,gBAAgB,CAAC,wBAAwB,EAAG,CAAuB,EAEnE,SAAS,EAAoB,EAAM,EAAM,EAAK,CAC5C,OAAO,IAAI,EAAwB,EAAM,EAAM,CAAG,CACpD,CAEA,MAAO,CACgB,qBACvB,CACF,EAAE,EAME,YAAc,UAAY,CAC5B,OAAO,SAAU,EAAe,EAAS,EAAU,CACjD,IAAI,EAAU,EACV,EAAa,EACb,EAAO,iBAAiB,CAAU,EAClC,EAAK,CACK,aACH,SACX,EAEA,SAAS,GAAa,CACpB,IAAI,EASJ,OAPI,GACF,IACA,EAAU,EAAK,IAEf,EAAU,EAAQ,EAGb,CACT,CAEA,SAAS,EAAQ,EAAS,CACpB,IAAY,IACd,EAAO,QAAQ,OAAO,CAAI,EAC1B,GAAc,GAGZ,GACF,EAAS,CAAO,EAGlB,EAAK,GAAW,EAChB,GAAW,CACb,CAEA,OAAO,CACT,CACF,EAAE,EAME,QAAU,UAAY,CACxB,SAAS,EAAO,EAAK,CACnB,OAAO,EAAI,OAAO,iBAAiB,EAAI,MAAM,CAAC,CAChD,CAEA,MAAO,CACG,QACV,CACF,EAAE,EAME,UAAY,UAAY,CAC1B,SAAS,GAAS,CAChB,OAAO,iBAAiB,UAAW,CAAC,CACtC,CAEA,OAAO,YAAY,EAAG,CAAM,CAC9B,EAAE,EAME,UAAY,UAAY,CAC1B,SAAS,GAAS,CAChB,OAAO,IAAI,SACb,CAEA,SAAS,EAAQ,EAAW,CAC1B,IAAI,EAAM,EAAU,QAChB,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,UAAU,QAAQ,EAAU,EAAE,EAAE,EAChC,UAAU,QAAQ,EAAU,EAAE,EAAE,EAChC,UAAU,QAAQ,EAAU,EAAE,EAAE,EAChC,EAAU,EAAE,GAAK,KACjB,EAAU,EAAE,GAAK,KACjB,EAAU,EAAE,GAAK,KAGnB,EAAU,QAAU,EACpB,EAAU,EAAI,EAChB,CAEA,SAAS,EAAM,EAAO,CACpB,IAAI,EAAS,EAAQ,WAAW,EAC5B,EACA,EAAM,EAAM,UAAY,IAAA,GAAY,EAAM,EAAE,OAAS,EAAM,QAI/D,IAHA,EAAO,UAAU,CAAG,EACpB,EAAO,EAAI,EAAM,EAEZ,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,YAAY,EAAM,EAAE,EAAE,CAAC,GAAI,EAAM,EAAE,EAAE,CAAC,GAAI,EAAM,EAAE,EAAE,CAAC,GAAI,EAAM,EAAE,EAAE,CAAC,GAAI,EAAM,EAAE,EAAE,CAAC,GAAI,EAAM,EAAE,EAAE,CAAC,GAAI,CAAC,EAGhH,OAAO,CACT,CAEA,IAAI,EAAU,YAAY,EAAG,EAAQ,CAAO,EAE5C,MADA,GAAQ,MAAQ,EACT,CACT,EAAE,EAME,oBAAsB,UAAY,CACpC,IAAI,EAAK,CACa,qBACX,SACX,EACI,EAAU,EACV,EAAa,EACb,EAAO,iBAAiB,CAAU,EAEtC,SAAS,GAAqB,CAC5B,IAAI,EASJ,OAPI,GACF,IACA,EAAkB,EAAK,IAEvB,EAAkB,IAAI,gBAGjB,CACT,CAEA,SAAS,EAAQ,EAAiB,CAChC,IAAI,EACA,EAAM,EAAgB,QAE1B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,UAAU,QAAQ,EAAgB,OAAO,EAAE,EAG7C,EAAgB,QAAU,EAEtB,IAAY,IACd,EAAO,QAAQ,OAAO,CAAI,EAC1B,GAAc,GAGhB,EAAK,GAAW,EAChB,GAAW,CACb,CAEA,OAAO,CACT,EAAE,EAME,mBAAqB,UAAY,CACnC,SAAS,GAAS,CAChB,MAAO,CACL,QAAS,CAAC,EACV,YAAa,CACf,CACF,CAEA,SAAS,EAAQ,EAAS,CACxB,IAAI,EACA,EAAM,EAAQ,QAAQ,OAE1B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,iBAAiB,QAAQ,EAAQ,QAAQ,EAAE,EAG7C,EAAQ,QAAQ,OAAS,CAC3B,CAEA,OAAO,YAAY,EAAG,EAAQ,CAAO,CACvC,EAAE,EAME,iBAAmB,UAAY,CACjC,SAAS,GAAS,CAChB,MAAO,CACL,YAAa,EACb,SAAU,iBAAiB,UAAW,oBAAoB,EAC1D,QAAS,iBAAiB,UAAW,oBAAoB,CAC3D,CACF,CAEA,OAAO,YAAY,EAAG,CAAM,CAC9B,EAAE,EAIE,aAAe,UAAY,CAC7B,SAAS,EAAkB,EAAS,CAMlC,IAAK,IALD,EAAQ,EAAQ,MAAM;CAAM,EAC5B,EAAO,CAAC,EACR,EACA,EAAY,EAEP,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAK,EACrC,EAAO,EAAM,EAAE,CAAC,MAAM,GAAG,EAErB,EAAK,SAAW,IAClB,EAAK,EAAK,IAAM,EAAK,EAAE,CAAC,KAAK,EAC7B,GAAa,GAIjB,GAAI,IAAc,EAChB,MAAU,MAAM,EAGlB,OAAO,CACT,CAEA,OAAO,SAAU,EAAU,CAGzB,IAAK,IAFD,EAAU,CAAC,EAEN,EAAI,EAAG,EAAI,EAAS,OAAQ,GAAK,EAAG,CAC3C,IAAI,EAAU,EAAS,GACnB,EAAa,CACf,KAAM,EAAQ,GACd,SAAU,EAAQ,EACpB,EAEA,GAAI,CACF,EAAW,QAAU,KAAK,MAAM,EAAS,EAAE,CAAC,EAAE,CAChD,MAAY,CACV,GAAI,CACF,EAAW,QAAU,EAAkB,EAAS,EAAE,CAAC,EAAE,CACvD,MAAa,CACX,EAAW,QAAU,CACnB,KAAM,EAAS,EACjB,CACF,CACF,CAEA,EAAQ,KAAK,CAAU,CACzB,CAEA,OAAO,CACT,CACF,EAAE,EAIF,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAU,YAAc,SAAU,EAAK,CAClD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EAGJ,IAFA,CAAC,MAAQ,QAAA,CAAS,eAAiB,GAE9B,EAAI,EAAM,EAAG,GAAK,EAAG,KAClB,MAAQ,QAAA,CAAS,SAAS,KAC9B,GAAQ,MAAQ,QAAA,CAAS,OAAO,GAE5B,EAAK,GAAK,EAAK,IAAM,GAAO,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,IAAM,EAAK,GAAK,EAAK,GAAK,GAAO,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,IACrH,KAAK,UAAU,CAAC,GAIpB,CAAC,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,SAAS,IAAM,MAAQ,QAAA,CAAS,eAAiB,GAGxG,KAAK,qBAAqB,CAC5B,EAEA,aAAa,UAAU,WAAa,SAAU,EAAO,CACnD,OAAQ,EAAM,GAAd,CACE,IAAK,GACH,OAAO,KAAK,YAAY,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAW,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAY,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAW,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAY,CAAK,EAE/B,IAAK,GACH,OAAO,KAAK,WAAW,CAAK,EAE9B,IAAK,GACH,OAAO,KAAK,YAAY,CAAK,EAE/B,IAAK,IACH,OAAO,KAAK,aAAa,CAAK,EAEhC,IAAK,IACH,OAAO,KAAK,cAAc,CAAK,EAEjC,QACE,OAAO,KAAK,WAAW,CAAK,CAChC,CACF,EAEA,aAAa,UAAU,aAAe,UAAY,CAChD,MAAU,MAAM,kDAAkD,CACpE,EAEA,aAAa,UAAU,YAAc,SAAU,EAAM,CACnD,OAAO,IAAI,aAAa,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC7E,EAEA,aAAa,UAAU,cAAgB,SAAU,EAAM,CACrD,OAAO,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC/E,EAEA,aAAa,UAAU,cAAgB,UAAY,CACjD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,KAAK,UAAU,CAAC,EAGlB,KAAK,qBAAqB,CAC5B,EAEA,aAAa,UAAU,cAAgB,SAAU,EAAW,CAC1D,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,IAAI,EACA,EAAM,EAAU,OAChB,EACA,GAAQ,MAAQ,QAAA,CAAS,OAAO,OAEpC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,IAFA,EAAI,EAEG,EAAI,GAAM,CACf,IAAK,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,KAAO,EAAU,EAAE,CAAC,GAAI,CACtD,CAAC,MAAQ,QAAA,CAAS,OAAO,GAAK,EAAU,GACxC,KACF,CAEA,GAAK,CACP,CAEJ,EAEA,aAAa,UAAU,oBAAsB,SAAU,EAAY,CACjE,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAmB,CAClD,EAEA,aAAa,UAAU,UAAY,UAAY,EACvC,MAAQ,QAAA,CAAS,WAAW,iBAChC,KAAK,cAAc,CAEvB,EAEA,aAAa,UAAU,sBAAwB,SAAU,EAAS,EAAY,EAAW,CAMvF,IALA,IAAI,GAAY,MAAQ,QAAA,CAAS,SAC7B,GAAU,MAAQ,QAAA,CAAS,OAC3B,EAAI,EACJ,EAAM,EAAO,OAEV,EAAI,GACL,EAAO,EAAE,CAAC,KAAO,IAEf,CAAC,EAAS,IAAM,EAAS,KAAO,IAClC,KAAK,UAAU,CAAC,EAChB,KAAK,kBAAkB,CAAO,IAE9B,EAAU,KAAK,EAAS,EAAE,EAC1B,EAAS,EAAE,CAAC,YAAY,EAEpB,EAAO,EAAE,CAAC,SAAW,IAAA,GAGvB,EAAQ,aAAa,CAAS,EAF9B,KAAK,sBAAsB,EAAS,EAAO,EAAE,CAAC,OAAQ,CAAS,IAOrE,GAAK,CAET,EAEA,aAAa,UAAU,kBAAoB,SAAU,EAAS,EAC3D,MAAQ,QAAA,CAAS,gBAAgB,KAAK,CAAO,CAChD,EAEA,aAAa,UAAU,wBAA0B,SAAU,EAAQ,CACjE,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAO,EAAE,CAAC,GAAI,CAChB,IAAI,EAAO,KAAK,WAAW,EAAO,EAAE,EACpC,EAAK,gBAAgB,GAEpB,MAAQ,QAAA,CAAS,WAAW,iBAAiB,oBAAoB,CAAI,CACxE,CAEJ,EAEA,aAAa,UAAU,gBAAkB,SAAU,EAAU,EAAgB,CAC3E,CAAC,MAAQ,QAAA,CAAS,WAAW,YAAc,IAAI,aAE9C,MAAQ,QAAA,CAAS,WAAW,YAAY,SAAS,EAAS,KAAK,GAE/D,MAAQ,QAAA,CAAS,WAAW,YAAY,SAAS,EAAS,MAAO,CAAc,EAEhF,CAAC,MAAQ,QAAA,CAAS,WAAW,cAAgB,MAAQ,QAAA,CAAS,cAAc,aAAa,MAAM,MAAQ,QAAA,CAAS,aAAa,EAC7H,CAAC,MAAQ,QAAA,CAAS,WAAW,eAAiB,MAAQ,QAAA,CAAS,cAAc,cAAc,MAAM,MAAQ,QAAA,CAAS,aAAa,EAC/H,CAAC,MAAQ,QAAA,CAAS,WAAW,aAAe,MAAQ,QAAA,CAAS,cAAc,eAC3E,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAmB,MAAQ,QAAA,CAAS,cAAc,gBAC/E,CAAC,MAAQ,QAAA,CAAS,WAAW,QAAU,EACvC,CAAC,MAAQ,QAAA,CAAS,WAAW,UAAY,EAAS,GAClD,CAAC,MAAQ,QAAA,CAAS,WAAW,GAAK,EAAS,GAC3C,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,CACtC,EAAG,EAAS,EACZ,EAAG,EAAS,CACd,CACF,EAKA,SAAS,YAAY,EAAe,EAAQ,CAC1C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,OAAS,KAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,WAAa,SAAS,KAAK,EAC7C,IAAI,EAAY,GAEhB,GAAI,GAAU,EAAO,MAAO,CAC1B,IAAI,EAAe,SAAS,OAAO,EAC/B,EAAU,gBAAgB,EAC9B,EAAa,aAAa,KAAM,CAAO,EACvC,EAAa,YAAc,EAAO,OAEjC,MAAQ,QAAA,CAAS,WAAW,YAAY,CAAY,EAErD,GAAa,CACf,CAEA,GAAI,GAAU,EAAO,YAAa,CAChC,IAAI,EAAc,SAAS,MAAM,EAC7B,EAAS,gBAAgB,EAC7B,EAAY,aAAa,KAAM,CAAM,EACrC,EAAY,YAAc,EAAO,aAEhC,MAAQ,QAAA,CAAS,WAAW,YAAY,CAAW,EAEpD,GAAa,IAAM,CACrB,CAEI,IACD,MAAQ,QAAA,CAAS,WAAW,aAAa,kBAAmB,CAAS,EAGxE,IAAI,EAAO,SAAS,MAAM,GAEzB,MAAQ,QAAA,CAAS,WAAW,YAAY,CAAI,EAE7C,IAAI,EAAc,SAAS,GAAG,GAE7B,MAAQ,QAAA,CAAS,WAAW,YAAY,CAAW,EAEpD,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,aAAe,CAC/B,oBAAqB,GAAU,EAAO,qBAAuB,gBAC7D,yBAA0B,GAAU,EAAO,0BAA4B,iBACvE,gBAAiB,GAAU,EAAO,iBAAmB,GACrD,kBAAmB,EAAE,GAAU,EAAO,oBAAsB,IAC5D,YAAa,GAAU,EAAO,aAAe,GAC7C,YAAa,GAAU,EAAO,aAAe,GAC7C,UAAW,GAAU,EAAO,WAAa,GACzC,GAAI,GAAU,EAAO,IAAM,GAC3B,UAAW,GAAU,EAAO,UAC5B,WAAY,CACV,MAAO,GAAU,EAAO,YAAc,EAAO,WAAW,OAAS,OACjE,OAAQ,GAAU,EAAO,YAAc,EAAO,WAAW,QAAU,OACnE,EAAG,GAAU,EAAO,YAAc,EAAO,WAAW,GAAK,KACzD,EAAG,GAAU,EAAO,YAAc,EAAO,WAAW,GAAK,IAC3D,CACF,EACA,CAAC,MAAQ,QAAA,CAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACJ,OACN,cAAe,MAAQ,QAAA,CAAS,YAClC,EACA,CAAC,MAAQ,QAAA,CAAS,SAAW,CAAC,EAC9B,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,aAAe,KACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,WAAW,EAE3C,YAAY,UAAU,WAAa,SAAU,EAAM,CACjD,OAAO,IAAI,YAAY,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC5E,EAEA,YAAY,UAAU,YAAc,SAAU,EAAM,CAClD,OAAO,IAAI,gBAAgB,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAChF,EAEA,YAAY,UAAU,WAAa,SAAU,EAAM,CACjD,OAAO,IAAI,qBAAqB,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CACrF,EAEA,YAAY,UAAU,YAAc,SAAU,EAAM,CAClD,OAAO,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC9E,EAEA,YAAY,UAAU,WAAa,SAAU,EAAM,CACjD,OAAO,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC/E,EAEA,YAAY,UAAU,YAAc,SAAU,EAAM,CAClD,OAAO,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC9E,EAEA,YAAY,UAAU,gBAAkB,SAAU,EAAU,EACzD,MAAQ,QAAA,CAAS,WAAW,aAAa,QAAS,4BAA4B,GAE1E,MAAQ,QAAA,CAAS,aAAa,aAChC,MAAQ,QAAA,CAAS,WAAW,aAAa,WAAY,MAAQ,QAAA,CAAS,aAAa,WAAW,GAE9F,MAAQ,QAAA,CAAS,WAAW,aAAa,UAAW,OAAS,EAAS,EAAI,IAAM,EAAS,CAAC,GAGvF,MAAQ,QAAA,CAAS,aAAa,eACjC,MAAQ,QAAA,CAAS,WAAW,aAAa,QAAS,EAAS,CAAC,GAE5D,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,EAAS,CAAC,EAE9D,CAAC,MAAQ,QAAA,CAAS,WAAW,MAAM,MAAQ,OAC3C,CAAC,MAAQ,QAAA,CAAS,WAAW,MAAM,OAAS,OAC5C,CAAC,MAAQ,QAAA,CAAS,WAAW,MAAM,UAAY,uBAG5C,MAAQ,QAAA,CAAS,aAAa,YAChC,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,MAAQ,QAAA,CAAS,aAAa,SAAS,GAGxF,MAAQ,QAAA,CAAS,aAAa,KAChC,MAAQ,QAAA,CAAS,WAAW,aAAa,MAAO,MAAQ,QAAA,CAAS,aAAa,EAAE,GAG9E,MAAQ,QAAA,CAAS,aAAa,YAAc,IAAA,KAC9C,MAAQ,QAAA,CAAS,WAAW,aAAa,aAAc,MAAQ,QAAA,CAAS,aAAa,SAAS,GAGhG,MAAQ,QAAA,CAAS,WAAW,aAAa,uBAAwB,MAAQ,QAAA,CAAS,aAAa,mBAAmB,GAIlH,MAAQ,QAAA,CAAS,cAAc,QAAQ,aAAa,MAAQ,QAAA,CAAS,UAAU,EAGhF,IAAI,GAAQ,MAAQ,QAAA,CAAS,WAAW,KACxC,KAAK,gBAAgB,EAAU,CAAI,EACnC,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAmB,MAAQ,QAAA,CAAS,aAAa,gBAC9E,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,IAAI,EAAc,SAAS,UAAU,EACjC,EAAO,SAAS,MAAM,EAC1B,EAAK,aAAa,QAAS,EAAS,CAAC,EACrC,EAAK,aAAa,SAAU,EAAS,CAAC,EACtC,EAAK,aAAa,IAAK,CAAC,EACxB,EAAK,aAAa,IAAK,CAAC,EACxB,IAAI,EAAS,gBAAgB,EAC7B,EAAY,aAAa,KAAM,CAAM,EACrC,EAAY,YAAY,CAAI,GAE3B,MAAQ,QAAA,CAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAM,EAAS,GAAG,EAEnG,EAAK,YAAY,CAAW,EAC5B,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAS,OACpC,CAAC,MAAQ,QAAA,CAAS,SAAW,iBAAiB,EAAS,OAAO,MAAM,CACtE,EAEA,YAAY,UAAU,QAAU,UAAY,EACrC,MAAQ,QAAA,CAAS,cAAc,UAClC,CAAC,MAAQ,QAAA,CAAS,cAAc,QAAQ,UAAY,IAGtD,CAAC,MAAQ,QAAA,CAAS,aAAe,KACjC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,KACpC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,QAAU,MAAQ,QAAA,CAAS,OAAO,OAAS,EAEvE,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,SAAS,KAC5B,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,EAI1C,CAAC,MAAQ,QAAA,CAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,cAAgB,IACpC,EAEA,YAAY,UAAU,oBAAsB,UAAY,CAAC,EAEzD,YAAY,UAAU,UAAY,SAAU,EAAK,CAC/C,IAAI,GAAY,MAAQ,QAAA,CAAS,SAE7B,OAAS,KAAS,MAAQ,QAAA,CAAS,OAAO,EAAI,CAAC,KAAO,IAI1D,GAAS,GAAO,GAChB,IAAI,EAAU,KAAK,YAAY,MAAQ,QAAA,CAAS,OAAO,EAAI,EAC3D,EAAS,GAAO,EAEZ,qBACG,MAAQ,QAAA,CAAS,OAAO,EAAI,CAAC,KAAO,IACtC,MAAQ,QAAA,CAAS,WAAW,iBAAiB,oBAAoB,CAAO,EAG3E,EAAQ,gBAAgB,GAG1B,KAAK,mBAAmB,EAAS,CAAG,GAE/B,MAAQ,QAAA,CAAS,OAAO,EAAI,CAAC,KAC5B,EAAE,MAAQ,QAAA,CAAS,SAAS,EAAM,KAAO,MAAQ,QAAA,CAAS,SAAS,EAAM,KAAO,IAClF,KAAK,UAAU,EAAM,CAAC,EACtB,KAAK,kBAAkB,CAAO,GAE9B,EAAQ,SAAS,EAAS,EAAM,EAAE,CAAC,OAAO,EAnB9B,CAsBlB,EAEA,YAAY,UAAU,qBAAuB,UAAY,CACvD,MAAQ,MAAQ,QAAA,CAAS,gBAAgB,QAAQ,CAC/C,IAAI,GAAW,MAAQ,QAAA,CAAS,gBAAgB,IAAI,EAIpD,GAFA,EAAQ,eAAe,EAEnB,EAAQ,KAAK,GAIf,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,SAAS,OAE9B,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,SAAS,KAAO,EAAS,CAC7C,EAAQ,UAAU,MAAQ,QAAA,CAAS,SAAS,EAAI,EAAE,CAAC,OAAO,EAC1D,KACF,CAEA,GAAK,CACP,CAEJ,CACF,EAEA,YAAY,UAAU,YAAc,SAAU,EAAK,CACjD,MAAK,MAAQ,QAAA,CAAS,gBAAkB,IAAQ,MAAQ,QAAA,CAAS,WAejE,CAXI,IAAQ,KACV,GAAO,MAAQ,QAAA,CAAS,cAExB,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAKpC,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,EACxC,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,EACxC,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAiB,aAAe,EAC7D,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,GACpC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAMnC,KAJM,MAAQ,QAAA,CAAS,gBACrB,KAAK,YAAY,CAAG,EAGjB,EAAI,EAAM,EAAG,GAAK,EAAG,MACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,aAAa,GAAO,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,EAAE,EAInF,IAAK,MAAQ,QAAA,CAAS,WAAW,SAC1B,EAAI,EAAG,EAAI,EAAK,GAAK,IACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,YAAY,CAjBZ,CAqBtC,EAEA,YAAY,UAAU,mBAAqB,SAAU,EAAS,EAAK,CACjE,IAAI,EAAa,EAAQ,eAAe,EAEnC,KAOL,KAHA,IAAI,EAAI,EACJ,EAEG,EAAI,IACJ,MAAQ,QAAA,CAAS,SAAS,KAAO,MAAQ,QAAA,CAAS,SAAS,KAAO,KAAS,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,eAAe,IAC1H,GAAe,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,eAAe,GAG7D,GAAK,EAGH,GACD,MAAQ,QAAA,CAAS,aAAa,aAAa,EAAY,CAAW,GAElE,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAU,CALvD,CAOF,EAEA,YAAY,UAAU,KAAO,UAAY,CACvC,CAAC,MAAQ,QAAA,CAAS,aAAa,MAAM,QAAU,MACjD,EAEA,YAAY,UAAU,KAAO,UAAY,CACvC,CAAC,MAAQ,QAAA,CAAS,aAAa,MAAM,QAAU,OACjD,EAKA,SAAS,eAAe,EAAe,EAAQ,CAC7C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,aAAe,CAC/B,YAAa,GAAU,EAAO,cAAgB,IAAA,GAAY,EAAO,YAAc,GAC/E,QAAS,GAAU,EAAO,SAAW,KACrC,gBAAiB,GAAU,EAAO,iBAAmB,GACrD,oBAAqB,GAAU,EAAO,qBAAuB,gBAC7D,yBAA0B,GAAU,EAAO,0BAA4B,iBACvE,UAAW,GAAU,EAAO,WAAa,GACzC,GAAI,GAAU,EAAO,IAAM,EAC7B,EACA,CAAC,MAAQ,QAAA,CAAS,aAAa,IAAM,GAAU,EAAO,KAAO,GAExD,MAAQ,QAAA,CAAS,cAAc,UAClC,CAAC,MAAQ,QAAA,CAAS,aAAa,IAAM,GAAU,EAAO,KAAO,OAAO,kBAAoB,GAG1F,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAC7B,SAAU,GACV,KAAM,GACN,cAAe,MAAQ,QAAA,CAAS,aAChC,mBAAoB,EACtB,EACA,CAAC,MAAQ,QAAA,CAAS,YAAc,IAAI,cACpC,CAAC,MAAQ,QAAA,CAAS,SAAW,CAAC,EAC9B,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,aAAe,IAAI,OACrC,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,aAAe,QACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,cAAc,EAE9C,eAAe,UAAU,YAAc,SAAU,EAAM,CACrD,OAAO,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,SAAU,EAAM,CACpD,OAAO,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC9E,EAEA,eAAe,UAAU,YAAc,SAAU,EAAM,CACrD,OAAO,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,SAAU,EAAM,CACpD,OAAO,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC9E,EAEA,eAAe,UAAU,YAAc,SAAU,EAAM,CACrD,OAAO,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAC/E,EAEA,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,aAAe,SAAU,EAAO,CACnD,OAAM,KAAO,GAAK,EAAM,KAAO,GAAK,EAAM,KAAO,GAAK,EAAM,KAAO,GAAK,EAAM,MAAQ,GAAK,EAAM,MAAQ,GAI7G,IAAI,EAAE,MAAQ,QAAA,CAAS,aAAa,YAAa,EAC9C,MAAQ,QAAA,CAAS,cAAc,UAAU,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,IAAK,EAAM,GAAG,EAEtG,MACF,EAEC,MAAQ,QAAA,CAAS,aAAa,eAAe,CAAK,EAEnD,IAAI,GAAU,MAAQ,QAAA,CAAS,YAAY,IAAI,OAE9C,MAAQ,QAAA,CAAS,aAAa,UAAU,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,IAAK,EAAO,GAAG,GAG5N,MAAQ,QAAA,CAAS,YAAY,IAAI,gBAAgB,MAAQ,QAAA,CAAS,aAAa,KAAK,EAErF,IAAI,GAAW,MAAQ,QAAA,CAAS,YAAY,IAAI,OAE/C,MAAQ,QAAA,CAAS,cAAc,aAAa,EAAQ,GAAI,EAAQ,GAAI,EAAQ,GAAI,EAAQ,GAAI,EAAQ,IAAK,EAAQ,GAAG,CAbrH,CAcF,EAEA,eAAe,UAAU,WAAa,SAAU,EAAI,CAIlD,GAAI,EAAE,MAAQ,QAAA,CAAS,aAAa,YAAa,CAC/C,CAAC,MAAQ,QAAA,CAAS,cAAc,aAAe,EAAK,EAAI,EAAI,EAC5D,CAAC,MAAQ,QAAA,CAAS,WAAW,oBAAsB,MAAQ,QAAA,CAAS,YAAY,GAChF,MACF,CAEA,CAAC,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAK,EAAI,EAAI,GAE5C,MAAQ,QAAA,CAAS,WAAW,sBAAwB,MAAQ,QAAA,CAAS,YAAY,KACpF,CAAC,MAAQ,QAAA,CAAS,cAAc,aAAe,MAAQ,QAAA,CAAS,YAAY,GAC5E,CAAC,MAAQ,QAAA,CAAS,WAAW,oBAAsB,MAAQ,QAAA,CAAS,YAAY,GAEpF,EAEA,eAAe,UAAU,MAAQ,UAAY,CAC3C,GAAI,EAAE,MAAQ,QAAA,CAAS,aAAa,YAAa,EAC9C,MAAQ,QAAA,CAAS,cAAc,QAAQ,EAExC,MACF,EAEC,MAAQ,QAAA,CAAS,YAAY,MAAM,CACtC,EAEA,eAAe,UAAU,KAAO,SAAU,EAAY,CACpD,GAAI,EAAE,MAAQ,QAAA,CAAS,aAAa,YAAa,EAC9C,MAAQ,QAAA,CAAS,cAAc,KAAK,EAErC,MACF,CAEI,IACD,MAAQ,QAAA,CAAS,cAAc,KAAK,EAGvC,IAAI,GAAS,MAAQ,QAAA,CAAS,YAAY,IAAI,OAEzC,MAAQ,QAAA,CAAS,YAAY,UAAY,MAAQ,QAAA,CAAS,YAAY,UACxE,MAAQ,QAAA,CAAS,YAAY,UAAU,EAG1C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,YAAY,OAAO,MAAQ,QAAA,CAAS,YAAY,SAE5E,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvB,EAAI,GAAK,EAAM,GAGjB,CAAC,MAAQ,QAAA,CAAS,YAAY,SAAS,MAAQ,QAAA,CAAS,YAAY,UAAY,MAAQ,QAAA,CAAS,YAAY,GAC7G,CAAC,MAAQ,QAAA,CAAS,YAAY,SAAW,CAC3C,EAEA,eAAe,UAAU,QAAU,SAAU,EAAY,CACvD,GAAI,EAAE,MAAQ,QAAA,CAAS,aAAa,YAAa,EAC9C,MAAQ,QAAA,CAAS,cAAc,QAAQ,EAExC,MACF,CAEI,KACD,MAAQ,QAAA,CAAS,cAAc,QAAQ,EAExC,CAAC,MAAQ,QAAA,CAAS,WAAW,UAAY,eAG3C,GAAC,MAAQ,QAAA,CAAS,YAAY,QAC9B,IAAI,GAAU,MAAQ,QAAA,CAAS,YAAY,OAAO,MAAQ,QAAA,CAAS,YAAY,SAC3E,EACA,GAAO,MAAQ,QAAA,CAAS,YAAY,IAAI,MAE5C,IAAK,EAAI,EAAG,EAAI,GAAI,GAAK,EACvB,EAAI,GAAK,EAAO,IAGjB,MAAQ,QAAA,CAAS,cAAc,aAAa,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAAI,EAAO,IAAK,EAAO,GAAG,EAE/G,GAAU,MAAQ,QAAA,CAAS,YAAY,SAAS,MAAQ,QAAA,CAAS,YAAY,SAC7E,CAAC,MAAQ,QAAA,CAAS,YAAY,GAAK,GAE9B,MAAQ,QAAA,CAAS,WAAW,qBAAuB,IACtD,CAAC,MAAQ,QAAA,CAAS,cAAc,YAAc,EAC9C,CAAC,MAAQ,QAAA,CAAS,WAAW,mBAAqB,EAEtD,EAEA,eAAe,UAAU,gBAAkB,SAAU,EAAU,CAC7D,IAAK,MAAQ,QAAA,CAAS,cAAc,QAAS,CAC3C,CAAC,MAAQ,QAAA,CAAS,cAAc,UAAY,UAAU,QAAQ,EAC9D,IAAI,GAAkB,MAAQ,QAAA,CAAS,cAAc,UAAU,MAC/D,EAAe,MAAQ,OACvB,EAAe,OAAS,OACxB,IAAI,EAAS,cACb,EAAe,gBAAkB,EACjC,EAAe,mBAAqB,EACpC,EAAe,sBAAwB,EACvC,EAAe,qBAAuB,GAErC,MAAQ,QAAA,CAAS,cAAc,QAAQ,aAAa,MAAQ,QAAA,CAAS,cAAc,SAAS,EAE7F,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,cAAc,UAAU,WAAW,IAAI,GAEtF,MAAQ,QAAA,CAAS,aAAa,YAChC,MAAQ,QAAA,CAAS,cAAc,UAAU,aAAa,SAAU,MAAQ,QAAA,CAAS,aAAa,SAAS,GAGrG,MAAQ,QAAA,CAAS,aAAa,KAChC,MAAQ,QAAA,CAAS,cAAc,UAAU,aAAa,MAAO,MAAQ,QAAA,CAAS,aAAa,EAAE,CAElG,KACE,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,aAAa,QAGnE,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAS,OACpC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAClC,EAAG,EAAS,EACZ,EAAG,EAAS,EACZ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,CACN,EACA,KAAK,gBAAgB,EAAU,SAAS,IAAI,EAC5C,CAAC,MAAQ,QAAA,CAAS,WAAW,eAAiB,MAAQ,QAAA,CAAS,cAC/D,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,MAAQ,QAChD,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,GACxC,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAmB,MAAQ,QAAA,CAAS,aAAa,gBAC9E,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAmB,MAAQ,QAAA,CAAS,gBACjE,CAAC,MAAQ,QAAA,CAAS,SAAW,iBAAiB,EAAS,OAAO,MAAM,EACpE,KAAK,oBAAoB,CAC3B,EAEA,eAAe,UAAU,oBAAsB,UAAY,CACzD,KAAK,MAAM,EACX,IAAI,EACA,GAEC,MAAQ,QAAA,CAAS,cAAc,UAAY,MAAQ,QAAA,CAAS,cAAc,WAC7E,GAAgB,MAAQ,QAAA,CAAS,cAAc,QAAQ,YACvD,GAAiB,MAAQ,QAAA,CAAS,cAAc,QAAQ,cAEvD,MAAQ,QAAA,CAAS,cAAc,UAAU,aAAa,QAAS,GAAgB,MAAQ,QAAA,CAAS,aAAa,GAAG,GAEhH,MAAQ,QAAA,CAAS,cAAc,UAAU,aAAa,SAAU,GAAiB,MAAQ,QAAA,CAAS,aAAa,GAAG,IAEnH,GAAgB,MAAQ,QAAA,CAAS,cAAc,OAAO,OAAS,MAAQ,QAAA,CAAS,aAAa,IAC7F,GAAiB,MAAQ,QAAA,CAAS,cAAc,OAAO,QAAU,MAAQ,QAAA,CAAS,aAAa,KAGjG,IAAI,EACA,EAEJ,IAAK,MAAQ,QAAA,CAAS,aAAa,oBAAoB,QAAQ,MAAM,IAAM,KAAO,MAAQ,QAAA,CAAS,aAAa,oBAAoB,QAAQ,OAAO,IAAM,GAAI,CAC3J,IAAI,GAAO,MAAQ,QAAA,CAAS,aAAa,oBAAoB,MAAM,GAAG,EAElE,EAAW,EAAI,IAAM,OACrB,EAAM,EAAI,IAAM,WAChB,EAAO,EAAI,OAAO,EAAG,CAAC,EACtB,EAAO,EAAI,OAAO,CAAC,EACvB,EAAa,EAAe,EAC5B,GAAgB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,gBAAgB,EAEnF,EAAe,GAAc,IAAa,QAAU,EAAe,GAAc,IAAa,SAChG,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAiB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,KAC5H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAiB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,OAE5H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAkB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,KAC7H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAkB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,MAG3H,IAAS,SAAW,EAAe,GAAc,IAAa,QAAU,EAAe,GAAc,IAAa,SACpH,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAgB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,GAAiB,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAK,MAAQ,QAAA,CAAS,aAAa,IAChL,IAAS,SAAW,EAAe,GAAc,IAAa,QAAU,EAAe,GAAc,IAAa,SAC3H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAgB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,GAAiB,MAAQ,QAAA,CAAS,gBAAgB,KAAO,MAAQ,QAAA,CAAS,aAAa,IAErL,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,EAGrC,IAAS,SAAW,EAAe,GAAc,IAAa,QAAU,EAAe,GAAc,IAAa,SACpH,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAiB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,GAAgB,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAK,MAAQ,QAAA,CAAS,aAAa,IAChL,IAAS,SAAW,EAAe,GAAc,IAAa,QAAU,EAAe,GAAc,IAAa,SAC3H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,GAAiB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,GAAgB,MAAQ,QAAA,CAAS,gBAAgB,KAAO,MAAQ,QAAA,CAAS,aAAa,IAErL,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,CAE3C,MAAY,MAAQ,QAAA,CAAS,aAAa,sBAAwB,QAChE,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAiB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,KAC5H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAAkB,MAAQ,QAAA,CAAS,gBAAgB,GAAK,MAAQ,QAAA,CAAS,aAAa,KAC7H,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,EACvC,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,IAEvC,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,MAAQ,QAAA,CAAS,aAAa,IACtE,CAAC,MAAQ,QAAA,CAAS,gBAAgB,IAAM,MAAQ,QAAA,CAAS,aAAa,IACtE,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,EACvC,CAAC,MAAQ,QAAA,CAAS,gBAAgB,GAAK,GAGzC,CAAC,MAAQ,QAAA,CAAS,gBAAgB,MAAQ,EAAE,MAAQ,QAAA,CAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,GAAI,MAAQ,QAAA,CAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,MAAQ,QAAA,CAAS,gBAAgB,IAAK,MAAQ,QAAA,CAAS,gBAAgB,GAAI,EAAG,CAAC,EAQrO,KAAK,cAAc,MAAQ,QAAA,CAAS,gBAAgB,KAAK,GAExD,MAAQ,QAAA,CAAS,cAAc,UAAU,GAEzC,MAAQ,QAAA,CAAS,cAAc,KAAK,EAAG,GAAI,MAAQ,QAAA,CAAS,gBAAgB,GAAI,MAAQ,QAAA,CAAS,gBAAgB,CAAC,GAElH,MAAQ,QAAA,CAAS,cAAc,UAAU,GAEzC,MAAQ,QAAA,CAAS,cAAc,KAAK,EAErC,KAAK,aAAa,MAAQ,QAAA,CAAS,cAAe,EAAI,CACxD,EAEA,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQ,QAAA,CAAS,aAAa,cAAgB,MAAQ,QAAA,CAAS,cAAc,UAChF,CAAC,MAAQ,QAAA,CAAS,cAAc,QAAQ,UAAY,IAGtD,IAAI,EAGJ,IAAK,IAFM,MAAQ,QAAA,CAAS,QAAU,MAAQ,QAAA,CAAS,OAAO,OAAS,GAExD,EAAG,GAAK,EAAG,KACnB,MAAQ,QAAA,CAAS,SAAS,KAC5B,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,EAI1C,CAAC,MAAQ,QAAA,CAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,QAAA,CAAS,WAAW,cAAgB,KAC7C,CAAC,MAAQ,QAAA,CAAS,cAAc,UAAY,KAC5C,CAAC,MAAQ,QAAA,CAAS,UAAY,EAChC,EAEA,eAAe,UAAU,YAAc,SAAU,EAAK,EAAa,CACjE,MAAK,MAAQ,QAAA,CAAS,gBAAkB,IAAQ,MAAQ,QAAA,CAAS,aAAa,cAAgB,IAAQ,CAAC,IAAgB,MAAQ,QAAA,CAAS,WAAa,IAAQ,IAQ7J,CAJA,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,GAAO,MAAQ,QAAA,CAAS,cAAc,cAC9E,CAAC,MAAQ,QAAA,CAAS,WAAW,SAAW,EACxC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,EAAE,MAAQ,QAAA,CAAS,aAAa,aAAe,EACnF,CAAC,MAAQ,QAAA,CAAS,WAAW,iBAAiB,aAAe,EAG7D,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAMnC,KAJM,MAAQ,QAAA,CAAS,gBACrB,KAAK,YAAY,CAAG,EAGjB,EAAI,EAAG,EAAI,EAAK,GAAK,IACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,aAAa,GAAO,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,EAAE,EAInF,IAAK,MAAQ,QAAA,CAAS,WAAW,KAAM,CAOrC,KANK,MAAQ,QAAA,CAAS,aAAa,cAAgB,IAChD,MAAQ,QAAA,CAAS,cAAc,UAAU,EAAG,GAAI,MAAQ,QAAA,CAAS,gBAAgB,GAAI,MAAQ,QAAA,CAAS,gBAAgB,CAAC,EAExH,KAAK,KAAK,EAGP,EAAI,EAAM,EAAG,GAAK,EAAG,MACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,YAAY,GAIzC,MAAQ,QAAA,CAAS,aAAa,cAAgB,IACjD,KAAK,QAAQ,CAEjB,CAhC6D,CAiC/D,EAEA,eAAe,UAAU,UAAY,SAAU,EAAK,CAClD,IAAI,GAAY,MAAQ,QAAA,CAAS,SAE7B,OAAS,KAAS,MAAQ,QAAA,CAAS,OAAO,EAAI,CAAC,KAAO,IAI1D,KAAI,EAAU,KAAK,YAAY,MAAQ,QAAA,CAAS,OAAO,GAAM,MAAQ,SAAU,MAAQ,QAAA,CAAS,UAAU,EAC1G,EAAS,GAAO,EAChB,EAAQ,gBAAgB,CAFkF,CAM5G,EAEA,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQ,QAAA,CAAS,gBAAgB,SACxB,MAAQ,QAAA,CAAS,gBAAgB,IAE1C,CAAC,CAAC,eAAe,CAE3B,EAEA,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,cAAc,UAAU,MAAM,QAAU,MAC5D,EAEA,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,cAAc,UAAU,MAAM,QAAU,OAC5D,EAMA,SAAS,eAAe,EAAe,EAAQ,CAC7C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,OAAS,KAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,aAAe,CAC/B,UAAW,GAAU,EAAO,WAAa,GACzC,yBAA0B,GAAU,EAAO,0BAA4B,iBACvE,kBAAmB,EAAE,GAAU,EAAO,oBAAsB,IAC5D,WAAY,CACV,MAAO,GAAU,EAAO,YAAc,EAAO,WAAW,OAAS,OACjE,OAAQ,GAAU,EAAO,YAAc,EAAO,WAAW,QAAU,OACnE,EAAG,GAAU,EAAO,YAAc,EAAO,WAAW,GAAK,QACzD,EAAG,GAAU,EAAO,YAAc,EAAO,WAAW,GAAK,OAC3D,CACF,EACA,CAAC,MAAQ,QAAA,CAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACV,cAAe,MAAQ,QAAA,CAAS,YAClC,EACA,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,SAAW,CAAC,EAC9B,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EACpC,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,OAAS,KAC3B,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,MACnC,CAEA,gBAAgB,CAAC,YAAY,EAAG,cAAc,EAC9C,eAAe,UAAU,UAAY,YAAY,UAAU,UAE3D,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQ,QAAA,CAAS,gBAAgB,SACxB,MAAQ,QAAA,CAAS,gBAAgB,IAE1C,CAAC,CAAC,eAAe,CAE3B,EAEA,eAAe,UAAU,mBAAqB,SAAU,EAAS,EAAK,CACpE,IAAI,EAAgB,EAAQ,eAAe,EAEtC,KAIL,KAAI,GAAS,MAAQ,QAAA,CAAS,OAAO,GAErC,GAAI,CAAC,EAAM,KAAO,EAAE,MAAQ,QAAA,CAAS,WACnC,IAAK,MAAQ,QAAA,CAAS,eACpB,KAAK,iBAAiB,EAAe,CAAG,MACnC,CAML,IALA,IAAI,EAAI,EACJ,EACA,EACA,EAEG,EAAI,IACJ,MAAQ,QAAA,CAAS,SAAS,KAAO,MAAQ,QAAA,CAAS,SAAS,KAAO,KAAS,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,iBAC3G,GAAa,MAAQ,QAAA,CAAS,SAAS,GACvC,GAAiB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,IAAM,KAAK,wBAAwB,CAAC,EAAI,EAAU,eAAe,EAC7G,EAAiB,GAAiB,GAGpC,GAAK,EAGH,GACE,CAAC,EAAM,KAAO,EAAE,MAAQ,QAAA,CAAS,cAClC,MAAQ,QAAA,CAAS,aAAa,aAAa,EAAe,CAAc,GAElE,CAAC,EAAM,KAAO,EAAE,MAAQ,QAAA,CAAS,cACzC,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAa,CAE5D,MAEA,KAAK,iBAAiB,EAAe,CAAG,CA9BL,CAgCvC,EAEA,eAAe,UAAU,YAAc,SAAU,EAAM,CAKrD,OAJM,MAAQ,QAAA,CAAS,WAIhB,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAHnE,IAAI,gBAAgB,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAIlF,EAEA,eAAe,UAAU,WAAa,SAAU,EAAM,CAKpD,OAJM,MAAQ,QAAA,CAAS,WAIhB,IAAI,aAAa,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAHlE,IAAI,qBAAqB,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAIvF,EAEA,eAAe,UAAU,aAAe,SAAU,EAAM,CAEtD,MADA,CAAC,MAAQ,QAAA,CAAS,OAAS,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,GACzF,MAAQ,QAAA,CAAS,MAC3B,EAEA,eAAe,UAAU,YAAc,SAAU,EAAM,CAKrD,OAJM,MAAQ,QAAA,CAAS,WAIhB,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAHnE,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAIhF,EAEA,eAAe,UAAU,WAAa,SAAU,EAAM,CAKpD,OAJM,MAAQ,QAAA,CAAS,WAIhB,IAAI,aAAa,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAHlE,IAAI,eAAe,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAIjF,EAEA,eAAe,UAAU,YAAc,SAAU,EAAM,CAKrD,OAJM,MAAQ,QAAA,CAAS,WAIhB,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAHnE,IAAI,cAAc,GAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,CAIhF,EAEA,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,wBAA0B,SAAU,EAAK,CAIhE,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,eAAe,OAEpC,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,UAAY,IAAQ,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,QAAU,EACvG,OAAQ,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,gBAG7C,GAAK,CACP,CAEA,OAAO,IACT,EAEA,eAAe,UAAU,sBAAwB,SAAU,EAAK,EAAM,CACpE,IAAI,EAAkB,UAAU,KAAK,EACjC,EACA,EACJ,SAAS,CAAe,EACxB,IAAI,EAAY,UAAU,KAAK,EAG/B,GAFA,SAAS,CAAS,EAEd,IAAS,KAAM,CACjB,EAAQ,EAAgB,MACxB,EAAM,OAAS,MAAQ,QAAA,CAAS,WAAW,SAAS,EAAI,KACxD,EAAM,QAAU,MAAQ,QAAA,CAAS,WAAW,SAAS,EAAI,KACzD,IAAI,EAAS,UACb,EAAM,sBAAwB,EAC9B,EAAM,mBAAqB,EAC3B,EAAM,gBAAkB,EACxB,EAAiB,EAAU,MAC3B,IAAI,EAAS,4CACb,EAAe,UAAY,EAC3B,EAAe,gBAAkB,CACnC,CAEA,EAAgB,YAAY,CAAS,EAErC,IAAI,EAAsB,CACb,YACM,kBACjB,SAAU,EACV,OAAQ,EACF,MACR,EAIA,OAFC,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAmB,EAElD,CACT,EAEA,eAAe,UAAU,kBAAoB,UAAY,CACvD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EACA,EAAmB,GAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,MAAQ,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,KAAO,GACpE,IAAqB,OACvB,EAAmB,KACnB,EAA0B,KAAK,sBAAsB,EAAG,IAAI,GAG9D,EAAwB,OAAS,KAAK,IAAI,EAAwB,OAAQ,CAAC,IAEvE,IAAqB,OACvB,EAAmB,KACnB,EAA0B,KAAK,sBAAsB,EAAG,IAAI,GAG9D,EAAwB,OAAS,KAAK,IAAI,EAAwB,OAAQ,CAAC,GAM/E,IAFA,GAAO,MAAQ,QAAA,CAAS,eAAe,OAElC,EAAI,EAAM,EAAG,GAAK,EAAG,KACvB,MAAQ,QAAA,CAAS,YAAY,aAAa,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,eAAe,CAEjG,EAEA,eAAe,UAAU,iBAAmB,SAAU,EAAM,EAAK,CAI/D,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,eAAe,OAEpC,EAAI,GAAK,CACd,GAAI,IAAQ,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,OAAQ,CAIrD,IAHA,IAAI,GAAK,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,SACxC,EAEG,EAAI,IACJ,MAAQ,QAAA,CAAS,SAAS,KAAO,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,iBACjE,GAAe,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,eAAe,GAG7D,GAAK,EAGH,GACD,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,UAAU,aAAa,EAAM,CAAW,GAE3E,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,UAAU,YAAY,CAAI,EAGhE,KACF,CAEA,GAAK,CACP,CACF,EAEA,eAAe,UAAU,gBAAkB,SAAU,EAAU,CAC7D,IAAI,EAAc,UAAU,KAAK,EAC7B,GAAW,MAAQ,QAAA,CAAS,cAAc,QAC1C,EAAQ,EAAY,MACxB,EAAM,MAAQ,EAAS,EAAI,KAC3B,EAAM,OAAS,EAAS,EAAI,KAC5B,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,SAAS,CAAW,EACpB,EAAM,eAAiB,OACvB,EAAM,kBAAoB,OAC1B,EAAM,qBAAuB,QAExB,MAAQ,QAAA,CAAS,aAAa,WACjC,EAAY,aAAa,SAAU,MAAQ,QAAA,CAAS,aAAa,SAAS,EAG5E,EAAQ,YAAY,CAAW,EAC/B,EAAM,SAAW,SACjB,IAAI,EAAM,SAAS,KAAK,EACxB,EAAI,aAAa,QAAS,GAAG,EAC7B,EAAI,aAAa,SAAU,GAAG,EAC9B,SAAS,CAAG,GAEX,MAAQ,QAAA,CAAS,YAAY,YAAY,CAAG,EAE7C,IAAI,EAAO,SAAS,MAAM,EAC1B,EAAI,YAAY,CAAI,EACpB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAEzB,KAAK,gBAAgB,EAAU,CAAG,EAClC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,EACpC,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAS,OACpC,CAAC,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,YACnD,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,CAC3B,EAEA,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQ,QAAA,CAAS,cAAc,UAClC,CAAC,MAAQ,QAAA,CAAS,cAAc,QAAQ,UAAY,IAGtD,CAAC,MAAQ,QAAA,CAAS,cAAc,UAAY,KAC5C,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,KACpC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,QAAU,MAAQ,QAAA,CAAS,OAAO,OAAS,EAEvE,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,EAGxC,CAAC,MAAQ,QAAA,CAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,CAAC,MAAQ,QAAA,CAAS,cAAgB,IACpC,EAEA,eAAe,UAAU,oBAAsB,UAAY,CACzD,IAAI,GAAgB,MAAQ,QAAA,CAAS,cAAc,QAAQ,YACvD,GAAiB,MAAQ,QAAA,CAAS,cAAc,QAAQ,aACxD,EAAa,EAAe,EAC5B,GAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,GAAK,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC/F,EACA,EACA,EACA,EAEA,EAAe,GACjB,EAAK,GAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC1D,EAAK,GAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC1D,EAAK,EACL,GAAM,GAAiB,MAAQ,QAAA,CAAS,WAAW,SAAS,GAAK,GAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,IAAM,IAE5H,EAAK,GAAiB,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC3D,EAAK,GAAiB,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC3D,GAAM,GAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,GAAK,GAAiB,MAAQ,QAAA,CAAS,WAAW,SAAS,IAAM,EAC5H,EAAK,GAGP,IAAI,GAAS,MAAQ,QAAA,CAAS,YAAY,MAC1C,EAAM,gBAAkB,YAAc,EAAK,YAAc,EAAK,gBAAkB,EAAK,IAAM,EAAK,QAChG,EAAM,UAAY,EAAM,eAC1B,EAEA,eAAe,UAAU,YAAc,YAAY,UAAU,YAE7D,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,YAAY,MAAM,QAAU,MAChD,EAEA,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,YAAY,MAAM,QAAU,OAChD,EAEA,eAAe,UAAU,UAAY,UAAY,CAG/C,GAFA,KAAK,cAAc,GAEd,MAAQ,QAAA,CAAS,QACnB,MAAQ,QAAA,CAAS,OAAO,MAAM,MAC1B,CACL,IAAI,GAAU,MAAQ,QAAA,CAAS,WAAW,SAAS,EAC/C,GAAW,MAAQ,QAAA,CAAS,WAAW,SAAS,EAChD,EACA,GAAO,MAAQ,QAAA,CAAS,eAAe,OAE3C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAC3B,IAAI,GAAS,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,gBAAgB,MAChE,EAAM,kBAAoB,KAAK,KAAc,GAAQ,EAAc,GAAS,CAAE,EAAI,KAClF,EAAM,YAAc,EAAM,iBAC5B,CACF,CACF,EAEA,eAAe,UAAU,wBAA0B,SAAU,EAAQ,CACnE,IAAI,EACA,EAAM,EAAO,OACb,EAAoB,UAAU,KAAK,EAEvC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,EAAO,EAAE,CAAC,GAAI,CAChB,IAAI,EAAO,KAAK,WAAW,EAAO,GAAI,GAAoB,MAAQ,QAAA,CAAS,WAAW,KAAM,IAAI,EAChG,EAAK,gBAAgB,GAEpB,MAAQ,QAAA,CAAS,WAAW,iBAAiB,oBAAoB,CAAI,CACxE,CAEJ,EAIA,SAAS,YAAY,EAAM,EAAS,EAAY,CAC9C,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,WAAa,CAAC,EAChC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,KAAK,iBAAmB,CAAC,EAC/E,CAAC,MAAQ,QAAA,CAAS,YAAc,KAChC,IAAI,GAAQ,MAAQ,QAAA,CAAS,WAAW,KACpC,EACA,GAAO,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,gBAAgB,OAAS,EACzF,CAAC,MAAQ,QAAA,CAAS,SAAW,iBAAiB,CAAG,EACjD,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,IAAI,EACA,GAAc,MAAQ,QAAA,CAAS,gBAC/B,EAAQ,EACR,EAAe,CAAC,EAChB,EACA,EACA,EAAU,gBAAgB,EAC1B,EACA,EACA,EACA,EACA,EAAW,WACX,EAAU,YAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAkBxB,IAjBI,EAAW,EAAE,CAAC,OAAS,KAAO,EAAW,EAAE,CAAC,OAAS,KAAO,EAAW,EAAE,CAAC,KAAO,EAAW,EAAE,CAAC,EAAE,IAAM,KAAO,EAAW,EAAE,CAAC,EAAE,KAChI,EAAW,OACX,EAAU,SAGP,EAAW,EAAE,CAAC,OAAS,KAAO,EAAW,EAAE,CAAC,OAAS,MAAQ,IAAU,GAC1E,EAAO,SAAS,MAAM,EACtB,EAAK,aAAa,OAAQ,SAAS,EACnC,EAAK,aAAa,SAAU,MAAQ,QAAA,CAAS,QAAQ,KAAK,KAAK,GAAK,CAAC,EACrE,EAAK,aAAa,UAAW,MAAQ,QAAA,CAAS,QAAQ,KAAK,KAAK,GAAK,CAAC,EACtE,EAAa,KAAK,CAAI,GAEtB,EAAO,KAGT,EAAO,SAAS,MAAM,EAElB,EAAW,EAAE,CAAC,OAAS,IAEzB,CAAC,MAAQ,QAAA,CAAS,SAAS,GAAK,CAC9B,GAAI,gBAAgB,SAAS,MAAQ,QAAA,CAAS,QAAS,EAAW,EAAE,CAAC,EAAG,EAAG,KAAO,MAAQ,QAAA,CAAS,OAAO,EAC1G,KAAM,qBAAqB,cAAc,MAAQ,QAAA,CAAS,QAAS,EAAW,GAAI,CAAC,EACnF,KAAM,EACN,SAAU,EACZ,EACA,EAAK,YAAY,CAAI,MAChB,CACL,GAAS,EACT,EAAK,aAAa,OAAQ,EAAW,EAAE,CAAC,OAAS,IAAM,UAAY,SAAS,EAC5E,EAAK,aAAa,YAAa,SAAS,EACxC,IAAI,EAgCJ,GA9BI,EAAW,EAAE,CAAC,EAAE,IAAM,GAexB,EAAU,KACV,EAAI,OAfJ,EAAW,OACX,EAAU,OACV,EAAI,gBAAgB,SAAS,MAAQ,QAAA,CAAS,QAAS,EAAW,EAAE,CAAC,EAAG,EAAG,MAAO,MAAQ,QAAA,CAAS,OAAO,EAC1G,EAAW,gBAAgB,EAC3B,EAAW,SAAS,QAAQ,EAC5B,EAAS,aAAa,KAAM,CAAQ,EACpC,EAAU,SAAS,cAAc,EACjC,EAAQ,aAAa,WAAY,OAAO,EACxC,EAAQ,aAAa,KAAM,eAAe,EAC1C,EAAQ,aAAa,SAAU,GAAG,EAClC,EAAS,YAAY,CAAO,EAC5B,EAAK,YAAY,CAAQ,EACzB,EAAK,aAAa,SAAU,EAAW,EAAE,CAAC,OAAS,IAAM,UAAY,SAAS,GAOhF,CAAC,MAAQ,QAAA,CAAS,WAAW,GAAK,CAChC,KAAM,EACH,IACH,MAAO,EACP,SAAU,GACV,aAAc,GACd,SAAU,EACV,WAAY,CACd,EAEI,EAAW,EAAE,CAAC,OAAS,IAAK,CAC9B,EAAO,EAAa,OACpB,IAAI,GAAI,SAAS,GAAG,EAEpB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,GAAE,YAAY,EAAa,EAAE,EAG/B,IAAI,EAAO,SAAS,MAAM,EAC1B,EAAK,aAAa,YAAa,OAAO,EACtC,EAAK,aAAa,KAAM,EAAU,IAAM,CAAK,EAC7C,EAAK,YAAY,CAAI,EACrB,EAAK,YAAY,CAAI,EACrB,GAAE,aAAa,OAAQ,OAAS,aAAe,IAAM,EAAU,IAAM,EAAQ,GAAG,EAChF,EAAa,OAAS,EACtB,EAAa,KAAK,EAAC,CACrB,MACE,EAAa,KAAK,CAAI,EAGpB,EAAW,EAAE,CAAC,KAAO,EAAE,MAAQ,QAAA,CAAS,YAC1C,CAAC,MAAQ,QAAA,CAAS,UAAY,KAAK,qBAAqB,GAI1D,CAAC,MAAQ,QAAA,CAAS,SAAS,GAAK,CAC9B,KAAM,EACN,SAAU,GACV,GAAI,gBAAgB,SAAS,MAAQ,QAAA,CAAS,QAAS,EAAW,EAAE,CAAC,EAAG,EAAG,KAAO,MAAQ,QAAA,CAAS,OAAO,EAC1G,KAAM,qBAAqB,cAAc,MAAQ,QAAA,CAAS,QAAS,EAAW,GAAI,CAAC,EACnF,QAAS,CACX,GAEM,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,KAAK,GACtC,KAAK,SAAS,EAAW,IAAK,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,KAAK,GAAI,MAAQ,QAAA,CAAS,SAAS,EAAE,CAEpG,CAMF,IAHA,CAAC,MAAQ,QAAA,CAAS,YAAc,SAAS,CAAQ,EACjD,EAAM,EAAa,OAEd,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,YAAY,YAAY,EAAa,EAAE,EAGvD,EAAQ,KACT,MAAQ,QAAA,CAAS,YAAY,aAAa,KAAM,CAAO,GAEvD,MAAQ,QAAA,CAAS,QAAQ,cAAc,aAAa,EAAS,OAAS,aAAe,IAAM,EAAU,GAAG,EAEzG,EAAK,aAAa,MAAQ,QAAA,CAAS,WAAW,IAG3C,MAAQ,QAAA,CAAS,SAAS,SAC5B,MAAQ,QAAA,CAAS,QAAQ,uBAAuB,MAAQ,OAAO,CAEpE,CAEA,YAAY,UAAU,gBAAkB,SAAU,EAAK,CACrD,OAAQ,MAAQ,QAAA,CAAS,SAAS,EAAI,CAAC,IACzC,EAEA,YAAY,UAAU,YAAc,SAAU,EAAc,CAC1D,IAAI,GAAY,MAAQ,QAAA,CAAS,QAAQ,eAAe,IACpD,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OAE5C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EASxB,KARK,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,KAAK,MAAQ,IAC7C,KAAK,UAAU,MAAQ,QAAA,CAAS,gBAAgB,IAAK,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,KAAK,GAAI,MAAQ,QAAA,CAAS,SAAS,EAAE,IAGpH,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,GAAG,MAAQ,KAC1C,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,KAAK,aAAa,gBAAiB,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,GAAG,CAAC,GAG/F,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,OAAS,OAC3C,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,WAAa,MAAQ,QAAA,CAAS,QAAQ,eAAe,MAAM,MAAQ,KAClG,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,aAAa,YAAa,EAAS,iBAAiB,CAAC,CAAC,QAAQ,CAAC,GAGlG,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,KAAO,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,EAAE,MAAQ,IAAe,CACjG,IAAI,GAAW,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,OAEzC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,EAAE,EAAI,IACnC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,eAAiB,UACnD,CAAC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,aAAe,SAE9C,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,KAAK,aAAa,SAAU,OAAS,aAAe,KAAO,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,SAAW,GAAG,GAG1I,EAAQ,aAAa,SAAU,EAAE,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,EAAE,CAAC,KAE9D,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,eAAiB,WACnD,CAAC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,aAAe,UAE9C,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,KAAK,aAAa,SAAU,IAAI,IAGjE,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,KAAK,aAAa,gBAAiB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,EAAE,EAAI,CAAC,EAE7G,CAGN,EAEA,YAAY,UAAU,eAAiB,UAAY,CACjD,OAAQ,MAAQ,QAAA,CAAS,WAC3B,EAEA,YAAY,UAAU,qBAAuB,UAAY,CACvD,IAAI,EAAO,QAKX,MAJA,IAAQ,MAAQ,MAAQ,QAAA,CAAS,WAAW,SAAS,EACrD,GAAQ,MAAQ,MAAQ,QAAA,CAAS,WAAW,SAAS,EACrD,GAAQ,OAAS,MAAQ,QAAA,CAAS,WAAW,SAAS,EACtD,GAAQ,OAAS,MAAQ,QAAA,CAAS,WAAW,SAAS,EAAI,IACnD,CACT,EAEA,YAAY,UAAU,SAAW,SAAU,EAAU,EAAW,EAAU,CACxE,IAAI,EAAa,KAAO,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAC7D,EACA,EACE,EAAU,QAEhB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAExB,GAAc,KAAO,EAAU,EAAE,EAAI,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAI,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAShL,GALI,EAAU,GAAK,EAAM,IACvB,GAAc,KAAO,EAAU,EAAE,EAAI,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAI,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,GAAK,IAAM,EAAU,EAAE,EAAE,CAAC,IAI5K,EAAS,WAAa,EAAY,CACpC,IAAI,EAAiB,GAEjB,EAAS,OACP,EAAU,IACZ,EAAiB,EAAS,KAAO,MAAQ,QAAA,CAAS,UAAY,EAAa,GAG7E,EAAS,KAAK,aAAa,IAAK,CAAc,GAGhD,EAAS,SAAW,CACtB,CACF,EAEA,YAAY,UAAU,QAAU,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,QAAU,KAC5B,CAAC,MAAQ,QAAA,CAAS,WAAa,KAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,KAChC,CAAC,MAAQ,QAAA,CAAS,KAAO,KACzB,CAAC,MAAQ,QAAA,CAAS,gBAAkB,IACtC,EAQA,SAAS,kBAAmB,CAAC,CAE7B,iBAAiB,UAAY,CAM3B,cAAe,UAAY,CAEzB,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAE/B,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,KAAK,eAAe,CACtB,EASA,aAAc,SAAU,EAAW,CACjC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,EAOA,YAAa,UAAY,CACvB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAChC,EAOA,eAAgB,UAAY,EACrB,MAAQ,QAAA,CAAS,KAAK,SAAW,IAAA,KACnC,MAAQ,QAAA,CAAS,KAAK,sBAAsB,MAAQ,SAAU,MAAQ,QAAA,CAAS,KAAK,OAAQ,CAAC,CAAC,CAEnG,CACF,EAQA,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAY,CAMvB,UAAW,UAAY,CAErB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAElC,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,EAEvC,CAAC,MAAQ,QAAA,CAAS,KAAO,EAC3B,EAYA,kBAAmB,SAAU,EAAK,EAAW,CAC3C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,kBAAkB,OAE9C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACpB,IAAc,MAAQ,QAAA,CAAS,YAAc,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,WAAa,gBACjG,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,SAAS,GAE3C,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,OACzC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,QAAA,CAAS,KAAO,IAIjC,EACA,mBAAoB,SAAU,EAAM,EAC7B,MAAQ,QAAA,CAAS,kBAAkB,QAAQ,CAAI,IAAM,KACvD,MAAQ,QAAA,CAAS,kBAAkB,KAAK,CAAI,CAEjD,CACF,EAGA,SAAS,kBAAmB,CAAC,CAE7B,iBAAiB,UAAY,CAC3B,cAAe,UAAY,CACzB,CAAC,MAAQ,QAAA,CAAS,eAAiB,CACjC,OAAQ,MAAQ,QAAA,CAAS,KAAK,GAAK,yBAAyB,qBAAqB,MAAQ,SAAU,MAAQ,QAAA,CAAS,KAAK,GAAI,MAAQ,OAAO,EAAI,CAC9I,EAAG,CACL,EACA,QAAS,GACT,OAAQ,GACR,IAAK,IAAI,MACX,GAEK,MAAQ,QAAA,CAAS,KAAK,KACzB,CAAC,MAAQ,QAAA,CAAS,eAAe,MAAM,aAAe,KAInD,MAAQ,QAAA,CAAS,KAAK,EAE7B,EACA,gBAAiB,UAAY,CAI3B,GAHA,CAAC,MAAQ,QAAA,CAAS,eAAe,QAAU,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,OAAS,MAAQ,QAAA,CAAS,cAC7G,CAAC,MAAQ,QAAA,CAAS,eAAe,SAAW,MAAQ,QAAA,CAAS,eAAe,MAAM,OAAS,MAAQ,QAAA,CAAS,eAEvG,MAAQ,QAAA,CAAS,UAAW,CAC/B,IAAI,EACA,GAAY,MAAQ,QAAA,CAAS,eAAe,IAC5C,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,UAAU,OAEtC,GAAI,EAAE,MAAQ,QAAA,CAAS,eAAe,QACpC,KAAO,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,eAAe,MAAM,KAAM,CAC5D,CAAC,MAAQ,QAAA,CAAS,eAAe,QAAU,GAC3C,KACF,CAEA,GAAK,CACP,CAGF,IAAK,MAAQ,QAAA,CAAS,eAAe,QAInC,IAHA,GAAO,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,MAC/C,EAAS,eAAe,CAAG,EAEtB,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAO,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,eAAe,MAAM,EAAE,MAC5D,EAAS,UAAU,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,IAAK,EAAI,IAAK,EAAI,IAAK,EAAI,IAAK,EAAI,IAAK,EAAI,GAAG,CAG7J,CACF,EACA,cAAe,SAAU,EAAI,CAC3B,IAAI,EAAa,CAAC,EAClB,EAAW,MAAM,MAAQ,QAAA,CAAS,cAAc,EAIhD,IAHA,IAAI,EAAO,GACP,GAAQ,MAAQ,QAAA,CAAS,KAEtB,GACD,EAAK,gBACH,EAAK,KAAK,SACZ,EAAW,OAAO,EAAG,EAAG,EAAK,cAAc,EAG7C,EAAO,EAAK,MAEZ,EAAO,GAIX,IAAI,EACA,EAAM,EAAW,OACjB,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAQ,EAAW,EAAE,CAAC,IAAI,kBAAkB,EAAG,EAAG,CAAC,EAEnD,EAAK,CAAC,EAAG,GAAK,EAAM,GAAI,EAAG,GAAK,EAAM,GAAI,CAAC,EAG7C,OAAO,CACT,EACA,QAAS,IAAI,MACf,EAEA,SAAS,mBAAoB,CAAC,CAE9B,kBAAkB,UAAY,CAC5B,eAAgB,UAAY,CAE1B,CAAC,MAAQ,QAAA,CAAS,UAAY,GAE9B,CAAC,MAAQ,QAAA,CAAS,OAAS,GAE3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAElC,CAAC,MAAQ,QAAA,CAAS,qBAAuB,CAAC,CAC5C,EACA,uBAAwB,SAAU,EAAW,EACtC,MAAQ,QAAA,CAAS,qBAAqB,QAAQ,CAAS,IAAM,KAC/D,MAAQ,QAAA,CAAS,qBAAqB,KAAK,CAAS,CAEzD,EACA,0BAA2B,SAAU,EAAW,EACzC,MAAQ,QAAA,CAAS,qBAAqB,QAAQ,CAAS,IAAM,KAC/D,MAAQ,QAAA,CAAS,qBAAqB,QAAQ,MAAQ,QAAA,CAAS,qBAAqB,QAAQ,CAAS,EAAG,CAAC,CAE9G,EACA,uBAAwB,SAAU,EAAK,CACrC,KAAK,iBAAiB,CAAG,CAC3B,EACA,kBAAmB,UAAY,EACxB,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,GAAK,EAC5C,EAAE,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,WAAW,aAAa,oBAChF,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,KAAK,KAAK,IAEF,MAAQ,QAAA,CAAS,gBAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,KAAK,KAAK,EAEd,EAUA,iBAAkB,SAAU,EAAK,EAC1B,MAAQ,QAAA,CAAS,KAAK,IAAM,MAAQ,QAAA,CAAS,KAAK,IAAM,IAAQ,MAAQ,QAAA,CAAS,KAAK,IAAM,MAAQ,QAAA,CAAS,KAAK,GAAK,GACrH,MAAQ,QAAA,CAAS,YAAc,KAClC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,KAAK,KAAK,IAEF,MAAQ,QAAA,CAAS,YAAc,KACzC,CAAC,MAAQ,QAAA,CAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,QAAA,CAAS,UAAY,GAC9B,KAAK,KAAK,EAEd,EACA,iBAAkB,UAAY,CAC5B,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,qBAAqB,OAEjD,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,qBAAqB,EAAE,CAAC,aAAa,MAAQ,QAAA,CAAS,aAAa,CAKzF,EACA,iBAAkB,UAAY,CAC5B,MAAO,CACL,IAAK,EACL,KAAM,EACN,MAAO,IACP,OAAQ,GACV,CACF,EACA,aAAc,UAAY,CAQxB,OAPK,MAAQ,QAAA,CAAS,KAAK,KAAO,EACzB,CACL,GAAI,MAAQ,QAAA,CAAS,KAAK,SAAS,MACnC,GAAI,MAAQ,QAAA,CAAS,KAAK,SAAS,MACrC,EAGK,CACL,GAAI,MAAQ,QAAA,CAAS,KAAK,MAC1B,GAAI,MAAQ,QAAA,CAAS,KAAK,MAC5B,CACF,CACF,EAGA,SAAS,sBAAuB,CAAC,EAEhC,UAAY,CA4DX,gBAAgB,CAAC,kBAAmB,oBAAoB,CA1DtD,YAAa,SAAU,EAAM,EAAY,EAAM,CAC7C,KAAK,UAAU,EACf,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,KAAK,cAAc,EAAM,EAAY,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,MAAQ,QAAA,CAAS,SAAW,EAAE,MAAQ,QAAA,CAAS,YAAc,MAAQ,QAAA,CAAS,eAAgB,CAClG,IAAI,GAAQ,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,aAC9D,EAAK,MAAM,QAAU,OACrB,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC7B,CACF,EACA,KAAM,UAAY,CAChB,IAAK,MAAQ,QAAA,CAAS,WAAa,EAAE,MAAQ,QAAA,CAAS,cAAe,CACnE,GAAI,EAAE,MAAQ,QAAA,CAAS,KAAK,GAAI,CAC9B,IAAI,GAAQ,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,aAC9D,EAAK,MAAM,QAAU,OACvB,CAEA,CAAC,MAAQ,QAAA,CAAS,OAAS,GAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EACpC,CACF,EACA,YAAa,UAAY,EAGlB,MAAQ,QAAA,CAAS,KAAK,KAAO,MAAQ,QAAA,CAAS,SAInD,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GAEnB,MAAQ,QAAA,CAAS,gBACpB,CAAC,MAAQ,QAAA,CAAS,cAAgB,IAEtC,EACA,mBAAoB,UAAY,CAAC,EACjC,aAAc,SAAU,EAAK,CAC3B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,KAAK,uBAAuB,CAAG,EAC/B,KAAK,kBAAkB,GAAM,MAAQ,QAAA,CAAS,SAAS,EACvD,KAAK,kBAAkB,CACzB,EACA,QAAS,UAAY,CACnB,CAAC,MAAQ,QAAA,CAAS,UAAY,KAC9B,KAAK,mBAAmB,CAC1B,CAE+D,CAAC,CAAC,EAAG,oBAAoB,CAC5F,EAAA,CAAG,EAIH,SAAS,iBAAiB,EAAS,EAAU,CAC3C,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,IAAM,CAC1B,CAIA,SAAS,aAAa,EAAM,EAAO,CACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,GAC9B,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,IAAM,EACxB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAK,KAAO,GACvC,CAAC,MAAQ,QAAA,CAAS,MAAQ,SAAS,MAAM,EACzC,CAAC,MAAQ,QAAA,CAAS,OAAS,IAC7B,CAEA,aAAa,UAAU,MAAQ,UAAY,CACzC,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAC3B,EAEA,SAAS,aAAa,EAAc,EAAO,EAAO,CAChD,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,IAAM,EAIxB,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,CAAC,EAAM,EAKxC,IAHA,IAAI,EAAI,EACJ,EAAM,EAAa,OAEhB,EAAI,GAAK,CACd,GAAI,EAAa,EAAE,CAAC,OAAO,kBAAkB,OAAQ,CACnD,CAAC,MAAQ,QAAA,CAAS,YAAc,GAChC,KACF,CAEA,GAAK,CACP,CACF,CAEA,aAAa,UAAU,cAAgB,UAAY,CACjD,CAAC,MAAQ,QAAA,CAAS,YAAc,EAClC,EAIA,SAAS,iBAAiB,EAAQ,EAAI,EAAW,CAC/C,CAAC,MAAQ,QAAA,CAAS,UAAY,CACpB,SACJ,KACO,WACb,EACA,CAAC,MAAQ,QAAA,CAAS,SAAW,CAAC,EAC9B,CAAC,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,UAAU,OAAO,kBAAkB,SAAW,MAAQ,QAAA,CAAS,UAAU,GAAG,gBAAgB,MAChJ,CAIA,SAAS,mBAAmB,EAAM,EAAM,EAAS,CAC/C,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,yBAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,IAAI,aAAa,EAAM,EAAK,GAAK,CAAC,EAAG,MAAO,MAAQ,OAAO,EACjF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAK,MAAQ,OAAO,EACnF,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,WACtD,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,kBAAkB,EAG9D,SAAS,iBAAiB,EAAM,EAAM,EAAS,CAC7C,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,yBAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAK,MAAQ,OAAO,EACnF,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAC5B,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,gBAAgB,EAI5D,SAAS,yBAAyB,EAAM,EAAM,EAAS,CACrD,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,yBAC/C,KAAK,iBAAiB,EAAM,EAAM,CAAO,CAC3C,CAEA,yBAAyB,UAAU,iBAAmB,SAAU,EAAM,EAAM,EAAS,CACnF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,IAAM,MAAQ,OAAO,EAC3B,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,GAAK,CAC5D,EAAG,CACL,EAAG,EAAG,UAAW,MAAQ,OAAO,EAChC,CAAC,MAAQ,QAAA,CAAS,EAAI,IAAI,iBAAiB,EAAM,EAAK,EAAG,MAAQ,OAAO,EACxE,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,EAC3B,KAAK,gBAAgB,EAAQ,MAAO,CAAI,EACxC,KAAK,mBAAmB,EAAM,CAAO,EACrC,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,WACtD,EAEA,yBAAyB,UAAU,gBAAkB,SAAU,EAAa,EAAM,CAChF,IAAI,EAAa,gBAAgB,EAC7B,EAAQ,SAAS,EAAK,IAAM,EAAI,iBAAmB,gBAAgB,EACvE,EAAM,aAAa,KAAM,CAAU,EACnC,EAAM,aAAa,eAAgB,KAAK,EACxC,EAAM,aAAa,gBAAiB,gBAAgB,EACpD,IAAI,EAAQ,CAAC,EACT,EACA,EACA,EACG,EAAK,EAAE,EAAI,EAElB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAO,SAAS,MAAM,EACtB,EAAM,YAAY,CAAI,EACtB,EAAM,KAAK,CAAI,EAGjB,EAAY,aAAa,EAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAM,EAAa,GAAG,EAC7G,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,IAAM,CAC1B,EAEA,yBAAyB,UAAU,mBAAqB,SAAU,EAAM,EAAS,CAC/E,IAAK,MAAQ,QAAA,CAAS,EAAE,aAAe,EAAE,MAAQ,QAAA,CAAS,EAAE,aAAc,CACxE,IAAI,EACA,EACA,EACA,EAAO,SAAS,MAAM,EACtB,EAAc,SAAS,MAAM,EACjC,EAAK,YAAY,CAAW,EAC5B,IAAI,EAAY,gBAAgB,EAC5B,EAAS,gBAAgB,EAC7B,EAAK,aAAa,KAAM,CAAM,EAC9B,IAAI,EAAS,SAAS,EAAK,IAAM,EAAI,iBAAmB,gBAAgB,EACxE,EAAO,aAAa,KAAM,CAAS,EACnC,EAAO,aAAa,eAAgB,KAAK,EACzC,EAAO,aAAa,gBAAiB,gBAAgB,EACrD,EAAO,EAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAI,EAAK,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,OAAS,EAAK,EAAE,EAAE,EAAE,OAC7D,IAAI,GAAS,MAAQ,QAAA,CAAS,MAE9B,IAAK,EAAI,EAAK,EAAE,EAAI,EAAG,EAAI,EAAM,GAAK,EACpC,EAAO,SAAS,MAAM,EACtB,EAAK,aAAa,aAAc,kBAAkB,EAClD,EAAO,YAAY,CAAI,EACvB,EAAM,KAAK,CAAI,EAGjB,EAAY,aAAa,EAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAM,EAAY,GAAG,EAC5G,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,IAAM,EACxB,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,EAAQ,OAAS,CACnB,CACF,EAEA,gBAAgB,CAAC,wBAAwB,EAAG,wBAAwB,EAGpE,SAAS,2BAA2B,EAAM,EAAM,EAAS,CACvD,KAAK,6BAA6B,CAAI,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,yBAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACpF,CAAC,MAAQ,QAAA,CAAS,EAAI,IAAI,aAAa,EAAM,EAAK,GAAK,CAAC,EAAG,MAAO,MAAQ,OAAO,EACjF,KAAK,iBAAiB,EAAM,EAAM,CAAO,EACzC,CAAC,MAAQ,QAAA,CAAS,YAAc,CAAC,EAAE,MAAQ,QAAA,CAAS,WACtD,CAEA,gBAAgB,CAAC,yBAA0B,wBAAwB,EAAG,0BAA0B,EAKhG,SAAS,gBAAiB,CACxB,CAAC,MAAQ,QAAA,CAAS,GAAK,CAAC,EACxB,CAAC,MAAQ,QAAA,CAAS,aAAe,CAAC,EAClC,CAAC,MAAQ,QAAA,CAAS,GAAK,SAAS,GAAG,CACrC,CAMA,IAAI,oBAAsB,UAAY,CACpC,IAAI,EAAkB,IAAI,OAEtB,EAAgB,IAAI,OAEpB,EAAK,CACe,sBACxB,EAEA,SAAS,EAAqB,EAAM,CAClC,OAAQ,EAAK,GAAb,CACE,IAAK,KACH,OAAO,EAET,IAAK,KACH,OAAO,EAET,IAAK,KACH,OAAO,EAET,IAAK,KACH,OAAO,EAET,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAO,EAET,IAAK,KACH,OAAO,EAET,QACE,OAAO,IACX,CACF,CAEA,SAAS,EAAuB,EAAW,EAAU,EAAc,EAC7D,GAAgB,EAAS,UAAU,GAAG,OACxC,EAAS,UAAU,UAAU,aAAa,UAAW,EAAS,UAAU,GAAG,CAAC,GAG1E,GAAgB,EAAS,UAAU,OAAO,OAC5C,EAAS,UAAU,UAAU,aAAa,YAAa,EAAS,UAAU,OAAO,EAAE,QAAQ,CAAC,CAEhG,CAEA,SAAS,EAAW,EAAW,EAAU,EAAc,CACrD,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,EAAO,EAAS,OAAO,OACvB,EAAM,EAAS,IACf,EACA,EACA,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAG5B,GAFA,EAAS,EAAS,GAAG,MAAQ,EAEzB,EAAS,OAAO,EAAE,CAAC,IAAM,EAAK,CAKhC,IAJA,EAAM,EAAc,MAAM,EAC1B,EAAa,EAAM,EAAS,OAAO,EAAE,CAAC,IACtC,EAAI,EAAS,aAAa,OAAS,EAE5B,CAAC,GAAU,EAAa,GAC7B,EAAS,EAAS,aAAa,EAAE,CAAC,OAAO,MAAQ,EACjD,IACA,IAGF,GAAI,EAIF,IAHA,EAAa,EAAM,EAAS,OAAO,EAAE,CAAC,IACtC,EAAI,EAAS,aAAa,OAAS,EAE5B,EAAa,GAClB,EAAQ,EAAS,aAAa,EAAE,CAAC,OAAO,EAAE,MAC1C,EAAI,UAAU,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,GAAG,EAClL,IACA,GAGN,KACE,GAAM,EAMR,GAHA,EAAQ,EAAS,GAAG,MACpB,EAAO,EAAM,QAET,EAAQ,CAGV,IAFA,EAAwB,GAEnB,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAY,EAAM,OAAO,GAErB,GAAa,EAAU,UACzB,GAAyB,iBAAiB,EAAW,EAAU,QAAS,EAAU,EAAG,CAAG,GAI5F,EAAS,OAAO,GAAK,CACvB,KACE,GAAwB,EAAS,OAAO,GAG1C,EAAS,OAAO,EAAE,CAAC,GAAK,EAAU,KAAO,GAAO,GAAK,EACrD,EAAS,OAAO,EAAE,CAAC,KAAO,GAAU,EAAS,OAAO,EAAE,CAAC,IACzD,CACF,CAEA,SAAS,EAAW,EAAW,EAAU,EAAc,CACrD,IAAI,EAAY,EAAS,OAErB,EAAS,EAAE,MAAQ,IACrB,EAAU,MAAM,aAAa,OAAQ,OAAS,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,GAAG,GAG5I,EAAS,EAAE,MAAQ,IACrB,EAAU,MAAM,aAAa,eAAgB,EAAS,EAAE,CAAC,CAE7D,CAEA,SAAS,EAAqB,EAAW,EAAU,EAAc,CAC/D,EAAe,EAAW,EAAU,CAAY,EAChD,EAAa,EAAW,EAAU,CAAY,CAChD,CAEA,SAAS,EAAe,EAAW,EAAU,EAAc,CACzD,IAAI,EAAQ,EAAS,GACjB,EAAa,EAAS,EAAE,YACxB,EAAM,EAAS,EAAE,EACjB,EAAM,EAAS,EAAE,EAErB,GAAI,EAAS,EAAE,MAAQ,EAAc,CACnC,IAAI,EAAO,EAAU,KAAO,KAAO,eAAiB,iBACpD,EAAS,MAAM,MAAM,aAAa,EAAM,EAAS,EAAE,CAAC,CACtD,CAEA,GAAI,EAAS,EAAE,MAAQ,EAAc,CACnC,IAAI,EAAQ,EAAU,IAAM,EAAI,KAAO,KACnC,EAAQ,IAAU,KAAO,KAAO,KACpC,EAAM,aAAa,EAAO,EAAI,EAAE,EAChC,EAAM,aAAa,EAAO,EAAI,EAAE,EAE5B,GAAc,CAAC,EAAS,EAAE,eAC5B,EAAS,GAAG,aAAa,EAAO,EAAI,EAAE,EACtC,EAAS,GAAG,aAAa,EAAO,EAAI,EAAE,EAE1C,CAEA,IAAI,EACA,EACA,EACA,EAEJ,GAAI,EAAS,EAAE,OAAS,EAAc,CACpC,EAAQ,EAAS,IACjB,IAAI,EAAU,EAAS,EAAE,EAGzB,IAFA,EAAM,EAAM,OAEP,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,EAAM,GACb,EAAK,aAAa,SAAU,EAAQ,EAAI,GAAK,GAAG,EAChD,EAAK,aAAa,aAAc,OAAS,EAAQ,EAAI,EAAI,GAAK,IAAM,EAAQ,EAAI,EAAI,GAAK,IAAM,EAAQ,EAAI,EAAI,GAAK,GAAG,CAE3H,CAEA,GAAI,IAAe,EAAS,EAAE,OAAS,GAAe,CACpD,IAAI,EAAU,EAAS,EAAE,EAUzB,IARA,AAGE,EAHE,EAAS,EAAE,aACL,EAAS,IAET,EAAS,IAGnB,EAAM,EAAM,OAEP,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,EAAM,GAER,EAAS,EAAE,cACd,EAAK,aAAa,SAAU,EAAQ,EAAI,GAAK,GAAG,EAGlD,EAAK,aAAa,eAAgB,EAAQ,EAAI,EAAI,EAAE,CAExD,CAEA,GAAI,EAAU,IAAM,GACd,EAAS,EAAE,MAAQ,KACrB,EAAM,aAAa,KAAM,EAAI,EAAE,EAC/B,EAAM,aAAa,KAAM,EAAI,EAAE,EAE3B,GAAc,CAAC,EAAS,EAAE,eAC5B,EAAS,GAAG,aAAa,KAAM,EAAI,EAAE,EACrC,EAAS,GAAG,aAAa,KAAM,EAAI,EAAE,QAGpC,CACL,IAAI,EAWJ,IATI,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAQ,KACxC,EAAM,KAAK,MAAc,EAAI,GAAK,EAAI,KAAI,GAAc,EAAI,GAAK,EAAI,KAAI,CAAE,EAC3E,EAAM,aAAa,IAAK,CAAG,EAEvB,GAAc,CAAC,EAAS,EAAE,cAC5B,EAAS,GAAG,aAAa,IAAK,CAAG,GAIjC,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAQ,EAAc,CACzE,AACE,IAAM,KAAK,MAAc,EAAI,GAAK,EAAI,KAAI,GAAc,EAAI,GAAK,EAAI,KAAI,CAAE,EAG7E,IAAI,EAAM,KAAK,MAAM,EAAI,GAAK,EAAI,GAAI,EAAI,GAAK,EAAI,EAAE,EACjD,EAAU,EAAS,EAAE,EAErB,GAAW,EACb,EAAU,IACD,GAAW,KACpB,EAAU,MAGZ,IAAI,EAAO,EAAM,EACb,GAAI,KAAK,IAAI,EAAM,EAAS,EAAE,CAAC,EAAI,EAAO,EAAI,GAC9C,EAAI,KAAK,IAAI,EAAM,EAAS,EAAE,CAAC,EAAI,EAAO,EAAI,GAClD,EAAM,aAAa,KAAM,EAAC,EAC1B,EAAM,aAAa,KAAM,CAAC,EAEtB,GAAc,CAAC,EAAS,EAAE,eAC5B,EAAS,GAAG,aAAa,KAAM,EAAC,EAChC,EAAS,GAAG,aAAa,KAAM,CAAC,EAEpC,CAEF,CACF,CAEA,SAAS,EAAa,EAAW,EAAU,EAAc,CACvD,IAAI,EAAY,EAAS,MACrB,EAAI,EAAS,EAEb,IAAM,EAAE,MAAQ,IAAiB,EAAE,UACrC,EAAU,MAAM,aAAa,mBAAoB,EAAE,OAAO,EAC1D,EAAU,MAAM,aAAa,oBAAqB,EAAE,WAAW,EAAE,GAG/D,EAAS,IAAM,EAAS,EAAE,MAAQ,IACpC,EAAU,MAAM,aAAa,SAAU,OAAS,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,GAAG,GAG9I,EAAS,EAAE,MAAQ,IACrB,EAAU,MAAM,aAAa,iBAAkB,EAAS,EAAE,CAAC,GAGzD,EAAS,EAAE,MAAQ,KACrB,EAAU,MAAM,aAAa,eAAgB,EAAS,EAAE,CAAC,EAErD,EAAU,QACZ,EAAU,OAAO,aAAa,eAAgB,EAAS,EAAE,CAAC,EAGhE,CAEA,OAAO,CACT,EAAE,EAIF,SAAS,uBAAwB,CAC/B,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,CAAC,EAClC,CAAC,MAAQ,QAAA,CAAS,oBAAsB,CAC1C,CAEA,sBAAsB,UAAY,CAChC,qBAAsB,SAAU,EAAY,CAC1C,IAAI,EACA,EAAM,EAAW,OACjB,EAAM,IAEV,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAO,EAAW,EAAE,CAAC,UAAU,IAAM,IAGvC,IAAI,GAAY,MAAQ,QAAA,CAAS,UAAU,GAa3C,OAXK,IACH,EAAW,CACT,WAAY,CAAC,CAAC,CAAC,OAAO,CAAU,EAChC,eAAgB,IAAI,OACpB,KAAM,EACR,EACA,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAO,GAElC,MAAQ,QAAA,CAAS,aAAa,KAAK,CAAQ,GAGvC,CACT,EACA,gBAAiB,SAAU,EAAU,EAAc,CAKjD,IAJA,IAAI,EAAI,EACJ,EAAM,EAAS,WAAW,OAC1B,EAAO,EAEJ,EAAI,GAAO,CAAC,GAAc,CAC/B,GAAI,EAAS,WAAW,EAAE,CAAC,UAAU,OAAO,KAAM,CAChD,EAAO,GACP,KACF,CAEA,GAAK,CACP,CAEA,GAAI,EAAM,CACR,IAAI,EAGJ,IAFA,EAAS,eAAe,MAAM,EAEzB,EAAI,EAAM,EAAG,GAAK,EAAG,IACxB,EAAQ,EAAS,WAAW,EAAE,CAAC,UAAU,OAAO,EAAE,MAClD,EAAS,eAAe,UAAU,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,GAAI,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,IAAK,EAAM,GAAG,CAE1M,CAEA,EAAS,KAAO,CAClB,EACA,iBAAkB,SAAU,EAAc,CACxC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,aAAa,OAEzC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,KAAK,iBAAiB,MAAQ,QAAA,CAAS,aAAa,GAAI,CAAY,CAExE,EACA,UAAW,UAAY,CAErB,MADA,CAAC,MAAQ,QAAA,CAAS,qBAAuB,EAClC,KAAO,MAAQ,QAAA,CAAS,mBACjC,CACF,EAGA,SAAS,YAAY,EAAS,EAAM,EAAQ,EAAmB,CAC7D,CAAC,MAAQ,QAAA,CAAS,aAAe,CAAC,EAClC,CAAC,MAAQ,QAAA,CAAS,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACxC,IAAI,EAAK,EAEL,EAAK,KAAO,KACd,EAAK,EACI,EAAK,KAAO,KACrB,EAAK,EACI,EAAK,KAAO,OACrB,EAAK,GAGP,CAAC,MAAQ,QAAA,CAAS,GAAK,qBAAqB,aAAa,EAAS,EAAM,EAAI,CAAO,EACnF,IAAI,EACA,EAAM,EAAO,OACb,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACnB,EAAO,EAAE,CAAC,SACb,EAAc,CACZ,WAAY,EAAkB,qBAAqB,EAAO,EAAE,CAAC,UAAU,EACvE,QAAS,CAAC,CACZ,GAEC,MAAQ,QAAA,CAAS,aAAa,KAAK,CAAW,EAE/C,EAAO,EAAE,CAAC,SAAS,KAAK,CAAW,EAGzC,CAEA,YAAY,UAAU,cAAgB,aAAa,UAAU,cAI7D,SAAS,aAAc,CAAC,CAExB,YAAY,UAAY,CACtB,WAAY,UAAY,CACtB,GAAI,EAAE,MAAQ,QAAA,CAAS,KAAK,QAC1B,MAAO,GAMT,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,KAAK,gBAAgB,OAE1C,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,KAAK,gBAAgB,EAAE,CAAC,OAAS,MAAQ,MAAQ,QAAA,CAAS,KAAK,gBAAgB,EAAE,CAAC,KAAO,GAC7G,MAAO,GAGT,GAAK,CACP,CAEA,MAAO,EACT,EACA,gBAAiB,UAAY,CAC3B,CAAC,MAAQ,QAAA,CAAS,eAAiB,yBAAyB,MAAQ,OAAO,GAEtE,MAAQ,QAAA,CAAS,KAAK,UAAY,MAAQ,QAAA,CAAS,cACrD,MAAQ,QAAA,CAAS,eAAe,uBAAuB,MAAQ,QAAA,CAAS,WAAW,EAGtF,IAAI,EAAmB,2BAA2B,uBAAuB,MAAQ,SAAU,MAAQ,QAAA,CAAS,cAAc,GAEzH,MAAQ,QAAA,CAAS,eAAe,yBAAyB,CAAgB,GAErE,MAAQ,QAAA,CAAS,KAAK,KAAO,IAAM,MAAQ,QAAA,CAAS,KAAK,GAC5D,CAAC,MAAQ,QAAA,CAAS,cAAgB,wBAAwB,MAAQ,OAAO,GAC/D,MAAQ,QAAA,CAAS,KAAK,KAAO,GACvC,CAAC,MAAQ,QAAA,CAAS,eAAe,eAAiB,0BAA0B,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,cAAc,EACtK,CAAC,MAAQ,QAAA,CAAS,eAAe,SAAW,MAAQ,QAAA,CAAS,eAAe,iBAClE,MAAQ,QAAA,CAAS,KAAK,KAAO,IACvC,CAAC,MAAQ,QAAA,CAAS,eAAe,cAAgB,wBAAwB,MAAQ,OAAO,EACxF,CAAC,MAAQ,QAAA,CAAS,eAAe,MAAQ,MAAQ,QAAA,CAAS,eAAe,cAE7E,EACA,aAAc,UAAY,CACxB,IAAI,EAAiB,cAAc,MAAQ,QAAA,CAAS,KAAK,EAAE,EACvD,GAAQ,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,aAC9D,EAAK,MAAM,kBAAoB,CACjC,EACA,aAAc,SAAU,EAAM,EAAY,EAAM,CAC9C,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,gBAAgB,GAEtC,MAAQ,QAAA,CAAS,KAAK,KAC1B,CAAC,MAAQ,QAAA,CAAS,KAAK,GAAK,GAI9B,CAAC,MAAQ,QAAA,CAAS,eAAiB,IAAI,gBAAgB,MAAQ,QAAA,CAAS,KAAM,MAAQ,SAAU,MAAQ,QAAA,CAAS,iBAAiB,CACpI,EACA,QAAS,UAAY,CACnB,OAAQ,MAAQ,QAAA,CAAS,IAC3B,EACA,iBAAkB,UAAY,CAAC,CACjC,EAGA,SAAS,YAAY,EAAM,EAAY,EAAM,CAC3C,KAAK,UAAU,EACf,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,KAAK,UAAU,EACf,KAAK,cAAc,EAAM,EAAY,CAAI,EACzC,KAAK,cAAc,CACrB,CAEA,YAAY,UAAU,aAAe,SAAU,EAAK,CAClD,KAAK,kBAAkB,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,CAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,SAAS,GAAG,CAC/C,EACA,wBAAyB,UAAY,CACnC,CAAC,MAAQ,QAAA,CAAS,aAAe,SAAS,GAAG,EAC7C,CAAC,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,aACzD,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,aACpD,CAAC,MAAQ,QAAA,CAAS,aAAe,GACjC,IAAI,EAAqB,KAErB,EACA,EACA,EAEJ,IAAK,MAAQ,QAAA,CAAS,KAAK,QACpB,MAAQ,QAAA,CAAS,KAAK,IAAM,IAAM,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAG,CAEpE,IAAI,EAAS,SAAS,MAAM,EAC5B,EAAO,aAAa,MAAO,MAAQ,QAAA,CAAS,OAAO,EACnD,EAAO,aAAa,aAAc,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAI,YAAc,OAAO,EAEvF,EAAO,aAAa,MAAQ,QAAA,CAAS,YAAY,EACjD,EAAqB,GAEpB,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,CAAM,EAGhD,CAAC,eAAe,WAAa,MAAQ,QAAA,CAAS,KAAK,IAAM,IAE3D,EAAO,aAAa,YAAa,WAAW,EAC5C,EAAQ,gBAAgB,EACxB,EAAM,eAAe,aAAa,CAAK,GAEtC,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,CAAG,EAEjD,EAAI,YAAY,eAAe,6BAA6B,CAAC,EAC7D,EAAK,SAAS,GAAG,EACjB,EAAG,aAAa,MAAQ,QAAA,CAAS,YAAY,EAC7C,EAAqB,EACrB,EAAO,YAAY,CAAE,EACrB,EAAG,aAAa,SAAU,OAAS,aAAe,IAAM,EAAQ,GAAG,EAEvE,MAAO,IAAK,MAAQ,QAAA,CAAS,KAAK,IAAM,EAAG,CAEzC,IAAI,EAAY,SAAS,MAAM,EAC/B,EAAU,aAAa,MAAO,MAAQ,QAAA,CAAS,OAAO,EACtD,EAAU,aAAa,YAAa,OAAO,EAC3C,IAAI,EAAc,SAAS,GAAG,EAC9B,EAAU,YAAY,CAAW,EACjC,EAAQ,gBAAgB,EACxB,EAAM,eAAe,aAAa,CAAK,EAUvC,IAAI,EAAQ,SAAS,qBAAqB,EAC1C,EAAM,aAAa,KAAM,eAAe,EACxC,EAAI,YAAY,CAAK,EACrB,IAAI,EAAS,SAAS,SAAS,EAC/B,EAAO,aAAa,OAAQ,OAAO,EACnC,EAAO,aAAa,cAAe,SAAS,EAC5C,EAAM,YAAY,CAAM,GAEvB,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,CAAG,EAEjD,IAAI,EAAY,SAAS,MAAM,EAC/B,EAAU,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,KAAK,CAAC,EAC7D,EAAU,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,KAAK,CAAC,EAC9D,EAAU,aAAa,IAAK,GAAG,EAC/B,EAAU,aAAa,IAAK,GAAG,EAC/B,EAAU,aAAa,OAAQ,SAAS,EACxC,EAAU,aAAa,UAAW,GAAG,EACrC,EAAY,aAAa,SAAU,OAAS,aAAe,IAAM,EAAQ,GAAG,EAC5E,EAAY,YAAY,CAAS,EACjC,EAAY,aAAa,MAAQ,QAAA,CAAS,YAAY,EACtD,EAAqB,EAEhB,eAAe,WAClB,EAAU,aAAa,YAAa,WAAW,EAC/C,EAAI,YAAY,eAAe,6BAA6B,CAAC,EAC7D,EAAK,SAAS,GAAG,EACjB,EAAY,YAAY,CAAS,EACjC,EAAG,aAAa,MAAQ,QAAA,CAAS,YAAY,EAC7C,EAAqB,EACrB,EAAY,YAAY,CAAE,IAG3B,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,CAAS,CACzD,OACU,MAAQ,QAAA,CAAS,KAAK,KAC/B,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,YAAY,EAEzE,GAAsB,MAAQ,QAAA,CAAS,aACvC,CAAC,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,cAElD,CAAC,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,aAYpD,IATK,MAAQ,QAAA,CAAS,KAAK,KACxB,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,GAGxE,MAAQ,QAAA,CAAS,KAAK,KACxB,MAAQ,QAAA,CAAS,aAAa,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,EAAE,GAI3E,MAAQ,QAAA,CAAS,KAAK,KAAO,GAAK,EAAE,MAAQ,QAAA,CAAS,KAAK,GAAI,CACjE,IAAI,EAAK,SAAS,UAAU,EACxB,EAAK,SAAS,MAAM,EACxB,EAAG,aAAa,IAAK,UAAY,MAAQ,QAAA,CAAS,KAAK,EAAI,QAAU,MAAQ,QAAA,CAAS,KAAK,EAAI,KAAO,MAAQ,QAAA,CAAS,KAAK,EAAI,QAAU,MAAQ,QAAA,CAAS,KAAK,EAAI,GAAG,EACvK,IAAI,EAAS,gBAAgB,EAM7B,GALA,EAAG,aAAa,KAAM,CAAM,EAC5B,EAAG,YAAY,CAAE,GAEhB,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,CAAE,EAE5C,KAAK,WAAW,EAAG,CACrB,IAAI,EAAU,SAAS,GAAG,EAC1B,EAAQ,aAAa,YAAa,OAAS,aAAe,IAAM,EAAS,GAAG,EAC5E,EAAQ,aAAa,MAAQ,QAAA,CAAS,YAAY,EAClD,CAAC,MAAQ,QAAA,CAAS,mBAAqB,EAEnC,EACF,EAAmB,aAAa,MAAQ,QAAA,CAAS,kBAAkB,EAEnE,CAAC,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,kBAEtD,MACG,MAAQ,QAAA,CAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAM,EAAS,GAAG,CAEvG,EAEK,MAAQ,QAAA,CAAS,KAAK,KAAO,GAChC,KAAK,aAAa,CAEtB,EACA,cAAe,UAAY,EACpB,MAAQ,QAAA,CAAS,eAAe,UAClC,MAAQ,QAAA,CAAS,mBAAmB,aAAa,aAAc,MAAQ,QAAA,CAAS,eAAe,IAAI,QAAQ,CAAC,GAG1G,MAAQ,QAAA,CAAS,eAAe,SAClC,MAAQ,QAAA,CAAS,mBAAmB,aAAa,WAAY,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,CAAC,CAE3G,EACA,mBAAoB,UAAY,CAC9B,CAAC,MAAQ,QAAA,CAAS,aAAe,KACjC,CAAC,MAAQ,QAAA,CAAS,aAAe,MAEhC,MAAQ,QAAA,CAAS,YAAY,QAAQ,CACxC,EACA,eAAgB,UAAY,CAK1B,OAJK,MAAQ,QAAA,CAAS,KAAK,GAClB,MAGD,MAAQ,QAAA,CAAS,WAC3B,EACA,2BAA4B,UAAY,CACtC,CAAC,MAAQ,QAAA,CAAS,YAAc,IAAI,aAAa,MAAQ,QAAA,CAAS,KAAM,MAAQ,SAAU,MAAQ,QAAA,CAAS,UAAU,EACrH,CAAC,MAAQ,QAAA,CAAS,yBAA2B,IAAI,WAAW,MAAQ,OAAO,CAC7E,EACA,SAAU,SAAU,EAAI,EAChB,MAAQ,QAAA,CAAS,eAItB,MAAQ,QAAA,CAAS,aAAa,aAAa,OAAQ,OAAS,aAAe,IAAM,EAAK,GAAG,CAC5F,CACF,EAGA,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAY,CACxB,oBAAqB,SAAU,EAAM,CACnC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,eAAe,OAE3C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,SAAS,CAAI,CAErD,EACA,2BAA4B,SAAU,EAAM,CAI1C,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,eAAe,OAEpC,EAAI,GACT,IAAK,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,oBAAoB,CAAI,EAC9D,MAAO,GAIX,MAAO,EACT,EACA,gBAAiB,UAAY,CACvB,IAAE,MAAQ,QAAA,CAAS,eAAe,OAItC,KAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,GAAG,MAAM,EAGvC,GAAO,MAAQ,QAAA,CAAS,eAAe,OACvC,IAAI,EAEJ,IAAK,EAAI,EAAM,EAAG,GAAK,IACrB,GAAsB,MAAQ,QAAA,CAAS,eAAe,EAAE,CAAC,eAAe,MAAQ,QAAA,CAAS,aAAa,EAGlG,IAJoB,KAVtB,CAkBN,EACA,OAAQ,CACN,EAAG,OACH,EAAG,QACH,EAAG,QACL,EACA,OAAQ,CACN,EAAG,QACH,EAAG,QACH,EAAG,OACL,EACA,uBAAwB,SAAU,EAAM,CAKtC,IAJA,IAAI,GAAY,MAAQ,QAAA,CAAS,kBAC7B,EAAI,EACJ,EAAM,EAAS,OAEZ,EAAI,GAAK,CACd,GAAI,EAAS,EAAE,CAAC,OAAS,EACvB,OAAO,EAAS,EAAE,CAAC,IAGrB,GAAK,CACP,CAEA,MAAO,EACT,EACA,oBAAqB,SAAU,EAAM,EAAK,CAIxC,IAHA,IAAI,GAAY,MAAQ,QAAA,CAAS,kBAC7B,EAAI,EAAS,OAEV,GAGL,GAFA,IAEI,EAAS,EAAE,CAAC,OAAS,EAAM,CAC7B,EAAS,EAAE,CAAC,IAAM,EAClB,MACF,CAGF,EAAS,KAAK,IAAI,iBAAiB,EAAM,CAAG,CAAC,CAC/C,EACA,aAAc,SAAU,EAAK,CAC3B,KAAK,uBAAuB,CAAG,EAC/B,KAAK,kBAAkB,GAAM,MAAQ,QAAA,CAAS,SAAS,CACzD,CACF,EAGA,SAAS,cAAe,CAAC,CAEzB,aAAa,UAAU,YAAc,SAAU,EAAM,EAAY,EAAM,CACrE,CAAC,MAAQ,QAAA,CAAS,mBAAqB,GACvC,KAAK,UAAU,EACf,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,CAAC,MAAQ,QAAA,CAAS,aAAe,IAAI,aAAa,MAAQ,QAAS,EAAK,GAAI,MAAQ,QAAA,CAAS,iBAAiB,EAC9G,CAAC,MAAQ,QAAA,CAAS,aAAe,IAAI,qBAAqB,EAAK,GAAI,MAAQ,QAAA,CAAS,WAAY,MAAQ,OAAO,EAC/G,KAAK,cAAc,EAAM,EAAY,CAAI,EACzC,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,cAAc,EACnB,KAAK,KAAK,GAET,MAAQ,QAAA,CAAS,aAAa,kBAAkB,MAAQ,QAAA,CAAS,iBAAiB,CACrF,EAEA,aAAa,UAAU,aAAe,SAAU,EAAK,CACnD,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,KAAK,uBAAuB,CAAG,EAC/B,KAAK,kBAAkB,GAAM,MAAQ,QAAA,CAAS,SAAS,IAElD,MAAQ,QAAA,CAAS,aAAa,OAAS,MAAQ,QAAA,CAAS,aAAa,iBACxE,KAAK,aAAa,EAClB,CAAC,MAAQ,QAAA,CAAS,aAAa,cAAgB,GAC/C,CAAC,MAAQ,QAAA,CAAS,aAAa,KAAO,GAE1C,EAEA,aAAa,UAAU,gBAAkB,SAAU,EAAc,EAAQ,CACvE,IAAI,EACA,EAAO,EAAO,OACd,EACA,EAAW,GAEf,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAY,EAAO,EAAE,CAAC,GAAG,EACzB,GAAY,iBAAiB,EAAW,EAAU,EAAE,OAAQ,GAAM,CAAY,EAGhF,OAAO,CACT,EAEA,aAAa,UAAU,mBAAqB,SAAU,EAAS,EAAO,EACnE,MAAQ,QAAA,CAAS,aAAa,mBAAmB,EAAS,CAAK,CAClE,EAEA,aAAa,UAAU,cAAgB,SAAU,EAAY,EAC1D,MAAQ,QAAA,CAAS,aAAa,cAAc,CAAU,CACzD,EAEA,aAAa,UAAU,mBAAqB,SAAU,EAAW,EAC9D,MAAQ,QAAA,CAAS,aAAa,mBAAmB,CAAS,CAC7D,EAEA,aAAa,UAAU,4BAA8B,SAAU,EAAc,EAAc,EAAY,EAAM,EAAM,CAOjH,OANI,EAAa,IACf,EAAa,UAAU,EAAa,GAAG,GAAI,EAAa,GAAG,GAAK,EAAa,OAAQ,CAAC,EAGxF,EAAa,UAAU,EAAG,CAAC,EAAa,GAAI,CAAC,EAErC,EAAa,EAArB,CACE,IAAK,GACH,EAAa,UAAU,EAAa,eAAiB,EAAa,SAAW,EAAa,WAAW,IAAc,EAAG,CAAC,EACvH,MAEF,IAAK,GACH,EAAa,UAAU,EAAa,eAAiB,EAAa,SAAW,EAAa,WAAW,IAAe,EAAG,EAAG,CAAC,EAC3H,MAEF,QACE,KACJ,CAEA,EAAa,UAAU,EAAM,EAAM,CAAC,CACtC,EAEA,aAAa,UAAU,WAAa,SAAU,EAAW,CACvD,MAAO,OAAS,KAAK,MAAM,EAAU,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,EAAU,GAAK,GAAG,EAAI,IAAM,KAAK,MAAM,EAAU,GAAK,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,SAAU,EAAM,EAAY,EAAM,CACrE,KAAK,UAAU,EACf,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,KAAK,cAAc,EAAM,EAAY,CAAI,EACzC,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,IAE3B,MAAQ,QAAA,CAAS,KAAK,IAAM,CAAC,EAAW,kBAC3C,KAAK,cAAc,EAGrB,KAAK,KAAK,CACZ,EAcA,aAAa,UAAU,aAAe,SAAU,EAAK,CACnD,IAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,KAAK,uBAAuB,CAAG,EAC/B,KAAK,kBAAkB,GAAM,MAAQ,QAAA,CAAS,SAAS,EAEnD,IAAE,MAAQ,QAAA,CAAS,WAAa,EAAE,MAAQ,QAAA,CAAS,KAAK,IAI5D,KAAM,MAAQ,QAAA,CAAS,GAAG,aASxB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAAO,MAAQ,QAAA,CAAS,KAAK,OATzB,CACtC,IAAI,GAAgB,MAAQ,QAAA,CAAS,GAAG,EAEpC,KAAkB,MAAQ,QAAA,CAAS,KAAK,KAC1C,GAAgB,MAAQ,QAAA,CAAS,KAAK,GAAK,GAG7C,CAAC,MAAQ,QAAA,CAAS,cAAgB,CACpC,CAIA,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,SAAS,OAOrC,KALM,MAAQ,QAAA,CAAS,gBACrB,KAAK,aAAa,MAAQ,QAAA,CAAS,aAAa,EAI7C,EAAI,EAAM,EAAG,GAAK,EAAG,MACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,OAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,cAAc,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,EAAE,GAEtG,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,OAChC,CAAC,MAAQ,QAAA,CAAS,KAAO,IAhBkC,CAoBnE,EAEA,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,IACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,YAAY,CAGhD,EAEA,aAAa,UAAU,YAAc,SAAU,EAAO,CACpD,CAAC,MAAQ,QAAA,CAAS,SAAW,CAC/B,EAEA,aAAa,UAAU,YAAc,UAAY,CAC/C,OAAQ,MAAQ,QAAA,CAAS,QAC3B,EAEA,aAAa,UAAU,gBAAkB,UAAY,CACnD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,SAAS,KAC5B,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,CAG5C,EAEA,aAAa,UAAU,QAAU,UAAY,CAC3C,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,CAC1B,EAIA,SAAS,cAAc,EAAM,EAAY,EAAM,CAC7C,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAW,aAAa,EAAK,KAAK,EAChE,KAAK,YAAY,EAAM,EAAY,CAAI,EACvC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAC7B,IAAK,EACL,KAAM,EACN,OAAQ,MAAQ,QAAA,CAAS,UAAU,EACnC,QAAS,MAAQ,QAAA,CAAS,UAAU,CACtC,CACF,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,oBAAoB,EAAG,aAAa,EAEpI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,GAAa,MAAQ,QAAA,CAAS,WAAW,eAAe,MAAQ,QAAA,CAAS,SAAS,EAEtF,CAAC,MAAQ,QAAA,CAAS,UAAY,SAAS,OAAO,GAE7C,MAAQ,QAAA,CAAS,UAAU,aAAa,SAAU,MAAQ,QAAA,CAAS,UAAU,EAAI,IAAI,GAErF,MAAQ,QAAA,CAAS,UAAU,aAAa,UAAW,MAAQ,QAAA,CAAS,UAAU,EAAI,IAAI,GAEtF,MAAQ,QAAA,CAAS,UAAU,aAAa,uBAAwB,MAAQ,QAAA,CAAS,UAAU,KAAO,MAAQ,QAAA,CAAS,WAAW,aAAa,wBAAwB,GAEnK,MAAQ,QAAA,CAAS,UAAU,eAAe,+BAAgC,OAAQ,CAAS,GAE3F,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,SAAS,CACxE,EAEA,cAAc,UAAU,iBAAmB,UAAY,CACrD,OAAQ,MAAQ,QAAA,CAAS,UAC3B,EAIA,SAAS,cAAc,EAAM,EAAY,EAAM,CAC7C,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,aAAa,EAAG,aAAa,EAE9C,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,EAAO,SAAS,MAAM,EAI1B,EAAK,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,EAAE,EACpD,EAAK,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,EAAE,EACrD,EAAK,aAAa,QAAS,MAAQ,QAAA,CAAS,KAAK,EAAE,GAElD,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAI,CACjD,EAIA,SAAS,aAAa,EAAM,EAAY,EAAM,CAC5C,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAW,aAAa,EAAK,KAAK,EAChE,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAE7B,IAAI,GAAa,MAAQ,QAAA,CAAS,WAAW,eAAe,MAAQ,QAAA,CAAS,SAAS,EAEtF,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,WAAW,gBAAgB,YAAY,CAAS,EAC5F,CAAC,MAAQ,QAAA,CAAS,aAAe,GAEhC,MAAQ,QAAA,CAAS,WAAW,gBAAgB,SAAS,MAAQ,OAAO,EAErE,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAI,EAAG,EAAW,UAAW,MAAQ,OAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,aAAa,UAAU,aAAe,SAAU,EAAK,CAInD,GAHA,KAAK,uBAAuB,EAAK,EAAI,EACrC,KAAK,kBAAkB,EAAK,EAAI,GAE1B,MAAQ,QAAA,CAAS,GAAG,aAIxB,CAAC,MAAQ,QAAA,CAAS,aAAe,GAAO,MAAQ,QAAA,CAAS,KAAK,OAJxB,CACtC,IAAI,GAAgB,MAAQ,QAAA,CAAS,GAAG,EACxC,CAAC,MAAQ,QAAA,CAAS,aAAe,CACnC,CAGF,EAEA,gBAAgB,CAAC,kBAAmB,YAAa,YAAY,EAAG,YAAY,EAE5E,aAAa,UAAU,YAAc,UAAY,EAC1C,MAAQ,QAAA,CAAS,YAAc,MAAQ,QAAA,CAAS,YAC7C,MAAQ,QAAA,CAAS,YAMZ,EAAE,MAAQ,QAAA,CAAS,MAAM,QAAQ,GAAK,KAAK,KAAK,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,WAAW,WAAa,MAAQ,QAAA,CAAS,MAAM,KAAK,CAAC,EAAI,MACnK,MAAQ,QAAA,CAAS,MAAM,MAAM,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,IANnG,MAAQ,QAAA,CAAS,MAAM,KAAK,GAE5B,MAAQ,QAAA,CAAS,MAAM,MAAM,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,WAAW,SAAS,EAEpG,CAAC,MAAQ,QAAA,CAAS,WAAa,IAKrC,EAEA,aAAa,UAAU,KAAO,UAAY,CAC1C,EAEA,aAAa,UAAU,KAAO,UAAY,EACvC,MAAQ,QAAA,CAAS,MAAM,MAAM,EAE9B,CAAC,MAAQ,QAAA,CAAS,WAAa,EACjC,EAEA,aAAa,UAAU,MAAQ,UAAY,EACxC,MAAQ,QAAA,CAAS,MAAM,MAAM,EAE9B,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC/B,EAEA,aAAa,UAAU,OAAS,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC/B,EAEA,aAAa,UAAU,QAAU,SAAU,EAAW,EACnD,MAAQ,QAAA,CAAS,MAAM,KAAK,CAAS,CACxC,EAEA,aAAa,UAAU,OAAS,SAAU,EAAa,EACpD,MAAQ,QAAA,CAAS,MAAM,OAAO,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,eAAe,EAAM,EAAY,EAAM,CAC9C,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAW,aAAa,EAAK,KAAK,EAChE,CAAC,MAAQ,QAAA,CAAS,YAAc,EAAW,YAAY,UAAU,MAAQ,QAAA,CAAS,SAAS,EAC3F,KAAK,aAAa,EAAM,EAAY,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,CACrD,CAAC,MAAQ,QAAA,CAAS,eAAiB,iBAAiB,MAAQ,OAAO,CACrE,EAEA,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAQ,MAAQ,QAAA,CAAS,WAC3B,EAIA,SAAS,eAAe,EAAM,EAAY,EAAM,CAC9C,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAK,OAChC,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,OAAS,kBAAkB,MAAQ,QAAA,CAAS,OAAO,MAAM,EAAI,CAAC,EAE7G,KAAK,YAAY,EAAM,EAAY,CAAI,EACvC,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAI,EAAG,EAAW,UAAW,MAAQ,OAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,gBAAgB,CAAC,YAAa,aAAc,cAAc,EAAG,cAAc,EAI3E,SAAS,qBAAqB,EAAM,EAAY,EAAM,CACpD,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,WAAa,MAC/B,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,qBAAsB,YAAY,EAAG,oBAAoB,EAEzJ,qBAAqB,UAAU,cAAgB,UAAY,EACpD,MAAQ,QAAA,CAAS,KAAK,aAAe,EAAE,MAAQ,QAAA,CAAS,WAAW,YAAY,QAClF,CAAC,MAAQ,QAAA,CAAS,cAAgB,SAAS,MAAM,EAErD,EAEA,qBAAqB,UAAU,kBAAoB,SAAU,EAAW,CAMtE,IALA,IAAI,EAAI,EACJ,EAAM,EAAU,OAChB,EAAe,CAAC,EAChB,EAAqB,GAElB,EAAI,GACL,EAAU,KAAO,MAA2B,EAAU,KAAO,KAC/D,EAAa,KAAK,CAAkB,EACpC,EAAqB,IAErB,GAAsB,EAAU,GAGlC,GAAK,EAIP,OADA,EAAa,KAAK,CAAkB,EAC7B,CACT,EAEA,qBAAqB,UAAU,aAAe,UAAY,CACxD,IAAI,EACA,EACA,GAAgB,MAAQ,QAAA,CAAS,aAAa,YAClD,CAAC,MAAQ,QAAA,CAAS,gBAAkB,iBAAiB,EAAe,EAAa,EAAE,OAAS,CAAC,EAEzF,EAAa,IACd,MAAQ,QAAA,CAAS,aAAa,aAAa,OAAQ,KAAK,WAAW,EAAa,EAAE,CAAC,GAEnF,MAAQ,QAAA,CAAS,aAAa,aAAa,OAAQ,eAAe,EAGjE,EAAa,MACd,MAAQ,QAAA,CAAS,aAAa,aAAa,SAAU,KAAK,WAAW,EAAa,EAAE,CAAC,GAErF,MAAQ,QAAA,CAAS,aAAa,aAAa,eAAgB,EAAa,EAAE,IAG5E,MAAQ,QAAA,CAAS,aAAa,aAAa,YAAa,EAAa,SAAS,EAE/E,IAAI,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,EAEpF,GAAI,EAAS,QACV,MAAQ,QAAA,CAAS,aAAa,aAAa,QAAS,EAAS,MAAM,MAC/D,EACJ,MAAQ,QAAA,CAAS,aAAa,aAAa,cAAe,EAAS,OAAO,EAE3E,IAAI,EAAU,EAAa,QACvB,EAAS,EAAa,QAEzB,MAAQ,QAAA,CAAS,aAAa,aAAa,aAAc,CAAM,GAE/D,MAAQ,QAAA,CAAS,aAAa,aAAa,cAAe,CAAO,CACpE,EAEC,MAAQ,QAAA,CAAS,aAAa,aAAa,aAAc,EAAa,CAAC,EAExE,IAAI,EAAU,EAAa,GAAK,CAAC,EAC7B,EAAa,CAAC,EAAE,MAAQ,QAAA,CAAS,WAAW,YAAY,MAC5D,EAAM,EAAQ,OACd,IAAI,EACA,GAAgB,MAAQ,QAAA,CAAS,QACjC,EACA,EAAW,GACX,GAAe,MAAQ,QAAA,CAAS,KAAK,YACrC,EAAO,EACP,EAAO,EACP,EAAY,GACZ,EAAiB,EAAa,GAAK,KAAQ,EAAa,UAE5D,GAAI,GAAe,CAAC,GAAc,CAAC,EAAa,GAAI,CAClD,IAAI,GAAY,MAAQ,QAAA,CAAS,cAC7B,EAAU,QAEd,OAAQ,EAAa,EAArB,CACE,IAAK,GACH,EAAU,MACV,MAEF,IAAK,GACH,EAAU,SACV,MAEF,QACE,EAAU,QACV,KACJ,CAEA,EAAS,aAAa,cAAe,CAAO,EAC5C,EAAS,aAAa,iBAAkB,CAAc,EACtD,IAAI,EAAc,KAAK,kBAAkB,EAAa,SAAS,EAI/D,IAHA,EAAM,EAAY,OAClB,EAAO,EAAa,GAAK,EAAa,GAAG,GAAK,EAAa,OAAS,EAE/D,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAS,MAAQ,QAAA,CAAS,UAAU,IAAM,SAAS,OAAO,EAC1D,EAAM,YAAc,EAAY,GAChC,EAAM,aAAa,IAAK,CAAC,EACzB,EAAM,aAAa,IAAK,CAAI,EAC5B,EAAM,MAAM,QAAU,UACtB,EAAS,YAAY,CAAK,EAC1B,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAK,EACjC,GAAQ,EAAa,iBAGtB,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAQ,CACrD,KAAO,CACL,IAAI,IAAqB,MAAQ,QAAA,CAAS,UAAU,OAChD,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACpB,CAAC,GAAc,CAAC,GAAe,IAAM,KACvC,EAAQ,GAAoB,GAAK,MAAQ,QAAA,CAAS,UAAU,GAAK,SAAS,EAAa,OAAS,MAAM,EAElG,IAAqB,IACvB,EAAM,aAAa,iBAAkB,MAAM,EAC3C,EAAM,aAAa,kBAAmB,OAAO,EAC7C,EAAM,aAAa,oBAAqB,GAAG,EAC3C,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAK,GAEhC,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAK,GAGlD,EAAM,MAAM,QAAU,WAGxB,EAAa,MAAM,EACnB,EAAa,MAAM,EAAa,UAAY,IAAK,EAAa,UAAY,GAAG,EAEzE,IACE,EAAQ,EAAE,CAAC,IACb,EAAO,CAAC,EACR,GAAQ,EAAa,QACrB,GAAQ,KACR,EAAY,IAGd,KAAK,4BAA4B,EAAc,EAAc,EAAQ,EAAE,CAAC,KAAM,EAAM,CAAI,EACxF,GAAQ,EAAQ,EAAE,CAAC,GAAK,EAExB,GAAQ,GAGN,GACF,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,YAAY,EAAa,UAAU,GAAI,EAAS,QAAS,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,CAAC,CAAC,OAAO,EAC1L,EAAY,GAAY,EAAS,MAAQ,CAAC,EAC1C,EAAS,EAAU,OAAS,EAAU,OAAO,EAAE,CAAC,GAAK,CAAC,EAEjD,EAGH,GAAY,KAAK,gBAAgB,EAAc,CAAM,EAFrD,EAAM,aAAa,IAAK,KAAK,gBAAgB,EAAc,CAAM,CAAC,IAKhE,GACF,EAAM,aAAa,YAAa,aAAe,EAAa,MAAM,IAAM,IAAM,EAAa,MAAM,IAAM,GAAG,EAG5G,EAAM,YAAc,EAAQ,EAAE,CAAC,IAC/B,EAAM,eAAe,uCAAwC,YAAa,UAAU,GAKpF,GAAe,GACjB,EAAM,aAAa,IAAK,CAAQ,CAEpC,CAEA,KAAO,GAAK,MAAQ,QAAA,CAAS,UAAU,QACrC,CAAC,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,MAAM,QAAU,OAC/C,GAAK,EAGP,CAAC,MAAQ,QAAA,CAAS,aAAe,EACnC,EAEA,qBAAqB,UAAU,iBAAmB,UAAY,CAI5D,GAHA,KAAK,cAAc,MAAQ,QAAA,CAAS,KAAK,eAAiB,MAAQ,QAAA,CAAS,KAAK,EAAE,EAClF,KAAK,mBAAmB,GAEnB,MAAQ,QAAA,CAAS,aAAc,CAClC,CAAC,MAAQ,QAAA,CAAS,aAAe,GAEjC,IAAI,GAAW,MAAQ,QAAA,CAAS,aAAa,QAAQ,EAErD,CAAC,MAAQ,QAAA,CAAS,KAAO,CACvB,IAAK,EAAQ,EACb,KAAM,EAAQ,EACd,MAAO,EAAQ,MACf,OAAQ,EAAQ,MAClB,CACF,CAEA,OAAQ,MAAQ,QAAA,CAAS,IAC3B,EAEA,qBAAqB,UAAU,mBAAqB,UAAY,CAC9D,GAAI,EAAE,MAAQ,QAAA,CAAS,KAAK,eACzB,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,aAAa,aAAc,MAAQ,QAAA,CAAS,kBAAkB,GAEtH,MAAQ,QAAA,CAAS,qBAAuB,MAAQ,QAAA,CAAS,aAAa,oBAAoB,CAC7F,CAAC,MAAQ,QAAA,CAAS,aAAe,GACjC,IAAI,EACA,EACA,GAAmB,MAAQ,QAAA,CAAS,aAAa,gBACjD,GAAW,MAAQ,QAAA,CAAS,aAAa,YAAY,EACzD,EAAM,EAAQ,OACd,IAAI,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACnB,EAAQ,EAAE,CAAC,IACd,EAAiB,EAAgB,GACjC,GAAY,MAAQ,QAAA,CAAS,UAAU,GAEnC,EAAe,KAAK,GACtB,EAAS,aAAa,YAAa,EAAe,CAAC,EAGjD,EAAe,KAAK,GACtB,EAAS,aAAa,UAAW,EAAe,CAAC,EAG/C,EAAe,KAAK,IACtB,EAAS,aAAa,eAAgB,EAAe,EAAE,EAGrD,EAAe,KAAK,IACtB,EAAS,aAAa,SAAU,EAAe,EAAE,EAG/C,EAAe,KAAK,IACtB,EAAS,aAAa,OAAQ,EAAe,EAAE,EAIvD,CAEJ,EAOA,SAAS,gBAAgB,EAAM,EAAY,EAAM,CAE/C,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAE5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,OAEpC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAAC,EAEhC,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EAEpC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAE/B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,EAEvC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,CAAC,EACtC,KAAK,YAAY,EAAM,EAAY,CAAI,EAGvC,CAAC,MAAQ,QAAA,CAAS,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,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,cAAe,MAAQ,QAAA,CAAS,aAAc,EAAG,CAAC,EAAG,EAAI,EACxJ,KAAK,mBAAmB,CAC1B,EAMA,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,OAAO,OAC/B,EACA,EACA,GAAQ,MAAQ,QAAA,CAAS,WAAW,OACpC,EACA,EAAa,CAAC,EACd,EAAc,GAElB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAK5B,IAJA,GAAS,MAAQ,QAAA,CAAS,WAAW,GACrC,EAAc,GACd,EAAW,OAAS,EAEf,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAS,MAAQ,QAAA,CAAS,OAAO,GAE7B,EAAM,OAAO,QAAQ,CAAK,IAAM,KAClC,EAAW,KAAK,CAAK,EACrB,EAAc,EAAM,aAAe,GAInC,EAAW,OAAS,GAAK,GAC3B,KAAK,oBAAoB,CAAU,CAEvC,CACF,EAEA,gBAAgB,UAAU,oBAAsB,SAAU,EAAQ,CAChE,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,EAAE,CAAC,cAAc,CAE5B,EAEA,gBAAgB,UAAU,mBAAqB,SAAU,EAAM,EAAO,CAEpE,IAAI,EACA,EAAU,IAAI,aAAa,EAAM,CAAK,EACtC,EAAc,EAAQ,MAkD1B,OAhDI,EAAK,KAAO,KACd,EAAc,IAAI,mBAAmB,MAAQ,QAAS,EAAM,CAAO,EAC1D,EAAK,KAAO,KACrB,EAAc,IAAI,iBAAiB,MAAQ,QAAS,EAAM,CAAO,GACxD,EAAK,KAAO,MAAQ,EAAK,KAAO,QAEzC,EAAc,IADY,EAAK,KAAO,KAAO,yBAA2B,4BAClC,MAAQ,QAAS,EAAM,CAAO,GAEnE,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,EAAY,EAAE,EAExD,EAAY,UACb,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,EAAY,EAAE,GAE3D,MAAQ,QAAA,CAAS,WAAW,KAAK,YAAY,EAAY,EAAE,EAE5D,EAAY,aAAa,OAAQ,OAAS,aAAe,IAAM,EAAY,OAAS,GAAG,KAIvF,EAAK,KAAO,MAAQ,EAAK,KAAO,QAClC,EAAY,aAAa,kBAAmB,MAAQ,QAAA,CAAS,OAAO,EAAK,KAAO,OAAO,EACvF,EAAY,aAAa,mBAAoB,MAAQ,QAAA,CAAS,OAAO,EAAK,KAAO,OAAO,EACxF,EAAY,aAAa,eAAgB,GAAG,EAExC,EAAK,KAAO,GACd,EAAY,aAAa,oBAAqB,EAAK,EAAE,GAIrD,EAAK,IAAM,GACb,EAAY,aAAa,YAAa,SAAS,EAG7C,EAAK,IACP,EAAY,aAAa,KAAM,EAAK,EAAE,EAGpC,EAAK,IACP,EAAY,aAAa,QAAS,EAAK,EAAE,EAGvC,EAAK,KACP,EAAY,MAAM,kBAAoB,aAAa,EAAK,EAAE,IAG3D,MAAQ,QAAA,CAAS,WAAW,KAAK,CAAO,EAEzC,KAAK,sBAAsB,EAAM,CAAW,EACrC,CACT,EAEA,gBAAgB,UAAU,mBAAqB,SAAU,EAAM,CAC7D,IAAI,EAAc,IAAI,eActB,OAZI,EAAK,IACP,EAAY,GAAG,aAAa,KAAM,EAAK,EAAE,EAGvC,EAAK,IACP,EAAY,GAAG,aAAa,QAAS,EAAK,EAAE,EAG1C,EAAK,KACP,EAAY,GAAG,MAAM,kBAAoB,aAAa,EAAK,EAAE,GAGxD,CACT,EAEA,gBAAgB,UAAU,uBAAyB,SAAU,EAAM,EAAW,CAC5E,IAAI,EAAoB,yBAAyB,qBAAqB,MAAQ,QAAS,EAAM,MAAQ,OAAO,EACxG,EAAc,IAAI,iBAAiB,EAAmB,EAAkB,EAAG,CAAS,EAExF,OADA,KAAK,sBAAsB,EAAM,CAAW,EACrC,CACT,EAEA,gBAAgB,UAAU,mBAAqB,SAAU,EAAM,EAAiB,EAAO,CACrF,IAAI,EAAK,EAEL,EAAK,KAAO,KACd,EAAK,EACI,EAAK,KAAO,KACrB,EAAK,EACI,EAAK,KAAO,OACrB,EAAK,GAIP,IAAI,EAAc,IAAI,aAAa,EAAiB,EADhC,qBAAqB,aAAa,MAAQ,QAAS,EAAM,EAAI,MAAQ,OAClB,CAAC,EAMxE,OAJC,MAAQ,QAAA,CAAS,OAAO,KAAK,CAAW,EAEzC,KAAK,oBAAoB,CAAW,EACpC,KAAK,sBAAsB,EAAM,CAAW,EACrC,CACT,EAEA,gBAAgB,UAAU,sBAAwB,SAAU,EAAM,EAAS,CAIzE,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,iBAAiB,OAEtC,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,iBAAiB,EAAE,CAAC,UAAY,EACpD,OAGF,GAAK,CACP,EAEC,MAAQ,QAAA,CAAS,iBAAiB,KAAK,CACtC,GAAI,oBAAoB,qBAAqB,CAAI,EACxC,UACH,MACR,CAAC,CACH,EAEA,gBAAgB,UAAU,iBAAmB,SAAU,EAAa,CAClE,IAAI,EAAM,EAAY,OAClB,EACA,GAAQ,MAAQ,QAAA,CAAS,WAAW,OAExC,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,GACnB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,QACnC,EAAI,MAAM,MAAQ,QAAA,CAAS,WAAW,EAAE,CAG9C,EAEA,gBAAgB,UAAU,aAAe,UAAY,CACnD,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,UAAU,OAEtC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,CAAC,MAAQ,QAAA,CAAS,aAAa,IAAM,MAAQ,QAAA,CAAS,UAAU,GAOlE,IAJA,KAAK,cAAc,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,cAAe,MAAQ,QAAA,CAAS,aAAc,EAAG,CAAC,EAAG,EAAI,EACxJ,KAAK,mBAAmB,EACxB,GAAO,MAAQ,QAAA,CAAS,kBAAkB,OAErC,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,SAAS,EAGlD,KAAK,gBAAgB,CACvB,EAEA,gBAAgB,UAAU,aAAe,SAAU,EAAK,EAAW,EAAc,EAAW,EAAO,EAAc,EAAQ,CACvH,IAAI,EAAkB,CAAC,CAAC,CAAC,OAAO,CAAY,EACxC,EACA,EAAM,EAAI,OAAS,EACnB,EACA,EACA,EAAY,CAAC,EACb,EAAe,CAAC,EAChB,EACA,EACA,EAEJ,IAAK,EAAI,EAAK,GAAK,EAAG,IAAQ,CAS5B,GARA,EAAe,KAAK,uBAAuB,EAAI,EAAE,EAE5C,EAGH,EAAU,GAAK,EAAa,EAAe,GAF3C,EAAI,EAAE,CAAC,QAAU,EAKf,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,KAC7E,EAGH,EAAU,EAAE,CAAC,MAAM,OAAS,GAF5B,EAAU,GAAK,KAAK,mBAAmB,EAAI,GAAI,CAAK,EAKlD,EAAI,EAAE,CAAC,SACT,EAAU,YAAY,EAAU,EAAE,CAAC,MAAM,KAAK,EAGhD,EAAU,KAAK,EAAU,EAAE,CAAC,KAAK,OAC5B,GAAI,EAAI,EAAE,CAAC,KAAO,KAAM,CAC7B,GAAI,CAAC,EACH,EAAU,GAAK,KAAK,mBAAmB,EAAI,EAAE,OAI7C,IAFA,EAAO,EAAU,EAAE,CAAC,GAAG,OAElB,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAU,EAAE,CAAC,aAAa,GAAK,EAAU,EAAE,CAAC,GAAG,GAInD,KAAK,aAAa,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,aAAc,EAAU,EAAE,CAAC,GAAI,EAAQ,EAAG,EAAiB,CAAM,EAExH,EAAI,EAAE,CAAC,SACT,EAAU,YAAY,EAAU,EAAE,CAAC,EAAE,CAEzC,MAAW,EAAI,EAAE,CAAC,KAAO,MAClB,IACH,EAAU,GAAK,KAAK,uBAAuB,EAAI,GAAI,CAAS,GAG9D,EAAmB,EAAU,EAAE,CAAC,UAChC,EAAgB,KAAK,CAAgB,GAC5B,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MACpF,IACH,EAAU,GAAK,KAAK,mBAAmB,EAAI,GAAI,EAAiB,CAAK,GAGvE,KAAK,iBAAiB,EAAU,EAAE,GACzB,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MACpF,GAOH,EAAW,EAAU,GACrB,EAAS,OAAS,KAPlB,EAAW,eAAe,YAAY,EAAI,EAAE,CAAC,EAAE,EAC/C,EAAS,KAAK,MAAQ,QAAS,EAAI,EAAE,EACrC,EAAU,GAAK,GAEd,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAQ,GAMhD,EAAa,KAAK,CAAQ,GACjB,EAAI,EAAE,CAAC,KAAO,OAClB,GASH,EAAW,EAAU,GACrB,EAAS,OAAS,KATlB,EAAW,eAAe,YAAY,EAAI,EAAE,CAAC,EAAE,EAC/C,EAAU,GAAK,EACf,EAAS,KAAK,MAAQ,QAAS,EAAK,EAAG,CAAS,GAE/C,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAQ,EAE9C,EAAS,IAMX,EAAa,KAAK,CAAQ,GAG5B,KAAK,oBAAoB,EAAI,GAAI,EAAI,CAAC,CACxC,CAIA,IAFA,EAAM,EAAU,OAEX,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAU,EAAE,CAAC,OAAS,GAKxB,IAFA,EAAM,EAAa,OAEd,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAa,EAAE,CAAC,OAAS,EAE7B,EAEA,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,KAAK,gBAAgB,EACrB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,WAAW,OAEvC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,MAAM,EAKxC,IAFA,KAAK,YAAY,EAEZ,EAAI,EAAG,EAAI,EAAK,GAAK,IACnB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,OAAS,MAAQ,QAAA,CAAS,kBACvD,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,UACjC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,OAAO,aAAa,KAAM,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,CAAC,EAG1F,CAAC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,EAAI,QAAU,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,IAG9E,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,MAAM,aAAa,KAAM,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,GAAK,MAAM,EAGzG,EAEA,gBAAgB,UAAU,YAAc,UAAY,CAClD,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,iBAAiB,OACzC,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAmB,MAAQ,QAAA,CAAS,iBAAiB,KAE/C,MAAQ,QAAA,CAAS,eAAiB,EAAgB,QAAQ,cAAgB,EAAgB,OAAS,IACvG,EAAgB,GAAG,EAAgB,KAAM,EAAgB,SAAU,MAAQ,QAAA,CAAS,aAAa,CAGvG,EAEA,gBAAgB,UAAU,QAAU,UAAY,CAC9C,KAAK,mBAAmB,EACxB,CAAC,MAAQ,QAAA,CAAS,WAAa,KAC/B,CAAC,MAAQ,QAAA,CAAS,UAAY,IAChC,EAIA,SAAS,cAAc,EAAQ,EAAe,CAC5C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,EAAgB,SAAS,eAAe,EAc5C,GAbA,EAAc,aAAa,OAAQ,QAAQ,EAC3C,EAAc,aAAa,8BAA+B,WAAW,EACrE,EAAc,aAAa,SAAU,sFAAsF,EAC3H,EAAc,aAAa,SAAU,IAAI,EACzC,EAAO,YAAY,CAAa,EAChC,EAAgB,SAAS,eAAe,EACxC,EAAc,aAAa,OAAQ,QAAQ,EAC3C,EAAc,aAAa,8BAA+B,MAAM,EAChE,EAAc,aAAa,SAAU,yCAAyC,EAC9E,EAAc,aAAa,SAAU,IAAI,EACzC,EAAO,YAAY,CAAa,EAChC,CAAC,MAAQ,QAAA,CAAS,aAAe,EAE7B,EAAc,eAAe,EAAE,CAAC,EAAE,IAAM,KAAO,EAAc,eAAe,EAAE,CAAC,EAAE,EAAG,CACtF,IAAI,EAAU,SAAS,SAAS,EAChC,EAAO,YAAY,CAAO,EAC1B,IAAI,EACU,SAAS,aAAa,EACpC,EAAY,aAAa,KAAM,eAAe,EAC9C,EAAQ,YAAY,CAAW,EAC/B,EAAc,SAAS,aAAa,EACpC,EAAY,aAAa,KAAM,IAAI,EACnC,EAAQ,YAAY,CAAW,CACjC,CACF,CAEA,cAAc,UAAU,YAAc,SAAU,EAAa,CAC3D,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CACvD,IAAI,GAAc,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EACjE,GAAc,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EACjE,GAAW,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,KAErE,MAAQ,QAAA,CAAS,aAAa,aAAa,SAAU,EAAW,GAAK,EAAW,GAAK,UAAY,EAAW,GAAK,KAAO,EAAW,GAAK,EAAW,IAAM,UAAY,EAAW,GAAK,KAAO,EAAW,GAAK,EAAW,IAAM,UAAY,EAAW,GAAK,UAAY,EAAU,IAAI,CACtR,CACF,EAIA,SAAS,cAAc,EAAQ,EAAe,CAC5C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,EAAgB,SAAS,eAAe,EAC5C,EAAc,aAAa,OAAQ,QAAQ,EAC3C,EAAc,aAAa,8BAA+B,MAAM,EAChE,EAAc,aAAa,SAAU,yCAAyC,EAC9E,EAAO,YAAY,CAAa,EAChC,CAAC,MAAQ,QAAA,CAAS,aAAe,CACnC,CAEA,cAAc,UAAU,YAAc,SAAU,EAAa,CAC3D,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CACvD,IAAI,GAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC5D,GAAW,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAEjE,MAAQ,QAAA,CAAS,aAAa,aAAa,SAAU,WAAa,EAAM,GAAK,YAAc,EAAM,GAAK,YAAc,EAAM,GAAK,UAAY,EAAU,IAAI,CAC5J,CACF,EAIA,SAAS,sBAAsB,EAAQ,EAAe,CAEpD,EAAO,aAAa,IAAK,OAAO,EAChC,EAAO,aAAa,IAAK,OAAO,EAChC,EAAO,aAAa,QAAS,MAAM,EACnC,EAAO,aAAa,SAAU,MAAM,EACpC,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,EAAiB,SAAS,gBAAgB,EAC9C,EAAO,YAAY,CAAc,EACjC,CAAC,MAAQ,QAAA,CAAS,eAAiB,CACrC,CAEA,sBAAsB,UAAU,YAAc,SAAU,EAAa,CACnE,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CAGvD,IAAI,GAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,GAOhE,GAAc,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EACjE,EAAS,GAAc,EAAI,EAAI,EAE/B,EAAS,GAAc,EAAI,EAAI,GAElC,MAAQ,QAAA,CAAS,eAAe,aAAa,eAAgB,EAAS,IAAM,CAAM,EAMnF,IAAI,GAAY,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAAK,EAAI,OAAS,aAEpF,MAAQ,QAAA,CAAS,eAAe,aAAa,WAAY,CAAQ,CACpE,CACF,EAIA,SAAS,gBAAgB,EAAM,EAAe,CAC5C,CAAC,MAAQ,QAAA,CAAS,YAAc,GAChC,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,CAC7B,CAEA,gBAAgB,UAAU,WAAa,UAAY,CACjD,IAAI,GAAgB,MAAQ,QAAA,CAAS,KAAK,aAAa,WAAa,MAAQ,QAAA,CAAS,KAAK,aAAa,WACnG,EACA,EACA,EACA,EAeJ,KAbK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,IAAM,GAC5D,GAAO,MAAQ,QAAA,CAAS,KAAK,YAAY,gBAAgB,OACzD,EAAI,IAEJ,GAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,EAC5D,EAAM,EAAI,GAGZ,EAAY,SAAS,GAAG,EACxB,EAAU,aAAa,OAAQ,MAAM,EACrC,EAAU,aAAa,iBAAkB,OAAO,EAChD,EAAU,aAAa,oBAAqB,CAAC,EAErC,EAAI,EAAK,GAAK,EACpB,EAAO,SAAS,MAAM,EACtB,EAAU,YAAY,CAAI,GAEzB,MAAQ,QAAA,CAAS,MAAM,KAAK,CAC3B,EAAG,EACH,EAAG,CACL,CAAC,EAGH,IAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,EAAG,CAChE,IAAI,EAAO,SAAS,MAAM,EACtB,EAAK,gBAAgB,EACzB,EAAK,aAAa,KAAM,CAAE,EAC1B,EAAK,aAAa,YAAa,OAAO,EACtC,EAAK,YAAY,CAAS,GAEzB,MAAQ,QAAA,CAAS,KAAK,WAAW,KAAK,YAAY,CAAI,EAEvD,IAAI,EAAI,SAAS,GAAG,EAGpB,IAFA,EAAE,aAAa,OAAQ,OAAS,aAAe,IAAM,EAAK,GAAG,EAEtD,EAAa,IAClB,EAAE,YAAY,EAAa,EAAE,GAG9B,MAAQ,QAAA,CAAS,KAAK,aAAa,YAAY,CAAC,EAEjD,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,EAAU,aAAa,SAAU,MAAM,CACzC,MAAO,IAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,IAAM,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,EAAG,CACvI,IAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,EAG7D,IAFA,GAAgB,MAAQ,QAAA,CAAS,KAAK,aAAa,WAAa,MAAQ,QAAA,CAAS,KAAK,aAAa,WAE5F,EAAa,SACjB,MAAQ,QAAA,CAAS,KAAK,aAAa,YAAY,EAAa,EAAE,GAIlE,MAAQ,QAAA,CAAS,KAAK,aAAa,YAAY,CAAS,GAExD,MAAQ,QAAA,CAAS,KAAK,aAAa,gBAAgB,MAAM,EAE1D,EAAU,aAAa,SAAU,MAAM,CACzC,CAEA,CAAC,MAAQ,QAAA,CAAS,YAAc,GAChC,CAAC,MAAQ,QAAA,CAAS,WAAa,CACjC,EAEA,gBAAgB,UAAU,YAAc,SAAU,EAAa,EACvD,MAAQ,QAAA,CAAS,aACrB,KAAK,WAAW,EAGlB,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,MAAM,OAC9B,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,IAAK,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,IAAM,KACnC,GAAQ,MAAQ,QAAA,CAAS,KAAK,YAAY,UAAU,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,GAC9E,GAAQ,MAAQ,QAAA,CAAS,MAAM,EAAE,CAAC,GAE9B,IAAgB,MAAQ,QAAA,CAAS,cAAc,MAAQ,EAAK,KAAK,OACnE,EAAK,aAAa,IAAK,EAAK,QAAQ,EAGlC,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,OAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,OAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,OAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,MAAQ,EAAK,KAAK,MAAM,CACjR,IAAI,EAEJ,IAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,IAAM,IAAM,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,IAAM,IAAK,CAChI,IAAI,EAAI,KAAK,KAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAAI,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,CAAC,EAAI,IAC7H,EAAI,KAAK,KAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAAI,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,CAAC,EAAI,IAC7H,EAAI,EAAK,eAAe,EAC5B,EAAiB,SAAW,EAAI,EAAI,IACpC,IAAI,EAAa,GAAK,EAAI,GACtB,EAAU,GAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,GAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,IAClI,EAAQ,KAAK,MAAM,EAAa,CAAO,EACvC,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAO,GAAK,EAC1B,GAAkB,MAAQ,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,GAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,IAAO,IAGtJ,GAAkB,KAAO,EAAI,GAAK,MACpC,KACE,GAAiB,MAAQ,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,GAAK,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,IAG9I,EAAK,aAAa,mBAAoB,CAAc,CACtD,CAYJ,IARI,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,QACpE,MAAQ,QAAA,CAAS,WAAW,aAAa,gBAAiB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,CAAC,GAGjH,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,QACpE,MAAQ,QAAA,CAAS,WAAW,aAAa,WAAY,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,CAAC,IAGvG,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,IAAM,MAAQ,QAAA,CAAS,cAAc,eAAe,GAAG,CAAC,EAAE,IAAM,KACzH,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,MAAM,CAC3E,IAAI,GAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAE/D,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,OAAS,QAAQ,EAAM,GAAK,GAAG,EAAI,IAAM,QAAQ,EAAM,GAAK,GAAG,EAAI,IAAM,QAAQ,EAAM,GAAK,GAAG,EAAI,GAAG,CAC5J,CAEJ,EAIA,SAAS,iBAAiB,EAAQ,EAAe,CAC/C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,EAAgB,SAAS,eAAe,EAC5C,EAAc,aAAa,OAAQ,QAAQ,EAC3C,EAAc,aAAa,8BAA+B,WAAW,EACrE,EAAc,aAAa,SAAU,sFAAsF,EAC3H,EAAc,aAAa,SAAU,IAAI,EACzC,EAAO,YAAY,CAAa,EAChC,IAAI,EAAsB,SAAS,qBAAqB,EACxD,EAAoB,aAAa,8BAA+B,MAAM,EACtE,EAAO,YAAY,CAAmB,EACtC,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,IAAI,EAAU,SAAS,SAAS,EAChC,EAAQ,aAAa,OAAQ,OAAO,EACpC,EAAoB,YAAY,CAAO,EACvC,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,IAAI,EAAU,SAAS,SAAS,EAChC,EAAQ,aAAa,OAAQ,OAAO,EACpC,EAAoB,YAAY,CAAO,EACvC,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,IAAI,EAAU,SAAS,SAAS,EAChC,EAAQ,aAAa,OAAQ,OAAO,EACpC,EAAoB,YAAY,CAAO,EACvC,CAAC,MAAQ,QAAA,CAAS,QAAU,CAC9B,CAEA,iBAAiB,UAAU,YAAc,SAAU,EAAa,CAC9D,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CACvD,IAAI,GAAU,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC7D,GAAU,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC7D,GAAU,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC7D,EAAS,EAAO,GAAK,IAAM,EAAO,GAAK,IAAM,EAAO,GACpD,EAAS,EAAO,GAAK,IAAM,EAAO,GAAK,IAAM,EAAO,GACpD,EAAS,EAAO,GAAK,IAAM,EAAO,GAAK,IAAM,EAAO,IAEvD,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAM,GAE3D,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAM,GAE3D,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAM,CAG9D,CACF,EAIA,SAAS,mBAAmB,EAAQ,EAAe,CACjD,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,GAAkB,MAAQ,QAAA,CAAS,cAAc,eACjD,EAAsB,SAAS,qBAAqB,GAEpD,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,KAC/R,CAAC,MAAQ,QAAA,CAAS,QAAU,KAAK,aAAa,UAAW,CAAmB,IAG1E,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,KAC/R,CAAC,MAAQ,QAAA,CAAS,QAAU,KAAK,aAAa,UAAW,CAAmB,IAG1E,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,KAC/R,CAAC,MAAQ,QAAA,CAAS,QAAU,KAAK,aAAa,UAAW,CAAmB,IAG1E,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,GAAK,EAAe,GAAG,CAAC,EAAE,GAAK,EAAe,GAAG,CAAC,EAAE,IAAM,KAC/R,CAAC,MAAQ,QAAA,CAAS,QAAU,KAAK,aAAa,UAAW,CAAmB,KAGzE,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,WAC3G,EAAoB,aAAa,8BAA+B,MAAM,EACtE,EAAO,YAAY,CAAmB,EACtC,EAAsB,SAAS,qBAAqB,IAGlD,EAAe,EAAE,CAAC,EAAE,GAAK,EAAe,EAAE,CAAC,EAAE,IAAM,GAAK,EAAe,EAAE,CAAC,EAAE,GAAK,EAAe,EAAE,CAAC,EAAE,IAAM,GAAK,EAAe,EAAE,CAAC,EAAE,GAAK,EAAe,EAAE,CAAC,EAAE,IAAM,GAAK,EAAe,EAAE,CAAC,EAAE,GAAK,EAAe,EAAE,CAAC,EAAE,IAAM,GAAK,EAAe,EAAE,CAAC,EAAE,GAAK,EAAe,EAAE,CAAC,EAAE,IAAM,KACrR,EAAoB,aAAa,8BAA+B,MAAM,EACtE,EAAO,YAAY,CAAmB,EACtC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,KAAK,aAAa,UAAW,CAAmB,EACpF,CAAC,MAAQ,QAAA,CAAS,gBAAkB,KAAK,aAAa,UAAW,CAAmB,EACpF,CAAC,MAAQ,QAAA,CAAS,gBAAkB,KAAK,aAAa,UAAW,CAAmB,EAExF,CAEA,mBAAmB,UAAU,aAAe,SAAU,EAAM,EAAqB,CAC/E,IAAI,EAAS,SAAS,CAAI,EAG1B,OAFA,EAAO,aAAa,OAAQ,OAAO,EACnC,EAAoB,YAAY,CAAM,EAC/B,CACT,EAEA,mBAAmB,UAAU,cAAgB,SAAU,EAAY,EAAY,EAAO,EAAa,EAAa,CAc9G,IAbA,IAAI,EAAM,EACN,EAAW,IACX,EACA,EAAM,KAAK,IAAI,EAAY,CAAU,EACrC,EAAM,KAAK,IAAI,EAAY,CAAU,EACrC,EAAQ,MAAM,KAAK,KAAM,CAC3B,OAAQ,CACV,CAAC,EACG,EACA,EAAM,EACN,EAAc,EAAc,EAC5B,EAAa,EAAa,EAEvB,GAAO,KACZ,EAAO,EAAM,IAEb,AAKE,EALE,GAAQ,EACG,EAAa,EAAI,EAAc,EACnC,GAAQ,EACJ,EAAa,EAAI,EAAc,EAE/B,EAAc,IAAwB,EAAO,GAAc,KAAY,EAAI,GAG1F,EAAM,GAAO,EACb,GAAO,EACP,GAAO,KAAO,EAAW,GAG3B,OAAO,EAAM,KAAK,GAAG,CACvB,EAEA,mBAAmB,UAAU,YAAc,SAAU,EAAa,CAChE,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CACvD,IAAI,EACA,GAAkB,MAAQ,QAAA,CAAS,cAAc,gBAEhD,MAAQ,QAAA,CAAS,kBAAoB,GAAe,EAAe,EAAE,CAAC,EAAE,MAAQ,EAAe,EAAE,CAAC,EAAE,MAAQ,EAAe,EAAE,CAAC,EAAE,MAAQ,EAAe,EAAE,CAAC,EAAE,MAAQ,EAAe,EAAE,CAAC,EAAE,QAC3L,EAAM,KAAK,cAAc,EAAe,EAAE,CAAC,EAAE,EAAG,EAAe,EAAE,CAAC,EAAE,EAAG,EAAe,EAAE,CAAC,EAAE,EAAG,EAAe,EAAE,CAAC,EAAE,EAAG,EAAe,EAAE,CAAC,EAAE,CAAC,GAEzI,MAAQ,QAAA,CAAS,gBAAgB,aAAa,cAAe,CAAG,GAEhE,MAAQ,QAAA,CAAS,gBAAgB,aAAa,cAAe,CAAG,GAEhE,MAAQ,QAAA,CAAS,gBAAgB,aAAa,cAAe,CAAG,IAG9D,MAAQ,QAAA,CAAS,UAAY,GAAe,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,QACxL,EAAM,KAAK,cAAc,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,CAAC,GAE9I,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAG,IAGtD,MAAQ,QAAA,CAAS,UAAY,GAAe,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,QACxL,EAAM,KAAK,cAAc,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,CAAC,GAE9I,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAG,IAGtD,MAAQ,QAAA,CAAS,UAAY,GAAe,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,QACxL,EAAM,KAAK,cAAc,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,CAAC,GAE9I,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAG,IAGtD,MAAQ,QAAA,CAAS,UAAY,GAAe,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,MAAQ,EAAe,GAAG,CAAC,EAAE,QACxL,EAAM,KAAK,cAAc,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,EAAG,EAAe,GAAG,CAAC,EAAE,CAAC,GAE9I,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,CAAG,EAE7D,CACF,EAIA,SAAS,oBAAoB,EAAQ,EAAe,CAClD,IAAI,EAAa,EAAc,UAAU,WAAW,aAAa,WACjE,EAAO,aAAa,IAAK,EAAW,CAAC,EACrC,EAAO,aAAa,IAAK,EAAW,CAAC,EACrC,EAAO,aAAa,QAAS,EAAW,KAAK,EAC7C,EAAO,aAAa,SAAU,EAAW,MAAM,EAC/C,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,IAAI,EAAiB,SAAS,gBAAgB,EAC9C,EAAe,aAAa,KAAM,aAAa,EAC/C,EAAe,aAAa,SAAU,eAAe,EACrD,EAAe,aAAa,eAAgB,GAAG,EAC/C,CAAC,MAAQ,QAAA,CAAS,eAAiB,EACnC,EAAO,YAAY,CAAc,EACjC,IAAI,EAAW,SAAS,UAAU,EAClC,EAAS,aAAa,KAAM,IAAI,EAChC,EAAS,aAAa,KAAM,GAAG,EAC/B,EAAS,aAAa,KAAM,eAAe,EAC3C,EAAS,aAAa,SAAU,eAAe,EAC/C,CAAC,MAAQ,QAAA,CAAS,SAAW,EAC7B,EAAO,YAAY,CAAQ,EAC3B,IAAI,EAAU,SAAS,SAAS,EAChC,EAAQ,aAAa,cAAe,SAAS,EAC7C,EAAQ,aAAa,gBAAiB,GAAG,EACzC,EAAQ,aAAa,SAAU,eAAe,EAC9C,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,EAAO,YAAY,CAAO,EAC1B,IAAI,EAAc,SAAS,aAAa,EACxC,EAAY,aAAa,KAAM,eAAe,EAC9C,EAAY,aAAa,MAAO,eAAe,EAC/C,EAAY,aAAa,WAAY,IAAI,EACzC,EAAY,aAAa,SAAU,eAAe,EAClD,EAAO,YAAY,CAAW,EAC9B,IAAI,EAAU,SAAS,SAAS,EAChC,EAAO,YAAY,CAAO,EAC1B,IAAI,EACU,SAAS,aAAa,EACpC,EAAQ,YAAY,CAAW,EAC/B,EAAc,SAAS,aAAa,EACpC,EAAY,aAAa,KAAM,eAAe,EAC9C,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,GACtC,EAAQ,YAAY,CAAW,CACjC,CAEA,oBAAoB,UAAU,YAAc,SAAU,EAAa,CACjE,GAAI,IAAgB,MAAQ,QAAA,CAAS,cAAc,KAAM,CAKvD,IAJI,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,QACpE,MAAQ,QAAA,CAAS,eAAe,aAAa,gBAAiB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,CAAC,EAGrH,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,KAAM,CAC3E,IAAI,GAAO,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,GAE7D,MAAQ,QAAA,CAAS,QAAQ,aAAa,cAAe,SAAS,KAAK,MAAM,EAAI,GAAK,GAAG,EAAG,KAAK,MAAM,EAAI,GAAK,GAAG,EAAG,KAAK,MAAM,EAAI,GAAK,GAAG,CAAC,CAAC,CAC9I,CAMA,IAJI,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,QACpE,MAAQ,QAAA,CAAS,QAAQ,aAAa,iBAAkB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,GAAG,EAGjH,IAAgB,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,OAAS,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,KAAM,CACvI,IAAI,GAAY,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC/D,IAAU,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAAI,IAAM,UACvE,EAAI,EAAW,KAAK,IAAI,CAAK,EAC7B,EAAI,EAAW,KAAK,IAAI,CAAK,GAEhC,MAAQ,QAAA,CAAS,SAAS,aAAa,KAAM,CAAC,GAE9C,MAAQ,QAAA,CAAS,SAAS,aAAa,KAAM,CAAC,CACjD,CAWF,CACF,EAIA,IAAI,iBAAmB,CAAC,EAExB,SAAS,gBAAgB,EAAY,EAAe,EAAM,CACxD,CAAC,MAAQ,QAAA,CAAS,YAAc,GAChC,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,EAAK,aAAe,SAAS,GAAG,EAChC,EAAK,aAAa,YAAY,EAAK,YAAY,EAC/C,EAAK,aAAa,YAAY,EAAK,kBAAkB,EACrD,EAAK,YAAc,EAAK,YAC1B,CAEA,gBAAgB,UAAU,WAAa,SAAU,EAAM,CAIrD,IAHA,IAAI,EAAI,EACJ,EAAM,iBAAiB,OAEpB,EAAI,GAAK,CACd,GAAI,iBAAiB,KAAO,EAC1B,OAAO,iBAAiB,GAG1B,GAAK,CACP,CAEA,OAAO,IACT,EAEA,gBAAgB,UAAU,gBAAkB,SAAU,EAAM,EAAU,CACpE,IAAI,EAAa,EAAK,aAAa,WAE9B,KAQL,KAJA,IAAI,EAAW,EAAW,SACtB,EAAI,EACJ,EAAM,EAAS,OAEZ,EAAI,GACL,EAAS,KAAO,EAAK,cAIzB,GAAK,EAGP,IAAI,EAEA,GAAK,EAAM,IACb,EAAY,EAAS,EAAI,IAG3B,IAAI,EAAU,SAAS,KAAK,EAC5B,EAAQ,aAAa,OAAQ,IAAM,CAAQ,EAEvC,EACF,EAAW,aAAa,EAAS,CAAS,EAE1C,EAAW,YAAY,CAAO,CAdhC,CAgBF,EAEA,gBAAgB,UAAU,iBAAmB,SAAU,EAAM,EAAM,CACjE,GAAI,CAAC,KAAK,WAAW,CAAI,EAAG,CAC1B,IAAI,EAAW,gBAAgB,EAC3B,EAAS,SAAS,MAAM,EAC5B,EAAO,aAAa,KAAM,EAAK,OAAO,EACtC,EAAO,aAAa,YAAa,OAAO,EAExC,iBAAiB,KAAK,CAAI,EAE1B,IAAI,EAAO,EAAK,WAAW,KAC3B,EAAK,YAAY,CAAM,EACvB,IAAI,EAAS,SAAS,QAAQ,EAC9B,EAAO,aAAa,KAAM,CAAQ,EAClC,KAAK,gBAAgB,EAAM,CAAQ,EACnC,EAAO,YAAY,EAAK,YAAY,EACpC,EAAK,YAAY,CAAM,EACvB,IAAI,EAAU,SAAS,KAAK,EAC5B,EAAQ,aAAa,OAAQ,IAAM,CAAQ,EAC3C,EAAO,YAAY,CAAO,EAC1B,EAAK,KAAK,GAAK,GACf,EAAK,KAAK,CACZ,CAEA,EAAK,SAAS,EAAK,OAAO,CAC5B,EAEA,gBAAgB,UAAU,WAAa,UAAY,CAMjD,IALA,IAAI,GAAO,MAAQ,QAAA,CAAS,cAAc,eAAe,EAAE,CAAC,EAAE,EAC1D,GAAY,MAAQ,QAAA,CAAS,KAAK,KAAK,SACvC,EAAI,EACJ,EAAM,EAAS,OAEZ,EAAI,GACL,EAAS,IAAM,EAAS,EAAE,CAAC,KAAK,MAAQ,GAC1C,KAAK,kBAAkB,MAAQ,QAAA,CAAS,KAAM,EAAS,EAAE,EAG3D,GAAK,EAGP,CAAC,MAAQ,QAAA,CAAS,YAAc,EAClC,EAEA,gBAAgB,UAAU,YAAc,UAAY,EAC5C,MAAQ,QAAA,CAAS,aACrB,KAAK,WAAW,CAEpB,EAKA,SAAS,WAAW,EAAM,CACxB,IAAI,EACA,EAAM,EAAK,KAAK,GAAK,EAAK,KAAK,GAAG,OAAS,EAC3C,EAAQ,gBAAgB,EACxB,EAAM,eAAe,aAAa,EAAO,EAAI,EAC7C,EAAQ,EACZ,CAAC,MAAQ,QAAA,CAAS,QAAU,CAAC,EAC7B,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAgB,KAEZ,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,IACzB,GAAS,EACT,EAAgB,IAAI,cAAc,EAAK,EAAK,eAAe,eAAe,EAAE,GACnE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,IAChC,GAAS,EACT,EAAgB,IAAI,cAAc,EAAK,EAAK,eAAe,eAAe,EAAE,GACnE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,GAChC,EAAgB,IAAI,gBAAgB,EAAM,EAAK,eAAe,eAAe,EAAE,EACtE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,IAChC,GAAS,EACT,EAAgB,IAAI,iBAAiB,EAAK,EAAK,eAAe,eAAe,EAAE,GACtE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,IAChC,GAAS,EACT,EAAgB,IAAI,mBAAmB,EAAK,EAAK,eAAe,eAAe,EAAE,GACxE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,IAChC,GAAS,EACT,EAAgB,IAAI,oBAAoB,EAAK,EAAK,eAAe,eAAe,EAAE,GACzE,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,GAEhC,EAAgB,IAAI,gBAAgB,EAAK,EAAK,eAAe,eAAe,GAAI,CAAI,EAC3E,EAAK,KAAK,GAAG,EAAE,CAAC,KAAO,KAChC,GAAS,EACT,EAAgB,IAAI,sBAAsB,EAAK,EAAK,eAAe,eAAe,EAAE,GAGlF,IACD,MAAQ,QAAA,CAAS,QAAQ,KAAK,CAAa,EAI5C,IACF,EAAK,WAAW,KAAK,YAAY,CAAG,EACpC,EAAK,aAAa,aAAa,SAAU,OAAS,aAAe,IAAM,EAAQ,GAAG,IAG/E,MAAQ,QAAA,CAAS,QAAQ,QAC5B,EAAK,uBAAuB,MAAQ,OAAO,CAE/C,CAEA,WAAW,UAAU,YAAc,SAAU,EAAe,CAC1D,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,QAAQ,OAEpC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,QAAQ,EAAE,CAAC,YAAY,CAAa,CAE1D,EAIA,SAAS,eAAgB,CACvB,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAAC,EAC3B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,IAAI,EACA,EAAM,GAGV,IAFA,CAAC,MAAQ,QAAA,CAAS,QAAU,iBAAiB,UAAW,CAAG,EAEtD,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,iBAAiB,UAAW,EAAE,EAG7D,CAAC,MAAQ,QAAA,CAAS,QAAU,CAC9B,CAEA,cAAc,UAAU,UAAY,UAAY,CAC9C,IAAI,GAAa,MAAQ,QAAA,CAAS,QAAU,EACxC,GAAkB,MAAQ,QAAA,CAAS,QACvC,CAAC,MAAQ,QAAA,CAAS,QAAU,iBAAiB,UAAW,CAAS,GAEhE,MAAQ,QAAA,CAAS,QAAQ,IAAI,CAAc,EAE5C,IAAI,EAAI,EAER,IAAK,GAAK,MAAQ,QAAA,CAAS,QAAS,EAAI,EAAW,GAAK,EACtD,CAAC,MAAQ,QAAA,CAAS,MAAM,GAAK,iBAAiB,UAAW,EAAE,EAG7D,CAAC,MAAQ,QAAA,CAAS,QAAU,CAC9B,EAEA,cAAc,UAAU,MAAQ,UAAY,CAC1C,CAAC,MAAQ,QAAA,CAAS,QAAU,GAE3B,MAAQ,QAAA,CAAS,IAAI,MAAM,EAE5B,CAAC,MAAQ,QAAA,CAAS,GAAK,CACzB,EAIA,SAAS,eAAgB,CAAC,CAE1B,cAAc,UAAY,CACxB,eAAgB,UAAY,CAAC,EAC7B,oBAAqB,UAAY,CAAC,EAClC,wBAAyB,UAAY,CACnC,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,WAAW,cAC/D,CAAC,MAAQ,QAAA,CAAS,yBAA2B,IAAI,UAAU,MAAQ,OAAO,CAC5E,EACA,cAAe,UAAY,CAAC,EAC5B,aAAc,UAAY,CACxB,IAAI,GAAc,MAAQ,QAAA,CAAS,WAEnC,GAAI,EAAW,aAAe,MAAQ,QAAA,CAAS,KAAK,GAAI,CACtD,EAAW,WAAa,MAAQ,QAAA,CAAS,KAAK,GAC9C,IAAI,EAAiB,cAAc,MAAQ,QAAA,CAAS,KAAK,EAAE,EAC3D,EAAW,cAAc,yBAA2B,CACtD,CACF,EACA,2BAA4B,UAAY,CACtC,CAAC,MAAQ,QAAA,CAAS,YAAc,IAAI,eAAe,MAAQ,QAAA,CAAS,KAAM,MAAQ,OAAO,CAC3F,EACA,YAAa,UAAY,CACnB,EAAE,MAAQ,QAAA,CAAS,SAAW,EAAE,MAAQ,QAAA,CAAS,YAAc,MAAQ,QAAA,CAAS,iBAClF,CAAC,MAAQ,QAAA,CAAS,OAAS,GAE/B,EACA,YAAa,UAAY,EAClB,MAAQ,QAAA,CAAS,WAAa,EAAE,MAAQ,QAAA,CAAS,gBACpD,CAAC,MAAQ,QAAA,CAAS,OAAS,GAC3B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,YAAY,cAAgB,GAElD,EACA,YAAa,UAAY,CACvB,MAAK,MAAQ,QAAA,CAAS,SAAW,MAAQ,QAAA,CAAS,KAAK,IAMvD,CAFA,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,IAAI,GAAkB,MAAQ,QAAA,CAAS,KAAK,KAAO,GAElD,MAAQ,QAAA,CAAS,WAAW,SAAS,KAAK,CAAc,GAExD,MAAQ,QAAA,CAAS,WAAW,SAAS,cAAc,MAAQ,QAAA,CAAS,eAAe,IAAI,KAAK,GAE5F,MAAQ,QAAA,CAAS,WAAW,SAAS,YAAY,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,CAAC,EAE3F,KAAK,mBAAmB,GAEvB,MAAQ,QAAA,CAAS,WAAW,SAAS,QAAQ,CAAc,GAEvD,MAAQ,QAAA,CAAS,YAAY,WAC/B,MAAQ,QAAA,CAAS,WAAW,SAAS,QAAQ,EAAI,GAG/C,MAAQ,QAAA,CAAS,gBACpB,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAlBlB,CAoBpB,EACA,QAAS,UAAY,CACnB,CAAC,MAAQ,QAAA,CAAS,cAAgB,KAClC,CAAC,MAAQ,QAAA,CAAS,KAAO,KACzB,CAAC,MAAQ,QAAA,CAAS,WAAa,MAE9B,MAAQ,QAAA,CAAS,YAAY,QAAQ,CACxC,EACA,QAAS,IAAI,MACf,EACA,cAAc,UAAU,KAAO,cAAc,UAAU,YACvD,cAAc,UAAU,KAAO,cAAc,UAAU,YAIvD,SAAS,eAAe,EAAM,EAAY,EAAM,CAC9C,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAW,aAAa,EAAK,KAAK,EAChE,CAAC,MAAQ,QAAA,CAAS,IAAM,EAAW,YAAY,UAAU,MAAQ,QAAA,CAAS,SAAS,EACnF,KAAK,YAAY,EAAM,EAAY,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,MAAQ,QAAA,CAAS,IAAI,SAAW,MAAQ,QAAA,CAAS,UAAU,KAAO,MAAQ,QAAA,CAAS,IAAI,QAAU,MAAQ,QAAA,CAAS,UAAU,KAAO,MAAQ,QAAA,CAAS,IAAI,QAAS,CACpK,IAAI,EAAS,UAAU,QAAQ,EAC/B,EAAO,OAAS,MAAQ,QAAA,CAAS,UAAU,EAC3C,EAAO,QAAU,MAAQ,QAAA,CAAS,UAAU,EAC5C,IAAI,EAAM,EAAO,WAAW,IAAI,EAC5B,GAAQ,MAAQ,QAAA,CAAS,IAAI,MAC7B,GAAQ,MAAQ,QAAA,CAAS,IAAI,OAC7B,EAAS,EAAO,EAChB,GAAa,MAAQ,QAAA,CAAS,UAAU,GAAK,MAAQ,QAAA,CAAS,UAAU,EACxE,EACA,EACA,GAAO,MAAQ,QAAA,CAAS,UAAU,KAAO,MAAQ,QAAA,CAAS,WAAW,aAAa,yBAElF,EAAS,GAAa,IAAQ,kBAAoB,EAAS,GAAa,IAAQ,kBAClF,EAAa,EACb,EAAY,EAAa,IAEzB,EAAY,EACZ,EAAa,EAAY,GAG3B,EAAI,WAAW,MAAQ,QAAA,CAAS,KAAM,EAAO,GAAa,GAAI,EAAO,GAAc,EAAG,EAAW,EAAY,EAAG,GAAI,MAAQ,QAAA,CAAS,UAAU,GAAI,MAAQ,QAAA,CAAS,UAAU,CAAC,EAC/K,CAAC,MAAQ,QAAA,CAAS,IAAM,CAC1B,CACF,EAEA,eAAe,UAAU,mBAAqB,UAAY,EACvD,MAAQ,QAAA,CAAS,cAAc,WAAW,MAAQ,QAAA,CAAS,IAAK,EAAG,CAAC,CACvE,EAEA,eAAe,UAAU,QAAU,UAAY,CAC7C,CAAC,MAAQ,QAAA,CAAS,IAAM,IAC1B,EAIA,SAAS,cAAc,EAAM,EAAY,EAAM,CAC7C,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAK,OAChC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,SAAW,kBAAkB,MAAQ,QAAA,CAAS,OAAO,MAAM,EAC7E,KAAK,YAAY,EAAM,EAAY,CAAI,EACvC,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAI,EAAG,EAAW,UAAW,MAAQ,OAAO,EAAI,CAC7H,aAAc,EAChB,CACF,CAEA,gBAAgB,CAAC,eAAgB,aAAc,aAAa,EAAG,aAAa,EAE5E,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAI,GAAO,MAAQ,QAAA,CAAS,cAC5B,EAAI,UAAU,EACd,EAAI,OAAO,EAAG,CAAC,EACf,EAAI,QAAQ,MAAQ,QAAA,CAAS,KAAK,EAAG,CAAC,EACtC,EAAI,QAAQ,MAAQ,QAAA,CAAS,KAAK,GAAI,MAAQ,QAAA,CAAS,KAAK,CAAC,EAC7D,EAAI,OAAO,GAAI,MAAQ,QAAA,CAAS,KAAK,CAAC,EACtC,EAAI,OAAO,EAAG,CAAC,EACf,EAAI,KAAK,EACT,IAAI,EAGJ,IAAK,GAFM,MAAQ,QAAA,CAAS,OAAO,OAEpB,EAAG,GAAK,EAAG,MACnB,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,SAAS,MAChE,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,YAAY,CAGhD,EAEA,cAAc,UAAU,QAAU,UAAY,CAC5C,IAAI,EAGJ,IAAK,GAFM,MAAQ,QAAA,CAAS,OAAO,OAEpB,EAAG,GAAK,EAAG,KACnB,MAAQ,QAAA,CAAS,SAAS,KAC5B,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,QAAQ,EAI1C,CAAC,MAAQ,QAAA,CAAS,OAAS,KAC3B,CAAC,MAAQ,QAAA,CAAS,SAAW,IAC/B,EAIA,SAAS,cAAc,EAAM,EAAS,CACpC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,KAAK,iBAAmB,CAAC,EAC/E,CAAC,MAAQ,QAAA,CAAS,SAAW,kBAAkB,MAAQ,QAAA,CAAS,gBAAgB,MAAM,EACtF,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OACxC,EAAW,GAEf,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACnB,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,OAAS,MAChD,EAAW,IAGb,CAAC,MAAQ,QAAA,CAAS,SAAS,GAAK,qBAAqB,cAAc,MAAQ,QAAA,CAAS,SAAU,MAAQ,QAAA,CAAS,gBAAgB,GAAI,CAAC,EAGtI,CAAC,MAAQ,QAAA,CAAS,SAAW,EAEzB,IACD,MAAQ,QAAA,CAAS,QAAQ,uBAAuB,MAAQ,OAAO,CAEpE,CAEA,cAAc,UAAU,YAAc,UAAY,CAC5C,IAAE,MAAQ,QAAA,CAAS,SAIvB,KAAI,GAAa,MAAQ,QAAA,CAAS,QAAQ,eAAe,IACrD,GAAO,MAAQ,QAAA,CAAS,QAAQ,cAChC,EACA,GAAO,MAAQ,QAAA,CAAS,gBAAgB,OACxC,EACA,EACA,EAGJ,IAFA,EAAI,UAAU,EAET,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,IAAK,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,OAAS,IAAK,EAChD,MAAQ,QAAA,CAAS,gBAAgB,EAAE,CAAC,MACvC,EAAI,OAAO,EAAG,CAAC,EACf,EAAI,QAAQ,MAAQ,QAAA,CAAS,QAAQ,WAAW,SAAS,EAAG,CAAC,EAC7D,EAAI,QAAQ,MAAQ,QAAA,CAAS,QAAQ,WAAW,SAAS,GAAI,MAAQ,QAAA,CAAS,QAAQ,WAAW,SAAS,CAAC,EAC3G,EAAI,OAAO,GAAI,MAAQ,QAAA,CAAS,QAAQ,WAAW,SAAS,CAAC,EAC7D,EAAI,OAAO,EAAG,CAAC,GAGjB,GAAQ,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,EACrC,EAAK,EAAU,kBAAkB,EAAK,EAAE,EAAE,CAAC,GAAI,EAAK,EAAE,EAAE,CAAC,GAAI,CAAC,EAC9D,EAAI,OAAO,EAAG,GAAI,EAAG,EAAE,EACvB,IAAI,EACA,EAAO,EAAK,QAEhB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAM,EAAU,oBAAoB,EAAK,EAAE,EAAI,GAAI,EAAK,EAAE,GAAI,EAAK,EAAE,EAAE,EACvE,EAAI,cAAc,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,EAGlE,EAAM,EAAU,oBAAoB,EAAK,EAAE,EAAI,GAAI,EAAK,EAAE,GAAI,EAAK,EAAE,EAAE,EACvE,EAAI,cAAc,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,CAClE,EAGD,MAAQ,QAAA,CAAS,QAAQ,WAAW,SAAS,KAAK,EAAI,EAEvD,EAAI,KAAK,CArCgD,CAsC3D,EAEA,cAAc,UAAU,gBAAkB,YAAY,UAAU,gBAEhE,cAAc,UAAU,QAAU,UAAY,CAC5C,CAAC,MAAQ,QAAA,CAAS,QAAU,IAC9B,EAMA,SAAS,eAAe,EAAM,EAAY,EAAM,CAC9C,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,OACpC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAAC,EAChC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,aAAe,CAAC,EAClC,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EACpC,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,EACvC,CAAC,MAAQ,QAAA,CAAS,kBAAoB,IAAI,sBAC1C,KAAK,YAAY,EAAM,EAAY,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,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,aAAc,GAAM,CAAC,CAAC,CACvH,EAEA,eAAe,UAAU,mBAAqB,SAAU,EAAM,EAAY,CACxE,IAAI,EAAY,CACR,OACN,KAAM,EAAK,GACX,eAAgB,MAAQ,QAAA,CAAS,kBAAkB,qBAAqB,CAAU,EAClF,WAAY,CAAC,EACb,SAAU,CAAC,EACX,OAAQ,EAAK,KAAO,EACtB,EACI,EAAc,CAAC,EAqDnB,OAnDI,EAAK,KAAO,MAAQ,EAAK,KAAO,MAClC,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,IAAK,MAAQ,OAAO,EAEnF,EAAY,EAAE,IACjB,EAAU,GAAK,OAAS,QAAQ,EAAY,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAY,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAY,EAAE,EAAE,EAAE,EAAI,OAEvH,EAAK,KAAO,MAAQ,EAAK,KAAO,QACzC,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACzF,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EACzF,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAK,CACjE,EAAG,CACL,EAAG,EAAG,IAAM,MAAQ,OAAO,EAC3B,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAK,CACjE,EAAG,CACL,EAAG,EAAG,UAAW,MAAQ,OAAO,EAChC,EAAY,EAAI,IAAI,iBAAiB,MAAQ,QAAS,EAAK,EAAG,MAAQ,OAAO,GAG/E,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EAErF,EAAK,KAAO,MAAQ,EAAK,KAAO,MAClC,EAAU,IAAM,MAAQ,QAAA,CAAS,OAAO,EAAK,KAAO,QACpD,EAAU,IAAM,MAAQ,QAAA,CAAS,OAAO,EAAK,KAAO,QAEhD,EAAK,IAAM,IAEb,EAAU,GAAK,EAAK,IAGtB,EAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,KAAM,MAAQ,OAAO,EAEpF,EAAY,EAAE,IACjB,EAAU,GAAK,EAAY,EAAE,GAG3B,EAAK,IAEP,EAAY,EAAI,IADJ,aAAa,MAAQ,QAAS,EAAK,EAAG,SAAU,MAAQ,OACpD,EAEX,EAAY,EAAE,IACjB,EAAU,GAAK,EAAY,EAAE,UAC7B,EAAU,GAAK,EAAY,EAAE,WAAW,MAI5C,EAAU,EAAI,EAAK,IAAM,EAAI,UAAY,WAG1C,MAAQ,QAAA,CAAS,WAAW,KAAK,CAAS,EAE3C,EAAY,MAAQ,EACb,CACT,EAEA,eAAe,UAAU,mBAAqB,UAAY,CAKxD,MAAO,CAHL,GAAI,CAAC,EACL,aAAc,CAAC,CAEA,CACnB,EAEA,eAAe,UAAU,uBAAyB,SAAU,EAAM,CAUhE,MAAO,CARL,UAAW,CACT,QAAS,EACT,OAAQ,GACR,KAAM,MAAQ,QAAA,CAAS,kBAAkB,UAAU,EACnD,GAAI,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,EAAG,EAAG,IAAM,MAAQ,OAAO,EAC7E,OAAQ,yBAAyB,qBAAqB,MAAQ,QAAS,EAAM,MAAQ,OAAO,CAC9F,CAEe,CACnB,EAEA,eAAe,UAAU,mBAAqB,SAAU,EAAM,CAC5D,IAAI,EAAc,IAAI,YAAY,MAAQ,QAAS,GAAO,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,iBAAiB,EAK1H,OAHC,MAAQ,QAAA,CAAS,OAAO,KAAK,CAAW,EAEzC,KAAK,oBAAoB,CAAW,EAC7B,CACT,EAEA,eAAe,UAAU,aAAe,UAAY,CAClD,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,UAAU,OAEtC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,CAAC,MAAQ,QAAA,CAAS,aAAa,IAAM,MAAQ,QAAA,CAAS,UAAU,GAMlE,IAHA,KAAK,cAAc,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,aAAc,GAAM,CAAC,CAAC,EACrH,GAAO,MAAQ,QAAA,CAAS,kBAAkB,OAErC,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,kBAAkB,EAAE,CAAC,SAAS,EAGlD,KAAK,gBAAgB,GAEpB,MAAQ,QAAA,CAAS,kBAAkB,kBAAkB,MAAQ,QAAA,CAAS,aAAa,CACtF,EAEA,eAAe,UAAU,wBAA0B,SAAU,EAAW,CACtE,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,WAAW,OAEvC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GAClB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,SAClC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,WAAW,KAAK,CAAS,CAG/D,EAEA,eAAe,UAAU,6BAA+B,UAAY,CAClE,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,WAAW,OAEvC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GAClB,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,SAClC,MAAQ,QAAA,CAAS,WAAW,EAAE,CAAC,WAAW,IAAI,CAGrD,EAEA,eAAe,UAAU,YAAc,SAAU,EAAQ,CACvD,IAAI,EACA,EAAM,EAAO,OAEjB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAO,EAAE,CAAC,OAAS,EAEvB,EAEA,eAAe,UAAU,aAAe,SAAU,EAAK,EAAW,EAAc,EAAc,EAAY,CACxG,IAAI,EACA,EAAM,EAAI,OAAS,EACnB,EACA,EACA,EAAY,CAAC,EACb,EAAe,CAAC,EAChB,EACA,EACA,EACA,EAAgB,CAAC,CAAC,CAAC,OAAO,CAAU,EAExC,IAAK,EAAI,EAAK,GAAK,EAAG,IAAQ,CAS5B,GARA,EAAe,KAAK,uBAAuB,EAAI,EAAE,EAE5C,EAGH,EAAU,GAAK,EAAa,EAAe,GAF3C,EAAI,EAAE,CAAC,cAAgB,EAKrB,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,KAC7E,EAGH,EAAU,EAAE,CAAC,MAAM,OAAS,GAF5B,EAAU,GAAK,KAAK,mBAAmB,EAAI,GAAI,CAAa,EAK9D,EAAU,KAAK,EAAU,EAAE,CAAC,KAAK,OAC5B,GAAI,EAAI,EAAE,CAAC,KAAO,KAAM,CAC7B,GAAI,CAAC,EACH,EAAU,GAAK,KAAK,mBAAmB,EAAI,EAAE,OAI7C,IAFA,EAAO,EAAU,EAAE,CAAC,GAAG,OAElB,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAU,EAAE,CAAC,aAAa,GAAK,EAAU,EAAE,CAAC,GAAG,GAInD,KAAK,aAAa,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,GAAI,EAAU,EAAE,CAAC,aAAc,EAAc,CAAa,CACtG,MAAW,EAAI,EAAE,CAAC,KAAO,MAClB,IACH,EAAmB,KAAK,uBAAuB,EAAI,EAAE,EACrD,EAAU,GAAK,GAGjB,EAAc,KAAK,EAAU,EAAE,EAC/B,KAAK,wBAAwB,EAAU,EAAE,GAChC,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,KACpF,IACH,EAAU,GAAK,KAAK,mBAAmB,EAAI,EAAE,GAEtC,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAAQ,EAAI,EAAE,CAAC,KAAO,MAC9D,GAOH,EAAW,EAAU,GACrB,EAAS,OAAS,KAPlB,EAAW,eAAe,YAAY,EAAI,EAAE,CAAC,EAAE,EAC/C,EAAS,KAAK,MAAQ,QAAS,EAAI,EAAE,EACrC,EAAU,GAAK,GAEd,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAQ,GAMhD,EAAa,KAAK,CAAQ,GACjB,EAAI,EAAE,CAAC,KAAO,OAClB,GASH,EAAW,EAAU,GACrB,EAAS,OAAS,KATlB,EAAW,eAAe,YAAY,EAAI,EAAE,CAAC,EAAE,EAC/C,EAAU,GAAK,EACf,EAAS,KAAK,MAAQ,QAAS,EAAK,EAAG,CAAS,GAE/C,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAQ,EAE9C,EAAe,IAMjB,EAAa,KAAK,CAAQ,GAG5B,KAAK,oBAAoB,EAAI,GAAI,EAAI,CAAC,CACxC,CAMA,IAJA,KAAK,6BAA6B,EAClC,KAAK,YAAY,CAAS,EAC1B,EAAM,EAAa,OAEd,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAa,EAAE,CAAC,OAAS,EAE7B,EAEA,eAAe,UAAU,mBAAqB,UAAY,CACxD,CAAC,MAAQ,QAAA,CAAS,gBAAgB,QAAU,EAC5C,CAAC,MAAQ,QAAA,CAAS,gBAAgB,OAAS,GAC3C,KAAK,gBAAgB,GAEpB,MAAQ,QAAA,CAAS,kBAAkB,kBAAkB,MAAQ,QAAA,CAAS,aAAa,EAEpF,KAAK,aAAa,MAAQ,QAAA,CAAS,iBAAkB,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,UAAW,EAAI,CACrH,EAEA,eAAe,UAAU,qBAAuB,SAAU,EAAiB,EAAgB,EACrF,EAAgB,QAAU,EAAe,GAAG,OAAS,MAAQ,QAAA,CAAS,iBACxE,EAAe,QAAU,EAAgB,QACzC,EAAe,SAAW,EAAe,GAAG,EAC5C,EAAe,OAAS,GAE5B,EAEA,eAAe,UAAU,UAAY,UAAY,CAC/C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,WAAW,OACnC,EACA,EACA,EACA,EACA,EACA,EACA,GAAY,MAAQ,QAAA,CAAS,WAAW,SACxC,GAAO,MAAQ,QAAA,CAAS,WAAW,cACnC,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAQxB,GAPA,GAAgB,MAAQ,QAAA,CAAS,WAAW,GAC5C,EAAO,EAAa,KAMhB,GAAG,IAAS,MAAQ,IAAS,OAAS,EAAa,KAAO,GAAK,CAAC,EAAa,KAAK,eAAiB,EAAa,OAAS,IAAM,MAAQ,QAAA,CAAS,WAAW,qBAAuB,GAAI,CAuBxL,IAtBA,EAAS,KAAK,EACd,EAAQ,EAAa,SAEjB,IAAS,MAAQ,IAAS,MAC5B,EAAI,YAAc,IAAS,KAAO,EAAa,GAAK,EAAa,IACjE,EAAI,UAAY,EAAa,GAC7B,EAAI,QAAU,EAAa,GAC3B,EAAI,SAAW,EAAa,GAC5B,EAAI,WAAa,EAAa,IAAM,GAEpC,EAAI,UAAY,IAAS,KAAO,EAAa,GAAK,EAAa,IAGjE,EAAS,WAAW,EAAa,IAAI,EAEjC,IAAS,MAAQ,IAAS,MAC5B,EAAI,UAAU,EAGhB,EAAS,aAAa,EAAa,cAAc,eAAe,KAAK,EACrE,EAAO,EAAM,OAER,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAa5B,KAZI,IAAS,MAAQ,IAAS,QAC5B,EAAI,UAAU,EAEV,EAAa,KACf,EAAI,YAAY,EAAa,EAAE,EAC/B,EAAI,eAAiB,EAAa,KAItC,EAAQ,EAAM,EAAE,CAAC,QACjB,EAAO,EAAM,OAER,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,EAAM,EAAE,CAAC,IAAM,IACjB,EAAI,OAAO,EAAM,EAAE,CAAC,EAAE,GAAI,EAAM,EAAE,CAAC,EAAE,EAAE,EAC9B,EAAM,EAAE,CAAC,IAAM,IACxB,EAAI,cAAc,EAAM,EAAE,CAAC,IAAI,GAAI,EAAM,EAAE,CAAC,IAAI,GAAI,EAAM,EAAE,CAAC,IAAI,GAAI,EAAM,EAAE,CAAC,IAAI,GAAI,EAAM,EAAE,CAAC,IAAI,GAAI,EAAM,EAAE,CAAC,IAAI,EAAE,EAEtH,EAAI,UAAU,GAId,IAAS,MAAQ,IAAS,QAC5B,EAAI,OAAO,EAEP,EAAa,IACf,EAAI,aAAa,MAAQ,QAAA,CAAS,YAAY,EAGpD,CAEI,IAAS,MAAQ,IAAS,MAC5B,EAAI,KAAK,EAAa,CAAC,EAGzB,EAAS,QAAQ,CACnB,CAEJ,EAEA,eAAe,UAAU,YAAc,SAAU,EAAiB,EAAO,EAAM,EAAQ,CACrF,IAAI,EACA,EAAM,EAAM,OAAS,EACrB,EACa,EAEjB,IAAK,EAAI,EAAK,GAAK,EAAG,IAChB,EAAM,EAAE,CAAC,KAAO,MAClB,EAAiB,EAAK,EAAE,CAAC,UACzB,KAAK,qBAAqB,EAAiB,CAAc,GAChD,EAAM,EAAE,CAAC,KAAO,MAAQ,EAAM,EAAE,CAAC,KAAO,MAAQ,EAAM,EAAE,CAAC,KAAO,MAAQ,EAAM,EAAE,CAAC,KAAO,KACjG,KAAK,WAAW,EAAM,GAAI,EAAK,EAAE,EACxB,EAAM,EAAE,CAAC,KAAO,KACzB,KAAK,WAAW,EAAM,GAAI,EAAK,GAAI,CAAc,EACxC,EAAM,EAAE,CAAC,KAAO,KACzB,KAAK,aAAa,EAAM,GAAI,EAAK,GAAI,CAAc,EAC1C,EAAM,EAAE,CAAC,KAAO,MAAQ,EAAM,EAAE,CAAC,KAAO,KACjD,KAAK,mBAAmB,EAAM,GAAI,EAAK,GAAI,CAAc,EAChD,EAAM,EAAE,CAAC,KAAO,KACzB,KAAK,YAAY,EAAgB,EAAM,EAAE,CAAC,GAAI,EAAK,EAAE,CAAC,EAAE,EAC/C,EAAM,EAAE,CAAC,GAIlB,GACF,KAAK,UAAU,CAEnB,EAEA,eAAe,UAAU,kBAAoB,SAAU,EAAa,EAAO,CACzE,IAAK,MAAQ,QAAA,CAAS,eAAiB,EAAM,MAAQ,EAAY,WAAW,KAAM,CAChF,IAAI,EAAa,EAAY,QACzB,EAAQ,EAAM,MACd,EACA,EACA,EACA,EAAO,EAAM,QACjB,EAAW,OAAS,EACpB,IAAI,EAAoB,EAAY,WAAW,eAE/C,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAC5B,IAAI,EAAY,EAAM,OAAO,GAE7B,GAAI,GAAa,EAAU,EAAG,CAG5B,IAFA,EAAM,EAAU,QAEX,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,IAAM,GACR,EAAW,KAAK,CACd,EAAG,IACH,EAAG,EAAkB,kBAAkB,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,CAChF,CAAC,EAGH,EAAW,KAAK,CACd,EAAG,IACH,IAAK,EAAkB,oBAAoB,EAAU,EAAE,EAAI,GAAI,EAAU,EAAE,GAAI,EAAU,EAAE,EAAE,CAC/F,CAAC,EAGC,IAAQ,GACV,EAAW,KAAK,CACd,EAAG,IACH,EAAG,EAAkB,kBAAkB,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,CAChF,CAAC,EAGC,EAAU,GAAK,IACjB,EAAW,KAAK,CACd,EAAG,IACH,IAAK,EAAkB,oBAAoB,EAAU,EAAE,EAAI,GAAI,EAAU,EAAE,GAAI,EAAU,EAAE,EAAE,CAC/F,CAAC,EACD,EAAW,KAAK,CACd,EAAG,GACL,CAAC,EAEL,CACF,CAEA,EAAY,QAAU,CACxB,CACF,EAEA,eAAe,UAAU,WAAa,SAAU,EAAU,EAAU,CAClE,GAAI,EAAS,KAAO,IAAQ,EAAS,cAAe,CAClD,IAAI,EACA,EAAM,EAAS,aAAa,OAEhC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,KAAK,kBAAkB,EAAS,aAAa,GAAI,EAAS,EAAE,CAEhE,CACF,EAEA,eAAe,UAAU,WAAa,SAAU,EAAW,EAAU,EAAgB,CACnF,IAAI,EAAY,EAAS,OAErB,EAAS,EAAE,OAAS,MAAQ,QAAA,CAAS,iBACvC,EAAU,GAAK,OAAS,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,MAGnH,EAAS,EAAE,MAAQ,EAAe,SAAW,MAAQ,QAAA,CAAS,iBAChE,EAAU,KAAO,EAAS,EAAE,EAAI,EAAe,QAEnD,EAEA,eAAe,UAAU,mBAAqB,SAAU,EAAW,EAAU,EAAgB,CAC3F,IAAI,EAAY,EAAS,MACrB,EAEJ,GAAI,CAAC,EAAU,KAAO,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAQ,EAAU,IAAM,IAAM,EAAS,EAAE,MAAQ,EAAS,EAAE,MAAO,CACxI,IAAI,GAAO,MAAQ,QAAA,CAAS,WAAW,cACnC,EAAM,EAAS,EAAE,EACjB,EAAM,EAAS,EAAE,EAErB,GAAI,EAAU,IAAM,EAClB,EAAM,EAAI,qBAAqB,EAAI,GAAI,EAAI,GAAI,EAAI,GAAI,EAAI,EAAE,MACxD,CACL,IAAI,EAAM,KAAK,MAAc,EAAI,GAAK,EAAI,KAAI,GAAc,EAAI,GAAK,EAAI,KAAI,CAAE,EAC3E,EAAM,KAAK,MAAM,EAAI,GAAK,EAAI,GAAI,EAAI,GAAK,EAAI,EAAE,EACjD,EAAU,EAAS,EAAE,EAErB,GAAW,EACb,EAAU,IACD,GAAW,KACpB,EAAU,MAGZ,IAAI,EAAO,EAAM,EACb,EAAI,KAAK,IAAI,EAAM,EAAS,EAAE,CAAC,EAAI,EAAO,EAAI,GAC9C,EAAI,KAAK,IAAI,EAAM,EAAS,EAAE,CAAC,EAAI,EAAO,EAAI,GAClD,EAAM,EAAI,qBAAqB,EAAG,EAAG,EAAG,EAAI,GAAI,EAAI,GAAI,CAAG,CAC7D,CAEA,IAAI,EACA,EAAM,EAAU,EAAE,EAClB,EAAU,EAAS,EAAE,EACrB,EAAU,EAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAS,EAAE,aAAe,EAAS,EAAE,eACvC,EAAU,EAAS,EAAE,EAAE,EAAI,EAAI,IAGjC,EAAI,aAAa,EAAQ,EAAI,GAAK,IAAK,QAAU,EAAQ,EAAI,EAAI,GAAK,IAAM,EAAQ,EAAI,EAAI,GAAK,IAAM,EAAQ,EAAI,EAAI,GAAK,IAAM,EAAU,GAAG,EAGjJ,EAAU,IAAM,CAClB,CAEA,EAAU,KAAO,EAAS,EAAE,EAAI,EAAe,OACjD,EAEA,eAAe,UAAU,aAAe,SAAU,EAAW,EAAU,EAAgB,CACrF,IAAI,EAAY,EAAS,MACrB,EAAI,EAAS,EAEb,IAAM,EAAE,OAAS,MAAQ,QAAA,CAAS,iBACpC,EAAU,GAAK,EAAE,UACjB,EAAU,GAAK,EAAE,WAAW,KAG1B,EAAS,EAAE,OAAS,MAAQ,QAAA,CAAS,iBACvC,EAAU,GAAK,OAAS,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,IAAM,QAAQ,EAAS,EAAE,EAAE,EAAE,EAAI,MAGnH,EAAS,EAAE,MAAQ,EAAe,SAAW,MAAQ,QAAA,CAAS,iBAChE,EAAU,KAAO,EAAS,EAAE,EAAI,EAAe,UAG7C,EAAS,EAAE,OAAS,MAAQ,QAAA,CAAS,iBACvC,EAAU,GAAK,EAAS,EAAE,EAE9B,EAEA,eAAe,UAAU,QAAU,UAAY,CAC7C,CAAC,MAAQ,QAAA,CAAS,WAAa,KAC/B,CAAC,MAAQ,QAAA,CAAS,WAAa,KAC/B,CAAC,MAAQ,QAAA,CAAS,cAAgB,KAClC,CAAC,MAAQ,QAAA,CAAS,WAAW,OAAS,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAU,OAAS,CACvC,EAKA,SAAS,eAAe,EAAM,EAAY,EAAM,CAC9C,KAAK,YAAY,EAAM,EAAY,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,IAAI,GAAO,MAAQ,QAAA,CAAS,cAC5B,EAAI,WAAa,MAAQ,QAAA,CAAS,KAAK,GACvC,EAAI,SAAS,EAAG,GAAI,MAAQ,QAAA,CAAS,KAAK,IAAK,MAAQ,QAAA,CAAS,KAAK,EAAE,CACzE,EAKA,SAAS,cAAc,EAAM,EAAY,EAAM,CAC7C,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAClC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,GACpC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,GACpC,CAAC,MAAQ,QAAA,CAAS,OAAS,GAC3B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,cAAgB,KAClC,CAAC,MAAQ,QAAA,CAAS,WAAa,SAC/B,CAAC,MAAQ,QAAA,CAAS,OAAS,CACzB,KAAM,gBACN,OAAQ,gBACR,OAAQ,EACR,OAAQ,EACV,EACA,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,kBAAmB,YAAY,EAAG,aAAa,EAC9I,cAAc,UAAU,QAAU,UAAU,QAAQ,CAAC,CAAC,WAAW,IAAI,EAErE,cAAc,UAAU,aAAe,UAAY,CACjD,IAAI,GAAgB,MAAQ,QAAA,CAAS,aAAa,YAClD,CAAC,MAAQ,QAAA,CAAS,gBAAkB,iBAAiB,EAAa,EAAI,EAAa,EAAE,OAAS,CAAC,EAC/F,IAAI,EAAU,GAEV,EAAa,IACf,EAAU,GACV,CAAC,MAAQ,QAAA,CAAS,OAAO,KAAO,KAAK,WAAW,EAAa,EAAE,GAE/D,CAAC,MAAQ,QAAA,CAAS,OAAO,KAAO,gBAGlC,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,IAAI,EAAY,GAEZ,EAAa,KACf,EAAY,GACZ,CAAC,MAAQ,QAAA,CAAS,OAAO,OAAS,KAAK,WAAW,EAAa,EAAE,EACjE,CAAC,MAAQ,QAAA,CAAS,OAAO,OAAS,EAAa,IAGjD,IAAI,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,EAEhF,EACA,EACA,EAAU,EAAa,EACvB,GAAgB,MAAQ,QAAA,CAAS,QACrC,CAAC,MAAQ,QAAA,CAAS,OAAS,EAC3B,CAAC,MAAQ,QAAA,CAAS,OAAO,OAAS,EAAa,UAAY,OAAS,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,CAAC,CAAC,QAC1I,EAAM,EAAa,UAAU,OAE7B,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,GAAe,MAAQ,QAAA,CAAS,KAAK,YACrC,EAAiB,EAAa,GAAK,KAAQ,EAAa,UACxD,GAAO,EACP,EAAO,EACP,EAAY,GACZ,GAAM,EAEV,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAsB3B,IArBA,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,YAAY,EAAa,UAAU,GAAI,EAAS,QAAS,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,CAAC,CAAC,OAAO,EAC1L,EAAY,GAAY,EAAS,MAAQ,CAAC,EAC1C,EAAa,MAAM,EAEf,GAAe,EAAQ,EAAE,CAAC,IAC5B,GAAO,CAAC,EACR,GAAQ,EAAa,QACrB,GAAQ,KACR,EAAY,IAGd,EAAS,EAAU,OAAS,EAAU,OAAO,EAAE,CAAC,GAAK,CAAC,EACtD,EAAO,EAAO,OACd,EAAa,MAAM,EAAa,UAAY,IAAK,EAAa,UAAY,GAAG,EAEzE,GACF,KAAK,4BAA4B,EAAc,EAAc,EAAQ,EAAE,CAAC,KAAM,GAAM,CAAI,EAG1F,EAAW,iBAAiB,CAAI,EAE3B,EAAI,EAAG,EAAI,EAAM,GAAK,EAAG,CAK5B,IAJA,EAAO,EAAO,EAAE,CAAC,GAAG,EAAE,EAAE,OACxB,EAAY,EAAO,EAAE,CAAC,GAAG,EACzB,EAAU,CAAC,EAEN,EAAI,EAAG,EAAI,EAAM,GAAK,EACrB,IAAM,GACR,EAAQ,KAAK,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC,EAG7I,EAAQ,KAAK,EAAa,SAAS,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC,EAG7Z,EAAQ,KAAK,EAAa,SAAS,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,EAAU,EAAE,EAAI,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,EAAG,EAAa,SAAS,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,GAAI,CAAC,CAAC,EAC3Z,EAAS,GAAK,CAChB,CAEI,IACF,IAAQ,EAAQ,EAAE,CAAC,EACnB,IAAQ,IAGL,MAAQ,QAAA,CAAS,UAAU,IAC9B,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAI,CAAC,KAAO,EAExC,CAAC,MAAQ,QAAA,CAAS,UAAU,IAAO,CACjC,KAAM,CACR,EAGF,IAAO,CACT,CACF,EAEA,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAI,GAAO,MAAQ,QAAA,CAAS,cAC5B,EAAI,MAAQ,MAAQ,QAAA,CAAS,OAAO,OACpC,EAAI,QAAU,OACd,EAAI,SAAW,QACf,EAAI,WAAa,GAEX,MAAQ,QAAA,CAAS,KAAK,cACzB,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,aAAa,aAAc,MAAQ,QAAA,CAAS,kBAAkB,EAG7H,IAAI,EACA,EACA,EACA,EACA,EACA,EACA,GAAmB,MAAQ,QAAA,CAAS,aAAa,gBACjD,GAAW,MAAQ,QAAA,CAAS,aAAa,YAAY,EACzD,EAAM,EAAQ,OACd,IAAI,EACA,EAAW,KACX,EAAa,KACb,EAAc,KACd,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAI,CAAC,EAAQ,EAAE,CAAC,EAAG,CAWjB,GAVA,EAAiB,EAAgB,GAE7B,KACD,MAAQ,QAAA,CAAS,WAAW,SAAS,KAAK,GAE1C,MAAQ,QAAA,CAAS,WAAW,SAAS,aAAa,EAAe,CAAC,GAElE,MAAQ,QAAA,CAAS,WAAW,SAAS,WAAW,EAAe,CAAC,IAG9D,MAAQ,QAAA,CAAS,KAAM,CAgB1B,IAfI,GAAkB,EAAe,GAC/B,IAAa,EAAe,KAC9B,EAAW,EAAe,GAC1B,EAAI,UAAY,EAAe,IAExB,KAAc,MAAQ,QAAA,CAAS,OAAO,OAC/C,GAAY,MAAQ,QAAA,CAAS,OAAO,KACpC,EAAI,WAAa,MAAQ,QAAA,CAAS,OAAO,MAG3C,GAAY,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,KAC1C,EAAO,EAAS,QAEf,MAAQ,QAAA,CAAS,WAAW,cAAc,UAAU,EAEhD,EAAI,EAAG,EAAI,EAAM,GAAK,EAMzB,IALA,EAAU,EAAS,GACnB,EAAO,EAAQ,QAEd,MAAQ,QAAA,CAAS,WAAW,cAAc,OAAO,EAAQ,GAAI,EAAQ,EAAE,EAEnE,EAAI,EAAG,EAAI,EAAM,GAAK,GACxB,MAAQ,QAAA,CAAS,WAAW,cAAc,cAAc,EAAQ,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,EAAE,GAItJ,MAAQ,QAAA,CAAS,WAAW,cAAc,UAAU,GAEpD,MAAQ,QAAA,CAAS,WAAW,cAAc,KAAK,CAElD,CAEA,IAAK,MAAQ,QAAA,CAAS,OAAQ,CA0B5B,IAzBI,GAAkB,EAAe,GAC/B,IAAgB,EAAe,KACjC,EAAc,EAAe,GAC7B,EAAI,UAAY,EAAe,IAExB,KAAiB,MAAQ,QAAA,CAAS,OAAO,SAClD,GAAe,MAAQ,QAAA,CAAS,OAAO,OACvC,EAAI,WAAa,MAAQ,QAAA,CAAS,OAAO,QAGvC,GAAkB,EAAe,GAC/B,IAAe,EAAe,KAChC,EAAa,EAAe,GAC5B,EAAI,YAAc,EAAe,IAE1B,KAAgB,MAAQ,QAAA,CAAS,OAAO,SACjD,GAAc,MAAQ,QAAA,CAAS,OAAO,OACtC,EAAI,aAAe,MAAQ,QAAA,CAAS,OAAO,QAG7C,GAAY,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,KAC1C,EAAO,EAAS,QAEf,MAAQ,QAAA,CAAS,WAAW,cAAc,UAAU,EAEhD,EAAI,EAAG,EAAI,EAAM,GAAK,EAMzB,IALA,EAAU,EAAS,GACnB,EAAO,EAAQ,QAEd,MAAQ,QAAA,CAAS,WAAW,cAAc,OAAO,EAAQ,GAAI,EAAQ,EAAE,EAEnE,EAAI,EAAG,EAAI,EAAM,GAAK,GACxB,MAAQ,QAAA,CAAS,WAAW,cAAc,cAAc,EAAQ,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,GAAI,EAAQ,EAAI,EAAE,GAItJ,MAAQ,QAAA,CAAS,WAAW,cAAc,UAAU,GAEpD,MAAQ,QAAA,CAAS,WAAW,cAAc,OAAO,CAEpD,CAEI,IACD,MAAQ,QAAA,CAAS,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,CAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,WAAW,MAAQ,QAAA,CAAS,KAAK,IAAM,KAAK,GAEvE,MAAQ,QAAA,CAAS,KAAK,SACzB,CAAC,MAAQ,QAAA,CAAS,WAAa,SAAS,KAAK,EAC7C,CAAC,MAAQ,QAAA,CAAS,aAAe,SAAS,GAAG,EAC7C,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,cAEnD,MAAQ,QAAA,CAAS,WAAW,aAAa,MAAQ,QAAA,CAAS,YAAY,GAEtE,MAAQ,QAAA,CAAS,YAAY,aAAa,MAAQ,QAAA,CAAS,UAAU,GAEtE,CAAC,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,YAGrD,UAAU,MAAQ,QAAA,CAAS,WAAW,CACxC,EACA,wBAAyB,UAAY,CACnC,CAAC,MAAQ,QAAA,CAAS,yBAA2B,IAAI,UAAU,MAAQ,OAAO,EAC1E,CAAC,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,YACzD,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,cAE/C,MAAQ,QAAA,CAAS,KAAK,KACxB,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,GAGxE,MAAQ,QAAA,CAAS,KAAK,KACxB,MAAQ,QAAA,CAAS,aAAa,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,EAAE,GAG3E,MAAQ,QAAA,CAAS,KAAK,KAAO,GAChC,KAAK,aAAa,CAEtB,EACA,cAAe,UAAY,CACzB,IAAI,GAA2B,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,mBAAmB,MAAQ,CAAC,EAEnH,IAAK,MAAQ,QAAA,CAAS,eAAe,QAAS,CAC5C,IAAI,GAAe,MAAQ,QAAA,CAAS,eAAe,IAAI,MAAM,EAE7D,EAAwB,UAAY,EACpC,EAAwB,gBAAkB,CAC5C,EAEK,MAAQ,QAAA,CAAS,eAAe,SACnC,EAAwB,SAAW,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,EAE/E,EACA,YAAa,UAAY,EAGlB,MAAQ,QAAA,CAAS,KAAK,KAAO,MAAQ,QAAA,CAAS,SAInD,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GAEnB,MAAQ,QAAA,CAAS,gBACpB,CAAC,MAAQ,QAAA,CAAS,cAAgB,IAEtC,EACA,QAAS,UAAY,CACnB,CAAC,MAAQ,QAAA,CAAS,aAAe,KACjC,CAAC,MAAQ,QAAA,CAAS,mBAAqB,MAElC,MAAQ,QAAA,CAAS,eACpB,CAAC,MAAQ,QAAA,CAAS,aAAe,OAG9B,MAAQ,QAAA,CAAS,eACnB,MAAQ,QAAA,CAAS,YAAY,QAAQ,EAEtC,CAAC,MAAQ,QAAA,CAAS,YAAc,KAEpC,EACA,2BAA4B,UAAY,CACtC,CAAC,MAAQ,QAAA,CAAS,YAAc,IAAI,aAAa,MAAQ,QAAA,CAAS,KAAM,MAAQ,SAAU,MAAQ,QAAA,CAAS,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,cAAc,EAAM,EAAY,EAAM,CAC7C,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,oBAAoB,EAAG,aAAa,EAElI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,GAEC,MAAQ,QAAA,CAAS,KAAK,SACzB,EAAO,SAAS,MAAM,EACtB,EAAK,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,EAAE,EACpD,EAAK,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,EAAE,EACrD,EAAK,aAAa,QAAS,MAAQ,QAAA,CAAS,KAAK,EAAE,GAElD,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,EAAE,GAE3E,MAAQ,QAAA,CAAS,WAAW,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,EAAE,IAE7E,EAAO,UAAU,KAAK,EACtB,EAAK,MAAM,OAAS,MAAQ,QAAA,CAAS,KAAK,GAAK,KAC/C,EAAK,MAAM,QAAU,MAAQ,QAAA,CAAS,KAAK,GAAK,KAChD,EAAK,MAAM,iBAAmB,MAAQ,QAAA,CAAS,KAAK,KAGrD,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAI,CACjD,EAIA,SAAS,aAAa,EAAM,EAAY,EAAM,CAC5C,CAAC,MAAQ,QAAA,CAAS,OAAS,EAAK,OAChC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAAC,EAAK,QACrC,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EACrC,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,OAAS,kBAAkB,MAAQ,QAAA,CAAS,OAAO,MAAM,EAAI,CAAC,EAC7G,KAAK,YAAY,EAAM,EAAY,CAAI,EACvC,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,EAAK,GAAI,EAAG,EAAW,UAAW,MAAQ,OAAO,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,MAAQ,QAAA,CAAS,KAAK,UACxB,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,CAAC,GAE1E,MAAQ,QAAA,CAAS,WAAW,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,CAAC,EAE5E,CAAC,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,aAEzD,CAAC,MAAQ,QAAA,CAAS,oBAAsB,MAAQ,QAAA,CAAS,YAE7D,EAEA,aAAa,UAAU,iBAAmB,SAAU,EAAM,EAAK,CAI7D,IAHA,IAAI,EAAI,EACJ,EAEG,EAAI,IACJ,MAAQ,QAAA,CAAS,SAAS,KAAO,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,iBACjE,GAAe,MAAQ,QAAA,CAAS,SAAS,EAAE,CAAC,eAAe,GAG7D,GAAK,EAGH,GACD,MAAQ,QAAA,CAAS,aAAa,aAAa,EAAM,CAAW,GAE5D,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAI,CAEnD,EAKA,SAAS,cAAc,EAAM,EAAY,EAAM,CAE7C,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAE5B,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAK,OAEpC,CAAC,MAAQ,QAAA,CAAS,WAAa,CAAC,EAEhC,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EAEpC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAE/B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,EAEvC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,CAAC,EACtC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,SAAS,GAAG,EAChD,KAAK,YAAY,EAAM,EAAY,CAAI,EAGvC,CAAC,MAAQ,QAAA,CAAS,aAAe,CAAC,EAClC,CAAC,MAAQ,QAAA,CAAS,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,IAAI,EAGJ,GAFA,CAAC,MAAQ,QAAA,CAAS,YAAY,MAAM,SAAW,GAE1C,MAAQ,QAAA,CAAS,KAAK,SACxB,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,eAAe,EAE5E,GAAQ,MAAQ,QAAA,CAAS,eACpB,CACL,EAAO,SAAS,KAAK,EACrB,IAAI,GAAQ,MAAQ,QAAA,CAAS,KAAK,MAAQ,MAAQ,QAAA,CAAS,KAAK,MAAQ,MAAQ,QAAA,CAAS,WAAW,SACpG,EAAK,aAAa,QAAS,EAAK,CAAC,EACjC,EAAK,aAAa,SAAU,EAAK,CAAC,EAClC,EAAK,aAAa,MAAQ,QAAA,CAAS,eAAe,GAEjD,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAI,CACjD,CAEA,KAAK,cAAc,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,cAAe,MAAQ,QAAA,CAAS,gBAAiB,EAAG,CAAC,EAAG,EAAI,EAC3J,KAAK,mBAAmB,EACxB,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,EAEA,cAAc,UAAU,oBAAsB,SAAU,EAAc,EAAO,CAC3E,IAAI,EACA,EAAM,EAAa,OAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAQ,EAAa,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAM,GAAI,EAAM,GAAI,CAAC,EAG1E,OAAO,CACT,EAEA,cAAc,UAAU,0BAA4B,SAAU,EAAM,EAAa,CAC/E,IAAI,EAAQ,EAAK,GAAG,EAChB,EAAe,EAAK,aACpB,EACA,EAAM,EAAM,QACZ,EACA,EACA,EACA,EAEA,QAAO,GAIX,KAAK,EAAI,EAAG,EAAI,EAAM,EAAG,GAAK,EAC5B,EAAS,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC1D,EAAS,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC1D,EAAa,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAI,EAAE,EAClE,EAAa,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAI,EAAE,EAClE,KAAK,YAAY,EAAQ,EAAQ,EAAY,EAAY,CAAW,EAGlE,EAAM,IACR,EAAS,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC1D,EAAS,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC1D,EAAa,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC9D,EAAa,KAAK,oBAAoB,EAAc,EAAM,EAAE,EAAE,EAC9D,KAAK,YAAY,EAAQ,EAAQ,EAAY,EAAY,CAAW,EAPtE,CASF,EAEA,cAAc,UAAU,YAAc,SAAU,EAAQ,EAAQ,EAAY,EAAY,EAAa,CACnG,KAAK,iBAAiB,EAAQ,EAAQ,EAAY,CAAU,EAC5D,IAAI,GAAU,MAAQ,QAAA,CAAS,iBAC/B,EAAY,EAAI,MAAM,EAAO,KAAM,EAAY,CAAC,EAChD,EAAY,KAAO,MAAM,EAAO,MAAO,EAAY,IAAI,EACvD,EAAY,EAAI,MAAM,EAAO,IAAK,EAAY,CAAC,EAC/C,EAAY,KAAO,MAAM,EAAO,OAAQ,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,SAAU,EAAI,EAAI,EAAI,EAAI,CAGnE,IAAK,IAFD,EAAS,CAAC,CAAC,EAAG,GAAI,EAAG,EAAE,EAAG,CAAC,EAAG,GAAI,EAAG,EAAE,CAAC,EAEnC,EAAG,EAAG,EAAG,EAAG,EAAM,EAAI,EAAI,EAAI,EAAG,EAAI,EAAG,EAAE,EAEjD,EAAI,EAAI,EAAG,GAAK,GAAK,EAAG,GAAK,EAAI,EAAG,GACpC,EAAI,GAAK,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAAK,EAAI,EAAG,GAChD,EAAI,EAAI,EAAG,GAAK,EAAI,EAAG,GACvB,GAAK,EAEL,GAAK,EAEL,GAAK,EAED,IAAM,GAAK,IAAM,IACV,IAAM,GACf,EAAI,CAAC,EAAI,EAEL,EAAI,GAAK,EAAI,GACf,EAAO,EAAE,CAAC,KAAK,KAAK,WAAW,EAAG,EAAI,EAAI,EAAI,EAAI,CAAC,CAAC,IAGtD,EAAO,EAAI,EAAI,EAAI,EAAI,EAEnB,GAAQ,IACV,GAAM,CAAC,EAAI,OAAO,CAAI,IAAM,EAAI,GAC5B,EAAK,GAAK,EAAK,GAAG,EAAO,EAAE,CAAC,KAAK,KAAK,WAAW,EAAI,EAAI,EAAI,EAAI,EAAI,CAAC,CAAC,EAC3E,GAAM,CAAC,EAAI,OAAO,CAAI,IAAM,EAAI,GAC5B,EAAK,GAAK,EAAK,GAAG,EAAO,EAAE,CAAC,KAAK,KAAK,WAAW,EAAI,EAAI,EAAI,EAAI,EAAI,CAAC,CAAC,KAKjF,CAAC,MAAQ,QAAA,CAAS,iBAAiB,KAAO,MAAM,MAAM,KAAM,EAAO,EAAE,EACrE,CAAC,MAAQ,QAAA,CAAS,iBAAiB,IAAM,MAAM,MAAM,KAAM,EAAO,EAAE,EACpE,CAAC,MAAQ,QAAA,CAAS,iBAAiB,MAAQ,MAAM,MAAM,KAAM,EAAO,EAAE,EACtE,CAAC,MAAQ,QAAA,CAAS,iBAAiB,OAAS,MAAM,MAAM,KAAM,EAAO,EAAE,CACzE,EAEA,cAAc,UAAU,WAAa,SAAU,EAAG,EAAI,EAAI,EAAI,EAAI,EAAG,CACnE,OAAO,MAAM,EAAI,EAAG,CAAC,EAAI,EAAG,GAAK,EAAI,MAAM,EAAI,EAAG,CAAC,EAAI,EAAI,EAAG,GAAK,GAAK,EAAI,GAAK,MAAM,EAAG,CAAC,EAAI,EAAG,GAAK,MAAM,EAAG,CAAC,EAAI,EAAG,EAC1H,EAEA,cAAc,UAAU,qBAAuB,SAAU,EAAW,EAAa,CAC/E,IAAI,EACA,EAAM,EAAU,OAEpB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAU,IAAM,EAAU,EAAE,CAAC,GAC/B,KAAK,0BAA0B,EAAU,GAAI,CAAW,EAC/C,EAAU,IAAM,EAAU,EAAE,CAAC,IACtC,KAAK,qBAAqB,EAAU,EAAE,CAAC,GAAI,CAAW,CAG5D,EAEA,cAAc,UAAU,mBAAqB,SAAU,EAAK,CAC1D,OAAQ,MAAQ,QAAA,CAAS,YAAY,GAAK,EAAI,IAAM,MAAQ,QAAA,CAAS,YAAY,GAAK,EAAI,IAAM,MAAQ,QAAA,CAAS,YAAY,OAAS,MAAQ,QAAA,CAAS,YAAY,GAAK,EAAI,EAAI,EAAI,QAAU,MAAQ,QAAA,CAAS,YAAY,QAAU,MAAQ,QAAA,CAAS,YAAY,GAAK,EAAI,EAAI,EAAI,MACrR,EAEA,cAAc,UAAU,mBAAqB,UAAY,CAGvD,GAFA,KAAK,kBAAkB,EAEnB,EAAE,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,MAAO,CAC5F,IAAI,GAAmB,MAAQ,QAAA,CAAS,gBACpC,EAAM,OASV,GARA,EAAgB,EAAI,EACpB,EAAgB,KAAO,CAAC,EACxB,EAAgB,EAAI,EACpB,EAAgB,KAAO,CAAC,EACxB,KAAK,sBAAsB,MAAQ,QAAA,CAAS,UAAW,CAAe,EACtE,EAAgB,MAAQ,EAAgB,KAAO,EAAgB,EAAI,EAAI,EAAgB,KAAO,EAAgB,EAC9G,EAAgB,OAAS,EAAgB,KAAO,EAAgB,EAAI,EAAI,EAAgB,KAAO,EAAgB,EAE3G,KAAK,mBAAmB,CAAe,EACzC,OAGF,IAAI,EAAU,GAkBd,IAhBK,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAgB,QACtD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,OAEjD,MAAQ,QAAA,CAAS,UAAU,aAAa,QAAS,EAAgB,KAAK,EAEvE,EAAU,KAGP,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAgB,SACtD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,QAEjD,MAAQ,QAAA,CAAS,UAAU,aAAa,SAAU,EAAgB,MAAM,EAEzE,EAAU,IAGR,IAAY,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAgB,IAAM,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAgB,EAAG,CAC7H,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,MAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,OAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,EAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAgB,GAEjD,MAAQ,QAAA,CAAS,UAAU,aAAa,WAAY,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,CAAC,EAE3M,IAAI,GAAc,MAAQ,QAAA,CAAS,UAAU,MACzC,EAAiB,cAAgB,MAAQ,QAAA,CAAS,YAAY,EAAI,OAAS,MAAQ,QAAA,CAAS,YAAY,EAAI,MAChH,EAAW,UAAY,EACvB,EAAW,gBAAkB,CAC/B,CACF,CACF,EAKA,SAAS,aAAa,EAAM,EAAY,EAAM,CAC5C,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,CAC9B,EAAG,OACH,EAAG,QACH,EAAG,EACH,EAAG,CACL,EACA,CAAC,MAAQ,QAAA,CAAS,WAAa,MAC/B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,qBAAsB,YAAY,EAAG,YAAY,EAE/I,aAAa,UAAU,cAAgB,UAAY,CAGjD,GAFA,CAAC,MAAQ,QAAA,CAAS,SAAW,KAAK,WAAW,GAExC,MAAQ,QAAA,CAAS,SAAU,CAC9B,CAAC,MAAQ,QAAA,CAAS,WAAa,MAC/B,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,KAAK,KAAK,EACtD,CAAC,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,KAAK,KAAK,GAErD,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,MAAQ,QAAA,CAAS,KAAK,GAEzE,MAAQ,QAAA,CAAS,WAAW,aAAa,UAAW,MAAQ,QAAA,CAAS,KAAK,EAE3E,IAAI,EAAI,SAAS,GAAG,GAEnB,MAAQ,QAAA,CAAS,cAAc,YAAY,CAAC,EAE7C,CAAC,MAAQ,QAAA,CAAS,UAAY,CAChC,KACE,CAAC,MAAQ,QAAA,CAAS,WAAa,OAC/B,CAAC,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,aAGlD,KAAK,eAAe,CACtB,EAEA,aAAa,UAAU,aAAe,UAAY,CAChD,IAAI,GAAgB,MAAQ,QAAA,CAAS,aAAa,YAClD,CAAC,MAAQ,QAAA,CAAS,gBAAkB,iBAAiB,EAAa,EAAI,EAAa,EAAE,OAAS,CAAC,EAC/F,IAAI,GAAkB,MAAQ,QAAA,CAAS,UAAU,MAC7C,EAAY,EAAa,GAAK,KAAK,WAAW,EAAa,EAAE,EAAI,gBACrE,EAAe,KAAO,EACtB,EAAe,MAAQ,EAEnB,EAAa,KACf,EAAe,OAAS,KAAK,WAAW,EAAa,EAAE,EACvD,EAAe,YAAc,EAAa,GAAK,MAGjD,IAAI,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,EAEpF,GAAI,EAAE,MAAQ,QAAA,CAAS,WAAW,YAAY,MAI5C,GAHA,EAAe,SAAW,EAAa,UAAY,KACnD,EAAe,WAAa,EAAa,UAAY,KAEjD,EAAS,OACX,CAAC,MAAQ,QAAA,CAAS,UAAU,UAAY,EAAS,WAC5C,CACL,EAAe,WAAa,EAAS,QACrC,IAAI,EAAU,EAAa,QAE3B,EAAe,UADF,EAAa,OAE1B,EAAe,WAAa,CAC9B,CAGF,IAAI,EACA,EACA,EAAU,EAAa,EAC3B,EAAM,EAAQ,OACd,IAAI,EACA,EACA,EACA,GAAgB,MAAQ,QAAA,CAAS,QACjC,EACA,EAAW,GACX,EAAM,EAEV,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAuC3B,IAtCK,MAAQ,QAAA,CAAS,WAAW,YAAY,QACrC,MAAQ,QAAA,CAAS,UAAU,GAM/B,GAAS,MAAQ,QAAA,CAAS,UAAU,IALpC,EAAQ,SAAS,MAAM,EACvB,EAAM,aAAa,iBAAkB,MAAM,EAC3C,EAAM,aAAa,kBAAmB,OAAO,EAC7C,EAAM,aAAa,oBAAqB,GAAG,IAKvC,MAAQ,QAAA,CAAS,YAChB,MAAQ,QAAA,CAAS,UAAU,IAC9B,GAAW,MAAQ,QAAA,CAAS,UAAU,GACtC,EAAQ,EAAQ,SAAS,KAEzB,EAAU,UAAU,KAAK,EACzB,EAAQ,MAAM,WAAa,EAC3B,EAAQ,SAAS,KAAK,EACtB,EAAM,YAAY,CAAK,EACvB,SAAS,CAAO,MAGT,MAAQ,QAAA,CAAS,SAY5B,GAAS,MAAQ,QAAA,CAAS,UAAU,IAAQ,MAAQ,QAAA,CAAS,UAAU,GAAO,SAAS,MAAM,GAXxF,MAAQ,QAAA,CAAS,UAAU,IAC9B,GAAW,MAAQ,QAAA,CAAS,UAAU,GACtC,GAAS,MAAQ,QAAA,CAAS,UAAU,KAEpC,EAAU,UAAU,MAAM,EAC1B,SAAS,CAAO,EAChB,EAAQ,UAAU,MAAM,EACxB,SAAS,CAAK,EACd,EAAQ,YAAY,CAAK,IAOxB,MAAQ,QAAA,CAAS,WAAW,YAAY,MAAO,CAClD,IAAI,GAAY,MAAQ,QAAA,CAAS,WAAW,YAAY,YAAY,EAAa,UAAU,GAAI,EAAS,QAAS,MAAQ,QAAA,CAAS,WAAW,YAAY,cAAc,EAAa,CAAC,CAAC,CAAC,OAAO,EAE1L,EAEA,EACU,EAAS,KAET,KAYd,GATA,EAAa,MAAM,EAEf,GAAa,EAAU,SACzB,EAAS,EAAU,OAAO,EAAE,CAAC,GAC7B,EAAa,MAAM,EAAa,UAAY,IAAK,EAAa,UAAY,GAAG,EAC7E,EAAW,KAAK,gBAAgB,EAAc,CAAM,EACpD,EAAM,aAAa,IAAK,CAAQ,IAG5B,MAAQ,QAAA,CAAS,UAsBpB,MAAQ,QAAA,CAAS,UAAU,YAAY,CAAK,MAtBd,CAG/B,IAFC,MAAQ,QAAA,CAAS,UAAU,YAAY,CAAO,EAE3C,GAAa,EAAU,OAAQ,CAEjC,SAAS,KAAK,YAAY,CAAK,EAC/B,IAAI,EAAc,EAAM,QAAQ,EAChC,EAAM,aAAa,QAAS,EAAY,MAAQ,CAAC,EACjD,EAAM,aAAa,SAAU,EAAY,OAAS,CAAC,EACnD,EAAM,aAAa,UAAW,EAAY,EAAI,EAAI,KAAO,EAAY,EAAI,GAAK,KAAO,EAAY,MAAQ,GAAK,KAAO,EAAY,OAAS,EAAE,EAC5I,IAAI,EAAa,EAAM,MACnB,EAAmB,cAAgB,EAAY,EAAI,GAAK,OAAS,EAAY,EAAI,GAAK,MAC1F,EAAW,UAAY,EACvB,EAAW,gBAAkB,EAC7B,EAAQ,EAAE,CAAC,QAAU,EAAY,EAAI,CACvC,MACE,EAAM,aAAa,QAAS,CAAC,EAC7B,EAAM,aAAa,SAAU,CAAC,EAGhC,EAAQ,YAAY,CAAK,CAC3B,CAGF,MAIE,GAHA,EAAM,YAAc,EAAQ,EAAE,CAAC,IAC/B,EAAM,eAAe,uCAAwC,YAAa,UAAU,GAE9E,MAAQ,QAAA,CAAS,UASpB,MAAQ,QAAA,CAAS,UAAU,YAAY,CAAK,MATd,EAC9B,MAAQ,QAAA,CAAS,UAAU,YAAY,CAAO,EAG/C,IAAI,GAAS,EAAM,MACf,EAAmB,iBAAmB,CAAC,EAAa,UAAY,IAAM,QAC1E,GAAO,UAAY,EACnB,GAAO,gBAAkB,CAC3B,EAMI,MAAQ,QAAA,CAAS,SAGrB,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAO,EAFnC,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAO,EAKrC,CAAC,MAAQ,QAAA,CAAS,UAAU,EAAI,CAAC,MAAM,QAAU,QACjD,CAAC,MAAQ,QAAA,CAAS,UAAU,GAAO,EACnC,GAAO,CACT,CAEA,KAAO,GAAO,MAAQ,QAAA,CAAS,UAAU,QACvC,CAAC,MAAQ,QAAA,CAAS,UAAU,EAAI,CAAC,MAAM,QAAU,OACjD,GAAO,CAEX,EAEA,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAI,EAEJ,IAAK,MAAQ,QAAA,CAAS,KAAK,YAAa,CACtC,GAAI,EAAE,MAAQ,QAAA,CAAS,eAAiB,EAAE,MAAQ,QAAA,CAAS,mBACzD,OAGF,IAAK,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,eAAe,QAAS,EAEzE,MAAQ,QAAA,CAAS,WAAW,aAAa,UAAW,EAAE,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,EAAE,GAAK,IAAM,EAAE,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,EAAE,GAAK,KAAO,MAAQ,QAAA,CAAS,MAAQ,KAAO,MAAQ,QAAA,CAAS,KAAK,EAE1N,GAAY,MAAQ,QAAA,CAAS,WAAW,MACxC,IAAI,EAAc,aAAe,EAAE,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,EAAE,GAAK,MAAQ,EAAE,MAAQ,QAAA,CAAS,eAAe,MAAM,EAAE,EAAE,GAAK,MAC3I,EAAS,UAAY,EACrB,EAAS,gBAAkB,CAC7B,CACF,CAEA,IAAC,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,aAAa,aAAc,MAAQ,QAAA,CAAS,kBAAkB,EAEvH,IAAE,MAAQ,QAAA,CAAS,oBAAsB,EAAE,MAAQ,QAAA,CAAS,aAAa,oBAI7E,KAAI,EACA,EACA,EAAQ,EACR,GAAmB,MAAQ,QAAA,CAAS,aAAa,gBACjD,GAAW,MAAQ,QAAA,CAAS,aAAa,YAAY,EACzD,EAAM,EAAQ,OACd,IAAI,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAQ,EAAE,CAAC,EACb,GAAS,GAET,GAAY,MAAQ,QAAA,CAAS,UAAU,GACvC,GAAY,MAAQ,QAAA,CAAS,UAAU,GACvC,EAAiB,EAAgB,GACjC,GAAS,EAEL,EAAe,KAAK,KAChB,MAAQ,QAAA,CAAS,SAIrB,EAAS,aAAa,YAAa,EAAe,CAAC,GAHnD,EAAS,MAAM,gBAAkB,EAAe,EAChD,EAAS,MAAM,UAAY,EAAe,IAO9C,EAAS,MAAM,QAAU,EAAe,EAEpC,EAAe,IAAM,EAAe,KAAK,IAC3C,EAAS,aAAa,eAAgB,EAAe,EAAE,EAGrD,EAAe,IAAM,EAAe,KAAK,IAC3C,EAAS,aAAa,SAAU,EAAe,EAAE,EAG/C,EAAe,IAAM,EAAe,KAAK,KAC3C,EAAS,aAAa,OAAQ,EAAe,EAAE,EAC/C,EAAS,MAAM,MAAQ,EAAe,KAK5C,IAAK,MAAQ,QAAA,CAAS,UAAU,SAAW,EAAE,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,gBAAkB,MAAQ,QAAA,CAAS,MAAO,CACnI,IAAI,GAAe,MAAQ,QAAA,CAAS,UAAU,QAAQ,GAEjD,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,QAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,OAE7C,MAAQ,QAAA,CAAS,WAAW,aAAa,QAAS,EAAY,KAAK,IAGjE,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,SAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,QAE7C,MAAQ,QAAA,CAAS,WAAW,aAAa,SAAU,EAAY,MAAM,GAGxE,IAAI,EAAS,EAEb,IAAK,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,MAAQ,EAAS,IAAM,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,OAAS,EAAS,IAAM,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,EAAI,IAAW,MAAQ,QAAA,CAAS,YAAY,IAAM,EAAY,EAAI,EAAQ,CACzQ,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,MAAQ,EAAS,EAC/D,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,OAAS,EAAS,EAChE,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,EAAI,EAClD,CAAC,MAAQ,QAAA,CAAS,YAAY,EAAI,EAAY,EAAI,GAEjD,MAAQ,QAAA,CAAS,WAAW,aAAa,WAAY,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,EAAI,KAAO,MAAQ,QAAA,CAAS,YAAY,CAAC,EAE5M,GAAY,MAAQ,QAAA,CAAS,WAAW,MACxC,IAAI,EAAe,cAAgB,MAAQ,QAAA,CAAS,YAAY,EAAI,OAAS,MAAQ,QAAA,CAAS,YAAY,EAAI,MAC9G,EAAS,UAAY,EACrB,EAAS,gBAAkB,CAC7B,CACF,CA5EI,CA6EN,EAKA,SAAS,cAAc,EAAM,EAAY,EAAM,CAC7C,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAW,aAAa,EAAK,KAAK,EAChE,KAAK,YAAY,EAAM,EAAY,CAAI,CACzC,CAEA,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,cAAe,iBAAkB,aAAc,iBAAiB,EAAG,aAAa,EAE9I,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,GAAa,MAAQ,QAAA,CAAS,WAAW,eAAe,MAAQ,QAAA,CAAS,SAAS,EAElF,EAAM,IAAI,OAET,MAAQ,QAAA,CAAS,KAAK,SACzB,CAAC,MAAQ,QAAA,CAAS,UAAY,SAAS,OAAO,GAE7C,MAAQ,QAAA,CAAS,UAAU,aAAa,SAAU,MAAQ,QAAA,CAAS,UAAU,EAAI,IAAI,GAErF,MAAQ,QAAA,CAAS,UAAU,aAAa,UAAW,MAAQ,QAAA,CAAS,UAAU,EAAI,IAAI,GAEtF,MAAQ,QAAA,CAAS,UAAU,eAAe,+BAAgC,OAAQ,CAAS,GAE3F,MAAQ,QAAA,CAAS,aAAa,aAAa,MAAQ,QAAA,CAAS,SAAS,GAErE,MAAQ,QAAA,CAAS,YAAY,aAAa,SAAU,MAAQ,QAAA,CAAS,UAAU,CAAC,GAEhF,MAAQ,QAAA,CAAS,YAAY,aAAa,UAAW,MAAQ,QAAA,CAAS,UAAU,CAAC,IAEjF,MAAQ,QAAA,CAAS,aAAa,YAAY,CAAG,EAGhD,EAAI,YAAc,YAClB,EAAI,IAAM,GAEL,MAAQ,QAAA,CAAS,KAAK,KACxB,MAAQ,QAAA,CAAS,YAAY,aAAa,MAAO,MAAQ,QAAA,CAAS,KAAK,EAAE,CAE9E,EAIA,SAAS,eAAe,EAAM,EAAY,EAAM,CAC9C,KAAK,UAAU,EACf,KAAK,aAAa,EAAM,EAAY,CAAI,EACxC,KAAK,cAAc,EACnB,IAAI,EAAU,gBAAgB,QAe9B,GAdA,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAI,EAAG,EAAG,MAAQ,OAAO,EAE1E,EAAK,GAAG,EAAE,GACZ,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EAClF,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,EAClF,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,OAAO,GAElF,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAQ,MAAQ,QAAS,EAAK,GAAG,EAAG,EAAG,EAAG,MAAQ,OAAO,EAG7E,EAAK,GAAG,IACV,CAAC,MAAQ,QAAA,CAAS,EAAI,EAAQ,MAAQ,QAAS,EAAK,GAAG,EAAG,EAAG,EAAG,MAAQ,OAAO,GAG7E,EAAK,GAAG,GAAG,EAAE,QAAU,EAAK,GAAG,GAAG,EAAE,EAAE,CAAC,GAAI,CAC7C,IAAI,EACA,EAAM,EAAK,GAAG,GAAG,EAAE,OAEvB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAK,GAAG,GAAG,EAAE,EAAE,CAAC,GAAK,KACrB,EAAK,GAAG,GAAG,EAAE,EAAE,CAAC,GAAK,IAEzB,CAEA,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,GAAG,GAAK,GAC1B,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,GAAK,EAAQ,MAAQ,QAAS,EAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,OAAO,EACzF,CAAC,MAAQ,QAAA,CAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,IAAI,OACjC,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAElC,CAAC,MAAQ,QAAA,CAAS,eAAiB,CACjC,MAAO,MAAQ,OACjB,CACF,CAEA,gBAAgB,CAAC,YAAa,aAAc,gBAAgB,EAAG,cAAc,EAE7E,eAAe,UAAU,MAAQ,UAAY,CAC3C,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,KAAK,eAAe,OAC5C,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAIxB,GAFA,GAAQ,MAAQ,QAAA,CAAS,KAAK,eAAe,GAEzC,EAAK,OAAS,KAAM,CACtB,EAAmB,EAAK,gBAAgB,MACxC,EAAiB,EAAK,UAAU,MAChC,IAAI,GAAe,MAAQ,QAAA,CAAS,GAAG,EAAI,KACvC,EAAS,cACT,EAAS,4CACb,EAAiB,YAAc,EAC/B,EAAiB,kBAAoB,EACrC,EAAe,gBAAkB,EACjC,EAAe,mBAAqB,EACpC,EAAe,sBAAwB,EACvC,EAAiB,UAAY,EAC7B,EAAiB,gBAAkB,CACrC,CAEJ,EAEA,eAAe,UAAU,eAAiB,UAAY,CAAC,EAEvD,eAAe,UAAU,KAAO,UAAY,CAAC,EAE7C,eAAe,UAAU,YAAc,UAAY,CACjD,IAAI,GAAQ,MAAQ,QAAA,CAAS,cACzB,EACA,EAEJ,IAAK,MAAQ,QAAA,CAAS,UAGpB,IAFA,GAAO,MAAQ,QAAA,CAAS,UAAU,OAE7B,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAQ,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,eAAe,MAAM,MAAQ,EAIvE,GAAI,IAAS,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,OAAS,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,GAAG,QAAU,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,GAAG,OAAS,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,CAGhX,IAFC,MAAQ,QAAA,CAAS,IAAI,MAAM,GAEvB,MAAQ,QAAA,CAAS,UAGpB,IAFA,GAAO,MAAQ,QAAA,CAAS,UAAU,OAAS,EAEtC,EAAI,EAAK,GAAK,EAAG,IAAQ,CAC5B,IAAI,GAAW,MAAQ,QAAA,CAAS,UAAU,EAAE,CAAC,eAAe,OAE3D,MAAQ,QAAA,CAAS,IAAI,UAAU,CAAC,EAAQ,EAAE,EAAE,GAAI,CAAC,EAAQ,EAAE,EAAE,GAAI,EAAQ,EAAE,EAAE,EAAE,GAE/E,MAAQ,QAAA,CAAS,IAAI,QAAQ,CAAC,EAAQ,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAQ,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAQ,GAAG,EAAE,EAAE,GAEhG,MAAQ,QAAA,CAAS,IAAI,QAAQ,CAAC,EAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAQ,GAAG,CAAC,GAEvF,MAAQ,QAAA,CAAS,IAAI,MAAM,EAAI,EAAQ,EAAE,EAAE,GAAI,EAAI,EAAQ,EAAE,EAAE,GAAI,EAAI,EAAQ,EAAE,EAAE,EAAE,GAErF,MAAQ,QAAA,CAAS,IAAI,UAAU,EAAQ,EAAE,EAAE,GAAI,EAAQ,EAAE,EAAE,GAAI,EAAQ,EAAE,EAAE,EAAE,CAChF,CASF,IANK,MAAQ,QAAA,CAAS,GACnB,MAAQ,QAAA,CAAS,IAAI,UAAU,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,GAE7G,MAAQ,QAAA,CAAS,IAAI,UAAU,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAG,EAAE,MAAQ,QAAA,CAAS,GAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,CAAC,GAGrG,MAAQ,QAAA,CAAS,EAAG,CACvB,IAAI,GAEC,MAAQ,QAAA,CAAS,EACP,EAAE,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAM,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,EAE9J,EAAE,MAAQ,QAAA,CAAS,GAAG,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,GAAG,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,IAAK,MAAQ,QAAA,CAAS,GAAG,GAAK,MAAQ,QAAA,CAAS,EAAE,EAAE,EAAE,EAGnK,EAAM,KAAK,KAAc,EAAW,IAAI,EAAc,EAAW,IAAI,EAAc,EAAW,IAAI,CAAE,EAEpG,EAAU,CAAC,EAAW,GAAK,EAAK,EAAW,GAAK,EAAK,EAAW,GAAK,CAAG,EACxE,EAAiB,KAAK,KAAK,EAAQ,GAAK,EAAQ,GAAK,EAAQ,GAAK,EAAQ,EAAE,EAC5E,EAAa,KAAK,MAAM,EAAQ,GAAI,CAAc,EAClD,EAAa,KAAK,MAAM,EAAQ,GAAI,CAAC,EAAQ,EAAE,GAElD,MAAQ,QAAA,CAAS,IAAI,QAAQ,CAAU,CAAC,CAAC,QAAQ,CAAC,CAAU,CAC/D,EAEC,MAAQ,QAAA,CAAS,IAAI,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,CAAC,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,CAAC,GAErH,MAAQ,QAAA,CAAS,IAAI,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,MAAQ,QAAA,CAAS,GAAG,EAAE,EAAE,GAE9H,MAAQ,QAAA,CAAS,IAAI,WAAW,MAAQ,QAAA,CAAS,WAAW,SAAS,EAAI,GAAI,MAAQ,QAAA,CAAS,WAAW,SAAS,EAAI,EAAG,CAAC,GAE1H,MAAQ,QAAA,CAAS,IAAI,UAAU,EAAG,GAAI,MAAQ,QAAA,CAAS,GAAG,CAAC,EAE5D,IAAI,EAAmB,EAAE,MAAQ,QAAA,CAAS,SAAS,QAAQ,MAAQ,QAAA,CAAS,GAAG,EAE/E,IAAK,IAAqB,MAAQ,QAAA,CAAS,GAAG,QAAU,MAAQ,QAAA,CAAS,KAAK,eAAgB,CAC5F,GAAO,MAAQ,QAAA,CAAS,KAAK,eAAe,OAC5C,IAAI,EACA,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAGxB,GAFA,GAAQ,MAAQ,QAAA,CAAS,KAAK,eAAe,GAEzC,EAAK,OAAS,KAAM,CACtB,GAAI,EAAkB,CACpB,IAAI,GAAY,MAAQ,QAAA,CAAS,IAAI,MAAM,EAE3C,EAAiB,EAAK,UAAU,MAChC,EAAe,UAAY,EAC3B,EAAe,gBAAkB,CACnC,EAEK,MAAQ,QAAA,CAAS,GAAG,OACvB,EAAmB,EAAK,gBAAgB,MACxC,EAAiB,aAAe,MAAQ,QAAA,CAAS,GAAG,EAAI,KACxD,EAAiB,mBAAqB,MAAQ,QAAA,CAAS,GAAG,EAAI,KAElE,EAGD,MAAQ,QAAA,CAAS,IAAI,OAAO,MAAQ,QAAA,CAAS,QAAQ,CACxD,CACF,CAEA,CAAC,MAAQ,QAAA,CAAS,cAAgB,EACpC,EAEA,eAAe,UAAU,aAAe,SAAU,EAAK,CACrD,KAAK,kBAAkB,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,IAAI,EAAW,CAAC,EACZ,EAAuB,CAAC,EACxB,EAAW,EACX,EAAM,EACN,EAAuB,EACvB,EAAW,GACX,EAAY,GAEhB,SAAS,EAAc,EAAI,CAIzB,IAHA,IAAI,EAAI,EACJ,EAAW,EAAG,OAEX,EAAI,GACL,EAAqB,EAAE,CAAC,YAAc,IACxC,EAAqB,OAAO,EAAG,CAAC,EAChC,IACA,IAEK,EAAS,UACZ,EAAqB,GAIzB,GAAK,CAET,CAEA,SAAS,EAAkB,EAAS,EAAe,CACjD,GAAI,CAAC,EACH,OAAO,KAKT,IAFA,IAAI,EAAI,EAED,EAAI,GAAK,CACd,GAAI,EAAqB,EAAE,CAAC,OAAS,GAAW,EAAqB,EAAE,CAAC,OAAS,KAC/E,OAAO,EAAqB,EAAE,CAAC,UAGjC,GAAK,CACP,CAEA,IAAI,EAAW,IAAI,cAGnB,OAFA,EAAe,EAAU,CAAO,EAChC,EAAS,QAAQ,EAAS,CAAa,EAChC,CACT,CAEA,SAAS,GAA0B,CACjC,IAAI,EACA,EAAW,EAAqB,OAChC,EAAa,CAAC,EAElB,IAAK,EAAI,EAAG,EAAI,EAAU,GAAK,EAC7B,EAAW,KAAK,EAAqB,EAAE,CAAC,SAAS,EAGnD,OAAO,CACT,CAEA,SAAS,GAAkB,CACzB,GAAwB,EACxB,GAAS,CACX,CAEA,SAAS,GAAuB,CAC9B,GACF,CAEA,SAAS,EAAe,EAAU,EAAS,CACzC,EAAS,iBAAiB,UAAW,CAAa,EAClD,EAAS,iBAAiB,UAAW,CAAe,EACpD,EAAS,iBAAiB,QAAS,CAAoB,EACvD,EAAqB,KAAK,CACxB,KAAM,EACN,UAAW,CACb,CAAC,EACD,GAAO,CACT,CAEA,SAAS,EAAc,EAAQ,CAC7B,IAAI,EAAW,IAAI,cAGnB,OAFA,EAAe,EAAU,IAAI,EAC7B,EAAS,UAAU,CAAM,EAClB,CACT,CAEA,SAAS,EAAS,EAAK,EAAW,CAChC,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,SAAS,EAAK,CAAS,CAE7D,CAEA,SAAS,EAAa,EAAK,EAAW,CACpC,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,aAAa,EAAK,CAAS,CAEjE,CAEA,SAAS,EAAK,EAAW,CACvB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,KAAK,CAAS,CAEpD,CAEA,SAAS,EAAO,EAAS,CACvB,IAAI,EAAc,EAAU,EACxB,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,YAAY,CAAW,EAG3D,EAAW,EAEP,GAAwB,CAAC,EAC3B,OAAO,sBAAsB,CAAM,EAEnC,EAAW,EAEf,CAEA,SAAS,EAAM,EAAS,CACtB,EAAW,EACX,OAAO,sBAAsB,CAAM,CACrC,CAEA,SAAS,EAAM,EAAW,CACxB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,MAAM,CAAS,CAErD,CAEA,SAAS,GAAY,EAAO,EAAS,EAAW,CAC9C,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,YAAY,EAAO,EAAS,CAAS,CAE3E,CAEA,SAAS,EAAK,EAAW,CACvB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,KAAK,CAAS,CAEpD,CAEA,SAAS,EAAY,EAAW,CAC9B,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,YAAY,CAAS,CAE3D,CAEA,SAAS,GAAQ,EAAW,CAC1B,IAAI,EAEJ,IAAK,EAAI,EAAM,EAAG,GAAK,EAAG,IACxB,EAAqB,EAAE,CAAC,UAAU,QAAQ,CAAS,CAEvD,CAEA,SAAS,GAAiB,EAAe,EAAY,EAAU,CAC7D,IAAI,EAAe,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,uBAAuB,QAAQ,CAAC,EAAG,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,uBAAuB,WAAW,CAAC,CAAC,EAC9I,EACA,EAAW,EAAa,OAE5B,IAAK,EAAI,EAAG,EAAI,EAAU,GAAK,EACzB,GACF,EAAa,EAAE,CAAC,aAAa,eAAgB,CAAQ,EAGvD,EAAkB,EAAa,GAAI,CAAa,EAGlD,GAAI,GAAc,IAAa,EAAG,CAChC,AACE,IAAW,MAGb,IAAI,EAAO,SAAS,qBAAqB,MAAM,CAAC,CAAC,GACjD,EAAK,UAAY,GACjB,IAAI,EAAM,UAAU,KAAK,EACzB,EAAI,MAAM,MAAQ,OAClB,EAAI,MAAM,OAAS,OACnB,EAAI,aAAa,eAAgB,CAAQ,EACzC,EAAK,YAAY,CAAG,EACpB,EAAkB,EAAK,CAAa,CACtC,CACF,CAEA,SAAS,IAAS,CAChB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,OAAO,CAE7C,CAEA,SAAS,IAAW,CACd,CAAC,GAAa,IAGd,KADA,OAAO,sBAAsB,CAAK,EACvB,IAGjB,CAEA,SAAS,IAAS,CAChB,EAAY,EACd,CAEA,SAAS,IAAW,CAClB,EAAY,GACZ,GAAS,CACX,CAEA,SAAS,GAAU,EAAK,EAAW,CACjC,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,UAAU,EAAK,CAAS,CAE9D,CAEA,SAAS,GAAK,EAAW,CACvB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,KAAK,CAAS,CAEpD,CAEA,SAAS,GAAO,EAAW,CACzB,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAqB,EAAE,CAAC,UAAU,OAAO,CAAS,CAEtD,CAqBA,MAnBA,GAAS,kBAAoB,EAC7B,EAAS,cAAgB,EACzB,EAAS,SAAW,EACpB,EAAS,aAAe,EACxB,EAAS,KAAO,EAChB,EAAS,MAAQ,EACjB,EAAS,KAAO,EAChB,EAAS,YAAc,EACvB,EAAS,iBAAmB,GAC5B,EAAS,OAAS,GAElB,EAAS,YAAc,GACvB,EAAS,QAAU,GACnB,EAAS,OAAS,GAClB,EAAS,SAAW,GACpB,EAAS,UAAY,GACrB,EAAS,KAAO,GAChB,EAAS,OAAS,GAClB,EAAS,wBAA0B,EAC5B,CACT,EAAE,EAOE,cAAgB,UAAY,CAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,CAAC,EAC1B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,aAAe,EACjC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,EACpC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,cAAgB,CAAC,EACnC,CAAC,MAAQ,QAAA,CAAS,OAAS,CAAC,EAC5B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,KAAO,GACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,KAC7B,CAAC,MAAQ,QAAA,CAAS,YAAc,gBAAgB,EAChD,CAAC,MAAQ,QAAA,CAAS,WAAa,GAC/B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAClC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,gBACtC,CAAC,MAAQ,QAAA,CAAS,SAAW,CAAC,EAC9B,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,iBAAiB,EACtD,CAAC,MAAQ,QAAA,CAAS,eAAiB,IAAI,eACvC,CAAC,MAAQ,QAAA,CAAS,gBAAkB,uBAAuB,EAC3D,CAAC,MAAQ,QAAA,CAAS,QAAU,CAAC,CAC/B,EAEA,gBAAgB,CAAC,SAAS,EAAG,aAAa,EAE1C,cAAc,UAAU,UAAY,SAAU,EAAQ,EAChD,EAAO,SAAW,EAAO,aAC3B,CAAC,MAAQ,QAAA,CAAS,QAAU,EAAO,SAAW,EAAO,WAGvD,IAAI,EAAW,MAQf,OANI,EAAO,SACT,EAAW,EAAO,SACT,EAAO,WAChB,EAAW,EAAO,UAGZ,EAAR,CACE,IAAK,SACH,CAAC,MAAQ,QAAA,CAAS,SAAW,IAAI,eAAe,MAAQ,QAAS,EAAO,gBAAgB,EACxF,MAEF,IAAK,MACH,CAAC,MAAQ,QAAA,CAAS,SAAW,IAAI,YAAY,MAAQ,QAAS,EAAO,gBAAgB,EACrF,MAEF,QACE,CAAC,MAAQ,QAAA,CAAS,SAAW,IAAI,eAAe,MAAQ,QAAS,EAAO,gBAAgB,EACxF,KACJ,EAEC,MAAQ,QAAA,CAAS,eAAe,aAAa,GAAW,MAAQ,QAAA,CAAS,SAAS,WAAW,IAAI,GAEjG,MAAQ,QAAA,CAAS,SAAS,qBAAqB,MAAQ,QAAA,CAAS,gBAAgB,EAEjF,CAAC,MAAQ,QAAA,CAAS,SAAW,EAEzB,EAAO,OAAS,IAAM,EAAO,OAAS,MAAQ,EAAO,OAAS,IAAA,IAAa,EAAO,OAAS,GAC7F,CAAC,MAAQ,QAAA,CAAS,KAAO,GAChB,EAAO,OAAS,GACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,GAEzB,CAAC,MAAQ,QAAA,CAAS,KAAO,SAAS,EAAO,KAAM,EAAE,EAGnD,CAAC,MAAQ,QAAA,CAAS,SAAW,aAAc,EAAS,EAAO,SAAW,GACtE,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAO,KAAO,EAAO,KAAO,GACrD,CAAC,MAAQ,QAAA,CAAS,iBAAmB,QAAO,UAAU,eAAe,KAAK,EAAQ,kBAAkB,GAAI,EAAO,iBAC/G,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAO,WACtC,CAAC,MAAQ,QAAA,CAAS,eAAiB,EAAO,eAEtC,EAAO,eACR,MAAQ,QAAA,CAAS,gBAAgB,gBAAgB,EAAO,YAAY,EAGnE,EAAO,cACT,KAAK,gBAAgB,EAAO,aAAa,EAChC,EAAO,OACZ,EAAO,KAAK,YAAY,IAAI,IAAM,GAGpC,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAO,KAAK,OAAO,EAAG,EAAO,KAAK,YAAY,GAAG,EAAI,CAAC,EAF/E,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAO,KAAK,OAAO,EAAG,EAAO,KAAK,YAAY,IAAI,EAAI,CAAC,EAKlF,CAAC,MAAQ,QAAA,CAAS,SAAW,EAAO,KAAK,OAAO,EAAO,KAAK,YAAY,GAAG,EAAI,CAAC,EAChF,CAAC,MAAQ,QAAA,CAAS,UAAY,MAAQ,QAAA,CAAS,SAAS,OAAO,GAAI,MAAQ,QAAA,CAAS,SAAS,YAAY,OAAO,CAAC,EACjH,YAAY,KAAK,EAAO,MAAO,MAAQ,QAAA,CAAS,gBAAgB,KAAK,MAAQ,OAAO,EAAG,UAAY,CACjG,KAAK,QAAQ,aAAa,CAC5B,EAAE,KAAK,MAAQ,OAAO,CAAC,EAE3B,EAEA,cAAc,UAAU,QAAU,SAAU,EAAS,EAAe,CAC9D,GACE,OAAO,GAAkB,WAC3B,EAAgB,KAAK,MAAM,CAAa,GAI5C,IAAI,EAAS,CACF,UACM,eACjB,EACI,EAAoB,EAAQ,WAChC,EAAO,KAAO,EAAkB,aAAa,qBAAqB,EAChE,EAAkB,aAAa,qBAAqB,CAAC,CAAC,MAAQ,EAAkB,aAAa,cAAc,EAC3G,EAAkB,aAAa,cAAc,CAAC,CAAC,MAAQ,EAAkB,aAAa,SAAS,EAAI,EAAkB,aAAa,SAAS,CAAC,CAAC,MAAQ,GACvJ,EAAO,SAAW,EAAkB,aAAa,gBAAgB,EAC/D,EAAkB,aAAa,gBAAgB,CAAC,CAAC,MAAQ,EAAkB,aAAa,cAAc,EACtG,EAAkB,aAAa,cAAc,CAAC,CAAC,MAAQ,EAAkB,aAAa,SAAS,EAC/F,EAAkB,aAAa,SAAS,CAAC,CAAC,MAAQ,EAAkB,aAAa,kBAAkB,EACnG,EAAkB,aAAa,kBAAkB,CAAC,CAAC,MAAQ,EAAkB,aAAa,aAAa,EAAI,EAAkB,aAAa,aAAa,CAAC,CAAC,MAAQ,SACnK,IAAI,EAAO,EAAkB,aAAa,gBAAgB,EACxD,EAAkB,aAAa,gBAAgB,CAAC,CAAC,MAAQ,EAAkB,aAAa,cAAc,EACtG,EAAkB,aAAa,cAAc,CAAC,CAAC,MAAQ,EAAkB,aAAa,SAAS,EAAI,EAAkB,aAAa,SAAS,CAAC,CAAC,MAAQ,GAEnJ,IAAS,QACX,EAAO,KAAO,GACL,IAAS,OAClB,EAAO,KAAO,GACL,IAAS,KAClB,EAAO,KAAO,SAAS,EAAM,EAAE,GAMjC,EAAO,UAHQ,EAAkB,aAAa,oBAAoB,EAChE,EAAkB,aAAa,oBAAoB,CAAC,CAAC,MAAQ,EAAkB,aAAa,kBAAkB,EAC9G,EAAkB,aAAa,kBAAkB,CAAC,CAAC,MAAQ,GAAkB,aAAa,aAAa,GAAI,EAAkB,aAAa,aAAa,CAAC,CAAC,SAC5H,QAC/B,EAAO,KAAO,EAAkB,aAAa,WAAW,EACtD,EAAkB,aAAa,WAAW,CAAC,CAAC,MAAQ,EAAkB,aAAa,cAAc,EACjG,EAAkB,aAAa,cAAc,CAAC,CAAC,MAAQ,EAAkB,aAAa,SAAS,EAAI,EAAkB,aAAa,SAAS,CAAC,CAAC,MAAQ,IACvI,EAAkB,aAAa,qBAAqB,EAClE,EAAkB,aAAa,qBAAqB,CAAC,CAAC,MAAQ,EAAkB,aAAa,mBAAmB,EAChH,EAAkB,aAAa,mBAAmB,CAAC,CAAC,MAAQ,EAAkB,aAAa,cAAc,EAAI,EAAkB,aAAa,cAAc,CAAC,CAAC,MAAQ,MAEpJ,UAChB,EAAO,UAAY,IAGrB,KAAK,UAAU,CAAM,CACvB,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAM,CAClD,EAAK,IAAM,MAAQ,QAAA,CAAS,cAAc,KAC5C,CAAC,MAAQ,QAAA,CAAS,cAAc,GAAK,EAAK,GAC1C,CAAC,MAAQ,QAAA,CAAS,YAAc,KAAK,MAAM,EAAK,IAAM,MAAQ,QAAA,CAAS,cAAc,EAAE,GAGzF,IAAI,GAAU,MAAQ,QAAA,CAAS,cAAc,OACzC,EACA,EAAM,EAAO,OACb,EAAY,EAAK,OACjB,EACA,EAAO,EAAU,OAErB,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EAGzB,IAFA,EAAI,EAEG,EAAI,GAAK,CACd,GAAI,EAAO,EAAE,CAAC,KAAO,EAAU,EAAE,CAAC,GAAI,CACpC,EAAO,GAAK,EAAU,GACtB,KACF,CAEA,GAAK,CACP,CASF,IANI,EAAK,OAAS,EAAK,UACpB,MAAQ,QAAA,CAAS,SAAS,WAAW,YAAY,SAAS,EAAK,KAAK,GAEpE,MAAQ,QAAA,CAAS,SAAS,WAAW,YAAY,SAAS,EAAK,OAAQ,MAAQ,QAAA,CAAS,SAAS,WAAW,IAAI,GAG/G,EAAK,OAGP,IAFA,EAAM,EAAK,OAAO,OAEb,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,cAAc,OAAO,KAAK,EAAK,OAAO,EAAE,EAI9D,CAAC,MAAQ,QAAA,CAAS,cAAc,WAAa,GAC7C,YAAY,cAAc,MAAQ,QAAA,CAAS,eAAgB,MAAQ,QAAA,CAAS,SAAS,WAAW,WAAW,GAE1G,MAAQ,QAAA,CAAS,SAAS,cAAc,EAAK,MAAM,EAEhD,mBACF,kBAAkB,gBAAgB,MAAQ,OAAO,EAGnD,KAAK,gBAAgB,CACvB,EAEA,cAAc,UAAU,gBAAkB,UAAY,CACpD,IAAI,GAAY,MAAQ,QAAA,CAAS,cAAc,SAE/C,GAAI,CAAC,GAAY,EAAS,SAAW,GAAK,EAAE,MAAQ,QAAA,CAAS,iBAAkB,CAC7E,KAAK,QAAQ,YAAY,EACzB,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,YACpD,MACF,CAEA,IAAI,EAAU,EAAS,MAAM,EAC7B,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAAQ,MAAQ,MAAQ,QAAA,CAAS,UACnE,IAAI,GAAe,MAAQ,QAAA,CAAS,MAAQ,MAAQ,QAAA,CAAS,SAAW,KAAO,MAAQ,QAAA,CAAS,WAAa,QAC7G,CAAC,MAAQ,QAAA,CAAS,YAAc,EAChC,YAAY,KAAK,GAAc,MAAQ,QAAA,CAAS,cAAc,KAAK,MAAQ,OAAO,EAAG,UAAY,CAC/F,KAAK,QAAQ,aAAa,CAC5B,EAAE,KAAK,MAAQ,OAAO,CAAC,CACzB,EAEA,cAAc,UAAU,aAAe,UAAY,EACjC,MAAQ,QAAA,CAAS,cAAc,WAG7C,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,aAGtD,KAAK,gBAAgB,CACvB,EAEA,cAAc,UAAU,aAAe,UAAY,CACjD,KAAK,QAAQ,eAAe,EAC5B,KAAK,YAAY,CACnB,EAEA,cAAc,UAAU,cAAgB,UAAY,EACjD,MAAQ,QAAA,CAAS,eAAe,eAAe,MAAQ,QAAA,CAAS,UAAU,GAE1E,MAAQ,QAAA,CAAS,eAAe,SAAS,MAAQ,QAAA,CAAS,IAAI,GAE9D,MAAQ,QAAA,CAAS,eAAe,YAAY,MAAQ,QAAA,CAAS,cAAc,QAAS,MAAQ,QAAA,CAAS,aAAa,KAAK,MAAQ,OAAO,CAAC,CAC1I,EAEA,cAAc,UAAU,gBAAkB,SAAU,EAAU,CACxD,IAAE,MAAQ,QAAA,CAAS,SAIvB,GAAI,CACF,CAAC,MAAQ,QAAA,CAAS,cAAgB,GAE7B,MAAQ,QAAA,CAAS,gBACpB,CAAC,MAAQ,QAAA,CAAS,YAAc,KAAK,OAAO,MAAQ,QAAA,CAAS,eAAe,IAAM,MAAQ,QAAA,CAAS,eAAe,EAAE,EACpH,CAAC,MAAQ,QAAA,CAAS,WAAa,KAAK,OAAO,MAAQ,QAAA,CAAS,eAAe,EAAE,IAE7E,CAAC,MAAQ,QAAA,CAAS,YAAc,KAAK,OAAO,MAAQ,QAAA,CAAS,cAAc,IAAM,MAAQ,QAAA,CAAS,cAAc,EAAE,EAClH,CAAC,MAAQ,QAAA,CAAS,WAAa,KAAK,OAAO,MAAQ,QAAA,CAAS,cAAc,EAAE,IAG7E,MAAQ,QAAA,CAAS,SAAS,gBAAgB,CAAQ,EAEnD,AACE,EAAS,SAAS,CAAC,EAGrB,CAAC,MAAQ,QAAA,CAAS,QAAU,MAAQ,QAAA,CAAS,cAAc,OAC3D,CAAC,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,cAAc,GAC9D,CAAC,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,cAAc,GAAK,KAElE,MAAQ,QAAA,CAAS,SAAS,wBAAwB,EAAS,MAAM,EAElE,CAAC,MAAQ,QAAA,CAAS,QAAU,aAAa,EAAS,SAAW,CAAC,CAAC,EAC/D,KAAK,QAAQ,cAAc,EAC3B,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GAEnB,MAAQ,QAAA,CAAS,WACnB,MAAQ,QAAA,CAAS,gBAAgB,MAAM,CAE5C,OAAS,EAAO,CACd,KAAK,mBAAmB,CAAK,CAC/B,CACF,EAEA,cAAc,UAAU,mBAAqB,UAAY,EACjD,MAAQ,QAAA,CAAS,YAIlB,MAAQ,QAAA,CAAS,SAAS,WAAW,YAAY,SACpD,KAAK,YAAY,EAEjB,YAAY,MAAQ,QAAA,CAAS,mBAAmB,KAAK,MAAQ,OAAO,EAAG,EAAE,EAE7E,EAEA,cAAc,UAAU,YAAc,UAAY,CAC5C,EAAE,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,SAAS,WAAW,YAAY,YAAc,MAAQ,QAAA,CAAS,eAAe,aAAa,IAAM,MAAQ,QAAA,CAAS,SAAS,eAAiB,YAAc,MAAQ,QAAA,CAAS,eAAe,eAAe,IAC5P,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,YAAY,cAAc,MAAQ,QAAA,CAAS,eAAgB,MAAQ,QAAA,CAAS,SAAS,WAAW,WAAW,EAEvG,mBACF,kBAAkB,gBAAgB,MAAQ,OAAO,GAGlD,MAAQ,QAAA,CAAS,SAAS,UAAU,EAErC,WAAW,UAAY,CACrB,KAAK,QAAQ,WAAW,CAC1B,EAAE,KAAK,MAAQ,OAAO,EAAG,CAAC,EAC1B,KAAK,UAAU,GAEV,MAAQ,QAAA,CAAS,UACpB,KAAK,KAAK,EAGhB,EAEA,cAAc,UAAU,OAAS,UAAY,EAC1C,MAAQ,QAAA,CAAS,SAAS,oBAAoB,CACjD,EAEA,cAAc,UAAU,YAAc,SAAU,EAAM,CACpD,CAAC,MAAQ,QAAA,CAAS,kBAAoB,CAAC,CAAC,CAC1C,EAEA,cAAc,UAAU,UAAY,UAAY,CAC9C,CAAC,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,mBAAqB,MAAQ,QAAA,CAAS,gBAAkB,CAAC,EAAE,MAAQ,QAAA,CAAS,iBAE1H,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,gBAC1H,CAAC,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,eAGrD,KAAK,QAAQ,YAAY,EACzB,KAAK,YAAY,CACnB,EAEA,cAAc,UAAU,YAAc,UAAY,CAChD,MAAK,MAAQ,QAAA,CAAS,WAAa,IAAS,EAAE,MAAQ,QAAA,CAAS,UAI/D,GAAI,EACD,MAAQ,QAAA,CAAS,SAAS,aAAa,MAAQ,QAAA,CAAS,cAAgB,MAAQ,QAAA,CAAS,UAAU,CACtG,OAAS,EAAO,CACd,KAAK,wBAAwB,CAAK,CACpC,CACF,EAEA,cAAc,UAAU,KAAO,SAAU,EAAM,CACzC,IAAS,MAAQ,QAAA,CAAS,OAAS,IAIlC,MAAQ,QAAA,CAAS,WAAa,KACjC,CAAC,MAAQ,QAAA,CAAS,SAAW,IAE5B,MAAQ,QAAA,CAAS,gBAAgB,OAAO,GAEpC,MAAQ,QAAA,CAAS,QACpB,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,KAAK,QAAQ,SAAS,GAG5B,EAEA,cAAc,UAAU,MAAQ,SAAU,EAAM,CAC1C,IAAS,MAAQ,QAAA,CAAS,OAAS,IAIlC,MAAQ,QAAA,CAAS,WAAa,KACjC,CAAC,MAAQ,QAAA,CAAS,SAAW,GAC7B,CAAC,MAAQ,QAAA,CAAS,MAAQ,GAC1B,KAAK,QAAQ,OAAO,GAEnB,MAAQ,QAAA,CAAS,gBAAgB,MAAM,EAE5C,EAEA,cAAc,UAAU,YAAc,SAAU,EAAM,CAChD,IAAS,MAAQ,QAAA,CAAS,OAAS,KAIlC,MAAQ,QAAA,CAAS,WAAa,GACjC,KAAK,KAAK,EAEV,KAAK,MAAM,EAEf,EAEA,cAAc,UAAU,KAAO,SAAU,EAAM,CACzC,IAAS,MAAQ,QAAA,CAAS,OAAS,IAIvC,KAAK,MAAM,EACX,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,KAAK,wBAAwB,CAAC,EAChC,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAY,CAG5D,IAAK,IAFD,EAEK,EAAI,EAAG,GAAK,MAAQ,QAAA,CAAS,QAAQ,OAAQ,GAAK,EAGzD,GAFA,GAAU,MAAQ,QAAA,CAAS,QAAQ,GAE/B,EAAO,SAAW,EAAO,QAAQ,OAAS,EAC5C,OAAO,EAIX,OAAO,IACT,EAEA,cAAc,UAAU,YAAc,SAAU,EAAO,EAAS,EAAM,CAChE,SAAS,MAAQ,QAAA,CAAS,OAAS,GAIvC,KAAI,EAAW,OAAO,CAAK,EAE3B,GAAI,MAAM,CAAQ,EAAG,CACnB,IAAI,EAAS,KAAK,cAAc,CAAK,EAEjC,GACF,KAAK,YAAY,EAAO,KAAM,EAAI,CAEtC,MAAW,EACT,KAAK,wBAAwB,CAAK,EAElC,KAAK,wBAAwB,GAAS,MAAQ,QAAA,CAAS,aAAa,EAGtE,KAAK,MAAM,CAdgB,CAe7B,EAEA,cAAc,UAAU,YAAc,SAAU,EAAO,EAAS,EAAM,CAChE,SAAS,MAAQ,QAAA,CAAS,OAAS,GAIvC,KAAI,EAAW,OAAO,CAAK,EAE3B,GAAI,MAAM,CAAQ,EAAG,CACnB,IAAI,EAAS,KAAK,cAAc,CAAK,EAEjC,IACG,EAAO,SAGV,KAAK,aAAa,CAAC,EAAO,KAAM,EAAO,KAAO,EAAO,QAAQ,EAAG,EAAI,EAFpE,KAAK,YAAY,EAAO,KAAM,EAAI,EAKxC,MACE,KAAK,YAAY,EAAU,EAAS,CAAI,EAG1C,KAAK,KAAK,CAhBiB,CAiB7B,EAEA,cAAc,UAAU,YAAc,SAAU,EAAO,CACrD,MAAK,MAAQ,QAAA,CAAS,WAAa,KAAS,MAAQ,QAAA,CAAS,WAAa,IAI1E,KAAI,GAAa,MAAQ,QAAA,CAAS,gBAAkB,GAAS,MAAQ,QAAA,CAAS,cAC1E,EAAc,GAGd,IAAc,MAAQ,QAAA,CAAS,YAAc,IAAM,MAAQ,QAAA,CAAS,cAAgB,EAClF,EAAE,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,KAC1E,KAAK,cAAc,GAAa,MAAQ,QAAA,CAAS,YAAc,GAAa,MAAQ,QAAA,CAAS,YAAc,CAAC,IAC/G,EAAc,GACd,GAAa,MAAQ,QAAA,CAAS,YAAc,GAErC,IAAc,MAAQ,QAAA,CAAS,aACxC,CAAC,MAAQ,QAAA,CAAS,WAAa,EAE1B,KAAK,cAAc,GAAa,MAAQ,QAAA,CAAS,WAAW,IAC/D,KAAK,wBAAwB,GAAa,MAAQ,QAAA,CAAS,WAAW,EACtE,CAAC,MAAQ,QAAA,CAAS,eAAiB,GACnC,KAAK,QAAQ,cAAc,IAG7B,KAAK,wBAAwB,CAAS,EAE/B,EAAY,EAChB,KAAK,cAAc,GAAa,MAAQ,QAAA,CAAS,WAAW,KAC1D,MAAQ,QAAA,CAAS,MAAQ,EAAE,CAAC,MAAQ,QAAA,CAAS,aAAe,IAAM,MAAQ,QAAA,CAAS,OAAS,KAE/F,KAAK,yBAAyB,MAAQ,QAAA,CAAS,YAAc,GAAa,MAAQ,QAAA,CAAS,WAAW,GAEhG,MAAQ,QAAA,CAAS,eAGrB,KAAK,QAAQ,cAAc,EAF3B,CAAC,MAAQ,QAAA,CAAS,eAAiB,KAKrC,EAAc,GACd,EAAY,IAIhB,KAAK,wBAAwB,CAAS,EAGpC,IACF,KAAK,wBAAwB,CAAS,EACtC,KAAK,MAAM,EACX,KAAK,QAAQ,UAAU,EA5CqD,CA8ChF,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAK,EAAQ,CAC7D,CAAC,MAAQ,QAAA,CAAS,UAAY,EAE1B,EAAI,GAAK,EAAI,KACV,MAAQ,QAAA,CAAS,cAAgB,KAC/B,MAAQ,QAAA,CAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQ,QAAA,CAAS,SAAS,EAE1C,KAAK,aAAa,EAAE,GAIxB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAAI,GAAK,EAAI,GAC7C,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,YACpD,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAI,GACnC,KAAK,yBAAyB,MAAQ,QAAA,CAAS,YAAc,KAAQ,CAAM,GAClE,EAAI,GAAK,EAAI,MACjB,MAAQ,QAAA,CAAS,cAAgB,KAC/B,MAAQ,QAAA,CAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQ,QAAA,CAAS,SAAS,EAE1C,KAAK,aAAa,CAAC,GAIvB,CAAC,MAAQ,QAAA,CAAS,YAAc,EAAI,GAAK,EAAI,GAC7C,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,YACpD,CAAC,MAAQ,QAAA,CAAS,WAAa,EAAI,GACnC,KAAK,wBAAwB,KAAQ,CAAM,GAG7C,KAAK,QAAQ,cAAc,CAC7B,EAEA,cAAc,UAAU,WAAa,SAAU,EAAM,EAAK,CACxD,IAAI,EAAe,IAEd,MAAQ,QAAA,CAAS,YACf,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,WAAa,EACrE,EAAe,GACL,MAAQ,QAAA,CAAS,iBAAmB,MAAQ,QAAA,CAAS,WAAa,IAC5E,EAAe,EAAM,IAIzB,CAAC,MAAQ,QAAA,CAAS,WAAa,EAC/B,CAAC,MAAQ,QAAA,CAAS,YAAc,EAAM,EACtC,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,YAEhD,IAAiB,IACnB,KAAK,YAAY,EAAc,EAAI,CAEvC,EAEA,cAAc,UAAU,aAAe,SAAU,EAAK,EAAW,CAK/D,GAJI,IACF,CAAC,MAAQ,QAAA,CAAS,SAAS,OAAS,GAGlC,OAAO,EAAI,IAAO,SAAU,CAC9B,IAAI,EACA,EAAM,EAAI,OAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,SAAS,KAAK,EAAI,EAAE,CAE1C,MACG,MAAQ,QAAA,CAAS,SAAS,KAAK,CAAG,GAGhC,MAAQ,QAAA,CAAS,SAAS,QAAU,GACvC,KAAK,eAAe,MAAQ,QAAA,CAAS,SAAS,MAAM,EAAG,CAAC,GAGrD,MAAQ,QAAA,CAAS,UACpB,KAAK,KAAK,CAEd,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAW,CAC3D,CAAC,MAAQ,QAAA,CAAS,SAAS,OAAS,GAEnC,MAAQ,QAAA,CAAS,SAAS,KAAK,EAAE,MAAQ,QAAA,CAAS,cAAc,IAAK,MAAQ,QAAA,CAAS,cAAc,EAAE,CAAC,EAGpG,GACF,KAAK,cAAc,CAAC,CAExB,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAQ,CAMxD,OALK,MAAQ,QAAA,CAAS,SAAS,QAC7B,KAAK,eAAe,MAAQ,QAAA,CAAS,SAAS,MAAM,EAAG,CAAM,EACtD,IAGF,EACT,EAEA,cAAc,UAAU,QAAU,SAAU,EAAM,CAC5C,IAAS,MAAQ,QAAA,CAAS,OAAS,GAAQ,EAAE,MAAQ,QAAA,CAAS,YAIjE,MAAQ,QAAA,CAAS,SAAS,QAAQ,GAElC,MAAQ,QAAA,CAAS,eAAe,QAAQ,EAEzC,KAAK,QAAQ,SAAS,EACtB,CAAC,MAAQ,QAAA,CAAS,KAAO,KACzB,CAAC,MAAQ,QAAA,CAAS,aAAe,KACjC,CAAC,MAAQ,QAAA,CAAS,eAAiB,KACnC,CAAC,MAAQ,QAAA,CAAS,WAAa,KAC/B,CAAC,MAAQ,QAAA,CAAS,eAAiB,KACnC,CAAC,MAAQ,QAAA,CAAS,UAAY,KAC9B,CAAC,MAAQ,QAAA,CAAS,SAAW,KAC7B,CAAC,MAAQ,QAAA,CAAS,SAAW,KAC7B,CAAC,MAAQ,QAAA,CAAS,eAAiB,KACnC,CAAC,MAAQ,QAAA,CAAS,iBAAmB,KACvC,EAEA,cAAc,UAAU,wBAA0B,SAAU,EAAO,CACjE,CAAC,MAAQ,QAAA,CAAS,gBAAkB,EACpC,KAAK,UAAU,CACjB,EAEA,cAAc,UAAU,SAAW,SAAU,EAAK,CAChD,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,KAAK,kBAAkB,CACzB,EAEA,cAAc,UAAU,aAAe,SAAU,EAAK,CACpD,CAAC,MAAQ,QAAA,CAAS,cAAgB,EAAM,EAAI,GAAK,EACjD,KAAK,kBAAkB,CACzB,EAEA,cAAc,UAAU,UAAY,SAAU,EAAK,EAAM,CACnD,IAAS,MAAQ,QAAA,CAAS,OAAS,IAItC,MAAQ,QAAA,CAAS,gBAAgB,UAAU,CAAG,CACjD,EAEA,cAAc,UAAU,UAAY,UAAY,CAC9C,OAAQ,MAAQ,QAAA,CAAS,gBAAgB,UAAU,CACrD,EAEA,cAAc,UAAU,KAAO,SAAU,EAAM,CACzC,IAAS,MAAQ,QAAA,CAAS,OAAS,IAItC,MAAQ,QAAA,CAAS,gBAAgB,KAAK,CACzC,EAEA,cAAc,UAAU,OAAS,SAAU,EAAM,CAC3C,IAAS,MAAQ,QAAA,CAAS,OAAS,IAItC,MAAQ,QAAA,CAAS,gBAAgB,OAAO,CAC3C,EAEA,cAAc,UAAU,kBAAoB,UAAY,CACtD,CAAC,MAAQ,QAAA,CAAS,eAAiB,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,eAE/G,MAAQ,QAAA,CAAS,gBAAgB,SAAS,MAAQ,QAAA,CAAS,WAAa,MAAQ,QAAA,CAAS,aAAa,CACzG,EAEA,cAAc,UAAU,QAAU,UAAY,CAC5C,OAAQ,MAAQ,QAAA,CAAS,IAC3B,EAEA,cAAc,UAAU,cAAgB,SAAU,EAAW,CAC3D,IAAI,EAAO,GAEX,GAAI,EAAU,EACZ,EAAO,EAAU,OACZ,IAAK,MAAQ,QAAA,CAAS,WAAY,CACvC,IAAI,EAAY,EAAU,EAEtB,EAAU,QAAQ,SAAS,IAAM,KACnC,EAAY,EAAU,MAAM,GAAG,CAAC,CAAC,IAGnC,GAAQ,MAAQ,QAAA,CAAS,WAAa,CACxC,KACE,IAAQ,MAAQ,QAAA,CAAS,KACzB,GAAQ,EAAU,EAAI,EAAU,EAAI,GACpC,GAAQ,EAAU,EAGpB,OAAO,CACT,EAEA,cAAc,UAAU,aAAe,SAAU,EAAI,CAInD,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,OAAO,OAE5B,EAAI,GAAK,CACd,GAAI,KAAQ,MAAQ,QAAA,CAAS,OAAO,EAAE,CAAC,GACrC,OAAQ,MAAQ,QAAA,CAAS,OAAO,GAGlC,GAAK,CACP,CAEA,OAAO,IACT,EAEA,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQ,QAAA,CAAS,SAAS,KAAK,CAClC,EAEA,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQ,QAAA,CAAS,SAAS,KAAK,CAClC,EAEA,cAAc,UAAU,YAAc,SAAU,EAAS,CACvD,OAAO,GAAW,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,aAAe,MAAQ,QAAA,CAAS,SACrG,EAEA,cAAc,UAAU,QAAU,SAAU,EAAM,CAChD,IAAK,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,KAAK,GACnD,OAAQ,EAAR,CACE,IAAK,aACH,KAAK,aAAa,EAAM,IAAI,kBAAkB,GAAO,MAAQ,QAAA,CAAS,cAAe,MAAQ,QAAA,CAAS,aAAc,MAAQ,QAAA,CAAS,aAAa,CAAC,EACnJ,MAEF,IAAK,eACH,KAAK,aAAa,EAAM,IAAI,oBAAoB,GAAO,MAAQ,QAAA,CAAS,MAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,SAAS,CAAC,EACvI,MAEF,IAAK,WACH,KAAK,aAAa,EAAM,IAAI,gBAAgB,GAAO,MAAQ,QAAA,CAAS,SAAS,CAAC,EAC9E,MAEF,IAAK,eACH,KAAK,aAAa,EAAM,IAAI,oBAAoB,GAAO,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAW,CAAC,EAClH,MAEF,IAAK,UACH,KAAK,aAAa,EAAM,IAAI,eAAe,EAAM,MAAQ,OAAO,CAAC,EACjE,MAEF,QACE,KAAK,aAAa,CAAI,CAC1B,CAGE,IAAS,eAAiB,MAAQ,QAAA,CAAS,eAC5C,MAAQ,QAAA,CAAS,aAAa,KAAK,MAAQ,QAAS,IAAI,kBAAkB,GAAO,MAAQ,QAAA,CAAS,cAAe,MAAQ,QAAA,CAAS,aAAc,MAAQ,QAAA,CAAS,SAAS,CAAC,EAG1K,IAAS,iBAAmB,MAAQ,QAAA,CAAS,iBAC9C,MAAQ,QAAA,CAAS,eAAe,KAAK,MAAQ,QAAS,IAAI,oBAAoB,GAAO,MAAQ,QAAA,CAAS,MAAO,MAAQ,QAAA,CAAS,WAAY,MAAQ,QAAA,CAAS,SAAS,CAAC,EAGpK,IAAS,aAAe,MAAQ,QAAA,CAAS,aAC1C,MAAQ,QAAA,CAAS,WAAW,KAAK,MAAQ,QAAS,IAAI,gBAAgB,GAAO,MAAQ,QAAA,CAAS,SAAS,CAAC,EAGvG,IAAS,iBAAmB,MAAQ,QAAA,CAAS,iBAC9C,MAAQ,QAAA,CAAS,eAAe,KAAK,MAAQ,QAAS,IAAI,oBAAoB,GAAO,MAAQ,QAAA,CAAS,YAAa,MAAQ,QAAA,CAAS,WAAW,CAAC,EAG/I,IAAS,YAAc,MAAQ,QAAA,CAAS,YACzC,MAAQ,QAAA,CAAS,UAAU,KAAK,MAAQ,QAAS,IAAI,eAAe,EAAM,MAAQ,OAAO,CAAC,CAE/F,EAEA,cAAc,UAAU,wBAA0B,SAAU,EAAa,CACvE,IAAI,EAAQ,IAAI,wBAAwB,GAAc,MAAQ,QAAA,CAAS,YAAY,EACnF,KAAK,aAAa,QAAS,CAAK,GAE3B,MAAQ,QAAA,CAAS,UACnB,MAAQ,QAAA,CAAS,QAAQ,KAAK,MAAQ,QAAS,CAAK,CAEzD,EAEA,cAAc,UAAU,mBAAqB,SAAU,EAAa,CAClE,IAAI,EAAQ,IAAI,mBAAmB,GAAc,MAAQ,QAAA,CAAS,YAAY,EAC9E,KAAK,aAAa,QAAS,CAAK,GAE3B,MAAQ,QAAA,CAAS,UACnB,MAAQ,QAAA,CAAS,QAAQ,KAAK,MAAQ,QAAS,CAAK,CAEzD,EAMA,IAAI,YAAc,UAAY,CAC5B,IAAI,EAAK,CAAC,EACV,EAAG,gBAAkB,EAErB,SAAS,EAAgB,EAAW,CAClC,IAAI,EAAa,EACb,EAAY,CAAC,EAEjB,SAAS,GAAiB,CACxB,GAAc,CAChB,CAEA,SAAS,GAAgB,CACvB,IAEI,IAAe,GACjB,EAAiB,CAErB,CAEA,SAAS,EAA2B,EAAY,CAC1C,EAAU,QAAQ,CAAU,IAAM,IACpC,EAAU,KAAK,CAAU,CAE7B,CAEA,SAAS,GAAmB,CAC1B,IAAI,EACA,EAAM,EAAU,OAEpB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAU,EAAE,CAAC,QAAQ,EAGvB,EAAU,OAAS,CACrB,CAEA,EAAU,SAAS,cAAgB,wBAAwB,EAAU,QAAQ,EAC7E,EAAU,SAAS,WAAW,iBAAiB,oBAAoB,EAAU,QAAQ,EACrF,EAAU,SAAS,WAAW,eAAiB,EAC/C,EAAU,SAAS,WAAW,cAAgB,EAC9C,EAAU,SAAS,WAAW,2BAA6B,CAC7D,CAEA,OAAO,CACT,EAAE,EAEF,kBAAoB,YAKpB,IAAI,kBAAoB,UAAY,CAGlC,IAAI,GAAK,CAAC,EACN,KAAO,OACP,OAAS,KACT,SAAW,KAEf,SAAS,sBAAsB,EAAK,CAClC,OAAO,EAAI,cAAgB,OAAS,EAAI,cAAgB,YAC1D,CAEA,SAAS,YAAY,EAAM,EAAG,CAC5B,OAAO,IAAS,UAAY,IAAS,WAAa,IAAS,UAAY,aAAa,MACtF,CAEA,SAAS,QAAQ,EAAG,CAClB,IAAI,EAAO,OAAO,EAElB,GAAI,IAAS,UAAY,IAAS,WAAa,aAAa,OAC1D,MAAO,CAAC,EAGV,GAAI,sBAAsB,CAAC,EAAG,CAC5B,IAAI,EACA,EAAO,EAAE,OACT,EAAS,CAAC,EAEd,IAAK,EAAI,EAAG,EAAI,EAAM,GAAK,EACzB,EAAO,GAAK,CAAC,EAAE,GAGjB,OAAO,CACT,CAMA,OAJI,EAAE,SACG,EAAE,EAGJ,CAAC,CACV,CAEA,IAAI,UAAY,cAAc,gBAAgB,KAAO,EAAG,KAAO,KAAO,QAAQ,CAAC,CAAC,IAC5E,WAAa,cAAc,gBAAgB,KAAO,KAAO,KAAO,EAAG,SAAS,CAAC,CAAC,IAC9E,aAAe,cAAc,gBAAgB,IAAM,EAAG,KAAO,EAAG,WAAW,CAAC,CAAC,IAEjF,SAAS,IAAI,EAAG,EAAG,CACjB,IAAI,EAAO,OAAO,EACd,EAAO,OAAO,EAMlB,GAJI,IAAS,UAAY,IAAS,UAI9B,YAAY,EAAM,CAAC,GAAK,YAAY,EAAM,CAAC,EAC7C,OAAO,EAAI,EAGb,GAAI,sBAAsB,CAAC,GAAK,YAAY,EAAM,CAAC,EAGjD,MAFA,GAAI,EAAE,MAAM,CAAC,EACb,EAAE,IAAM,EACD,EAGT,GAAI,YAAY,EAAM,CAAC,GAAK,sBAAsB,CAAC,EAGjD,MAFA,GAAI,EAAE,MAAM,CAAC,EACb,EAAE,GAAK,EAAI,EAAE,GACN,EAGT,GAAI,sBAAsB,CAAC,GAAK,sBAAsB,CAAC,EAAG,CAMxD,IALA,IAAI,EAAI,EACJ,EAAO,EAAE,OACT,EAAO,EAAE,OACT,EAAS,CAAC,EAEP,EAAI,GAAQ,EAAI,IAChB,OAAO,EAAE,IAAO,UAAY,EAAE,aAAc,UAAY,OAAO,EAAE,IAAO,UAAY,EAAE,aAAc,QACvG,EAAO,GAAK,EAAE,GAAK,EAAE,GAErB,EAAO,GAAK,EAAE,KAAO,IAAA,GAAY,EAAE,GAAK,EAAE,IAAM,EAAE,GAGpD,GAAK,EAGP,OAAO,CACT,CAEA,MAAO,EACT,CAEA,IAAI,IAAM,IAEV,SAAS,IAAI,EAAG,EAAG,CACjB,IAAI,EAAO,OAAO,EACd,EAAO,OAAO,EAElB,GAAI,YAAY,EAAM,CAAC,GAAK,YAAY,EAAM,CAAC,EAS7C,OARI,IAAS,WACX,EAAI,SAAS,EAAG,EAAE,GAGhB,IAAS,WACX,EAAI,SAAS,EAAG,EAAE,GAGb,EAAI,EAGb,GAAI,sBAAsB,CAAC,GAAK,YAAY,EAAM,CAAC,EAGjD,MAFA,GAAI,EAAE,MAAM,CAAC,EACb,EAAE,IAAM,EACD,EAGT,GAAI,YAAY,EAAM,CAAC,GAAK,sBAAsB,CAAC,EAGjD,MAFA,GAAI,EAAE,MAAM,CAAC,EACb,EAAE,GAAK,EAAI,EAAE,GACN,EAGT,GAAI,sBAAsB,CAAC,GAAK,sBAAsB,CAAC,EAAG,CAMxD,IALA,IAAI,EAAI,EACJ,EAAO,EAAE,OACT,EAAO,EAAE,OACT,EAAS,CAAC,EAEP,EAAI,GAAQ,EAAI,IAChB,OAAO,EAAE,IAAO,UAAY,EAAE,aAAc,UAAY,OAAO,EAAE,IAAO,UAAY,EAAE,aAAc,QACvG,EAAO,GAAK,EAAE,GAAK,EAAE,GAErB,EAAO,GAAK,EAAE,KAAO,IAAA,GAAY,EAAE,GAAK,EAAE,IAAM,EAAE,GAGpD,GAAK,EAGP,OAAO,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAI,EAAG,EAAG,CACjB,IAAI,EAAO,OAAO,EACd,EAAO,OAAO,EACd,EAEJ,GAAI,YAAY,EAAM,CAAC,GAAK,YAAY,EAAM,CAAC,EAC7C,OAAO,EAAI,EAGb,IAAI,EACA,EAEJ,GAAI,sBAAsB,CAAC,GAAK,YAAY,EAAM,CAAC,EAAG,CAIpD,IAHA,EAAM,EAAE,OACR,EAAM,iBAAiB,UAAW,CAAG,EAEhC,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAE,GAAK,EAGlB,OAAO,CACT,CAEA,GAAI,YAAY,EAAM,CAAC,GAAK,sBAAsB,CAAC,EAAG,CAIpD,IAHA,EAAM,EAAE,OACR,EAAM,iBAAiB,UAAW,CAAG,EAEhC,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAI,EAAE,GAGjB,OAAO,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAI,EAAG,EAAG,CACjB,IAAI,EAAO,OAAO,EACd,EAAO,OAAO,EACd,EAEJ,GAAI,YAAY,EAAM,CAAC,GAAK,YAAY,EAAM,CAAC,EAC7C,OAAO,EAAI,EAGb,IAAI,EACA,EAEJ,GAAI,sBAAsB,CAAC,GAAK,YAAY,EAAM,CAAC,EAAG,CAIpD,IAHA,EAAM,EAAE,OACR,EAAM,iBAAiB,UAAW,CAAG,EAEhC,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAE,GAAK,EAGlB,OAAO,CACT,CAEA,GAAI,YAAY,EAAM,CAAC,GAAK,sBAAsB,CAAC,EAAG,CAIpD,IAHA,EAAM,EAAE,OACR,EAAM,iBAAiB,UAAW,CAAG,EAEhC,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAI,EAAE,GAGjB,OAAO,CACT,CAEA,MAAO,EACT,CAEA,SAAS,IAAI,EAAG,EAAG,CASjB,OARI,OAAO,GAAM,WACf,EAAI,SAAS,EAAG,EAAE,GAGhB,OAAO,GAAM,WACf,EAAI,SAAS,EAAG,EAAE,GAGb,EAAI,CACb,CAEA,IAAI,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IAEd,SAAS,MAAM,EAAK,EAAK,EAAK,CAC5B,GAAI,EAAM,EAAK,CACb,IAAI,EAAK,EACT,EAAM,EACN,EAAM,CACR,CAEA,OAAO,KAAK,IAAI,KAAK,IAAI,EAAK,CAAG,EAAG,CAAG,CACzC,CAEA,SAAS,iBAAiB,EAAK,CAC7B,OAAO,EAAM,SACf,CAEA,IAAI,mBAAqB,iBAEzB,SAAS,iBAAiB,EAAK,CAC7B,OAAO,EAAM,SACf,CAEA,IAAI,mBAAqB,iBACrB,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EAEzC,SAAS,OAAO,EAAM,EAAM,CAC1B,GAAI,OAAO,GAAS,UAAY,aAAgB,OAE9C,MADA,KAAe,EACR,KAAK,IAAI,EAAO,CAAI,EAG7B,AACE,IAAO,kBAGT,IAAI,EACA,EAAM,KAAK,IAAI,EAAK,OAAQ,EAAK,MAAM,EACvC,EAAc,EAElB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,GAAe,KAAK,IAAI,EAAK,GAAK,EAAK,GAAI,CAAC,EAG9C,OAAO,KAAK,KAAK,CAAW,CAC9B,CAEA,SAAS,UAAU,EAAK,CACtB,OAAO,IAAI,EAAK,OAAO,CAAG,CAAC,CAC7B,CAEA,SAAS,SAAS,EAAK,CACrB,IAAI,EAAI,EAAI,GACR,EAAI,EAAI,GACR,EAAI,EAAI,GACR,EAAM,KAAK,IAAI,EAAG,EAAG,CAAC,EACtB,EAAM,KAAK,IAAI,EAAG,EAAG,CAAC,EACtB,EACA,EACA,GAAK,EAAM,GAAO,EAEtB,GAAI,IAAQ,EACV,EAAI,EAEJ,EAAI,MACC,CACL,IAAI,EAAI,EAAM,EAGd,OAFA,EAAI,EAAI,GAAM,GAAK,EAAI,EAAM,GAAO,GAAK,EAAM,GAEvC,EAAR,CACE,KAAK,EACH,GAAK,EAAI,GAAK,GAAK,EAAI,EAAI,EAAI,GAC/B,MAEF,KAAK,EACH,GAAK,EAAI,GAAK,EAAI,EAClB,MAEF,KAAK,EACH,GAAK,EAAI,GAAK,EAAI,EAClB,MAEF,QACE,KACJ,CAEA,GAAK,CACP,CAEA,MAAO,CAAC,EAAG,EAAG,EAAG,EAAI,EAAE,CACzB,CAEA,SAAS,QAAQ,EAAG,EAAG,EAAG,CAMxB,OALI,EAAI,IAAG,GAAK,GACZ,EAAI,GAAG,IACP,EAAI,EAAI,EAAU,GAAK,EAAI,GAAK,EAAI,EACpC,EAAI,EAAI,EAAU,EAClB,EAAI,EAAI,EAAU,GAAK,EAAI,IAAM,EAAI,EAAI,GAAK,EAC3C,CACT,CAEA,SAAS,SAAS,EAAK,CACrB,IAAI,EAAI,EAAI,GACR,EAAI,EAAI,GACR,EAAI,EAAI,GACR,EACA,EACA,EAEJ,GAAI,IAAM,EACR,EAAI,EAEJ,EAAI,EAEJ,EAAI,MACC,CACL,IAAI,EAAI,EAAI,GAAM,GAAK,EAAI,GAAK,EAAI,EAAI,EAAI,EACxC,EAAI,EAAI,EAAI,EAChB,EAAI,QAAQ,EAAG,EAAG,EAAI,EAAI,CAAC,EAC3B,EAAI,QAAQ,EAAG,EAAG,CAAC,EACnB,EAAI,QAAQ,EAAG,EAAG,EAAI,EAAI,CAAC,CAC7B,CAEA,MAAO,CAAC,EAAG,EAAG,EAAG,EAAI,EAAE,CACzB,CAEA,SAAS,OAAO,EAAG,EAAM,EAAM,EAAQ,EAAQ,CAQ7C,IAPI,IAAW,IAAA,IAAa,IAAW,IAAA,MACrC,EAAS,EACT,EAAS,EACT,EAAO,EACP,EAAO,GAGL,EAAO,EAAM,CACf,IAAI,EAAQ,EACZ,EAAO,EACP,EAAO,CACT,CAEA,GAAI,GAAK,EACP,OAAO,EAGT,GAAI,GAAK,EACP,OAAO,EAGT,IAAI,EAAO,IAAS,EAAO,GAAK,EAAI,IAAS,EAAO,GAEpD,GAAI,CAAC,EAAO,OACV,OAAO,GAAU,EAAS,GAAU,EAGtC,IAAI,EACA,EAAM,EAAO,OACb,EAAM,iBAAiB,UAAW,CAAG,EAEzC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAO,IAAM,EAAO,GAAK,EAAO,IAAM,EAGjD,OAAO,CACT,CAEA,SAAS,OAAO,EAAK,EAAK,CAWxB,GAVI,IAAQ,IAAA,KACN,IAAQ,IAAA,IACV,EAAM,EACN,EAAM,IAEN,EAAM,EACN,EAAM,IAAA,KAIN,EAAI,OAAQ,CACd,IAAI,EACA,EAAM,EAAI,OAEd,AACE,IAAM,iBAAiB,UAAW,CAAG,EAGvC,IAAI,EAAM,iBAAiB,UAAW,CAAG,EACrC,EAAM,OAAO,OAAO,EAExB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAI,GAAK,GAAO,EAAI,GAAK,EAAI,IAGxC,OAAO,CACT,CAEI,IAAQ,IAAA,KACV,EAAM,GAGR,IAAI,EAAO,OAAO,OAAO,EACzB,OAAO,EAAM,GAAQ,EAAM,EAC7B,CAEA,SAAS,WAAW,EAAQ,EAAY,EAAa,EAAQ,CAC3D,IAAI,EACA,EAAM,EAAO,OACb,EAAO,UAAU,WAAW,EAChC,EAAK,YAAY,CAAC,CAAC,EAAQ,CAAG,EAC9B,IAAI,EAAiB,CAAC,EAAG,CAAC,EACtB,EACA,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAgB,GAAc,EAAW,GAAK,EAAW,GAAK,EAC9D,EAAiB,GAAe,EAAY,GAAK,EAAY,GAAK,EAClE,EAAK,YAAY,EAAO,EAAE,CAAC,GAAI,EAAO,EAAE,CAAC,GAAI,EAAe,GAAK,EAAO,EAAE,CAAC,GAAI,EAAe,GAAK,EAAO,EAAE,CAAC,GAAI,EAAc,GAAK,EAAO,EAAE,CAAC,GAAI,EAAc,GAAK,EAAO,EAAE,CAAC,GAAI,EAAG,EAAI,EAG5L,OAAO,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,CAAC,CAAC,GAEjG,QAAU,SAAS,GAAK,KAAK,EAAE,OAAS,EACxC,OAAS,EAAE,MAAQ,QAAA,CAAS,OAAS,MAAQ,QAAA,CAAS,KAAK,KAAO,GAElE,OAAS,SAAgB,EAAM,EAAK,CACtC,IAAI,EACA,EACA,GAAa,MAAQ,QAAA,CAAS,GAAG,QAAU,MAAQ,QAAA,CAAS,GAAG,OAAS,EACxE,EAAY,iBAAiB,UAAW,CAAS,EACrD,EAAO,EACP,IAAI,EAAa,KAAK,MAAM,KAAO,CAAI,EAIvC,IAHA,EAAU,EACV,EAAI,EAEG,EAAU,GAAY,CAE3B,IAAK,EAAI,EAAG,EAAI,EAAW,GAAK,EAC9B,EAAU,IAAM,CAAC,EAAM,EAAM,EAAI,OAAO,OAAO,EAGjD,GAAW,CACb,CAGA,IAAI,EAAU,KAAO,EACjB,EAAO,EAAU,KAAK,MAAM,CAAO,EACnC,EAAM,iBAAiB,UAAW,CAAS,EAE/C,GAAI,EAAY,EAAG,CACjB,IAAK,EAAI,EAAG,EAAI,EAAW,GAAK,EAC9B,EAAI,IAAM,MAAQ,QAAA,CAAS,GAAG,GAAK,EAAU,IAAM,CAAC,EAAM,EAAM,EAAI,OAAO,OAAO,GAAK,EAIzF,OAAO,CACT,CAEA,OAAQ,MAAQ,QAAA,CAAS,GAAK,EAAU,IAAM,CAAC,EAAM,EAAM,EAAI,OAAO,OAAO,GAAK,CACpF,EAAE,KAAK,MAAQ,OAAO,EAElB,aAAa,SACf,OAAS,aAAa,OAAO,KAAK,YAAY,GAI5C,aAAa,UACf,QAAU,aAAa,QAAQ,KAAK,YAAY,GAI9C,aAAa,QACf,aAAsB,OAAO,KAAK,YAAY,EAGhD,SAAS,eAAe,EAAM,EAAU,CACtC,OAAO,OAAO,EAAM,EAAU,EAAI,CACpC,CAEA,SAAS,gBAAgB,EAAM,EAAU,CACvC,OAAO,QAAQ,EAAM,EAAU,EAAI,CACrC,EAEK,MAAQ,QAAA,CAAS,iBACpB,aAAe,MAAQ,QAAA,CAAS,eAAe,KAAK,MAAQ,OAAO,IAGhE,MAAQ,QAAA,CAAS,oBACpB,gBAAkB,MAAQ,QAAA,CAAS,kBAAkB,KAAK,MAAQ,OAAO,GAG3E,IAAI,KAAO,KAAK,KAAK,WAAW,iBAAiB,KAAK,KAAK,KAAK,WAAW,gBAAgB,EAE3F,SAAS,OAAO,EAAO,EAAO,CAC5B,IAAI,EAAO,CAAC,EAAM,GAAK,EAAM,GAAI,EAAM,GAAK,EAAM,GAAI,EAAM,GAAK,EAAM,EAAE,EACrE,EAAQ,KAAK,MAAM,EAAK,GAAI,KAAK,KAAK,EAAK,GAAK,EAAK,GAAK,EAAK,GAAK,EAAK,EAAE,CAAC,EAAI,UAEpF,MAAO,CADG,CAAC,KAAK,MAAM,EAAK,GAAI,EAAK,EAAE,EAAI,UAC7B,EAAO,CAAC,CACvB,CAEA,SAAS,QAAQ,EAAG,EAAM,EAAM,EAAM,EAAM,CAC1C,OAAO,UAAU,WAAY,EAAG,EAAM,EAAM,EAAM,CAAI,CACxD,CAEA,SAAS,OAAO,EAAG,EAAM,EAAM,EAAM,EAAM,CACzC,OAAO,UAAU,UAAW,EAAG,EAAM,EAAM,EAAM,CAAI,CACvD,CAEA,SAAS,KAAK,EAAG,EAAM,EAAM,EAAM,EAAM,CACvC,OAAO,UAAU,aAAc,EAAG,EAAM,EAAM,EAAM,CAAI,CAC1D,CAEA,SAAS,UAAU,EAAI,EAAG,EAAM,EAAM,EAAM,EAAM,CAC5C,IAAS,IAAA,IACX,EAAO,EACP,EAAO,GAEP,GAAK,EAAI,IAAS,EAAO,GAGvB,EAAI,EACN,EAAI,EACK,EAAI,IACb,EAAI,GAGN,IAAI,EAAO,EAAG,CAAC,EAEf,GAAI,sBAAsB,CAAI,EAAG,CAC/B,IAAI,EACA,EAAS,EAAK,OACd,EAAM,iBAAiB,UAAW,CAAM,EAE5C,IAAK,EAAO,EAAG,EAAO,EAAQ,GAAQ,EACpC,EAAI,IAAS,EAAK,GAAQ,EAAK,IAAS,EAAO,EAAK,GAGtD,OAAO,CACT,CAEA,OAAQ,EAAO,GAAQ,EAAO,CAChC,CAEA,SAAS,WAAW,EAAM,CACxB,IAAI,EACA,EAAS,KAAK,EAAE,OAChB,EACA,EAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,IAAO,SACzC,EAAQ,EACR,EAAU,OAKV,GAHA,EAAQ,GACR,GAAQ,KAAK,KAAK,WAAW,UAEzB,EAAO,KAAK,EAAE,EAAE,CAAC,EACnB,EAAQ,EACR,EAAU,KAAK,EAAE,EAAE,CAAC,MACf,CACL,IAAK,EAAO,EAAG,EAAO,EAAS,EAAG,GAAQ,EACxC,GAAI,IAAS,KAAK,EAAE,EAAK,CAAC,EAAG,CAC3B,EAAQ,EAAO,EACf,EAAU,KAAK,EAAE,EAAK,CAAC,EACvB,KACF,MAAO,GAAI,EAAO,KAAK,EAAE,EAAK,CAAC,GAAK,EAAO,KAAK,EAAE,EAAO,EAAE,CAAC,EAAG,CACzD,EAAO,KAAK,EAAE,EAAK,CAAC,EAAI,KAAK,EAAE,EAAO,EAAE,CAAC,EAAI,GAC/C,EAAQ,EAAO,EACf,EAAU,KAAK,EAAE,EAAO,EAAE,CAAC,IAE3B,EAAQ,EAAO,EACf,EAAU,KAAK,EAAE,EAAK,CAAC,GAGzB,KACF,CAGE,IAAU,KACZ,EAAQ,EAAO,EACf,EAAU,KAAK,EAAE,EAAK,CAAC,EAE3B,CAGF,IAAI,EAAQ,CAAC,EAGb,MAFA,GAAM,MAAQ,EACd,EAAM,KAAO,EAAU,KAAK,KAAK,WAAW,UACrC,CACT,CAEA,SAAS,IAAI,EAAK,CAChB,IAAI,EACA,EACA,EAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,IAAO,SACzC,MAAU,MAAM,yCAA2C,CAAG,EAGhE,IACA,EAAQ,CACN,KAAM,KAAK,EAAE,EAAI,CAAC,EAAI,KAAK,KAAK,WAAW,UAC3C,MAAO,CAAC,CACV,EACA,IAAI,EAAM,OAAO,UAAU,eAAe,KAAK,KAAK,EAAE,GAAM,GAAG,EAAI,KAAK,EAAE,EAAI,CAAC,EAAI,KAAK,EAAE,EAAM,EAAE,CAAC,EAGnG,IAFA,EAAS,EAAI,OAER,EAAO,EAAG,EAAO,EAAQ,GAAQ,EACpC,EAAM,GAAQ,EAAI,GAClB,EAAM,MAAM,GAAQ,EAAI,GAG1B,OAAO,CACT,CAEA,SAAS,aAAa,EAAQ,EAAK,CAKjC,MAJA,CACE,IAAM,KAAK,KAAK,WAAW,UAGtB,EAAS,CAClB,CAEA,SAAS,aAAa,EAAG,EAAK,CAS5B,MARI,CAAC,GAAK,IAAM,IACd,EAAI,MAGN,AACE,IAAM,KAAK,KAAK,WAAW,UAGtB,EAAI,CACb,CAEA,SAAS,WAAW,EAAM,CACxB,OAAO,WAAW,SAAW,CAAI,CACnC,CAEA,SAAS,kBAAmB,CAC1B,OAAO,KAAK,iBAAiB,CAC/B,CAEA,SAAS,UAAU,EAAM,EAAK,CAS5B,OARI,OAAO,OAAU,SACf,IAAQ,IAAA,GACH,MAAM,UAAU,CAAI,EAGtB,MAAM,UAAU,EAAM,CAAG,EAG3B,EACT,CAEA,SAAS,OAAO,EAAM,EAAK,CASzB,OARI,OAAO,OAAU,SACf,IAAQ,IAAA,GACH,MAAM,OAAO,CAAI,EAGnB,MAAM,OAAO,EAAM,CAAG,EAGxB,EACT,CAEA,SAAS,cAAc,EAAiB,CACtC,KAAO,IAAoB,EAAI,EAAI,KAAK,MAAM,KAAO,CAAe,EAAI,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,kBAAkB,EAAQ,CAsEjC,MApEA,OAAQ,EAEJ,cACF,WAAW,QAAQ,GAGhB,MAAQ,QAAA,CAAS,oBAAsB,KAAK,WAAW,UAAY,MAAQ,QAAA,CAAS,WAAa,eAC7F,QAGJ,MAAQ,QAAA,CAAS,WAAa,kBACpB,MAAQ,QAAA,CAAS,WACjB,MAAQ,QAAA,CAAS,WACb,MAAQ,QAAA,CAAS,eAG/B,YACH,KAAY,eAAe,KAC3B,UAAY,KAAK,eACjB,KAAgB,KAAK,cACrB,UAAoB,QAAQ,KAAK,SAAS,EAC1C,UAAsB,UAAU,KAAK,SAAS,EAC9C,UAAqB,SAAS,KAAK,SAAS,EAC5C,UAAmB,OAAO,KAAK,SAAS,EACxC,UAAiB,MAAO,UAAU,KAAK,KAAK,SAAS,GAIlD,YACH,UAAY,KAAK,eAAe,sBAAsB,EAGlD,WACF,UAAwB,aAOxB,WAAa,GAAK,CAAC,UACrB,QAAU,UAAU,yBAAyB,GAG/C,AACE,SAAS,UAAU,CAAC,EAGtB,UAAY,CAAC,EAAE,KAAK,WAAa,KAAK,UAAU,QAE5C,WAAa,CAAC,SAChB,OAAS,KAAK,UAAU,EAAE,CAAC,gBAG7B,MAAQ,MAAQ,QAAA,CAAS,KAAK,eAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAE5E,eACF,eAA0B,IAAI,EAGhC,oBAAoB,EACpB,CAAC,MAAQ,QAAA,CAAS,kBAAoB,KAAK,WAAW,QAElD,aAAa,WAAa,UAC5B,aAAe,aAAa,GAIvB,aACT,CAEA,OAAO,iBACT,CAGA,MADA,IAAG,mBAAqB,mBACjB,EACT,EAAE,EAME,kBAAoB,UAAY,CAClC,SAAS,EAAkB,EAAM,EAAM,EAAM,CACvC,EAAK,IACP,EAAK,EAAI,GACT,EAAK,EAAI,GACT,EAAK,mBAAqB,kBAAkB,mBAC5C,EAAK,gBAAgB,KAAK,EAAK,mBAAmB,EAAM,EAAM,CAAI,CAAC,CAAC,KAAK,CAAI,CAAC,EAElF,CAEA,SAAS,EAAe,EAAU,CAUhC,MATA,KAAa,MAAQ,QAAA,CAAS,KAAK,WAAW,UAC9C,IAAa,MAAQ,QAAA,CAAS,WAE1B,KAAc,MAAQ,QAAA,CAAS,eAAe,YAChD,CAAC,MAAQ,QAAA,CAAS,eAAe,WAAa,MAAQ,QAAA,CAAS,eAAe,UAAY,GAAY,MAAQ,QAAA,CAAS,eAAe,UAAY,EAClJ,CAAC,MAAQ,QAAA,CAAS,eAAe,MAAQ,KAAK,iBAAiB,GAAW,MAAQ,QAAA,CAAS,cAAc,EACzG,CAAC,MAAQ,QAAA,CAAS,eAAe,UAAY,IAGvC,MAAQ,QAAA,CAAS,eAAe,KAC1C,CAEA,SAAS,EAAe,EAAU,CAChC,IAAI,EAAQ,KACR,EAAK,KAAK,eAAe,CAAQ,EACjC,EAAK,KAAK,eAAe,EAAW,CAAK,EACzC,EAAQ,EAEZ,GAAI,EAAG,OAAQ,CACb,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAG,OAAQ,GAAK,EAC9B,IAAkB,EAAG,GAAK,EAAG,KAAI,EAGnC,EAAQ,KAAK,KAAK,CAAK,EAAI,GAC7B,KACE,GAAQ,EAGV,OAAO,CACT,CAEA,SAAS,EAAkB,EAAU,CACnC,IAAK,MAAQ,QAAA,CAAS,MAAQ,IAAA,GAC5B,OAAQ,MAAQ,QAAA,CAAS,IAG3B,IAAI,EAAQ,MAER,EAAK,KAAK,eAAe,CAAQ,EACjC,EAAK,KAAK,eAAe,EAAW,CAAK,EACzC,EAEJ,GAAI,EAAG,OAAQ,CACb,EAAW,iBAAiB,UAAW,EAAG,MAAM,EAChD,IAAI,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAG,OAAQ,GAAK,EAI9B,EAAS,IAAM,EAAG,GAAK,EAAG,IAAM,CAEpC,KACE,IAAY,EAAK,GAAM,EAGzB,OAAO,CACT,CAEA,SAAS,GAAuB,CAC9B,OAAQ,MAAQ,QAAA,CAAS,EAC3B,CAEA,SAAS,EAAiB,EAAe,CACvC,CAAC,MAAQ,QAAA,CAAS,cAAgB,CACpC,CAEA,MAAO,CACc,oBACH,iBACG,oBACH,iBACM,uBACJ,kBACpB,CACF,EAAE,GAKD,UAAgC,CAC/B,SAAS,EAAQ,EAAM,EAAU,EAAc,CAC7C,GAAI,EAAE,MAAQ,QAAA,CAAS,GAAK,EAAE,MAAQ,QAAA,CAAS,UAC7C,OAAQ,MAAQ,QAAA,CAAS,GAG3B,EAAO,EAAO,EAAK,YAAY,EAAI,GACnC,IAAI,GAAgB,MAAQ,QAAA,CAAS,KAAK,cACtC,GAAa,MAAQ,QAAA,CAAS,UAC9B,EAAe,EAAU,EAAU,OAAS,EAAE,CAAC,EAEnD,GAAI,GAAgB,EAClB,OAAQ,MAAQ,QAAA,CAAS,GAG3B,IAAI,EACA,EAEC,GAQH,AACE,EADG,EAGa,KAAK,IAAI,GAAgB,MAAQ,QAAA,CAAS,KAAK,KAAK,WAAW,UAAY,CAAQ,EAFnF,KAAK,IAAI,EAAG,GAAgB,MAAQ,QAAA,CAAS,KAAK,KAAK,EAAE,EAK3E,EAAgB,EAAe,KAb3B,CAAC,GAAY,EAAW,EAAU,OAAS,KAC7C,EAAW,EAAU,OAAS,GAGhC,EAAgB,EAAU,EAAU,OAAS,EAAI,EAAS,CAAC,EAC3D,EAAgB,EAAe,GAWjC,IAAI,EACA,EACA,EAEJ,GAAI,IAAS,eACM,KAAK,OAAO,EAAe,GAAiB,CAEhD,EAAI,GAAM,EACrB,OAAO,KAAK,gBAAgB,GAAiB,EAAe,GAAiB,EAAgB,IAAkB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,CAAA,MAEzJ,GAAI,IAAS,SAAU,CAC5B,IAAI,EAAQ,KAAK,eAAe,GAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAC1F,EAAO,KAAK,eAAe,GAAgB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EACxF,EAAU,KAAK,iBAAiB,EAAe,GAAiB,EAAgB,IAAkB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAE/I,EAAU,KAAK,OAAO,EAAe,GAAiB,CAAa,EAEvE,IAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,CAI/B,IAHA,EAAU,MAAM,EAAM,MAAM,EAC5B,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,IAAM,EAAK,GAAK,EAAM,IAAM,EAAU,EAAQ,GAGpD,OAAO,CACT,CAEA,OAAQ,EAAO,GAAS,EAAU,CACpC,MAAO,GAAI,IAAS,WAAY,CAC9B,IAAI,EAAY,KAAK,eAAe,GAAgB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAC7F,EAAgB,KAAK,gBAAgB,EAAe,OAAU,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAE/G,IAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,CAI/B,IAHA,EAAU,MAAM,EAAU,MAAM,EAChC,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAU,IAAM,EAAU,GAAK,EAAc,MAAQ,EAAe,IAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,WAAa,KAG9I,OAAO,CACT,CAEA,OAAO,GAAa,EAAY,KAAmB,EAAe,GAAgB,KACpF,CAEA,OAAO,KAAK,iBAAiB,EAAe,GAAiB,EAAgB,IAAkB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,CAC9I,CAEA,SAAS,EAAO,EAAM,EAAU,EAAc,CAC5C,GAAI,EAAE,MAAQ,QAAA,CAAS,EACrB,OAAQ,MAAQ,QAAA,CAAS,GAG3B,EAAO,EAAO,EAAK,YAAY,EAAI,GACnC,IAAI,GAAgB,MAAQ,QAAA,CAAS,KAAK,cACtC,GAAa,MAAQ,QAAA,CAAS,UAC9B,EAAgB,EAAU,EAAE,CAAC,EAEjC,GAAI,GAAgB,EAClB,OAAQ,MAAQ,QAAA,CAAS,GAG3B,IAAI,EACA,EAEC,GAQH,AACE,EADG,EAGa,KAAK,KAAK,MAAQ,QAAA,CAAS,KAAK,KAAK,WAAW,UAAY,CAAQ,EAFpE,KAAK,IAAI,GAAI,MAAQ,QAAA,CAAS,KAAK,KAAK,GAAK,CAAa,EAK5E,EAAe,EAAgB,KAb3B,CAAC,GAAY,EAAW,EAAU,OAAS,KAC7C,EAAW,EAAU,OAAS,GAGhC,EAAe,EAAU,EAAS,CAAC,EACnC,EAAgB,EAAe,GAWjC,IAAI,EACA,EACA,EAEJ,GAAI,IAAS,eACM,KAAK,OAAO,EAAgB,GAAgB,CAEhD,EAAI,GAAM,EACrB,OAAO,KAAK,iBAAiB,EAAgB,GAAgB,EAAgB,IAAkB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,CAAA,MAEzI,GAAI,IAAS,SAAU,CAC5B,IAAI,EAAQ,KAAK,eAAe,GAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAC1F,EAAO,KAAK,eAAe,GAAgB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EACxF,EAAU,KAAK,gBAAgB,GAAiB,EAAgB,GAAgB,EAAgB,IAAkB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAC/J,EAAU,KAAK,OAAO,EAAgB,GAAgB,CAAa,EAAI,EAE3E,IAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,CAI/B,IAHA,EAAU,MAAM,EAAM,MAAM,EAC5B,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAQ,IAAM,EAAK,GAAK,EAAM,IAAM,EAG/C,OAAO,CACT,CAEA,OAAO,GAAW,EAAO,GAAS,CACpC,MAAO,GAAI,IAAS,WAAY,CAC9B,IAAI,EAAa,KAAK,eAAe,GAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAC/F,EAAiB,KAAK,gBAAgB,EAAgB,OAAU,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,EAEjH,IAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,CAI/B,IAHA,EAAU,MAAM,EAAW,MAAM,EACjC,EAAM,EAAI,OAEL,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAI,GAAK,EAAW,IAAM,EAAW,GAAK,EAAe,KAAO,EAAgB,GAAgB,KAGlG,OAAO,CACT,CAEA,OAAO,GAAc,EAAa,IAAmB,EAAgB,GAAgB,IACvF,CAEA,OAAO,KAAK,gBAAgB,IAAkB,EAAgB,GAAgB,EAAgB,KAAmB,MAAQ,QAAA,CAAS,KAAK,WAAW,UAAW,CAAC,CAChK,CAEA,SAAS,EAAO,EAAO,EAAS,CAQ9B,GAPI,EAAE,MAAQ,QAAA,CAAS,IAIvB,GAAS,GAAS,IAAO,GACzB,EAAU,KAAK,MAAM,GAAW,CAAC,EAE7B,GAAW,GACb,OAAQ,MAAQ,QAAA,CAAS,GAmB3B,IAhBA,IAAI,GAAe,MAAQ,QAAA,CAAS,KAAK,eAAiB,MAAQ,QAAA,CAAS,KAAK,WAAW,UACvF,EAAY,EAAc,EAC1B,EAAW,EAAc,EACzB,EAAkB,EAAU,GAAK,EAAW,IAAc,EAAU,GAAK,EACzE,EAAI,EACJ,EAAI,EACJ,GAEC,MAAQ,QAAA,CAAS,GAAG,OACf,iBAAiB,WAAY,MAAQ,QAAA,CAAS,GAAG,MAAM,EAEvD,EAGN,EAEG,EAAI,GAAS,CAGlB,GAFA,EAAc,KAAK,eAAe,EAAY,EAAI,CAAe,GAE5D,MAAQ,QAAA,CAAS,GAAG,OACvB,IAAK,EAAI,EAAG,GAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,GAAK,EAChD,EAAM,IAAM,EAAY,OAG1B,IAAS,EAGX,GAAK,CACP,CAEA,IAAK,MAAQ,QAAA,CAAS,GAAG,OACvB,IAAK,EAAI,EAAG,GAAK,MAAQ,QAAA,CAAS,GAAG,OAAQ,GAAK,EAChD,EAAM,IAAM,MAGd,IAAS,EAGX,OAAO,CACT,CAEA,SAAS,EAAwB,EAAM,EAC/B,MAAQ,QAAA,CAAS,0BACrB,CAAC,MAAQ,QAAA,CAAS,wBAA0B,CAC1C,EAAG,IAAI,MACT,GAIF,IAAI,GAAU,MAAQ,QAAA,CAAS,wBAAwB,EAGvD,GAFA,EAAO,gBAAgB,MAAQ,QAAA,CAAS,IAAI,KAAK,GAE5C,MAAQ,QAAA,CAAS,uBAAyB,EAAG,CAChD,IAAI,GAAU,MAAQ,QAAA,CAAS,EAAE,eAAe,CAAI,EAEpD,EAAO,UAAU,CAAC,EAAO,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,CAAC,EAAO,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,EAAO,IAAM,MAAQ,QAAA,CAAS,EAAE,IAAI,CACrI,CAEA,IAAK,MAAQ,QAAA,CAAS,uBAAyB,EAAG,CAChD,IAAI,GAAS,MAAQ,QAAA,CAAS,EAAE,eAAe,CAAI,EAEnD,EAAO,MAAM,EAAM,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,EAAM,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,EAAM,IAAM,MAAQ,QAAA,CAAS,EAAE,IAAI,CAC5H,CAEA,IAAK,MAAQ,QAAA,CAAS,KAAO,MAAQ,QAAA,CAAS,uBAAyB,EAAG,CACxE,IAAI,GAAQ,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAE/C,GAAY,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAEvD,EAAO,aAAa,CAAC,GAAQ,MAAQ,QAAA,CAAS,GAAG,KAAM,GAAY,MAAQ,QAAA,CAAS,GAAG,IAAI,CAC7F,CAEA,IAAK,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,uBAAyB,EAAG,CACvE,IAAI,GAAY,MAAQ,QAAA,CAAS,EAAE,eAAe,CAAI,EAEtD,EAAO,OAAO,CAAC,GAAY,MAAQ,QAAA,CAAS,EAAE,IAAI,CACpD,MAAO,GAAI,EAAE,MAAQ,QAAA,CAAS,IAAM,MAAQ,QAAA,CAAS,uBAAyB,EAAG,CAC/E,IAAI,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAEpD,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAEpD,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAEpD,GAAe,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAE1D,EAAO,QAAQ,CAAC,GAAa,MAAQ,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,GAAa,MAAQ,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,GAAa,MAAQ,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAY,IAAM,MAAQ,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAY,IAAM,MAAQ,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAY,IAAM,MAAQ,QAAA,CAAS,GAAG,IAAI,CAClT,CAEA,IAAK,MAAQ,QAAA,CAAS,KAAK,IAAM,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAG,CAC1D,IAAI,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAEpD,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAExD,IAAK,MAAQ,QAAA,CAAS,KAAK,EAAE,EAAG,CAC9B,IAAI,GAAa,MAAQ,QAAA,CAAS,GAAG,eAAe,CAAI,EAExD,EAAO,UAAU,GAAa,MAAQ,QAAA,CAAS,GAAG,KAAM,GAAa,MAAQ,QAAA,CAAS,GAAG,KAAM,CAAC,GAAa,MAAQ,QAAA,CAAS,GAAG,IAAI,CACvI,MACE,EAAO,UAAU,GAAa,MAAQ,QAAA,CAAS,GAAG,KAAM,GAAa,MAAQ,QAAA,CAAS,GAAG,KAAM,CAAC,CAEpG,KAAO,CACL,IAAI,GAAY,MAAQ,QAAA,CAAS,EAAE,eAAe,CAAI,EAEtD,EAAO,UAAU,EAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,EAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,KAAM,CAAC,EAAS,IAAM,MAAQ,QAAA,CAAS,EAAE,IAAI,CAC1I,CAEA,OAAO,CACT,CAEA,SAAS,GAAgC,CACvC,OAAQ,MAAQ,QAAA,CAAS,EAAE,MAAM,IAAI,MAAQ,CAC/C,CAEA,IAAI,EAAuB,yBAAyB,qBAEpD,yBAAyB,qBAAuB,SAAU,EAAM,EAAM,EAAW,CAC/E,IAAI,EAAO,EAAqB,EAAM,EAAM,CAAS,EASrD,OAPI,EAAK,kBAAkB,OACzB,EAAK,eAAiB,EAAwB,KAAK,CAAI,EAEvD,EAAK,eAAiB,EAA8B,KAAK,CAAI,EAG/D,EAAK,iBAAmB,kBAAkB,iBACnC,CACT,EAEA,IAAI,EAAkB,gBAAgB,QAEtC,gBAAgB,QAAU,SAAU,EAAM,EAAM,EAAM,EAAM,EAAW,CACrE,IAAI,EAAO,EAAgB,EAAM,EAAM,EAAM,EAAM,CAAS,EAIxD,EAAK,GACP,EAAK,eAAiB,kBAAkB,eAAe,KAAK,CAAI,EAEhE,EAAK,eAAiB,kBAAkB,qBAAqB,KAAK,CAAI,EAGxE,EAAK,iBAAmB,kBAAkB,iBAC1C,EAAK,QAAU,EACf,EAAK,OAAS,EACd,EAAK,OAAS,EACd,EAAK,kBAAoB,kBAAkB,kBAAkB,KAAK,CAAI,EACtE,EAAK,eAAiB,kBAAkB,eAAe,KAAK,CAAI,EAChE,EAAK,QAAU,EAAK,IAAM,EAAI,EAAK,EAAE,OAAS,EAC9C,EAAK,cAAgB,EAAK,GAC1B,IAAI,EAAQ,EAiBZ,OAfI,IAAS,IACX,EAAQ,iBAAiB,UAAW,EAAK,IAAM,EAAI,EAAK,EAAE,EAAE,CAAC,EAAE,OAAS,EAAK,EAAE,MAAM,GAGvF,EAAK,eAAiB,CACpB,UAAW,oBACX,UAAW,EACJ,OACT,EACA,kBAAkB,kBAAkB,EAAM,EAAM,CAAI,EAEhD,EAAK,GACP,EAAU,mBAAmB,CAAI,EAG5B,CACT,EAEA,SAAS,EAAoB,EAAU,CAmBrC,OAjBM,MAAQ,QAAA,CAAS,iBACrB,CAAC,MAAQ,QAAA,CAAS,eAAiB,CACjC,WAAY,UAAU,OAAO,MAAQ,QAAA,CAAS,EAAE,EAChD,UAAW,EACX,SAAU,mBACZ,GAGF,IAAa,MAAQ,QAAA,CAAS,KAAK,WAAW,UAC9C,IAAa,MAAQ,QAAA,CAAS,WAE1B,KAAc,MAAQ,QAAA,CAAS,eAAe,WAChD,CAAC,MAAQ,QAAA,CAAS,eAAe,WAAa,MAAQ,QAAA,CAAS,eAAe,SAAW,GAAY,MAAQ,QAAA,CAAS,SAAS,UAAY,EAC3I,CAAC,MAAQ,QAAA,CAAS,eAAe,SAAW,EAC5C,KAAK,iBAAiB,GAAW,MAAQ,QAAA,CAAS,eAAe,YAAa,MAAQ,QAAA,CAAS,cAAc,IAGvG,MAAQ,QAAA,CAAS,eAAe,UAC1C,CAEA,IAAI,EAAmC,qBAAqB,uBAAuB,EAC/E,EAA4C,qBAAqB,gCAAgC,EAErG,SAAS,GAAmB,CAAC,CAE7B,EAAiB,UAAY,CAC3B,SAAU,SAAU,EAAM,EAAM,EACzB,MAAQ,QAAA,CAAS,GACpB,KAAK,SAAS,EAGhB,IAAI,GAAa,MAAQ,QAAA,CAAS,EAE9B,IAAS,IAAA,KACX,EAAY,KAAK,eAAe,EAAM,CAAC,GAGzC,IAAI,EACA,EAAM,EAAU,QAChB,EAAW,EAAU,GACrB,EAAS,EAAU,EACnB,EAAM,iBAAiB,CAAG,EAE9B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,IAAS,KAAO,IAAS,IAC3B,EAAI,GAAK,CAAC,EAAS,EAAE,CAAC,GAAK,EAAO,EAAE,CAAC,GAAI,EAAS,EAAE,CAAC,GAAK,EAAO,EAAE,CAAC,EAAE,EAEtE,EAAI,GAAK,CAAC,EAAS,EAAE,CAAC,GAAI,EAAS,EAAE,CAAC,EAAE,EAI5C,OAAO,CACT,EACA,OAAQ,SAAU,EAAM,CACtB,OAAO,KAAK,SAAS,IAAK,CAAI,CAChC,EACA,WAAY,SAAU,EAAM,CAC1B,OAAO,KAAK,SAAS,IAAK,CAAI,CAChC,EACA,YAAa,SAAU,EAAM,CAC3B,OAAO,KAAK,SAAS,IAAK,CAAI,CAChC,EACA,SAAU,UAAY,CACpB,OAAQ,MAAQ,QAAA,CAAS,EAAE,CAC7B,EACA,YAAa,SAAU,EAAM,EAAM,CACjC,IAAI,GAAa,MAAQ,QAAA,CAAS,EAE9B,IAAS,IAAA,KACX,EAAY,KAAK,eAAe,EAAM,CAAC,IAGnC,MAAQ,QAAA,CAAS,kBACrB,CAAC,MAAQ,QAAA,CAAS,gBAAkB,IAAI,kBAAkB,CAAS,GAWrE,IARA,IAAI,GAAkB,MAAQ,QAAA,CAAS,gBACnC,EAAU,EAAe,QACzB,EAAY,EAAe,YAAc,EACzC,EAAI,EACJ,EAAM,EAAQ,OACd,EAAoB,EACpB,EAEG,EAAI,GAAK,CACd,GAAI,EAAoB,EAAQ,EAAE,CAAC,YAAc,EAAW,CAC1D,IAAI,EAAY,EACZ,EAAW,EAAU,GAAK,IAAM,EAAM,EAAI,EAAI,EAAI,EAClD,GAAe,EAAY,GAAqB,EAAQ,EAAE,CAAC,YAC/D,EAAK,IAAI,kBAAkB,EAAU,EAAE,GAAY,EAAU,EAAE,GAAW,EAAU,EAAE,GAAY,EAAU,EAAE,GAAW,EAAa,EAAQ,EAAE,EAChJ,KACF,KACE,IAAqB,EAAQ,EAAE,CAAC,YAGlC,GAAK,CACP,CAMA,MAJA,CACE,IAAK,EAAU,EAAI,CAAC,EAAU,EAAE,EAAE,CAAC,GAAI,EAAU,EAAE,EAAE,CAAC,EAAE,EAAI,CAAC,EAAU,EAAE,EAAU,QAAU,EAAE,CAAC,GAAI,EAAU,EAAE,EAAU,QAAU,EAAE,CAAC,EAAE,EAGpI,CACT,EACA,aAAc,SAAU,EAAM,EAAM,EAAY,CAE1C,GAAQ,EAEV,GAAQ,MAAQ,QAAA,CAAS,EAAE,EAClB,GAAQ,IAEjB,EAAO,MAGT,IAAI,EAAM,KAAK,YAAY,EAAM,CAAI,EACjC,EAAM,KAAK,YAAY,EAAO,KAAO,CAAI,EACzC,EAAU,EAAI,GAAK,EAAI,GACvB,EAAU,EAAI,GAAK,EAAI,GACvB,EAAY,KAAK,KAAc,GAAS,EAAc,GAAS,CAAE,EAOrE,OALI,IAAc,EACT,CAAC,EAAG,CAAC,EAGG,IAAe,UAAY,CAAC,EAAU,EAAW,EAAU,CAAS,EAAI,CAAC,CAAC,EAAU,EAAW,EAAU,CAAS,CAErI,EACA,cAAe,SAAU,EAAM,EAAM,CACnC,OAAO,KAAK,aAAa,EAAM,EAAM,SAAS,CAChD,EACA,aAAc,SAAU,EAAM,EAAM,CAClC,OAAO,KAAK,aAAa,EAAM,EAAM,QAAQ,CAC/C,EACA,iBAAkB,kBAAkB,iBACpC,eAAgB,kBAAkB,oBACpC,EACA,gBAAgB,CAAC,CAAgB,EAAG,CAAgC,EACpE,gBAAgB,CAAC,CAAgB,EAAG,CAAyC,EAC7E,EAA0C,UAAU,eAAiB,EACrE,EAA0C,UAAU,mBAAqB,kBAAkB,mBAC3F,IAAI,EAAuB,qBAAqB,aAEhD,qBAAqB,aAAe,SAAU,EAAM,EAAM,EAAM,EAAK,EAAO,CAC1E,IAAI,EAAO,EAAqB,EAAM,EAAM,EAAM,EAAK,CAAK,EAc5D,MAbA,GAAK,cAAgB,EAAK,GAC1B,EAAK,KAAO,GAER,IAAS,EACX,kBAAkB,kBAAkB,EAAM,EAAK,GAAI,CAAI,EAC9C,IAAS,GAClB,kBAAkB,kBAAkB,EAAM,EAAK,GAAI,CAAI,EAGrD,EAAK,GACP,EAAK,mBAAmB,CAAI,EAGvB,CACT,CACF,EAAA,CAAG,GAIF,UAAwB,CACvB,SAAS,GAAoB,CAO3B,OANK,MAAQ,QAAA,CAAS,KAAK,EAAE,GAC3B,CAAC,MAAQ,QAAA,CAAS,oBAAsB,kBAAkB,mBAAmB,KAAK,MAAQ,OAAO,CAAC,EAAE,MAAQ,QAAA,CAAS,MAAO,MAAQ,QAAA,CAAS,KAAK,EAAG,MAAQ,OAAO,EACpK,KAAK,WAAW,MAAQ,QAAA,CAAS,mBAAmB,KAAK,MAAQ,OAAO,CAAC,EAClE,IAGF,IACT,CAEA,aAAa,UAAU,mBAAqB,SAAU,EAAc,EAAM,CACxE,IAAI,EAAW,KAAK,oBAAoB,CAAI,EAE5C,GAAI,EAAa,IAAM,EAAU,CAC/B,IAAI,EAAU,CAAC,EAIf,OAHA,KAAK,SAAS,EAAS,CAAY,EACnC,EAAQ,EAAI,EAAS,SAAS,EAC9B,EAAQ,WAAa,GACd,CACT,CAEA,OAAO,CACT,EAEA,aAAa,UAAU,eAAiB,UAAY,CAClD,IAAI,EAAc,KAAK,gBAAgB,EACnC,EAAiB,KAAK,kBAAkB,EAE5C,MADA,CAAC,MAAQ,QAAA,CAAS,GAAK,GAAe,GAC9B,MAAQ,QAAA,CAAS,EAC3B,EAEA,aAAa,UAAU,kBAAoB,CAC7C,EAAA,CAAG,EAMH,IAAI,mBAAqB,UAAY,CACnC,OAAO,SAA8B,EAAO,EAAM,EAAe,CAC/D,IAAI,EAAO,EAAK,GAEhB,SAAS,EAAkB,EAAK,CAK9B,OAJI,IAAQ,SAAW,IAAQ,SAAW,IAAQ,QAAU,IAAQ,QAAU,IAAQ,qBAAuB,IAAQ,EAC5G,EAAkB,KAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAsC1E,OApCA,EAAK,iBAAiB,kBAAkB,OAAQ,CAAc,CAAC,EAC/D,OAAO,iBAAiB,EAAmB,CACzC,KAAM,CACJ,IAAK,UAAY,CAKf,OAJI,EAAK,GACP,EAAK,SAAS,EAGT,CACT,CACF,EACA,MAAO,CACL,IAAK,UAAY,CAKf,OAJI,EAAK,GACP,EAAK,SAAS,EAGT,CACT,CACF,EACA,MAAO,CACL,MAAO,EAAM,EACf,EACA,GAAI,CACF,MAAO,EAAM,EACf,EACA,cAAe,CACb,MAAO,EAAM,EACf,EACA,GAAI,CACF,MAAO,EAAM,EACf,EACA,cAAe,CACb,MAAO,CACT,CACF,CAAC,EACM,CACT,CACF,EAAE,EAIE,qBAAuB,UAAY,CACrC,OAAO,SAAU,EAAmB,EAAqB,CACvD,OAAO,SAAU,EAAK,CAOpB,MANA,GAAM,IAAQ,IAAA,GAAY,EAAI,EAE1B,GAAO,EACF,EAGF,EAAoB,EAAM,CAAC,CACpC,CACF,CACF,EAAE,EAIE,kBAAoB,UAAY,CAClC,OAAO,SAAU,EAAc,EAAe,CAC5C,IAAI,EAAoB,CACtB,MAAO,CACT,EAEA,SAAS,EAAe,EAAK,CAO3B,MANA,GAAM,IAAQ,IAAA,GAAY,EAAI,EAE1B,GAAO,EACF,EAGF,EAAc,EAAM,CAAC,CAC9B,CAEA,OAAO,CACT,CACF,EAAE,EAME,yBAA2B,UAAY,CACzC,SAAS,EAAgB,EAAQ,EAAM,EAAe,CACpD,IAAI,EAAM,CAAC,EACP,EACA,EAAM,EAAS,EAAO,OAAS,EAEnC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAO,EAAE,CAAC,KAAO,KACnB,EAAI,KAAK,EAAsB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACxD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAqB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACvD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAuB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACzD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAqB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACvD,EAAO,EAAE,CAAC,KAAO,OACjB,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAwB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EAC1D,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAqB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACvD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,mBAAmB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACrD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAqB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EACvD,EAAO,EAAE,CAAC,KAAO,KAC1B,EAAI,KAAK,EAAwB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,EAC1D,EAAO,EAAE,CAAC,KAAO,MAC1B,EAAI,KAAK,EAAyB,EAAO,GAAI,EAAK,GAAI,CAAa,CAAC,GAIxE,OAAO,CACT,CAEA,SAAS,EAAyB,EAAO,EAAM,EAAe,CAC5D,IAAI,EAEA,EAAoB,SAA4B,EAAO,CAIzD,IAHA,IAAI,EAAI,EACJ,EAAM,EAAW,OAEd,EAAI,GAAK,CACd,GAAI,EAAW,EAAE,CAAC,QAAU,GAAS,EAAW,EAAE,CAAC,KAAO,GAAS,EAAW,EAAE,CAAC,gBAAkB,GAAS,EAAW,EAAE,CAAC,KAAO,GAAS,EAAW,EAAE,CAAC,MAAQ,EAC9J,OAAO,EAAW,GAGpB,GAAK,CACP,CAMA,OAJI,OAAO,GAAU,SACZ,EAAW,EAAQ,GAGrB,IACT,EASA,MAPA,GAAkB,cAAgB,qBAAqB,EAAmB,CAAa,EACvF,EAAa,EAAgB,EAAM,GAAI,EAAK,GAAI,EAAkB,aAAa,EAC/E,EAAkB,cAAgB,EAAW,OAE7C,EAAkB,UADO,EAA0B,EAAM,GAAG,EAAM,GAAG,OAAS,GAAI,EAAK,GAAG,EAAK,GAAG,OAAS,GAAI,EAAkB,aAClF,EAC/C,EAAkB,cAAgB,EAAM,IACxC,EAAkB,MAAQ,EAAM,GACzB,CACT,CAEA,SAAS,EAAsB,EAAO,EAAM,EAAe,CACzD,IAAI,EAAoB,SAA4B,EAAO,CACzD,OAAQ,EAAR,CACE,IAAK,qBACL,IAAK,WACL,IAAK,GACH,OAAO,EAAkB,QAK3B,QACE,OAAO,EAAkB,SAC7B,CACF,EAEA,EAAkB,cAAgB,qBAAqB,EAAmB,CAAa,EACvF,IAAI,EAAU,EAAyB,EAAO,EAAM,EAAkB,aAAa,EAC/E,EAAqB,EAA0B,EAAM,GAAG,EAAM,GAAG,OAAS,GAAI,EAAK,GAAG,EAAK,GAAG,OAAS,GAAI,EAAkB,aAAa,EAa9I,MAZA,GAAkB,QAAU,EAC5B,EAAkB,UAAY,EAC9B,OAAO,eAAe,EAAmB,QAAS,CAChD,IAAK,UAAY,CACf,OAAO,EAAM,EACf,CACF,CAAC,EAED,EAAkB,cAAgB,EAAM,GACxC,EAAkB,cAAgB,EAAM,GACxC,EAAkB,GAAK,EAAM,GAC7B,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAAqB,EAAO,EAAM,EAAe,CACxD,SAAS,EAAkB,EAAK,CAS9B,OARI,IAAQ,SAAW,IAAQ,QACtB,EAAkB,MAGvB,IAAQ,WAAa,IAAQ,UACxB,EAAkB,QAGpB,IACT,CAkBA,OAhBA,OAAO,iBAAiB,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,QAAS,CACP,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO,EAAM,EACf,EACA,GAAI,CACF,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAK,EAAE,iBAAiB,kBAAkB,QAAS,CAAa,CAAC,EACjE,EAAK,EAAE,iBAAiB,kBAAkB,UAAW,CAAa,CAAC,EAC5D,CACT,CAEA,SAAS,EAAuB,EAAO,EAAM,EAAe,CAC1D,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAEtE,EAAqB,qBAAqB,EAAQ,CAAc,EAEpE,SAAS,EAAoB,EAAG,CAC9B,OAAO,eAAe,EAAQ,EAAM,EAAE,EAAE,CAAC,GAAI,CAC3C,IAAK,4BAA4B,EAAK,EAAE,UAAU,EAAE,CAAC,CAAC,CACxD,CAAC,CACH,CAEA,IAAI,EACA,EAAM,EAAM,EAAI,EAAM,EAAE,OAAS,EACjC,EAAS,CAAC,EAEd,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAoB,CAAC,EACrB,EAAK,EAAE,UAAU,EAAE,CAAC,EAAE,iBAAiB,CAAkB,EAG3D,SAAS,EAAkB,EAAK,CAa9B,OAZI,IAAQ,SAAW,IAAQ,QACtB,EAAkB,MAGvB,IAAQ,WAAa,IAAQ,UACxB,EAAkB,QAGvB,IAAQ,gBAAkB,IAAQ,eAC7B,EAAkB,YAGpB,IACT,CA2BA,OAzBA,OAAO,iBAAiB,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,QAAS,CACP,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,YAAa,CACX,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,KAAM,CACJ,IAAK,UAAY,CACf,OAAO,CACT,CACF,EACA,MAAO,CACL,MAAO,EAAM,EACf,EACA,GAAI,CACF,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAK,EAAE,iBAAiB,kBAAkB,QAAS,CAAc,CAAC,EAClE,EAAK,EAAE,iBAAiB,kBAAkB,UAAW,CAAc,CAAC,EACpE,EAAK,EAAE,iBAAiB,kBAAkB,eAAgB,CAAc,CAAC,EAClE,CACT,CAEA,SAAS,EAAqB,EAAO,EAAM,EAAe,CACxD,SAAS,EAAkB,EAAK,CAa9B,OAZI,IAAQ,EAAM,EAAE,IAAM,IAAQ,OAAS,IAAQ,MAC1C,EAAkB,IAGvB,IAAQ,EAAM,EAAE,GACX,EAAkB,MAGvB,IAAQ,EAAM,EAAE,GACX,EAAkB,OAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAuB1E,MArBA,GAAkB,cAAgB,EAAM,GACxC,EAAK,EAAE,iBAAiB,kBAAkB,QAAS,CAAc,CAAC,EAClE,EAAK,EAAE,iBAAiB,kBAAkB,MAAO,CAAc,CAAC,EAChE,EAAK,EAAE,iBAAiB,kBAAkB,SAAU,CAAc,CAAC,EACnE,EAAkB,cAAgB,EAAM,GACxC,EAAkB,cAAgB,EAClC,OAAO,iBAAiB,EAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,IAAK,CACH,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAA0B,EAAO,EAAM,EAAe,CAC7D,SAAS,EAAkB,EAAO,CA6BhC,OA5BI,EAAM,EAAE,KAAO,GAAS,IAAU,eAC7B,EAAkB,YAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,UAC7B,EAAkB,QAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,WAC7B,EAAkB,SAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,YAAc,IAAU,uBACrD,EAAkB,SAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,QAC7B,EAAkB,MAGvB,EAAM,IAAM,EAAM,GAAG,KAAO,GAAS,IAAU,OAC1C,EAAkB,KAGvB,EAAM,IAAM,EAAM,GAAG,KAAO,GAAS,IAAU,YAC1C,EAAkB,SAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EA2C1E,OAzCA,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,UAAW,CAAc,CAAC,EACrF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EACtF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,eAAgB,CAAc,CAAC,EAC1F,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,QAAS,CAAc,CAAC,EACnF,EAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EAElF,EAAK,UAAU,OAAO,KACxB,EAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,OAAQ,CAAc,CAAC,EACnF,EAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,aAAc,CAAc,CAAC,GAG3F,EAAK,UAAU,GAAG,iBAAiB,kBAAkB,UAAW,CAAc,CAAC,EAC/E,OAAO,iBAAiB,EAAmB,CACzC,QAAS,CACP,IAAK,4BAA4B,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,SAAU,CACR,IAAK,4BAA4B,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,YAAa,CACX,IAAK,4BAA4B,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,MAAO,CACL,IAAK,4BAA4B,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,SAAU,CACR,IAAK,4BAA4B,EAAK,UAAU,OAAO,CAAC,CAC1D,EACA,KAAM,CACJ,IAAK,4BAA4B,EAAK,UAAU,OAAO,EAAE,CAC3D,EACA,SAAU,CACR,IAAK,4BAA4B,EAAK,UAAU,OAAO,EAAE,CAC3D,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,KACvB,EAAkB,GAAK,EAAM,GAC7B,EAAkB,cAAgB,EAC3B,CACT,CAEA,SAAS,EAAwB,EAAO,EAAM,EAAe,CAC3D,SAAS,EAAkB,EAAO,CAShC,OARI,EAAM,EAAE,KAAO,EACV,EAAkB,SAGvB,EAAM,EAAE,KAAO,EACV,EAAkB,KAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAE1E,EAAkB,cAAgB,EAAM,GACxC,IAAI,EAAO,EAAK,GAAG,KAAO,KAAO,EAAK,GAAG,KAAO,EAAK,GAerD,OAdA,EAAK,EAAE,iBAAiB,kBAAkB,OAAQ,CAAc,CAAC,EACjE,EAAK,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EACrE,OAAO,iBAAiB,EAAmB,CACzC,KAAM,CACJ,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,SAAU,CACR,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAAqB,EAAO,EAAM,EAAe,CACxD,SAAS,EAAkB,EAAO,CA6BhC,OA5BI,EAAM,EAAE,KAAO,EACV,EAAkB,SAGvB,EAAM,EAAE,KAAO,EACV,EAAkB,SAGvB,EAAM,GAAG,KAAO,EACX,EAAkB,OAGvB,EAAM,GAAG,KAAO,GAAS,IAAU,gCAC9B,EAAkB,YAGvB,EAAM,GAAG,KAAO,EACX,EAAkB,eAGvB,EAAM,KAAO,EAAM,GAAG,KAAO,GAAS,IAAU,iCAC3C,EAAkB,YAGvB,EAAM,IAAM,EAAM,GAAG,KAAO,EACvB,EAAkB,eAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAEtE,EAAO,EAAK,GAAG,KAAO,KAAO,EAAK,GAAG,KAAO,EAAK,GAwCrD,MAvCA,GAAkB,cAAgB,EAAM,GACxC,EAAK,GAAG,iBAAiB,kBAAkB,eAAgB,CAAc,CAAC,EAC1E,EAAK,GAAG,iBAAiB,kBAAkB,kBAAmB,CAAc,CAAC,EAC7E,EAAK,GAAG,iBAAiB,kBAAkB,SAAU,CAAc,CAAC,EACpE,EAAK,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EACrE,EAAK,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EAEjE,EAAM,KACR,EAAK,GAAG,iBAAiB,kBAAkB,eAAgB,CAAc,CAAC,EAC1E,EAAK,GAAG,iBAAiB,kBAAkB,kBAAmB,CAAc,CAAC,GAG/E,OAAO,iBAAiB,EAAmB,CACzC,SAAU,CACR,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,SAAU,CACR,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,YAAa,CACX,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,eAAgB,CACd,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,YAAa,CACX,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,eAAgB,CACd,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAAqB,EAAO,EAAM,EAAe,CACxD,SAAS,EAAkB,EAAO,CAahC,OAZI,EAAM,EAAE,KAAO,EACV,EAAkB,SAGvB,EAAM,EAAE,KAAO,EACV,EAAkB,UAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,QAAU,IAAU,wBACjD,EAAkB,KAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAEtE,EAAO,EAAK,GAAG,KAAO,KAAO,EAAK,GAAG,KAAO,EAAK,GAoBrD,MAnBA,GAAkB,cAAgB,EAAM,GACxC,EAAK,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EACrE,EAAK,EAAE,iBAAiB,kBAAkB,OAAQ,CAAc,CAAC,EACjE,EAAK,EAAE,iBAAiB,kBAAkB,WAAY,CAAc,CAAC,EACrE,OAAO,iBAAiB,EAAmB,CACzC,SAAU,CACR,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,UAAW,CACT,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,KAAM,CACJ,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAAwB,EAAO,EAAM,EAAe,CAC3D,SAAS,EAAkB,EAAO,CAKhC,OAJI,EAAM,EAAE,KAAO,GAAS,IAAU,kBAC7B,EAAkB,OAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAEtE,EAAO,EAYX,MAXA,GAAkB,cAAgB,EAAM,GACxC,EAAK,GAAG,iBAAiB,kBAAkB,SAAU,CAAc,CAAC,EACpE,OAAO,iBAAiB,EAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4B,EAAK,EAAE,CAC1C,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,SAAS,EAAyB,EAAO,EAAM,EAAe,CAC5D,SAAS,EAAkB,EAAO,CAShC,OARI,EAAM,EAAE,KAAO,GAAS,IAAU,SAC7B,EAAkB,OAGvB,EAAM,EAAE,KAAO,GAAS,IAAU,SAC7B,EAAkB,OAGpB,IACT,CAEA,IAAI,EAAiB,qBAAqB,EAAmB,CAAa,EAEtE,EAAO,EAgBX,MAfA,GAAkB,cAAgB,EAAM,GACxC,EAAK,EAAE,iBAAiB,kBAAkB,SAAU,CAAc,CAAC,EACnE,EAAK,EAAE,iBAAiB,kBAAkB,SAAU,CAAc,CAAC,EACnE,OAAO,iBAAiB,EAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,OAAQ,CACN,IAAK,4BAA4B,EAAK,CAAC,CACzC,EACA,MAAO,CACL,MAAO,EAAM,EACf,CACF,CAAC,EACD,EAAkB,GAAK,EAAM,GACtB,CACT,CAEA,OAAO,SAAU,EAAQ,EAAM,EAAe,CAC5C,IAAI,EAEJ,SAAS,EAAmB,EAAO,CACjC,GAAI,OAAO,GAAU,SAOnB,MANA,GAAQ,IAAU,IAAA,GAAY,EAAI,EAE9B,IAAU,EACL,EAGF,EAAW,EAAQ,GAM5B,IAHA,IAAI,EAAI,EACJ,EAAM,EAAW,OAEd,EAAI,GAAK,CACd,GAAI,EAAW,EAAE,CAAC,QAAU,EAC1B,OAAO,EAAW,GAGpB,GAAK,CACP,CAEA,OAAO,IACT,CAEA,SAAS,GAAqB,CAC5B,OAAO,CACT,CAMA,MAJA,GAAmB,cAAgB,qBAAqB,EAAoB,CAAkB,EAC9F,EAAa,EAAgB,EAAQ,EAAM,EAAmB,aAAa,EAC3E,EAAmB,cAAgB,EAAW,OAC9C,EAAmB,MAAQ,WACpB,CACT,CACF,EAAE,EAIE,wBAA0B,UAAY,CACxC,OAAO,SAAU,EAAM,CACrB,IAAI,EAEA,EAEJ,SAAS,EAAmB,EAAM,CAChC,OAAQ,EAAR,CACE,IAAK,qBACH,OAAO,EAAmB,WAE5B,QACE,OAAO,IACX,CACF,CAkBA,OAhBA,OAAO,eAAe,EAAoB,aAAc,CACtD,IAAK,UAAY,CACf,EAAK,aAAa,SAAS,EAC3B,IAAI,EAAc,EAAK,aAAa,YAAY,EAUhD,OARI,IAAgB,IAClB,EAAK,aAAa,YAAY,EAAI,EAClC,EAAc,IAAI,OAAO,CAAW,EAGpC,EAAY,MAAQ,GAAe,IAAI,OAAO,CAAW,GAGpD,CACT,CACF,CAAC,EACM,CACT,CACF,EAAE,EAME,yBAA2B,UAAY,CACzC,SAAS,EAAU,EAAM,CACvB,IAAI,EAAa,IAAI,OAWrB,OATI,IAAS,IAAA,IAKS,MAAQ,QAAA,CAAS,MAAM,eAAe,MAC7C,cAAc,CAAU,GALnB,MAAQ,QAAA,CAAS,MAAM,eAAe,MAAM,eAAe,CAEpE,CAAC,CAAC,MAAM,CAAU,EAMtB,CACT,CAEA,SAAS,EAAW,EAAK,EAAM,CAC7B,IAAI,EAAa,KAAK,UAAU,CAAI,EAIpC,MAHA,GAAW,MAAM,IAAM,EACvB,EAAW,MAAM,IAAM,EACvB,EAAW,MAAM,IAAM,EAChB,KAAK,WAAW,EAAY,CAAG,CACxC,CAEA,SAAS,EAAQ,EAAK,EAAM,CAC1B,IAAI,EAAa,KAAK,UAAU,CAAI,EACpC,OAAO,KAAK,WAAW,EAAY,CAAG,CACxC,CAEA,SAAS,EAAa,EAAK,EAAM,CAC/B,IAAI,EAAa,KAAK,UAAU,CAAI,EAIpC,MAHA,GAAW,MAAM,IAAM,EACvB,EAAW,MAAM,IAAM,EACvB,EAAW,MAAM,IAAM,EAChB,KAAK,YAAY,EAAY,CAAG,CACzC,CAEA,SAAS,EAAU,EAAK,EAAM,CAC5B,IAAI,EAAa,KAAK,UAAU,CAAI,EACpC,OAAO,KAAK,YAAY,EAAY,CAAG,CACzC,CAEA,SAAS,EAAW,EAAQ,EAAK,CAC/B,IAAK,MAAQ,QAAA,CAAS,MAAM,YAAc,MAAQ,QAAA,CAAS,MAAM,UAAU,OAAQ,CACjF,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,MAAM,UAAU,OAE5C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,MAAM,UAAU,EAAE,CAAC,eAAe,MAAM,cAAc,CAAM,CAElF,CAEA,OAAO,EAAO,kBAAkB,EAAI,GAAI,EAAI,GAAI,EAAI,IAAM,CAAC,CAC7D,CAEA,SAAS,EAAY,EAAQ,EAAK,CAChC,IAAK,MAAQ,QAAA,CAAS,MAAM,YAAc,MAAQ,QAAA,CAAS,MAAM,UAAU,OAAQ,CACjF,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,MAAM,UAAU,OAE5C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,MAAM,UAAU,EAAE,CAAC,eAAe,MAAM,cAAc,CAAM,CAElF,CAEA,OAAO,EAAO,aAAa,CAAG,CAChC,CAEA,SAAS,EAAS,EAAK,CACrB,IAAI,EAAa,IAAI,OAKrB,GAJA,EAAW,MAAM,GAEhB,MAAQ,QAAA,CAAS,MAAM,eAAe,MAAM,cAAc,CAAU,GAEhE,MAAQ,QAAA,CAAS,MAAM,YAAc,MAAQ,QAAA,CAAS,MAAM,UAAU,OAAQ,CACjF,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,MAAM,UAAU,OAE5C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,GACvB,MAAQ,QAAA,CAAS,MAAM,UAAU,EAAE,CAAC,eAAe,MAAM,cAAc,CAAU,EAGpF,OAAO,EAAW,aAAa,CAAG,CACpC,CAEA,OAAO,EAAW,aAAa,CAAG,CACpC,CAEA,SAAS,GAAc,CACrB,MAAO,CAAC,EAAG,EAAG,EAAG,CAAC,CACpB,CAEA,OAAO,SAAU,EAAM,CACrB,IAAI,EAEJ,SAAS,EAAuB,EAAa,CAC3C,EAAmB,KAAO,IAAI,qBAAqB,EAAa,CAAI,CACtE,CAEA,SAAS,EAA0B,EAAS,CAC1C,EAAmB,OAAS,CAC9B,CAEA,SAAS,EAAmB,EAAM,CAChC,OAAQ,EAAR,CACE,IAAK,0BACL,IAAK,WACL,IAAK,GACH,OAAO,EAAmB,eAE5B,IAAK,GACL,IAAK,GACL,IAAK,YACL,IAAK,YACL,IAAK,uBACH,OAAO,EAET,IAAK,GACL,IAAK,qBACL,IAAK,UACL,IAAK,UACH,OAAO,EAAmB,OAE5B,IAAK,uBACH,OAAO,EAAmB,cAE5B,QACE,OAAO,IACX,CACF,CAEA,EAAmB,UAAY,EAC/B,EAAmB,YAAc,EACjC,EAAmB,WAAa,EAChC,EAAmB,QAAU,EAC7B,EAAmB,WAAa,EAChC,EAAmB,UAAY,EAC/B,EAAmB,aAAe,EAClC,EAAmB,OAAS,EAC5B,EAAmB,SAAW,EAC9B,EAAmB,YAAc,EACjC,EAAmB,iBAAmB,EAAK,iBAAiB,KAAK,CAAI,EACrE,EAAmB,MAAQ,EAC3B,EAAqB,6BAA6B,EAAK,eAAe,KAAK,EAC3E,IAAI,EAAwB,cAAc,EAAoB,aAAa,EAuC3E,OAtCA,OAAO,iBAAiB,EAAoB,CAC1C,UAAW,CACT,IAAK,UAAY,CACf,OAAO,EAAK,UAAU,MACxB,CACF,EACA,OAAQ,CACN,IAAK,UAAY,CACf,OAAO,EAAK,UAAU,EAAE,CAAC,cAC3B,CACF,EACA,SAAU,cAAc,EAAoB,UAAU,EACtD,MAAO,cAAc,EAAoB,OAAO,EAChD,SAAU,cAAc,EAAoB,UAAU,EACtD,QAAS,cAAc,EAAoB,SAAS,EACpD,YAAa,EACb,aAAc,EACd,UAAW,CACT,IAAK,UAAY,CACf,OAAO,CACT,CACF,EACA,OAAQ,CACN,IAAK,UAAY,CACf,OAAO,EAAK,SACd,CACF,CACF,CAAC,EACD,EAAmB,UAAY,EAAK,KAAK,GACzC,EAAmB,MAAQ,EAAK,KAAK,IACrC,EAAmB,OAAS,EAAK,KAAK,MACtC,EAAmB,OAAS,EAAK,KAAK,KAAO,EAAI,EAAK,KAAK,EAAI,IAC/D,EAAmB,MAAQ,EAAK,KAAK,KAAO,EAAI,EAAK,KAAK,EAAI,IAC9D,EAAmB,QAAU,EAAK,KAAK,GAAK,EAAK,KAAK,WAAW,UACjE,EAAmB,SAAW,EAAK,KAAK,GAAK,EAAK,KAAK,WAAW,UAClE,EAAmB,MAAQ,EAAK,KAAK,GACrC,EAAmB,sBAAwB,EAC3C,EAAmB,yBAA2B,EACvC,CACT,CACF,EAAE,EAME,iBAAmB,UAAY,CACjC,IAAI,EAA0B,SAAU,EAAM,CAC5C,IAAI,EAAsB,GACtB,EAAkB,EAAK,eAAe,EAE1C,SAAS,GAAO,CAGd,MAFA,GAAsB,GACtB,EAAkB,EAAK,eAAe,EAC/B,CACT,CAEA,SAAS,EAAe,EAAO,CAC7B,GAAI,EAAgB,GAQlB,MAPA,GAAsB,EACtB,EAAkB,EAAgB,GAE9B,OAAO,GAAoB,SACtB,EAGF,EAGT,IAAI,EAAoB,EAAM,QAAQ,CAAmB,EAEzD,GAAI,IAAsB,GAAI,CAC5B,IAAI,EAAQ,SAAS,EAAM,OAAO,EAAoB,EAAoB,MAAM,EAAG,EAAE,EAOrF,MANA,GAAkB,EAAgB,GAE9B,OAAO,GAAoB,SACtB,EAGF,CACT,CAEA,MAAO,EACT,CAEA,OAAO,CACT,EAEI,EAAuB,SAAU,EAAM,CACzC,SAAS,EAAkB,EAAO,CAKhC,OAJI,IAAU,UACL,EAAkB,iBAAiB,EAGrC,IACT,CAIA,MAFA,GAAkB,MAAQ,UAC1B,EAAkB,iBAAmB,EAAwB,CAAI,EAC1D,CACT,EAEA,OAAO,SAAU,EAAM,CACrB,SAAS,EAAmB,EAAO,CAKjC,OAJI,IAAU,OACL,EAAmB,cAGrB,IACT,CAIA,MAFA,GAAmB,MAAQ,OAC3B,EAAmB,cAAgB,EAAqB,CAAI,EACrD,CACT,CACF,EAAE,EAIE,wBAA0B,UAAY,CACxC,OAAO,SAAU,EAAM,CACrB,SAAS,EAAmB,EAAM,CAIhC,IAHA,IAAI,EAAI,EACJ,EAAM,EAAK,OAAO,OAEf,EAAI,GAAK,CACd,GAAI,EAAK,OAAO,EAAE,CAAC,KAAO,GAAQ,EAAK,OAAO,EAAE,CAAC,MAAQ,EACvD,OAAO,EAAK,SAAS,EAAE,CAAC,eAG1B,GAAK,CACP,CAEA,OAAO,IACT,CAaA,OAXA,OAAO,eAAe,EAAoB,QAAS,CACjD,MAAO,EAAK,KAAK,EACnB,CAAC,EACD,EAAmB,MAAQ,EAC3B,EAAmB,YAAc,EACjC,EAAmB,OAAS,EAAK,KAAK,GAAK,EAAK,WAAW,SAAS,EACpE,EAAmB,MAAQ,EAAK,KAAK,GAAK,EAAK,WAAW,SAAS,EACnE,EAAmB,YAAc,EACjC,EAAmB,cAAgB,EAAI,EAAK,WAAW,UACvD,EAAmB,iBAAmB,EACtC,EAAmB,UAAY,EAAK,OAAO,OACpC,CACT,CACF,EAAE,EAME,6BAA+B,UAAY,CAC7C,OAAO,SAAU,EAAW,CAC1B,SAAS,EAAc,EAAM,CAC3B,OAAQ,EAAR,CACE,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,GACH,OAAO,EAAc,MAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,IAAK,IACH,OAAO,EAAc,SAEvB,IAAK,gBACH,OAAO,EAAc,UAEvB,IAAK,gBACH,OAAO,EAAc,UAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,GACH,OAAO,EAAc,SAEvB,IAAK,kBACH,OAAO,EAAc,UAEvB,IAAK,kBACH,OAAO,EAAc,UAEvB,IAAK,kBACH,OAAO,EAAc,UAEvB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,GACH,OAAO,EAAc,YAEvB,IAAK,UACL,IAAK,UACL,IAAK,IACH,OAAO,EAAc,QAEvB,QACE,OAAO,IACX,CACF,CAEA,OAAO,eAAe,EAAe,WAAY,CAC/C,IAAK,4BAA4B,EAAU,GAAK,EAAU,EAAE,CAC9D,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,IAAM,EAAU,CAAC,CAC9D,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,QAAS,CAC5C,IAAK,4BAA4B,EAAU,CAAC,CAC9C,CAAC,EAED,IAAI,EAEA,EAEA,EAEA,EA8CJ,OA5CI,EAAU,EACZ,EAAoB,4BAA4B,EAAU,CAAC,GAE3D,EAAM,4BAA4B,EAAU,EAAE,EAC9C,EAAM,4BAA4B,EAAU,EAAE,EAE1C,EAAU,KACZ,EAAM,4BAA4B,EAAU,EAAE,IAIlD,OAAO,eAAe,EAAe,WAAY,CAC/C,IAAK,UAAY,CAKf,OAJI,EAAU,EACL,EAAkB,EAGpB,CAAC,EAAI,EAAG,EAAI,EAAG,EAAM,EAAI,EAAI,CAAC,CACvC,CACF,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,YAAa,CAChD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,cAAe,CAClD,IAAK,4BAA4B,EAAU,CAAC,CAC9C,CAAC,EACD,OAAO,eAAe,EAAe,UAAW,CAC9C,IAAK,4BAA4B,EAAU,CAAC,CAC9C,CAAC,EACD,OAAO,eAAe,EAAe,OAAQ,CAC3C,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,WAAY,CAC/C,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACD,OAAO,eAAe,EAAe,cAAe,CAClD,IAAK,4BAA4B,EAAU,EAAE,CAC/C,CAAC,EACM,CACT,CACF,EAAE,EAIF,iBAAmB,UAAY,CAC7B,SAAS,EAAoB,EAAM,EAChC,MAAQ,QAAA,CAAS,aAAa,KAAK,CAAI,CAC1C,CAEA,OAAO,UAAY,CACjB,SAAS,EAAqB,EAAM,CAIlC,IAHA,IAAI,EAAI,EACJ,GAAO,MAAQ,QAAA,CAAS,aAAa,OAElC,EAAI,GAAK,CACd,IAAK,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,OAAS,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,KAAK,KAAO,EAK1F,OAJK,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,eAAiB,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,KAAK,KAC1F,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,cAAc,MAAQ,QAAA,CAAS,YAAY,GAGvE,MAAQ,QAAA,CAAS,aAAa,EAAE,CAAC,cAG3C,GAAK,CACP,CAEA,OAAO,IACT,CAKA,MAHA,GAAqB,aAAe,CAAC,EACrC,EAAqB,aAAe,EACpC,EAAqB,oBAAsB,EACpC,CACT,CACF,EAAE,EAMF,IAAI,2BAA6B,UAAY,CAC3C,IAAI,EAAK,CACiB,wBAC1B,EAEA,SAAS,EAAuB,EAAM,EAAe,CACnD,GAAI,EAAK,eAAgB,CACvB,IAAI,EAAiB,CAAC,EAClB,EAAc,EAAK,KAAK,GACxB,EACA,EAAM,EAAK,eAAe,eAAe,OAE7C,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAe,KAAK,EAAqB,EAAY,GAAI,EAAK,eAAe,eAAe,GAAI,EAAe,CAAI,CAAC,EAGtH,IAAI,EAAU,EAAK,KAAK,IAAM,CAAC,EAE3B,EAAiB,SAAU,EAAM,CAInC,IAHA,EAAI,EACJ,EAAM,EAAQ,OAEP,EAAI,GAAK,CACd,GAAI,IAAS,EAAQ,EAAE,CAAC,IAAM,IAAS,EAAQ,EAAE,CAAC,IAAM,IAAS,EAAQ,EAAE,CAAC,GAC1E,OAAO,EAAe,GAGxB,GAAK,CACP,CAEA,OAAO,IACT,EAOA,OALA,OAAO,eAAe,EAAgB,gBAAiB,CACrD,IAAK,UAAY,CACf,OAAO,EAAQ,MACjB,CACF,CAAC,EACM,CACT,CAEA,OAAO,IACT,CAEA,SAAS,EAAqB,EAAM,EAAU,EAAe,EAAM,CACjE,SAAS,EAAe,EAAM,CAK5B,IAJA,IAAI,EAAU,EAAK,GACf,EAAI,EACJ,EAAM,EAAQ,OAEX,EAAI,GAAK,CACd,GAAI,IAAS,EAAQ,EAAE,CAAC,IAAM,IAAS,EAAQ,EAAE,CAAC,IAAM,IAAS,EAAQ,EAAE,CAAC,GAK1E,OAJI,EAAQ,EAAE,CAAC,KAAO,EACb,EAAe,GAGjB,EAAe,EAAE,CAAC,EAG3B,GAAK,CACP,CAEA,MAAU,MAAM,CAClB,CAEA,IAAI,EAAiB,qBAAqB,EAAgB,CAAa,EAEnE,EAAiB,CAAC,EAClB,EACA,EAAM,EAAK,GAAG,OAElB,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACpB,EAAK,GAAG,EAAE,CAAC,KAAO,EACpB,EAAe,KAAK,EAAqB,EAAK,GAAG,GAAI,EAAS,eAAe,GAAI,EAAS,eAAe,EAAE,CAAC,cAAe,CAAI,CAAC,EAEhI,EAAe,KAAK,EAAqB,EAAS,eAAe,GAAI,EAAK,GAAG,EAAE,CAAC,GAAI,EAAM,CAAc,CAAC,EA2B7G,OAvBI,EAAK,KAAO,sBACd,OAAO,eAAe,EAAgB,QAAS,CAC7C,IAAK,UAAY,CACf,OAAO,EAAe,EAAE,CAAC,CAC3B,CACF,CAAC,EAGH,OAAO,iBAAiB,EAAgB,CACtC,cAAe,CACb,IAAK,UAAY,CACf,OAAO,EAAK,EACd,CACF,EACA,MAAO,CACL,MAAO,EAAK,EACd,EACA,cAAe,CACb,MAAO,CACT,CACF,CAAC,EACD,EAAe,QAAU,EAAK,KAAO,EACrC,EAAe,OAAS,EAAe,QAChC,CACT,CAEA,SAAS,EAAqB,EAAS,EAAM,EAAM,EAAe,CAChE,IAAI,EAAqB,4BAA4B,EAAQ,CAAC,EAE9D,SAAS,GAAoB,CAK3B,OAJI,IAAS,GACJ,EAAK,KAAK,cAAc,EAAQ,EAAE,CAAC,EAGrC,EAAmB,CAC5B,CAMA,OAJI,EAAQ,EAAE,kBACZ,EAAQ,EAAE,iBAAiB,kBAAkB,GAAI,CAAa,CAAC,EAG1D,CACT,CAEA,OAAO,CACT,EAAE,EAME,qBAAuB,UAAY,CACrC,SAAS,EAAc,EAAM,EAAM,CACjC,CAAC,MAAQ,QAAA,CAAS,MAAQ,EAC1B,CAAC,MAAQ,QAAA,CAAS,MAAQ,CAC5B,CAgDA,OA9CA,OAAO,eAAe,EAAc,UAAW,WAAY,CACzD,IAAK,UAAY,CAKf,OAJK,MAAQ,QAAA,CAAS,MAAM,KAAK,IAC9B,MAAQ,QAAA,CAAS,MAAM,KAAK,SAAS,GAGhC,MAAQ,QAAA,CAAS,MAAM,IACjC,CACF,CAAC,EACD,OAAO,eAAe,EAAc,UAAW,cAAe,CAC5D,IAAK,UAAY,CAKf,OAJK,MAAQ,QAAA,CAAS,MAAM,GAAG,IAC5B,MAAQ,QAAA,CAAS,MAAM,GAAG,SAAS,GAG9B,MAAQ,QAAA,CAAS,MAAM,GAAG,EAAI,GACxC,CACF,CAAC,EA6BM,SA3BqB,EAAa,CACvC,IAAI,EAAmB,iBAAiB,EAAY,SAAS,MAAM,EAE/D,EACA,EAAM,EAAY,SAAS,OAE/B,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAiB,GAAK,IAAI,EAAc,EAAY,SAAS,GAAI,EAAY,gBAAgB,EAAE,EAiBjG,OAAO,SAdsB,EAAM,CAGjC,IAFA,EAAI,EAEG,EAAI,GAAK,CACd,GAAI,EAAY,gBAAgB,EAAE,CAAC,KAAO,EACxC,OAAO,EAAiB,GAG1B,GAAK,CACP,CAEA,OAAO,IACT,CAGF,CAGF,EAAE,EAME,4BAA8B,UAAY,CAC5C,IAAI,EAA6B,CAC/B,GAAI,EACJ,EAAG,EACH,KAAM,CACR,EACI,EAA+B,CACjC,GAAI,CAAC,EAAG,EAAG,CAAC,EACZ,EAAG,CAAC,EAAG,EAAG,CAAC,EACX,KAAM,CACR,EAEA,SAAS,EAAiB,EAAiB,EAAU,EAAM,CACzD,OAAO,eAAe,EAAiB,WAAY,CACjD,IAAK,UAAY,CACf,OAAO,EAAS,kBAAkB,EAAS,KAAK,YAAY,CAC9D,CACF,CAAC,EACD,EAAgB,QAAU,EAAS,UAAY,EAAS,UAAU,OAAS,EAE3E,EAAgB,IAAM,SAAU,EAAK,CACnC,GAAI,CAAC,EAAgB,QACnB,MAAO,GAGT,IAAI,EAAQ,GAEZ,AAKE,EALE,MAAO,EAAS,UAAU,EAAM,GAC1B,EAAS,UAAU,EAAM,EAAE,CAAC,EAC3B,MAAO,EAAS,UAAU,EAAM,GACjC,EAAS,UAAU,EAAM,EAAE,CAAC,EAE5B,EAAS,UAAU,EAAM,EAAE,CAAC,EAGtC,IAAI,EAAY,IAAS,iBAAmB,IAAI,OAAO,CAAK,EAAI,OAAO,OAAO,CAAC,EAAG,CAAK,EAIvF,MAFA,GAAU,KAAO,EAAS,UAAU,EAAM,EAAE,CAAC,EAAI,EAAS,KAAK,KAAK,WAAW,UAC/E,EAAU,MAAQ,IAAS,iBAAmB,EAAM,GAAK,EAClD,CACT,EAEA,EAAgB,YAAc,EAAS,eACvC,EAAgB,YAAc,EAAS,eACvC,EAAgB,eAAiB,EAAS,kBAC1C,EAAgB,cAAgB,EAAS,aAC3C,CAEA,SAAS,EAAgC,EAAU,EAC7C,CAAC,GAAY,EAAE,OAAQ,MACzB,EAAW,GAGb,IAAI,EAAO,EAAI,EAAS,KACpB,EAAM,EAAS,GAAK,EACpB,EAAkB,IAAI,OAAO,CAAG,EAIpC,MAFA,GAAgB,MAAQ,EACxB,EAAiB,EAAiB,EAAU,gBAAgB,EACrD,UAAY,CAcjB,OAbI,EAAS,GACX,EAAS,SAAS,EAGpB,EAAM,EAAS,EAAI,EAEf,EAAgB,QAAU,IAC5B,EAAkB,IAAI,OAAO,CAAG,EAEhC,EAAgB,MAAQ,EACxB,EAAiB,EAAiB,EAAU,gBAAgB,GAGvD,CACT,CACF,CAEA,SAAS,EAAkC,EAAU,EAC/C,CAAC,GAAY,EAAE,OAAQ,MACzB,EAAW,GAGb,IAAI,EAAO,EAAI,EAAS,KACpB,EAAM,EAAS,MAAQ,EAAS,KAAK,GAAK,EAAS,GAAG,OACtD,EAAkB,iBAAiB,UAAW,CAAG,EACjD,EAAW,iBAAiB,UAAW,CAAG,EAG9C,MAFA,GAAgB,MAAQ,EACxB,EAAiB,EAAiB,EAAU,kBAAkB,EACvD,UAAY,CACb,EAAS,GACX,EAAS,SAAS,EAGpB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,GAAK,EAC5B,EAAS,GAAK,EAAS,EAAE,GAAK,EAC9B,EAAgB,GAAK,EAAS,GAGhC,OAAO,CACT,CACF,CAGA,SAAS,GAAgB,CACvB,OAAO,CACT,CAEA,OAAO,SAAU,EAAU,CASzB,OARK,EAID,EAAS,WAAa,iBACjB,EAAgC,CAAQ,EAG1C,EAAkC,CAAQ,EAPxC,CAQX,CACF,EAAE,GAMD,UAAY,CACX,IAAI,EAA6B,UAAY,CAE3C,SAAS,EAAc,EAAO,EAAO,CAInC,MAHA,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAQ,EACtC,CAAC,MAAQ,QAAA,CAAS,UAAY,EAC9B,CAAC,MAAQ,QAAA,CAAS,EAAI,KAAK,SAAS,GAAK,MAAQ,QAAA,CAAS,MAClD,MAAQ,QAAA,CAAS,CAC3B,CAEA,OAAO,SAA2C,EAAM,EAAM,CAC5D,CAAC,MAAQ,QAAA,CAAS,GAAK,EACvB,CAAC,MAAQ,QAAA,CAAS,KAAO,EAAK,KAC9B,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,KAAO,IACzB,CAAC,MAAQ,QAAA,CAAS,SAAW,eAC7B,CAAC,MAAQ,QAAA,CAAS,UAAY,EAAK,WACnC,CAAC,MAAQ,QAAA,CAAS,cAAgB,IAClC,CAAC,MAAQ,QAAA,CAAS,UAAY,CAAC,EAAG,EAAG,CAAC,EACtC,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,EAAI,GACtB,CAAC,MAAQ,QAAA,CAAS,SAAW,kBAAkB,mBAAmB,KAAK,MAAQ,OAAO,CAAC,CAAC,EAAM,EAAM,MAAQ,OAAO,EACnH,CAAC,MAAQ,QAAA,CAAS,QAAU,EAC5B,CAAC,MAAQ,QAAA,CAAS,kBAAoB,kBAAkB,mBAEnD,MAAQ,QAAA,CAAS,GACpB,CAAC,MAAQ,QAAA,CAAS,eAAiB,kBAAkB,eAAe,KAAK,MAAQ,OAAO,EAExF,CAAC,MAAQ,QAAA,CAAS,eAAiB,kBAAkB,qBAAqB,KAAK,MAAQ,OAAO,EAGhG,CAAC,MAAQ,QAAA,CAAS,iBAAmB,kBAAkB,gBACzD,CACF,EAAE,EAEE,EAAsB,iBAAiB,oBAE3C,iBAAiB,oBAAsB,SAAU,EAAM,EAAM,EAAK,CAKhE,OAJI,EAAK,IAAM,EACN,IAAI,kCAAkC,EAAM,EAAM,CAAG,EAGvD,EAAoB,EAAM,EAAM,CAAG,CAC5C,CACF,EAAA,CAAG,EAMH,SAAS,aAAa,EAAM,EAAM,EAAW,CAC3C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,YAAY,EAAM,EAAM,EAAW,CAC1C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,YAAY,EAAM,EAAM,EAAW,CAC1C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,YAAY,EAAM,EAAM,EAAW,CAC1C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,iBAAiB,EAAM,EAAM,EAAW,CAC/C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,gBAAgB,EAAM,EAAM,EAAW,CAC9C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,eAAe,EAAM,EAAM,EAAW,CAC7C,CAAC,MAAQ,QAAA,CAAS,EAAI,gBAAgB,QAAQ,EAAM,EAAK,EAAG,EAAG,EAAG,CAAS,CAC7E,CAEA,SAAS,eAAgB,CACvB,CAAC,MAAQ,QAAA,CAAS,EAAI,CAAC,CACzB,CAKA,SAAS,eAAe,EAAM,EAAS,CACrC,IAAI,EAAU,EAAK,IAAM,CAAC,EAC1B,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EACpC,IAAI,EACA,EAAM,EAAQ,OACd,EAEJ,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EACxB,EAAa,IAAI,YAAY,EAAQ,GAAI,CAAO,GAE/C,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAU,CAEpD,CAEA,SAAS,YAAY,EAAM,EAAS,CAClC,KAAK,KAAK,EAAM,CAAO,CACzB,CAEA,gBAAgB,CAAC,wBAAwB,EAAG,WAAW,EACvD,YAAY,UAAU,SAAW,YAAY,UAAU,yBAEvD,YAAY,UAAU,KAAO,SAAU,EAAM,EAAS,CACpD,CAAC,MAAQ,QAAA,CAAS,KAAO,EACzB,CAAC,MAAQ,QAAA,CAAS,eAAiB,CAAC,EACpC,KAAK,6BAA6B,CAAO,EACzC,IAAI,EACA,GAAO,MAAQ,QAAA,CAAS,KAAK,GAAG,OAChC,EACA,GAAW,MAAQ,QAAA,CAAS,KAAK,GAErC,IAAK,EAAI,EAAG,EAAI,EAAK,GAAK,EAAG,CAG3B,OAFA,EAAM,KAEE,EAAQ,EAAE,CAAC,GAAnB,CACE,IAAK,GACH,EAAM,IAAI,aAAa,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC3D,MAEF,IAAK,GACH,EAAM,IAAI,YAAY,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC1D,MAEF,IAAK,GACH,EAAM,IAAI,YAAY,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC1D,MAEF,IAAK,GACH,EAAM,IAAI,YAAY,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC1D,MAEF,IAAK,GACL,IAAK,GACH,EAAM,IAAI,eAAe,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC7D,MAEF,IAAK,IACH,EAAM,IAAI,iBAAiB,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC/D,MAEF,IAAK,IACH,EAAM,IAAI,gBAAgB,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC9D,MAEF,IAAK,GACH,EAAM,IAAI,eAAe,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC7D,MAGF,QACE,EAAM,IAAI,cAAc,EAAQ,GAAI,EAAS,MAAQ,OAAO,EAC5D,KACJ,CAEI,IACD,MAAQ,QAAA,CAAS,eAAe,KAAK,CAAG,CAE7C,CACF,EAEA,IAAI,OAAS,CAAC,EAEd,SAAS,gBAAgB,EAAM,CAC7B,aAAe,CACjB,CAEA,SAAS,kBAAmB,CACtB,aAAe,GACjB,iBAAiB,iBAAiB,cAAe,WAAY,QAAQ,EAErE,iBAAiB,iBAAiB,CAEtC,CAEA,SAAS,qBAAqB,EAAM,CAClC,gBAAkB,CACpB,CAEA,SAAS,cAAc,EAAQ,CAK7B,OAJI,aAAe,KACjB,EAAO,cAAgB,KAAK,MAAM,aAAa,GAG1C,iBAAiB,cAAc,CAAM,CAC9C,CAEA,SAAS,WAAW,EAAO,CACzB,GAAI,OAAO,GAAU,SACnB,OAAQ,EAAR,CACE,IAAK,OACH,qBAAuB,IACvB,MAEF,QACA,IAAK,SACH,qBAAuB,GACvB,MAEF,IAAK,MACH,qBAAuB,GACvB,KACJ,KACS,CAAC,MAAM,CAAK,GAAK,EAAQ,IAClC,qBAAuB,EAQ3B,CAEA,SAAS,WAAY,CACnB,OAAc,YAAc,MAC9B,CAEA,SAAS,cAAc,EAAM,EAAQ,CAC/B,IAAS,gBACX,kBAAoB,EAExB,CAEA,SAAS,WAAW,EAAM,CACxB,OAAQ,EAAR,CACE,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,iBAAiB,EAAU,CAGlC,IAAK,IAFD,EAAO,YAAY,MAAM,GAAG,EAEvB,EAAI,EAAG,EAAI,EAAK,OAAQ,GAAK,EAAG,CACvC,IAAI,EAAO,EAAK,EAAE,CAAC,MAAM,GAAG,EAE5B,GAAI,mBAAmB,EAAK,EAAE,GAAK,EAEjC,OAAO,mBAAmB,EAAK,EAAE,CAErC,CAEA,OAAO,IACT,CAEA,IAAI,WAAa,mBACb,cAAgB,sBAChB,SAAW,GACX,YAEJ,GAAI,WAAY,CACd,IAAI,QAAU,SAAS,qBAAqB,QAAQ,EAKpD,aAHe,QADH,QAAQ,OAAS,IACI,CAC/B,IAAK,EACP,EAAA,CACuB,IAAI,QAAQ,aAAc,EAAE,EAEnD,SAAW,iBAAiB,UAAU,CACxC,CAEA,IAAI,wBAA0B,YAAY,WAAY,GAAG,EACzD,OAAO,MACT,CAAC,EACG,UAAY,sEC7ikBmC,KCQ/C,SAAgB,OAAO,EAAM,CAAC,GAAK,CAAC,QAAM,SAAO,UAAQ,UAAQ,SAAO,SAAS,EAAY,UAAQ,OAAK,iBAAe,gBAAc,sBAAoB,QAAM,UAAQ,eAAa,eAAa,cAAY,YAAU,cAAY,EAAY,EAAW,aAAa,QAAQ,IAAI,aAAa,OAAa,IAAY,CAAC,GAAe,CAAC,IAAa,EAAc,EAAU,EAAoB,EAAE,GAAS,EAAe,IAAS,OAAO,OAAa,GAAGC,GAAO,EAAQ,GAAgBA,GAAO,EAAK,EAAQ,GAAcA,GAAO,CAAC,KAAK,KAAK,UAAU,KAAK,SAAS,IAAI,CAAC,EAAQ,GAAS,mBAAmB,EAAY,CAAC,UAAU,GAAG,EAAE,GAAG,CAAC,EAAQ,OAAS,CAAC,IAAI,EAAI,EAAK,OAAW,GAAc,SAA+C,WAA6C,KAAK,CAAE,EAAQ,OAAU,CAAC,IAAI,EAAI,EAAK,OAAW,GAAc,SAA+C,WAA6C,MAAM,CAAE,EAAQ,OAAY,CAAC,IAAI,EAAI,EAAK,OAAW,GAAc,SAA+C,WAA6C,QAAQ,CAAE,EAAQ,GAAQC,IAAa,EAAmB,IAAkB,CAAC,GAAG,CAAC,GAAc,QAAQ,UAAU,CAAC,GAAc,QAAQ,UAAU,OACxtC,IAAM,EAAkB,IAAqB,EAAE,GAAc,QAAQ,SAAS,EAAE,EAAmB,GAAc,QAAQ,SAAY,EAAgB,GAAc,QAAQ,UAAU,YAAY,EAAkB,EAAI,EAAO,GAAc,QAAQ,UAAU,YAAY,EAAkB,EAAI,CAAE,EAAE,CAAC,CAAC,EAAQ,GAAgBA,GAAY,KAAM,IAAU,EAAyH,MAAxF,MAAM,EAAI,CAAC,OAAO,MAAM,YAAY,OAAO,SAAS,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,KAAK,CAAC,EAArG,KAAqH,CAAC,CAAC,EACtd,EAAKA,GAAY,SAAS,CAChC,GAAQ,EAAE,IAAI,EAAW,IAAU,QAAQ,MAAI,EAAQ,GAAU,IAAU,QAAQ,OAAK,EAAQ,GAAQ,AAAgE,KAAnD,QAAQ,KAAK,oCAAoC,EAAU,gBAAgB,IAAM,EAAK,MAAM,GAAgB,CAAO,EAAkC,MAAhC,IAAc,QAAQ,KAAK,EAAY,GAAM,GAAgB,OAAO,CAAE,EAAE,CAAC,EAAQ,EAAO,CAAO,CAAC,EACpU,GAAMA,GAAY,GAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,OAAO,GAAQ,EAAE,IAAM,EAAQ,CAAC,UAAU,GAAG,QAAQ,SAAS,MAAM,KAAK,CAAC,GAAY,EAAK,SAAS,GAAW,cAAc,GAAc,QAAQ,KAAK,iBAAiB,CAAC,oBAAoB,gBAAgB,CAAC,EAAQ,EAAK,GAAc,QAAQ,UAAUC,UAAO,cAAc,CAAO,EAA4P,MAA1P,IAAc,QAAQ,SAAS,EAAK,YAAY,EAAI,EAAE,EAAK,aAAa,CAAS,EAAE,EAAK,SAAS,CAAK,EAAE,GAAgB,QAAQ,GAAQ,GAAY,EAAe,GAAQ,EAAe,EAAK,EAAO,GAAQ,GAAS,IAAI,EAAE,IAAY,CAAe,MAAY,CAAC,EAAK,QAAQ,CAAE,CAAE,EAAE,CAAC,EAAK,GAAW,EAAM,EAAU,EAAW,EAAe,CAAe,CAAC,EAS6N,OARn5B,OAAc,CAAC,IAAI,EAAkC,OAA1B,EAAK,CAAC,CAAC,KAAK,GAAG,EAAQ,CAAC,MAAY,CAAI,GAAQ,EAAQ,CAAE,CAAE,EAAE,CAAC,EAAQ,EAAQ,CAAM,CAAC,EACjH,OAAc,CAAK,MAAgB,QAAe,OAAO,GAAM,EAAK,CAAE,EAAE,CAAC,CAAI,CAAC,EAC9E,OAAcA,UAAO,WAAW,EAAW,MAAM,QAAQ,EAAE,CAAC,CAAC,EAM7D,OAAc,GAAS,SAAS,GAAK,CAAI,IAAqB,GAAW,GAAQ,EAAI,EAAI,EAAO,GAAQ,EAAI,EAAK,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,OAAc,CAAC,IAAM,EAAI,GAAS,IAAI,EAAK,GAAW,GAAQ,EAAI,EAAI,EAAO,GAAQ,EAAI,EAAK,CAAE,EAAE,CAAC,CAAW,CAAC,EAAE,OAAc,CAAC,GAAG,CAAC,EAAW,OAAO,IAAM,EAAyB,EAAe,IAAsB,GAAf,EAAuB,EAA6C,GAAS,IAAI,EAAjC,EAAwC,CAAE,EAAE,CAAC,EAAe,CAAc,CAAC,EAAE,OAAc,CAAC,IAAI,EAAc,GAAc,SAAyC,YAAkB,GAAc,QAAQ,UAAU,SAAS,CAAK,EAAE,GAAQ,GAAS,IAAI,EAAE,EAAI,EAAE,EAAE,CAAC,CAAK,CAAC,EAAE,OAAc,CAAC,IAAI,EAAc,GAAc,SAAyC,YAAkB,GAAc,QAAQ,UAAU,aAAa,CAAS,EAAE,GAAQ,GAAS,IAAI,EAAE,EAAI,EAAE,EAAE,CAAC,CAAS,CAAC,EAAE,OAAc,CAAI,GAAW,GAAK,EAAO,GAAM,CAAE,EAAE,CAAC,EAAU,CAAC,EAAuB,EAAK,OAAO,IAAI,CAAC,IAAI,GAAS,QAAM,UAAQ,eAAa,eAAa,cAAY,WAAS,CAAC,CAAE,+EArB59B,wBAAgD,uBAAwE,8BAAgF,iCAAwF,sBAAsD,GAAc,SAAS,EAAQ,CAAC,EAAQ,KAAQ,SAAS,EAAQ,IAAO,KAAM,EAAA,CAAG,AAAU,UAAQ,CAAC,CAAE,GAAc,SAAS,EAAO,CAAC,EAAO,KAAQ,OAAO,EAAO,OAAU,QAAS,EAAA,CAAG,AAAS,SAAO,CAAC,CAAE,EAAQ,eAAe,0FAqBqa,OAAO,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ,QAAQ,IAAI,cAAc,GAAK,OAAO,eAAe,SAAS,EAAE,OAAO,OAAO,KAAK,eAAe,CAAC,EAAE,oBAAoB,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAY,KAAK,wBAAwB,GAAK,MAAM,SAAS,QAAQ,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,EAAE,OAAO,CAAC,KAAK,YAAY,OAAO,MAAM,IAAI,YAAY,kBAAkB,OAAO,GAAO,EAAM,UAAU,QAAQ,IAAI,EAAE,QAAQ,CAAC,KAAK,YAAY,KAAK,MAAM,IAAI,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAO,EAAM,UAAU,QAAQ,GAAG,EAAE,QAAQ,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,MAAM,cAAc,IAAI,EAQlmD,KAAK,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,MAAM,cAAc,IAAI,EAAE,oBAAoB,CAAC,MAAM,YAAY,KAAK,YAAY,QAAQ,aAAa,SAAS,cAAc,SAAS,EAAE,MAAM,CAAC,KAAK,YAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,eAAe,GAAK,KAAK,GAAG,EAAE,OAAO,CAAC,MAAM,SAAS,KAAK,YAAY,KAAK,QAAQ,CAAC,OAAO,KAAK,OAAO,MAAM,EAAE,wBAAwB,EAAI,EAAE,eAAe,CAAC,MAAM,IAAI,KAAK,YAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,YAAU,IAAS,OAAO,IAAI,EAAE,SAAS,CAAC,MAAM,WAAW,KAAK,YAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,YAAY,mGAAmG,EAAE,GAAG,aAAa,CAAC,KC5BzH,SAASC,wBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,qOAA9vB,uBAAiK,8BAAkE,wBAA4B,iBAAyH,EAAOC,cAAW,CAAC,YAAY,WAAW,EAAQC,qBAAkB,eAAqBC,qBAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,EAAwOC,cAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,CAAC,EAAQC,eAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,YAAS,OAAOC,CAAc,EAAQC,2BAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,aAAU,CAAC,SAAO,KAAG,MAAI,QAAM,QAAM,GAAG,KAAS,CAAC,IAAI,EAAK,EAAuC,EAAM,MAAM,CAAC,GAAG,EAAM,UAAU,GAA6B,EAAM,UAAU,UAAgB,GAAmC,EAAM,WAAsC,kBAAkB,QAAuDD,2BAAwB,EAAM,UAAyG,EAAM,SAAsC,WAAW,CAAE,EAAQE,2BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAS17D,gBAAgB,QATw9DC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWF,YAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,aAAW,YAAU,gBAAgB,CAAC,WAAA,cAAW,eAAe,YAAY,YAAA,cAAY,UAAQ,kBAAA,oBAAiB,CAAC,EAAQ,EAAiBC,0BAAuB,EAAM,CAAQ,EAAO,CAAC,wBAAsB,UAAO,yBAAyB,CAAW,EAAQ,EAAa,EAAsB,MAAM,GAAG,IAAO,CAAoC,GAAnC,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAK,GAAiD,MAAtB,EAAU,GAAG,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAQ,EAAKE,GAAa,IAAI,EAAQ,OAAoB,IAAc,YAA6C,OAAqB,IAAc,YAA6C,GAAgBC,GAAY,EAAQ,GAAsB,CAACC,WAAqB,EAAiD,OAAvB,qBAAqB,EAAsB,EAAK,YAAY,CAAC,GAAG,GAA4C,GAAgB,SAAsB,EAAKR,YAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,cAAW,CAAC,MAAM,EAAW,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGH,qBAAkB,GAAG,GAAsB,iBAAiB,EAAU,CAAU,EAAE,mBAAmB,YAAY,iBAAiB,GAAsB,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,MAAM,EAAa,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,gBAAgB,eAAe,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,oBAAoB,CAAC,EAAE,GAAGF,wBAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKiB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKR,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,0BAA0B,OAAO,sBAAsB,6CAA6C,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,kBAAmC,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,oBAAoB,EAAE,KAAK,EAAU,SAAS,CAAC,UAAU,CAAC,qBAAqB,cAAc,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGT,wBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKS,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,0BAA0B,OAAO,sBAAsB,uCAAuC,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,SAAS,CAAC,GAAY,GAAgB,EAAKS,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,OAAO,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;;;;EAAqxB,mBAAmB,EAAI,CAAC,EAAE,GAAa,GAAgB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,uBAAuB,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;;;;EAA2xB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CASvtO,EAAE,CATmuO,gcAAgc,kFAAkF,gFAAgF,uSAAuS,gRAAgR,iHAAiH,gHAAgH,kJAAkJ,oHAAoH,+WAA+W,GAAGC,KASntS,EAAE,cAAc,EAAiC,gBAAgB,YAAY,YAAY,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,EAAE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,GAAM,MAAM,QAAQ,KAAK,YAAY,MAAM,EAAE,UAAU,CAAC,MAAM,MAAM,KAAK,YAAY,YAAY,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,GAAGC,OAAiB,CAAC,KCT0J,SAASC,wBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,sQAAt2B,uBAA0M,8BAAkE,wBAA4B,cAA8G,EAAO,YAAY,SAAS,MAAM,EAAQC,cAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,qBAAkB,eAAqBC,qBAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,iBAAiB,EAAwOC,cAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,GAAG,UAAU,IAAI,KAAK,QAAQ,CAAC,EAAQC,sBAAoB,EAAE,IAAI,yBAAyB,IAAUC,eAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,YAAS,OAAOC,CAAc,EAAQC,2BAAwB,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,aAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,2BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,2BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAQ77D,gBAAgB,QAR29DC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,YAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,aAAW,YAAU,gBAAgB,CAAC,WAAA,cAAW,eAAe,YAAY,YAAA,cAAY,UAAQ,kBAAA,oBAAiB,CAAC,EAAQ,EAAiBC,0BAAuB,EAAM,CAAQ,EAAO,CAAC,wBAAsB,SAAO,yBAAyB,CAAW,EAAsM,mBAAmB,EAAY,CAAC,QAAhN,EAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAqK,EAAE,UAAU,IAAA,GAAU,UAAlK,EAAsB,MAAM,GAAG,IAAO,CAAC,MAAM,MAAU,EAAW,WAAW,EAAE,IAAI,CAAE,CAAqG,CAAC,CAAC,EAAE,IAAM,EAAKE,GAAa,IAAI,EAAQ,GAAgBC,GAAY,EAAQ,EAAsB,CAAC,EAAiD,OAAvB,qBAAqB,EAAsB,EAAK,YAAY,CAAC,GAAG,GAA4C,GAAgB,SAAsB,EAAKP,YAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,cAAW,CAAC,MAAM,EAAW,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGJ,qBAAkB,GAAG,EAAsB,iBAAiB,EAAU,CAAU,EAAE,mBAAmB,YAAY,iBAAiB,GAAsB,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAGF,wBAAqB,CAAC,UAAU,CAAC,mBAAmB,YAAY,iBAAiB,IAAA,EAAS,EAAE,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAc,EAAK,0BAA0B,CAAC,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,MAAM,CAAC,QAAQ,CAAC,EAAE,kBAAkBK,qBAAmB,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAsB,EAAK,OAAO,CAAC,OAAO,OAAO,GAAG,YAAY,oBAAoB,GAAK,SAAS,YAAY,KAAK,GAAK,QAAQ,GAAK,OAAO,OAAO,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,uEAAuE,QAAQ,SAAS,OAAO,0FAA0F,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAQ33J,EAAE,CARu4J,gcAAgc,kFAAkF,kFAAkF,8QAA8Q,2JAA2J,sLAAsL,sIAAsI,+WAA+W,8HAA8H,2GAA2G,2GAA2G,kJAQj5N,EAAE,cAAc,EAAiC,gBAAgB,YAAY,kBAAkB,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,GAAG,WAAW,CAAC,kFCTpY,EAAC,UAAU,UAAU,CAAC,mCAAmC,CAAC,EAAeY,QAAM,CAAC,CAAC,OAAO,6BAA6B,OAAO,SAAS,IAAI,wEAAwE,CAAC,EAAeC,MAAI,CAAC,kiBAAkiB,EAAeC,YAAU,+FCAjyB,EAAC,UAAU,UAAU,CAAC,oCAAoC,cAAc,oBAAoB,kBAAkB,CAAC,EAAeC,QAAM,CAAC,CAAC,OAAO,6BAA6B,OAAO,SAAS,IAAI,wEAAwE,CAAC,EAAeC,MAAI,CAAC,89BAA89B,EAAeC,YAAU,+FCAlxC,EAAC,UAAU,UAAU,CAAC,oCAAoC,cAAc,oBAAoB,kBAAkB,CAAC,EAAeC,QAAM,CAAC,CAAC,OAAO,6BAA6B,OAAO,SAAS,IAAI,wEAAwE,CAAC,EAAeC,MAAI,CAAC,+9BAA+9B,EAAeC,YAAU,kBCCr3B,SAASC,wBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,qOAAlmB,uBAA+H,8BAAkE,wBAA4B,EAAOC,cAAW,CAAC,YAAY,WAAW,EAAQC,qBAAkB,eAAqBC,qBAAkB,CAAC,UAAU,mBAAmB,UAAU,iBAAiB,EAAwOC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,eAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,YAAS,OAAOC,CAAc,EAAQC,2BAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,aAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,2BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,2BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAQzlD,gBAAgB,QARunDC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,YAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,cAAW,eAAe,YAAY,UAAQ,kBAAA,oBAAiB,CAAC,EAAQ,EAAiBC,0BAAuB,EAAM,CAAQ,EAAQ,EAAKE,GAAa,IAAI,EAAQ,MAAoB,IAAc,YAA6C,EAAgBC,GAAY,EAAQ,EAAsB,CAAC,EAAiD,OAAvB,qBAAqB,EAAsB,EAAK,YAAY,CAAC,GAAG,GAA4C,EAAgB,SAAsB,EAAKP,YAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,cAAW,CAAC,MAAMD,cAAY,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGF,qBAAkB,GAAG,EAAsB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGF,wBAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,EAAKgB,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,QAAQ,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;EAAyvB,mBAAmB,EAAI,CAAC,EAAE,EAAY,GAAgB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAA0jB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAQvyJ,EAAE,CARmzJ,kFAAkF,kFAAkF,mGAAmG,kHAAkH,8LAQ1qK,EAAE,cAAc,EAAiC,gBAAgB,YAAY,OAAO,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCRwK,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,mOAA9vB,uBAAiK,8BAAkE,wBAA4B,iBAAyH,EAAOC,aAAW,CAAC,YAAY,WAAW,EAAQC,qBAAkB,eAAqBC,qBAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,EAAwOC,cAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,CAAC,EAAQC,eAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,YAAS,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,aAAU,CAAC,SAAO,KAAG,MAAI,OAAK,QAAM,GAAG,KAAS,CAAC,IAAI,EAAK,EAAuC,EAAM,MAAM,CAAC,GAAG,EAAM,UAAgB,GAAgC,EAAM,WAAsC,UAAU,UAAU,GAA6B,EAAM,UAAU,QAAuDD,0BAAwB,EAAM,UAAyG,EAAM,SAAsC,WAAW,CAAE,EAAQE,2BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAS96D,gBAAgB,QAT48DC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWF,YAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,YAAA,cAAY,UAAQ,kBAAA,oBAAiB,CAAC,EAAQ,EAAiBC,0BAAuB,EAAM,CAAQ,EAAO,CAAC,wBAAsB,UAAO,yBAAyB,CAAW,EAAQ,EAAY,EAAsB,MAAM,GAAG,IAAO,CAAoC,GAAnC,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAK,GAAiD,MAAtB,EAAU,GAAG,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAAQ,EAAKE,GAAa,IAAI,EAAQ,OAAoB,IAAc,YAA6C,OAAqB,IAAc,YAA6C,GAAgBC,GAAY,EAAQ,GAAsB,CAACC,WAAqB,EAAiD,OAAvB,qBAAqB,EAAsB,EAAK,YAAY,CAAC,GAAG,GAA4C,GAAgB,SAAsB,EAAKR,YAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,cAAW,CAAC,MAAM,EAAW,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGH,qBAAkB,GAAG,GAAsB,iBAAiB,EAAU,CAAU,EAAE,mBAAmB,YAAY,iBAAiB,GAAsB,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,MAAM,EAAY,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGF,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,EAAKiB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKR,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,KAAK,EAAU,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGT,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKS,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAE,GAAY,GAAgB,EAAKS,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,uBAAuB,OAAO,WAA4B,mBAAiB,SAAS,YAAY,QAAQ,EAAE,IAAI,wyBAAwyB,aAAa,WAAW,mBAAmB,EAAI,CAAC,EAAE,GAAa,GAAgB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,uBAAuB,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;;;;EAAmvB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CASliN,EAAE,CAT8iN,gcAAgc,kFAAkF,kFAAkF,2RAA2R,iHAAiH,8HAA8H,GAAGC,KAS7pP,EAAE,cAAc,EAAiC,gBAAgB,YAAY,mBAAmB,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,EAAE,UAAU,CAAC,aAAa,UAAU,gBAAgB,GAAM,MAAM,OAAO,KAAK,YAAY,MAAM,EAAE,UAAU,CAAC,MAAM,MAAM,KAAK,YAAY,YAAY,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,GAAGC,OAAiB,CAAC,KCTpG,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,6NAAtmB,uBAAoI,8BAAkE,wBAA4B,EAAOC,aAAW,CAAC,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,iBAAiB,EAAwOC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,MAAM,YAAY,MAAM,WAAW,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,0BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,0BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAQjlD,gBAAgB,QAR+mDC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,CAAQ,EAAQ,EAAKE,GAAa,IAAI,EAAQ,MAAoB,IAAc,YAA6C,MAAqB,IAAc,YAA6C,EAAgBC,GAAY,EAAQ,GAAsB,CAAC,EAAiD,OAAvB,qBAAqB,EAAsB,EAAK,YAAY,CAAC,GAAG,GAA4C,EAAgB,SAAsB,EAAKP,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMD,cAAY,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGF,oBAAkB,GAAG,GAAsB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGF,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,OAAO,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAC,EAAY,GAAgB,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,KAAK,CAAC,KAAK,4CAA4C,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAKgB,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAAY,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAg6E,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,sCAAsC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,IAAI,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAgT,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,gCAAgC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAqpC,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,4CAA4C,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA+C,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,WAAW,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAsuB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAa,GAAgB,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,KAAK,CAAC,KAAK,4CAA4C,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,gCAAiD,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAAY,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAg6E,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,sCAAsC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,gCAAiD,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,IAAI,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAgT,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,gCAAgC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAqpC,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,4CAA4C,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA+C,mBAAiB,SAAS,YAAY,SAAsB,EAAKA,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,WAAW,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAsuB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAQ3+f,EAAE,CARu/f,kFAAkF,kFAAkF,gQAAgQ,4SAA4S,0VAA0V,qYAAqY,2uBAQp6iB,EAAE,cAAc,EAAiC,gBAAgB,YAAY,eAAe,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,QAAQ,OAAO,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCR6rD,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,6SAApxE,uBAAoM,8BAAkE,wBAA4B,iBAA0H,iBAAyH,iBAA0H,iBAA0H,iBAA0H,iBAA0H,iBAA0H,iBAA+G,iBAAkH,iBAA0H,iBAAsH,EAAO,aAAa,SAASC,eAAO,EAAQ,qBAAqB,SAASC,eAAe,EAAQ,iBAAiB,SAASC,eAAW,EAAQ,UAAU,SAASC,eAAI,EAAQC,aAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,EAAwOC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQ,oBAAoB,EAAE,IAAI,yBAAyB,IAAUC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,gBAAgB,YAAY,eAAe,YAAY,eAAe,YAAY,iBAAiB,YAAY,gBAAgB,YAAY,gBAAgB,WAAW,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,0BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAQ1gH,gBAAgB,QAR2hHC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,CAAQ,EAAQ,EAAKE,GAAa,IAAI,EAAQ,GAAgBC,GAAY,EAAQ,EAAsB,CAACC,YAAsBC,YAAuBC,YAAuBC,YAAuBC,YAAuBC,YAAuBC,WAAsB,EAAQ,EAAkB,qBAAqB,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAA4C,GAAgB,SAAsB,EAAKd,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMD,cAAY,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAGF,oBAAkB,GAAG,EAAsB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGN,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,cAAc,EAAE,UAAU,CAAC,mBAAmB,eAAe,EAAE,UAAU,CAAC,mBAAmB,eAAe,EAAE,UAAU,CAAC,mBAAmB,cAAc,EAAE,UAAU,CAAC,mBAAmB,eAAe,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,MAAuB,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK2B,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,yCAAyC,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,KAAK,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,gBAAgB,EAAE,SAAS,CAAC,UAAU,CAAC,sBAAsB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,sBAAsB,cAAc,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,cAAc,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,8CAA8C,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,wCAAwC,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,uCAAuC,EAAE,SAAS,0CAA0C,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,wCAAwC,aAAa,GAAK,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAI,GAA8E,GAAI,GAAG,GAAG,IAAO,GAA8E,QAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,sBAAsB,GAAGb,uBAAqB,CAAC,UAAU,CAAC,MAAO,GAA8E,OAAQ,QAAQ,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,UAAU,CAAC,MAAO,GAA8E,OAAQ,QAAQ,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,GAAG,qBAAqB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,EAAE,GAAG,EAAE,qBAAqB,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,kBAAkB,mBAAmB,SAAsB,EAAKC,gBAAQ,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,kBAAkB,QAAQ,YAAY,MAAM,OAAO,GAAGD,uBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,CAAC,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK2B,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,SAAS,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,QAAQ,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,aAAa,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,UAAU,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,eAAe,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,qBAAqB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,IAAMd,EAAe,CAAC,SAAS,CAAc,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,uCAAuC,CAAC,EAAe,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,iDAAiD,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,qBAAqB,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,IAAMA,EAAe,CAAC,SAAS,CAAc,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,uCAAuC,CAAC,EAAe,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,oDAAoD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,oDAAoD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKd,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,qBAAqB,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKc,UAAS,CAAC,sBAAsB,GAAK,SAAsB,IAAMd,EAAe,CAAC,SAAS,CAAc,IAAM,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,CAAC,4BAAyC,EAAK,OAAO,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAe,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,iDAAiD,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,sBAAsB,qBAAqB,qBAAqB,qBAAqB,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,gDAAgD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,IAAMA,EAAe,CAAC,SAAS,CAAc,IAAM,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,CAAc,EAAK,OAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,8CAA8C,EAAE,SAAS,2BAA2B,CAAC,EAAe,EAAK,OAAO,GAAG,CAAC,CAAC,EAAe,EAAK,OAAO,KAAK,CAAC,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,gDAAgD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,gDAAgD,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,gDAAgD,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,SAAsB,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,KAAK,CAAC,KAAK,0CAA0C,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAI,GAA8E,GAAI,GAAG,GAAG,OAAU,GAA8E,QAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,qBAAqB,GAAGb,uBAAqB,CAAC,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,kBAAkB,mBAAmB,SAAsB,EAAKE,gBAAgB,CAAC,UAAU,UAAU,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,YAAY,MAAM,OAAO,GAAGF,uBAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,iCAAiC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAAgD,mBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAI,GAA8E,GAAI,GAAG,GAAG,OAAU,GAA8E,QAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,qBAAqB,GAAGA,uBAAqB,CAAC,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,kBAAkB,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,kBAAkB,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,kBAAkB,mBAAmB,SAAsB,EAAKE,gBAAgB,CAAC,UAAU,WAAW,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,QAAQ,YAAY,MAAM,OAAO,GAAGF,uBAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAI,GAA8E,GAAI,GAAG,GAAG,OAAU,GAA8E,QAAS,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,GAAGA,uBAAqB,CAAC,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,mBAAiB,SAAS,sBAAsB,SAAsB,EAAKG,gBAAY,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGH,uBAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAI,GAA8E,GAAI,GAAG,GAAG,OAAU,GAA8E,QAAS,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,GAAGA,uBAAqB,CAAC,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,IAAI,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,GAAG,CAAC,EAAE,UAAU,CAAC,GAAI,GAA8E,GAAI,GAAG,KAAM,GAA8E,QAAS,KAAK,EAAE,mBAAmB,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,SAAsB,EAAKI,gBAAK,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGJ,uBAAqB,CAAC,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAQ1jsC,EAAE,CARsksC,kFAAkF,kFAAkF,2PAA2P,iRAAiR,mKAAmK,yIAAyI,qKAAqK,2QAA2Q,4RAA4R,yUAAyU,iRAAiR,0QAA0Q,0TAA0T,mMAAmM,2QAA2Q,oSAAoS,kSAAkS,yIAAyI,yIAAyI,6HAA6H,wGAAwG,0IAA0I,wIAAwI,slCAAslC,uKAAuK,oRAAoR,gRAAgR,8TAA8T,+MAA+M,kIAAkI,wNAAwN,2wCAA2wC,uKAAuK,kKAAkK,2fAA2f,oMAAoM,81CAA81C,2vCAA2vC,k3CAAk3C,GAAG4B,MAAgB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,KAQvonD,EAAE,cAAc,EAAiC,gBAAgB,YAAY,iBAAiB,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,iBAAiB,gBAAgB,gBAAgB,gBAAgB,eAAe,cAAc,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,6JAA6J,IAAI,sEAAsE,OAAO,KAAK,EAAE,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,aAAa,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,UAAU,GAAG,wBAAwBC,OAAiB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCR7nD,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,gPAA3hC,uBAA8J,8BAAkE,wBAA4B,iBAAwH,EAAO,mBAAmB,SAASC,eAAa,EAAQC,aAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,gBAAgB,EAAwOC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,kBAAkB,YAAY,kBAAkB,YAAY,uBAAuB,YAAY,uBAAuB,YAAY,mBAAmB,YAAY,mBAAmB,YAAY,wBAAwB,YAAY,wBAAwB,WAAW,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,0BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,0BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAQ5tE,gBAAgB,QAR0vEC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,CAAQ,EAAQ,EAAKE,GAAa,IAAI,EAAQ,EAAgBC,GAAY,EAAQ,EAAsB,CAAC,EAAQ,EAAkB,qBAAqB,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAA4C,EAAgB,SAAsB,EAAKP,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMD,cAAY,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAGF,oBAAkB,GAAG,EAAsB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,mBAAoC,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,gBAAgB,mBAAmB,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,CAAC,EAAE,GAAGH,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,kBAAkB,EAAE,UAAU,CAAC,mBAAmB,uBAAuB,EAAE,UAAU,CAAC,mBAAmB,sBAAsB,EAAE,UAAU,CAAC,mBAAmB,iBAAiB,EAAE,UAAU,CAAC,mBAAmB,sBAAsB,EAAE,UAAU,CAAC,mBAAmB,uBAAuB,EAAE,UAAU,CAAC,mBAAmB,iBAAiB,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,0BAA0B,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,UAAU,GAAGA,uBAAqB,CAAC,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,UAAU,EAAE,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,SAAS,EAAE,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,SAAS,EAAE,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,UAAU,EAAE,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,SAAS,EAAE,UAAU,CAAC,MAAM,QAAS,GAA8E,OAAQ,QAAQ,SAAS,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,2BAA4C,mBAAiB,SAAS,sBAAsB,SAAsB,EAAKC,gBAAc,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ,YAAY,MAAM,OAAO,GAAGD,uBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,WAAW,EAAE,UAAU,CAAC,QAAQ,WAAW,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAQ5uL,EAAE,CARwvL,kFAAkF,gFAAgF,6RAA6R,0GAA0G,2WAA2W,6IAA6I,sJAAsJ,yPAAyP,2aAA2a,wJAAwJ,+aAA+a,2aAA2a,8aAQnkR,EAAE,cAAc,EAAiC,gBAAgB,YAAY,SAAS,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,mBAAmB,mBAAmB,wBAAwB,wBAAwB,kBAAkB,kBAAkB,uBAAuB,sBAAsB,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAG,kBAAkB,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCRrK,SAASiB,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,6NAApqB,uBAA+G,8BAAkE,wBAA4B,EAAOC,aAAW,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,EAAwOC,cAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,CAAC,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,aAAa,YAAY,SAAS,YAAY,cAAc,YAAY,MAAM,WAAW,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsDD,0BAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQE,0BAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAO/sD,gBAAgB,QAP6uDC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWF,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,YAAA,cAAY,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,CAAQ,EAAQ,EAAKE,GAAa,IAAI,EAAQ,EAAgBC,GAAY,EAAQ,EAAsB,CAAC,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAA4C,EAAgB,SAAsB,EAAKP,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAM,EAAW,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,aAAa,GAAM,SAAsB,IAAM,OAAO,EAAE,CAAC,GAAG,EAAU,UAAU,GAAG,GAAGH,oBAAkB,GAAG,EAAsB,iBAAiB,EAAU,CAAU,EAAE,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGF,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,aAAa,EAAE,UAAU,CAAC,mBAAmB,QAAQ,EAAE,UAAU,CAAC,mBAAmB,YAAY,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKgB,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI;;;EAAwiB,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,EAAI,CAAC,EAAe,EAAKA,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI;;;EAA4gB,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAkC,mBAAiB,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAc,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI;;;EAAwwV,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,EAAI,CAAC,EAAe,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI;;;EAA6sV,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAOrt2B,EAAE,CAPiu2B,gcAAgc,kFAAkF,gFAAgF,6HAA6H,sIAAsI,iLAAiL,oMAAoM,kHAAkH,qJAAqJ,+GAA+G,uKAO/y5B,EAAE,cAAc,EAAiC,gBAAgB,YAAY,cAAc,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,QAAQ,SAAS,cAAc,YAAY,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,KCC/Z,SAAwB,OAAO,EAAM,CAAY,GAAG,CAAC,QAAM,MAAI,UAAQ,iBAAe,aAAW,eAAa,gBAAc,cAAY,QAAM,cAAY,YAAU,YAAU,gBAAc,cAAY,SAAO,EAAW,CAAC,cAAY,WAAS,YAAU,YAAU,cAAW,EAAiB,CAAC,YAAU,cAAY,EAAoB,GAAa,EAAe,GAAG,EAAW,KAAK,EAAa,KAAK,EAAc,KAAK,EAAY,IAAI,GAAG,EAAQ,IAAsB,GAAS,aAAa,QAAQ,IAAI,aAAa,OAAa,GAAYC,IAAS,MAAM,CAAK,EAAQ,GAAY,GAAY,EAAK,IAAY,KAAM,EAAU,QAAQ,IAAM,GAAa,IAAY,QAAQ,IAAY,QAAc,GAAO,eAAe,CAAC,EAAQ,GAAY,sBAAsB,GAAiB,GAAU,aAAa,GAAO,EAAW,EAA4B,GAAUC,GAAO,IAAI,EAAQ,EAAYC,SAAmB,CAAc,IAAU,EAAe,IAAU,CAAC,EAAI,CAAC,CAAC,EAAO,CAAC,GAAK,IAASC,GAAS,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,EAAkB,GAAe,CAAC,EAAM,GAAc,CAAC,EAA2B,GAAY,EAAM,GAAQ,EAAK,KAAU,GAAY,GAAY,KAAK,MAAM,GAAG,EAAW,EAAE,EAAE,GAAQ,GAAM,CAAC,IAAU,IAAa,GAAK,SAAQ,GAAY,KAAK,MAAM,GAAK,OAAO,GAAK,SAAS,CAAC,EAAE,EAAE,GAAY,KAAK,IAAI,GAAY,oBAAoB,EAAE,GAAQ,GAAiC,IAAM,GAAQC,OAAgB,CAAC,GAAG,IAAa,GAAU,QAAQ,CAAC,IAAM,EAAa,GAAa,GAAU,QAAQ,YAAY,GAAU,QAAQ,aAAmB,EAAM,EAAY,EAAE,CAAC,QAAQ,GAAa,EAAY,EAAE,CAAC,QAAQ,WAAW,EAAY,EAAE,CAAC,QAAQ,UAAU,EAAkM,GAAtL,EAAY,EAAE,CAAC,QAAQ,GAAa,EAAY,EAAE,CAAC,QAAQ,WAAW,EAAY,EAAE,CAAC,QAAQ,YAAY,EAAY,EAAE,CAAC,QAAQ,UAAU,EAAY,EAAE,CAAC,QAAQ,aAAa,GAA2B,EAAM,EAAI,GAAQ,CAAC,OAAO,EAAa,SAAS,CAAc,CAAC,CAAE,CAAC,EAAE,CAAC,CAAC,EAAQ,GAAe,GAAS,CAAC,kBAAkB,MAAM,EAAE,CAAC,EAAwC,GAAG,GAAY,CACvhE,GAAG,CAAC,GAAS,CAGE,IAAI,EAAcH,GAAO,EAAI,EAAE,QAAe,MAAM,KAAK,EAAO,EAAS,OAAO,GAAU,SAAS,CAAC,iBAAe,CAAI,CAAC,EAAc,UAAU,EAAY,OAAO,EAAY,SAAS,MAAM,KAAK,EAAO,EAAG,EAAc,QAAQ,EAAM,CAAC,GAAI,CAAC,CAAC,CAAE,CAAC,GAAeD,IAAS,IAAI,GAAO,EAAM,IAAQ,CAAC,IAAI,EAAa,EAAc,EAAc,EAAc,IAAI,EAAO,IAAQ,IAAG,EAAI,EAAY,IAAO,IAAQ,EAAM,OAAO,IAAG,EAAI,EAAY,IAAI,IAAM,EAAK,CAAC,MAAM,EAAwB,EAAM,OAAyD,MAAM,OAAO,OAAO,EAA0B,EAAM,OAA2D,OAAO,MAAM,EAAE,OAAoB,EAAK,YAAY,CAAC,QAAQ,KAAK,SAAsB,EAAK,KAAK,CAAK,MAAI,MAAM,EAAK,SAAsB,IAAa,EAAM,CAAC,MAAM,CAAC,GAAkB,EAAM,OAA2D,MAAM,GAAG,EAAK,WAAW,EAAE,GAAG,EAAc,EAAE,SAAS,EAAM,MAAM,SAAS,EAAM,MAAM,SAAS,aAAa,EAAM,IAAA,EAAS,EAAiB,EAAM,OAA2D,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAE,CAAC,GAAG,CAAC,GAAU,IAAI,IAAI,EAAE,EAAE,EAAE,GAAY,IAAK,GAAc,CAAC,GAAG,GAAc,GAAGA,IAAS,IAAI,GAAO,EAAM,IAAa,CAAC,IAAI,EAAa,EAAc,EAAc,EAAc,EAAc,EAAqP,OAAoB,EAAK,YAAY,CAAC,QAAQ,KAAK,SAAsB,EAAK,KAAK,CAAC,MAAM,CAArT,MAAM,EAAwB,EAAM,OAAyD,MAAM,OAAO,OAAO,EAA0B,EAAM,OAA2D,OAAO,MAAqG,EAAE,cAAc,GAAK,SAAsB,IAAa,EAAM,CAAC,IAAI,EAAE,IAAI,EAAW,MAAM,CAAC,GAAkB,EAAM,OAA2D,MAAM,MAAM,EAAyB,EAAM,OAA2D,MAAM,OAAO,OAAO,EAA0B,EAAM,OAA2D,OAAO,OAAO,WAAW,EAAE,GAAG,EAAc,EAAE,SAAS,EAAM,MAAM,SAAS,EAAM,MAAM,SAAS,SAAS,EAAE,IAAA,EAAS,EAAiB,EAAM,OAA2D,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAU,CAAC,EAAE,EAAE,KAAK,CAAU,CAAE,CAAC,CAAC,EAAI,IAAM,GAAe,GAAK,SAAS,GAAK,SAAS,KAAK,MAAM,GAAK,OAAO,GAAK,QAAQ,EAAQ,GAAYC,GAAO,IAAI,EAAQ,GAASA,GAAO,IAAI,EAAQ,GAAKA,GAAO,CAAC,EAAQ,GAAQA,GAAO,EAAK,EAAQ,GAAgB,iBAAiB,EAAQ,GAAQA,GAAO,IAAI,EAAQ,GAAaA,GAAO,IAAI,EAE9iF,GAAG,CAAC,GAAS,CAAC,IAAM,EAAS,UAAU,EAAS,EAEzC,8BAA+B,OAAc,CAAI,SAAiB,CAAC,IAAgB,CAAC,GAAwM,MAAzL,IAAa,QAAQ,GAAQ,QAAQ,QAAQ,CAAC,UAAU,CAAC,GAAY,CAAC,EAAE,GAAY,EAAc,CAAC,CAAC,EAAE,CAAC,SAAS,KAAK,IAAI,EAAc,EAAE,EAAM,IAAI,WAAW,IAAS,OAAO,QAAQ,CAAC,MAAY,GAAa,QAAQ,OAAO,CAAE,EAAE,CAAC,EAAY,GAAe,CAAK,CAAC,EAGvW,kBAAkB,GAAG,CAAC,GAAG,CAAC,IAAgB,IAAiB,8BAA+B,OAKnF,GAAY,UAAU,OAAM,GAAY,QAAQ,GAAG,GAAI,GAAY,QAAqE,IAAI,GAAjD,GAAS,UAAU,KAAK,EAAE,EAAE,GAAS,UAA6B,EAAM,KAAQ,GAAQ,UAAS,GAAO,GAAa,GAAK,SAAS,EAAM,GAAK,QAAQ,KAAK,EAAE,GAAe,GAAK,OAAO,EAAE,GAAS,QAAQ,EAAM,GAAgB,GAAO,IAAI,GAAK,OAAO,CAAE,CAAC,CAAG,CAAY,IAAM,GAAc,GAAa,WAAW,YAAkB,GAAe,EAAU,EAAQ,GAAa,IAAI,EAAU,EAAgG,GAAS,mBAAmB,GAAc,kBAAkB,GAAU,IAA/I,MAAM,EAAU,EAAE,EAA8I,EAAE,sBAAsB,GAAe,sBAAsB,GAAa,mBAAmB,GAAU,IAAlN,IAAI,EAA+N,IAAuW,OAA9U,GAAkW,EAAK,UAAU,CAAC,MAAM,CAAC,GAAG,eAAuB,WAAQ,gBAAgB,EAAY,GAAS,IAAA,GAAU,aAAa,EAAY,GAAS,IAAA,GAAU,UAAU,EAAY,GAAS,IAAA,GAAU,SAAS,EAAS,UAAU,SAAS,QAAQ,EAAY,EAAE,IAAI,GAAU,SAAsB,IAAM,OAAO,GAAG,CAAC,IAAI,GAAQ,MAAM,CAAC,GAAG,eAAmB,MAAI,IAAI,IAAY,UAAU,cAAc,EAAc,EAAE,CAAC,GAAe,IAAA,GAAU,KAAK,IAAY,SAAS,cAAc,EAAc,EAAE,CAAC,GAAe,IAAA,GAAU,WAAW,EAAU,SAAS,WAAW,cAAc,GAAa,MAAM,SAAS,GAAG,EAAM,UAAU,8BAA8B,IAAA,GAAU,GAAU,WAAW,GAAS,OAAO,WAAW,EAAE,iBAAiB,CAAC,GAAQ,QAAQ,GAAQ,GAAa,UACp5D,GAAa,QAAQ,aAAa,EAAa,EAAE,iBAAiB,CAAC,GAAQ,QAAQ,GAAS,GAAa,UACzG,GAAa,QAAQ,aAAa,EAAG,EAAE,SAAS,CAAC,GAAe,EAAa,CAAC,CAAC,CAAC,CAAC,EAF6wB,IAAM,UAAU,CAAC,MAAM,kBAAkB,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,YAAY,SAAS,GAAG,CAAC,EAAe,EAAK,IAAI,CAAC,MAAM,YAAY,SAAS,oBAAoB,CAAC,EAAe,EAAK,IAAI,CAAC,MAAM,eAAe,SAAS,2DAA2D,CAAC,CAAC,CAAC,CAAC,CAErjC,sNA3B3B,wBAAiG,uBAAiE,8BAAkI,gBAAmC,EAAO,qBAAqB,IAAU,sBAAsB,CAAC,KAAK,GAAQ,eAAe,EAAO,KAAK,MAAM,GAAQ,cAAc,EAAO,KAAK,IAAI,GAAQ,eAAe,EAAO,KAAK,OAAO,GAAQ,cAAc,EAAO,IAAI,EAAQ,8BAA8B,OAAO,UAAY,KAAa,OAAO,UAAU,UAAU,oBAAqB,WA2BrmB,OAAO,aAAa,CAAC,IAAI,GAAG,QAAQ,GAAG,cAAc,CAAC,UAAU,GAAK,WAAW,EAAI,EAAE,YAAY,CAAC,YAAY,GAAK,SAAS,GAAM,UAAU,GAAG,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAI,EAAyB,oBAAoB,OAAO,CAAC,MAAM,CAAC,KAAK,YAAY,MAAM,MAAM,WAAW,QAAQ,CAAC,KAAK,YAAY,iBAAiB,CAAC,EAAE,MAAM,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,aAAa,IAAI,KAAK,IAAI,eAAe,GAAK,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,YAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,QAAQ,MAAM,QAAQ,EAAE,YAAY,CAAC,iBAAiB,kBAAkB,eAAe,gBAAgB,EAAE,aAAa,CAAC,OAAO,QAAQ,MAAM,QAAQ,EAAE,aAAa,OAAO,wBAAwB,EAAI,EAAE,UAAU,CAAC,KAAK,YAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,aAAa,SAAS,UAAU,EAAE,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,eAAe,cAAc,EAAE,KAAK,CAAC,YAAY,eAAe,cAAc,EAAE,IAAI,CAAC,aAAa,eAAe,aAAa,EAAE,OAAO,CAAC,aAAa,eAAe,aAAa,CAAC,CAAC,EAAE,aAAa,SAAS,wBAAwB,EAAI,EAAE,IAAI,CAAC,KAAK,YAAY,OAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,UAAU,KAAK,YAAY,YAAY,UAAU,iBAAiB,aAAa,CAAC,UAAU,kBAAkB,EAAE,UAAU,CAAC,aAAa,eAAe,gBAAgB,aAAa,EAAE,YAAY,CAAC,IAAI,IAAI,IAAI,GAAG,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,SAAS,CAAC,UAAU,CAAC,KAAK,YAAY,QAAQ,MAAM,QAAQ,aAAa,OAAO,cAAc,UAAU,aAAa,EAAI,EAAE,WAAW,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,OAAO,cAAc,UAAU,aAAa,EAAI,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,WAAW,SAAS,CAAC,YAAY,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,EAAI,EAAE,SAAS,CAAC,KAAK,YAAY,QAAQ,MAAM,WAAW,aAAa,OAAO,cAAc,OAAO,aAAa,GAAM,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAK,CAAC,EAAE,UAAU,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,EAAE,UAAU,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,EAAE,UAAU,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,OAAO,EAAM,CAAC,OAAO,EAAM,cAAc,EAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,aAAa,EAAE,KAAK,GAAG,eAAe,GAAK,YAAY,8CAA8C,CAAC,CAAC,EAAgC,eAAe,CAAC,QAAQ,OAAO,MAAM,OAAO,OAAO,OAAO,SAAS,OAAO,UAAU,OAAO,WAAW,SAAS,OAAO,EAAE,QAAQ,EAAE,cAAc,OAAO,WAAW,MAAM,EAAoB,kBAAkB,CAAC,QAAQ,OAAO,MAAM,OAAO,OAAO,OAAO,aAAa,SAAS,WAAW,SAAS,cAAc,SAAS,MAAM,OAAO,WAAW,0BAA0B,SAAS,GAAG,SAAS,SAAS,QAAQ,qBAAqB,EAAQ,YAAY,CAAC,SAAS,GAAG,aAAa,EAAE,EAAQ,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,WAAW,IAAI,UAAU,QAAQ,EAAQ,eAAe,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,IAAI,WAAW,IAAI,UAAU,QAAQ,EAAgD,OAAO,EAAI,EAAI,IAAM,KAAK,IAAI,KAAK,IAAI,EAAI,CAAG,EAAE,CAAG,EAAQ,cAAc,GAAO,OAAO,GAAQ,UAAU,CAAC,MAAM,CAAK,8MC1Bt2G,uBAAuK,8BAAkE,wBAA4B,cAAwI,EAAO,YAAY,SAAS,MAAM,EAAQI,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,iBAAiB,EAA+LC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAmFC,YAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,EAAE,WAAW,CAArJ,QAAQ,IAAI,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAiH,CAAC,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAO,OAAOC,CAAc,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,CAAK,GAAUC,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAUriD,gBAAgB,QAVsjDC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,GAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,cAAc,EAA0B,qBAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWJ,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,aAAU,gBAAgB,CAAC,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,EAAQ,EAAuC,EAAkB,GAAGV,mBAA0C,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKO,WAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMF,cAAY,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,EAAkB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,GAAG,CAAK,EAAE,SAAsB,EAAK,0BAA0B,CAAC,SAAsB,EAAK,8BAA8B,CAAC,UAAU,2BAA2B,iBAAiB,GAAK,iBAAiB,GAAsB,mBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,OAAO,CAAC,UAAU,SAAS,UAAU,OAAO,YAAY,CAAC,UAAU,EAAE,YAAY,GAAM,UAAU,EAAE,UAAU,GAAG,SAAS,EAAK,EAAE,IAAI,GAAG,OAAO,OAAO,YAAY,GAAG,GAAG,YAAY,SAAS,YAAY,QAAQ,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,GAAM,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,GAAK,UAAU,EAAI,EAAE,MAAM,CAAc,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKY,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,IAAI,EAAE,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,4FAA4F,OAAO,wbAAwb,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,MAAuB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,2FAA2F,OAAO,obAAob,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,IAAI,EAAE,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,2UAA2U,EAAE,UAAU,gBAAgB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,wUAAwU,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,IAAI,EAAE,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,4FAA4F,OAAO,wbAAwb,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,4FAA4F,OAAO,wbAAwb,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,iBAAiB,mBAAmB,aAA8B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,MAAuB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,gBAAgB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,iBAAiB,mBAAmB,SAA0B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,MAAM,YAAY,KAAK,WAAW,KAAK,UAAU,SAAS,UAAU,SAAS,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,iBAAiB,mBAAmB,qBAAsC,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,2UAA2U,EAAE,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,gBAAiC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,4FAA4F,OAAO,wbAAwb,EAAE,UAAU,gBAAgB,mBAAmB,4BAA6C,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,MAAM,QAAQ,IAAI,4FAA4F,OAAO,kNAAkN,EAAE,UAAU,iBAAiB,mBAAmB,cAA+B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,2UAA2U,EAAE,UAAU,iBAAiB,mBAAmB,iBAAkC,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,wUAAwU,EAAE,UAAU,iBAAiB,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,wUAAwU,EAAE,UAAU,gBAAgB,mBAAmB,QAAyB,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,2UAA2U,EAAE,UAAU,iBAAiB,mBAAmB,UAA2B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,IAAI,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,wUAAwU,EAAE,UAAU,gBAAgB,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,QAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,6FAA6F,OAAO,4bAA4b,EAAE,UAAU,iBAAiB,mBAAmB,aAA8B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,WAA4B,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,KAAK,WAAW,KAAK,MAAM,QAAQ,IAAI,8FAA8F,OAAO,gcAAgc,EAAE,UAAU,gBAAgB,mBAAmB,aAA8B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,OAAwB,mBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,oBAAoB,EAAE,SAAsB,EAAKW,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,YAAY,IAAI,WAAW,IAAI,MAAM,QAAQ,IAAI,4FAA4F,OAAO,iNAAiN,EAAE,UAAU,iBAAiB,mBAAmB,aAA8B,mBAAiB,SAAS,YAAY,WAAWX,WAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,MAAM,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAUlniC,EAAE,CAV8niC,kFAAkF,gFAAgF,sQAAsQ,4GAA4G,05BAA05B,4rBAA4rB,oQAAoQ,uGAAuG,gVAAgV,gaAAga,oNAUj0oC,EAAE,cAAc,EAAiC,gBAAgB,YAAY,cAAc,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCVoT,SAASY,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,6NAAxuB,uBAA4J,8BAAkE,wBAA4B,iBAAmJ,EAAOC,aAAW,CAAC,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,iBAAiB,EAAyNC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,0BAAwB,CAAC,eAAe,YAAY,eAAe,WAAW,EAAQC,WAAS,OAAO,OAAOC,CAAc,EAAQC,YAAU,CAAC,SAAO,KAAG,cAAY,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAa,EAAM,WAAW,WAAW,QAAQH,0BAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAUI,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAW9oD,gBAAgB,QAX+pDC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,GAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,cAAc,EAA0B,qBAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,GAAG,GAAWJ,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,cAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,CAAQ,EAA4D,GAAkB,GAAGV,oBAAlDc,WAA4F,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKP,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKJ,aAAW,CAAC,MAAMD,cAAY,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,GAAkB,gBAAgB,EAAU,CAAU,EAAE,cAAc,GAAK,mBAAmB,eAAgC,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,eAAe,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,0BAA0B,CAAC,EAAE,GAAGJ,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,cAAc,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAKiB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKP,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAmB,mBAAiB,SAAS,YAAY,KAAK,EAAU,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGV,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAW77H,EAAE,CAXy8H,kFAAkF,kFAAkF,+RAA+R,iHAAiH,GAAGQ,MAAgB,sdAW9gJ,EAAE,cAAc,EAAiC,gBAAgB,YAAY,OAAO,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,eAAe,cAAc,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,EAAE,UAAU,CAAC,aAAa,WAAW,gBAAgB,GAAM,YAAY,GAAG,MAAM,eAAe,KAAK,YAAY,MAAM,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,wBAAwBC,OAAiB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCXltD,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,6NAAtwB,uBAAyL,8BAAkE,wBAA4B,iBAAmJ,EAAOC,aAAW,CAAC,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,EAAmPC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,0BAAwB,CAAC,YAAY,YAAY,YAAY,WAAW,EAAQC,WAAS,OAAO,OAAOC,CAAc,EAAQC,YAAU,CAAC,SAAO,KAAG,MAAI,QAAM,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAK,EAAM,UAAU,UAAU,GAAO,EAAM,WAAW,kBAAkB,QAAQH,0BAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAUI,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAW5uD,gBAAgB,QAX6vDC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,GAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,cAAc,EAA0B,qBAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,YAAU,GAAG,GAAWJ,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,mBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,GAAiBC,yBAAuB,EAAM,CAAQ,EAAO,CAAC,yBAAsB,UAAO,yBAAyB,CAAW,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAoC,GAAnC,GAAgB,CAAC,UAAU,EAAK,CAAC,EAAK,GAAiD,MAAtB,EAAU,GAAG,CAAI,IAAW,GAAM,MAAO,EAAO,CAAC,EAA4D,GAAkB,GAAGV,oBAAlDc,WAA4F,EAAQ,OAAoB,IAAc,YAA6C,OAAqB,IAAc,YAAuC,OAAoB,EAAK,YAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKP,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKJ,aAAW,CAAC,MAAMD,cAAY,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,GAAkB,iBAAiB,EAAU,CAAU,EAAE,cAAc,GAAK,mBAAmB,YAAY,iBAAiB,GAAsB,oBAAiB,SAAS,YAAY,MAAM,GAAa,IAAI,EAAW,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,eAAe,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,gBAAgB,mBAAmB,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,qBAAqB,gBAAgB,wBAAwB,CAAC,EAAE,GAAGJ,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAkC,oBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKiB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKP,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,sBAAsB,uCAAuC,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,kBAAkB,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,cAAc,EAAE,KAAK,EAAU,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGV,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,0BAA0B,OAAO,sBAAsB,6CAA6C,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,QAAyB,oBAAiB,SAAS,YAAY,SAAS,CAAC,GAAY,GAAgB,EAAKQ,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,OAAO,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,oBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;;;;EAAqxB,mBAAmB,EAAI,CAAC,EAAE,GAAa,GAAgB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,uBAAuB,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,oBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;;;;EAA2xB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAW5pO,EAAE,CAXwqO,kFAAkF,kFAAkF,oSAAoS,qQAAqQ,iHAAiH,iHAAiH,mJAAmJ,oHAAoH,GAAGC,MAAgB,sdAW/2Q,EAAE,cAAc,EAAiC,gBAAgB,YAAY,cAAc,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,EAAE,UAAU,CAAC,aAAa,kBAAkB,gBAAgB,GAAM,MAAM,QAAQ,KAAK,YAAY,MAAM,EAAE,UAAU,CAAC,MAAM,MAAM,KAAK,YAAY,YAAY,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,wBAAwBC,OAAiB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCXpE,SAASC,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,qcAA37E,uBAAkU,8BAAkE,wBAA4B,iBAAoJ,iBAA0H,iBAA0H,iBAAyH,iBAAmH,iBAAoH,EAAO,eAAe,SAASC,eAAS,EAAQ,iCAAiC,wBAAwBA,eAAS,EAAQ,cAAc,SAASC,eAAQ,EAAQ,wCAAwC,0BAA0B,OAAOC,SAAQ,CAAC,EAAQ,yCAAyC,0BAA0B,OAAO,OAAO,GAAG,CAAC,EAAQC,aAAW,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,iBAAiB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,mBAAmB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,iBAAiB,EAAyNC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQ,cAAc,GAAG,IAAO,CAAC,IAAI,IAAM,KAAO,EAAM,GAAG,GAAK,OAAO,GAAM,SAAS,OAAO,CAAsB,EAA+E,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAAzK,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAwI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQ,WAAW,CAAC,QAAQ,KAAK,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,EAAE,EAAE,EAAE,CAAC,EAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAA3K,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAyI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAA3K,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAyI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAA3K,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAyI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAA3K,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAyI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAgF,WAAW,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,KAAK,WAAW,CAA3K,MAAM,GAAG,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,OAAyI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,0BAAwB,CAAC,yBAAyB,YAAY,uBAAuB,YAAY,2BAA2B,YAAY,2BAA2B,YAAY,uBAAuB,YAAY,uBAAuB,YAAY,4BAA4B,YAAY,4BAA4B,YAAY,8BAA8B,YAAY,8BAA8B,YAAY,4BAA4B,YAAY,4BAA4B,YAAY,4BAA4B,YAAY,6BAA6B,WAAW,EAAQC,WAAS,OAAO,OAAOC,CAAc,EAAQC,YAAU,CAAC,aAAW,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,UAAU,GAAY,EAAM,UAAU,QAAQH,0BAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAUI,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAWtyK,gBAAgB,QAXuzKC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,GAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,cAAc,EAAQ,EAAkB,qBAAqB,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,YAAU,GAAG,GAAWJ,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,mBAAgB,aAAW,YAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,GAAiBC,yBAAuB,EAAM,CAAQ,EAAO,CAAC,yBAAsB,UAAO,yBAAyB,CAAW,EAAQ,GAAW,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAY,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,EAAY,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAY,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAQ,GAAa,GAAsB,MAAM,GAAG,IAAO,CAAC,EAAW,WAAW,CAAE,CAAC,EAAiI,GAAkB,GAAGV,oBAAvHc,YAAsBC,YAAuBC,YAAuBC,YAA6F,EAAQ,OAAiB,CAAG,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,CAAC,CAAC,SAAS,CAAW,EAAmC,OAAqB,IAAc,YAA6C,OAAkB,EAAG,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,CAAC,CAAC,SAAS,CAAW,EAAmC,OAAkB,EAAG,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,CAAC,CAAC,SAAS,CAAW,EAA6B,OAAoB,EAAK,YAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKV,WAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAKJ,aAAW,CAAC,MAAMD,cAAY,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,GAAkB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,yBAA0C,oBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,GAAG,CAAK,EAAE,GAAGP,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,6BAA6B,EAAE,UAAU,CAAC,mBAAmB,sBAAsB,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,sBAAsB,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,sBAAsB,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,4BAA4B,EAAE,UAAU,CAAC,mBAAmB,0BAA0B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,2BAA2B,EAAE,UAAU,CAAC,mBAAmB,0BAA0B,EAAE,UAAU,CAAC,mBAAmB,6BAA6B,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,OAAwB,oBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,0BAA0B,CAAC,SAAsB,EAAK,8BAA8B,CAAC,UAAU,0BAA2C,oBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAK,iCAAiC,CAAC,sBAAsB,GAAM,kBAAkB,CAAC,CAAC,IAAI,EAAU,OAAO,WAAW,CAAC,EAAE,oBAAoB,EAAE,qCAAqC,GAAK,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,MAAM,EAAE,QAAQ,aAAa,WAAW,EAAE,MAAM,OAAO,GAAGA,uBAAqB,CAAC,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,IAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,aAA8B,oBAAiB,SAAS,YAAY,SAAS,CAAC,GAAY,GAAgB,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,oBAAiB,SAAS,YAAY,SAAS,CAAC,GAAa,GAAgB,EAAKG,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,EAAE,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,SAAS,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,QAAQ,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAiC,oBAAiB,SAAS,YAAY,SAAsB,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,mBAAmB,WAAW,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,SAAS,CAAC,UAAU,CAAC,qBAAqB,oBAAoB,CAAC,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,6CAA6C,EAAE,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,EAAe,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,UAAU,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,KAAK,CAAC,KAAK,wCAAwC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAK,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,gCAAiD,oBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,GAAG,GAAmB,GAAG,GAAG,IAAI,IAAM,GAAmB,QAAQ,OAAO,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,EAAE,GAAGb,uBAAqB,CAAC,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,IAAI,IAAM,GAAmB,QAAQ,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,GAAG,GAAmB,GAAG,GAAG,IAAI,IAAM,GAAmB,QAAQ,MAAM,GAAG,MAAM,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,EAAE,EAAY,CAAc,EAAE,SAAsB,EAAK,8BAA8B,CAAC,UAAU,2BAA4C,oBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKE,gBAAS,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,UAAU,kBAAkB,MAAM,CAAC,MAAM,MAAM,EAAE,QAAQ,aAAa,WAAW,EAAE,MAAM,OAAO,GAAGF,uBAAqB,CAAC,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,EAAE,UAAU,CAAC,QAAQ,aAAa,WAAW,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAa,GAAgB,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,oBAAiB,SAAS,YAAY,GAAGA,uBAAqB,CAAC,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAW,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAW,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,CAAW,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAU,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,EAAE,UAAU,CAAC,iBAAiB,GAAK,MAAM,EAAY,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,kBAAmC,oBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,eAAe,OAAO,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,EAAE,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,EAAE,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,EAAE,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,kBAAmC,oBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,eAAe,QAAQ,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,kBAAmC,oBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,eAAe,OAAO,CAAC,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,OAAO,GAAG,EAAE,UAAU,CAAC,OAAO,GAAG,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,GAAG,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,GAAG,EAAE,UAAU,CAAC,gBAAgB,qBAAqB,OAAO,GAAG,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,OAAO,GAAG,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAa,GAAgB,IAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,YAA6B,oBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,wCAAwC,CAAC,sBAAsB,GAAK,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,UAAU,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,8CAA8C,EAAE,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,wBAAwB,UAAU,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,sBAAsB,qBAAqB,qBAAqB,IAAI,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,wCAAwC,CAAC,sBAAsB,GAAK,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,WAAW,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,wBAAwB,UAAU,mBAAmB,SAAS,MAAM,CAAC,OAAO,EAAE,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,qBAAqB,IAAI,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,wCAAwC,CAAC,sBAAsB,GAAK,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,WAAW,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,wBAAwB,UAAU,mBAAmB,QAAQ,MAAM,CAAC,OAAO,EAAE,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,qBAAqB,IAAI,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,wCAAwC,CAAC,sBAAsB,GAAK,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,WAAW,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,wBAAwB,UAAU,mBAAmB,OAAO,MAAM,CAAC,OAAO,EAAE,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,qBAAqB,IAAI,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,EAAe,EAAK,yCAAyC,CAAC,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,WAAW,UAAU,gBAAgB,wBAAwB,SAAS,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,qBAAqB,IAAI,EAAE,SAAsB,EAAKV,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKU,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,iBAAiB,mBAAmB,WAAW,MAAM,CAAC,OAAO,EAAmB,oBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,wCAAwC,CAAC,sBAAsB,GAAK,gBAAgB,GAAM,mBAAmB,GAAK,gBAAgB,EAAE,QAAQ,WAAW,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,gBAAgB,wBAAwB,SAAS,mBAAmB,UAAU,MAAM,CAAC,OAAO,EAAE,QAAQ,WAA4B,oBAAiB,SAAS,YAAY,UAAU,GAAK,MAAM,CAAC,qBAAqB,IAAI,EAAE,kBAAkB,MAAM,mBAAmB,GAAK,GAAGb,uBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKa,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAsB,EAAKA,EAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,WAAW,EAAE,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,CAAC,EAAE,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,SAAS,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAe,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,aAA8B,oBAAiB,SAAS,YAAY,MAAM,CAAC,eAAe,cAAc,gBAAgB,2BAA2B,qBAAqB,aAAa,EAAE,SAAS,CAAC,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,oBAAoB,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,eAAe,aAAa,qBAAqB,YAAY,EAAE,UAAU,CAAC,gBAAgB,cAAc,EAAE,UAAU,CAAC,eAAe,aAAa,gBAAgB,qBAAqB,qBAAqB,YAAY,EAAE,UAAU,CAAC,gBAAgB,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAWhp1C,EAAE,CAX4p1C,kFAAkF,kFAAkF,gRAAgR,uSAAuS,qHAAqH,yRAAyR,yRAAyR,icAAic,4QAA4Q,+RAA+R,2GAA2G,kHAAkH,kJAAkJ,iLAAiL,qJAAqJ,ySAAyS,mRAAmR,sLAAsL,8HAA8H,6HAA6H,2KAA2K,8HAA8H,8GAA8G,+HAA+H,8HAA8H,6jBAA6jB,ylBAAylB,iIAAiI,4HAA4H,6HAA6H,wIAAwI,2HAA2H,iOAAiO,sUAAsU,qVAAqV,2TAA2T,6TAA6T,GAAGU,MAAgB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAWnolD,EAAE,cAAc,EAAiC,gBAAgB,YAAY,OAAO,gBAAgB,aAAa,CAAC,OAAO,MAAM,MAAM,IAAI,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,yBAAyB,uBAAuB,2BAA2B,2BAA2B,uBAAuB,uBAAuB,4BAA4B,4BAA4B,4BAA4B,4BAA4B,8BAA8B,8BAA8B,6BAA6B,4BAA4B,4BAA4B,4BAA4B,4BAA4B,2BAA2B,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,EAAE,UAAU,CAAC,MAAM,cAAc,KAAK,YAAY,gBAAgB,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,KAAK,EAAE,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,KAAK,CAAC,CAAC,EAAE,GAAG,eAAe,GAAG,cAAc,GAAG,wBAAwBC,OAAiB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,OAAkB,EAAE,GAAG,wBAAwBC,QAAkB,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,EAAE,gBAAgB,OAAO,CAAC,MAAM,EAAM,KAAwB,EAAQ,OAAc,QAAQ,WAAW,CAAC,cAAc7B,gBAAU,CAAC,EAAE,CAAO,EAAE,cAAcC,gBAAS,CAAC,EAAE,CAAO,CAAC,CAAC,EAAG,KCX7yF,SAAS6B,uBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAuF,OAArF,GAAU,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,2NAArnB,uBAA2H,8BAAkE,wBAA4B,EAAiCC,aAAW,CAAC,YAAY,YAAY,WAAW,EAAQC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,iBAAiB,UAAU,kBAAkB,UAAU,iBAAiB,EAA+L,YAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,EAAQC,cAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOC,GAAiB,mBAAmB,EAAQ,EAAW,GAAO,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQC,WAAS,OAAO,OAAOC,CAAc,EAAQC,0BAAwB,CAAC,iBAAiB,YAAY,kBAAkB,YAAY,eAAe,WAAW,EAAQC,YAAU,CAAC,SAAO,KAAG,QAAM,GAAG,MAAgB,CAAC,GAAG,EAAM,QAAQD,0BAAwB,EAAM,UAAU,EAAM,SAAS,WAAW,GAAUE,0BAAwB,EAAM,IAAe,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAAE,EAAM,iBAAwB,EAAS,KAAK,GAAG,EAUl+C,gBAAgB,QAVm/CC,EAAiB,SAAS,EAAM,EAAI,CAAC,IAAM,EAAYC,GAAO,IAAI,EAAQ,EAAW,GAAK,EAAkB,EAAgBC,GAAY,EAAO,CAAC,eAAa,aAAW,cAAc,EAA0B,qBAAqB,EAAE,GAAK,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAWJ,WAAS,CAAK,EAAO,CAAC,cAAY,aAAW,sBAAoB,kBAAgB,iBAAe,YAAU,kBAAgB,aAAW,aAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,IAAI,EAAW,UAAQ,kBAAA,mBAAiB,CAAC,EAAQ,EAAiBC,yBAAuB,EAAM,EAAQ,EAAuC,EAAkB,GAAGT,mBAA0C,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAAU,EAAgB,SAAsB,EAAKK,WAAS,CAAC,QAAQ,GAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAM,YAAY,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,EAAU,GAAG,EAAgB,UAAU,GAAG,EAAkB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,kBAAmC,mBAAiB,SAAS,YAAY,IAAI,EAAW,MAAM,CAAC,WAAW,6GAA6G,QAAQ,EAAE,GAAG,CAAK,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,iGAAiG,QAAQ,CAAC,EAAE,UAAU,CAAC,WAAW,gGAAgG,CAAC,EAAE,GAAGJ,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,cAAc,EAAE,UAAU,CAAC,mBAAmB,gBAAgB,CAAC,EAAE,EAAY,CAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAU/nG,EAAE,CAV2oG,kFAAkF,kFAAkF,mFAU7yG,EAAE,cAAc,EAAiC,gBAAgB,YAAY,WAAW,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,kBAAkB,iBAAiB,cAAc,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAI,CAAC,KCVd,SAAS,qBAAqB,EAAU,GAAG,EAAS,CAAC,IAAM,EAAc,CAAC,EAAgI,OAA9H,GAAmD,QAAQ,GAAS,GAAS,OAAO,OAAO,EAAc,EAAU,EAAQ,CAAC,EAAS,CAAc,2MAArnB,uBAA0G,8BAAkE,wBAA4B,EAAO,WAAW,CAAC,YAAY,YAAY,WAAW,EAAQ,kBAAkB,eAAqB,kBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,EAAwO,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,QAAQ,CAAC,EAAQ,YAAY,CAAC,QAAM,cAAY,CAAC,IAAM,EAAOe,GAAiB,mBAAmB,EAAQ,EAAW,GAAmC,EAAO,WAAiB,EAAaC,UAAmB,CAAC,GAAG,EAAO,YAAU,GAAG,CAAC,KAAK,UAAU,CAAU,CAAC,CAAC,EAAE,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,EAAsB,UAAQ,CAAC,CAAE,EAAQ,SAAS,OAAOC,CAAc,EAAQ,wBAAwB,CAAC,YAAY,YAAY,YAAY,YAAY,YAAY,WAAW,EAAQ,UAAU,CAAC,SAAO,KAAG,QAAM,GAAG,KAAS,CAAC,IAAI,EAAuC,EAAK,MAAM,CAAC,GAAG,EAAM,QAAsD,wBAAwB,EAAM,UAAyG,EAAM,SAAoC,WAAW,CAAE,EAAQ,wBAAwB,EAAM,IAAW,EAAS,KAAK,GAAG,EAAE,EAAM,iBAO9oD,gBAAgB,QAP4qDC,EAAiB,SAAS,EAAM,EAAI,CAAC,GAAK,CAAC,eAAa,aAAW,cAAc,EAAO,CAAC,QAAM,YAAU,WAAS,UAAQ,GAAG,GAAW,SAAS,CAAK,EAAO,CAAC,cAAY,aAAW,iBAAe,kBAAgB,aAAW,aAAW,YAAU,gBAAgB,CAAC,WAAW,eAAe,YAAY,YAAY,UAAQ,iBAAiB,CAAC,EAAQ,EAAiB,uBAAuB,EAAM,CAAQ,EAAQ,EAAKC,GAAa,IAAI,EAAQ,MAAiB,CAAG,CAAC,YAAY,WAAW,CAAC,CAAC,SAAS,CAAW,EAAmC,MAAqB,IAAc,YAA6C,OAAqB,IAAc,YAA6C,EAAgBC,GAAY,EAAQ,EAAsB,CAAC,EAAE,OAAoB,EAAK,YAAY,CAAC,GAAG,GAA4C,EAAgB,SAAsB,EAAK,SAAS,CAAC,QAAQ,EAAS,QAAQ,GAAM,SAAsB,EAAK,WAAW,CAAC,MAAM,EAAW,SAAsB,IAAM,OAAO,IAAI,CAAC,GAAG,EAAU,UAAU,GAAG,kBAAkB,GAAG,EAAsB,gBAAgB,EAAU,CAAU,EAAE,mBAAmB,YAA6B,mBAAiB,SAAS,YAAY,eAAe,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,iBAAiB,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,UAAU,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,gBAAgB,EAAgB,CAAC,UAAU,EAAK,CAAC,EAAE,eAAe,EAAgB,CAAC,UAAU,EAAI,CAAC,EAAE,IAAI,GAA6B,EAAK,MAAM,CAAC,GAAG,CAAK,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,mBAAmB,WAAW,EAAE,UAAU,CAAC,mBAAmB,WAAW,CAAC,EAAE,EAAY,CAAc,EAAE,SAAS,CAAC,EAAY,GAAgB,EAAKC,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,eAAe,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;;;;;;;;EAAg2B,mBAAmB,EAAI,CAAC,EAAE,EAAa,GAAgB,EAAKA,KAAI,CAAC,UAAU,iBAAiB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAA8pB,mBAAmB,EAAI,CAAC,EAAE,GAAa,GAAgB,EAAKA,KAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAAS,KAAK,gBAAgB,gBAAgB,GAAG,eAAe,GAAoB,mBAAiB,SAAS,YAAY,IAAI;;;EAAgqB,mBAAmB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAOjpM,EAAE,CAP6pM,gcAAgc,kFAAkF,gFAAgF,oGAAoG,+LAA+L,8NAA8N,sJAO9vO,EAAE,cAAc,EAAiC,gBAAgB,YAAY,QAAQ,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,EAAE,EAAE,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,WAAW,EAAE,aAAa,CAAC,YAAY,YAAY,WAAW,EAAE,MAAM,UAAU,KAAK,YAAY,IAAI,CAAC,CAAC,EAAE,SAAS,gBAAgB,CAAC,CAAC,kFCR1W,EAAC,UAAU,UAAU,CAAC,oCAAoC,cAAc,oBAAoB,kBAAkB,CAAC,EAAeC,QAAM,CAAC,CAAC,OAAO,6BAA6B,OAAO,SAAS,IAAI,wEAAwE,CAAC,EAAeC,MAAI,CAAC,i+BAAi+B,EAAeC,YAAU,yFCArxC,EAAC,UAAU,UAAU,CAAC,mCAAmC,CAAC,EAAe,MAAM,CAAC,CAAC,OAAO,6BAA6B,OAAO,SAAS,IAAI,wEAAwE,CAAC,EAAe,IAAI,CAAC,oiBAAoiB,EAAe,UAAU"}