{"version":3,"file":"script_main.Ce2Rrygk.mjs","names":["s","t","e","i","o","n","a","r","l","c","h","d","u","f","p","v","m","g","y","w","b","x","R","M","C","P","S","E","I","D","B","_","Y","z","k","T","Particles","Container","r","e","t","f","o","u","a","s","t","e","i","r","s","i","t","n","b","l","a","o","r","d","e","c","h","v","u","i","e","t","s","o","a","r","n","l","m","v","h","d","c","u","w","E","p","f","y","g","b","t","i","a","o","e","r","n","s","c","d","u","r","n","i","e","o","s","t","h","a","S","w","d","u","c","g","p","l","o","l","a","e","n","o","t","n","c","a","o","n","t","l","r","e","c","s","i","n","t","o","a","i","s","c","r","l","e","p","v","y","d","u","x","g","M","b","w","P","z","D","R","a","r","updateColorValue","r","n","u","e","a","d","o","c","l","v","i","t","t","Attractor","s","i","r","a","e","d","l","c","o","n","f","u","p","e","d","n","i","t","o","v","h","s","r","a","c","u","f","l","t","o","i","e","b","l","s","a","n","r","u","c","d","v","f","p","h","s","a","o","c","d","l","u","v","t","f","i","n","r","e","t","o","r","e","a","s","n","i","d","c","l","b","u","v","f","h","p","e","t","t","e","r","i","s","o","n","u","c","e","t","r","o","n","a","e","s","d","i","o","t","r","n","l","a","c","p","u","f","h","v","i","r","n","e","o","t","a","s","l","c","d","e","n","o","i","t","r","s","l","d","a","u","e","n","checkDestroy","a","i","t","c","e","p","y","s","o","l","n","u","o","i","e","t","n","s","a","r","c","d","u","l","a","e","t","n","o","r","i","s","l","v","t","a","r","o","i","n","e","c","s","l","d","y","i","s","a","e","o","t","n","d","l","n","i","t","e","o","s","v","k","c","a","d","u","r","p","f","y","h","e","a","n","o","t","r","l","i","s","e","o","i","a","l","t","z","d","s","n","p","r","e","a","t","a","e","i","t","n","d","o","a","n","s","e","d","o","t","u","l","v","i","r","c","k","p","C","a","e","t","i","s","r","l","c","f","d","p","h","x","o","u","w","v","y","n","r","C","g","o","p","s","m","l","c","n","f","w","v","y","k","i","u","d","S","q","z","B","x","h","j","a","e","A","b","t","e","l","t","o","n","i","s","c","a","e","t","i","c","d","p","w","k","u","l","s","f","o","y","n","h","v","l","a","e","n","o","t","b","l","m","o","p","s","e","r","t","a","i","useCallback","color","css","getProps","className","v","useRef","animation","useCallback","animate","i","r","g","b","f","p","q","t","h","v","s","d","a","c","e","j","k","l","m","n","o","x","y","z","pt","global","mask","prng","seed","A","B","C","window","animationData","w","addFonts","renderer","destroy","_","loadAnimation","animation","searchAnimations","standalone","Math","document","clamp","rgbToHsl","hue2rgb","hslToRgb","wiggle","index","time","len","TextExpressionSelectorPropFactory","useRef","v","destroy","useCallback","d","lottie","c","addPropertyOverrides","cycleOrder","serializationHash","variantClassNames","transition1","t","Transition","React.useContext","React.useMemo","Variants","React.Fragment","humanReadableVariantMap","getProps","createLayoutDependency","React.useRef","React.useId","className","addPropertyOverrides","StatusDot","serializationHash","variantClassNames","transition1","Transition","React.useContext","React.useMemo","Variants","React.Fragment","getProps","createLayoutDependency","sharedStyle.className","React.useRef","React.useId","className","RichText","sharedStyle.css","sharedStyle.fonts","Buttons","Particles","Linkedin","Status","serializationHash","variantClassNames","React.useContext","React.useMemo","humanReadableVariantMap","React.Fragment","getProps","useRef","React.useId","sharedStyle.className","sharedStyle1.className","sharedStyle2.className","sharedStyle3.className","sharedStyle4.className","className","Image","RichText","sharedStyle.css","sharedStyle1.css","sharedStyle2.css","sharedStyle3.css","sharedStyle4.css","sharedStyle.fonts","sharedStyle1.fonts","sharedStyle2.fonts","sharedStyle3.fonts","sharedStyle4.fonts","NavBar","Footer","useRef","React.useId","className","PropertyOverrides","React.createElement","NavBarFooter","Framer.PageRoot","Framer.lazy","Framer.useCurrentRoute","Framer.useLocaleInfo","Framer.useRouter","React.Fragment","React.memo","React.useCallback","React.useEffect","React.useRef","React.useState","React.useLayoutEffect","Framer.LazyValue","Framer.LibraryFeaturesProvider","Framer.GracefullyDegradingErrorBoundary","Framer.PageEffectsProvider","breakpoints","Framer.patchRoutesForABTesting","e","routeData","Framer.inferInitialRouteFromPath","Framer.yieldToMain","React.startTransition","Framer.ErrorPlaceholder"],"sources":["https:/ga.jspm.io/npm:tsparticles-engine@2.2.4/esm/index.js","https:/ga.jspm.io/npm:fast-deep-equal@3.1.3/react.js","https:/ga.jspm.io/npm:react-tsparticles@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-plugin-absorbers@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-plugin-emitters@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-trail@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-plugin-polygon-mask@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-roll@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-particles.js@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-angle@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-move-base@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-circle@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-color@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-attract@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-bounce@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-bubble@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-connect@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-grab@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-pause@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-push@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-remove@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-external-repulse@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-image@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-life@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-line@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-opacity@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-out-modes@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-move-parallax@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-particles-attract@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-particles-collisions@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-interaction-particles-links@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-polygon@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-size@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-square@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-star@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-stroke-color@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-shape-text@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-slim@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-tilt@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-twinkle@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles-updater-wobble@2.2.4/esm/index.js","https:/ga.jspm.io/npm:tsparticles@2.2.4/esm/index.js","https:/framerusercontent.com/modules/wb6ZrZlCLNQ5HHBJtNND/c1GLxCsQBQvlLXhkz7er/Particles.js","https:/framerusercontent.com/modules/t1rhM6oeD682pIxTnWD2/G5MKSAAYvK829XCDVUOF/friF8cJ7Q.js","https:/framerusercontent.com/modules/kODKX7o9O7z6hH4StTDs/weVvYBSLnJOe8yl30nWD/bP0zS_xRR.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/5QOPdln8eQg4VnvrMORa/faibSpf5QxqCOfmAk2kS/gyv_cDnFu.js","https:/framerusercontent.com/modules/9dAUm0pjSFG9htOIDO3U/zovkeuH325RKnwTlvyOb/AAOMPJNnc.js","https:/framerusercontent.com/modules/5SkE1Il365h5ZehnSUra/ckhWaRH2HDBZisPNiJYc/SopAf7dkj.js","https:/framerusercontent.com/modules/kv7X1rATuvhJGfSQH5DM/3Cr3fknplYlsnjtXllCE/jluhHtcNv.js","framer:toplevel/main"],"sourcesContent":["var t=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var e=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var i;class EventDispatcher{constructor(){i.set(this,void 0);t(this,i,new Map,\"f\")}addEventListener(t,s){var o;this.removeEventListener(t,s);e(this,i,\"f\").get(t)||e(this,i,\"f\").set(t,[]);null===(o=e(this,i,\"f\").get(t))||void 0===o?void 0:o.push(s)}dispatchEvent(t,s){var o;null===(o=e(this,i,\"f\").get(t))||void 0===o?void 0:o.forEach((t=>t(s)))}hasEventListener(t){return!!e(this,i,\"f\").get(t)}removeAllEventListeners(s){s?e(this,i,\"f\").delete(s):t(this,i,new Map,\"f\")}removeEventListener(t,s){const o=e(this,i,\"f\").get(t);if(!o)return;const a=o.length,n=o.indexOf(s);n<0||(1===a?e(this,i,\"f\").delete(t):o.splice(n,1))}}i=new WeakMap;class Vector{constructor(t,e){if(\"number\"!==typeof t&&t){this.x=t.x;this.y=t.y}else{if(void 0===t||void 0===e)throw new Error(\"tsParticles - Vector not initialized correctly\");this.x=t;this.y=e}}static get origin(){return Vector.create(0,0)}get angle(){return Math.atan2(this.y,this.x)}set angle(t){this.updateFromAngle(t,this.length)}get length(){return Math.sqrt(this.getLengthSq())}set length(t){this.updateFromAngle(this.angle,t)}static clone(t){return Vector.create(t.x,t.y)}static create(t,e){return new Vector(t,e)}add(t){return Vector.create(this.x+t.x,this.y+t.y)}addTo(t){this.x+=t.x;this.y+=t.y}copy(){return Vector.clone(this)}distanceTo(t){return this.sub(t).length}distanceToSq(t){return this.sub(t).getLengthSq()}div(t){return Vector.create(this.x/t,this.y/t)}divTo(t){this.x/=t;this.y/=t}getLengthSq(){return this.x**2+this.y**2}manhattanDistanceTo(t){return Math.abs(t.x-this.x)+Math.abs(t.y-this.y)}mult(t){return Vector.create(this.x*t,this.y*t)}multTo(t){this.x*=t;this.y*=t}rotate(t){return Vector.create(this.x*Math.cos(t)-this.y*Math.sin(t),this.x*Math.sin(t)+this.y*Math.cos(t))}setTo(t){this.x=t.x;this.y=t.y}sub(t){return Vector.create(this.x-t.x,this.y-t.y)}subFrom(t){this.x-=t.x;this.y-=t.y}updateFromAngle(t,e){this.x=Math.cos(t)*e;this.y=Math.sin(t)*e}}let s=Math.random;function setRandom(t=Math.random){s=t}function getRandom(){return clamp(s(),0,1-1e-16)}function clamp(t,e,i){return Math.min(Math.max(t,e),i)}function mix(t,e,i,s){return Math.floor((t*i+e*s)/(i+s))}function randomInRange(t){const e=getRangeMax(t);let i=getRangeMin(t);e===i&&(i=0);return getRandom()*(e-i)+i}function getRangeValue(t){return\"number\"===typeof t?t:randomInRange(t)}function getRangeMin(t){return\"number\"===typeof t?t:t.min}function getRangeMax(t){return\"number\"===typeof t?t:t.max}function setRangeValue(t,e){if(t===e||void 0===e&&\"number\"===typeof t)return t;const i=getRangeMin(t),s=getRangeMax(t);return void 0!==e?{min:Math.min(i,e),max:Math.max(s,e)}:setRangeValue(i,s)}function getValue(t){const e=t.random,{enable:i,minimumValue:s}=\"boolean\"===typeof e?{enable:e,minimumValue:0}:e;return getRangeValue(i?setRangeValue(t.value,s):t.value)}function getDistances(t,e){const i=t.x-e.x,s=t.y-e.y;return{dx:i,dy:s,distance:Math.sqrt(i*i+s*s)}}function getDistance(t,e){return getDistances(t,e).distance}function getParticleDirectionAngle(t,e,i){if(\"number\"===typeof t)return t*Math.PI/180;switch(t){case\"top\":return-Math.PI/2;case\"top-right\":return-Math.PI/4;case\"right\":return 0;case\"bottom-right\":return Math.PI/4;case\"bottom\":return Math.PI/2;case\"bottom-left\":return 3*Math.PI/4;case\"left\":return Math.PI;case\"top-left\":return-3*Math.PI/4;case\"inside\":return Math.atan2(i.y-e.y,i.x-e.x);case\"outside\":return Math.atan2(e.y-i.y,e.x-i.x);case\"none\":default:return getRandom()*Math.PI*2}}function getParticleBaseVelocity(t){const e=Vector.origin;e.length=1;e.angle=t;return e}function collisionVelocity(t,e,i,s){return Vector.create(t.x*(i-s)/(i+s)+2*e.x*s/(i+s),t.y)}function calcEasing(t,e){switch(e){case\"ease-out-quad\":return 1-(1-t)**2;case\"ease-out-cubic\":return 1-(1-t)**3;case\"ease-out-quart\":return 1-(1-t)**4;case\"ease-out-quint\":return 1-(1-t)**5;case\"ease-out-expo\":return 1===t?1:1-Math.pow(2,-10*t);case\"ease-out-sine\":return Math.sin(t*Math.PI/2);case\"ease-out-back\":{const e=1.70158,i=e+1;return 1+i*Math.pow(t-1,3)+e*Math.pow(t-1,2)}case\"ease-out-circ\":return Math.sqrt(1-Math.pow(t-1,2));default:return t}}function calcPositionFromSize(t){var e,i;return void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?{x:t.position.x*t.size.width/100,y:t.position.y*t.size.height/100}:void 0}function calcPositionOrRandomFromSize(t){var e,i,s,o;return{x:(null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:100*getRandom())*t.size.width/100,y:(null!==(o=null===(s=t.position)||void 0===s?void 0:s.y)&&void 0!==o?o:100*getRandom())*t.size.height/100}}function calcPositionOrRandomFromSizeRanged(t){var e,i;const s={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?getRangeValue(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?getRangeValue(t.position.y):void 0};return calcPositionOrRandomFromSize({size:t.size,position:s})}function calcExactPositionOrRandomFromSize(t){var e,i,s,o;return{x:null!==(i=null===(e=t.position)||void 0===e?void 0:e.x)&&void 0!==i?i:getRandom()*t.size.width,y:null!==(o=null===(s=t.position)||void 0===s?void 0:s.y)&&void 0!==o?o:getRandom()*t.size.height}}function calcExactPositionOrRandomFromSizeRanged(t){var e,i;const s={x:void 0!==(null===(e=t.position)||void 0===e?void 0:e.x)?getRangeValue(t.position.x):void 0,y:void 0!==(null===(i=t.position)||void 0===i?void 0:i.y)?getRangeValue(t.position.y):void 0};return calcExactPositionOrRandomFromSize({size:t.size,position:s})}function parseAlpha(t){return t.endsWith(\"%\")?parseFloat(t)/100:parseFloat(t)}function rectSideBounce(t,e,i,s,o,a){const n={bounced:false};if(e.min<s.min||e.min>s.max||e.max<s.min||e.max>s.max)return n;if(t.max>=i.min&&t.max<=(i.max+i.min)/2&&o>0||t.min<=i.max&&t.min>(i.max+i.min)/2&&o<0){n.velocity=o*-a;n.bounced=true}return n}function checkSelector(t,e){if(!(e instanceof Array))return t.matches(e);for(const i of e)if(t.matches(i))return true;return false}function isSsr(){return\"undefined\"===typeof window||!window||\"undefined\"===typeof window.document||!window.document}function animate(){return isSsr()?t=>setTimeout(t):t=>(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||window.setTimeout)(t)}function cancelAnimation(){return isSsr()?t=>clearTimeout(t):t=>(window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.clearTimeout)(t)}function isInArray(t,e){return t===e||e instanceof Array&&e.indexOf(t)>-1}async function loadFont(t,e){try{await document.fonts.load(`${null!==e&&void 0!==e?e:\"400\"} 36px '${null!==t&&void 0!==t?t:\"Verdana\"}'`)}catch(t){}}function arrayRandomIndex(t){return Math.floor(getRandom()*t.length)}function itemFromArray(t,e,i=true){const s=void 0!==e&&i?e%t.length:arrayRandomIndex(t);return t[s]}function isPointInside(t,e,i,s,o){return areBoundsInside(calculateBounds(t,null!==s&&void 0!==s?s:0),e,i,o)}function areBoundsInside(t,e,i,s){let o=true;s&&\"bottom\"!==s||(o=t.top<e.height+i.x);!o||s&&\"left\"!==s||(o=t.right>i.x);!o||s&&\"right\"!==s||(o=t.left<e.width+i.y);!o||s&&\"top\"!==s||(o=t.bottom>i.y);return o}function calculateBounds(t,e){return{bottom:t.y+e,left:t.x-e,right:t.x+e,top:t.y-e}}function deepExtend(t,...e){for(const i of e){if(void 0===i||null===i)continue;if(\"object\"!==typeof i){t=i;continue}const e=Array.isArray(i);!e||\"object\"===typeof t&&t&&Array.isArray(t)?e||\"object\"===typeof t&&t&&!Array.isArray(t)||(t={}):t=[];for(const e in i){if(\"__proto__\"===e)continue;const s=i,o=s[e],a=\"object\"===typeof o,n=t;n[e]=a&&Array.isArray(o)?o.map((t=>deepExtend(n[e],t))):deepExtend(n[e],o)}}return t}function isDivModeEnabled(t,e){return e instanceof Array?!!e.find((e=>e.enable&&isInArray(t,e.mode))):isInArray(t,e.mode)}function divModeExecute(t,e,i){if(e instanceof Array)for(const s of e){const e=s.mode,o=s.enable;o&&isInArray(t,e)&&singleDivModeExecute(s,i)}else{const s=e.mode,o=e.enable;o&&isInArray(t,s)&&singleDivModeExecute(e,i)}}function singleDivModeExecute(t,e){const i=t.selectors;if(i instanceof Array)for(const s of i)e(s,t);else e(i,t)}function divMode(t,e){if(e&&t)return t instanceof Array?t.find((t=>checkSelector(e,t.selectors))):checkSelector(e,t.selectors)?t:void 0}function circleBounceDataFromParticle(t){return{position:t.getPosition(),radius:t.getRadius(),mass:t.getMass(),velocity:t.velocity,factor:Vector.create(getValue(t.options.bounce.horizontal),getValue(t.options.bounce.vertical))}}function circleBounce(t,e){const{x:i,y:s}=t.velocity.sub(e.velocity),[o,a]=[t.position,e.position],{dx:n,dy:r}=getDistances(a,o);if(i*n+s*r<0)return;const l=-Math.atan2(r,n),c=t.mass,h=e.mass,d=t.velocity.rotate(l),u=e.velocity.rotate(l),f=collisionVelocity(d,u,c,h),p=collisionVelocity(u,d,c,h),v=f.rotate(-l),m=p.rotate(-l);t.velocity.x=v.x*t.factor.x;t.velocity.y=v.y*t.factor.y;e.velocity.x=m.x*e.factor.x;e.velocity.y=m.y*e.factor.y}function rectBounce(t,e){const i=t.getPosition(),s=t.getRadius(),o=calculateBounds(i,s);const a=rectSideBounce({min:o.left,max:o.right},{min:o.top,max:o.bottom},{min:e.left,max:e.right},{min:e.top,max:e.bottom},t.velocity.x,getValue(t.options.bounce.horizontal));if(a.bounced){void 0!==a.velocity&&(t.velocity.x=a.velocity);void 0!==a.position&&(t.position.x=a.position)}const n=rectSideBounce({min:o.top,max:o.bottom},{min:o.left,max:o.right},{min:e.top,max:e.bottom},{min:e.left,max:e.right},t.velocity.y,getValue(t.options.bounce.vertical));if(n.bounced){void 0!==n.velocity&&(t.velocity.y=n.velocity);void 0!==n.position&&(t.position.y=n.position)}}const o=\"random\",a=\"mid\",n=new Map;function addColorManager(t,e){n.set(t,e)}function hue2rgb(t,e,i){i<0&&(i+=1);i>1&&(i-=1);return i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}function stringToRgba(t){for(const[,e]of n)if(t.startsWith(e.stringPrefix))return e.parseString(t);const e=/^#?([a-f\\d])([a-f\\d])([a-f\\d])([a-f\\d])?$/i,i=t.replace(e,((t,e,i,s,o)=>e+e+i+i+s+s+(void 0!==o?o+o:\"\"))),s=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})?$/i,o=s.exec(i);return o?{a:void 0!==o[4]?parseInt(o[4],16)/255:1,b:parseInt(o[3],16),g:parseInt(o[2],16),r:parseInt(o[1],16)}:void 0}function rangeColorToRgb(t,e,i=true){if(!t)return;const s=\"string\"===typeof t?{value:t}:t;if(\"string\"===typeof s.value)return colorToRgb(s.value,e,i);if(s.value instanceof Array)return rangeColorToRgb({value:itemFromArray(s.value,e,i)});for(const[,t]of n){const e=t.handleRangeColor(s);if(e)return e}}function colorToRgb(t,e,i=true){if(!t)return;const s=\"string\"===typeof t?{value:t}:t;if(\"string\"===typeof s.value)return s.value===o?getRandomRgbColor():stringToRgb(s.value);if(s.value instanceof Array)return colorToRgb({value:itemFromArray(s.value,e,i)});for(const[,t]of n){const e=t.handleColor(s);if(e)return e}}function colorToHsl(t,e,i=true){const s=colorToRgb(t,e,i);return s?rgbToHsl(s):void 0}function rangeColorToHsl(t,e,i=true){const s=rangeColorToRgb(t,e,i);return s?rgbToHsl(s):void 0}function rgbToHsl(t){const e=t.r/255,i=t.g/255,s=t.b/255,o=Math.max(e,i,s),a=Math.min(e,i,s),n={h:0,l:(o+a)/2,s:0};if(o!==a){n.s=n.l<.5?(o-a)/(o+a):(o-a)/(2-o-a);n.h=e===o?(i-s)/(o-a):n.h=i===o?2+(s-e)/(o-a):4+(e-i)/(o-a)}n.l*=100;n.s*=100;n.h*=60;n.h<0&&(n.h+=360);n.h>=360&&(n.h-=360);return n}function stringToAlpha(t){var e;return null===(e=stringToRgba(t))||void 0===e?void 0:e.a}function stringToRgb(t){return stringToRgba(t)}function hslToRgb(t){const e={b:0,g:0,r:0},i={h:t.h/360,l:t.l/100,s:t.s/100};if(i.s){const t=i.l<.5?i.l*(1+i.s):i.l+i.s-i.l*i.s,s=2*i.l-t;e.r=hue2rgb(s,t,i.h+1/3);e.g=hue2rgb(s,t,i.h);e.b=hue2rgb(s,t,i.h-1/3)}else{e.b=i.l;e.g=i.l;e.r=i.l}e.r=Math.floor(255*e.r);e.g=Math.floor(255*e.g);e.b=Math.floor(255*e.b);return e}function hslaToRgba(t){const e=hslToRgb(t);return{a:t.a,b:e.b,g:e.g,r:e.r}}function getRandomRgbColor(t){const e=null!==t&&void 0!==t?t:0;return{b:Math.floor(randomInRange(setRangeValue(e,256))),g:Math.floor(randomInRange(setRangeValue(e,256))),r:Math.floor(randomInRange(setRangeValue(e,256)))}}function getStyleFromRgb(t,e){return`rgba(${t.r}, ${t.g}, ${t.b}, ${null!==e&&void 0!==e?e:1})`}function getStyleFromHsl(t,e){return`hsla(${t.h}, ${t.s}%, ${t.l}%, ${null!==e&&void 0!==e?e:1})`}function colorMix(t,e,i,s){let o=t,a=e;void 0===o.r&&(o=hslToRgb(t));void 0===a.r&&(a=hslToRgb(e));return{b:mix(o.b,a.b,i,s),g:mix(o.g,a.g,i,s),r:mix(o.r,a.r,i,s)}}function getLinkColor(t,e,i){var s,n;if(i===o)return getRandomRgbColor();if(i!==a)return i;{const i=null!==(s=t.getFillColor())&&void 0!==s?s:t.getStrokeColor(),o=null!==(n=null===e||void 0===e?void 0:e.getFillColor())&&void 0!==n?n:null===e||void 0===e?void 0:e.getStrokeColor();if(i&&o&&e)return colorMix(i,o,t.getRadius(),e.getRadius());{const t=null!==i&&void 0!==i?i:o;if(t)return hslToRgb(t)}}}function getLinkRandomColor(t,e,i){const s=\"string\"===typeof t?t:t.value;return s===o?i?rangeColorToRgb({value:s}):e?o:a:rangeColorToRgb({value:s})}function getHslFromAnimation(t){return void 0!==t?{h:t.h.value,s:t.s.value,l:t.l.value}:void 0}function getHslAnimationFromHsl(t,e,i){const s={h:{enable:false,value:t.h},s:{enable:false,value:t.s},l:{enable:false,value:t.l}};if(e){setColorAnimation(s.h,e.h,i);setColorAnimation(s.s,e.s,i);setColorAnimation(s.l,e.l,i)}return s}function setColorAnimation(t,e,i){t.enable=e.enable;if(t.enable){t.velocity=getRangeValue(e.speed)/100*i;t.decay=1-getRangeValue(e.decay);t.status=0;if(!e.sync){t.velocity*=getRandom();t.value*=getRandom()}}else t.velocity=0}function drawLine(t,e,i){t.beginPath();t.moveTo(e.x,e.y);t.lineTo(i.x,i.y);t.closePath()}function drawTriangle(t,e,i,s){t.beginPath();t.moveTo(e.x,e.y);t.lineTo(i.x,i.y);t.lineTo(s.x,s.y);t.closePath()}function paintBase(t,e,i){t.save();t.fillStyle=null!==i&&void 0!==i?i:\"rgba(0,0,0,0)\";t.fillRect(0,0,e.width,e.height);t.restore()}function clear(t,e){t.clearRect(0,0,e.width,e.height)}function drawParticle(t){var e,i,s,o,a,n,r,l,c,h;const{container:d,context:u,particle:f,delta:p,colorStyles:v,backgroundMask:m,composite:g,radius:y,opacity:w,shadow:b,transform:x}=t;const R=f.getPosition();u.save();void 0!==x.a||void 0!==x.b||void 0!==x.c||void 0!==x.d?u.setTransform(null!==(e=x.a)&&void 0!==e?e:1,null!==(i=x.b)&&void 0!==i?i:0,null!==(s=x.c)&&void 0!==s?s:0,null!==(o=x.d)&&void 0!==o?o:1,R.x,R.y):u.translate(R.x,R.y);u.beginPath();const M=f.rotation+(f.options.rotate.path?f.velocity.angle:0);0!==M&&u.rotate(M);m&&(u.globalCompositeOperation=g);const C=f.shadowColor;if(b.enable&&C){u.shadowBlur=b.blur;u.shadowColor=getStyleFromRgb(C);u.shadowOffsetX=b.offset.x;u.shadowOffsetY=b.offset.y}v.fill&&(u.fillStyle=v.fill);const P=f.stroke;u.lineWidth=null!==(a=f.strokeWidth)&&void 0!==a?a:0;v.stroke&&(u.strokeStyle=v.stroke);drawShape(d,u,f,y,w,p);(null!==(n=null===P||void 0===P?void 0:P.width)&&void 0!==n?n:0)>0&&u.stroke();f.close&&u.closePath();f.fill&&u.fill();u.restore();u.save();void 0!==x.a||void 0!==x.b||void 0!==x.c||void 0!==x.d?u.setTransform(null!==(r=x.a)&&void 0!==r?r:1,null!==(l=x.b)&&void 0!==l?l:0,null!==(c=x.c)&&void 0!==c?c:0,null!==(h=x.d)&&void 0!==h?h:1,R.x,R.y):u.translate(R.x,R.y);f.rotation&&u.rotate(f.rotation);m&&(u.globalCompositeOperation=g);drawShapeAfterEffect(d,u,f,y,w,p);u.restore()}function drawShape(t,e,i,s,o,a){if(!i.shape)return;const n=t.drawers.get(i.shape);n&&n.draw(e,i,s,o,a,t.retina.pixelRatio)}function drawShapeAfterEffect(t,e,i,s,o,a){if(!i.shape)return;const n=t.drawers.get(i.shape);(null===n||void 0===n?void 0:n.afterEffect)&&n.afterEffect(e,i,s,o,a,t.retina.pixelRatio)}function drawPlugin(t,e,i){if(e.draw){t.save();e.draw(t,i);t.restore()}}function drawParticlePlugin(t,e,i,s){if(e.drawParticle){t.save();e.drawParticle(t,i,s);t.restore()}}function alterHsl(t,e,i){return{h:t.h,s:t.s,l:t.l+(\"darken\"===e?-1:1)*i}}const r=\"generated\";const l=\"touchend\";const c=\"pointerdown\";const h=\"pointerup\";const d=\"pointermove\";const u=\"touchstart\";const f=\"touchmove\";const p=\"pointerleave\";const v=\"pointerout\";const m=\"touchcancel\";const g=\"resize\";const y=\"visibilitychange\";const w=\"No polygon data loaded.\";const b=\"No polygon found, you need to specify SVG url in config.\";var x=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var R=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var M,C,P,z,k;function setTransformValue(t,e,i){var s;const o=e[i];void 0!==o&&(t[i]=(null!==(s=t[i])&&void 0!==s?s:1)*o)}class Canvas{constructor(t){this.container=t;M.set(this,void 0);C.set(this,void 0);P.set(this,void 0);z.set(this,void 0);k.set(this,void 0);this.size={height:0,width:0};x(this,C,null,\"f\");this.generatedCanvas=false;x(this,z,[],\"f\");x(this,P,[],\"f\");x(this,k,[],\"f\");x(this,M,[],\"f\")}clear(){const t=this.container.actualOptions,e=t.particles.move.trail;t.backgroundMask.enable?this.paint():e.enable&&e.length>0&&this.trailFillColor?this.paintBase(getStyleFromRgb(this.trailFillColor,1/e.length)):this.draw((t=>{clear(t,this.size)}))}destroy(){var t;this.generatedCanvas?null===(t=this.element)||void 0===t?void 0:t.remove():this.resetOriginalStyle();this.draw((t=>{clear(t,this.size)}));x(this,z,[],\"f\");x(this,P,[],\"f\");x(this,k,[],\"f\");x(this,M,[],\"f\")}draw(t){if(R(this,C,\"f\"))return t(R(this,C,\"f\"))}drawParticle(t,e){var i;if(t.spawning||t.destroyed)return;const s=t.getRadius();if(s<=0)return;const o=t.getFillColor(),a=null!==(i=t.getStrokeColor())&&void 0!==i?i:o;let[n,r]=this.getPluginParticleColors(t);n||(n=o);r||(r=a);(n||r)&&this.draw((i=>{var o,a,l,c,h;const d=this.container.actualOptions,u=t.options.zIndex,f=(1-t.zIndexFactor)**u.opacityRate,p=null!==(l=null!==(o=t.bubble.opacity)&&void 0!==o?o:null===(a=t.opacity)||void 0===a?void 0:a.value)&&void 0!==l?l:1,v=null!==(h=null===(c=t.stroke)||void 0===c?void 0:c.opacity)&&void 0!==h?h:p,m=p*f,g=v*f,y={},w={fill:n?getStyleFromHsl(n,m):void 0};w.stroke=r?getStyleFromHsl(r,g):w.fill;this.applyPreDrawUpdaters(i,t,s,m,w,y);drawParticle({container:this.container,context:i,particle:t,delta:e,colorStyles:w,backgroundMask:d.backgroundMask.enable,composite:d.backgroundMask.composite,radius:s*(1-t.zIndexFactor)**u.sizeRate,opacity:m,shadow:t.options.shadow,transform:y});this.applyPostDrawUpdaters(t)}))}drawParticlePlugin(t,e,i){this.draw((s=>{drawParticlePlugin(s,t,e,i)}))}drawPlugin(t,e){this.draw((i=>{drawPlugin(i,t,e)}))}init(){this.resize();this.initStyle();this.initCover();this.initTrail();this.initBackground();this.initUpdaters();this.initPlugins();this.paint()}initBackground(){const t=this.container.actualOptions,e=t.background,i=this.element,s=null===i||void 0===i?void 0:i.style;if(s){if(e.color){const t=rangeColorToRgb(e.color);s.backgroundColor=t?getStyleFromRgb(t,e.opacity):\"\"}else s.backgroundColor=\"\";s.backgroundImage=e.image||\"\";s.backgroundPosition=e.position||\"\";s.backgroundRepeat=e.repeat||\"\";s.backgroundSize=e.size||\"\"}}initPlugins(){x(this,k,[],\"f\");for(const[,t]of this.container.plugins){t.resize&&R(this,k,\"f\").push(t);(t.particleFillColor||t.particleStrokeColor)&&R(this,M,\"f\").push(t)}}initUpdaters(){x(this,z,[],\"f\");x(this,P,[],\"f\");for(const t of this.container.particles.updaters){t.afterDraw&&R(this,P,\"f\").push(t);(t.getColorStyles||t.getTransformValues||t.beforeDraw)&&R(this,z,\"f\").push(t)}}loadCanvas(t){var e;this.generatedCanvas&&(null===(e=this.element)||void 0===e?void 0:e.remove());this.generatedCanvas=t.dataset&&r in t.dataset?\"true\"===t.dataset[r]:this.generatedCanvas;this.element=t;this.originalStyle=deepExtend({},this.element.style);this.size.height=t.offsetHeight;this.size.width=t.offsetWidth;x(this,C,this.element.getContext(\"2d\"),\"f\");this.container.retina.init();this.initBackground()}paint(){const t=this.container.actualOptions;this.draw((e=>{if(t.backgroundMask.enable&&t.backgroundMask.cover){clear(e,this.size);this.paintBase(this.coverColorStyle)}else this.paintBase()}))}resize(){if(!this.element)return;const t=this.container,e=t.retina.pixelRatio,i=t.canvas.size,s={width:this.element.offsetWidth*e,height:this.element.offsetHeight*e};if(s.height===i.height&&s.width===i.width&&s.height===this.element.height&&s.width===this.element.width)return;const o=Object.assign({},i);this.element.width=i.width=this.element.offsetWidth*e;this.element.height=i.height=this.element.offsetHeight*e;this.container.started&&(this.resizeFactor={width:i.width/o.width,height:i.height/o.height})}async windowResize(){if(!this.element)return;this.resize();const t=this.container,e=t.updateActualOptions();t.particles.setDensity();this.applyResizePlugins();e&&await t.refresh()}applyPostDrawUpdaters(t){var e;for(const i of R(this,P,\"f\"))null===(e=i.afterDraw)||void 0===e?void 0:e.call(i,t)}applyPreDrawUpdaters(t,e,i,s,o,a){var n;for(const r of R(this,z,\"f\")){if(r.getColorStyles){const{fill:a,stroke:n}=r.getColorStyles(e,t,i,s);a&&(o.fill=a);n&&(o.stroke=n)}if(r.getTransformValues){const t=r.getTransformValues(e);for(const e in t)setTransformValue(a,t,e)}null===(n=r.beforeDraw)||void 0===n?void 0:n.call(r,e)}}applyResizePlugins(){var t;for(const e of R(this,k,\"f\"))null===(t=e.resize)||void 0===t?void 0:t.call(e)}getPluginParticleColors(t){let e,i;for(const s of R(this,M,\"f\")){!e&&s.particleFillColor&&(e=rangeColorToHsl(s.particleFillColor(t)));!i&&s.particleStrokeColor&&(i=rangeColorToHsl(s.particleStrokeColor(t)));if(e&&i)break}return[e,i]}initCover(){const t=this.container.actualOptions,e=t.backgroundMask.cover,i=e.color,s=rangeColorToRgb(i);if(s){const t={r:s.r,g:s.g,b:s.b,a:e.opacity};this.coverColorStyle=getStyleFromRgb(t,t.a)}}initStyle(){const t=this.element,e=this.container.actualOptions;if(t){if(e.fullScreen.enable){this.originalStyle=deepExtend({},t.style);t.style.setProperty(\"position\",\"fixed\",\"important\");t.style.setProperty(\"z-index\",e.fullScreen.zIndex.toString(10),\"important\");t.style.setProperty(\"top\",\"0\",\"important\");t.style.setProperty(\"left\",\"0\",\"important\");t.style.setProperty(\"width\",\"100%\",\"important\");t.style.setProperty(\"height\",\"100%\",\"important\")}else this.resetOriginalStyle();for(const i in e.style){if(!i||!e.style)continue;const s=e.style[i];s&&t.style.setProperty(i,s,\"important\")}}}initTrail(){const t=this.container.actualOptions,e=t.particles.move.trail,i=rangeColorToRgb(e.fillColor);if(i){const e=t.particles.move.trail;this.trailFillColor={r:i.r,g:i.g,b:i.b,a:1/e.length}}}paintBase(t){this.draw((e=>{paintBase(e,this.size,t)}))}resetOriginalStyle(){const t=this.element,e=this.originalStyle;if(t&&e){t.style.position=e.position;t.style.zIndex=e.zIndex;t.style.top=e.top;t.style.left=e.left;t.style.width=e.width;t.style.height=e.height}}}M=new WeakMap,C=new WeakMap,P=new WeakMap,z=new WeakMap,k=new WeakMap;function manageListener(t,e,i,s,o){if(s){let s={passive:true};\"boolean\"===typeof o?s.capture=o:void 0!==o&&(s=o);t.addEventListener(e,i,s)}else{const s=o;t.removeEventListener(e,i,s)}}class EventListeners{constructor(t){this.container=t;this.canPush=true;this.mouseMoveHandler=t=>this.mouseTouchMove(t);this.touchStartHandler=t=>this.mouseTouchMove(t);this.touchMoveHandler=t=>this.mouseTouchMove(t);this.touchEndHandler=()=>this.mouseTouchFinish();this.mouseLeaveHandler=()=>this.mouseTouchFinish();this.touchCancelHandler=()=>this.mouseTouchFinish();this.touchEndClickHandler=t=>this.mouseTouchClick(t);this.mouseUpHandler=t=>this.mouseTouchClick(t);this.mouseDownHandler=()=>this.mouseDown();this.visibilityChangeHandler=()=>this.handleVisibilityChange();this.themeChangeHandler=t=>this.handleThemeChange(t);this.oldThemeChangeHandler=t=>this.handleThemeChange(t);this.resizeHandler=()=>this.handleWindowResize()}addListeners(){this.manageListeners(true)}removeListeners(){this.manageListeners(false)}doMouseTouchClick(t){const e=this.container,i=e.actualOptions;if(this.canPush){const t=e.interactivity.mouse.position;if(!t)return;e.interactivity.mouse.clickPosition={x:t.x,y:t.y};e.interactivity.mouse.clickTime=(new Date).getTime();const s=i.interactivity.events.onClick;if(s.mode instanceof Array)for(const t of s.mode)this.handleClickMode(t);else this.handleClickMode(s.mode)}\"touchend\"===t.type&&setTimeout((()=>this.mouseTouchFinish()),500)}handleClickMode(t){this.container.handleClickMode(t)}handleThemeChange(t){const e=t,i=e.matches?this.container.options.defaultDarkTheme:this.container.options.defaultLightTheme,s=this.container.options.themes.find((t=>t.name===i));s&&s.default.auto&&this.container.loadTheme(i)}handleVisibilityChange(){const t=this.container,e=t.actualOptions;this.mouseTouchFinish();if(e.pauseOnBlur)if(null===document||void 0===document?void 0:document.hidden){t.pageHidden=true;t.pause()}else{t.pageHidden=false;t.getAnimationStatus()?t.play(true):t.draw(true)}}handleWindowResize(){if(this.resizeTimeout){clearTimeout(this.resizeTimeout);delete this.resizeTimeout}this.resizeTimeout=setTimeout((async()=>{var t;return null===(t=this.container.canvas)||void 0===t?void 0:t.windowResize()}),500)}manageListeners(t){var e;const i=this.container,s=i.actualOptions,o=s.interactivity.detectsOn;let a=p;if(\"window\"===o){i.interactivity.element=window;a=v}else if(\"parent\"===o&&i.canvas.element){const t=i.canvas.element;i.interactivity.element=null!==(e=t.parentElement)&&void 0!==e?e:t.parentNode}else i.interactivity.element=i.canvas.element;const n=!isSsr()&&\"undefined\"!==typeof matchMedia&&matchMedia(\"(prefers-color-scheme: dark)\");n&&(void 0!==n.addEventListener?manageListener(n,\"change\",this.themeChangeHandler,t):void 0!==n.addListener&&(t?n.addListener(this.oldThemeChangeHandler):n.removeListener(this.oldThemeChangeHandler)));const r=i.interactivity.element;if(!r)return;const w=r;if(s.interactivity.events.onHover.enable||s.interactivity.events.onClick.enable){manageListener(r,d,this.mouseMoveHandler,t);manageListener(r,u,this.touchStartHandler,t);manageListener(r,f,this.touchMoveHandler,t);if(s.interactivity.events.onClick.enable){manageListener(r,l,this.touchEndClickHandler,t);manageListener(r,h,this.mouseUpHandler,t);manageListener(r,c,this.mouseDownHandler,t)}else manageListener(r,l,this.touchEndHandler,t);manageListener(r,a,this.mouseLeaveHandler,t);manageListener(r,m,this.touchCancelHandler,t)}i.canvas.element&&(i.canvas.element.style.pointerEvents=w===i.canvas.element?\"initial\":\"none\");if(s.interactivity.events.resize)if(\"undefined\"!==typeof ResizeObserver){if(this.resizeObserver&&!t){i.canvas.element&&this.resizeObserver.unobserve(i.canvas.element);this.resizeObserver.disconnect();delete this.resizeObserver}else if(!this.resizeObserver&&t&&i.canvas.element){this.resizeObserver=new ResizeObserver((t=>{const e=t.find((t=>t.target===i.canvas.element));e&&this.handleWindowResize()}));this.resizeObserver.observe(i.canvas.element)}}else manageListener(window,g,this.resizeHandler,t);document&&manageListener(document,y,this.visibilityChangeHandler,t,false)}mouseDown(){const t=this.container.interactivity;if(t){const e=t.mouse;e.clicking=true;e.downPosition=e.position}}mouseTouchClick(t){const e=this.container,i=e.actualOptions,s=e.interactivity.mouse;s.inside=true;let o=false;const a=s.position;if(a&&i.interactivity.events.onClick.enable){for(const[,t]of e.plugins)if(t.clickPositionValid){o=t.clickPositionValid(a);if(o)break}o||this.doMouseTouchClick(t);s.clicking=false}}mouseTouchFinish(){const t=this.container.interactivity;if(!t)return;const e=t.mouse;delete e.position;delete e.clickPosition;delete e.downPosition;t.status=p;e.inside=false;e.clicking=false}mouseTouchMove(t){var e,i,s,o,a,n,r;const l=this.container,c=l.actualOptions;if(!(null===(e=l.interactivity)||void 0===e?void 0:e.element))return;l.interactivity.mouse.inside=true;let h;const u=l.canvas.element;if(t.type.startsWith(\"pointer\")){this.canPush=true;const e=t;if(l.interactivity.element===window){if(u){const t=u.getBoundingClientRect();h={x:e.clientX-t.left,y:e.clientY-t.top}}}else if(\"parent\"===c.interactivity.detectsOn){const t=e.target;const o=e.currentTarget;const a=l.canvas.element;if(t&&o&&a){const i=t.getBoundingClientRect();const s=o.getBoundingClientRect();const n=a.getBoundingClientRect();h={x:e.offsetX+2*i.left-(s.left+n.left),y:e.offsetY+2*i.top-(s.top+n.top)}}else h={x:null!==(i=e.offsetX)&&void 0!==i?i:e.clientX,y:null!==(s=e.offsetY)&&void 0!==s?s:e.clientY}}else e.target===l.canvas.element&&(h={x:null!==(o=e.offsetX)&&void 0!==o?o:e.clientX,y:null!==(a=e.offsetY)&&void 0!==a?a:e.clientY})}else{this.canPush=\"touchmove\"!==t.type;const e=t;const i=e.touches[e.touches.length-1];const s=null===u||void 0===u?void 0:u.getBoundingClientRect();h={x:i.clientX-(null!==(n=null===s||void 0===s?void 0:s.left)&&void 0!==n?n:0),y:i.clientY-(null!==(r=null===s||void 0===s?void 0:s.top)&&void 0!==r?r:0)}}const f=l.retina.pixelRatio;if(h){h.x*=f;h.y*=f}l.interactivity.mouse.position=h;l.interactivity.status=d}}class FrameManager{constructor(t){this.container=t}async nextFrame(t){var e;try{const i=this.container;if(void 0!==i.lastFrameTime&&t<i.lastFrameTime+1e3/i.fpsLimit){i.draw(false);return}null!==(e=i.lastFrameTime)&&void 0!==e?e:i.lastFrameTime=t;const s=t-i.lastFrameTime,o={value:s,factor:60*s/1e3};i.lifeTime+=o.value;i.lastFrameTime=t;if(s>1e3){i.draw(false);return}await i.particles.draw(o);if(i.duration>0&&i.lifeTime>i.duration){i.destroy();return}i.getAnimationStatus()&&i.draw(false)}catch(t){console.error(\"tsParticles error in animation loop\",t)}}}class OptionsColor{constructor(){this.value=\"\"}static create(t,e){const i=new OptionsColor;i.load(t);void 0!==e&&(\"string\"===typeof e||e instanceof Array?i.load({value:e}):i.load(e));return i}load(t){void 0!==(null===t||void 0===t?void 0:t.value)&&(this.value=t.value)}}class Background{constructor(){this.color=new OptionsColor;this.color.value=\"\";this.image=\"\";this.position=\"\";this.repeat=\"\";this.size=\"\";this.opacity=1}load(t){if(t){void 0!==t.color&&(this.color=OptionsColor.create(this.color,t.color));void 0!==t.image&&(this.image=t.image);void 0!==t.position&&(this.position=t.position);void 0!==t.repeat&&(this.repeat=t.repeat);void 0!==t.size&&(this.size=t.size);void 0!==t.opacity&&(this.opacity=t.opacity)}}}class BackgroundMaskCover{constructor(){this.color=new OptionsColor;this.color.value=\"#fff\";this.opacity=1}load(t){if(t){void 0!==t.color&&(this.color=OptionsColor.create(this.color,t.color));void 0!==t.opacity&&(this.opacity=t.opacity)}}}class BackgroundMask{constructor(){this.composite=\"destination-out\";this.cover=new BackgroundMaskCover;this.enable=false}load(t){if(t){void 0!==t.composite&&(this.composite=t.composite);if(void 0!==t.cover){const e=t.cover;const i=\"string\"===typeof t.cover?{color:t.cover}:t.cover;this.cover.load(void 0!==e.color?e:{color:i})}void 0!==t.enable&&(this.enable=t.enable)}}}class FullScreen{constructor(){this.enable=true;this.zIndex=0}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.zIndex&&(this.zIndex=t.zIndex)}}}class ClickEvent{constructor(){this.enable=false;this.mode=[]}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.mode&&(this.mode=t.mode)}}}class DivEvent{constructor(){this.selectors=[];this.enable=false;this.mode=[];this.type=\"circle\"}get el(){return this.elementId}set el(t){this.elementId=t}get elementId(){return this.ids}set elementId(t){this.ids=t}get ids(){return this.selectors instanceof Array?this.selectors.map((t=>t.replace(\"#\",\"\"))):this.selectors.replace(\"#\",\"\")}set ids(t){this.selectors=t instanceof Array?t.map((t=>`#${t}`)):`#${t}`}load(t){var e,i;if(!t)return;const s=null!==(i=null!==(e=t.ids)&&void 0!==e?e:t.elementId)&&void 0!==i?i:t.el;void 0!==s&&(this.ids=s);void 0!==t.selectors&&(this.selectors=t.selectors);void 0!==t.enable&&(this.enable=t.enable);void 0!==t.mode&&(this.mode=t.mode);void 0!==t.type&&(this.type=t.type)}}class Parallax{constructor(){this.enable=false;this.force=2;this.smooth=10}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.force&&(this.force=t.force);void 0!==t.smooth&&(this.smooth=t.smooth)}}}class HoverEvent{constructor(){this.enable=false;this.mode=[];this.parallax=new Parallax}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.mode&&(this.mode=t.mode);this.parallax.load(t.parallax)}}}class Events{constructor(){this.onClick=new ClickEvent;this.onDiv=new DivEvent;this.onHover=new HoverEvent;this.resize=true}get onclick(){return this.onClick}set onclick(t){this.onClick=t}get ondiv(){return this.onDiv}set ondiv(t){this.onDiv=t}get onhover(){return this.onHover}set onhover(t){this.onHover=t}load(t){var e,i,s;if(!t)return;this.onClick.load(null!==(e=t.onClick)&&void 0!==e?e:t.onclick);const o=null!==(i=t.onDiv)&&void 0!==i?i:t.ondiv;if(void 0!==o)if(o instanceof Array)this.onDiv=o.map((t=>{const e=new DivEvent;e.load(t);return e}));else{this.onDiv=new DivEvent;this.onDiv.load(o)}this.onHover.load(null!==(s=t.onHover)&&void 0!==s?s:t.onhover);void 0!==t.resize&&(this.resize=t.resize)}}class Slow{constructor(){this.factor=3;this.radius=200}load(t){if(t){void 0!==t.factor&&(this.factor=t.factor);void 0!==t.radius&&(this.radius=t.radius)}}}var T=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var S=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var E,O;class Modes{constructor(t,e){E.set(this,void 0);O.set(this,void 0);T(this,O,t,\"f\");T(this,E,e,\"f\");this.slow=new Slow}load(t){if(t){this.slow.load(t.slow);if(S(this,E,\"f\")){const e=S(this,O,\"f\").plugins.interactors.get(S(this,E,\"f\"));if(e)for(const i of e)i.loadModeOptions&&i.loadModeOptions(this,t)}}}}E=new WeakMap,O=new WeakMap;var V=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var A,I;class Interactivity{constructor(t,e){A.set(this,void 0);I.set(this,void 0);V(this,I,t,\"f\");V(this,A,e,\"f\");this.detectsOn=\"window\";this.events=new Events;this.modes=new Modes(t,e)}get detect_on(){return this.detectsOn}set detect_on(t){this.detectsOn=t}load(t){var e;if(!t)return;const i=null!==(e=t.detectsOn)&&void 0!==e?e:t.detect_on;void 0!==i&&(this.detectsOn=i);this.events.load(t.events);this.modes.load(t.modes)}}A=new WeakMap,I=new WeakMap;class ManualParticle{load(t){var e,i;if(t){void 0!==t.position&&(this.position={x:null!==(e=t.position.x)&&void 0!==e?e:50,y:null!==(i=t.position.y)&&void 0!==i?i:50});void 0!==t.options&&(this.options=deepExtend({},t.options))}}}class MotionReduce{constructor(){this.factor=4;this.value=true}load(t){if(t){void 0!==t.factor&&(this.factor=t.factor);void 0!==t.value&&(this.value=t.value)}}}class Motion{constructor(){this.disable=false;this.reduce=new MotionReduce}load(t){if(t){void 0!==t.disable&&(this.disable=t.disable);this.reduce.load(t.reduce)}}}class Responsive{constructor(){this.maxWidth=Infinity;this.options={};this.mode=\"canvas\"}load(t){if(t){void 0!==t.maxWidth&&(this.maxWidth=t.maxWidth);void 0!==t.mode&&(\"screen\"===t.mode?this.mode=\"screen\":this.mode=\"canvas\");void 0!==t.options&&(this.options=deepExtend({},t.options))}}}class ThemeDefault{constructor(){this.auto=false;this.mode=\"any\";this.value=false}load(t){if(t){void 0!==t.auto&&(this.auto=t.auto);void 0!==t.mode&&(this.mode=t.mode);void 0!==t.value&&(this.value=t.value)}}}class Theme{constructor(){this.name=\"\";this.default=new ThemeDefault}load(t){if(t){void 0!==t.name&&(this.name=t.name);this.default.load(t.default);void 0!==t.options&&(this.options=deepExtend({},t.options))}}}class ColorAnimation{constructor(){this.count=0;this.enable=false;this.offset=0;this.speed=1;this.decay=0;this.sync=true}load(t){if(t){void 0!==t.count&&(this.count=setRangeValue(t.count));void 0!==t.enable&&(this.enable=t.enable);void 0!==t.offset&&(this.offset=setRangeValue(t.offset));void 0!==t.speed&&(this.speed=setRangeValue(t.speed));void 0!==t.decay&&(this.decay=setRangeValue(t.decay));void 0!==t.sync&&(this.sync=t.sync)}}}class HslAnimation{constructor(){this.h=new ColorAnimation;this.s=new ColorAnimation;this.l=new ColorAnimation}load(t){if(t){this.h.load(t.h);this.s.load(t.s);this.l.load(t.l)}}}class AnimatableColor extends OptionsColor{constructor(){super();this.animation=new HslAnimation}static create(t,e){const i=new AnimatableColor;i.load(t);void 0!==e&&(\"string\"===typeof e||e instanceof Array?i.load({value:e}):i.load(e));return i}load(t){super.load(t);if(!t)return;const e=t.animation;void 0!==e&&(void 0!==e.enable?this.animation.h.load(e):this.animation.load(t.animation))}}class CollisionsOverlap{constructor(){this.enable=true;this.retries=0}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.retries&&(this.retries=t.retries)}}}class Random{constructor(){this.enable=false;this.minimumValue=0}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.minimumValue&&(this.minimumValue=t.minimumValue)}}}class ValueWithRandom{constructor(){this.random=new Random;this.value=0}load(t){if(t){\"boolean\"===typeof t.random?this.random.enable=t.random:this.random.load(t.random);void 0!==t.value&&(this.value=setRangeValue(t.value,this.random.enable?this.random.minimumValue:void 0))}}}class ParticlesBounceFactor extends ValueWithRandom{constructor(){super();this.random.minimumValue=.1;this.value=1}}class ParticlesBounce{constructor(){this.horizontal=new ParticlesBounceFactor;this.vertical=new ParticlesBounceFactor}load(t){if(t){this.horizontal.load(t.horizontal);this.vertical.load(t.vertical)}}}class Collisions{constructor(){this.bounce=new ParticlesBounce;this.enable=false;this.mode=\"bounce\";this.overlap=new CollisionsOverlap}load(t){if(t){this.bounce.load(t.bounce);void 0!==t.enable&&(this.enable=t.enable);void 0!==t.mode&&(this.mode=t.mode);this.overlap.load(t.overlap)}}}class SplitFactor extends ValueWithRandom{constructor(){super();this.value=3}}class SplitRate extends ValueWithRandom{constructor(){super();this.value={min:4,max:9}}}class Split{constructor(){this.count=1;this.factor=new SplitFactor;this.rate=new SplitRate;this.sizeOffset=true}load(t){if(t){void 0!==t.count&&(this.count=t.count);this.factor.load(t.factor);this.rate.load(t.rate);void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>deepExtend({},t))):this.particles=deepExtend({},t.particles));void 0!==t.sizeOffset&&(this.sizeOffset=t.sizeOffset)}}}class Destroy{constructor(){this.mode=\"none\";this.split=new Split}load(t){if(t){void 0!==t.mode&&(this.mode=t.mode);this.split.load(t.split)}}}class MoveAngle{constructor(){this.offset=0;this.value=90}load(t){if(t){void 0!==t.offset&&(this.offset=setRangeValue(t.offset));void 0!==t.value&&(this.value=setRangeValue(t.value))}}}class MoveAttract{constructor(){this.distance=200;this.enable=false;this.rotate={x:3e3,y:3e3}}get rotateX(){return this.rotate.x}set rotateX(t){this.rotate.x=t}get rotateY(){return this.rotate.y}set rotateY(t){this.rotate.y=t}load(t){var e,i,s,o;if(!t)return;void 0!==t.distance&&(this.distance=setRangeValue(t.distance));void 0!==t.enable&&(this.enable=t.enable);const a=null!==(i=null===(e=t.rotate)||void 0===e?void 0:e.x)&&void 0!==i?i:t.rotateX;void 0!==a&&(this.rotate.x=a);const n=null!==(o=null===(s=t.rotate)||void 0===s?void 0:s.y)&&void 0!==o?o:t.rotateY;void 0!==n&&(this.rotate.y=n)}}class MoveGravity{constructor(){this.acceleration=9.81;this.enable=false;this.inverse=false;this.maxSpeed=50}load(t){if(t){void 0!==t.acceleration&&(this.acceleration=setRangeValue(t.acceleration));void 0!==t.enable&&(this.enable=t.enable);void 0!==t.inverse&&(this.inverse=t.inverse);void 0!==t.maxSpeed&&(this.maxSpeed=setRangeValue(t.maxSpeed))}}}class MovePathDelay extends ValueWithRandom{constructor(){super()}}class MovePath{constructor(){this.clamp=true;this.delay=new MovePathDelay;this.enable=false;this.options={}}load(t){if(t){void 0!==t.clamp&&(this.clamp=t.clamp);this.delay.load(t.delay);void 0!==t.enable&&(this.enable=t.enable);this.generator=t.generator;t.options&&(this.options=deepExtend(this.options,t.options))}}}class MoveTrail{constructor(){this.enable=false;this.length=10;this.fillColor=new OptionsColor;this.fillColor.value=\"#000000\"}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);this.fillColor=OptionsColor.create(this.fillColor,t.fillColor);void 0!==t.length&&(this.length=t.length)}}}class OutModes{constructor(){this.default=\"out\"}load(t){var e,i,s,o;if(t){void 0!==t.default&&(this.default=t.default);this.bottom=null!==(e=t.bottom)&&void 0!==e?e:t.default;this.left=null!==(i=t.left)&&void 0!==i?i:t.default;this.right=null!==(s=t.right)&&void 0!==s?s:t.default;this.top=null!==(o=t.top)&&void 0!==o?o:t.default}}}class Spin{constructor(){this.acceleration=0;this.enable=false}load(t){if(t){void 0!==t.acceleration&&(this.acceleration=setRangeValue(t.acceleration));void 0!==t.enable&&(this.enable=t.enable);this.position=t.position?deepExtend({},t.position):void 0}}}class Move{constructor(){this.angle=new MoveAngle;this.attract=new MoveAttract;this.center={x:50,y:50,radius:0};this.decay=0;this.distance={};this.direction=\"none\";this.drift=0;this.enable=false;this.gravity=new MoveGravity;this.path=new MovePath;this.outModes=new OutModes;this.random=false;this.size=false;this.speed=2;this.spin=new Spin;this.straight=false;this.trail=new MoveTrail;this.vibrate=false;this.warp=false}get bounce(){return this.collisions}set bounce(t){this.collisions=t}get collisions(){return false}set collisions(t){}get noise(){return this.path}set noise(t){this.path=t}get outMode(){return this.outModes.default}set outMode(t){this.outModes.default=t}get out_mode(){return this.outMode}set out_mode(t){this.outMode=t}load(t){var e,i,s;if(!t)return;void 0!==t.angle&&(\"number\"===typeof t.angle?this.angle.value=t.angle:this.angle.load(t.angle));this.attract.load(t.attract);this.center=deepExtend(this.center,t.center);void 0!==t.decay&&(this.decay=t.decay);void 0!==t.direction&&(this.direction=t.direction);void 0!==t.distance&&(this.distance=\"number\"===typeof t.distance?{horizontal:t.distance,vertical:t.distance}:deepExtend({},t.distance));void 0!==t.drift&&(this.drift=setRangeValue(t.drift));void 0!==t.enable&&(this.enable=t.enable);this.gravity.load(t.gravity);const o=null!==(e=t.outMode)&&void 0!==e?e:t.out_mode;void 0===t.outModes&&void 0===o||(\"string\"===typeof t.outModes||void 0===t.outModes&&void 0!==o?this.outModes.load({default:null!==(i=t.outModes)&&void 0!==i?i:o}):this.outModes.load(t.outModes));this.path.load(null!==(s=t.path)&&void 0!==s?s:t.noise);void 0!==t.random&&(this.random=t.random);void 0!==t.size&&(this.size=t.size);void 0!==t.speed&&(this.speed=setRangeValue(t.speed));this.spin.load(t.spin);void 0!==t.straight&&(this.straight=t.straight);this.trail.load(t.trail);void 0!==t.vibrate&&(this.vibrate=t.vibrate);void 0!==t.warp&&(this.warp=t.warp)}}class AnimationOptions{constructor(){this.count=0;this.enable=false;this.speed=1;this.decay=0;this.sync=false}load(t){if(t){void 0!==t.count&&(this.count=setRangeValue(t.count));void 0!==t.enable&&(this.enable=t.enable);void 0!==t.speed&&(this.speed=setRangeValue(t.speed));void 0!==t.decay&&(this.decay=setRangeValue(t.decay));void 0!==t.sync&&(this.sync=t.sync)}}}class OpacityAnimation extends AnimationOptions{constructor(){super();this.destroy=\"none\";this.enable=false;this.speed=2;this.startValue=\"random\";this.sync=false}get opacity_min(){return this.minimumValue}set opacity_min(t){this.minimumValue=t}load(t){var e;if(t){super.load(t);void 0!==t.destroy&&(this.destroy=t.destroy);void 0!==t.enable&&(this.enable=t.enable);this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.opacity_min;void 0!==t.speed&&(this.speed=t.speed);void 0!==t.startValue&&(this.startValue=t.startValue);void 0!==t.sync&&(this.sync=t.sync)}}}class Opacity extends ValueWithRandom{constructor(){super();this.animation=new OpacityAnimation;this.random.minimumValue=.1;this.value=1}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;if(!t)return;super.load(t);const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;if(void 0!==i){this.animation.load(i);this.value=setRangeValue(this.value,this.animation.enable?this.animation.minimumValue:void 0)}}}class ParticlesDensity{constructor(){this.enable=false;this.area=800;this.factor=1e3}get value_area(){return this.area}set value_area(t){this.area=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.area)&&void 0!==e?e:t.value_area;void 0!==i&&(this.area=i);void 0!==t.factor&&(this.factor=t.factor)}}class ParticlesNumber{constructor(){this.density=new ParticlesDensity;this.limit=0;this.value=100}get max(){return this.limit}set max(t){this.limit=t}load(t){var e;if(!t)return;this.density.load(t.density);const i=null!==(e=t.limit)&&void 0!==e?e:t.max;void 0!==i&&(this.limit=i);void 0!==t.value&&(this.value=t.value)}}class RotateAnimation{constructor(){this.enable=false;this.speed=0;this.decay=0;this.sync=false}load(t){if(t){void 0!==t.enable&&(this.enable=t.enable);void 0!==t.speed&&(this.speed=setRangeValue(t.speed));void 0!==t.decay&&(this.decay=setRangeValue(t.decay));void 0!==t.sync&&(this.sync=t.sync)}}}class Rotate extends ValueWithRandom{constructor(){super();this.animation=new RotateAnimation;this.direction=\"clockwise\";this.path=false;this.value=0}load(t){if(t){super.load(t);void 0!==t.direction&&(this.direction=t.direction);this.animation.load(t.animation);void 0!==t.path&&(this.path=t.path)}}}class Shadow{constructor(){this.blur=0;this.color=new OptionsColor;this.enable=false;this.offset={x:0,y:0};this.color.value=\"#000\"}load(t){if(t){void 0!==t.blur&&(this.blur=t.blur);this.color=OptionsColor.create(this.color,t.color);void 0!==t.enable&&(this.enable=t.enable);if(void 0!==t.offset){void 0!==t.offset.x&&(this.offset.x=t.offset.x);void 0!==t.offset.y&&(this.offset.y=t.offset.y)}}}}class Shape{constructor(){this.options={};this.type=\"circle\"}get character(){var t;return null!==(t=this.options.character)&&void 0!==t?t:this.options.char}set character(t){this.options.character=t;this.options.char=t}get custom(){return this.options}set custom(t){this.options=t}get image(){var t;return null!==(t=this.options.image)&&void 0!==t?t:this.options.images}set image(t){this.options.image=t;this.options.images=t}get images(){return this.image}set images(t){this.image=t}get polygon(){var t;return null!==(t=this.options.polygon)&&void 0!==t?t:this.options.star}set polygon(t){this.options.polygon=t;this.options.star=t}get stroke(){return[]}set stroke(t){}load(t){var e,i,s;if(!t)return;const o=null!==(e=t.options)&&void 0!==e?e:t.custom;if(void 0!==o)for(const t in o){const e=o[t];e&&(this.options[t]=deepExtend(null!==(i=this.options[t])&&void 0!==i?i:{},e))}this.loadShape(t.character,\"character\",\"char\",true);this.loadShape(t.polygon,\"polygon\",\"star\",false);this.loadShape(null!==(s=t.image)&&void 0!==s?s:t.images,\"image\",\"images\",true);void 0!==t.type&&(this.type=t.type)}loadShape(t,e,i,s){var o,a;if(!t)return;const n=t instanceof Array?[]:{},r=t instanceof Array!==this.options[e]instanceof Array,l=t instanceof Array!==this.options[i]instanceof Array;r&&(this.options[e]=n);l&&s&&(this.options[i]=n);this.options[e]=deepExtend(null!==(o=this.options[e])&&void 0!==o?o:n,t);this.options[i]&&!s||(this.options[i]=deepExtend(null!==(a=this.options[i])&&void 0!==a?a:n,t))}}class SizeAnimation extends AnimationOptions{constructor(){super();this.destroy=\"none\";this.enable=false;this.speed=5;this.startValue=\"random\";this.sync=false}get size_min(){return this.minimumValue}set size_min(t){this.minimumValue=t}load(t){var e;super.load(t);if(t){void 0!==t.destroy&&(this.destroy=t.destroy);void 0!==t.enable&&(this.enable=t.enable);this.minimumValue=null!==(e=t.minimumValue)&&void 0!==e?e:t.size_min;void 0!==t.speed&&(this.speed=t.speed);void 0!==t.startValue&&(this.startValue=t.startValue);void 0!==t.sync&&(this.sync=t.sync)}}}class Size extends ValueWithRandom{constructor(){super();this.animation=new SizeAnimation;this.random.minimumValue=1;this.value=3}get anim(){return this.animation}set anim(t){this.animation=t}load(t){var e;super.load(t);if(!t)return;const i=null!==(e=t.animation)&&void 0!==e?e:t.anim;if(void 0!==i){this.animation.load(i);this.value=setRangeValue(this.value,this.animation.enable?this.animation.minimumValue:void 0)}}}class Stroke{constructor(){this.width=0}load(t){if(t){void 0!==t.color&&(this.color=AnimatableColor.create(this.color,t.color));void 0!==t.width&&(this.width=t.width);void 0!==t.opacity&&(this.opacity=t.opacity)}}}class ZIndex extends ValueWithRandom{constructor(){super();this.opacityRate=1;this.sizeRate=1;this.velocityRate=1}load(t){super.load(t);if(t){void 0!==t.opacityRate&&(this.opacityRate=t.opacityRate);void 0!==t.sizeRate&&(this.sizeRate=t.sizeRate);void 0!==t.velocityRate&&(this.velocityRate=t.velocityRate)}}}var F=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var D=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var L,H;class ParticlesOptions{constructor(t,e){L.set(this,void 0);H.set(this,void 0);F(this,H,t,\"f\");F(this,L,e,\"f\");this.bounce=new ParticlesBounce;this.collisions=new Collisions;this.color=new AnimatableColor;this.color.value=\"#fff\";this.destroy=new Destroy;this.groups={};this.move=new Move;this.number=new ParticlesNumber;this.opacity=new Opacity;this.reduceDuplicates=false;this.rotate=new Rotate;this.shadow=new Shadow;this.shape=new Shape;this.size=new Size;this.stroke=new Stroke;this.zIndex=new ZIndex}load(t){var e,i,s,o,a,n;if(!t)return;this.bounce.load(t.bounce);this.color.load(AnimatableColor.create(this.color,t.color));this.destroy.load(t.destroy);if(void 0!==t.groups)for(const i in t.groups){const s=t.groups[i];void 0!==s&&(this.groups[i]=deepExtend(null!==(e=this.groups[i])&&void 0!==e?e:{},s))}this.move.load(t.move);this.number.load(t.number);this.opacity.load(t.opacity);void 0!==t.reduceDuplicates&&(this.reduceDuplicates=t.reduceDuplicates);this.rotate.load(t.rotate);this.shape.load(t.shape);this.size.load(t.size);this.shadow.load(t.shadow);this.zIndex.load(t.zIndex);const r=null!==(s=null===(i=t.move)||void 0===i?void 0:i.collisions)&&void 0!==s?s:null===(o=t.move)||void 0===o?void 0:o.bounce;void 0!==r&&(this.collisions.enable=r);this.collisions.load(t.collisions);void 0!==t.interactivity&&(this.interactivity=deepExtend({},t.interactivity));const l=null!==(a=t.stroke)&&void 0!==a?a:null===(n=t.shape)||void 0===n?void 0:n.stroke;if(l)if(l instanceof Array)this.stroke=l.map((t=>{const e=new Stroke;e.load(t);return e}));else{this.stroke instanceof Array&&(this.stroke=new Stroke);this.stroke.load(l)}if(D(this,L,\"f\")){const e=D(this,H,\"f\").plugins.updaters.get(D(this,L,\"f\"));if(e)for(const i of e)i.loadOptions&&i.loadOptions(this,t);const i=D(this,H,\"f\").plugins.interactors.get(D(this,L,\"f\"));if(i)for(const e of i)e.loadParticlesOptions&&e.loadParticlesOptions(this,t)}}}L=new WeakMap,H=new WeakMap;function loadOptions(t,...e){for(const i of e)t.load(i)}function loadParticlesOptions(t,e,...i){const s=new ParticlesOptions(t,e);loadOptions(s,...i);return s}var W=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var B=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var q,j,_,G;class Options{constructor(t,e){q.add(this);j.set(this,void 0);_.set(this,void 0);W(this,_,t,\"f\");W(this,j,e,\"f\");this.autoPlay=true;this.background=new Background;this.backgroundMask=new BackgroundMask;this.fullScreen=new FullScreen;this.detectRetina=true;this.duration=0;this.fpsLimit=120;this.interactivity=new Interactivity(t,e);this.manualParticles=[];this.motion=new Motion;this.particles=loadParticlesOptions(B(this,_,\"f\"),B(this,j,\"f\"));this.pauseOnBlur=true;this.pauseOnOutsideViewport=true;this.responsive=[];this.style={};this.themes=[];this.zLayers=100}get backgroundMode(){return this.fullScreen}set backgroundMode(t){this.fullScreen.load(t)}get fps_limit(){return this.fpsLimit}set fps_limit(t){this.fpsLimit=t}get retina_detect(){return this.detectRetina}set retina_detect(t){this.detectRetina=t}load(t){var e,i,s,o,a;if(!t)return;if(void 0!==t.preset)if(t.preset instanceof Array)for(const e of t.preset)this.importPreset(e);else this.importPreset(t.preset);void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay);const n=null!==(e=t.detectRetina)&&void 0!==e?e:t.retina_detect;void 0!==n&&(this.detectRetina=n);void 0!==t.duration&&(this.duration=t.duration);const r=null!==(i=t.fpsLimit)&&void 0!==i?i:t.fps_limit;void 0!==r&&(this.fpsLimit=r);void 0!==t.pauseOnBlur&&(this.pauseOnBlur=t.pauseOnBlur);void 0!==t.pauseOnOutsideViewport&&(this.pauseOnOutsideViewport=t.pauseOnOutsideViewport);void 0!==t.zLayers&&(this.zLayers=t.zLayers);this.background.load(t.background);const l=null!==(s=t.fullScreen)&&void 0!==s?s:t.backgroundMode;\"boolean\"===typeof l?this.fullScreen.enable=l:this.fullScreen.load(l);this.backgroundMask.load(t.backgroundMask);this.interactivity.load(t.interactivity);void 0!==t.manualParticles&&(this.manualParticles=t.manualParticles.map((t=>{const e=new ManualParticle;e.load(t);return e})));this.motion.load(t.motion);this.particles.load(t.particles);this.style=deepExtend(this.style,t.style);B(this,_,\"f\").plugins.loadOptions(this,t);const c=B(this,_,\"f\").plugins.interactors.get(B(this,j,\"f\"));if(c)for(const e of c)e.loadOptions&&e.loadOptions(this,t);if(void 0!==t.responsive)for(const e of t.responsive){const t=new Responsive;t.load(e);this.responsive.push(t)}this.responsive.sort(((t,e)=>t.maxWidth-e.maxWidth));if(void 0!==t.themes)for(const e of t.themes){const t=new Theme;t.load(e);this.themes.push(t)}this.defaultDarkTheme=null===(o=B(this,q,\"m\",G).call(this,\"dark\"))||void 0===o?void 0:o.name;this.defaultLightTheme=null===(a=B(this,q,\"m\",G).call(this,\"light\"))||void 0===a?void 0:a.name}setResponsive(t,e,i){this.load(i);const s=this.responsive.find((i=>\"screen\"===i.mode&&screen?i.maxWidth>screen.availWidth:i.maxWidth*e>t));this.load(null===s||void 0===s?void 0:s.options);return null===s||void 0===s?void 0:s.maxWidth}setTheme(t){if(t){const e=this.themes.find((e=>e.name===t));e&&this.load(e.options)}else{const t=\"undefined\"!==typeof matchMedia&&matchMedia(\"(prefers-color-scheme: dark)\"),e=t&&t.matches,i=B(this,q,\"m\",G).call(this,e?\"dark\":\"light\");i&&this.load(i.options)}}importPreset(t){this.load(B(this,_,\"f\").plugins.getPreset(t))}}j=new WeakMap,_=new WeakMap,q=new WeakSet,G=function _Options_findDefaultTheme(t){var e;return null!==(e=this.themes.find((e=>e.default.value&&e.default.mode===t)))&&void 0!==e?e:this.themes.find((t=>t.default.value&&\"any\"===t.default.mode))};var $=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var N=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var U,X;class InteractionManager{constructor(t,e){this.container=e;U.set(this,void 0);X.set(this,void 0);$(this,U,t,\"f\");$(this,X,N(this,U,\"f\").plugins.getInteractors(this.container,true),\"f\");this.externalInteractors=[];this.particleInteractors=[]}async externalInteract(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.interact(t)}handleClickMode(t){for(const e of this.externalInteractors)e.handleClickMode&&e.handleClickMode(t)}init(){this.externalInteractors=[];this.particleInteractors=[];for(const t of N(this,X,\"f\")){switch(t.type){case 0:this.externalInteractors.push(t);break;case 1:this.particleInteractors.push(t);break}t.init()}}async particlesInteract(t,e){for(const e of this.externalInteractors)e.clear(t);for(const i of this.particleInteractors)i.isEnabled(t)&&await i.interact(t,e)}async reset(t){for(const e of this.externalInteractors)e.isEnabled()&&await e.reset(t);for(const e of this.particleInteractors)e.isEnabled(t)&&await e.reset(t)}}U=new WeakMap,X=new WeakMap;class Vector3d extends Vector{constructor(t,e,i){super(t,e);if(\"number\"!==typeof t&&t)this.z=t.z;else{if(void 0===i)throw new Error(\"tsParticles - Vector not initialized correctly\");this.z=i}}static get origin(){return Vector3d.create(0,0,0)}static clone(t){return Vector3d.create(t.x,t.y,t.z)}static create(t,e,i){return new Vector3d(t,e,i)}add(t){return t instanceof Vector3d?Vector3d.create(this.x+t.x,this.y+t.y,this.z+t.z):super.add(t)}addTo(t){super.addTo(t);t instanceof Vector3d&&(this.z+=t.z)}copy(){return Vector3d.clone(this)}div(t){return Vector3d.create(this.x/t,this.y/t,this.z/t)}divTo(t){super.divTo(t);this.z/=t}mult(t){return Vector3d.create(this.x*t,this.y*t,this.z*t)}multTo(t){super.multTo(t);this.z*=t}setTo(t){super.setTo(t);const e=t;void 0!==e.z&&(this.z=e.z)}sub(t){return t instanceof Vector3d?Vector3d.create(this.x-t.x,this.y-t.y,this.z-t.z):super.sub(t)}subFrom(t){super.subFrom(t);t instanceof Vector3d&&(this.z-=t.z)}}var Y=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var Q=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var J;const fixOutMode=t=>{(isInArray(t.outMode,t.checkModes)||isInArray(t.outMode,t.checkModes))&&(t.coord>t.maxCoord-2*t.radius?t.setCb(-t.radius):t.coord<2*t.radius&&t.setCb(t.radius))};class Particle{constructor(t,e,i,s,o,a){var n,r,l,c,h,d,u,f,p;this.id=e;this.container=i;this.group=a;J.set(this,void 0);Y(this,J,t,\"f\");this.fill=true;this.close=true;this.lastPathTime=0;this.destroyed=false;this.unbreakable=false;this.splitCount=0;this.rotation=0;this.misplaced=false;this.retina={maxDistance:{}};this.outType=\"normal\";this.ignoresResizeRatio=true;const v=i.retina.pixelRatio,m=i.actualOptions,g=loadParticlesOptions(Q(this,J,\"f\"),i,m.particles);const y=g.shape.type,w=g.reduceDuplicates;this.shape=y instanceof Array?itemFromArray(y,this.id,w):y;if(null===o||void 0===o?void 0:o.shape){if(o.shape.type){const t=o.shape.type;this.shape=t instanceof Array?itemFromArray(t,this.id,w):t}const t=new Shape;t.load(o.shape);this.shape&&(this.shapeData=this.loadShapeData(t,w))}else this.shapeData=this.loadShapeData(g.shape,w);g.load(o);g.load(null===(n=this.shapeData)||void 0===n?void 0:n.particles);this.interactivity=new Interactivity(t,i);this.interactivity.load(i.actualOptions.interactivity);this.interactivity.load(g.interactivity);this.fill=null!==(l=null===(r=this.shapeData)||void 0===r?void 0:r.fill)&&void 0!==l?l:this.fill;this.close=null!==(h=null===(c=this.shapeData)||void 0===c?void 0:c.close)&&void 0!==h?h:this.close;this.options=g;const b=this.options.move.path;this.pathDelay=1e3*getValue(b.delay);if(b.generator){this.pathGenerator=Q(this,J,\"f\").plugins.getPathGenerator(b.generator);this.pathGenerator&&i.addPath(b.generator,this.pathGenerator)&&this.pathGenerator.init(i)}const x=getRangeValue(this.options.zIndex.value);i.retina.initParticle(this);const R=this.options.size,M=R.value,C=R.animation;this.size={enable:R.animation.enable,value:getRangeValue(R.value)*i.retina.pixelRatio,max:getRangeMax(M)*v,min:getRangeMin(M)*v,loops:0,maxLoops:getRangeValue(R.animation.count)};if(C.enable){this.size.status=0;this.size.decay=1-getRangeValue(C.decay);switch(C.startValue){case\"min\":this.size.value=this.size.min;this.size.status=0;break;case\"random\":this.size.value=randomInRange(this.size)*v;this.size.status=getRandom()>=.5?0:1;break;case\"max\":default:this.size.value=this.size.max;this.size.status=1;break}this.size.velocity=(null!==(d=this.retina.sizeAnimationSpeed)&&void 0!==d?d:i.retina.sizeAnimationSpeed)/100*i.retina.reduceFactor;C.sync||(this.size.velocity*=getRandom())}this.bubble={inRange:false};this.position=this.calcPosition(i,s,clamp(x,0,i.zLayers));this.initialPosition=this.position.copy();const P=i.canvas.size,z=this.options.move.center;this.moveCenter={x:P.width*z.x/100,y:P.height*z.y/100,radius:this.options.move.center.radius};this.direction=getParticleDirectionAngle(this.options.move.direction,this.position,this.moveCenter);switch(this.options.move.direction){case\"inside\":this.outType=\"inside\";break;case\"outside\":this.outType=\"outside\";break}this.initialVelocity=this.calculateVelocity();this.velocity=this.initialVelocity.copy();this.moveDecay=1-getRangeValue(this.options.move.decay);this.offset=Vector.origin;const k=i.particles;k.needsSort=k.needsSort||k.lastZIndex<this.position.z;k.lastZIndex=this.position.z;this.zIndexFactor=this.position.z/i.zLayers;this.sides=24;let T=i.drawers.get(this.shape);if(!T){T=Q(this,J,\"f\").plugins.getShapeDrawer(this.shape);T&&i.drawers.set(this.shape,T)}(null===T||void 0===T?void 0:T.loadShape)&&(null===T||void 0===T?void 0:T.loadShape(this));const S=null===T||void 0===T?void 0:T.getSidesCount;S&&(this.sides=S(this));this.spawning=false;this.shadowColor=rangeColorToRgb(this.options.shadow.color);for(const t of i.particles.updaters)null===(u=t.init)||void 0===u?void 0:u.call(t,this);for(const t of i.particles.movers)null===(f=t.init)||void 0===f?void 0:f.call(t,this);(null===T||void 0===T?void 0:T.particleInit)&&T.particleInit(i,this);for(const[,t]of i.plugins)null===(p=t.particleCreated)||void 0===p?void 0:p.call(t,this)}destroy(t){if(this.unbreakable||this.destroyed)return;this.destroyed=true;this.bubble.inRange=false;for(const[,e]of this.container.plugins)e.particleDestroyed&&e.particleDestroyed(this,t);if(t)return;const e=this.options.destroy;\"split\"===e.mode&&this.split()}draw(t){const e=this.container;for(const[,i]of e.plugins)e.canvas.drawParticlePlugin(i,this,t);e.canvas.drawParticle(this,t)}getFillColor(){var t,e;const i=null!==(t=this.bubble.color)&&void 0!==t?t:getHslFromAnimation(this.color);if(i&&this.roll&&(this.backColor||this.roll.alter)){const t=this.roll.horizontal&&this.roll.vertical?2:1,s=this.roll.horizontal?Math.PI/2:0,o=Math.floor(((null!==(e=this.roll.angle)&&void 0!==e?e:0)+s)/(Math.PI/t))%2;if(o){if(this.backColor)return this.backColor;if(this.roll.alter)return alterHsl(i,this.roll.alter.type,this.roll.alter.value)}}return i}getMass(){return this.getRadius()**2*Math.PI/2}getPosition(){return{x:this.position.x+this.offset.x,y:this.position.y+this.offset.y,z:this.position.z}}getRadius(){var t;return null!==(t=this.bubble.radius)&&void 0!==t?t:this.size.value}getStrokeColor(){var t,e;return null!==(e=null!==(t=this.bubble.color)&&void 0!==t?t:getHslFromAnimation(this.strokeColor))&&void 0!==e?e:this.getFillColor()}isInsideCanvas(){const t=this.getRadius(),e=this.container.canvas.size;return this.position.x>=-t&&this.position.y>=-t&&this.position.y<=e.height+t&&this.position.x<=e.width+t}isVisible(){return!this.destroyed&&!this.spawning&&this.isInsideCanvas()}reset(){this.opacity&&(this.opacity.loops=0);this.size.loops=0}calcPosition(t,e,i,s=0){var o,a,n,r;for(const[,s]of t.plugins){const t=void 0!==s.particlePosition?s.particlePosition(e,this):void 0;if(void 0!==t)return Vector3d.create(t.x,t.y,i)}const l=t.canvas.size,c=calcExactPositionOrRandomFromSize({size:l,position:e}),h=Vector3d.create(c.x,c.y,i),d=this.getRadius(),u=this.options.move.outModes,fixHorizontal=e=>{fixOutMode({outMode:e,checkModes:[\"bounce\",\"bounce-horizontal\"],coord:h.x,maxCoord:t.canvas.size.width,setCb:t=>h.x+=t,radius:d})},fixVertical=e=>{fixOutMode({outMode:e,checkModes:[\"bounce\",\"bounce-vertical\"],coord:h.y,maxCoord:t.canvas.size.height,setCb:t=>h.y+=t,radius:d})};fixHorizontal(null!==(o=u.left)&&void 0!==o?o:u.default);fixHorizontal(null!==(a=u.right)&&void 0!==a?a:u.default);fixVertical(null!==(n=u.top)&&void 0!==n?n:u.default);fixVertical(null!==(r=u.bottom)&&void 0!==r?r:u.default);return this.checkOverlap(h,s)?this.calcPosition(t,void 0,i,s+1):h}calculateVelocity(){const t=getParticleBaseVelocity(this.direction);const e=t.copy();const i=this.options.move;if(\"inside\"===i.direction||\"outside\"===i.direction)return e;const s=Math.PI/180*getRangeValue(i.angle.value);const o=Math.PI/180*getRangeValue(i.angle.offset);const a={left:o-s/2,right:o+s/2};i.straight||(e.angle+=randomInRange(setRangeValue(a.left,a.right)));i.random&&\"number\"===typeof i.speed&&(e.length*=getRandom());return e}checkOverlap(t,e=0){const i=this.options.collisions,s=this.getRadius();if(!i.enable)return false;const o=i.overlap;if(o.enable)return false;const a=o.retries;if(a>=0&&e>a)throw new Error(\"Particle is overlapping and can't be placed\");let n=false;for(const e of this.container.particles.array)if(getDistance(t,e.position)<s+e.getRadius()){n=true;break}return n}loadShapeData(t,e){const i=t.options[this.shape];if(i)return deepExtend({},i instanceof Array?itemFromArray(i,this.id,e):i)}split(){const t=this.options.destroy.split;if(t.count>=0&&this.splitCount++>t.count)return;const e=getValue(t.rate),i=t.particles instanceof Array?itemFromArray(t.particles):t.particles;for(let t=0;t<e;t++)this.container.particles.addSplitParticle(this,i)}}J=new WeakMap;class Point{constructor(t,e){this.position=t;this.particle=e}}class Range{constructor(t,e){this.position={x:t,y:e}}}class Circle extends Range{constructor(t,e,i){super(t,e);this.radius=i}contains(t){return getDistance(t,this.position)<=this.radius}intersects(t){const e=t,i=t,s=this.position,o=t.position,a=Math.abs(o.x-s.x),n=Math.abs(o.y-s.y),r=this.radius;if(void 0!==i.radius){const t=r+i.radius,e=Math.sqrt(a*a+n+n);return t>e}if(void 0!==e.size){const t=e.size.width,i=e.size.height,s=Math.pow(a-t,2)+Math.pow(n-i,2);return!(a>r+t||n>r+i)&&(a<=t||n<=i||s<=r*r)}return false}}class Rectangle extends Range{constructor(t,e,i,s){super(t,e);this.size={height:s,width:i}}contains(t){const e=this.size.width,i=this.size.height,s=this.position;return t.x>=s.x&&t.x<=s.x+e&&t.y>=s.y&&t.y<=s.y+i}intersects(t){const e=t,i=t,s=this.size.width,o=this.size.height,a=this.position,n=t.position;if(void 0!==i.radius)return i.intersects(this);if(!e.size)return false;const r=e.size,l=r.width,c=r.height;return n.x<a.x+s&&n.x+l>a.x&&n.y<a.y+o&&n.y+c>a.y}}class CircleWarp extends Circle{constructor(t,e,i,s){super(t,e,i);this.canvasSize=s;this.canvasSize=Object.assign({},s)}contains(t){if(super.contains(t))return true;const e={x:t.x-this.canvasSize.width,y:t.y};if(super.contains(e))return true;const i={x:t.x-this.canvasSize.width,y:t.y-this.canvasSize.height};if(super.contains(i))return true;const s={x:t.x,y:t.y-this.canvasSize.height};return super.contains(s)}intersects(t){if(super.intersects(t))return true;const e=t,i=t,s={x:t.position.x-this.canvasSize.width,y:t.position.y-this.canvasSize.height};if(void 0!==i.radius){const t=new Circle(s.x,s.y,2*i.radius);return super.intersects(t)}if(void 0!==e.size){const t=new Rectangle(s.x,s.y,2*e.size.width,2*e.size.height);return super.intersects(t)}return false}}class QuadTree{constructor(t,e){this.rectangle=t;this.capacity=e;this.points=[];this.divided=false}insert(t){var e,i,s,o,a;if(!this.rectangle.contains(t.position))return false;if(this.points.length<this.capacity){this.points.push(t);return true}this.divided||this.subdivide();return null!==(a=(null===(e=this.northEast)||void 0===e?void 0:e.insert(t))||(null===(i=this.northWest)||void 0===i?void 0:i.insert(t))||(null===(s=this.southEast)||void 0===s?void 0:s.insert(t))||(null===(o=this.southWest)||void 0===o?void 0:o.insert(t)))&&void 0!==a&&a}query(t,e,i){var s,o,a,n;const r=null!==i&&void 0!==i?i:[];if(!t.intersects(this.rectangle))return[];for(const i of this.points)!t.contains(i.position)&&getDistance(t.position,i.position)>i.particle.getRadius()&&(!e||e(i.particle))||r.push(i.particle);if(this.divided){null===(s=this.northEast)||void 0===s?void 0:s.query(t,e,r);null===(o=this.northWest)||void 0===o?void 0:o.query(t,e,r);null===(a=this.southEast)||void 0===a?void 0:a.query(t,e,r);null===(n=this.southWest)||void 0===n?void 0:n.query(t,e,r)}return r}queryCircle(t,e,i){return this.query(new Circle(t.x,t.y,e),i)}queryCircleWarp(t,e,i,s){const o=i,a=i;return this.query(new CircleWarp(t.x,t.y,e,void 0!==o.canvas?o.canvas.size:a),s)}queryRectangle(t,e,i){return this.query(new Rectangle(t.x,t.y,e.width,e.height),i)}subdivide(){const t=this.rectangle.position.x,e=this.rectangle.position.y,i=this.rectangle.size.width,s=this.rectangle.size.height,o=this.capacity;this.northEast=new QuadTree(new Rectangle(t,e,i/2,s/2),o);this.northWest=new QuadTree(new Rectangle(t+i/2,e,i/2,s/2),o);this.southEast=new QuadTree(new Rectangle(t,e+s/2,i/2,s/2),o);this.southWest=new QuadTree(new Rectangle(t+i/2,e+s/2,i/2,s/2),o);this.divided=true}}var Z=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var K=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var tt;class Particles{constructor(t,e){this.container=e;tt.set(this,void 0);Z(this,tt,t,\"f\");this.nextId=0;this.array=[];this.zArray=[];this.limit=0;this.needsSort=false;this.lastZIndex=0;this.freqs={links:new Map,triangles:new Map};this.interactionManager=new InteractionManager(K(this,tt,\"f\"),e);const i=this.container.canvas.size;this.quadTree=new QuadTree(new Rectangle(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4);this.movers=K(this,tt,\"f\").plugins.getMovers(e,true);this.updaters=K(this,tt,\"f\").plugins.getUpdaters(e,true)}get count(){return this.array.length}addManualParticles(){const t=this.container,e=t.actualOptions;for(const i of e.manualParticles)this.addParticle(calcPositionFromSize({size:t.canvas.size,position:i.position}),i.options)}addParticle(t,e,i){const s=this.container,o=s.actualOptions,a=o.particles.number.limit;if(a>0){const t=this.count+1-a;t>0&&this.removeQuantity(t)}return this.pushParticle(t,e,i)}addSplitParticle(t,e){const i=t.options.destroy.split,s=loadParticlesOptions(K(this,tt,\"f\"),this.container,t.options),o=getValue(i.factor);s.color.load({value:{hsl:t.getFillColor()}});if(\"number\"===typeof s.size.value)s.size.value/=o;else{s.size.value.min/=o;s.size.value.max/=o}s.load(e);const a=i.sizeOffset?setRangeValue(-t.size.value,t.size.value):0,n={x:t.position.x+randomInRange(a),y:t.position.y+randomInRange(a)};return this.pushParticle(n,s,t.group,(e=>{if(e.size.value<.5)return false;e.velocity.length=randomInRange(setRangeValue(t.velocity.length,e.velocity.length));e.splitCount=t.splitCount+1;e.unbreakable=true;setTimeout((()=>{e.unbreakable=false}),500);return true}))}clear(){this.array=[];this.zArray=[]}destroy(){this.array=[];this.zArray=[];this.movers=[];this.updaters=[]}async draw(t){const e=this.container,i=this.container.canvas.size;this.quadTree=new QuadTree(new Rectangle(-i.width/4,-i.height/4,3*i.width/2,3*i.height/2),4);e.canvas.clear();await this.update(t);if(this.needsSort){this.zArray.sort(((t,e)=>e.position.z-t.position.z||t.id-e.id));this.lastZIndex=this.zArray[this.zArray.length-1].position.z;this.needsSort=false}for(const[,i]of e.plugins)e.canvas.drawPlugin(i,t);for(const e of this.zArray)e.draw(t)}getLinkFrequency(t,e){const i=setRangeValue(t.id,e.id),s=`${getRangeMin(i)}_${getRangeMax(i)}`;let o=this.freqs.links.get(s);if(void 0===o){o=getRandom();this.freqs.links.set(s,o)}return o}getTriangleFrequency(t,e,i){let[s,o,a]=[t.id,e.id,i.id];s>o&&([o,s]=[s,o]);o>a&&([a,o]=[o,a]);s>a&&([a,s]=[s,a]);const n=`${s}_${o}_${a}`;let r=this.freqs.triangles.get(n);if(void 0===r){r=getRandom();this.freqs.triangles.set(n,r)}return r}handleClickMode(t){this.interactionManager.handleClickMode(t)}init(){var t;const e=this.container,i=e.actualOptions;this.lastZIndex=0;this.needsSort=false;this.freqs.links=new Map;this.freqs.triangles=new Map;let s=false;this.updaters=K(this,tt,\"f\").plugins.getUpdaters(e,true);this.interactionManager.init();for(const[,t]of e.plugins){void 0!==t.particlesInitialization&&(s=t.particlesInitialization());if(s)break}this.interactionManager.init();for(const[,t]of e.pathGenerators)t.init(e);this.addManualParticles();if(!s){for(const e in i.particles.groups){const s=i.particles.groups[e];for(let o=this.count,a=0;a<(null===(t=s.number)||void 0===t?void 0:t.value)&&o<i.particles.number.value;o++,a++)this.addParticle(void 0,s,e)}for(let t=this.count;t<i.particles.number.value;t++)this.addParticle()}}push(t,e,i,s){this.pushing=true;for(let o=0;o<t;o++)this.addParticle(null===e||void 0===e?void 0:e.position,i,s);this.pushing=false}async redraw(){this.clear();this.init();await this.draw({value:0,factor:0})}remove(t,e,i){this.removeAt(this.array.indexOf(t),void 0,e,i)}removeAt(t,e=1,i,s){if(!(t>=0&&t<=this.count))return;let o=0;for(let a=t;o<e&&a<this.count;a++){const t=this.array[a];if(!t||t.group!==i)continue;t.destroy(s);this.array.splice(a--,1);const e=this.zArray.indexOf(t);this.zArray.splice(e,1);o++;K(this,tt,\"f\").dispatchEvent(\"particleRemoved\",{container:this.container,data:{particle:t}})}}removeQuantity(t,e){this.removeAt(0,t,e)}setDensity(){const t=this.container.actualOptions;for(const e in t.particles.groups)this.applyDensity(t.particles.groups[e],0,e);this.applyDensity(t.particles,t.manualParticles.length)}async update(t){var e,i;const s=this.container,o=[];for(const[,t]of s.pathGenerators)t.update();for(const[,i]of s.plugins)null===(e=i.update)||void 0===e?void 0:e.call(i,t);for(const e of this.array){const a=s.canvas.resizeFactor;if(a&&!e.ignoresResizeRatio){e.position.x*=a.width;e.position.y*=a.height}e.ignoresResizeRatio=false;await this.interactionManager.reset(e);for(const[,s]of this.container.plugins){if(e.destroyed)break;null===(i=s.particleUpdate)||void 0===i?void 0:i.call(s,e,t)}for(const i of this.movers)i.isEnabled(e)&&i.move(e,t);e.destroyed?o.push(e):this.quadTree.insert(new Point(e.getPosition(),e))}for(const t of o)this.remove(t);await this.interactionManager.externalInteract(t);for(const e of s.particles.array){for(const i of this.updaters)i.update(e,t);e.destroyed||e.spawning||await this.interactionManager.particlesInteract(e,t)}delete s.canvas.resizeFactor}applyDensity(t,e,i){var s;if(!(null===(s=t.number.density)||void 0===s?void 0:s.enable))return;const o=t.number,a=this.initDensityFactor(o.density),n=o.value,r=o.limit>0?o.limit:n,l=Math.min(n,r)*a+e,c=Math.min(this.count,this.array.filter((t=>t.group===i)).length);this.limit=o.limit*a;c<l?this.push(Math.abs(l-c),void 0,t,i):c>l&&this.removeQuantity(c-l,i)}initDensityFactor(t){const e=this.container;if(!e.canvas.element||!t.enable)return 1;const i=e.canvas.element,s=e.retina.pixelRatio;return i.width*i.height/(t.factor*s**2*t.area)}pushParticle(t,e,i,s){try{const o=new Particle(K(this,tt,\"f\"),this.nextId,this.container,t,e,i);let a=true;s&&(a=s(o));if(!a)return;this.array.push(o);this.zArray.push(o);this.nextId++;K(this,tt,\"f\").dispatchEvent(\"particleAdded\",{container:this.container,data:{particle:o}});return o}catch(t){console.warn(`error adding particle: ${t}`);return}}}tt=new WeakMap;class Retina{constructor(t){this.container=t}init(){const t=this.container,e=t.actualOptions;this.pixelRatio=!e.detectRetina||isSsr()?1:window.devicePixelRatio;const i=this.container.actualOptions.motion;if(i&&(i.disable||i.reduce.value))if(isSsr()||\"undefined\"===typeof matchMedia||!matchMedia)this.reduceFactor=1;else{const e=matchMedia(\"(prefers-reduced-motion: reduce)\");if(e){this.handleMotionChange(e);const handleChange=()=>{this.handleMotionChange(e);t.refresh().catch((()=>{}))};void 0!==e.addEventListener?e.addEventListener(\"change\",handleChange):void 0!==e.addListener&&e.addListener(handleChange)}}else this.reduceFactor=1;const s=this.pixelRatio;if(t.canvas.element){const e=t.canvas.element;t.canvas.size.width=e.offsetWidth*s;t.canvas.size.height=e.offsetHeight*s}const o=e.particles;this.attractDistance=getRangeValue(o.move.attract.distance)*s;this.sizeAnimationSpeed=getRangeValue(o.size.animation.speed)*s;this.maxSpeed=getRangeValue(o.move.gravity.maxSpeed)*s;const a=e.interactivity.modes;this.slowModeRadius=a.slow.radius*s}initParticle(t){const e=t.options,i=this.pixelRatio,s=e.move.distance,o=t.retina;o.attractDistance=getRangeValue(e.move.attract.distance)*i;o.moveDrift=getRangeValue(e.move.drift)*i;o.moveSpeed=getRangeValue(e.move.speed)*i;o.sizeAnimationSpeed=getRangeValue(e.size.animation.speed)*i;const a=o.maxDistance;a.horizontal=void 0!==s.horizontal?s.horizontal*i:void 0;a.vertical=void 0!==s.vertical?s.vertical*i:void 0;o.maxSpeed=getRangeValue(e.move.gravity.maxSpeed)*i}handleMotionChange(t){const e=this.container.actualOptions;if(t.matches){const t=e.motion;this.reduceFactor=t.disable?0:t.reduce.value?1/t.reduce.factor:1}else this.reduceFactor=1}}var et=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var it=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var st,ot,at,nt,rt;function guardCheck(t){return void 0!==t&&!t.destroyed}function loadContainerOptions(t,e,...i){const s=new Options(t,e);loadOptions(s,...i);return s}const lt=\"default\",ct={generate:t=>{const e=t.velocity.copy();e.angle+=e.length*Math.PI/180;return e},init:()=>{},update:()=>{}};class Container{constructor(t,e,i){this.id=e;st.set(this,void 0);ot.set(this,void 0);at.set(this,void 0);nt.set(this,void 0);rt.set(this,void 0);et(this,st,t,\"f\");this.fpsLimit=120;this.duration=0;this.lifeTime=0;this.firstStart=true;this.started=false;this.destroyed=false;this.paused=true;this.lastFrameTime=0;this.zLayers=100;this.pageHidden=false;et(this,rt,i,\"f\");this._initialSourceOptions=i;this.retina=new Retina(this);this.canvas=new Canvas(this);this.particles=new Particles(it(this,st,\"f\"),this);this.frameManager=new FrameManager(this);this.pathGenerators=new Map;this.interactivity={mouse:{clicking:false,inside:false}};this.plugins=new Map;this.drawers=new Map;et(this,nt,loadContainerOptions(it(this,st,\"f\"),this),\"f\");this.actualOptions=loadContainerOptions(it(this,st,\"f\"),this);et(this,ot,new EventListeners(this),\"f\");\"undefined\"!==typeof IntersectionObserver&&IntersectionObserver&&et(this,at,new IntersectionObserver((t=>this.intersectionManager(t))),\"f\");it(this,st,\"f\").dispatchEvent(\"containerBuilt\",{container:this})}get options(){return it(this,nt,\"f\")}get sourceOptions(){return it(this,rt,\"f\")}addClickHandler(t){if(!guardCheck(this))return;const e=this.interactivity.element;if(!e)return;const clickOrTouchHandler=(e,i,s)=>{if(!guardCheck(this))return;const o=this.retina.pixelRatio,a={x:i.x*o,y:i.y*o},n=this.particles.quadTree.queryCircle(a,s*o);t(e,n)};const clickHandler=t=>{if(!guardCheck(this))return;const e=t,i={x:e.offsetX||e.clientX,y:e.offsetY||e.clientY};clickOrTouchHandler(t,i,1)};const touchStartHandler=()=>{if(guardCheck(this)){i=true;s=false}};const touchMoveHandler=()=>{guardCheck(this)&&(s=true)};const touchEndHandler=t=>{var e,o,a;if(guardCheck(this)){if(i&&!s){const i=t;let s=i.touches[i.touches.length-1];if(!s){s=i.changedTouches[i.changedTouches.length-1];if(!s)return}const n=null===(e=this.canvas.element)||void 0===e?void 0:e.getBoundingClientRect(),r={x:s.clientX-(null!==(o=null===n||void 0===n?void 0:n.left)&&void 0!==o?o:0),y:s.clientY-(null!==(a=null===n||void 0===n?void 0:n.top)&&void 0!==a?a:0)};clickOrTouchHandler(t,r,Math.max(s.radiusX,s.radiusY))}i=false;s=false}};const touchCancelHandler=()=>{if(guardCheck(this)){i=false;s=false}};let i=false;let s=false;e.addEventListener(\"click\",clickHandler);e.addEventListener(\"touchstart\",touchStartHandler);e.addEventListener(\"touchmove\",touchMoveHandler);e.addEventListener(\"touchend\",touchEndHandler);e.addEventListener(\"touchcancel\",touchCancelHandler)}addPath(t,e,i=false){if(!guardCheck(this)||!i&&this.pathGenerators.has(t))return false;this.pathGenerators.set(t,null!==e&&void 0!==e?e:ct);return true}destroy(){if(!guardCheck(this))return;this.stop();this.particles.destroy();this.canvas.destroy();for(const[,t]of this.drawers)t.destroy&&t.destroy(this);for(const t of this.drawers.keys())this.drawers.delete(t);it(this,st,\"f\").plugins.destroy(this);this.destroyed=true;const t=it(this,st,\"f\").dom(),e=t.findIndex((t=>t===this));e>=0&&t.splice(e,1);it(this,st,\"f\").dispatchEvent(\"containerDestroyed\",{container:this})}draw(t){if(!guardCheck(this))return;let e=t;this.drawAnimationFrame=animate()((async t=>{if(e){this.lastFrameTime=void 0;e=false}await this.frameManager.nextFrame(t)}))}exportConfiguration(){return JSON.stringify(this.actualOptions,void 0,2)}exportImage(t,e,i){var s;return null===(s=this.canvas.element)||void 0===s?void 0:s.toBlob(t,null!==e&&void 0!==e?e:\"image/png\",i)}exportImg(t){this.exportImage(t)}getAnimationStatus(){return!this.paused&&!this.pageHidden&&guardCheck(this)}handleClickMode(t){if(guardCheck(this)){this.particles.handleClickMode(t);for(const[,e]of this.plugins)e.handleClickMode&&e.handleClickMode(t)}}async init(){if(!guardCheck(this))return;const t=it(this,st,\"f\").plugins.getSupportedShapes();for(const e of t){const t=it(this,st,\"f\").plugins.getShapeDrawer(e);t&&this.drawers.set(e,t)}et(this,nt,loadContainerOptions(it(this,st,\"f\"),this,this._initialSourceOptions,this.sourceOptions),\"f\");this.actualOptions=loadContainerOptions(it(this,st,\"f\"),this,it(this,nt,\"f\"));this.retina.init();this.canvas.init();this.updateActualOptions();this.canvas.initBackground();this.canvas.resize();this.zLayers=this.actualOptions.zLayers;this.duration=getRangeValue(this.actualOptions.duration);this.lifeTime=0;this.fpsLimit=this.actualOptions.fpsLimit>0?this.actualOptions.fpsLimit:120;const e=it(this,st,\"f\").plugins.getAvailablePlugins(this);for(const[t,i]of e)this.plugins.set(t,i);for(const[,t]of this.drawers)t.init&&await t.init(this);for(const[,t]of this.plugins)t.init?t.init(this.actualOptions):void 0!==t.initAsync&&await t.initAsync(this.actualOptions);it(this,st,\"f\").dispatchEvent(\"containerInit\",{container:this});this.particles.init();this.particles.setDensity();for(const[,t]of this.plugins)void 0!==t.particlesSetup&&t.particlesSetup();it(this,st,\"f\").dispatchEvent(\"particlesSetup\",{container:this})}async loadTheme(t){if(guardCheck(this)){this.currentTheme=t;await this.refresh()}}pause(){if(guardCheck(this)){if(void 0!==this.drawAnimationFrame){cancelAnimation()(this.drawAnimationFrame);delete this.drawAnimationFrame}if(!this.paused){for(const[,t]of this.plugins)t.pause&&t.pause();this.pageHidden||(this.paused=true);it(this,st,\"f\").dispatchEvent(\"containerPaused\",{container:this})}}}play(t){if(!guardCheck(this))return;const e=this.paused||t;if(!this.firstStart||this.actualOptions.autoPlay){this.paused&&(this.paused=false);if(e)for(const[,t]of this.plugins)t.play&&t.play();it(this,st,\"f\").dispatchEvent(\"containerPlay\",{container:this});this.draw(e||false)}else this.firstStart=false}async refresh(){if(guardCheck(this)){this.stop();return this.start()}}async reset(){if(guardCheck(this)){et(this,nt,loadContainerOptions(it(this,st,\"f\"),this),\"f\");return this.refresh()}}setNoise(t,e,i){guardCheck(this)&&this.setPath(t,e,i)}setPath(t,e,i){if(!t||!guardCheck(this))return;const s=Object.assign({},ct);if(\"function\"===typeof t){s.generate=t;e&&(s.init=e);i&&(s.update=i)}else{const e=s;s.generate=t.generate||e.generate;s.init=t.init||e.init;s.update=t.update||e.update}this.addPath(lt,s,true)}async start(){if(!this.started&&guardCheck(this)){await this.init();this.started=true;it(this,ot,\"f\").addListeners();this.interactivity.element instanceof HTMLElement&&it(this,at,\"f\")&&it(this,at,\"f\").observe(this.interactivity.element);for(const[,t]of this.plugins)void 0!==t.startAsync?await t.startAsync():void 0!==t.start&&t.start();it(this,st,\"f\").dispatchEvent(\"containerStarted\",{container:this});this.play()}}stop(){var t;if(this.started&&guardCheck(this)){this.firstStart=true;this.started=false;it(this,ot,\"f\").removeListeners();this.pause();this.particles.clear();this.canvas.clear();this.interactivity.element instanceof HTMLElement&&it(this,at,\"f\")&&it(this,at,\"f\").unobserve(this.interactivity.element);for(const[,e]of this.plugins)null===(t=e.stop)||void 0===t?void 0:t.call(e);for(const t of this.plugins.keys())this.plugins.delete(t);et(this,rt,it(this,nt,\"f\"),\"f\");it(this,st,\"f\").dispatchEvent(\"containerStopped\",{container:this})}}updateActualOptions(){this.actualOptions.responsive=[];const t=this.actualOptions.setResponsive(this.canvas.size.width,this.retina.pixelRatio,it(this,nt,\"f\"));this.actualOptions.setTheme(this.currentTheme);if(this.responsiveMaxWidth!=t){this.responsiveMaxWidth=t;return true}return false}intersectionManager(t){if(guardCheck(this)&&this.actualOptions.pauseOnOutsideViewport)for(const e of t)e.target===this.interactivity.element&&(e.isIntersecting?this.play:this.pause)()}}st=new WeakMap,ot=new WeakMap,at=new WeakMap,nt=new WeakMap,rt=new WeakMap;var ht=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var dt=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var ut;function fetchError(t){console.error(`tsParticles - Error ${t} while retrieving config file`)}async function getDataFromUrl(t,e){const i=t instanceof Array?itemFromArray(t,e):t;if(!i)return;const s=await fetch(i);if(s.ok)return s.json();fetchError(s.status)}class Loader{constructor(t){ut.set(this,void 0);ht(this,ut,t,\"f\")}load(t,e,i){const s={index:i,remote:false};\"string\"===typeof t?s.tagId=t:s.options=t;\"number\"===typeof e?s.index=e:s.options=null!==e&&void 0!==e?e:s.options;return this.loadOptions(s)}async loadJSON(t,e,i){let s,o;if(\"number\"===typeof e||void 0===e)s=t;else{o=t;s=e}return this.loadRemoteOptions({tagId:o,url:s,index:i,remote:true})}async loadOptions(t){var e,i,s;const o=null!==(e=t.tagId)&&void 0!==e?e:`tsparticles${Math.floor(1e4*getRandom())}`,{index:a,url:n,remote:l}=t,c=l?await getDataFromUrl(n,a):t.options;let h=null!==(i=t.element)&&void 0!==i?i:document.getElementById(o);if(!h){h=document.createElement(\"div\");h.id=o;null===(s=document.querySelector(\"body\"))||void 0===s?void 0:s.append(h)}const d=c instanceof Array?itemFromArray(c,a):c,u=dt(this,ut,\"f\").dom(),f=u.findIndex((t=>t.id===o));if(f>=0){const t=dt(this,ut,\"f\").domItem(f);if(t&&!t.destroyed){t.destroy();u.splice(f,1)}}let p;if(\"canvas\"===h.tagName.toLowerCase()){p=h;p.dataset[r]=\"false\"}else{const t=h.getElementsByTagName(\"canvas\");if(t.length){p=t[0];p.dataset[r]=\"false\"}else{p=document.createElement(\"canvas\");p.dataset[r]=\"true\";h.appendChild(p)}}p.style.width||(p.style.width=\"100%\");p.style.height||(p.style.height=\"100%\");const v=new Container(dt(this,ut,\"f\"),o,d);f>=0?u.splice(f,0,v):u.push(v);v.canvas.loadCanvas(p);await v.start();return v}async loadRemoteOptions(t){return this.loadOptions(t)}async set(t,e,i,s){const o={index:s,remote:false};\"string\"===typeof t?o.tagId=t:o.element=t;e instanceof HTMLElement?o.element=e:o.options=e;\"number\"===typeof i?o.index=i:o.options=null!==i&&void 0!==i?i:o.options;return this.loadOptions(o)}async setJSON(t,e,i,s){let o,a,n,r;if(t instanceof HTMLElement){r=t;o=e;n=i}else{a=t;r=e;o=i;n=s}return this.loadRemoteOptions({tagId:a,url:o,index:n,element:r,remote:true})}}ut=new WeakMap;var ft=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var pt;class Plugins{constructor(t){pt.set(this,void 0);ft(this,pt,t,\"f\");this.plugins=[];this.interactorsInitializers=new Map;this.moversInitializers=new Map;this.updatersInitializers=new Map;this.interactors=new Map;this.movers=new Map;this.updaters=new Map;this.presets=new Map;this.drawers=new Map;this.pathGenerators=new Map}addInteractor(t,e){this.interactorsInitializers.set(t,e)}addParticleMover(t,e){this.moversInitializers.set(t,e)}addParticleUpdater(t,e){this.updatersInitializers.set(t,e)}addPathGenerator(t,e){this.getPathGenerator(t)||this.pathGenerators.set(t,e)}addPlugin(t){this.getPlugin(t.id)||this.plugins.push(t)}addPreset(t,e,i=false){!i&&this.getPreset(t)||this.presets.set(t,e)}addShapeDrawer(t,e){this.getShapeDrawer(t)||this.drawers.set(t,e)}destroy(t){this.updaters.delete(t);this.movers.delete(t);this.interactors.delete(t)}getAvailablePlugins(t){const e=new Map;for(const i of this.plugins)i.needsPlugin(t.actualOptions)&&e.set(i.id,i.getPlugin(t));return e}getInteractors(t,e=false){let i=this.interactors.get(t);if(!i||e){i=[...this.interactorsInitializers.values()].map((e=>e(t)));this.interactors.set(t,i)}return i}getMovers(t,e=false){let i=this.movers.get(t);if(!i||e){i=[...this.moversInitializers.values()].map((e=>e(t)));this.movers.set(t,i)}return i}getPathGenerator(t){return this.pathGenerators.get(t)}getPlugin(t){return this.plugins.find((e=>e.id===t))}getPreset(t){return this.presets.get(t)}getShapeDrawer(t){return this.drawers.get(t)}getSupportedShapes(){return this.drawers.keys()}getUpdaters(t,e=false){let i=this.updaters.get(t);if(!i||e){i=[...this.updatersInitializers.values()].map((e=>e(t)));this.updaters.set(t,i)}return i}loadOptions(t,e){for(const i of this.plugins)i.loadOptions(t,e)}loadParticlesOptions(t,e,...i){const s=this.updaters.get(t);if(s)for(const t of s)t.loadOptions&&t.loadOptions(e,...i)}}pt=new WeakMap;var vt=(void 0,function(t,e,i,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,i):o?o.value=i:e.set(t,i),i});var mt=(void 0,function(t,e,i,s){if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?s:\"a\"===i?s.call(t):s?s.value:e.get(t)});var gt,yt,wt,bt;class Engine{constructor(){gt.set(this,void 0);yt.set(this,void 0);wt.set(this,void 0);bt.set(this,void 0);vt(this,gt,[],\"f\");vt(this,yt,new EventDispatcher,\"f\");vt(this,wt,false,\"f\");vt(this,bt,new Loader(this),\"f\");this.plugins=new Plugins(this)}addEventListener(t,e){mt(this,yt,\"f\").addEventListener(t,e)}async addInteractor(t,e){this.plugins.addInteractor(t,e);await this.refresh()}async addMover(t,e){this.plugins.addParticleMover(t,e);await this.refresh()}async addParticleUpdater(t,e){this.plugins.addParticleUpdater(t,e);await this.refresh()}async addPathGenerator(t,e){this.plugins.addPathGenerator(t,e);await this.refresh()}async addPlugin(t){this.plugins.addPlugin(t);await this.refresh()}async addPreset(t,e,i=false){this.plugins.addPreset(t,e,i);await this.refresh()}async addShape(t,e,i,s,o){let a;a=\"function\"===typeof e?{afterEffect:s,destroy:o,draw:e,init:i}:e;this.plugins.addShapeDrawer(t,a);await this.refresh()}dispatchEvent(t,e){mt(this,yt,\"f\").dispatchEvent(t,e)}dom(){return mt(this,gt,\"f\")}domItem(t){const e=this.dom(),i=e[t];if(i&&!i.destroyed)return i;e.splice(t,1)}init(){mt(this,wt,\"f\")||vt(this,wt,true,\"f\")}async load(t,e){return mt(this,bt,\"f\").load(t,e)}async loadFromArray(t,e,i){return mt(this,bt,\"f\").load(t,e,i)}async loadJSON(t,e,i){return mt(this,bt,\"f\").loadJSON(t,e,i)}async refresh(){for(const t of this.dom())await t.refresh()}removeEventListener(t,e){mt(this,yt,\"f\").removeEventListener(t,e)}async set(t,e,i){return mt(this,bt,\"f\").set(t,e,i)}async setJSON(t,e,i,s){return mt(this,bt,\"f\").setJSON(t,e,i,s)}setOnClickHandler(t){const e=this.dom();if(!e.length)throw new Error(\"Can only set click handlers after calling tsParticles.load() or tsParticles.loadJSON()\");for(const i of e)i.addClickHandler(t)}}gt=new WeakMap,yt=new WeakMap,wt=new WeakMap,bt=new WeakMap;class HslColorManager{constructor(){this.stringPrefix=\"hsl\"}handleColor(t){var e;const i=t.value,s=null!==(e=i.hsl)&&void 0!==e?e:t.value;if(void 0!==s.h&&void 0!==s.l)return hslToRgb(s)}handleRangeColor(t){var e;const i=t.value,s=null!==(e=i.hsl)&&void 0!==e?e:t.value;if(void 0!==s.h&&void 0!==s.l)return hslToRgb({h:getRangeValue(s.h),l:getRangeValue(s.l),s:getRangeValue(s.s)})}parseString(t){if(!t.startsWith(\"hsl\"))return;const e=/hsla?\\(\\s*(\\d+)\\s*,\\s*(\\d+)%\\s*,\\s*(\\d+)%\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i,i=e.exec(t);return i?hslaToRgba({a:i.length>4?parseAlpha(i[5]):1,h:parseInt(i[1],10),l:parseInt(i[3],10),s:parseInt(i[2],10)}):void 0}}class RgbColorManager{constructor(){this.stringPrefix=\"rgb\"}handleColor(t){var e;const i=t.value,s=null!==(e=i.rgb)&&void 0!==e?e:t.value;if(void 0!==s.r)return s}handleRangeColor(t){var e;const i=t.value,s=null!==(e=i.rgb)&&void 0!==e?e:t.value;if(void 0!==s.r)return{r:getRangeValue(s.r),g:getRangeValue(s.g),b:getRangeValue(s.b)}}parseString(t){if(!t.startsWith(this.stringPrefix))return;const e=/rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*([\\d.%]+)\\s*)?\\)/i,i=e.exec(t);return i?{a:i.length>4?parseAlpha(i[5]):1,b:parseInt(i[3],10),g:parseInt(i[2],10),r:parseInt(i[1],10)}:void 0}}class ExternalInteractorBase{constructor(t){this.container=t;this.type=0}}class ParticlesInteractorBase{constructor(t){this.container=t;this.type=1}}const xt=new RgbColorManager,Rt=new HslColorManager;addColorManager(\"rgb\",xt);addColorManager(\"hsl\",Rt);const Mt=new Engine;Mt.init();export{AnimatableColor,AnimationOptions,Background,BackgroundMask,BackgroundMaskCover,Circle,CircleWarp,ClickEvent,Collisions,CollisionsOverlap,ColorAnimation,Destroy,DivEvent,Events,ExternalInteractorBase,FullScreen,HoverEvent,HslAnimation,HslColorManager,Interactivity,ManualParticle,Modes,Motion,MotionReduce,Move,MoveAngle,MoveAttract,MoveGravity,MovePath,MovePathDelay,MoveTrail,Opacity,OpacityAnimation,Options,OptionsColor,OutModes,Parallax,ParticlesBounce,ParticlesBounceFactor,ParticlesDensity,ParticlesInteractorBase,ParticlesNumber,ParticlesOptions,Point,Range,Rectangle,Responsive,RgbColorManager,Rotate,RotateAnimation,Shadow,Shape,Size,SizeAnimation,Slow,Spin,Split,SplitFactor,SplitRate,Stroke,Theme,ThemeDefault,ValueWithRandom,Vector,Vector3d,ZIndex,addColorManager,alterHsl,animate,areBoundsInside,arrayRandomIndex,calcEasing,calcExactPositionOrRandomFromSize,calcExactPositionOrRandomFromSizeRanged,calcPositionFromSize,calcPositionOrRandomFromSize,calcPositionOrRandomFromSizeRanged,calculateBounds,cancelAnimation,circleBounce,circleBounceDataFromParticle,clamp,clear,collisionVelocity,colorMix,colorToHsl,colorToRgb,deepExtend,divMode,divModeExecute,drawLine,drawParticle,drawParticlePlugin,drawPlugin,drawShape,drawShapeAfterEffect,drawTriangle,r as generatedAttribute,getDistance,getDistances,getHslAnimationFromHsl,getHslFromAnimation,getLinkColor,getLinkRandomColor,getParticleBaseVelocity,getParticleDirectionAngle,getRandom,getRandomRgbColor,getRangeMax,getRangeMin,getRangeValue,getStyleFromHsl,getStyleFromRgb,getValue,hslToRgb,hslaToRgba,isDivModeEnabled,isInArray,isPointInside,isSsr,itemFromArray,loadFont,loadOptions,loadParticlesOptions,mix,c as mouseDownEvent,p as mouseLeaveEvent,d as mouseMoveEvent,v as mouseOutEvent,h as mouseUpEvent,w as noPolygonDataLoaded,b as noPolygonFound,paintBase,parseAlpha,randomInRange,rangeColorToHsl,rangeColorToRgb,rectBounce,g as resizeEvent,rgbToHsl,setRandom,setRangeValue,singleDivModeExecute,stringToAlpha,stringToRgb,m as touchCancelEvent,l as touchEndEvent,f as touchMoveEvent,u as touchStartEvent,Mt as tsParticles,y as visibilityChangeEvent};\n\n//# sourceMappingURL=index.js.map","var r={};r=function equal(r,e){if(r===e)return true;if(r&&e&&\"object\"==typeof r&&\"object\"==typeof e){if(r.constructor!==e.constructor)return false;var t,f,o;if(Array.isArray(r)){t=r.length;if(t!=e.length)return false;for(f=t;0!==f--;)if(!equal(r[f],e[f]))return false;return true}if(r.constructor===RegExp)return r.source===e.source&&r.flags===e.flags;if(r.valueOf!==Object.prototype.valueOf)return r.valueOf()===e.valueOf();if(r.toString!==Object.prototype.toString)return r.toString()===e.toString();o=Object.keys(r);t=o.length;if(t!==Object.keys(e).length)return false;for(f=t;0!==f--;)if(!Object.prototype.hasOwnProperty.call(e,o[f]))return false;for(f=t;0!==f--;){var u=o[f];if((\"_owner\"!==u||!r.$$typeof)&&!equal(r[u],e[u]))return false}return true}return r!==r&&e!==e};var e=r;export default e;\n\n//# sourceMappingURL=react.js.map","import t,{Component as s}from\"react\";import{tsParticles as i}from\"tsparticles-engine\";import e from\"fast-deep-equal/react\";const a=\"tsparticles\";class Particles extends s{constructor(t){super(t);this.state={init:false,library:void 0}}destroy(){if(this.state.library){this.state.library.destroy();this.setState({library:void 0})}}shouldComponentUpdate(t){return!e(t,this.props)}componentDidUpdate(){this.refresh()}forceUpdate(){this.refresh().then((()=>{super.forceUpdate()}))}componentDidMount(){(async()=>{this.props.init&&await this.props.init(i);this.setState({init:true},(async()=>{await this.loadParticles()}))})()}componentWillUnmount(){this.destroy()}render(){const{width:s,height:i,className:e,canvasClassName:a,id:r}=this.props;return t.createElement(\"div\",{className:e,id:r},t.createElement(\"canvas\",{className:a,style:Object.assign(Object.assign({},this.props.style),{width:s,height:i})}))}async refresh(){this.destroy();await this.loadParticles()}async loadParticles(){var t,s,e;if(!this.state.init)return;const cb=async t=>{this.props.container&&(this.props.container.current=t);this.setState({library:t});this.props.loaded&&await this.props.loaded(t)};const r=null!==(s=null!==(t=this.props.id)&&void 0!==t?t:Particles.defaultProps.id)&&void 0!==s?s:a,o=this.props.url?await i.loadJSON(r,this.props.url):await i.load(r,null!==(e=this.props.params)&&void 0!==e?e:this.props.options);await cb(o)}}Particles.defaultProps={width:\"100%\",height:\"100%\",options:{},style:{},url:void 0,id:a};export{Particles,Particles as default};\n\n//# sourceMappingURL=index.js.map","import{ValueWithRandom as i,OptionsColor as s,setRangeValue as t,Vector as o,getRangeValue as r,rangeColorToRgb as e,getDistance as a,getDistances as n,getStyleFromRgb as b,isPointInside as l,calcPositionOrRandomFromSizeRanged as d,calcPositionOrRandomFromSize as c,getRandom as h,itemFromArray as v,isInArray as u}from\"tsparticles-engine\";class AbsorberSizeLimit{constructor(){this.radius=0;this.mass=0}load(i){if(i){void 0!==i.mass&&(this.mass=i.mass);void 0!==i.radius&&(this.radius=i.radius)}}}class AbsorberSize extends i{constructor(){super();this.density=5;this.value=50;this.limit=new AbsorberSizeLimit}load(i){if(i){super.load(i);void 0!==i.density&&(this.density=i.density);\"number\"===typeof i.limit?this.limit.radius=i.limit:this.limit.load(i.limit)}}}class Absorber{constructor(){this.color=new s;this.color.value=\"#000000\";this.draggable=false;this.opacity=1;this.destroy=true;this.orbits=false;this.size=new AbsorberSize}load(i){if(void 0!==i){void 0!==i.color&&(this.color=s.create(this.color,i.color));void 0!==i.draggable&&(this.draggable=i.draggable);this.name=i.name;void 0!==i.opacity&&(this.opacity=i.opacity);if(void 0!==i.position){this.position={};void 0!==i.position.x&&(this.position.x=t(i.position.x));void 0!==i.position.y&&(this.position.y=t(i.position.y))}void 0!==i.size&&this.size.load(i.size);void 0!==i.destroy&&(this.destroy=i.destroy);void 0!==i.orbits&&(this.orbits=i.orbits)}}}class AbsorberInstance{constructor(i,s,t,a){var n,b,l;this.absorbers=i;this.container=s;this.initialPosition=a?o.create(a.x,a.y):void 0;if(t instanceof Absorber)this.options=t;else{this.options=new Absorber;this.options.load(t)}this.dragging=false;this.name=this.options.name;this.opacity=this.options.opacity;this.size=r(this.options.size.value)*s.retina.pixelRatio;this.mass=this.size*this.options.size.density*s.retina.reduceFactor;const d=this.options.size.limit;this.limit={radius:d.radius*s.retina.pixelRatio*s.retina.reduceFactor,mass:d.mass};this.color=null!==(n=e(this.options.color))&&void 0!==n?n:{b:0,g:0,r:0};this.position=null!==(l=null===(b=this.initialPosition)||void 0===b?void 0:b.copy())&&void 0!==l?l:this.calcPosition()}attract(i){const s=this.container,t=this.options;if(t.draggable){const i=s.interactivity.mouse;if(i.clicking&&i.downPosition){const s=a(this.position,i.downPosition);s<=this.size&&(this.dragging=true)}else this.dragging=false;if(this.dragging&&i.position){this.position.x=i.position.x;this.position.y=i.position.y}}const r=i.getPosition(),{dx:e,dy:b,distance:l}=n(this.position,r),d=o.create(e,b);d.length=this.mass/Math.pow(l,2)*s.retina.reduceFactor;if(l<this.size+i.getRadius()){const o=.033*i.getRadius()*s.retina.pixelRatio;if(this.size>i.getRadius()&&l<this.size-i.getRadius()||void 0!==i.absorberOrbit&&i.absorberOrbit.length<0)if(t.destroy)i.destroy();else{i.needsNewPosition=true;this.updateParticlePosition(i,d)}else{t.destroy&&(i.size.value-=o);this.updateParticlePosition(i,d)}(this.limit.radius<=0||this.size<this.limit.radius)&&(this.size+=o);(this.limit.mass<=0||this.mass<this.limit.mass)&&(this.mass+=o*this.options.size.density*s.retina.reduceFactor)}else this.updateParticlePosition(i,d)}draw(i){i.translate(this.position.x,this.position.y);i.beginPath();i.arc(0,0,this.size,0,2*Math.PI,false);i.closePath();i.fillStyle=b(this.color,this.opacity);i.fill()}resize(){const i=this.initialPosition;this.position=i&&l(i,this.container.canvas.size,o.origin)?i:this.calcPosition()}calcPosition(){const i=d({size:this.container.canvas.size,position:this.options.position});return o.create(i.x,i.y)}updateParticlePosition(i,s){var t;if(i.destroyed)return;const r=this.container,e=r.canvas.size;if(i.needsNewPosition){const s=c({size:e});i.position.setTo(s);i.velocity.setTo(i.initialVelocity);i.absorberOrbit=void 0;i.needsNewPosition=false}if(this.options.orbits){if(void 0===i.absorberOrbit){i.absorberOrbit=o.create(0,0);i.absorberOrbit.length=a(i.getPosition(),this.position);i.absorberOrbit.angle=h()*Math.PI*2}if(i.absorberOrbit.length<=this.size&&!this.options.destroy){const s=Math.min(e.width,e.height);i.absorberOrbit.length=s*(.2*h()-.1+1)}void 0===i.absorberOrbitDirection&&(i.absorberOrbitDirection=i.velocity.x>=0?\"clockwise\":\"counter-clockwise\");const n=i.absorberOrbit.length,b=i.absorberOrbit.angle,l=i.absorberOrbitDirection;i.velocity.setTo(o.origin);const d={x:\"clockwise\"===l?Math.cos:Math.sin,y:\"clockwise\"===l?Math.sin:Math.cos};i.position.x=this.position.x+n*d.x(b);i.position.y=this.position.y+n*d.y(b);i.absorberOrbit.length-=s.length;i.absorberOrbit.angle+=(null!==(t=i.retina.moveSpeed)&&void 0!==t?t:0)*r.retina.pixelRatio/100*r.retina.reduceFactor}else{const t=o.origin;t.length=s.length;t.angle=s.angle;i.velocity.addTo(t)}}}class Absorbers{constructor(i){this.container=i;this.array=[];this.absorbers=[];this.interactivityAbsorbers=[];i.getAbsorber=i=>void 0===i||\"number\"===typeof i?this.array[i||0]:this.array.find((s=>s.name===i));i.addAbsorber=(i,s)=>this.addAbsorber(i,s)}addAbsorber(i,s){const t=new AbsorberInstance(this,this.container,i,s);this.array.push(t);return t}draw(i){for(const s of this.array){i.save();s.draw(i);i.restore()}}handleClickMode(i){const s=this.absorbers,t=this.interactivityAbsorbers;if(\"absorber\"===i){let i;t instanceof Array?t.length>0&&(i=v(t)):i=t;const o=null!==i&&void 0!==i?i:s instanceof Array?v(s):s,r=this.container.interactivity.mouse.clickPosition;this.addAbsorber(o,r)}}init(i){var s,t;if(!i)return;if(i.absorbers)if(i.absorbers instanceof Array)this.absorbers=i.absorbers.map((i=>{const s=new Absorber;s.load(i);return s}));else{this.absorbers instanceof Array&&(this.absorbers=new Absorber);this.absorbers.load(i.absorbers)}const o=null===(t=null===(s=i.interactivity)||void 0===s?void 0:s.modes)||void 0===t?void 0:t.absorbers;if(o)if(o instanceof Array)this.interactivityAbsorbers=o.map((i=>{const s=new Absorber;s.load(i);return s}));else{this.interactivityAbsorbers instanceof Array&&(this.interactivityAbsorbers=new Absorber);this.interactivityAbsorbers.load(o)}if(this.absorbers instanceof Array)for(const i of this.absorbers)this.addAbsorber(i);else this.addAbsorber(this.absorbers)}particleUpdate(i){for(const s of this.array){s.attract(i);if(i.destroyed)break}}removeAbsorber(i){const s=this.array.indexOf(i);s>=0&&this.array.splice(s,1)}resize(){for(const i of this.array)i.resize()}stop(){this.array=[]}}class AbsorbersPlugin{constructor(){this.id=\"absorbers\"}getPlugin(i){return new Absorbers(i)}loadOptions(i,s){var t,o;if(!this.needsPlugin(i)&&!this.needsPlugin(s))return;const r=i;if(null===s||void 0===s?void 0:s.absorbers)if((null===s||void 0===s?void 0:s.absorbers)instanceof Array)r.absorbers=null===s||void 0===s?void 0:s.absorbers.map((i=>{const s=new Absorber;s.load(i);return s}));else{let i=r.absorbers;void 0===(null===i||void 0===i?void 0:i.load)&&(r.absorbers=i=new Absorber);i.load(null===s||void 0===s?void 0:s.absorbers)}const e=null===(o=null===(t=null===s||void 0===s?void 0:s.interactivity)||void 0===t?void 0:t.modes)||void 0===o?void 0:o.absorbers;if(e)if(e instanceof Array)r.interactivity.modes.absorbers=e.map((i=>{const s=new Absorber;s.load(i);return s}));else{let i=r.interactivity.modes.absorbers;void 0===(null===i||void 0===i?void 0:i.load)&&(r.interactivity.modes.absorbers=i=new Absorber);i.load(e)}}needsPlugin(i){var s,t,o;if(!i)return false;const r=i.absorbers;return r instanceof Array?!!r.length:!!r||!(!(null===(o=null===(t=null===(s=i.interactivity)||void 0===s?void 0:s.events)||void 0===t?void 0:t.onClick)||void 0===o?void 0:o.mode)||!u(\"absorber\",i.interactivity.events.onClick.mode))}}async function loadAbsorbersPlugin(i){const s=new AbsorbersPlugin;await i.addPlugin(s)}export{loadAbsorbersPlugin};\n\n//# sourceMappingURL=index.js.map","import{getRandom as t,setRangeValue as i,deepExtend as e,AnimatableColor as s,rangeColorToHsl as o,getRangeValue as a,isPointInside as r,Vector as n,calcPositionOrRandomFromSizeRanged as l,itemFromArray as h,randomInRange as d,arrayRandomIndex as c,isInArray as u}from\"tsparticles-engine\";class CircleShape{randomPosition(i,e,s){const generateTheta=(i,e)=>{const s=t()/4,o=Math.atan(e/i*Math.tan(2*Math.PI*s)),a=t();return a<.25?o:a<.5?Math.PI-o:a<.75?Math.PI+o:-o},radius=(t,i,e)=>t*i/Math.sqrt((i*Math.cos(e))**2+(t*Math.sin(e))**2),[o,a]=[e.width/2,e.height/2],r=generateTheta(o,a),n=radius(o,a,r),l=s?n*Math.sqrt(t()):n;return{x:i.x+l*Math.cos(r),y:i.y+l*Math.sin(r)}}}class EmitterLife{constructor(){this.wait=false}load(t){if(void 0!==t){void 0!==t.count&&(this.count=t.count);void 0!==t.delay&&(this.delay=t.delay);void 0!==t.duration&&(this.duration=t.duration);void 0!==t.wait&&(this.wait=t.wait)}}}class EmitterRate{constructor(){this.quantity=1;this.delay=.1}load(t){if(void 0!==t){void 0!==t.quantity&&(this.quantity=i(t.quantity));void 0!==t.delay&&(this.delay=i(t.delay))}}}class EmitterSize{constructor(){this.mode=\"percent\";this.height=0;this.width=0}load(t){if(void 0!==t){void 0!==t.mode&&(this.mode=t.mode);void 0!==t.height&&(this.height=t.height);void 0!==t.width&&(this.width=t.width)}}}class Emitter{constructor(){this.autoPlay=true;this.fill=true;this.life=new EmitterLife;this.rate=new EmitterRate;this.shape=\"square\";this.startCount=0}load(t){if(void 0!==t){void 0!==t.autoPlay&&(this.autoPlay=t.autoPlay);if(void 0!==t.size){void 0===this.size&&(this.size=new EmitterSize);this.size.load(t.size)}void 0!==t.direction&&(this.direction=t.direction);this.domId=t.domId;void 0!==t.fill&&(this.fill=t.fill);this.life.load(t.life);this.name=t.name;void 0!==t.particles&&(t.particles instanceof Array?this.particles=t.particles.map((t=>e({},t))):this.particles=e({},t.particles));this.rate.load(t.rate);void 0!==t.shape&&(this.shape=t.shape);if(void 0!==t.position){this.position={};void 0!==t.position.x&&(this.position.x=i(t.position.x));void 0!==t.position.y&&(this.position.y=i(t.position.y))}if(void 0!==t.spawnColor){void 0===this.spawnColor&&(this.spawnColor=new s);this.spawnColor.load(t.spawnColor)}void 0!==t.startCount&&(this.startCount=t.startCount)}}}var m=(void 0,function(t,i,e,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,e):o?o.value=e:i.set(t,e),e});var v=(void 0,function(t,i,e,s){if(\"a\"===e&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?t!==i||!s:!i.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?s:\"a\"===e?s.call(t):s?s.value:i.get(t)});var p,f,y;class EmitterInstance{constructor(t,i,s,a,r){var n,l,h,d,c,u,w;var E;this.emitters=i;this.container=s;p.set(this,void 0);f.set(this,void 0);y.set(this,void 0);m(this,p,t,\"f\");this.currentDuration=0;this.currentEmitDelay=0;this.currentSpawnDelay=0;this.initialPosition=r;if(a instanceof Emitter)this.options=a;else{this.options=new Emitter;this.options.load(a)}this.spawnDelay=1e3*(null!==(n=this.options.life.delay)&&void 0!==n?n:0)/this.container.retina.reduceFactor;this.position=null!==(l=this.initialPosition)&&void 0!==l?l:this.calcPosition();this.name=this.options.name;this.shape=null===(h=v(this,p,\"f\").emitterShapeManager)||void 0===h?void 0:h.getShape(this.options.shape);this.fill=this.options.fill;m(this,f,!this.options.life.wait,\"f\");m(this,y,false,\"f\");let g=e({},this.options.particles);null!==g&&void 0!==g?g:g={};null!==(d=g.move)&&void 0!==d?d:g.move={};null!==(c=(E=g.move).direction)&&void 0!==c?c:E.direction=this.options.direction;this.options.spawnColor&&(this.spawnColor=o(this.options.spawnColor));this.paused=!this.options.autoPlay;this.particlesOptions=g;this.size=null!==(u=this.options.size)&&void 0!==u?u:(()=>{const t=new EmitterSize;t.load({height:0,mode:\"percent\",width:0});return t})();this.lifeCount=null!==(w=this.options.life.count)&&void 0!==w?w:-1;this.immortal=this.lifeCount<=0;v(this,p,\"f\").dispatchEvent(\"emitterCreated\",{container:s,data:{emitter:this}});this.play()}externalPause(){this.paused=true;this.pause()}externalPlay(){this.paused=false;this.play()}getPosition(){if(this.options.domId){const t=this.container,i=document.getElementById(this.options.domId);if(i){const e=i.getBoundingClientRect();return{x:(e.x+e.width/2)*t.retina.pixelRatio,y:(e.y+e.height/2)*t.retina.pixelRatio}}}return this.position}getSize(){const t=this.container;if(this.options.domId){const i=document.getElementById(this.options.domId);if(i){const e=i.getBoundingClientRect();return{width:e.width*t.retina.pixelRatio,height:e.height*t.retina.pixelRatio}}}return{width:\"percent\"===this.size.mode?t.canvas.size.width*this.size.width/100:this.size.width,height:\"percent\"===this.size.mode?t.canvas.size.height*this.size.height/100:this.size.height}}pause(){this.paused||delete this.emitDelay}play(){var t;if(!this.paused&&this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal||!this.options.life.count)&&(v(this,f,\"f\")||this.currentSpawnDelay>=(null!==(t=this.spawnDelay)&&void 0!==t?t:0))){if(void 0===this.emitDelay){const t=a(this.options.rate.delay);this.emitDelay=1e3*t/this.container.retina.reduceFactor}(this.lifeCount>0||this.immortal)&&this.prepareToDie()}}resize(){const t=this.initialPosition;this.position=t&&r(t,this.container.canvas.size,n.origin)?t:this.calcPosition()}update(t){var i,e,s;if(!this.paused){if(v(this,f,\"f\")){m(this,f,false,\"f\");this.currentSpawnDelay=null!==(i=this.spawnDelay)&&void 0!==i?i:0;this.currentEmitDelay=null!==(e=this.emitDelay)&&void 0!==e?e:0}if(!v(this,y,\"f\")){m(this,y,true,\"f\");this.emitParticles(this.options.startCount)}if(void 0!==this.duration){this.currentDuration+=t.value;if(this.currentDuration>=this.duration){this.pause();void 0!==this.spawnDelay&&delete this.spawnDelay;this.immortal||this.lifeCount--;if(this.lifeCount>0||this.immortal){this.position=this.calcPosition();this.spawnDelay=1e3*(null!==(s=this.options.life.delay)&&void 0!==s?s:0)/this.container.retina.reduceFactor}else this.destroy();this.currentDuration-=this.duration;delete this.duration}}if(void 0!==this.spawnDelay){this.currentSpawnDelay+=t.value;if(this.currentSpawnDelay>=this.spawnDelay){v(this,p,\"f\").dispatchEvent(\"emitterPlay\",{container:this.container});this.play();this.currentSpawnDelay-=this.currentSpawnDelay;delete this.spawnDelay}}if(void 0!==this.emitDelay){this.currentEmitDelay+=t.value;if(this.currentEmitDelay>=this.emitDelay){this.emit();this.currentEmitDelay-=this.emitDelay}}}}calcPosition(){return l({size:this.container.canvas.size,position:this.options.position})}destroy(){this.emitters.removeEmitter(this);v(this,p,\"f\").dispatchEvent(\"emitterDestroyed\",{container:this.container,data:{emitter:this}})}emit(){if(this.paused)return;const t=a(this.options.rate.quantity);this.emitParticles(t)}emitParticles(t){var i,s,o;const a=this.getPosition(),r=this.getSize(),n=this.particlesOptions instanceof Array?h(this.particlesOptions):this.particlesOptions;for(let l=0;l<t;l++){const t=e({},n);if(this.spawnColor){const e=null===(i=this.options.spawnColor)||void 0===i?void 0:i.animation;if(e){this.spawnColor.h=this.setColorAnimation(e.h,this.spawnColor.h,360);this.spawnColor.s=this.setColorAnimation(e.s,this.spawnColor.s,100);this.spawnColor.l=this.setColorAnimation(e.l,this.spawnColor.l,100)}t.color?t.color.value=this.spawnColor:t.color={value:this.spawnColor}}if(!a)return;const l=null!==(o=null===(s=this.shape)||void 0===s?void 0:s.randomPosition(a,r,this.fill))&&void 0!==o?o:a;this.container.particles.addParticle(l,t)}}prepareToDie(){var t;if(this.paused)return;const i=null===(t=this.options.life)||void 0===t?void 0:t.duration;this.container.retina.reduceFactor&&(this.lifeCount>0||this.immortal)&&void 0!==i&&i>0&&(this.duration=1e3*i)}setColorAnimation(t,i,e){var s;const o=this.container;if(!t.enable)return i;const r=d(t.offset),n=a(this.options.rate.delay),l=1e3*n/o.retina.reduceFactor,h=a(null!==(s=t.speed)&&void 0!==s?s:0);return(i+h*o.fpsLimit/l+3.6*r)%e}}p=new WeakMap,f=new WeakMap,y=new WeakMap;var w=(void 0,function(t,i,e,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,e):o?o.value=e:i.set(t,e),e});var E=(void 0,function(t,i,e,s){if(\"a\"===e&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?t!==i||!s:!i.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?s:\"a\"===e?s.call(t):s?s.value:i.get(t)});var g;class Emitters{constructor(t,i){this.container=i;g.set(this,void 0);w(this,g,t,\"f\");this.array=[];this.emitters=[];this.interactivityEmitters={random:{count:1,enable:false},value:[]};i.getEmitter=t=>void 0===t||\"number\"===typeof t?this.array[t||0]:this.array.find((i=>i.name===t));i.addEmitter=(t,i)=>this.addEmitter(t,i);i.removeEmitter=t=>{const e=i.getEmitter(t);e&&this.removeEmitter(e)};i.playEmitter=t=>{const e=i.getEmitter(t);e&&e.externalPlay()};i.pauseEmitter=t=>{const e=i.getEmitter(t);e&&e.externalPause()}}addEmitter(t,i){const e=new Emitter;e.load(t);const s=new EmitterInstance(E(this,g,\"f\"),this,this.container,e,i);this.array.push(s);return s}handleClickMode(t){const i=this.emitters,s=this.interactivityEmitters;if(\"emitter\"===t){let t;if(s&&s.value instanceof Array)if(s.value.length>0&&s.random.enable){t=[];const i=[];for(let e=0;e<s.random.count;e++){const o=c(s.value);if(i.includes(o)&&i.length<s.value.length)e--;else{i.push(o);t.push(h(s.value,o))}}}else t=s.value;else t=null===s||void 0===s?void 0:s.value;const o=null!==t&&void 0!==t?t:i,a=this.container.interactivity.mouse.clickPosition;if(o instanceof Array)for(const t of o)this.addEmitter(t,a);else this.addEmitter(e({},o),a)}}init(t){var i,e,s,o,a,r,n,l;if(!t)return;if(t.emitters)if(t.emitters instanceof Array)this.emitters=t.emitters.map((t=>{const i=new Emitter;i.load(t);return i}));else{this.emitters instanceof Array&&(this.emitters=new Emitter);this.emitters.load(t.emitters)}const h=null===(e=null===(i=t.interactivity)||void 0===i?void 0:i.modes)||void 0===e?void 0:e.emitters;if(h)if(h instanceof Array)this.interactivityEmitters={random:{count:1,enable:true},value:h.map((t=>{const i=new Emitter;i.load(t);return i}))};else{const t=h;if(void 0!==t.value)if(t.value instanceof Array)this.interactivityEmitters={random:{count:null!==(s=this.interactivityEmitters.random.count)&&void 0!==s?s:1,enable:null!==(o=this.interactivityEmitters.random.enable)&&void 0!==o&&o},value:t.value.map((t=>{const i=new Emitter;i.load(t);return i}))};else{const i=new Emitter;i.load(t.value);this.interactivityEmitters={random:{count:null!==(a=this.interactivityEmitters.random.count)&&void 0!==a?a:1,enable:null!==(r=this.interactivityEmitters.random.enable)&&void 0!==r&&r},value:i}}else{const t=new Emitter;t.load(h);this.interactivityEmitters={random:{count:null!==(n=this.interactivityEmitters.random.count)&&void 0!==n?n:1,enable:null!==(l=this.interactivityEmitters.random.enable)&&void 0!==l&&l},value:t}}}if(this.emitters instanceof Array)for(const t of this.emitters)this.addEmitter(t);else this.addEmitter(this.emitters)}pause(){for(const t of this.array)t.pause()}play(){for(const t of this.array)t.play()}removeEmitter(t){const i=this.array.indexOf(t);i>=0&&this.array.splice(i,1)}resize(){for(const t of this.array)t.resize()}stop(){this.array=[]}update(t){for(const i of this.array)i.update(t)}}g=new WeakMap;var C=(void 0,function(t,i,e,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,e):o?o.value=e:i.set(t,e),e});var P;const S=new Map;class ShapeManager{constructor(t){P.set(this,void 0);C(this,P,t,\"f\")}addShape(t,i){this.getShape(t)||S.set(t,i)}getShape(t){return S.get(t)}getSupportedShapes(){return S.keys()}}P=new WeakMap;function randomSquareCoordinate(i,e){return i+e*(t()-.5)}class SquareShape{randomPosition(i,e,s){if(s)return{x:randomSquareCoordinate(i.x,e.width),y:randomSquareCoordinate(i.y,e.height)};{const s=e.width/2,o=e.height/2,a=Math.floor(4*t()),r=2*(t()-.5);switch(a){case 0:return{x:i.x+r*s,y:i.y-o};case 1:return{x:i.x-s,y:i.y+r*o};case 2:return{x:i.x+r*s,y:i.y+o};case 3:default:return{x:i.x+s,y:i.y+r*o}}}}}var b=(void 0,function(t,i,e,s,o){if(\"m\"===s)throw new TypeError(\"Private method is not writable\");if(\"a\"===s&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===s?o.call(t,e):o?o.value=e:i.set(t,e),e});var D=(void 0,function(t,i,e,s){if(\"a\"===e&&!s)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?t!==i||!s:!i.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?s:\"a\"===e?s.call(t):s?s.value:i.get(t)});var x;class EmittersPlugin{constructor(t){x.set(this,void 0);b(this,x,t,\"f\");this.id=\"emitters\"}getPlugin(t){return new Emitters(D(this,x,\"f\"),t)}loadOptions(t,i){var e,s,o,a,r,n;if(!this.needsPlugin(t)&&!this.needsPlugin(i))return;const l=t;if(null===i||void 0===i?void 0:i.emitters)if((null===i||void 0===i?void 0:i.emitters)instanceof Array)l.emitters=null===i||void 0===i?void 0:i.emitters.map((t=>{const i=new Emitter;i.load(t);return i}));else{let t=l.emitters;void 0===(null===t||void 0===t?void 0:t.load)&&(l.emitters=t=new Emitter);t.load(null===i||void 0===i?void 0:i.emitters)}const h=null===(s=null===(e=null===i||void 0===i?void 0:i.interactivity)||void 0===e?void 0:e.modes)||void 0===s?void 0:s.emitters;if(h)if(h instanceof Array)l.interactivity.modes.emitters={random:{count:1,enable:true},value:h.map((t=>{const i=new Emitter;i.load(t);return i}))};else{const t=h;if(void 0!==t.value)if(t.value instanceof Array)l.interactivity.modes.emitters={random:{count:null!==(o=t.random.count)&&void 0!==o?o:1,enable:null!==(a=t.random.enable)&&void 0!==a&&a},value:t.value.map((t=>{const i=new Emitter;i.load(t);return i}))};else{const i=new Emitter;i.load(t.value);l.interactivity.modes.emitters={random:{count:null!==(r=t.random.count)&&void 0!==r?r:1,enable:null!==(n=t.random.enable)&&void 0!==n&&n},value:i}}else{const t=l.interactivity.modes.emitters={random:{count:1,enable:false},value:new Emitter};t.value.load(h)}}}needsPlugin(t){var i,e,s;if(!t)return false;const o=t.emitters;return o instanceof Array&&!!o.length||void 0!==o||!!(null===(s=null===(e=null===(i=t.interactivity)||void 0===i?void 0:i.events)||void 0===e?void 0:e.onClick)||void 0===s?void 0:s.mode)&&u(\"emitter\",t.interactivity.events.onClick.mode)}}x=new WeakMap;async function loadEmittersPlugin(t){t.emitterShapeManager||(t.emitterShapeManager=new ShapeManager(t));t.addEmitterShape||(t.addEmitterShape=(i,e)=>{var s;null===(s=t.emitterShapeManager)||void 0===s?void 0:s.addShape(i,e)});const i=new EmittersPlugin(t);await t.addPlugin(i);t.addEmitterShape(\"circle\",new CircleShape);t.addEmitterShape(\"square\",new SquareShape)}export{loadEmittersPlugin};\n\n//# sourceMappingURL=index.js.map","import{deepExtend as t,ExternalInteractorBase as i,isInArray as e}from\"tsparticles-engine\";class Trail{constructor(){this.delay=1;this.pauseOnStop=false;this.quantity=1}load(i){if(i){void 0!==i.delay&&(this.delay=i.delay);void 0!==i.quantity&&(this.quantity=i.quantity);void 0!==i.particles&&(this.particles=t({},i.particles));void 0!==i.pauseOnStop&&(this.pauseOnStop=i.pauseOnStop)}}}var a=(void 0,function(t,i,e,a,o){if(\"m\"===a)throw new TypeError(\"Private method is not writable\");if(\"a\"===a&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===a?o.call(t,e):o?o.value=e:i.set(t,e),e});var o=(void 0,function(t,i,e,a){if(\"a\"===e&&!a)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?t!==i||!a:!i.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?a:\"a\"===e?a.call(t):a?a.value:i.get(t)});var r;class TrailMaker extends i{constructor(t){super(t);r.set(this,void 0);a(this,r,t,\"f\");this.delay=0}clear(){}init(){}async interact(t){var i,e,a,n;if(!this.container.retina.reduceFactor)return;const s=o(this,r,\"f\"),l=s.actualOptions,c=l.interactivity.modes.trail;if(!c)return;const d=1e3*c.delay/this.container.retina.reduceFactor;this.delay<d&&(this.delay+=t.value);if(this.delay<d)return;let u=true;c.pauseOnStop&&(s.interactivity.mouse.position===this.lastPosition||(null===(i=s.interactivity.mouse.position)||void 0===i?void 0:i.x)===(null===(e=this.lastPosition)||void 0===e?void 0:e.x)&&(null===(a=s.interactivity.mouse.position)||void 0===a?void 0:a.y)===(null===(n=this.lastPosition)||void 0===n?void 0:n.y))&&(u=false);s.interactivity.mouse.position?this.lastPosition={x:s.interactivity.mouse.position.x,y:s.interactivity.mouse.position.y}:delete this.lastPosition;u&&s.particles.push(c.quantity,s.interactivity.mouse,c.particles);this.delay-=d}isEnabled(t){var i;const a=this.container,o=a.actualOptions,r=a.interactivity.mouse,n=(null!==(i=null===t||void 0===t?void 0:t.interactivity)&&void 0!==i?i:o.interactivity).events;return r.clicking&&r.inside&&!!r.position&&e(\"trail\",n.onClick.mode)||r.inside&&!!r.position&&e(\"trail\",n.onHover.mode)}loadModeOptions(t,...i){t.trail||(t.trail=new Trail);for(const e of i)t.trail.load(null===e||void 0===e?void 0:e.trail)}reset(){}}r=new WeakMap;async function loadExternalTrailInteraction(t){await t.addInteractor(\"externalTrail\",(t=>new TrailMaker(t)))}export{Trail,loadExternalTrailInteraction};\n\n//# sourceMappingURL=index.js.map","import{OptionsColor as t,stringToAlpha as e,deepExtend as i,rangeColorToRgb as n,getStyleFromRgb as o,getDistances as r,Vector as s,noPolygonFound as h,getRandom as a,noPolygonDataLoaded as S,itemFromArray as u,getDistance as c}from\"tsparticles-engine\";(function(){try{if(\"undefined\"===typeof window)return;if(!(\"SVGPathSeg\"in window)){window.SVGPathSeg=function(t,e,i){this.pathSegType=t;this.pathSegTypeAsLetter=e;this._owningPathSegList=i};window.SVGPathSeg.prototype.classname=\"SVGPathSeg\";window.SVGPathSeg.PATHSEG_UNKNOWN=0;window.SVGPathSeg.PATHSEG_CLOSEPATH=1;window.SVGPathSeg.PATHSEG_MOVETO_ABS=2;window.SVGPathSeg.PATHSEG_MOVETO_REL=3;window.SVGPathSeg.PATHSEG_LINETO_ABS=4;window.SVGPathSeg.PATHSEG_LINETO_REL=5;window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS=6;window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL=7;window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS=8;window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL=9;window.SVGPathSeg.PATHSEG_ARC_ABS=10;window.SVGPathSeg.PATHSEG_ARC_REL=11;window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS=12;window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL=13;window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS=14;window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL=15;window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS=16;window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL=17;window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS=18;window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL=19;window.SVGPathSeg.prototype._segmentChanged=function(){this._owningPathSegList&&this._owningPathSegList.segmentChanged(this)};window.SVGPathSegClosePath=function(t){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CLOSEPATH,\"z\",t)};window.SVGPathSegClosePath.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegClosePath.prototype.toString=function(){return\"[object SVGPathSegClosePath]\"};window.SVGPathSegClosePath.prototype._asPathString=function(){return this.pathSegTypeAsLetter};window.SVGPathSegClosePath.prototype.clone=function(){return new window.SVGPathSegClosePath(void 0)};window.SVGPathSegMovetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_ABS,\"M\",t);this._x=e;this._y=i};window.SVGPathSegMovetoAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegMovetoAbs.prototype.toString=function(){return\"[object SVGPathSegMovetoAbs]\"};window.SVGPathSegMovetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegMovetoAbs.prototype.clone=function(){return new window.SVGPathSegMovetoAbs(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegMovetoAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegMovetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_MOVETO_REL,\"m\",t);this._x=e;this._y=i};window.SVGPathSegMovetoRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegMovetoRel.prototype.toString=function(){return\"[object SVGPathSegMovetoRel]\"};window.SVGPathSegMovetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegMovetoRel.prototype.clone=function(){return new window.SVGPathSegMovetoRel(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegMovetoRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegMovetoRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_ABS,\"L\",t);this._x=e;this._y=i};window.SVGPathSegLinetoAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoAbs.prototype.toString=function(){return\"[object SVGPathSegLinetoAbs]\"};window.SVGPathSegLinetoAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegLinetoAbs.prototype.clone=function(){return new window.SVGPathSegLinetoAbs(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegLinetoAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_REL,\"l\",t);this._x=e;this._y=i};window.SVGPathSegLinetoRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoRel.prototype.toString=function(){return\"[object SVGPathSegLinetoRel]\"};window.SVGPathSegLinetoRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegLinetoRel.prototype.clone=function(){return new window.SVGPathSegLinetoRel(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegLinetoRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegLinetoRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoCubicAbs=function(t,e,i,n,o,r,s){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS,\"C\",t);this._x=e;this._y=i;this._x1=n;this._y1=o;this._x2=r;this._y2=s};window.SVGPathSegCurvetoCubicAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoCubicAbs.prototype.toString=function(){return\"[object SVGPathSegCurvetoCubicAbs]\"};window.SVGPathSegCurvetoCubicAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x1+\" \"+this._y1+\" \"+this._x2+\" \"+this._y2+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoCubicAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicAbs(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)};Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"x1\",{get:function(){return this._x1},set:function(t){this._x1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"y1\",{get:function(){return this._y1},set:function(t){this._y1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"x2\",{get:function(){return this._x2},set:function(t){this._x2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicAbs.prototype,\"y2\",{get:function(){return this._y2},set:function(t){this._y2=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoCubicRel=function(t,e,i,n,o,r,s){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL,\"c\",t);this._x=e;this._y=i;this._x1=n;this._y1=o;this._x2=r;this._y2=s};window.SVGPathSegCurvetoCubicRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoCubicRel.prototype.toString=function(){return\"[object SVGPathSegCurvetoCubicRel]\"};window.SVGPathSegCurvetoCubicRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x1+\" \"+this._y1+\" \"+this._x2+\" \"+this._y2+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoCubicRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicRel(void 0,this._x,this._y,this._x1,this._y1,this._x2,this._y2)};Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"x1\",{get:function(){return this._x1},set:function(t){this._x1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"y1\",{get:function(){return this._y1},set:function(t){this._y1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"x2\",{get:function(){return this._x2},set:function(t){this._x2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicRel.prototype,\"y2\",{get:function(){return this._y2},set:function(t){this._y2=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoQuadraticAbs=function(t,e,i,n,o){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS,\"Q\",t);this._x=e;this._y=i;this._x1=n;this._y1=o};window.SVGPathSegCurvetoQuadraticAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoQuadraticAbs.prototype.toString=function(){return\"[object SVGPathSegCurvetoQuadraticAbs]\"};window.SVGPathSegCurvetoQuadraticAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x1+\" \"+this._y1+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoQuadraticAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,this._x,this._y,this._x1,this._y1)};Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,\"x1\",{get:function(){return this._x1},set:function(t){this._x1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticAbs.prototype,\"y1\",{get:function(){return this._y1},set:function(t){this._y1=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoQuadraticRel=function(t,e,i,n,o){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL,\"q\",t);this._x=e;this._y=i;this._x1=n;this._y1=o};window.SVGPathSegCurvetoQuadraticRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoQuadraticRel.prototype.toString=function(){return\"[object SVGPathSegCurvetoQuadraticRel]\"};window.SVGPathSegCurvetoQuadraticRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x1+\" \"+this._y1+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoQuadraticRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticRel(void 0,this._x,this._y,this._x1,this._y1)};Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,\"x1\",{get:function(){return this._x1},set:function(t){this._x1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticRel.prototype,\"y1\",{get:function(){return this._y1},set:function(t){this._y1=t;this._segmentChanged()},enumerable:true});window.SVGPathSegArcAbs=function(t,e,i,n,o,r,s,h){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_ABS,\"A\",t);this._x=e;this._y=i;this._r1=n;this._r2=o;this._angle=r;this._largeArcFlag=s;this._sweepFlag=h};window.SVGPathSegArcAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegArcAbs.prototype.toString=function(){return\"[object SVGPathSegArcAbs]\"};window.SVGPathSegArcAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._r1+\" \"+this._r2+\" \"+this._angle+\" \"+(this._largeArcFlag?\"1\":\"0\")+\" \"+(this._sweepFlag?\"1\":\"0\")+\" \"+this._x+\" \"+this._y};window.SVGPathSegArcAbs.prototype.clone=function(){return new window.SVGPathSegArcAbs(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)};Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"r1\",{get:function(){return this._r1},set:function(t){this._r1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"r2\",{get:function(){return this._r2},set:function(t){this._r2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"angle\",{get:function(){return this._angle},set:function(t){this._angle=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"largeArcFlag\",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcAbs.prototype,\"sweepFlag\",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t;this._segmentChanged()},enumerable:true});window.SVGPathSegArcRel=function(t,e,i,n,o,r,s,h){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_ARC_REL,\"a\",t);this._x=e;this._y=i;this._r1=n;this._r2=o;this._angle=r;this._largeArcFlag=s;this._sweepFlag=h};window.SVGPathSegArcRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegArcRel.prototype.toString=function(){return\"[object SVGPathSegArcRel]\"};window.SVGPathSegArcRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._r1+\" \"+this._r2+\" \"+this._angle+\" \"+(this._largeArcFlag?\"1\":\"0\")+\" \"+(this._sweepFlag?\"1\":\"0\")+\" \"+this._x+\" \"+this._y};window.SVGPathSegArcRel.prototype.clone=function(){return new window.SVGPathSegArcRel(void 0,this._x,this._y,this._r1,this._r2,this._angle,this._largeArcFlag,this._sweepFlag)};Object.defineProperty(window.SVGPathSegArcRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"r1\",{get:function(){return this._r1},set:function(t){this._r1=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"r2\",{get:function(){return this._r2},set:function(t){this._r2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"angle\",{get:function(){return this._angle},set:function(t){this._angle=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"largeArcFlag\",{get:function(){return this._largeArcFlag},set:function(t){this._largeArcFlag=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegArcRel.prototype,\"sweepFlag\",{get:function(){return this._sweepFlag},set:function(t){this._sweepFlag=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoHorizontalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS,\"H\",t);this._x=e};window.SVGPathSegLinetoHorizontalAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoHorizontalAbs.prototype.toString=function(){return\"[object SVGPathSegLinetoHorizontalAbs]\"};window.SVGPathSegLinetoHorizontalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x};window.SVGPathSegLinetoHorizontalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalAbs(void 0,this._x)};Object.defineProperty(window.SVGPathSegLinetoHorizontalAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoHorizontalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL,\"h\",t);this._x=e};window.SVGPathSegLinetoHorizontalRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoHorizontalRel.prototype.toString=function(){return\"[object SVGPathSegLinetoHorizontalRel]\"};window.SVGPathSegLinetoHorizontalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x};window.SVGPathSegLinetoHorizontalRel.prototype.clone=function(){return new window.SVGPathSegLinetoHorizontalRel(void 0,this._x)};Object.defineProperty(window.SVGPathSegLinetoHorizontalRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoVerticalAbs=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS,\"V\",t);this._y=e};window.SVGPathSegLinetoVerticalAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoVerticalAbs.prototype.toString=function(){return\"[object SVGPathSegLinetoVerticalAbs]\"};window.SVGPathSegLinetoVerticalAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._y};window.SVGPathSegLinetoVerticalAbs.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalAbs(void 0,this._y)};Object.defineProperty(window.SVGPathSegLinetoVerticalAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegLinetoVerticalRel=function(t,e){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL,\"v\",t);this._y=e};window.SVGPathSegLinetoVerticalRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegLinetoVerticalRel.prototype.toString=function(){return\"[object SVGPathSegLinetoVerticalRel]\"};window.SVGPathSegLinetoVerticalRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._y};window.SVGPathSegLinetoVerticalRel.prototype.clone=function(){return new window.SVGPathSegLinetoVerticalRel(void 0,this._y)};Object.defineProperty(window.SVGPathSegLinetoVerticalRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,n,o){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS,\"S\",t);this._x=e;this._y=i;this._x2=n;this._y2=o};window.SVGPathSegCurvetoCubicSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoCubicSmoothAbs.prototype.toString=function(){return\"[object SVGPathSegCurvetoCubicSmoothAbs]\"};window.SVGPathSegCurvetoCubicSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x2+\" \"+this._y2+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoCubicSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,this._x,this._y,this._x2,this._y2)};Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,\"x2\",{get:function(){return this._x2},set:function(t){this._x2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothAbs.prototype,\"y2\",{get:function(){return this._y2},set:function(t){this._y2=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoCubicSmoothRel=function(t,e,i,n,o){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL,\"s\",t);this._x=e;this._y=i;this._x2=n;this._y2=o};window.SVGPathSegCurvetoCubicSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoCubicSmoothRel.prototype.toString=function(){return\"[object SVGPathSegCurvetoCubicSmoothRel]\"};window.SVGPathSegCurvetoCubicSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x2+\" \"+this._y2+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoCubicSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,this._x,this._y,this._x2,this._y2)};Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,\"x2\",{get:function(){return this._x2},set:function(t){this._x2=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoCubicSmoothRel.prototype,\"y2\",{get:function(){return this._y2},set:function(t){this._y2=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoQuadraticSmoothAbs=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS,\"T\",t);this._x=e;this._y=i};window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.toString=function(){return\"[object SVGPathSegCurvetoQuadraticSmoothAbs]\"};window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothAbs.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathSegCurvetoQuadraticSmoothRel=function(t,e,i){window.SVGPathSeg.call(this,window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL,\"t\",t);this._x=e;this._y=i};window.SVGPathSegCurvetoQuadraticSmoothRel.prototype=Object.create(window.SVGPathSeg.prototype);window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.toString=function(){return\"[object SVGPathSegCurvetoQuadraticSmoothRel]\"};window.SVGPathSegCurvetoQuadraticSmoothRel.prototype._asPathString=function(){return this.pathSegTypeAsLetter+\" \"+this._x+\" \"+this._y};window.SVGPathSegCurvetoQuadraticSmoothRel.prototype.clone=function(){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,this._x,this._y)};Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t;this._segmentChanged()},enumerable:true});Object.defineProperty(window.SVGPathSegCurvetoQuadraticSmoothRel.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t;this._segmentChanged()},enumerable:true});window.SVGPathElement.prototype.createSVGPathSegClosePath=function(){return new window.SVGPathSegClosePath(void 0)};window.SVGPathElement.prototype.createSVGPathSegMovetoAbs=function(t,e){return new window.SVGPathSegMovetoAbs(void 0,t,e)};window.SVGPathElement.prototype.createSVGPathSegMovetoRel=function(t,e){return new window.SVGPathSegMovetoRel(void 0,t,e)};window.SVGPathElement.prototype.createSVGPathSegLinetoAbs=function(t,e){return new window.SVGPathSegLinetoAbs(void 0,t,e)};window.SVGPathElement.prototype.createSVGPathSegLinetoRel=function(t,e){return new window.SVGPathSegLinetoRel(void 0,t,e)};window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicAbs=function(t,e,i,n,o,r){return new window.SVGPathSegCurvetoCubicAbs(void 0,t,e,i,n,o,r)};window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicRel=function(t,e,i,n,o,r){return new window.SVGPathSegCurvetoCubicRel(void 0,t,e,i,n,o,r)};window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticAbs=function(t,e,i,n){return new window.SVGPathSegCurvetoQuadraticAbs(void 0,t,e,i,n)};window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticRel=function(t,e,i,n){return new window.SVGPathSegCurvetoQuadraticRel(void 0,t,e,i,n)};window.SVGPathElement.prototype.createSVGPathSegArcAbs=function(t,e,i,n,o,r,s){return new window.SVGPathSegArcAbs(void 0,t,e,i,n,o,r,s)};window.SVGPathElement.prototype.createSVGPathSegArcRel=function(t,e,i,n,o,r,s){return new window.SVGPathSegArcRel(void 0,t,e,i,n,o,r,s)};window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalAbs=function(t){return new window.SVGPathSegLinetoHorizontalAbs(void 0,t)};window.SVGPathElement.prototype.createSVGPathSegLinetoHorizontalRel=function(t){return new window.SVGPathSegLinetoHorizontalRel(void 0,t)};window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalAbs=function(t){return new window.SVGPathSegLinetoVerticalAbs(void 0,t)};window.SVGPathElement.prototype.createSVGPathSegLinetoVerticalRel=function(t){return new window.SVGPathSegLinetoVerticalRel(void 0,t)};window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothAbs=function(t,e,i,n){return new window.SVGPathSegCurvetoCubicSmoothAbs(void 0,t,e,i,n)};window.SVGPathElement.prototype.createSVGPathSegCurvetoCubicSmoothRel=function(t,e,i,n){return new window.SVGPathSegCurvetoCubicSmoothRel(void 0,t,e,i,n)};window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothAbs=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothAbs(void 0,t,e)};window.SVGPathElement.prototype.createSVGPathSegCurvetoQuadraticSmoothRel=function(t,e){return new window.SVGPathSegCurvetoQuadraticSmoothRel(void 0,t,e)};\"getPathSegAtLength\"in window.SVGPathElement.prototype||(window.SVGPathElement.prototype.getPathSegAtLength=function(t){if(void 0===t||!isFinite(t))throw\"Invalid arguments.\";const e=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");e.setAttribute(\"d\",this.getAttribute(\"d\"));let i=e.pathSegList.numberOfItems-1;if(i<=0)return 0;do{e.pathSegList.removeItem(i);if(t>e.getTotalLength())break;i--}while(i>0);return i})}if(!(\"SVGPathSegList\"in window)||!(\"appendItem\"in window.SVGPathSegList.prototype)){window.SVGPathSegList=function(t){this._pathElement=t;this._list=this._parsePath(this._pathElement.getAttribute(\"d\"));this._mutationObserverConfig={attributes:true,attributeFilter:[\"d\"]};this._pathElementMutationObserver=new MutationObserver(this._updateListFromPathMutations.bind(this));this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)};window.SVGPathSegList.prototype.classname=\"SVGPathSegList\";Object.defineProperty(window.SVGPathSegList.prototype,\"numberOfItems\",{get:function(){this._checkPathSynchronizedToList();return this._list.length},enumerable:true});Object.defineProperty(window.SVGPathSegList.prototype,\"length\",{get:function(){this._checkPathSynchronizedToList();return this._list.length},enumerable:true});Object.defineProperty(window.SVGPathElement.prototype,\"pathSegList\",{get:function(){this._pathSegList||(this._pathSegList=new window.SVGPathSegList(this));return this._pathSegList},enumerable:true});Object.defineProperty(window.SVGPathElement.prototype,\"normalizedPathSegList\",{get:function(){return this.pathSegList},enumerable:true});Object.defineProperty(window.SVGPathElement.prototype,\"animatedPathSegList\",{get:function(){return this.pathSegList},enumerable:true});Object.defineProperty(window.SVGPathElement.prototype,\"animatedNormalizedPathSegList\",{get:function(){return this.pathSegList},enumerable:true});window.SVGPathSegList.prototype._checkPathSynchronizedToList=function(){this._updateListFromPathMutations(this._pathElementMutationObserver.takeRecords())};window.SVGPathSegList.prototype._updateListFromPathMutations=function(t){if(!this._pathElement)return;let e=false;t.forEach((function(t){\"d\"==t.attributeName&&(e=true)}));e&&(this._list=this._parsePath(this._pathElement.getAttribute(\"d\")))};window.SVGPathSegList.prototype._writeListToPath=function(){this._pathElementMutationObserver.disconnect();this._pathElement.setAttribute(\"d\",window.SVGPathSegList._pathSegArrayAsString(this._list));this._pathElementMutationObserver.observe(this._pathElement,this._mutationObserverConfig)};window.SVGPathSegList.prototype.segmentChanged=function(t){this._writeListToPath()};window.SVGPathSegList.prototype.clear=function(){this._checkPathSynchronizedToList();this._list.forEach((function(t){t._owningPathSegList=null}));this._list=[];this._writeListToPath()};window.SVGPathSegList.prototype.initialize=function(t){this._checkPathSynchronizedToList();this._list=[t];t._owningPathSegList=this;this._writeListToPath();return t};window.SVGPathSegList.prototype._checkValidIndex=function(t){if(isNaN(t)||t<0||t>=this.numberOfItems)throw\"INDEX_SIZE_ERR\"};window.SVGPathSegList.prototype.getItem=function(t){this._checkPathSynchronizedToList();this._checkValidIndex(t);return this._list[t]};window.SVGPathSegList.prototype.insertItemBefore=function(t,e){this._checkPathSynchronizedToList();e>this.numberOfItems&&(e=this.numberOfItems);t._owningPathSegList&&(t=t.clone());this._list.splice(e,0,t);t._owningPathSegList=this;this._writeListToPath();return t};window.SVGPathSegList.prototype.replaceItem=function(t,e){this._checkPathSynchronizedToList();t._owningPathSegList&&(t=t.clone());this._checkValidIndex(e);this._list[e]=t;t._owningPathSegList=this;this._writeListToPath();return t};window.SVGPathSegList.prototype.removeItem=function(t){this._checkPathSynchronizedToList();this._checkValidIndex(t);const e=this._list[t];this._list.splice(t,1);this._writeListToPath();return e};window.SVGPathSegList.prototype.appendItem=function(t){this._checkPathSynchronizedToList();t._owningPathSegList&&(t=t.clone());this._list.push(t);t._owningPathSegList=this;this._writeListToPath();return t};window.SVGPathSegList._pathSegArrayAsString=function(t){let e=\"\";let i=true;t.forEach((function(t){if(i){i=false;e+=t._asPathString()}else e+=\" \"+t._asPathString()}));return e};window.SVGPathSegList.prototype._parsePath=function(t){if(!t||0==t.length)return[];const e=this;const Builder=function(){this.pathSegList=[]};Builder.prototype.appendSegment=function(t){this.pathSegList.push(t)};const Source=function(t){this._string=t;this._currentIndex=0;this._endIndex=this._string.length;this._previousCommand=window.SVGPathSeg.PATHSEG_UNKNOWN;this._skipOptionalSpaces()};Source.prototype._isCurrentSpace=function(){const t=this._string[this._currentIndex];return t<=\" \"&&(\" \"==t||\"\\n\"==t||\"\\t\"==t||\"\\r\"==t||\"\\f\"==t)};Source.prototype._skipOptionalSpaces=function(){while(this._currentIndex<this._endIndex&&this._isCurrentSpace())this._currentIndex++;return this._currentIndex<this._endIndex};Source.prototype._skipOptionalSpacesOrDelimiter=function(){if(this._currentIndex<this._endIndex&&!this._isCurrentSpace()&&\",\"!=this._string.charAt(this._currentIndex))return false;if(this._skipOptionalSpaces()&&this._currentIndex<this._endIndex&&\",\"==this._string.charAt(this._currentIndex)){this._currentIndex++;this._skipOptionalSpaces()}return this._currentIndex<this._endIndex};Source.prototype.hasMoreData=function(){return this._currentIndex<this._endIndex};Source.prototype.peekSegmentType=function(){const t=this._string[this._currentIndex];return this._pathSegTypeFromChar(t)};Source.prototype._pathSegTypeFromChar=function(t){switch(t){case\"Z\":case\"z\":return window.SVGPathSeg.PATHSEG_CLOSEPATH;case\"M\":return window.SVGPathSeg.PATHSEG_MOVETO_ABS;case\"m\":return window.SVGPathSeg.PATHSEG_MOVETO_REL;case\"L\":return window.SVGPathSeg.PATHSEG_LINETO_ABS;case\"l\":return window.SVGPathSeg.PATHSEG_LINETO_REL;case\"C\":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS;case\"c\":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL;case\"Q\":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS;case\"q\":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL;case\"A\":return window.SVGPathSeg.PATHSEG_ARC_ABS;case\"a\":return window.SVGPathSeg.PATHSEG_ARC_REL;case\"H\":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS;case\"h\":return window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL;case\"V\":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS;case\"v\":return window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL;case\"S\":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS;case\"s\":return window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL;case\"T\":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS;case\"t\":return window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL;default:return window.SVGPathSeg.PATHSEG_UNKNOWN}};Source.prototype._nextCommandHelper=function(t,e){return(\"+\"==t||\"-\"==t||\".\"==t||t>=\"0\"&&t<=\"9\")&&e!=window.SVGPathSeg.PATHSEG_CLOSEPATH?e==window.SVGPathSeg.PATHSEG_MOVETO_ABS?window.SVGPathSeg.PATHSEG_LINETO_ABS:e==window.SVGPathSeg.PATHSEG_MOVETO_REL?window.SVGPathSeg.PATHSEG_LINETO_REL:e:window.SVGPathSeg.PATHSEG_UNKNOWN};Source.prototype.initialCommandIsMoveTo=function(){if(!this.hasMoreData())return true;const t=this.peekSegmentType();return t==window.SVGPathSeg.PATHSEG_MOVETO_ABS||t==window.SVGPathSeg.PATHSEG_MOVETO_REL};Source.prototype._parseNumber=function(){let t=0;let e=0;let i=1;let n=0;let o=1;let r=1;const s=this._currentIndex;this._skipOptionalSpaces();if(this._currentIndex<this._endIndex&&\"+\"==this._string.charAt(this._currentIndex))this._currentIndex++;else if(this._currentIndex<this._endIndex&&\"-\"==this._string.charAt(this._currentIndex)){this._currentIndex++;o=-1}if(this._currentIndex==this._endIndex||(this._string.charAt(this._currentIndex)<\"0\"||this._string.charAt(this._currentIndex)>\"9\")&&\".\"!=this._string.charAt(this._currentIndex))return;const h=this._currentIndex;while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>=\"0\"&&this._string.charAt(this._currentIndex)<=\"9\")this._currentIndex++;if(this._currentIndex!=h){let t=this._currentIndex-1;let i=1;while(t>=h){e+=i*(this._string.charAt(t--)-\"0\");i*=10}}if(this._currentIndex<this._endIndex&&\".\"==this._string.charAt(this._currentIndex)){this._currentIndex++;if(this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<\"0\"||this._string.charAt(this._currentIndex)>\"9\")return;while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>=\"0\"&&this._string.charAt(this._currentIndex)<=\"9\"){i*=10;n+=(this._string.charAt(this._currentIndex)-\"0\")/i;this._currentIndex+=1}}if(this._currentIndex!=s&&this._currentIndex+1<this._endIndex&&(\"e\"==this._string.charAt(this._currentIndex)||\"E\"==this._string.charAt(this._currentIndex))&&\"x\"!=this._string.charAt(this._currentIndex+1)&&\"m\"!=this._string.charAt(this._currentIndex+1)){this._currentIndex++;if(\"+\"==this._string.charAt(this._currentIndex))this._currentIndex++;else if(\"-\"==this._string.charAt(this._currentIndex)){this._currentIndex++;r=-1}if(this._currentIndex>=this._endIndex||this._string.charAt(this._currentIndex)<\"0\"||this._string.charAt(this._currentIndex)>\"9\")return;while(this._currentIndex<this._endIndex&&this._string.charAt(this._currentIndex)>=\"0\"&&this._string.charAt(this._currentIndex)<=\"9\"){t*=10;t+=this._string.charAt(this._currentIndex)-\"0\";this._currentIndex++}}let a=e+n;a*=o;t&&(a*=Math.pow(10,r*t));if(s!=this._currentIndex){this._skipOptionalSpacesOrDelimiter();return a}};Source.prototype._parseArcFlag=function(){if(this._currentIndex>=this._endIndex)return;let t=false;const e=this._string.charAt(this._currentIndex++);if(\"0\"==e)t=false;else{if(\"1\"!=e)return;t=true}this._skipOptionalSpacesOrDelimiter();return t};Source.prototype.parseSegment=function(){const t=this._string[this._currentIndex];let i=this._pathSegTypeFromChar(t);if(i==window.SVGPathSeg.PATHSEG_UNKNOWN){if(this._previousCommand==window.SVGPathSeg.PATHSEG_UNKNOWN)return null;i=this._nextCommandHelper(t,this._previousCommand);if(i==window.SVGPathSeg.PATHSEG_UNKNOWN)return null}else this._currentIndex++;this._previousCommand=i;let n;switch(i){case window.SVGPathSeg.PATHSEG_MOVETO_REL:return new window.SVGPathSegMovetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_MOVETO_ABS:return new window.SVGPathSegMovetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_REL:return new window.SVGPathSegLinetoRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_ABS:return new window.SVGPathSegLinetoAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_REL:return new window.SVGPathSegLinetoHorizontalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_HORIZONTAL_ABS:return new window.SVGPathSegLinetoHorizontalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_REL:return new window.SVGPathSegLinetoVerticalRel(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_LINETO_VERTICAL_ABS:return new window.SVGPathSegLinetoVerticalAbs(e,this._parseNumber());case window.SVGPathSeg.PATHSEG_CLOSEPATH:this._skipOptionalSpaces();return new window.SVGPathSegClosePath(e);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_REL:n={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicRel(e,n.x,n.y,n.x1,n.y1,n.x2,n.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_ABS:n={x1:this._parseNumber(),y1:this._parseNumber(),x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicAbs(e,n.x,n.y,n.x1,n.y1,n.x2,n.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:n={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicSmoothRel(e,n.x,n.y,n.x2,n.y2);case window.SVGPathSeg.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:n={x2:this._parseNumber(),y2:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoCubicSmoothAbs(e,n.x,n.y,n.x2,n.y2);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_REL:n={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoQuadraticRel(e,n.x,n.y,n.x1,n.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_ABS:n={x1:this._parseNumber(),y1:this._parseNumber(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegCurvetoQuadraticAbs(e,n.x,n.y,n.x1,n.y1);case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:return new window.SVGPathSegCurvetoQuadraticSmoothRel(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:return new window.SVGPathSegCurvetoQuadraticSmoothAbs(e,this._parseNumber(),this._parseNumber());case window.SVGPathSeg.PATHSEG_ARC_REL:n={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegArcRel(e,n.x,n.y,n.x1,n.y1,n.arcAngle,n.arcLarge,n.arcSweep);case window.SVGPathSeg.PATHSEG_ARC_ABS:n={x1:this._parseNumber(),y1:this._parseNumber(),arcAngle:this._parseNumber(),arcLarge:this._parseArcFlag(),arcSweep:this._parseArcFlag(),x:this._parseNumber(),y:this._parseNumber()};return new window.SVGPathSegArcAbs(e,n.x,n.y,n.x1,n.y1,n.arcAngle,n.arcLarge,n.arcSweep);default:throw\"Unknown path seg type.\"}};const i=new Builder;const n=new Source(t);if(!n.initialCommandIsMoveTo())return[];while(n.hasMoreData()){const t=n.parseSegment();if(!t)return[];i.appendSegment(t)}return i.pathSegList}}}catch(t){console.warn(\"An error occurred in tsParticles pathseg polyfill. If the Polygon Mask is not working, please open an issue here: https://github.com/matteobruni/tsparticles\",t)}})();class PolygonMaskDrawStroke{constructor(){this.color=new t;this.width=.5;this.opacity=1}load(i){var n;if(i){this.color=t.create(this.color,i.color);\"string\"===typeof this.color.value&&(this.opacity=null!==(n=e(this.color.value))&&void 0!==n?n:this.opacity);void 0!==i.opacity&&(this.opacity=i.opacity);void 0!==i.width&&(this.width=i.width)}}}class PolygonMaskDraw{constructor(){this.enable=false;this.stroke=new PolygonMaskDrawStroke}get lineColor(){return this.stroke.color}set lineColor(e){this.stroke.color=t.create(this.stroke.color,e)}get lineWidth(){return this.stroke.width}set lineWidth(t){this.stroke.width=t}load(t){var e;if(!t)return;void 0!==t.enable&&(this.enable=t.enable);const i=null!==(e=t.stroke)&&void 0!==e?e:{color:t.lineColor,width:t.lineWidth};this.stroke.load(i)}}class PolygonMaskInline{constructor(){this.arrangement=\"one-per-point\"}load(t){t&&void 0!==t.arrangement&&(this.arrangement=t.arrangement)}}class PolygonMaskLocalSvg{constructor(){this.path=[];this.size={height:0,width:0}}load(t){if(t){void 0!==t.path&&(this.path=t.path);if(void 0!==t.size){void 0!==t.size.width&&(this.size.width=t.size.width);void 0!==t.size.height&&(this.size.height=t.size.height)}}}}class PolygonMaskMove{constructor(){this.radius=10;this.type=\"path\"}load(t){if(t){void 0!==t.radius&&(this.radius=t.radius);void 0!==t.type&&(this.type=t.type)}}}class PolygonMask{constructor(){this.draw=new PolygonMaskDraw;this.enable=false;this.inline=new PolygonMaskInline;this.move=new PolygonMaskMove;this.scale=1;this.type=\"none\"}get inlineArrangement(){return this.inline.arrangement}set inlineArrangement(t){this.inline.arrangement=t}load(t){if(t){this.draw.load(t.draw);this.inline.load(t.inline);this.move.load(t.move);void 0!==t.scale&&(this.scale=t.scale);void 0!==t.type&&(this.type=t.type);void 0!==t.enable?this.enable=t.enable:this.enable=\"none\"!==this.type;void 0!==t.url&&(this.url=t.url);if(void 0!==t.data)if(\"string\"===typeof t.data)this.data=t.data;else{this.data=new PolygonMaskLocalSvg;this.data.load(t.data)}void 0!==t.position&&(this.position=i({},t.position))}}}function drawPolygonMask(t,e,i){const r=n(i.color);if(r){t.beginPath();t.moveTo(e[0].x,e[0].y);for(const i of e)t.lineTo(i.x,i.y);t.closePath();t.strokeStyle=o(r);t.lineWidth=i.width;t.stroke()}}function drawPolygonMaskPath(t,e,i,r){t.translate(r.x,r.y);const s=n(i.color);if(s){t.strokeStyle=o(s,i.opacity);t.lineWidth=i.width;t.stroke(e)}}function parsePaths(t,e,i){var n;const o=[];for(const r of t){const t=r.element.pathSegList,s=null!==(n=null===t||void 0===t?void 0:t.numberOfItems)&&void 0!==n?n:0,h={x:0,y:0};for(let n=0;n<s;n++){const r=null===t||void 0===t?void 0:t.getItem(n);const s=window.SVGPathSeg;switch(null===r||void 0===r?void 0:r.pathSegType){case s.PATHSEG_MOVETO_ABS:case s.PATHSEG_LINETO_ABS:case s.PATHSEG_CURVETO_CUBIC_ABS:case s.PATHSEG_CURVETO_QUADRATIC_ABS:case s.PATHSEG_ARC_ABS:case s.PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:case s.PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:{const t=r;h.x=t.x;h.y=t.y;break}case s.PATHSEG_LINETO_HORIZONTAL_ABS:h.x=r.x;break;case s.PATHSEG_LINETO_VERTICAL_ABS:h.y=r.y;break;case s.PATHSEG_LINETO_REL:case s.PATHSEG_MOVETO_REL:case s.PATHSEG_CURVETO_CUBIC_REL:case s.PATHSEG_CURVETO_QUADRATIC_REL:case s.PATHSEG_ARC_REL:case s.PATHSEG_CURVETO_CUBIC_SMOOTH_REL:case s.PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:{const t=r;h.x+=t.x;h.y+=t.y;break}case s.PATHSEG_LINETO_HORIZONTAL_REL:h.x+=r.x;break;case s.PATHSEG_LINETO_VERTICAL_REL:h.y+=r.y;break;case s.PATHSEG_UNKNOWN:case s.PATHSEG_CLOSEPATH:continue}o.push({x:h.x*e+i.x,y:h.y*e+i.y})}}return o}function calcClosestPtOnSegment(t,e,i){const{dx:n,dy:o}=r(i,t),{dx:s,dy:h}=r(e,t),a=(n*s+o*h)/(s**2+h**2),S={x:t.x+s*a,y:t.x+h*a,isOnSegment:a>=0&&a<=1};if(a<0){S.x=t.x;S.y=t.y}else if(a>1){S.x=e.x;S.y=e.y}return S}function segmentBounce(t,e,i){const{dx:n,dy:o}=r(t,e),h=Math.atan2(o,n),a=s.create(Math.sin(h),-Math.cos(h)),S=2*(i.x*a.x+i.y*a.y);a.multTo(S);i.subFrom(a)}var w=(void 0,function(t,e,i,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 e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,i):o?o.value=i:e.set(t,i),i});var d=(void 0,function(t,e,i,n){if(\"a\"===i&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!n:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?n:\"a\"===i?n.call(t):n?n.value:e.get(t)});var g;class PolygonMaskInstance{constructor(t,e){this.container=t;g.set(this,void 0);w(this,g,e,\"f\");this.dimension={height:0,width:0};this.path2DSupported=!!window.Path2D;this.options=new PolygonMask;this.polygonMaskMoveRadius=this.options.move.radius*t.retina.pixelRatio}clickPositionValid(t){const e=this.options;return e.enable&&\"none\"!==e.type&&\"inline\"!==e.type&&this.checkInsidePolygon(t)}draw(t){var e;if(!(null===(e=this.paths)||void 0===e?void 0:e.length))return;const i=this.options,n=i.draw;if(!i.enable||!n.enable)return;const o=this.raw;for(const e of this.paths){const i=e.path2d,r=this.path2DSupported;t&&(r&&i&&this.offset?drawPolygonMaskPath(t,i,n.stroke,this.offset):o&&drawPolygonMask(t,o,n.stroke))}}async initAsync(t){this.options.load(null===t||void 0===t?void 0:t.polygon);const e=this.options;this.polygonMaskMoveRadius=e.move.radius*this.container.retina.pixelRatio;e.enable&&await this.initRawData()}particleBounce(t,e,i){return this.polygonBounce(t,e,i)}particlePosition(t){var e,n;const o=this.options;if(o.enable&&(null!==(n=null===(e=this.raw)||void 0===e?void 0:e.length)&&void 0!==n?n:0)>0)return i({},t||this.randomPoint())}particlesInitialization(){const t=this.options;if(t.enable&&\"inline\"===t.type&&(\"one-per-point\"===t.inline.arrangement||\"per-point\"===t.inline.arrangement)){this.drawPoints();return true}return false}resize(){const t=this.container,e=this.options;if(e.enable&&\"none\"!==e.type){this.redrawTimeout&&clearTimeout(this.redrawTimeout);this.redrawTimeout=window.setTimeout((async()=>{await this.initRawData(true);await t.particles.redraw()}),250)}}stop(){delete this.raw;delete this.paths}checkInsidePolygon(t){var e,i;const n=this.container,o=this.options;if(!o.enable||\"none\"===o.type||\"inline\"===o.type)return true;if(!this.raw)throw new Error(h);const r=n.canvas.size,s=null!==(e=null===t||void 0===t?void 0:t.x)&&void 0!==e?e:a()*r.width,S=null!==(i=null===t||void 0===t?void 0:t.y)&&void 0!==i?i:a()*r.height;let u=false;for(let t=0,e=this.raw.length-1;t<this.raw.length;e=t++){const i=this.raw[t],n=this.raw[e],o=i.y>S!==n.y>S&&s<(n.x-i.x)*(S-i.y)/(n.y-i.y)+i.x;o&&(u=!u)}return\"inside\"===o.type?u:\"outside\"===o.type&&!u}createPath2D(){var t,e;const i=this.options;if(this.path2DSupported&&(null===(t=this.paths)||void 0===t?void 0:t.length))for(const t of this.paths){const n=null===(e=t.element)||void 0===e?void 0:e.getAttribute(\"d\");if(n){const e=new Path2D(n),o=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\").createSVGMatrix(),r=new Path2D,s=o.scale(i.scale);if(r.addPath){r.addPath(e,s);t.path2d=r}else delete t.path2d}else delete t.path2d;if(!t.path2d&&this.raw){t.path2d=new Path2D;t.path2d.moveTo(this.raw[0].x,this.raw[0].y);this.raw.forEach(((e,i)=>{var n;i>0&&(null===(n=t.path2d)||void 0===n?void 0:n.lineTo(e.x,e.y))}));t.path2d.closePath()}}}async downloadSvgPath(t,e){const i=this.options,n=t||i.url,o=null!==e&&void 0!==e&&e;if(!n||void 0!==this.paths&&!o)return this.raw;const r=await fetch(n);if(!r.ok)throw new Error(\"tsParticles Error - Error occurred during polygon mask download\");return this.parseSvgPath(await r.text(),e)}drawPoints(){if(this.raw)for(const t of this.raw)this.container.particles.addParticle({x:t.x,y:t.y})}getEquidistantPointByIndex(t){var e,i,n,o,r,s,h;const a=this.container.actualOptions,u=this.options;if(!this.raw||!this.raw.length||!(null===(e=this.paths)||void 0===e?void 0:e.length))throw new Error(S);let c,w=0;const d=this.paths.reduce(((t,e)=>t+e.length),0),g=d/a.particles.number.value;for(const e of this.paths){const i=g*t-w;if(i<=e.length){c=e.element.getPointAtLength(i);break}w+=e.length}return{x:(null!==(i=null===c||void 0===c?void 0:c.x)&&void 0!==i?i:0)*u.scale+(null!==(o=null===(n=this.offset)||void 0===n?void 0:n.x)&&void 0!==o?o:0),y:(null!==(r=null===c||void 0===c?void 0:c.y)&&void 0!==r?r:0)*u.scale+(null!==(h=null===(s=this.offset)||void 0===s?void 0:s.y)&&void 0!==h?h:0)}}getPointByIndex(t){if(!this.raw||!this.raw.length)throw new Error(S);const e=this.raw[t%this.raw.length];return{x:e.x,y:e.y}}getRandomPoint(){if(!this.raw||!this.raw.length)throw new Error(S);const t=u(this.raw);return{x:t.x,y:t.y}}getRandomPointByLength(){var t,e,i;const n=this.options;if(!this.raw||!this.raw.length||!(null===(t=this.paths)||void 0===t?void 0:t.length))throw new Error(S);const o=u(this.paths),r=Math.floor(a()*o.length)+1,s=o.element.getPointAtLength(r);return{x:s.x*n.scale+((null===(e=this.offset)||void 0===e?void 0:e.x)||0),y:s.y*n.scale+((null===(i=this.offset)||void 0===i?void 0:i.y)||0)}}async initRawData(t){const e=this.options;if(e.url)this.raw=await this.downloadSvgPath(e.url,t);else if(e.data){const i=e.data;let n;if(\"string\"!==typeof i){const t=i.path instanceof Array?i.path.map((t=>`<path d=\"${t}\" />`)).join(\"\"):`<path d=\"${i.path}\" />`;const e='xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"';n=`<svg ${e} width=\"${i.size.width}\" height=\"${i.size.height}\">${t}</svg>`}else n=i;this.raw=this.parseSvgPath(n,t)}this.createPath2D();d(this,g,\"f\").dispatchEvent(\"polygonMaskLoaded\",{container:this.container})}parseSvgPath(t,e){var i,n,o;const r=null!==e&&void 0!==e&&e;if(void 0!==this.paths&&!r)return this.raw;const s=this.container,h=this.options,a=new DOMParser,S=a.parseFromString(t,\"image/svg+xml\"),u=S.getElementsByTagName(\"svg\")[0];let c=u.getElementsByTagName(\"path\");c.length||(c=S.getElementsByTagName(\"path\"));this.paths=[];for(let t=0;t<c.length;t++){const e=c.item(t);e&&this.paths.push({element:e,length:e.getTotalLength()})}const w=s.retina.pixelRatio,d=h.scale/w;this.dimension.width=parseFloat(null!==(i=u.getAttribute(\"width\"))&&void 0!==i?i:\"0\")*d;this.dimension.height=parseFloat(null!==(n=u.getAttribute(\"height\"))&&void 0!==n?n:\"0\")*d;const g=null!==(o=h.position)&&void 0!==o?o:{x:50,y:50};this.offset={x:s.canvas.size.width*g.x/(100*w)-this.dimension.width/2,y:s.canvas.size.height*g.y/(100*w)-this.dimension.height/2};return parsePaths(this.paths,d,this.offset)}polygonBounce(t,e,i){const n=this.options;if(!this.raw||!n.enable||\"top\"!==i)return false;if(\"inside\"===n.type||\"outside\"===n.type){let e,i,n;const o=t.getPosition(),s=t.getRadius();for(let h=0,a=this.raw.length-1;h<this.raw.length;a=h++){const S=this.raw[h],u=this.raw[a];e=calcClosestPtOnSegment(S,u,o);const c=r(o,e);[i,n]=[c.dx,c.dy];if(c.distance<s){segmentBounce(S,u,t.velocity);return true}}if(e&&void 0!==i&&void 0!==n&&!this.checkInsidePolygon(o)){const i={x:1,y:1};t.position.x>=e.x&&(i.x=-1);t.position.y>=e.y&&(i.y=-1);t.position.x=e.x+2*s*i.x;t.position.y=e.y+2*s*i.y;t.velocity.mult(-1);return true}}else if(\"inline\"===n.type&&t.initialPosition){const e=c(t.initialPosition,t.getPosition());if(e>this.polygonMaskMoveRadius){t.velocity.x=t.velocity.y/2-t.velocity.x;t.velocity.y=t.velocity.x/2-t.velocity.y;return true}}return false}randomPoint(){const t=this.container,e=this.options;let i;if(\"inline\"===e.type)switch(e.inline.arrangement){case\"random-point\":i=this.getRandomPoint();break;case\"random-length\":i=this.getRandomPointByLength();break;case\"equidistant\":i=this.getEquidistantPointByIndex(t.particles.count);break;case\"one-per-point\":case\"per-point\":default:i=this.getPointByIndex(t.particles.count)}else i={x:a()*t.canvas.size.width,y:a()*t.canvas.size.height};return this.checkInsidePolygon(i)?i:this.randomPoint()}}g=new WeakMap;var _=(void 0,function(t,e,i,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 e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,i):o?o.value=i:e.set(t,i),i});var p=(void 0,function(t,e,i,n){if(\"a\"===i&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!n:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?n:\"a\"===i?n.call(t):n?n.value:e.get(t)});var l;class PolygonMaskPlugin{constructor(t){l.set(this,void 0);this.id=\"polygonMask\";_(this,l,t,\"f\")}getPlugin(t){return new PolygonMaskInstance(t,p(this,l,\"f\"))}loadOptions(t,e){if(!this.needsPlugin(e))return;const i=t;let n=i.polygon;void 0===(null===n||void 0===n?void 0:n.load)&&(i.polygon=n=new PolygonMask);n.load(null===e||void 0===e?void 0:e.polygon)}needsPlugin(t){var e,i,n;return null!==(i=null===(e=null===t||void 0===t?void 0:t.polygon)||void 0===e?void 0:e.enable)&&void 0!==i?i:void 0!==(null===(n=null===t||void 0===t?void 0:t.polygon)||void 0===n?void 0:n.type)&&\"none\"!==t.polygon.type}}l=new WeakMap;async function loadPolygonMaskPlugin(t){const e=new PolygonMaskPlugin(t);await t.addPlugin(e)}export{loadPolygonMaskPlugin};\n\n//# sourceMappingURL=index.js.map","import{setRangeValue as l,OptionsColor as e,getRandom as o,getRangeValue as a,rangeColorToHsl as n}from\"tsparticles-engine\";class RollLight{constructor(){this.enable=false;this.value=0}load(e){if(e){void 0!==e.enable&&(this.enable=e.enable);void 0!==e.value&&(this.value=l(e.value))}}}class Roll{constructor(){this.darken=new RollLight;this.enable=false;this.enlighten=new RollLight;this.mode=\"vertical\";this.speed=25}load(o){if(o){void 0!==o.backColor&&(this.backColor=e.create(this.backColor,o.backColor));this.darken.load(o.darken);void 0!==o.enable&&(this.enable=o.enable);this.enlighten.load(o.enlighten);void 0!==o.mode&&(this.mode=o.mode);void 0!==o.speed&&(this.speed=l(o.speed))}}}function updateRoll(l,e){const o=l.options.roll;if(!l.roll||!(null===o||void 0===o?void 0:o.enable))return;const a=l.roll.speed*e.factor,n=2*Math.PI;l.roll.angle+=a;l.roll.angle>n&&(l.roll.angle-=n)}class RollUpdater{getTransformValues(l){var e;const o=(null===(e=l.roll)||void 0===e?void 0:e.enable)&&l.roll,a=o&&o.horizontal,n=o&&o.vertical;return{a:a?Math.cos(o.angle):void 0,d:n?Math.sin(o.angle):void 0}}init(l){const e=l.options.roll;if(null===e||void 0===e?void 0:e.enable){l.roll={enable:e.enable,horizontal:\"horizontal\"===e.mode||\"both\"===e.mode,vertical:\"vertical\"===e.mode||\"both\"===e.mode,angle:o()*Math.PI*2,speed:a(e.speed)/360};if(e.backColor)l.backColor=n(e.backColor);else if(e.darken.enable&&e.enlighten.enable){const n=o()>=.5?\"darken\":\"enlighten\";l.roll.alter={type:n,value:a(\"darken\"===n?e.darken.value:e.enlighten.value)}}else e.darken.enable?l.roll.alter={type:\"darken\",value:a(e.darken.value)}:e.enlighten.enable&&(l.roll.alter={type:\"enlighten\",value:a(e.enlighten.value)})}else l.roll={enable:false,horizontal:false,vertical:false,angle:0,speed:0}}isEnabled(l){const e=l.options.roll;return!l.destroyed&&!l.spawning&&!!(null===e||void 0===e?void 0:e.enable)}loadOptions(l,...e){l.roll||(l.roll=new Roll);for(const o of e)l.roll.load(null===o||void 0===o?void 0:o.roll)}update(l,e){this.isEnabled(l)&&updateRoll(l,e)}}async function loadRollUpdater(l){await l.addParticleUpdater(\"roll\",(()=>new RollUpdater))}export{loadRollUpdater};\n\n//# sourceMappingURL=index.js.map","const initPjs=o=>{const particlesJS=(t,n)=>o.load(t,n);particlesJS.load=(t,n,c)=>{o.loadJSON(t,n).then((o=>{o&&c(o)})).catch((()=>{c(void 0)}))};particlesJS.setOnClickHandler=t=>{o.setOnClickHandler(t)};const t=o.dom();return{particlesJS:particlesJS,pJSDom:t}};export{initPjs};\n\n//# sourceMappingURL=index.js.map","import{getRangeValue as t,getRandom as e}from\"tsparticles-engine\";function updateAngle(t,e){var a,o;const n=t.rotate;if(!n)return;const i=t.options.rotate,l=i.animation,r=(null!==(a=n.velocity)&&void 0!==a?a:0)*e.factor,c=2*Math.PI,s=null!==(o=n.decay)&&void 0!==o?o:1;if(l.enable){switch(n.status){case 0:n.value+=r;n.value>c&&(n.value-=c);break;case 1:default:n.value-=r;n.value<0&&(n.value+=c);break}n.velocity&&1!==s&&(n.velocity*=s)}}class AngleUpdater{constructor(t){this.container=t}init(a){const o=a.options.rotate;a.rotate={enable:o.animation.enable,value:t(o.value)*Math.PI/180};let n=o.direction;if(\"random\"===n){const t=Math.floor(2*e());n=t>0?\"counter-clockwise\":\"clockwise\"}switch(n){case\"counter-clockwise\":case\"counterClockwise\":a.rotate.status=1;break;case\"clockwise\":a.rotate.status=0;break}const i=a.options.rotate.animation;if(i.enable){a.rotate.decay=1-t(i.decay);a.rotate.velocity=t(i.speed)/360*this.container.retina.reduceFactor;i.sync||(a.rotate.velocity*=e())}a.rotation=a.rotate.value}isEnabled(t){const e=t.options.rotate,a=e.animation;return!t.destroyed&&!t.spawning&&a.enable&&!e.path}update(t,e){var a,o;if(this.isEnabled(t)){updateAngle(t,e);t.rotation=null!==(o=null===(a=t.rotate)||void 0===a?void 0:a.value)&&void 0!==o?o:0}}}async function loadAngleUpdater(t){await t.addParticleUpdater(\"angle\",(t=>new AngleUpdater(t)))}export{loadAngleUpdater};\n\n//# sourceMappingURL=index.js.map","import{getDistances as i,getRandom as e,clamp as t,isInArray as n,getDistance as o,getRangeValue as a,getRangeMax as s}from\"tsparticles-engine\";function applyDistance(t){const n=t.initialPosition,{dx:o,dy:a}=i(n,t.position),s=Math.abs(o),c=Math.abs(a),r=t.retina.maxDistance.horizontal,l=t.retina.maxDistance.vertical;if(r||l)if((r&&s>=r||l&&c>=l)&&!t.misplaced){t.misplaced=!!r&&s>r||!!l&&c>l;r&&(t.velocity.x=t.velocity.y/2-t.velocity.x);l&&(t.velocity.y=t.velocity.x/2-t.velocity.y)}else if((!r||s<r)&&(!l||c<l)&&t.misplaced)t.misplaced=false;else if(t.misplaced){const i=t.position,o=t.velocity;r&&(i.x<n.x&&o.x<0||i.x>n.x&&o.x>0)&&(o.x*=-e());l&&(i.y<n.y&&o.y<0||i.y>n.y&&o.y>0)&&(o.y*=-e())}}function spin(i,e){const t=i.container;if(!i.spin)return;const n={x:\"clockwise\"===i.spin.direction?Math.cos:Math.sin,y:\"clockwise\"===i.spin.direction?Math.sin:Math.cos};i.position.x=i.spin.center.x+i.spin.radius*n.x(i.spin.angle);i.position.y=i.spin.center.y+i.spin.radius*n.y(i.spin.angle);i.spin.radius+=i.spin.acceleration;const o=Math.max(t.canvas.size.width,t.canvas.size.height);if(i.spin.radius>o/2){i.spin.radius=o/2;i.spin.acceleration*=-1}else if(i.spin.radius<0){i.spin.radius=0;i.spin.acceleration*=-1}i.spin.angle+=e/100*(1-i.spin.radius/o)}function applyPath(i,e){var n;const o=i.options;const a=o.move.path;const s=a.enable;if(!s)return;if(i.lastPathTime<=i.pathDelay){i.lastPathTime+=e.value;return}const c=null===(n=i.pathGenerator)||void 0===n?void 0:n.generate(i);c&&i.velocity.addTo(c);if(a.clamp){i.velocity.x=t(i.velocity.x,-1,1);i.velocity.y=t(i.velocity.y,-1,1)}i.lastPathTime-=i.pathDelay}function getProximitySpeedFactor(i){const e=i.container;const t=e.actualOptions;const a=n(\"slow\",t.interactivity.events.onHover.mode);if(!a)return 1;const s=i.container.interactivity.mouse.position;if(!s)return 1;const c=i.getPosition();const r=o(s,c);const l=e.retina.slowModeRadius;if(r>l)return 1;const p=r/l||0;const v=t.interactivity.modes.slow.factor;return p/v}class BaseMover{init(i){var e;const t=i.container,n=i.options,s=n.move.gravity,c=n.move.spin;i.gravity={enable:s.enable,acceleration:a(s.acceleration),inverse:s.inverse};if(c.enable){const n=null!==(e=c.position)&&void 0!==e?e:{x:50,y:50};const s={x:n.x/100*t.canvas.size.width,y:n.y/100*t.canvas.size.height};const r=i.getPosition();const l=o(r,s);const p=a(c.acceleration);i.retina.spinAcceleration=p*t.retina.pixelRatio;i.spin={center:s,direction:i.velocity.x>=0?\"clockwise\":\"counter-clockwise\",angle:i.velocity.angle,radius:l,acceleration:i.retina.spinAcceleration}}}isEnabled(i){return!i.destroyed&&i.options.move.enable}move(i,e){var t,n,o;var c,r;const l=i.options,p=l.move;if(!p.enable)return;const v=i.container,y=getProximitySpeedFactor(i),d=(null!==(t=(c=i.retina).moveSpeed)&&void 0!==t?t:c.moveSpeed=a(p.speed)*v.retina.pixelRatio)*v.retina.reduceFactor,u=null!==(n=(r=i.retina).moveDrift)&&void 0!==n?n:r.moveDrift=a(i.options.move.drift)*v.retina.pixelRatio,x=s(l.size.value)*v.retina.pixelRatio,m=p.size?i.getRadius()/x:1,f=m*y*(e.factor||1),h=2,g=d*f/h;applyPath(i,e);const M=i.gravity,b=(null===M||void 0===M?void 0:M.enable)&&M.inverse?-1:1;(null===M||void 0===M?void 0:M.enable)&&g&&(i.velocity.y+=b*(M.acceleration*e.factor)/(60*g));u&&g&&(i.velocity.x+=u*e.factor/(60*g));const w=i.moveDecay;1!=w&&i.velocity.multTo(w);const P=i.velocity.mult(g),z=null!==(o=i.retina.maxSpeed)&&void 0!==o?o:v.retina.maxSpeed;if((null===M||void 0===M?void 0:M.enable)&&z>0&&(!M.inverse&&P.y>=0&&P.y>=z||M.inverse&&P.y<=0&&P.y<=-z)){P.y=b*z;g&&(i.velocity.y=P.y/g)}const D=i.options.zIndex,R=(1-i.zIndexFactor)**D.velocityRate;if(p.spin.enable)spin(i,g);else{1!=R&&P.multTo(R);i.position.addTo(P);if(p.vibrate){i.position.x+=Math.sin(i.position.x*Math.cos(i.position.y));i.position.y+=Math.cos(i.position.y*Math.sin(i.position.x))}}applyDistance(i)}}async function loadBaseMover(i){i.addMover(\"base\",(()=>new BaseMover))}export{loadBaseMover};\n\n//# sourceMappingURL=index.js.map","class CircleDrawer{draw(a,e,r){a.arc(0,0,r,0,2*Math.PI,false)}getSidesCount(){return 12}}async function loadCircleShape(a){await a.addShape(\"circle\",new CircleDrawer)}export{loadCircleShape};\n\n//# sourceMappingURL=index.js.map","import{randomInRange as o,rangeColorToHsl as l,getHslAnimationFromHsl as e}from\"tsparticles-engine\";function updateColorValue(l,e,a,t,i){var r,n;const u=e;if(!u||!a.enable)return;const d=o(a.offset),c=(null!==(r=e.velocity)&&void 0!==r?r:0)*l.factor+3.6*d,v=null!==(n=e.decay)&&void 0!==n?n:1;if(i&&0!==u.status){u.value-=c;if(u.value<0){u.status=0;u.value+=u.value}}else{u.value+=c;if(i&&u.value>t){u.status=1;u.value-=u.value%t}}u.velocity&&1!==v&&(u.velocity*=v);u.value>t&&(u.value%=t)}function updateColor(o,l){var e,a,t;const i=o.options.color.animation;void 0!==(null===(e=o.color)||void 0===e?void 0:e.h)&&updateColorValue(l,o.color.h,i.h,360,false);void 0!==(null===(a=o.color)||void 0===a?void 0:a.s)&&updateColorValue(l,o.color.s,i.s,100,true);void 0!==(null===(t=o.color)||void 0===t?void 0:t.l)&&updateColorValue(l,o.color.l,i.l,100,true)}class ColorUpdater{constructor(o){this.container=o}init(o){const a=l(o.options.color,o.id,o.options.reduceDuplicates);a&&(o.color=e(a,o.options.color.animation,this.container.retina.reduceFactor))}isEnabled(o){var l,e,a;const t=o.options.color.animation;return!o.destroyed&&!o.spawning&&(void 0!==(null===(l=o.color)||void 0===l?void 0:l.h.value)&&t.h.enable||void 0!==(null===(e=o.color)||void 0===e?void 0:e.s.value)&&t.s.enable||void 0!==(null===(a=o.color)||void 0===a?void 0:a.l.value)&&t.l.enable)}update(o,l){updateColor(o,l)}}async function loadColorUpdater(o){await o.addParticleUpdater(\"color\",(o=>new ColorUpdater(o)))}export{loadColorUpdater};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as t,mouseMoveEvent as a,isInArray as e,Circle as i,getDistances as r,clamp as c,calcEasing as o,Vector as n}from\"tsparticles-engine\";class Attract{constructor(){this.distance=200;this.duration=.4;this.easing=\"ease-out-quad\";this.factor=1;this.maxSpeed=50;this.speed=1}load(t){if(t){void 0!==t.distance&&(this.distance=t.distance);void 0!==t.duration&&(this.duration=t.duration);void 0!==t.easing&&(this.easing=t.easing);void 0!==t.factor&&(this.factor=t.factor);void 0!==t.maxSpeed&&(this.maxSpeed=t.maxSpeed);void 0!==t.speed&&(this.speed=t.speed)}}}var s=(void 0,function(t,a,e,i,r){if(\"m\"===i)throw new TypeError(\"Private method is not writable\");if(\"a\"===i&&!r)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof a?t!==a||!r:!a.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===i?r.call(t,e):r?r.value=e:a.set(t,e),e});var d=(void 0,function(t,a,e,i){if(\"a\"===e&&!i)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof a?t!==a||!i:!a.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?i:\"a\"===e?i.call(t):i?i.value:a.get(t)});var l;class Attractor extends t{constructor(t){super(t);l.set(this,void 0);s(this,l,t,\"f\");t.attract||(t.attract={particles:[]});this.handleClickMode=a=>{const e=d(this,l,\"f\").actualOptions,i=e.interactivity.modes.attract;if(i&&\"attract\"===a){t.attract||(t.attract={particles:[]});t.attract.clicking=true;t.attract.count=0;for(const a of t.attract.particles)this.isEnabled(a)&&a.velocity.setTo(a.initialVelocity);t.attract.particles=[];t.attract.finish=false;setTimeout((()=>{if(!t.destroyed){t.attract||(t.attract={particles:[]});t.attract.clicking=false}}),1e3*i.duration)}}}clear(){}init(){const t=d(this,l,\"f\"),a=t.actualOptions.interactivity.modes.attract;a&&(t.retina.attractModeDistance=a.distance*t.retina.pixelRatio)}async interact(){const t=d(this,l,\"f\"),i=t.actualOptions,r=t.interactivity.status===a,c=i.interactivity.events,o=c.onHover.enable,n=c.onHover.mode,s=c.onClick.enable,f=c.onClick.mode;r&&o&&e(\"attract\",n)?this.hoverAttract():s&&e(\"attract\",f)&&this.clickAttract()}isEnabled(t){var a;const i=d(this,l,\"f\"),r=i.actualOptions,c=i.interactivity.mouse,o=(null!==(a=null===t||void 0===t?void 0:t.interactivity)&&void 0!==a?a:r.interactivity).events;if((!c.position||!o.onHover.enable)&&(!c.clickPosition||!o.onClick.enable))return false;const n=o.onHover.mode,s=o.onClick.mode;return e(\"attract\",n)||e(\"attract\",s)}loadModeOptions(t,...a){t.attract||(t.attract=new Attract);for(const e of a)t.attract.load(null===e||void 0===e?void 0:e.attract)}reset(){}clickAttract(){const t=d(this,l,\"f\");t.attract||(t.attract={particles:[]});if(!t.attract.finish){t.attract.count||(t.attract.count=0);t.attract.count++;t.attract.count===t.particles.count&&(t.attract.finish=true)}if(t.attract.clicking){const a=t.interactivity.mouse.clickPosition,e=t.retina.attractModeDistance;if(!e||e<0||!a)return;this.processAttract(a,e,new i(a.x,a.y,e))}else false===t.attract.clicking&&(t.attract.particles=[])}hoverAttract(){const t=d(this,l,\"f\"),a=t.interactivity.mouse.position,e=t.retina.attractModeDistance;!e||e<0||!a||this.processAttract(a,e,new i(a.x,a.y,e))}processAttract(t,a,e){const i=d(this,l,\"f\"),s=i.actualOptions.interactivity.modes.attract;if(!s)return;const f=i.particles.quadTree.query(e,(t=>this.isEnabled(t)));for(const e of f){const{dx:i,dy:d,distance:l}=r(e.position,t);const f=s.speed*s.factor;const u=c(o(1-l/a,s.easing)*f,0,s.maxSpeed);const p=n.create(0===l?f:i/l*u,0===l?f:d/l*u);e.position.subFrom(p)}}}l=new WeakMap;async function loadExternalAttractInteraction(t){await t.addInteractor(\"externalAttract\",(t=>new Attractor(t)))}export{Attract,loadExternalAttractInteraction};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as e,mouseMoveEvent as t,isInArray as o,divModeExecute as n,isDivModeEnabled as i,Circle as s,circleBounce as r,circleBounceDataFromParticle as a,Vector as c,Rectangle as u,rectBounce as f,calculateBounds as l}from\"tsparticles-engine\";class Bounce{constructor(){this.distance=200}load(e){e&&void 0!==e.distance&&(this.distance=e.distance)}}var d=(void 0,function(e,t,o,n,i){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!i)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!i:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?i.call(e,o):i?i.value=o:t.set(e,o),o});var v=(void 0,function(e,t,o,n){if(\"a\"===o&&!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\"===o?n:\"a\"===o?n.call(e):n?n.value:t.get(e)});var h;class Bouncer extends e{constructor(e){super(e);h.set(this,void 0);d(this,h,e,\"f\")}clear(){}init(){const e=v(this,h,\"f\"),t=e.actualOptions.interactivity.modes.bounce;t&&(e.retina.bounceModeDistance=t.distance*e.retina.pixelRatio)}async interact(){const e=v(this,h,\"f\"),i=e.actualOptions,s=i.interactivity.events,r=e.interactivity.status===t,a=s.onHover.enable,c=s.onHover.mode,u=s.onDiv;r&&a&&o(\"bounce\",c)?this.processMouseBounce():n(\"bounce\",u,((e,t)=>this.singleSelectorBounce(e,t)))}isEnabled(e){var t;const n=v(this,h,\"f\"),s=n.actualOptions,r=n.interactivity.mouse,a=(null!==(t=null===e||void 0===e?void 0:e.interactivity)&&void 0!==t?t:s.interactivity).events,c=a.onDiv;return r.position&&a.onHover.enable&&o(\"bounce\",a.onHover.mode)||i(\"bounce\",c)}loadModeOptions(e,...t){e.bounce||(e.bounce=new Bounce);for(const o of t)e.bounce.load(null===o||void 0===o?void 0:o.bounce)}reset(){}processBounce(e,t,o){const n=v(this,h,\"f\").particles.quadTree.query(o,(e=>this.isEnabled(e)));for(const i of n)o instanceof s?r(a(i),{position:e,radius:t,mass:t**2*Math.PI/2,velocity:c.origin,factor:c.origin}):o instanceof u&&f(i,l(e,t))}processMouseBounce(){const e=v(this,h,\"f\"),t=e.retina.pixelRatio,o=10*t,n=e.interactivity.mouse.position,i=e.retina.bounceModeDistance;!i||i<0||!n||this.processBounce(n,i,new s(n.x,n.y,i+o))}singleSelectorBounce(e,t){const o=v(this,h,\"f\"),n=document.querySelectorAll(e);n.length&&n.forEach((e=>{const n=e,i=o.retina.pixelRatio,r={x:(n.offsetLeft+n.offsetWidth/2)*i,y:(n.offsetTop+n.offsetHeight/2)*i},a=n.offsetWidth/2*i,c=10*i,f=\"circle\"===t.type?new s(r.x,r.y,a+c):new u(n.offsetLeft*i-c,n.offsetTop*i-c,n.offsetWidth*i+2*c,n.offsetHeight*i+2*c);this.processBounce(r,a,f)}))}}h=new WeakMap;async function loadExternalBounceInteraction(e){await e.addInteractor(\"externalBounce\",(e=>new Bouncer(e)))}export{Bounce,loadExternalBounceInteraction};\n\n//# sourceMappingURL=index.js.map","import{OptionsColor as e,clamp as i,ExternalInteractorBase as t,isInArray as o,divModeExecute as b,isDivModeEnabled as l,getDistance as s,getRangeMax as a,mouseMoveEvent as n,mouseLeaveEvent as r,itemFromArray as u,rangeColorToHsl as c,rgbToHsl as d,colorMix as v,Circle as f,Rectangle as p,divMode as h}from\"tsparticles-engine\";class BubbleBase{constructor(){this.distance=200;this.duration=.4;this.mix=false}load(i){if(i){void 0!==i.distance&&(this.distance=i.distance);void 0!==i.duration&&(this.duration=i.duration);void 0!==i.mix&&(this.mix=i.mix);void 0!==i.opacity&&(this.opacity=i.opacity);if(void 0!==i.color)if(i.color instanceof Array)this.color=i.color.map((i=>e.create(void 0,i)));else{this.color instanceof Array&&(this.color=new e);this.color=e.create(this.color,i.color)}void 0!==i.size&&(this.size=i.size)}}}class BubbleDiv extends BubbleBase{constructor(){super();this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((e=>e.replace(\"#\",\"\"))):this.selectors.replace(\"#\",\"\")}set ids(e){this.selectors=e instanceof Array?e.map((e=>`#${e}`)):`#${e}`}load(e){super.load(e);if(e){void 0!==e.ids&&(this.ids=e.ids);void 0!==e.selectors&&(this.selectors=e.selectors)}}}class Bubble extends BubbleBase{load(e){super.load(e);if(e)if(e.divs instanceof Array)this.divs=e.divs.map((e=>{const i=new BubbleDiv;i.load(e);return i}));else{(this.divs instanceof Array||!this.divs)&&(this.divs=new BubbleDiv);this.divs.load(e.divs)}}}var y=(void 0,function(e,i,t,o,b){if(\"m\"===o)throw new TypeError(\"Private method is not writable\");if(\"a\"===o&&!b)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof i?e!==i||!b:!i.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===o?b.call(e,t):b?b.value=t:i.set(e,t),t});var B=(void 0,function(e,i,t,o){if(\"a\"===t&&!o)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?e!==i||!o:!i.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===t?o:\"a\"===t?o.call(e):o?o.value:i.get(e)});var m;function calculateBubbleValue(e,t,o,b){if(t>=o){const l=e+(t-o)*b;return i(l,e,t)}if(t<o){const l=e-(o-t)*b;return i(l,t,e)}}class Bubbler extends t{constructor(e){super(e);m.set(this,void 0);y(this,m,e,\"f\");e.bubble||(e.bubble={});this.handleClickMode=i=>{if(\"bubble\"===i){e.bubble||(e.bubble={});e.bubble.clicking=true}}}clear(e,i){if(!e.bubble.inRange||i){delete e.bubble.div;delete e.bubble.opacity;delete e.bubble.radius;delete e.bubble.color}}init(){const e=B(this,m,\"f\"),i=e.actualOptions.interactivity.modes.bubble;if(i){e.retina.bubbleModeDistance=i.distance*e.retina.pixelRatio;void 0!==i.size&&(e.retina.bubbleModeSize=i.size*e.retina.pixelRatio)}}async interact(){const e=B(this,m,\"f\").actualOptions,i=e.interactivity.events,t=i.onHover,l=i.onClick,s=t.enable,a=t.mode,n=l.enable,r=l.mode,u=i.onDiv;s&&o(\"bubble\",a)?this.hoverBubble():n&&o(\"bubble\",r)?this.clickBubble():b(\"bubble\",u,((e,i)=>this.singleSelectorHover(e,i)))}isEnabled(e){var i;const t=B(this,m,\"f\"),b=t.actualOptions,s=t.interactivity.mouse,a=(null!==(i=null===e||void 0===e?void 0:e.interactivity)&&void 0!==i?i:b.interactivity).events,n=a.onDiv,r=l(\"bubble\",n);if(!(r||a.onHover.enable&&s.position||a.onClick.enable&&s.clickPosition))return false;const u=a.onHover.mode;const c=a.onClick.mode;return o(\"bubble\",u)||o(\"bubble\",c)||r}loadModeOptions(e,...i){e.bubble||(e.bubble=new Bubble);for(const t of i)e.bubble.load(null===t||void 0===t?void 0:t.bubble)}reset(e){e.bubble.inRange=false}clickBubble(){var e,i;const t=B(this,m,\"f\"),o=t.actualOptions,b=t.interactivity.mouse.clickPosition,l=o.interactivity.modes.bubble;if(!l||!b)return;t.bubble||(t.bubble={});const n=t.retina.bubbleModeDistance;if(!n||n<0)return;const r=t.particles.quadTree.queryCircle(b,n,(e=>this.isEnabled(e)));for(const o of r){if(!t.bubble.clicking)continue;o.bubble.inRange=!t.bubble.durationEnd;const r=o.getPosition(),u=s(r,b),c=((new Date).getTime()-(t.interactivity.mouse.clickTime||0))/1e3;c>l.duration&&(t.bubble.durationEnd=true);if(c>2*l.duration){t.bubble.clicking=false;t.bubble.durationEnd=false}const d={bubbleObj:{optValue:t.retina.bubbleModeSize,value:o.bubble.radius},particlesObj:{optValue:a(o.options.size.value)*t.retina.pixelRatio,value:o.size.value},type:\"size\"};this.process(o,u,c,d);const v={bubbleObj:{optValue:l.opacity,value:o.bubble.opacity},particlesObj:{optValue:a(o.options.opacity.value),value:null!==(i=null===(e=o.opacity)||void 0===e?void 0:e.value)&&void 0!==i?i:1},type:\"opacity\"};this.process(o,u,c,v);t.bubble.durationEnd?delete o.bubble.color:u<=n?this.hoverBubbleColor(o,u):delete o.bubble.color}}hoverBubble(){const e=B(this,m,\"f\"),i=e.interactivity.mouse.position,t=e.retina.bubbleModeDistance;if(!t||t<0||void 0===i)return;const o=e.particles.quadTree.queryCircle(i,t,(e=>this.isEnabled(e)));for(const b of o){b.bubble.inRange=true;const o=b.getPosition(),l=s(o,i),a=1-l/t;if(l<=t){if(a>=0&&e.interactivity.status===n){this.hoverBubbleSize(b,a);this.hoverBubbleOpacity(b,a);this.hoverBubbleColor(b,a)}}else this.reset(b);e.interactivity.status===r&&this.reset(b)}}hoverBubbleColor(e,i,t){const o=B(this,m,\"f\").actualOptions;const b=null!==t&&void 0!==t?t:o.interactivity.modes.bubble;if(b){if(!e.bubble.finalColor){const i=b.color;if(!i)return;const t=i instanceof Array?u(i):i;e.bubble.finalColor=c(t)}if(e.bubble.finalColor)if(b.mix){e.bubble.color=void 0;const t=e.getFillColor();e.bubble.color=t?d(v(t,e.bubble.finalColor,1-i,i)):e.bubble.finalColor}else e.bubble.color=e.bubble.finalColor}}hoverBubbleOpacity(e,i,t){var o,b,l,s;const n=B(this,m,\"f\"),r=n.actualOptions,u=null!==(o=null===t||void 0===t?void 0:t.opacity)&&void 0!==o?o:null===(b=r.interactivity.modes.bubble)||void 0===b?void 0:b.opacity;if(!u)return;const c=e.options.opacity.value;const d=null!==(s=null===(l=e.opacity)||void 0===l?void 0:l.value)&&void 0!==s?s:1;const v=calculateBubbleValue(d,u,a(c),i);void 0!==v&&(e.bubble.opacity=v)}hoverBubbleSize(e,i,t){const o=B(this,m,\"f\"),b=(null===t||void 0===t?void 0:t.size)?t.size*o.retina.pixelRatio:o.retina.bubbleModeSize;if(void 0===b)return;const l=a(e.options.size.value)*o.retina.pixelRatio;const s=e.size.value;const n=calculateBubbleValue(s,b,l,i);void 0!==n&&(e.bubble.radius=n)}process(e,i,t,o){const b=B(this,m,\"f\"),l=o.bubbleObj.optValue,s=b.actualOptions,a=s.interactivity.modes.bubble;if(!a||void 0===l)return;const n=a.duration,r=b.retina.bubbleModeDistance,u=o.particlesObj.optValue,c=o.bubbleObj.value,d=o.particlesObj.value||0,v=o.type;if(r&&!(r<0)&&l!==u){b.bubble||(b.bubble={});if(b.bubble.durationEnd){if(c){\"size\"===v&&delete e.bubble.radius;\"opacity\"===v&&delete e.bubble.opacity}}else if(i<=r){const i=null!==c&&void 0!==c?c:d;if(i!==l){const i=d-t*(d-l)/n;\"size\"===v&&(e.bubble.radius=i);\"opacity\"===v&&(e.bubble.opacity=i)}}else{\"size\"===v&&delete e.bubble.radius;\"opacity\"===v&&delete e.bubble.opacity}}}singleSelectorHover(e,i){const t=B(this,m,\"f\"),o=document.querySelectorAll(e),b=t.actualOptions.interactivity.modes.bubble;b&&o.length&&o.forEach((e=>{const o=e,l=t.retina.pixelRatio,s={x:(o.offsetLeft+o.offsetWidth/2)*l,y:(o.offsetTop+o.offsetHeight/2)*l},a=o.offsetWidth/2*l,n=\"circle\"===i.type?new f(s.x,s.y,a):new p(o.offsetLeft*l,o.offsetTop*l,o.offsetWidth*l,o.offsetHeight*l),r=t.particles.quadTree.query(n,(e=>this.isEnabled(e)));for(const e of r){if(!n.contains(e.getPosition()))continue;e.bubble.inRange=true;const i=b.divs;const t=h(i,o);if(!e.bubble.div||e.bubble.div!==o){this.clear(e,true);e.bubble.div=o}this.hoverBubbleSize(e,1,t);this.hoverBubbleOpacity(e,1,t);this.hoverBubbleColor(e,1,t)}}))}}m=new WeakMap;async function loadExternalBubbleInteraction(e){await e.addInteractor(\"externalBubble\",(e=>new Bubbler(e)))}export{Bubble,BubbleBase,BubbleDiv,loadExternalBubbleInteraction};\n\n//# sourceMappingURL=index.js.map","import{colorMix as t,getStyleFromHsl as n,getStyleFromRgb as e,drawLine as i,ExternalInteractorBase as o,isInArray as a}from\"tsparticles-engine\";class ConnectLinks{constructor(){this.opacity=.5}load(t){t&&void 0!==t.opacity&&(this.opacity=t.opacity)}}class Connect{constructor(){this.distance=80;this.links=new ConnectLinks;this.radius=60}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var n,e;if(t){void 0!==t.distance&&(this.distance=t.distance);this.links.load(null!==(e=null!==(n=t.links)&&void 0!==n?n:t.lineLinked)&&void 0!==e?e:t.line_linked);void 0!==t.radius&&(this.radius=t.radius)}}}var r=(void 0,function(t,n,e,i,o){if(\"m\"===i)throw new TypeError(\"Private method is not writable\");if(\"a\"===i&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof n?t!==n||!o:!n.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===i?o.call(t,e):o?o.value=e:n.set(t,e),e});var s=(void 0,function(t,n,e,i){if(\"a\"===e&&!i)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof n?t!==n||!i:!n.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?i:\"a\"===e?i.call(t):i?i.value:n.get(t)});var c;function gradient(i,o,a,r){const s=Math.floor(a.getRadius()/o.getRadius()),c=o.getFillColor(),d=a.getFillColor();if(!c||!d)return;const l=o.getPosition(),u=a.getPosition(),v=t(c,d,o.getRadius(),a.getRadius()),f=i.createLinearGradient(l.x,l.y,u.x,u.y);f.addColorStop(0,n(c,r));f.addColorStop(s>1?1:s,e(v,r));f.addColorStop(1,n(d,r));return f}function drawConnectLine(t,n,e,o,a){t.save();i(t,o,a);t.lineWidth=n;t.strokeStyle=e;t.stroke();t.restore()}function lineStyle(t,n,e,i){const o=t.actualOptions,a=o.interactivity.modes.connect;if(a)return gradient(n,e,i,a.links.opacity)}function drawConnection(t,n,e){t.canvas.draw((i=>{var o;const a=lineStyle(t,i,n,e);if(!a)return;const r=n.getPosition(),s=e.getPosition();drawConnectLine(i,null!==(o=n.retina.linksWidth)&&void 0!==o?o:0,a,r,s)}))}class Connector extends o{constructor(t){super(t);c.set(this,void 0);r(this,c,t,\"f\")}clear(){}init(){const t=s(this,c,\"f\"),n=t.actualOptions.interactivity.modes.connect;if(n){t.retina.connectModeDistance=n.distance*t.retina.pixelRatio;t.retina.connectModeRadius=n.radius*t.retina.pixelRatio}}async interact(){const t=s(this,c,\"f\"),n=t.actualOptions;if(n.interactivity.events.onHover.enable&&\"pointermove\"===t.interactivity.status){const n=t.interactivity.mouse.position;if(!t.retina.connectModeDistance||t.retina.connectModeDistance<0||!t.retina.connectModeRadius||t.retina.connectModeRadius<0||!n)return;const e=Math.abs(t.retina.connectModeRadius),i=t.particles.quadTree.queryCircle(n,e,(t=>this.isEnabled(t)));let o=0;for(const n of i){const e=n.getPosition();for(const a of i.slice(o+1)){const i=a.getPosition(),o=Math.abs(t.retina.connectModeDistance),r=Math.abs(e.x-i.x),s=Math.abs(e.y-i.y);r<o&&s<o&&drawConnection(t,n,a)}++o}}}isEnabled(t){var n;const e=this.container,i=e.interactivity.mouse,o=(null!==(n=null===t||void 0===t?void 0:t.interactivity)&&void 0!==n?n:e.actualOptions.interactivity).events;return!(!o.onHover.enable||!i.position)&&a(\"connect\",o.onHover.mode)}loadModeOptions(t,...n){t.connect||(t.connect=new Connect);for(const e of n)t.connect.load(null===e||void 0===e?void 0:e.connect)}reset(){}}c=new WeakMap;async function loadExternalConnectInteraction(t){await t.addInteractor(\"externalConnect\",(t=>new Connector(t)))}export{Connect,ConnectLinks,loadExternalConnectInteraction};\n\n//# sourceMappingURL=index.js.map","import{OptionsColor as t,drawLine as i,getStyleFromRgb as e,ExternalInteractorBase as n,mouseMoveEvent as o,getDistance as r,getLinkRandomColor as a,getLinkColor as s,isInArray as c}from\"tsparticles-engine\";class GrabLinks{constructor(){this.blink=false;this.consent=false;this.opacity=1}load(i){if(i){void 0!==i.blink&&(this.blink=i.blink);void 0!==i.color&&(this.color=t.create(this.color,i.color));void 0!==i.consent&&(this.consent=i.consent);void 0!==i.opacity&&(this.opacity=i.opacity)}}}class Grab{constructor(){this.distance=100;this.links=new GrabLinks}get lineLinked(){return this.links}set lineLinked(t){this.links=t}get line_linked(){return this.links}set line_linked(t){this.links=t}load(t){var i,e;if(t){void 0!==t.distance&&(this.distance=t.distance);this.links.load(null!==(e=null!==(i=t.links)&&void 0!==i?i:t.lineLinked)&&void 0!==e?e:t.line_linked)}}}var l=(void 0,function(t,i,e,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 i?t!==i||!o:!i.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,e):o?o.value=e:i.set(t,e),e});var d=(void 0,function(t,i,e,n){if(\"a\"===e&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof i?t!==i||!n:!i.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===e?n:\"a\"===e?n.call(t):n?n.value:i.get(t)});var v;function drawGrabLine(t,n,o,r,a,s){t.save();i(t,o,r);t.strokeStyle=e(a,s);t.lineWidth=n;t.stroke();t.restore()}function drawGrab(t,i,e,n,o){t.canvas.draw((t=>{var r;const a=i.getPosition();drawGrabLine(t,null!==(r=i.retina.linksWidth)&&void 0!==r?r:0,a,o,e,n)}))}class Grabber extends n{constructor(t){super(t);v.set(this,void 0);l(this,v,t,\"f\")}clear(){}init(){const t=d(this,v,\"f\"),i=t.actualOptions.interactivity.modes.grab;i&&(t.retina.grabModeDistance=i.distance*t.retina.pixelRatio)}async interact(){var t,i;const e=d(this,v,\"f\"),n=e.actualOptions,c=n.interactivity;if(!c.modes.grab||!c.events.onHover.enable||e.interactivity.status!==o)return;const l=e.interactivity.mouse.position;if(!l)return;const b=e.retina.grabModeDistance;if(!b||b<0)return;const u=e.particles.quadTree.queryCircle(l,b,(t=>this.isEnabled(t)));for(const n of u){const o=n.getPosition(),d=r(o,l);if(d>b)continue;const v=c.modes.grab.links,u=v.opacity,f=u-d*u/b;if(f<=0)continue;const h=null!==(t=v.color)&&void 0!==t?t:null===(i=n.options.links)||void 0===i?void 0:i.color;if(!e.particles.grabLineColor&&h){const t=c.modes.grab.links;e.particles.grabLineColor=a(h,t.blink,t.consent)}const p=s(n,void 0,e.particles.grabLineColor);if(!p)return;drawGrab(e,n,p,f,l)}}isEnabled(t){var i;const e=this.container,n=e.interactivity.mouse,o=(null!==(i=null===t||void 0===t?void 0:t.interactivity)&&void 0!==i?i:e.actualOptions.interactivity).events;return o.onHover.enable&&!!n.position&&c(\"grab\",o.onHover.mode)}loadModeOptions(t,...i){t.grab||(t.grab=new Grab);for(const e of i)t.grab.load(null===e||void 0===e?void 0:e.grab)}reset(){}}v=new WeakMap;async function loadExternalGrabInteraction(t){await t.addInteractor(\"externalGrab\",(t=>new Grabber(t)))}export{Grab,GrabLinks,loadExternalGrabInteraction};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as e}from\"tsparticles-engine\";class Pauser extends e{constructor(e){super(e);this.handleClickMode=e=>{if(\"pause\"!==e)return;const t=this.container;t.getAnimationStatus()?t.pause():t.play()}}clear(){}init(){}async interact(){}isEnabled(){return true}reset(){}}function loadExternalPauseInteraction(e){e.addInteractor(\"externalPause\",(e=>new Pauser(e)))}export{loadExternalPauseInteraction};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as t,itemFromArray as e}from\"tsparticles-engine\";class Push{constructor(){this.default=true;this.groups=[];this.quantity=4}get particles_nb(){return this.quantity}set particles_nb(t){this.quantity=t}load(t){var e;if(!t)return;void 0!==t.default&&(this.default=t.default);void 0!==t.groups&&(this.groups=t.groups.map((t=>t)));this.groups.length||(this.default=true);const r=null!==(e=t.quantity)&&void 0!==e?e:t.particles_nb;void 0!==r&&(this.quantity=r)}}var r=(void 0,function(t,e,r,i,s){if(\"m\"===i)throw new TypeError(\"Private method is not writable\");if(\"a\"===i&&!s)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof e?t!==e||!s:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===i?s.call(t,r):s?s.value=r:e.set(t,r),r});var i=(void 0,function(t,e,r,i){if(\"a\"===r&&!i)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof e?t!==e||!i:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?i:\"a\"===r?i.call(t):i?i.value:e.get(t)});var s;class Pusher extends t{constructor(t){super(t);s.set(this,void 0);r(this,s,t,\"f\");this.handleClickMode=t=>{if(\"push\"!==t)return;const r=i(this,s,\"f\"),a=r.actualOptions,o=a.interactivity.modes.push;if(!o)return;const n=o.quantity;if(n<=0)return;const u=e([void 0,...o.groups]),c=void 0!==u?r.actualOptions.particles.groups[u]:void 0;r.particles.push(n,r.interactivity.mouse,c,u)}}clear(){}init(){}async interact(){}isEnabled(){return true}loadModeOptions(t,...e){t.push||(t.push=new Push);for(const r of e)t.push.load(null===r||void 0===r?void 0:r.push)}reset(){}}s=new WeakMap;async function loadExternalPushInteraction(t){await t.addInteractor(\"externalPush\",(t=>new Pusher(t)))}export{Push,loadExternalPushInteraction};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as e}from\"tsparticles-engine\";class Remove{constructor(){this.quantity=2}get particles_nb(){return this.quantity}set particles_nb(e){this.quantity=e}load(e){var t;if(!e)return;const r=null!==(t=e.quantity)&&void 0!==t?t:e.particles_nb;void 0!==r&&(this.quantity=r)}}var t=(void 0,function(e,t,r,o,n){if(\"m\"===o)throw new TypeError(\"Private method is not writable\");if(\"a\"===o&&!n)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof t?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===o?n.call(e,r):n?n.value=r:t.set(e,r),r});var r=(void 0,function(e,t,r,o){if(\"a\"===r&&!o)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof t?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?o:\"a\"===r?o.call(e):o?o.value:t.get(e)});var o;class Remover extends e{constructor(e){super(e);o.set(this,void 0);t(this,o,e,\"f\");this.handleClickMode=e=>{const t=r(this,o,\"f\"),n=t.actualOptions;if(!n.interactivity.modes.remove||\"remove\"!==e)return;const a=n.interactivity.modes.remove.quantity;t.particles.removeQuantity(a)}}clear(){}init(){}async interact(){}isEnabled(){return true}loadModeOptions(e,...t){e.remove||(e.remove=new Remove);for(const r of t)e.remove.load(null===r||void 0===r?void 0:r.remove)}reset(){}}o=new WeakMap;function loadExternalRemoveInteraction(e){e.addInteractor(\"externalRemove\",(e=>new Remover(e)))}export{Remove,loadExternalRemoveInteraction};\n\n//# sourceMappingURL=index.js.map","import{ExternalInteractorBase as e,mouseMoveEvent as s,isInArray as t,divModeExecute as i,isDivModeEnabled as o,Circle as r,getDistances as n,Vector as l,clamp as a,calcEasing as c,Rectangle as p,divMode as u}from\"tsparticles-engine\";class RepulseBase{constructor(){this.distance=200;this.duration=.4;this.factor=100;this.speed=1;this.maxSpeed=50;this.easing=\"ease-out-quad\"}load(e){if(e){void 0!==e.distance&&(this.distance=e.distance);void 0!==e.duration&&(this.duration=e.duration);void 0!==e.easing&&(this.easing=e.easing);void 0!==e.factor&&(this.factor=e.factor);void 0!==e.speed&&(this.speed=e.speed);void 0!==e.maxSpeed&&(this.maxSpeed=e.maxSpeed)}}}class RepulseDiv extends RepulseBase{constructor(){super();this.selectors=[]}get ids(){return this.selectors instanceof Array?this.selectors.map((e=>e.replace(\"#\",\"\"))):this.selectors.replace(\"#\",\"\")}set ids(e){this.selectors=e instanceof Array?e.map((()=>`#${e}`)):`#${e}`}load(e){super.load(e);if(e){void 0!==e.ids&&(this.ids=e.ids);void 0!==e.selectors&&(this.selectors=e.selectors)}}}class Repulse extends RepulseBase{load(e){super.load(e);if(e)if(e.divs instanceof Array)this.divs=e.divs.map((e=>{const s=new RepulseDiv;s.load(e);return s}));else{(this.divs instanceof Array||!this.divs)&&(this.divs=new RepulseDiv);this.divs.load(e.divs)}}}var d=(void 0,function(e,s,t,i,o){if(\"m\"===i)throw new TypeError(\"Private method is not writable\");if(\"a\"===i&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof s?e!==s||!o:!s.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===i?o.call(e,t):o?o.value=t:s.set(e,t),t});var f=(void 0,function(e,s,t,i){if(\"a\"===t&&!i)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof s?e!==s||!i:!s.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===t?i:\"a\"===t?i.call(e):i?i.value:s.get(e)});var h;class Repulser extends e{constructor(e){super(e);h.set(this,void 0);d(this,h,e,\"f\");e.repulse||(e.repulse={particles:[]});this.handleClickMode=s=>{const t=f(this,h,\"f\").actualOptions,i=t.interactivity.modes.repulse;if(i&&\"repulse\"===s){e.repulse||(e.repulse={particles:[]});e.repulse.clicking=true;e.repulse.count=0;for(const s of e.repulse.particles)this.isEnabled(s)&&s.velocity.setTo(s.initialVelocity);e.repulse.particles=[];e.repulse.finish=false;setTimeout((()=>{if(!e.destroyed){e.repulse||(e.repulse={particles:[]});e.repulse.clicking=false}}),1e3*i.duration)}}}clear(){}init(){const e=f(this,h,\"f\"),s=e.actualOptions.interactivity.modes.repulse;s&&(e.retina.repulseModeDistance=s.distance*e.retina.pixelRatio)}async interact(){const e=f(this,h,\"f\"),o=e.actualOptions,r=e.interactivity.status===s,n=o.interactivity.events,l=n.onHover.enable,a=n.onHover.mode,c=n.onClick.enable,p=n.onClick.mode,u=n.onDiv;r&&l&&t(\"repulse\",a)?this.hoverRepulse():c&&t(\"repulse\",p)?this.clickRepulse():i(\"repulse\",u,((e,s)=>this.singleSelectorRepulse(e,s)))}isEnabled(e){var s;const i=f(this,h,\"f\"),r=i.actualOptions,n=i.interactivity.mouse,l=(null!==(s=null===e||void 0===e?void 0:e.interactivity)&&void 0!==s?s:r.interactivity).events,a=l.onDiv,c=o(\"repulse\",a);if(!(c||l.onHover.enable&&n.position||l.onClick.enable&&n.clickPosition))return false;const p=l.onHover.mode,u=l.onClick.mode;return t(\"repulse\",p)||t(\"repulse\",u)||c}loadModeOptions(e,...s){e.repulse||(e.repulse=new Repulse);for(const t of s)e.repulse.load(null===t||void 0===t?void 0:t.repulse)}reset(){}clickRepulse(){const e=f(this,h,\"f\"),s=e.actualOptions.interactivity.modes.repulse;if(s){e.repulse||(e.repulse={particles:[]});if(!e.repulse.finish){e.repulse.count||(e.repulse.count=0);e.repulse.count++;e.repulse.count===e.particles.count&&(e.repulse.finish=true)}if(e.repulse.clicking){const t=e.retina.repulseModeDistance;if(!t||t<0)return;const i=Math.pow(t/6,3),o=e.interactivity.mouse.clickPosition;if(void 0===o)return;const a=new r(o.x,o.y,i),c=e.particles.quadTree.query(a,(e=>this.isEnabled(e)));for(const t of c){const{dx:r,dy:a,distance:c}=n(o,t.position),p=c**2,u=s.speed,d=-i*u/p;if(p<=i){e.repulse.particles.push(t);const s=l.create(r,a);s.length=d;t.velocity.setTo(s)}}}else if(false===e.repulse.clicking){for(const s of e.repulse.particles)s.velocity.setTo(s.initialVelocity);e.repulse.particles=[]}}}hoverRepulse(){const e=f(this,h,\"f\"),s=e.interactivity.mouse.position,t=e.retina.repulseModeDistance;!t||t<0||!s||this.processRepulse(s,t,new r(s.x,s.y,t))}processRepulse(e,s,t,i){var o;const r=f(this,h,\"f\"),p=r.particles.quadTree.query(t,(e=>this.isEnabled(e))),u=r.actualOptions.interactivity.modes.repulse;if(u)for(const t of p){const{dx:r,dy:p,distance:d}=n(t.position,e),f=(null!==(o=null===i||void 0===i?void 0:i.speed)&&void 0!==o?o:u.speed)*u.factor,h=a(c(1-d/s,u.easing)*f,0,u.maxSpeed),v=l.create(0===d?f:r/d*h,0===d?f:p/d*h);t.position.addTo(v)}}singleSelectorRepulse(e,s){const t=f(this,h,\"f\"),i=t.actualOptions.interactivity.modes.repulse;if(!i)return;const o=document.querySelectorAll(e);o.length&&o.forEach((e=>{const o=e,n=t.retina.pixelRatio,l={x:(o.offsetLeft+o.offsetWidth/2)*n,y:(o.offsetTop+o.offsetHeight/2)*n},a=o.offsetWidth/2*n,c=\"circle\"===s.type?new r(l.x,l.y,a):new p(o.offsetLeft*n,o.offsetTop*n,o.offsetWidth*n,o.offsetHeight*n),d=i.divs,f=u(d,o);this.processRepulse(l,a,c,f)}))}}h=new WeakMap;async function loadExternalRepulseInteraction(e){await e.addInteractor(\"externalRepulse\",(e=>new Repulser(e)))}export{Repulse,RepulseBase,RepulseDiv,loadExternalRepulseInteraction};\n\n//# sourceMappingURL=index.js.map","import{getStyleFromHsl as e}from\"tsparticles-engine\";const a=/(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\\((-?\\d+%?[,\\s]+){2,3}\\s*[\\d.]+%?\\))|currentcolor/gi;function replaceColorSvg(r,o,t){const{svgData:i}=r;if(!i)return\"\";const n=e(o,t);if(i.includes(\"fill\"))return i.replace(a,(()=>n));const s=i.indexOf(\">\");return`${i.substring(0,s)} fill=\"${n}\"${i.substring(s)}`}async function loadImage(e){return new Promise((a=>{e.loading=true;const r=new Image;e.element=r;r.addEventListener(\"load\",(()=>{e.loading=false;a()}));r.addEventListener(\"error\",(()=>{e.element=void 0;e.error=true;e.loading=false;console.error(`Error tsParticles - loading image: ${e.source}`);a()}));r.src=e.source}))}async function downloadSvgImage(e){if(\"svg\"!==e.type){await loadImage(e);return}e.loading=true;const a=await fetch(e.source);if(!a.ok){console.error(\"Error tsParticles - Image not found\");e.error=true}e.error||(e.svgData=await a.text());e.loading=false}function replaceImageColor(e,a,r,o){var t,i,n;const s=replaceColorSvg(e,r,null!==(i=null===(t=o.opacity)||void 0===t?void 0:t.value)&&void 0!==i?i:1),l={color:r,data:Object.assign(Object.assign({},e),{svgData:s}),loaded:false,ratio:a.width/a.height,replaceColor:null!==(n=a.replaceColor)&&void 0!==n?n:a.replace_color,source:a.src};return new Promise((a=>{const r=new Blob([s],{type:\"image/svg+xml\"}),o=URL||window.URL||window.webkitURL||window,t=o.createObjectURL(r),i=new Image;i.addEventListener(\"load\",(()=>{l.loaded=true;l.element=i;a(l);o.revokeObjectURL(t)}));i.addEventListener(\"error\",(async()=>{o.revokeObjectURL(t);const r=Object.assign(Object.assign({},e),{error:false,loading:true});await loadImage(r);l.loaded=true;l.element=r.element;a(l)}));i.src=t}))}var r=(void 0,function(e,a,r,o,t){if(\"m\"===o)throw new TypeError(\"Private method is not writable\");if(\"a\"===o&&!t)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"===typeof a?e!==a||!t:!a.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===o?t.call(e,r):t?t.value=r:a.set(e,r),r});var o=(void 0,function(e,a,r,o){if(\"a\"===r&&!o)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"===typeof a?e!==a||!o:!a.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===r?o:\"a\"===r?o.call(e):o?o.value:a.get(e)});var t;class ImageDrawer{constructor(){t.set(this,void 0);r(this,t,[],\"f\")}addImage(e,a){const r=this.getImages(e);null===r||void 0===r?void 0:r.images.push(a)}destroy(){r(this,t,[],\"f\")}draw(e,a,r,o){var t;const i=a.image,n=null===i||void 0===i?void 0:i.element;if(!n)return;const s=null!==(t=null===i||void 0===i?void 0:i.ratio)&&void 0!==t?t:1,l={x:-r,y:-r};e.globalAlpha=o;e.drawImage(n,l.x,l.y,2*r,2*r/s);e.globalAlpha=1}getImages(e){const a=o(this,t,\"f\").find((a=>a.id===e.id));if(a)return a;o(this,t,\"f\").push({id:e.id,images:[]});return this.getImages(e)}getSidesCount(){return 12}loadShape(e){if(\"image\"!==e.shape&&\"images\"!==e.shape)return;const a=e.container,r=this.getImages(a).images,o=e.shapeData,t=r.find((e=>e.source===o.src));t?!t.error:this.loadImageShape(a,o).then((()=>{this.loadShape(e)}))}particleInit(e,a){var r;if(\"image\"!==a.shape&&\"images\"!==a.shape)return;const o=this.getImages(e).images,t=a.shapeData,i=a.getFillColor(),n=null!==(r=t.replaceColor)&&void 0!==r?r:t.replace_color,s=o.find((e=>e.source===t.src));s&&(s.loading?setTimeout((()=>{this.particleInit(e,a)})):(async()=>{var e,r;let o;o=s.svgData&&n&&i?await replaceImageColor(s,t,i,a):{color:i,data:s,element:s.element,loaded:true,ratio:t.width/t.height,replaceColor:n,source:t.src};o.ratio||(o.ratio=1);const l=null!==(e=t.fill)&&void 0!==e?e:a.fill,c=null!==(r=t.close)&&void 0!==r?r:a.close,d={image:o,fill:l,close:c};a.image=d.image;a.fill=d.fill;a.close=d.close})())}async loadImageShape(e,a){var r;const o=a.src;if(!o)throw new Error(\"Error tsParticles - No image.src\");try{const t={source:o,type:o.substring(o.length-3),error:false,loading:true};this.addImage(e,t);const i=(null!==(r=a.replaceColor)&&void 0!==r?r:a.replace_color)?downloadSvgImage:loadImage;await i(t)}catch(e){throw new Error(`tsParticles error - ${a.src} not found`)}}}t=new WeakMap;async function loadImageShape(e){const a=new ImageDrawer;await e.addShape(\"image\",a);await e.addShape(\"images\",a)}export{loadImageShape};\n\n//# sourceMappingURL=index.js.map","import{ValueWithRandom as e,getRangeValue as i,getRandom as t,setRangeValue as n,randomInRange as a}from\"tsparticles-engine\";class LifeDelay extends e{constructor(){super();this.sync=false}load(e){if(e){super.load(e);void 0!==e.sync&&(this.sync=e.sync)}}}class LifeDuration extends e{constructor(){super();this.random.minimumValue=1e-4;this.sync=false}load(e){if(e){super.load(e);void 0!==e.sync&&(this.sync=e.sync)}}}class Life{constructor(){this.count=0;this.delay=new LifeDelay;this.duration=new LifeDuration}load(e){if(e){void 0!==e.count&&(this.count=e.count);this.delay.load(e.delay);this.duration.load(e.duration)}}}class LifeUpdater{constructor(e){this.container=e}init(e){const n=this.container,a=e.options,o=a.life;if(o){e.life={delay:n.retina.reduceFactor?i(o.delay.value)*(o.delay.sync?1:t())/n.retina.reduceFactor*1e3:0,delayTime:0,duration:n.retina.reduceFactor?i(o.duration.value)*(o.duration.sync?1:t())/n.retina.reduceFactor*1e3:0,time:0,count:o.count};e.life.duration<=0&&(e.life.duration=-1);e.life.count<=0&&(e.life.count=-1);e.life&&(e.spawning=e.life.delay>0)}}isEnabled(e){return!e.destroyed}loadOptions(e,...i){e.life||(e.life=new Life);for(const t of i)e.life.load(null===t||void 0===t?void 0:t.life)}update(e,t){if(!this.isEnabled(e)||!e.life)return;const o=e.life;let r=false;if(e.spawning){o.delayTime+=t.value;if(!(o.delayTime>=e.life.delay))return;r=true;e.spawning=false;o.delayTime=0;o.time=0}if(-1===o.duration)return;if(e.spawning)return;r?o.time=0:o.time+=t.value;if(o.time<o.duration)return;o.time=0;e.life.count>0&&e.life.count--;if(0===e.life.count){e.destroy();return}const s=this.container.canvas.size,l=n(0,s.width),d=n(0,s.width);e.position.x=a(l);e.position.y=a(d);e.spawning=true;o.delayTime=0;o.time=0;e.reset();const u=e.options.life;if(u){o.delay=1e3*i(u.delay.value);o.duration=1e3*i(u.duration.value)}}}async function loadLifeUpdater(e){await e.addParticleUpdater(\"life\",(e=>new LifeUpdater(e)))}export{loadLifeUpdater};\n\n//# sourceMappingURL=index.js.map","class LineDrawer{draw(e,a,n){e.moveTo(-n/2,0);e.lineTo(n/2,0)}getSidesCount(){return 1}}async function loadLineShape(e){await e.addShape(\"line\",new LineDrawer)}export{loadLineShape};\n\n//# sourceMappingURL=index.js.map","import{clamp as a,getRangeMax as o,getRangeMin as t,getRangeValue as i,randomInRange as c,getRandom as e}from\"tsparticles-engine\";function checkDestroy(a,o,t,i){switch(a.options.opacity.animation.destroy){case\"max\":o>=i&&a.destroy();break;case\"min\":o<=t&&a.destroy();break}}function updateOpacity(o,t){var i,c,e,p,y,s;if(!o.opacity)return;const l=o.opacity.min,n=o.opacity.max,u=null!==(i=o.opacity.decay)&&void 0!==i?i:1;if(!(o.destroyed||!o.opacity.enable||(null!==(c=o.opacity.maxLoops)&&void 0!==c?c:0)>0&&(null!==(e=o.opacity.loops)&&void 0!==e?e:0)>(null!==(p=o.opacity.maxLoops)&&void 0!==p?p:0))){switch(o.opacity.status){case 0:if(o.opacity.value>=n){o.opacity.status=1;o.opacity.loops||(o.opacity.loops=0);o.opacity.loops++}else o.opacity.value+=(null!==(y=o.opacity.velocity)&&void 0!==y?y:0)*t.factor;break;case 1:if(o.opacity.value<=l){o.opacity.status=0;o.opacity.loops||(o.opacity.loops=0);o.opacity.loops++}else o.opacity.value-=(null!==(s=o.opacity.velocity)&&void 0!==s?s:0)*t.factor;break}o.opacity.velocity&&1!==o.opacity.decay&&(o.opacity.velocity*=u);checkDestroy(o,o.opacity.value,l,n);o.destroyed||(o.opacity.value=a(o.opacity.value,l,n))}}class OpacityUpdater{constructor(a){this.container=a}init(a){const p=a.options.opacity;a.opacity={enable:p.animation.enable,max:o(p.value),min:t(p.value),value:i(p.value),loops:0,maxLoops:i(p.animation.count)};const y=p.animation;if(y.enable){a.opacity.decay=1-i(y.decay);a.opacity.status=0;const s=p.value;a.opacity.min=t(s);a.opacity.max=o(s);switch(y.startValue){case\"min\":a.opacity.value=a.opacity.min;a.opacity.status=0;break;case\"random\":a.opacity.value=c(a.opacity);a.opacity.status=e()>=.5?0:1;break;case\"max\":default:a.opacity.value=a.opacity.max;a.opacity.status=1;break}a.opacity.velocity=i(y.speed)/100*this.container.retina.reduceFactor;y.sync||(a.opacity.velocity*=e())}}isEnabled(a){var o,t,i,c;return!a.destroyed&&!a.spawning&&!!a.opacity&&a.opacity.enable&&((null!==(o=a.opacity.maxLoops)&&void 0!==o?o:0)<=0||(null!==(t=a.opacity.maxLoops)&&void 0!==t?t:0)>0&&(null!==(i=a.opacity.loops)&&void 0!==i?i:0)<(null!==(c=a.opacity.maxLoops)&&void 0!==c?c:0))}update(a,o){this.isEnabled(a)&&updateOpacity(a,o)}}async function loadOpacityUpdater(a){await a.addParticleUpdater(\"opacity\",(a=>new OpacityUpdater(a)))}export{loadOpacityUpdater};\n\n//# sourceMappingURL=index.js.map","import{getValue as t,calculateBounds as o,getDistances as i,isPointInside as e,Vector as n,getRandom as s,randomInRange as a}from\"tsparticles-engine\";function bounceHorizontal(o){if(\"bounce\"!==o.outMode&&\"bounce-horizontal\"!==o.outMode&&\"bounceHorizontal\"!==o.outMode&&\"split\"!==o.outMode)return;o.bounds.right<0?o.particle.position.x=o.size+o.offset.x:o.bounds.left>o.canvasSize.width&&(o.particle.position.x=o.canvasSize.width-o.size-o.offset.x);const i=o.particle.velocity.x;let e=false;if(\"right\"===o.direction&&o.bounds.right>=o.canvasSize.width&&i>0||\"left\"===o.direction&&o.bounds.left<=0&&i<0){const i=t(o.particle.options.bounce.horizontal);o.particle.velocity.x*=-i;e=true}if(!e)return;const n=o.offset.x+o.size;o.bounds.right>=o.canvasSize.width?o.particle.position.x=o.canvasSize.width-n:o.bounds.left<=0&&(o.particle.position.x=n);\"split\"===o.outMode&&o.particle.destroy()}function bounceVertical(o){if(\"bounce\"!==o.outMode&&\"bounce-vertical\"!==o.outMode&&\"bounceVertical\"!==o.outMode&&\"split\"!==o.outMode)return;o.bounds.bottom<0?o.particle.position.y=o.size+o.offset.y:o.bounds.top>o.canvasSize.height&&(o.particle.position.y=o.canvasSize.height-o.size-o.offset.y);const i=o.particle.velocity.y;let e=false;if(\"bottom\"===o.direction&&o.bounds.bottom>=o.canvasSize.height&&i>0||\"top\"===o.direction&&o.bounds.top<=0&&i<0){const i=t(o.particle.options.bounce.vertical);o.particle.velocity.y*=-i;e=true}if(!e)return;const n=o.offset.y+o.size;o.bounds.bottom>=o.canvasSize.height?o.particle.position.y=o.canvasSize.height-n:o.bounds.top<=0&&(o.particle.position.y=n);\"split\"===o.outMode&&o.particle.destroy()}class BounceOutMode{constructor(t){this.container=t;this.modes=[\"bounce\",\"bounce-vertical\",\"bounce-horizontal\",\"bounceVertical\",\"bounceHorizontal\",\"split\"]}update(t,i,e,n){if(!this.modes.includes(n))return;const s=this.container;let a=false;for(const[,o]of s.plugins){void 0!==o.particleBounce&&(a=o.particleBounce(t,e,i));if(a)break}if(a)return;const r=t.getPosition(),c=t.offset,d=t.getRadius(),u=o(r,d),l=s.canvas.size;bounceHorizontal({particle:t,outMode:n,direction:i,bounds:u,canvasSize:l,offset:c,size:d});bounceVertical({particle:t,outMode:n,direction:i,bounds:u,canvasSize:l,offset:c,size:d})}}class DestroyOutMode{constructor(t){this.container=t;this.modes=[\"destroy\"]}update(t,o,s,a){if(!this.modes.includes(a))return;const r=this.container;switch(t.outType){case\"normal\":case\"outside\":if(e(t.position,r.canvas.size,n.origin,t.getRadius(),o))return;break;case\"inside\":{const{dx:o,dy:e}=i(t.position,t.moveCenter);const{x:n,y:s}=t.velocity;if(n<0&&o>t.moveCenter.radius||s<0&&e>t.moveCenter.radius||n>=0&&o<-t.moveCenter.radius||s>=0&&e<-t.moveCenter.radius)return;break}}r.particles.remove(t,void 0,true)}}class NoneOutMode{constructor(t){this.container=t;this.modes=[\"none\"]}update(t,o,i,s){if(!this.modes.includes(s))return;if(t.options.move.distance.horizontal&&(\"left\"===o||\"right\"===o)||t.options.move.distance.vertical&&(\"top\"===o||\"bottom\"===o))return;const a=t.options.move.gravity,r=this.container;const c=r.canvas.size;const d=t.getRadius();if(a.enable){const i=t.position;(!a.inverse&&i.y>c.height+d&&\"bottom\"===o||a.inverse&&i.y<-d&&\"top\"===o)&&r.particles.remove(t)}else{if(t.velocity.y>0&&t.position.y<=c.height+d||t.velocity.y<0&&t.position.y>=-d||t.velocity.x>0&&t.position.x<=c.width+d||t.velocity.x<0&&t.position.x>=-d)return;e(t.position,r.canvas.size,n.origin,d,o)||r.particles.remove(t)}}}class OutOutMode{constructor(t){this.container=t;this.modes=[\"out\"]}update(t,r,c,d){if(!this.modes.includes(d))return;const u=this.container;switch(t.outType){case\"inside\":{const{x:o,y:e}=t.velocity;const s=n.origin;s.length=t.moveCenter.radius;s.angle=t.velocity.angle+Math.PI;s.addTo(n.create(t.moveCenter));const{dx:r,dy:c}=i(t.position,s);if(o<=0&&r>=0||e<=0&&c>=0||o>=0&&r<=0||e>=0&&c<=0)return;t.position.x=Math.floor(a({min:0,max:u.canvas.size.width}));t.position.y=Math.floor(a({min:0,max:u.canvas.size.height}));const{dx:d,dy:l}=i(t.position,t.moveCenter);t.direction=Math.atan2(-l,-d);t.velocity.angle=t.direction;break}default:if(e(t.position,u.canvas.size,n.origin,t.getRadius(),r))return;switch(t.outType){case\"outside\":{t.position.x=Math.floor(a({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.x;t.position.y=Math.floor(a({min:-t.moveCenter.radius,max:t.moveCenter.radius}))+t.moveCenter.y;const{dx:o,dy:e}=i(t.position,t.moveCenter);if(t.moveCenter.radius){t.direction=Math.atan2(e,o);t.velocity.angle=t.direction}break}case\"normal\":{const i=t.options.move.warp,e=u.canvas.size,n={bottom:e.height+t.getRadius()+t.offset.y,left:-t.getRadius()-t.offset.x,right:e.width+t.getRadius()+t.offset.x,top:-t.getRadius()-t.offset.y},a=t.getRadius(),c=o(t.position,a);if(\"right\"===r&&c.left>e.width+t.offset.x){t.position.x=n.left;t.initialPosition.x=t.position.x;if(!i){t.position.y=s()*e.height;t.initialPosition.y=t.position.y}}else if(\"left\"===r&&c.right<-t.offset.x){t.position.x=n.right;t.initialPosition.x=t.position.x;if(!i){t.position.y=s()*e.height;t.initialPosition.y=t.position.y}}if(\"bottom\"===r&&c.top>e.height+t.offset.y){if(!i){t.position.x=s()*e.width;t.initialPosition.x=t.position.x}t.position.y=n.top;t.initialPosition.y=t.position.y}else if(\"top\"===r&&c.bottom<-t.offset.y){if(!i){t.position.x=s()*e.width;t.initialPosition.x=t.position.x}t.position.y=n.bottom;t.initialPosition.y=t.position.y}break}}break}}}class OutOfCanvasUpdater{constructor(t){this.container=t;this.updaters=[new BounceOutMode(t),new DestroyOutMode(t),new OutOutMode(t),new NoneOutMode(t)]}init(){}isEnabled(t){return!t.destroyed&&!t.spawning}update(t,o){var i,e,n,s;const a=t.options.move.outModes;this.updateOutMode(t,o,null!==(i=a.bottom)&&void 0!==i?i:a.default,\"bottom\");this.updateOutMode(t,o,null!==(e=a.left)&&void 0!==e?e:a.default,\"left\");this.updateOutMode(t,o,null!==(n=a.right)&&void 0!==n?n:a.default,\"right\");this.updateOutMode(t,o,null!==(s=a.top)&&void 0!==s?s:a.default,\"top\")}updateOutMode(t,o,i,e){for(const n of this.updaters)n.update(t,e,o,i)}}async function loadOutModesUpdater(t){await t.addParticleUpdater(\"outModes\",(t=>new OutOfCanvasUpdater(t)))}export{loadOutModesUpdater};\n\n//# sourceMappingURL=index.js.map","import{isSsr as a}from\"tsparticles-engine\";class ParallaxMover{init(){}isEnabled(e){return!a()&&!e.destroyed&&e.container.actualOptions.interactivity.events.onHover.parallax.enable}move(e){const t=e.container,n=t.actualOptions;if(a()||!n.interactivity.events.onHover.parallax.enable)return;const o=n.interactivity.events.onHover.parallax.force,r=t.interactivity.mouse.position;if(!r)return;const i={x:t.canvas.size.width/2,y:t.canvas.size.height/2},s=n.interactivity.events.onHover.parallax.smooth,l=e.getRadius()/o,v={x:(r.x-i.x)*l,y:(r.y-i.y)*l};e.offset.x+=(v.x-e.offset.x)/s;e.offset.y+=(v.y-e.offset.y)/s}}async function loadParallaxMover(a){a.addMover(\"parallax\",(()=>new ParallaxMover))}export{loadParallaxMover};\n\n//# sourceMappingURL=index.js.map","import{ParticlesInteractorBase as t,getDistances as e}from\"tsparticles-engine\";class Attractor extends t{constructor(t){super(t)}clear(){}init(){}async interact(t){var a;const r=this.container,o=null!==(a=t.retina.attractDistance)&&void 0!==a?a:r.retina.attractDistance,i=t.getPosition(),n=r.particles.quadTree.queryCircle(i,o);for(const a of n){if(t===a||!a.options.move.attract.enable||a.destroyed||a.spawning)continue;const r=a.getPosition(),{dx:o,dy:n}=e(i,r),c=t.options.move.attract.rotate,s=o/(1e3*c.x),l=n/(1e3*c.y),d=a.size.value/t.size.value,y=1/d;t.velocity.x-=s*d;t.velocity.y-=l*d;a.velocity.x+=s*y;a.velocity.y+=l*y}}isEnabled(t){return t.options.move.attract.enable}reset(){}}async function loadParticlesAttractInteraction(t){await t.addInteractor(\"particlesAttract\",(t=>new Attractor(t)))}export{loadParticlesAttractInteraction};\n\n//# sourceMappingURL=index.js.map","import{clamp as e,circleBounce as i,circleBounceDataFromParticle as s,ParticlesInteractorBase as o,getDistance as t}from\"tsparticles-engine\";function absorb(i,s,o,t){if(void 0===i.getRadius()&&void 0!==s.getRadius())i.destroy();else if(void 0!==i.getRadius()&&void 0===s.getRadius())s.destroy();else if(void 0!==i.getRadius()&&void 0!==s.getRadius())if(i.getRadius()>=s.getRadius()){const a=e(i.getRadius()/s.getRadius(),0,s.getRadius())*o;i.size.value+=a;s.size.value-=a;if(s.getRadius()<=t){s.size.value=0;s.destroy()}}else{const a=e(s.getRadius()/i.getRadius(),0,i.getRadius())*o;i.size.value-=a;s.size.value+=a;if(i.getRadius()<=t){i.size.value=0;i.destroy()}}}function bounce(e,o){i(s(e),s(o))}function destroy(e,i){e.unbreakable||i.unbreakable||bounce(e,i);void 0===e.getRadius()&&void 0!==i.getRadius()?e.destroy():void 0!==e.getRadius()&&void 0===i.getRadius()?i.destroy():void 0!==e.getRadius()&&void 0!==i.getRadius()&&(e.getRadius()>=i.getRadius()?i.destroy():e.destroy())}function resolveCollision(e,i,s,o){switch(e.options.collisions.mode){case\"absorb\":absorb(e,i,s,o);break;case\"bounce\":bounce(e,i);break;case\"destroy\":destroy(e,i);break}}class Collider extends o{constructor(e){super(e)}clear(){}init(){}async interact(e){const i=this.container,s=e.getPosition(),o=e.getRadius(),a=i.particles.quadTree.queryCircle(s,2*o);for(const n of a){if(e===n||!n.options.collisions.enable||e.options.collisions.mode!==n.options.collisions.mode||n.destroyed||n.spawning)continue;const a=n.getPosition();const d=n.getRadius();if(Math.abs(Math.round(s.z)-Math.round(a.z))>o+d)continue;const r=t(s,a);const u=o+d;r>u||resolveCollision(e,n,i.fpsLimit/1e3,i.retina.pixelRatio)}}isEnabled(e){return e.options.collisions.enable}reset(){}}async function loadParticlesCollisionsInteraction(e){await e.addInteractor(\"particlesCollisions\",(e=>new Collider(e)))}export{loadParticlesCollisionsInteraction};\n\n//# sourceMappingURL=index.js.map","import{OptionsColor as i,getDistance as n,ParticlesInteractorBase as t,CircleWarp as o,Circle as s,getLinkRandomColor as e,drawLine as l,getDistances as a,getStyleFromRgb as r,rangeColorToRgb as c,drawTriangle as d,getRandom as k,getRangeValue as h,getLinkColor as u}from\"tsparticles-engine\";class LinksShadow{constructor(){this.blur=5;this.color=new i;this.color.value=\"#000\";this.enable=false}load(n){if(n){void 0!==n.blur&&(this.blur=n.blur);this.color=i.create(this.color,n.color);void 0!==n.enable&&(this.enable=n.enable)}}}class LinksTriangle{constructor(){this.enable=false;this.frequency=1}load(n){if(n){void 0!==n.color&&(this.color=i.create(this.color,n.color));void 0!==n.enable&&(this.enable=n.enable);void 0!==n.frequency&&(this.frequency=n.frequency);void 0!==n.opacity&&(this.opacity=n.opacity)}}}class Links{constructor(){this.blink=false;this.color=new i;this.color.value=\"#fff\";this.consent=false;this.distance=100;this.enable=false;this.frequency=1;this.opacity=1;this.shadow=new LinksShadow;this.triangles=new LinksTriangle;this.width=1;this.warp=false}load(n){if(n){void 0!==n.id&&(this.id=n.id);void 0!==n.blink&&(this.blink=n.blink);this.color=i.create(this.color,n.color);void 0!==n.consent&&(this.consent=n.consent);void 0!==n.distance&&(this.distance=n.distance);void 0!==n.enable&&(this.enable=n.enable);void 0!==n.frequency&&(this.frequency=n.frequency);void 0!==n.opacity&&(this.opacity=n.opacity);this.shadow.load(n.shadow);this.triangles.load(n.triangles);void 0!==n.width&&(this.width=n.width);void 0!==n.warp&&(this.warp=n.warp)}}}function getLinkDistance(i,t,o,s,e){let l=n(i,t);if(!e||l<=o)return l;const a={x:t.x-s.width,y:t.y};l=n(i,a);if(l<=o)return l;const r={x:t.x-s.width,y:t.y-s.height};l=n(i,r);if(l<=o)return l;const c={x:t.x,y:t.y-s.height};l=n(i,c);return l}class Linker extends t{constructor(i){super(i);this.linkContainer=i}clear(){}init(){this.linkContainer.particles.linksColors=new Map}async interact(i){var n;if(!i.options.links)return;i.links=[];const t=i.getPosition(),e=this.container,l=e.canvas.size;if(t.x<0||t.y<0||t.x>l.width||t.y>l.height)return;const a=i.options.links,r=a.opacity,c=null!==(n=i.retina.linksDistance)&&void 0!==n?n:0,d=a.warp,k=d?new o(t.x,t.y,c,l):new s(t.x,t.y,c),h=e.particles.quadTree.query(k);for(const n of h){const o=n.options.links;if(i===n||!(null===o||void 0===o?void 0:o.enable)||a.id!==o.id||n.spawning||n.destroyed||!n.links||-1!==i.links.map((i=>i.destination)).indexOf(n)||-1!==n.links.map((i=>i.destination)).indexOf(i))continue;const s=n.getPosition();if(s.x<0||s.y<0||s.x>l.width||s.y>l.height)continue;const e=getLinkDistance(t,s,c,l,d&&o.warp);if(e>c)return;const k=(1-e/c)*r;this.setColor(i);i.links.push({destination:n,opacity:k})}}isEnabled(i){var n;return!!(null===(n=i.options.links)||void 0===n?void 0:n.enable)}loadParticlesOptions(i,...n){var t,o;i.links||(i.links=new Links);for(const s of n)i.links.load(null!==(o=null!==(t=null===s||void 0===s?void 0:s.links)&&void 0!==t?t:null===s||void 0===s?void 0:s.lineLinked)&&void 0!==o?o:null===s||void 0===s?void 0:s.line_linked)}reset(){}setColor(i){if(!i.options.links)return;const n=this.linkContainer,t=i.options.links;let o=void 0===t.id?n.particles.linksColor:n.particles.linksColors.get(t.id);if(o)return;const s=t.color;o=e(s,t.blink,t.consent);void 0===t.id?n.particles.linksColor=o:n.particles.linksColors.set(t.id,o)}}async function loadInteraction(i){await i.addInteractor(\"particlesLinks\",(i=>new Linker(i)))}function drawLinkLine(i,t,o,s,e,d,k,h,u,p,f,y){let v=false;if(n(o,s)<=e){l(i,o,s);v=true}else if(k){let n;let t;const r={x:s.x-d.width,y:s.y};const c=a(o,r);if(c.distance<=e){const i=o.y-c.dy/c.dx*o.x;n={x:0,y:i};t={x:d.width,y:i}}else{const i={x:s.x,y:s.y-d.height};const l=a(o,i);if(l.distance<=e){const i=o.y-l.dy/l.dx*o.x;const s=-i/(l.dy/l.dx);n={x:s,y:0};t={x:s,y:d.height}}else{const i={x:s.x-d.width,y:s.y-d.height};const l=a(o,i);if(l.distance<=e){const i=o.y-l.dy/l.dx*o.x;const s=-i/(l.dy/l.dx);n={x:s,y:i};t={x:n.x+d.width,y:n.y+d.height}}}}if(n&&t){l(i,o,n);l(i,s,t);v=true}}if(v){i.lineWidth=t;h&&(i.globalCompositeOperation=u);i.strokeStyle=r(p,f);if(y.enable){const n=c(y.color);if(n){i.shadowBlur=y.blur;i.shadowColor=r(n)}}i.stroke()}}function drawLinkTriangle(i,n,t,o,s,e,l,a){d(i,n,t,o);s&&(i.globalCompositeOperation=e);i.fillStyle=r(l,a);i.fill()}class LinkInstance{constructor(i){this.container=i}drawParticle(i,n){var t;const o=this.container,s=n.options;if(!n.links||n.links.length<=0)return;i.save();const e=n.links.filter((i=>s.links&&o.particles.getLinkFrequency(n,i.destination)<=s.links.frequency));for(const i of e){this.drawTriangles(o,s,n,i,e);i.opacity>0&&(null!==(t=n.retina.linksWidth)&&void 0!==t?t:0)>0&&this.drawLinkLine(n,i)}i.restore()}particleCreated(i){i.links=[];if(!i.options.links)return;const n=this.container.retina.pixelRatio;i.retina.linksDistance=i.options.links.distance*n;i.retina.linksWidth=i.options.links.width*n}particleDestroyed(i){i.links=[]}drawLinkLine(i,n){const t=this.container,o=t.actualOptions,s=n.destination,e=i.getPosition(),l=s.getPosition();let a=n.opacity;t.canvas.draw((n=>{var r,d,p;if(!i.options.links)return;let f;const y=null===(r=i.options.twinkle)||void 0===r?void 0:r.lines;if(null===y||void 0===y?void 0:y.enable){const i=y.frequency,n=c(y.color),t=k()<i;if(t&&n){f=n;a=h(y.opacity)}}if(!f){const n=i.options.links,o=void 0!==(null===n||void 0===n?void 0:n.id)?t.particles.linksColors.get(n.id):t.particles.linksColor;f=u(i,s,o)}if(!f)return;const v=null!==(d=i.retina.linksWidth)&&void 0!==d?d:0,w=null!==(p=i.retina.linksDistance)&&void 0!==p?p:0;drawLinkLine(n,v,e,l,w,t.canvas.size,i.options.links.warp,o.backgroundMask.enable,o.backgroundMask.composite,f,a,i.options.links.shadow)}))}drawLinkTriangle(i,t,o){var s;if(!i.options.links)return;const e=this.container,l=e.actualOptions,a=t.destination,r=o.destination,d=i.options.links.triangles,k=null!==(s=d.opacity)&&void 0!==s?s:(t.opacity+o.opacity)/2;k<=0||e.canvas.draw((t=>{var o;const s=i.getPosition(),h=a.getPosition(),p=r.getPosition(),f=null!==(o=i.retina.linksDistance)&&void 0!==o?o:0;if(n(s,h)>f||n(p,h)>f||n(p,s)>f)return;let y=c(d.color);if(!y){const n=i.options.links,t=void 0!==(null===n||void 0===n?void 0:n.id)?e.particles.linksColors.get(n.id):e.particles.linksColor;y=u(i,a,t)}y&&drawLinkTriangle(t,s,h,p,l.backgroundMask.enable,l.backgroundMask.composite,y,k)}))}drawTriangles(i,n,t,o,s){var e,l,a;const r=o.destination,c=i.particles;if(!((null===(e=n.links)||void 0===e?void 0:e.triangles.enable)&&(null===(l=r.options.links)||void 0===l?void 0:l.triangles.enable)))return;const d=null===(a=r.links)||void 0===a?void 0:a.filter((n=>{const t=i.particles.getLinkFrequency(r,n.destination);return r.options.links&&t<=r.options.links.frequency&&s.findIndex((i=>i.destination===n.destination))>=0}));if(null===d||void 0===d?void 0:d.length)for(const i of d){const s=i.destination,e=c.getTriangleFrequency(t,r,s);e>n.links.triangles.frequency||this.drawLinkTriangle(t,o,i)}}}class LinksPlugin{constructor(){this.id=\"links\"}getPlugin(i){return new LinkInstance(i)}loadOptions(){}needsPlugin(){return true}}async function loadPlugin(i){const n=new LinksPlugin;await i.addPlugin(n)}async function loadParticlesLinksInteraction(i){await loadInteraction(i);await loadPlugin(i)}export{Links,LinksShadow,LinksTriangle,loadParticlesLinksInteraction};\n\n//# sourceMappingURL=index.js.map","class PolygonDrawerBase{draw(e,n,o){const a=this.getCenter(n,o);const t=this.getSidesData(n,o);const r=t.count.numerator*t.count.denominator;const l=t.count.numerator/t.count.denominator;const i=180*(l-2)/l;const s=Math.PI-Math.PI*i/180;if(e){e.beginPath();e.translate(a.x,a.y);e.moveTo(0,0);for(let n=0;n<r;n++){e.lineTo(t.length,0);e.translate(t.length,0);e.rotate(s)}}}getSidesCount(e){var n,o;const a=e.shapeData;return null!==(o=null!==(n=null===a||void 0===a?void 0:a.sides)&&void 0!==n?n:null===a||void 0===a?void 0:a.nb_sides)&&void 0!==o?o:5}}class PolygonDrawer extends PolygonDrawerBase{getCenter(e,n){const o=this.getSidesCount(e);return{x:-n/(o/3.5),y:-n/.76}}getSidesData(e,n){var o,a;const t=e.shapeData;const r=null!==(a=null!==(o=null===t||void 0===t?void 0:t.sides)&&void 0!==o?o:null===t||void 0===t?void 0:t.nb_sides)&&void 0!==a?a:5;return{count:{denominator:1,numerator:r},length:2.66*n/(r/3)}}}class TriangleDrawer extends PolygonDrawerBase{getCenter(e,n){return{x:-n,y:n/1.66}}getSidesCount(){return 3}getSidesData(e,n){return{count:{denominator:2,numerator:3},length:2*n}}}async function loadGenericPolygonShape(e){await e.addShape(\"polygon\",new PolygonDrawer)}async function loadTriangleShape(e){await e.addShape(\"triangle\",new TriangleDrawer)}async function loadPolygonShape(e){await loadGenericPolygonShape(e);await loadTriangleShape(e)}export{loadGenericPolygonShape,loadPolygonShape,loadTriangleShape};\n\n//# sourceMappingURL=index.js.map","import{clamp as e}from\"tsparticles-engine\";function checkDestroy(e,s,i,o){switch(e.options.size.animation.destroy){case\"max\":s>=o&&e.destroy();break;case\"min\":s<=i&&e.destroy();break}}function updateSize(s,i){var o,a,l,t,z;const d=(null!==(o=s.size.velocity)&&void 0!==o?o:0)*i.factor,n=s.size.min,p=s.size.max,r=null!==(a=s.size.decay)&&void 0!==a?a:1;if(!(s.destroyed||!s.size.enable||(null!==(l=s.size.maxLoops)&&void 0!==l?l:0)>0&&(null!==(t=s.size.loops)&&void 0!==t?t:0)>(null!==(z=s.size.maxLoops)&&void 0!==z?z:0))){switch(s.size.status){case 0:if(s.size.value>=p){s.size.status=1;s.size.loops||(s.size.loops=0);s.size.loops++}else s.size.value+=d;break;case 1:if(s.size.value<=n){s.size.status=0;s.size.loops||(s.size.loops=0);s.size.loops++}else s.size.value-=d}s.size.velocity&&1!==r&&(s.size.velocity*=r);checkDestroy(s,s.size.value,n,p);s.destroyed||(s.size.value=e(s.size.value,n,p))}}class SizeUpdater{init(){}isEnabled(e){var s,i,o,a;return!e.destroyed&&!e.spawning&&e.size.enable&&((null!==(s=e.size.maxLoops)&&void 0!==s?s:0)<=0||(null!==(i=e.size.maxLoops)&&void 0!==i?i:0)>0&&(null!==(o=e.size.loops)&&void 0!==o?o:0)<(null!==(a=e.size.maxLoops)&&void 0!==a?a:0))}update(e,s){this.isEnabled(e)&&updateSize(e,s)}}async function loadSizeUpdater(e){await e.addParticleUpdater(\"size\",(()=>new SizeUpdater))}export{loadSizeUpdater};\n\n//# sourceMappingURL=index.js.map","const a=Math.sqrt(2);class SquareDrawer{draw(e,r,t){e.rect(-t/a,-t/a,2*t/a,2*t/a)}getSidesCount(){return 4}}async function loadSquareShape(a){const e=new SquareDrawer;await a.addShape(\"edge\",e);await a.addShape(\"square\",e)}export{loadSquareShape};\n\n//# sourceMappingURL=index.js.map","class StarDrawer{draw(a,t,o){var e;const i=t.shapeData,n=this.getSidesCount(t),d=null!==(e=null===i||void 0===i?void 0:i.inset)&&void 0!==e?e:2;a.moveTo(0,0-o);for(let t=0;t<n;t++){a.rotate(Math.PI/n);a.lineTo(0,0-o*d);a.rotate(Math.PI/n);a.lineTo(0,0-o)}}getSidesCount(a){var t,o;const e=a.shapeData;return null!==(o=null!==(t=null===e||void 0===e?void 0:e.sides)&&void 0!==t?t:null===e||void 0===e?void 0:e.nb_sides)&&void 0!==o?o:5}}async function loadStarShape(a){await a.addShape(\"star\",new StarDrawer)}export{loadStarShape};\n\n//# sourceMappingURL=index.js.map","import{randomInRange as o,itemFromArray as l,rangeColorToHsl as e,getHslAnimationFromHsl as t}from\"tsparticles-engine\";function updateColorValue(l,e,t,r,i){var a,n;const s=e;if(!s||!s.enable)return;const d=o(t.offset),u=(null!==(a=e.velocity)&&void 0!==a?a:0)*l.factor+3.6*d,v=null!==(n=e.decay)&&void 0!==n?n:1;if(i&&0!==s.status){s.value-=u;if(s.value<0){s.status=0;s.value+=s.value}}else{s.value+=u;if(i&&s.value>r){s.status=1;s.value-=s.value%r}}s.velocity&&1!==v&&(s.velocity*=v);s.value>r&&(s.value%=r)}function updateStrokeColor(o,l){var e,t,r,i,a,n,s,d,u,v;if(!(null===(e=o.stroke)||void 0===e?void 0:e.color))return;const c=o.stroke.color.animation,k=null!==(r=null===(t=o.strokeColor)||void 0===t?void 0:t.h)&&void 0!==r?r:null===(i=o.color)||void 0===i?void 0:i.h;k&&updateColorValue(l,k,c.h,360,false);const p=null!==(n=null===(a=o.strokeColor)||void 0===a?void 0:a.s)&&void 0!==n?n:null===(s=o.color)||void 0===s?void 0:s.s;p&&updateColorValue(l,p,c.s,100,true);const C=null!==(u=null===(d=o.strokeColor)||void 0===d?void 0:d.l)&&void 0!==u?u:null===(v=o.color)||void 0===v?void 0:v.l;C&&updateColorValue(l,C,c.l,100,true)}class StrokeColorUpdater{constructor(o){this.container=o}init(o){var r,i;const a=this.container;o.stroke=o.options.stroke instanceof Array?l(o.options.stroke,o.id,o.options.reduceDuplicates):o.options.stroke;o.strokeWidth=o.stroke.width*a.retina.pixelRatio;const n=null!==(r=e(o.stroke.color))&&void 0!==r?r:o.getFillColor();n&&(o.strokeColor=t(n,null===(i=o.stroke.color)||void 0===i?void 0:i.animation,a.retina.reduceFactor))}isEnabled(o){var l,e,t,r;const i=null===(l=o.stroke)||void 0===l?void 0:l.color;return!o.destroyed&&!o.spawning&&!!i&&(void 0!==(null===(e=o.strokeColor)||void 0===e?void 0:e.h.value)&&i.animation.h.enable||void 0!==(null===(t=o.strokeColor)||void 0===t?void 0:t.s.value)&&i.animation.s.enable||void 0!==(null===(r=o.strokeColor)||void 0===r?void 0:r.l.value)&&i.animation.l.enable)}update(o,l){this.isEnabled(o)&&updateStrokeColor(o,l)}}async function loadStrokeColorUpdater(o){await o.addParticleUpdater(\"strokeColor\",(o=>new StrokeColorUpdater(o)))}export{loadStrokeColorUpdater};\n\n//# sourceMappingURL=index.js.map","import{itemFromArray as t,isInArray as a,loadFont as e}from\"tsparticles-engine\";const o=[\"text\",\"character\",\"char\"];class TextDrawer{draw(a,e,o,n){var i,s,r;const l=e.shapeData;if(void 0===l)return;const c=l.value;if(void 0===c)return;const f=e;void 0===f.text&&(f.text=c instanceof Array?t(c,e.randomIndexData):c);const d=f.text,p=null!==(i=l.style)&&void 0!==i?i:\"\",h=null!==(s=l.weight)&&void 0!==s?s:\"400\",x=2*Math.round(o),u=null!==(r=l.font)&&void 0!==r?r:\"Verdana\",w=e.fill,v=d.length*o/2;a.font=`${p} ${h} ${x}px \"${u}\"`;const y={x:-v,y:o/2};a.globalAlpha=n;w?a.fillText(d,y.x,y.y):a.strokeText(d,y.x,y.y);a.globalAlpha=1}getSidesCount(){return 12}async init(t){const n=t.actualOptions;if(o.find((t=>a(t,n.particles.shape.type)))){const t=o.map((t=>n.particles.shape.options[t])).find((t=>!!t));if(t instanceof Array){const a=[];for(const o of t){const t=o;a.push(e(t.font,t.weight))}await Promise.allSettled(a)}else if(void 0!==t){const a=t;await e(a.font,a.weight)}}}}async function loadTextShape(t){const a=new TextDrawer;for(const e of o)await t.addShape(e,a)}export{loadTextShape};\n\n//# sourceMappingURL=index.js.map","import{initPjs as t}from\"tsparticles-particles.js\";import{loadAngleUpdater as a}from\"tsparticles-updater-angle\";import{loadBaseMover as r}from\"tsparticles-move-base\";import{loadCircleShape as i}from\"tsparticles-shape-circle\";import{loadColorUpdater as e}from\"tsparticles-updater-color\";import{loadExternalAttractInteraction as o}from\"tsparticles-interaction-external-attract\";import{loadExternalBounceInteraction as p}from\"tsparticles-interaction-external-bounce\";import{loadExternalBubbleInteraction as s}from\"tsparticles-interaction-external-bubble\";import{loadExternalConnectInteraction as m}from\"tsparticles-interaction-external-connect\";import{loadExternalGrabInteraction as l}from\"tsparticles-interaction-external-grab\";import{loadExternalPauseInteraction as c}from\"tsparticles-interaction-external-pause\";import{loadExternalPushInteraction as n}from\"tsparticles-interaction-external-push\";import{loadExternalRemoveInteraction as f}from\"tsparticles-interaction-external-remove\";import{loadExternalRepulseInteraction as w}from\"tsparticles-interaction-external-repulse\";import{loadImageShape as u}from\"tsparticles-shape-image\";import{loadLifeUpdater as x}from\"tsparticles-updater-life\";import{loadLineShape as d}from\"tsparticles-shape-line\";import{loadOpacityUpdater as h}from\"tsparticles-updater-opacity\";import{loadOutModesUpdater as b}from\"tsparticles-updater-out-modes\";import{loadParallaxMover as g}from\"tsparticles-move-parallax\";import{loadParticlesAttractInteraction as v}from\"tsparticles-interaction-particles-attract\";import{loadParticlesCollisionsInteraction as y}from\"tsparticles-interaction-particles-collisions\";import{loadParticlesLinksInteraction as k}from\"tsparticles-interaction-particles-links\";import{loadPolygonShape as S}from\"tsparticles-shape-polygon\";import{loadSizeUpdater as j}from\"tsparticles-updater-size\";import{loadSquareShape as q}from\"tsparticles-shape-square\";import{loadStarShape as z}from\"tsparticles-shape-star\";import{loadStrokeColorUpdater as A}from\"tsparticles-updater-stroke-color\";import{loadTextShape as B}from\"tsparticles-shape-text\";async function loadSlim(C){await r(C);await g(C);await o(C);await p(C);await s(C);await m(C);await l(C);await c(C);await n(C);await f(C);await w(C);await v(C);await y(C);await k(C);await i(C);await u(C);await d(C);await S(C);await q(C);await z(C);await B(C);await x(C);await h(C);await j(C);await a(C);await e(C);await A(C);await b(C);await t(C)}export{loadSlim};\n\n//# sourceMappingURL=index.js.map","import{setRangeValue as t,ValueWithRandom as i,getRangeValue as e,getRandom as l}from\"tsparticles-engine\";class TiltAnimation{constructor(){this.enable=false;this.speed=0;this.decay=0;this.sync=false}load(i){if(i){void 0!==i.enable&&(this.enable=i.enable);void 0!==i.speed&&(this.speed=t(i.speed));void 0!==i.decay&&(this.decay=t(i.decay));void 0!==i.sync&&(this.sync=i.sync)}}}class Tilt extends i{constructor(){super();this.animation=new TiltAnimation;this.direction=\"clockwise\";this.enable=false;this.value=0}load(t){super.load(t);if(t){this.animation.load(t.animation);void 0!==t.direction&&(this.direction=t.direction);void 0!==t.enable&&(this.enable=t.enable)}}}function updateTilt(t,i){var e,l;if(!t.tilt||!t.options.tilt)return;const a=t.options.tilt,o=a.animation,n=(null!==(e=t.tilt.velocity)&&void 0!==e?e:0)*i.factor,s=2*Math.PI,c=null!==(l=t.tilt.decay)&&void 0!==l?l:1;if(o.enable){switch(t.tilt.status){case 0:t.tilt.value+=n;t.tilt.value>s&&(t.tilt.value-=s);break;case 1:default:t.tilt.value-=n;t.tilt.value<0&&(t.tilt.value+=s);break}t.tilt.velocity&&1!==c&&(t.tilt.velocity*=c)}}class TiltUpdater{constructor(t){this.container=t}getTransformValues(t){var i;const e=(null===(i=t.tilt)||void 0===i?void 0:i.enable)&&t.tilt;return{b:e?Math.cos(e.value)*e.cosDirection:void 0,c:e?Math.sin(e.value)*e.sinDirection:void 0}}init(t){var i;const a=t.options.tilt;if(!a)return;t.tilt={enable:a.enable,value:e(a.value)*Math.PI/180,sinDirection:l()>=.5?1:-1,cosDirection:l()>=.5?1:-1};let o=a.direction;if(\"random\"===o){const t=Math.floor(2*l());o=t>0?\"counter-clockwise\":\"clockwise\"}switch(o){case\"counter-clockwise\":case\"counterClockwise\":t.tilt.status=1;break;case\"clockwise\":t.tilt.status=0;break}const n=null===(i=t.options.tilt)||void 0===i?void 0:i.animation;if(null===n||void 0===n?void 0:n.enable){t.tilt.decay=1-e(n.decay);t.tilt.velocity=e(n.speed)/360*this.container.retina.reduceFactor;n.sync||(t.tilt.velocity*=l())}}isEnabled(t){var i;const e=null===(i=t.options.tilt)||void 0===i?void 0:i.animation;return!t.destroyed&&!t.spawning&&!!(null===e||void 0===e?void 0:e.enable)}loadOptions(t,...i){t.tilt||(t.tilt=new Tilt);for(const e of i)t.tilt.load(null===e||void 0===e?void 0:e.tilt)}update(t,i){this.isEnabled(t)&&updateTilt(t,i)}}async function loadTiltUpdater(t){await t.addParticleUpdater(\"tilt\",(t=>new TiltUpdater(t)))}export{loadTiltUpdater};\n\n//# sourceMappingURL=index.js.map","import{OptionsColor as e,setRangeValue as i,getRandom as t,getRangeValue as l,rangeColorToHsl as o,getStyleFromHsl as n}from\"tsparticles-engine\";class TwinkleValues{constructor(){this.enable=false;this.frequency=.05;this.opacity=1}load(t){if(t){void 0!==t.color&&(this.color=e.create(this.color,t.color));void 0!==t.enable&&(this.enable=t.enable);void 0!==t.frequency&&(this.frequency=t.frequency);void 0!==t.opacity&&(this.opacity=i(t.opacity))}}}class Twinkle{constructor(){this.lines=new TwinkleValues;this.particles=new TwinkleValues}load(e){if(e){this.lines.load(e.lines);this.particles.load(e.particles)}}}class TwinkleUpdater{getColorStyles(e,i,a,s){const r=e.options,c=r.twinkle;if(!c)return{};const d=c.particles,p=d.enable&&t()<d.frequency,w=e.options.zIndex,k=(1-e.zIndexFactor)**w.opacityRate,u=p?l(d.opacity)*k:s,f=o(d.color),y=f?n(f,u):void 0,h={},v=p&&y;h.fill=v?y:void 0;h.stroke=v?y:void 0;return h}init(){}isEnabled(e){const i=e.options,t=i.twinkle;return!!t&&t.particles.enable}loadOptions(e,...i){e.twinkle||(e.twinkle=new Twinkle);for(const t of i)e.twinkle.load(null===t||void 0===t?void 0:t.twinkle)}update(){}}async function loadTwinkleUpdater(e){await e.addParticleUpdater(\"twinkle\",(()=>new TwinkleUpdater))}export{loadTwinkleUpdater};\n\n//# sourceMappingURL=index.js.map","import{setRangeValue as e,getRandom as o,getRangeValue as l}from\"tsparticles-engine\";class WobbleSpeed{constructor(){this.angle=50;this.move=10}load(o){if(o){void 0!==o.angle&&(this.angle=e(o.angle));void 0!==o.move&&(this.move=e(o.move))}}}class Wobble{constructor(){this.distance=5;this.enable=false;this.speed=new WobbleSpeed}load(o){if(o){void 0!==o.distance&&(this.distance=e(o.distance));void 0!==o.enable&&(this.enable=o.enable);if(void 0!==o.speed)if(\"number\"===typeof o.speed)this.speed.load({angle:o.speed});else{const e=o.speed;void 0!==e.min?this.speed.load({angle:e}):this.speed.load(o.speed)}}}}function updateWobble(e,o){var l;const a=e.options.wobble;if(!(null===a||void 0===a?void 0:a.enable)||!e.wobble)return;const n=e.wobble.angleSpeed*o.factor,i=e.wobble.moveSpeed*o.factor,t=i*((null!==(l=e.retina.wobbleDistance)&&void 0!==l?l:0)*o.factor)/(1e3/60),b=2*Math.PI;e.wobble.angle+=n;e.wobble.angle>b&&(e.wobble.angle-=b);e.position.x+=t*Math.cos(e.wobble.angle);e.position.y+=t*Math.abs(Math.sin(e.wobble.angle))}class WobbleUpdater{constructor(e){this.container=e}init(e){var a;const n=e.options.wobble;(null===n||void 0===n?void 0:n.enable)?e.wobble={angle:o()*Math.PI*2,angleSpeed:l(n.speed.angle)/360,moveSpeed:l(n.speed.move)/10}:e.wobble={angle:0,angleSpeed:0,moveSpeed:0};e.retina.wobbleDistance=l(null!==(a=null===n||void 0===n?void 0:n.distance)&&void 0!==a?a:0)*this.container.retina.pixelRatio}isEnabled(e){var o;return!e.destroyed&&!e.spawning&&!!(null===(o=e.options.wobble)||void 0===o?void 0:o.enable)}loadOptions(e,...o){e.wobble||(e.wobble=new Wobble);for(const l of o)e.wobble.load(null===l||void 0===l?void 0:l.wobble)}update(e,o){this.isEnabled(e)&&updateWobble(e,o)}}async function loadWobbleUpdater(e){await e.addParticleUpdater(\"wobble\",(e=>new WobbleUpdater(e)))}export{loadWobbleUpdater};\n\n//# sourceMappingURL=index.js.map","import{loadAbsorbersPlugin as t}from\"tsparticles-plugin-absorbers\";import{loadEmittersPlugin as a}from\"tsparticles-plugin-emitters\";import{loadExternalTrailInteraction as r}from\"tsparticles-interaction-external-trail\";import{loadPolygonMaskPlugin as i}from\"tsparticles-plugin-polygon-mask\";import{loadRollUpdater as o}from\"tsparticles-updater-roll\";import{loadSlim as l}from\"tsparticles-slim\";import{loadTiltUpdater as p}from\"tsparticles-updater-tilt\";import{loadTwinkleUpdater as s}from\"tsparticles-updater-twinkle\";import{loadWobbleUpdater as e}from\"tsparticles-updater-wobble\";async function loadFull(m){await l(m);await o(m);await p(m);await s(m);await e(m);await r(m);await t(m);await a(m);await i(m)}export{loadFull};\n\n//# sourceMappingURL=index.js.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,Color,RenderTarget}from\"framer\";import Particles from\"react-tsparticles\";import{loadFull}from\"tsparticles\";import{useCallback}from\"react\";/**\n * PARTICLES FOR FRAMER\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export default function ParticleWrapper(props){const{background,color,radius,number,densityOptions,sizeOptions,opacityOptions,linksOptions,modeOptions,moveOptions,shapeOptions,clickOptions,hoverOptions,rotateOptions,particlesID,fpsOptions,colors}=props;const{densityEnable,densityArea,densityFactor}=densityOptions;const{linksEnabled,linksColor,linksOpacity,linksDistance,linksWidth}=linksOptions;const{size,sizeType,sizeMin,sizeMax}=sizeOptions;const{opacity,opacityType,opacityMin,opacityMax}=opacityOptions;const{connectDistance,connectRadius,connectLinksOpacity,grabDistance,grabLinksOpacity,bubbleDistance,bubbleSize,bubbleDuration,repulseDistance,repulseDuration,pushQuantity,removeQuantity,trailQuantity,trailDelay}=modeOptions;const{moveEnabled,moveDirection,moveSpeed,moveRandom,moveStraight,moveOut,moveVibrate,moveGravityEnabled,moveGravityAcceleration,moveGravityMaxSpeed,moveTrailEnabled,moveTrailAmount,moveSpinEnabled,moveSpinAcceleration,moveAttractEnabled,moveAttractDistance}=moveOptions;const{shapeType,characterType,imageSource,imageWidth,imageHeight}=shapeOptions;const{clickEnabled,clickModes}=clickOptions;const{hoverEnabled,hoverModes,hoverParallax,hoverForce,hoverSmooth}=hoverOptions;const{rotateDirection,rotateValue,rotateAnimation,rotateSpeed,rotateSync}=rotateOptions;const particlesInit=useCallback(async engine=>{await loadFull(engine);},[]);const isCanvas=RenderTarget.current()===RenderTarget.canvas;const hasMultipleColors=colors.length>0;return /*#__PURE__*/ _jsx(\"div\",{style:{width:\"100%\",height:\"100%\",overflow:\"hidden\",backgroundColor:background,transform:\"translateZ(0)\",borderRadius:radius,position:\"relative\"},children:/*#__PURE__*/ _jsx(Particles,{id:particlesID,init:particlesInit,style:{width:\"100%\",height:\"100%\",position:\"absolute\"},options:{// autoPlay: !isCanvas,\nbackground:{color:{value:\"transparent\"}},fpsLimit:isCanvas?1:fpsOptions,fullScreen:false,pauseOnBlur:true,pauseOnOutsideViewport:true,interactivity:isCanvas?{}:{events:{resize:true,onClick:{enable:isCanvas?false:clickEnabled,mode:clickModes},onHover:{enable:isCanvas?false:hoverEnabled,mode:hoverModes,parallax:{enable:isCanvas?false:hoverEnabled?hoverParallax:false,force:hoverForce,smooth:hoverForce}}},modes:{connect:{distance:connectDistance,radius:connectRadius,links:{opacity:connectLinksOpacity}},grab:{distance:grabDistance,links:{opacity:grabLinksOpacity}},bubble:{distance:bubbleDistance,size:bubbleSize,duration:bubbleDuration},repulse:{distance:repulseDistance,duration:repulseDuration},push:{quantity:pushQuantity},remove:{quantity:removeQuantity},trail:{delay:trailDelay,quantity:trailQuantity}}},particles:{color:{value:hasMultipleColors?colors.map(color=>makeHex(color)):makeHex(color)},collisions:{enable:false},rotate:{direction:rotateDirection,value:rotateValue,animation:!isCanvas&&{enable:rotateAnimation,speed:rotateSpeed}},move:{direction:moveDirection,outMode:moveOut,enable:isCanvas?false:moveEnabled,random:moveRandom,speed:moveSpeed,straight:moveStraight,trail:{enable:moveTrailEnabled,length:moveTrailAmount},spin:{enable:moveSpinEnabled,acceleration:moveSpinAcceleration},attract:{enable:moveAttractEnabled,distance:moveAttractDistance},gravity:{enable:moveGravityEnabled,acceleration:moveGravityAcceleration,maxSpeed:moveGravityMaxSpeed},vibrate:moveVibrate},links:{enable:linksEnabled,color:makeHex(linksColor),opacity:linksOpacity,distance:linksDistance,width:linksWidth},number:{value:number,density:{enable:densityEnable,area:densityEnable&&densityArea,factor:densityEnable&&densityFactor}},opacity:{value:opacityType?opacity:{min:opacityMin,max:opacityMax}},shape:{type:shapeType,character:{value:characterType},image:{src:imageSource,width:imageWidth,height:imageHeight}},size:{value:sizeType?size:{min:sizeMin,max:sizeMax}}},detectRetina:true}})});};/* Default properties */ ParticleWrapper.defaultProps={background:\"#000000\",color:\"#ffffff\",radius:0,number:100,densityOptions:{densityEnable:false,densityArea:5e3,densityFactor:50},sizeOptions:{sizeType:true,size:1,sizeMin:1,sizeMax:10},opacityOptions:{opacityType:true,opacity:1,opacityMin:0,opacityMax:1},linksOptions:{linksEnabled:false,linksColor:\"#ffffff\",linksOpacity:.2,linksDistance:100,linksWidth:1},modeOptions:{connectDistance:100,connectRadius:50,connectLinksOpacity:.2,grabDistance:100,grabLinksOpacity:.2,bubbleDistance:100,bubbleSize:40,bubbleDuration:.4,repulseDistance:200,repulseDuration:1.2,pushQuantity:4,removeQuantity:4,trailDelay:.1,trailQuantity:10},moveOptions:{moveEnabled:true,moveDirection:\"none\",moveSpeed:1,moveRandom:false,moveStraight:false,moveOut:\"out\",moveVibrate:false,moveGravityEnabled:false,moveGravityAcceleration:1,moveGravityMaxSpeed:2,moveTrailEnabled:false,moveTrailAmount:100,moveSpinEnabled:false,moveSpinAcceleration:1,moveAttractEnabled:false,moveAttractDistance:100},shapeOptions:{shapeType:\"circle\",characterType:\"😎\",imageWidth:100,imageHeight:100},clickOptions:{clickEnabled:false,clickModes:\"push\"},hoverOptions:{hoverEnabled:true,hoverModes:\"none\",hoverParallax:true,hoverForce:10,hoverSmooth:10},rotateOptions:{rotateDirection:\"random\",rotateValue:0,rotateAnimation:false,rotateSpeed:5,rotateSync:false},particlesID:\"Unique ID\",colors:[]};ParticleWrapper.displayName=\"Particles\";addPropertyControls(ParticleWrapper,{background:{type:ControlType.Color,defaultValue:ParticleWrapper.defaultProps.background,title:\"Backdrop\"},color:{type:ControlType.Color,defaultValue:ParticleWrapper.defaultProps.color,title:\"Color\"},colors:{type:ControlType.Array,control:{type:ControlType.Color},defaultValue:ParticleWrapper.defaultProps.colors},fpsOptions:{type:ControlType.Enum,title:\"FPS\",options:[30,60,120],optionTitles:[\"30\",\"60\",\"120\"],defaultValue:60,displaySegmentedControl:true},number:{type:ControlType.Number,title:\"Amount\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.number},densityOptions:{type:ControlType.Object,title:\"Density\",controls:{densityEnable:{type:ControlType.Boolean,title:\"Enable\",defaultValue:ParticleWrapper.defaultProps.densityOptions.densityEnable},densityArea:{type:ControlType.Number,title:\"Area\",min:100,max:1e4,step:1,defaultValue:ParticleWrapper.defaultProps.densityOptions.densityArea,hidden:props=>!props.densityEnable},densityFactor:{type:ControlType.Number,title:\"Factor\",min:0,max:100,step:.5,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.densityOptions.densityFactor,description:\"Decrease the amount property when using these, as too many particles in dense areas can cause slowdowns.\",hidden:props=>!props.densityEnable}}},sizeOptions:{type:ControlType.Object,title:\"Size\",controls:{sizeType:{type:ControlType.Boolean,title:\"Type\",enabledTitle:\"Value\",disabledTitle:\"Range\",defaultValue:ParticleWrapper.defaultProps.sizeOptions.sizeType},size:{type:ControlType.Number,title:\"Size\",min:0,max:1e3,step:.5,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.sizeOptions.size,hidden:props=>!props.sizeType},sizeMin:{type:ControlType.Number,title:\"Min\",min:0,max:1e3,step:.5,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.sizeOptions.sizeMin,hidden:props=>props.sizeType},sizeMax:{type:ControlType.Number,title:\"Max\",min:0,max:1e3,step:.5,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.sizeOptions.sizeMax,hidden:props=>props.sizeType}}},opacityOptions:{type:ControlType.Object,title:\"Opacity\",controls:{opacityType:{type:ControlType.Boolean,title:\"Type\",enabledTitle:\"Value\",disabledTitle:\"Range\",defaultValue:ParticleWrapper.defaultProps.opacityOptions.opacityType},opacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.opacityOptions.opacity,hidden:props=>!props.opacityType},opacityMin:{type:ControlType.Number,title:\"Min\",min:0,max:1,step:.05,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.opacityOptions.opacityMin,hidden:props=>props.opacityType},opacityMax:{type:ControlType.Number,title:\"Max\",min:0,max:1,step:.05,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.opacityOptions.opacityMax,hidden:props=>props.opacityType}}},linksOptions:{type:ControlType.Object,title:\"Links\",controls:{linksEnabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:ParticleWrapper.defaultProps.linksOptions.linksEnabled},linksColor:{type:ControlType.Color,title:\"Color\",defaultValue:ParticleWrapper.defaultProps.linksOptions.linksColor,hidden:props=>!props.linksEnabled},linksOpacity:{type:ControlType.Number,title:\"Opacity\",min:0,max:1,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.linksOptions.linksOpacity,hidden:props=>!props.linksEnabled},linksDistance:{type:ControlType.Number,title:\"Distance\",min:0,max:500,step:1,defaultValue:ParticleWrapper.defaultProps.linksOptions.linksDistance,hidden:props=>!props.linksEnabled},linksWidth:{type:ControlType.Number,title:\"Width\",min:0,max:10,step:1,defaultValue:ParticleWrapper.defaultProps.linksOptions.linksWidth,hidden:props=>!props.linksEnabled}}},modeOptions:{type:ControlType.Object,title:\"Modes\",controls:{connectDistance:{type:ControlType.Number,title:\"Connect\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.connectDistance},connectRadius:{type:ControlType.Number,title:\"Connect Radius\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.connectRadius},connectLinksOpacity:{type:ControlType.Number,title:\"Connect Links\",min:0,max:1,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.modeOptions.connectLinksOpacity},grabDistance:{type:ControlType.Number,title:\"Grab\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.grabDistance},grabLinksOpacity:{type:ControlType.Number,title:\"Grab Links\",min:0,max:1,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.modeOptions.grabLinksOpacity},bubbleDistance:{type:ControlType.Number,title:\"Bubble\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.bubbleDistance},bubbleSize:{type:ControlType.Number,title:\"Bubble Size\",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.bubbleSize},bubbleDuration:{type:ControlType.Number,title:\"Bubble Duration\",min:0,max:1,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.modeOptions.bubbleDuration},repulseDistance:{type:ControlType.Number,title:\"Repulse\",min:0,max:1e3,defaultValue:ParticleWrapper.defaultProps.modeOptions.repulseDistance},repulseDuration:{type:ControlType.Number,title:\"Repulse Duration\",min:0,max:10,step:.1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.modeOptions.repulseDuration},pushQuantity:{type:ControlType.Number,title:\"Push\",min:0,max:100,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.pushQuantity},removeQuantity:{type:ControlType.Number,title:\"Remove\",min:0,max:100,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.removeQuantity},trailQuantity:{type:ControlType.Number,title:\"Trail\",min:0,max:100,step:1,defaultValue:ParticleWrapper.defaultProps.modeOptions.trailQuantity},trailDelay:{type:ControlType.Number,title:\"Trail Delay\",min:0,max:10,step:.1,defaultValue:ParticleWrapper.defaultProps.modeOptions.trailDelay}}},moveOptions:{type:ControlType.Object,title:\"Move\",controls:{moveEnabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveEnabled},moveDirection:{type:ControlType.Enum,title:\"Direction\",options:[\"none\",\"bottom\",\"left\",\"right\",\"top\",\"bottom-left\",\"bottom-right\",\"top-left\",\"top-right\",\"outside\",\"inside\",],optionTitles:[\"Random\",\"Bottom\",\"Left\",\"Right\",\"Top\",\"Bottom Left\",\"Bottom Right\",\"Top Left\",\"Top Right\",\"Outside\",\"Inside\",],defaultValue:ParticleWrapper.defaultProps.moveOptions.moveDirection,hidden:props=>!props.moveEnabled},moveSpeed:{type:ControlType.Number,title:\"Speed\",min:0,max:100,step:.1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveSpeed,hidden:props=>!props.moveEnabled},moveRandom:{type:ControlType.Boolean,title:\"Random\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveRandom,hidden:props=>!props.moveEnabled},moveStraight:{type:ControlType.Boolean,title:\"Straight\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveStraight,hidden:props=>!props.moveEnabled},moveOut:{type:ControlType.Enum,title:\"Out\",options:[\"none\",\"split\",\"bounce\",\"destroy\",\"out\",\"bounceHorizontal\",\"bounceVertical\",],optionTitles:[\"None\",\"Split\",\"Bounce\",\"Destroy\",\"Out\",\"Bounce Horizontal\",\"Bounce Vertical\",],defaultValue:ParticleWrapper.defaultProps.moveOptions.moveOut,hidden:props=>!props.moveEnabled},moveVibrate:{type:ControlType.Boolean,title:\"Vibrate\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveVibrate,hidden:props=>!props.moveEnabled},moveGravityEnabled:{type:ControlType.Boolean,title:\"Gravity\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveGravityEnabled,hidden:props=>!props.moveEnabled},moveGravityAcceleration:{type:ControlType.Number,title:\"Gravity Acceleration\",min:0,max:100,step:.1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveGravityAcceleration,hidden:props=>!props.moveEnabled||!props.moveGravityEnabled},moveGravityMaxSpeed:{type:ControlType.Number,title:\"Gravity Max Speed\",min:0,max:100,step:.1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveGravityAcceleration,hidden:props=>!props.moveEnabled||!props.moveGravityEnabled},moveTrailEnabled:{type:ControlType.Boolean,title:\"Trail\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveTrailEnabled,hidden:props=>!props.moveEnabled},moveTrailAmount:{type:ControlType.Number,title:\" \",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveTrailAmount,hidden:props=>!props.moveEnabled||!props.moveTrailEnabled},moveSpinEnabled:{type:ControlType.Boolean,title:\"Spin\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveSpinEnabled,hidden:props=>!props.moveEnabled},moveSpinAcceleration:{type:ControlType.Number,title:\" \",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveSpinAcceleration,hidden:props=>!props.moveEnabled||!props.moveSpinEnabled},moveAttractEnabled:{type:ControlType.Boolean,title:\"Attract\",defaultValue:ParticleWrapper.defaultProps.moveOptions.moveAttractEnabled,hidden:props=>!props.moveEnabled},moveAttractDistance:{type:ControlType.Number,title:\" \",min:0,max:1e3,step:1,defaultValue:ParticleWrapper.defaultProps.moveOptions.moveAttractDistance,hidden:props=>!props.moveEnabled||!props.moveAttractEnabled}}},shapeOptions:{type:ControlType.Object,title:\"Shape\",controls:{shapeType:{type:ControlType.Enum,title:\"Shape\",options:[\"circle\",\"edge\",\"triangle\",\"polygon\",\"star\",\"character\",\"image\",],optionTitles:[\"Circle\",\"Square\",\"Triangle\",\"Polygon\",\"Star\",\"Character\",\"Image\",],defaultValue:ParticleWrapper.defaultProps.shapeOptions.characterType},characterType:{type:ControlType.String,title:\"Character\",defaultValue:ParticleWrapper.defaultProps.shapeOptions.characterType,hidden:props=>props.shapeType!==\"character\"},imageSource:{type:ControlType.Image,title:\"Image\",hidden:props=>props.shapeType!==\"image\"},imageWidth:{type:ControlType.Number,title:\"Width\",min:0,max:1e3,defaultValue:ParticleWrapper.defaultProps.shapeOptions.imageWidth,hidden:props=>props.shapeType!==\"image\"},imageHeight:{type:ControlType.Number,title:\"Height\",min:0,max:1e3,defaultValue:ParticleWrapper.defaultProps.shapeOptions.imageWidth,hidden:props=>props.shapeType!==\"image\"}}},clickOptions:{type:ControlType.Object,title:\"Click\",controls:{clickEnabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:ParticleWrapper.defaultProps.clickOptions.clickEnabled},clickModes:{type:ControlType.Enum,title:\"Mode\",options:[\"attract\",\"bubble\",\"push\",\"remove\",\"repulse\",\"pause\",\"trail\",],optionTitles:[\"Attract\",\"Bubble\",\"Push\",\"Remove\",\"Repulse\",\"Pause\",\"Trail\",],defaultValue:ParticleWrapper.defaultProps.clickOptions.clickModes,hidden:props=>!props.clickEnabled}}},hoverOptions:{type:ControlType.Object,title:\"Hover\",controls:{hoverEnabled:{type:ControlType.Boolean,title:\"Enable\",defaultValue:ParticleWrapper.defaultProps.hoverOptions.hoverEnabled},hoverModes:{type:ControlType.Enum,title:\"Mode\",options:[\"none\",\"attract\",\"bounce\",\"bubble\",\"connect\",\"grab\",\"light\",\"repulse\",\"slow\",\"trail\",],optionTitles:[\"None\",\"Attract\",\"Bounce\",\"Bubble\",\"Connect\",\"Grab\",\"Light\",\"Repulse\",\"Slow\",\"Trail\",],defaultValue:ParticleWrapper.defaultProps.hoverOptions.hoverModes,hidden:props=>!props.hoverEnabled},hoverParallax:{type:ControlType.Boolean,title:\"Parallax\",defaultValue:ParticleWrapper.defaultProps.hoverOptions.hoverParallax,hidden:props=>!props.hoverEnabled},hoverForce:{type:ControlType.Number,min:0,max:50,step:1,displayStepper:true,title:\"Force\",defaultValue:ParticleWrapper.defaultProps.hoverOptions.hoverForce,hidden:props=>!props.hoverParallax||!props.hoverEnabled},hoverSmooth:{type:ControlType.Number,min:0,max:50,step:1,displayStepper:true,title:\"Smooth\",defaultValue:ParticleWrapper.defaultProps.hoverOptions.hoverSmooth,hidden:props=>!props.hoverParallax||!props.hoverEnabled}}},rotateOptions:{type:ControlType.Object,title:\"Rotate\",controls:{rotateValue:{type:ControlType.Number,title:\"Value\",min:-360,max:360,step:1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.rotateOptions.rotateValue},rotateDirection:{type:ControlType.Enum,title:\"Direction\",options:[\"clockwise\",\"counter-clockwise\",\"random\"],optionTitles:[\"Clockwise\",\"Counter Clockwise\",\"Random\"],defaultValue:ParticleWrapper.defaultProps.rotateOptions.rotateDirection},rotateAnimation:{type:ControlType.Boolean,title:\"Animate\",defaultValue:ParticleWrapper.defaultProps.rotateOptions.rotateAnimation},rotateSpeed:{type:ControlType.Number,title:\"Speed\",min:0,max:100,step:1,defaultValue:ParticleWrapper.defaultProps.rotateOptions.rotateSpeed,hidden:props=>!props.rotateAnimation},rotateSync:{type:ControlType.Boolean,title:\"Sync\",defaultValue:ParticleWrapper.defaultProps.rotateOptions.rotateSync,hidden:props=>!props.rotateAnimation}}},radius:{type:ControlType.Number,min:0,max:1e3,step:1,displayStepper:true,defaultValue:ParticleWrapper.defaultProps.radius},particlesID:{type:ControlType.String,title:\"ID\",defaultValue:\"One\",placeholder:ParticleWrapper.defaultProps.particlesID}});// Converts all color values to hex strings\nconst makeHex=property=>Color.toHexString(Color(property));\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ParticleWrapper\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"*\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Particles.map","// Generated by Framer (ab6b6d5)\nimport{fontStore}from\"framer\";fontStore.loadFonts([]);export const fonts=[{explicitInter:true,fonts:[]}];export const css=[\".framer-KRQUf .framer-styles-preset-p3qpzf:not(.rich-text-wrapper), .framer-KRQUf .framer-styles-preset-p3qpzf.rich-text-wrapper a { --framer-link-current-text-color: var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, #a4a8af); --framer-link-current-text-decoration: none; --framer-link-hover-text-color: var(--token-cc3406b8-969a-478d-aa8d-af8b42a12840, #e6e6eb); --framer-link-hover-text-decoration: none; --framer-link-text-color: var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, #a4a8af); --framer-link-text-decoration: none; }\"];export const className=\"framer-KRQUf\";\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\"}}}","// Generated by Framer (f8e3bf6)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(motion.img,{...rest,layoutId:layoutId,ref:ref}):/*#__PURE__*/_jsx(\"img\",{...rest,ref:ref});});const getProps=({color,fill,height,id,width,width1,...props})=>{return{...props,hxzbg9Eg4:color??props.hxzbg9Eg4??\"var(--token-f50d6146-3f89-4bbc-9030-3cc23f55e9a9, rgb(2, 10, 15))\",qRnzQejIQ:width1??props.qRnzQejIQ??1.5,TRjuTOAY0:fill??props.TRjuTOAY0??\"var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175))\"};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,hxzbg9Eg4,qRnzQejIQ,TRjuTOAY0,...restProps}=getProps(props);return /*#__PURE__*/_jsx(SVG,{...restProps,alt:\"\",className:cx(\"framer-Z7HUu\",className),layoutId:layoutId,ref:ref,src:'data:image/svg+xml,<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 18 18\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 2 0 C 0.895 0 0 0.895 0 2 L 0 12 C 0 13.105 0.895 14 2 14 L 12 14 C 13.105 14 14 13.105 14 12 L 14 2 C 14 0.895 13.105 0 12 0 Z M 4.56 5.155 L 4.56 10.85 L 2.79 10.85 L 2.79 5.155 Z M 4.596 3.832 C 4.405 4.157 4.052 4.351 3.675 4.34 C 3.105 4.341 2.642 3.879 2.642 3.308 C 2.641 2.738 3.103 2.276 3.673 2.275 C 4.049 2.263 4.403 2.457 4.595 2.781 C 4.787 3.105 4.787 3.508 4.596 3.832 Z M 11.2 7.726 L 11.2 10.85 L 9.432 10.85 L 9.432 8.08 C 9.432 7.42 9.419 6.57 8.512 6.57 C 7.591 6.57 7.449 7.29 7.449 8.033 L 7.449 10.85 L 5.68 10.85 L 5.68 5.155 L 7.378 5.155 L 7.378 5.933 L 7.402 5.933 C 7.638 5.485 8.216 5.013 9.076 5.013 C 10.869 5.013 11.2 6.193 11.2 7.726 Z\" fill=\"rgb(164, 168, 175)\" height=\"14px\" id=\"uhtmrA59z\" transform=\"translate(2 2)\" width=\"14px\"/></svg>',style:{...style}});});const css=[`.framer-Z7HUu { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; user-select: none; width: 18px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 18\n * @framerIntrinsicHeight 18\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"hxzbg9Eg4\":\"color\",\"qRnzQejIQ\":\"width1\",\"TRjuTOAY0\":\"fill\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"linkedin\",\"color\":{\"type\":\"static\",\"value\":\"rgb(164,168,175)\"},\"set\":{\"localId\":\"vectorSet/FC7DKVrt2\",\"id\":\"FC7DKVrt2\",\"moduleId\":\"OYoBhGF6r68PgzsQxGlC\"}}\n */const Icon=withCSS(Component,css,\"framer-Z7HUu\");Icon.displayName=\"linkedin\";export default Icon;addPropertyControls(Icon,{hxzbg9Eg4:{defaultValue:'var(--token-f50d6146-3f89-4bbc-9030-3cc23f55e9a9, rgb(2, 10, 15)) /* {\"name\":\"900\"} */',hidden:true,title:\"Color\",type:ControlType.Color},qRnzQejIQ:{defaultValue:1.5,hidden:true,min:0,title:\"Width\",type:ControlType.Number},TRjuTOAY0:{defaultValue:\"var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175))\",hidden:true,title:\"Fill\",type:ControlType.Color}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"18\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVariables\":\"{\\\"hxzbg9Eg4\\\":\\\"color\\\",\\\"qRnzQejIQ\\\":\\\"width1\\\",\\\"TRjuTOAY0\\\":\\\"fill\\\"}\",\"framerIntrinsicWidth\":\"18\",\"framerImmutableVariables\":\"true\",\"framerVector\":\"{\\\"name\\\":\\\"linkedin\\\",\\\"color\\\":{\\\"type\\\":\\\"static\\\",\\\"value\\\":\\\"rgb(164,168,175)\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/FC7DKVrt2\\\",\\\"id\\\":\\\"FC7DKVrt2\\\",\\\"moduleId\\\":\\\"OYoBhGF6r68PgzsQxGlC\\\"}}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","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 (9f55354)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,CycleVariantState,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=[\"uyEBvcDUf\",\"yVHPuslju\"];const serializationHash=\"framer-a3469\";const variantClassNames={uyEBvcDUf:\"framer-v-npq3i3\",yVHPuslju:\"framer-v-88m7vw\"};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={duration:0,type:\"tween\"};const transformTemplate1=(_,t)=>`translate(-50%, -50%) ${t}`;const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Status Light Timing\":\"uyEBvcDUf\",\"Status Light\":\"yVHPuslju\"};const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"uyEBvcDUf\"};};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:\"uyEBvcDUf\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const{activeVariantCallback,delay}=useActiveVariantCallback(baseVariant);const onAppear1a2vbif=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(CycleVariantState),1500);});const onClickf382t5=activeVariantCallback(async(...args)=>{await delay(()=>setVariant(CycleVariantState),2e3);});useOnVariantChange(baseVariant,{default:onAppear1a2vbif});const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const isDisplayed=()=>{if(baseVariant===\"yVHPuslju\")return true;return false;};const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,...addPropertyOverrides({yVHPuslju:{value:transition2}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-npq3i3\",className,classNames),\"data-framer-name\":\"Status Light Timing\",\"data-highlight\":true,layoutDependency:layoutDependency,layoutId:\"uyEBvcDUf\",ref:ref??ref1,style:{...style},...addPropertyOverrides({yVHPuslju:{\"data-framer-name\":\"Status Light\"}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-1navfta\",layoutDependency:layoutDependency,layoutId:\"XQzhT1nQy\",style:{backgroundColor:\"rgb(119, 219, 137)\",borderBottomLeftRadius:64,borderBottomRightRadius:64,borderTopLeftRadius:64,borderTopRightRadius:64},transformTemplate:transformTemplate1}),isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-1m4oqjk-container\",layoutDependency:layoutDependency,layoutId:\"M4KZX6WCU-container\",children:/*#__PURE__*/_jsx(Lottie,{height:\"100%\",id:\"M4KZX6WCU\",isForwardsDirection:true,layoutId:\"M4KZX6WCU\",loop:true,onClick:onClickf382t5,playing:true,poster:\"Auto\",posterProgress:0,progress:0,speed:1,srcFile:\"https://framerusercontent.com/assets/Rf4ToD6CKieB2KGov1hQLEXO20.json\",srcType:\"Upload\",srcUrl:\"https://raw.githubusercontent.com/framer/Lottie/master/Lottie.framerfx/assets/logo.json\",style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-a3469.framer-i5vv9o, .framer-a3469 .framer-i5vv9o { display: block; }\",\".framer-a3469.framer-npq3i3 { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 24px; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 24px; }\",\".framer-a3469 .framer-1navfta { aspect-ratio: 1 / 1; flex: none; height: var(--framer-aspect-ratio-supported, 8px); left: 50%; overflow: visible; position: absolute; top: 50%; width: 8px; z-index: 1; }\",\".framer-a3469 .framer-1m4oqjk-container { flex: none; height: 24px; position: relative; width: 24px; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-a3469.framer-npq3i3 { gap: 0px; } .framer-a3469.framer-npq3i3 > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-a3469.framer-npq3i3 > :first-child { margin-left: 0px; } .framer-a3469.framer-npq3i3 > :last-child { margin-right: 0px; } }\",\".framer-a3469.framer-v-88m7vw .framer-1navfta { order: 1; }\",\".framer-a3469.framer-v-88m7vw .framer-1m4oqjk-container { order: 0; }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 24\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"yVHPuslju\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const Framergyv_cDnFu=withCSS(Component,css,\"framer-a3469\");export default Framergyv_cDnFu;Framergyv_cDnFu.displayName=\"Status Dot\";Framergyv_cDnFu.defaultProps={height:24,width:24};addPropertyControls(Framergyv_cDnFu,{variant:{options:[\"uyEBvcDUf\",\"yVHPuslju\"],optionTitles:[\"Status Light Timing\",\"Status Light\"],title:\"Variant\",type:ControlType.Enum}});addFonts(Framergyv_cDnFu,[{explicitInter:true,fonts:[]},...LottieFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Framergyv_cDnFu\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"24\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"yVHPuslju\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerImmutableVariables\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerComponentViewportWidth\":\"true\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./gyv_cDnFu.map","// Generated by Framer (9f55354)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,ComponentViewportProvider,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 sharedStyle from\"https://framerusercontent.com/modules/lsf48NIgRCXYTjc6qp4f/Cn4WG6WXEeHnzmZ6f2uw/BwCyBRmh0.js\";import StatusDot from\"https://framerusercontent.com/modules/5QOPdln8eQg4VnvrMORa/faibSpf5QxqCOfmAk2kS/gyv_cDnFu.js\";const StatusDotFonts=getFonts(StatusDot);const enabledGestures={GfYpeTruT:{hover:true}};const serializationHash=\"framer-Ownxx\";const variantClassNames={GfYpeTruT:\"framer-v-z89r18\"};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 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{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"GfYpeTruT\",enabledGestures,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},nodeId:\"GfYpeTruT\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-z89r18\",className,classNames)} framer-hnh1r3`,\"data-framer-name\":\"Status\",layoutDependency:layoutDependency,layoutId:\"GfYpeTruT\",ref:ref??ref1,style:{borderBottomLeftRadius:8,borderBottomRightRadius:8,borderTopLeftRadius:8,borderTopRightRadius:8,...style},...addPropertyOverrides({\"GfYpeTruT-hover\":{\"data-framer-name\":undefined}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,width:\"24px\",y:(componentViewport?.y||0)+(0+((componentViewport?.height||24)-0-24)/2),children:/*#__PURE__*/_jsx(motion.div,{className:\"framer-rvr99d-container\",layoutDependency:layoutDependency,layoutId:\"Dt1jO8lmq-container\",children:/*#__PURE__*/_jsx(StatusDot,{height:\"100%\",id:\"Dt1jO8lmq\",layoutId:\"Dt1jO8lmq\",style:{height:\"100%\",width:\"100%\"},variant:\"uyEBvcDUf\",width:\"100%\"})})}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-ye3b59\",\"data-styles-preset\":\"BwCyBRmh0\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-cc3406b8-969a-478d-aa8d-af8b42a12840, rgb(230, 230, 235)))\"},children:\"System Status\"})}),className:\"framer-1wtrxwm\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"IS_sxEG82\",style:{\"--extracted-r6o4lv\":\"var(--token-cc3406b8-969a-478d-aa8d-af8b42a12840, rgb(230, 230, 235))\"},variants:{\"GfYpeTruT-hover\":{\"--extracted-r6o4lv\":\"var(--token-f07bd819-3132-4b59-b01d-c794567fa989, rgb(255, 255, 255))\"}},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({\"GfYpeTruT-hover\":{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-ye3b59\",\"data-styles-preset\":\"BwCyBRmh0\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-f07bd819-3132-4b59-b01d-c794567fa989, rgb(255, 255, 255)))\"},children:\"System Status\"})})}},baseVariant,gestureVariant)})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-Ownxx.framer-hnh1r3, .framer-Ownxx .framer-hnh1r3 { display: block; }\",\".framer-Ownxx.framer-z89r18 { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; }\",\".framer-Ownxx .framer-rvr99d-container { flex: none; height: 24px; position: relative; width: 24px; }\",\".framer-Ownxx .framer-1wtrxwm { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-Ownxx.framer-z89r18 { gap: 0px; } .framer-Ownxx.framer-z89r18 > * { margin: 0px; margin-left: calc(0px / 2); margin-right: calc(0px / 2); } .framer-Ownxx.framer-z89r18 > :first-child { margin-left: 0px; } .framer-Ownxx.framer-z89r18 > :last-child { margin-right: 0px; } }\",...sharedStyle.css];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 24\n * @framerIntrinsicWidth 120\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"auto\",\"auto\"]},\"BBOrUQF69\":{\"layout\":[\"auto\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerAAOMPJNnc=withCSS(Component,css,\"framer-Ownxx\");export default FramerAAOMPJNnc;FramerAAOMPJNnc.displayName=\"Status\";FramerAAOMPJNnc.defaultProps={height:24,width:120};addFonts(FramerAAOMPJNnc,[{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\"}]},...StatusDotFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerAAOMPJNnc\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"120\",\"framerDisplayContentsDiv\":\"false\",\"framerImmutableVariables\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]},\\\"BBOrUQF69\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerIntrinsicHeight\":\"24\"}},\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c8e5bf6)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,forwardLoader,getFonts,getFontsFromSharedStyle,getLoadingLazyAtYPosition,Image,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import Particles from\"https://framerusercontent.com/modules/wb6ZrZlCLNQ5HHBJtNND/c1GLxCsQBQvlLXhkz7er/Particles.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/gEbwXi2CxFF5CNLah43s/l2k3rIpCD96kxG6GZDav/A73zw5Dah.js\";import*as sharedStyle4 from\"https://framerusercontent.com/modules/lsf48NIgRCXYTjc6qp4f/Cn4WG6WXEeHnzmZ6f2uw/BwCyBRmh0.js\";import*as sharedStyle3 from\"https://framerusercontent.com/modules/t1rhM6oeD682pIxTnWD2/G5MKSAAYvK829XCDVUOF/friF8cJ7Q.js\";import*as sharedStyle1 from\"https://framerusercontent.com/modules/ekehRw0i5yNNwQ10pVrk/dz3T1OfVPOMGRnAdZHVz/hfToAX2yz.js\";import*as sharedStyle2 from\"https://framerusercontent.com/modules/CtNsrbDBTJBYu64Murr1/mJvnNhkEslCgCPabhM7K/SDYl68mMc.js\";import Linkedin from\"https://framerusercontent.com/modules/kODKX7o9O7z6hH4StTDs/weVvYBSLnJOe8yl30nWD/bP0zS_xRR.js\";import Status from\"https://framerusercontent.com/modules/9dAUm0pjSFG9htOIDO3U/zovkeuH325RKnwTlvyOb/AAOMPJNnc.js\";import Buttons from\"https://framerusercontent.com/modules/cx57RTEckIEqRvjF6wyn/g2O5rhyrmjSXcdJcWY2G/QX9I1i2Zj.js\";const ButtonsFonts=getFonts(Buttons);const ParticlesFonts=getFonts(Particles);const LinkedinFonts=getFonts(Linkedin);const StatusFonts=getFonts(Status);const cycleOrder=[\"ajXmyK4yT\",\"H_jVObbiQ\"];const serializationHash=\"framer-M7BZ1\";const variantClassNames={ajXmyK4yT:\"framer-v-hrosmn\",H_jVObbiQ:\"framer-v-h5vwnp\"};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 matchVariant=(...args)=>{for(const arg of args){if(arg&&typeof arg===\"string\")return arg;}return undefined;};const transition2={bounce:.25,delay:0,duration:.45,type:\"spring\"};const animation={opacity:.8,rotate:0,rotateX:0,rotateY:0,scale: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 humanReadableVariantMap={Desktop:\"ajXmyK4yT\",Mobile:\"H_jVObbiQ\"};const Variants=motion.create(React.Fragment);const getProps=({height,id,width,...props})=>{return{...props,variant:humanReadableVariantMap[props.variant]??props.variant??\"ajXmyK4yT\"};};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:\"ajXmyK4yT\",ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className,sharedStyle1.className,sharedStyle2.className,sharedStyle3.className,sharedStyle4.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.footer,{...restProps,...gestureHandlers,className:cx(scopingClassNames,\"framer-hrosmn\",className,classNames),\"data-framer-name\":\"Desktop\",layoutDependency:layoutDependency,layoutId:\"ajXmyK4yT\",ref:refBinding,style:{backgroundColor:\"var(--token-f50d6146-3f89-4bbc-9030-3cc23f55e9a9, rgb(2, 10, 15))\",...style},...addPropertyOverrides({H_jVObbiQ:{\"data-framer-name\":\"Mobile\"}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-jzdt5m\",\"data-framer-name\":\"Container\",layoutDependency:layoutDependency,layoutId:\"vcwT96feJ\",children:[/*#__PURE__*/_jsxs(Image,{background:{alt:\"\",fit:\"fill\",intrinsicHeight:456,intrinsicWidth:1200,loading:getLoadingLazyAtYPosition((componentViewport?.y||0)+96+0+0+0),pixelHeight:457,pixelWidth:1200,sizes:`calc(min(${componentViewport?.width||\"100vw\"}, 1280px) - 80px)`,src:\"https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?width=1200&height=457\",srcSet:\"https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?scale-down-to=512&width=1200&height=457 512w,https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?scale-down-to=1024&width=1200&height=457 1024w,https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?width=1200&height=457 1200w\"},className:\"framer-xieezg\",\"data-border\":true,\"data-framer-name\":\"CTA\",layoutDependency:layoutDependency,layoutId:\"DUtmhBNEv\",style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgba(255, 255, 255, 0.05)\",\"--border-left-width\":\"0px\",\"--border-right-width\":\"0px\",\"--border-style\":\"solid\",\"--border-top-width\":\"0px\",borderBottomLeftRadius:14,borderBottomRightRadius:14,borderTopLeftRadius:14,borderTopRightRadius:14},...addPropertyOverrides({H_jVObbiQ:{background:{alt:\"\",fit:\"fill\",intrinsicHeight:456,intrinsicWidth:1200,pixelHeight:457,pixelWidth:1200,positionX:\"center\",positionY:\"center\",sizes:`calc(min(${componentViewport?.width||\"100vw\"}, 1280px) - 40px)`,src:\"https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?width=1200&height=457\",srcSet:\"https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?scale-down-to=512&width=1200&height=457 512w,https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?scale-down-to=1024&width=1200&height=457 1024w,https://framerusercontent.com/images/4paGe8ab2whYwRRlwON0dc1yM.svg?width=1200&height=457 1200w\"}}},baseVariant,gestureVariant),children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-q9cbyv\",layoutDependency:layoutDependency,layoutId:\"rlrJ1tsmj\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-10fgvx1\",layoutDependency:layoutDependency,layoutId:\"Rkjk0dMN9\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.h2,{className:\"framer-styles-preset-1cnlr3n\",\"data-styles-preset\":\"A73zw5Dah\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-1of0zx5, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:\"Book a strategy call today\"})}),className:\"framer-1ose7bg\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LjmHXmKls\",style:{\"--extracted-1of0zx5\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1qxb7vh\",\"data-styles-preset\":\"hfToAX2yz\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-cc3406b8-969a-478d-aa8d-af8b42a12840, rgb(230, 230, 235)))\"},children:\"We'll show you the creators in your niche, build a campaign plan, and walk you through the dashboard. All within 15 minutes, no commitment.\"})}),className:\"framer-r0c54d\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"vqYK8SgH2\",style:{\"--extracted-r6o4lv\":\"var(--token-cc3406b8-969a-478d-aa8d-af8b42a12840, rgb(230, 230, 235))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:44,y:(componentViewport?.y||0)+96+0+0+0+64+28.2+0+227.6,...addPropertyOverrides({H_jVObbiQ:{y:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1qh1f2d-container\",\"data-framer-name\":\"Button 2\",layoutDependency:layoutDependency,layoutId:\"EA4RexoQ0-container\",name:\"Button 2\",nodeId:\"EA4RexoQ0\",rendersWithMotion:true,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(Buttons,{ejk6FTzr7:\"Book a Strategy Call\",height:\"100%\",id:\"EA4RexoQ0\",layoutId:\"EA4RexoQ0\",name:\"Button 2\",style:{height:\"100%\"},variant:matchVariant(\"ZFMmTqsrC\"),width:\"100%\",xSO5MMQkx:false})})})]}),/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-zlawgr-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"EcdLdTLLz-container\",nodeId:\"EcdLdTLLz\",rendersWithMotion:true,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(Particles,{background:\"rgba(0, 0, 0, 0)\",clickOptions:{clickEnabled:false,clickModes:\"push\"},color:\"rgb(255, 255, 255)\",colors:[],densityOptions:{densityArea:5e3,densityEnable:false,densityFactor:50},fpsOptions:60,height:\"100%\",hoverOptions:{hoverEnabled:false,hoverForce:10,hoverModes:\"none\",hoverParallax:true,hoverSmooth:10},id:\"EcdLdTLLz\",layoutId:\"EcdLdTLLz\",linksOptions:{linksColor:\"rgb(255, 255, 255)\",linksDistance:100,linksEnabled:false,linksOpacity:.2,linksWidth:1},modeOptions:{bubbleDistance:100,bubbleDuration:.4,bubbleSize:40,connectDistance:100,connectLinksOpacity:.2,connectRadius:50,grabDistance:100,grabLinksOpacity:.2,pushQuantity:4,removeQuantity:4,repulseDistance:200,repulseDuration:1.2,trailDelay:.1,trailQuantity:10},moveOptions:{moveAttractDistance:100,moveAttractEnabled:false,moveDirection:\"none\",moveEnabled:true,moveGravityAcceleration:1,moveGravityEnabled:false,moveGravityMaxSpeed:2,moveOut:\"out\",moveRandom:false,moveSpeed:.5,moveSpinAcceleration:1,moveSpinEnabled:false,moveStraight:false,moveTrailAmount:100,moveTrailEnabled:false,moveVibrate:false},number:25,opacityOptions:{opacity:.2,opacityMax:1,opacityMin:0,opacityType:true},particlesID:\"One\",radius:0,rotateOptions:{rotateAnimation:false,rotateDirection:\"random\",rotateSpeed:5,rotateSync:false,rotateValue:0},shapeOptions:{characterType:\"😎\",imageHeight:100,imageWidth:100,shapeType:\"circle\"},sizeOptions:{size:1.5,sizeMax:1.5,sizeMin:.5,sizeType:false},style:{height:\"100%\",width:\"100%\"},width:\"100%\"})})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-xidrf4\",\"data-framer-name\":\"Footer\",layoutDependency:layoutDependency,layoutId:\"DnxXxRJ1t\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-m8li2i\",\"data-framer-name\":\"Links\",layoutDependency:layoutDependency,layoutId:\"VewgdU5uy\",children:[/*#__PURE__*/_jsxs(motion.div,{className:\"framer-z4fugd\",\"data-framer-name\":\"Logo\",layoutDependency:layoutDependency,layoutId:\"idDpOaOHN\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{dir:\"auto\",style:{\"--font-selector\":\"Q1VTVE9NVjI7UHVscCBEaXNwbGF5IEJvbGQ=\",\"--framer-font-family\":'\"Pulp Display Bold\", \"Pulp Display Bold Placeholder\", sans-serif',\"--framer-font-size\":\"40px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(255, 255, 255))\"},children:\"Sup.\"})}),className:\"framer-gnozdr\",fonts:[\"CUSTOMV2;Pulp Display Bold\"],layoutDependency:layoutDependency,layoutId:\"NIF3L0xNs\",style:{\"--extracted-r6o4lv\":\"rgb(255, 255, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-8h5u9y\",\"data-framer-name\":\"Social Icons\",layoutDependency:layoutDependency,layoutId:\"oRusW8aP_\",children:[/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"e9ZlYqdz8\",openInNewTab:false,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-n4sgb framer-1p8zozs\",\"data-framer-name\":\"X\",layoutDependency:layoutDependency,layoutId:\"e9ZlYqdz8\",whileHover:animation,children:/*#__PURE__*/_jsx(Linkedin,{animated:true,className:\"framer-4rwawi\",layoutDependency:layoutDependency,layoutId:\"ipyvOIKKT\",style:{\"--153p0zw\":\"var(--token-f50d6146-3f89-4bbc-9030-3cc23f55e9a9, rgb(2, 10, 15))\",\"--17jtsg7\":1.5,\"--18izd1\":\"var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175))\"}})})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"WVqQjOJxd\",openInNewTab:false,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-pcjm3v framer-1p8zozs\",\"data-framer-name\":\"Linkedin\",layoutDependency:layoutDependency,layoutId:\"WVqQjOJxd\",whileHover:animation})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"EuwUBcwlL\",openInNewTab:false,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-xx17ic framer-1p8zozs\",\"data-framer-name\":\"Github\",layoutDependency:layoutDependency,layoutId:\"EuwUBcwlL\",whileHover:animation})}),/*#__PURE__*/_jsx(Link,{href:{webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"S8wcOEWEX\",openInNewTab:false,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-1d50zc5 framer-1p8zozs\",\"data-framer-name\":\"Discord\",layoutDependency:layoutDependency,layoutId:\"S8wcOEWEX\",whileHover:animation})})]})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-okbql7\",\"data-framer-name\":\"Row\",layoutDependency:layoutDependency,layoutId:\"IV5aUHrrl\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255)))\"},children:\"Product\"})}),className:\"framer-1mf23jg\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HmhxuY5cg\",style:{\"--extracted-r6o4lv\":\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:/*#__PURE__*/_jsx(Link,{href:{hash:\":PSE818mGH\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"iMQOFRRWU\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"How it works\"})})})}),className:\"framer-9hu0wv\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"iMQOFRRWU\",style:{\"--extracted-r6o4lv\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:/*#__PURE__*/_jsx(Link,{href:{hash:\":k4q_dkniE\",webPageId:\"augiA20Il\"},motionChild:true,nodeId:\"ZS6SYdPGN\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Content Examples\"})})})}),className:\"framer-oexpjz\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ZS6SYdPGN\",style:{\"--extracted-r6o4lv\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"F_5eLqXuu\"},motionChild:true,nodeId:\"LE6DBSYCG\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Pricing\"})})})}),className:\"framer-v4m067\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"LE6DBSYCG\",style:{\"--extracted-r6o4lv\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Nixzz2aLb\"},motionChild:true,nodeId:\"fGu2YZLrC\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Blog\"})})})}),className:\"framer-19yrr62\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"fGu2YZLrC\",style:{\"--extracted-r6o4lv\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250)))\"},children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"eXFUB_bgK\"},motionChild:true,nodeId:\"D04Wt_eMA\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Book a strategy call\"})})})}),className:\"framer-1oic6xf\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"D04Wt_eMA\",style:{\"--extracted-r6o4lv\":\"var(--token-938f60e4-0699-4e0f-a3dc-b7905dc2213a, rgb(250, 250, 250))\"},verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1ea7po3\",\"data-framer-name\":\"Row\",layoutDependency:layoutDependency,layoutId:\"ZuXTyY8IM\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255)))\"},children:\"Company\"})}),className:\"framer-x91upo\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"oppXicRkN\",style:{\"--extracted-r6o4lv\":\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"QlZT3ogqj\"},motionChild:true,nodeId:\"B6FMiGuHF\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"About\"})})})}),className:\"framer-4ubjjx\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"B6FMiGuHF\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"VY_ah2N6d\"},motionChild:true,nodeId:\"J0POwIYwe\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Careers\"})})})}),className:\"framer-1lqfftm\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"J0POwIYwe\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"/terms\",motionChild:true,nodeId:\"HW7GpXGcQ\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Terms of service\"})})})}),className:\"framer-1rh9ucq\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"HW7GpXGcQ\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:\"/privacy\",motionChild:true,nodeId:\"zpJD7tZKK\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Privacy policy\"})})})}),className:\"framer-1mpfd5b\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"zpJD7tZKK\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1xgyfmh\",layoutDependency:layoutDependency,layoutId:\"NxImxemBD\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"Pl2YlLxSc\"},motionChild:true,nodeId:\"PyPiNur2W\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Contact\"})})})}),className:\"framer-1xux289\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"PyPiNur2W\",verticalAlignment:\"top\",withExternalLayout:true})})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1mlg1bj\",\"data-framer-name\":\"Row\",layoutDependency:layoutDependency,layoutId:\"RtNLJoSu1\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255)))\"},children:\"Customers\"})}),className:\"framer-sbgdyh\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"C9rMhcRnm\",style:{\"--extracted-r6o4lv\":\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"c1LFk4QDM\"},motionChild:true,nodeId:\"p66jFcX1q\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Ecom & DTC\"})})})}),className:\"framer-1qck99r\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"p66jFcX1q\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"csagihm68\"},motionChild:true,nodeId:\"BlglbhFIq\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Restaurants & Hospitality\"})})})}),className:\"framer-16z9hd7\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"BlglbhFIq\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"D_CsL0Erz\"},motionChild:true,nodeId:\"JUh2ePjCo\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Agencies\"})})})}),className:\"framer-fgq9io\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"JUh2ePjCo\",verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",children:/*#__PURE__*/_jsx(Link,{href:{webPageId:\"S79dPwrr3\"},motionChild:true,nodeId:\"i3r9oHAi0\",openInNewTab:false,relValues:[],scopeId:\"SopAf7dkj\",smoothScroll:false,children:/*#__PURE__*/_jsx(motion.a,{className:\"framer-styles-preset-p3qpzf\",\"data-styles-preset\":\"friF8cJ7Q\",children:\"Multi-Chains\"})})})}),className:\"framer-kcx70u\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"i3r9oHAi0\",verticalAlignment:\"top\",withExternalLayout:true})]}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-ixesvi\",\"data-framer-name\":\"Row\",layoutDependency:layoutDependency,layoutId:\"ynFJfwK1F\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255)))\"},children:\"🇬🇧 London\"})}),className:\"framer-gp06ki\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"WIDbqV6YP\",style:{\"--extracted-r6o4lv\":\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-h21hat\",\"data-styles-preset\":\"SDYl68mMc\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175)))\"},children:\"483 Green Lanes, London, N13 4BS\"})}),className:\"framer-xsspwp\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"ROHR1roie\",style:{\"--extracted-r6o4lv\":\"var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175))\"},verticalAlignment:\"top\",withExternalLayout:true})]})]}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7UHVscCBEaXNwbGF5IEJvbGQ=\",\"--framer-font-family\":'\"Pulp Display Bold\", \"Pulp Display Bold Placeholder\", sans-serif',\"--framer-font-size\":\"322px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-51660b92-3c99-48d4-ab4d-ede7c79db3c1, rgb(48, 48, 56)))\"},children:\"Sup.\"})}),className:\"framer-8z9jsf\",fonts:[\"CUSTOMV2;Pulp Display Bold\"],layoutDependency:layoutDependency,layoutId:\"X5mAvgcNd\",style:{\"--extracted-r6o4lv\":\"var(--token-51660b92-3c99-48d4-ab4d-ede7c79db3c1, rgb(48, 48, 56))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true,...addPropertyOverrides({H_jVObbiQ:{children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"Q1VTVE9NVjI7UHVscCBEaXNwbGF5IEJvbGQ=\",\"--framer-font-family\":'\"Pulp Display Bold\", \"Pulp Display Bold Placeholder\", sans-serif',\"--framer-font-size\":\"110px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.07em\",\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-51660b92-3c99-48d4-ab4d-ede7c79db3c1, rgb(48, 48, 56)))\"},children:\"Sup.\"})})}},baseVariant,gestureVariant)}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-7x2n2l\",layoutDependency:layoutDependency,layoutId:\"IxCXFDPY3\",children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-1cro9zv\",\"data-framer-name\":\"Text\",layoutDependency:layoutDependency,layoutId:\"A3Fjeu513\",children:[/*#__PURE__*/_jsx(motion.div,{className:\"framer-s1uje5\",\"data-framer-name\":\"Copyright\",layoutDependency:layoutDependency,layoutId:\"xvUXk2952\",children:/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-ye3b59\",\"data-styles-preset\":\"BwCyBRmh0\",dir:\"auto\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175)))\"},children:\"\\xa9 2026 Sup Labs Ltd - 15889484 \"})}),className:\"framer-38vk66\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"dSEOpglIm\",style:{\"--extracted-r6o4lv\":\"var(--token-4adc3296-9deb-4df4-b8df-52ecbfa8ff06, rgb(164, 168, 175))\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},verticalAlignment:\"top\",withExternalLayout:true})}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-1d3tk53\",layoutDependency:layoutDependency,layoutId:\"RnSkVwH2S\"}),/*#__PURE__*/_jsx(motion.div,{className:\"framer-g6ilxe\",\"data-framer-name\":\"Footer / Status\",layoutDependency:layoutDependency,layoutId:\"R_XyAJpo7\",children:/*#__PURE__*/_jsx(ComponentViewportProvider,{height:24,y:(componentViewport?.y||0)+96+0+0+588+0+692.4+0+0+0+0,...addPropertyOverrides({H_jVObbiQ:{y:undefined}},baseVariant,gestureVariant),children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-10scpy3-container\",layoutDependency:layoutDependency,layoutId:\"LJyhAEhSr-container\",nodeId:\"LJyhAEhSr\",rendersWithMotion:true,scopeId:\"SopAf7dkj\",children:/*#__PURE__*/_jsx(Status,{height:\"100%\",id:\"LJyhAEhSr\",layoutId:\"LJyhAEhSr\",width:\"100%\"})})})})]})})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-M7BZ1.framer-1p8zozs, .framer-M7BZ1 .framer-1p8zozs { display: block; }\",\".framer-M7BZ1.framer-hrosmn { align-content: center; align-items: center; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 124px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 96px 0px 40px 0px; position: relative; width: 1280px; }\",\".framer-M7BZ1 .framer-jzdt5m { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 132px; height: min-content; justify-content: center; max-width: 1280px; overflow: visible; padding: 0px 40px 0px 40px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-xieezg { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 48px; height: 456px; justify-content: center; overflow: hidden; padding: 64px; position: relative; width: 100%; will-change: var(--framer-will-change-override, transform); z-index: 1; }\",\".framer-M7BZ1 .framer-q9cbyv { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 48px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-M7BZ1 .framer-10fgvx1 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: hidden; padding: 0px; position: relative; width: 100%; z-index: 2; }\",\".framer-M7BZ1 .framer-1ose7bg { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-M7BZ1 .framer-r0c54d { flex: none; height: auto; max-width: 600px; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\".framer-M7BZ1 .framer-1qh1f2d-container { flex: none; height: 44px; position: relative; width: auto; }\",\".framer-M7BZ1 .framer-zlawgr-container { bottom: -1px; flex: none; left: calc(50.00000000000002% - 604px / 2); position: absolute; top: 0px; width: 604px; z-index: 1; }\",\".framer-M7BZ1 .framer-xidrf4 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 50px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-m8li2i { display: grid; flex: none; gap: 0px; grid-auto-rows: min-content; grid-template-columns: repeat(5, minmax(50px, 1fr)); grid-template-rows: repeat(2, min-content); height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-z4fugd { align-content: flex-start; align-items: flex-start; align-self: start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 32px; height: min-content; justify-content: flex-start; justify-self: start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-gnozdr, .framer-M7BZ1 .framer-1mf23jg, .framer-M7BZ1 .framer-9hu0wv, .framer-M7BZ1 .framer-oexpjz, .framer-M7BZ1 .framer-v4m067, .framer-M7BZ1 .framer-19yrr62, .framer-M7BZ1 .framer-1oic6xf, .framer-M7BZ1 .framer-x91upo, .framer-M7BZ1 .framer-4ubjjx, .framer-M7BZ1 .framer-1lqfftm, .framer-M7BZ1 .framer-1rh9ucq, .framer-M7BZ1 .framer-1mpfd5b, .framer-M7BZ1 .framer-1xux289, .framer-M7BZ1 .framer-sbgdyh, .framer-M7BZ1 .framer-1qck99r, .framer-M7BZ1 .framer-16z9hd7, .framer-M7BZ1 .framer-fgq9io, .framer-M7BZ1 .framer-kcx70u, .framer-M7BZ1 .framer-gp06ki, .framer-M7BZ1 .framer-38vk66 { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-M7BZ1 .framer-8h5u9y { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: flex-end; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-M7BZ1 .framer-n4sgb { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-M7BZ1 .framer-4rwawi { flex: none; height: var(--framer-aspect-ratio-supported, 18px); position: relative; }\",\".framer-M7BZ1 .framer-pcjm3v, .framer-M7BZ1 .framer-xx17ic, .framer-M7BZ1 .framer-1d50zc5 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; min-height: 18px; min-width: 18px; overflow: visible; padding: 0px; position: relative; text-decoration: none; width: min-content; will-change: var(--framer-will-change-effect-override, transform); }\",\".framer-M7BZ1 .framer-okbql7 { align-content: flex-start; align-items: flex-start; align-self: start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: flex-start; justify-self: start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-1ea7po3, .framer-M7BZ1 .framer-1mlg1bj, .framer-M7BZ1 .framer-ixesvi { align-content: flex-start; align-items: flex-start; align-self: start; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; justify-self: start; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-1xgyfmh { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-M7BZ1 .framer-xsspwp { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 122px; word-break: break-word; word-wrap: break-word; }\",\".framer-M7BZ1 .framer-8z9jsf { flex: none; height: auto; position: relative; white-space: pre; width: auto; z-index: 1; }\",\".framer-M7BZ1 .framer-7x2n2l { align-content: flex-end; align-items: flex-end; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: 100%; }\",\".framer-M7BZ1 .framer-1cro9zv { align-content: center; align-items: center; 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-M7BZ1 .framer-s1uje5 { align-content: flex-start; align-items: flex-start; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: flex-start; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-M7BZ1 .framer-1d3tk53 { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; min-height: 17px; min-width: 99px; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-M7BZ1 .framer-g6ilxe { align-content: center; align-items: center; display: flex; flex: none; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: min-content; justify-content: center; overflow: visible; padding: 0px; position: relative; width: min-content; }\",\".framer-M7BZ1 .framer-10scpy3-container { flex: none; height: auto; position: relative; width: auto; }\",\".framer-M7BZ1.framer-v-h5vwnp.framer-hrosmn { gap: 96px; padding: 64px 0px 40px 0px; width: 390px; }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-jzdt5m { gap: 96px; padding: 0px 20px 0px 20px; }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-xieezg { padding: 24px; }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-xidrf4 { gap: 96px; }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-m8li2i { gap: 64px; grid-template-columns: repeat(2, minmax(50px, 1fr)); grid-template-rows: repeat(3, min-content); }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-z4fugd { flex-direction: row; gap: unset; grid-column: span 2; justify-content: space-between; }\",\".framer-M7BZ1.framer-v-h5vwnp .framer-1cro9zv { flex-wrap: wrap; gap: 24px; justify-content: center; }\",...sharedStyle.css,...sharedStyle1.css,...sharedStyle2.css,...sharedStyle3.css,...sharedStyle4.css,'.framer-M7BZ1[data-border=\"true\"]::after, .framer-M7BZ1 [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 1440.5\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"auto\"]},\"H_jVObbiQ\":{\"layout\":[\"fixed\",\"auto\"]}}}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerSopAf7dkj=withCSS(Component,css,\"framer-M7BZ1\");export default FramerSopAf7dkj;FramerSopAf7dkj.displayName=\"Footer\";FramerSopAf7dkj.defaultProps={height:1440.5,width:1280};addPropertyControls(FramerSopAf7dkj,{variant:{options:[\"ajXmyK4yT\",\"H_jVObbiQ\"],optionTitles:[\"Desktop\",\"Mobile\"],title:\"Variant\",type:ControlType.Enum}});addFonts(FramerSopAf7dkj,[{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\"},{cssFamilyName:\"Pulp Display Bold\",source:\"custom\",style:\"normal\",uiFamilyName:\"Pulp Display\",url:\"https://framerusercontent.com/assets/kGXgYu8vKCGW6pQvKPh9WGPTbP4.woff2\",weight:\"700\"}]},...ButtonsFonts,...ParticlesFonts,...LinkedinFonts,...StatusFonts,...getFontsFromSharedStyle(sharedStyle.fonts),...getFontsFromSharedStyle(sharedStyle1.fonts),...getFontsFromSharedStyle(sharedStyle2.fonts),...getFontsFromSharedStyle(sharedStyle3.fonts),...getFontsFromSharedStyle(sharedStyle4.fonts)],{supportsExplicitInterCodegen:true});FramerSopAf7dkj.loader={load:(props,context)=>{const locale=context.locale;return Promise.allSettled([forwardLoader(Buttons,{},context),forwardLoader(Status,{},context)]);}};\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerSopAf7dkj\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"1440.5\",\"framerAutoSizeImages\":\"true\",\"framerDisplayContentsDiv\":\"false\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]},\\\"H_jVObbiQ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"auto\\\"]}}}\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1280\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (569b461)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,Container,ControlType,cx,GeneratedComponentContext,getFonts,PropertyOverrides,RenderTarget,useCustomCursors,useHydratedBreakpointVariants,useIsOnFramerCanvas,useLocaleInfo,withCSS}from\"framer\";import{LayoutGroup,motion}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import NavBar from\"#framer/local/canvasComponent/PZJc6ZQxS/PZJc6ZQxS.js\";import Footer from\"#framer/local/canvasComponent/SopAf7dkj/SopAf7dkj.js\";const NavBarFonts=getFonts(NavBar);const FooterFonts=getFonts(Footer);const breakpoints={dH0RwdXtQ:\"(min-width: 1024px) and (max-width: 1279.98px)\",iXfZSIBDo:\"(max-width: 809.98px)\",q8WkrO5FV:\"(min-width: 810px) and (max-width: 1023.98px)\",wjgCh6mSc:\"(min-width: 1280px)\"};const isBrowser=()=>typeof document!==\"undefined\";const serializationHash=\"framer-XDy31\";const variantClassNames={dH0RwdXtQ:\"framer-v-iarfb6\",iXfZSIBDo:\"framer-v-5k0kub\",q8WkrO5FV:\"framer-v-253ys5\",wjgCh6mSc:\"framer-v-15vsj7p\"};const UUI7ye8jZ=undefined;const E1nCbxLH5=undefined;const breakpointRules={};const breakpointKeys=Object.keys(breakpointRules);const rules=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-XDy31.framer-1485up1, .framer-XDy31 .framer-1485up1 { display: block; }\",\".framer-XDy31.framer-15vsj7p { align-content: center; align-items: center; background-color: #ffffff; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 0px; height: min-content; justify-content: flex-start; overflow: var(--overflow-clip-fallback, clip); padding: 0px; position: relative; width: 100%; }\",\".framer-XDy31 .framer-1bmvd1p-container { flex: none; height: auto; left: 50%; order: -1000; position: var(--framer-canvas-fixed-position, fixed); top: 0px; transform: translateX(-50%); width: 100%; z-index: 9; }\",\".framer-XDy31 .framer-1es97ho { background: transparent; flex-grow: 1; height: 0px; margin: 0px; margin-bottom: -0px; position: relative; width: 0px; }\",\".framer-XDy31 .framer-1tr8k7x-container { flex: none; height: auto; order: 1002; position: relative; width: 100%; }\",'[data-layout-template=\"true\"] > #overlay { margin-bottom: -0px; }'];const mediaQueries={dH0RwdXtQ:\"(min-width: 1024px) and (max-width: 1279.98px)\",iXfZSIBDo:\"(max-width: 809.98px)\",q8WkrO5FV:\"(min-width: 810px) and (max-width: 1023.98px)\",wjgCh6mSc:\"(min-width: 1280px)\"};const HTMLStyle=({value})=>{const onCanvas=useIsOnFramerCanvas();if(onCanvas)return null;return /*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:value},\"data-framer-html-style\":\"\"});};const humanReadableVariantMap={\"Desktop Large\":\"wjgCh6mSc\",Desktop:\"dH0RwdXtQ\",Phone:\"iXfZSIBDo\",Tablet:\"q8WkrO5FV\"};const getProps=({color,height,id,scrollSection,width,...props})=>{return{...props,E1nCbxLH5:color??props.E1nCbxLH5??\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",UUI7ye8jZ:scrollSection??props.UUI7ye8jZ,variant:humanReadableVariantMap[props.variant]??props.variant??\"wjgCh6mSc\"};};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{style,className,layoutId,variant,UUI7ye8jZ,E1nCbxLH5,children,...restProps}=getProps(props);const[baseVariant,hydratedBaseVariant]=useHydratedBreakpointVariants(variant,breakpoints,false);const gestureVariant=undefined;const sharedStyleClassNames=[];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);useCustomCursors({});return /*#__PURE__*/_jsx(GeneratedComponentContext.Provider,{value:{isLayoutTemplate:true,primaryVariantId:\"wjgCh6mSc\",variantClassNames},children:/*#__PURE__*/_jsxs(LayoutGroup,{id:layoutId??defaultLayoutId,children:[/*#__PURE__*/_jsx(HTMLStyle,{value:\":root body { background: rgb(255, 255, 255); }\"}),/*#__PURE__*/_jsxs(motion.div,{...restProps,className:cx(scopingClassNames,\"framer-15vsj7p\",className),\"data-layout-template\":true,ref:refBinding,style:{...style},children:[/*#__PURE__*/_jsx(ComponentViewportProvider,{height:77,width:\"100vw\",y:0,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1bmvd1p-container\",\"data-framer-layout-hint-center-x\":true,\"data-framer-name\":\"Nav Bar\",layoutScroll:true,name:\"Nav Bar\",nodeId:\"coWa1Sc0G\",scopeId:\"jluhHtcNv\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{iXfZSIBDo:{variant:\"ALdEfEWgs\"}},children:/*#__PURE__*/_jsx(NavBar,{B9b4tZmPg:UUI7ye8jZ,height:\"100%\",id:\"coWa1Sc0G\",JBbbfaNQE:E1nCbxLH5,layoutId:\"coWa1Sc0G\",name:\"Nav Bar\",style:{width:\"100%\"},variant:\"gVK6_BC5z\",width:\"100%\"})})})}),children,/*#__PURE__*/_jsx(\"div\",{className:\"framer-1es97ho\"}),/*#__PURE__*/_jsx(ComponentViewportProvider,{height:1440,width:\"100vw\",y:1e3,children:/*#__PURE__*/_jsx(Container,{className:\"framer-1tr8k7x-container\",nodeId:\"i07fOvXto\",scopeId:\"jluhHtcNv\",children:/*#__PURE__*/_jsx(PropertyOverrides,{breakpoint:baseVariant,overrides:{iXfZSIBDo:{variant:\"H_jVObbiQ\"},q8WkrO5FV:{variant:\"H_jVObbiQ\"}},children:/*#__PURE__*/_jsx(Footer,{height:\"100%\",id:\"i07fOvXto\",layoutId:\"i07fOvXto\",style:{width:\"100%\"},variant:\"ajXmyK4yT\",width:\"100%\"})})})})]}),/*#__PURE__*/_jsx(\"div\",{id:\"template-overlay\"})]})});});const css=target=>{const isStaticRenderer=target===RenderTarget.canvas||target===RenderTarget.export;if(!isStaticRenderer){return[...rules,...breakpointKeys.map(key=>{const query=mediaQueries[key];return`@media ${query} { ${breakpointRules[key].join(\" \")} }`;})];}return[...rules,...breakpointKeys.flatMap(key=>{const selector=breakpointRules[key];return breakpointRules[key].map(rule=>`${selector} {${rule}}`);})];};/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 2000\n * @framerIntrinsicWidth 1280\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"dH0RwdXtQ\":{\"layout\":[\"fixed\",\"fixed\"]},\"q8WkrO5FV\":{\"layout\":[\"fixed\",\"fixed\"]},\"iXfZSIBDo\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"UUI7ye8jZ\":\"scrollSection\",\"E1nCbxLH5\":\"color\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n * @framerHitTargets {\"wjgCh6mSc\":[\".framer-1bmvd1p-container\",\".framer-1tr8k7x-container\"],\"dH0RwdXtQ\":[\".framer-1bmvd1p-container\",\".framer-1tr8k7x-container\"],\"q8WkrO5FV\":[\".framer-1bmvd1p-container\",\".framer-1tr8k7x-container\"],\"iXfZSIBDo\":[\".framer-1bmvd1p-container\",\".framer-1tr8k7x-container\"]}\n * @framerBreakpoints {\"wjgCh6mSc\":{\"min\":1280,\"canvasClassName\":\"framer-15vsj7p-override\",\"minHeight\":2000,\"name\":\"Desktop Large\",\"width\":1280,\"rootFontSize\":16},\"dH0RwdXtQ\":{\"min\":1024,\"max\":1279,\"canvasClassName\":\"framer-iarfb6-override\",\"minHeight\":2000,\"viewportHeight\":800,\"name\":\"Desktop\",\"width\":1024,\"rootFontSize\":16},\"q8WkrO5FV\":{\"min\":810,\"max\":1023,\"canvasClassName\":\"framer-253ys5-override\",\"minHeight\":2000,\"viewportHeight\":1080,\"name\":\"Tablet\",\"width\":810,\"rootFontSize\":16},\"iXfZSIBDo\":{\"max\":809,\"canvasClassName\":\"framer-5k0kub-override\",\"minHeight\":2000,\"viewportHeight\":844,\"name\":\"Phone\",\"width\":390,\"rootFontSize\":16}}\n * @framerDefaultVariant wjgCh6mSc\n * @framerLayoutTemplate\n */const FramerjluhHtcNv=withCSS(Component,css,\"framer-XDy31\");export default FramerjluhHtcNv;FramerjluhHtcNv.displayName=\"Nav Bar + Footer\";FramerjluhHtcNv.defaultProps={height:2e3,width:1280};addPropertyControls(FramerjluhHtcNv,{UUI7ye8jZ:{title:\"Scroll Section\",type:ControlType.ScrollSectionRef},E1nCbxLH5:{defaultValue:\"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\",title:\"Color\",type:ControlType.Color}});addFonts(FramerjluhHtcNv,[{explicitInter:true,fonts:[]},...NavBarFonts,...FooterFonts],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerjluhHtcNv\",\"slots\":[],\"annotations\":{\"framerVariables\":\"{\\\"UUI7ye8jZ\\\":\\\"scrollSection\\\",\\\"E1nCbxLH5\\\":\\\"color\\\"}\",\"framerColorSyntax\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"1280\",\"framerLayoutTemplate\":\"\",\"framerDisplayContentsDiv\":\"false\",\"framerIntrinsicHeight\":\"2000\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerDefaultVariant\":\"wjgCh6mSc\",\"framerContractVersion\":\"1\",\"framerBreakpoints\":\"{\\\"wjgCh6mSc\\\":{\\\"min\\\":1280,\\\"canvasClassName\\\":\\\"framer-15vsj7p-override\\\",\\\"minHeight\\\":2000,\\\"name\\\":\\\"Desktop Large\\\",\\\"width\\\":1280,\\\"rootFontSize\\\":16},\\\"dH0RwdXtQ\\\":{\\\"min\\\":1024,\\\"max\\\":1279,\\\"canvasClassName\\\":\\\"framer-iarfb6-override\\\",\\\"minHeight\\\":2000,\\\"viewportHeight\\\":800,\\\"name\\\":\\\"Desktop\\\",\\\"width\\\":1024,\\\"rootFontSize\\\":16},\\\"q8WkrO5FV\\\":{\\\"min\\\":810,\\\"max\\\":1023,\\\"canvasClassName\\\":\\\"framer-253ys5-override\\\",\\\"minHeight\\\":2000,\\\"viewportHeight\\\":1080,\\\"name\\\":\\\"Tablet\\\",\\\"width\\\":810,\\\"rootFontSize\\\":16},\\\"iXfZSIBDo\\\":{\\\"max\\\":809,\\\"canvasClassName\\\":\\\"framer-5k0kub-override\\\",\\\"minHeight\\\":2000,\\\"viewportHeight\\\":844,\\\"name\\\":\\\"Phone\\\",\\\"width\\\":390,\\\"rootFontSize\\\":16}}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"dH0RwdXtQ\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"q8WkrO5FV\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"iXfZSIBDo\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerHitTargets\":\"{\\\"wjgCh6mSc\\\":[\\\".framer-1bmvd1p-container\\\",\\\".framer-1tr8k7x-container\\\"],\\\"dH0RwdXtQ\\\":[\\\".framer-1bmvd1p-container\\\",\\\".framer-1tr8k7x-container\\\"],\\\"q8WkrO5FV\\\":[\\\".framer-1bmvd1p-container\\\",\\\".framer-1tr8k7x-container\\\"],\\\"iXfZSIBDo\\\":[\\\".framer-1bmvd1p-container\\\",\\\".framer-1tr8k7x-container\\\"]}\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","\r\n\t\timport * as Framer from \"framer\";\r\nimport { ResolveLinks, useSiteRefs } from \"framer\";\r\nimport * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport * as ReactDOM from \"react-dom/client\";\r\nimport NavBarFooter from \"https://framerusercontent.com/modules/kv7X1rATuvhJGfSQH5DM/3Cr3fknplYlsnjtXllCE/jluhHtcNv.js\";\r\n\r\n\t\tconst routes = {augiA20Il: {elements: {J91arZ3Ne: \"examples\", LFGREtEne: \"header\", rERJlz18g: \"howitworks\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/oo3OFvvuAdUJd3EpJi4S/VIAghX66HcM1wA3AtK5Q/augiA20Il.js\")), path: \"/\"}, csagihm68: {elements: {Ca7gNBqKR: \"howitworks\", hKWKdiSEx: \"header\", wVr3ZjAgZ: \"examples\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/e4NEafP5aRXvihNOkYJ9/jYaYX9Wswv1RjfESeJEo/csagihm68.js\")), path: \"/restaurants\"}, S79dPwrr3: {elements: {LJp1W8O7z: \"howitworks\", OXnASB_1O: \"header\", UcIW6glsQ: \"examples\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/axnKQHQP82C0gAVT1fO7/bFXSStSM6tfC5qyiwgml/S79dPwrr3.js\")), path: \"/multi-chains\"}, c1LFk4QDM: {elements: {g4oyADJSC: \"header\", SVuLgNKy6: \"howitworks\", vAo2oshgD: \"examples\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Y8SssBuuFRjlFESf76fn/8c92rEehQNKcMNpn95PH/c1LFk4QDM.js\")), path: \"/ecom\"}, D_CsL0Erz: {elements: {mRV8rMVP8: \"howitworks\", qxMFNYiYR: \"header\", x1cvXeHnW: \"examples\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/S1vo5sx7D5jrCoHpRDTa/2q374A9MNaPHrpkFsZac/D_CsL0Erz.js\")), path: \"/agencies\"}, Pl2YlLxSc: {elements: {VRYUAKIJD: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xVnG9jLprxwV1w6GdvLb/i2yb7sQVGYhlt0CJ93pL/Pl2YlLxSc.js\")), path: \"/contact\"}, eXFUB_bgK: {elements: {gshDR0MAg: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/gr1oe1lu9bk1gl3M5jgo/zLzFifWmVdnVbgbtpJBh/eXFUB_bgK.js\")), path: \"/book-a-demo\"}, Nixzz2aLb: {elements: {Ahabss938: \"header\", buUpnX8M_: \"blog\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/xa1J4jpiV5NVwiEaFGtr/mbGvEkEjLxTiNP1DU8Dj/Nixzz2aLb.js\")), path: \"/blog\"}, F_5eLqXuu: {elements: {VO5w_1x6L: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/7a8n9IdK36t3pEwFkeVg/zy4rex1rNtfiwPWlR3TQ/F_5eLqXuu.js\")), path: \"/pricing\"}, ZUgU6F5ii: {elements: {LOvpJZ0wl: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/UlIp1gZNSF334aoKWjI0/5sCQankr4jd3JU8U0NL1/ZUgU6F5ii.js\")), path: \"/pricing-gbp\"}, lRqfslveX: {elements: {vFzob1Ijq: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/Xu0bRiCazSUHKwU2WQoU/Aa11oRMWLSfdScYwiesy/lRqfslveX.js\")), path: \"/pricing-eur\"}, QlZT3ogqj: {elements: {M1lP40aLb: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/8s0PbBJRWn2Gg9hdV8DF/w82z4VpVdtUY9Xr1qF4I/QlZT3ogqj.js\")), path: \"/about\"}, A4rohlRLU: {elements: {}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/q7sj6Cl2VXsqVVgXOQ5H/crlZ9hUKaLYBJYwj7UMz/A4rohlRLU.js\")), path: \"/reports\"}, miWu_G4Nk: {collectionId: \"jrZPkkRvh\", elements: {V9tx1UhiN: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/bcflXiJxjaIIPUix2lhu/QxpNU0RTPCmUszNeke8R/miWu_G4Nk.js\")), path: \"/blog/:t_hgKKR1V\"}, t8QvzYLWC: {collectionId: \"hylNwFALB\", elements: {jaGaufxIB: \"content\", ms2zJ8pcw: \"header\"}, page: Framer.lazy(() => import(\"https://framerusercontent.com/modules/cU87EcuI7K999FKGTqfu/zYdO69bmBmbiNnhOA1Im/t8QvzYLWC.js\")), path: \"/:mdmyrPE9M\"}}\r\n\r\n\t\tconst locales = [{code: \"en-US\", id: \"default\", name: \"English\", slug: \"\", textDirection: \"ltr\"}]\r\n\t\tconst collectionUtils = {hylNwFALB: async () => (await import(\"https://framerusercontent.com/modules/1C9Ihi1N0klNJWCPikpQ/kx89jOFtSeTOj8SVIWA8/hylNwFALB.js\"))?.[\"utils\"], jrZPkkRvh: async () => (await import(\"https://framerusercontent.com/modules/E0tL8cFRVIrajIp4IJqY/TyRF9PHCSSzKW8QyyR24/jrZPkkRvh.js\"))?.[\"utils\"]}\r\n\t\tconst framerSiteId = \"6cfda52d57c7805280d3854b26ea52abad684bcb46faa0e6fa54e61a6a26f2e0\"\r\n\t\tfunction Template({webPageId, children, style, ...rest}) {const props1 = {E1nCbxLH5: \"var(--token-d170c4f7-23b2-4b83-ae12-6ab556ec56a0, rgb(255, 255, 255))\", UUI7ye8jZ: {href: {hash: \":LFGREtEne\", webPageId: \"augiA20Il\"}, refKey: true}}\r\nconst props2 = {...props1, UUI7ye8jZ: {href: {hash: \":LFGREtEne\", webPageId: \"csagihm68\"}, refKey: true}}\r\nconst props3 = {...props1, UUI7ye8jZ: {href: {hash: \":LFGREtEne\", webPageId: \"S79dPwrr3\"}, refKey: true}}\r\nconst props4 = {...props1, UUI7ye8jZ: {href: {hash: \":LFGREtEne\", webPageId: \"c1LFk4QDM\"}, refKey: true}}\r\nconst props5 = {...props1, UUI7ye8jZ: {href: {hash: \":LFGREtEne\", webPageId: \"D_CsL0Erz\"}, refKey: true}}\r\nconst props6 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":VRYUAKIJD\", webPageId: \"Pl2YlLxSc\"}, refKey: true}}\r\nconst props7 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":gshDR0MAg\", webPageId: \"eXFUB_bgK\"}, refKey: true}}\r\nconst props8 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":buUpnX8M_\", webPageId: \"Nixzz2aLb\"}, refKey: true}}\r\nconst props9 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":VO5w_1x6L\", webPageId: \"F_5eLqXuu\"}, refKey: true}}\r\nconst props10 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":VO5w_1x6L\", webPageId: \"ZUgU6F5ii\"}, refKey: true}}\r\nconst props11 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":VO5w_1x6L\", webPageId: \"lRqfslveX\"}, refKey: true}}\r\nconst props12 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":M1lP40aLb\", webPageId: \"QlZT3ogqj\"}, refKey: true}}\r\nconst props13 = {...props1, UUI7ye8jZ: undefined}\r\nconst props14 = {...props1, E1nCbxLH5: \"var(--token-ddd9494a-91ab-4097-8201-f89a48851352, rgb(246, 246, 248))\", UUI7ye8jZ: {href: {hash: \":jaGaufxIB\", webPageId: \"t8QvzYLWC\"}, refKey: true}}\r\nconst siteRef = useSiteRefs()\r\nconst templateProps = {A4rohlRLU: props13, augiA20Il: props1, c1LFk4QDM: props4, csagihm68: props2, D_CsL0Erz: props5, eXFUB_bgK: props7, F_5eLqXuu: props9, lRqfslveX: props11, miWu_G4Nk: props13, Nixzz2aLb: props8, Pl2YlLxSc: props6, QlZT3ogqj: props12, S79dPwrr3: props3, t8QvzYLWC: props14, ZUgU6F5ii: props10}\r\nconst props = templateProps[webPageId] ?? {}\r\nswitch (webPageId) {case \"augiA20Il\":\r\ncase \"csagihm68\":\r\ncase \"S79dPwrr3\":\r\ncase \"c1LFk4QDM\":\r\ncase \"D_CsL0Erz\":\r\ncase \"Pl2YlLxSc\":\r\ncase \"eXFUB_bgK\":\r\ncase \"Nixzz2aLb\":\r\ncase \"F_5eLqXuu\":\r\ncase \"ZUgU6F5ii\":\r\ncase \"lRqfslveX\":\r\ncase \"QlZT3ogqj\":\r\ncase \"A4rohlRLU\":\r\ncase \"miWu_G4Nk\":\r\ncase \"t8QvzYLWC\":\r\nreturn React.createElement(ResolveLinks, {links: [props[\"UUI7ye8jZ\"]]}, (resolvedLinks) => React.createElement(NavBarFooter, {...props, key: \"NavBarFooter\", style, UUI7ye8jZ: siteRef(resolvedLinks[0])}, children(true)));\r\ndefault: { return children(false) }}}\r\nexport function getLayoutTemplateBreakpoints(routeId) {switch (routeId) {case \"augiA20Il\":\r\ncase \"csagihm68\":\r\ncase \"S79dPwrr3\":\r\ncase \"c1LFk4QDM\":\r\ncase \"D_CsL0Erz\":\r\ncase \"Pl2YlLxSc\":\r\ncase \"eXFUB_bgK\":\r\ncase \"Nixzz2aLb\":\r\ncase \"F_5eLqXuu\":\r\ncase \"ZUgU6F5ii\":\r\ncase \"lRqfslveX\":\r\ncase \"QlZT3ogqj\":\r\ncase \"A4rohlRLU\":\r\ncase \"miWu_G4Nk\":\r\ncase \"t8QvzYLWC\":\r\nreturn [{hash: \"15vsj7p\", mediaQuery: \"(min-width: 1280px)\"}, {hash: \"iarfb6\", mediaQuery: \"(min-width: 1024px) and (max-width: 1279.98px)\"}, {hash: \"253ys5\", mediaQuery: \"(min-width: 810px) and (max-width: 1023.98px)\"}, {hash: \"5k0kub\", mediaQuery: \"(max-width: 809.98px)\"}]\r\ndefault: { return undefined }}}\r\n\r\n\t\tconst isBrowser = typeof document !== \"undefined\"\r\n\t\tconst isBot = isBrowser && /bot|-google|google-|yandex|ia_archiver|crawl|spider/iu.test(navigator.userAgent)\r\n\r\n\t\texport async function getPageRoot({ routeId, pathVariables, localeId, collectionItemId }) {\r\n\t\t\tconst rootPreload = routes[routeId].page.preload()\r\n\r\n\t\t\tconst content = React.createElement(\r\n\t\t\t\tFramer.PageRoot,\r\n\t\t\t\t{\r\n\t\t\t\t\tisWebsite: true,\r\n\t\t\t\t\tenvironment: \"site\",\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\troutes,\r\n\t\t\t\t\tcollectionUtils,\r\n\t\t\t\t\tframerSiteId,\r\n\t\t\t\t\tnotFoundPage: Framer.lazy(() => import(\"__framer-not-found-page\")),\r\n\t\t\t\t\tisReducedMotion: undefined,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tlocales,\r\n\t\t\t\t\tpreserveQueryParams: undefined,\r\n\t\t\t\t\tsiteCanonicalURL: \"https://various-designer-693318.framer.app\",\r\n\t\t\t\t\tEditorBar: \r\n\t\t\ttypeof window !== \"undefined\" ? (() => {\r\n\t\t\t\tif (isBot) {\r\n\t\t\t\t\tconsole.log(\"[Framer On-Page Editing] Unavailable because navigator is bot\")\r\n\t\t\t\t\treturn\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Framer.lazy(async () => {\r\n\t\t\t\t\tconst dependencies = {\r\n\t\t\t\t\t\t__version: 3,\r\n\t\t\t\t\t\tframer: {\r\n\t\t\t\t\t\t\tuseCurrentRoute: Framer.useCurrentRoute,\r\n\t\t\t\t\t\t\tuseLocaleInfo: Framer.useLocaleInfo,\r\n\t\t\t\t\t\t\tuseRouter: Framer.useRouter,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\treact: {\r\n\t\t\t\t\t\t\tcreateElement: React.createElement,\r\n\t\t\t\t\t\t\tFragment: React.Fragment,\r\n\t\t\t\t\t\t\tmemo: React.memo,\r\n\t\t\t\t\t\t\tuseCallback: React.useCallback,\r\n\t\t\t\t\t\t\tuseEffect: React.useEffect,\r\n\t\t\t\t\t\t\tuseRef: React.useRef,\r\n\t\t\t\t\t\t\tuseState: React.useState,\r\n\t\t\t\t\t\t\tuseLayoutEffect: React.useLayoutEffect,\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\"react-dom\": { createPortal },\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\twindow.__framer_editorBarDependencies = dependencies\r\n\r\n\t\t\t\t\tconst { createEditorBar } = await import(\"https://framer.com/edit/init.mjs\")\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tdefault: createEditorBar(),\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t})() : undefined\r\n\t\t,\r\n\t\t\t\t\tadaptLayoutToTextDirection: false,\r\n\t\t\t\t\tLayoutTemplate: Template,\r\n\t\t\t\t\tloadSnippetsModule: new Framer.LazyValue(() => import(\"https://framerusercontent.com/modules/zkKFacfckeo1NBnQYQ3C/zLbpueBQJUsgbWFoT4B8/snippets.js\")),\r\n\t\t\t\t\tinitialCollectionItemId: collectionItemId,\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithFeaturesContext = React.createElement(\r\n\t\t\t\tFramer.LibraryFeaturesProvider,\r\n\t\t\t\t{\r\n\t\t\t\t\tchildren: content,\r\n\t\t\t\t\tvalue: {autobahnNavigation: true, disableCustomCode: false, editorBarDisableFrameAncestorsSecurity: false, motionDivToDiv: false, onPageLocalizationSupport: true, onPageMoveTool: true, synchronousNavigationOnDesktop: false, yieldOnTap: false}\r\n\t\t\t\t}\r\n\t\t\t)\r\n\r\n\t\t\tconst contentWithGracefullyDegradingErrorBoundary = React.createElement(Framer.GracefullyDegradingErrorBoundary, {\r\n\t\t\t\tchildren: contentWithFeaturesContext\r\n\t\t\t})\r\n\r\n\t\t\t\r\n\t\t\tconst page = React.createElement(Framer.PageEffectsProvider, {\r\n\t\t\t\tchildren: contentWithGracefullyDegradingErrorBoundary,\r\n\t\t\t\tvalue: {global: {enter: {mask: {angle: 180, type: \"wipe\", width: \"100%\"}, opacity: 1, rotate: 0, rotate3d: false, rotateX: 0, rotateY: 0, scale: 1, transition: {damping: 30, delay: 0, duration: 0.4, ease: [0.27, 0, 0.51, 1], mass: 1, stiffness: 400, type: \"tween\"}, x: \"0px\", y: \"0px\"}}, routes: {}}\r\n\t\t\t})\r\n\r\n\t\t\t// We don't want the initial render to immediately have to suspend.\r\n\t\t\tawait rootPreload\r\n\t\t\treturn page\r\n\t\t}\r\n\r\n\t\tif (isBrowser) {\r\n\t\t\twindow.__framer_importFromPackage = (packageAndFilename, exportIdentifier) => () => {\r\n\t\t\t\treturn React.createElement(Framer.ErrorPlaceholder, { error: 'Package component not supported: \"' + exportIdentifier + '\" in \"' + packageAndFilename + '\"' })\r\n\t\t\t}\r\n\r\n\t\t\t\r\n\t\t\twindow.__framer_events = window.__framer_events || []\r\n\r\n\t\t\t// Initialize lazy modules cache for hydration\r\n\t\t\tFramer.initLazyModulesCache()\r\n\r\n\t\t\t// Fallback support for stack gaps\r\n\t\t\tFramer.installFlexboxGapWorkaroundIfNeeded()\r\n\r\n\t\t\tconst container = document.getElementById(\"main\")\r\n\t\t\t// We know that #main is parsed before this script, so we don't need to wait for DOMContentLoaded or similar events.\r\n\t\t\tif (\"framerHydrateV2\" in container.dataset) main(true, container)\r\n\t\t\telse main(false, container)\r\n\t\t}\r\n\r\n\t\tfunction track() {\r\n\t\t\tif (!isBrowser) return\r\n\t\t\twindow.__framer_events.push(arguments)\r\n\t\t}\r\n\r\n\t\tasync function main(shouldHydrate, container) {\r\n\t\t\tfunction handleError(error, errorInfo, recoverable = true) {\r\n\t\t\t\tif (error.caught || window.__framer_hadFatalError) return // we already logged it\r\n\r\n\t\t\t\tconst componentStack = errorInfo?.componentStack\r\n\t\t\t\tif (recoverable) {\r\n\t\t\t\t\tconsole.warn(\"Caught a recoverable error. The site is still functional, but might have some UI flickering or degraded page load performance. If you are the author of this website, update external components and check recently added custom code or code overrides to fix the following server/client mismatches:\\n\", error, componentStack)\r\n\t\t\t\t\t// we only want to collect 1%, because this can be quite noisy (floods the data pipeline)\r\n\t\t\t\t\tif (Math.random() > 0.01) return\r\n\t\t\t\t} else {\r\n\t\t\t\t\tconsole.error(\"Caught a fatal error. Please report the following to the Framer team via https://www.framer.com/contact/:\\n\", error, componentStack)\r\n\t\t\t\t}\r\n\t\t\t\ttrack(recoverable ? \"published_site_load_recoverable_error\" : \"published_site_load_error\", {\r\n\t\t\t\t\tmessage: String(error),\r\n\t\t\t\t\tcomponentStack, // componentStack is more useful\r\n\t\t\t\t\tstack: componentStack ? undefined : error instanceof Error && typeof error.stack === \"string\" ? error.stack : null,\r\n\t\t\t\t})\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tlet routeId, localeId, pathVariables, breakpoints, routeData\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\trouteData = JSON.parse(container.dataset[\"framerHydrateV2\"])\r\n\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\tbreakpoints = routeData.breakpoints\r\n\r\n\t\t\t\t\trouteId = Framer.patchRoutesForABTesting(routes, routeId) // Prioritize optimized route id to avoid flickering in browsers not supporting the server-timing header (Safari older than 16.4)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tFramer.patchRoutesForABTesting(routes, undefined) // This must happen before inferInitialRouteFromPath\r\n\r\n\t\t\t\t\t\r\n\t\t\t\t\tconst serverRouteExperimentEnabled = true\r\n\t\t\t\t\tconst serverRoute = serverRouteExperimentEnabled && performance.getEntriesByType(\"navigation\")[0]?.serverTiming?.find(e => e.name === \"route\")?.description\r\n\t\t\t\t\tif (serverRoute) {\r\n\t\t\t\t\t\tconst routeData = new URLSearchParams(serverRoute)\r\n\t\t\t\t\t\trouteId = routeData.get(\"id\")\r\n\t\t\t\t\t\tlocaleId = routeData.get(\"locale\")\r\n\t\t\t\t\t\tfor (const [key, value] of routeData.entries()) {\r\n\t\t\t\t\t\t\tif (!key.startsWith(\"var.\")) continue\r\n\t\t\t\t\t\t\tpathVariables ??= {}\r\n\t\t\t\t\t\t\tpathVariables[key.slice(4)] = value\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!routeId || !localeId) {\r\n\t\t\t\t\t\tconst routeData = Framer.inferInitialRouteFromPath(routes, decodeURIComponent(location.pathname), true, locales)\r\n\t\t\t\t\t\trouteId = routeData.routeId\r\n\t\t\t\t\t\tlocaleId = routeData.localeId\r\n\t\t\t\t\t\tpathVariables = routeData.pathVariables\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst pagePromise = getPageRoot({\r\n\t\t\t\t\trouteId,\r\n\t\t\t\t\tlocaleId,\r\n\t\t\t\t\tpathVariables,\r\n\t\t\t\t\tcollectionItemId: routeData?.collectionItemId,\r\n\t\t\t\t})\r\n\r\n\t\t\t\t\r\nif (typeof window !== \"undefined\") {\r\n\tvoid (async () => {\r\n\t\tconst route = routes[routeId]\r\n\r\n\t\tconst defaultLocaleId = \"default\"\r\n\t\tconst framerLocale = locales.find(({ id }) => !localeId ? id === defaultLocaleId : id === localeId).code\r\n\r\n\t\tlet collectionItemId = routeData?.collectionItemId ?? null\r\n\t\tif (collectionItemId === null && route?.collectionId && collectionUtils) {\r\n\t\t\t  const utils = await collectionUtils[route.collectionId]?.()\r\n\t\t\t  const [slug] = Object.values(pathVariables)\r\n\t\t\t  if (utils && typeof slug === \"string\") {\r\n\t\t\t\t  collectionItemId = (await utils.getRecordIdBySlug(slug, framerLocale || undefined)) ?? null\r\n\t\t\t  }\r\n\t\t}\r\n\r\n\t\tconst resolvedDateTimeOptions = Intl.DateTimeFormat().resolvedOptions()\r\n\t\tconst timezone = resolvedDateTimeOptions.timeZone\r\n\t\tconst locale = resolvedDateTimeOptions.locale\r\n\r\n\t\t// wait for the page to be activated before sending the pageview event\r\n\t\t// https://developer.chrome.com/docs/web-platform/prerender-pages#impact-on-analytics\r\n\t\tawait new Promise((resolve) => {\r\n\t\t\tif (document.prerendering) {\r\n\t\t\t\tdocument.addEventListener(\"prerenderingchange\", resolve, { once: true })\r\n\t\t\t} else {\r\n\t\t\t\tresolve()\r\n\t\t\t}\r\n\t\t})\r\n\r\n\t\twindow.__framer_events.push([\r\n\t\t\t\"published_site_pageview\",\r\n\t\t\t{\r\n\t\t\t\tframerSiteId: framerSiteId ?? null,\r\n\t\t\t\tversion: 2,\r\n\t\t\t\troutePath: route?.path || \"/\",\r\n\t\t\t\tcollectionItemId,\r\n\t\t\t\tframerLocale: framerLocale || null,\r\n\t\t\t\twebPageId: route?.abTestingVariantId ?? routeId,\r\n\t\t\t\tabTestId: route?.abTestId,\r\n\t\t\t\treferrer: document.referrer || null,\r\n\t\t\t\turl: window.location.href,\r\n\t\t\t\thostname: window.location.hostname || null,\r\n\t\t\t\tpathname: window.location.pathname || null,\r\n\t\t\t\thash: window.location.hash || null,\r\n\t\t\t\tsearch: window.location.search || null,\r\n\t\t\t\ttimezone,\r\n\t\t\t\tlocale,\r\n\t\t\t},\r\n\t\t\t\"eager\"\r\n\t\t])\r\n\r\n\t\t// Yield to avoid blocking the main thread with the user code\r\n\t\tawait Framer.yieldToMain({ priority: \"background\", ensureContinueBeforeUnload: true, continueAfter: \"paint\" })\r\n\r\n\t\tdocument.dispatchEvent(new CustomEvent(\"framer:pageview\", {\r\n\t\t\tdetail: { framerLocale: framerLocale || null }\r\n\t\t}))\r\n\t})()\r\n}\r\n\r\n\r\n\t\t\t\tconst page = await pagePromise\r\n\t\t\t\tif (shouldHydrate) {\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tFramer.withPerformanceMarks(\"framer-rewrite-breakpoints\", () => {\r\n\t\t\t\t\t\tFramer.removeHiddenBreakpointLayersV2(breakpoints)\r\n\t\t\t\t\t\twindow.__framer_onRewriteBreakpoints?.(breakpoints)\r\n\t\t\t\t\t})\r\n\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\tconst startTransition = isBot ? cb => cb() : React.startTransition\r\n\t\t\t\t\tstartTransition(() => {\r\n\t\t\t\t\t\tFramer.markHydrationStart()\r\n\t\t\t\t\t\tif (true) Framer.turnOffReactEventHandling()\r\n\t\t\t\t\t\tReactDOM.hydrateRoot(container, page, { onRecoverableError: handleError })\r\n\t\t\t\t\t})\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\r\n\t\t\t\t\tReactDOM.createRoot(container, { onRecoverableError: handleError }).render(page)\r\n\t\t\t\t}\r\n\t\t\t} catch (error) {\r\n\t\t\t\thandleError(error, undefined, false)\r\n\t\t\t\tthrow error\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\r\n\r\n\t\t\r\n\t"],"mappings":"25EAAsmF,SAAS,WAAW,CAAC,OAAO,MAAMA,KAAG,CAAC,EAAE,kBAAQ,CAAC,SAAS,MAAM,IAAE,IAAE,IAAE,CAAC,OAAO,KAAK,IAAI,KAAK,IAAIC,IAAEC,IAAE,CAACC,IAAE,CAAC,SAAS,IAAI,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,KAAK,OAAOF,IAAEE,IAAED,IAAEF,MAAIG,IAAEH,KAAG,CAAC,SAAS,cAAc,IAAE,CAAC,IAAME,IAAE,YAAYD,IAAE,CAAKE,IAAE,YAAYF,IAAE,CAAc,OAAb,MAAIE,MAAI,IAAE,GAAU,WAAW,EAAED,IAAEC,KAAGA,IAAE,SAAS,cAAc,IAAE,CAAC,OAAiB,OAAOF,KAAlB,SAAoBA,IAAE,cAAcA,IAAE,CAAC,SAAS,YAAY,IAAE,CAAC,OAAiB,OAAOA,KAAlB,SAAoBA,IAAEA,IAAE,IAAI,SAAS,YAAY,IAAE,CAAC,OAAiB,OAAOA,KAAlB,SAAoBA,IAAEA,IAAE,IAAI,SAAS,cAAc,IAAE,IAAE,CAAC,GAAGA,MAAIC,KAAYA,MAAT,IAAK,IAAkB,OAAOD,KAAlB,SAAoB,OAAOA,IAAE,IAAME,IAAE,YAAYF,IAAE,CAACD,IAAE,YAAYC,IAAE,CAAC,OAAgBC,MAAT,IAAK,GAA4C,cAAcC,IAAEH,IAAE,CAAxD,CAAC,IAAI,KAAK,IAAIG,IAAED,IAAE,CAAC,IAAI,KAAK,IAAIF,IAAEE,IAAE,CAAC,CAAoB,SAAS,SAAS,IAAE,CAAC,IAAMA,IAAED,IAAE,OAAO,CAAC,OAAOE,IAAE,aAAaH,KAAe,OAAOE,KAAnB,UAAqB,CAAC,OAAOA,IAAE,aAAa,EAAE,CAACA,IAAE,OAAO,cAAcC,IAAE,cAAcF,IAAE,MAAMD,IAAE,CAACC,IAAE,MAAM,CAAC,SAAS,aAAa,IAAE,IAAE,CAAC,IAAME,IAAEF,IAAE,EAAEC,IAAE,EAAEF,IAAEC,IAAE,EAAEC,IAAE,EAAE,MAAM,CAAC,GAAGC,IAAE,GAAGH,IAAE,SAAS,KAAK,KAAKG,IAAEA,IAAEH,IAAEA,IAAE,CAAC,CAAC,SAAS,YAAY,IAAE,IAAE,CAAC,OAAO,aAAaC,IAAEC,IAAE,CAAC,SAAS,SAAS,0BAA0B,IAAE,IAAE,IAAE,CAAC,GAAc,OAAOD,KAAlB,SAAoB,OAAOA,IAAE,KAAK,GAAG,IAAI,OAAOA,IAAP,CAAU,IAAI,MAAM,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,YAAY,MAAM,CAAC,KAAK,GAAG,EAAE,IAAI,QAAQ,MAAO,GAAE,IAAI,eAAe,OAAO,KAAK,GAAG,EAAE,IAAI,SAAS,OAAO,KAAK,GAAG,EAAE,IAAI,cAAc,MAAO,GAAE,KAAK,GAAG,EAAE,IAAI,OAAO,OAAO,KAAK,GAAG,IAAI,WAAW,MAAM,GAAG,KAAK,GAAG,EAAE,IAAI,SAAS,OAAO,KAAK,MAAME,IAAE,EAAED,IAAE,EAAEC,IAAE,EAAED,IAAE,EAAE,CAAC,IAAI,UAAU,OAAO,KAAK,MAAMA,IAAE,EAAEC,IAAE,EAAED,IAAE,EAAEC,IAAE,EAAE,CAAC,IAAI,OAAO,QAAQ,OAAO,WAAW,CAAC,KAAK,GAAG,GAAG,SAAS,wBAAwB,IAAE,CAAC,IAAMD,IAAE,OAAO,OAA4B,MAArB,KAAE,OAAO,EAAE,IAAE,MAAMD,IAASC,IAAE,SAAS,kBAAkB,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,OAAO,OAAOD,IAAE,GAAGE,IAAEH,MAAIG,IAAEH,KAAG,EAAEE,IAAE,EAAEF,KAAGG,IAAEH,KAAGC,IAAE,EAAE,CAAC,SAAS,WAAW,IAAE,IAAE,CAAC,OAAOC,IAAP,CAAU,IAAI,gBAAgB,MAAO,IAAG,EAAED,MAAI,EAAE,IAAI,iBAAiB,MAAO,IAAG,EAAEA,MAAI,EAAE,IAAI,iBAAiB,MAAO,IAAG,EAAEA,MAAI,EAAE,IAAI,iBAAiB,MAAO,IAAG,EAAEA,MAAI,EAAE,IAAI,gBAAgB,OAAWA,MAAJ,EAAM,EAAE,EAAW,IAAE,IAAIA,KAAG,IAAI,gBAAgB,OAAO,KAAK,IAAIA,IAAE,KAAK,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAMC,IAAE,QAAc,MAAO,IAAXA,IAAE,IAAsBD,IAAE,IAAE,EAAGC,KAAWD,IAAE,IAAE,EAAG,IAAI,gBAAgB,OAAO,KAAK,KAAK,GAAWA,IAAE,IAAE,EAAG,CAAC,QAAQ,OAAOA,KAAG,SAAS,qBAAqB,IAAE,CAAC,IAAIC,IAAEC,IAAE,OAA2BF,IAAE,UAA+B,IAArD,IAAK,IAAwEA,IAAE,UAA+B,IAArD,IAAK,GAAmD,CAAC,EAAEA,IAAE,SAAS,EAAEA,IAAE,KAAK,MAAM,IAAI,EAAEA,IAAE,SAAS,EAAEA,IAAE,KAAK,OAAO,IAAI,CAAC,IAAK,GAAE,SAAS,6BAA6B,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAEI,IAAE,MAAM,CAAC,GAAuBH,IAAE,UAA+B,GAAiB,IAAI,WAAW,EAAEA,IAAE,KAAK,MAAM,IAAI,GAAuBA,IAAE,UAA+B,GAAiB,IAAI,WAAW,EAAEA,IAAE,KAAK,OAAO,IAAI,CAAC,SAAS,mCAAmC,IAAE,CAAC,IAAIC,IAAEC,IAAE,IAAMH,IAAE,CAAC,EAAsBC,IAAE,UAA+B,IAArD,IAAK,GAA+E,IAAK,GAAjC,cAAcA,IAAE,SAAS,EAAE,CAAQ,EAAsBA,IAAE,UAA+B,IAArD,IAAK,GAA+E,IAAK,GAAjC,cAAcA,IAAE,SAAS,EAAE,CAAQ,CAAC,OAAO,6BAA6B,CAAC,KAAKA,IAAE,KAAK,SAASD,IAAE,CAAC,CAAC,SAAS,kCAAkC,IAAE,CAAC,IAAIE,IAAEC,IAAEH,IAAEI,IAAE,MAAM,CAAC,EAAsBH,IAAE,UAA+B,GAAiB,WAAW,CAACA,IAAE,KAAK,MAAM,EAAsBA,IAAE,UAA+B,GAAiB,WAAW,CAACA,IAAE,KAAK,OAAO,CAAoU,SAAS,WAAW,IAAE,CAAC,OAAOA,IAAE,SAAS,IAAI,CAAC,WAAWA,IAAE,CAAC,IAAI,WAAWA,IAAE,CAAC,SAAS,eAAe,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAMI,IAAE,CAAC,QAAQ,GAAM,CAAuL,OAAnLH,IAAE,IAAIF,IAAE,KAAKE,IAAE,IAAIF,IAAE,KAAKE,IAAE,IAAIF,IAAE,KAAKE,IAAE,IAAIF,IAAE,MAAgBC,IAAE,KAAKE,IAAE,KAAKF,IAAE,MAAME,IAAE,IAAIA,IAAE,KAAK,GAAGC,IAAE,GAAGH,IAAE,KAAKE,IAAE,KAAKF,IAAE,KAAKE,IAAE,IAAIA,IAAE,KAAK,GAAGC,IAAE,KAAG,IAAE,SAASA,IAAE,CAACE,IAAE,IAAE,QAAQ,IAApHD,IAAkI,SAAS,cAAc,IAAE,IAAE,CAAC,GAAG,EAAEH,eAAa,OAAO,OAAOD,IAAE,QAAQC,IAAE,CAAC,IAAI,IAAMC,OAAKD,IAAE,GAAGD,IAAE,QAAQE,IAAE,CAAC,MAAO,GAAK,MAAO,GAAM,SAAS,OAAO,CAAC,OAA2B,SAArB,QAA6B,CAAC,QAA6B,OAAO,WAA5B,QAAsC,CAAC,OAAO,SAAS,SAAS,SAAS,CAAC,OAAO,OAAO,CAAC,KAAG,WAAWF,IAAE,CAAC,MAAI,OAAO,uBAAuB,OAAO,6BAA6B,OAAO,0BAA0B,OAAO,wBAAwB,OAAO,yBAAyB,OAAO,YAAYA,IAAE,CAAC,SAAS,iBAAiB,CAAC,OAAO,OAAO,CAAC,KAAG,aAAaA,IAAE,CAAC,MAAI,OAAO,sBAAsB,OAAO,mCAAmC,OAAO,gCAAgC,OAAO,8BAA8B,OAAO,+BAA+B,OAAO,cAAcA,IAAE,CAAC,SAAS,UAAU,IAAE,IAAE,CAAC,OAAOA,MAAIC,KAAGA,eAAa,OAAOA,IAAE,QAAQD,IAAE,CAAC,GAAG,eAAe,SAAS,IAAE,IAAE,CAAC,GAAG,CAAC,MAAM,SAAS,MAAM,KAAK,GAAUC,KAAgB,MAAM,SAAgBD,KAAgB,UAAU,GAAG,MAAS,GAAG,SAAS,iBAAiB,IAAE,CAAC,OAAO,KAAK,MAAM,WAAW,CAACA,IAAE,OAAO,CAAC,SAAS,cAAc,IAAE,IAAE,IAAE,GAAK,CAAsD,OAAOA,IAA3CC,MAAT,IAAK,IAAOC,IAAED,IAAED,IAAE,OAAO,iBAAiBA,IAAE,EAAa,SAAS,cAAc,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,gBAAgB,gBAAgBA,IAASD,KAAgB,EAAE,CAACE,IAAEC,IAAEC,IAAE,CAAC,SAAS,gBAAgB,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIA,IAAE,GAA8J,OAAzJ,KAAcJ,MAAX,WAAe,IAAEC,IAAE,IAAIC,IAAE,OAAOC,IAAE,GAAG,CAACC,KAAGJ,KAAYA,MAAT,SAAa,IAAEC,IAAE,MAAME,IAAE,GAAG,CAACC,KAAGJ,KAAaA,MAAV,UAAc,IAAEC,IAAE,KAAKC,IAAE,MAAMC,IAAE,GAAG,CAACC,KAAGJ,KAAWA,MAAR,QAAY,IAAEC,IAAE,OAAOE,IAAE,GAAUC,IAAE,SAAS,gBAAgB,IAAE,IAAE,CAAC,MAAM,CAAC,OAAOH,IAAE,EAAEC,IAAE,KAAKD,IAAE,EAAEC,IAAE,MAAMD,IAAE,EAAEC,IAAE,IAAID,IAAE,EAAEC,IAAE,CAAC,SAAS,WAAW,IAAE,GAAGA,IAAE,CAAC,IAAI,IAAMC,OAAKD,IAAE,CAAC,GAAYC,KAAG,KAAS,SAAS,GAAc,OAAOA,KAAlB,SAAoB,CAAC,IAAEA,IAAE,SAAS,IAAMD,IAAE,MAAM,QAAQC,IAAE,CAAwG,IAAI,IAAMD,MAAjH,CAACA,KAAc,OAAOD,KAAlB,UAAqBA,KAAG,MAAM,QAAQA,IAAE,CAACC,KAAc,OAAOD,KAAlB,UAAqBA,KAAG,CAAC,MAAM,QAAQA,IAAE,GAAG,IAAE,EAAE,EAAE,IAAE,EAAE,CAAgBE,IAAE,CAAC,GAAiBD,MAAd,YAAgB,SAAS,IAAUE,IAAFD,IAAMD,KAAGI,IAAa,OAAOF,KAAlB,SAAoBC,IAAEJ,IAAE,IAAEC,KAAGI,KAAG,MAAM,QAAQF,IAAE,CAACA,IAAE,KAAK,KAAG,WAAWC,IAAEH,KAAGD,IAAE,EAAE,CAAC,WAAWI,IAAEH,KAAGE,IAAE,EAAE,OAAOH,IAAE,SAAS,iBAAiB,IAAE,IAAE,CAAC,OAAOC,eAAa,MAAM,CAAC,CAACA,IAAE,MAAM,KAAGA,IAAE,QAAQ,UAAUD,IAAEC,IAAE,KAAK,EAAE,CAAC,UAAUD,IAAEC,IAAE,KAAK,CAAC,SAAS,eAAe,IAAE,IAAE,IAAE,CAAC,GAAGA,eAAa,MAAM,IAAI,IAAMF,OAAKE,IAAE,CAAC,IAAMA,IAAEF,IAAE,KAAOA,IAAE,QAAU,UAAUC,IAAEC,IAAE,EAAE,qBAAqBF,IAAEG,IAAE,KAAK,CAAC,IAAMH,IAAEE,IAAE,KAAOA,IAAE,QAAU,UAAUD,IAAED,IAAE,EAAE,qBAAqBE,IAAEC,IAAE,EAAE,SAAS,qBAAqB,IAAE,IAAE,CAAC,IAAMA,IAAEF,IAAE,UAAU,GAAGE,eAAa,MAAM,IAAI,IAAMH,OAAKG,IAAE,IAAEH,IAAEC,IAAE,MAAM,IAAEE,IAAEF,IAAE,CAAC,SAAS,QAAQ,IAAE,IAAE,CAAC,GAAGC,KAAGD,IAAE,OAAOA,eAAa,MAAMA,IAAE,MAAM,KAAG,cAAcC,IAAED,IAAE,UAAU,EAAE,CAAC,cAAcC,IAAED,IAAE,UAAU,CAACA,IAAE,IAAK,GAAE,SAAS,6BAA6B,IAAE,CAAC,MAAM,CAAC,SAASA,IAAE,aAAa,CAAC,OAAOA,IAAE,WAAW,CAAC,KAAKA,IAAE,SAAS,CAAC,SAASA,IAAE,SAAS,OAAO,OAAO,OAAO,SAASA,IAAE,QAAQ,OAAO,WAAW,CAAC,SAASA,IAAE,QAAQ,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,aAAa,IAAE,IAAE,CAAC,GAAK,CAAC,EAAEE,IAAE,EAAEH,KAAGC,IAAE,SAAS,IAAIC,IAAE,SAAS,CAAC,CAACE,IAAEE,KAAG,CAACL,IAAE,SAASC,IAAE,SAAS,CAAC,CAAC,GAAGG,IAAE,GAAGE,KAAG,aAAaD,IAAEF,IAAE,CAAC,GAAGD,IAAEE,IAAEL,IAAEO,IAAE,EAAE,OAAO,IAAMC,IAAE,CAAC,KAAK,MAAMD,IAAEF,IAAE,CAACI,IAAER,IAAE,KAAKS,IAAER,IAAE,KAAKS,IAAEV,IAAE,SAAS,OAAOO,IAAE,CAACI,IAAEV,IAAE,SAAS,OAAOM,IAAE,CAACK,IAAE,kBAAkBF,IAAEC,IAAEH,IAAEC,IAAE,CAACI,IAAE,kBAAkBF,IAAED,IAAEF,IAAEC,IAAE,CAACK,IAAEF,IAAE,OAAO,CAACL,IAAE,CAACQ,IAAEF,IAAE,OAAO,CAACN,IAAE,CAAC,IAAE,SAAS,EAAEO,IAAE,EAAEd,IAAE,OAAO,EAAE,IAAE,SAAS,EAAEc,IAAE,EAAEd,IAAE,OAAO,EAAE,IAAE,SAAS,EAAEe,IAAE,EAAEd,IAAE,OAAO,EAAE,IAAE,SAAS,EAAEc,IAAE,EAAEd,IAAE,OAAO,EAAE,SAAS,WAAW,IAAE,IAAE,CAAC,IAAwCE,IAAE,gBAAlCH,IAAE,aAAa,CAAGA,IAAE,WAAW,CAAuB,CAAOK,IAAE,eAAe,CAAC,IAAIF,IAAE,KAAK,IAAIA,IAAE,MAAM,CAAC,CAAC,IAAIA,IAAE,IAAI,IAAIA,IAAE,OAAO,CAAC,CAAC,IAAIF,IAAE,KAAK,IAAIA,IAAE,MAAM,CAAC,CAAC,IAAIA,IAAE,IAAI,IAAIA,IAAE,OAAO,CAACD,IAAE,SAAS,EAAE,SAASA,IAAE,QAAQ,OAAO,WAAW,CAAC,CAAIK,IAAE,UAAkBA,IAAE,WAAX,IAAK,KAAiB,IAAE,SAAS,EAAEA,IAAE,UAAmBA,IAAE,WAAX,IAAK,KAAiB,IAAE,SAAS,EAAEA,IAAE,WAAU,IAAMD,IAAE,eAAe,CAAC,IAAID,IAAE,IAAI,IAAIA,IAAE,OAAO,CAAC,CAAC,IAAIA,IAAE,KAAK,IAAIA,IAAE,MAAM,CAAC,CAAC,IAAIF,IAAE,IAAI,IAAIA,IAAE,OAAO,CAAC,CAAC,IAAIA,IAAE,KAAK,IAAIA,IAAE,MAAM,CAACD,IAAE,SAAS,EAAE,SAASA,IAAE,QAAQ,OAAO,SAAS,CAAC,CAAII,IAAE,UAAkBA,IAAE,WAAX,IAAK,KAAiB,IAAE,SAAS,EAAEA,IAAE,UAAmBA,IAAE,WAAX,IAAK,KAAiB,IAAE,SAAS,EAAEA,IAAE,WAA8C,SAAS,gBAAgB,IAAE,IAAE,CAAC,EAAE,IAAIJ,IAAEC,IAAE,CAAC,SAAS,QAAQ,IAAE,IAAE,IAAE,CAAyB,OAAxB,IAAE,IAAI,KAAG,GAAG,IAAE,GAAI,MAAaC,IAAE,EAAE,EAAEF,IAAE,GAAGC,IAAED,KAAGE,IAAEA,IAAE,GAAGD,IAAEC,IAAE,EAAE,EAAEF,KAAGC,IAAED,MAAI,EAAE,EAAEE,KAAG,EAAEF,IAAE,SAAS,aAAa,IAAE,CAAC,IAAI,GAAK,EAAEC,OAAK,EAAE,GAAGD,IAAE,WAAWC,IAAE,aAAa,CAAC,OAAOA,IAAE,YAAYD,IAAE,CAAC,IAAqDE,IAAEF,IAAE,QAAjD,+CAA6D,IAAE,IAAE,IAAE,IAAE,MAAIC,IAAEA,IAAEC,IAAEA,IAAEH,IAAEA,KAAYI,MAAT,IAAK,GAAU,GAAJA,IAAEA,MAAO,CAA4DA,IAAzD,yDAA6D,KAAKD,IAAE,CAAC,OAAOC,IAAE,CAAC,EAAWA,IAAE,KAAX,IAAK,GAA+B,EAAtB,SAASA,IAAE,GAAG,GAAG,CAAC,IAAM,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,CAAC,IAAK,GAAE,SAAS,gBAAgB,IAAE,IAAE,IAAE,GAAK,CAAC,GAAG,CAACH,IAAE,OAAO,IAAMD,IAAa,OAAOC,KAAlB,SAAoB,CAAC,MAAMA,IAAE,CAACA,IAAE,GAAc,OAAOD,IAAE,OAApB,SAA0B,OAAO,WAAWA,IAAE,MAAME,IAAEC,IAAE,CAAC,GAAGH,IAAE,iBAAiB,MAAM,OAAO,gBAAgB,CAAC,MAAM,cAAcA,IAAE,MAAME,IAAEC,IAAE,CAAC,CAAC,CAAC,IAAI,GAAK,EAAEF,OAAK,EAAE,CAAC,IAAMC,IAAED,IAAE,iBAAiBD,IAAE,CAAC,GAAGE,IAAE,OAAOA,KAAG,SAAS,WAAW,IAAE,IAAE,IAAE,GAAK,CAAC,GAAG,CAACD,IAAE,OAAO,IAAMD,IAAa,OAAOC,KAAlB,SAAoB,CAAC,MAAMA,IAAE,CAACA,IAAE,GAAc,OAAOD,IAAE,OAApB,SAA0B,OAAOA,IAAE,QAAQI,IAAE,mBAAmB,CAAC,YAAYJ,IAAE,MAAM,CAAC,GAAGA,IAAE,iBAAiB,MAAM,OAAO,WAAW,CAAC,MAAM,cAAcA,IAAE,MAAME,IAAEC,IAAE,CAAC,CAAC,CAAC,IAAI,GAAK,EAAEF,OAAK,EAAE,CAAC,IAAMC,IAAED,IAAE,YAAYD,IAAE,CAAC,GAAGE,IAAE,OAAOA,KAAyF,SAAS,gBAAgB,IAAE,IAAE,IAAE,GAAK,CAAC,IAAMF,IAAE,gBAAgBC,IAAEC,IAAEC,IAAE,CAAC,OAAOH,IAAE,SAASA,IAAE,CAAC,IAAK,GAAE,SAAS,SAAS,IAAE,CAAC,IAAME,IAAED,IAAE,EAAE,IAAIE,IAAEF,IAAE,EAAE,IAAID,IAAEC,IAAE,EAAE,IAAIG,IAAE,KAAK,IAAIF,IAAEC,IAAEH,IAAE,CAACM,IAAE,KAAK,IAAIJ,IAAEC,IAAEH,IAAE,CAACK,IAAE,CAAC,EAAE,EAAE,GAAGD,IAAEE,KAAG,EAAE,EAAE,EAAE,CAA6K,OAAzKF,MAAIE,MAAG,IAAE,EAAED,IAAE,EAAE,IAAID,IAAEE,MAAIF,IAAEE,MAAIF,IAAEE,MAAI,EAAEF,IAAEE,KAAG,IAAE,EAAEJ,MAAIE,KAAGD,IAAEH,MAAII,IAAEE,KAAG,IAAE,EAAEH,MAAIC,IAAE,GAAGJ,IAAEE,MAAIE,IAAEE,KAAG,GAAGJ,IAAEC,MAAIC,IAAEE,MAAG,IAAE,GAAG,IAAI,IAAE,GAAG,IAAI,IAAE,GAAG,GAAG,IAAE,EAAE,IAAI,IAAE,GAAG,KAAK,IAAE,GAAG,MAAM,IAAE,GAAG,KAAYD,IAAE,SAAS,cAAc,IAAE,CAAC,IAAIH,IAAE,OAAiB,aAAaD,IAAE,EAAuB,EAAE,SAAS,YAAY,IAAE,CAAC,OAAO,aAAaA,IAAE,CAAC,SAAS,SAAS,IAAE,CAAC,IAAMC,IAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAACC,IAAE,CAAC,EAAEF,IAAE,EAAE,IAAI,EAAEA,IAAE,EAAE,IAAI,EAAEA,IAAE,EAAE,IAAI,CAAC,GAAGE,IAAE,EAAE,CAAC,IAAMF,IAAEE,IAAE,EAAE,GAAGA,IAAE,GAAG,EAAEA,IAAE,GAAGA,IAAE,EAAEA,IAAE,EAAEA,IAAE,EAAEA,IAAE,EAAEH,IAAE,EAAEG,IAAE,EAAEF,IAAE,IAAE,EAAE,QAAQD,IAAEC,IAAEE,IAAE,EAAE,EAAE,EAAE,CAAC,IAAE,EAAE,QAAQH,IAAEC,IAAEE,IAAE,EAAE,CAAC,IAAE,EAAE,QAAQH,IAAEC,IAAEE,IAAE,EAAE,EAAE,EAAE,MAAM,IAAE,EAAEA,IAAE,EAAE,IAAE,EAAEA,IAAE,EAAE,IAAE,EAAEA,IAAE,EAA0E,MAAxE,KAAE,EAAE,KAAK,MAAM,IAAID,IAAE,EAAE,CAAC,IAAE,EAAE,KAAK,MAAM,IAAIA,IAAE,EAAE,CAAC,IAAE,EAAE,KAAK,MAAM,IAAIA,IAAE,EAAE,CAAQA,IAAE,SAAS,WAAW,IAAE,CAAC,IAAMA,IAAE,SAASD,IAAE,CAAC,MAAM,CAAC,EAAEA,IAAE,EAAE,EAAEC,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,SAAS,kBAAkB,IAAE,CAAC,IAAMA,IAASD,KAAgB,EAAE,MAAM,CAAC,EAAE,KAAK,MAAM,cAAc,cAAcC,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,cAAc,cAAcA,IAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,cAAc,cAAcA,IAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,gBAAgB,IAAE,IAAE,CAAC,MAAM,QAAQD,IAAE,EAAE,IAAIA,IAAE,EAAE,IAAIA,IAAE,EAAE,IAAWC,KAAgB,EAAE,GAAG,SAAS,gBAAgB,IAAE,IAAE,CAAC,MAAM,QAAQD,IAAE,EAAE,IAAIA,IAAE,EAAE,KAAKA,IAAE,EAAE,KAAYC,KAAgB,EAAE,GAAG,SAAS,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIE,IAAEH,IAAEK,IAAEJ,IAA8D,OAAnDE,IAAE,IAAX,IAAK,KAAU,IAAE,SAASH,IAAE,EAAWK,IAAE,IAAX,IAAK,KAAU,IAAE,SAASJ,IAAE,EAAQ,CAAC,EAAE,IAAIE,IAAE,EAAEE,IAAE,EAAEH,IAAEH,IAAE,CAAC,EAAE,IAAII,IAAE,EAAEE,IAAE,EAAEH,IAAEH,IAAE,CAAC,EAAE,IAAII,IAAE,EAAEE,IAAE,EAAEH,IAAEH,IAAE,CAAC,CAAC,SAAS,aAAa,IAAE,IAAE,IAAE,CAAC,IAAIA,IAAEK,IAAE,GAAGF,MAAIC,IAAE,OAAO,mBAAmB,CAAC,GAAGD,MAAIG,IAAE,OAAOH,IAAE,CAAC,IAAMA,IAAYF,IAAE,cAAc,EAAgBA,IAAE,gBAAgB,CAACG,IAAmBF,KAAuB,cAAc,EAAuBA,KAAuB,gBAAgB,CAAC,GAAGC,KAAGC,KAAGF,IAAE,OAAO,SAASC,IAAEC,IAAEH,IAAE,WAAW,CAACC,IAAE,WAAW,CAAC,CAAC,CAAC,IAAMD,IAASE,KAAgBC,IAAE,GAAGH,IAAE,OAAO,SAASA,IAAE,GAAG,SAAS,mBAAmB,IAAE,IAAE,IAAE,CAAC,IAAMD,IAAa,OAAOC,KAAlB,SAAoBA,IAAEA,IAAE,MAAM,OAAOD,MAAII,IAAED,IAAE,gBAAgB,CAAC,MAAMH,IAAE,CAAC,CAACE,IAAEE,IAAEE,IAAE,gBAAgB,CAAC,MAAMN,IAAE,CAAC,CAAC,SAAS,oBAAoB,IAAE,CAAC,OAAgBC,MAAT,IAAK,GAA4C,IAAK,GAA3C,CAAC,EAAEA,IAAE,EAAE,MAAM,EAAEA,IAAE,EAAE,MAAM,EAAEA,IAAE,EAAE,MAAM,CAAQ,SAAS,uBAAuB,IAAE,IAAE,IAAE,CAAC,IAAMD,IAAE,CAAC,EAAE,CAAC,OAAO,GAAM,MAAMC,IAAE,EAAE,CAAC,EAAE,CAAC,OAAO,GAAM,MAAMA,IAAE,EAAE,CAAC,EAAE,CAAC,OAAO,GAAM,MAAMA,IAAE,EAAE,CAAC,CAA8F,OAA1FC,MAAG,kBAAkBF,IAAE,EAAEE,IAAE,EAAEC,IAAE,CAAC,kBAAkBH,IAAE,EAAEE,IAAE,EAAEC,IAAE,CAAC,kBAAkBH,IAAE,EAAEE,IAAE,EAAEC,IAAE,EAAQH,IAAE,SAAS,kBAAkB,IAAE,IAAE,IAAE,CAAC,IAAE,OAAOE,IAAE,OAAUD,IAAE,QAAQ,IAAE,SAAS,cAAcC,IAAE,MAAM,CAAC,IAAIC,IAAE,IAAE,MAAM,EAAE,cAAcD,IAAE,MAAM,CAAC,IAAE,OAAO,EAAMA,IAAE,OAAM,IAAE,UAAU,WAAW,CAAC,IAAE,OAAO,WAAW,GAAO,IAAE,SAAS,EAAE,SAAS,SAAS,IAAE,IAAE,IAAE,CAAC,IAAE,WAAW,CAAC,IAAE,OAAOA,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,OAAOC,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,WAAW,CAAC,SAAS,aAAa,IAAE,IAAE,IAAE,IAAE,CAAC,IAAE,WAAW,CAAC,IAAE,OAAOD,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,OAAOC,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,OAAOH,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,WAAW,CAAC,SAAS,UAAU,IAAE,IAAE,IAAE,CAAC,IAAE,MAAM,CAAC,IAAE,UAAiBG,KAAgB,gBAAgB,IAAE,SAAS,EAAE,EAAED,IAAE,MAAMA,IAAE,OAAO,CAAC,IAAE,SAAS,CAAC,SAAS,MAAM,IAAE,IAAE,CAAC,IAAE,UAAU,EAAE,EAAEA,IAAE,MAAMA,IAAE,OAAO,CAAC,SAAS,aAAa,IAAE,CAAC,IAAIA,IAAEC,IAAEH,IAAEI,IAAEE,IAAED,IAAEE,IAAEC,IAAEC,IAAEC,IAAE,GAAK,CAAC,UAAUC,IAAE,QAAQC,IAAE,SAASC,IAAE,MAAMC,IAAE,YAAYC,IAAE,eAAeC,IAAE,UAAUC,IAAE,OAAOC,IAAE,QAAQC,IAAE,OAAOC,IAAE,UAAUC,KAAGpB,IAAQqB,IAAET,IAAE,aAAa,CAAC,IAAE,MAAM,CAAUQ,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,GAAQT,IAAE,aAAuBS,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAEC,IAAE,EAAEA,IAAE,EAAE,CAACV,IAAE,UAAUU,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,WAAW,CAAC,IAAMC,IAAEV,IAAE,UAAUA,IAAE,QAAQ,OAAO,KAAKA,IAAE,SAAS,MAAM,GAAOU,MAAJ,GAAOX,IAAE,OAAOW,IAAE,CAAC,MAAI,IAAE,yBAAyBN,KAAG,IAAMO,IAAEX,IAAE,YAAeO,IAAE,QAAQI,MAAG,IAAE,WAAWJ,IAAE,KAAK,IAAE,YAAY,gBAAgBI,IAAE,CAAC,IAAE,cAAcJ,IAAE,OAAO,EAAE,IAAE,cAAcA,IAAE,OAAO,GAAE,IAAE,OAAO,IAAE,UAAUL,IAAE,MAAM,IAAMU,IAAEZ,IAAE,OAAO,IAAE,UAAoBA,IAAE,aAA2B,EAAE,IAAE,SAAS,IAAE,YAAYE,IAAE,QAAQ,UAAUJ,IAAEC,IAAEC,IAAEK,IAAEC,IAAEL,IAAE,EAAmBW,KAAuB,OAAqB,GAAG,GAAGb,IAAE,QAAQ,CAAC,IAAE,OAAOA,IAAE,WAAW,CAAC,IAAE,MAAMA,IAAE,MAAM,CAAC,IAAE,SAAS,CAAC,IAAE,MAAM,CAAUS,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,GAAQT,IAAE,aAAuBS,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAYA,IAAE,GAAiB,EAAEC,IAAE,EAAEA,IAAE,EAAE,CAACV,IAAE,UAAUU,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,UAAUV,IAAE,OAAOC,IAAE,SAAS,CAAC,MAAI,IAAE,yBAAyBI,KAAG,qBAAqBN,IAAEC,IAAEC,IAAEK,IAAEC,IAAEL,IAAE,CAAC,IAAE,SAAS,CAAC,SAAS,UAAU,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAACX,IAAE,MAAM,OAAO,IAAME,IAAEJ,IAAE,QAAQ,IAAIE,IAAE,MAAM,CAAC,KAAGE,IAAE,KAAKH,IAAEC,IAAEH,IAAEI,IAAEE,IAAEL,IAAE,OAAO,WAAW,CAAC,SAAS,qBAAqB,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAACE,IAAE,MAAM,OAAO,IAAME,IAAEJ,IAAE,QAAQ,IAAIE,IAAE,MAAM,CAASE,KAAP,MAA4BA,IAAE,aAAcA,IAAE,YAAYH,IAAEC,IAAEH,IAAEI,IAAEE,IAAEL,IAAE,OAAO,WAAW,CAAC,SAAS,WAAW,IAAE,IAAE,IAAE,CAAIC,IAAE,OAAM,IAAE,MAAM,CAAC,IAAE,KAAKD,IAAEE,IAAE,CAAC,IAAE,SAAS,EAAE,SAAS,mBAAmB,IAAE,IAAE,IAAE,IAAE,CAAID,IAAE,eAAc,IAAE,MAAM,CAAC,IAAE,aAAaD,IAAEE,IAAEH,IAAE,CAAC,IAAE,SAAS,EAAE,SAAS,SAAS,IAAE,IAAE,IAAE,CAAC,MAAM,CAAC,EAAEC,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEA,IAAE,GAAcC,MAAX,SAAa,GAAG,GAAGC,IAAE,CAAkiC,SAAS,kBAAkB,IAAE,IAAE,IAAE,CAAC,IAAIH,IAAE,IAAMI,IAAEF,IAAEC,KAAYC,MAAT,IAAK,KAAQ,IAAED,MAAcF,IAAEE,MAAkB,GAAGC,KAAmjM,SAAS,eAAe,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAGJ,IAAE,CAAC,IAAIA,IAAE,CAAC,QAAQ,GAAK,CAAa,OAAOI,KAAnB,UAAqB,IAAE,QAAQA,IAAWA,MAAT,IAAK,KAAQ,IAAEA,KAAG,IAAE,iBAAiBF,IAAEC,IAAEH,IAAE,KAAK,CAAC,IAAMA,IAAEI,IAAE,IAAE,oBAAoBF,IAAEC,IAAEH,IAAE,EAAs84B,SAAS,YAAY,IAAE,GAAGE,IAAE,CAAC,IAAI,IAAMC,OAAKD,IAAE,IAAE,KAAKC,IAAE,CAAC,SAAS,qBAAqB,IAAE,IAAE,GAAGA,IAAE,CAAC,IAAMH,IAAE,IAAI,iBAAiBC,IAAEC,IAAE,CAAqB,OAApB,YAAYF,IAAE,GAAGG,IAAE,CAAQH,IAAkm2B,SAAS,WAAW,IAAE,CAAC,OAAgBC,MAAT,IAAK,IAAO,CAACA,IAAE,UAAU,SAAS,qBAAqB,IAAE,IAAE,GAAGE,IAAE,CAAC,IAAMH,IAAE,IAAI,QAAQC,IAAEC,IAAE,CAAqB,OAApB,YAAYF,IAAE,GAAGG,IAAE,CAAQH,IAAotQ,SAAS,WAAW,IAAE,CAAC,QAAQ,MAAM,uBAAuBC,IAAE,+BAA+B,CAAC,eAAe,eAAe,IAAE,IAAE,CAAC,IAAME,IAAEF,eAAa,MAAM,cAAcA,IAAEC,IAAE,CAACD,IAAE,GAAG,CAACE,IAAE,OAAO,IAAMH,IAAE,MAAM,MAAMG,IAAE,CAAC,GAAGH,IAAE,GAAG,OAAOA,IAAE,MAAM,CAAC,WAAWA,IAAE,OAAO,0rCAAr0vFC,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQD,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAe,gBAAN,KAAqB,CAAC,aAAa,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKE,IAAE,IAAI,IAAI,IAAI,CAAC,iBAAiB,IAAE,IAAE,CAAC,IAAIC,IAAE,KAAK,oBAAoBH,IAAED,IAAE,CAAC,IAAE,KAAKG,IAAE,IAAI,CAAC,IAAIF,IAAE,EAAEC,IAAE,KAAKC,IAAE,IAAI,CAAC,IAAIF,IAAE,EAAE,CAAC,EAAS,IAAEC,IAAE,KAAKC,IAAE,IAAI,CAAC,IAAIF,IAAE,GAA9B,MAAmDG,IAAE,KAAKJ,IAAE,CAAC,cAAc,IAAE,IAAE,CAAC,IAAII,KAAU,IAAEF,IAAE,KAAKC,IAAE,IAAI,CAAC,IAAIF,IAAE,GAA9B,MAAmDG,IAAE,SAAS,KAAGH,IAAED,IAAE,EAAE,CAAC,iBAAiB,IAAE,CAAC,MAAM,CAAC,CAACE,IAAE,KAAKC,IAAE,IAAI,CAAC,IAAIF,IAAE,CAAC,wBAAwB,IAAE,CAAC,IAAEC,IAAE,KAAKC,IAAE,IAAI,CAAC,OAAOH,IAAE,CAACC,IAAE,KAAKE,IAAE,IAAI,IAAI,IAAI,CAAC,oBAAoB,IAAE,IAAE,CAAC,IAAMC,IAAEF,IAAE,KAAKC,IAAE,IAAI,CAAC,IAAIF,IAAE,CAAC,GAAG,CAACG,IAAE,OAAO,IAAME,IAAEF,IAAE,OAAOC,IAAED,IAAE,QAAQJ,IAAE,CAAC,IAAE,IAAQM,MAAJ,EAAMJ,IAAE,KAAKC,IAAE,IAAI,CAAC,OAAOF,IAAE,CAACG,IAAE,OAAOC,IAAE,EAAE,IAAG,IAAE,IAAI,QAAc,OAAN,MAAM,MAAM,CAAC,YAAY,IAAE,IAAE,CAAC,GAAc,OAAOJ,KAAlB,UAAqBA,IAAG,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,MAAM,CAAC,GAAYA,MAAT,IAAK,IAAgBC,MAAT,IAAK,GAAM,MAAU,MAAM,iDAAiD,CAAC,KAAK,EAAED,IAAE,KAAK,EAAEC,KAAG,WAAW,QAAQ,CAAC,OAAO,OAAO,OAAO,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,KAAK,EAAE,KAAK,EAAE,CAAC,IAAI,MAAM,IAAE,CAAC,KAAK,gBAAgBD,IAAE,KAAK,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,KAAK,aAAa,CAAC,CAAC,IAAI,OAAO,IAAE,CAAC,KAAK,gBAAgB,KAAK,MAAMA,IAAE,CAAC,OAAO,MAAM,IAAE,CAAC,OAAO,OAAO,OAAOA,IAAE,EAAEA,IAAE,EAAE,CAAC,OAAO,OAAO,IAAE,IAAE,CAAC,OAAO,IAAI,OAAOA,IAAEC,IAAE,CAAC,IAAI,IAAE,CAAC,OAAO,OAAO,OAAO,KAAK,EAAED,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,CAAC,MAAM,IAAE,CAAC,KAAK,GAAGA,IAAE,EAAE,KAAK,GAAGA,IAAE,EAAE,MAAM,CAAC,OAAO,OAAO,MAAM,KAAK,CAAC,WAAW,IAAE,CAAC,OAAO,KAAK,IAAIA,IAAE,CAAC,OAAO,aAAa,IAAE,CAAC,OAAO,KAAK,IAAIA,IAAE,CAAC,aAAa,CAAC,IAAI,IAAE,CAAC,OAAO,OAAO,OAAO,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,CAAC,MAAM,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,GAAGA,IAAE,aAAa,CAAC,OAAO,KAAK,GAAG,EAAE,KAAK,GAAG,EAAE,oBAAoB,IAAE,CAAC,OAAO,KAAK,IAAIA,IAAE,EAAE,KAAK,EAAE,CAAC,KAAK,IAAIA,IAAE,EAAE,KAAK,EAAE,CAAC,KAAK,IAAE,CAAC,OAAO,OAAO,OAAO,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,CAAC,OAAO,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,GAAGA,IAAE,OAAO,IAAE,CAAC,OAAO,OAAO,OAAO,KAAK,EAAE,KAAK,IAAIA,IAAE,CAAC,KAAK,EAAE,KAAK,IAAIA,IAAE,CAAC,KAAK,EAAE,KAAK,IAAIA,IAAE,CAAC,KAAK,EAAE,KAAK,IAAIA,IAAE,CAAC,CAAC,MAAM,IAAE,CAAC,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,IAAI,IAAE,CAAC,OAAO,OAAO,OAAO,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,CAAC,QAAQ,IAAE,CAAC,KAAK,GAAGA,IAAE,EAAE,KAAK,GAAGA,IAAE,EAAE,gBAAgB,IAAE,IAAE,CAAC,KAAK,EAAE,KAAK,IAAIA,IAAE,CAACC,IAAE,KAAK,EAAE,KAAK,IAAID,IAAE,CAACC,MAAOF,IAAE,KAAK,OAAylPI,IAAE,SAASE,IAAE,MAAM,EAAE,IAAI,IAAogMC,IAAE,YAAkBC,IAAE,WAAiBC,IAAE,cAAoBC,IAAE,YAAkB,EAAE,cAAoBE,IAAE,aAAmBC,IAAE,YAAkBC,IAAE,eAAqBC,IAAE,aAAmBC,IAAE,cAAoBC,IAAE,SAAeC,IAAE,mBAAyB,EAAE,0BAAgC,EAAE,2DAA+DG,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASrB,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAmI,OAAN,KAAY,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,IAAE,KAAKuB,IAAE,KAAK,IAAI,CAAC,KAAK,gBAAgB,GAAM,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAKC,IAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAMxB,IAAE,KAAK,UAAU,cAAcC,IAAED,IAAE,UAAU,KAAK,MAAM,IAAE,eAAe,OAAO,KAAK,OAAO,CAACC,IAAE,QAAQA,IAAE,OAAO,GAAG,KAAK,eAAe,KAAK,UAAU,gBAAgB,KAAK,eAAe,EAAEA,IAAE,OAAO,CAAC,CAAC,KAAK,MAAM,KAAG,CAAC,MAAMD,IAAE,KAAK,KAAK,GAAG,CAAC,SAAS,CAAC,IAAIA,IAAE,KAAK,iBAAwB,IAAE,KAAK,UAAf,MAA2CA,IAAE,QAAQ,CAAC,KAAK,oBAAoB,CAAC,KAAK,MAAM,KAAG,CAAC,MAAMA,IAAE,KAAK,KAAK,GAAG,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAKwB,IAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAE,CAAC,GAAG,EAAE,KAAKD,IAAE,IAAI,CAAC,OAAOvB,IAAE,EAAE,KAAKuB,IAAE,IAAI,CAAC,CAAC,aAAa,IAAE,IAAE,CAAC,IAAIrB,IAAE,GAAGF,IAAE,UAAUA,IAAE,UAAU,OAAO,IAAMD,IAAEC,IAAE,WAAW,CAAC,GAAGD,KAAG,EAAE,OAAO,IAAMI,IAAEH,IAAE,cAAc,CAACK,IAAYL,IAAE,gBAAgB,EAAgBG,IAAK,CAACC,IAAEE,KAAG,KAAK,wBAAwBN,IAAE,CAAC,AAAI,MAAEG,IAAG,AAAI,MAAEE,KAAID,KAAGE,MAAI,KAAK,MAAM,KAAG,CAAC,IAAIH,IAAEE,IAAEE,IAAEC,IAAEC,IAAE,IAAMC,IAAE,KAAK,UAAU,cAAcC,IAAEX,IAAE,QAAQ,OAAOY,KAAG,EAAEZ,IAAE,eAAeW,IAAE,YAAYE,IAAsBb,IAAE,OAAO,SAAiCA,IAAE,SAA8B,OAAqB,EAAEc,IAAsBd,IAAE,QAA6B,SAAuBa,IAAEE,IAAEF,IAAED,IAAEI,IAAEF,IAAEF,IAAEK,IAAE,EAAE,CAACC,IAAE,CAAC,KAAKd,IAAE,gBAAgBA,IAAEW,IAAE,CAAC,IAAK,GAAE,CAAC,IAAE,OAAOT,IAAE,gBAAgBA,IAAEU,IAAE,CAACE,IAAE,KAAK,KAAK,qBAAqBhB,IAAEF,IAAED,IAAEgB,IAAEG,IAAED,IAAE,CAAC,aAAa,CAAC,UAAU,KAAK,UAAU,QAAQf,IAAE,SAASF,IAAE,MAAMC,IAAE,YAAYiB,IAAE,eAAeR,IAAE,eAAe,OAAO,UAAUA,IAAE,eAAe,UAAU,OAAOX,KAAG,EAAEC,IAAE,eAAeW,IAAE,SAAS,QAAQI,IAAE,OAAOf,IAAE,QAAQ,OAAO,UAAUiB,IAAE,CAAC,CAAC,KAAK,sBAAsBjB,IAAE,GAAG,CAAC,mBAAmB,IAAE,IAAE,IAAE,CAAC,KAAK,MAAM,KAAG,CAAC,mBAAmBD,IAAEC,IAAEC,IAAEC,IAAE,GAAG,CAAC,WAAW,IAAE,IAAE,CAAC,KAAK,MAAM,KAAG,CAAC,WAAWA,IAAEF,IAAEC,IAAE,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,KAAK,WAAW,CAAC,KAAK,WAAW,CAAC,KAAK,WAAW,CAAC,KAAK,gBAAgB,CAAC,KAAK,cAAc,CAAC,KAAK,aAAa,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,IAAqCA,IAA7B,KAAK,UAAU,cAAkB,WAA0BF,IAAb,KAAK,SAAwC,MAAM,GAAGA,IAAE,CAAC,GAAGE,IAAE,MAAM,CAAC,IAAMD,IAAE,gBAAgBC,IAAE,MAAM,CAAC,IAAE,gBAAgBD,IAAE,gBAAgBA,IAAEC,IAAE,QAAQ,CAAC,QAAQ,IAAE,gBAAgB,GAAG,IAAE,gBAAgBA,IAAE,OAAO,GAAG,IAAE,mBAAmBA,IAAE,UAAU,GAAG,IAAE,iBAAiBA,IAAE,QAAQ,GAAG,IAAE,eAAeA,IAAE,MAAM,IAAI,aAAa,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAK,EAAED,OAAK,KAAK,UAAU,QAAS,IAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAKA,IAAE,EAAEA,IAAE,mBAAmBA,IAAE,sBAAsB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAKA,IAAE,CAAE,cAAc,CAAC,IAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAE,KAAKwB,IAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAMxB,OAAK,KAAK,UAAU,UAAU,SAAU,IAAE,WAAW,EAAE,KAAKwB,IAAE,IAAI,CAAC,KAAKxB,IAAE,EAAEA,IAAE,gBAAgBA,IAAE,oBAAoBA,IAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAKA,IAAE,CAAE,WAAW,IAAE,CAAC,IAAIC,IAAE,KAAK,mBAA0B,IAAE,KAAK,UAAf,MAA2CA,IAAE,QAAQ,EAAE,KAAK,gBAAgBD,IAAE,SAASM,OAAKN,IAAE,QAAiBA,IAAE,QAAQM,OAAnB,OAAsB,KAAK,gBAAgB,KAAK,QAAQN,IAAE,KAAK,cAAc,WAAW,EAAE,CAAC,KAAK,QAAQ,MAAM,CAAC,KAAK,KAAK,OAAOA,IAAE,aAAa,KAAK,KAAK,MAAMA,IAAE,YAAY,IAAE,KAAKuB,IAAE,KAAK,QAAQ,WAAW,KAAK,CAAC,IAAI,CAAC,KAAK,UAAU,OAAO,MAAM,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,IAAMvB,IAAE,KAAK,UAAU,cAAc,KAAK,MAAM,KAAG,CAAIA,IAAE,eAAe,QAAQA,IAAE,eAAe,OAAO,MAAMC,IAAE,KAAK,KAAK,CAAC,KAAK,UAAU,KAAK,gBAAgB,EAAM,KAAK,WAAW,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,QAAQ,OAAO,IAAMD,IAAE,KAAK,UAAUC,IAAED,IAAE,OAAO,WAAWE,IAAEF,IAAE,OAAO,KAAKD,IAAE,CAAC,MAAM,KAAK,QAAQ,YAAYE,IAAE,OAAO,KAAK,QAAQ,aAAaA,IAAE,CAAC,GAAGF,IAAE,SAASG,IAAE,QAAQH,IAAE,QAAQG,IAAE,OAAOH,IAAE,SAAS,KAAK,QAAQ,QAAQA,IAAE,QAAQ,KAAK,QAAQ,MAAM,OAAO,IAAMI,IAAE,OAAO,OAAO,EAAE,CAACD,IAAE,CAAC,KAAK,QAAQ,MAAM,IAAE,MAAM,KAAK,QAAQ,YAAYD,IAAE,KAAK,QAAQ,OAAO,IAAE,OAAO,KAAK,QAAQ,aAAaA,IAAE,KAAK,UAAU,UAAU,KAAK,aAAa,CAAC,MAAMC,IAAE,MAAMC,IAAE,MAAM,OAAOD,IAAE,OAAOC,IAAE,OAAO,EAAE,MAAM,cAAc,CAAC,GAAG,CAAC,KAAK,QAAQ,OAAO,KAAK,QAAQ,CAAC,IAAMH,IAAE,KAAK,UAAUC,IAAED,IAAE,qBAAqB,CAAC,IAAE,UAAU,YAAY,CAAC,KAAK,oBAAoB,CAAC,KAAG,MAAMA,IAAE,SAAS,CAAC,sBAAsB,IAAE,CAAC,IAAIC,IAAE,IAAI,IAAMC,OAAK,EAAE,KAAKsB,IAAE,IAAI,EAAS,IAAEtB,IAAE,YAAZ,MAA0CD,IAAE,KAAKC,IAAEF,IAAE,CAAC,qBAAqB,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAII,IAAE,IAAI,IAAME,OAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAGA,IAAE,eAAe,CAAC,GAAK,CAAC,KAAKD,IAAE,OAAOD,KAAGE,IAAE,eAAeL,IAAED,IAAEE,IAAEH,IAAE,CAAC,MAAI,IAAE,KAAKM,KAAG,MAAI,IAAE,OAAOD,KAAG,GAAGE,IAAE,mBAAmB,CAAC,IAAMN,IAAEM,IAAE,mBAAmBL,IAAE,CAAC,IAAI,IAAMA,OAAKD,IAAE,kBAAkBK,IAAEL,IAAEC,IAAE,EAAS,IAAEK,IAAE,aAAZ,MAA2CF,IAAE,KAAKE,IAAEL,IAAE,EAAE,oBAAoB,CAAC,IAAID,IAAE,IAAI,IAAMC,OAAK,EAAE,KAAK,EAAE,IAAI,EAAS,IAAEA,IAAE,SAAZ,MAAuCD,IAAE,KAAKC,IAAE,CAAC,wBAAwB,IAAE,CAAC,IAAIA,IAAEC,IAAE,IAAI,IAAMH,OAAK,EAAE,KAAK,EAAE,IAAI,CAAgJ,GAA9I,CAACE,KAAGF,IAAE,oBAAoB,IAAE,gBAAgBA,IAAE,kBAAkBC,IAAE,CAAC,EAAE,CAACE,KAAGH,IAAE,sBAAsB,IAAE,gBAAgBA,IAAE,oBAAoBC,IAAE,CAAC,EAAKC,KAAGC,IAAE,MAAM,MAAM,CAACD,IAAEC,IAAE,CAAC,WAAW,CAAC,IAAqCD,IAA7B,KAAK,UAAU,cAAkB,eAAe,MAAMC,IAAED,IAAE,MAAMF,IAAE,gBAAgBG,IAAE,CAAC,GAAGH,IAAE,CAAC,IAAMC,IAAE,CAAC,EAAED,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEE,IAAE,QAAQ,CAAC,KAAK,gBAAgB,gBAAgBD,IAAEA,IAAE,EAAE,EAAE,WAAW,CAAC,IAAMA,IAAE,KAAK,QAAQC,IAAE,KAAK,UAAU,cAAc,GAAGD,IAA4Z,IAAI,IAAME,OAAhaD,IAAE,WAAW,QAAQ,KAAK,cAAc,WAAW,EAAE,CAACD,IAAE,MAAM,CAAC,IAAE,MAAM,YAAY,WAAW,QAAQ,YAAY,CAAC,IAAE,MAAM,YAAY,UAAUC,IAAE,WAAW,OAAO,SAAS,GAAG,CAAC,YAAY,CAAC,IAAE,MAAM,YAAY,MAAM,IAAI,YAAY,CAAC,IAAE,MAAM,YAAY,OAAO,IAAI,YAAY,CAAC,IAAE,MAAM,YAAY,QAAQ,OAAO,YAAY,CAAC,IAAE,MAAM,YAAY,SAAS,OAAO,YAAY,EAAM,KAAK,oBAAoB,CAAgBA,IAAE,MAAM,CAAC,GAAG,CAACC,KAAG,CAACD,IAAE,MAAM,SAAS,IAAMF,IAAEE,IAAE,MAAMC,KAAG,KAAGF,IAAE,MAAM,YAAYE,IAAEH,IAAE,YAAY,EAAG,WAAW,CAAC,IAAMC,IAAE,KAAK,UAAU,cAAcC,IAAED,IAAE,UAAU,KAAK,MAAME,IAAE,gBAAgBD,IAAE,UAAU,CAAC,GAAGC,IAAE,CAAC,IAAMD,IAAED,IAAE,UAAU,KAAK,MAAM,KAAK,eAAe,CAAC,EAAEE,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAE,EAAED,IAAE,OAAO,EAAE,UAAU,IAAE,CAAC,KAAK,MAAM,KAAG,CAAC,UAAUA,IAAE,KAAK,KAAKD,IAAE,GAAG,CAAC,oBAAoB,CAAC,IAAMA,IAAE,KAAK,QAAQC,IAAE,KAAK,cAAiBD,KAAGC,MAAG,IAAE,MAAM,SAASA,IAAE,SAAS,IAAE,MAAM,OAAOA,IAAE,OAAO,IAAE,MAAM,IAAIA,IAAE,IAAI,IAAE,MAAM,KAAKA,IAAE,KAAK,IAAE,MAAM,MAAMA,IAAE,MAAM,IAAE,MAAM,OAAOA,IAAE,UAAS,EAAE,IAAI,QAAQ,IAAE,IAAI,QAAQ,IAAE,IAAI,QAAQ,EAAE,IAAI,QAAQ,EAAE,IAAI,QAAsM,eAAN,KAAoB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUD,IAAE,KAAK,QAAQ,GAAK,KAAK,iBAAiB,KAAG,KAAK,eAAeA,IAAE,CAAC,KAAK,kBAAkB,KAAG,KAAK,eAAeA,IAAE,CAAC,KAAK,iBAAiB,KAAG,KAAK,eAAeA,IAAE,CAAC,KAAK,oBAAoB,KAAK,kBAAkB,CAAC,KAAK,sBAAsB,KAAK,kBAAkB,CAAC,KAAK,uBAAuB,KAAK,kBAAkB,CAAC,KAAK,qBAAqB,KAAG,KAAK,gBAAgBA,IAAE,CAAC,KAAK,eAAe,KAAG,KAAK,gBAAgBA,IAAE,CAAC,KAAK,qBAAqB,KAAK,WAAW,CAAC,KAAK,4BAA4B,KAAK,wBAAwB,CAAC,KAAK,mBAAmB,KAAG,KAAK,kBAAkBA,IAAE,CAAC,KAAK,sBAAsB,KAAG,KAAK,kBAAkBA,IAAE,CAAC,KAAK,kBAAkB,KAAK,oBAAoB,CAAC,cAAc,CAAC,KAAK,gBAAgB,GAAK,CAAC,iBAAiB,CAAC,KAAK,gBAAgB,GAAM,CAAC,kBAAkB,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,GAAG,KAAK,QAAQ,CAAC,IAAMD,IAAEC,IAAE,cAAc,MAAM,SAAS,GAAG,CAACD,IAAE,OAAO,IAAE,cAAc,MAAM,cAAc,CAAC,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,cAAc,MAAM,UAAW,IAAI,MAAI,CAAE,SAAS,CAAC,IAAMD,IAAEG,IAAE,cAAc,OAAO,QAAQ,GAAGH,IAAE,gBAAgB,MAAM,IAAI,IAAMC,OAAKD,IAAE,KAAK,KAAK,gBAAgBC,IAAE,MAAM,KAAK,gBAAgBD,IAAE,KAAK,CAAcC,IAAE,OAAf,YAAqB,gBAAgB,KAAK,kBAAkB,EAAE,IAAI,CAAC,gBAAgB,IAAE,CAAC,KAAK,UAAU,gBAAgBA,IAAE,CAAC,kBAAkB,IAAE,CAAC,IAAUE,IAAFF,IAAM,QAAQ,KAAK,UAAU,QAAQ,iBAAiB,KAAK,UAAU,QAAQ,kBAAkBD,IAAE,KAAK,UAAU,QAAQ,OAAO,MAAM,KAAGC,IAAE,OAAOE,KAAG,CAAC,KAAGH,IAAE,QAAQ,MAAM,KAAK,UAAU,UAAUG,IAAE,CAAC,wBAAwB,CAAC,IAAMF,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,KAAK,kBAAkB,CAAIC,IAAE,cAAsB,UAAP,MAA0C,SAAS,QAAQ,IAAE,WAAW,GAAK,IAAE,OAAO,GAAM,IAAE,WAAW,GAAM,IAAE,oBAAoB,CAACD,IAAE,KAAK,GAAK,CAACA,IAAE,KAAK,GAAK,GAAE,oBAAoB,CAAI,KAAK,gBAAe,aAAa,KAAK,cAAc,CAAC,OAAO,KAAK,eAAc,KAAK,cAAc,YAAY,SAAS,CAAC,IAAIA,IAAE,OAAiB,KAAK,UAAU,QAA6B,cAAc,GAAG,IAAI,CAAC,gBAAgB,IAAE,CAAC,IAAIC,IAAE,IAAMC,IAAE,KAAK,UAAUH,IAAEG,IAAE,cAAcC,IAAEJ,IAAE,cAAc,UAAcM,IAAEQ,IAAE,GAAcV,MAAX,SAAc,IAAE,cAAc,QAAQ,OAAO,IAAEW,YAAqBX,MAAX,UAAcD,IAAE,OAAO,QAAQ,CAAC,IAAMF,IAAEE,IAAE,OAAO,QAAQ,IAAE,cAAc,QAAkBF,IAAE,eAA6BA,IAAE,gBAAgB,IAAE,cAAc,QAAQE,IAAE,OAAO,QAAQ,IAAME,IAAE,CAAC,OAAO,EAAgB,OAAO,WAArB,KAAiC,WAAW,+BAA+B,CAAC,MAAaA,IAAE,mBAAX,IAAK,GAAqFA,IAAE,cAAX,IAAK,KAAoBJ,IAAEI,IAAE,YAAY,KAAK,sBAAsB,CAACA,IAAE,eAAe,KAAK,sBAAsB,EAAtK,eAAeA,IAAE,SAAS,KAAK,mBAAmBJ,IAAE,EAAqH,IAAMM,IAAEJ,IAAE,cAAc,QAAQ,GAAG,CAACI,IAAE,OAAO,IAAMY,IAAEZ,KAAKP,IAAE,cAAc,OAAO,QAAQ,QAAQA,IAAE,cAAc,OAAO,QAAQ,UAAQ,eAAeO,IAAE,EAAE,KAAK,iBAAiBN,IAAE,CAAC,eAAeM,IAAEK,IAAE,KAAK,kBAAkBX,IAAE,CAAC,eAAeM,IAAEM,IAAE,KAAK,iBAAiBZ,IAAE,CAAID,IAAE,cAAc,OAAO,QAAQ,QAAQ,eAAeO,IAAEC,IAAE,KAAK,qBAAqBP,IAAE,CAAC,eAAeM,IAAEG,IAAE,KAAK,eAAeT,IAAE,CAAC,eAAeM,IAAEE,IAAE,KAAK,iBAAiBR,IAAE,EAAM,eAAeM,IAAEC,IAAE,KAAK,gBAAgBP,IAAE,CAAC,eAAeM,IAAED,IAAE,KAAK,kBAAkBL,IAAE,CAAC,eAAeM,IAAES,IAAE,KAAK,mBAAmBf,IAAE,EAAC,IAAE,OAAO,UAAU,IAAE,OAAO,QAAQ,MAAM,cAAckB,MAAIhB,IAAE,OAAO,QAAQ,UAAU,QAAWH,IAAE,cAAc,OAAO,SAAwB,OAAO,eAArB,IAAwC,KAAK,gBAAgB,CAACC,KAAG,IAAE,OAAO,SAAS,KAAK,eAAe,UAAUE,IAAE,OAAO,QAAQ,CAAC,KAAK,eAAe,YAAY,CAAC,OAAO,KAAK,gBAAuB,CAAC,KAAK,gBAAgBF,KAAGE,IAAE,OAAO,UAAS,KAAK,eAAe,IAAI,gBAAgB,KAAG,CAASF,IAAE,MAAM,KAAGA,IAAE,SAASE,IAAE,OAAO,SAAS,EAAI,KAAK,oBAAoB,GAAG,CAAC,KAAK,eAAe,QAAQA,IAAE,OAAO,QAAQ,EAAO,eAAe,OAAOc,IAAE,KAAK,cAAchB,IAAE,EAAC,UAAU,eAAe,SAASiB,IAAE,KAAK,wBAAwBjB,IAAE,GAAM,CAAC,WAAW,CAAC,IAAMA,IAAE,KAAK,UAAU,cAAc,GAAGA,IAAE,CAAC,IAAMC,IAAED,IAAE,MAAM,IAAE,SAAS,GAAK,IAAE,aAAaC,IAAE,UAAU,gBAAgB,IAAE,CAAC,IAAMA,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAcF,IAAEE,IAAE,cAAc,MAAM,IAAE,OAAO,GAAK,IAAIE,IAAE,GAAYE,IAAEN,IAAE,SAAS,GAAGM,KAAGH,IAAE,cAAc,OAAO,QAAQ,OAAO,CAAC,IAAI,GAAK,EAAEF,OAAKC,IAAE,QAAQ,GAAGD,IAAE,qBAAoB,IAAEA,IAAE,mBAAmBK,IAAE,CAAIF,KAAE,MAAM,KAAG,KAAK,kBAAkBH,IAAE,CAAC,IAAE,SAAS,IAAO,kBAAkB,CAAC,IAAMA,IAAE,KAAK,UAAU,cAAc,GAAG,CAACA,IAAE,OAAO,IAAMC,IAAED,IAAE,MAAM,OAAOC,IAAE,SAAS,OAAOA,IAAE,cAAc,OAAOA,IAAE,aAAa,IAAE,OAAOY,IAAE,IAAE,OAAO,GAAM,IAAE,SAAS,GAAM,eAAe,IAAE,CAAC,IAAIZ,IAAEC,IAAEH,IAAEI,IAAEE,IAAED,IAAEE,IAAE,IAAMC,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,GAAG,CAAYA,IAAE,eAAoC,QAAS,OAAO,IAAE,cAAc,MAAM,OAAO,GAAK,IAAIE,IAAQE,IAAEJ,IAAE,OAAO,QAAQ,GAAGP,IAAE,KAAK,WAAW,UAAU,CAAC,CAAC,KAAK,QAAQ,GAAK,IAAMC,IAAED,IAAE,GAAGO,IAAE,cAAc,UAAU,WAAWI,IAAE,CAAC,IAAMX,IAAEW,IAAE,uBAAuB,CAAC,IAAE,CAAC,EAAEV,IAAE,QAAQD,IAAE,KAAK,EAAEC,IAAE,QAAQD,IAAE,IAAI,UAAqBQ,IAAE,cAAc,YAA3B,SAAqC,CAAC,IAAMR,IAAEC,IAAE,OAAaE,IAAEF,IAAE,cAAoBI,IAAEE,IAAE,OAAO,QAAQ,GAAGP,KAAGG,KAAGE,IAAE,CAAC,IAAMH,IAAEF,IAAE,uBAAuB,CAAOD,IAAEI,IAAE,uBAAuB,CAAOC,IAAEC,IAAE,uBAAuB,CAAC,IAAE,CAAC,EAAEJ,IAAE,QAAQ,EAAEC,IAAE,MAAMH,IAAE,KAAKK,IAAE,MAAM,EAAEH,IAAE,QAAQ,EAAEC,IAAE,KAAKH,IAAE,IAAIK,IAAE,KAAK,MAAM,IAAE,CAAC,EAAYH,IAAE,SAAuBA,IAAE,QAAQ,EAAYA,IAAE,SAAuBA,IAAE,QAAQ,MAAM,IAAE,SAASM,IAAE,OAAO,UAAU,IAAE,CAAC,EAAYN,IAAE,SAAuBA,IAAE,QAAQ,EAAYA,IAAE,SAAuBA,IAAE,QAAQ,MAAM,CAAC,KAAK,QAAsBD,IAAE,OAAhB,YAAqB,IAAMC,IAAED,IAAQE,IAAED,IAAE,QAAQA,IAAE,QAAQ,OAAO,GAASF,IAASY,KAAuB,uBAAuB,CAAC,IAAE,CAAC,EAAET,IAAE,SAA0BH,KAAuB,MAAoB,GAAG,EAAEG,IAAE,SAA0BH,KAAuB,KAAmB,GAAG,CAAC,IAAMa,IAAEL,IAAE,OAAO,WAAcE,MAAG,IAAE,GAAGG,IAAE,IAAE,GAAGA,KAAE,IAAE,cAAc,MAAM,SAASH,IAAE,IAAE,cAAc,OAAO,IAAS,aAAN,KAAkB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUT,IAAE,MAAM,UAAU,IAAE,CAAC,IAAIC,IAAE,GAAG,CAAC,IAAMC,IAAE,KAAK,UAAU,GAAYA,IAAE,gBAAX,IAAK,IAAqBF,IAAEE,IAAE,cAAc,IAAIA,IAAE,SAAS,CAAC,IAAE,KAAK,GAAM,CAAC,OAAO,AAAyC,IAAE,gBAAcF,IAAE,IAAMD,IAAEC,IAAEE,IAAE,cAAcC,IAAE,CAAC,MAAMJ,IAAE,OAAO,GAAGA,IAAE,IAAI,CAAuC,GAAtC,IAAE,UAAUI,IAAE,MAAM,IAAE,cAAcH,IAAKD,IAAE,IAAI,CAAC,IAAE,KAAK,GAAM,CAAC,OAAiC,GAA1B,MAAMG,IAAE,UAAU,KAAKC,IAAE,CAAID,IAAE,SAAS,GAAGA,IAAE,SAASA,IAAE,SAAS,CAAC,IAAE,SAAS,CAAC,OAAO,IAAE,oBAAoB,EAAEA,IAAE,KAAK,GAAM,OAAOF,IAAE,CAAC,QAAQ,MAAM,sCAAsCA,IAAE,IAAS,aAAN,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,MAAM,GAAG,OAAO,OAAO,IAAE,IAAE,CAAC,IAAME,IAAE,IAAI,aAAyG,OAA5F,IAAE,KAAKF,IAAE,CAAUC,MAAT,IAAK,KAAmB,OAAOA,KAAlB,UAAqBA,eAAa,MAAMC,IAAE,KAAK,CAAC,MAAMD,IAAE,CAAC,CAACC,IAAE,KAAKD,IAAE,EAASC,IAAE,KAAK,IAAE,CAAkBF,KAAuB,QAAxC,IAAK,KAA4C,KAAK,MAAMA,IAAE,SAAc,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,MAAM,GAAG,KAAK,MAAM,GAAG,KAAK,SAAS,GAAG,KAAK,OAAO,GAAG,KAAK,KAAK,GAAG,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,aAAa,OAAO,KAAK,MAAMA,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,oBAAN,KAAyB,CAAC,aAAa,CAAC,KAAK,MAAM,IAAI,aAAa,KAAK,MAAM,MAAM,OAAO,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,aAAa,OAAO,KAAK,MAAMA,IAAE,MAAM,EAAWA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,eAAN,KAAoB,CAAC,aAAa,CAAC,KAAK,UAAU,kBAAkB,KAAK,MAAM,IAAI,oBAAoB,KAAK,OAAO,GAAM,KAAK,IAAE,CAAC,GAAGA,IAAE,CAAoD,GAA1CA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAuBA,IAAE,QAAX,IAAK,GAAY,CAAC,IAAMC,IAAED,IAAE,MAAYE,IAAa,OAAOF,IAAE,OAApB,SAA0B,CAAC,MAAMA,IAAE,MAAM,CAACA,IAAE,MAAM,KAAK,MAAM,KAAcC,IAAE,QAAX,IAAK,GAAc,CAAC,MAAMC,IAAE,CAAXD,IAAY,CAAUD,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAK,KAAK,OAAO,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,KAAK,EAAE,CAAC,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,SAAN,KAAc,CAAC,aAAa,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,OAAO,GAAM,KAAK,KAAK,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,UAAU,IAAI,GAAG,IAAE,CAAC,KAAK,UAAUA,IAAE,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,UAAU,IAAE,CAAC,KAAK,IAAIA,IAAE,IAAI,KAAK,CAAC,OAAO,KAAK,qBAAqB,MAAM,KAAK,UAAU,KAAK,KAAGA,IAAE,QAAQ,IAAI,GAAG,EAAE,CAAC,KAAK,UAAU,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,IAAE,CAAC,KAAK,UAAUA,eAAa,MAAMA,IAAE,KAAK,KAAG,IAAIA,OAAK,CAAC,IAAIA,MAAI,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAE,GAAG,CAACF,IAAE,OAAO,IAAMD,IAAsBC,IAAE,KAAmBA,IAAE,WAAyBA,IAAE,GAAYD,MAAT,IAAK,KAAQ,KAAK,IAAIA,KAAYC,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,QAAa,SAAN,KAAc,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,OAAO,GAAG,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,KAAK,EAAE,CAAC,KAAK,SAAS,IAAI,SAAS,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,SAAS,KAAKA,IAAE,SAAS,IAAS,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,WAAW,KAAK,MAAM,IAAI,SAAS,KAAK,QAAQ,IAAI,WAAW,KAAK,OAAO,GAAK,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,IAAE,CAAC,KAAK,QAAQA,IAAE,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,IAAI,MAAM,IAAE,CAAC,KAAK,MAAMA,IAAE,IAAI,SAAS,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,IAAE,CAAC,KAAK,QAAQA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAE,GAAG,CAACC,IAAE,OAAO,KAAK,QAAQ,KAAeA,IAAE,SAAuBA,IAAE,QAAQ,CAAC,IAAMG,IAAYH,IAAE,OAAqBA,IAAE,MAAkBG,MAAT,IAAK,KAASA,eAAa,MAAM,KAAK,MAAMA,IAAE,KAAK,KAAG,CAAC,IAAMF,IAAE,IAAI,SAAmB,OAAV,IAAE,KAAKD,IAAE,CAAQC,MAAI,EAAM,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,KAAKE,IAAE,GAAC,KAAK,QAAQ,KAAeH,IAAE,SAAuBA,IAAE,QAAQ,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,UAAe,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,KAAK,OAAO,IAAI,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAc,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQuB,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASvB,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAiB,MAAN,KAAW,CAAC,YAAY,IAAE,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,EAAE,KAAK0B,IAAEzB,IAAE,IAAI,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,IAAE,CAAC,GAAGD,MAAG,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAIyB,IAAE,KAAKC,IAAE,IAAI,EAAC,CAAC,IAAMzB,IAAEwB,IAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,YAAY,IAAIA,IAAE,KAAKC,IAAE,IAAI,CAAC,CAAC,GAAGzB,IAAE,IAAI,IAAMC,OAAKD,IAAE,IAAE,iBAAiBC,IAAE,gBAAgB,KAAKF,IAAE,IAAI,IAAE,IAAI,QAAQ,EAAE,IAAI,QAAY,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAkB,cAAN,KAAmB,CAAC,YAAY,IAAE,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAKyB,IAAE3B,IAAE,IAAI,CAAC,EAAE,KAAK,EAAEC,IAAE,IAAI,CAAC,KAAK,UAAU,SAAS,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,MAAMD,IAAEC,IAAE,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,UAAU,IAAI,UAAU,IAAE,CAAC,KAAK,UAAUD,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAO,IAAME,IAAYF,IAAE,WAAyBA,IAAE,UAAmBE,MAAT,IAAK,KAAQ,KAAK,UAAUA,KAAG,KAAK,OAAO,KAAKF,IAAE,OAAO,CAAC,KAAK,MAAM,KAAKA,IAAE,MAAM,GAAE,EAAE,IAAI,QAAQ,IAAE,IAAI,QAAc,eAAN,KAAoB,CAAC,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAKF,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAAS,CAAC,EAAYA,IAAE,SAAS,GAAiB,GAAG,EAAYA,IAAE,SAAS,GAAiB,GAAG,EAAWA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQ,WAAW,EAAE,CAACA,IAAE,QAAQ,KAAU,aAAN,KAAkB,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,KAAK,MAAM,GAAK,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,UAAe,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,QAAQ,GAAM,KAAK,OAAO,IAAI,aAAa,KAAK,IAAE,CAAIA,MAAYA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAS,KAAK,OAAO,KAAKA,IAAE,OAAO,IAAS,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,SAAS,IAAS,KAAK,QAAQ,EAAE,CAAC,KAAK,KAAK,SAAS,KAAK,IAAE,CAAIA,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,OAAX,IAAK,KAAwBA,IAAE,OAAb,SAAkB,KAAK,KAAK,SAAS,KAAK,KAAK,UAAmBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQ,WAAW,EAAE,CAACA,IAAE,QAAQ,KAAU,aAAN,KAAkB,CAAC,aAAa,CAAC,KAAK,KAAK,GAAM,KAAK,KAAK,MAAM,KAAK,MAAM,GAAM,KAAK,IAAE,CAAIA,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,UAAe,MAAN,KAAW,CAAC,aAAa,CAAC,KAAK,KAAK,GAAG,KAAK,QAAQ,IAAI,aAAa,KAAK,IAAE,CAAIA,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQ,WAAW,EAAE,CAACA,IAAE,QAAQ,KAAU,eAAN,KAAoB,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,OAAO,GAAM,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,GAAK,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAO,cAAcA,IAAE,OAAO,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,aAAN,KAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,EAAE,IAAI,eAAe,KAAK,IAAE,CAAIA,MAAG,KAAK,EAAE,KAAKA,IAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,IAAE,EAAE,CAAC,KAAK,EAAE,KAAKA,IAAE,EAAE,IAAS,gBAAN,MAAM,wBAAwB,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,aAAa,OAAO,OAAO,IAAE,IAAE,CAAC,IAAME,IAAE,IAAI,gBAA4G,OAA5F,IAAE,KAAKF,IAAE,CAAUC,MAAT,IAAK,KAAmB,OAAOA,KAAlB,UAAqBA,eAAa,MAAMC,IAAE,KAAK,CAAC,MAAMD,IAAE,CAAC,CAACC,IAAE,KAAKD,IAAE,EAASC,IAAE,KAAK,IAAE,CAAe,GAAd,MAAM,KAAKF,IAAE,CAAI,CAACA,IAAE,OAAO,IAAMC,IAAED,IAAE,UAAmBC,MAAT,IAAK,KAAiBA,IAAE,SAAX,IAAK,GAAsC,KAAK,UAAU,KAAKD,IAAE,UAAU,CAAzD,KAAK,UAAU,EAAE,KAAKC,IAAE,IAA0C,kBAAN,KAAuB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAK,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAID,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,aAAa,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,eAAX,IAAK,KAAqB,KAAK,aAAaA,IAAE,iBAAsB,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,EAAE,KAAK,IAAE,CAAIA,MAAe,OAAOA,IAAE,QAArB,UAA4B,KAAK,OAAO,OAAOA,IAAE,OAAO,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAUA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,KAAK,OAAO,OAAO,KAAK,OAAO,aAAa,IAAK,GAAE,KAAU,sBAAN,cAAoC,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,aAAa,GAAG,KAAK,MAAM,IAAS,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,WAAW,IAAI,sBAAsB,KAAK,SAAS,IAAI,sBAAsB,KAAK,IAAE,CAAIA,MAAG,KAAK,WAAW,KAAKA,IAAE,WAAW,CAAC,KAAK,SAAS,KAAKA,IAAE,SAAS,IAAS,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,OAAO,IAAI,gBAAgB,KAAK,OAAO,GAAM,KAAK,KAAK,SAAS,KAAK,QAAQ,IAAI,kBAAkB,KAAK,IAAE,CAAIA,MAAG,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,QAAQ,KAAKA,IAAE,QAAQ,IAAS,YAAN,cAA0B,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,MAAM,IAAS,UAAN,cAAwB,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAQ,MAAN,KAAW,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,OAAO,IAAI,YAAY,KAAK,KAAK,IAAI,UAAU,KAAK,WAAW,GAAK,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAO,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAUA,IAAE,YAAX,IAAK,KAAkBA,IAAE,qBAAqB,MAAM,KAAK,UAAUA,IAAE,UAAU,KAAK,KAAG,WAAW,EAAE,CAACA,IAAE,EAAE,CAAC,KAAK,UAAU,WAAW,EAAE,CAACA,IAAE,UAAU,EAAWA,IAAE,aAAX,IAAK,KAAmB,KAAK,WAAWA,IAAE,eAAoB,QAAN,KAAa,CAAC,aAAa,CAAC,KAAK,KAAK,OAAO,KAAK,MAAM,IAAI,MAAM,KAAK,IAAE,CAAIA,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,MAAM,KAAKA,IAAE,MAAM,IAAS,UAAN,KAAe,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,KAAK,MAAM,GAAG,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAO,cAAcA,IAAE,OAAO,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,KAAU,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,OAAO,GAAM,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,IAAI,QAAQ,IAAE,CAAC,KAAK,OAAO,EAAEA,IAAE,IAAI,SAAS,CAAC,OAAO,KAAK,OAAO,EAAE,IAAI,QAAQ,IAAE,CAAC,KAAK,OAAO,EAAEA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAEI,IAAE,GAAG,CAACH,IAAE,OAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAAS,cAAcA,IAAE,SAAS,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,IAAMK,IAAsBL,IAAE,QAA6B,GAAiBA,IAAE,QAAiBK,MAAT,IAAK,KAAQ,KAAK,OAAO,EAAEA,KAAG,IAAMD,IAAsBJ,IAAE,QAA6B,GAAiBA,IAAE,QAAiBI,MAAT,IAAK,KAAQ,KAAK,OAAO,EAAEA,OAAU,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,aAAa,KAAK,KAAK,OAAO,GAAM,KAAK,QAAQ,GAAM,KAAK,SAAS,GAAG,KAAK,IAAE,CAAIJ,MAAYA,IAAE,eAAX,IAAK,KAAqB,KAAK,aAAa,cAAcA,IAAE,aAAa,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAAS,cAAcA,IAAE,SAAS,KAAU,cAAN,cAA4B,eAAe,CAAC,aAAa,CAAC,OAAO,GAAQ,SAAN,KAAc,CAAC,aAAa,CAAC,KAAK,MAAM,GAAK,KAAK,MAAM,IAAI,cAAc,KAAK,OAAO,GAAM,KAAK,QAAQ,EAAE,CAAC,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAO,KAAK,MAAM,KAAKA,IAAE,MAAM,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,UAAUA,IAAE,UAAU,IAAE,UAAU,KAAK,QAAQ,WAAW,KAAK,QAAQA,IAAE,QAAQ,KAAU,UAAN,KAAe,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,OAAO,GAAG,KAAK,UAAU,IAAI,aAAa,KAAK,UAAU,MAAM,UAAU,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,UAAU,aAAa,OAAO,KAAK,UAAUA,IAAE,UAAU,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,SAAN,KAAc,CAAC,aAAa,CAAC,KAAK,QAAQ,MAAM,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAEI,IAAKH,MAAYA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAS,KAAK,OAAiBA,IAAE,QAAsBA,IAAE,QAAQ,KAAK,KAAeA,IAAE,MAAoBA,IAAE,QAAQ,KAAK,MAAgBA,IAAE,OAAqBA,IAAE,QAAQ,KAAK,IAAcA,IAAE,KAAmBA,IAAE,WAAgB,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,aAAa,EAAE,KAAK,OAAO,GAAM,KAAK,IAAE,CAAIA,MAAYA,IAAE,eAAX,IAAK,KAAqB,KAAK,aAAa,cAAcA,IAAE,aAAa,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,SAASA,IAAE,SAAS,WAAW,EAAE,CAACA,IAAE,SAAS,CAAC,IAAK,MAAU,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,IAAI,YAAY,KAAK,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,CAAC,KAAK,UAAU,OAAO,KAAK,MAAM,EAAE,KAAK,OAAO,GAAM,KAAK,QAAQ,IAAI,YAAY,KAAK,KAAK,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,OAAO,GAAM,KAAK,KAAK,GAAM,KAAK,MAAM,EAAE,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,GAAM,KAAK,MAAM,IAAI,UAAU,KAAK,QAAQ,GAAM,KAAK,KAAK,GAAM,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,IAAI,OAAO,IAAE,CAAC,KAAK,WAAWA,IAAE,IAAI,YAAY,CAAC,MAAO,GAAM,IAAI,WAAW,IAAE,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,MAAM,IAAE,CAAC,KAAK,KAAKA,IAAE,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,QAAQ,IAAI,QAAQ,IAAE,CAAC,KAAK,SAAS,QAAQA,IAAE,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAE,CAAC,KAAK,QAAQA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAE,GAAG,CAACC,IAAE,OAAgBA,IAAE,QAAX,IAAK,KAAyB,OAAOA,IAAE,OAApB,SAA0B,KAAK,MAAM,MAAMA,IAAE,MAAM,KAAK,MAAM,KAAKA,IAAE,MAAM,EAAE,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAC,KAAK,OAAO,WAAW,KAAK,OAAOA,IAAE,OAAO,CAAUA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAAoB,OAAOA,IAAE,UAApB,SAA6B,CAAC,WAAWA,IAAE,SAAS,SAASA,IAAE,SAAS,CAAC,WAAW,EAAE,CAACA,IAAE,SAAS,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAC,IAAMG,IAAYH,IAAE,SAAuBA,IAAE,SAAkBA,IAAE,WAAX,IAAK,IAAyBG,MAAT,IAAK,KAAmB,OAAOH,IAAE,UAApB,UAAuCA,IAAE,WAAX,IAAK,IAAyBG,MAAT,IAAK,GAAM,KAAK,SAAS,KAAK,CAAC,QAAkBH,IAAE,UAAwBG,IAAE,CAAC,CAAC,KAAK,SAAS,KAAKH,IAAE,SAAS,EAAE,KAAK,KAAK,KAAeA,IAAE,MAAoBA,IAAE,MAAM,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAE,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAUA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAU,KAAK,MAAM,KAAKA,IAAE,MAAM,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,QAAa,iBAAN,KAAsB,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,GAAM,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,iBAAN,cAA+B,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,OAAO,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,WAAW,SAAS,KAAK,KAAK,GAAM,IAAI,aAAa,CAAC,OAAO,KAAK,aAAa,IAAI,YAAY,IAAE,CAAC,KAAK,aAAaA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAKD,MAAG,MAAM,KAAKA,IAAE,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,aAAuBA,IAAE,cAA4BA,IAAE,YAAqBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,aAAX,IAAK,KAAmB,KAAK,WAAWA,IAAE,YAAqBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,QAAN,cAAsB,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,iBAAiB,KAAK,OAAO,aAAa,GAAG,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,KAAK,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAO,MAAM,KAAKA,IAAE,CAAC,IAAME,IAAYF,IAAE,WAAyBA,IAAE,KAAiBE,MAAT,IAAK,KAAO,KAAK,UAAU,KAAKA,IAAE,CAAC,KAAK,MAAM,cAAc,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,UAAU,aAAa,IAAK,GAAE,IAAS,iBAAN,KAAsB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,KAAK,IAAI,KAAK,OAAO,IAAI,IAAI,YAAY,CAAC,OAAO,KAAK,KAAK,IAAI,WAAW,IAAE,CAAC,KAAK,KAAKF,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAgBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,IAAME,IAAYF,IAAE,MAAoBA,IAAE,WAAoBE,MAAT,IAAK,KAAQ,KAAK,KAAKA,KAAYF,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,UAAe,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,iBAAiB,KAAK,MAAM,EAAE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,IAAI,IAAE,CAAC,KAAK,MAAMA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAO,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAC,IAAME,IAAYF,IAAE,OAAqBA,IAAE,IAAaE,MAAT,IAAK,KAAQ,KAAK,MAAMA,KAAYF,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,SAAc,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,GAAM,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,cAAcA,IAAE,MAAM,EAAWA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,OAAN,cAAqB,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,gBAAgB,KAAK,UAAU,YAAY,KAAK,KAAK,GAAM,KAAK,MAAM,EAAE,KAAK,IAAE,CAAIA,MAAG,MAAM,KAAKA,IAAE,CAAUA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAW,KAAK,UAAU,KAAKA,IAAE,UAAU,CAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,GAAM,KAAK,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,MAAM,MAAM,OAAO,KAAK,IAAE,CAAIA,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,MAAM,aAAa,OAAO,KAAK,MAAMA,IAAE,MAAM,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAoBA,IAAE,SAAX,IAAK,KAAuBA,IAAE,OAAO,IAAlB,IAAK,KAAiB,KAAK,OAAO,EAAEA,IAAE,OAAO,GAAYA,IAAE,OAAO,IAAlB,IAAK,KAAiB,KAAK,OAAO,EAAEA,IAAE,OAAO,OAAY,MAAN,KAAW,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,WAAW,CAAC,IAAIA,IAAE,OAAiB,KAAK,QAAQ,WAAyB,KAAK,QAAQ,KAAK,IAAI,UAAU,IAAE,CAAC,KAAK,QAAQ,UAAUA,IAAE,KAAK,QAAQ,KAAKA,IAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAE,CAAC,KAAK,QAAQA,IAAE,IAAI,OAAO,CAAC,IAAIA,IAAE,OAAiB,KAAK,QAAQ,OAAqB,KAAK,QAAQ,OAAO,IAAI,MAAM,IAAE,CAAC,KAAK,QAAQ,MAAMA,IAAE,KAAK,QAAQ,OAAOA,IAAE,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,OAAO,IAAE,CAAC,KAAK,MAAMA,IAAE,IAAI,SAAS,CAAC,IAAIA,IAAE,OAAiB,KAAK,QAAQ,SAAuB,KAAK,QAAQ,KAAK,IAAI,QAAQ,IAAE,CAAC,KAAK,QAAQ,QAAQA,IAAE,KAAK,QAAQ,KAAKA,IAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,OAAO,IAAE,EAAE,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAE,GAAG,CAACC,IAAE,OAAO,IAAMG,IAAYH,IAAE,SAAuBA,IAAE,OAAO,GAAYG,MAAT,IAAK,GAAM,IAAI,IAAMH,OAAKG,IAAE,CAAC,IAAMF,IAAEE,IAAEH,KAAG,MAAI,KAAK,QAAQA,KAAG,WAAqB,KAAK,QAAQA,MAAkB,EAAE,CAACC,IAAE,EAAE,KAAK,UAAUD,IAAE,UAAU,YAAY,OAAO,GAAK,CAAC,KAAK,UAAUA,IAAE,QAAQ,UAAU,OAAO,GAAM,CAAC,KAAK,UAAoBA,IAAE,OAAqBA,IAAE,OAAO,QAAQ,SAAS,GAAK,CAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,UAAU,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIG,IAAEE,IAAE,GAAG,CAACL,IAAE,OAAO,IAAMI,IAAEJ,eAAa,MAAM,EAAE,CAAC,EAAE,CAACM,IAAEN,eAAa,OAAQ,KAAK,QAAQC,eAAa,MAAMM,IAAEP,eAAa,OAAQ,KAAK,QAAQE,eAAa,MAAM,MAAI,KAAK,QAAQD,KAAGG,KAAG,KAAGL,MAAI,KAAK,QAAQG,KAAGE,KAAG,KAAK,QAAQH,KAAG,WAAqB,KAAK,QAAQA,MAAkBG,IAAEJ,IAAE,CAAC,KAAK,QAAQE,MAAI,CAACH,MAAI,KAAK,QAAQG,KAAG,WAAqB,KAAK,QAAQA,MAAkBE,IAAEJ,IAAE,IAAS,cAAN,cAA4B,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,OAAO,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,WAAW,SAAS,KAAK,KAAK,GAAM,IAAI,UAAU,CAAC,OAAO,KAAK,aAAa,IAAI,SAAS,IAAE,CAAC,KAAK,aAAaA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,MAAM,KAAKD,IAAE,CAAIA,MAAYA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,aAAuBA,IAAE,cAA4BA,IAAE,SAAkBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,aAAX,IAAK,KAAmB,KAAK,WAAWA,IAAE,YAAqBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,KAAN,cAAmB,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,cAAc,KAAK,OAAO,aAAa,EAAE,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU,IAAI,KAAK,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAgB,GAAd,MAAM,KAAKD,IAAE,CAAI,CAACA,IAAE,OAAO,IAAME,IAAYF,IAAE,WAAyBA,IAAE,KAAiBE,MAAT,IAAK,KAAO,KAAK,UAAU,KAAKA,IAAE,CAAC,KAAK,MAAM,cAAc,KAAK,MAAM,KAAK,UAAU,OAAO,KAAK,UAAU,aAAa,IAAK,GAAE,IAAS,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,IAAE,CAAIF,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAM,gBAAgB,OAAO,KAAK,MAAMA,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,OAAN,cAAqB,eAAe,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,IAAE,CAAC,MAAM,KAAKA,IAAE,CAAIA,MAAYA,IAAE,cAAX,IAAK,KAAoB,KAAK,YAAYA,IAAE,aAAsBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,eAAX,IAAK,KAAqB,KAAK,aAAaA,IAAE,iBAAoB,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ0B,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAAS1B,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAiB,iBAAN,KAAsB,CAAC,YAAY,IAAE,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,EAAE,KAAK,EAAEC,IAAE,IAAI,CAAC,KAAK,OAAO,IAAI,gBAAgB,KAAK,WAAW,IAAI,WAAW,KAAK,MAAM,IAAI,gBAAgB,KAAK,MAAM,MAAM,OAAO,KAAK,QAAQ,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,KAAK,iBAAiB,GAAM,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,IAAE,CAAC,IAAIA,IAAEC,IAAEH,IAAEI,IAAEE,IAAED,IAAE,GAAG,CAACJ,IAAE,OAA2H,GAApH,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,MAAM,KAAK,gBAAgB,OAAO,KAAK,MAAMA,IAAE,MAAM,CAAC,CAAC,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAaA,IAAE,SAAX,IAAK,GAAa,IAAI,IAAME,OAAKF,IAAE,OAAO,CAAC,IAAMD,IAAEC,IAAE,OAAOE,KAAYH,MAAT,IAAK,KAAQ,KAAK,OAAOG,KAAG,WAAqB,KAAK,OAAOA,MAAkB,EAAE,CAACH,IAAE,EAAE,KAAK,KAAK,KAAKC,IAAE,KAAK,CAAC,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,QAAQ,KAAKA,IAAE,QAAQ,CAAUA,IAAE,mBAAX,IAAK,KAAyB,KAAK,iBAAiBA,IAAE,kBAAkB,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,MAAM,KAAKA,IAAE,MAAM,CAAC,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAC,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,IAAMM,IAAsBN,IAAE,MAA2B,YAAoCA,IAAE,MAA2B,OAAgBM,MAAT,IAAK,KAAQ,KAAK,WAAW,OAAOA,KAAG,KAAK,WAAW,KAAKN,IAAE,WAAW,CAAUA,IAAE,gBAAX,IAAK,KAAsB,KAAK,cAAc,WAAW,EAAE,CAACA,IAAE,cAAc,EAAE,IAAMO,IAAYP,IAAE,QAAgCA,IAAE,OAA4B,OAAkL,GAAxKO,MAAKA,eAAa,MAAM,KAAK,OAAOA,IAAE,KAAK,KAAG,CAAC,IAAMN,IAAE,IAAI,OAAiB,OAAV,IAAE,KAAKD,IAAE,CAAQC,MAAI,EAAM,KAAK,kBAAkB,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,KAAKM,IAAE,GAAIqB,IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,IAAM3B,IAAE2B,IAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,SAAS,IAAIA,IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG3B,IAAE,IAAI,IAAMC,OAAKD,IAAE,IAAE,aAAaC,IAAE,YAAY,KAAKF,IAAE,CAAC,IAAME,IAAE0B,IAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,YAAY,IAAIA,IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAG1B,IAAE,IAAI,IAAMD,OAAKC,IAAE,IAAE,sBAAsBD,IAAE,qBAAqB,KAAKD,IAAE,IAAG,EAAE,IAAI,QAAQ,EAAE,IAAI,QAA2K,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ2B,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAAS3B,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAqB,QAAN,KAAa,CAAC,YAAY,IAAE,IAAE,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK8B,IAAE9B,IAAE,IAAI,CAAC,EAAE,KAAK,EAAEC,IAAE,IAAI,CAAC,KAAK,SAAS,GAAK,KAAK,WAAW,IAAI,WAAW,KAAK,eAAe,IAAI,eAAe,KAAK,WAAW,IAAI,WAAW,KAAK,aAAa,GAAK,KAAK,SAAS,EAAE,KAAK,SAAS,IAAI,KAAK,cAAc,IAAI,cAAcD,IAAEC,IAAE,CAAC,KAAK,gBAAgB,EAAE,CAAC,KAAK,OAAO,IAAI,OAAO,KAAK,UAAU,qBAAqB4B,IAAE,KAAKC,IAAE,IAAI,CAACD,IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,YAAY,GAAK,KAAK,uBAAuB,GAAK,KAAK,WAAW,EAAE,CAAC,KAAK,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,QAAQ,IAAI,IAAI,gBAAgB,CAAC,OAAO,KAAK,WAAW,IAAI,eAAe,IAAE,CAAC,KAAK,WAAW,KAAK7B,IAAE,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS,IAAI,UAAU,IAAE,CAAC,KAAK,SAASA,IAAE,IAAI,eAAe,CAAC,OAAO,KAAK,aAAa,IAAI,cAAc,IAAE,CAAC,KAAK,aAAaA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAEC,IAAEH,IAAEI,IAAEE,IAAE,GAAG,CAACL,IAAE,OAAO,GAAYA,IAAE,SAAX,IAAK,GAAa,GAAGA,IAAE,kBAAkB,MAAM,IAAI,IAAMC,OAAKD,IAAE,OAAO,KAAK,aAAaC,IAAE,MAAM,KAAK,aAAaD,IAAE,OAAO,CAAUA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAU,IAAMI,IAAYJ,IAAE,cAA4BA,IAAE,cAAuBI,MAAT,IAAK,KAAQ,KAAK,aAAaA,KAAYJ,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAU,IAAMM,IAAYN,IAAE,UAAwBA,IAAE,UAAmBM,MAAT,IAAK,KAAQ,KAAK,SAASA,KAAYN,IAAE,cAAX,IAAK,KAAoB,KAAK,YAAYA,IAAE,aAAsBA,IAAE,yBAAX,IAAK,KAA+B,KAAK,uBAAuBA,IAAE,wBAAiCA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAS,KAAK,WAAW,KAAKA,IAAE,WAAW,CAAC,IAAMO,IAAYP,IAAE,YAA0BA,IAAE,eAA2B,OAAOO,KAAnB,UAAqB,KAAK,WAAW,OAAOA,IAAE,KAAK,WAAW,KAAKA,IAAE,CAAC,KAAK,eAAe,KAAKP,IAAE,eAAe,CAAC,KAAK,cAAc,KAAKA,IAAE,cAAc,CAAUA,IAAE,kBAAX,IAAK,KAAwB,KAAK,gBAAgBA,IAAE,gBAAgB,KAAK,KAAG,CAAC,IAAMC,IAAE,IAAI,eAAyB,OAAV,IAAE,KAAKD,IAAE,CAAQC,MAAI,EAAE,KAAK,OAAO,KAAKD,IAAE,OAAO,CAAC,KAAK,UAAU,KAAKA,IAAE,UAAU,CAAC,KAAK,MAAM,WAAW,KAAK,MAAMA,IAAE,MAAM,CAAC,IAAE,KAAK8B,IAAE,IAAI,CAAC,QAAQ,YAAY,KAAK9B,IAAE,CAAC,IAAMQ,IAAEqB,IAAE,KAAKC,IAAE,IAAI,CAAC,QAAQ,YAAY,IAAID,IAAE,KAAK,EAAE,IAAI,CAAC,CAAC,GAAGrB,IAAE,IAAI,IAAMP,OAAKO,IAAE,IAAE,aAAaP,IAAE,YAAY,KAAKD,IAAE,CAAC,GAAYA,IAAE,aAAX,IAAK,GAAiB,IAAI,IAAMC,OAAKD,IAAE,WAAW,CAAC,IAAMA,IAAE,IAAI,WAAW,IAAE,KAAKC,IAAE,CAAC,KAAK,WAAW,KAAKD,IAAE,CAAsD,GAArD,KAAK,WAAW,OAAO,IAAE,MAAIA,IAAE,SAASC,IAAE,UAAU,CAAaD,IAAE,SAAX,IAAK,GAAa,IAAI,IAAMC,OAAKD,IAAE,OAAO,CAAC,IAAMA,IAAE,IAAI,MAAM,IAAE,KAAKC,IAAE,CAAC,KAAK,OAAO,KAAKD,IAAE,CAAC,KAAK,iBAA2B6B,IAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,OAAO,EAAuB,KAAK,KAAK,kBAA4BA,IAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,QAAQ,EAAuB,KAAK,cAAc,IAAE,IAAE,IAAE,CAAC,KAAK,KAAK3B,IAAE,CAAC,IAAMH,IAAE,KAAK,WAAW,MAAM,KAAcG,IAAE,OAAb,UAAmB,OAAOA,IAAE,SAAS,OAAO,WAAWA,IAAE,SAASD,IAAED,KAAG,CAAkD,OAAjD,KAAK,KAAYD,KAAuB,QAAQ,CAAeA,KAAuB,SAAS,SAAS,IAAE,CAAC,GAAGC,IAAE,CAAC,IAAMC,IAAE,KAAK,OAAO,MAAM,KAAGA,IAAE,OAAOD,KAAG,CAAC,KAAG,KAAK,KAAKC,IAAE,QAAQ,KAAK,CAAC,IAAMD,IAAgB,OAAO,WAArB,KAAiC,WAAW,+BAA+B,CAACC,IAAED,KAAGA,IAAE,QAAQE,IAAE2B,IAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK5B,IAAE,OAAO,QAAQ,CAAC,KAAG,KAAK,KAAKC,IAAE,QAAQ,EAAE,aAAa,IAAE,CAAC,KAAK,KAAK2B,IAAE,KAAKC,IAAE,IAAI,CAAC,QAAQ,UAAU9B,IAAE,CAAC,GAAE,EAAE,IAAI,QAAQ,IAAE,IAAI,QAAQ,EAAE,IAAI,QAAQ,EAAE,SAAmC,IAAE,CAAC,IAAIC,IAAE,OAAiB,KAAK,OAAO,MAAM,KAAGA,IAAE,QAAQ,OAAOA,IAAE,QAAQ,OAAOD,KAAG,EAAgB,KAAK,OAAO,MAAM,KAAGA,IAAE,QAAQ,OAAeA,IAAE,QAAQ,OAAlB,OAAwB,EAAM,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAiB,mBAAN,KAAwB,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,UAAUC,IAAE,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAED,IAAE,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,eAAe,KAAK,UAAU,GAAK,CAAC,IAAI,CAAC,KAAK,oBAAoB,EAAE,CAAC,KAAK,oBAAoB,EAAE,CAAC,MAAM,iBAAiB,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,oBAAoB,IAAE,WAAW,EAAE,MAAMA,IAAE,SAASD,IAAE,CAAC,gBAAgB,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,oBAAoB,IAAE,iBAAiBA,IAAE,gBAAgBD,IAAE,CAAC,MAAM,CAAC,KAAK,oBAAoB,EAAE,CAAC,KAAK,oBAAoB,EAAE,CAAC,IAAI,IAAMA,OAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,OAAOA,IAAE,KAAT,CAAe,IAAK,GAAE,KAAK,oBAAoB,KAAKA,IAAE,CAAC,MAAM,IAAK,GAAE,KAAK,oBAAoB,KAAKA,IAAE,CAAC,MAAM,IAAE,MAAM,EAAE,MAAM,kBAAkB,IAAE,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,oBAAoB,IAAE,MAAMD,IAAE,CAAC,IAAI,IAAME,OAAK,KAAK,oBAAoB,IAAE,UAAUF,IAAE,EAAE,MAAME,IAAE,SAASF,IAAEC,IAAE,CAAC,MAAM,MAAM,IAAE,CAAC,IAAI,IAAMA,OAAK,KAAK,oBAAoB,IAAE,WAAW,EAAE,MAAMA,IAAE,MAAMD,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,oBAAoB,IAAE,UAAUD,IAAE,EAAE,MAAMC,IAAE,MAAMD,IAAE,GAAE,EAAE,IAAI,QAAQ,EAAE,IAAI,QAAc,SAAN,MAAM,iBAAiB,MAAM,CAAC,YAAY,IAAE,IAAE,IAAE,CAAY,GAAX,MAAMA,IAAEC,IAAE,CAAe,OAAOD,KAAlB,UAAqBA,IAAE,KAAK,EAAEA,IAAE,MAAM,CAAC,GAAYE,MAAT,IAAK,GAAM,MAAU,MAAM,iDAAiD,CAAC,KAAK,EAAEA,KAAG,WAAW,QAAQ,CAAC,OAAO,SAAS,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,MAAM,IAAE,CAAC,OAAO,SAAS,OAAOF,IAAE,EAAEA,IAAE,EAAEA,IAAE,EAAE,CAAC,OAAO,OAAO,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,SAASA,IAAEC,IAAEC,IAAE,CAAC,IAAI,IAAE,CAAC,OAAOF,eAAa,SAAS,SAAS,OAAO,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,CAAC,MAAM,IAAIA,IAAE,CAAC,MAAM,IAAE,CAAC,MAAM,MAAMA,IAAE,CAAC,eAAa,WAAW,KAAK,GAAGA,IAAE,GAAG,MAAM,CAAC,OAAO,SAAS,MAAM,KAAK,CAAC,IAAI,IAAE,CAAC,OAAO,SAAS,OAAO,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,CAAC,MAAM,IAAE,CAAC,MAAM,MAAMA,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,IAAE,CAAC,OAAO,SAAS,OAAO,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,KAAK,EAAEA,IAAE,CAAC,OAAO,IAAE,CAAC,MAAM,OAAOA,IAAE,CAAC,KAAK,GAAGA,IAAE,MAAM,IAAE,CAAC,MAAM,MAAMA,IAAE,CAAC,IAAMC,IAAED,IAAWC,IAAE,IAAX,IAAK,KAAU,KAAK,EAAEA,IAAE,GAAG,IAAI,IAAE,CAAC,OAAOD,eAAa,SAAS,SAAS,OAAO,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,KAAK,EAAEA,IAAE,EAAE,CAAC,MAAM,IAAIA,IAAE,CAAC,QAAQ,IAAE,CAAC,MAAM,QAAQA,IAAE,CAAC,eAAa,WAAW,KAAK,GAAGA,IAAE,KAAQ+B,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAShC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAe,WAAW,KAAG,EAAE,UAAUA,IAAE,QAAQA,IAAE,WAAW,EAAE,UAAUA,IAAE,QAAQA,IAAE,WAAW,IAAIA,IAAE,MAAMA,IAAE,SAAS,EAAEA,IAAE,OAAOA,IAAE,MAAM,CAACA,IAAE,OAAO,CAACA,IAAE,MAAM,EAAEA,IAAE,QAAQA,IAAE,MAAMA,IAAE,OAAO,GAAS,SAAN,KAAc,CAAC,YAAY,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAII,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEC,IAAEC,IAAEC,IAAE,KAAK,GAAGZ,IAAE,KAAK,UAAUC,IAAE,KAAK,MAAMG,IAAE,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEL,IAAE,IAAI,CAAC,KAAK,KAAK,GAAK,KAAK,MAAM,GAAK,KAAK,aAAa,EAAE,KAAK,UAAU,GAAM,KAAK,YAAY,GAAM,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,GAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,QAAQ,SAAS,KAAK,mBAAmB,GAAK,IAAMc,IAAEZ,IAAE,OAAO,WAAWa,IAAEb,IAAE,cAAcc,IAAE,qBAAqB,EAAE,KAAK,EAAE,IAAI,CAACd,IAAEa,IAAE,UAAU,CAAOE,IAAED,IAAE,MAAM,KAAKE,IAAEF,IAAE,iBAA4E,GAA3D,KAAK,MAAMC,eAAa,MAAM,cAAcA,IAAE,KAAK,GAAGC,IAAE,CAACD,IAAYd,KAAuB,MAAM,CAAC,GAAGA,IAAE,MAAM,KAAK,CAAC,IAAMH,IAAEG,IAAE,MAAM,KAAK,KAAK,MAAMH,eAAa,MAAM,cAAcA,IAAE,KAAK,GAAGkB,IAAE,CAAClB,IAAE,IAAMA,IAAE,IAAI,MAAM,IAAE,KAAKG,IAAE,MAAM,CAAC,KAAK,QAAQ,KAAK,UAAU,KAAK,cAAcH,IAAEkB,IAAE,OAAO,KAAK,UAAU,KAAK,cAAcF,IAAE,MAAME,IAAE,CAAC,IAAE,KAAKf,IAAE,CAAC,IAAE,KAAe,KAAK,WAAgC,UAAU,CAAC,KAAK,cAAc,IAAI,cAAcH,IAAEE,IAAE,CAAC,KAAK,cAAc,KAAKA,IAAE,cAAc,cAAc,CAAC,KAAK,cAAc,KAAKc,IAAE,cAAc,CAAC,KAAK,KAAyB,KAAK,WAAgC,MAAoB,KAAK,KAAK,KAAK,MAA0B,KAAK,WAAgC,OAAqB,KAAK,MAAM,KAAK,QAAQA,IAAE,IAAMG,IAAE,KAAK,QAAQ,KAAK,KAAK,KAAK,UAAU,IAAI,SAASA,IAAE,MAAM,CAAIA,IAAE,YAAW,KAAK,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,iBAAiBA,IAAE,UAAU,CAAC,KAAK,eAAejB,IAAE,QAAQiB,IAAE,UAAU,KAAK,cAAc,EAAE,KAAK,cAAc,KAAKjB,IAAE,EAAC,IAAMkB,IAAE,cAAc,KAAK,QAAQ,OAAO,MAAM,CAAC,IAAE,OAAO,aAAa,KAAK,CAAC,IAAMC,IAAE,KAAK,QAAQ,KAAKC,IAAED,IAAE,MAAME,IAAEF,IAAE,UAA6L,GAAnL,KAAK,KAAK,CAAC,OAAOA,IAAE,UAAU,OAAO,MAAM,cAAcA,IAAE,MAAM,CAACnB,IAAE,OAAO,WAAW,IAAI,YAAYoB,IAAE,CAACR,IAAE,IAAI,YAAYQ,IAAE,CAACR,IAAE,MAAM,EAAE,SAAS,cAAcO,IAAE,UAAU,MAAM,CAAC,CAAIE,IAAE,OAAO,CAA6D,OAA5D,KAAK,KAAK,OAAO,EAAE,KAAK,KAAK,MAAM,EAAE,cAAcA,IAAE,MAAM,CAAQA,IAAE,WAAT,CAAqB,IAAI,MAAM,KAAK,KAAK,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,MAAM,IAAI,SAAS,KAAK,KAAK,MAAM,cAAc,KAAK,KAAK,CAACT,IAAE,KAAK,KAAK,OAAO,WAAW,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,QAAQ,KAAK,KAAK,MAAM,KAAK,KAAK,IAAI,KAAK,KAAK,OAAO,EAAE,MAAM,KAAK,KAAK,UAAoB,KAAK,OAAO,oBAAkCZ,IAAE,OAAO,oBAAoB,IAAIA,IAAE,OAAO,aAAa,IAAE,OAAO,KAAK,KAAK,UAAU,WAAW,EAAE,KAAK,OAAO,CAAC,QAAQ,GAAM,CAAC,KAAK,SAAS,KAAK,aAAaA,IAAEH,IAAE,MAAMqB,IAAE,EAAElB,IAAE,QAAQ,CAAC,CAAC,KAAK,gBAAgB,KAAK,SAAS,MAAM,CAAC,IAAMsB,IAAEtB,IAAE,OAAO,KAAK8B,IAAE,KAAK,QAAQ,KAAK,OAAyM,OAAlM,KAAK,WAAW,CAAC,EAAER,IAAE,MAAMQ,IAAE,EAAE,IAAI,EAAER,IAAE,OAAOQ,IAAE,EAAE,IAAI,OAAO,KAAK,QAAQ,KAAK,OAAO,OAAO,CAAC,KAAK,UAAU,0BAA0B,KAAK,QAAQ,KAAK,UAAU,KAAK,SAAS,KAAK,WAAW,CAAQ,KAAK,QAAQ,KAAK,UAAzB,CAAoC,IAAI,SAAS,KAAK,QAAQ,SAAS,MAAM,IAAI,UAAU,KAAK,QAAQ,UAAU,MAAM,KAAK,gBAAgB,KAAK,mBAAmB,CAAC,KAAK,SAAS,KAAK,gBAAgB,MAAM,CAAC,KAAK,UAAU,EAAE,cAAc,KAAK,QAAQ,KAAK,MAAM,CAAC,KAAK,OAAO,OAAO,OAAO,IAAMC,IAAE/B,IAAE,UAAU,IAAE,UAAU+B,IAAE,WAAWA,IAAE,WAAW,KAAK,SAAS,EAAE,IAAE,WAAW,KAAK,SAAS,EAAE,KAAK,aAAa,KAAK,SAAS,EAAE/B,IAAE,QAAQ,KAAK,MAAM,GAAG,IAAIgC,IAAEhC,IAAE,QAAQ,IAAI,KAAK,MAAM,CAAKgC,MAAG,IAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,eAAe,KAAK,MAAM,CAAC,KAAGhC,IAAE,QAAQ,IAAI,KAAK,MAAMgC,IAAE,EAASA,KAAP,MAA4BA,IAAE,WAAoBA,KAAuB,UAAU,KAAK,CAAE,IAAMT,IAASS,KAAuB,cAAc,MAAI,KAAK,MAAMT,IAAE,KAAK,EAAE,KAAK,SAAS,GAAM,KAAK,YAAY,gBAAgB,KAAK,QAAQ,OAAO,MAAM,CAAC,IAAI,IAAMzB,OAAKE,IAAE,UAAU,UAAiB,IAAEF,IAAE,OAAZ,MAAqCW,IAAE,KAAKX,IAAE,KAAK,CAAC,IAAI,IAAMA,OAAKE,IAAE,UAAU,QAAe,IAAEF,IAAE,OAAZ,MAAqCY,IAAE,KAAKZ,IAAE,KAAK,CAASkC,KAAP,MAA4BA,IAAE,cAAeA,IAAE,aAAahC,IAAE,KAAK,CAAC,IAAI,GAAK,EAAEF,OAAKE,IAAE,SAAgB,IAAEF,IAAE,kBAAZ,MAAgDa,IAAE,KAAKb,IAAE,KAAK,CAAC,QAAQ,IAAE,CAAI,UAAK,aAAa,KAAK,WAAqC,CAApB,KAAK,UAAU,GAAK,KAAK,OAAO,QAAQ,GAAM,IAAI,GAAK,EAAEC,OAAK,KAAK,UAAU,QAAQ,IAAE,mBAAmBA,IAAE,kBAAkB,KAAKD,IAAE,CAAIA,KAAiB,KAAK,QAAQ,QAAoB,OAAZ,SAAkB,KAAK,OAAO,EAAC,KAAK,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAU,IAAI,GAAK,EAAEC,OAAKD,IAAE,QAAQ,IAAE,OAAO,mBAAmBC,IAAE,KAAKF,IAAE,CAAC,IAAE,OAAO,aAAa,KAAKA,IAAE,CAAC,cAAc,CAAC,IAAIA,IAAEC,IAAE,IAAMC,IAAY,KAAK,OAAO,OAAqB,oBAAoB,KAAK,MAAM,CAAC,GAAGA,KAAG,KAAK,OAAO,KAAK,WAAW,KAAK,KAAK,OAAO,CAAC,IAAMF,IAAE,KAAK,KAAK,YAAY,KAAK,KAAK,SAAS,EAAE,EAAED,IAAE,KAAK,KAAK,WAAW,KAAK,GAAG,EAAE,EAA+E,GAA3E,KAAK,QAAkB,KAAK,KAAK,OAAqB,GAAGA,MAAI,KAAK,GAAGC,KAAG,CAAC,EAAO,CAAC,GAAG,KAAK,UAAU,OAAO,KAAK,UAAU,GAAG,KAAK,KAAK,MAAM,OAAO,SAASE,IAAE,KAAK,KAAK,MAAM,KAAK,KAAK,KAAK,MAAM,MAAM,EAAE,OAAOA,IAAE,SAAS,CAAC,OAAO,KAAK,WAAW,EAAE,EAAE,KAAK,GAAG,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,EAAE,KAAK,SAAS,EAAE,CAAC,WAAW,CAAC,IAAIF,IAAE,OAAiB,KAAK,OAAO,QAAsB,KAAK,KAAK,MAAM,gBAAgB,CAAC,IAAIA,IAAEC,IAAE,OAA2B,KAAK,OAAO,OAAqB,oBAAoB,KAAK,YAAY,EAAgB,KAAK,cAAc,CAAC,gBAAgB,CAAC,IAAMD,IAAE,KAAK,WAAW,CAACC,IAAE,KAAK,UAAU,OAAO,KAAK,OAAO,KAAK,SAAS,GAAG,CAACD,KAAG,KAAK,SAAS,GAAG,CAACA,KAAG,KAAK,SAAS,GAAGC,IAAE,OAAOD,KAAG,KAAK,SAAS,GAAGC,IAAE,MAAMD,IAAE,WAAW,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,KAAK,UAAU,KAAK,gBAAgB,CAAC,OAAO,CAAC,KAAK,UAAU,KAAK,QAAQ,MAAM,GAAG,KAAK,KAAK,MAAM,EAAE,aAAa,IAAE,IAAE,IAAE,IAAE,EAAE,CAAC,IAAIG,IAAEE,IAAED,IAAEE,IAAE,IAAI,GAAK,EAAEP,OAAKC,IAAE,QAAQ,CAAC,IAAMA,IAAWD,IAAE,mBAAX,IAAK,GAAkD,IAAK,GAAhCA,IAAE,iBAAiBE,IAAE,KAAK,CAAQ,GAAYD,MAAT,IAAK,GAAM,OAAO,SAAS,OAAOA,IAAE,EAAEA,IAAE,EAAEE,IAAE,CAAC,IAAMK,IAAEP,IAAE,OAAO,KAAKQ,IAAE,kCAAkC,CAAC,KAAKD,IAAE,SAASN,IAAE,CAAC,CAACQ,IAAE,SAAS,OAAOD,IAAE,EAAEA,IAAE,EAAEN,IAAE,CAACQ,IAAE,KAAK,WAAW,CAACC,IAAE,KAAK,QAAQ,KAAK,SAAS,cAAc,KAAG,CAAC,WAAW,CAAC,QAAQV,IAAE,WAAW,CAAC,SAAS,oBAAoB,CAAC,MAAMQ,IAAE,EAAE,SAAST,IAAE,OAAO,KAAK,MAAM,MAAM,KAAG,IAAE,GAAGA,IAAE,OAAOU,IAAE,CAAC,EAAE,YAAY,KAAG,CAAC,WAAW,CAAC,QAAQT,IAAE,WAAW,CAAC,SAAS,kBAAkB,CAAC,MAAMQ,IAAE,EAAE,SAAST,IAAE,OAAO,KAAK,OAAO,MAAM,KAAG,IAAE,GAAGA,IAAE,OAAOU,IAAE,CAAC,EAAoO,OAAlO,cAAwBC,IAAE,MAAoBA,IAAE,QAAQ,CAAC,cAAwBA,IAAE,OAAqBA,IAAE,QAAQ,CAAC,YAAsBA,IAAE,KAAmBA,IAAE,QAAQ,CAAC,YAAsBA,IAAE,QAAsBA,IAAE,QAAQ,CAAQ,KAAK,aAAaF,IAAEV,IAAE,CAAC,KAAK,aAAaC,IAAE,IAAK,GAAEE,IAAEH,IAAE,EAAE,CAACU,IAAE,mBAAmB,CAAiD,IAAMR,IAA9C,wBAAwB,KAAK,UAAU,CAAW,MAAM,CAAOC,IAAE,KAAK,QAAQ,KAAK,GAAcA,IAAE,YAAb,UAAoCA,IAAE,YAAd,UAAwB,OAAOD,IAAE,IAAMF,IAAE,KAAK,GAAG,IAAI,cAAcG,IAAE,MAAM,MAAM,CAAOC,IAAE,KAAK,GAAG,IAAI,cAAcD,IAAE,MAAM,OAAO,CAAOG,IAAE,CAAC,KAAKF,IAAEJ,IAAE,EAAE,MAAMI,IAAEJ,IAAE,EAAE,CAAkI,OAAjI,IAAE,WAAW,IAAE,OAAO,cAAc,cAAcM,IAAE,KAAKA,IAAE,MAAM,CAAC,EAAE,IAAE,QAAmB,OAAOH,IAAE,OAApB,WAA4B,IAAE,QAAQ,WAAW,EAASD,IAAE,aAAa,IAAE,IAAE,EAAE,CAAC,IAAMC,IAAE,KAAK,QAAQ,WAAWH,IAAE,KAAK,WAAW,CAAC,GAAG,CAACG,IAAE,OAAO,MAAO,GAAM,IAAMC,IAAED,IAAE,QAAQ,GAAGC,IAAE,OAAO,MAAO,GAAM,IAAME,IAAEF,IAAE,QAAQ,GAAGE,KAAG,GAAGJ,IAAEI,IAAE,MAAU,MAAM,8CAA8C,CAAC,IAAID,IAAE,GAAM,IAAI,IAAMH,OAAK,KAAK,UAAU,UAAU,MAAM,GAAG,YAAYD,IAAEC,IAAE,SAAS,CAACF,IAAEE,IAAE,WAAW,CAAC,CAAC,IAAE,GAAK,MAAM,OAAOG,IAAE,cAAc,IAAE,IAAE,CAAC,IAAMF,IAAEF,IAAE,QAAQ,KAAK,OAAO,GAAGE,IAAE,OAAO,WAAW,EAAE,CAACA,eAAa,MAAM,cAAcA,IAAE,KAAK,GAAGD,IAAE,CAACC,IAAE,CAAC,OAAO,CAAC,IAAMF,IAAE,KAAK,QAAQ,QAAQ,MAAM,GAAGA,IAAE,OAAO,GAAG,KAAK,aAAaA,IAAE,MAAM,OAAO,IAAMC,IAAE,SAASD,IAAE,KAAK,CAACE,IAAEF,IAAE,qBAAqB,MAAM,cAAcA,IAAE,UAAU,CAACA,IAAE,UAAU,IAAI,IAAIA,IAAE,EAAEA,IAAEC,IAAE,MAAI,KAAK,UAAU,UAAU,iBAAiB,KAAKC,IAAE,GAAE,EAAE,IAAI,QAAc,MAAN,KAAW,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,SAASF,IAAE,KAAK,SAASC,MAAS,MAAN,KAAW,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,SAAS,CAAC,EAAED,IAAE,EAAEC,IAAE,GAAQ,OAAN,cAAqB,KAAK,CAAC,YAAY,IAAE,IAAE,IAAE,CAAC,MAAMD,IAAEC,IAAE,CAAC,KAAK,OAAOC,IAAE,SAAS,IAAE,CAAC,OAAO,YAAYF,IAAE,KAAK,SAAS,EAAE,KAAK,OAAO,WAAW,IAAE,CAAC,IAAMC,IAAED,IAAEE,IAAEF,IAAED,IAAE,KAAK,SAASI,IAAEH,IAAE,SAASK,IAAE,KAAK,IAAIF,IAAE,EAAEJ,IAAE,EAAE,CAACK,IAAE,KAAK,IAAID,IAAE,EAAEJ,IAAE,EAAE,CAACO,IAAE,KAAK,OAAO,GAAYJ,IAAE,SAAX,IAAK,GAAsD,OAAhCI,IAAEJ,IAAE,OAAS,KAAK,KAAKG,IAAEA,IAAED,IAAEA,IAAE,CAAY,GAAYH,IAAE,OAAX,IAAK,GAAW,CAAC,IAAMD,IAAEC,IAAE,KAAK,MAAMC,IAAED,IAAE,KAAK,OAAOF,KAAWM,IAAEL,MAAE,GAAYI,IAAEF,MAAE,EAAG,MAAM,EAAEG,IAAEC,IAAEN,KAAGI,IAAEE,IAAEJ,OAAKG,KAAGL,KAAGI,KAAGF,KAAGH,KAAGO,IAAEA,KAAG,MAAO,KAAa,UAAN,cAAwB,KAAK,CAAC,YAAY,IAAE,IAAE,IAAE,IAAE,CAAC,MAAMN,IAAEC,IAAE,CAAC,KAAK,KAAK,CAAC,OAAOF,IAAE,MAAMG,IAAE,CAAC,SAAS,IAAE,CAAC,IAAMD,IAAE,KAAK,KAAK,MAAMC,IAAE,KAAK,KAAK,OAAOH,IAAE,KAAK,SAAS,OAAOC,IAAE,GAAGD,IAAE,GAAGC,IAAE,GAAGD,IAAE,EAAEE,KAAGD,IAAE,GAAGD,IAAE,GAAGC,IAAE,GAAGD,IAAE,EAAEG,IAAE,WAAW,IAAE,CAAC,IAAMD,IAAED,IAAEE,IAAEF,IAAED,IAAE,KAAK,KAAK,MAAMI,IAAE,KAAK,KAAK,OAAOE,IAAE,KAAK,SAASD,IAAEJ,IAAE,SAAS,GAAYE,IAAE,SAAX,IAAK,GAAa,OAAOA,IAAE,WAAW,KAAK,CAAC,GAAG,CAACD,IAAE,KAAK,MAAO,GAAM,IAAMK,IAAEL,IAAE,KAAKM,IAAED,IAAE,MAAME,IAAEF,IAAE,OAAO,OAAOF,IAAE,EAAEC,IAAE,EAAEN,KAAGK,IAAE,EAAEG,IAAEF,IAAE,GAAGD,IAAE,EAAEC,IAAE,EAAEF,KAAGC,IAAE,EAAEI,IAAEH,IAAE,IAAS,WAAN,cAAyB,MAAM,CAAC,YAAY,IAAE,IAAE,IAAE,IAAE,CAAC,MAAML,IAAEC,IAAEC,IAAE,CAAC,KAAK,WAAWH,IAAE,KAAK,WAAW,OAAO,OAAO,EAAE,CAACA,IAAE,CAAC,SAAS,IAAE,CAAC,GAAG,MAAM,SAASC,IAAE,CAAC,MAAO,GAAK,IAAMC,IAAE,CAAC,EAAED,IAAE,EAAE,KAAK,WAAW,MAAM,EAAEA,IAAE,EAAE,CAAC,GAAG,MAAM,SAASC,IAAE,CAAC,MAAO,GAAK,IAAMC,IAAE,CAAC,EAAEF,IAAE,EAAE,KAAK,WAAW,MAAM,EAAEA,IAAE,EAAE,KAAK,WAAW,OAAO,CAAC,GAAG,MAAM,SAASE,IAAE,CAAC,MAAO,GAAK,IAAMH,IAAE,CAAC,EAAEC,IAAE,EAAE,EAAEA,IAAE,EAAE,KAAK,WAAW,OAAO,CAAC,OAAO,MAAM,SAASD,IAAE,CAAC,WAAW,IAAE,CAAC,GAAG,MAAM,WAAWC,IAAE,CAAC,MAAO,GAAK,IAAMC,IAAED,IAAEE,IAAEF,IAAED,IAAE,CAAC,EAAEC,IAAE,SAAS,EAAE,KAAK,WAAW,MAAM,EAAEA,IAAE,SAAS,EAAE,KAAK,WAAW,OAAO,CAAC,GAAYE,IAAE,SAAX,IAAK,GAAa,CAAC,IAAMF,IAAE,IAAI,OAAOD,IAAE,EAAEA,IAAE,EAAE,EAAEG,IAAE,OAAO,CAAC,OAAO,MAAM,WAAWF,IAAE,CAAC,GAAYC,IAAE,OAAX,IAAK,GAAW,CAAC,IAAMD,IAAE,IAAI,UAAUD,IAAE,EAAEA,IAAE,EAAE,EAAEE,IAAE,KAAK,MAAM,EAAEA,IAAE,KAAK,OAAO,CAAC,OAAO,MAAM,WAAWD,IAAE,CAAC,MAAO,KAAa,SAAN,MAAM,QAAQ,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,SAASC,IAAE,KAAK,OAAO,EAAE,CAAC,KAAK,QAAQ,GAAM,OAAO,IAAE,CAAC,IAAIA,IAAEC,IAAEH,IAAEI,IAAEE,IAA2J,OAArJ,KAAK,UAAU,SAASL,IAAE,SAAS,CAAiB,KAAK,OAAO,OAAO,KAAK,UAAU,KAAK,OAAO,KAAKA,IAAE,CAAQ,KAAK,KAAK,SAAS,KAAK,WAAW,EAAgB,IAAa,KAAK,WAAgC,OAAOA,IAAE,EAAc,KAAK,WAAgC,OAAOA,IAAE,EAAc,KAAK,WAAgC,OAAOA,IAAE,EAAc,KAAK,WAAgC,OAAOA,IAAE,GAAvP,MAAuQK,KAAxX,GAA0X,MAAM,IAAE,IAAE,IAAE,CAAC,IAAIN,IAAEI,IAAEE,IAAED,IAAE,IAAME,IAASJ,KAAgB,EAAE,CAAC,GAAG,CAACF,IAAE,WAAW,KAAK,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,IAAME,OAAK,KAAK,OAAO,CAACF,IAAE,SAASE,IAAE,SAAS,EAAE,YAAYF,IAAE,SAASE,IAAE,SAAS,CAACA,IAAE,SAAS,WAAW,GAAG,CAACD,KAAGA,IAAEC,IAAE,SAAS,GAAGI,IAAE,KAAKJ,IAAE,SAAS,CAAkQ,OAA9P,KAAK,WAAiB,IAAE,KAAK,YAAf,MAA6CH,IAAE,MAAMC,IAAEC,IAAEK,IAAE,EAAS,IAAE,KAAK,YAAf,MAA6CH,IAAE,MAAMH,IAAEC,IAAEK,IAAE,EAAS,IAAE,KAAK,YAAf,MAA6CD,IAAE,MAAML,IAAEC,IAAEK,IAAE,EAAS,IAAE,KAAK,YAAf,MAA6CF,IAAE,MAAMJ,IAAEC,IAAEK,IAAE,EAAQA,IAAE,YAAY,IAAE,IAAE,IAAE,CAAC,OAAO,KAAK,MAAM,IAAI,OAAON,IAAE,EAAEA,IAAE,EAAEC,IAAE,CAACC,IAAE,CAAC,gBAAgB,IAAE,IAAE,IAAE,IAAE,CAAC,IAAMC,IAAED,IAAEG,IAAEH,IAAE,OAAO,KAAK,MAAM,IAAI,WAAWF,IAAE,EAAEA,IAAE,EAAEC,IAAWE,IAAE,SAAX,IAAK,GAA2BE,IAAdF,IAAE,OAAO,KAAO,CAACJ,IAAE,CAAC,eAAe,IAAE,IAAE,IAAE,CAAC,OAAO,KAAK,MAAM,IAAI,UAAUC,IAAE,EAAEA,IAAE,EAAEC,IAAE,MAAMA,IAAE,OAAO,CAACC,IAAE,CAAC,WAAW,CAAC,IAAMF,IAAE,KAAK,UAAU,SAAS,EAAEC,IAAE,KAAK,UAAU,SAAS,EAAEC,IAAE,KAAK,UAAU,KAAK,MAAMH,IAAE,KAAK,UAAU,KAAK,OAAOI,IAAE,KAAK,SAAS,KAAK,UAAU,IAAI,SAAS,IAAI,UAAUH,IAAEC,IAAEC,IAAE,EAAEH,IAAE,EAAE,CAACI,IAAE,CAAC,KAAK,UAAU,IAAI,SAAS,IAAI,UAAUH,IAAEE,IAAE,EAAED,IAAEC,IAAE,EAAEH,IAAE,EAAE,CAACI,IAAE,CAAC,KAAK,UAAU,IAAI,SAAS,IAAI,UAAUH,IAAEC,IAAEF,IAAE,EAAEG,IAAE,EAAEH,IAAE,EAAE,CAACI,IAAE,CAAC,KAAK,UAAU,IAAI,SAAS,IAAI,UAAUH,IAAEE,IAAE,EAAED,IAAEF,IAAE,EAAEG,IAAE,EAAEH,IAAE,EAAE,CAACI,IAAE,CAAC,KAAK,QAAQ,KAAU,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASJ,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAgBmC,YAAN,KAAe,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,UAAUlC,IAAE,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,GAAGD,IAAE,IAAI,CAAC,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,MAAM,EAAE,KAAK,UAAU,GAAM,KAAK,WAAW,EAAE,KAAK,MAAM,CAAC,MAAM,IAAI,IAAI,UAAU,IAAI,IAAI,CAAC,KAAK,mBAAmB,IAAI,mBAAmB,EAAE,KAAK,GAAG,IAAI,CAACC,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,UAAU,CAACA,IAAE,MAAM,EAAE,CAACA,IAAE,OAAO,EAAE,EAAEA,IAAE,MAAM,EAAE,EAAEA,IAAE,OAAO,EAAE,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,UAAUD,IAAE,GAAK,CAAC,KAAK,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,YAAYA,IAAE,GAAK,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,MAAM,OAAO,oBAAoB,CAAC,IAAMD,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,IAAI,IAAME,OAAKD,IAAE,gBAAgB,KAAK,YAAY,qBAAqB,CAAC,KAAKD,IAAE,OAAO,KAAK,SAASE,IAAE,SAAS,CAAC,CAACA,IAAE,QAAQ,CAAC,YAAY,IAAE,IAAE,IAAE,CAAC,IAAyCG,IAAjC,KAAK,UAAc,cAAkB,UAAU,OAAO,MAAM,GAAGA,IAAE,EAAE,CAAC,IAAML,IAAE,KAAK,MAAM,EAAEK,IAAE,IAAE,GAAG,KAAK,eAAeL,IAAE,CAAC,OAAO,KAAK,aAAaA,IAAEC,IAAEC,IAAE,CAAC,iBAAiB,IAAE,IAAE,CAAC,IAAMA,IAAEF,IAAE,QAAQ,QAAQ,MAAMD,IAAE,qBAAqB,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,UAAUC,IAAE,QAAQ,CAACG,IAAE,SAASD,IAAE,OAAO,CAAC,IAAE,MAAM,KAAK,CAAC,MAAM,CAAC,IAAIF,IAAE,cAAc,CAAC,CAAC,CAAC,CAAe,OAAOD,IAAE,KAAK,OAAzB,SAA+B,IAAE,KAAK,OAAOI,KAAO,IAAE,KAAK,MAAM,KAAKA,IAAE,IAAE,KAAK,MAAM,KAAKA,KAAE,IAAE,KAAKF,IAAE,CAAC,IAAMI,IAAEH,IAAE,WAAW,cAAc,CAACF,IAAE,KAAK,MAAMA,IAAE,KAAK,MAAM,CAAC,EAAEI,IAAE,CAAC,EAAEJ,IAAE,SAAS,EAAE,cAAcK,IAAE,CAAC,EAAEL,IAAE,SAAS,EAAE,cAAcK,IAAE,CAAC,CAAC,OAAO,KAAK,aAAaD,IAAEL,IAAEC,IAAE,OAAO,KAAOC,IAAE,KAAK,MAAM,GAAU,IAAM,IAAE,SAAS,OAAO,cAAc,cAAcD,IAAE,SAAS,OAAOC,IAAE,SAAS,OAAO,CAAC,CAAC,IAAE,WAAWD,IAAE,WAAW,EAAE,IAAE,YAAY,GAAK,gBAAgB,CAAC,IAAE,YAAY,KAAQ,IAAI,CAAQ,KAAO,CAAC,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,SAAS,CAAC,KAAK,MAAM,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,MAAM,KAAK,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAUC,IAAE,KAAK,UAAU,OAAO,KAAK,KAAK,SAAS,IAAI,SAAS,IAAI,UAAU,CAACA,IAAE,MAAM,EAAE,CAACA,IAAE,OAAO,EAAE,EAAEA,IAAE,MAAM,EAAE,EAAEA,IAAE,OAAO,EAAE,CAAC,EAAE,CAAC,IAAE,OAAO,OAAO,CAAC,MAAM,KAAK,OAAOF,IAAE,CAAC,AAAgJ,KAAK,aAAlI,KAAK,OAAO,OAAO,IAAE,MAAIC,IAAE,SAAS,EAAED,IAAE,SAAS,GAAGA,IAAE,GAAGC,IAAE,IAAI,CAAC,KAAK,WAAW,KAAK,OAAO,KAAK,OAAO,OAAO,GAAG,SAAS,EAAiB,IAAM,IAAI,GAAK,EAAEC,OAAKD,IAAE,QAAQ,IAAE,OAAO,WAAWC,IAAEF,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,OAAO,IAAE,KAAKD,IAAE,CAAC,iBAAiB,IAAE,IAAE,CAAC,IAAME,IAAE,cAAcF,IAAE,GAAGC,IAAE,GAAG,CAACF,IAAE,GAAG,YAAYG,IAAE,CAAC,GAAG,YAAYA,IAAE,GAAOC,IAAE,KAAK,MAAM,MAAM,IAAIJ,IAAE,CAAwD,OAA3CI,MAAT,IAAK,KAAO,IAAE,WAAW,CAAC,KAAK,MAAM,MAAM,IAAIJ,IAAEI,IAAE,EAAQA,IAAE,qBAAqB,IAAE,IAAE,IAAE,CAAC,GAAG,CAACJ,IAAEI,IAAEE,KAAG,CAACL,IAAE,GAAGC,IAAE,GAAGC,IAAE,GAAG,CAAC,IAAEC,MAAI,CAACA,IAAEJ,KAAG,CAACA,IAAEI,IAAE,EAAE,IAAEE,MAAI,CAACA,IAAEF,KAAG,CAACA,IAAEE,IAAE,EAAE,IAAEA,MAAI,CAACA,IAAEN,KAAG,CAACA,IAAEM,IAAE,EAAE,IAAMD,IAAE,GAAGL,IAAE,GAAGI,IAAE,GAAGE,MAAQC,IAAE,KAAK,MAAM,UAAU,IAAIF,IAAE,CAA4D,OAA/CE,MAAT,IAAK,KAAO,IAAE,WAAW,CAAC,KAAK,MAAM,UAAU,IAAIF,IAAEE,IAAE,EAAQA,IAAE,gBAAgB,IAAE,CAAC,KAAK,mBAAmB,gBAAgBN,IAAE,CAAC,MAAM,CAAC,IAAIA,IAAE,IAAMC,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,KAAK,WAAW,EAAE,KAAK,UAAU,GAAM,KAAK,MAAM,MAAM,IAAI,IAAI,KAAK,MAAM,UAAU,IAAI,IAAI,IAAIF,IAAE,GAAM,KAAK,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,QAAQ,YAAYE,IAAE,GAAK,CAAC,KAAK,mBAAmB,MAAM,CAAC,IAAI,GAAK,EAAED,OAAKC,IAAE,QAA6E,GAA3DD,IAAE,0BAAX,IAAK,KAAgC,IAAEA,IAAE,yBAAyB,EAAKD,IAAE,MAAM,KAAK,mBAAmB,MAAM,CAAC,IAAI,GAAK,EAAEC,OAAKC,IAAE,eAAe,IAAE,KAAKA,IAAE,CAA2B,GAA1B,KAAK,oBAAoB,CAAI,CAACF,IAAE,CAAC,IAAI,IAAME,OAAKC,IAAE,UAAU,OAAO,CAAC,IAAMH,IAAEG,IAAE,UAAU,OAAOD,KAAG,IAAI,IAAIE,IAAE,KAAK,MAAME,IAAE,EAAEA,IAAaN,IAAE,QAA6B,OAAQI,IAAED,IAAE,UAAU,OAAO,MAAM,MAAI,MAAI,KAAK,YAAY,IAAK,GAAEH,IAAEE,IAAE,CAAC,IAAI,IAAID,IAAE,KAAK,MAAMA,IAAEE,IAAE,UAAU,OAAO,MAAM,MAAI,KAAK,aAAa,EAAE,KAAK,IAAE,IAAE,IAAE,IAAE,CAAC,KAAK,QAAQ,GAAK,IAAI,IAAIC,IAAE,EAAEA,IAAEH,IAAE,MAAI,KAAK,YAAmBC,KAAuB,SAASC,IAAEH,IAAE,CAAC,KAAK,QAAQ,GAAM,MAAM,QAAQ,CAAC,KAAK,OAAO,CAAC,KAAK,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAE,IAAE,IAAE,CAAC,KAAK,SAAS,KAAK,MAAM,QAAQC,IAAE,CAAC,IAAK,GAAEC,IAAEC,IAAE,CAAC,SAAS,IAAE,IAAE,EAAE,IAAE,IAAE,CAAC,GAAG,EAAEF,KAAG,GAAGA,KAAG,KAAK,OAAO,OAAO,IAAIG,IAAE,EAAE,IAAI,IAAIE,IAAEL,IAAEG,IAAEF,KAAGI,IAAE,KAAK,MAAM,MAAI,CAAC,IAAML,IAAE,KAAK,MAAMK,KAAG,GAAG,CAACL,KAAGA,IAAE,QAAQE,IAAE,SAAS,IAAE,QAAQH,IAAE,CAAC,KAAK,MAAM,OAAO,MAAI,EAAE,CAAC,IAAME,IAAE,KAAK,OAAO,QAAQD,IAAE,CAAC,KAAK,OAAO,OAAOC,IAAE,EAAE,CAAC,MAAI,EAAE,KAAK,GAAG,IAAI,CAAC,cAAc,kBAAkB,CAAC,UAAU,KAAK,UAAU,KAAK,CAAC,SAASD,IAAE,CAAC,CAAC,EAAE,eAAe,IAAE,IAAE,CAAC,KAAK,SAAS,EAAEA,IAAEC,IAAE,CAAC,YAAY,CAAC,IAAMD,IAAE,KAAK,UAAU,cAAc,IAAI,IAAMC,OAAKD,IAAE,UAAU,OAAO,KAAK,aAAaA,IAAE,UAAU,OAAOC,KAAG,EAAEA,IAAE,CAAC,KAAK,aAAaD,IAAE,UAAUA,IAAE,gBAAgB,OAAO,CAAC,MAAM,OAAO,IAAE,CAAC,IAAIC,IAAEC,IAAE,IAAMH,IAAE,KAAK,UAAUI,IAAE,EAAE,CAAC,IAAI,GAAK,EAAEH,OAAKD,IAAE,eAAe,IAAE,QAAQ,CAAC,IAAI,GAAK,EAAEG,OAAKH,IAAE,SAAgB,IAAEG,IAAE,SAAZ,MAAuCD,IAAE,KAAKC,IAAEF,IAAE,CAAC,IAAI,IAAMC,OAAK,KAAK,MAAM,CAAC,IAAMI,IAAEN,IAAE,OAAO,aAAgBM,KAAG,CAACJ,IAAE,qBAAoB,IAAE,SAAS,GAAGI,IAAE,MAAM,IAAE,SAAS,GAAGA,IAAE,QAAO,IAAE,mBAAmB,GAAM,MAAM,KAAK,mBAAmB,MAAMJ,IAAE,CAAC,IAAI,GAAK,EAAEF,OAAK,KAAK,UAAU,QAAQ,CAAC,GAAGE,IAAE,UAAU,OAAc,IAAEF,IAAE,iBAAZ,MAA+CG,IAAE,KAAKH,IAAEE,IAAED,IAAE,CAAC,IAAI,IAAME,OAAK,KAAK,OAAO,IAAE,UAAUD,IAAE,EAAEC,IAAE,KAAKD,IAAED,IAAE,CAAC,IAAE,UAAUG,IAAE,KAAKF,IAAE,CAAC,KAAK,SAAS,OAAO,IAAI,MAAMA,IAAE,aAAa,CAACA,IAAE,CAAC,CAAC,IAAI,IAAMD,OAAKG,IAAE,KAAK,OAAOH,IAAE,CAAC,MAAM,KAAK,mBAAmB,iBAAiBA,IAAE,CAAC,IAAI,IAAMC,OAAKF,IAAE,UAAU,MAAM,CAAC,IAAI,IAAMG,OAAK,KAAK,SAAS,IAAE,OAAOD,IAAED,IAAE,CAAC,IAAE,WAAWC,IAAE,UAAU,MAAM,KAAK,mBAAmB,kBAAkBA,IAAED,IAAE,CAAC,OAAOD,IAAE,OAAO,aAAa,aAAa,IAAE,IAAE,IAAE,CAAC,IAAIA,IAAE,GAAG,CAAYC,IAAE,OAAO,SAA8B,OAAQ,OAAO,IAAMG,IAAEH,IAAE,OAAOK,IAAE,KAAK,kBAAkBF,IAAE,QAAQ,CAACC,IAAED,IAAE,MAAMG,IAAEH,IAAE,MAAM,EAAEA,IAAE,MAAMC,IAAEG,IAAE,KAAK,IAAIH,IAAEE,IAAE,CAACD,IAAEJ,IAAEO,IAAE,KAAK,IAAI,KAAK,MAAM,KAAK,MAAM,QAAQ,KAAGR,IAAE,QAAQE,KAAG,CAAC,OAAO,CAAC,KAAK,MAAMC,IAAE,MAAME,IAAE,IAAEE,IAAE,KAAK,KAAK,KAAK,IAAIA,IAAEC,IAAE,CAAC,IAAK,GAAER,IAAEE,IAAE,CAACM,IAAED,KAAG,KAAK,eAAeC,IAAED,IAAEL,IAAE,CAAC,kBAAkB,IAAE,CAAC,IAAMD,IAAE,KAAK,UAAU,GAAG,CAACA,IAAE,OAAO,SAAS,CAACD,IAAE,OAAO,MAAO,GAAE,IAAME,IAAED,IAAE,OAAO,QAAQF,IAAEE,IAAE,OAAO,WAAW,OAAOC,IAAE,MAAMA,IAAE,QAAQF,IAAE,OAAOD,KAAG,EAAEC,IAAE,MAAM,aAAa,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAAC,IAAMG,IAAE,IAAI,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO,KAAK,UAAUH,IAAEC,IAAEC,IAAE,CAAKG,IAAE,GAA8K,OAAzK,MAAI,IAAEN,IAAEI,IAAE,EAAME,KAAS,KAAK,MAAM,KAAKF,IAAE,CAAC,KAAK,OAAO,KAAKA,IAAE,CAAC,KAAK,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,cAAc,gBAAgB,CAAC,UAAU,KAAK,UAAU,KAAK,CAAC,SAASA,IAAE,CAAC,CAAC,CAAQA,KAA9J,aAAsKH,IAAE,CAAC,QAAQ,KAAK,0BAA0BA,MAAI,CAAC,UAAS,GAAG,IAAI,QAAc,OAAN,KAAY,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,MAAM,CAAC,IAAMA,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAc,KAAK,WAAW,CAACC,IAAE,cAAc,OAAO,CAAC,EAAE,OAAO,iBAAiB,IAAMC,IAAE,KAAK,UAAU,cAAc,OAAO,GAAGA,MAAIA,IAAE,SAASA,IAAE,OAAO,OAAO,GAAG,OAAO,EAAgB,OAAO,WAArB,KAAiC,CAAC,WAAW,KAAK,aAAa,MAAM,CAAC,IAAMD,IAAE,WAAW,mCAAmC,CAAC,GAAGA,IAAE,CAAC,KAAK,mBAAmBA,IAAE,CAAC,IAAM,iBAAiB,CAAC,KAAK,mBAAmBA,IAAE,CAAC,IAAE,SAAS,CAAC,WAAW,IAAI,EAAWA,IAAE,mBAAX,IAAK,GAA0EA,IAAE,cAAX,IAAK,IAAmBA,IAAE,YAAY,aAAa,CAA7FA,IAAE,iBAAiB,SAAS,aAAa,OAA2D,KAAK,aAAa,EAAE,IAAMF,IAAE,KAAK,WAAW,GAAGC,IAAE,OAAO,QAAQ,CAAC,IAAMC,IAAED,IAAE,OAAO,QAAQ,IAAE,OAAO,KAAK,MAAMC,IAAE,YAAYF,IAAE,IAAE,OAAO,KAAK,OAAOE,IAAE,aAAaF,IAAE,IAAMI,IAAEF,IAAE,UAAU,KAAK,gBAAgB,cAAcE,IAAE,KAAK,QAAQ,SAAS,CAACJ,IAAE,KAAK,mBAAmB,cAAcI,IAAE,KAAK,UAAU,MAAM,CAACJ,IAAE,KAAK,SAAS,cAAcI,IAAE,KAAK,QAAQ,SAAS,CAACJ,IAAgC,KAAK,eAA3BE,IAAE,cAAc,MAA4B,KAAK,OAAOF,IAAE,aAAa,IAAE,CAAC,IAAME,IAAED,IAAE,QAAQE,IAAE,KAAK,WAAWH,IAAEE,IAAE,KAAK,SAASE,IAAEH,IAAE,OAAO,IAAE,gBAAgB,cAAcC,IAAE,KAAK,QAAQ,SAAS,CAACC,IAAE,IAAE,UAAU,cAAcD,IAAE,KAAK,MAAM,CAACC,IAAE,IAAE,UAAU,cAAcD,IAAE,KAAK,MAAM,CAACC,IAAE,IAAE,mBAAmB,cAAcD,IAAE,KAAK,UAAU,MAAM,CAACC,IAAE,IAAMG,IAAEF,IAAE,YAAY,IAAE,WAAoBJ,IAAE,aAAX,IAAK,GAAgC,IAAK,GAApBA,IAAE,WAAWG,IAAS,IAAE,SAAkBH,IAAE,WAAX,IAAK,GAA4B,IAAK,GAAlBA,IAAE,SAASG,IAAS,IAAE,SAAS,cAAcD,IAAE,KAAK,QAAQ,SAAS,CAACC,IAAE,mBAAmB,IAAE,CAAC,IAAMD,IAAE,KAAK,UAAU,cAAc,GAAGD,IAAE,QAAQ,CAAC,IAAMA,IAAEC,IAAE,OAAO,KAAK,aAAaD,IAAE,QAAQ,EAAEA,IAAE,OAAO,MAAM,EAAEA,IAAE,OAAO,OAAO,OAAO,KAAK,aAAa,IAAO,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAiL,GAAG,UAAU,GAAG,CAAC,SAAS,KAAG,CAAC,IAAMC,IAAED,IAAE,SAAS,MAAM,CAA+B,MAA9B,KAAE,OAAOC,IAAE,OAAO,KAAK,GAAG,IAAWA,KAAG,SAAS,GAAG,WAAW,GAAG,CAAOmC,YAAN,KAAe,CAAC,YAAY,IAAE,IAAE,IAAE,CAAC,KAAK,GAAGnC,IAAE,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,KAAK,GAAGD,IAAE,IAAI,CAAC,KAAK,SAAS,IAAI,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,GAAK,KAAK,QAAQ,GAAM,KAAK,UAAU,GAAM,KAAK,OAAO,GAAK,KAAK,cAAc,EAAE,KAAK,QAAQ,IAAI,KAAK,WAAW,GAAM,GAAG,KAAK,GAAGE,IAAE,IAAI,CAAC,KAAK,sBAAsBA,IAAE,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,KAAK,OAAO,IAAI,OAAO,KAAK,CAAC,KAAK,UAAU,IAAIiC,YAAU,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,aAAa,IAAI,aAAa,KAAK,CAAC,KAAK,eAAe,IAAI,IAAI,KAAK,cAAc,CAAC,MAAM,CAAC,SAAS,GAAM,OAAO,GAAM,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,KAAK,GAAG,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,eAAe,KAAK,CAAC,IAAI,CAAe,OAAO,qBAArB,KAA2C,sBAAsB,GAAG,KAAK,GAAG,IAAI,sBAAsB,KAAG,KAAK,oBAAoBnC,IAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,iBAAiB,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,eAAe,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,gBAAgB,IAAE,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAMC,IAAE,KAAK,cAAc,QAAQ,GAAG,CAACA,IAAE,OAAO,IAAM,qBAAqB,IAAE,IAAE,MAAI,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAME,IAAE,KAAK,OAAO,WAAWE,IAAE,CAAC,EAAEH,IAAE,EAAEC,IAAE,EAAED,IAAE,EAAEC,IAAE,CAA8C,IAAEF,IAA7C,KAAK,UAAU,SAAS,YAAYI,IAAEN,IAAEI,IAAE,CAAO,EAAQ,aAAa,KAAG,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAMF,IAAED,IAAoD,oBAAoBA,IAApE,CAAC,EAAEC,IAAE,SAASA,IAAE,QAAQ,EAAEA,IAAE,SAASA,IAAE,QAAQ,CAAyB,EAAE,EAAQ,sBAAsB,CAAI,WAAW,KAAK,GAAE,IAAE,GAAK,IAAE,KAAc,qBAAqB,CAAC,WAAW,KAAK,GAAG,IAAE,KAAa,gBAAgB,KAAG,CAAC,IAAIA,IAAEE,IAAEE,IAAE,GAAG,WAAW,KAAK,CAAC,CAAC,GAAGH,KAAG,CAACH,IAAE,CAAC,IAAMG,IAAEF,IAAMD,IAAEG,IAAE,QAAQA,IAAE,QAAQ,OAAO,GAAG,GAAG,CAACH,MAAG,IAAEG,IAAE,eAAeA,IAAE,eAAe,OAAO,GAAM,CAACH,KAAE,OAAO,IAAMK,IAAY,KAAK,OAAO,SAA8B,uBAAuB,CAA4J,oBAAoBJ,IAA7K,CAAC,EAAED,IAAE,SAA0BK,KAAuB,MAAoB,GAAG,EAAEL,IAAE,SAA0BK,KAAuB,KAAmB,GAAG,CAAyB,KAAK,IAAIL,IAAE,QAAQA,IAAE,QAAQ,CAAC,CAAC,IAAE,GAAM,IAAE,KAAc,uBAAuB,CAAI,WAAW,KAAK,GAAE,IAAE,GAAM,IAAE,KAAYG,IAAE,GAAUH,IAAE,GAAM,IAAE,iBAAiB,QAAQ,aAAa,CAAC,IAAE,iBAAiB,aAAa,kBAAkB,CAAC,IAAE,iBAAiB,YAAY,iBAAiB,CAAC,IAAE,iBAAiB,WAAW,gBAAgB,CAAC,IAAE,iBAAiB,cAAc,mBAAmB,CAAC,QAAQ,IAAE,IAAE,IAAE,GAAM,CAAwH,MAApH,CAAC,WAAW,KAAK,EAAE,CAACG,KAAG,KAAK,eAAe,IAAIF,IAAE,CAAQ,IAAM,KAAK,eAAe,IAAIA,IAASC,KAAgB,GAAG,CAAQ,IAAK,SAAS,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAK,OAAO,SAAS,CAAC,IAAI,GAAK,EAAED,OAAK,KAAK,QAAQ,IAAE,SAASA,IAAE,QAAQ,KAAK,CAAC,IAAI,IAAMA,OAAK,KAAK,QAAQ,MAAM,CAAC,KAAK,QAAQ,OAAOA,IAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,QAAQ,KAAK,CAAC,KAAK,UAAU,GAAK,IAAMA,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAACC,IAAED,IAAE,WAAW,KAAGA,MAAI,MAAM,CAAC,KAAG,GAAGA,IAAE,OAAOC,IAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,qBAAqB,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,IAAE,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAIA,IAAED,IAAE,KAAK,mBAAmB,SAAS,EAAE,KAAM,MAAG,CAAC,AAAgC,OAA1B,KAAK,cAAc,IAAK,GAAI,IAAM,MAAM,KAAK,aAAa,UAAUA,IAAE,GAAG,CAAC,qBAAqB,CAAC,OAAO,KAAK,UAAU,KAAK,cAAc,IAAK,GAAE,EAAE,CAAC,YAAY,IAAE,IAAE,IAAE,CAAC,IAAID,IAAE,OAAiB,KAAK,OAAO,SAA8B,OAAOC,IAASC,KAAgB,YAAYC,IAAE,CAAC,UAAU,IAAE,CAAC,KAAK,YAAYF,IAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,KAAK,YAAY,WAAW,KAAK,CAAC,gBAAgB,IAAE,CAAC,GAAG,WAAW,KAAK,CAAC,CAAC,KAAK,UAAU,gBAAgBA,IAAE,CAAC,IAAI,GAAK,EAAEC,OAAK,KAAK,QAAQ,IAAE,iBAAiBA,IAAE,gBAAgBD,IAAE,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAMA,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,oBAAoB,CAAC,IAAI,IAAMC,OAAKD,IAAE,CAAC,IAAMA,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,eAAeC,IAAE,CAAC,KAAG,KAAK,QAAQ,IAAIA,IAAED,IAAE,CAAC,GAAG,KAAK,GAAG,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,sBAAsB,KAAK,cAAc,CAAC,IAAI,CAAC,KAAK,cAAc,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,OAAO,MAAM,CAAC,KAAK,OAAO,MAAM,CAAC,KAAK,qBAAqB,CAAC,KAAK,OAAO,gBAAgB,CAAC,KAAK,OAAO,QAAQ,CAAC,KAAK,QAAQ,KAAK,cAAc,QAAQ,KAAK,SAAS,cAAc,KAAK,cAAc,SAAS,CAAC,KAAK,SAAS,EAAE,KAAK,SAAS,KAAK,cAAc,SAAS,EAAE,KAAK,cAAc,SAAS,IAAI,IAAMC,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,oBAAoB,KAAK,CAAC,IAAI,GAAK,CAACD,IAAEE,OAAKD,IAAE,KAAK,QAAQ,IAAID,IAAEE,IAAE,CAAC,IAAI,GAAK,EAAEF,OAAK,KAAK,QAAQ,IAAE,MAAM,MAAMA,IAAE,KAAK,KAAK,CAAC,IAAI,GAAK,EAAEA,OAAK,KAAK,QAAQ,IAAE,KAAKA,IAAE,KAAK,KAAK,cAAc,CAAUA,IAAE,YAAX,IAAK,IAAiB,MAAMA,IAAE,UAAU,KAAK,cAAc,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,gBAAgB,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,UAAU,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAI,GAAK,EAAEA,OAAK,KAAK,QAAiBA,IAAE,iBAAX,IAAK,IAAsBA,IAAE,gBAAgB,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,iBAAiB,CAAC,UAAU,KAAK,CAAC,CAAC,MAAM,UAAU,IAAE,CAAI,WAAW,KAAK,GAAE,KAAK,aAAaA,IAAE,MAAM,KAAK,SAAS,EAAE,OAAO,CAAC,GAAG,WAAW,KAAK,GAAc,KAAK,qBAAd,IAAK,KAA6B,iBAAiB,CAAC,KAAK,mBAAmB,CAAC,OAAO,KAAK,oBAAsB,CAAC,KAAK,QAAO,CAAC,IAAI,GAAK,EAAEA,OAAK,KAAK,QAAQ,IAAE,OAAOA,IAAE,OAAO,CAAC,KAAK,aAAa,KAAK,OAAO,IAAM,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,kBAAkB,CAAC,UAAU,KAAK,CAAC,EAAG,KAAK,IAAE,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAMC,IAAE,KAAK,QAAQD,IAAE,GAAG,CAAC,KAAK,YAAY,KAAK,cAAc,SAAS,CAAkC,GAAjC,AAAc,KAAK,SAAO,GAAUC,IAAE,IAAI,GAAK,EAAED,OAAK,KAAK,QAAQ,IAAE,MAAMA,IAAE,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,gBAAgB,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,KAAKC,KAAG,GAAM,MAAM,KAAK,WAAW,GAAM,MAAM,SAAS,CAAC,GAAG,WAAW,KAAK,CAAc,OAAZ,KAAK,MAAM,CAAQ,KAAK,OAAO,CAAE,MAAM,OAAO,CAAC,GAAG,WAAW,KAAK,CAA6D,OAA3D,GAAG,KAAK,GAAG,qBAAqB,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAQ,KAAK,SAAS,CAAE,SAAS,IAAE,IAAE,IAAE,CAAC,WAAW,KAAK,EAAE,KAAK,QAAQD,IAAEC,IAAEC,IAAE,CAAC,QAAQ,IAAE,IAAE,IAAE,CAAC,GAAG,CAACF,KAAG,CAAC,WAAW,KAAK,CAAC,OAAO,IAAMD,IAAE,OAAO,OAAO,EAAE,CAAC,GAAG,CAAC,GAAgB,OAAOC,KAApB,WAAuB,IAAE,SAASA,IAAE,MAAI,IAAE,KAAKC,KAAG,MAAI,IAAE,OAAOC,SAAO,CAAC,IAAMD,IAAEF,IAAE,IAAE,SAASC,IAAE,UAAUC,IAAE,SAAS,IAAE,KAAKD,IAAE,MAAMC,IAAE,KAAK,IAAE,OAAOD,IAAE,QAAQC,IAAE,OAAO,KAAK,QAAQ,GAAGF,IAAE,GAAK,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,WAAW,KAAK,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,KAAK,QAAQ,GAAK,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,cAAc,mBAAmB,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,cAAc,QAAQ,CAAC,IAAI,GAAK,EAAEC,OAAK,KAAK,QAAiBA,IAAE,aAAX,IAAK,GAA+CA,IAAE,QAAX,IAAK,IAAaA,IAAE,OAAO,CAAhD,MAAMA,IAAE,YAAY,CAA6B,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,mBAAmB,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,MAAM,EAAE,MAAM,CAAC,IAAIA,IAAE,GAAG,KAAK,SAAS,WAAW,KAAK,CAAC,CAAC,KAAK,WAAW,GAAK,KAAK,QAAQ,GAAM,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,OAAO,CAAC,KAAK,UAAU,OAAO,CAAC,KAAK,OAAO,OAAO,CAAC,KAAK,cAAc,mBAAmB,aAAa,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,UAAU,KAAK,cAAc,QAAQ,CAAC,IAAI,GAAK,EAAEC,OAAK,KAAK,SAAgB,IAAEA,IAAE,OAAZ,MAAqCD,IAAE,KAAKC,IAAE,CAAC,IAAI,IAAMD,OAAK,KAAK,QAAQ,MAAM,CAAC,KAAK,QAAQ,OAAOA,IAAE,CAAC,GAAG,KAAK,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAc,mBAAmB,CAAC,UAAU,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,cAAc,WAAW,EAAE,CAAC,IAAMA,IAAE,KAAK,cAAc,cAAc,KAAK,OAAO,KAAK,MAAM,KAAK,OAAO,WAAW,GAAG,KAAK,GAAG,IAAI,CAAC,CAAqH,OAApH,KAAK,cAAc,SAAS,KAAK,aAAa,CAAI,KAAK,oBAAoBA,IAAgD,IAA7C,KAAK,mBAAmBA,IAAS,IAAkB,oBAAoB,IAAE,CAAC,GAAG,WAAW,KAAK,EAAE,KAAK,cAAc,uBAAuB,IAAI,IAAMC,OAAKD,IAAE,IAAE,SAAS,KAAK,cAAc,UAAUC,IAAE,eAAe,KAAK,KAAK,KAAK,QAAQ,GAAE,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAY,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASF,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAkR,OAAN,KAAY,CAAC,YAAY,IAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,KAAK,GAAGA,IAAE,IAAI,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAMD,IAAE,CAAC,MAAMG,IAAE,OAAO,GAAM,CAAoH,OAAxG,OAAOF,KAAlB,SAAoB,IAAE,MAAMA,IAAE,IAAE,QAAQA,IAAa,OAAOC,KAAlB,SAAoB,IAAE,MAAMA,IAAE,IAAE,QAAeA,KAAgBF,IAAE,QAAe,KAAK,YAAYA,IAAE,CAAC,MAAM,SAAS,IAAE,IAAE,IAAE,CAAC,IAAIA,IAAEI,IAAsD,OAAtC,OAAOF,KAAlB,UAA8BA,MAAT,IAAK,GAAM,IAAED,KAAO,IAAEA,IAAE,IAAEC,KAAS,KAAK,kBAAkB,CAAC,MAAME,IAAE,IAAIJ,IAAE,MAAMG,IAAE,OAAO,GAAK,CAAC,CAAC,MAAM,YAAY,IAAE,CAAC,IAAID,IAAEC,IAAEH,IAAE,IAAMI,IAAYH,IAAE,OAAqB,cAAc,KAAK,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,MAAMK,IAAE,IAAID,IAAE,OAAOG,KAAGP,IAAEQ,IAAED,IAAE,MAAM,eAAeH,IAAEC,IAAE,CAACL,IAAE,QAAYS,IAAYT,IAAE,SAAuB,SAAS,eAAeG,IAAE,CAAKM,MAAG,IAAE,SAAS,cAAc,MAAM,CAAC,IAAE,GAAGN,KAAU,IAAE,SAAS,cAAc,OAAO,GAAxC,MAA6DJ,IAAE,OAAOU,IAAE,EAAC,IAAMC,IAAEF,eAAa,MAAM,cAAcA,IAAEH,IAAE,CAACG,IAAEG,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAACC,IAAED,IAAE,WAAW,KAAGX,IAAE,KAAKG,KAAG,CAAC,GAAGS,KAAG,EAAE,CAAC,IAAMZ,IAAE,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQY,IAAE,CAAIZ,KAAG,CAACA,IAAE,YAAW,IAAE,SAAS,CAAC,IAAE,OAAOY,IAAE,EAAE,EAAE,IAAIC,IAAE,GAAcJ,IAAE,QAAQ,aAAa,GAAlC,SAAoC,IAAEA,IAAE,IAAE,QAAQH,KAAG,YAAY,CAAC,IAAMN,IAAES,IAAE,qBAAqB,SAAS,CAAIT,IAAE,QAAQ,IAAEA,IAAE,GAAG,IAAE,QAAQM,KAAG,UAAa,IAAE,SAAS,cAAc,SAAS,CAAC,IAAE,QAAQA,KAAG,OAAO,IAAE,YAAYO,IAAE,EAAE,IAAE,MAAM,QAAQ,IAAE,MAAM,MAAM,QAAQ,IAAE,MAAM,SAAS,IAAE,MAAM,OAAO,QAAQ,IAAMC,IAAE,IAAIsB,YAAU,GAAG,KAAK,GAAG,IAAI,CAACjC,IAAEO,IAAE,CAAuE,OAAtE,KAAG,EAAEC,IAAE,OAAOC,IAAE,EAAEE,IAAE,CAACH,IAAE,KAAKG,IAAE,CAAC,IAAE,OAAO,WAAWD,IAAE,CAAC,MAAMC,IAAE,OAAO,CAAQA,IAAE,MAAM,kBAAkB,IAAE,CAAC,OAAO,KAAK,YAAYd,IAAE,CAAC,MAAM,IAAI,IAAE,IAAE,IAAE,IAAE,CAAC,IAAMG,IAAE,CAAC,MAAMJ,IAAE,OAAO,GAAM,CAAqK,OAAzJ,OAAOC,KAAlB,SAAoB,IAAE,MAAMA,IAAE,IAAE,QAAQA,IAAE,eAAa,YAAY,IAAE,QAAQC,IAAE,IAAE,QAAQA,IAAa,OAAOC,KAAlB,SAAoB,IAAE,MAAMA,IAAE,IAAE,QAAeA,KAAgBC,IAAE,QAAe,KAAK,YAAYA,IAAE,CAAC,MAAM,QAAQ,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIA,IAAEE,IAAED,IAAEE,IAAgE,OAA3DN,eAAa,aAAa,IAAEA,IAAE,IAAEC,IAAE,IAAEC,MAAO,IAAEF,IAAE,IAAEC,IAAE,IAAEC,IAAE,IAAEH,KAAS,KAAK,kBAAkB,CAAC,MAAMM,IAAE,IAAIF,IAAE,MAAMC,IAAE,QAAQE,IAAE,OAAO,GAAK,CAAC,GAAE,GAAG,IAAI,QAAY,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASP,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAiB,QAAN,KAAa,CAAC,YAAY,IAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,KAAK,GAAGF,IAAE,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,KAAK,wBAAwB,IAAI,IAAI,KAAK,mBAAmB,IAAI,IAAI,KAAK,qBAAqB,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,cAAc,IAAE,IAAE,CAAC,KAAK,wBAAwB,IAAIA,IAAEC,IAAE,CAAC,iBAAiB,IAAE,IAAE,CAAC,KAAK,mBAAmB,IAAID,IAAEC,IAAE,CAAC,mBAAmB,IAAE,IAAE,CAAC,KAAK,qBAAqB,IAAID,IAAEC,IAAE,CAAC,iBAAiB,IAAE,IAAE,CAAC,KAAK,iBAAiBD,IAAE,EAAE,KAAK,eAAe,IAAIA,IAAEC,IAAE,CAAC,UAAU,IAAE,CAAC,KAAK,UAAUD,IAAE,GAAG,EAAE,KAAK,QAAQ,KAAKA,IAAE,CAAC,UAAU,IAAE,IAAE,IAAE,GAAM,CAAC,CAACE,KAAG,KAAK,UAAUF,IAAE,EAAE,KAAK,QAAQ,IAAIA,IAAEC,IAAE,CAAC,eAAe,IAAE,IAAE,CAAC,KAAK,eAAeD,IAAE,EAAE,KAAK,QAAQ,IAAIA,IAAEC,IAAE,CAAC,QAAQ,IAAE,CAAC,KAAK,SAAS,OAAOD,IAAE,CAAC,KAAK,OAAO,OAAOA,IAAE,CAAC,KAAK,YAAY,OAAOA,IAAE,CAAC,oBAAoB,IAAE,CAAC,IAAMC,IAAE,IAAI,IAAI,IAAI,IAAMC,OAAK,KAAK,QAAQ,IAAE,YAAYF,IAAE,cAAc,EAAEC,IAAE,IAAIC,IAAE,GAAGA,IAAE,UAAUF,IAAE,CAAC,CAAC,OAAOC,IAAE,eAAe,IAAE,IAAE,GAAM,CAAC,IAAIC,IAAE,KAAK,YAAY,IAAIF,IAAE,CAAiG,OAA7F,CAACE,KAAGD,OAAG,IAAE,CAAC,GAAG,KAAK,wBAAwB,QAAQ,CAAC,CAAC,KAAK,KAAGA,IAAED,IAAE,EAAE,CAAC,KAAK,YAAY,IAAIA,IAAEE,IAAE,EAAQA,IAAE,UAAU,IAAE,IAAE,GAAM,CAAC,IAAIA,IAAE,KAAK,OAAO,IAAIF,IAAE,CAAuF,OAAnF,CAACE,KAAGD,OAAG,IAAE,CAAC,GAAG,KAAK,mBAAmB,QAAQ,CAAC,CAAC,KAAK,KAAGA,IAAED,IAAE,EAAE,CAAC,KAAK,OAAO,IAAIA,IAAEE,IAAE,EAAQA,IAAE,iBAAiB,IAAE,CAAC,OAAO,KAAK,eAAe,IAAIF,IAAE,CAAC,UAAU,IAAE,CAAC,OAAO,KAAK,QAAQ,MAAM,KAAGC,IAAE,KAAKD,KAAG,CAAC,UAAU,IAAE,CAAC,OAAO,KAAK,QAAQ,IAAIA,IAAE,CAAC,eAAe,IAAE,CAAC,OAAO,KAAK,QAAQ,IAAIA,IAAE,CAAC,oBAAoB,CAAC,OAAO,KAAK,QAAQ,MAAM,CAAC,YAAY,IAAE,IAAE,GAAM,CAAC,IAAIE,IAAE,KAAK,SAAS,IAAIF,IAAE,CAA2F,OAAvF,CAACE,KAAGD,OAAG,IAAE,CAAC,GAAG,KAAK,qBAAqB,QAAQ,CAAC,CAAC,KAAK,KAAGA,IAAED,IAAE,EAAE,CAAC,KAAK,SAAS,IAAIA,IAAEE,IAAE,EAAQA,IAAE,YAAY,IAAE,IAAE,CAAC,IAAI,IAAMA,OAAK,KAAK,QAAQ,IAAE,YAAYF,IAAEC,IAAE,CAAC,qBAAqB,IAAE,IAAE,GAAGC,IAAE,CAAC,IAAMH,IAAE,KAAK,SAAS,IAAIC,IAAE,CAAC,GAAGD,IAAE,IAAI,IAAMC,OAAKD,IAAE,IAAE,aAAaC,IAAE,YAAYC,IAAE,GAAGC,IAAE,GAAE,GAAG,IAAI,QAAY,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASH,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACI,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYD,MAAN,IAAQI,IAAE,KAAKH,IAAEE,IAAE,CAACC,IAAE,IAAE,MAAMD,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,GAAW,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBD,MAAIC,KAAG,CAACF,IAAE,CAACE,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKC,IAAE,CAACD,IAAEA,IAAE,MAAME,IAAE,IAAID,IAAE,EAAyB,OAAN,KAAY,CAAC,aAAa,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,IAAI,KAAK,IAAK,GAAE,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,gBAAgB,IAAI,CAAC,GAAG,KAAK,GAAG,GAAM,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,QAAQ,KAAK,CAAC,iBAAiB,IAAE,IAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiBA,IAAEC,IAAE,CAAC,MAAM,cAAc,IAAE,IAAE,CAAC,KAAK,QAAQ,cAAcD,IAAEC,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,SAAS,IAAE,IAAE,CAAC,KAAK,QAAQ,iBAAiBD,IAAEC,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,mBAAmB,IAAE,IAAE,CAAC,KAAK,QAAQ,mBAAmBD,IAAEC,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,iBAAiB,IAAE,IAAE,CAAC,KAAK,QAAQ,iBAAiBD,IAAEC,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,UAAU,IAAE,CAAC,KAAK,QAAQ,UAAUD,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,UAAU,IAAE,IAAE,IAAE,GAAM,CAAC,KAAK,QAAQ,UAAUA,IAAEC,IAAEC,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,MAAM,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIG,IAAE,IAAe,OAAOJ,KAApB,WAAsB,CAAC,YAAYF,IAAE,QAAQI,IAAE,KAAKF,IAAE,KAAKC,IAAE,CAACD,IAAE,KAAK,QAAQ,eAAeD,IAAEK,IAAE,CAAC,MAAM,KAAK,SAAS,CAAC,cAAc,IAAE,IAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,cAAcL,IAAEC,IAAE,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQ,IAAE,CAAC,IAAMA,IAAE,KAAK,KAAK,CAACC,IAAED,IAAED,KAAG,GAAGE,KAAG,CAACA,IAAE,UAAU,OAAOA,IAAE,IAAE,OAAOF,IAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,EAAE,GAAG,KAAK,GAAG,GAAK,IAAI,CAAC,MAAM,KAAK,IAAE,IAAE,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAKA,IAAEC,IAAE,CAAC,MAAM,cAAc,IAAE,IAAE,IAAE,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,KAAKD,IAAEC,IAAEC,IAAE,CAAC,MAAM,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,SAASF,IAAEC,IAAEC,IAAE,CAAC,MAAM,SAAS,CAAC,IAAI,IAAMF,OAAK,KAAK,KAAK,CAAC,MAAMA,IAAE,SAAS,CAAC,oBAAoB,IAAE,IAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,oBAAoBA,IAAEC,IAAE,CAAC,MAAM,IAAI,IAAE,IAAE,IAAE,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,IAAID,IAAEC,IAAEC,IAAE,CAAC,MAAM,QAAQ,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,QAAQF,IAAEC,IAAEC,IAAEH,IAAE,CAAC,kBAAkB,IAAE,CAAC,IAAME,IAAE,KAAK,KAAK,CAAC,GAAG,CAACA,IAAE,OAAO,MAAU,MAAM,yFAAyF,CAAC,IAAI,IAAMC,OAAKD,IAAE,IAAE,gBAAgBD,IAAE,GAAE,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAQ,GAAG,IAAI,QAAc,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,aAAa,MAAM,YAAY,IAAE,CAAC,IAAIC,IAAE,IAAgBF,IAARC,IAAE,MAAoB,KAAmBA,IAAE,MAAM,GAAYD,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,GAAQ,OAAO,SAASA,IAAE,CAAC,iBAAiB,IAAE,CAAC,IAAIE,IAAE,IAAgBF,IAARC,IAAE,MAAoB,KAAmBA,IAAE,MAAM,GAAYD,IAAE,IAAX,IAAK,IAAkBA,IAAE,IAAX,IAAK,GAAQ,OAAO,SAAS,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,CAAC,CAAC,YAAY,IAAE,CAAC,GAAG,CAACC,IAAE,WAAW,MAAM,CAAC,OAAO,IAA6EE,IAArE,qEAAyE,KAAKF,IAAE,CAAC,OAAOE,IAAE,WAAW,CAAC,EAAEA,IAAE,OAAO,EAAE,WAAWA,IAAE,GAAG,CAAC,EAAE,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAK,KAAS,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,aAAa,MAAM,YAAY,IAAE,CAAC,IAAID,IAAE,IAAgBF,IAARC,IAAE,MAAoB,KAAmBA,IAAE,MAAM,GAAYD,IAAE,IAAX,IAAK,GAAQ,OAAOA,IAAE,iBAAiB,IAAE,CAAC,IAAIE,IAAE,IAAgBF,IAARC,IAAE,MAAoB,KAAmBA,IAAE,MAAM,GAAYD,IAAE,IAAX,IAAK,GAAQ,MAAM,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,EAAE,cAAcA,IAAE,EAAE,CAAC,CAAC,YAAY,IAAE,CAAC,GAAG,CAACC,IAAE,WAAW,KAAK,aAAa,CAAC,OAAO,IAA2EE,IAAnE,mEAAuE,KAAKF,IAAE,CAAC,OAAOE,IAAE,CAAC,EAAEA,IAAE,OAAO,EAAE,WAAWA,IAAE,GAAG,CAAC,EAAE,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,EAAE,SAASA,IAAE,GAAG,GAAG,CAAC,CAAC,IAAK,KAAS,uBAAN,KAA4B,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUF,IAAE,KAAK,KAAK,IAAS,wBAAN,KAA6B,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,KAAK,IAAS,GAAG,IAAI,gBAAgB,GAAG,IAAI,gBAAgB,gBAAgB,MAAM,GAAG,CAAC,gBAAgB,MAAM,GAAG,CAAO,GAAG,IAAI,OAAO,GAAG,MAAM,oDCAxy/FqC,IAAE,EAAE,CAAC,IAAE,SAAS,MAAM,IAAE,IAAE,CAAC,GAAGA,MAAIC,IAAE,MAAO,GAAK,GAAGD,KAAGC,KAAa,OAAOD,KAAjB,UAA8B,OAAOC,KAAjB,SAAmB,CAAC,GAAGD,IAAE,cAAcC,IAAE,YAAY,MAAO,GAAM,IAAIC,IAAEC,IAAEC,IAAE,GAAG,MAAM,QAAQJ,IAAE,CAAC,CAAY,GAAX,IAAEA,IAAE,OAAUE,KAAGD,IAAE,OAAO,MAAO,GAAM,IAAI,IAAEC,IAAM,QAAJ,GAAS,GAAG,CAAC,MAAMF,IAAEG,KAAGF,IAAEE,KAAG,CAAC,MAAO,GAAM,MAAO,GAAK,GAAGH,IAAE,cAAc,OAAO,OAAOA,IAAE,SAASC,IAAE,QAAQD,IAAE,QAAQC,IAAE,MAAM,GAAGD,IAAE,UAAU,OAAO,UAAU,QAAQ,OAAOA,IAAE,SAAS,GAAGC,IAAE,SAAS,CAAC,GAAGD,IAAE,WAAW,OAAO,UAAU,SAAS,OAAOA,IAAE,UAAU,GAAGC,IAAE,UAAU,CAA6B,GAA5B,IAAE,OAAO,KAAKD,IAAE,CAAC,IAAEI,IAAE,OAAUF,MAAI,OAAO,KAAKD,IAAE,CAAC,OAAO,MAAO,GAAM,IAAI,IAAEC,IAAM,QAAJ,GAAS,GAAG,CAAC,OAAO,UAAU,eAAe,KAAKD,IAAEG,IAAED,KAAG,CAAC,MAAO,GAAM,IAAI,IAAED,IAAM,QAAJ,GAAS,CAAC,IAAIG,IAAED,IAAED,KAAG,IAAeE,MAAX,UAAc,CAACL,IAAE,WAAW,CAAC,MAAMA,IAAEK,KAAGJ,IAAEI,KAAG,CAAC,MAAO,GAAM,MAAO,GAAK,OAAOL,MAAIA,KAAGC,MAAIA,KAAOA,IAAED,kBAAiBC,qECA1vB,cAAiD,aAAqC,CAAMK,IAAE,cAAoB,UAAN,MAAM,kBAAkBC,CAAC,CAAC,YAAY,IAAE,CAAC,MAAMC,IAAE,CAAC,KAAK,MAAM,CAAC,KAAK,GAAM,QAAQ,IAAK,GAAE,CAAC,SAAS,CAAI,KAAK,MAAM,UAAS,KAAK,MAAM,QAAQ,SAAS,CAAC,KAAK,SAAS,CAAC,QAAQ,IAAK,GAAE,CAAC,EAAE,sBAAsB,IAAE,CAAC,MAAM,CAACC,cAAED,IAAE,KAAK,MAAM,CAAC,oBAAoB,CAAC,KAAK,SAAS,CAAC,aAAa,CAAC,KAAK,SAAS,CAAC,UAAU,CAAC,MAAM,aAAa,GAAG,CAAC,mBAAmB,EAAE,SAAS,CAAC,KAAK,MAAM,MAAM,MAAM,KAAK,MAAM,KAAKE,GAAE,CAAC,KAAK,SAAS,CAAC,KAAK,GAAK,EAAE,SAAS,CAAC,MAAM,KAAK,eAAe,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,SAAS,CAAC,QAAQ,CAAC,GAAK,CAAC,MAAMH,IAAE,OAAOG,IAAE,UAAUD,IAAE,gBAAgBH,IAAE,GAAGK,KAAG,KAAK,MAAM,OAAOH,EAAE,cAAc,MAAM,CAAC,UAAUC,IAAE,GAAGE,IAAE,CAACH,EAAE,cAAc,SAAS,CAAC,UAAUF,IAAE,MAAM,OAAO,OAAO,OAAO,OAAO,EAAE,CAAC,KAAK,MAAM,MAAM,CAAC,CAAC,MAAMC,IAAE,OAAOG,IAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,KAAK,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,eAAe,CAAC,IAAIF,IAAED,IAAEE,IAAE,GAAG,CAAC,KAAK,MAAM,KAAK,OAAO,IAAM,GAAG,KAAM,MAAG,CAAC,KAAK,MAAM,YAAY,KAAK,MAAM,UAAU,QAAQD,KAAG,KAAK,SAAS,CAAC,QAAQA,IAAE,CAAC,CAAC,KAAK,MAAM,QAAQ,MAAM,KAAK,MAAM,OAAOA,IAAE,EAAQG,IAAsB,KAAK,MAAM,IAAkB,UAAU,aAAa,IAAkBL,IAAoI,MAAM,GAAtI,KAAK,MAAM,IAAI,MAAMI,GAAE,SAASC,IAAE,KAAK,MAAM,IAAI,CAAC,MAAMD,GAAE,KAAKC,IAAY,KAAK,MAAM,QAAsB,KAAK,MAAM,QAAQ,CAAY,GAAE,UAAU,aAAa,CAAC,MAAM,OAAO,OAAO,OAAO,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,IAAK,GAAE,GAAGL,IAAE,ICA48L,eAAe,oBAAoB,IAAE,CAAC,IAAMM,IAAE,IAAI,gBAAgB,MAAMC,IAAE,UAAUD,IAAE,gIAAtqO,CAAM,kBAAN,KAAuB,CAAC,aAAa,CAAC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,IAAE,CAAIC,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,aAAN,cAA2BA,eAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,KAAK,MAAM,GAAG,KAAK,MAAM,IAAI,kBAAkB,KAAK,IAAE,CAAIA,MAAG,MAAM,KAAKA,IAAE,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAoB,OAAOA,IAAE,OAApB,SAA0B,KAAK,MAAM,OAAOA,IAAE,MAAM,KAAK,MAAM,KAAKA,IAAE,MAAM,IAAS,SAAN,KAAc,CAAC,aAAa,CAAC,KAAK,MAAM,IAAID,aAAE,KAAK,MAAM,MAAM,UAAU,KAAK,UAAU,GAAM,KAAK,QAAQ,EAAE,KAAK,QAAQ,GAAK,KAAK,OAAO,GAAM,KAAK,KAAK,IAAI,aAAa,KAAK,IAAE,CAAaC,MAAT,IAAK,KAAgBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMD,aAAE,OAAO,KAAK,MAAMC,IAAE,MAAM,EAAWA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAW,KAAK,KAAKA,IAAE,KAAcA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAqBA,IAAE,WAAX,IAAK,KAAgB,KAAK,SAAS,EAAE,CAAUA,IAAE,SAAS,IAApB,IAAK,KAAmB,KAAK,SAAS,EAAEC,cAAED,IAAE,SAAS,EAAE,EAAWA,IAAE,SAAS,IAApB,IAAK,KAAmB,KAAK,SAAS,EAAEC,cAAED,IAAE,SAAS,EAAE,GAAWA,IAAE,OAAX,IAAK,IAAY,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,iBAAN,KAAsB,CAAC,YAAY,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIE,IAAEC,IAAEC,IAAE,KAAK,UAAUJ,IAAE,KAAK,UAAUD,IAAE,KAAK,gBAAgBM,IAAEC,OAAE,OAAOD,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAK,GAAKJ,eAAa,SAAS,KAAK,QAAQA,KAAO,KAAK,QAAQ,IAAI,SAAS,KAAK,QAAQ,KAAKA,IAAE,EAAC,KAAK,SAAS,GAAM,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK,QAAQ,KAAK,QAAQ,QAAQ,KAAK,KAAKM,cAAE,KAAK,QAAQ,KAAK,MAAM,CAACR,IAAE,OAAO,WAAW,KAAK,KAAK,KAAK,KAAK,KAAK,QAAQ,KAAK,QAAQA,IAAE,OAAO,aAAa,IAAMS,IAAE,KAAK,QAAQ,KAAK,MAAM,KAAK,MAAM,CAAC,OAAOA,IAAE,OAAOT,IAAE,OAAO,WAAWA,IAAE,OAAO,aAAa,KAAKS,IAAE,KAAK,CAAC,KAAK,MAAgBC,gBAAE,KAAK,QAAQ,MAAM,EAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,SAA6B,KAAK,iBAAsC,MAAM,EAAgB,KAAK,cAAc,CAAC,QAAQ,IAAE,CAAC,IAAMV,IAAE,KAAK,UAAUE,IAAE,KAAK,QAAQ,GAAGA,IAAE,UAAU,CAAC,IAAMD,IAAED,IAAE,cAAc,MAASC,IAAE,UAAUA,IAAE,aAAsBK,YAAE,KAAK,SAASL,IAAE,aAAa,EAAI,KAAK,OAAO,KAAK,SAAS,IAAW,KAAK,SAAS,GAAS,KAAK,UAAUA,IAAE,WAAU,KAAK,SAAS,EAAEA,IAAE,SAAS,EAAE,KAAK,SAAS,EAAEA,IAAE,SAAS,GAAG,IAAMO,IAAEP,IAAE,aAAa,CAAC,CAAC,GAAGS,IAAE,GAAGN,IAAE,SAASC,KAAGF,aAAE,KAAK,SAASK,IAAE,CAACC,IAAEF,OAAE,OAAOG,IAAEN,IAAE,CAAwD,GAAvD,IAAE,OAAO,KAAK,KAAcC,KAAE,EAAGL,IAAE,OAAO,aAAgBK,IAAE,KAAK,KAAKJ,IAAE,WAAW,CAAC,CAAC,IAAMM,IAAE,KAAKN,IAAE,WAAW,CAACD,IAAE,OAAO,WAAc,KAAK,KAAKC,IAAE,WAAW,EAAEI,IAAE,KAAK,KAAKJ,IAAE,WAAW,EAAWA,IAAE,gBAAX,IAAK,IAAqBA,IAAE,cAAc,OAAO,EAAKC,IAAE,QAAQ,IAAE,SAAS,EAAM,IAAE,iBAAiB,GAAK,KAAK,uBAAuBD,IAAEQ,IAAE,GAAM,IAAE,UAAU,IAAE,KAAK,OAAOF,KAAG,KAAK,uBAAuBN,IAAEQ,IAAE,GAAE,KAAK,MAAM,QAAQ,GAAG,KAAK,KAAK,KAAK,MAAM,UAAU,KAAK,MAAMF,MAAI,KAAK,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,MAAM,QAAQ,KAAK,MAAMA,IAAE,KAAK,QAAQ,KAAK,QAAQP,IAAE,OAAO,mBAAmB,KAAK,uBAAuBC,IAAEQ,IAAE,CAAC,KAAK,IAAE,CAAC,IAAE,UAAU,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC,IAAE,WAAW,CAAC,IAAE,IAAI,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,KAAK,GAAG,GAAM,CAAC,IAAE,WAAW,CAAC,IAAE,UAAUL,gBAAE,KAAK,MAAM,KAAK,QAAQ,CAAC,IAAE,MAAM,CAAC,QAAQ,CAAC,IAAMH,IAAE,KAAK,gBAAgB,KAAK,SAASA,KAAGI,cAAEJ,IAAE,KAAK,UAAU,OAAO,KAAKM,OAAE,OAAO,CAACN,IAAE,KAAK,cAAc,CAAC,cAAc,CAAC,IAAMA,IAAEQ,mCAAE,CAAC,KAAK,KAAK,UAAU,OAAO,KAAK,SAAS,KAAK,QAAQ,SAAS,CAAC,CAAC,OAAOF,OAAE,OAAON,IAAE,EAAEA,IAAE,EAAE,CAAC,uBAAuB,IAAE,IAAE,CAAC,IAAIC,IAAE,GAAGD,IAAE,UAAU,OAAO,IAAMO,IAAE,KAAK,UAAUE,IAAEF,IAAE,OAAO,KAAK,GAAGP,IAAE,iBAAiB,CAAC,IAAMD,IAAEW,6BAAE,CAAC,KAAKD,IAAE,CAAC,CAAC,IAAE,SAAS,MAAMV,IAAE,CAAC,IAAE,SAAS,MAAMC,IAAE,gBAAgB,CAAC,IAAE,cAAc,IAAK,GAAE,IAAE,iBAAiB,GAAM,GAAG,KAAK,QAAQ,OAAO,CAAwJ,GAA3IA,IAAE,gBAAX,IAAK,KAAqB,IAAE,cAAcM,OAAE,OAAO,EAAE,EAAE,CAAC,IAAE,cAAc,OAAOD,YAAEL,IAAE,aAAa,CAAC,KAAK,SAAS,CAAC,IAAE,cAAc,MAAMW,WAAG,CAAC,KAAK,GAAG,GAAKX,IAAE,cAAc,QAAQ,KAAK,MAAM,CAAC,KAAK,QAAQ,QAAQ,CAAC,IAAMD,IAAE,KAAK,IAAIU,IAAE,MAAMA,IAAE,OAAO,CAAC,IAAE,cAAc,OAAOV,KAAG,GAAGY,WAAG,CAAC,GAAG,GAAYX,IAAE,yBAAX,IAAK,KAA+B,IAAE,uBAAuBA,IAAE,SAAS,GAAG,EAAE,YAAY,qBAAqB,IAAME,IAAEF,IAAE,cAAc,OAAOG,IAAEH,IAAE,cAAc,MAAMI,IAAEJ,IAAE,uBAAuB,IAAE,SAAS,MAAMM,OAAE,OAAO,CAAC,IAAME,IAAE,CAAC,EAAgBJ,MAAd,YAAgB,KAAK,IAAI,KAAK,IAAI,EAAgBA,MAAd,YAAgB,KAAK,IAAI,KAAK,IAAI,CAAC,IAAE,SAAS,EAAE,KAAK,SAAS,EAAEF,IAAEM,IAAE,EAAEL,IAAE,CAAC,IAAE,SAAS,EAAE,KAAK,SAAS,EAAED,IAAEM,IAAE,EAAEL,IAAE,CAAC,IAAE,cAAc,QAAQJ,IAAE,OAAO,IAAE,cAAc,QAAkBC,IAAE,OAAO,WAAyB,GAAGO,IAAE,OAAO,WAAW,IAAIA,IAAE,OAAO,iBAAiB,CAAC,IAAMN,IAAEK,OAAE,OAAO,IAAE,OAAOP,IAAE,OAAO,IAAE,MAAMA,IAAE,MAAM,IAAE,SAAS,MAAME,IAAE,IAAS,UAAN,KAAe,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUD,IAAE,KAAK,MAAM,EAAE,CAAC,KAAK,UAAU,EAAE,CAAC,KAAK,uBAAuB,EAAE,CAAC,IAAE,YAAY,KAAYA,MAAT,IAAK,IAAkB,OAAOA,KAAlB,SAAoB,KAAK,MAAMA,KAAG,GAAG,KAAK,MAAM,MAAM,KAAGD,IAAE,OAAOC,KAAG,CAAC,IAAE,aAAa,IAAE,MAAI,KAAK,YAAYA,IAAED,IAAE,CAAC,YAAY,IAAE,IAAE,CAAC,IAAME,IAAE,IAAI,iBAAiB,KAAK,KAAK,UAAUD,IAAED,IAAE,CAAoB,OAAnB,KAAK,MAAM,KAAKE,IAAE,CAAQA,IAAE,KAAK,IAAE,CAAC,IAAI,IAAMF,OAAK,KAAK,MAAO,IAAE,MAAM,CAAC,IAAE,KAAKC,IAAE,CAAC,IAAE,SAAS,CAAE,gBAAgB,IAAE,CAAC,IAAMD,IAAE,KAAK,UAAUE,IAAE,KAAK,uBAAuB,GAAgBD,MAAb,WAAe,CAAC,IAAIA,IAAE,eAAa,MAAMC,IAAE,OAAO,IAAI,IAAEW,cAAEX,IAAE,EAAE,IAAEA,IAAE,IAAMK,IAASN,MAAgBD,eAAa,MAAMa,cAAEb,IAAE,CAACA,KAAEQ,IAAE,KAAK,UAAU,cAAc,MAAM,cAAc,KAAK,YAAYD,IAAEC,IAAE,EAAE,KAAK,IAAE,CAAC,IAAIR,IAAEE,IAAE,GAAG,CAACD,IAAE,OAAUA,IAAE,YAAaA,IAAE,qBAAqB,MAAM,KAAK,UAAUA,IAAE,UAAU,KAAK,KAAG,CAAC,IAAMD,IAAE,IAAI,SAAmB,OAAV,IAAE,KAAKC,IAAE,CAAQD,MAAI,EAAM,KAAK,qBAAqB,QAAQ,KAAK,UAAU,IAAI,UAAU,KAAK,UAAU,KAAKC,IAAE,UAAU,GAAC,IAAMM,IAAsBN,IAAE,eAAoC,OAA4B,UAAyP,GAA5OM,MAAKA,eAAa,MAAM,KAAK,uBAAuBA,IAAE,KAAK,KAAG,CAAC,IAAMP,IAAE,IAAI,SAAmB,OAAV,IAAE,KAAKC,IAAE,CAAQD,MAAI,EAAM,KAAK,kCAAkC,QAAQ,KAAK,uBAAuB,IAAI,UAAU,KAAK,uBAAuB,KAAKO,IAAE,GAAI,KAAK,qBAAqB,MAAM,IAAI,IAAMN,OAAK,KAAK,UAAU,KAAK,YAAYA,IAAE,MAAM,KAAK,YAAY,KAAK,UAAU,CAAC,eAAe,IAAE,CAAC,IAAI,IAAMD,OAAK,KAAK,MAAoB,GAAb,IAAE,QAAQC,IAAE,CAAIA,IAAE,UAAU,MAAO,eAAe,IAAE,CAAC,IAAMD,IAAE,KAAK,MAAM,QAAQC,IAAE,CAAC,KAAG,GAAG,KAAK,MAAM,OAAOD,IAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAMC,OAAK,KAAK,MAAM,IAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,GAAQ,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,GAAG,YAAY,UAAU,IAAE,CAAC,OAAO,IAAI,UAAUA,IAAE,CAAC,YAAY,IAAE,IAAE,CAAC,IAAIC,IAAEK,IAAE,GAAG,CAAC,KAAK,YAAYN,IAAE,EAAE,CAAC,KAAK,YAAYD,IAAE,CAAC,OAAO,IAAMQ,IAAEP,IAAE,GAAUD,KAAuB,UAAU,GAAWA,KAAuB,qBAAqB,MAAM,IAAE,UAAiBA,KAAuB,UAAU,KAAK,KAAG,CAAC,IAAMA,IAAE,IAAI,SAAmB,OAAV,IAAE,KAAKC,IAAE,CAAQD,MAAI,KAAK,CAAC,IAAIC,IAAEO,IAAE,UAA2BP,KAAuB,OAAxC,IAAK,KAA2C,IAAE,UAAU,IAAE,IAAI,UAAU,IAAE,KAAYD,KAAuB,UAAU,CAAC,IAAMU,IAA6BV,KAAuB,eAAoC,OAA4B,UAAU,GAAGU,IAAE,GAAGA,eAAa,MAAM,IAAE,cAAc,MAAM,UAAUA,IAAE,KAAK,KAAG,CAAC,IAAMV,IAAE,IAAI,SAAmB,OAAV,IAAE,KAAKC,IAAE,CAAQD,MAAI,KAAK,CAAC,IAAIC,IAAEO,IAAE,cAAc,MAAM,UAA2BP,KAAuB,OAAxC,IAAK,KAA2C,IAAE,cAAc,MAAM,UAAU,IAAE,IAAI,UAAU,IAAE,KAAKS,IAAE,EAAE,YAAY,IAAE,CAAC,IAAIV,IAAEE,IAAEK,IAAE,GAAG,CAACN,IAAE,MAAO,GAAM,IAAMO,IAAEP,IAAE,UAAU,OAAOO,eAAa,MAAM,CAAC,CAACA,IAAE,OAAO,CAAC,CAACA,KAAG,EAAE,CAAgCP,IAAE,eAAoC,QAA6B,SAA8B,MAAO,CAACa,UAAE,WAAWb,IAAE,cAAc,OAAO,QAAQ,KAAK,OCAo4J,SAAS,uBAAuB,IAAE,IAAE,CAAC,OAAOc,IAAEC,KAAGC,WAAG,CAAC,IAAquF,eAAe,mBAAmB,IAAE,CAAC,AAAwB,IAAE,sBAAoB,IAAI,aAAaA,IAAE,CAAE,AAAoB,IAAE,mBAAiB,IAAE,MAAI,CAAC,IAAIC,KAAU,IAAED,IAAE,sBAAZ,MAAoDC,IAAE,SAASH,IAAEC,IAAE,EAAG,IAAMD,IAAE,IAAI,eAAeE,IAAE,CAAC,MAAMA,IAAE,UAAUF,IAAE,CAAC,IAAE,gBAAgB,SAAS,IAAI,YAAY,CAAC,IAAE,gBAAgB,SAAS,IAAI,YAAY,kNAA1oe,CAAM,YAAN,KAAiB,CAAC,eAAe,IAAE,IAAE,IAAE,CAAC,IAAM,eAAe,IAAE,MAAI,CAAC,IAAMG,IAAED,WAAG,CAAC,EAAEE,IAAE,KAAK,KAAKH,IAAED,IAAE,KAAK,IAAI,EAAE,KAAK,GAAGG,IAAE,CAAC,CAACE,IAAEH,WAAG,CAAC,OAAOG,IAAE,IAAID,IAAEC,IAAE,GAAG,KAAK,GAAGD,IAAEC,IAAE,IAAI,KAAK,GAAGD,IAAE,CAACA,KAAG,QAAQ,IAAE,IAAE,MAAIF,IAAEF,IAAE,KAAK,MAAMA,IAAE,KAAK,IAAIC,IAAE,GAAG,GAAGC,IAAE,KAAK,IAAID,IAAE,GAAG,EAAE,CAAC,CAACG,IAAEC,KAAG,CAACJ,IAAE,MAAM,EAAEA,IAAE,OAAO,EAAE,CAACK,IAAE,cAAcF,IAAEC,IAAE,CAACE,IAAE,OAAOH,IAAEC,IAAEC,IAAE,CAACE,IAAEL,IAAEI,IAAE,KAAK,KAAKL,WAAG,CAAC,CAACK,IAAE,MAAM,CAAC,EAAEP,IAAE,EAAEQ,IAAE,KAAK,IAAIF,IAAE,CAAC,EAAEN,IAAE,EAAEQ,IAAE,KAAK,IAAIF,IAAE,CAAC,GAAQ,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,GAAM,KAAK,IAAE,CAAaJ,MAAT,IAAK,KAAgBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,KAAK,MAAM,GAAG,KAAK,IAAE,CAAaA,MAAT,IAAK,KAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASF,cAAEE,IAAE,SAAS,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMF,cAAEE,IAAE,MAAM,KAAU,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,UAAU,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,IAAE,CAAaA,MAAT,IAAK,KAAgBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,UAAe,QAAN,KAAa,CAAC,aAAa,CAAC,KAAK,SAAS,GAAK,KAAK,KAAK,GAAK,KAAK,KAAK,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,MAAM,SAAS,KAAK,WAAW,EAAE,KAAK,IAAE,CAAaA,MAAT,IAAK,KAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAsBA,IAAE,OAAX,IAAK,KAAqB,KAAK,OAAd,IAAK,KAAgB,KAAK,KAAK,IAAI,aAAa,KAAK,KAAK,KAAKA,IAAE,KAAK,EAAUA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAW,KAAK,MAAMA,IAAE,MAAeA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAC,KAAK,KAAKA,IAAE,KAAcA,IAAE,YAAX,IAAK,KAAkBA,IAAE,qBAAqB,MAAM,KAAK,UAAUA,IAAE,UAAU,KAAK,KAAGD,WAAE,EAAE,CAACC,IAAE,EAAE,CAAC,KAAK,UAAUD,WAAE,EAAE,CAACC,IAAE,UAAU,EAAE,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAUA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAmBA,IAAE,WAAX,IAAK,KAAgB,KAAK,SAAS,EAAE,CAAUA,IAAE,SAAS,IAApB,IAAK,KAAmB,KAAK,SAAS,EAAEF,cAAEE,IAAE,SAAS,EAAE,EAAWA,IAAE,SAAS,IAApB,IAAK,KAAmB,KAAK,SAAS,EAAEF,cAAEE,IAAE,SAAS,EAAE,GAAcA,IAAE,aAAX,IAAK,KAA2B,KAAK,aAAd,IAAK,KAAsB,KAAK,WAAW,IAAIC,iBAAG,KAAK,WAAW,KAAKD,IAAE,WAAW,EAAUA,IAAE,aAAX,IAAK,KAAmB,KAAK,WAAWA,IAAE,eAAkBO,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASN,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOJ,KAApB,WAAsBE,MAAIF,KAAG,CAACI,IAAE,CAACJ,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYC,MAAN,IAAQC,IAAE,KAAKF,IAAED,IAAE,CAACG,IAAE,IAAE,MAAMH,IAAED,IAAE,IAAIE,IAAED,IAAE,CAACA,KAAQS,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAAST,MAAN,KAAS,CAACE,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBE,MAAIF,KAAG,CAACG,IAAE,CAACH,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYD,MAAN,IAAQE,IAAQF,MAAN,IAAQE,IAAE,KAAKD,IAAE,CAACC,IAAEA,IAAE,MAAMH,IAAE,IAAIE,IAAE,EAAmB,gBAAN,KAAqB,CAAC,YAAY,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIK,IAAEC,IAAEG,IAAEC,IAAEC,IAAEC,IAAEC,IAAMC,IAAE,KAAK,SAAShB,IAAE,KAAK,UAAUG,IAAE,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKc,IAAEf,IAAE,IAAI,CAAC,KAAK,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,KAAK,gBAAgBI,IAAKD,eAAa,QAAQ,KAAK,QAAQA,KAAO,KAAK,QAAQ,IAAI,QAAQ,KAAK,QAAQ,KAAKA,IAAE,EAAC,KAAK,WAAW,KAAe,KAAK,QAAQ,KAAK,OAAqB,GAAG,KAAK,UAAU,OAAO,aAAa,KAAK,SAAmB,KAAK,iBAA+B,KAAK,cAAc,CAAC,KAAK,KAAK,KAAK,QAAQ,KAAK,KAAK,MAAgBK,IAAE,KAAKO,IAAE,IAAI,CAAC,qBAA0C,SAAS,KAAK,QAAQ,MAAM,CAAC,KAAK,KAAK,KAAK,QAAQ,KAAK,IAAE,KAAKC,IAAE,CAAC,KAAK,QAAQ,KAAK,KAAK,IAAI,CAAC,IAAE,KAAKC,IAAE,GAAM,IAAI,CAAC,IAAIC,IAAEnB,WAAE,EAAE,CAAC,KAAK,QAAQ,UAAU,CAAC,AAAuB,MAAE,EAAE,CAAC,AAAgC,IAAE,OAAK,EAAE,EAAY,IAAEmB,IAAE,MAAM,YAAyB,IAAE,UAAU,KAAK,QAAQ,WAAU,KAAK,QAAQ,aAAa,KAAK,WAAWhB,gBAAE,KAAK,QAAQ,WAAW,EAAE,KAAK,OAAO,CAAC,KAAK,QAAQ,SAAS,KAAK,iBAAiBgB,IAAE,KAAK,KAAe,KAAK,QAAQ,WAAyB,CAAC,IAAMlB,IAAE,IAAI,YAAsD,OAA1C,IAAE,KAAK,CAAC,OAAO,EAAE,KAAK,UAAU,MAAM,EAAE,CAAC,CAAQA,OAAK,CAAC,KAAK,UAAoB,KAAK,QAAQ,KAAK,OAAqB,GAAG,KAAK,SAAS,KAAK,WAAW,EAAE,IAAE,KAAKe,IAAE,IAAI,CAAC,cAAc,iBAAiB,CAAC,UAAUd,IAAE,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,eAAe,CAAC,KAAK,OAAO,GAAK,KAAK,OAAO,CAAC,cAAc,CAAC,KAAK,OAAO,GAAM,KAAK,MAAM,CAAC,aAAa,CAAC,GAAG,KAAK,QAAQ,MAAM,CAAC,IAAMD,IAAE,KAAK,UAAUF,IAAE,SAAS,eAAe,KAAK,QAAQ,MAAM,CAAC,GAAGA,IAAE,CAAC,IAAMC,IAAED,IAAE,uBAAuB,CAAC,MAAM,CAAC,GAAGC,IAAE,EAAEA,IAAE,MAAM,GAAGC,IAAE,OAAO,WAAW,GAAGD,IAAE,EAAEA,IAAE,OAAO,GAAGC,IAAE,OAAO,WAAW,EAAE,OAAO,KAAK,SAAS,SAAS,CAAC,IAAMA,IAAE,KAAK,UAAU,GAAG,KAAK,QAAQ,MAAM,CAAC,IAAMF,IAAE,SAAS,eAAe,KAAK,QAAQ,MAAM,CAAC,GAAGA,IAAE,CAAC,IAAMC,IAAED,IAAE,uBAAuB,CAAC,MAAM,CAAC,MAAMC,IAAE,MAAMC,IAAE,OAAO,WAAW,OAAOD,IAAE,OAAOC,IAAE,OAAO,WAAW,EAAE,MAAM,CAAC,MAAkB,KAAK,KAAK,OAAtB,UAA2BA,IAAE,OAAO,KAAK,MAAM,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,OAAmB,KAAK,KAAK,OAAtB,UAA2BA,IAAE,OAAO,KAAK,OAAO,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,OAAO,KAAK,UAAU,MAAM,CAAC,IAAIA,IAAK,CAAC,KAAK,QAAQ,KAAK,UAAU,OAAO,eAAe,KAAK,UAAU,GAAG,KAAK,UAAU,CAAC,KAAK,QAAQ,KAAK,SAASQ,IAAE,KAAKQ,IAAE,IAAI,EAAE,KAAK,oBAA8B,KAAK,YAA0B,MAAiB,KAAK,YAAd,IAAK,KAAuD,KAAK,UAAU,IAA1Cb,cAAE,KAAK,QAAQ,KAAK,MAAM,CAAsB,KAAK,UAAU,OAAO,eAAc,KAAK,UAAU,GAAG,KAAK,WAAW,KAAK,cAAc,EAAE,QAAQ,CAAC,IAAMH,IAAE,KAAK,gBAAgB,KAAK,SAASA,KAAGI,cAAEJ,IAAE,KAAK,UAAU,OAAO,KAAKK,OAAE,OAAO,CAACL,IAAE,KAAK,cAAc,CAAC,OAAO,IAAE,CAAC,IAAIF,IAAEC,IAAEE,IAAM,KAAK,SAAWO,IAAE,KAAKQ,IAAE,IAAI,GAAE,IAAE,KAAKA,IAAE,GAAM,IAAI,CAAC,KAAK,kBAA4B,KAAK,YAA0B,EAAE,KAAK,iBAA2B,KAAK,WAAyB,GAAMR,IAAE,KAAKS,IAAE,IAAI,GAAE,IAAE,KAAKA,IAAE,GAAK,IAAI,CAAC,KAAK,cAAc,KAAK,QAAQ,WAAW,EAAa,KAAK,WAAd,IAAK,KAAmB,KAAK,iBAAiBjB,IAAE,MAAS,KAAK,iBAAiB,KAAK,WAAU,KAAK,OAAO,CAAU,KAAK,aAAd,IAAK,IAAqB,OAAO,KAAK,WAAW,KAAK,UAAU,KAAK,YAAe,KAAK,UAAU,GAAG,KAAK,UAAU,KAAK,SAAS,KAAK,cAAc,CAAC,KAAK,WAAW,KAAe,KAAK,QAAQ,KAAK,OAAqB,GAAG,KAAK,UAAU,OAAO,cAAkB,KAAK,SAAS,CAAC,KAAK,iBAAiB,KAAK,SAAS,OAAO,KAAK,WAAsB,KAAK,aAAd,IAAK,KAAqB,KAAK,mBAAmBA,IAAE,MAAS,KAAK,mBAAmB,KAAK,aAAY,IAAE,KAAKe,IAAE,IAAI,CAAC,cAAc,cAAc,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,mBAAmB,KAAK,kBAAkB,OAAO,KAAK,aAAwB,KAAK,YAAd,IAAK,KAAoB,KAAK,kBAAkBf,IAAE,MAAS,KAAK,kBAAkB,KAAK,YAAW,KAAK,MAAM,CAAC,KAAK,kBAAkB,KAAK,aAAa,cAAc,CAAC,OAAOM,mCAAE,CAAC,KAAK,KAAK,UAAU,OAAO,KAAK,SAAS,KAAK,QAAQ,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS,cAAc,KAAK,CAAC,IAAE,KAAKS,IAAE,IAAI,CAAC,cAAc,mBAAmB,CAAC,UAAU,KAAK,UAAU,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,KAAK,OAAO,OAAO,IAAMf,IAAEG,cAAE,KAAK,QAAQ,KAAK,SAAS,CAAC,KAAK,cAAcH,IAAE,CAAC,cAAc,IAAE,CAAC,IAAIF,IAAEG,IAAEC,IAAE,IAAMC,IAAE,KAAK,aAAa,CAACC,IAAE,KAAK,SAAS,CAACC,IAAE,KAAK,4BAA4B,MAAMI,cAAE,KAAK,iBAAiB,CAAC,KAAK,iBAAiB,IAAI,IAAIH,IAAE,EAAEA,IAAEN,IAAE,MAAI,CAAC,IAAMA,IAAED,WAAE,EAAE,CAACM,IAAE,CAAC,GAAG,KAAK,WAAW,CAAC,IAAMN,IAAY,KAAK,QAAQ,YAAiC,UAAaA,MAAG,KAAK,WAAW,EAAE,KAAK,kBAAkBA,IAAE,EAAE,KAAK,WAAW,EAAE,IAAI,CAAC,KAAK,WAAW,EAAE,KAAK,kBAAkBA,IAAE,EAAE,KAAK,WAAW,EAAE,IAAI,CAAC,KAAK,WAAW,EAAE,KAAK,kBAAkBA,IAAE,EAAE,KAAK,WAAW,EAAE,IAAI,EAAC,IAAE,MAAM,IAAE,MAAM,MAAM,KAAK,WAAW,IAAE,MAAM,CAAC,MAAM,KAAK,WAAW,CAAC,GAAG,CAACI,IAAE,OAAO,IAAMG,IAAsB,KAAK,OAA4B,eAAeH,IAAEC,IAAE,KAAK,KAAK,EAAgBD,IAAE,KAAK,UAAU,UAAU,YAAYG,IAAEN,IAAE,EAAE,cAAc,CAAC,IAAIA,IAAE,GAAG,KAAK,OAAO,OAAO,IAAMF,IAAY,KAAK,QAAQ,MAA2B,SAAS,KAAK,UAAU,OAAO,eAAe,KAAK,UAAU,GAAG,KAAK,WAAoBA,MAAT,IAAK,IAAOA,IAAE,IAAI,KAAK,SAAS,IAAIA,KAAG,kBAAkB,IAAE,IAAE,IAAE,CAAC,IAAIG,IAAE,IAAMC,IAAE,KAAK,UAAU,GAAG,CAACF,IAAE,OAAO,OAAOF,IAAE,IAAMM,IAAEM,cAAEV,IAAE,OAAO,CAA8BM,IAAE,IAA7BH,cAAE,KAAK,QAAQ,KAAK,MAAM,CAASD,IAAE,OAAO,aAAqD,OAAOJ,IAA7CK,cAAYH,IAAE,OAAqB,EAAE,CAAYE,IAAE,SAASI,IAAE,IAAIF,KAAGL,MAAG,IAAE,IAAI,QAAQ,IAAE,IAAI,QAAQ,IAAE,IAAI,QAAYc,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASZ,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOJ,KAApB,WAAsBE,MAAIF,KAAG,CAACI,IAAE,CAACJ,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYC,MAAN,IAAQC,IAAE,KAAKF,IAAED,IAAE,CAACG,IAAE,IAAE,MAAMH,IAAED,IAAE,IAAIE,IAAED,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACE,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBE,MAAIF,KAAG,CAACG,IAAE,CAACH,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYD,MAAN,IAAQE,IAAQF,MAAN,IAAQE,IAAE,KAAKD,IAAE,CAACC,IAAEA,IAAE,MAAMH,IAAE,IAAIE,IAAE,EAAe,SAAN,KAAc,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,UAAUF,IAAE,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKoB,IAAElB,IAAE,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC,KAAK,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAE,WAAW,KAAYA,MAAT,IAAK,IAAkB,OAAOA,KAAlB,SAAoB,KAAK,MAAMA,KAAG,GAAG,KAAK,MAAM,MAAM,KAAGF,IAAE,OAAOE,KAAG,CAAC,IAAE,YAAY,IAAE,MAAI,KAAK,WAAWA,IAAEF,IAAE,CAAC,IAAE,cAAc,KAAG,CAAC,IAAMC,IAAED,IAAE,WAAWE,IAAE,CAAC,KAAG,KAAK,cAAcD,IAAE,EAAE,IAAE,YAAY,KAAG,CAAC,IAAMA,IAAED,IAAE,WAAWE,IAAE,CAAC,KAAGD,IAAE,cAAc,EAAE,IAAE,aAAa,KAAG,CAAC,IAAMA,IAAED,IAAE,WAAWE,IAAE,CAAC,KAAGD,IAAE,eAAe,EAAE,WAAW,IAAE,IAAE,CAAC,IAAMA,IAAE,IAAI,QAAQ,IAAE,KAAKC,IAAE,CAAC,IAAMC,IAAE,IAAI,gBAAgB,EAAE,KAAKiB,IAAE,IAAI,CAAC,KAAK,KAAK,UAAUnB,IAAED,IAAE,CAAoB,OAAnB,KAAK,MAAM,KAAKG,IAAE,CAAQA,IAAE,gBAAgB,IAAE,CAAC,IAAMH,IAAE,KAAK,SAASG,IAAE,KAAK,sBAAsB,GAAeD,MAAZ,UAAc,CAAC,IAAIA,IAAE,GAAGC,KAAGA,IAAE,iBAAiB,MAAM,GAAGA,IAAE,MAAM,OAAO,GAAGA,IAAE,OAAO,OAAO,CAAC,IAAE,EAAE,CAAC,IAAMH,IAAE,EAAE,CAAC,IAAI,IAAIC,IAAE,EAAEA,IAAEE,IAAE,OAAO,MAAM,MAAI,CAAC,IAAMC,IAAES,iBAAEV,IAAE,MAAM,CAAIH,IAAE,SAASI,IAAE,EAAEJ,IAAE,OAAOG,IAAE,MAAM,OAAO,OAAS,IAAE,KAAKC,IAAE,CAAC,IAAE,KAAKO,cAAER,IAAE,MAAMC,IAAE,CAAC,QAAQ,IAAED,IAAE,WAAW,IAASA,KAAuB,MAAM,IAAMC,IAASF,KAAgBF,IAAEK,IAAE,KAAK,UAAU,cAAc,MAAM,cAAc,GAAGD,eAAa,MAAM,IAAI,IAAMF,OAAKE,IAAE,KAAK,WAAWF,IAAEG,IAAE,MAAM,KAAK,WAAWJ,WAAE,EAAE,CAACG,IAAE,CAACC,IAAE,EAAE,KAAK,IAAE,CAAC,IAAIL,IAAEC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAEC,IAAE,GAAG,CAACN,IAAE,OAAUA,IAAE,WAAYA,IAAE,oBAAoB,MAAM,KAAK,SAASA,IAAE,SAAS,KAAK,KAAG,CAAC,IAAMF,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,EAAM,KAAK,oBAAoB,QAAQ,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS,KAAKE,IAAE,SAAS,GAAC,IAAMS,IAAsBT,IAAE,eAAoC,OAA4B,SAAS,GAAGS,IAAE,GAAGA,eAAa,MAAM,KAAK,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAK,CAAC,MAAMA,IAAE,KAAK,KAAG,CAAC,IAAMX,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,CAAC,KAAK,CAAC,IAAME,IAAES,IAAE,GAAYT,IAAE,QAAX,IAAK,GAAY,GAAGA,IAAE,iBAAiB,MAAM,KAAK,sBAAsB,CAAC,OAAO,CAAC,MAAgB,KAAK,sBAAsB,OAAO,OAAqB,EAAE,QAAe,IAAE,KAAK,sBAAsB,OAAO,SAA5C,MAAiEE,IAAE,CAAC,MAAMF,IAAE,MAAM,KAAK,KAAG,CAAC,IAAMF,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,CAAC,KAAK,CAAC,IAAMA,IAAE,IAAI,QAAQ,IAAE,KAAKE,IAAE,MAAM,CAAC,KAAK,sBAAsB,CAAC,OAAO,CAAC,MAAgB,KAAK,sBAAsB,OAAO,OAAqB,EAAE,QAAe,IAAE,KAAK,sBAAsB,OAAO,SAA5C,MAAiEI,IAAE,CAAC,MAAMN,IAAE,KAAK,CAAC,IAAME,IAAE,IAAI,QAAQ,IAAE,KAAKS,IAAE,CAAC,KAAK,sBAAsB,CAAC,OAAO,CAAC,MAAgB,KAAK,sBAAsB,OAAO,OAAqB,EAAE,QAAe,IAAE,KAAK,sBAAsB,OAAO,SAA5C,MAAiEH,IAAE,CAAC,MAAMN,IAAE,EAAE,GAAG,KAAK,oBAAoB,MAAM,IAAI,IAAMA,OAAK,KAAK,SAAS,KAAK,WAAWA,IAAE,MAAM,KAAK,WAAW,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,IAAMA,OAAK,KAAK,MAAM,IAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAMA,OAAK,KAAK,MAAM,IAAE,MAAM,CAAC,cAAc,IAAE,CAAC,IAAMF,IAAE,KAAK,MAAM,QAAQE,IAAE,CAAC,KAAG,GAAG,KAAK,MAAM,OAAOF,IAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,IAAME,OAAK,KAAK,MAAM,IAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC,OAAO,IAAE,CAAC,IAAI,IAAMF,OAAK,KAAK,MAAM,IAAE,OAAOE,IAAE,GAAE,IAAE,IAAI,QAAY,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOJ,KAApB,WAAsBE,MAAIF,KAAG,CAACI,IAAE,CAACJ,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYC,MAAN,IAAQC,IAAE,KAAKF,IAAED,IAAE,CAACG,IAAE,IAAE,MAAMH,IAAED,IAAE,IAAIE,IAAED,IAAE,CAACA,KAAgB,EAAE,IAAI,IAAU,aAAN,KAAkB,CAAC,YAAY,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAEC,IAAE,IAAI,CAAC,SAAS,IAAE,IAAE,CAAC,KAAK,SAASA,IAAE,EAAE,EAAE,IAAIA,IAAEF,IAAE,CAAC,SAAS,IAAE,CAAC,OAAO,EAAE,IAAIE,IAAE,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAE,EAAE,IAAI,QAAuE,YAAN,KAAiB,CAAC,eAAe,IAAE,IAAE,IAAE,CAAC,GAAGC,IAAE,MAAM,CAAC,EAAE,uBAAuBH,IAAE,EAAEC,IAAE,MAAM,CAAC,EAAE,uBAAuBD,IAAE,EAAEC,IAAE,OAAO,CAAC,CAAC,CAAC,IAAME,IAAEF,IAAE,MAAM,EAAEG,IAAEH,IAAE,OAAO,EAAEI,IAAE,KAAK,MAAM,EAAEH,WAAG,CAAC,CAACI,IAAE,GAAGJ,WAAG,CAAC,IAAI,OAAOG,IAAP,CAAU,IAAK,GAAE,MAAM,CAAC,EAAEL,IAAE,EAAEM,IAAEH,IAAE,EAAEH,IAAE,EAAEI,IAAE,CAAC,IAAK,GAAE,MAAM,CAAC,EAAEJ,IAAE,EAAEG,IAAE,EAAEH,IAAE,EAAEM,IAAEF,IAAE,CAAC,IAAK,GAAE,MAAM,CAAC,EAAEJ,IAAE,EAAEM,IAAEH,IAAE,EAAEH,IAAE,EAAEI,IAAE,CAAC,IAAK,GAAE,QAAQ,MAAM,CAAC,EAAEJ,IAAE,EAAEG,IAAE,EAAEH,IAAE,EAAEM,IAAEF,IAAE,KAAQiB,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASlB,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOJ,KAApB,WAAsBE,MAAIF,KAAG,CAACI,IAAE,CAACJ,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYC,MAAN,IAAQC,IAAE,KAAKF,IAAED,IAAE,CAACG,IAAE,IAAE,MAAMH,IAAED,IAAE,IAAIE,IAAED,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACE,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBE,MAAIF,KAAG,CAACG,IAAE,CAACH,IAAE,IAAIE,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYD,MAAN,IAAQE,IAAQF,MAAN,IAAQE,IAAE,KAAKD,IAAE,CAACC,IAAEA,IAAE,MAAMH,IAAE,IAAIE,IAAE,EAAe,eAAN,KAAoB,CAAC,YAAY,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,KAAK,GAAG,WAAW,UAAU,IAAE,CAAC,OAAO,IAAI,SAAS,EAAE,KAAK,EAAE,IAAI,CAACA,IAAE,CAAC,YAAY,IAAE,IAAE,CAAC,IAAID,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAE,GAAG,CAAC,KAAK,YAAYL,IAAE,EAAE,CAAC,KAAK,YAAYF,IAAE,CAAC,OAAO,IAAMQ,IAAEN,IAAE,GAAUF,KAAuB,SAAS,GAAWA,KAAuB,oBAAoB,MAAM,IAAE,SAAgBA,KAAuB,SAAS,KAAK,KAAG,CAAC,IAAMA,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,KAAK,CAAC,IAAIE,IAAEM,IAAE,SAA0BN,KAAuB,OAAxC,IAAK,KAA2C,IAAE,SAAS,IAAE,IAAI,SAAS,IAAE,KAAYF,KAAuB,SAAS,CAAC,IAAMW,IAA6BX,KAAuB,eAAoC,OAA4B,SAAS,GAAGW,IAAE,GAAGA,eAAa,MAAM,IAAE,cAAc,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAK,CAAC,MAAMA,IAAE,KAAK,KAAG,CAAC,IAAMX,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,CAAC,KAAK,CAAC,IAAME,IAAES,IAAE,GAAYT,IAAE,QAAX,IAAK,GAAY,GAAGA,IAAE,iBAAiB,MAAM,IAAE,cAAc,MAAM,SAAS,CAAC,OAAO,CAAC,MAAgBA,IAAE,OAAO,OAAqB,EAAE,QAAe,IAAEA,IAAE,OAAO,SAAnB,MAAwCG,IAAE,CAAC,MAAMH,IAAE,MAAM,KAAK,KAAG,CAAC,IAAMF,IAAE,IAAI,QAAkB,OAAV,IAAE,KAAKE,IAAE,CAAQF,MAAI,CAAC,KAAK,CAAC,IAAMA,IAAE,IAAI,QAAQ,IAAE,KAAKE,IAAE,MAAM,CAAC,IAAE,cAAc,MAAM,SAAS,CAAC,OAAO,CAAC,MAAgBA,IAAE,OAAO,OAAqB,EAAE,QAAe,IAAEA,IAAE,OAAO,SAAnB,MAAwCK,IAAE,CAAC,MAAMP,IAAE,OAAc,IAAE,cAAc,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,GAAM,CAAC,MAAM,IAAI,QAAQ,EAAG,MAAM,KAAKW,IAAE,EAAG,YAAY,IAAE,CAAC,IAAIX,IAAEC,IAAEE,IAAE,GAAG,CAACD,IAAE,MAAO,GAAM,IAAME,IAAEF,IAAE,SAAS,OAAOE,eAAa,OAAO,CAAC,CAACA,IAAE,QAAiBA,MAAT,IAAK,IAAO,CAAC,CAAgCF,IAAE,eAAoC,QAA6B,SAA8B,MAAOY,UAAE,UAAUZ,IAAE,cAAc,OAAO,QAAQ,KAAK,GAAE,EAAE,IAAI,WCA1oZ,eAAe,6BAA6B,IAAE,CAAC,MAAMoB,IAAE,cAAc,iBAAiB,KAAG,IAAI,WAAWA,IAAE,EAAE,0EAA97E,CAAM,MAAN,KAAW,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,YAAY,GAAM,KAAK,SAAS,EAAE,KAAK,IAAE,CAAIC,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUD,WAAE,EAAE,CAACC,IAAE,UAAU,EAAWA,IAAE,cAAX,IAAK,KAAoB,KAAK,YAAYA,IAAE,gBAAmBC,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYE,MAAN,IAAQC,IAAE,KAAKH,IAAEI,IAAE,CAACD,IAAE,IAAE,MAAMC,IAAEH,IAAE,IAAID,IAAEI,IAAE,CAACA,KAAQD,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,KAAS,CAACF,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOD,KAApB,WAAsBD,MAAIC,KAAG,CAACC,IAAE,CAACD,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYI,MAAN,IAAQF,IAAQE,MAAN,IAAQF,IAAE,KAAKF,IAAE,CAACE,IAAEA,IAAE,MAAMD,IAAE,IAAID,IAAE,EAAe,WAAN,cAAyBC,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMD,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKK,IAAEL,IAAE,IAAI,CAAC,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,IAAE,CAAC,IAAIC,IAAEG,IAAEF,IAAEI,IAAE,GAAG,CAAC,KAAK,UAAU,OAAO,aAAa,OAAO,IAAMC,IAAEJ,IAAE,KAAKE,IAAE,IAAI,CAAmBG,IAAhBD,IAAE,cAAkB,cAAc,MAAM,MAAM,GAAG,CAACC,IAAE,OAAO,IAAMC,IAAE,IAAID,IAAE,MAAM,KAAK,UAAU,OAAO,aAAiD,GAApC,KAAK,MAAMC,MAAI,KAAK,OAAOT,IAAE,OAAU,KAAK,MAAMS,IAAE,OAAO,IAAIC,IAAE,GAAK,IAAE,cAAcH,IAAE,cAAc,MAAM,WAAW,KAAK,cAAyBA,IAAE,cAAc,MAAM,UAA+B,IAAgB,KAAK,cAAmC,GAAeA,IAAE,cAAc,MAAM,UAA+B,IAAgB,KAAK,cAAmC,KAAM,IAAE,IAAO,IAAE,cAAc,MAAM,SAAS,KAAK,aAAa,CAAC,EAAEA,IAAE,cAAc,MAAM,SAAS,EAAE,EAAEA,IAAE,cAAc,MAAM,SAAS,EAAE,CAAC,OAAO,KAAK,aAAa,KAAGA,IAAE,UAAU,KAAKC,IAAE,SAASD,IAAE,cAAc,MAAMC,IAAE,UAAU,CAAC,KAAK,OAAOC,IAAE,UAAU,IAAE,CAAC,IAAIR,IAAE,IAAMC,IAAE,KAAK,UAAUC,IAAED,IAAE,cAAcG,IAAEH,IAAE,cAAc,MAAMI,KAAoBN,KAAuB,eAA6BG,IAAE,eAAe,OAAO,OAAOE,IAAE,UAAUA,IAAE,QAAQ,CAAC,CAACA,IAAE,UAAUD,UAAE,QAAQE,IAAE,QAAQ,KAAK,EAAED,IAAE,QAAQ,CAAC,CAACA,IAAE,UAAUD,UAAE,QAAQE,IAAE,QAAQ,KAAK,CAAC,gBAAgB,IAAE,GAAGL,IAAE,CAAC,AAAU,IAAE,QAAM,IAAI,MAAO,IAAI,IAAMG,OAAKH,IAAE,IAAE,MAAM,KAAYG,KAAuB,MAAM,CAAC,OAAO,IAAG,IAAE,IAAI,WCA4ouC,SAAS,gBAAgB,IAAE,IAAE,IAAE,CAAC,IAAMO,IAAEC,gBAAEC,IAAE,MAAM,CAAC,GAAGF,IAAE,CAAC,IAAE,WAAW,CAAC,IAAE,OAAOG,IAAE,GAAG,EAAEA,IAAE,GAAG,EAAE,CAAC,IAAI,IAAMD,OAAKC,IAAE,IAAE,OAAOD,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,WAAW,CAAC,IAAE,YAAYE,gBAAEJ,IAAE,CAAC,IAAE,UAAUE,IAAE,MAAM,IAAE,QAAQ,EAAE,SAAS,oBAAoB,IAAE,IAAE,IAAE,IAAE,CAAC,IAAE,UAAUF,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAMK,IAAEJ,gBAAEC,IAAE,MAAM,CAAIG,MAAG,IAAE,YAAYD,gBAAEC,IAAEH,IAAE,QAAQ,CAAC,IAAE,UAAUA,IAAE,MAAM,IAAE,OAAOC,IAAE,EAAE,SAAS,WAAW,IAAE,IAAE,IAAE,CAAC,IAAIF,IAAE,IAAMG,IAAE,EAAE,CAAC,IAAI,IAAMJ,OAAKM,IAAE,CAAC,IAAMA,IAAEN,IAAE,QAAQ,YAAYK,IAAmBC,KAAuB,eAA6B,EAAEC,IAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,IAAIN,IAAE,EAAEA,IAAEI,IAAE,MAAI,CAAC,IAAML,IAASM,KAAuB,QAAQL,IAAE,CAAOI,IAAE,OAAO,WAAW,OAAcL,KAAuB,YAArC,CAAkD,KAAKK,IAAE,mBAAmB,KAAKA,IAAE,mBAAmB,KAAKA,IAAE,0BAA0B,KAAKA,IAAE,8BAA8B,KAAKA,IAAE,gBAAgB,KAAKA,IAAE,iCAAiC,KAAKA,IAAE,qCAAqC,CAAC,IAAMC,IAAEN,IAAE,IAAE,EAAEM,IAAE,EAAE,IAAE,EAAEA,IAAE,EAAE,MAAM,KAAKD,IAAE,8BAA8B,IAAE,EAAEL,IAAE,EAAE,MAAM,KAAKK,IAAE,4BAA4B,IAAE,EAAEL,IAAE,EAAE,MAAM,KAAKK,IAAE,mBAAmB,KAAKA,IAAE,mBAAmB,KAAKA,IAAE,0BAA0B,KAAKA,IAAE,8BAA8B,KAAKA,IAAE,gBAAgB,KAAKA,IAAE,iCAAiC,KAAKA,IAAE,qCAAqC,CAAC,IAAMC,IAAEN,IAAE,IAAE,GAAGM,IAAE,EAAE,IAAE,GAAGA,IAAE,EAAE,MAAM,KAAKD,IAAE,8BAA8B,IAAE,GAAGL,IAAE,EAAE,MAAM,KAAKK,IAAE,4BAA4B,IAAE,GAAGL,IAAE,EAAE,MAAM,KAAKK,IAAE,gBAAgB,KAAKA,IAAE,kBAAkB,SAAS,IAAE,KAAK,CAAC,EAAEE,IAAE,EAAEJ,IAAED,IAAE,EAAE,EAAEK,IAAE,EAAEJ,IAAED,IAAE,EAAE,CAAC,EAAE,OAAOE,IAAE,SAAS,uBAAuB,IAAE,IAAE,IAAE,CAAC,GAAK,CAAC,GAAGH,IAAE,GAAGG,KAAGJ,aAAEE,IAAEI,IAAE,CAAC,CAAC,GAAGD,IAAE,GAAGE,KAAGP,aAAEG,IAAEG,IAAE,CAACE,KAAGP,IAAEI,IAAED,IAAEG,MAAIF,KAAG,EAAEE,KAAG,GAAGE,IAAE,CAAC,EAAEH,IAAE,EAAED,IAAEG,IAAE,EAAEF,IAAE,EAAEC,IAAEC,IAAE,YAAYA,KAAG,GAAGA,KAAG,EAAE,CAAsD,OAAlDA,IAAE,GAAG,IAAE,EAAEF,IAAE,EAAE,IAAE,EAAEA,IAAE,GAAUE,IAAE,IAAG,IAAE,EAAEL,IAAE,EAAE,IAAE,EAAEA,IAAE,GAASM,IAAE,SAAS,cAAc,IAAE,IAAE,IAAE,CAAC,GAAK,CAAC,GAAGR,IAAE,GAAGG,KAAGJ,aAAEM,IAAEH,IAAE,CAACI,IAAE,KAAK,MAAMH,IAAEH,IAAE,CAACO,IAAEH,OAAE,OAAO,KAAK,IAAIE,IAAE,CAAC,CAAC,KAAK,IAAIA,IAAE,CAAC,CAACE,IAAE,GAAGP,IAAE,EAAEM,IAAE,EAAEN,IAAE,EAAEM,IAAE,GAAG,IAAE,OAAOC,IAAE,CAAC,IAAE,QAAQD,IAAE,CAAinS,eAAe,sBAAsB,IAAE,CAAC,IAAML,IAAE,IAAI,kBAAkBG,IAAE,CAAC,MAAMA,IAAE,UAAUH,IAAE,wOAAz0oD,EAAC,UAAU,CAAC,GAAG,CAAC,GAAwB,SAArB,OAA4B,OAAY,eAAe,SAAS,OAAO,WAAW,SAAS,IAAE,IAAE,IAAE,CAAC,KAAK,YAAYG,IAAE,KAAK,oBAAoBH,IAAE,KAAK,mBAAmBD,KAAG,OAAO,WAAW,UAAU,UAAU,aAAa,OAAO,WAAW,gBAAgB,EAAE,OAAO,WAAW,kBAAkB,EAAE,OAAO,WAAW,mBAAmB,EAAE,OAAO,WAAW,mBAAmB,EAAE,OAAO,WAAW,mBAAmB,EAAE,OAAO,WAAW,mBAAmB,EAAE,OAAO,WAAW,0BAA0B,EAAE,OAAO,WAAW,0BAA0B,EAAE,OAAO,WAAW,8BAA8B,EAAE,OAAO,WAAW,8BAA8B,EAAE,OAAO,WAAW,gBAAgB,GAAG,OAAO,WAAW,gBAAgB,GAAG,OAAO,WAAW,8BAA8B,GAAG,OAAO,WAAW,8BAA8B,GAAG,OAAO,WAAW,4BAA4B,GAAG,OAAO,WAAW,4BAA4B,GAAG,OAAO,WAAW,iCAAiC,GAAG,OAAO,WAAW,iCAAiC,GAAG,OAAO,WAAW,qCAAqC,GAAG,OAAO,WAAW,qCAAqC,GAAG,OAAO,WAAW,UAAU,gBAAgB,UAAU,CAAC,KAAK,oBAAoB,KAAK,mBAAmB,eAAe,KAAK,EAAE,OAAO,oBAAoB,SAAS,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,kBAAkB,IAAII,IAAE,EAAE,OAAO,oBAAoB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oBAAoB,UAAU,SAAS,UAAU,CAAC,MAAM,gCAAgC,OAAO,oBAAoB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,qBAAqB,OAAO,oBAAoB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,EAAE,OAAO,oBAAoB,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,mBAAmB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oBAAoB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oBAAoB,UAAU,SAAS,UAAU,CAAC,MAAM,gCAAgC,OAAO,oBAAoB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oBAAoB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,oBAAoB,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,mBAAmB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oBAAoB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oBAAoB,UAAU,SAAS,UAAU,CAAC,MAAM,gCAAgC,OAAO,oBAAoB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oBAAoB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,oBAAoB,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,mBAAmB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oBAAoB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oBAAoB,UAAU,SAAS,UAAU,CAAC,MAAM,gCAAgC,OAAO,oBAAoB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oBAAoB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,oBAAoB,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,mBAAmB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oBAAoB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oBAAoB,UAAU,SAAS,UAAU,CAAC,MAAM,gCAAgC,OAAO,oBAAoB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oBAAoB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oBAAoB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,0BAA0B,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,0BAA0B,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,IAAE,KAAK,IAAIJ,IAAE,KAAK,IAAIK,KAAG,OAAO,0BAA0B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,0BAA0B,UAAU,SAAS,UAAU,CAAC,MAAM,sCAAsC,OAAO,0BAA0B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,0BAA0B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,0BAA0B,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,0BAA0B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGC,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,0BAA0B,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,0BAA0B,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,IAAE,KAAK,IAAIJ,IAAE,KAAK,IAAIK,KAAG,OAAO,0BAA0B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,0BAA0B,UAAU,SAAS,UAAU,CAAC,MAAM,sCAAsC,OAAO,0BAA0B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,0BAA0B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,0BAA0B,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,0BAA0B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGC,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,0BAA0B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,8BAA8B,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,8BAA8B,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,KAAG,OAAO,8BAA8B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,8BAA8B,UAAU,SAAS,UAAU,CAAC,MAAM,0CAA0C,OAAO,8BAA8B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,8BAA8B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGE,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,8BAA8B,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,8BAA8B,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,KAAG,OAAO,8BAA8B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,8BAA8B,UAAU,SAAS,UAAU,CAAC,MAAM,0CAA0C,OAAO,8BAA8B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,8BAA8B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGE,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,8BAA8B,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,iBAAiB,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,gBAAgB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,IAAE,KAAK,OAAOJ,IAAE,KAAK,cAAcK,IAAE,KAAK,WAAWE,KAAG,OAAO,iBAAiB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,iBAAiB,UAAU,SAAS,UAAU,CAAC,MAAM,6BAA6B,OAAO,iBAAiB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,OAAO,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,KAAK,WAAW,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,iBAAiB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,iBAAiB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,OAAO,KAAK,cAAc,KAAK,WAAW,EAAE,OAAO,eAAe,OAAO,iBAAiB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGD,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAE,CAAC,KAAK,OAAOA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,eAAe,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,eAAe,IAAI,SAAS,IAAE,CAAC,KAAK,cAAcA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,IAAI,SAAS,IAAE,CAAC,KAAK,WAAWA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,iBAAiB,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,gBAAgB,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,IAAE,KAAK,OAAOJ,IAAE,KAAK,cAAcK,IAAE,KAAK,WAAWE,KAAG,OAAO,iBAAiB,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,iBAAiB,UAAU,SAAS,UAAU,CAAC,MAAM,6BAA6B,OAAO,iBAAiB,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,OAAO,KAAK,KAAK,cAAc,IAAI,KAAK,KAAK,KAAK,WAAW,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,iBAAiB,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,iBAAiB,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,OAAO,KAAK,cAAc,KAAK,WAAW,EAAE,OAAO,eAAe,OAAO,iBAAiB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGD,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,QAAQ,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAE,CAAC,KAAK,OAAOA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,eAAe,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,eAAe,IAAI,SAAS,IAAE,CAAC,KAAK,cAAcA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,iBAAiB,UAAU,YAAY,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,YAAY,IAAI,SAAS,IAAE,CAAC,KAAK,WAAWA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,8BAA8B,SAAS,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,8BAA8B,IAAIA,IAAE,CAAC,KAAK,GAAGH,KAAG,OAAO,8BAA8B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,8BAA8B,UAAU,SAAS,UAAU,CAAC,MAAM,0CAA0C,OAAO,8BAA8B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,OAAO,8BAA8B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAE,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGG,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,8BAA8B,SAAS,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,8BAA8B,IAAIA,IAAE,CAAC,KAAK,GAAGH,KAAG,OAAO,8BAA8B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,8BAA8B,UAAU,SAAS,UAAU,CAAC,MAAM,0CAA0C,OAAO,8BAA8B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,OAAO,8BAA8B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAE,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,8BAA8B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGG,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,4BAA4B,SAAS,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,4BAA4B,IAAIA,IAAE,CAAC,KAAK,GAAGH,KAAG,OAAO,4BAA4B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,4BAA4B,UAAU,SAAS,UAAU,CAAC,MAAM,wCAAwC,OAAO,4BAA4B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,OAAO,4BAA4B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,4BAA4B,IAAK,GAAE,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,4BAA4B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGG,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,4BAA4B,SAAS,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,4BAA4B,IAAIA,IAAE,CAAC,KAAK,GAAGH,KAAG,OAAO,4BAA4B,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,4BAA4B,UAAU,SAAS,UAAU,CAAC,MAAM,wCAAwC,OAAO,4BAA4B,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,OAAO,4BAA4B,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,4BAA4B,IAAK,GAAE,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,4BAA4B,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGG,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,gCAAgC,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,iCAAiC,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,KAAG,OAAO,gCAAgC,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,gCAAgC,UAAU,SAAS,UAAU,CAAC,MAAM,4CAA4C,OAAO,gCAAgC,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,gCAAgC,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,gCAAgC,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,gCAAgC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGE,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,gCAAgC,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,iCAAiC,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,IAAE,KAAK,IAAID,IAAE,KAAK,IAAIG,KAAG,OAAO,gCAAgC,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,gCAAgC,UAAU,SAAS,UAAU,CAAC,MAAM,4CAA4C,OAAO,gCAAgC,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,gCAAgC,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,gCAAgC,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,OAAO,eAAe,OAAO,gCAAgC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGE,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,gCAAgC,UAAU,KAAK,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,KAAK,IAAI,SAAS,IAAE,CAAC,KAAK,IAAIA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,oCAAoC,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,qCAAqC,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oCAAoC,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oCAAoC,UAAU,SAAS,UAAU,CAAC,MAAM,gDAAgD,OAAO,oCAAoC,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oCAAoC,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oCAAoC,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oCAAoC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oCAAoC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,oCAAoC,SAAS,IAAE,IAAE,IAAE,CAAC,OAAO,WAAW,KAAK,KAAK,OAAO,WAAW,qCAAqC,IAAIA,IAAE,CAAC,KAAK,GAAGH,IAAE,KAAK,GAAGD,KAAG,OAAO,oCAAoC,UAAU,OAAO,OAAO,OAAO,WAAW,UAAU,CAAC,OAAO,oCAAoC,UAAU,SAAS,UAAU,CAAC,MAAM,gDAAgD,OAAO,oCAAoC,UAAU,cAAc,UAAU,CAAC,OAAO,KAAK,oBAAoB,IAAI,KAAK,GAAG,IAAI,KAAK,IAAI,OAAO,oCAAoC,UAAU,MAAM,UAAU,CAAC,OAAO,IAAI,OAAO,oCAAoC,IAAK,GAAE,KAAK,GAAG,KAAK,GAAG,EAAE,OAAO,eAAe,OAAO,oCAAoC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGI,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,oCAAoC,UAAU,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,IAAI,IAAI,SAAS,IAAE,CAAC,KAAK,GAAGA,IAAE,KAAK,iBAAiB,EAAE,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,UAAU,0BAA0B,UAAU,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAE,EAAE,OAAO,eAAe,UAAU,0BAA0B,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAEA,IAAEH,IAAE,EAAE,OAAO,eAAe,UAAU,0BAA0B,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAEG,IAAEH,IAAE,EAAE,OAAO,eAAe,UAAU,0BAA0B,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAEG,IAAEH,IAAE,EAAE,OAAO,eAAe,UAAU,0BAA0B,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oBAAoB,IAAK,GAAEG,IAAEH,IAAE,EAAE,OAAO,eAAe,UAAU,gCAAgC,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,0BAA0B,IAAK,GAAEG,IAAEH,IAAED,IAAED,IAAEG,IAAEJ,IAAE,EAAE,OAAO,eAAe,UAAU,gCAAgC,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,0BAA0B,IAAK,GAAEM,IAAEH,IAAED,IAAED,IAAEG,IAAEJ,IAAE,EAAE,OAAO,eAAe,UAAU,oCAAoC,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAEM,IAAEH,IAAED,IAAED,IAAE,EAAE,OAAO,eAAe,UAAU,oCAAoC,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAEK,IAAEH,IAAED,IAAED,IAAE,EAAE,OAAO,eAAe,UAAU,uBAAuB,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,iBAAiB,IAAK,GAAEK,IAAEH,IAAED,IAAED,IAAEG,IAAEJ,IAAEK,IAAE,EAAE,OAAO,eAAe,UAAU,uBAAuB,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,iBAAiB,IAAK,GAAEC,IAAEH,IAAED,IAAED,IAAEG,IAAEJ,IAAEK,IAAE,EAAE,OAAO,eAAe,UAAU,oCAAoC,SAAS,IAAE,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAEC,IAAE,EAAE,OAAO,eAAe,UAAU,oCAAoC,SAAS,IAAE,CAAC,OAAO,IAAI,OAAO,8BAA8B,IAAK,GAAEA,IAAE,EAAE,OAAO,eAAe,UAAU,kCAAkC,SAAS,IAAE,CAAC,OAAO,IAAI,OAAO,4BAA4B,IAAK,GAAEA,IAAE,EAAE,OAAO,eAAe,UAAU,kCAAkC,SAAS,IAAE,CAAC,OAAO,IAAI,OAAO,4BAA4B,IAAK,GAAEA,IAAE,EAAE,OAAO,eAAe,UAAU,sCAAsC,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,gCAAgC,IAAK,GAAEA,IAAEH,IAAED,IAAED,IAAE,EAAE,OAAO,eAAe,UAAU,sCAAsC,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,gCAAgC,IAAK,GAAEK,IAAEH,IAAED,IAAED,IAAE,EAAE,OAAO,eAAe,UAAU,0CAA0C,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oCAAoC,IAAK,GAAEK,IAAEH,IAAE,EAAE,OAAO,eAAe,UAAU,0CAA0C,SAAS,IAAE,IAAE,CAAC,OAAO,IAAI,OAAO,oCAAoC,IAAK,GAAEG,IAAEH,IAAE,EAAE,uBAAuB,OAAO,eAAe,YAAY,OAAO,eAAe,UAAU,mBAAmB,SAAS,IAAE,CAAC,GAAYG,MAAT,IAAK,IAAO,CAAC,SAASA,IAAE,CAAC,KAAK,qBAAqB,IAAMH,IAAE,SAAS,gBAAgB,6BAA6B,OAAO,CAAC,IAAE,aAAa,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAID,IAAEC,IAAE,YAAY,cAAc,EAAE,GAAGD,KAAG,EAAE,MAAO,GAAE,EAAE,CAA6B,GAA5B,IAAE,YAAY,WAAWA,IAAE,CAAII,IAAEH,IAAE,gBAAgB,CAAC,MAAM,YAAUD,IAAE,GAAG,OAAOA,QAAO,EAAE,mBAAmB,SAAS,EAAE,eAAe,OAAO,eAAe,cAAY,OAAO,eAAe,SAAS,IAAE,CAAC,KAAK,aAAaI,IAAE,KAAK,MAAM,KAAK,WAAW,KAAK,aAAa,aAAa,IAAI,CAAC,CAAC,KAAK,wBAAwB,CAAC,WAAW,GAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,KAAK,6BAA6B,IAAI,iBAAiB,KAAK,6BAA6B,KAAK,KAAK,CAAC,CAAC,KAAK,6BAA6B,QAAQ,KAAK,aAAa,KAAK,wBAAwB,EAAE,OAAO,eAAe,UAAU,UAAU,iBAAiB,OAAO,eAAe,OAAO,eAAe,UAAU,gBAAgB,CAAC,IAAI,UAAU,CAAqC,OAApC,KAAK,8BAA8B,CAAQ,KAAK,MAAM,QAAQ,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,eAAe,UAAU,SAAS,CAAC,IAAI,UAAU,CAAqC,OAApC,KAAK,8BAA8B,CAAQ,KAAK,MAAM,QAAQ,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,eAAe,UAAU,cAAc,CAAC,IAAI,UAAU,CAAwE,MAAvE,CAAoB,KAAK,eAAa,IAAI,OAAO,eAAe,KAAK,CAAS,KAAK,cAAc,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,eAAe,UAAU,wBAAwB,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,aAAa,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,eAAe,UAAU,sBAAsB,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,aAAa,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,OAAO,eAAe,UAAU,gCAAgC,CAAC,IAAI,UAAU,CAAC,OAAO,KAAK,aAAa,WAAW,GAAK,CAAC,CAAC,OAAO,eAAe,UAAU,6BAA6B,UAAU,CAAC,KAAK,6BAA6B,KAAK,6BAA6B,aAAa,CAAC,EAAE,OAAO,eAAe,UAAU,6BAA6B,SAAS,IAAE,CAAC,GAAG,CAAC,KAAK,aAAa,OAAO,IAAIH,IAAE,GAAM,IAAE,SAAS,SAAS,IAAE,CAAMG,IAAE,eAAP,MAAuB,IAAE,MAAQ,CAAC,MAAI,KAAK,MAAM,KAAK,WAAW,KAAK,aAAa,aAAa,IAAI,CAAC,GAAG,OAAO,eAAe,UAAU,iBAAiB,UAAU,CAAC,KAAK,6BAA6B,YAAY,CAAC,KAAK,aAAa,aAAa,IAAI,OAAO,eAAe,sBAAsB,KAAK,MAAM,CAAC,CAAC,KAAK,6BAA6B,QAAQ,KAAK,aAAa,KAAK,wBAAwB,EAAE,OAAO,eAAe,UAAU,eAAe,SAAS,IAAE,CAAC,KAAK,kBAAkB,EAAE,OAAO,eAAe,UAAU,MAAM,UAAU,CAAC,KAAK,8BAA8B,CAAC,KAAK,MAAM,SAAS,SAAS,IAAE,CAAC,IAAE,mBAAmB,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,KAAK,kBAAkB,EAAE,OAAO,eAAe,UAAU,WAAW,SAAS,IAAE,CAAsG,OAArG,KAAK,8BAA8B,CAAC,KAAK,MAAM,CAACA,IAAE,CAAC,IAAE,mBAAmB,KAAK,KAAK,kBAAkB,CAAQA,KAAG,OAAO,eAAe,UAAU,iBAAiB,SAAS,IAAE,CAAC,GAAG,MAAMA,IAAE,EAAEA,IAAE,GAAGA,KAAG,KAAK,cAAc,KAAK,kBAAkB,OAAO,eAAe,UAAU,QAAQ,SAAS,IAAE,CAA8D,OAA7D,KAAK,8BAA8B,CAAC,KAAK,iBAAiBA,IAAE,CAAQ,KAAK,MAAMA,MAAI,OAAO,eAAe,UAAU,iBAAiB,SAAS,IAAE,IAAE,CAAiM,OAAhM,KAAK,8BAA8B,CAAC,IAAE,KAAK,gBAAgB,IAAE,KAAK,eAAe,IAAE,qBAAqB,IAAEA,IAAE,OAAO,EAAE,KAAK,MAAM,OAAOH,IAAE,EAAEG,IAAE,CAAC,IAAE,mBAAmB,KAAK,KAAK,kBAAkB,CAAQA,KAAG,OAAO,eAAe,UAAU,YAAY,SAAS,IAAE,IAAE,CAAoK,OAAnK,KAAK,8BAA8B,CAAC,IAAE,qBAAqB,IAAEA,IAAE,OAAO,EAAE,KAAK,iBAAiBH,IAAE,CAAC,KAAK,MAAMA,KAAGG,IAAE,IAAE,mBAAmB,KAAK,KAAK,kBAAkB,CAAQA,KAAG,OAAO,eAAe,UAAU,WAAW,SAAS,IAAE,CAAC,KAAK,8BAA8B,CAAC,KAAK,iBAAiBA,IAAE,CAAC,IAAMH,IAAE,KAAK,MAAMG,KAAkD,OAA/C,KAAK,MAAM,OAAOA,IAAE,EAAE,CAAC,KAAK,kBAAkB,CAAQH,KAAG,OAAO,eAAe,UAAU,WAAW,SAAS,IAAE,CAA8I,OAA7I,KAAK,8BAA8B,CAAC,IAAE,qBAAqB,IAAEG,IAAE,OAAO,EAAE,KAAK,MAAM,KAAKA,IAAE,CAAC,IAAE,mBAAmB,KAAK,KAAK,kBAAkB,CAAQA,KAAG,OAAO,eAAe,sBAAsB,SAAS,IAAE,CAAC,IAAIH,IAAE,GAAOD,IAAE,GAAgG,OAA3F,IAAE,SAAS,SAAS,IAAE,CAAIA,KAAG,IAAE,GAAM,KAAGI,IAAE,eAAe,EAAM,KAAG,IAAIA,IAAE,eAAe,GAAG,CAAQH,KAAG,OAAO,eAAe,UAAU,WAAW,SAAS,IAAE,CAAC,GAAG,CAACG,KAAMA,IAAE,QAAL,EAAY,MAAM,EAAE,CAAC,IAAMH,IAAE,KAAW,QAAQ,UAAU,CAAC,KAAK,YAAY,EAAE,EAAE,QAAQ,UAAU,cAAc,SAAS,IAAE,CAAC,KAAK,YAAY,KAAKG,IAAE,EAAE,IAAM,OAAO,SAAS,IAAE,CAAC,KAAK,QAAQA,IAAE,KAAK,cAAc,EAAE,KAAK,UAAU,KAAK,QAAQ,OAAO,KAAK,iBAAiB,OAAO,WAAW,gBAAgB,KAAK,qBAAqB,EAAE,OAAO,UAAU,gBAAgB,UAAU,CAAC,IAAMA,IAAE,KAAK,QAAQ,KAAK,eAAe,OAAOA,KAAG,MAAWA,KAAL,KAAcA,KAAN;GAAeA,KAAN,KAAeA,KAAN,MAAeA,KAAN,OAAU,OAAO,UAAU,oBAAoB,UAAU,CAAC,KAAM,KAAK,cAAc,KAAK,WAAW,KAAK,iBAAiB,EAAC,KAAK,gBAAgB,OAAO,KAAK,cAAc,KAAK,WAAW,OAAO,UAAU,+BAA+B,UAAU,CAA0R,OAAtR,KAAK,cAAc,KAAK,WAAW,CAAC,KAAK,iBAAiB,EAAO,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,IAAoD,IAAS,KAAK,qBAAqB,EAAE,KAAK,cAAc,KAAK,WAAgB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,MAA8C,KAAK,gBAAgB,KAAK,qBAAqB,EAAQ,KAAK,cAAc,KAAK,YAAW,OAAO,UAAU,YAAY,UAAU,CAAC,OAAO,KAAK,cAAc,KAAK,WAAW,OAAO,UAAU,gBAAgB,UAAU,CAAC,IAAMA,IAAE,KAAK,QAAQ,KAAK,eAAe,OAAO,KAAK,qBAAqBA,IAAE,EAAE,OAAO,UAAU,qBAAqB,SAAS,IAAE,CAAC,OAAOA,IAAP,CAAU,IAAI,IAAI,IAAI,IAAI,OAAO,OAAO,WAAW,kBAAkB,IAAI,IAAI,OAAO,OAAO,WAAW,mBAAmB,IAAI,IAAI,OAAO,OAAO,WAAW,mBAAmB,IAAI,IAAI,OAAO,OAAO,WAAW,mBAAmB,IAAI,IAAI,OAAO,OAAO,WAAW,mBAAmB,IAAI,IAAI,OAAO,OAAO,WAAW,0BAA0B,IAAI,IAAI,OAAO,OAAO,WAAW,0BAA0B,IAAI,IAAI,OAAO,OAAO,WAAW,8BAA8B,IAAI,IAAI,OAAO,OAAO,WAAW,8BAA8B,IAAI,IAAI,OAAO,OAAO,WAAW,gBAAgB,IAAI,IAAI,OAAO,OAAO,WAAW,gBAAgB,IAAI,IAAI,OAAO,OAAO,WAAW,8BAA8B,IAAI,IAAI,OAAO,OAAO,WAAW,8BAA8B,IAAI,IAAI,OAAO,OAAO,WAAW,4BAA4B,IAAI,IAAI,OAAO,OAAO,WAAW,4BAA4B,IAAI,IAAI,OAAO,OAAO,WAAW,iCAAiC,IAAI,IAAI,OAAO,OAAO,WAAW,iCAAiC,IAAI,IAAI,OAAO,OAAO,WAAW,qCAAqC,IAAI,IAAI,OAAO,OAAO,WAAW,qCAAqC,QAAQ,OAAO,OAAO,WAAW,kBAAkB,OAAO,UAAU,mBAAmB,SAAS,IAAE,IAAE,CAAC,OAAYA,KAAL,KAAaA,KAAL,KAAaA,KAAL,KAAQA,KAAG,KAAKA,KAAG,MAAMH,KAAG,OAAO,WAAW,kBAAkBA,KAAG,OAAO,WAAW,mBAAmB,OAAO,WAAW,mBAAmBA,KAAG,OAAO,WAAW,mBAAmB,OAAO,WAAW,mBAAmBA,IAAE,OAAO,WAAW,iBAAiB,OAAO,UAAU,uBAAuB,UAAU,CAAC,GAAG,CAAC,KAAK,aAAa,CAAC,MAAO,GAAK,IAAMG,IAAE,KAAK,iBAAiB,CAAC,OAAOA,KAAG,OAAO,WAAW,oBAAoBA,KAAG,OAAO,WAAW,oBAAoB,OAAO,UAAU,aAAa,UAAU,CAAC,IAAIA,IAAE,EAAMH,IAAE,EAAMD,IAAE,EAAMD,IAAE,EAAMG,IAAE,EAAMJ,IAAE,EAAQK,IAAE,KAAK,cAAoQ,GAAtP,KAAK,qBAAqB,CAAI,KAAK,cAAc,KAAK,WAAgB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,IAA6C,KAAK,gBAAwB,KAAK,cAAc,KAAK,WAAgB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,MAA8C,KAAK,gBAAgB,IAAE,IAAM,KAAK,eAAe,KAAK,YAAY,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,MAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,IAA6C,OAAO,IAAME,IAAE,KAAK,cAAc,KAAM,KAAK,cAAc,KAAK,WAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAI,KAAK,gBAAgB,GAAG,KAAK,eAAeA,IAAE,CAAC,IAAID,IAAE,KAAK,cAAc,EAAMJ,IAAE,EAAE,KAAMI,KAAGC,KAAG,KAAGL,KAAG,KAAK,QAAQ,OAAO,MAAI,CAAC,KAAK,KAAG,GAAI,GAAG,KAAK,cAAc,KAAK,WAAgB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,IAA6C,CAAsB,GAArB,KAAK,gBAAmB,KAAK,eAAe,KAAK,WAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,IAAI,OAAO,KAAM,KAAK,cAAc,KAAK,WAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAK,KAAG,GAAG,MAAI,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,KAAKA,IAAE,KAAK,eAAe,EAAG,GAAG,KAAK,eAAeG,KAAG,KAAK,cAAc,EAAE,KAAK,YAAiB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,KAAmD,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,MAAoD,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,EAA9C,KAAqD,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,EAA9C,IAA+C,CAA2K,GAA1K,KAAK,gBAAwB,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,IAA6C,KAAK,gBAA6B,KAAK,QAAQ,OAAO,KAAK,cAAc,EAA5C,MAA8C,KAAK,gBAAgB,IAAE,IAAM,KAAK,eAAe,KAAK,WAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,IAAI,OAAO,KAAM,KAAK,cAAc,KAAK,WAAW,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAK,KAAK,QAAQ,OAAO,KAAK,cAAc,EAAE,KAAK,KAAG,GAAG,KAAG,KAAK,QAAQ,OAAO,KAAK,cAAc,CAAC,IAAI,KAAK,gBAAiB,IAAIG,IAAEL,IAAEF,IAAgC,GAA9B,KAAGG,IAAE,MAAI,KAAY,KAAGJ,IAAEM,MAAOD,KAAG,KAAK,cAAqD,OAAtC,KAAK,gCAAgC,CAAQG,KAAI,OAAO,UAAU,cAAc,UAAU,CAAC,GAAG,KAAK,eAAe,KAAK,UAAU,OAAO,IAAIF,IAAE,GAAYH,IAAE,KAAK,QAAQ,OAAO,KAAK,gBAAgB,CAAC,GAAQA,KAAL,IAAO,IAAE,OAAU,CAAC,GAAQA,KAAL,IAAO,OAAO,IAAE,GAA2C,OAAtC,KAAK,gCAAgC,CAAQG,KAAG,OAAO,UAAU,aAAa,UAAU,CAAC,IAAMA,IAAE,KAAK,QAAQ,KAAK,eAAmBJ,IAAE,KAAK,qBAAqBI,IAAE,CAAC,GAAGJ,KAAG,OAAO,WAAW,gBAA4I,IAAxH,KAAK,kBAAkB,OAAO,WAAW,kBAA4B,IAAE,KAAK,mBAAmBI,IAAE,KAAK,iBAAiB,CAAIJ,KAAG,OAAO,WAAW,iBAAgB,OAAO,UAAU,KAAK,gBAAgB,KAAK,iBAAiBA,IAAE,IAAID,IAAE,OAAOC,IAAP,CAAU,KAAK,OAAO,WAAW,mBAAmB,OAAO,IAAI,OAAO,oBAAoBC,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,mBAAmB,OAAO,IAAI,OAAO,oBAAoBA,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,mBAAmB,OAAO,IAAI,OAAO,oBAAoBA,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,mBAAmB,OAAO,IAAI,OAAO,oBAAoBA,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,8BAA8B,OAAO,IAAI,OAAO,8BAA8BA,IAAE,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,8BAA8B,OAAO,IAAI,OAAO,8BAA8BA,IAAE,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,4BAA4B,OAAO,IAAI,OAAO,4BAA4BA,IAAE,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,4BAA4B,OAAO,IAAI,OAAO,4BAA4BA,IAAE,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,kBAA6C,OAA3B,KAAK,qBAAqB,CAAQ,IAAI,OAAO,oBAAoBA,IAAE,CAAC,KAAK,OAAO,WAAW,0BAAsK,MAA5I,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,0BAA0BA,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAGA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,0BAAsK,MAA5I,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,0BAA0BE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAGA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,iCAA+H,MAA9F,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,gCAAgCE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,iCAA+H,MAA9F,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,gCAAgCE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,8BAA4H,MAA9F,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,8BAA8BE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,8BAA4H,MAA9F,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,8BAA8BE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAG,CAAC,KAAK,OAAO,WAAW,qCAAqC,OAAO,IAAI,OAAO,oCAAoCE,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,qCAAqC,OAAO,IAAI,OAAO,oCAAoCA,IAAE,KAAK,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,OAAO,WAAW,gBAAuM,MAAvL,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,iBAAiBA,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAGA,IAAE,SAASA,IAAE,SAASA,IAAE,SAAS,CAAC,KAAK,OAAO,WAAW,gBAAuM,MAAvL,KAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,SAAS,KAAK,cAAc,CAAC,SAAS,KAAK,eAAe,CAAC,SAAS,KAAK,eAAe,CAAC,EAAE,KAAK,cAAc,CAAC,EAAE,KAAK,cAAc,CAAC,CAAQ,IAAI,OAAO,iBAAiBE,IAAEF,IAAE,EAAEA,IAAE,EAAEA,IAAE,GAAGA,IAAE,GAAGA,IAAE,SAASA,IAAE,SAASA,IAAE,SAAS,CAAC,QAAQ,KAAK,2BAA2B,IAAMC,IAAE,IAAI,QAAcD,IAAE,IAAI,OAAOK,IAAE,CAAC,GAAG,CAACL,IAAE,wBAAwB,CAAC,MAAM,EAAE,CAAC,KAAMA,IAAE,aAAa,EAAC,CAAC,IAAMK,IAAEL,IAAE,cAAc,CAAC,GAAG,CAACK,IAAE,MAAM,EAAE,CAAC,IAAE,cAAcA,IAAE,CAAC,OAAOJ,IAAE,oBAAoBI,IAAE,CAAC,QAAQ,KAAK,+JAA+JA,IAAE,KAAK,CAAO,sBAAN,KAA2B,CAAC,aAAa,CAAC,KAAK,MAAM,IAAIA,aAAE,KAAK,MAAM,GAAG,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAC,IAAIL,IAAKC,MAAG,KAAK,MAAMI,aAAE,OAAO,KAAK,MAAMJ,IAAE,MAAM,CAAY,OAAO,KAAK,MAAM,OAA7B,WAAqC,KAAK,QAAkBC,cAAE,KAAK,MAAM,MAAM,EAAgB,KAAK,SAAkBD,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,UAAe,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,OAAO,IAAI,sBAAsB,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,MAAM,IAAI,UAAU,IAAE,CAAC,KAAK,OAAO,MAAMI,aAAE,OAAO,KAAK,OAAO,MAAMH,IAAE,CAAC,IAAI,WAAW,CAAC,OAAO,KAAK,OAAO,MAAM,IAAI,UAAU,IAAE,CAAC,KAAK,OAAO,MAAMG,IAAE,KAAK,IAAE,CAAC,IAAIH,IAAE,GAAG,CAACG,IAAE,OAAgBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,IAAMJ,IAAYI,IAAE,QAAsB,CAAC,MAAMA,IAAE,UAAU,MAAMA,IAAE,UAAU,CAAC,KAAK,OAAO,KAAKJ,IAAE,GAAQ,kBAAN,KAAuB,CAAC,aAAa,CAAC,KAAK,YAAY,gBAAgB,KAAK,IAAE,CAAC,KAAYI,IAAE,cAAX,IAAK,KAAoB,KAAK,YAAYA,IAAE,eAAoB,oBAAN,KAAyB,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,IAAE,CAAIA,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAkBA,IAAE,OAAX,IAAK,KAAqBA,IAAE,KAAK,QAAhB,IAAK,KAAmB,KAAK,KAAK,MAAMA,IAAE,KAAK,OAAgBA,IAAE,KAAK,SAAhB,IAAK,KAAoB,KAAK,KAAK,OAAOA,IAAE,KAAK,YAAiB,gBAAN,KAAqB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAG,KAAK,KAAK,OAAO,KAAK,IAAE,CAAIA,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,gBAAgB,KAAK,OAAO,GAAM,KAAK,OAAO,IAAI,kBAAkB,KAAK,KAAK,IAAI,gBAAgB,KAAK,MAAM,EAAE,KAAK,KAAK,OAAO,IAAI,mBAAmB,CAAC,OAAO,KAAK,OAAO,YAAY,IAAI,kBAAkB,IAAE,CAAC,KAAK,OAAO,YAAYA,IAAE,KAAK,IAAE,CAAIA,MAAG,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAC,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,KAAK,KAAKA,IAAE,KAAK,CAAUA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,SAAX,IAAK,GAAkC,KAAK,OAAgB,KAAK,OAAd,OAAjC,KAAK,OAAOA,IAAE,OAA+CA,IAAE,MAAX,IAAK,KAAY,KAAK,IAAIA,IAAE,KAAiBA,IAAE,OAAX,IAAK,KAAyB,OAAOA,IAAE,MAApB,SAAyB,KAAK,KAAKA,IAAE,MAAU,KAAK,KAAK,IAAI,oBAAoB,KAAK,KAAK,KAAKA,IAAE,KAAK,GAAUA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASJ,WAAE,EAAE,CAACI,IAAE,SAAS,KAAg1DI,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAAST,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACG,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOD,KAApB,WAAsBG,MAAIH,KAAG,CAACC,IAAE,CAACD,IAAE,IAAIG,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYL,MAAN,IAAQG,IAAE,KAAKE,IAAEJ,IAAE,CAACE,IAAE,IAAE,MAAMF,IAAEC,IAAE,IAAIG,IAAEJ,IAAE,CAACA,KAAQS,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAAST,MAAN,KAAS,CAACD,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBG,MAAIH,KAAG,CAACF,IAAE,CAACE,IAAE,IAAIG,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYJ,MAAN,IAAQD,IAAQC,MAAN,IAAQD,IAAE,KAAKK,IAAE,CAACL,IAAEA,IAAE,MAAME,IAAE,IAAIG,IAAE,EAAe,oBAAN,KAAyB,CAAC,YAAY,IAAE,IAAE,CAAC,KAAK,UAAUA,IAAE,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEH,IAAE,IAAI,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,gBAAgB,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,YAAY,KAAK,sBAAsB,KAAK,QAAQ,KAAK,OAAOG,IAAE,OAAO,WAAW,mBAAmB,IAAE,CAAC,IAAMH,IAAE,KAAK,QAAQ,OAAOA,IAAE,QAAiBA,IAAE,OAAX,QAA4BA,IAAE,OAAb,UAAmB,KAAK,mBAAmBG,IAAE,CAAC,KAAK,IAAE,CAAC,IAAIH,IAAE,GAAG,CAAY,KAAK,OAA4B,OAAQ,OAAO,IAAMD,IAAE,KAAK,QAAQD,IAAEC,IAAE,KAAK,GAAG,CAACA,IAAE,QAAQ,CAACD,IAAE,OAAO,OAAO,IAAMG,IAAE,KAAK,IAAI,IAAI,IAAMD,OAAK,KAAK,MAAM,CAAC,IAAMD,IAAEC,IAAE,OAAOH,IAAE,KAAK,gBAAgB,MAAIA,KAAGE,KAAG,KAAK,OAAO,oBAAoBI,IAAEJ,IAAED,IAAE,OAAO,KAAK,OAAO,CAACG,KAAG,gBAAgBE,IAAEF,IAAEH,IAAE,OAAO,GAAG,MAAM,UAAU,IAAE,CAAC,KAAK,QAAQ,KAAYK,KAAuB,QAAQ,CAAC,IAAMH,IAAE,KAAK,QAAQ,KAAK,sBAAsBA,IAAE,KAAK,OAAO,KAAK,UAAU,OAAO,WAAW,IAAE,QAAQ,MAAM,KAAK,aAAa,CAAC,eAAe,IAAE,IAAE,IAAE,CAAC,OAAO,KAAK,cAAcG,IAAEH,IAAED,IAAE,CAAC,iBAAiB,IAAE,CAAC,IAAIC,IAAEF,IAAuB,GAAb,KAAK,QAAa,SAA6B,KAAK,KAA0B,QAAsB,GAAG,EAAE,OAAOC,WAAE,EAAE,CAACI,KAAG,KAAK,aAAa,CAAC,CAAC,yBAAyB,CAAC,IAAMA,IAAE,KAAK,QAAoJ,OAAzIA,IAAE,QAAmBA,IAAE,OAAb,WAAsCA,IAAE,OAAO,cAA3B,iBAAsDA,IAAE,OAAO,cAAvB,cAAqC,KAAK,YAAY,CAAQ,IAAY,GAAM,QAAQ,CAAC,IAAMA,IAAE,KAAK,UAAUH,IAAE,KAAK,QAAWA,IAAE,QAAiBA,IAAE,OAAX,SAAiB,KAAK,eAAe,aAAa,KAAK,cAAc,CAAC,KAAK,cAAc,OAAO,YAAY,SAAS,CAAC,MAAM,KAAK,YAAY,GAAK,CAAC,MAAMG,IAAE,UAAU,QAAQ,GAAG,IAAI,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,OAAO,KAAK,MAAM,mBAAmB,IAAE,CAAC,IAAIH,IAAED,IAAE,IAAMD,IAAE,KAAK,UAAUG,IAAE,KAAK,QAAQ,GAAG,CAACA,IAAE,QAAiBA,IAAE,OAAX,QAA4BA,IAAE,OAAb,SAAkB,MAAO,GAAK,GAAG,CAAC,KAAK,IAAI,MAAU,MAAMG,EAAE,CAAC,IAAMP,IAAEC,IAAE,OAAO,KAAKI,IAAmBC,KAAuB,GAAiBE,WAAG,CAACR,IAAE,MAAMS,IAAmBH,KAAuB,GAAiBE,WAAG,CAACR,IAAE,OAAWY,IAAE,GAAM,IAAI,IAAIN,IAAE,EAAEH,IAAE,KAAK,IAAI,OAAO,EAAEG,IAAE,KAAK,IAAI,OAAO,IAAE,MAAI,CAAC,IAAMJ,IAAE,KAAK,IAAII,KAAGL,IAAE,KAAK,IAAIE,KAAKD,IAAE,EAAEO,KAAIR,IAAE,EAAEQ,KAAGJ,KAAGJ,IAAE,EAAEC,IAAE,IAAIO,IAAEP,IAAE,IAAID,IAAE,EAAEC,IAAE,GAAGA,IAAE,IAAM,IAAE,CAACU,KAAG,OAAiBR,IAAE,OAAb,SAAkBQ,IAAcR,IAAE,OAAd,WAAoB,CAACQ,IAAE,cAAc,CAAC,IAAIN,IAAEH,IAAE,IAAMD,IAAE,KAAK,QAAQ,GAAG,KAAK,iBAA4B,KAAK,OAA4B,OAAQ,IAAI,IAAMI,OAAK,KAAK,MAAM,CAAC,IAAML,IAAYK,IAAE,SAA8B,aAAa,IAAI,CAAC,GAAGL,IAAE,CAAC,IAAME,IAAE,IAAI,OAAOF,IAAE,CAACG,IAAE,SAAS,gBAAgB,6BAA6B,MAAM,CAAC,iBAAiB,CAACJ,IAAE,IAAI,OAAOK,IAAED,IAAE,MAAMF,IAAE,MAAM,CAAIF,IAAE,SAAS,IAAE,QAAQG,IAAEE,IAAE,CAAC,IAAE,OAAOL,KAAO,OAAOM,IAAE,YAAY,OAAOA,IAAE,OAAU,CAACA,IAAE,QAAQ,KAAK,MAAK,IAAE,OAAO,IAAI,OAAO,IAAE,OAAO,OAAO,KAAK,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,IAAE,MAAI,CAAC,IAAIL,IAAE,IAAE,KAAY,IAAEK,IAAE,SAAZ,MAAuCL,IAAE,OAAOE,IAAE,EAAEA,IAAE,EAAE,IAAI,CAAC,IAAE,OAAO,WAAW,GAAG,MAAM,gBAAgB,IAAE,IAAE,CAAC,IAAMD,IAAE,KAAK,QAAQD,IAAEK,KAAGJ,IAAE,IAAIE,IAASD,KAAP,MAAsBA,IAAE,GAAG,CAACF,KAAY,KAAK,QAAd,IAAK,IAAgB,CAACG,IAAE,OAAO,KAAK,IAAI,IAAMJ,IAAE,MAAM,MAAMC,IAAE,CAAC,GAAG,CAACD,IAAE,GAAG,MAAU,MAAM,kEAAkE,CAAC,OAAO,KAAK,aAAa,MAAMA,IAAE,MAAM,CAACG,IAAE,CAAC,YAAY,CAAC,GAAG,KAAK,IAAI,IAAI,IAAMG,OAAK,KAAK,IAAI,KAAK,UAAU,UAAU,YAAY,CAAC,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,CAAC,2BAA2B,IAAE,CAAC,IAAIH,IAAED,IAAED,IAAEG,IAAEJ,IAAEK,IAAEE,IAAE,IAAMC,IAAE,KAAK,UAAU,cAAcI,IAAE,KAAK,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAY,KAAK,OAA4B,OAAQ,MAAU,MAAMH,EAAE,CAAC,IAAII,IAAEH,IAAE,EAAmDI,IAAzC,KAAK,MAAM,SAAS,IAAE,MAAIR,IAAEH,IAAE,QAAQ,EAAE,CAAKK,IAAE,UAAU,OAAO,MAAM,IAAI,IAAML,OAAK,KAAK,MAAM,CAAC,IAAMD,IAAEY,IAAER,IAAEI,IAAE,GAAGR,KAAGC,IAAE,OAAO,CAAC,IAAEA,IAAE,QAAQ,iBAAiBD,IAAE,CAAC,MAAM,KAAGC,IAAE,OAAO,MAAM,CAAC,GAAoBU,KAAuB,GAAiB,GAAGD,IAAE,OAA2B,KAAK,QAA6B,GAAiB,GAAG,GAAoBC,KAAuB,GAAiB,GAAGD,IAAE,OAA2B,KAAK,QAA6B,GAAiB,GAAG,CAAC,gBAAgB,IAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,OAAO,MAAU,MAAMH,EAAE,CAAC,IAAMN,IAAE,KAAK,IAAIG,IAAE,KAAK,IAAI,QAAQ,MAAM,CAAC,EAAEH,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,OAAO,MAAU,MAAMM,EAAE,CAAC,IAAMH,IAAEM,cAAE,KAAK,IAAI,CAAC,MAAM,CAAC,EAAEN,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,wBAAwB,CAAC,IAAIA,IAAEH,IAAED,IAAE,IAAMD,IAAE,KAAK,QAAQ,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,QAAQ,CAAY,KAAK,OAA4B,OAAQ,MAAU,MAAMQ,EAAE,CAAC,IAAML,IAAEQ,cAAE,KAAK,MAAM,CAACZ,IAAE,KAAK,MAAMQ,WAAG,CAACJ,IAAE,OAAO,CAAC,EAAEC,IAAED,IAAE,QAAQ,iBAAiBJ,IAAE,CAAC,MAAM,CAAC,EAAEK,IAAE,EAAEJ,IAAE,OAAkB,KAAK,QAA6B,GAAI,GAAG,EAAEI,IAAE,EAAEJ,IAAE,OAAkB,KAAK,QAA6B,GAAI,GAAG,CAAC,MAAM,YAAY,IAAE,CAAC,IAAME,IAAE,KAAK,QAAQ,GAAGA,IAAE,IAAI,KAAK,IAAI,MAAM,KAAK,gBAAgBA,IAAE,IAAIG,IAAE,SAASH,IAAE,KAAK,CAAC,IAAMD,IAAEC,IAAE,KAASF,IAAE,GAAc,OAAOC,KAAlB,SAAoB,CAAC,IAAMI,IAAEJ,IAAE,gBAAgB,MAAMA,IAAE,KAAK,KAAK,KAAG,YAAYI,IAAE,OAAO,CAAC,KAAK,GAAG,CAAC,YAAYJ,IAAE,KAAK,MAA8F,IAAE,6FAAoBA,IAAE,KAAK,MAAM,YAAYA,IAAE,KAAK,OAAO,IAAII,IAAE,aAAa,IAAEJ,IAAE,KAAK,IAAI,KAAK,aAAaD,IAAEK,IAAE,CAAC,KAAK,cAAc,CAAC,IAAE,KAAK,EAAE,IAAI,CAAC,cAAc,oBAAoB,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC,aAAa,IAAE,IAAE,CAAC,IAAIJ,IAAED,IAAEG,IAAE,IAAMJ,IAASG,KAAP,MAAsBA,IAAE,GAAY,KAAK,QAAd,IAAK,IAAgB,CAACH,IAAE,OAAO,KAAK,IAAI,IAAMK,IAAE,KAAK,UAAUE,IAAE,KAAK,QAAwBE,IAAd,IAAI,WAAS,CAAK,gBAAgBH,IAAE,gBAAgB,CAACM,IAAEH,IAAE,qBAAqB,MAAM,CAAC,GAAOI,IAAED,IAAE,qBAAqB,OAAO,CAAC,IAAE,SAAS,IAAEH,IAAE,qBAAqB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC,IAAI,IAAIH,IAAE,EAAEA,IAAEO,IAAE,OAAO,MAAI,CAAC,IAAMV,IAAEU,IAAE,KAAKP,IAAE,CAAC,KAAG,KAAK,MAAM,KAAK,CAAC,QAAQH,IAAE,OAAOA,IAAE,gBAAgB,CAAC,CAAC,CAAC,IAAMO,IAAEL,IAAE,OAAO,WAAWM,IAAEJ,IAAE,MAAMG,IAAE,KAAK,UAAU,MAAM,WAAqBE,IAAE,aAAa,QAAQ,EAAgB,IAAI,CAACD,IAAE,KAAK,UAAU,OAAO,WAAqBC,IAAE,aAAa,SAAS,EAAgB,IAAI,CAACD,IAAE,IAAMG,IAAYP,IAAE,UAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAmI,MAAlI,MAAK,OAAO,CAAC,EAAEF,IAAE,OAAO,KAAK,MAAMS,IAAE,GAAG,IAAIJ,KAAG,KAAK,UAAU,MAAM,EAAE,EAAEL,IAAE,OAAO,KAAK,OAAOS,IAAE,GAAG,IAAIJ,KAAG,KAAK,UAAU,OAAO,EAAE,CAAQ,WAAW,KAAK,MAAMC,IAAE,KAAK,OAAO,CAAC,cAAc,IAAE,IAAE,IAAE,CAAC,IAAMV,IAAE,KAAK,QAAQ,GAAG,CAAC,KAAK,KAAK,CAACA,IAAE,QAAgBC,MAAR,MAAU,MAAO,GAAM,GAAcD,IAAE,OAAb,UAA+BA,IAAE,OAAd,UAAmB,CAAC,IAAIE,IAAED,IAAED,IAAQG,IAAEE,IAAE,aAAa,CAACD,IAAEC,IAAE,WAAW,CAAC,IAAI,IAAIC,IAAE,EAAEC,IAAE,KAAK,IAAI,OAAO,EAAED,IAAE,KAAK,IAAI,OAAO,IAAE,MAAI,CAAC,IAAME,IAAE,KAAK,IAAIF,KAAGK,IAAE,KAAK,IAAIJ,KAAG,IAAE,uBAAuBC,IAAEG,IAAER,IAAE,CAAC,IAAMS,IAAEb,aAAEI,IAAED,IAAE,CAAmB,GAAlB,CAACD,IAAED,KAAG,CAACY,IAAE,GAAGA,IAAE,GAAG,CAAIA,IAAE,SAASR,IAAiC,OAA9B,cAAcI,IAAEG,IAAEN,IAAE,SAAS,CAAQ,GAAM,GAAGH,KAAYD,MAAT,IAAK,IAAgBD,MAAT,IAAK,IAAO,CAAC,KAAK,mBAAmBG,IAAE,CAAC,CAAC,IAAMF,IAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAA+H,OAA9H,IAAE,SAAS,GAAGC,IAAE,IAAI,IAAE,EAAE,IAAI,IAAE,SAAS,GAAGA,IAAE,IAAI,IAAE,EAAE,IAAI,IAAE,SAAS,EAAEA,IAAE,EAAE,EAAEE,IAAEH,IAAE,EAAE,IAAE,SAAS,EAAEC,IAAE,EAAE,EAAEE,IAAEH,IAAE,EAAE,IAAE,SAAS,KAAK,GAAG,CAAQ,YAAyBD,IAAE,OAAb,UAAmBK,IAAE,iBAAyBO,YAAEP,IAAE,gBAAgBA,IAAE,aAAa,CAAC,CAAM,KAAK,sBAAyG,MAAlF,KAAE,SAAS,EAAEA,IAAE,SAAS,EAAE,EAAEA,IAAE,SAAS,EAAE,IAAE,SAAS,EAAEA,IAAE,SAAS,EAAE,EAAEA,IAAE,SAAS,EAAS,GAAM,MAAO,GAAM,aAAa,CAAC,IAAMA,IAAE,KAAK,UAAUH,IAAE,KAAK,QAAYD,IAAE,GAAcC,IAAE,OAAb,SAAkB,OAAOA,IAAE,OAAO,YAAhB,CAA6B,IAAI,eAAe,IAAE,KAAK,gBAAgB,CAAC,MAAM,IAAI,gBAAgB,IAAE,KAAK,wBAAwB,CAAC,MAAM,IAAI,cAAc,IAAE,KAAK,2BAA2BG,IAAE,UAAU,MAAM,CAAC,MAAM,IAAI,gBAAgB,IAAI,YAAY,QAAQ,IAAE,KAAK,gBAAgBA,IAAE,UAAU,MAAM,MAAM,IAAE,CAAC,EAAEE,WAAG,CAACF,IAAE,OAAO,KAAK,MAAM,EAAEE,WAAG,CAACF,IAAE,OAAO,KAAK,OAAO,CAAC,OAAO,KAAK,mBAAmBJ,IAAE,CAACA,IAAE,KAAK,aAAa,GAAE,EAAE,IAAI,QAAY,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACG,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOD,KAApB,WAAsBG,MAAIH,KAAG,CAACC,IAAE,CAACD,IAAE,IAAIG,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYL,MAAN,IAAQG,IAAE,KAAKE,IAAEJ,IAAE,CAACE,IAAE,IAAE,MAAMF,IAAEC,IAAE,IAAIG,IAAEJ,IAAE,CAACA,KAAQa,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASb,MAAN,KAAS,CAACD,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBG,MAAIH,KAAG,CAACF,IAAE,CAACE,IAAE,IAAIG,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYJ,MAAN,IAAQD,IAAQC,MAAN,IAAQD,IAAE,KAAKK,IAAE,CAACL,IAAEA,IAAE,MAAME,IAAE,IAAIG,IAAE,EAAe,kBAAN,KAAuB,CAAC,YAAY,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,KAAK,GAAG,cAAc,EAAE,KAAKU,IAAEV,IAAE,IAAI,CAAC,UAAU,IAAE,CAAC,OAAO,IAAI,oBAAoBA,IAAES,IAAE,KAAKC,IAAE,IAAI,CAAC,CAAC,YAAY,IAAE,IAAE,CAAC,GAAG,CAAC,KAAK,YAAYb,IAAE,CAAC,OAAO,IAAMD,IAAEI,IAAML,IAAEC,IAAE,QAAyBD,KAAuB,OAAxC,IAAK,KAA2C,IAAE,QAAQ,IAAE,IAAI,aAAa,IAAE,KAAYE,KAAuB,QAAQ,CAAC,YAAY,IAAE,CAAC,IAAIA,IAAED,IAAED,IAAE,OAAkCK,KAAuB,SAA8B,SAAiDA,KAAuB,SAA8B,OAAhF,IAAK,IAA2FA,IAAE,QAAQ,OAAnB,UAAyB,IAAE,IAAI,WCA/ynD,SAAS,WAAW,IAAE,IAAE,CAAC,IAAMW,IAAEC,IAAE,QAAQ,KAAK,GAAG,CAACA,IAAE,MAAM,CAASD,KAAuB,OAAQ,OAAO,IAAME,IAAED,IAAE,KAAK,MAAME,IAAE,OAAOC,IAAE,EAAE,KAAK,GAAG,IAAE,KAAK,OAAOF,IAAE,IAAE,KAAK,MAAME,MAAI,IAAE,KAAK,OAAOA,KAA2nC,eAAe,gBAAgB,IAAE,CAAC,MAAMH,IAAE,mBAAmB,YAAY,IAAI,aAAa,wEAA/8D,CAAM,UAAN,KAAe,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,IAAE,CAAIE,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMF,cAAEE,IAAE,MAAM,KAAU,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,GAAM,KAAK,UAAU,IAAI,UAAU,KAAK,KAAK,WAAW,KAAK,MAAM,GAAG,KAAK,IAAE,CAAIH,MAAYA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUG,aAAE,OAAO,KAAK,UAAUH,IAAE,UAAU,EAAE,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAQ,KAAK,UAAU,KAAKA,IAAE,UAAU,CAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAeA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMC,cAAED,IAAE,MAAM,KAAiN,YAAN,KAAiB,CAAC,mBAAmB,IAAE,CAAC,IAAIG,IAAE,IAAMH,IAAaC,IAAE,MAA2B,QAASA,IAAE,KAAKC,IAAEF,KAAGA,IAAE,WAAWI,IAAEJ,KAAGA,IAAE,SAAS,MAAM,CAAC,EAAEE,IAAE,KAAK,IAAIF,IAAE,MAAM,CAAC,IAAK,GAAE,EAAEI,IAAE,KAAK,IAAIJ,IAAE,MAAM,CAAC,IAAK,GAAE,CAAC,KAAK,IAAE,CAAC,IAAMG,IAAEF,IAAE,QAAQ,KAAK,GAAUE,KAAuB,OAA0K,GAAlK,IAAE,KAAK,CAAC,OAAOA,IAAE,OAAO,WAA0BA,IAAE,OAAjB,cAAgCA,IAAE,OAAX,OAAgB,SAAsBA,IAAE,OAAf,YAA8BA,IAAE,OAAX,OAAgB,MAAMH,WAAG,CAAC,KAAK,GAAG,EAAE,MAAME,cAAEC,IAAE,MAAM,CAAC,IAAI,CAAIA,IAAE,UAAU,IAAE,UAAUC,gBAAED,IAAE,UAAU,SAASA,IAAE,OAAO,QAAQA,IAAE,UAAU,OAAO,CAAC,IAAMC,IAAEJ,WAAG,EAAE,GAAG,SAAS,YAAY,IAAE,KAAK,MAAM,CAAC,KAAKI,IAAE,MAAMF,cAAaE,MAAX,SAAaD,IAAE,OAAO,MAAMA,IAAE,UAAU,MAAM,CAAC,MAAM,IAAE,OAAO,OAAO,IAAE,KAAK,MAAM,CAAC,KAAK,SAAS,MAAMD,cAAEC,IAAE,OAAO,MAAM,CAAC,CAACA,IAAE,UAAU,SAAS,IAAE,KAAK,MAAM,CAAC,KAAK,YAAY,MAAMD,cAAEC,IAAE,UAAU,MAAM,CAAC,OAAO,IAAE,KAAK,CAAC,OAAO,GAAM,WAAW,GAAM,SAAS,GAAM,MAAM,EAAE,MAAM,EAAE,CAAC,UAAU,IAAE,CAAC,IAAMA,IAAEF,IAAE,QAAQ,KAAK,MAAM,CAACA,IAAE,WAAW,CAACA,IAAE,UAAU,CAAC,CAASE,KAAuB,OAAQ,YAAY,IAAE,GAAGA,IAAE,CAAC,AAAS,IAAE,OAAK,IAAI,KAAM,IAAI,IAAMH,OAAKG,IAAE,IAAE,KAAK,KAAYH,KAAuB,KAAK,CAAC,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUC,IAAE,EAAE,WAAWA,IAAEE,IAAE,yCCAz+D,QAAQ,KAAG,CAAC,IAAM,aAAa,IAAE,MAAIE,IAAE,KAAKC,IAAEC,IAAE,CAAqK,MAApK,aAAY,MAAM,IAAE,IAAE,MAAI,CAAC,IAAE,SAASD,IAAEC,IAAE,CAAC,MAAM,KAAG,CAAC,KAAGC,IAAEH,IAAE,GAAG,CAAC,WAAW,CAAC,IAAE,IAAK,GAAE,GAAG,EAAE,YAAY,kBAAkB,KAAG,CAAC,IAAE,kBAAkBC,IAAE,EAAwB,CAAa,YAAY,OAAvCD,IAAE,KAAK,CAAyC,KCAjM,SAAS,YAAY,IAAE,IAAE,CAAC,IAAII,IAAEC,IAAE,IAAMC,IAAEC,IAAE,OAAO,GAAG,CAACD,IAAE,OAAO,IAAyBE,IAAjBD,IAAE,QAAQ,OAAW,UAAUE,KAAaH,IAAE,UAAwB,GAAGI,IAAE,OAAOC,IAAE,EAAE,KAAK,GAAGC,IAAYN,IAAE,OAAqB,EAAE,GAAGE,IAAE,OAAO,CAAC,OAAOF,IAAE,OAAT,CAAiB,IAAK,GAAE,IAAE,OAAOG,IAAE,IAAE,MAAME,MAAI,IAAE,OAAOA,KAAG,MAAM,IAAK,GAAE,QAAQ,IAAE,OAAOF,IAAE,IAAE,MAAM,IAAI,IAAE,OAAOE,KAAG,MAAM,IAAE,UAAcC,MAAJ,IAAQ,IAAE,UAAUA,MAA0zB,eAAe,iBAAiB,IAAE,CAAC,MAAML,IAAE,mBAAmB,SAAS,KAAG,IAAI,aAAaA,IAAE,EAAE,0DAA1wC,CAA2X,aAAN,KAAkB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAMF,IAAED,IAAE,QAAQ,OAAO,IAAE,OAAO,CAAC,OAAOC,IAAE,UAAU,OAAO,MAAME,cAAEF,IAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAIC,IAAED,IAAE,UAA2F,OAAnEC,MAAX,WAAwC,IAAlB,KAAK,MAAM,EAAEI,WAAG,CAAC,CAAK,EAAE,oBAAoB,aAAmBJ,IAAP,CAAU,IAAI,oBAAoB,IAAI,mBAAmB,IAAE,OAAO,OAAO,EAAE,MAAM,IAAI,YAAY,IAAE,OAAO,OAAO,EAAE,MAAM,IAAMO,IAAET,IAAE,QAAQ,OAAO,UAAaS,IAAE,SAAQ,IAAE,OAAO,MAAM,EAAEN,cAAEM,IAAE,MAAM,CAAC,IAAE,OAAO,SAASN,cAAEM,IAAE,MAAM,CAAC,IAAI,KAAK,UAAU,OAAO,aAAa,IAAE,OAAO,IAAE,OAAO,UAAUH,WAAG,GAAE,IAAE,SAASN,IAAE,OAAO,MAAM,UAAU,IAAE,CAAC,IAAMM,IAAEH,IAAE,QAAQ,OAAOH,IAAEM,IAAE,UAAU,MAAM,CAACH,IAAE,WAAW,CAACA,IAAE,UAAUH,IAAE,QAAQ,CAACM,IAAE,KAAK,OAAO,IAAE,IAAE,CAAC,IAAIN,IAAEC,IAAK,KAAK,UAAUE,IAAE,GAAE,YAAYA,IAAEG,IAAE,CAAC,IAAE,SAA6BH,IAAE,QAA6B,OAAqB,QCAzlC,SAAS,cAAc,IAAE,CAAC,IAAMO,IAAEC,IAAE,gBAAgB,CAAC,GAAGC,IAAE,GAAGC,KAAGC,aAAEJ,IAAEC,IAAE,SAAS,CAACI,IAAE,KAAK,IAAIH,IAAE,CAACI,IAAE,KAAK,IAAIH,IAAE,CAACI,IAAEN,IAAE,OAAO,YAAY,WAAWO,IAAEP,IAAE,OAAO,YAAY,SAAS,GAAGM,KAAGC,SAAMD,KAAGF,KAAGE,KAAGC,KAAGF,KAAGE,MAAI,CAACP,IAAE,UAAW,IAAE,UAAU,CAAC,CAACM,KAAGF,IAAEE,KAAG,CAAC,CAACC,KAAGF,IAAEE,IAAE,MAAI,IAAE,SAAS,EAAEP,IAAE,SAAS,EAAE,EAAEA,IAAE,SAAS,GAAG,MAAI,IAAE,SAAS,EAAEA,IAAE,SAAS,EAAE,EAAEA,IAAE,SAAS,YAAY,CAACM,KAAGF,IAAEE,OAAK,CAACC,KAAGF,IAAEE,MAAIP,IAAE,UAAU,IAAE,UAAU,WAAcA,IAAE,UAAU,CAAC,IAAMG,IAAEH,IAAE,SAASC,IAAED,IAAE,SAAS,MAAIG,IAAE,EAAEJ,IAAE,GAAGE,IAAE,EAAE,GAAGE,IAAE,EAAEJ,IAAE,GAAGE,IAAE,EAAE,KAAK,IAAE,GAAG,CAACO,WAAG,EAAE,MAAIL,IAAE,EAAEJ,IAAE,GAAGE,IAAE,EAAE,GAAGE,IAAE,EAAEJ,IAAE,GAAGE,IAAE,EAAE,KAAK,IAAE,GAAG,CAACO,WAAG,IAAG,SAAS,KAAK,IAAE,IAAE,CAAC,IAAMR,IAAEG,IAAE,UAAU,GAAG,CAACA,IAAE,KAAK,OAAO,IAAMJ,IAAE,CAAC,EAAgBI,IAAE,KAAK,YAArB,YAA+B,KAAK,IAAI,KAAK,IAAI,EAAgBA,IAAE,KAAK,YAArB,YAA+B,KAAK,IAAI,KAAK,IAAI,CAAC,IAAE,SAAS,EAAEA,IAAE,KAAK,OAAO,EAAEA,IAAE,KAAK,OAAOJ,IAAE,EAAEI,IAAE,KAAK,MAAM,CAAC,IAAE,SAAS,EAAEA,IAAE,KAAK,OAAO,EAAEA,IAAE,KAAK,OAAOJ,IAAE,EAAEI,IAAE,KAAK,MAAM,CAAC,IAAE,KAAK,QAAQA,IAAE,KAAK,aAAa,IAAMF,IAAE,KAAK,IAAID,IAAE,OAAO,KAAK,MAAMA,IAAE,OAAO,KAAK,OAAO,CAAIG,IAAE,KAAK,OAAOF,IAAE,GAAG,IAAE,KAAK,OAAOA,IAAE,EAAE,IAAE,KAAK,cAAc,IAAWE,IAAE,KAAK,OAAO,IAAG,IAAE,KAAK,OAAO,EAAE,IAAE,KAAK,cAAc,IAAG,IAAE,KAAK,OAAOK,IAAE,KAAK,EAAEL,IAAE,KAAK,OAAOF,KAAG,SAAS,UAAU,IAAE,IAAE,CAAC,IAAIF,IAAoB,IAAMG,IAAhBC,IAAE,QAAkB,KAAK,KAAsB,GAAG,CAAZD,IAAE,OAAa,OAAO,GAAGC,IAAE,cAAcA,IAAE,UAAU,CAAC,IAAE,cAAcK,IAAE,MAAM,OAAO,IAAMH,IAAYF,IAAE,eAAoC,SAASA,IAAE,CAAC,KAAGA,IAAE,SAAS,MAAME,IAAE,CAAIH,IAAE,QAAO,IAAE,SAAS,EAAEF,MAAEG,IAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAE,SAAS,EAAEH,MAAEG,IAAE,SAAS,EAAE,GAAG,EAAE,EAAC,IAAE,cAAcA,IAAE,UAAU,SAAS,wBAAwB,IAAE,CAAC,IAAMK,IAAEL,IAAE,UAAgBH,IAAEQ,IAAE,cAAoE,GAAG,CAAjDT,UAAE,OAAOC,IAAE,cAAc,OAAO,QAAQ,KAAK,CAAO,MAAO,GAAE,IAAMI,IAAED,IAAE,UAAU,cAAc,MAAM,SAAS,GAAG,CAACC,IAAE,MAAO,GAA0B,IAAME,IAAEL,YAAEG,IAA1BD,IAAE,aAAa,CAAe,CAAOI,IAAEC,IAAE,OAAO,eAAwF,OAAtEF,IAAEC,IAAS,GAAUD,IAAEC,KAAG,GAAUP,IAAE,cAAc,MAAM,KAAK,OAAg1D,eAAe,cAAc,IAAE,CAAC,IAAE,SAAS,YAAY,IAAI,WAAW,uDAAhrH,CAAkzD,UAAN,KAAe,CAAC,KAAK,IAAE,CAAC,IAAIQ,IAAE,IAAMR,IAAEG,IAAE,UAAUJ,IAAEI,IAAE,QAAQC,IAAEL,IAAE,KAAK,QAAQM,IAAEN,IAAE,KAAK,KAAkF,GAA7E,IAAE,QAAQ,CAAC,OAAOK,IAAE,OAAO,aAAaF,cAAEE,IAAE,aAAa,CAAC,QAAQA,IAAE,QAAQ,CAAIC,IAAE,OAAO,CAAC,IAAMN,IAAYM,IAAE,UAAwB,CAAC,EAAE,GAAG,EAAE,GAAG,CAAOD,IAAE,CAAC,EAAEL,IAAE,EAAE,IAAIC,IAAE,OAAO,KAAK,MAAM,EAAED,IAAE,EAAE,IAAIC,IAAE,OAAO,KAAK,OAAO,CAA+BO,IAAEN,YAAxBE,IAAE,aAAa,CAAaC,IAAE,CAAOK,IAAEP,cAAEG,IAAE,aAAa,CAAC,IAAE,OAAO,iBAAiBI,IAAET,IAAE,OAAO,WAAW,IAAE,KAAK,CAAC,OAAOI,IAAE,UAAUD,IAAE,SAAS,GAAG,EAAE,YAAY,oBAAoB,MAAMA,IAAE,SAAS,MAAM,OAAOI,IAAE,aAAaJ,IAAE,OAAO,iBAAiB,EAAE,UAAU,IAAE,CAAC,MAAM,CAACA,IAAE,WAAWA,IAAE,QAAQ,KAAK,OAAO,KAAK,IAAE,IAAE,CAAC,IAAIH,IAAED,IAAEE,IAAMI,IAAEC,IAAE,IAAMC,IAAEJ,IAAE,QAAQM,IAAEF,IAAE,KAAK,GAAG,CAACE,IAAE,OAAO,OAAO,IAAMC,IAAEP,IAAE,UAAUQ,IAAE,wBAAwBR,IAAE,CAACS,MAAc,IAAET,IAAE,QAAQ,YAAyB,IAAE,UAAUD,cAAEO,IAAE,MAAM,CAACC,IAAE,OAAO,aAAYA,IAAE,OAAO,aAAaG,KAAa,IAAEV,IAAE,QAAQ,YAAyB,IAAE,UAAUD,cAAEC,IAAE,QAAQ,KAAK,MAAM,CAACO,IAAE,OAAO,YAAWI,IAAEV,YAAEG,IAAE,KAAK,MAAM,CAACG,IAAE,OAAO,WAA8DK,IAAEH,MAAnDH,IAAE,KAAKN,IAAE,WAAW,CAACW,IAAE,GAAMH,KAAGH,IAAE,QAAQ,IAAK,EAAU,UAAUL,IAAEK,IAAE,CAAC,IAAMQ,IAAEb,IAAE,QAAQc,IAAUD,KAAuB,QAASA,IAAE,QAAQ,GAAG,EAAUA,KAAP,MAA4BA,IAAE,QAASD,MAAI,IAAE,SAAS,GAAGE,KAAGD,IAAE,aAAaR,IAAE,SAAS,GAAGO,MAAI,KAAGA,MAAI,IAAE,SAAS,GAAGF,IAAEL,IAAE,QAAQ,GAAGO,MAAI,IAAMG,IAAEf,IAAE,UAAae,KAAH,GAAMf,IAAE,SAAS,OAAOe,IAAE,CAAC,IAAMC,IAAEhB,IAAE,SAAS,KAAKY,IAAE,CAACK,IAAYjB,IAAE,OAAO,UAAwBO,IAAE,OAAO,SAAoBM,KAAuB,QAASI,IAAE,IAAI,CAACJ,IAAE,SAASG,IAAE,GAAG,GAAGA,IAAE,GAAGC,KAAGJ,IAAE,SAASG,IAAE,GAAG,GAAGA,IAAE,GAAG,CAACC,OAAI,IAAE,EAAEH,IAAEG,IAAE,MAAI,IAAE,SAAS,EAAED,IAAE,EAAEJ,MAAG,IAAMM,IAAElB,IAAE,QAAQ,OAAOmB,KAAG,EAAEnB,IAAE,eAAekB,IAAE,aAAgBZ,IAAE,KAAK,OAAO,KAAKN,IAAEY,IAAE,EAASO,KAAH,GAAMH,IAAE,OAAOG,IAAE,CAAC,IAAE,SAAS,MAAMH,IAAE,CAAIV,IAAE,UAAS,IAAE,SAAS,GAAG,KAAK,IAAIN,IAAE,SAAS,EAAE,KAAK,IAAIA,IAAE,SAAS,EAAE,CAAC,CAAC,IAAE,SAAS,GAAG,KAAK,IAAIA,IAAE,SAAS,EAAE,KAAK,IAAIA,IAAE,SAAS,EAAE,CAAC,GAAE,cAAcA,IAAE,MCA/pH,eAAe,gBAAgB,IAAE,CAAC,MAAMoB,IAAE,SAAS,SAAS,IAAI,aAAa,6CAAhK,aAAN,KAAkB,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAE,IAAI,EAAE,EAAEC,IAAE,EAAE,EAAE,KAAK,GAAG,GAAM,CAAC,eAAe,CAAC,MAAO,SCAe,SAASC,mBAAiB,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIC,IAAEC,IAAE,IAAMC,IAAEC,IAAE,GAAG,CAACD,KAAG,CAACE,IAAE,OAAO,OAAO,IAAMC,IAAEC,cAAEF,IAAE,OAAO,CAACG,KAAaJ,IAAE,UAAwB,GAAGK,IAAE,OAAO,IAAIH,IAAEI,IAAYN,IAAE,OAAqB,EAAKO,KAAOR,IAAE,SAAN,GAAc,IAAE,OAAOK,IAAKL,IAAE,MAAM,IAAG,IAAE,OAAO,EAAE,IAAE,OAAOA,IAAE,SAAY,IAAE,OAAOK,IAAKG,KAAGR,IAAE,MAAMS,MAAG,IAAE,OAAO,EAAE,IAAE,OAAOT,IAAE,MAAMS,MAAG,IAAE,UAAcF,MAAJ,IAAQ,IAAE,UAAUA,KAAG,IAAE,MAAME,MAAI,IAAE,OAAOA,KAAG,SAAS,YAAY,IAAE,IAAE,CAAC,IAAIR,IAAEC,IAAEO,IAAE,IAAMD,IAAEJ,IAAE,QAAQ,MAAM,UAA8BA,IAAE,OAA4B,IAAlD,IAAK,IAAiDP,mBAAiBS,IAAEF,IAAE,MAAM,EAAEI,IAAE,EAAE,IAAI,GAAM,CAAqBJ,IAAE,OAA4B,IAAlD,IAAK,IAAiDP,mBAAiBS,IAAEF,IAAE,MAAM,EAAEI,IAAE,EAAE,IAAI,GAAK,CAAqBJ,IAAE,OAA4B,IAAlD,IAAK,IAAiDP,mBAAiBS,IAAEF,IAAE,MAAM,EAAEI,IAAE,EAAE,IAAI,GAAK,CAAuhB,eAAe,iBAAiB,IAAE,CAAC,MAAMJ,IAAE,mBAAmB,SAAS,KAAG,IAAI,aAAaA,IAAE,EAAE,0DAAr2C,CAAsvB,aAAN,KAAkB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAMF,IAAEI,gBAAEF,IAAE,QAAQ,MAAMA,IAAE,GAAGA,IAAE,QAAQ,iBAAiB,CAAC,MAAI,IAAE,MAAMH,uBAAEC,IAAEE,IAAE,QAAQ,MAAM,UAAU,KAAK,UAAU,OAAO,aAAa,EAAE,UAAU,IAAE,CAAC,IAAIE,IAAEL,IAAEC,IAAE,IAAMO,IAAEL,IAAE,QAAQ,MAAM,UAAU,MAAM,CAACA,IAAE,WAAW,CAACA,IAAE,WAA+BA,IAAE,OAA4B,EAAE,QAApD,IAAK,IAAuDK,IAAE,EAAE,QAA4BL,IAAE,OAA4B,EAAE,QAApD,IAAK,IAAuDK,IAAE,EAAE,QAA4BL,IAAE,OAA4B,EAAE,QAApD,IAAK,IAAuDK,IAAE,EAAE,QAAQ,OAAO,IAAE,IAAE,CAAC,YAAYL,IAAEE,IAAE,MCAuxE,eAAe,+BAA+B,IAAE,CAAC,MAAMI,IAAE,cAAc,mBAAmB,KAAG,IAAIC,YAAUD,IAAE,EAAE,6EAA1kH,CAAM,QAAN,KAAa,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,SAAS,GAAG,KAAK,OAAO,gBAAgB,KAAK,OAAO,EAAE,KAAK,SAAS,GAAG,KAAK,MAAM,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,UAAaE,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBL,MAAIK,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIL,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYG,MAAN,IAAQC,IAAE,KAAKJ,IAAEM,IAAE,CAACF,IAAE,IAAE,MAAME,IAAED,IAAE,IAAIL,IAAEM,IAAE,CAACA,KAAQC,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBL,MAAIK,KAAG,CAACF,IAAE,CAACE,IAAE,IAAIL,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYM,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKH,IAAE,CAACG,IAAEA,IAAE,MAAME,IAAE,IAAIL,IAAE,EAAeC,YAAN,cAAwBD,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKQ,IAAER,IAAE,IAAI,CAAC,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,KAAK,gBAAgB,KAAG,CAAC,IAAoCG,IAA5BI,IAAE,KAAKC,IAAE,IAAI,CAAC,cAAkB,cAAc,MAAM,QAAQ,GAAGL,KAAeE,MAAZ,UAAc,CAAC,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,IAAE,QAAQ,SAAS,GAAK,IAAE,QAAQ,MAAM,EAAE,IAAI,IAAMA,OAAKL,IAAE,QAAQ,UAAU,KAAK,UAAUK,IAAE,EAAEA,IAAE,SAAS,MAAMA,IAAE,gBAAgB,CAAC,IAAE,QAAQ,UAAU,EAAE,CAAC,IAAE,QAAQ,OAAO,GAAM,gBAAgB,CAAKL,IAAE,YAAW,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,IAAE,QAAQ,SAAS,MAAS,IAAIG,IAAE,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,IAAMH,IAAEO,IAAE,KAAKC,IAAE,IAAI,CAACH,IAAEL,IAAE,cAAc,cAAc,MAAM,QAAQ,MAAI,IAAE,OAAO,oBAAoBK,IAAE,SAASL,IAAE,OAAO,YAAY,MAAM,UAAU,CAAC,IAAMA,IAAEO,IAAE,KAAKC,IAAE,IAAI,CAACL,IAAEH,IAAE,cAAcI,IAAEJ,IAAE,cAAc,SAASK,EAAEI,IAAEN,IAAE,cAAc,OAAOO,IAAED,IAAE,QAAQ,OAAOE,IAAEF,IAAE,QAAQ,KAAKP,IAAEO,IAAE,QAAQ,OAAOG,IAAEH,IAAE,QAAQ,KAAK,KAAGC,KAAGJ,UAAE,UAAUK,IAAE,CAAC,KAAK,cAAc,CAACT,KAAGI,UAAE,UAAUM,IAAE,EAAE,KAAK,cAAc,CAAC,UAAU,IAAE,CAAC,IAAIP,IAAE,IAAMF,IAAEI,IAAE,KAAKC,IAAE,IAAI,CAACJ,IAAED,IAAE,cAAcM,IAAEN,IAAE,cAAc,MAAMO,KAAoBV,KAAuB,eAA6BI,IAAE,eAAe,OAAO,IAAI,CAACK,IAAE,UAAU,CAACC,IAAE,QAAQ,UAAU,CAACD,IAAE,eAAe,CAACC,IAAE,QAAQ,QAAQ,MAAO,GAAM,IAAMC,IAAED,IAAE,QAAQ,KAAKR,IAAEQ,IAAE,QAAQ,KAAK,OAAOJ,UAAE,UAAUK,IAAE,EAAEL,UAAE,UAAUJ,IAAE,CAAC,gBAAgB,IAAE,GAAGG,IAAE,CAAC,AAAY,IAAE,UAAQ,IAAI,QAAS,IAAI,IAAMC,OAAKD,IAAE,IAAE,QAAQ,KAAYC,KAAuB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,IAAMN,IAAEO,IAAE,KAAKC,IAAE,IAAI,CAAiL,GAAhL,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAMR,IAAE,QAAQ,SAAQ,IAAE,QAAQ,QAAQ,IAAE,QAAQ,MAAM,GAAG,IAAE,QAAQ,QAAQ,IAAE,QAAQ,QAAQA,IAAE,UAAU,QAAQ,IAAE,QAAQ,OAAO,KAASA,IAAE,QAAQ,SAAS,CAAC,IAAMK,IAAEL,IAAE,cAAc,MAAM,cAAcM,IAAEN,IAAE,OAAO,oBAAoB,GAAG,CAACM,KAAGA,IAAE,GAAG,CAACD,IAAE,OAAO,KAAK,eAAeA,IAAEC,IAAE,IAAIH,OAAEE,IAAE,EAAEA,IAAE,EAAEC,IAAE,CAAC,MAAM,KAAQN,IAAE,QAAQ,WAAW,IAAE,QAAQ,UAAU,EAAE,EAAE,cAAc,CAAC,IAAMA,IAAEO,IAAE,KAAKC,IAAE,IAAI,CAACH,IAAEL,IAAE,cAAc,MAAM,SAASM,IAAEN,IAAE,OAAO,oBAAoB,CAACM,KAAGA,IAAE,GAAG,CAACD,KAAG,KAAK,eAAeA,IAAEC,IAAE,IAAIH,OAAEE,IAAE,EAAEA,IAAE,EAAEC,IAAE,CAAC,CAAC,eAAe,IAAE,IAAE,IAAE,CAAC,IAAMH,IAAEI,IAAE,KAAKC,IAAE,IAAI,CAACN,IAAEC,IAAE,cAAc,cAAc,MAAM,QAAQ,GAAG,CAACD,IAAE,OAAO,IAAMU,IAAET,IAAE,UAAU,SAAS,MAAMG,KAAG,KAAG,KAAK,UAAUN,IAAE,EAAE,CAAC,IAAI,IAAMM,OAAKM,IAAE,CAAC,GAAK,CAAC,GAAGT,IAAE,GAAGI,IAAE,SAASC,KAAGJ,aAAEE,IAAE,SAASN,IAAE,CAAOY,IAAEV,IAAE,MAAMA,IAAE,OAAaW,IAAEJ,MAAEC,WAAE,EAAEF,IAAEH,IAAEH,IAAE,OAAO,CAACU,IAAE,EAAEV,IAAE,SAAS,CAAOY,IAAEH,OAAE,OAAWH,MAAJ,EAAMI,IAAET,IAAEK,IAAEK,IAAML,MAAJ,EAAMI,IAAEL,IAAEC,IAAEK,IAAE,CAAC,IAAE,SAAS,QAAQC,IAAE,IAAG,IAAE,IAAI,WCAx5B,eAAe,8BAA8B,IAAE,CAAC,MAAMC,IAAE,cAAc,kBAAkB,KAAG,IAAI,QAAQA,IAAE,EAAE,wEAAjkF,CAAM,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,IAAE,CAAC,KAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,YAAeC,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBJ,MAAII,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIJ,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYE,MAAN,IAAQC,IAAE,KAAKH,IAAEK,IAAE,CAACF,IAAE,IAAE,MAAME,IAAED,IAAE,IAAIJ,IAAEK,IAAE,CAACA,KAAQC,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASD,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBJ,MAAII,KAAG,CAACF,IAAE,CAACE,IAAE,IAAIJ,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYK,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKF,IAAE,CAACE,IAAEA,IAAE,MAAME,IAAE,IAAIJ,IAAE,EAAe,QAAN,cAAsBA,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKO,IAAEP,IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAMA,IAAEM,IAAE,KAAKC,IAAE,IAAI,CAACH,IAAEJ,IAAE,cAAc,cAAc,MAAM,OAAO,MAAI,IAAE,OAAO,mBAAmBI,IAAE,SAASJ,IAAE,OAAO,YAAY,MAAM,UAAU,CAAC,IAAMA,IAAEM,IAAE,KAAKC,IAAE,IAAI,CAAmBC,IAAhBR,IAAE,cAAkB,cAAc,OAAOS,IAAET,IAAE,cAAc,SAASI,EAAEM,IAAEF,IAAE,QAAQ,OAAOG,IAAEH,IAAE,QAAQ,KAAKI,IAAEJ,IAAE,MAAM,KAAGE,KAAGL,UAAE,SAASM,IAAE,CAAC,KAAK,oBAAoB,CAACT,eAAE,SAASU,MAAI,IAAE,MAAI,KAAK,qBAAqBZ,IAAEI,IAAE,EAAE,CAAC,UAAU,IAAE,CAAC,IAAIA,IAAE,IAAMF,IAAEI,IAAE,KAAKC,IAAE,IAAI,CAACC,IAAEN,IAAE,cAAcO,IAAEP,IAAE,cAAc,MAAMQ,KAAoBV,KAAuB,eAA6BQ,IAAE,eAAe,OAAOG,IAAED,IAAE,MAAM,OAAOD,IAAE,UAAUC,IAAE,QAAQ,QAAQL,UAAE,SAASK,IAAE,QAAQ,KAAK,EAAEP,iBAAE,SAASQ,IAAE,CAAC,gBAAgB,IAAE,GAAGP,IAAE,CAAC,AAAW,IAAE,SAAO,IAAI,OAAQ,IAAI,IAAMC,OAAKD,IAAE,IAAE,OAAO,KAAYC,KAAuB,OAAO,CAAC,OAAO,EAAE,cAAc,IAAE,IAAE,IAAE,CAAC,IAAMH,IAAEI,IAAE,KAAKC,IAAE,IAAI,CAAC,UAAU,SAAS,MAAMF,KAAG,KAAG,KAAK,UAAUL,IAAE,EAAE,CAAC,IAAI,IAAMG,OAAKD,IAAE,eAAaM,OAAEC,aAAEC,6BAAEP,IAAE,CAAC,CAAC,SAASH,IAAE,OAAOI,IAAE,KAAKA,KAAG,EAAE,KAAK,GAAG,EAAE,SAASO,OAAE,OAAO,OAAOA,OAAE,OAAO,CAAC,CAACN,eAAaO,WAAGC,WAAEV,IAAEW,gBAAEd,IAAEI,IAAE,CAAC,CAAC,oBAAoB,CAAC,IAAMJ,IAAEM,IAAE,KAAKC,IAAE,IAAI,CAAuBF,IAAE,GAAtBL,IAAE,OAAO,WAAkBE,IAAEF,IAAE,cAAc,MAAM,SAASG,IAAEH,IAAE,OAAO,mBAAmB,CAACG,KAAGA,IAAE,GAAG,CAACD,KAAG,KAAK,cAAcA,IAAEC,IAAE,IAAIK,OAAEN,IAAE,EAAEA,IAAE,EAAEC,IAAEE,IAAE,CAAC,CAAC,qBAAqB,IAAE,IAAE,CAAC,IAAMA,IAAEC,IAAE,KAAKC,IAAE,IAAI,CAACL,IAAE,SAAS,iBAAiBF,IAAE,CAAC,IAAE,QAAQE,IAAE,SAAS,KAAG,CAAC,IAAMA,IAAEF,IAAEG,IAAEE,IAAE,OAAO,WAAWI,IAAE,CAAC,GAAGP,IAAE,WAAWA,IAAE,YAAY,GAAGC,IAAE,GAAGD,IAAE,UAAUA,IAAE,aAAa,GAAGC,IAAE,CAACO,IAAER,IAAE,YAAY,EAAEC,IAAEQ,IAAE,GAAGR,IAAEU,IAAaT,IAAE,OAAb,SAAkB,IAAII,OAAEC,IAAE,EAAEA,IAAE,EAAEC,IAAEC,IAAE,CAAC,IAAIC,UAAEV,IAAE,WAAWC,IAAEQ,IAAET,IAAE,UAAUC,IAAEQ,IAAET,IAAE,YAAYC,IAAE,EAAEQ,IAAET,IAAE,aAAaC,IAAE,EAAEQ,IAAE,CAAC,KAAK,cAAcF,IAAEC,IAAEG,IAAE,GAAG,GAAE,IAAE,IAAI,WCAzmB,SAAS,qBAAqB,IAAE,IAAE,IAAE,IAAE,CAAC,GAAGE,KAAGC,IAAqB,OAAOC,MAAjBC,KAAGH,IAAEC,KAAGG,IAAaD,IAAEH,IAAE,CAAC,GAAGA,IAAEC,IAAqB,OAAOC,MAAjBC,KAAGF,IAAED,KAAGI,IAAaJ,IAAEG,IAAE,CAA60K,eAAe,8BAA8B,IAAE,CAAC,MAAMA,IAAE,cAAc,kBAAkB,KAAG,IAAI,QAAQA,IAAE,EAAE,uFAAx1O,CAAM,WAAN,KAAgB,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,SAAS,GAAG,KAAK,IAAI,GAAM,KAAK,IAAE,CAAID,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,MAAX,IAAK,KAAY,KAAK,IAAIA,IAAE,KAAcA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAqBA,IAAE,QAAX,IAAK,KAAeA,IAAE,iBAAiB,MAAM,KAAK,MAAMA,IAAE,MAAM,KAAK,KAAGC,aAAE,OAAO,IAAK,GAAED,IAAE,EAAE,EAAM,KAAK,iBAAiB,QAAQ,KAAK,MAAM,IAAIC,cAAG,KAAK,MAAMA,aAAE,OAAO,KAAK,MAAMD,IAAE,MAAM,GAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,UAAN,cAAwB,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,qBAAqB,MAAM,KAAK,UAAU,KAAK,KAAGC,IAAE,QAAQ,IAAI,GAAG,EAAE,CAAC,KAAK,UAAU,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,IAAE,CAAC,KAAK,UAAUA,eAAa,MAAMA,IAAE,KAAK,KAAG,IAAIA,OAAK,CAAC,IAAIA,MAAI,KAAK,IAAE,CAAC,MAAM,KAAKA,IAAE,CAAIA,MAAYA,IAAE,MAAX,IAAK,KAAY,KAAK,IAAIA,IAAE,KAAcA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,cAAmB,OAAN,cAAqB,UAAU,CAAC,KAAK,IAAE,CAAC,MAAM,KAAKA,IAAE,CAAIA,MAAKA,IAAE,gBAAgB,MAAM,KAAK,KAAKA,IAAE,KAAK,KAAK,KAAG,CAAC,IAAMD,IAAE,IAAI,UAAoB,OAAV,IAAE,KAAKC,IAAE,CAAQD,MAAI,GAAO,KAAK,gBAAgB,OAAO,CAAC,KAAK,QAAQ,KAAK,KAAK,IAAI,WAAW,KAAK,KAAK,KAAKC,IAAE,KAAK,KAAO,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASF,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACG,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBC,MAAID,KAAG,CAACE,IAAE,CAACF,IAAE,IAAIC,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYF,MAAN,IAAQG,IAAE,KAAKD,IAAEH,IAAE,CAACI,IAAE,IAAE,MAAMJ,IAAEE,IAAE,IAAIC,IAAEH,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBC,MAAID,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIC,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYH,MAAN,IAAQC,IAAQD,MAAN,IAAQC,IAAE,KAAKE,IAAE,CAACF,IAAEA,IAAE,MAAMC,IAAE,IAAIC,IAAE,EAA4I,QAAN,cAAsBH,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMG,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,AAAW,IAAE,SAAO,EAAE,CAAE,KAAK,gBAAgB,KAAG,CAAeD,MAAX,WAAc,AAAW,IAAE,SAAO,EAAE,CAAE,IAAE,OAAO,SAAS,KAAO,MAAM,IAAE,IAAE,EAAI,CAACC,IAAE,OAAO,SAASD,OAAG,OAAOC,IAAE,OAAO,IAAI,OAAOA,IAAE,OAAO,QAAQ,OAAOA,IAAE,OAAO,OAAO,OAAOA,IAAE,OAAO,OAAO,MAAM,CAAC,IAAMA,IAAE,EAAE,KAAK,EAAE,IAAI,CAACD,IAAEC,IAAE,cAAc,cAAc,MAAM,OAAUD,MAAG,IAAE,OAAO,mBAAmBA,IAAE,SAASC,IAAE,OAAO,WAAoBD,IAAE,OAAX,IAAK,KAAa,IAAE,OAAO,eAAeA,IAAE,KAAKC,IAAE,OAAO,aAAa,MAAM,UAAU,CAAC,IAAoCD,IAA5B,EAAE,KAAK,EAAE,IAAI,CAAC,cAAkB,cAAc,OAAOF,IAAEE,IAAE,QAAQG,IAAEH,IAAE,QAAQI,IAAEN,IAAE,OAAOO,IAAEP,IAAE,KAAKQ,IAAEH,IAAE,OAAOI,IAAEJ,IAAE,KAAKK,IAAER,IAAE,MAAM,KAAGD,UAAE,SAASM,IAAE,CAAC,KAAK,aAAa,CAACC,KAAGP,UAAE,SAASQ,IAAE,CAAC,KAAK,aAAa,CAACL,eAAE,SAASM,MAAI,IAAE,MAAI,KAAK,oBAAoBP,IAAED,IAAE,EAAE,CAAC,UAAU,IAAE,CAAC,IAAIA,IAAE,IAAMF,IAAE,EAAE,KAAK,EAAE,IAAI,CAACI,IAAEJ,IAAE,cAAcM,IAAEN,IAAE,cAAc,MAAMO,KAAoBJ,KAAuB,eAA6BC,IAAE,eAAe,OAAOI,IAAED,IAAE,MAAME,IAAEJ,iBAAE,SAASG,IAAE,CAAC,GAAG,EAAEC,KAAGF,IAAE,QAAQ,QAAQD,IAAE,UAAUC,IAAE,QAAQ,QAAQD,IAAE,eAAe,MAAO,GAAM,IAAMI,IAAEH,IAAE,QAAQ,KAAWI,IAAEJ,IAAE,QAAQ,KAAK,OAAON,UAAE,SAASS,IAAE,EAAET,UAAE,SAASU,IAAE,EAAEF,IAAE,gBAAgB,IAAE,GAAGP,IAAE,CAAC,AAAW,IAAE,SAAO,IAAI,OAAQ,IAAI,IAAMF,OAAKE,IAAE,IAAE,OAAO,KAAYF,KAAuB,OAAO,CAAC,MAAM,IAAE,CAAC,IAAE,OAAO,QAAQ,GAAM,aAAa,CAAC,IAAIG,IAAED,IAAE,IAAMF,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAED,IAAE,cAAcI,IAAEJ,IAAE,cAAc,MAAM,cAAcK,IAAEJ,IAAE,cAAc,MAAM,OAAO,GAAG,CAACI,KAAG,CAACD,IAAE,OAAO,AAAW,IAAE,SAAO,EAAE,CAAE,IAAMI,IAAER,IAAE,OAAO,mBAAmB,GAAG,CAACQ,KAAGA,IAAE,EAAE,OAAO,IAAMC,IAAET,IAAE,UAAU,SAAS,YAAYI,IAAEI,KAAG,KAAG,KAAK,UAAUL,IAAE,EAAE,CAAC,IAAI,IAAMF,OAAKQ,IAAE,CAAC,GAAG,CAACT,IAAE,OAAO,SAAS,SAAS,IAAE,OAAO,QAAQ,CAACA,IAAE,OAAO,YAAY,IAAwBU,IAAEJ,YAAlBL,IAAE,aAAa,CAAOG,IAAE,CAACO,KAAI,IAAI,MAAI,CAAE,SAAS,EAAEX,IAAE,cAAc,MAAM,WAAW,IAAI,IAAI,IAAEK,IAAE,WAAW,IAAE,OAAO,YAAY,IAASM,IAAE,EAAEN,IAAE,WAAU,IAAE,OAAO,SAAS,GAAM,IAAE,OAAO,YAAY,IAAM,IAAMO,IAAE,CAAC,UAAU,CAAC,SAASZ,IAAE,OAAO,eAAe,MAAMC,IAAE,OAAO,OAAO,CAAC,aAAa,CAAC,SAASM,YAAEN,IAAE,QAAQ,KAAK,MAAM,CAACD,IAAE,OAAO,WAAW,MAAMC,IAAE,KAAK,MAAM,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQA,IAAES,IAAEC,IAAEC,IAAE,CAAC,IAAMC,IAAE,CAAC,UAAU,CAAC,SAASR,IAAE,QAAQ,MAAMJ,IAAE,OAAO,QAAQ,CAAC,aAAa,CAAC,SAASM,YAAEN,IAAE,QAAQ,QAAQ,MAAM,CAAC,MAA0BA,IAAE,SAA8B,OAAqB,EAAE,CAAC,KAAK,UAAU,CAAC,KAAK,QAAQA,IAAES,IAAEC,IAAEE,IAAE,CAAC,IAAE,OAAO,YAAY,OAAOZ,IAAE,OAAO,MAAMS,KAAGF,IAAE,KAAK,iBAAiBP,IAAES,IAAE,CAAC,OAAOT,IAAE,OAAO,OAAO,aAAa,CAAC,IAAME,IAAE,EAAE,KAAK,EAAE,IAAI,CAACD,IAAEC,IAAE,cAAc,MAAM,SAASH,IAAEG,IAAE,OAAO,mBAAmB,GAAG,CAACH,KAAGA,IAAE,GAAYE,MAAT,IAAK,GAAM,OAAO,IAAMD,IAAEE,IAAE,UAAU,SAAS,YAAYD,IAAEF,KAAG,KAAG,KAAK,UAAUG,IAAE,EAAE,CAAC,IAAI,IAAMC,OAAKH,IAAE,CAAC,IAAE,OAAO,QAAQ,GAAK,IAAwBI,IAAEC,YAAlBF,IAAE,aAAa,CAAOF,IAAE,CAACK,IAAE,EAAEF,IAAEL,IAAKK,KAAGL,IAAMO,KAAG,GAAGJ,IAAE,cAAc,SAASK,IAAG,KAAK,gBAAgBJ,IAAEG,IAAE,CAAC,KAAK,mBAAmBH,IAAEG,IAAE,CAAC,KAAK,iBAAiBH,IAAEG,IAAE,EAAO,KAAK,MAAMH,IAAE,CAAC,IAAE,cAAc,SAASK,KAAG,KAAK,MAAML,IAAE,EAAE,iBAAiB,IAAE,IAAE,IAAE,CAAC,IAAMH,IAAE,EAAE,KAAK,EAAE,IAAI,CAAC,cAAoBG,IAASJ,KAAgBC,IAAE,cAAc,MAAM,OAAO,GAAGG,IAAE,CAAC,GAAG,CAACD,IAAE,OAAO,WAAW,CAAC,IAAMD,IAAEE,IAAE,MAAM,GAAG,CAACF,IAAE,OAAO,IAAMF,IAAEE,eAAa,MAAMQ,cAAER,IAAE,CAACA,IAAE,IAAE,OAAO,WAAWS,gBAAEX,IAAE,CAAC,GAAGG,IAAE,OAAO,WAAW,GAAGC,IAAE,IAAI,CAAC,IAAE,OAAO,MAAM,IAAK,GAAE,IAAMJ,IAAEG,IAAE,cAAc,CAAC,IAAE,OAAO,MAAMH,IAAEY,SAAEC,SAAEb,IAAEG,IAAE,OAAO,WAAW,EAAED,IAAEA,IAAE,CAAC,CAACC,IAAE,OAAO,gBAAgB,IAAE,OAAO,MAAMA,IAAE,OAAO,YAAY,mBAAmB,IAAE,IAAE,IAAE,CAAC,IAAIF,IAAEG,IAAEC,IAAEC,IAAE,IAAsBG,IAAd,EAAE,KAAK,EAAE,IAAI,CAAK,cAAcC,IAAmBV,KAAuB,SAAiCS,IAAE,cAAc,MAAM,QAA6B,QAAQ,GAAG,CAACC,IAAE,OAAO,IAAMC,IAAER,IAAE,QAAQ,QAAQ,MAA+FU,IAAE,qBAA/DV,IAAE,SAA8B,OAAqB,EAAiCO,IAAEH,YAAEI,IAAE,CAACT,IAAE,CAAUW,MAAT,IAAK,KAAQ,IAAE,OAAO,QAAQA,KAAG,gBAAgB,IAAE,IAAE,IAAE,CAAC,IAAMZ,IAAE,EAAE,KAAK,EAAE,IAAI,CAACG,IAAUJ,KAAuB,KAAMA,IAAE,KAAKC,IAAE,OAAO,WAAWA,IAAE,OAAO,eAAe,GAAYG,MAAT,IAAK,GAAM,OAAO,IAAMC,IAAEE,YAAEJ,IAAE,QAAQ,KAAK,MAAM,CAACF,IAAE,OAAO,WAAiBK,IAAEH,IAAE,KAAK,MAAYK,IAAE,qBAAqBF,IAAEF,IAAEC,IAAEH,IAAE,CAAUM,MAAT,IAAK,KAAQ,IAAE,OAAO,OAAOA,KAAG,QAAQ,IAAE,IAAE,IAAE,IAAE,CAAC,IAAMJ,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAEJ,IAAE,UAAU,SAA2BM,IAAhBH,IAAE,cAAkB,cAAc,MAAM,OAAO,GAAG,CAACG,KAAYF,MAAT,IAAK,GAAM,OAAO,IAAMG,IAAED,IAAE,SAASE,IAAEL,IAAE,OAAO,mBAAmBM,IAAET,IAAE,aAAa,SAASU,IAAEV,IAAE,UAAU,MAAMW,IAAEX,IAAE,aAAa,OAAO,EAAEY,IAAEZ,IAAE,KAAK,GAAGQ,KAAG,EAAEA,IAAE,IAAIJ,MAAIK,IAA2B,GAAxB,AAAW,IAAE,SAAO,EAAE,CAAKN,IAAE,OAAO,YAAgBO,MAAYE,MAAT,QAAY,OAAOV,IAAE,OAAO,OAAmBU,MAAZ,WAAe,OAAOV,IAAE,OAAO,iBAAiBD,KAAGO,SAAkBE,KAAgBC,OAASP,IAAE,CAAC,IAAMH,IAAEU,IAAEZ,KAAGY,IAAEP,KAAGG,IAAWK,MAAT,SAAa,IAAE,OAAO,OAAOX,KAAeW,MAAZ,YAAgB,IAAE,OAAO,QAAQX,WAAkBW,MAAT,QAAY,OAAOV,IAAE,OAAO,OAAmBU,MAAZ,WAAe,OAAOV,IAAE,OAAO,QAAU,oBAAoB,IAAE,IAAE,CAAC,IAAMH,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAE,SAAS,iBAAiBE,IAAE,CAACC,IAAEJ,IAAE,cAAc,cAAc,MAAM,OAAO,KAAGC,IAAE,QAAQA,IAAE,SAAS,KAAG,CAAC,IAAMA,IAAEE,IAAEE,IAAEL,IAAE,OAAO,WAAWM,IAAE,CAAC,GAAGL,IAAE,WAAWA,IAAE,YAAY,GAAGI,IAAE,GAAGJ,IAAE,UAAUA,IAAE,aAAa,GAAGI,IAAE,CAACE,IAAEN,IAAE,YAAY,EAAEI,IAAEG,IAAaN,IAAE,OAAb,SAAkB,IAAIY,OAAER,IAAE,EAAEA,IAAE,EAAEC,IAAE,CAAC,IAAIQ,UAAEd,IAAE,WAAWI,IAAEJ,IAAE,UAAUI,IAAEJ,IAAE,YAAYI,IAAEJ,IAAE,aAAaI,IAAE,CAACI,IAAET,IAAE,UAAU,SAAS,MAAMQ,KAAG,KAAG,KAAK,UAAUL,IAAE,EAAE,CAAC,IAAI,IAAMA,OAAKM,IAAE,CAAC,GAAG,CAACD,IAAE,SAASL,IAAE,aAAa,CAAC,CAAC,SAAS,IAAE,OAAO,QAAQ,GAAK,IAAMD,IAAEE,IAAE,KAAWJ,IAAEgB,QAAEd,IAAED,IAAE,EAAI,CAACE,IAAE,OAAO,KAAKA,IAAE,OAAO,MAAMF,OAAG,KAAK,MAAME,IAAE,GAAK,CAAC,IAAE,OAAO,IAAIF,KAAE,KAAK,gBAAgBE,IAAE,EAAEH,IAAE,CAAC,KAAK,mBAAmBG,IAAE,EAAEH,IAAE,CAAC,KAAK,iBAAiBG,IAAE,EAAEH,IAAE,IAAI,GAAE,EAAE,IAAI,WCAvsM,SAAS,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,IAAMiB,IAAE,KAAK,MAAMC,IAAE,WAAW,CAACC,IAAE,WAAW,CAAC,CAACC,IAAED,IAAE,cAAc,CAACE,IAAEH,IAAE,cAAc,CAAC,GAAG,CAACE,KAAG,CAACC,IAAE,OAAO,IAAMC,IAAEH,IAAE,aAAa,CAACI,IAAEL,IAAE,aAAa,CAACM,IAAEC,SAAEL,IAAEC,IAAEF,IAAE,WAAW,CAACD,IAAE,WAAW,CAAC,CAACQ,IAAEC,IAAE,qBAAqBL,IAAE,EAAEA,IAAE,EAAEC,IAAE,EAAEA,IAAE,EAAE,CAAkF,OAAjF,IAAE,aAAa,EAAEK,gBAAER,IAAES,IAAE,CAAC,CAAC,IAAE,aAAaZ,IAAE,EAAE,EAAEA,IAAEa,gBAAEN,IAAEK,IAAE,CAAC,CAAC,IAAE,aAAa,EAAED,gBAAEP,IAAEQ,IAAE,CAAC,CAAQH,IAAE,SAAS,gBAAgB,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAE,MAAM,CAAC,SAAED,IAAEN,IAAED,IAAE,CAAC,IAAE,UAAUU,IAAE,IAAE,YAAYE,IAAE,IAAE,QAAQ,CAAC,IAAE,SAAS,CAAC,SAAS,UAAU,IAAE,IAAE,IAAE,IAAE,CAAC,IAAwBZ,IAAhBO,IAAE,cAAkB,cAAc,MAAM,QAAQ,GAAGP,IAAE,OAAO,SAASU,IAAEE,IAAEH,IAAET,IAAE,MAAM,QAAQ,CAAC,SAAS,eAAe,IAAE,IAAE,IAAE,CAAC,IAAE,OAAO,MAAM,KAAG,CAAC,IAAIC,IAAE,IAAMD,IAAE,UAAUO,IAAEE,IAAEC,IAAEE,IAAE,CAAC,GAAG,CAACZ,IAAE,OAAO,IAAMW,IAAED,IAAE,aAAa,CAACX,IAAEa,IAAE,aAAa,CAAC,gBAAgBH,IAAYC,IAAE,OAAO,YAA0B,EAAEV,IAAEW,IAAEZ,IAAE,GAAG,CAAuzC,eAAe,+BAA+B,IAAE,CAAC,MAAMQ,IAAE,cAAc,mBAAmB,KAAG,IAAI,UAAUA,IAAE,EAAE,sFAAh5G,CAAM,aAAN,KAAkB,CAAC,aAAa,CAAC,KAAK,QAAQ,GAAG,KAAK,IAAE,CAAC,KAAYA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,WAAgB,QAAN,KAAa,CAAC,aAAa,CAAC,KAAK,SAAS,GAAG,KAAK,MAAM,IAAI,aAAa,KAAK,OAAO,GAAG,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,IAAI,WAAW,IAAE,CAAC,KAAK,MAAMA,IAAE,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,IAAI,YAAY,IAAE,CAAC,KAAK,MAAMA,IAAE,KAAK,IAAE,CAAC,IAAIG,IAAEE,IAAKL,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAU,KAAK,MAAM,KAAyBA,IAAE,OAAqBA,IAAE,YAA0BA,IAAE,YAAY,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAcI,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASF,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACR,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOS,KAApB,WAAsBH,MAAIG,KAAG,CAACT,IAAE,CAACS,IAAE,IAAIH,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYE,MAAN,IAAQR,IAAE,KAAKM,IAAEK,IAAE,CAACX,IAAE,IAAE,MAAMW,IAAEF,IAAE,IAAIH,IAAEK,IAAE,CAACA,KAAQb,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASa,MAAN,KAAS,CAACH,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBH,MAAIG,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIH,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYK,MAAN,IAAQH,IAAQG,MAAN,IAAQH,IAAE,KAAKF,IAAE,CAACE,IAAEA,IAAE,MAAMC,IAAE,IAAIH,IAAE,EAAoyB,UAAN,cAAwBN,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMM,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAMA,IAAER,IAAE,KAAK,EAAE,IAAI,CAACW,IAAEH,IAAE,cAAc,cAAc,MAAM,QAAWG,MAAG,IAAE,OAAO,oBAAoBA,IAAE,SAASH,IAAE,OAAO,WAAW,IAAE,OAAO,kBAAkBG,IAAE,OAAOH,IAAE,OAAO,YAAY,MAAM,UAAU,CAAC,IAAMA,IAAER,IAAE,KAAK,EAAE,IAAI,CAAmB,GAAhBQ,IAAE,cAAmB,cAAc,OAAO,QAAQ,QAAwBA,IAAE,cAAc,SAAhC,cAAuC,CAAC,IAAMG,IAAEH,IAAE,cAAc,MAAM,SAAS,GAAG,CAACA,IAAE,OAAO,qBAAqBA,IAAE,OAAO,oBAAoB,GAAG,CAACA,IAAE,OAAO,mBAAmBA,IAAE,OAAO,kBAAkB,GAAG,CAACG,IAAE,OAAO,IAAME,IAAE,KAAK,IAAIL,IAAE,OAAO,kBAAkB,CAACE,IAAEF,IAAE,UAAU,SAAS,YAAYG,IAAEE,KAAG,KAAG,KAAK,UAAUL,IAAE,EAAE,CAAKN,IAAE,EAAE,IAAI,IAAMS,OAAKD,IAAE,CAAC,IAAMG,IAAEF,IAAE,aAAa,CAAC,IAAI,IAAMV,OAAKS,IAAE,MAAMR,IAAE,EAAE,CAAC,CAAC,IAAMQ,IAAET,IAAE,aAAa,CAACC,IAAE,KAAK,IAAIM,IAAE,OAAO,oBAAoB,CAACI,IAAE,KAAK,IAAIC,IAAE,EAAEH,IAAE,EAAE,CAACV,IAAE,KAAK,IAAIa,IAAE,EAAEH,IAAE,EAAE,CAAC,IAAER,KAAGF,IAAEE,KAAG,eAAeM,IAAEG,IAAEV,IAAE,CAAC,EAAEC,MAAI,UAAU,IAAE,CAAC,IAAIS,IAAE,IAAME,IAAE,KAAK,UAAUH,IAAEG,IAAE,cAAc,MAAMX,KAAoBM,KAAuB,eAA6BK,IAAE,cAAc,eAAe,OAAO,MAAM,EAAE,CAACX,IAAE,QAAQ,QAAQ,CAACQ,IAAE,WAAWT,UAAE,UAAUC,IAAE,QAAQ,KAAK,CAAC,gBAAgB,IAAE,GAAGS,IAAE,CAAC,AAAY,IAAE,UAAQ,IAAI,QAAS,IAAI,IAAME,OAAKF,IAAE,IAAE,QAAQ,KAAYE,KAAuB,QAAQ,CAAC,OAAO,IAAG,EAAE,IAAI,WCA/4D,SAAS,aAAa,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAE,MAAM,CAAC,SAAEC,IAAEC,IAAEC,IAAE,CAAC,IAAE,YAAYC,gBAAEC,IAAEC,IAAE,CAAC,IAAE,UAAUC,IAAE,IAAE,QAAQ,CAAC,IAAE,SAAS,CAAC,SAAS,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAE,OAAO,MAAM,KAAG,CAAC,IAAIJ,IAAE,IAAME,IAAEG,IAAE,aAAa,CAAC,aAAaP,IAAYO,IAAE,OAAO,YAA0B,EAAEH,IAAEH,IAAEE,IAAEG,IAAE,GAAG,CAA80C,eAAe,4BAA4B,IAAE,CAAC,MAAMN,IAAE,cAAc,gBAAgB,KAAG,IAAI,QAAQA,IAAE,EAAE,4EAAvgG,CAAM,UAAN,KAAe,CAAC,aAAa,CAAC,KAAK,MAAM,GAAM,KAAK,QAAQ,GAAM,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAIO,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMP,aAAE,OAAO,KAAK,MAAMO,IAAE,MAAM,EAAWA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,MAAM,IAAI,UAAU,IAAI,YAAY,CAAC,OAAO,KAAK,MAAM,IAAI,WAAW,IAAE,CAAC,KAAK,MAAMP,IAAE,IAAI,aAAa,CAAC,OAAO,KAAK,MAAM,IAAI,YAAY,IAAE,CAAC,KAAK,MAAMA,IAAE,KAAK,IAAE,CAAC,IAAIO,IAAEJ,IAAKH,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAU,KAAK,MAAM,KAAyBA,IAAE,OAAqBA,IAAE,YAA0BA,IAAE,YAAY,IAAO,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASM,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACL,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOM,KAApB,WAAsBP,MAAIO,KAAG,CAACN,IAAE,CAACM,IAAE,IAAIP,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYM,MAAN,IAAQL,IAAE,KAAKD,IAAEG,IAAE,CAACF,IAAE,IAAE,MAAME,IAAEI,IAAE,IAAIP,IAAEG,IAAE,CAACA,KAAQK,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASL,MAAN,KAAS,CAACG,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBP,MAAIO,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIP,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYG,MAAN,IAAQG,IAAQH,MAAN,IAAQG,IAAE,KAAKN,IAAE,CAACM,IAAEA,IAAE,MAAMC,IAAE,IAAIP,IAAE,EAAsR,QAAN,cAAsBM,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMN,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,IAAMA,IAAEQ,IAAE,KAAK,EAAE,IAAI,CAACD,IAAEP,IAAE,cAAc,cAAc,MAAM,KAAK,MAAI,IAAE,OAAO,iBAAiBO,IAAE,SAASP,IAAE,OAAO,YAAY,MAAM,UAAU,CAAC,IAAIA,IAAEO,IAAE,IAAMJ,IAAEK,IAAE,KAAK,EAAE,IAAI,CAAmBC,IAAhBN,IAAE,cAAkB,cAAc,GAAG,CAACM,IAAE,MAAM,MAAM,CAACA,IAAE,OAAO,QAAQ,QAAQN,IAAE,cAAc,SAASF,EAAE,OAAO,IAAMS,IAAEP,IAAE,cAAc,MAAM,SAAS,GAAG,CAACO,IAAE,OAAO,IAAMC,IAAER,IAAE,OAAO,iBAAiB,GAAG,CAACQ,KAAGA,IAAE,EAAE,OAAO,IAAMC,IAAET,IAAE,UAAU,SAAS,YAAYO,IAAEC,KAAG,KAAG,KAAK,UAAUX,IAAE,EAAE,CAAC,IAAI,IAAMM,OAAKM,IAAE,CAAC,IAAwBJ,IAAEN,YAAlBI,IAAE,aAAa,CAAOI,IAAE,CAAC,GAAGF,IAAEG,IAAE,SAAS,IAAME,IAAEJ,IAAE,MAAM,KAAK,MAAMG,IAAEC,IAAE,QAAQC,IAAEF,IAAEJ,IAAEI,IAAED,IAAE,GAAGG,KAAG,EAAE,SAAS,IAAMC,IAAYF,IAAE,OAA+BP,IAAE,QAAQ,OAA4B,MAAM,GAAG,CAACH,IAAE,UAAU,eAAeY,IAAE,CAAC,IAAMf,IAAES,IAAE,MAAM,KAAK,MAAM,IAAE,UAAU,cAAcL,mBAAEW,IAAEf,IAAE,MAAMA,IAAE,QAAQ,CAAC,IAAMgB,IAAEX,aAAEC,IAAE,IAAK,GAAEH,IAAE,UAAU,cAAc,CAAC,GAAG,CAACa,IAAE,OAAO,SAASb,IAAEG,IAAEU,IAAEF,IAAEJ,IAAE,EAAE,UAAU,IAAE,CAAC,IAAIH,IAAE,IAAMJ,IAAE,KAAK,UAAUG,IAAEH,IAAE,cAAc,MAAMF,KAAoBD,KAAuB,eAA6BG,IAAE,cAAc,eAAe,OAAO,OAAOF,IAAE,QAAQ,QAAQ,CAAC,CAACK,IAAE,UAAUG,UAAE,OAAOR,IAAE,QAAQ,KAAK,CAAC,gBAAgB,IAAE,GAAGM,IAAE,CAAC,AAAS,IAAE,OAAK,IAAI,KAAM,IAAI,IAAMJ,OAAKI,IAAE,IAAE,KAAK,KAAYJ,KAAuB,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,WCAt0F,SAAS,6BAA6B,IAAE,CAAC,IAAE,cAAc,iBAAiB,KAAG,IAAI,OAAOc,IAAE,EAAE,oDAAjU,CAAM,OAAN,cAAqBA,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,KAAK,gBAAgB,KAAG,CAAC,GAAaA,MAAV,QAAY,OAAO,IAAMC,IAAE,KAAK,UAAU,IAAE,oBAAoB,CAACA,IAAE,OAAO,CAACA,IAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,EAAE,WAAW,CAAC,MAAO,GAAK,OAAO,OCA87C,eAAe,4BAA4B,IAAE,CAAC,MAAMC,IAAE,cAAc,gBAAgB,KAAG,IAAI,OAAOA,IAAE,EAAE,iEAAnvD,CAAM,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,QAAQ,GAAK,KAAK,OAAO,EAAE,CAAC,KAAK,SAAS,EAAE,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,IAAE,CAAC,KAAK,SAASA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAgBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,OAAO,KAAK,KAAGA,KAAG,EAAE,KAAK,OAAO,SAAS,KAAK,QAAQ,IAAM,IAAME,IAAYF,IAAE,UAAwBA,IAAE,aAAsBE,MAAT,IAAK,KAAQ,KAAK,SAASA,OAAQA,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBD,MAAIC,KAAG,CAACG,IAAE,CAACH,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYG,MAAN,IAAQC,IAAE,KAAKJ,IAAEE,IAAE,CAACE,IAAE,IAAE,MAAMF,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQC,IAAQD,MAAN,IAAQC,IAAE,KAAKH,IAAE,CAACG,IAAEA,IAAE,MAAMF,IAAE,IAAID,IAAE,EAAe,OAAN,cAAqBA,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,KAAK,gBAAgB,KAAG,CAAC,GAAYA,MAAT,OAAW,OAAO,IAAME,IAAE,EAAE,KAAK,EAAE,IAAI,CAAmBG,IAAhBH,IAAE,cAAkB,cAAc,MAAM,KAAK,GAAG,CAACG,IAAE,OAAO,IAAMC,IAAED,IAAE,SAAS,GAAGC,KAAG,EAAE,OAAO,IAAMC,IAAEN,cAAE,CAAC,IAAK,GAAE,GAAGI,IAAE,OAAO,CAAC,CAACG,IAAWD,MAAT,IAAK,GAA0C,IAAK,GAAzCL,IAAE,cAAc,UAAU,OAAOK,KAAU,IAAE,UAAU,KAAKD,IAAEJ,IAAE,cAAc,MAAMM,IAAED,IAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,EAAE,WAAW,CAAC,MAAO,GAAK,gBAAgB,IAAE,GAAGN,IAAE,CAAC,AAAS,IAAE,OAAK,IAAI,KAAM,IAAI,IAAMC,OAAKD,IAAE,IAAE,KAAK,KAAYC,KAAuB,KAAK,CAAC,OAAO,IAAG,EAAE,IAAI,WCA/Q,SAAS,8BAA8B,IAAE,CAAC,IAAE,cAAc,kBAAkB,KAAG,IAAI,QAAQO,IAAE,EAAE,wEAAx+C,CAAM,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,IAAI,cAAc,CAAC,OAAO,KAAK,SAAS,IAAI,aAAa,IAAE,CAAC,KAAK,SAASA,IAAE,KAAK,IAAE,CAAC,IAAIC,IAAE,GAAG,CAACD,IAAE,OAAO,IAAME,IAAYF,IAAE,UAAwBA,IAAE,aAAsBE,MAAT,IAAK,KAAQ,KAAK,SAASA,OAAQD,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASE,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBD,MAAIC,KAAG,CAACG,IAAE,CAACH,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYG,MAAN,IAAQC,IAAE,KAAKJ,IAAEE,IAAE,CAACE,IAAE,IAAE,MAAMF,IAAED,IAAE,IAAID,IAAEE,IAAE,CAACA,KAAQA,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYE,MAAN,IAAQC,IAAQD,MAAN,IAAQC,IAAE,KAAKH,IAAE,CAACG,IAAEA,IAAE,MAAMF,IAAE,IAAID,IAAE,EAAe,QAAN,cAAsBA,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,IAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAKG,IAAEH,IAAE,IAAI,CAAC,KAAK,gBAAgB,KAAG,CAAC,IAAMC,IAAEC,IAAE,KAAKC,IAAE,IAAI,CAACC,IAAEH,IAAE,cAAc,GAAG,CAACG,IAAE,cAAc,MAAM,QAAmBJ,MAAX,SAAa,OAAO,IAAMK,IAAED,IAAE,cAAc,MAAM,OAAO,SAAS,IAAE,UAAU,eAAeC,IAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,EAAE,WAAW,CAAC,MAAO,GAAK,gBAAgB,IAAE,GAAGJ,IAAE,CAAC,AAAW,IAAE,SAAO,IAAI,OAAQ,IAAI,IAAMC,OAAKD,IAAE,IAAE,OAAO,KAAYC,KAAuB,OAAO,CAAC,OAAO,IAAG,IAAE,IAAI,WCA01H,eAAe,+BAA+B,IAAE,CAAC,MAAMI,IAAE,cAAc,mBAAmB,KAAG,IAAI,SAASA,IAAE,EAAE,6FAA3pK,CAAM,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,SAAS,IAAI,KAAK,SAAS,GAAG,KAAK,OAAO,IAAI,KAAK,MAAM,EAAE,KAAK,SAAS,GAAG,KAAK,OAAO,gBAAgB,KAAK,IAAE,CAAIA,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,aAAkB,WAAN,cAAyB,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,qBAAqB,MAAM,KAAK,UAAU,KAAK,KAAGA,IAAE,QAAQ,IAAI,GAAG,EAAE,CAAC,KAAK,UAAU,QAAQ,IAAI,GAAG,CAAC,IAAI,IAAI,IAAE,CAAC,KAAK,UAAUA,eAAa,MAAMA,IAAE,SAAS,IAAIA,OAAK,CAAC,IAAIA,MAAI,KAAK,IAAE,CAAC,MAAM,KAAKA,IAAE,CAAIA,MAAYA,IAAE,MAAX,IAAK,KAAY,KAAK,IAAIA,IAAE,KAAcA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,cAAmB,QAAN,cAAsB,WAAW,CAAC,KAAK,IAAE,CAAC,MAAM,KAAKA,IAAE,CAAIA,MAAKA,IAAE,gBAAgB,MAAM,KAAK,KAAKA,IAAE,KAAK,KAAK,KAAG,CAAC,IAAMC,IAAE,IAAI,WAAqB,OAAV,IAAE,KAAKD,IAAE,CAAQC,MAAI,GAAO,KAAK,gBAAgB,OAAO,CAAC,KAAK,QAAQ,KAAK,KAAK,IAAI,YAAY,KAAK,KAAK,KAAKD,IAAE,KAAK,KAAOE,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASC,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOH,KAApB,WAAsBD,MAAIC,KAAG,CAACG,IAAE,CAACH,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYG,MAAN,IAAQC,IAAE,KAAKJ,IAAEK,IAAE,CAACD,IAAE,IAAE,MAAMC,IAAEJ,IAAE,IAAID,IAAEK,IAAE,CAACA,KAAQ,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASA,MAAN,KAAS,CAACF,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOF,KAApB,WAAsBD,MAAIC,KAAG,CAACE,IAAE,CAACF,IAAE,IAAID,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYK,MAAN,IAAQF,IAAQE,MAAN,IAAQF,IAAE,KAAKH,IAAE,CAACG,IAAEA,IAAE,MAAMF,IAAE,IAAID,IAAE,EAAe,SAAN,cAAuBA,sBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,IAAE,KAAK,EAAEA,IAAE,IAAI,CAAC,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,KAAK,gBAAgB,KAAG,CAAC,IAAoCG,IAA5B,EAAE,KAAK,EAAE,IAAI,CAAC,cAAkB,cAAc,MAAM,QAAQ,GAAGA,KAAeF,MAAZ,UAAc,CAAC,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,IAAE,QAAQ,SAAS,GAAK,IAAE,QAAQ,MAAM,EAAE,IAAI,IAAMA,OAAKD,IAAE,QAAQ,UAAU,KAAK,UAAUC,IAAE,EAAEA,IAAE,SAAS,MAAMA,IAAE,gBAAgB,CAAC,IAAE,QAAQ,UAAU,EAAE,CAAC,IAAE,QAAQ,OAAO,GAAM,gBAAgB,CAAKD,IAAE,YAAW,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAE,IAAE,QAAQ,SAAS,MAAS,IAAIG,IAAE,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,IAAMH,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAED,IAAE,cAAc,cAAc,MAAM,QAAQ,MAAI,IAAE,OAAO,oBAAoBC,IAAE,SAASD,IAAE,OAAO,YAAY,MAAM,UAAU,CAAC,IAAMA,IAAE,EAAE,KAAK,EAAE,IAAI,CAACI,IAAEJ,IAAE,cAAcM,IAAEN,IAAE,cAAc,SAASC,EAAEM,IAAEH,IAAE,cAAc,OAAOI,IAAED,IAAE,QAAQ,OAAOE,IAAEF,IAAE,QAAQ,KAAKG,IAAEH,IAAE,QAAQ,OAAOI,IAAEJ,IAAE,QAAQ,KAAKK,IAAEL,IAAE,MAAM,KAAGC,KAAGH,UAAE,UAAUI,IAAE,CAAC,KAAK,cAAc,CAACC,KAAGL,UAAE,UAAUM,IAAE,CAAC,KAAK,cAAc,CAACR,eAAE,UAAUS,MAAI,IAAE,MAAI,KAAK,sBAAsBZ,IAAEC,IAAE,EAAE,CAAC,UAAU,IAAE,CAAC,IAAIA,IAAE,IAAME,IAAE,EAAE,KAAK,EAAE,IAAI,CAACG,IAAEH,IAAE,cAAcI,IAAEJ,IAAE,cAAc,MAAMK,KAAoBR,KAAuB,eAA6BM,IAAE,eAAe,OAAOG,IAAED,IAAE,MAAME,IAAEN,iBAAE,UAAUK,IAAE,CAAC,GAAG,EAAEC,KAAGF,IAAE,QAAQ,QAAQD,IAAE,UAAUC,IAAE,QAAQ,QAAQD,IAAE,eAAe,MAAO,GAAM,IAAMI,IAAEH,IAAE,QAAQ,KAAKI,IAAEJ,IAAE,QAAQ,KAAK,OAAOH,UAAE,UAAUM,IAAE,EAAEN,UAAE,UAAUO,IAAE,EAAEF,IAAE,gBAAgB,IAAE,GAAGT,IAAE,CAAC,AAAY,IAAE,UAAQ,IAAI,QAAS,IAAI,IAAMI,OAAKJ,IAAE,IAAE,QAAQ,KAAYI,KAAuB,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC,IAAML,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAED,IAAE,cAAc,cAAc,MAAM,QAAQ,GAAGC,IAAmL,IAAhL,AAAY,IAAE,UAAQ,CAAC,UAAU,EAAE,CAAC,CAAMD,IAAE,QAAQ,SAAQ,IAAE,QAAQ,QAAQ,IAAE,QAAQ,MAAM,GAAG,IAAE,QAAQ,QAAQ,IAAE,QAAQ,QAAQA,IAAE,UAAU,QAAQ,IAAE,QAAQ,OAAO,KAASA,IAAE,QAAQ,SAAS,CAAC,IAAMK,IAAEL,IAAE,OAAO,oBAAoB,GAAG,CAACK,KAAGA,IAAE,EAAE,OAAO,IAAMF,KAAWE,IAAE,IAAE,EAAGD,IAAEJ,IAAE,cAAc,MAAM,cAAc,GAAYI,MAAT,IAAK,GAAM,OAAO,IAAMK,IAAE,IAAIH,OAAEF,IAAE,EAAEA,IAAE,EAAED,IAAE,CAACO,IAAEV,IAAE,UAAU,SAAS,MAAMS,KAAG,KAAG,KAAK,UAAUT,IAAE,EAAE,CAAC,IAAI,IAAMK,OAAKK,IAAE,CAAC,GAAK,CAAC,GAAGJ,IAAE,GAAGG,IAAE,SAASC,KAAGH,aAAEH,IAAEC,IAAE,SAAS,CAACM,IAAED,KAAG,EAAEE,IAAEX,IAAE,MAAMC,IAAE,CAACC,IAAES,IAAED,IAAE,GAAGA,KAAGR,IAAE,CAAC,IAAE,QAAQ,UAAU,KAAKE,IAAE,CAAC,IAAMJ,IAAEO,OAAE,OAAOF,IAAEG,IAAE,CAAC,IAAE,OAAOP,IAAE,IAAE,SAAS,MAAMD,IAAE,WAAW,KAAQD,IAAE,QAAQ,SAAS,CAAC,IAAI,IAAMC,OAAKD,IAAE,QAAQ,UAAU,IAAE,SAAS,MAAMC,IAAE,gBAAgB,CAAC,IAAE,QAAQ,UAAU,EAAE,GAAG,cAAc,CAAC,IAAMD,IAAE,EAAE,KAAK,EAAE,IAAI,CAACC,IAAED,IAAE,cAAc,MAAM,SAASK,IAAEL,IAAE,OAAO,oBAAoB,CAACK,KAAGA,IAAE,GAAG,CAACJ,KAAG,KAAK,eAAeA,IAAEI,IAAE,IAAIC,OAAEL,IAAE,EAAEA,IAAE,EAAEI,IAAE,CAAC,CAAC,eAAe,IAAE,IAAE,IAAE,IAAE,CAAC,IAAID,IAAE,IAAME,IAAE,EAAE,KAAK,EAAE,IAAI,CAACK,IAAEL,IAAE,UAAU,SAAS,MAAMD,KAAG,KAAG,KAAK,UAAUL,IAAE,EAAE,CAACY,IAAEN,IAAE,cAAc,cAAc,MAAM,QAAQ,GAAGM,IAAE,IAAI,IAAMP,OAAKM,IAAE,CAAC,GAAK,CAAC,GAAGL,IAAE,GAAGK,IAAE,SAAST,KAAGK,aAAEF,IAAE,SAASL,IAAE,CAACa,KAAoBV,KAAuB,OAAqBS,IAAE,OAAOA,IAAE,OAAOE,IAAEL,MAAEC,WAAE,EAAER,IAAED,IAAEW,IAAE,OAAO,CAACC,IAAE,EAAED,IAAE,SAAS,CAACG,IAAEP,OAAE,OAAWN,MAAJ,EAAMW,IAAEP,IAAEJ,IAAEY,IAAMZ,MAAJ,EAAMW,IAAEF,IAAET,IAAEY,IAAE,CAAC,IAAE,SAAS,MAAMC,IAAE,EAAE,sBAAsB,IAAE,IAAE,CAAC,IAAMV,IAAE,EAAE,KAAK,EAAE,IAAI,CAACF,IAAEE,IAAE,cAAc,cAAc,MAAM,QAAQ,GAAG,CAACF,IAAE,OAAO,IAAMC,IAAE,SAAS,iBAAiBJ,IAAE,CAAC,IAAE,QAAQI,IAAE,SAAS,KAAG,CAAC,IAAMA,IAAEJ,IAAEO,IAAEF,IAAE,OAAO,WAAWG,IAAE,CAAC,GAAGJ,IAAE,WAAWA,IAAE,YAAY,GAAGG,IAAE,GAAGH,IAAE,UAAUA,IAAE,aAAa,GAAGG,IAAE,CAACE,IAAEL,IAAE,YAAY,EAAEG,IAAEG,IAAaT,IAAE,OAAb,SAAkB,IAAIK,OAAEE,IAAE,EAAEA,IAAE,EAAEC,IAAE,CAAC,IAAIE,UAAEP,IAAE,WAAWG,IAAEH,IAAE,UAAUG,IAAEH,IAAE,YAAYG,IAAEH,IAAE,aAAaG,IAAE,CAACL,IAAEC,IAAE,KAAKU,IAAED,QAAEV,IAAEE,IAAE,CAAC,KAAK,eAAeI,IAAEC,IAAEC,IAAEG,IAAE,GAAG,GAAE,EAAE,IAAI,WCA3mK,SAAS,gBAAgB,IAAE,IAAE,IAAE,CAAC,GAAK,CAAC,QAAQG,KAAGC,IAAE,GAAG,CAACD,IAAE,MAAM,GAAG,IAAME,IAAEC,gBAAEC,IAAEC,IAAE,CAAC,GAAGL,IAAE,SAAS,OAAO,CAAC,OAAOA,IAAE,QAAQM,SAAOJ,KAAG,CAAC,IAAMK,IAAEP,IAAE,QAAQ,IAAI,CAAC,MAAM,GAAGA,IAAE,UAAU,EAAEO,IAAE,CAAC,SAASL,IAAE,GAAGF,IAAE,UAAUO,IAAE,GAAG,eAAe,UAAU,IAAE,CAAC,OAAO,IAAI,SAAS,KAAG,CAAC,IAAE,QAAQ,GAAK,IAAMN,IAAE,IAAI,MAAM,IAAE,QAAQA,IAAE,IAAE,iBAAiB,YAAY,CAAC,IAAE,QAAQ,GAAM,KAAG,GAAG,CAAC,IAAE,iBAAiB,aAAa,CAAC,IAAE,QAAQ,IAAK,GAAE,IAAE,MAAM,GAAK,IAAE,QAAQ,GAAM,QAAQ,MAAM,sCAAsCE,IAAE,SAAS,CAAC,KAAG,GAAG,CAAC,IAAE,IAAIA,IAAE,SAAS,CAAC,eAAe,iBAAiB,IAAE,CAAC,GAAWA,IAAE,OAAV,MAAe,CAAC,MAAM,UAAUA,IAAE,CAAC,OAAO,IAAE,QAAQ,GAAK,IAAMG,IAAE,MAAM,MAAMH,IAAE,OAAO,CAAKG,IAAE,KAAI,QAAQ,MAAM,sCAAsC,CAAC,IAAE,MAAM,IAAK,IAAE,QAAQ,IAAE,QAAQ,MAAMA,IAAE,MAAM,EAAE,IAAE,QAAQ,GAAM,SAAS,kBAAkB,IAAE,IAAE,IAAE,IAAE,CAAC,IAAID,IAAEL,IAAEE,IAAE,IAAMK,IAAE,gBAAgBJ,IAAEF,IAAsBG,IAAE,SAA8B,OAAqB,EAAE,CAACI,IAAE,CAAC,MAAMP,IAAE,KAAK,OAAO,OAAO,OAAO,OAAO,EAAE,CAACE,IAAE,CAAC,CAAC,QAAQI,IAAE,CAAC,CAAC,OAAO,GAAM,MAAMD,IAAE,MAAMA,IAAE,OAAO,aAAuBA,IAAE,cAA4BA,IAAE,cAAc,OAAOA,IAAE,IAAI,CAAC,OAAO,IAAI,SAAS,KAAG,CAAC,IAAML,IAAE,IAAI,KAAK,CAACM,IAAE,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAACH,IAAE,KAAK,OAAO,KAAK,OAAO,WAAW,OAAOC,IAAED,IAAE,gBAAgBH,IAAE,CAACD,IAAE,IAAI,MAAM,IAAE,iBAAiB,YAAY,CAAC,IAAE,OAAO,GAAK,IAAE,QAAQA,IAAE,IAAEQ,IAAE,CAAC,IAAE,gBAAgBH,IAAE,GAAG,CAAC,IAAE,iBAAiB,SAAS,SAAS,CAAC,IAAE,gBAAgBA,IAAE,CAAC,IAAMJ,KAAE,OAAO,OAAO,OAAO,OAAO,EAAE,CAACE,IAAE,CAAC,CAAC,MAAM,GAAM,QAAQ,GAAK,CAAC,CAAC,MAAM,UAAUF,KAAE,CAAC,IAAE,OAAO,GAAK,IAAE,QAAQA,KAAE,QAAQ,IAAEO,IAAE,GAAG,CAAC,IAAE,IAAIH,MAAI,CAAs+E,eAAe,eAAe,IAAE,CAAC,IAAMC,IAAE,IAAI,YAAY,MAAMH,IAAE,SAAS,QAAQG,IAAE,CAAC,MAAMH,IAAE,SAAS,SAASG,IAAE,8FAArtI,CAAMA,IAAE,uGAA2nD,EAAU,SAAS,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,GAASF,MAAN,IAAQ,MAAU,UAAU,iCAAiC,CAAC,GAASA,MAAN,KAAS,CAACC,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOC,KAApB,WAAsBH,MAAIG,KAAG,CAACD,IAAE,CAACC,IAAE,IAAIH,IAAE,CAAC,MAAU,UAAU,0EAA0E,CAAC,OAAYC,MAAN,IAAQC,IAAE,KAAKF,IAAEF,IAAE,CAACI,IAAE,IAAE,MAAMJ,IAAEK,IAAE,IAAIH,IAAEF,IAAE,CAACA,KAAQG,IAAU,SAAS,IAAE,IAAE,IAAE,IAAE,CAAC,GAASH,MAAN,KAAS,CAACG,IAAE,MAAU,UAAU,gDAAgD,CAAC,GAAgB,OAAOE,KAApB,WAAsBH,MAAIG,KAAG,CAACF,IAAE,CAACE,IAAE,IAAIH,IAAE,CAAC,MAAU,UAAU,2EAA2E,CAAC,OAAYF,MAAN,IAAQG,IAAQH,MAAN,IAAQG,IAAE,KAAKD,IAAE,CAACC,IAAEA,IAAE,MAAME,IAAE,IAAIH,IAAE,EAAe,YAAN,KAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,KAAK,IAAK,GAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,IAAE,IAAE,CAAS,KAAK,UAAUA,IAAE,EAA+B,OAAO,KAAKG,IAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAE,IAAE,IAAE,IAAE,CAAC,IAAID,IAAE,IAAML,IAAEM,IAAE,MAAMJ,IAASF,KAAuB,QAAQ,GAAG,CAACE,IAAE,OAAO,IAAMK,IAAmBP,KAAuB,OAAqB,EAAEQ,IAAE,CAAC,EAAE,CAACP,IAAE,EAAE,CAACA,IAAE,CAAC,IAAE,YAAYG,IAAE,IAAE,UAAUF,IAAEM,IAAE,EAAEA,IAAE,EAAE,EAAEP,IAAE,EAAEA,IAAEM,IAAE,CAAC,IAAE,YAAY,EAAE,UAAU,IAAE,CAAoG,OAA3FH,IAAE,KAAK,EAAE,IAAI,CAAC,MAAM,KAAGE,IAAE,KAAKH,IAAE,IAAI,GAAe,IAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAGA,IAAE,GAAG,OAAO,EAAE,CAAC,CAAC,CAAQ,KAAK,UAAUA,IAAE,EAAC,eAAe,CAAC,MAAO,IAAG,UAAU,IAAE,CAAC,GAAaA,IAAE,QAAZ,SAA8BA,IAAE,QAAb,SAAmB,OAAO,IAAMG,IAAEH,IAAE,UAAUF,IAAE,KAAK,UAAUK,IAAE,CAAC,OAAOF,IAAED,IAAE,UAAUE,IAAEJ,IAAE,MAAM,KAAGE,IAAE,SAASC,IAAE,KAAK,CAAC,IAAGC,IAAE,MAAM,KAAK,eAAeC,IAAEF,IAAE,CAAC,UAAU,CAAC,KAAK,UAAUD,IAAE,GAAG,CAAC,aAAa,IAAE,IAAE,CAAC,IAAIF,IAAE,GAAaK,IAAE,QAAZ,SAA8BA,IAAE,QAAb,SAAmB,OAAO,IAAMF,IAAE,KAAK,UAAUD,IAAE,CAAC,OAAOE,IAAEC,IAAE,UAAUN,IAAEM,IAAE,cAAc,CAACJ,IAAYG,IAAE,cAA4BA,IAAE,cAAcE,IAAEH,IAAE,MAAM,KAAGD,IAAE,SAASE,IAAE,KAAK,CAAC,MAAIE,IAAE,QAAQ,gBAAgB,CAAC,KAAK,aAAaJ,IAAEG,IAAE,GAAG,EAAE,SAAS,CAAC,IAAIH,IAAEF,IAAE,IAAIG,IAAE,IAAEG,IAAE,SAASL,KAAGF,IAAE,MAAM,kBAAkBO,IAAEF,IAAEL,IAAEM,IAAE,CAAC,CAAC,MAAMN,IAAE,KAAKO,IAAE,QAAQA,IAAE,QAAQ,OAAO,GAAK,MAAMF,IAAE,MAAMA,IAAE,OAAO,aAAaH,IAAE,OAAOG,IAAE,IAAI,CAAC,AAAU,IAAE,QAAM,EAAG,IAAMG,IAAYH,IAAE,MAAoBC,IAAE,KAAKG,IAAYJ,IAAE,OAAqBC,IAAE,MAAMI,IAAE,CAAC,MAAMN,IAAE,KAAKI,IAAE,MAAMC,IAAE,CAAC,IAAE,MAAMC,IAAE,MAAM,IAAE,KAAKA,IAAE,KAAK,IAAE,MAAMA,IAAE,SAAS,EAAE,MAAM,eAAe,IAAE,IAAE,CAAC,IAAIT,IAAE,IAAMG,IAAEE,IAAE,IAAI,GAAG,CAACF,IAAE,MAAU,MAAM,mCAAmC,CAAC,GAAG,CAAC,IAAMC,IAAE,CAAC,OAAOD,IAAE,KAAKA,IAAE,UAAUA,IAAE,OAAO,EAAE,CAAC,MAAM,GAAM,QAAQ,GAAK,CAAC,KAAK,SAASD,IAAEE,IAAE,CAA8F,MAA1EC,IAAE,cAA4BA,IAAE,cAAe,iBAAiB,WAAkBD,IAAE,MAAS,CAAC,MAAU,MAAM,uBAAuBC,IAAE,IAAI,YAAY,IAAG,EAAE,IAAI,WCAr1E,eAAe,gBAAgB,IAAE,CAAC,MAAMK,IAAE,mBAAmB,QAAQ,KAAG,IAAI,YAAYA,IAAE,EAAE,qFAA3xD,CAAM,UAAN,cAAwBA,eAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,KAAK,GAAM,KAAK,IAAE,CAAIA,MAAG,MAAM,KAAKA,IAAE,CAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,aAAN,cAA2BA,eAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,OAAO,aAAa,KAAK,KAAK,KAAK,GAAM,KAAK,IAAE,CAAIA,MAAG,MAAM,KAAKA,IAAE,CAAUA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,KAAN,KAAU,CAAC,aAAa,CAAC,KAAK,MAAM,EAAE,KAAK,MAAM,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAO,KAAK,MAAM,KAAKA,IAAE,MAAM,CAAC,KAAK,SAAS,KAAKA,IAAE,SAAS,IAAS,YAAN,KAAiB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAsBC,IAAVF,IAAE,QAAY,KAAQE,MAAG,IAAE,KAAK,CAAC,MAAMD,IAAE,OAAO,aAAaE,cAAED,IAAE,MAAM,MAAM,EAAEA,IAAE,MAAM,KAAK,EAAEE,WAAG,EAAEH,IAAE,OAAO,aAAa,IAAI,EAAE,UAAU,EAAE,SAASA,IAAE,OAAO,aAAaE,cAAED,IAAE,SAAS,MAAM,EAAEA,IAAE,SAAS,KAAK,EAAEE,WAAG,EAAEH,IAAE,OAAO,aAAa,IAAI,EAAE,KAAK,EAAE,MAAMC,IAAE,MAAM,CAAC,IAAE,KAAK,UAAU,IAAI,IAAE,KAAK,SAAS,IAAI,IAAE,KAAK,OAAO,IAAI,IAAE,KAAK,MAAM,IAAI,IAAE,OAAO,IAAE,SAASF,IAAE,KAAK,MAAM,IAAI,UAAU,IAAE,CAAC,MAAM,CAACA,IAAE,UAAU,YAAY,IAAE,GAAGG,IAAE,CAAC,AAAS,IAAE,OAAK,IAAI,KAAM,IAAI,IAAMC,OAAKD,IAAE,IAAE,KAAK,KAAYC,KAAuB,KAAK,CAAC,OAAO,IAAE,IAAE,CAAC,GAAG,CAAC,KAAK,UAAUJ,IAAE,EAAE,CAACA,IAAE,KAAK,OAAO,IAAME,IAAEF,IAAE,KAASK,IAAE,GAAM,GAAGL,IAAE,SAAS,CAAsB,GAArB,IAAE,WAAWI,IAAE,MAAS,EAAEF,IAAE,WAAWF,IAAE,KAAK,OAAO,OAAO,IAAE,GAAK,IAAE,SAAS,GAAM,IAAE,UAAU,EAAE,IAAE,KAAK,EAA4E,GAAlEE,IAAE,WAAP,IAA0BF,IAAE,WAAgB,IAAE,IAAE,KAAK,EAAE,IAAE,MAAMI,IAAE,MAASF,IAAE,KAAKA,IAAE,UAAS,OAA+C,GAAxC,IAAE,KAAK,EAAE,IAAE,KAAK,MAAM,GAAG,IAAE,KAAK,QAAeF,IAAE,KAAK,QAAX,EAAiB,CAAC,IAAE,SAAS,CAAC,OAAO,IAAMM,IAAE,KAAK,UAAU,OAAO,KAAKC,IAAEN,cAAE,EAAEK,IAAE,MAAM,CAACE,IAAEP,cAAE,EAAEK,IAAE,MAAM,CAAC,IAAE,SAAS,EAAEG,cAAEF,IAAE,CAAC,IAAE,SAAS,EAAEE,cAAED,IAAE,CAAC,IAAE,SAAS,GAAK,IAAE,UAAU,EAAE,IAAE,KAAK,EAAE,IAAE,OAAO,CAAC,IAAME,IAAEV,IAAE,QAAQ,KAAQU,MAAG,IAAE,MAAM,IAAIP,cAAEO,IAAE,MAAM,MAAM,CAAC,IAAE,SAAS,IAAIP,cAAEO,IAAE,SAAS,MAAM,OCAjuD,eAAe,cAAc,IAAE,CAAC,MAAMC,IAAE,SAAS,OAAO,IAAI,WAAW,2CAAzJ,WAAN,KAAgB,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAE,OAAO,CAACC,IAAE,EAAE,EAAE,CAAC,IAAE,OAAOA,IAAE,EAAE,EAAE,CAAC,eAAe,CAAC,MAAO,QCA6C,SAASC,eAAa,IAAE,IAAE,IAAE,IAAE,CAAC,OAAOC,IAAE,QAAQ,QAAQ,UAAU,QAAnC,CAA4C,IAAI,MAAM,KAAGC,KAAGD,IAAE,SAAS,CAAC,MAAM,IAAI,MAAM,KAAGE,KAAGF,IAAE,SAAS,CAAC,OAAO,SAAS,cAAc,IAAE,IAAE,CAAC,IAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAEC,IAAE,GAAG,CAACC,IAAE,QAAQ,OAAO,IAAMC,IAAED,IAAE,QAAQ,IAAIE,IAAEF,IAAE,QAAQ,IAAIG,IAAYH,IAAE,QAAQ,OAAqB,EAAE,GAAG,EAAEA,IAAE,WAAW,CAACA,IAAE,QAAQ,SAAmBA,IAAE,QAAQ,UAAwB,GAAG,IAAcA,IAAE,QAAQ,OAAqB,IAAcA,IAAE,QAAQ,UAAwB,IAAI,CAAC,OAAOA,IAAE,QAAQ,OAAjB,CAAyB,IAAK,GAAKA,IAAE,QAAQ,OAAOE,KAAG,IAAE,QAAQ,OAAO,EAAE,IAAE,QAAQ,QAAQ,IAAE,QAAQ,MAAM,GAAG,IAAE,QAAQ,SAAa,IAAE,QAAQ,QAAkBF,IAAE,QAAQ,UAAwB,GAAGN,IAAE,OAAO,MAAM,IAAK,GAAKM,IAAE,QAAQ,OAAOC,KAAG,IAAE,QAAQ,OAAO,EAAE,IAAE,QAAQ,QAAQ,IAAE,QAAQ,MAAM,GAAG,IAAE,QAAQ,SAAa,IAAE,QAAQ,QAAkBD,IAAE,QAAQ,UAAwB,GAAGN,IAAE,OAAO,MAAM,IAAE,QAAQ,UAAcM,IAAE,QAAQ,QAAd,IAAsB,IAAE,QAAQ,UAAUG,KAAG,eAAaH,IAAEA,IAAE,QAAQ,MAAMC,IAAEC,IAAE,CAAC,IAAE,YAAY,IAAE,QAAQ,MAAMV,MAAEQ,IAAE,QAAQ,MAAMC,IAAEC,IAAE,GAAkgC,eAAe,mBAAmB,IAAE,CAAC,MAAMV,IAAE,mBAAmB,WAAW,KAAG,IAAI,eAAeA,IAAE,EAAE,4DAA9mE,CAAghC,eAAN,KAAoB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAMK,IAAEL,IAAE,QAAQ,QAAQ,IAAE,QAAQ,CAAC,OAAOK,IAAE,UAAU,OAAO,IAAIG,YAAEH,IAAE,MAAM,CAAC,IAAIH,YAAEG,IAAE,MAAM,CAAC,MAAMJ,cAAEI,IAAE,MAAM,CAAC,MAAM,EAAE,SAASJ,cAAEI,IAAE,UAAU,MAAM,CAAC,CAAC,IAAMC,IAAED,IAAE,UAAU,GAAGC,IAAE,OAAO,CAAC,IAAE,QAAQ,MAAM,EAAEL,cAAEK,IAAE,MAAM,CAAC,IAAE,QAAQ,OAAO,EAAE,IAAMC,IAAEF,IAAE,MAA4C,OAAtC,IAAE,QAAQ,IAAIH,YAAEK,IAAE,CAAC,IAAE,QAAQ,IAAIC,YAAED,IAAE,CAAQD,IAAE,WAAT,CAAqB,IAAI,MAAM,IAAE,QAAQ,MAAMN,IAAE,QAAQ,IAAI,IAAE,QAAQ,OAAO,EAAE,MAAM,IAAI,SAAS,IAAE,QAAQ,MAAMG,cAAEH,IAAE,QAAQ,CAAC,IAAE,QAAQ,OAAOI,WAAG,EAAE,GAAG,EAAE,EAAE,MAAM,IAAI,MAAM,QAAQ,IAAE,QAAQ,MAAMJ,IAAE,QAAQ,IAAI,IAAE,QAAQ,OAAO,EAAE,MAAM,IAAE,QAAQ,SAASC,cAAEK,IAAE,MAAM,CAAC,IAAI,KAAK,UAAU,OAAO,aAAa,IAAE,OAAO,IAAE,QAAQ,UAAUF,WAAG,GAAG,UAAU,IAAE,CAAC,IAAII,IAAEN,IAAED,IAAEE,IAAE,MAAM,CAACH,IAAE,WAAW,CAACA,IAAE,UAAU,CAAC,CAACA,IAAE,SAASA,IAAE,QAAQ,UAAoBA,IAAE,QAAQ,UAAwB,IAAI,IAAcA,IAAE,QAAQ,UAAwB,GAAG,IAAcA,IAAE,QAAQ,OAAqB,IAAcA,IAAE,QAAQ,UAAwB,IAAI,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUA,IAAE,EAAE,cAAcA,IAAEQ,IAAE,MCAn/D,SAAS,iBAAiB,IAAE,CAAC,GAAcI,IAAE,UAAb,UAA4CA,IAAE,UAAxB,qBAAsDA,IAAE,UAAvB,oBAA0CA,IAAE,UAAZ,QAAoB,OAAO,IAAE,OAAO,MAAM,EAAE,IAAE,SAAS,SAAS,EAAEA,IAAE,KAAKA,IAAE,OAAO,EAAEA,IAAE,OAAO,KAAKA,IAAE,WAAW,QAAQ,IAAE,SAAS,SAAS,EAAEA,IAAE,WAAW,MAAMA,IAAE,KAAKA,IAAE,OAAO,GAAG,IAAMC,IAAED,IAAE,SAAS,SAAS,EAAME,IAAE,GAAM,GAAaF,IAAE,YAAZ,SAAuBA,IAAE,OAAO,OAAOA,IAAE,WAAW,OAAOC,IAAE,GAAYD,IAAE,YAAX,QAAsBA,IAAE,OAAO,MAAM,GAAGC,IAAE,EAAE,CAAC,IAAMA,IAAEE,SAAEH,IAAE,SAAS,QAAQ,OAAO,WAAW,CAAC,IAAE,SAAS,SAAS,GAAG,CAACC,IAAE,IAAE,GAAK,GAAG,CAACC,IAAE,OAAO,IAAME,IAAEJ,IAAE,OAAO,EAAEA,IAAE,KAAK,IAAE,OAAO,OAAOA,IAAE,WAAW,MAAM,IAAE,SAAS,SAAS,EAAEA,IAAE,WAAW,MAAMI,IAAEJ,IAAE,OAAO,MAAM,IAAI,IAAE,SAAS,SAAS,EAAEI,KAAaJ,IAAE,UAAZ,SAAqBA,IAAE,SAAS,SAAS,CAAC,SAAS,eAAe,IAAE,CAAC,GAAcA,IAAE,UAAb,UAA0CA,IAAE,UAAtB,mBAAkDA,IAAE,UAArB,kBAAwCA,IAAE,UAAZ,QAAoB,OAAO,IAAE,OAAO,OAAO,EAAE,IAAE,SAAS,SAAS,EAAEA,IAAE,KAAKA,IAAE,OAAO,EAAEA,IAAE,OAAO,IAAIA,IAAE,WAAW,SAAS,IAAE,SAAS,SAAS,EAAEA,IAAE,WAAW,OAAOA,IAAE,KAAKA,IAAE,OAAO,GAAG,IAAMC,IAAED,IAAE,SAAS,SAAS,EAAME,IAAE,GAAM,GAAcF,IAAE,YAAb,UAAwBA,IAAE,OAAO,QAAQA,IAAE,WAAW,QAAQC,IAAE,GAAWD,IAAE,YAAV,OAAqBA,IAAE,OAAO,KAAK,GAAGC,IAAE,EAAE,CAAC,IAAMA,IAAEE,SAAEH,IAAE,SAAS,QAAQ,OAAO,SAAS,CAAC,IAAE,SAAS,SAAS,GAAG,CAACC,IAAE,IAAE,GAAK,GAAG,CAACC,IAAE,OAAO,IAAME,IAAEJ,IAAE,OAAO,EAAEA,IAAE,KAAK,IAAE,OAAO,QAAQA,IAAE,WAAW,OAAO,IAAE,SAAS,SAAS,EAAEA,IAAE,WAAW,OAAOI,IAAEJ,IAAE,OAAO,KAAK,IAAI,IAAE,SAAS,SAAS,EAAEI,KAAaJ,IAAE,UAAZ,SAAqBA,IAAE,SAAS,SAAS,CAAmzI,eAAe,oBAAoB,IAAE,CAAC,MAAMG,IAAE,mBAAmB,YAAY,KAAG,IAAI,mBAAmBA,IAAE,EAAE,oHAA11L,CAAm8C,cAAN,KAAmB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,MAAM,CAAC,SAAS,kBAAkB,oBAAoB,iBAAiB,mBAAmB,QAAQ,CAAC,OAAO,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAAC,KAAK,MAAM,SAASC,IAAE,CAAC,OAAO,IAAMC,IAAE,KAAK,UAAcC,IAAE,GAAM,IAAI,GAAK,EAAEN,OAAKK,IAAE,QAAgE,GAA9CL,IAAE,iBAAX,IAAK,KAAuB,IAAEA,IAAE,eAAeG,IAAED,IAAED,IAAE,EAAKK,IAAE,MAAM,GAAGA,IAAE,OAAO,IAAMC,IAAEJ,IAAE,aAAa,CAACK,IAAEL,IAAE,OAAOM,IAAEN,IAAE,WAAW,CAACO,IAAEV,gBAAEO,IAAEE,IAAE,CAACE,IAAEN,IAAE,OAAO,KAAK,iBAAiB,CAAC,SAASF,IAAE,QAAQC,IAAE,UAAUH,IAAE,OAAOS,IAAE,WAAWC,IAAE,OAAOH,IAAE,KAAKC,IAAE,CAAC,CAAC,eAAe,CAAC,SAASN,IAAE,QAAQC,IAAE,UAAUH,IAAE,OAAOS,IAAE,WAAWC,IAAE,OAAOH,IAAE,KAAKC,IAAE,CAAC,GAAQ,eAAN,KAAoB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUN,IAAE,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAAC,KAAK,MAAM,SAASG,IAAE,CAAC,OAAO,IAAMC,IAAE,KAAK,UAAU,OAAOJ,IAAE,QAAT,CAAkB,IAAI,SAAS,IAAI,UAAU,GAAGD,cAAEC,IAAE,SAASI,IAAE,OAAO,KAAKH,OAAE,OAAOD,IAAE,WAAW,CAACH,IAAE,CAAC,OAAO,MAAM,IAAI,SAAS,CAAC,GAAK,CAAC,GAAGA,IAAE,GAAGE,KAAGD,aAAEE,IAAE,SAASA,IAAE,WAAW,CAAM,CAAC,EAAEC,IAAE,EAAEC,KAAGF,IAAE,SAAS,GAAGC,IAAE,GAAGJ,IAAEG,IAAE,WAAW,QAAQE,IAAE,GAAGH,IAAEC,IAAE,WAAW,QAAQC,KAAG,GAAGJ,IAAE,CAACG,IAAE,WAAW,QAAQE,KAAG,GAAGH,IAAE,CAACC,IAAE,WAAW,OAAO,OAAO,OAAO,IAAE,UAAU,OAAOA,IAAE,IAAK,GAAE,GAAK,GAAQ,YAAN,KAAiB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,MAAM,CAAC,OAAO,CAAC,OAAO,IAAE,IAAE,IAAE,IAAE,CAAmC,GAA/B,CAAC,KAAK,MAAM,SAASE,IAAE,EAAWF,IAAE,QAAQ,KAAK,SAAS,aAAsBH,MAAT,QAAsBA,MAAV,UAAcG,IAAE,QAAQ,KAAK,SAAS,WAAmBH,MAAR,OAAsBA,MAAX,UAAc,OAAO,IAAMM,IAAEH,IAAE,QAAQ,KAAK,QAAQI,IAAE,KAAK,UAAgBC,IAAED,IAAE,OAAO,KAAWE,IAAEN,IAAE,WAAW,CAAC,GAAGG,IAAE,OAAO,CAAC,IAAML,IAAEE,IAAE,UAAU,CAACG,IAAE,SAASL,IAAE,EAAEO,IAAE,OAAOC,KAAcT,MAAX,UAAcM,IAAE,SAASL,IAAE,EAAE,CAACQ,KAAWT,MAAR,QAAYO,IAAE,UAAU,OAAOJ,IAAE,KAAK,CAAC,GAAGA,IAAE,SAAS,EAAE,GAAGA,IAAE,SAAS,GAAGK,IAAE,OAAOC,KAAGN,IAAE,SAAS,EAAE,GAAGA,IAAE,SAAS,GAAG,CAACM,KAAGN,IAAE,SAAS,EAAE,GAAGA,IAAE,SAAS,GAAGK,IAAE,MAAMC,KAAGN,IAAE,SAAS,EAAE,GAAGA,IAAE,SAAS,GAAG,CAACM,IAAE,OAAO,cAAEN,IAAE,SAASI,IAAE,OAAO,KAAKH,OAAE,OAAOK,IAAET,IAAE,EAAEO,IAAE,UAAU,OAAOJ,IAAE,IAAS,WAAN,KAAgB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,IAAE,IAAE,IAAE,IAAE,CAAC,GAAG,CAAC,KAAK,MAAM,SAASM,IAAE,CAAC,OAAO,IAAMC,IAAE,KAAK,UAAU,OAAOP,IAAE,QAAT,CAAkB,IAAI,SAAS,CAAC,GAAK,CAAC,EAAEH,IAAE,EAAEE,KAAGC,IAAE,SAAeE,IAAED,OAAE,OAAO,IAAE,OAAOD,IAAE,WAAW,OAAO,IAAE,MAAMA,IAAE,SAAS,MAAM,KAAK,GAAG,IAAE,MAAMC,OAAE,OAAOD,IAAE,WAAW,CAAC,CAAC,GAAK,CAAC,GAAGI,IAAE,GAAGC,KAAGP,aAAEE,IAAE,SAASE,IAAE,CAAC,GAAGL,KAAG,GAAGO,KAAG,GAAGL,KAAG,GAAGM,KAAG,GAAGR,KAAG,GAAGO,KAAG,GAAGL,KAAG,GAAGM,KAAG,EAAE,OAAO,IAAE,SAAS,EAAE,KAAK,MAAMF,cAAE,CAAC,IAAI,EAAE,IAAII,IAAE,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAE,SAAS,EAAE,KAAK,MAAMJ,cAAE,CAAC,IAAI,EAAE,IAAII,IAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAAK,CAAC,GAAGD,IAAE,GAAGE,KAAGV,aAAEE,IAAE,SAASA,IAAE,WAAW,CAAC,IAAE,UAAU,KAAK,MAAM,CAACQ,IAAE,CAACF,IAAE,CAAC,IAAE,SAAS,MAAMN,IAAE,UAAU,MAAM,QAAQ,GAAGD,cAAEC,IAAE,SAASO,IAAE,OAAO,KAAKN,OAAE,OAAOD,IAAE,WAAW,CAACI,IAAE,CAAC,OAAO,OAAOJ,IAAE,QAAT,CAAkB,IAAI,UAAU,CAAC,IAAE,SAAS,EAAE,KAAK,MAAMG,cAAE,CAAC,IAAI,CAACH,IAAE,WAAW,OAAO,IAAIA,IAAE,WAAW,OAAO,CAAC,CAAC,CAACA,IAAE,WAAW,EAAE,IAAE,SAAS,EAAE,KAAK,MAAMG,cAAE,CAAC,IAAI,CAACH,IAAE,WAAW,OAAO,IAAIA,IAAE,WAAW,OAAO,CAAC,CAAC,CAACA,IAAE,WAAW,EAAE,GAAK,CAAC,GAAGH,IAAE,GAAGE,KAAGD,aAAEE,IAAE,SAASA,IAAE,WAAW,CAAIA,IAAE,WAAW,SAAQ,IAAE,UAAU,KAAK,MAAMD,IAAEF,IAAE,CAAC,IAAE,SAAS,MAAMG,IAAE,WAAU,MAAM,IAAI,SAAS,CAAC,IAAMF,IAAEE,IAAE,QAAQ,KAAK,KAAKD,IAAEQ,IAAE,OAAO,KAAKN,IAAE,CAAC,OAAOF,IAAE,OAAOC,IAAE,WAAW,CAACA,IAAE,OAAO,EAAE,KAAK,CAACA,IAAE,WAAW,CAACA,IAAE,OAAO,EAAE,MAAMD,IAAE,MAAMC,IAAE,WAAW,CAACA,IAAE,OAAO,EAAE,IAAI,CAACA,IAAE,WAAW,CAACA,IAAE,OAAO,EAAE,CAACG,IAAEH,IAAE,WAAW,CAACK,IAAER,gBAAEG,IAAE,SAASG,IAAE,CAAcC,MAAV,SAAaC,IAAE,KAAKN,IAAE,MAAMC,IAAE,OAAO,GAAG,IAAE,SAAS,EAAEC,IAAE,KAAK,IAAE,gBAAgB,EAAED,IAAE,SAAS,EAAMF,MAAG,IAAE,SAAS,EAAEI,WAAG,CAACH,IAAE,OAAO,IAAE,gBAAgB,EAAEC,IAAE,SAAS,IAAoBI,MAAT,QAAYC,IAAE,MAAM,CAACL,IAAE,OAAO,IAAG,IAAE,SAAS,EAAEC,IAAE,MAAM,IAAE,gBAAgB,EAAED,IAAE,SAAS,EAAMF,MAAG,IAAE,SAAS,EAAEI,WAAG,CAACH,IAAE,OAAO,IAAE,gBAAgB,EAAEC,IAAE,SAAS,IAAiBI,MAAX,UAAcC,IAAE,IAAIN,IAAE,OAAOC,IAAE,OAAO,GAAOF,MAAG,IAAE,SAAS,EAAEI,WAAG,CAACH,IAAE,MAAM,IAAE,gBAAgB,EAAEC,IAAE,SAAS,GAAE,IAAE,SAAS,EAAEC,IAAE,IAAI,IAAE,gBAAgB,EAAED,IAAE,SAAS,GAAkBI,MAAR,OAAWC,IAAE,OAAO,CAACL,IAAE,OAAO,IAAOF,MAAG,IAAE,SAAS,EAAEI,WAAG,CAACH,IAAE,MAAM,IAAE,gBAAgB,EAAEC,IAAE,SAAS,GAAE,IAAE,SAAS,EAAEC,IAAE,OAAO,IAAE,gBAAgB,EAAED,IAAE,SAAS,GAAE,OAAO,SAAc,mBAAN,KAAwB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,SAAS,CAAC,IAAI,cAAcA,IAAE,CAAC,IAAI,eAAeA,IAAE,CAAC,IAAI,WAAWA,IAAE,CAAC,IAAI,YAAYA,IAAE,CAAC,CAAC,MAAM,EAAE,UAAU,IAAE,CAAC,MAAM,CAACA,IAAE,WAAW,CAACA,IAAE,SAAS,OAAO,IAAE,IAAE,CAAC,IAAIF,IAAEC,IAAEE,IAAEC,IAAE,IAAMC,IAAEH,IAAE,QAAQ,KAAK,SAAS,KAAK,cAAcA,IAAEH,IAAYM,IAAE,QAAsBA,IAAE,QAAQ,SAAS,CAAC,KAAK,cAAcH,IAAEH,IAAYM,IAAE,MAAoBA,IAAE,QAAQ,OAAO,CAAC,KAAK,cAAcH,IAAEH,IAAYM,IAAE,OAAqBA,IAAE,QAAQ,QAAQ,CAAC,KAAK,cAAcH,IAAEH,IAAYM,IAAE,KAAmBA,IAAE,QAAQ,MAAM,CAAC,cAAc,IAAE,IAAE,IAAE,IAAE,CAAC,IAAI,IAAMF,OAAK,KAAK,SAAS,IAAE,OAAOD,IAAED,IAAEF,IAAEC,IAAE,MCAhyK,eAAe,kBAAkB,IAAE,CAAC,IAAE,SAAS,gBAAgB,IAAI,eAAe,2DAA1oB,CAAM,cAAN,KAAmB,CAAC,MAAM,EAAE,UAAU,IAAE,CAAC,MAAM,CAACW,OAAG,EAAE,CAACC,IAAE,WAAWA,IAAE,UAAU,cAAc,cAAc,OAAO,QAAQ,SAAS,OAAO,KAAK,IAAE,CAAC,IAAMC,IAAED,IAAE,UAAUE,IAAED,IAAE,cAAc,GAAGF,OAAG,EAAE,CAACG,IAAE,cAAc,OAAO,QAAQ,SAAS,OAAO,OAAO,IAAMC,IAAED,IAAE,cAAc,OAAO,QAAQ,SAAS,MAAME,IAAEH,IAAE,cAAc,MAAM,SAAS,GAAG,CAACG,IAAE,OAAO,IAAMC,IAAE,CAAC,EAAEJ,IAAE,OAAO,KAAK,MAAM,EAAE,EAAEA,IAAE,OAAO,KAAK,OAAO,EAAE,CAACK,IAAEJ,IAAE,cAAc,OAAO,QAAQ,SAAS,OAAOK,IAAEP,IAAE,WAAW,CAACG,IAAEK,IAAE,CAAC,GAAGJ,IAAE,EAAEC,IAAE,GAAGE,IAAE,GAAGH,IAAE,EAAEC,IAAE,GAAGE,IAAE,CAAC,IAAE,OAAO,IAAIC,IAAE,EAAER,IAAE,OAAO,GAAGM,IAAE,IAAE,OAAO,IAAIE,IAAE,EAAER,IAAE,OAAO,GAAGM,SCAmF,eAAe,gCAAgC,IAAE,CAAC,MAAMG,IAAE,cAAc,oBAAoB,KAAG,IAAI,UAAUA,IAAE,EAAE,uDAArtB,CAAM,UAAN,cAAwBA,uBAAC,CAAC,YAAY,IAAE,CAAC,MAAMA,IAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,IAAE,CAAC,IAAIC,IAAE,IAAMC,IAAE,KAAK,UAAUC,IAAYH,IAAE,OAAO,iBAA+BE,IAAE,OAAO,gBAAgBE,IAAEJ,IAAE,aAAa,CAACK,IAAEH,IAAE,UAAU,SAAS,YAAYE,IAAED,IAAE,CAAC,IAAI,IAAMF,OAAKI,IAAE,CAAC,GAAGL,MAAIC,KAAG,CAACA,IAAE,QAAQ,KAAK,QAAQ,QAAQA,IAAE,WAAWA,IAAE,SAAS,SAAS,GAAwB,CAAC,GAAGE,IAAE,GAAGE,KAAGC,aAAEF,IAA9BH,IAAE,aAAa,CAAmB,CAACM,IAAEP,IAAE,QAAQ,KAAK,QAAQ,OAAOQ,IAAEL,KAAG,IAAII,IAAE,GAAGE,IAAEJ,KAAG,IAAIE,IAAE,GAAGG,IAAET,IAAE,KAAK,MAAMD,IAAE,KAAK,MAAMW,IAAE,EAAED,IAAE,IAAE,SAAS,GAAGF,IAAEE,IAAE,IAAE,SAAS,GAAGD,IAAEC,IAAE,IAAE,SAAS,GAAGF,IAAEG,IAAE,IAAE,SAAS,GAAGF,IAAEE,KAAG,UAAU,IAAE,CAAC,OAAOX,IAAE,QAAQ,KAAK,QAAQ,OAAO,OAAO,OCAniB,SAAS,OAAO,IAAE,IAAE,IAAE,IAAE,CAAC,GAAYY,IAAE,WAAW,GAAtB,IAAK,IAA4BC,IAAE,WAAW,GAAtB,IAAK,GAAkB,IAAE,SAAS,SAAkBD,IAAE,WAAW,GAAtB,IAAK,IAA4BC,IAAE,WAAW,GAAtB,IAAK,GAAkB,IAAE,SAAS,SAAkBD,IAAE,WAAW,GAAtB,IAAK,IAA4BC,IAAE,WAAW,GAAtB,IAAK,GAAkB,GAAGD,IAAE,WAAW,EAAEC,IAAE,WAAW,CAAC,CAAC,IAAMC,IAAEC,MAAEH,IAAE,WAAW,CAACC,IAAE,WAAW,CAAC,EAAEA,IAAE,WAAW,CAAC,CAACG,IAAE,IAAE,KAAK,OAAOF,IAAE,IAAE,KAAK,OAAOA,IAAKD,IAAE,WAAW,EAAEI,MAAG,IAAE,KAAK,MAAM,EAAE,IAAE,SAAS,MAAM,CAAC,IAAMH,IAAEC,MAAEF,IAAE,WAAW,CAACD,IAAE,WAAW,CAAC,EAAEA,IAAE,WAAW,CAAC,CAACI,IAAE,IAAE,KAAK,OAAOF,IAAE,IAAE,KAAK,OAAOA,IAAKF,IAAE,WAAW,EAAEK,MAAG,IAAE,KAAK,MAAM,EAAE,IAAE,SAAS,GAAG,SAAS,OAAO,IAAE,IAAE,CAAC,aAAEJ,6BAAEE,IAAE,CAACF,6BAAEG,IAAE,CAAC,CAAC,SAAS,QAAQ,IAAE,IAAE,CAAC,IAAE,aAAaJ,IAAE,aAAa,OAAOG,IAAEH,IAAE,CAAUG,IAAE,WAAW,GAAtB,IAAK,IAA4BH,IAAE,WAAW,GAAtB,IAAK,GAAkBG,IAAE,SAAS,CAAUA,IAAE,WAAW,GAAtB,IAAK,IAA4BH,IAAE,WAAW,GAAtB,IAAK,GAAkBA,IAAE,SAAS,CAAUG,IAAE,WAAW,GAAtB,IAAK,IAA4BH,IAAE,WAAW,GAAtB,IAAK,KAAoBG,IAAE,WAAW,EAAEH,IAAE,WAAW,CAACA,IAAE,SAAS,CAACG,IAAE,SAAS,EAAE,SAAS,iBAAiB,IAAE,IAAE,IAAE,IAAE,CAAC,OAAOA,IAAE,QAAQ,WAAW,KAA5B,CAAkC,IAAI,SAAS,OAAOA,IAAEH,IAAEC,IAAEG,IAAE,CAAC,MAAM,IAAI,SAAS,OAAOD,IAAEH,IAAE,CAAC,MAAM,IAAI,UAAU,QAAQG,IAAEH,IAAE,CAAC,OAA4kB,eAAe,mCAAmC,IAAE,CAAC,MAAMG,IAAE,cAAc,uBAAuB,KAAG,IAAI,SAASA,IAAE,EAAE,sDAA/qD,CAA0/B,SAAN,cAAuBC,uBAAC,CAAC,YAAY,IAAE,CAAC,MAAMD,IAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,IAAE,CAAC,IAAMH,IAAE,KAAK,UAAUC,IAAEE,IAAE,aAAa,CAACC,IAAED,IAAE,WAAW,CAACD,IAAEF,IAAE,UAAU,SAAS,YAAYC,IAAE,EAAEG,IAAE,CAAC,IAAI,IAAME,OAAKJ,IAAE,CAAC,GAAGC,MAAIG,KAAG,CAACA,IAAE,QAAQ,WAAW,QAAQH,IAAE,QAAQ,WAAW,OAAOG,IAAE,QAAQ,WAAW,MAAMA,IAAE,WAAWA,IAAE,SAAS,SAAS,IAAMJ,IAAEI,IAAE,aAAa,CAAOC,IAAED,IAAE,WAAW,CAAI,KAAK,IAAI,KAAK,MAAML,IAAE,EAAE,CAAC,KAAK,MAAMC,IAAE,EAAE,CAAC,CAACE,IAAEG,KAAmBF,YAAEJ,IAAEC,IAAE,CAASE,IAAEG,KAAO,iBAAiBJ,IAAEG,IAAEN,IAAE,SAAS,IAAIA,IAAE,OAAO,WAAW,EAAE,UAAU,IAAE,CAAC,OAAOG,IAAE,QAAQ,WAAW,OAAO,OAAO,OCAvK,SAAS,gBAAgB,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIK,IAAEC,YAAEC,IAAEC,IAAE,CAAuL,MAAnL,CAACC,KAAGJ,KAAGK,MAAyC,IAAEJ,YAAEC,IAA1B,CAAC,EAAEC,IAAE,EAAEG,IAAE,MAAM,EAAEH,IAAE,EAAE,CAAS,CAAIH,KAAGK,OAAkD,IAAEJ,YAAEC,IAAnC,CAAC,EAAEC,IAAE,EAAEG,IAAE,MAAM,EAAEH,IAAE,EAAEG,IAAE,OAAO,CAAS,CAAIN,KAAGK,OAA0C,IAAEJ,YAAEC,IAA3B,CAAC,EAAEC,IAAE,EAAE,EAAEA,IAAE,EAAEG,IAAE,OAAO,CAAS,EAAzCN,IAA2lD,eAAe,gBAAgB,IAAE,CAAC,MAAME,IAAE,cAAc,kBAAkB,KAAG,IAAI,OAAOA,IAAE,EAAE,CAAC,SAAS,aAAa,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIK,IAAE,GAAM,GAAGN,YAAEI,IAAEC,IAAE,EAAEF,IAAG,SAAEF,IAAEG,IAAEC,IAAE,CAAC,IAAE,WAAaE,IAAE,CAAC,IAAIP,IAAME,IAAsCM,IAAEC,aAAEL,IAAhC,CAAC,EAAEC,IAAE,EAAEK,IAAE,MAAM,EAAEL,IAAE,EAAE,CAAe,CAAC,GAAGG,IAAE,UAAUL,IAAE,CAAC,IAAMF,IAAEG,IAAE,EAAEI,IAAE,GAAGA,IAAE,GAAGJ,IAAE,EAAE,IAAE,CAAC,EAAE,EAAE,EAAEH,IAAE,CAAC,IAAE,CAAC,EAAES,IAAE,MAAM,EAAET,IAAE,KAAK,CAAgC,IAAMF,IAAEU,aAAEL,IAAjC,CAAC,EAAEC,IAAE,EAAE,EAAEA,IAAE,EAAEK,IAAE,OAAO,CAAe,CAAC,GAAGX,IAAE,UAAUI,IAAE,CAA2B,IAAME,IAAE,EAA1BD,IAAE,EAAEL,IAAE,GAAGA,IAAE,GAAGK,IAAE,IAAcL,IAAE,GAAGA,IAAE,IAAI,IAAE,CAAC,EAAEM,IAAE,EAAE,EAAE,CAAC,IAAE,CAAC,EAAEA,IAAE,EAAEK,IAAE,OAAO,KAAK,CAAwC,IAAMX,IAAEU,aAAEL,IAAzC,CAAC,EAAEC,IAAE,EAAEK,IAAE,MAAM,EAAEL,IAAE,EAAEK,IAAE,OAAO,CAAe,CAAC,GAAGX,IAAE,UAAUI,IAAE,CAAC,IAAMF,IAAEG,IAAE,EAAEL,IAAE,GAAGA,IAAE,GAAGK,IAAE,EAAyB,IAAE,CAAC,EAAlB,CAACH,KAAGF,IAAE,GAAGA,IAAE,IAAW,EAAEE,IAAE,CAAC,IAAE,CAAC,EAAED,IAAE,EAAEU,IAAE,MAAM,EAAEV,IAAE,EAAEU,IAAE,OAAO,GAAMV,KAAGE,MAAG,SAAED,IAAEG,IAAEJ,IAAE,CAAC,SAAEC,IAAEI,IAAEH,IAAE,CAAC,IAAE,IAAM,GAAGI,IAAE,CAAsE,GAArE,IAAE,UAAUJ,IAAE,MAAI,IAAE,yBAAyBS,KAAG,IAAE,YAAYC,gBAAEC,IAAEC,IAAE,CAAIC,IAAE,OAAO,CAAC,IAAMf,IAAEQ,gBAAEO,IAAE,MAAM,CAAIf,MAAG,IAAE,WAAWe,IAAE,KAAK,IAAE,YAAYH,gBAAEZ,IAAE,EAAE,IAAE,QAAQ,EAAE,SAAS,iBAAiB,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,aAAEC,IAAED,IAAEE,IAAEE,IAAE,CAAC,MAAI,IAAE,yBAAyBD,KAAG,IAAE,UAAUS,gBAAEb,IAAEU,IAAE,CAAC,IAAE,MAAM,CAAquF,eAAe,WAAW,IAAE,CAAC,IAAMT,IAAE,IAAI,YAAY,MAAMC,IAAE,UAAUD,IAAE,CAAC,eAAe,8BAA8B,IAAE,CAAC,MAAM,gBAAgBC,IAAE,CAAC,MAAM,WAAWA,IAAE,6GAA51N,CAAM,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,KAAK,EAAE,KAAK,MAAM,IAAIA,aAAE,KAAK,MAAM,MAAM,OAAO,KAAK,OAAO,GAAM,KAAK,IAAE,CAAID,MAAYA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,MAAM,KAAK,MAAMC,aAAE,OAAO,KAAK,MAAMD,IAAE,MAAM,CAAUA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAAgB,cAAN,KAAmB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,UAAU,EAAE,KAAK,IAAE,CAAIA,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMC,aAAE,OAAO,KAAK,MAAMD,IAAE,MAAM,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,YAAiB,MAAN,KAAW,CAAC,aAAa,CAAC,KAAK,MAAM,GAAM,KAAK,MAAM,IAAIC,aAAE,KAAK,MAAM,MAAM,OAAO,KAAK,QAAQ,GAAM,KAAK,SAAS,IAAI,KAAK,OAAO,GAAM,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,KAAK,OAAO,IAAI,YAAY,KAAK,UAAU,IAAI,cAAc,KAAK,MAAM,EAAE,KAAK,KAAK,GAAM,KAAK,IAAE,CAAID,MAAYA,IAAE,KAAX,IAAK,KAAW,KAAK,GAAGA,IAAE,IAAaA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAO,KAAK,MAAMC,aAAE,OAAO,KAAK,MAAMD,IAAE,MAAM,CAAUA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAkBA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASA,IAAE,UAAmBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQA,IAAE,SAAS,KAAK,OAAO,KAAKA,IAAE,OAAO,CAAC,KAAK,UAAU,KAAKA,IAAE,UAAU,CAAUA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMA,IAAE,OAAgBA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAA8P,OAAN,cAAqBE,uBAAC,CAAC,YAAY,IAAE,CAAC,MAAMD,IAAE,CAAC,KAAK,cAAcA,IAAE,OAAO,EAAE,MAAM,CAAC,KAAK,cAAc,UAAU,YAAY,IAAI,IAAI,MAAM,SAAS,IAAE,CAAC,IAAID,IAAE,GAAG,CAACC,IAAE,QAAQ,MAAM,OAAO,IAAE,MAAM,EAAE,CAAC,IAAMC,IAAED,IAAE,aAAa,CAACE,IAAE,KAAK,UAAUJ,IAAEI,IAAE,OAAO,KAAK,GAAGD,IAAE,EAAE,GAAGA,IAAE,EAAE,GAAGA,IAAE,EAAEH,IAAE,OAAOG,IAAE,EAAEH,IAAE,OAAO,OAAO,IAAMU,IAAER,IAAE,QAAQ,MAAMW,IAAEH,IAAE,QAAQD,IAAYP,IAAE,OAAO,eAA6B,EAAES,IAAED,IAAE,KAAKF,IAAEG,IAAE,IAAIN,WAAEF,IAAE,EAAEA,IAAE,EAAEM,IAAET,IAAE,CAAC,IAAIM,OAAEH,IAAE,EAAEA,IAAE,EAAEM,IAAE,CAACQ,IAAEb,IAAE,UAAU,SAAS,MAAMI,IAAE,CAAC,IAAI,IAAMP,OAAKgB,IAAE,CAAC,IAAMZ,IAAEJ,IAAE,QAAQ,MAAM,GAAGC,MAAID,KAAG,CAASI,KAAuB,QAASK,IAAE,KAAKL,IAAE,IAAIJ,IAAE,UAAUA,IAAE,WAAW,CAACA,IAAE,OAAYC,IAAE,MAAM,KAAK,KAAGA,IAAE,aAAa,CAAC,QAAQD,IAAE,GAA/C,IAAsDA,IAAE,MAAM,KAAK,KAAGC,IAAE,aAAa,CAAC,QAAQA,IAAE,GAA/C,GAAgD,SAAS,IAAMI,IAAEL,IAAE,aAAa,CAAC,GAAGK,IAAE,EAAE,GAAGA,IAAE,EAAE,GAAGA,IAAE,EAAEN,IAAE,OAAOM,IAAE,EAAEN,IAAE,OAAO,SAAS,IAAMI,IAAE,gBAAgBD,IAAEG,IAAEG,IAAET,IAAEW,KAAGN,IAAE,KAAK,CAAC,GAAGD,IAAEK,IAAE,OAAO,IAAMD,KAAG,EAAEJ,IAAEK,KAAGI,IAAE,KAAK,SAASX,IAAE,CAAC,IAAE,MAAM,KAAK,CAAC,YAAYD,IAAE,QAAQO,IAAE,CAAC,EAAE,UAAU,IAAE,CAAC,IAAIP,IAAE,MAAM,CAAC,CAAYC,IAAE,QAAQ,OAA4B,OAAQ,qBAAqB,IAAE,GAAGD,IAAE,CAAC,IAAIE,IAAEE,IAAE,AAAU,IAAE,QAAM,IAAI,MAAO,IAAI,IAAMC,OAAKL,IAAE,IAAE,MAAM,KAAgCK,KAAuB,OAA4BA,KAAuB,YAAiCA,KAAuB,YAAY,CAAC,OAAO,EAAE,SAAS,IAAE,CAAC,GAAG,CAACJ,IAAE,QAAQ,MAAM,OAAO,IAAMD,IAAE,KAAK,cAAcE,IAAED,IAAE,QAAQ,MAAUG,IAAWF,IAAE,KAAX,IAAK,GAASF,IAAE,UAAU,WAAWA,IAAE,UAAU,YAAY,IAAIE,IAAE,GAAG,CAAC,GAAGE,IAAE,OAAO,IAAMC,IAAEH,IAAE,MAAM,IAAEC,mBAAEE,IAAEH,IAAE,MAAMA,IAAE,QAAQ,CAAUA,IAAE,KAAX,IAAK,GAAS,IAAE,UAAU,WAAWE,IAAEJ,IAAE,UAAU,YAAY,IAAIE,IAAE,GAAGE,IAAE,GAA08B,aAAN,KAAkB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUH,IAAE,aAAa,IAAE,IAAE,CAAC,IAAIC,IAAE,IAAME,IAAE,KAAK,UAAUC,IAAEL,IAAE,QAAQ,GAAG,CAACA,IAAE,OAAOA,IAAE,MAAM,QAAQ,EAAE,OAAO,IAAE,MAAM,CAAC,IAAMG,IAAEH,IAAE,MAAM,QAAQ,KAAGK,IAAE,OAAOD,IAAE,UAAU,iBAAiBJ,IAAEC,IAAE,YAAY,EAAEI,IAAE,MAAM,WAAW,CAAC,IAAI,IAAMJ,OAAKE,IAAG,KAAK,cAAcC,IAAEC,IAAEL,IAAEC,IAAEE,IAAE,CAAC,IAAE,QAAQ,IAAcH,IAAE,OAAO,YAA0B,GAAG,GAAG,KAAK,aAAaA,IAAEC,IAAE,CAAC,IAAE,SAAS,CAAC,gBAAgB,IAAE,CAAY,GAAX,IAAE,MAAM,EAAE,CAAI,CAACA,IAAE,QAAQ,MAAM,OAAO,IAAMD,IAAE,KAAK,UAAU,OAAO,WAAW,IAAE,OAAO,cAAcC,IAAE,QAAQ,MAAM,SAASD,IAAE,IAAE,OAAO,WAAWC,IAAE,QAAQ,MAAM,MAAMD,IAAE,kBAAkB,IAAE,CAAC,IAAE,MAAM,EAAE,CAAC,aAAa,IAAE,IAAE,CAAC,IAAME,IAAE,KAAK,UAAUE,IAAEF,IAAE,cAAcG,IAAEL,IAAE,YAAYG,IAAEF,IAAE,aAAa,CAACF,IAAEM,IAAE,aAAa,CAAKI,IAAET,IAAE,QAAQ,IAAE,OAAO,MAAM,KAAG,CAAC,IAAIY,IAAEF,IAAEG,IAAE,GAAG,CAACZ,IAAE,QAAQ,MAAM,OAAO,IAAIa,IAAQC,IAAYd,IAAE,QAAQ,SAA8B,MAAM,GAAUc,KAAuB,OAAO,CAAC,IAAMd,IAAEc,IAAE,UAAUf,IAAEQ,gBAAEO,IAAE,MAAM,CAAGR,WAAG,CAACN,KAAQD,MAAG,IAAEA,IAAE,IAAEgB,cAAED,IAAE,QAAQ,EAAE,GAAG,CAACD,IAAE,CAAC,IAAMd,IAAEC,IAAE,QAAQ,MAA6G,IAAEU,aAAEV,IAAEI,IAA1FL,KAAuB,KAAxC,IAAK,GAAyEE,IAAE,UAAU,WAA9CA,IAAE,UAAU,YAAY,IAAIF,IAAE,GAAG,CAAkC,CAAKc,KAAoH,aAAad,IAAtGC,IAAE,OAAO,YAA0B,EAAuEE,IAAEJ,IAA3DE,IAAE,OAAO,eAA6B,EAAyBC,IAAE,OAAO,KAAKD,IAAE,QAAQ,MAAM,KAAKG,IAAE,eAAe,OAAOA,IAAE,eAAe,UAAUU,IAAEL,IAAER,IAAE,QAAQ,MAAM,OAAO,GAAG,CAAC,iBAAiB,IAAE,IAAE,IAAE,CAAC,IAAII,IAAE,GAAG,CAACJ,IAAE,QAAQ,MAAM,OAAO,IAAME,IAAE,KAAK,UAAUJ,IAAEI,IAAE,cAAcM,IAAEP,IAAE,YAAYU,IAAER,IAAE,YAAYM,IAAET,IAAE,QAAQ,MAAM,UAAUM,IAAYG,IAAE,UAAwBR,IAAE,QAAQE,IAAE,SAAS,EAAE,KAAG,GAAGD,IAAE,OAAO,MAAM,KAAG,CAAC,IAAIC,IAAE,IAAMC,IAAEJ,IAAE,aAAa,CAACe,IAAEP,IAAE,aAAa,CAACI,IAAED,IAAE,aAAa,CAACE,IAAYb,IAAE,OAAO,eAA6B,EAAE,GAAGD,YAAEK,IAAEW,IAAE,CAACF,KAAGd,YAAEa,IAAEG,IAAE,CAACF,KAAGd,YAAEa,IAAER,IAAE,CAACS,IAAE,OAAO,IAAIC,IAAEP,gBAAEE,IAAE,MAAM,CAAC,GAAG,CAACK,IAAE,CAAC,IAAMf,IAAEC,IAAE,QAAQ,MAA6G,IAAEU,aAAEV,IAAEQ,IAA1FT,KAAuB,KAAxC,IAAK,GAAyEG,IAAE,UAAU,WAA9CA,IAAE,UAAU,YAAY,IAAIH,IAAE,GAAG,CAAkC,CAAC,KAAG,iBAAiBE,IAAEG,IAAEW,IAAEH,IAAEd,IAAE,eAAe,OAAOA,IAAE,eAAe,UAAUgB,IAAER,IAAE,GAAG,CAAC,cAAc,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIJ,IAAEJ,IAAEU,IAAE,IAAMG,IAAER,IAAE,YAAYI,IAAEP,IAAE,UAAU,GAAG,EAAaD,IAAE,OAA4B,UAAU,QAAoBY,IAAE,QAAQ,OAA4B,UAAU,QAAS,OAAO,IAAMF,IAAYE,IAAE,OAA4B,QAAQ,KAAG,CAAC,IAAMV,IAAED,IAAE,UAAU,iBAAiBW,IAAEZ,IAAE,YAAY,CAAC,OAAOY,IAAE,QAAQ,OAAOV,KAAGU,IAAE,QAAQ,MAAM,WAAWP,IAAE,WAAW,KAAGJ,IAAE,cAAcD,IAAE,aAAa,EAAE,IAAI,CAAC,GAAUU,KAAuB,OAAO,IAAI,IAAMT,OAAKS,IAAE,CAAC,IAAML,IAAEJ,IAAE,YAAcO,IAAE,qBAAqBN,IAAEU,IAAEP,IAAE,CAAGL,IAAE,MAAM,UAAU,WAAW,KAAK,iBAAiBE,IAAEE,IAAEH,IAAE,IAAS,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,GAAG,QAAQ,UAAU,IAAE,CAAC,OAAO,IAAI,aAAaA,IAAE,CAAC,aAAa,EAAE,aAAa,CAAC,MAAO,QCA14L,eAAe,wBAAwB,IAAE,CAAC,MAAMgB,IAAE,SAAS,UAAU,IAAI,cAAc,CAAC,eAAe,kBAAkB,IAAE,CAAC,MAAMA,IAAE,SAAS,WAAW,IAAI,eAAe,CAAC,eAAe,iBAAiB,IAAE,CAAC,MAAM,wBAAwBA,IAAE,CAAC,MAAM,kBAAkBA,IAAE,+EAA90C,kBAAN,KAAuB,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAMC,IAAE,KAAK,UAAUC,IAAEC,IAAE,CAAOC,IAAE,KAAK,aAAaF,IAAEC,IAAE,CAAOE,IAAED,IAAE,MAAM,UAAUA,IAAE,MAAM,YAAkBE,IAAEF,IAAE,MAAM,UAAUA,IAAE,MAAM,YAAkBG,IAAE,KAAKD,IAAE,GAAGA,IAAQE,IAAE,KAAK,GAAG,KAAK,GAAGD,IAAE,IAAI,GAAGP,IAAE,CAAC,IAAE,WAAW,CAAC,IAAE,UAAUC,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,OAAO,EAAE,EAAE,CAAC,IAAI,IAAIC,IAAE,EAAEA,IAAEG,IAAE,MAAK,IAAE,OAAOD,IAAE,OAAO,EAAE,CAAC,IAAE,UAAUA,IAAE,OAAO,EAAE,CAAC,IAAE,OAAOI,IAAE,EAAG,cAAc,IAAE,CAAC,IAAIN,IAAEC,IAAE,IAAMF,IAAED,IAAE,UAAU,OAAkCC,KAAuB,OAA4BA,KAAuB,UAAwB,IAAS,cAAN,cAA4B,iBAAiB,CAAC,UAAU,IAAE,IAAE,CAAC,IAAME,IAAE,KAAK,cAAcH,IAAE,CAAC,MAAM,CAAC,EAAE,CAACE,KAAGC,IAAE,KAAK,EAAE,CAACD,IAAE,IAAI,CAAC,aAAa,IAAE,IAAE,CAAC,IAAIC,IAAEF,IAAE,IAAMG,IAAEJ,IAAE,UAAgBK,IAA6BD,KAAuB,OAA4BA,KAAuB,UAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAUC,IAAE,CAAC,OAAO,KAAKH,KAAGG,IAAE,GAAG,GAAQ,eAAN,cAA6B,iBAAiB,CAAC,UAAU,IAAE,IAAE,CAAC,MAAM,CAAC,EAAE,CAACH,IAAE,EAAEA,IAAE,KAAK,CAAC,eAAe,CAAC,MAAO,GAAE,aAAa,IAAE,IAAE,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,OAAO,EAAEA,IAAE,MCA7hC,SAAS,aAAa,IAAE,IAAE,IAAE,IAAE,CAAC,OAAOO,IAAE,QAAQ,KAAK,UAAU,QAAhC,CAAyC,IAAI,MAAM,KAAGC,KAAGD,IAAE,SAAS,CAAC,MAAM,IAAI,MAAM,KAAGE,KAAGF,IAAE,SAAS,CAAC,OAAO,SAAS,WAAW,IAAE,IAAE,CAAC,IAAIC,IAAEE,IAAEC,IAAEC,IAAEC,IAAE,IAAMC,KAAaC,IAAE,KAAK,UAAwB,GAAGN,IAAE,OAAOO,IAAED,IAAE,KAAK,IAAIE,IAAEF,IAAE,KAAK,IAAIG,IAAYH,IAAE,KAAK,OAAqB,EAAE,GAAG,EAAEA,IAAE,WAAW,CAACA,IAAE,KAAK,SAAmBA,IAAE,KAAK,UAAwB,GAAG,IAAcA,IAAE,KAAK,OAAqB,IAAcA,IAAE,KAAK,UAAwB,IAAI,CAAC,OAAOA,IAAE,KAAK,OAAd,CAAsB,IAAK,GAAKA,IAAE,KAAK,OAAOE,KAAG,IAAE,KAAK,OAAO,EAAE,IAAE,KAAK,QAAQ,IAAE,KAAK,MAAM,GAAG,IAAE,KAAK,SAAa,IAAE,KAAK,OAAOH,IAAE,MAAM,IAAK,GAAKC,IAAE,KAAK,OAAOC,KAAG,IAAE,KAAK,OAAO,EAAE,IAAE,KAAK,QAAQ,IAAE,KAAK,MAAM,GAAG,IAAE,KAAK,SAAa,IAAE,KAAK,OAAOF,IAAE,IAAE,KAAK,UAAcI,MAAJ,IAAQ,IAAE,KAAK,UAAUA,KAAG,aAAaH,IAAEA,IAAE,KAAK,MAAMC,IAAEC,IAAE,CAAC,IAAE,YAAY,IAAE,KAAK,MAAMV,MAAEQ,IAAE,KAAK,MAAMC,IAAEC,IAAE,GAAgV,eAAe,gBAAgB,IAAE,CAAC,MAAMV,IAAE,mBAAmB,YAAY,IAAI,aAAa,wDAA/vC,CAA81B,YAAN,KAAiB,CAAC,MAAM,EAAE,UAAU,IAAE,CAAC,IAAIQ,IAAEN,IAAED,IAAEE,IAAE,MAAM,CAACH,IAAE,WAAW,CAACA,IAAE,UAAUA,IAAE,KAAK,UAAoBA,IAAE,KAAK,UAAwB,IAAI,IAAcA,IAAE,KAAK,UAAwB,GAAG,IAAcA,IAAE,KAAK,OAAqB,IAAcA,IAAE,KAAK,UAAwB,IAAI,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUA,IAAE,EAAE,WAAWA,IAAEQ,IAAE,MCAlmC,eAAe,gBAAgB,IAAE,CAAC,IAAMI,IAAE,IAAI,aAAa,MAAMC,IAAE,SAAS,OAAOD,IAAE,CAAC,MAAMC,IAAE,SAAS,SAASD,IAAE,8CAAxN,EAAE,KAAK,KAAK,EAAE,CAAO,aAAN,KAAkB,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAE,KAAK,CAACE,IAAE,EAAE,CAACA,IAAE,EAAE,EAAEA,IAAE,EAAE,EAAEA,IAAE,EAAE,CAAC,eAAe,CAAC,MAAO,QCA2U,eAAe,cAAc,IAAE,CAAC,MAAMC,IAAE,SAAS,OAAO,IAAI,WAAW,0CAArf,WAAN,KAAgB,CAAC,KAAK,IAAE,IAAE,IAAE,CAAC,IAAIC,IAAE,IAAMC,IAAEC,IAAE,UAAUC,IAAE,KAAK,cAAcD,IAAE,CAACE,IAAmBH,KAAuB,OAAqB,EAAE,IAAE,OAAO,EAAE,EAAEI,IAAE,CAAC,IAAI,IAAIH,IAAE,EAAEA,IAAEC,IAAE,MAAK,IAAE,OAAO,KAAK,GAAGA,IAAE,CAAC,IAAE,OAAO,EAAE,EAAEE,IAAED,IAAE,CAAC,IAAE,OAAO,KAAK,GAAGD,IAAE,CAAC,IAAE,OAAO,EAAE,EAAEE,IAAE,CAAE,cAAc,IAAE,CAAC,IAAIH,IAAEG,IAAE,IAAML,IAAED,IAAE,UAAU,OAAkCC,KAAuB,OAA4BA,KAAuB,UAAwB,OCA1T,SAAS,iBAAiB,IAAE,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIM,IAAEC,IAAE,IAAMC,IAAEC,IAAE,GAAG,CAACD,KAAG,CAACA,IAAE,OAAO,OAAO,IAAME,IAAEC,cAAEC,IAAE,OAAO,CAACC,KAAaJ,IAAE,UAAwB,GAAGK,IAAE,OAAO,IAAIJ,IAAEK,IAAYN,IAAE,OAAqB,EAAKO,KAAOR,IAAE,SAAN,GAAc,IAAE,OAAOK,IAAKL,IAAE,MAAM,IAAG,IAAE,OAAO,EAAE,IAAE,OAAOA,IAAE,SAAY,IAAE,OAAOK,IAAKG,KAAGR,IAAE,MAAMS,MAAG,IAAE,OAAO,EAAE,IAAE,OAAOT,IAAE,MAAMS,MAAG,IAAE,UAAcF,MAAJ,IAAQ,IAAE,UAAUA,KAAG,IAAE,MAAME,MAAI,IAAE,OAAOA,KAAG,SAAS,kBAAkB,IAAE,IAAE,CAAC,IAAIR,IAAEG,IAAEK,IAAED,IAAEV,IAAEC,IAAEC,IAAEE,IAAEG,IAAEE,IAAE,GAAG,CAAYJ,IAAE,QAA6B,MAAO,OAAO,IAAMO,IAAEP,IAAE,OAAO,MAAM,UAAUQ,IAAsBR,IAAE,aAAkC,GAA2BA,IAAE,OAA4B,EAAE,KAAG,iBAAiBG,IAAEK,IAAED,IAAE,EAAE,IAAI,GAAM,CAAC,IAAME,IAAsBT,IAAE,aAAkC,GAA2BA,IAAE,OAA4B,EAAE,KAAG,iBAAiBG,IAAEM,IAAEF,IAAE,EAAE,IAAI,GAAK,CAAC,IAAMG,IAAsBV,IAAE,aAAkC,GAA2BA,IAAE,OAA4B,EAAE,KAAG,iBAAiBG,IAAEO,IAAEH,IAAE,EAAE,IAAI,GAAK,CAAm2B,eAAe,uBAAuB,IAAE,CAAC,MAAMP,IAAE,mBAAmB,eAAe,KAAG,IAAI,mBAAmBA,IAAE,EAAE,+DAA58D,CAA+/B,mBAAN,KAAwB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAIM,IAAED,IAAE,IAAMV,IAAE,KAAK,UAAU,IAAE,OAAOK,IAAE,QAAQ,kBAAkB,MAAMG,cAAEH,IAAE,QAAQ,OAAOA,IAAE,GAAGA,IAAE,QAAQ,iBAAiB,CAACA,IAAE,QAAQ,OAAO,IAAE,YAAYA,IAAE,OAAO,MAAML,IAAE,OAAO,WAAW,IAAMC,IAAYE,gBAAEE,IAAE,OAAO,MAAM,EAAgBA,IAAE,cAAc,CAAC,MAAI,IAAE,YAAYC,uBAAEL,IAAYI,IAAE,OAAO,OAA4B,UAAUL,IAAE,OAAO,aAAa,EAAE,UAAU,IAAE,CAAC,IAAIQ,IAAEL,IAAEG,IAAEK,IAAE,IAAMD,IAAYL,IAAE,QAA6B,MAAM,MAAM,CAACA,IAAE,WAAW,CAACA,IAAE,UAAU,CAAC,CAACK,MAAwBL,IAAE,aAAkC,EAAE,QAA1D,IAAK,IAA6DK,IAAE,UAAU,EAAE,QAA4BL,IAAE,aAAkC,EAAE,QAA1D,IAAK,IAA6DK,IAAE,UAAU,EAAE,QAA4BL,IAAE,aAAkC,EAAE,QAA1D,IAAK,IAA6DK,IAAE,UAAU,EAAE,QAAQ,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUL,IAAE,EAAE,kBAAkBA,IAAEG,IAAE,MCA9/B,eAAe,cAAc,IAAE,CAAC,IAAMQ,IAAE,IAAI,WAAW,IAAI,IAAMC,OAAK,EAAE,MAAMC,IAAE,SAASD,IAAED,IAAE,yDAA/9B,CAAM,EAAE,CAAC,OAAO,YAAY,OAAO,CAAO,WAAN,KAAgB,CAAC,KAAK,IAAE,IAAE,IAAE,IAAE,CAAC,IAAIG,IAAEC,IAAEC,IAAE,IAAMC,IAAEL,IAAE,UAAU,GAAYK,MAAT,IAAK,GAAM,OAAO,IAAMC,IAAED,IAAE,MAAM,GAAYC,MAAT,IAAK,GAAM,OAAO,IAAMC,IAAEP,IAAWO,IAAE,OAAX,IAAK,KAAa,IAAE,KAAKD,eAAa,MAAML,cAAEK,IAAEN,IAAE,gBAAgB,CAACM,KAAG,IAAME,IAAED,IAAE,KAAKE,IAAYJ,IAAE,OAAqB,GAAGK,IAAYL,IAAE,QAAsB,MAAMM,IAAE,EAAE,KAAK,MAAMC,IAAE,CAACC,IAAYR,IAAE,MAAoB,UAAUS,IAAEd,IAAE,KAAKe,IAAEP,IAAE,OAAOI,IAAE,EAAE,IAAE,KAAK,GAAGH,IAAE,GAAGC,IAAE,GAAGC,IAAE,MAAME,IAAE,GAAG,IAAMG,IAAE,CAAC,EAAE,CAACD,IAAE,EAAEH,IAAE,EAAE,CAAC,IAAE,YAAYK,IAAE,IAAElB,IAAE,SAASS,IAAEQ,IAAE,EAAEA,IAAE,EAAE,CAACjB,IAAE,WAAWS,IAAEQ,IAAE,EAAEA,IAAE,EAAE,CAAC,IAAE,YAAY,EAAE,eAAe,CAAC,MAAO,IAAG,MAAM,KAAK,IAAE,CAAC,IAAMC,IAAEhB,IAAE,cAAc,GAAG,EAAE,MAAM,KAAGF,UAAEE,IAAEgB,IAAE,UAAU,MAAM,KAAK,EAAE,CAAC,CAAC,IAAMhB,IAAE,EAAE,KAAK,KAAGgB,IAAE,UAAU,MAAM,QAAQhB,MAAI,CAAC,MAAM,KAAG,CAAC,CAACA,KAAG,CAAC,GAAGA,eAAa,MAAM,CAAC,IAAMF,IAAE,EAAE,CAAC,IAAI,IAAMa,OAAKX,IAAE,CAAC,IAAMA,IAAEW,IAAE,IAAE,KAAKZ,SAAEC,IAAE,KAAKA,IAAE,OAAO,CAAC,CAAC,MAAM,QAAQ,WAAWF,IAAE,SAAkBE,MAAT,IAAK,GAAM,CAAC,IAAMF,IAAEE,IAAE,MAAMD,SAAED,IAAE,KAAKA,IAAE,OAAO,QCAmlC,eAAe,SAAS,IAAE,CAAC,MAAMmB,cAAEC,IAAE,CAAC,MAAMC,kBAAED,IAAE,CAAC,MAAME,+BAAEF,IAAE,CAAC,MAAMG,8BAAEH,IAAE,CAAC,MAAMI,8BAAEJ,IAAE,CAAC,MAAMK,+BAAEL,IAAE,CAAC,MAAMM,4BAAEN,IAAE,CAAC,MAAMO,6BAAEP,IAAE,CAAC,MAAMQ,4BAAER,IAAE,CAAC,MAAMS,8BAAET,IAAE,CAAC,MAAMU,+BAAEV,IAAE,CAAC,MAAMW,gCAAEX,IAAE,CAAC,MAAMY,mCAAEZ,IAAE,CAAC,MAAMa,8BAAEb,IAAE,CAAC,MAAMc,gBAAEd,IAAE,CAAC,MAAMe,eAAEf,IAAE,CAAC,MAAMgB,cAAEhB,IAAE,CAAC,MAAMiB,iBAAEjB,IAAE,CAAC,MAAMkB,gBAAElB,IAAE,CAAC,MAAMmB,cAAEnB,IAAE,CAAC,MAAMoB,cAAEpB,IAAE,CAAC,MAAMqB,gBAAErB,IAAE,CAAC,MAAMsB,mBAAEtB,IAAE,CAAC,MAAMuB,gBAAEvB,IAAE,CAAC,MAAMwB,iBAAExB,IAAE,CAAC,MAAMyB,iBAAEzB,IAAE,CAAC,MAAM0B,uBAAE1B,IAAE,CAAC,MAAM2B,oBAAE3B,IAAE,CAAC,MAAM4B,QAAE5B,IAAE,4CAAv0E,cAA6D,cAAsD,cAA2D,cAA6D,cAA0F,cAAwF,cAAwF,cAA0F,cAAoF,cAAsF,cAAoF,cAAwF,cAA0F,cAAyD,cAA2D,cAAuD,cAAiE,cAAoE,cAA8D,cAA4F,cAAkG,cAAwF,cAA6D,aAA2D,aAA2D,aAAuD,aAA0E,aAAuD,ICAr4C,SAAS,WAAW,IAAE,IAAE,CAAC,IAAI6B,IAAEC,IAAE,GAAG,CAACC,IAAE,MAAM,CAACA,IAAE,QAAQ,KAAK,OAAO,IAAuBC,IAAfD,IAAE,QAAQ,KAAS,UAAUE,KAAaF,IAAE,KAAK,UAAwB,GAAGG,IAAE,OAAOC,IAAE,EAAE,KAAK,GAAGC,IAAYL,IAAE,KAAK,OAAqB,EAAE,GAAGC,IAAE,OAAO,CAAC,OAAOD,IAAE,KAAK,OAAd,CAAsB,IAAK,GAAE,IAAE,KAAK,OAAOE,IAAE,IAAE,KAAK,MAAME,MAAI,IAAE,KAAK,OAAOA,KAAG,MAAM,IAAK,GAAE,QAAQ,IAAE,KAAK,OAAOF,IAAE,IAAE,KAAK,MAAM,IAAI,IAAE,KAAK,OAAOE,KAAG,MAAM,IAAE,KAAK,UAAcC,MAAJ,IAAQ,IAAE,KAAK,UAAUA,MAAyoC,eAAe,gBAAgB,IAAE,CAAC,MAAML,IAAE,mBAAmB,QAAQ,KAAG,IAAI,YAAYA,IAAE,EAAE,2EAAjsE,CAAM,cAAN,KAAmB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,GAAM,KAAK,IAAE,CAAIG,MAAYA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMH,cAAEG,IAAE,MAAM,EAAWA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMH,cAAEG,IAAE,MAAM,EAAWA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKA,IAAE,SAAc,KAAN,cAAmBA,eAAC,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,UAAU,IAAI,cAAc,KAAK,UAAU,YAAY,KAAK,OAAO,GAAM,KAAK,MAAM,EAAE,KAAK,IAAE,CAAC,MAAM,KAAKH,IAAE,CAAIA,MAAG,KAAK,UAAU,KAAKA,IAAE,UAAU,CAAUA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,WAA8b,YAAN,KAAiB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,mBAAmB,IAAE,CAAC,IAAIG,IAAE,IAAML,IAAaE,IAAE,MAA2B,QAASA,IAAE,KAAK,MAAM,CAAC,EAAEF,IAAE,KAAK,IAAIA,IAAE,MAAM,CAACA,IAAE,aAAa,IAAK,GAAE,EAAEA,IAAE,KAAK,IAAIA,IAAE,MAAM,CAACA,IAAE,aAAa,IAAK,GAAE,CAAC,KAAK,IAAE,CAAC,IAAIK,IAAE,IAAMG,IAAEN,IAAE,QAAQ,KAAK,GAAG,CAACM,IAAE,OAAO,IAAE,KAAK,CAAC,OAAOA,IAAE,OAAO,MAAMR,cAAEQ,IAAE,MAAM,CAAC,KAAK,GAAG,IAAI,aAAaP,WAAG,EAAE,GAAG,EAAE,GAAG,aAAaA,WAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAIE,IAAEK,IAAE,UAA2F,OAAnEL,MAAX,WAAwC,IAAlB,KAAK,MAAM,EAAEF,WAAG,CAAC,CAAK,EAAE,oBAAoB,aAAmBE,IAAP,CAAU,IAAI,oBAAoB,IAAI,mBAAmB,IAAE,KAAK,OAAO,EAAE,MAAM,IAAI,YAAY,IAAE,KAAK,OAAO,EAAE,MAAM,IAAMC,IAAYF,IAAE,QAAQ,MAA2B,UAAoBE,KAAuB,SAAQ,IAAE,KAAK,MAAM,EAAEJ,cAAEI,IAAE,MAAM,CAAC,IAAE,KAAK,SAASJ,cAAEI,IAAE,MAAM,CAAC,IAAI,KAAK,UAAU,OAAO,aAAa,IAAE,OAAO,IAAE,KAAK,UAAUH,WAAG,GAAG,UAAU,IAAE,CAAC,IAAII,IAAE,IAAML,IAAYE,IAAE,QAAQ,MAA2B,UAAU,MAAM,CAACA,IAAE,WAAW,CAACA,IAAE,UAAU,CAAC,CAASF,KAAuB,OAAQ,YAAY,IAAE,GAAGK,IAAE,CAAC,AAAS,IAAE,OAAK,IAAI,KAAM,IAAI,IAAML,OAAKK,IAAE,IAAE,KAAK,KAAYL,KAAuB,KAAK,CAAC,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUE,IAAE,EAAE,WAAWA,IAAEG,IAAE,MCA/lC,eAAe,mBAAmB,IAAE,CAAC,MAAMI,IAAE,mBAAmB,eAAe,IAAI,gBAAgB,iFAAhkC,CAAM,cAAN,KAAmB,CAAC,aAAa,CAAC,KAAK,OAAO,GAAM,KAAK,UAAU,IAAI,KAAK,QAAQ,EAAE,KAAK,IAAE,CAAIC,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMD,aAAE,OAAO,KAAK,MAAMC,IAAE,MAAM,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAiBA,IAAE,YAAX,IAAK,KAAkB,KAAK,UAAUA,IAAE,WAAoBA,IAAE,UAAX,IAAK,KAAgB,KAAK,QAAQC,cAAED,IAAE,QAAQ,KAAU,QAAN,KAAa,CAAC,aAAa,CAAC,KAAK,MAAM,IAAI,cAAc,KAAK,UAAU,IAAI,cAAc,KAAK,IAAE,CAAID,MAAG,KAAK,MAAM,KAAKA,IAAE,MAAM,CAAC,KAAK,UAAU,KAAKA,IAAE,UAAU,IAAS,eAAN,KAAoB,CAAC,eAAe,IAAE,IAAE,IAAE,IAAE,CAAC,IAAkBG,IAAVH,IAAE,QAAY,QAAQ,GAAG,CAACG,IAAE,MAAM,EAAE,CAAC,IAAMC,IAAED,IAAE,UAAUE,IAAED,IAAE,QAAQH,WAAG,CAACG,IAAE,UAAUE,IAAEN,IAAE,QAAQ,OAAOO,KAAG,EAAEP,IAAE,eAAeM,IAAE,YAAYE,IAAEH,IAAEI,cAAEL,IAAE,QAAQ,CAACG,IAAEG,IAAEC,IAAEC,gBAAER,IAAE,MAAM,CAACS,IAAEF,IAAEG,gBAAEH,IAAEH,IAAE,CAAC,IAAK,GAAEO,IAAE,EAAE,CAACC,IAAEX,KAAGQ,IAAwC,MAAtC,KAAE,KAAKG,IAAEH,IAAE,IAAK,GAAE,IAAE,OAAOG,IAAEH,IAAE,IAAK,GAASE,IAAE,MAAM,EAAE,UAAU,IAAE,CAAC,IAAkBd,IAAVD,IAAE,QAAY,QAAQ,MAAM,CAAC,CAACC,KAAGA,IAAE,UAAU,OAAO,YAAY,IAAE,GAAGC,IAAE,CAAC,AAAY,IAAE,UAAQ,IAAI,QAAS,IAAI,IAAMD,OAAKC,IAAE,IAAE,QAAQ,KAAYD,KAAuB,QAAQ,CAAC,QAAQ,OCA1gB,SAAS,aAAa,IAAE,IAAE,CAAC,IAAIgB,IAA2B,GAAG,CAApBE,IAAE,QAAQ,QAA0C,QAAS,CAACA,IAAE,OAAO,OAAO,IAAMC,IAAED,IAAE,OAAO,WAAWE,IAAE,OAAqCC,IAA5BH,IAAE,OAAO,UAAUE,IAAE,SAAuBF,IAAE,OAAO,gBAA8B,GAAGE,IAAE,SAAS,IAAI,IAAIE,IAAE,EAAE,KAAK,GAAG,IAAE,OAAO,OAAOH,IAAE,IAAE,OAAO,MAAMG,MAAI,IAAE,OAAO,OAAOA,KAAG,IAAE,SAAS,GAAGD,IAAE,KAAK,IAAIH,IAAE,OAAO,MAAM,CAAC,IAAE,SAAS,GAAGG,IAAE,KAAK,IAAI,KAAK,IAAIH,IAAE,OAAO,MAAM,CAAC,CAAoqB,eAAe,kBAAkB,IAAE,CAAC,MAAMA,IAAE,mBAAmB,UAAU,KAAG,IAAI,cAAcA,IAAE,EAAE,6EAAxrD,CAAM,YAAN,KAAiB,CAAC,aAAa,CAAC,KAAK,MAAM,GAAG,KAAK,KAAK,GAAG,KAAK,IAAE,CAAIE,MAAYA,IAAE,QAAX,IAAK,KAAc,KAAK,MAAMF,cAAEE,IAAE,MAAM,EAAWA,IAAE,OAAX,IAAK,KAAa,KAAK,KAAKF,cAAEE,IAAE,KAAK,KAAU,OAAN,KAAY,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE,KAAK,OAAO,GAAM,KAAK,MAAM,IAAI,YAAY,KAAK,IAAE,CAAC,GAAGA,MAAYA,IAAE,WAAX,IAAK,KAAiB,KAAK,SAASF,cAAEE,IAAE,SAAS,EAAWA,IAAE,SAAX,IAAK,KAAe,KAAK,OAAOA,IAAE,QAAoBA,IAAE,QAAX,IAAK,IAAY,GAAc,OAAOA,IAAE,OAApB,SAA0B,KAAK,MAAM,KAAK,CAAC,MAAMA,IAAE,MAAM,CAAC,KAAK,CAAC,IAAMF,IAAEE,IAAE,MAAeF,IAAE,MAAX,IAAK,GAAqC,KAAK,MAAM,KAAKE,IAAE,MAAM,CAAnD,KAAK,MAAM,KAAK,CAAC,MAAMF,IAAE,CAAC,IAA0c,cAAN,KAAmB,CAAC,YAAY,IAAE,CAAC,KAAK,UAAUA,IAAE,KAAK,IAAE,CAAC,IAAID,IAAE,IAAME,IAAED,IAAE,QAAQ,OAAeC,KAAuB,OAAQ,IAAE,OAAO,CAAC,MAAMC,WAAG,CAAC,KAAK,GAAG,EAAE,WAAWJ,cAAEG,IAAE,MAAM,MAAM,CAAC,IAAI,UAAUH,cAAEG,IAAE,MAAM,KAAK,CAAC,GAAG,CAAC,IAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,IAAE,OAAO,eAAeH,cAAmBG,KAAuB,UAAwB,EAAE,CAAC,KAAK,UAAU,OAAO,WAAW,UAAU,IAAE,CAAC,IAAIC,IAAE,MAAM,CAACF,IAAE,WAAW,CAACA,IAAE,UAAU,CAAC,CAAYA,IAAE,QAAQ,QAA6B,OAAQ,YAAY,IAAE,GAAGE,IAAE,CAAC,AAAW,IAAE,SAAO,IAAI,OAAQ,IAAI,IAAMJ,OAAKI,IAAE,IAAE,OAAO,KAAYJ,KAAuB,OAAO,CAAC,OAAO,IAAE,IAAE,CAAC,KAAK,UAAUE,IAAE,EAAE,aAAaA,IAAEE,IAAE,MCArmC,eAAe,SAAS,IAAE,CAAC,MAAMG,SAAEC,IAAE,CAAC,MAAMC,gBAAED,IAAE,CAAC,MAAME,gBAAEF,IAAE,CAAC,MAAMG,mBAAEH,IAAE,CAAC,MAAMI,kBAAEJ,IAAE,CAAC,MAAMK,6BAAEL,IAAE,CAAC,MAAMM,oBAAEN,IAAE,CAAC,MAAMO,mBAAEP,IAAE,CAAC,MAAMQ,sBAAER,IAAE,0CAA9nB,cAAiE,cAAsF,cAAwE,cAA2D,aAA4C,aAA2D,aAAiE,aAA+D,ICQhkB,SAAwB,gBAAgB,MAAM,CAAC,GAAK,CAAC,WAAW,MAAM,OAAO,OAAO,eAAe,YAAY,eAAe,aAAa,YAAY,YAAY,aAAa,aAAa,aAAa,cAAc,YAAY,WAAW,QAAQ,MAAW,CAAC,cAAc,YAAY,eAAe,eAAoB,CAAC,aAAa,WAAW,aAAa,cAAc,YAAY,aAAkB,CAAC,KAAK,SAAS,QAAQ,SAAS,YAAiB,CAAC,QAAQ,YAAY,WAAW,YAAY,eAAoB,CAAC,gBAAgB,cAAc,oBAAoB,aAAa,iBAAiB,eAAe,WAAW,eAAe,gBAAgB,gBAAgB,aAAa,eAAe,cAAc,YAAY,YAAiB,CAAC,YAAY,cAAc,UAAU,WAAW,aAAa,QAAQ,YAAY,mBAAmB,wBAAwB,oBAAoB,iBAAiB,gBAAgB,gBAAgB,qBAAqB,mBAAmB,qBAAqB,YAAiB,CAAC,UAAU,cAAc,YAAY,WAAW,aAAa,aAAkB,CAAC,aAAa,YAAY,aAAkB,CAAC,aAAa,WAAW,cAAc,WAAW,aAAa,aAAkB,CAAC,gBAAgB,YAAY,gBAAgB,YAAY,YAAY,cAAoB,cAAcS,GAAY,KAAM,SAAQ,CAAC,MAAM,SAAS,OAAO,EAAG,EAAE,CAAC,CAAO,SAAS,aAAa,SAAS,GAAG,aAAa,OAAa,kBAAkB,OAAO,OAAO,EAAE,OAAqB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,SAAS,gBAAgB,WAAW,UAAU,gBAAgB,aAAa,OAAO,SAAS,WAAW,CAAC,SAAuB,EAAK,UAAU,CAAC,GAAG,YAAY,KAAK,cAAc,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,SAAS,WAAW,CAAC,QAAQ,CACjwD,WAAW,CAAC,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,WAAW,GAAM,YAAY,GAAK,uBAAuB,GAAK,cAAc,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAK,QAAQ,CAAC,OAAO,SAAS,GAAM,aAAa,KAAK,WAAW,CAAC,QAAQ,CAAC,OAAO,SAAS,GAAM,aAAa,KAAK,WAAW,SAAS,CAAC,OAAO,SAAS,GAAM,aAAa,cAAc,GAAM,MAAM,WAAW,OAAO,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,gBAAgB,OAAO,cAAc,MAAM,CAAC,QAAQ,oBAAoB,CAAC,CAAC,KAAK,CAAC,SAAS,aAAa,MAAM,CAAC,QAAQ,iBAAiB,CAAC,CAAC,OAAO,CAAC,SAAS,eAAe,KAAK,WAAW,SAAS,eAAe,CAAC,QAAQ,CAAC,SAAS,gBAAgB,SAAS,gBAAgB,CAAC,KAAK,CAAC,SAAS,aAAa,CAAC,OAAO,CAAC,SAAS,eAAe,CAAC,MAAM,CAAC,MAAM,WAAW,SAAS,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,kBAAkB,OAAO,IAAI,SAAO,QAAQC,QAAM,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,WAAW,CAAC,OAAO,GAAM,CAAC,OAAO,CAAC,UAAU,gBAAgB,MAAM,YAAY,UAAU,CAAC,UAAU,CAAC,OAAO,gBAAgB,MAAM,YAAY,CAAC,CAAC,KAAK,CAAC,UAAU,cAAc,QAAQ,QAAQ,OAAO,SAAS,GAAM,YAAY,OAAO,WAAW,MAAM,UAAU,SAAS,aAAa,MAAM,CAAC,OAAO,iBAAiB,OAAO,gBAAgB,CAAC,KAAK,CAAC,OAAO,gBAAgB,aAAa,qBAAqB,CAAC,QAAQ,CAAC,OAAO,mBAAmB,SAAS,oBAAoB,CAAC,QAAQ,CAAC,OAAO,mBAAmB,aAAa,wBAAwB,SAAS,oBAAoB,CAAC,QAAQ,YAAY,CAAC,MAAM,CAAC,OAAO,aAAa,MAAM,QAAQ,WAAW,CAAC,QAAQ,aAAa,SAAS,cAAc,MAAM,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,OAAO,cAAc,KAAK,eAAe,YAAY,OAAO,eAAe,cAAc,CAAC,CAAC,QAAQ,CAAC,MAAM,YAAY,QAAQ,CAAC,IAAI,WAAW,IAAI,WAAW,CAAC,CAAC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAM,cAAc,CAAC,MAAM,CAAC,IAAI,YAAY,MAAM,WAAW,OAAO,YAAY,CAAC,CAAC,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAK,CAAC,CAAC,CAAC,CAAC,6DATr5D,uBAAuE,cAAyC,WAAkC,sBAA+B,CASgwD,gBAAgB,aAAa,CAAC,WAAW,UAAU,MAAM,UAAU,OAAO,EAAE,OAAO,IAAI,eAAe,CAAC,cAAc,GAAM,YAAY,IAAI,cAAc,GAAG,CAAC,YAAY,CAAC,SAAS,GAAK,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,CAAC,eAAe,CAAC,YAAY,GAAK,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC,aAAa,CAAC,aAAa,GAAM,WAAW,UAAU,aAAa,GAAG,cAAc,IAAI,WAAW,EAAE,CAAC,YAAY,CAAC,gBAAgB,IAAI,cAAc,GAAG,oBAAoB,GAAG,aAAa,IAAI,iBAAiB,GAAG,eAAe,IAAI,WAAW,GAAG,eAAe,GAAG,gBAAgB,IAAI,gBAAgB,IAAI,aAAa,EAAE,eAAe,EAAE,WAAW,GAAG,cAAc,GAAG,CAAC,YAAY,CAAC,YAAY,GAAK,cAAc,OAAO,UAAU,EAAE,WAAW,GAAM,aAAa,GAAM,QAAQ,MAAM,YAAY,GAAM,mBAAmB,GAAM,wBAAwB,EAAE,oBAAoB,EAAE,iBAAiB,GAAM,gBAAgB,IAAI,gBAAgB,GAAM,qBAAqB,EAAE,mBAAmB,GAAM,oBAAoB,IAAI,CAAC,aAAa,CAAC,UAAU,SAAS,cAAc,KAAK,WAAW,IAAI,YAAY,IAAI,CAAC,aAAa,CAAC,aAAa,GAAM,WAAW,OAAO,CAAC,aAAa,CAAC,aAAa,GAAK,WAAW,OAAO,cAAc,GAAK,WAAW,GAAG,YAAY,GAAG,CAAC,cAAc,CAAC,gBAAgB,SAAS,YAAY,EAAE,gBAAgB,GAAM,YAAY,EAAE,WAAW,GAAM,CAAC,YAAY,YAAY,OAAO,EAAE,CAAC,CAAC,gBAAgB,YAAY,YAAY,oBAAoB,gBAAgB,CAAC,WAAW,CAAC,KAAK,YAAY,MAAM,aAAa,gBAAgB,aAAa,WAAW,MAAM,WAAW,CAAC,MAAM,CAAC,KAAK,YAAY,MAAM,aAAa,gBAAgB,aAAa,MAAM,MAAM,QAAQ,CAAC,OAAO,CAAC,KAAK,YAAY,MAAM,QAAQ,CAAC,KAAK,YAAY,MAAM,CAAC,aAAa,gBAAgB,aAAa,OAAO,CAAC,WAAW,CAAC,KAAK,YAAY,KAAK,MAAM,MAAM,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,MAAM,CAAC,aAAa,GAAG,wBAAwB,GAAK,CAAC,OAAO,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,OAAO,CAAC,eAAe,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,SAAS,CAAC,cAAc,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,eAAe,cAAc,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,IAAI,IAAI,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,eAAe,YAAY,OAAO,OAAO,CAAC,MAAM,cAAc,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,eAAe,cAAc,YAAY,2GAA2G,OAAO,OAAO,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,QAAQ,cAAc,QAAQ,aAAa,gBAAgB,aAAa,YAAY,SAAS,CAAC,KAAK,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,KAAK,OAAO,OAAO,CAAC,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,YAAY,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,QAAQ,OAAO,OAAO,MAAM,SAAS,CAAC,QAAQ,CAAC,KAAK,YAAY,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,QAAQ,OAAO,OAAO,MAAM,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,SAAS,CAAC,YAAY,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,QAAQ,cAAc,QAAQ,aAAa,gBAAgB,aAAa,eAAe,YAAY,CAAC,QAAQ,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,eAAe,QAAQ,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,aAAa,gBAAgB,aAAa,eAAe,WAAW,OAAO,OAAO,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,MAAM,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,eAAe,GAAK,aAAa,gBAAgB,aAAa,eAAe,WAAW,OAAO,OAAO,MAAM,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,aAAa,aAAa,CAAC,WAAW,CAAC,KAAK,YAAY,MAAM,MAAM,QAAQ,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,aAAa,aAAa,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,WAAW,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,aAAa,cAAc,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,gBAAgB,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,gBAAgB,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,iBAAiB,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,cAAc,CAAC,oBAAoB,CAAC,KAAK,YAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,oBAAoB,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,aAAa,CAAC,iBAAiB,CAAC,KAAK,YAAY,OAAO,MAAM,aAAa,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,iBAAiB,CAAC,eAAe,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,eAAe,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,WAAW,CAAC,eAAe,CAAC,KAAK,YAAY,OAAO,MAAM,kBAAkB,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,eAAe,CAAC,gBAAgB,CAAC,KAAK,YAAY,OAAO,MAAM,UAAU,IAAI,EAAE,IAAI,IAAI,aAAa,gBAAgB,aAAa,YAAY,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,YAAY,OAAO,MAAM,mBAAmB,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,eAAe,GAAK,aAAa,gBAAgB,aAAa,YAAY,gBAAgB,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,aAAa,CAAC,eAAe,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,eAAe,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,cAAc,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,cAAc,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,aAAa,gBAAgB,aAAa,YAAY,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,OAAO,SAAS,CAAC,YAAY,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,YAAY,YAAY,CAAC,cAAc,CAAC,KAAK,YAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,OAAO,SAAS,OAAO,QAAQ,MAAM,cAAc,eAAe,WAAW,YAAY,UAAU,SAAU,CAAC,aAAa,CAAC,SAAS,SAAS,OAAO,QAAQ,MAAM,cAAc,eAAe,WAAW,YAAY,UAAU,SAAU,CAAC,aAAa,gBAAgB,aAAa,YAAY,cAAc,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,aAAa,gBAAgB,aAAa,YAAY,UAAU,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,YAAY,WAAW,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,WAAW,aAAa,gBAAgB,aAAa,YAAY,aAAa,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,QAAQ,CAAC,KAAK,YAAY,KAAK,MAAM,MAAM,QAAQ,CAAC,OAAO,QAAQ,SAAS,UAAU,MAAM,mBAAmB,iBAAkB,CAAC,aAAa,CAAC,OAAO,QAAQ,SAAS,UAAU,MAAM,oBAAoB,kBAAmB,CAAC,aAAa,gBAAgB,aAAa,YAAY,QAAQ,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,YAAY,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,gBAAgB,aAAa,YAAY,YAAY,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,gBAAgB,aAAa,YAAY,mBAAmB,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,wBAAwB,CAAC,KAAK,YAAY,OAAO,MAAM,uBAAuB,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,aAAa,gBAAgB,aAAa,YAAY,wBAAwB,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,KAAK,YAAY,OAAO,MAAM,oBAAoB,IAAI,EAAE,IAAI,IAAI,KAAK,GAAG,aAAa,gBAAgB,aAAa,YAAY,wBAAwB,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,MAAM,mBAAmB,CAAC,iBAAiB,CAAC,KAAK,YAAY,QAAQ,MAAM,QAAQ,aAAa,gBAAgB,aAAa,YAAY,iBAAiB,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,YAAY,OAAO,MAAM,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,gBAAgB,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,MAAM,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,gBAAgB,aAAa,YAAY,gBAAgB,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,qBAAqB,CAAC,KAAK,YAAY,OAAO,MAAM,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,qBAAqB,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,MAAM,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,gBAAgB,aAAa,YAAY,mBAAmB,OAAO,OAAO,CAAC,MAAM,YAAY,CAAC,oBAAoB,CAAC,KAAK,YAAY,OAAO,MAAM,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,YAAY,oBAAoB,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,MAAM,mBAAmB,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,UAAU,CAAC,KAAK,YAAY,KAAK,MAAM,QAAQ,QAAQ,CAAC,SAAS,OAAO,WAAW,UAAU,OAAO,YAAY,QAAS,CAAC,aAAa,CAAC,SAAS,SAAS,WAAW,UAAU,OAAO,YAAY,QAAS,CAAC,aAAa,gBAAgB,aAAa,aAAa,cAAc,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,YAAY,aAAa,gBAAgB,aAAa,aAAa,cAAc,OAAO,OAAO,MAAM,YAAY,YAAY,CAAC,YAAY,CAAC,KAAK,YAAY,MAAM,MAAM,QAAQ,OAAO,OAAO,MAAM,YAAY,QAAQ,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,MAAM,YAAY,QAAQ,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,IAAI,EAAE,IAAI,IAAI,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,MAAM,YAAY,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,aAAa,aAAa,CAAC,WAAW,CAAC,KAAK,YAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,QAAQ,QAAS,CAAC,aAAa,CAAC,UAAU,SAAS,OAAO,SAAS,UAAU,QAAQ,QAAS,CAAC,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,SAAS,CAAC,aAAa,CAAC,KAAK,YAAY,QAAQ,MAAM,SAAS,aAAa,gBAAgB,aAAa,aAAa,aAAa,CAAC,WAAW,CAAC,KAAK,YAAY,KAAK,MAAM,OAAO,QAAQ,CAAC,OAAO,UAAU,SAAS,SAAS,UAAU,OAAO,QAAQ,UAAU,OAAO,QAAS,CAAC,aAAa,CAAC,OAAO,UAAU,SAAS,SAAS,UAAU,OAAO,QAAQ,UAAU,OAAO,QAAS,CAAC,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,cAAc,CAAC,KAAK,YAAY,QAAQ,MAAM,WAAW,aAAa,gBAAgB,aAAa,aAAa,cAAc,OAAO,OAAO,CAAC,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,YAAY,OAAO,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,MAAM,QAAQ,aAAa,gBAAgB,aAAa,aAAa,WAAW,OAAO,OAAO,CAAC,MAAM,eAAe,CAAC,MAAM,aAAa,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,eAAe,GAAK,MAAM,SAAS,aAAa,gBAAgB,aAAa,aAAa,YAAY,OAAO,OAAO,CAAC,MAAM,eAAe,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,YAAY,OAAO,MAAM,SAAS,SAAS,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,KAAK,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,aAAa,gBAAgB,aAAa,cAAc,YAAY,CAAC,gBAAgB,CAAC,KAAK,YAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,YAAY,oBAAoB,SAAS,CAAC,aAAa,CAAC,YAAY,oBAAoB,SAAS,CAAC,aAAa,gBAAgB,aAAa,cAAc,gBAAgB,CAAC,gBAAgB,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,gBAAgB,aAAa,cAAc,gBAAgB,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,QAAQ,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,aAAa,gBAAgB,aAAa,cAAc,YAAY,OAAO,OAAO,CAAC,MAAM,gBAAgB,CAAC,WAAW,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,gBAAgB,aAAa,cAAc,WAAW,OAAO,OAAO,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,OAAO,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,eAAe,GAAK,aAAa,gBAAgB,aAAa,OAAO,CAAC,YAAY,CAAC,KAAK,YAAY,OAAO,MAAM,KAAK,aAAa,MAAM,YAAY,gBAAgB,aAAa,YAAY,CAAC,CAAC,CAC//f,QAAQ,UAAU,MAAM,YAAY,MAAM,SAAS,CAAC,8ECT5B,WAAU,UAAU,EAAE,CAAC,CAAc,MAAM,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,CAAcC,MAAI,CAAC,shBAAshB,CAAc,UAAU,6GCA9nB,uBAAsE,sBAA4B,CAAoC,KAAK,0BAAgC,IAAiB,GAAY,MAAM,MAAM,CAAC,GAAK,CAAC,SAAS,SAAS,SAAS,GAAG,MAAM,MAAM,OAAO,SAAsB,EAAK,OAAO,IAAI,CAAC,GAAG,KAAc,SAAa,IAAI,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,KAAS,IAAI,CAAC,EAAG,CAAOC,YAAU,CAAC,MAAM,KAAK,OAAO,GAAG,MAAM,OAAO,GAAG,UAAgB,CAAC,GAAG,MAAM,UAAU,OAAO,MAAM,WAAW,oEAAoE,UAAU,QAAQ,MAAM,WAAW,IAAI,UAAU,MAAM,MAAM,WAAW,wEAAwE,EAS7uB,KAAK,QATwwB,EAAiB,SAAS,MAAM,IAAI,CAAC,GAAK,CAAC,MAAM,UAAA,YAAU,SAAS,QAAQ,UAAU,UAAU,UAAU,GAAG,WAAWA,WAAS,MAAM,CAAC,OAAoB,EAAK,IAAI,CAAC,GAAG,UAAU,IAAI,GAAG,UAAU,GAAG,eAAeC,YAAU,CAAU,SAAa,IAAI,IAAI,s4BAAs4B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,EAAG,CAAW,CAAC,iCAAiC,KAAK,2CAA2C,KAAK,qCAAqC,CASnhE,eAAe,CAAC,KAAK,YAAY,6BAA0B,KAAK,oBAAoB,KAAK,CAAC,UAAU,CAAC,aAAa,yFAAyF,OAAO,GAAK,MAAM,QAAQ,KAAK,YAAY,MAAM,CAAC,UAAU,CAAC,aAAa,IAAI,OAAO,GAAK,IAAI,EAAE,MAAM,QAAQ,KAAK,YAAY,OAAO,CAAC,UAAU,CAAC,aAAa,wEAAwE,OAAO,GAAK,MAAM,OAAO,KAAK,YAAY,MAAM,CAAC,CAAC,0ECVxe,CACnB,cAAc,KAAGC,eAAa,eCD8S,SAAgB,mBAAmB,WAAW,QAAQ,CAE/Y,IAAM,WAAWC,GAAO,QAAQ,CAAOC,YAAUD,IAAQ,CAAO,gBAAgBA,GAAO,GAAM,CAAO,WAAW,aAAa,SAAS,GAAG,aAAa,OAC/I,aAAc,SAAgD,aAAc,QAAQ,aAAa,EAAE,CACnG,SAASE,GAAY,SAAgD,SAAS,CAAC,GAAG,aAAc,CAAC,CACjG,YAAYA,GAAY,OAAO,CAAC,IAAI,IAAI,OAAY,WAAW,SAAyC,UAAW,WAAW,QAAQ,UAAU,MAAM,CAAC,OAAQ,EAAE,CAAC,CAClK,OAAO,gBAAgB,cAAc,WAAW,CAAC,WAAW,YAAY,YAAY,WAAW,CAAC,CAAC,CAIqG,OAH5M,OAAc,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,gBAAgB,QAAQ,CAAC,IAAI,IAAI,KAAK,IAAM,SAAS,YAAY,WAAW,CAE1H,IAF4H,IAAID,YAAU,UAAW,MAA0B,IAAI,MAAM,CACtL,UAAS,SAAS,SAAS,OAAO,CAC3B,WAAW,SAA2C,SAAU,CAAC,WAAW,CAAC,IAAI,KAC3F,YAAU,QAAQE,SAAQ,OAAO,SAAe,WAAW,SAA2C,WAAW,MAAO,OAAO,IAAI,SAAS,CAAG,gBAAgB,QAAQ,IAAO,CAAC,WAAW,GAAG,aAAa,CAAC,CAAQ,uEAVnK,uBAAqD,qBAA4H,mBAAwH,oMEArV,QAAU,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAO,OAEhG,QAAU,EAAE,CACT,YAAc,QAAe,SAAU,KAAM,QAAS,CACvD,QACF,QAAU,QAAQ,KAAK,EAEvB,KAAK,OAAS,QAAQ,KAAK,CAC3B,KAAK,UAAY,KAAK,SAExB,QAAU,EAAE,CAAE,SAAU,SAAQ,CAQhC,IAAI,MAAQ,6BACR,aAAe,GACf,oBAAsB,QAQtB,gBAAkB,GAClB,kBACA,SAAW,iCAAiC,KAAK,UAAU,UAAU,CACrE,aAAe,EAAE,CACjB,MACA,MAAQ,KAAK,IACb,OAAS,KAAK,KACd,QAAU,KAAK,MACf,MAAQ,KAAK,IACb,MAAQ,KAAK,IACb,OAAS,EAAE,EAEd,UAAY,CACX,IAAI,cAAgB,2OAAgW,CAChXC,IACA,IAAM,cAAc,OAExB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAO,cAAcA,MAAM,KAAK,cAAcA,SAE9C,CAEJ,SAAS,kBAAmB,CAC1B,MAAO,EAAE,CAGX,OAAO,OAAS,KAAK,OAErB,OAAO,IAAM,SAAU,IAAK,CAG1B,GAFa,OAAO,KAEL,UAAY,IAAI,OAAQ,CACrC,IAAI,OAAS,iBAAiB,IAAI,OAAO,CACrCA,IACA,IAAM,IAAI,OAEd,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAOA,KAAK,KAAK,IAAI,IAAIA,KAAG,CAG9B,OAAO,OAGT,OAAO,KAAK,IAAI,IAAI,EAGtB,IAAI,qBAAuB,IACvB,UAAY,KAAK,GAAK,IACtB,YAAc,MAElB,SAAS,YAAY,KAAM,CACrB,MACM,KAAK,MAQjB,YAAY,GAAM,CAElB,SAAS,SAAS,QAAS,CACzB,QAAQ,MAAM,SAAW,WACzB,QAAQ,MAAM,IAAM,EACpB,QAAQ,MAAM,KAAO,EACrB,QAAQ,MAAM,QAAU,QACxB,QAAQ,MAAM,gBAAkB,MAChC,QAAQ,MAAM,sBAAwB,MACtC,QAAQ,MAAM,mBAAqB,UACnC,QAAQ,MAAM,yBAA2B,UACzC,QAAQ,MAAM,eAAiB,cAC/B,QAAQ,MAAM,qBAAuB,cACrC,QAAQ,MAAM,kBAAoB,cAGpC,SAAS,kBAAkB,KAAM,YAAa,UAAW,gBAAiB,CACxE,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,YAAc,YAChC,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,UAAY,gBAAkB,EAAI,GAAK,EAG3D,SAAS,gBAAgB,KAAM,gBAAiB,CAC9C,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,gBAAkB,EAAI,GAAK,EAG3D,SAAS,oBAAoB,KAAM,WAAY,YAAa,gBAAiB,CAC3E,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,YAAc,YAChC,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,UAAY,gBAAkB,EAAI,GAAK,EAG3D,SAAS,oBAAoB,KAAM,WAAY,YAAa,CAC1D,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,YAAc,YAGlC,SAAS,eAAe,KAAM,OAAQ,CACpC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,OAAS,OAG7B,SAAS,wBAAwB,YAAa,YAAa,CACzD,CAAC,MAAQ,SAAS,KAAO,mBACzB,CAAC,MAAQ,SAAS,YAAc,YAChC,CAAC,MAAQ,SAAS,YAAc,YAGlC,SAAS,mBAAmB,YAAa,CACvC,CAAC,MAAQ,SAAS,KAAO,cACzB,CAAC,MAAQ,SAAS,YAAc,YAGlC,SAAS,4BAA4B,KAAM,YAAa,CACtD,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,YAAc,YAGlC,IAAI,gBAAkB,UAAY,CAChC,IAAI,OAAS,EACb,OAAO,UAAoB,CAEzB,MADA,SAAU,EACH,oBAAsB,UAE9B,CAEH,SAAS,SAAS,IAAG,IAAG,IAAG,CACzB,IAAIC,IACAC,IACAC,IACAH,IAKA,KAAK,MAAMQ,IAAI,EAAE,CAJjBJ,IAKAI,IAAI,EAAIR,IAJRK,IAKAI,KAAK,EAAIC,KAJTJ,IAKAG,KAAK,EAAIL,IAAIM,KAJbH,IAKAE,KAAK,GAAK,EAAIL,KAAKM,KAEvB,OAAQV,IAAI,EAAZ,CACE,IAAK,GACH,IAAIS,IACJ,IAAIF,IACJ,IAAIF,IACJ,MAEF,IAAK,GACH,IAAIC,IACJ,IAAIG,IACJ,IAAIJ,IACJ,MAEF,IAAK,GACH,IAAIA,IACJ,IAAII,IACJ,IAAIF,IACJ,MAEF,IAAK,GACH,IAAIF,IACJ,IAAIC,IACJ,IAAIG,IACJ,MAEF,IAAK,GACH,IAAIF,IACJ,IAAIF,IACJ,IAAII,IACJ,MAEF,IAAK,GACH,IAAIA,IACJ,IAAIJ,IACJ,IAAIC,IACJ,MAEF,QACE,MAGJ,MAAO,CAACL,IAAGC,IAAGC,IAAE,CAGlB,SAAS,SAAS,IAAG,IAAG,IAAG,CACzB,IAAI,IAAM,KAAK,IAAIF,IAAGC,IAAGC,IAAE,CACvB,IAAM,KAAK,IAAIF,IAAGC,IAAGC,IAAE,CACvBQ,IAAI,IAAM,IACVH,IACAE,IAAI,MAAQ,EAAI,EAAIC,IAAI,IACxBF,IAAI,IAAM,IAEd,OAAQ,IAAR,CACE,KAAK,IACH,IAAI,EACJ,MAEF,KAAKR,IACH,IAAIC,IAAIC,IAAIQ,KAAKT,IAAIC,IAAI,EAAI,GAC7B,KAAK,EAAIQ,IACT,MAEF,KAAKT,IACH,IAAIC,IAAIF,IAAIU,IAAI,EAChB,KAAK,EAAIA,IACT,MAEF,KAAKR,IACH,IAAIF,IAAIC,IAAIS,IAAI,EAChB,KAAK,EAAIA,IACT,MAEF,QACE,MAGJ,MAAO,CAACH,IAAGE,IAAGD,IAAE,CAGlB,SAAS,mBAAmB,MAAO,OAAQ,CACzC,IAAI,IAAM,SAAS,MAAM,GAAK,IAAK,MAAM,GAAK,IAAK,MAAM,GAAK,IAAI,CASlE,MARA,KAAI,IAAM,OAEN,IAAI,GAAK,EACX,IAAI,GAAK,EACA,IAAI,IAAM,IACnB,IAAI,GAAK,GAGJ,SAAS,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,CAGzC,SAAS,mBAAmB,MAAO,OAAQ,CACzC,IAAI,IAAM,SAAS,MAAM,GAAK,IAAK,MAAM,GAAK,IAAK,MAAM,GAAK,IAAI,CASlE,MARA,KAAI,IAAM,OAEN,IAAI,GAAK,EACX,IAAI,GAAK,EACA,IAAI,GAAK,IAClB,IAAI,GAAK,GAGJ,SAAS,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,CAGzC,SAAS,YAAY,MAAO,OAAQ,CAClC,IAAI,IAAM,SAAS,MAAM,GAAK,IAAK,MAAM,GAAK,IAAK,MAAM,GAAK,IAAI,CASlE,MARA,KAAI,IAAM,OAAS,IAEf,IAAI,GAAK,EACX,MAAI,GACK,IAAI,GAAK,IAClB,IAAI,IAAM,GAGL,SAAS,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,CAGzC,IAAI,SAAW,UAAY,CACzB,IAAI,SAAW,EAAE,CACbT,IACA,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAMA,IAAE,SAAS,GAAG,CACpB,SAASA,KAAK,IAAI,SAAW,EAAI,IAAM,IAAM,IAG/C,OAAO,SAAU,IAAG,IAAG,IAAG,CAaxB,OAZIC,IAAI,IACN,IAAI,GAGFC,IAAI,IACN,IAAI,GAGFC,IAAI,IACN,IAAI,GAGC,IAAM,SAASF,KAAK,SAASC,KAAK,SAASC,QAEnD,CAEH,SAAS,WAAY,EAErB,UAAU,UAAY,CACpB,aAAc,SAAU,UAAW,KAAM,CACvC,IAAK,MAAQ,SAAS,KAAK,WAGzB,IAAK,IAFD,KAAO,MAAQ,SAAS,KAAK,WAAW,OAEnCH,IAAI,EAAGA,IAAI,IAAK,KAAK,GAC3B,MAAQ,SAAS,KAAK,WAAWA,KAAG,KAAK,EAIhD,iBAAkB,SAAU,UAAW,SAAU,CAO/C,OANM,MAAQ,SAAS,KAAK,aAC1B,CAAC,MAAQ,SAAS,KAAK,WAAa,EAAE,GAGvC,MAAQ,SAAS,KAAK,WAAW,KAAK,SAAS,CAEzC,UAAY,CACjB,KAAK,oBAAoB,UAAW,SAAS,EAC7C,KAAK,MAAQ,QAAQ,EAEzB,oBAAqB,SAAU,UAAW,SAAU,CAClD,GAAI,CAAC,SACH,CAAC,MAAQ,SAAS,KAAK,WAAa,cAC1B,MAAQ,SAAS,KAAK,WAAY,CAI5C,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,KAAK,WAAW,OAErCA,IAAI,MACJ,MAAQ,SAAS,KAAK,WAAWA,OAAO,YAC1C,MAAQ,SAAS,KAAK,WAAW,OAAOA,IAAG,EAAE,CAE9C,MACA,OAGF,KAAK,GAGD,MAAQ,SAAS,KAAK,WAAW,SACrC,CAAC,MAAQ,SAAS,KAAK,WAAa,QAI3C,CAGD,IAAI,iBAAmB,UAAY,CACjC,SAAS,mBAAmB,KAAM,IAAK,CACrC,IAAIA,IAAI,EACJ,IAAM,EAAE,CACR,MAEJ,OAAQ,KAAR,CACE,IAAK,QACL,IAAK,SACH,MAAQ,EACR,MAEF,QACE,MAAQ,IACR,MAGJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAI,KAAK,MAAM,CAGjB,OAAO,IAGT,SAAS,wBAAwB,KAAM,IAAK,CAa1C,OAZI,OAAS,UACJ,IAAI,aAAa,IAAI,CAG1B,OAAS,QACJ,IAAI,WAAW,IAAI,CAGxB,OAAS,SACJ,IAAI,kBAAkB,IAAI,CAG5B,mBAAmB,KAAM,IAAI,CAOtC,OAJI,OAAO,mBAAsB,YAAc,OAAO,cAAiB,WAC9D,wBAGF,qBACN,CAEH,SAAS,iBAAiB,IAAK,CAC7B,OAAO,MAAM,MAAM,KAAM,CACvB,OAAQ,IACT,CAAC,CAOJ,SAAS,SAAS,KAAM,CAEtB,OAAO,SAAS,gBAAgB,MAAO,KAAK,CAK9C,SAAS,UAAU,KAAM,CAEvB,OAAO,SAAS,cAAc,KAAK,CAGrC,SAAS,0BAA2B,EAEpC,yBAAyB,UAAY,CACnC,mBAAoB,SAAU,KAAM,EAC7B,MAAQ,SAAS,kBAAkB,QAAQ,KAAK,GAAK,MACvD,MAAQ,SAAS,kBAAkB,KAAK,KAAK,EAE7C,MAAQ,SAAS,UAAU,mBAAmB,MAAQ,QAAQ,CAE/D,CAAC,MAAQ,SAAS,YAAc,KAGpC,yBAA0B,UAAY,CACpC,CAAC,MAAQ,SAAS,KAAO,GACzB,IAAIA,IACA,KAAO,MAAQ,SAAS,kBAAkB,OAE9C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,kBAAkBA,KAAG,UAAU,EAE5C,MAAQ,SAAS,kBAAkBA,KAAG,OACzC,CAAC,MAAQ,SAAS,KAAO,KAI/B,6BAA8B,SAAU,UAAW,CACjD,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,kBAAoB,EAAE,CACxC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,YAAc,IAEnC,CAGD,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,aACL,CACD,OAAO,SAAU,KAAM,CACrB,OAAO,eAAe,OAAS,MAEhC,CAiCC,OAAS,UAAY,CACvB,IAAI,KAAO,KAAK,IACZ,KAAO,KAAK,IACZ,KAAO,KAAK,IACZ,KAAO,KAAK,MAEhB,SAAS,OAAQ,CAiBf,MAhBA,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,GAAK,EAC7B,CAAC,MAAQ,SAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,SAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,SAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,SAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,SAAS,MAAM,IAAM,EAC9B,CAAC,MAAQ,SAAS,MAAM,IAAM,EACvB,MAAQ,QAGjB,SAAS,OAAO,MAAO,CACrB,GAAI,QAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,KAAO,KAAK,MAAM,CAElB,KAAO,KAAK,MAAM,CAEtB,OAAO,KAAK,GAAG,KAAM,CAAC,KAAM,EAAG,EAAG,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAG7E,SAAS,QAAQ,MAAO,CACtB,GAAI,QAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,KAAO,KAAK,MAAM,CAElB,KAAO,KAAK,MAAM,CAEtB,OAAO,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAAM,CAAC,KAAM,EAAG,EAAG,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAE,CAG7E,SAAS,QAAQ,MAAO,CACtB,GAAI,QAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,KAAO,KAAK,MAAM,CAElB,KAAO,KAAK,MAAM,CAEtB,OAAO,KAAK,GAAG,KAAM,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,KAAM,EAAG,KAAM,EAAG,EAAG,EAAG,EAAG,EAAE,CAG7E,SAAS,QAAQ,MAAO,CACtB,GAAI,QAAU,EACZ,OAAO,MAAQ,QAGjB,IAAI,KAAO,KAAK,MAAM,CAElB,KAAO,KAAK,MAAM,CAEtB,OAAO,KAAK,GAAG,KAAM,CAAC,KAAM,EAAG,EAAG,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAG7E,SAAS,MAAM,GAAI,GAAI,CACrB,OAAO,KAAK,GAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAE,CAGpC,SAAS,KAAK,GAAI,GAAI,CACpB,OAAO,KAAK,MAAM,KAAK,GAAG,CAAE,KAAK,GAAG,CAAC,CAGvC,SAAS,aAAa,GAAI,MAAO,CAC/B,IAAI,KAAO,KAAK,MAAM,CAElB,KAAO,KAAK,MAAM,CAEtB,OAAO,KAAK,GAAG,KAAM,KAAM,EAAG,EAAG,CAAC,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAAC,GAAG,EAAG,EAAG,EAAG,EAAG,KAAK,GAAG,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAAC,GAAG,KAAM,CAAC,KAAM,EAAG,EAAG,KAAM,KAAM,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAGvM,SAAS,MAAM,GAAI,GAAI,GAAI,CASzB,MARI,CAAC,IAAM,KAAO,IAChB,GAAK,GAGH,KAAO,GAAK,KAAO,GAAK,KAAO,EAC1B,MAAQ,QAGV,KAAK,GAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAE,CAGnE,SAAS,aAAa,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,IAAG,CAiBpE,MAhBA,CAAC,MAAQ,SAAS,MAAM,GAAKY,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKT,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKU,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKF,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKG,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKV,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKF,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKM,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKR,IAC7B,CAAC,MAAQ,SAAS,MAAM,GAAKe,IAC7B,CAAC,MAAQ,SAAS,MAAM,IAAMC,IAC9B,CAAC,MAAQ,SAAS,MAAM,IAAMC,IAC9B,CAAC,MAAQ,SAAS,MAAM,IAAMC,IAC9B,CAAC,MAAQ,SAAS,MAAM,IAAMC,IAC9B,CAAC,MAAQ,SAAS,MAAM,IAAMC,IAC9B,CAAC,MAAQ,SAAS,MAAM,IAAMf,IACvB,MAAQ,QAGjB,SAAS,UAAU,GAAI,GAAI,GAAI,CAO7B,MANA,MAAW,EAEP,KAAO,GAAK,KAAO,GAAK,KAAO,EAC1B,KAAK,GAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAE,CAG5D,MAAQ,QAGjB,SAAS,UAAU,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CACjF,IAAI,IAAM,MAAQ,SAAS,MAE3B,GAAI,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,GAAK,KAAO,EAS7I,MANA,IAAG,IAAM,GAAG,IAAM,GAAK,GAAG,IAAM,GAChC,GAAG,IAAM,GAAG,IAAM,GAAK,GAAG,IAAM,GAChC,GAAG,IAAM,GAAG,IAAM,GAAK,GAAG,IAAM,GAChC,GAAG,KAAO,GAEV,CAAC,MAAQ,SAAS,oBAAsB,GACjC,MAAQ,QAGjB,IAAI,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,GACR,GAAK,GAAG,IACR,GAAK,GAAG,IACR,GAAK,GAAG,IACR,GAAK,GAAG,IACR,GAAK,GAAG,IACR,GAAK,GAAG,IAwBZ,MAjBA,IAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC3C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,GAAG,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAC5C,CAAC,MAAQ,SAAS,oBAAsB,GACjC,MAAQ,QAGjB,SAAS,YAAa,CAMpB,OALM,MAAQ,SAAS,sBACrB,CAAC,MAAQ,SAAS,UAAY,GAAG,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,KAAO,IAAM,MAAQ,SAAS,MAAM,MAAQ,IAAM,MAAQ,SAAS,MAAM,MAAQ,IAAM,MAAQ,SAAS,MAAM,MAAQ,IAAM,MAAQ,SAAS,MAAM,MAAQ,IAAM,MAAQ,SAAS,MAAM,MAAQ,IAAM,MAAQ,SAAS,MAAM,MAAQ,GACjmB,CAAC,MAAQ,SAAS,oBAAsB,KAGlC,MAAQ,SAAS,UAG3B,SAAS,OAAO,KAAM,CAGpB,IAFA,IAAIL,IAAI,EAEDA,IAAI,IAAI,CACb,GAAI,KAAK,MAAMA,QAAQ,MAAQ,SAAS,MAAMA,KAC5C,MAAO,GAGT,KAAK,EAGP,MAAO,GAGT,SAAS,MAAM,KAAM,CACnB,IAAIA,IAEJ,IAAK,IAAI,EAAGA,IAAI,GAAI,KAAK,EACvB,KAAK,MAAMA,MAAM,MAAQ,SAAS,MAAMA,KAG1C,OAAO,KAGT,SAAS,eAAe,MAAO,CAC7B,IAAIA,IAEJ,IAAK,IAAI,EAAGA,IAAI,GAAI,KAAK,EACvB,CAAC,MAAQ,SAAS,MAAMA,KAAK,MAAMA,KAIvC,SAAS,aAAa,IAAG,IAAG,IAAG,CAC7B,MAAO,CACL,EAAGqB,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAC9H,EAAGF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAC9H,EAAGF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,KAAO,MAAQ,SAAS,MAAM,IAChI,CAOH,SAAS,SAAS,IAAG,IAAG,IAAG,CACzB,OAAOF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAGpI,SAAS,SAAS,IAAG,IAAG,IAAG,CACzB,OAAOF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAGpI,SAAS,SAAS,IAAG,IAAG,IAAG,CACzB,OAAOF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,KAAO,MAAQ,SAAS,MAAM,IAGrI,SAAS,kBAAmB,CAC1B,IAAI,aAAe,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,GAC7HX,KAAK,MAAQ,SAAS,MAAM,GAAK,YACjCT,IAAI,EAAE,MAAQ,SAAS,MAAM,GAAK,YAClCU,IAAI,EAAE,MAAQ,SAAS,MAAM,GAAK,YAClCF,KAAK,MAAQ,SAAS,MAAM,GAAK,YACjCG,MAAM,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,KAAO,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,KAAO,YAC5HV,IAAI,GAAG,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,KAAO,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,KAAO,YAC7H,cAAgB,IAAI,OAOxB,MANA,eAAc,MAAM,GAAKQ,IACzB,cAAc,MAAM,GAAKT,IACzB,cAAc,MAAM,GAAKU,IACzB,cAAc,MAAM,GAAKF,IACzB,cAAc,MAAM,IAAMG,IAC1B,cAAc,MAAM,IAAMV,IACnB,cAGT,SAAS,aAAa,KAAI,CAExB,OADoB,KAAK,kBAAkB,CACtB,kBAAkBoB,KAAG,GAAIA,KAAG,GAAIA,KAAG,IAAM,EAAE,CAGlE,SAAS,cAAc,IAAK,CAC1B,IAAIxB,IACA,IAAM,IAAI,OACV,OAAS,EAAE,CAEf,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAOA,KAAK,aAAa,IAAIA,KAAG,CAGlC,OAAO,OAGT,SAAS,oBAAoB,IAAK,IAAK,IAAK,CAC1C,IAAI,IAAM,iBAAiB,UAAW,EAAE,CAExC,GAAI,KAAK,YAAY,CACnB,IAAI,GAAK,IAAI,GACb,IAAI,GAAK,IAAI,GACb,IAAI,GAAK,IAAI,GACb,IAAI,GAAK,IAAI,GACb,IAAI,GAAK,IAAI,GACb,IAAI,GAAK,IAAI,OACR,CACL,IAAI,IAAM,MAAQ,SAAS,MAAM,GAC7B,IAAM,MAAQ,SAAS,MAAM,GAC7B,IAAM,MAAQ,SAAS,MAAM,GAC7B,IAAM,MAAQ,SAAS,MAAM,GAC7B,KAAO,MAAQ,SAAS,MAAM,IAC9B,KAAO,MAAQ,SAAS,MAAM,IAClC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IACrC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IACrC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IACrC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IACrC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IACrC,IAAI,GAAK,IAAI,GAAK,GAAK,IAAI,GAAK,GAAK,IAGvC,OAAO,IAGT,SAAS,kBAAkB,IAAG,IAAG,IAAG,CASlC,OANI,KAAK,YAAY,CACb,CAACqB,IAAGC,IAAGC,IAAE,CAET,CAACF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAAKF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,MAAM,IAAKF,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,GAAKC,KAAK,MAAQ,SAAS,MAAM,KAAO,MAAQ,SAAS,MAAM,IAAI,CAM3Y,SAAS,wBAAwB,IAAG,IAAG,CACrC,GAAI,KAAK,YAAY,CACnB,OAAOF,IAAI,IAAMC,IAGnB,IAAI,IAAM,MAAQ,SAAS,MAC3B,OAAO,KAAK,OAAOD,IAAI,GAAG,GAAKC,IAAI,GAAG,GAAK,GAAG,KAAO,IAAI,CAAG,IAAM,IAAM,KAAK,OAAOD,IAAI,GAAG,GAAKC,IAAI,GAAG,GAAK,GAAG,KAAO,IAAI,CAAG,IAG/H,SAAS,OAAQ,CAWf,IALA,IAAItB,IAAI,EACJ,OAAS,MAAQ,SAAS,MAC1B,SAAW,YACXS,IAAI,IAEDT,IAAI,IACT,UAAY,KAAK,MAAMA,KAAKS,IAAE,CAAGA,IACjC,UAAYT,MAAM,GAAK,IAAM,IAC7B,KAAK,EAGP,OAAO,SAGT,SAAS,oBAAoB,IAAK,CAChC,IAAIS,IAAI,IAMR,OAJI,IAAM,MAAY,IAAM,GAAK,IAAM,OAAa,IAAM,EACjD,KAAK,IAAMA,IAAE,CAAGA,IAGlB,IAGT,SAAS,SAAU,CAMjB,IAAI,OAAS,MAAQ,SAAS,MAE1B,GAAK,oBAAoB,MAAM,GAAG,CAElC,GAAK,oBAAoB,MAAM,GAAG,CAElC,GAAK,oBAAoB,MAAM,GAAG,CAElC,GAAK,oBAAoB,MAAM,GAAG,CAElC,GAAK,oBAAoB,MAAM,IAAI,CAEnC,GAAK,oBAAoB,MAAM,IAAI,CAEvC,MAAO,UAAY,GAAK,IAAM,GAAK,IAAM,GAAK,IAAM,GAAK,IAAM,GAAK,IAAM,GAAK,IAGjF,OAAO,UAAY,CACjB,CAAC,MAAQ,SAAS,MAAQ,MAC1B,CAAC,MAAQ,SAAS,OAAS,OAC3B,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,MAAQ,MAC1B,CAAC,MAAQ,SAAS,MAAQ,MAC1B,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,SAAW,SAC7B,CAAC,MAAQ,SAAS,SAAW,SAC7B,CAAC,MAAQ,SAAS,SAAW,SAC7B,CAAC,MAAQ,SAAS,kBAAoB,kBACtC,CAAC,MAAQ,SAAS,oBAAsB,oBACxC,CAAC,MAAQ,SAAS,wBAA0B,wBAC5C,CAAC,MAAQ,SAAS,MAAQ,MAC1B,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,MAAQ,MAC1B,CAAC,MAAQ,SAAS,eAAiB,eACnC,CAAC,MAAQ,SAAS,OAAS,OAC3B,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,iBAAmB,iBACrC,CAAC,MAAQ,SAAS,IAAM,MAAQ,SAAS,UACzC,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,oBAAsB,GACxC,CAAC,MAAQ,SAAS,MAAQ,iBAAiB,UAAW,GAAG,CACzD,KAAK,OAAO,IAEb,EA4BF,SAAU,KAAM,KAAM,CAIrB,IAAIgB,SAAS,MAAQ,QACjB,MAAQ,IAEZ,OAAS,EAET,OAAS,GAET,QAAU,SAEV,WAAa,KAAK,IAAI,MAAO,OAAO,CAChC,aAAe,KAAK,IAAI,EAAG,OAAO,CAClC,SAAW,aAAe,EAC1BC,OAAO,MAAQ,EACf,WAMJ,SAAS,WAAW,KAAM,QAAS,SAAU,CAC3C,IAAI,IAAM,EAAE,CACZ,QAAU,UAAY,GAAO,CAC3B,QAAS,GACV,CAAG,SAAW,EAAE,CAEjB,IAAI,UAAY,OAAO,QAAQ,QAAQ,QAAU,CAAC,KAAM,SAAS,KAAK,CAAC,CAAG,OAAS,KAAO,UAAU,CAAG,KAAM,EAAE,CAAE,IAAI,CAEjH,KAAO,IAAI,KAAK,IAAI,CAGpB,KAAO,UAAY,CAOrB,IANA,IAAIP,IAAI,KAAK,EAAE,OAAO,CAEtBR,IAAI,WAEJU,IAAI,EAEGF,IAAI,cAET,KAAKA,IAAIE,KAAK,MAEd,KAAK,MAEL,IAAI,KAAK,EAAE,EAAE,CAGf,KAAOF,KAAK,UAEV,KAAK,EAEL,KAAK,EAEL,OAAO,EAGT,OAAQA,IAAIE,KAAKV,KAenB,MAZA,MAAK,MAAQ,UAAY,CACvB,OAAO,KAAK,EAAE,EAAE,CAAG,GAGrB,KAAK,MAAQ,UAAY,CACvB,OAAO,KAAK,EAAE,EAAE,CAAG,YAGrB,KAAK,OAAS,KAEd,OAAO,SAAS,KAAK,EAAE,CAAE,KAAK,EAEtB,QAAQ,MAAQ,UAAY,SAAU,OAAM,OAAM,aAAc,MAAO,CAoBxE,OAnBD,QAEE,MAAM,GACR,KAAK,MAAO,KAAK,CAInB,OAAK,MAAQ,UAAY,CACvB,OAAO,KAAK,KAAM,EAAE,CAAC,GAMrB,cACF,KAAK,SAAWgB,OACTC,QAGGD,SACX,KAAM,UAAW,WAAY,QAAU,QAAQ,QAAU,MAAQ,UAAY,KAAM,QAAQ,MAAM,CAGtG,KAAK,OAAS,SAAW,WAWzB,SAAS,KAAK,IAAK,CACjB,IAAIpB,IACA,OAAS,IAAI,OACb,GAAK,MAAQ,QACbP,IAAI,EACJe,IAAI,GAAG,EAAI,GAAG,EAAI,EAClBL,IAAI,GAAG,EAAI,EAAE,CAOjB,IALK,SACH,IAAM,CAAC,SAAS,EAIXV,IAAI,OACT,IAAEA,KAAK,MAGT,IAAK,IAAI,EAAGA,IAAI,MAAO,MACrB,IAAEA,KAAKU,IAAE,IAAIgB,OAAOX,IAAI,IAAIf,IAAI,SAAW,IAAIU,IAAEV,OACjD,IAAEe,KAAKR,IAIT,GAAG,EAAI,SAAU,MAAO,CAQtB,IANA,IAAIA,IACAN,IAAI,EACJD,IAAI,GAAG,EACPe,IAAI,GAAG,EACPL,IAAI,GAAG,EAEJ,SACL,IAAIA,IAAE,IAAIgB,OAAO1B,IAAI,GACrB,IAAIC,IAAI,MAAQS,IAAEgB,QAAQ,IAAE1B,KAAKU,IAAE,IAAIgB,OAAOX,IAAIR,OAAO,IAAEQ,KAAKR,MAKlE,MAFA,IAAG,EAAIP,IACP,GAAG,EAAIe,IACAd,KAUX,SAAS,KAAK,IAAG,IAAG,CAIlB,MAHA,KAAE,EAAIG,IAAE,EACR,IAAE,EAAIA,IAAE,EACR,IAAE,EAAIA,IAAE,EAAE,OAAO,CACVG,IAOT,SAAS,QAAQ,IAAK,MAAO,CAC3B,IAAI,OAAS,EAAE,CACX,IAAM,OAAO,IACb,KAEJ,GAAI,OAAS,KAAO,SAClB,IAAK,QAAQ,IACX,GAAI,CACF,OAAO,KAAK,QAAQ,IAAI,MAAO,MAAQ,EAAE,CAAC,MAChC,EAIhB,OAAO,OAAO,OAAS,OAAS,KAAO,SAAW,IAAM,IAAM,KAQhE,SAAS,OAAO,KAAM,IAAK,CAKzB,IAJA,IAAI,WAAa,KAAO,GACpB,MACAQ,IAAI,EAEDA,IAAI,WAAW,QACpB,IAAIW,OAAOX,KAAKW,QAAQ,OAAS,IAAIA,OAAOX,KAAK,IAAM,WAAW,WAAW,MAAI,CAGnF,OAAO,SAAS,IAAI,CAQtB,SAAS,UAAW,CAClB,GAAI,CACF,GAAI,WACF,OAAO,SAAS,WAAW,YAAY,MAAM,CAAC,CAGhD,IAAI,IAAM,IAAI,WAAW,MAAM,CAE/B,OADCU,SAAO,QAAUA,SAAO,UAAU,gBAAgB,IAAI,CAChD,SAAS,IAAI,MACV,CACV,IAAI,QAAUA,SAAO,UACjB,QAAU,SAAW,QAAQ,QACjC,MAAO,CAAC,CAAC,IAAI,KAAQA,SAAQ,QAASA,SAAO,OAAQ,SAAS,KAAK,CAAC,EAQxE,SAAS,SAAS,IAAG,CACnB,OAAO,OAAO,aAAa,MAAM,EAAGb,IAAE,CAUxC,OAAO,KAAK,QAAQ,CAAE,KAAK,GAK1B,EAAE,CACL,OACC,CAID,IAAI,cAAgB,UAAY,CAW9B,IAAI,GAAK,EAAE,CACX,GAAG,gBAAkB,gBACrB,IAAI,QAAU,EAAE,CAEhB,SAAS,gBAAgB,IAAG,IAAG,IAAG,IAAG,GAAI,CACvC,IAAI,IAAM,KAAO,OAASA,IAAI,IAAMT,IAAI,IAAMU,IAAI,IAAMF,KAAG,QAAQ,MAAO,IAAI,CAE9E,GAAI,QAAQ,KACV,OAAO,QAAQ,KAGjB,IAAI,UAAY,IAAI,aAAa,CAACC,IAAGT,IAAGU,IAAGF,IAAE,CAAC,CAE9C,MADA,SAAQ,KAAO,UACR,UAIT,IAAI,kBAAoB,EACpB,iBAAmB,KACnB,sBAAwB,KACxB,2BAA6B,GAC7B,iBAAmB,GACnB,gBAAkB,GAAK,iBAAmB,GAC1C,sBAAwB,OAAO,cAAiB,WAEpD,SAASkB,IAAE,IAAK,IAAK,CACnB,MAAO,GAAI,EAAI,IAAM,EAAI,IAG3B,SAASC,IAAE,IAAK,IAAK,CACnB,MAAO,GAAI,IAAM,EAAI,IAGvB,SAASC,IAAE,IAAK,CACd,MAAO,GAAI,IAIb,SAAS,WAAW,GAAI,IAAK,IAAK,CAChC,QAASF,IAAE,IAAK,IAAI,CAAG,GAAKC,IAAE,IAAK,IAAI,EAAI,GAAKC,IAAE,IAAI,EAAI,GAI5D,SAAS,SAAS,GAAI,IAAK,IAAK,CAC9B,MAAO,GAAIF,IAAE,IAAK,IAAI,CAAG,GAAK,GAAK,EAAIC,IAAE,IAAK,IAAI,CAAG,GAAKC,IAAE,IAAI,CAGlE,SAAS,gBAAgB,GAAI,GAAI,GAAI,IAAK,IAAK,CAC7C,IAAI,SACA,SACA/B,IAAI,EAER,EACE,UAAW,IAAM,GAAK,IAAM,EAC5B,SAAW,WAAW,SAAU,IAAK,IAAI,CAAG,GAExC,SAAW,EACb,GAAK,SAEL,GAAK,eAEA,KAAK,IAAI,SAAS,CAAG,uBAAyB,EAAEA,IAAI,4BAE7D,OAAO,SAGT,SAAS,qBAAqB,GAAI,QAAS,IAAK,IAAK,CACnD,IAAK,IAAIA,IAAI,EAAGA,IAAI,kBAAmB,EAAEA,IAAG,CAC1C,IAAI,aAAe,SAAS,QAAS,IAAK,IAAI,CAC9C,GAAI,eAAiB,EAAG,OAAO,QAC/B,IAAI,SAAW,WAAW,QAAS,IAAK,IAAI,CAAG,GAC/C,SAAW,SAAW,aAGxB,OAAO,QAOT,SAAS,aAAa,OAAQ,CAC5B,CAAC,MAAQ,SAAS,GAAK,OACvB,CAAC,MAAQ,SAAS,eAAiB,sBAAwB,IAAI,aAAa,iBAAiB,CAAO,MAAM,iBAAiB,CAC3H,CAAC,MAAQ,SAAS,aAAe,GACjC,CAAC,MAAQ,SAAS,KAAO,MAAQ,SAAS,IAAI,KAAK,MAAQ,QAAQ,CAsErE,MAnEA,cAAa,UAAY,CACvB,IAAK,SAAU,IAAG,CAChB,IAAI,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAO/B,OANM,MAAQ,SAAS,cAAc,KAAK,aAAa,CACnD,MAAQ,KAAO,MAAQ,IAAYqB,IAGnCA,MAAM,EAAU,EAChBA,MAAM,EAAU,EACb,WAAW,KAAK,UAAUA,IAAE,CAAE,IAAK,IAAI,EAGhD,YAAa,UAAY,CACvB,IAAI,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC/B,CAAC,MAAQ,SAAS,aAAe,IAE7B,MAAQ,KAAO,MAAQ,MACzB,KAAK,mBAAmB,EAG5B,kBAAmB,UAAY,CAI7B,IAAK,IAHD,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAEtBrB,IAAI,EAAGA,IAAI,iBAAkB,EAAEA,IACtC,CAAC,MAAQ,SAAS,eAAeA,KAAK,WAAWA,IAAI,gBAAiB,IAAK,IAAI,EAOnF,UAAW,SAAU,GAAI,CAQvB,IAPA,IAAI,KAAO,MAAQ,SAAS,GAAG,GAC3B,KAAO,MAAQ,SAAS,GAAG,GAC3B,eAAiB,MAAQ,SAAS,eAClC,cAAgB,EAChB,cAAgB,EAChB,WAAa,iBAAmB,EAE7B,gBAAkB,YAAc,cAAc,gBAAkB,GAAI,EAAE,cAC3E,eAAiB,gBAGnB,EAAE,cAEF,IAAI,MAAQ,GAAK,cAAc,iBAAmB,cAAc,cAAgB,GAAK,cAAc,gBAC/F,UAAY,cAAgB,KAAO,gBACnC,aAAe,SAAS,UAAW,IAAK,IAAI,CAUhD,OARI,cAAgB,iBACX,qBAAqB,GAAI,UAAW,IAAK,IAAI,CAGlD,eAAiB,EACZ,UAGF,gBAAgB,GAAI,cAAe,cAAgB,gBAAiB,IAAK,IAAI,EAEvF,CACM,KACN,EAEF,UAAY,CAIX,IAAK,IAHD,SAAW,EACX,QAAU,CAAC,KAAM,MAAO,SAAU,IAAI,CAEjCqB,IAAI,EAAGA,IAAI,QAAQ,QAAU,CAACW,SAAO,sBAAuB,EAAEX,IAErE,SAAO,sBAAwBW,SAAO,QAAQX,KAAK,yBACnD,SAAO,qBAAuBW,SAAO,QAAQX,KAAK,yBAA2BW,SAAO,QAAQX,KAAK,+BAGnG,AACE,SAAO,wBAAwB,SAAU,SAAU,CACjD,IAAI,SAAW,IAAI,MAAM,CAAC,SAAS,CAC/B,WAAa,KAAK,IAAI,EAAG,IAAM,SAAW,UAAU,CACpD,GAAK,WAAW,UAAY,CAC9B,SAAS,SAAW,WAAW,EAC9B,WAAW,CAEd,MADA,UAAW,SAAW,WACf,IAIX,AACE,SAAO,uBAAuB,SAAU,GAAI,CAC1C,aAAa,GAAG,KAGlB,CAIJ,SAAS,gBAAgB,QAAS,YAAa,CAC7C,IAAIrB,IACA,IAAM,QAAQ,OACd,gBAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAGxB,IAAK,IAAI,OAFT,iBAAkB,QAAQA,KAAG,UAEZ,gBACX,OAAO,UAAU,eAAe,KAAK,gBAAiB,KAAK,GAAE,YAAY,UAAU,MAAQ,gBAAgB,OAKrH,SAAS,cAAc,OAAQ,KAAM,CACnC,OAAO,OAAO,yBAAyB,OAAQ,KAAK,CAGtD,SAAS,oBAAoB,UAAW,CACtC,SAAS,eAAgB,EAGzB,MADA,eAAc,UAAY,UACnB,cAOT,SAAS,aAAc,CACrB,IAAI,KAAO,KAEX,SAAS,cAAc,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CAC7C,IAAI,KAAO,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAClE,OAAO,KAAO,OAAU,KAAO,KAGjC,SAAS,cAAc,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,CACzD,GAAI,KAAO,GAAK,KAAO,GAAK,KAAO,EACjC,OAAO,cAAc,GAAI,GAAI,GAAI,GAAI,GAAI,GAAG,CAG9C,IAAI,MAAQ,KAAK,KAAK,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAC,CACrF,MAAQ,KAAK,KAAK,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAC,CACrF,MAAQ,KAAK,KAAK,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAG,KAAK,IAAI,GAAK,GAAI,EAAE,CAAC,CACrF,SAEA,MAAQ,MACN,MAAQ,MACC,MAAQ,MAAQ,MAEhB,MAAQ,MAAQ,MAEpB,MAAQ,MACN,MAAQ,MAAQ,MAEhB,MAAQ,MAAQ,MAG7B,OAAO,SAAW,OAAW,SAAW,KAG1C,IAAI,gBAAkB,UAAY,CAChC,OAAO,SAAU,IAAK,IAAK,IAAK,IAAK,CACnC,IAAI,cAAgB,qBAChBgB,IACAhB,IACA,IACA,QACA,KACA,YAAc,EACd,WACA,MAAQ,EAAE,CACV,UAAY,EAAE,CACd,WAAa,iBAAiB,YAAY,CAG9C,IAFA,IAAM,IAAI,OAEL,IAAI,EAAGgB,IAAI,cAAe,KAAK,EAAG,CAIrC,IAHA,KAAOA,KAAK,cAAgB,GAC5B,WAAa,EAER,IAAI,EAAGhB,IAAI,IAAK,KAAK,EACxB,QAAU,MAAM,EAAI,KAAM,EAAE,CAAG,IAAIA,KAAK,EAAI,MAAM,EAAI,KAAM,EAAE,CAAG,KAAO,IAAIA,KAAK,GAAK,EAAI,MAAQ,MAAM,KAAM,EAAE,CAAG,IAAIA,KAAK,MAAM,KAAM,EAAE,CAAG,IAAIA,KACjJ,MAAMA,KAAK,QAEP,UAAUA,OAAO,OACnB,YAAc,MAAM,MAAMA,KAAK,UAAUA,KAAI,EAAE,EAGjD,UAAUA,KAAK,MAAMA,KAGnB,aACF,WAAa,OAAO,WAAW,CAC/B,aAAe,YAGjB,WAAW,SAASgB,KAAK,KACzB,WAAW,QAAQA,KAAK,YAI1B,MADA,YAAW,YAAc,YAClB,cAER,CAEH,SAAS,kBAAkB,UAAW,CACpC,IAAI,eAAiB,mBAAmB,YAAY,CAChD,OAAS,UAAU,EACnB,MAAQ,UAAU,EAClB,MAAQ,UAAU,EAClB,MAAQ,UAAU,EAClBhB,IACA,IAAM,UAAU,QAChB,QAAU,eAAe,QACzB,YAAc,EAElB,IAAK,IAAI,EAAGA,IAAI,IAAM,EAAG,KAAK,EAC5B,QAAQA,KAAK,gBAAgB,MAAMA,KAAI,MAAMA,IAAI,GAAI,MAAMA,KAAI,MAAMA,IAAI,GAAG,CAC5E,aAAe,QAAQA,KAAG,YAS5B,OANI,QAAU,MACZ,QAAQA,KAAK,gBAAgB,MAAMA,KAAI,MAAM,GAAI,MAAMA,KAAI,MAAM,GAAG,CACpE,aAAe,QAAQA,KAAG,aAG5B,eAAe,YAAc,YACtB,eAGT,SAAS,WAAW,OAAQ,CAC1B,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,OAAa,MAAM,OAAO,CAG9C,SAAS,UAAU,QAAS,MAAO,CACjC,CAAC,MAAQ,SAAS,cAAgB,QAClC,CAAC,MAAQ,SAAS,MAAQ,MAG5B,IAAI,gBAAkB,UAAY,CAChC,IAAI,WAAa,EAAE,CACnB,OAAO,SAAU,IAAK,IAAK,IAAK,IAAK,CACnC,IAAI,YAAc,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,GAAK,IAAM,IAAI,IAAI,QAAQ,MAAO,IAAI,CAEtJ,GAAI,CAAC,WAAW,YAAa,CAC3B,IAAI,cAAgB,qBAChBgB,IACAhB,IACA,IACA,QACA,KACA,YAAc,EACd,WACA,MACA,UAAY,KAEZ,IAAI,SAAW,IAAM,IAAI,KAAO,IAAI,IAAM,IAAI,KAAO,IAAI,KAAO,cAAc,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAK,IAAI,GAAI,IAAI,GAAK,IAAI,GAAG,EAAI,cAAc,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAK,IAAI,GAAI,IAAI,GAAK,IAAI,GAAG,GACpO,cAAgB,GAGlB,IAAI,WAAa,IAAI,WAAW,cAAc,CAG9C,IAFA,IAAM,IAAI,OAEL,IAAI,EAAGgB,IAAI,cAAe,KAAK,EAAG,CAKrC,IAJA,MAAQ,iBAAiB,IAAI,CAC7B,KAAOA,KAAK,cAAgB,GAC5B,WAAa,EAER,IAAI,EAAGhB,IAAI,IAAK,KAAK,EACxB,QAAU,MAAM,EAAI,KAAM,EAAE,CAAG,IAAIA,KAAK,EAAI,MAAM,EAAI,KAAM,EAAE,CAAG,MAAQ,IAAIA,KAAK,IAAIA,MAAM,GAAK,EAAI,MAAQ,MAAM,KAAM,EAAE,EAAI,IAAIA,KAAK,IAAIA,MAAM,MAAM,KAAM,EAAE,CAAG,IAAIA,KACvK,MAAMA,KAAK,QAEP,YAAc,OAChB,YAAc,MAAM,MAAMA,KAAK,UAAUA,KAAI,EAAE,EAInD,WAAa,OAAO,WAAW,CAC/B,aAAe,WACf,WAAW,OAAOgB,KAAK,IAAI,UAAU,WAAY,MAAM,CACvD,UAAY,MAGd,WAAW,cAAgB,YAC3B,WAAW,YAAc,WAG3B,OAAO,WAAW,eAEnB,CAEH,SAAS,gBAAgB,KAAM,WAAY,CACzC,IAAI,SAAW,WAAW,SACtB,QAAU,WAAW,QACrB,IAAM,SAAS,OACf,QAAU,SAAS,IAAM,GAAK,KAAK,CACnC,UAAY,KAAO,WAAW,YAC9B,MAAQ,EAEZ,GAAI,UAAY,IAAM,GAAK,UAAY,GAAK,YAAc,QAAQ,SAChE,OAAO,SAAS,SAMlB,IAHA,IAAI,IAAM,QAAQ,SAAW,UAAY,GAAK,EAC1C,KAAO,GAEJ,MAQL,GAPI,QAAQ,UAAY,WAAa,QAAQ,QAAU,GAAK,WAC1D,OAAS,UAAY,QAAQ,WAAa,QAAQ,QAAU,GAAK,QAAQ,UACzE,KAAO,IAEP,SAAW,IAGT,QAAU,GAAK,SAAW,IAAM,EAAG,CAErC,GAAI,UAAY,IAAM,EACpB,OAAO,SAAS,SAGlB,KAAO,GAIX,OAAO,SAAS,UAAY,SAAS,QAAU,GAAK,SAAS,UAAY,MAG3E,SAAS,kBAAkB,IAAK,IAAK,IAAK,IAAK,QAAS,WAAY,CAClE,IAAI,GAAK,gBAAgB,QAAS,WAAW,CACzC,GAAK,EAAI,GAGb,MAAO,CAFG,KAAK,OAAO,GAAK,GAAK,GAAK,IAAI,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,IAAM,IAAI,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,IAAM,IAAI,GAAK,GAAK,GAAK,GAAK,IAAI,IAAM,IAAK,CAAG,IACrL,KAAK,OAAO,GAAK,GAAK,GAAK,IAAI,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,IAAM,IAAI,IAAM,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,IAAM,IAAI,GAAK,GAAK,GAAK,GAAK,IAAI,IAAM,IAAK,CAAG,IAC9K,CAGnB,IAAI,oBAAsB,iBAAiB,UAAW,EAAE,CAExD,SAAS,cAAc,IAAK,IAAK,IAAK,IAAK,UAAW,QAAS,WAAY,CACrE,UAAY,EACd,UAAY,EACH,UAAY,IACrB,UAAY,GAGd,IAAI,GAAK,gBAAgB,UAAW,WAAW,CAC/C,QAAU,QAAU,EAAI,EAAI,QAC5B,IAAI,GAAK,gBAAgB,QAAS,WAAW,CACzChB,IACA,IAAM,IAAI,OACV,GAAK,EAAI,GACT,GAAK,EAAI,GACT,OAAS,GAAK,GAAK,GACnB,SAAW,GAAK,GAAK,GAAK,EAE1B,SAAW,GAAK,GAAK,GAAK,EAE1B,OAAS,GAAK,GAAK,GAEnB,OAAS,GAAK,GAAK,GACnB,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,OAAS,GAAK,GAAK,GAEnB,OAAS,GAAK,GAAK,GACnB,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,OAAS,GAAK,GAAK,GAEnB,OAAS,GAAK,GAAK,GACnB,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,SAAW,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAEnD,OAAS,GAAK,GAAK,GAEvB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,oBAAoBA,IAAI,GAAK,KAAK,OAAO,OAAS,IAAIA,KAAK,SAAW,IAAIA,KAAK,SAAW,IAAIA,KAAK,OAAS,IAAIA,MAAM,IAAK,CAAG,IAE9H,oBAAoBA,IAAI,EAAI,GAAK,KAAK,OAAO,OAAS,IAAIA,KAAK,SAAW,IAAIA,KAAK,SAAW,IAAIA,KAAK,OAAS,IAAIA,MAAM,IAAK,CAAG,IAElI,oBAAoBA,IAAI,EAAI,GAAK,KAAK,OAAO,OAAS,IAAIA,KAAK,SAAW,IAAIA,KAAK,SAAW,IAAIA,KAAK,OAAS,IAAIA,MAAM,IAAK,CAAG,IAElI,oBAAoBA,IAAI,EAAI,GAAK,KAAK,OAAO,OAAS,IAAIA,KAAK,SAAW,IAAIA,KAAK,SAAW,IAAIA,KAAK,OAAS,IAAIA,MAAM,IAAK,CAAG,IAGpI,OAAO,oBAGT,MAAO,CACc,kBACJ,cACI,kBACF,gBACF,cACA,cAChB,CAGH,IAAI,IAAM,aAAa,CAGvB,SAAS,qBAAsB,CAE7B,SAAS,eAAe,OAAQ,MAAO,YAAa,CAClD,IAAI,UACAA,IACA,IAAM,OAAO,OACbe,IACA,KACAC,IACA,KAEJ,IAAK,IAAI,EAAGhB,IAAI,IAAK,KAAK,EAGxB,GAFA,UAAY,OAAOA,KAEf,OAAQ,WAAa,CAAC,UAAU,UAAW,CAO7C,GANA,UAAU,UAAY,GAElB,UAAU,KACZ,OAAOA,IAAI,GAAG,GAAK,UAAU,IAG3B,UAAU,QAAS,CACrB,IAAI,UAAY,UAAU,gBAG1B,IAFA,KAAO,UAAU,OAEZ,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,GAAI,UAAUA,KAAG,GAAG,EAAE,EACpB,6BAA6B,UAAUA,KAAG,GAAG,EAAE,MAI/C,IAFA,KAAO,UAAUA,KAAG,GAAG,EAAE,OAEpB,IAAI,EAAGC,IAAI,KAAM,KAAK,EACrB,UAAUD,KAAG,GAAG,EAAEC,KAAG,GACvB,6BAA6B,UAAUD,KAAG,GAAG,EAAEC,KAAG,EAAE,GAAG,CAGrD,UAAUD,KAAG,GAAG,EAAEC,KAAG,GACvB,6BAA6B,UAAUD,KAAG,GAAG,EAAEC,KAAG,EAAE,GAAG,CAO7D,UAAU,KAAO,GACnB,UAAU,OAAS,eAAe,UAAU,MAAO,MAAM,CACzD,eAAe,UAAU,OAAQ,MAAO,YAAY,EAC3C,UAAU,KAAO,EAC1B,eAAe,UAAU,OAAO,CACvB,UAAU,KAAO,GAC1B,aAAa,UAAW,YAAY,EAM5C,SAAS,eAAe,GAAI,MAAO,CAIjC,IAHA,IAAIhB,IAAI,EACJ,IAAM,MAAM,OAETA,IAAI,KAAK,CACd,GAAI,MAAMA,KAAG,KAAO,GAMlB,OALK,MAAMA,KAAG,OAAO,OAKd,KAAK,MAAM,KAAK,UAAU,MAAMA,KAAG,OAAO,CAAC,EAJhD,MAAMA,KAAG,OAAO,OAAS,GAClB,MAAMA,KAAG,QAMpB,KAAK,EAGP,OAAO,KAGT,SAAS,eAAe,IAAK,CAC3B,IAAIA,IACA,IAAM,IAAI,OACVe,IACA,KAEJ,IAAK,IAAI,IAAM,EAAGf,KAAK,EAAG,MACxB,GAAI,IAAIA,KAAG,KAAO,KAChB,GAAI,IAAIA,KAAG,GAAG,EAAE,EACd,6BAA6B,IAAIA,KAAG,GAAG,EAAE,MAIzC,IAFA,KAAO,IAAIA,KAAG,GAAG,EAAE,OAEd,IAAI,EAAGe,IAAI,KAAM,KAAK,EACrB,IAAIf,KAAG,GAAG,EAAEe,KAAG,GACjB,6BAA6B,IAAIf,KAAG,GAAG,EAAEe,KAAG,EAAE,GAAG,CAG/C,IAAIf,KAAG,GAAG,EAAEe,KAAG,GACjB,6BAA6B,IAAIf,KAAG,GAAG,EAAEe,KAAG,EAAE,GAAG,MAI9C,IAAIf,KAAG,KAAO,MACvB,eAAe,IAAIA,KAAG,GAAG,CAK/B,SAAS,6BAA6B,KAAM,CAC1C,IAAIA,IACA,IAAM,KAAK,EAAE,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,EAAEA,KAAG,IAAM,KAAK,EAAEA,KAAG,GAC1B,KAAK,EAAEA,KAAG,IAAM,KAAK,EAAEA,KAAG,GAC1B,KAAK,EAAEA,KAAG,IAAM,KAAK,EAAEA,KAAG,GAC1B,KAAK,EAAEA,KAAG,IAAM,KAAK,EAAEA,KAAG,GAI9B,SAAS,aAAa,QAAS,kBAAmB,CAChD,IAAI,YAAc,kBAAoB,kBAAkB,MAAM,IAAI,CAAG,CAAC,IAAK,IAAK,IAAI,CA0BpF,OAxBI,QAAQ,GAAK,YAAY,GACpB,GAGL,YAAY,GAAK,QAAQ,GACpB,GAGL,QAAQ,GAAK,YAAY,GACpB,GAGL,YAAY,GAAK,QAAQ,GACpB,GAGL,QAAQ,GAAK,YAAY,GACpB,GAGL,YAAY,GAAK,QAAQ,GACpB,GAGF,KAGT,IAAI,UAAY,UAAY,CAC1B,IAAI,eAAiB,CAAC,EAAG,EAAG,GAAG,CAE/B,SAAS,gBAAgB,UAAW,CAClC,IAAI,aAAe,UAAU,EAAE,EAC/B,UAAU,EAAE,EAAI,CACd,EAAG,CAAC,CACF,EAAG,aACH,EAAG,EACJ,CAAC,CACH,CAGH,SAAS,cAAc,OAAQ,CAC7B,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,OAAOA,KAAG,KAAO,GACnB,gBAAgB,OAAOA,KAAG,CAKhC,OAAO,SAAU,gBAAe,CAC9B,GAAI,aAAa,eAAgBiC,gBAAc,EAAE,GAC/C,cAAcA,gBAAc,OAAO,CAE/BA,gBAAc,QAAQ,CACxB,IAAIjC,IACA,IAAMiC,gBAAc,OAAO,OAE/B,IAAK,IAAI,EAAGjC,IAAI,IAAK,KAAK,EACpBiC,gBAAc,OAAOjC,KAAG,QAC1B,cAAciC,gBAAc,OAAOjC,KAAG,OAAO,KAMtD,CAEC,WAAa,UAAY,CAC3B,IAAI,eAAiB,CAAC,EAAG,EAAG,GAAG,CAC/B,OAAO,SAAU,gBAAe,CAC9B,GAAIiC,gBAAc,OAAS,CAAC,aAAa,eAAgBA,gBAAc,EAAE,CAAE,CACzE,IAAIjC,IACA,IAAMiC,gBAAc,MAAM,OAC1BlB,IACA,KACA,SACA,MAEJ,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,GAAIiC,gBAAc,MAAMjC,KAAG,MAAQiC,gBAAc,MAAMjC,KAAG,KAAK,OAI7D,IAHA,MAAQiC,gBAAc,MAAMjC,KAAG,KAAK,OAAO,GAAG,GAC9C,KAAO,MAAM,OAER,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,SAAW,MAAMA,KAAG,GAAG,EAEvB,AAEE,SAAS,eADT,6BAA6B,MAAMA,KAAG,GAAG,EAAE,CACpB,QAOlC,CAEC,YAAc,UAAY,CAC5B,IAAI,eAAiB,CAAC,EAAG,EAAG,EAAE,CAE9B,SAAS,cAAc,OAAQ,CAC7B,IAAIf,IACA,IAAM,OAAO,OACbe,IACA,KAEJ,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,GAAI,OAAOA,KAAG,KAAO,KACnB,cAAc,OAAOA,KAAG,GAAG,SAClB,OAAOA,KAAG,KAAO,MAAQ,OAAOA,KAAG,KAAO,KACnD,GAAI,OAAOA,KAAG,EAAE,GAAK,OAAOA,KAAG,EAAE,EAAE,GAAG,EAGpC,IAFA,KAAO,OAAOA,KAAG,EAAE,EAAE,OAEhB,IAAI,EAAGe,IAAI,KAAM,KAAK,EACrB,OAAOf,KAAG,EAAE,EAAEe,KAAG,IACnB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,KAGvB,OAAOf,KAAG,EAAE,EAAEe,KAAG,IACnB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,IACzB,OAAOf,KAAG,EAAE,EAAEe,KAAG,EAAE,IAAM,UAI7B,OAAOf,KAAG,EAAE,EAAE,IAAM,IACpB,OAAOA,KAAG,EAAE,EAAE,IAAM,IACpB,OAAOA,KAAG,EAAE,EAAE,IAAM,IACpB,OAAOA,KAAG,EAAE,EAAE,IAAM,IAM5B,SAAS,cAAc,OAAQ,CAC7B,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,OAAOA,KAAG,KAAO,GACnB,cAAc,OAAOA,KAAG,OAAO,CAKrC,OAAO,SAAU,gBAAe,CAC9B,GAAI,aAAa,eAAgBiC,gBAAc,EAAE,GAC/C,cAAcA,gBAAc,OAAO,CAE/BA,gBAAc,QAAQ,CACxB,IAAIjC,IACA,IAAMiC,gBAAc,OAAO,OAE/B,IAAK,IAAI,EAAGjC,IAAI,IAAK,KAAK,EACpBiC,gBAAc,OAAOjC,KAAG,QAC1B,cAAciC,gBAAc,OAAOjC,KAAG,OAAO,KAMtD,CAEC,YAAc,UAAY,CAC5B,IAAI,eAAiB,CAAC,EAAG,EAAG,GAAG,CAE/B,SAAS,sBAAsB,IAAK,CAClC,IAAIA,IACA,IAAM,IAAI,OACVe,IACA,KAEJ,IAAK,IAAI,IAAM,EAAGf,KAAK,EAAG,MACxB,GAAI,IAAIA,KAAG,KAAO,KAChB,GAAI,IAAIA,KAAG,GAAG,EAAE,EACd,IAAIA,KAAG,GAAG,EAAE,EAAI,IAAIA,KAAG,YAIvB,IAFA,KAAO,IAAIA,KAAG,GAAG,EAAE,OAEd,IAAI,EAAGe,IAAI,KAAM,KAAK,EACrB,IAAIf,KAAG,GAAG,EAAEe,KAAG,IACjB,IAAIf,KAAG,GAAG,EAAEe,KAAG,EAAE,GAAG,EAAI,IAAIf,KAAG,QAG7B,IAAIA,KAAG,GAAG,EAAEe,KAAG,IACjB,IAAIf,KAAG,GAAG,EAAEe,KAAG,EAAE,GAAG,EAAI,IAAIf,KAAG,aAI5B,IAAIA,KAAG,KAAO,MACvB,sBAAsB,IAAIA,KAAG,GAAG,CAKtC,SAAS,cAAc,OAAQ,CAC7B,IAAI,UACAA,IACA,IAAM,OAAO,OACbe,IACA,KACAC,IACA,KAEJ,IAAK,IAAI,EAAGhB,IAAI,IAAK,KAAK,EAAG,CAG3B,GAFA,UAAY,OAAOA,KAEf,UAAU,QAAS,CACrB,IAAI,UAAY,UAAU,gBAG1B,IAFA,KAAO,UAAU,OAEZ,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,GAAI,UAAUA,KAAG,GAAG,EAAE,EACpB,UAAUA,KAAG,GAAG,EAAE,EAAI,UAAUA,KAAG,QAInC,IAFA,KAAO,UAAUA,KAAG,GAAG,EAAE,OAEpB,IAAI,EAAGC,IAAI,KAAM,KAAK,EACrB,UAAUD,KAAG,GAAG,EAAEC,KAAG,IACvB,UAAUD,KAAG,GAAG,EAAEC,KAAG,EAAE,GAAG,EAAI,UAAUD,KAAG,IAGzC,UAAUA,KAAG,GAAG,EAAEC,KAAG,IACvB,UAAUD,KAAG,GAAG,EAAEC,KAAG,EAAE,GAAG,EAAI,UAAUD,KAAG,IAOjD,UAAU,KAAO,GACnB,sBAAsB,UAAU,OAAO,EAK7C,OAAO,SAAU,gBAAe,CAC9B,GAAI,aAAa,eAAgBkB,gBAAc,EAAE,GAC/C,cAAcA,gBAAc,OAAO,CAE/BA,gBAAc,QAAQ,CACxB,IAAIjC,IACA,IAAMiC,gBAAc,OAAO,OAE/B,IAAK,IAAI,EAAGjC,IAAI,IAAK,KAAK,EACpBiC,gBAAc,OAAOjC,KAAG,QAC1B,cAAciC,gBAAc,OAAOjC,KAAG,OAAO,KAMtD,CAEH,SAAS,aAAa,gBAAe,YAAa,CAC5CiC,AASJ,gBAAc,cALd,YAAYA,gBAAc,CAC1B,UAAUA,gBAAc,CACxB,WAAWA,gBAAc,CACzB,YAAYA,gBAAc,CAC1B,eAAeA,gBAAc,OAAQA,gBAAc,OAAQ,YAAY,CAC5C,IAG7B,SAAS,aAAa,KAAM,CACtB,KAAK,EAAE,EAAE,SAAW,GAAK,EAAE,MAAO,KAAK,EAAE,KAC3C,KAAK,YAAc,IAIvB,IAAI,SAAW,EAAE,CAMjB,MALA,UAAS,aAAe,aACxB,SAAS,YAAc,YACvB,SAAS,WAAa,WACtB,SAAS,YAAc,YACvB,SAAS,eAAiB,eACnB,SAGT,IAAI,YAAc,qBAAqB,CAGvC,SAAS,kBAAkB,SAAU,CAOnC,IAAK,IAND,OAAS,SAAS,OAAS,SAAS,OAAO,MAAM,IAAI,CAAG,EAAE,CAC1D,QAAU,SACV,OAAS,SACT,IAAM,OAAO,OACb,UAEKjC,IAAI,EAAGA,IAAI,IAAK,KAAK,EAG5B,OAFA,UAAY,OAAOA,KAAG,aAAa,CAE3B,UAAR,CACE,IAAK,SACH,OAAS,SACT,MAEF,IAAK,OACH,QAAU,MACV,MAEF,IAAK,QACH,QAAU,MACV,MAEF,IAAK,SACH,QAAU,MACV,MAEF,IAAK,UACL,IAAK,SACH,QAAU,MACV,MAEF,IAAK,QACL,IAAK,OACH,QAAU,MACV,MAEF,QACE,MAIN,MAAO,CACL,MAAO,OACP,OAAQ,SAAS,SAAW,QAC7B,CAOH,IAAI,YAAc,UAAY,CAC5B,IAAI,eAAiB,IACjB,UAAY,CACd,EAAG,EACH,KAAM,EACN,OAAQ,EAAE,CACX,CACG,mBAAqB,EAAE,CAE3B,mBAAqB,mBAAmB,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,KAAK,CAAC,CAEtP,SAAS,gBAAgB,KAAM,CAC7B,IAAI,YAAc,KAAK,MAAM,IAAI,CAC7BA,IACA,IAAM,YAAY,OAClB,gBAAkB,EAAE,CAExB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,YAAYA,OAAO,cAAgB,YAAYA,OAAO,aACxD,gBAAgB,KAAK,YAAYA,KAAG,CAIxC,OAAO,gBAAgB,KAAK,IAAI,CAGlC,SAAS,UAAU,KAAM,OAAQ,CAC/B,IAAI,WAAa,UAAU,OAAO,CAElC,WAAW,aAAa,cAAe,GAAK,CAC5C,WAAW,MAAM,WAAa,OAC9B,IAAI,KAAO,UAAU,OAAO,CAE5B,KAAK,UAAY,iBAEjB,WAAW,MAAM,SAAW,WAC5B,WAAW,MAAM,KAAO,WACxB,WAAW,MAAM,IAAM,WAEvB,WAAW,MAAM,SAAW,QAE5B,WAAW,MAAM,YAAc,SAC/B,WAAW,MAAM,UAAY,SAC7B,WAAW,MAAM,WAAa,SAC9B,WAAW,MAAM,cAAgB,IACjC,WAAW,YAAY,KAAK,CAC5B,SAAS,KAAK,YAAY,WAAW,CAErC,IAAI,MAAQ,KAAK,YAEjB,MADA,MAAK,MAAM,WAAa,gBAAgB,KAAK,CAAG,KAAO,OAChD,CACC,KACN,EAAG,MACH,OAAQ,WACT,CAGH,SAAS,kBAAmB,CAC1B,IAAIA,IACA,KAAO,MAAQ,SAAS,MAAM,OAC9B,KACAkC,IACA,YAAc,IAElB,IAAK,IAAI,EAAGlC,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,MAAMA,KAAG,OAC7B,eACU,MAAQ,SAAS,MAAMA,KAAG,UAAY,MAAQ,MAAQ,SAAS,MAAMA,KAAG,SAAW,EAC7F,CAAC,MAAQ,SAAS,MAAMA,KAAG,OAAS,IAEpC,MAAQ,MAAQ,SAAS,MAAMA,KAAG,SAAS,KAC3C,KAAK,MAAQ,SAAS,MAAMA,KAAG,SAAS,EAEpC,KAAK,cAAgBkC,KAIvB,MAAQ,MAAQ,SAAS,MAAMlC,KAAG,SAAS,KAC3C,KAAK,MAAQ,SAAS,MAAMA,KAAG,SAAS,EAEpC,KAAK,cAAgBkC,MACvB,cACA,CAAC,MAAQ,SAAS,MAAMlC,KAAG,OAAS,MARtC,cACA,CAAC,MAAQ,SAAS,MAAMA,KAAG,OAAS,KAWjC,MAAQ,SAAS,MAAMA,KAAG,UAC5B,MAAQ,SAAS,MAAMA,KAAG,SAAS,OAAO,WAAW,aAAa,MAAQ,SAAS,MAAMA,KAAG,SAAS,OAAO,EAE5G,MAAQ,SAAS,MAAMA,KAAG,SAAS,OAAO,WAAW,aAAa,MAAQ,SAAS,MAAMA,KAAG,SAAS,OAAO,GAK/G,cAAgB,GAAK,KAAK,KAAK,EAAI,MAAQ,SAAS,SAAW,eACjE,YAAY,MAAQ,SAAS,uBAAwB,GAAG,CAExD,YAAY,MAAQ,SAAS,kBAAmB,GAAG,CAIvD,SAAS,aAAa,IAAK,SAAU,CACnC,IAAI,QAAU,SAAS,OAAO,CAC9B,QAAQ,MAAM,SAAW,QAEzB,IAAI,UAAY,kBAAkB,SAAS,CAC3C,QAAQ,aAAa,cAAe,SAAS,QAAQ,CACrD,QAAQ,aAAa,aAAc,UAAU,MAAM,CACnD,QAAQ,aAAa,cAAe,UAAU,OAAO,CACrD,QAAQ,YAAc,IAElB,SAAS,QACX,QAAQ,MAAM,WAAa,UAC3B,QAAQ,aAAa,QAAS,SAAS,OAAO,EAE9C,QAAQ,MAAM,WAAa,SAAS,QAGtC,IAAI,YAAY,QAAQ,CACxB,IAAI,cAAgB,UAAU,SAAS,CAAC,WAAW,KAAK,CAGxD,MAFA,eAAc,KAAO,SAAS,QAAU,IAAM,SAAS,OAAS,UAAY,SAAS,QAE9E,QAGT,SAASmC,WAAS,SAAU,KAAM,CAChC,GAAI,CAAC,SAAU,CACb,CAAC,MAAQ,SAAS,SAAW,GAC7B,OAGF,IAAK,MAAQ,SAAS,MAAO,CAC3B,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,MAAQ,SAAS,KACnC,OAGF,IAAI,QAAU,SAAS,KACnBnC,IACA,IAAM,QAAQ,OACd,cAAgB,IAEpB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAAG,CAC3B,IAAI,eAAiB,GACjB,eACAe,IAKJ,GAJA,QAAQf,KAAG,OAAS,GACpB,QAAQA,KAAG,SAAW,UAAU,QAAQA,KAAG,QAAS,YAAY,CAChE,QAAQA,KAAG,SAAW,UAAU,QAAQA,KAAG,QAAS,aAAa,CAE7D,CAAC,QAAQA,KAAG,MACd,QAAQA,KAAG,OAAS,GACpB,wBACS,QAAQA,KAAG,UAAY,KAAO,QAAQA,KAAG,SAAW,EAO7D,IANA,eAAiB,SAAS,iBAAiB,kCAAuC,QAAQA,KAAG,QAAU,qCAA2C,QAAQA,KAAG,QAAU,KAAM,CAEzK,eAAe,OAAS,IAC1B,eAAiB,IAGf,eAAgB,CAClB,IAAIU,IAAI,UAAU,QAAQ,CAC1B,IAAE,aAAa,YAAa,QAAQV,KAAG,QAAQ,CAC/C,IAAE,aAAa,WAAY,QAAQA,KAAG,OAAO,CAC7C,IAAE,aAAa,WAAY,QAAQA,KAAG,QAAQ,CAC9C,IAAE,KAAO,WACT,IAAE,UAAY,4BAA8B,QAAQA,KAAG,QAAU,mCAAqC,QAAQA,KAAG,MAAQ,OACzH,KAAK,YAAYU,IAAE,UAEZ,QAAQV,KAAG,UAAY,KAAO,QAAQA,KAAG,SAAW,EAAG,CAGhE,IAFA,eAAiB,SAAS,iBAAiB,0CAA8C,CAEpF,IAAI,EAAGe,IAAI,eAAe,OAAQ,KAAK,EACtC,eAAeA,KAAG,KAAK,QAAQ,QAAQf,KAAG,MAAM,GAAK,KAEvD,eAAiB,IAIrB,GAAI,eAAgB,CAClB,IAAIiB,IAAI,UAAU,OAAO,CACzB,IAAE,aAAa,YAAa,QAAQjB,KAAG,QAAQ,CAC/C,IAAE,aAAa,WAAY,QAAQA,KAAG,OAAO,CAC7C,IAAE,KAAO,WACT,IAAE,IAAM,aACR,IAAE,KAAO,QAAQA,KAAG,MACpB,SAAS,KAAK,YAAYiB,IAAE,UAErB,QAAQjB,KAAG,UAAY,KAAO,QAAQA,KAAG,SAAW,EAAG,CAGhE,IAFA,eAAiB,SAAS,iBAAiB,8CAAkD,CAExF,IAAI,EAAGe,IAAI,eAAe,OAAQ,KAAK,EACtC,QAAQf,KAAG,QAAU,eAAee,KAAG,MAEzC,eAAiB,IAIrB,GAAI,eAAgB,CAClB,IAAI,GAAK,UAAU,OAAO,CAC1B,GAAG,aAAa,YAAa,QAAQf,KAAG,QAAQ,CAChD,GAAG,aAAa,WAAY,QAAQA,KAAG,OAAO,CAC9C,GAAG,aAAa,MAAO,aAAa,CACpC,GAAG,aAAa,OAAQ,QAAQA,KAAG,MAAM,CACzC,KAAK,YAAY,GAAG,EAIxB,QAAQA,KAAG,OAAS,aAAa,KAAM,QAAQA,KAAG,CAClD,QAAQA,KAAG,MAAQ,EAAE,EAEpB,MAAQ,SAAS,MAAM,KAAK,QAAQA,KAAG,CAGtC,gBAAkB,EACpB,CAAC,MAAQ,SAAS,SAAW,GAI7B,YAAY,MAAQ,SAAS,iBAAiB,KAAK,MAAQ,QAAQ,CAAE,IAAI,CAI7E,SAAS,SAAS,MAAO,CAClB,SAIL,EAAM,MAAQ,SAAS,QACrB,CAAC,MAAQ,SAAS,MAAQ,EAAE,EAG9B,IAAIA,IACA,IAAM,MAAM,OACZe,IACA,MAAQ,MAAQ,SAAS,MAAM,OAC/B,MAEJ,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EAAG,CAI3B,IAHA,IAAI,EACJ,MAAQ,GAEDe,IAAI,OACJ,MAAQ,SAAS,MAAMA,KAAG,QAAU,MAAMf,KAAG,QAAU,MAAQ,SAAS,MAAMe,KAAG,UAAY,MAAMf,KAAG,UAAY,MAAQ,SAAS,MAAMe,KAAG,KAAO,MAAMf,KAAG,KAC/J,MAAQ,IAGV,KAAK,EAGF,SACF,MAAQ,SAAS,MAAM,KAAK,MAAMA,KAAG,CAEtC,MAAQ,KAKd,SAAS,YAAY,KAAM,MAAO,KAAM,CAItC,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,MAAM,OAE3BA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,MAAMA,KAAG,KAAO,OAAS,MAAQ,SAAS,MAAMA,KAAG,QAAU,QAAU,MAAQ,SAAS,MAAMA,KAAG,UAAY,KACjI,OAAQ,MAAQ,SAAS,MAAMA,KAGjC,KAAK,EASP,OANK,OAAO,MAAS,UAAY,KAAK,WAAW,EAAE,GAAK,IAAM,CAAC,OAAS,SAAW,QAAQ,MACxF,EAAE,MAAQ,SAAS,UACpB,CAAC,MAAQ,SAAS,QAAU,GAC5B,QAAQ,KAAK,oDAAqD,KAAM,MAAO,KAAK,EAG/E,UAGT,SAAS,YAAY,KAAM,SAAU,KAAM,CACzC,IAAI,SAAW,KAAK,cAAc,SAAS,CACvC,MAAQ,KAAK,WAAW,EAAE,CAE9B,GAAI,CAAC,SAAS,MAAM,MAAQ,GAAI,CAC9B,IAAI,QAAU,SAAS,OAKvB,GAAI,OAAS,IAAK,CAChB,QAAQ,YAAc,IAAM,KAAO,IACnC,IAAI,WAAa,QAAQ,uBAAuB,CAChD,QAAQ,YAAc,KACtB,IAAI,WAAa,QAAQ,uBAAuB,CAChD,SAAS,MAAM,MAAQ,IAAM,WAAa,YAAc,SAExD,QAAQ,YAAc,KACtB,SAAS,MAAM,MAAQ,GAAK,QAAQ,uBAAuB,CAAG,IAIlE,OAAO,SAAS,MAAM,MAAQ,GAAK,KAGrC,SAAS,cAAc,KAAM,CAI3B,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,MAAM,OAE3BA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,MAAMA,KAAG,QAAU,KACvC,OAAQ,MAAQ,SAAS,MAAMA,KAGjC,KAAK,EAGP,OAAQ,MAAQ,SAAS,MAAM,GAGjC,SAAS,2BAA4B,CACnC,OAAO,mBAGT,SAAS,aAAc,CACrB,CAAC,MAAQ,SAAS,SAAW,GAG/B,IAAI,KAAO,UAAY,CACrB,CAAC,MAAQ,SAAS,MAAQ,EAAE,CAC5B,CAAC,MAAQ,SAAS,MAAQ,KAC1B,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,SAAW,KAAK,KAAK,CACvC,CAAC,MAAQ,SAAS,mBAAqB,MAAQ,SAAS,YAAY,KAAK,MAAQ,QAAQ,CACzF,CAAC,MAAQ,SAAS,wBAA0B,MAAQ,SAAS,iBAAiB,KAAK,MAAQ,QAAQ,EAerG,MAXA,MAAK,0BAA4B,0BAUjC,KAAK,UATe,CACR,SACV,SAAUmC,WACG,YACE,cACF,YACK,iBACL,YACd,CAEM,OACN,CAMC,gBAAkB,UAAY,CAChC,IAAI,UAAY,oBACZ,QAAU,KAAK,IAEnB,SAAS,iBAAiB,SAAU,QAAS,CAC3C,IAAI,YAAc,MAAQ,SAAS,WAC/B,UAEC,MAAQ,SAAS,WAAa,qBACjC,SAAW,iBAAiB,WAAY,MAAQ,SAAS,GAAG,OAAO,EAUrE,IAPA,IAAI,eAAiB,QAAQ,UACzBnC,IAAI,eACJ,KAAO,MAAQ,SAAS,UAAU,OAAS,EAC3C,KAAO,GACP,QACA,YAEG,MAAM,CAIX,GAHA,SAAW,MAAQ,SAAS,UAAUA,KACtC,aAAe,MAAQ,SAAS,UAAUA,IAAI,GAE1CA,MAAM,IAAM,GAAK,UAAY,YAAY,EAAI,WAAY,CACvD,QAAQ,IACV,QAAU,aAGZ,eAAiB,EACjB,MAGF,GAAI,YAAY,EAAI,WAAa,SAAU,CACzC,eAAiBA,IACjB,MAGEA,IAAI,IAAM,EACZ,KAAK,GAEL,eAAiB,EACjB,KAAO,IAIX,IAAIgB,IACA,KACA,KACA,KACAD,IACA,IACA,YAAc,YAAY,EAAI,WAC9B,QAAU,QAAQ,EAAI,WACtB,SAEJ,GAAI,QAAQ,GAAI,CACd,AACE,QAAQ,aAAa,IAAI,gBAAgB,QAAQ,EAAG,YAAY,GAAK,QAAQ,EAAG,QAAQ,GAAI,QAAQ,GAAG,CAGzG,IAAI,WAAa,QAAQ,WAEzB,GAAI,UAAY,aAAe,SAAW,QAAS,CACjD,IAAI,IAAM,UAAY,YAAc,WAAW,OAAO,OAAS,EAAI,EAGnE,IAFA,KAAO,WAAW,OAAO,KAAK,MAAM,OAE/B,IAAI,EAAGC,IAAI,KAAM,KAAK,EACzB,SAASA,KAAK,WAAW,OAAO,KAAK,MAAMA,SAGxC,CACD,QAAQ,OACV,IAAM,QAAQ,QAEd,IAAM,cAAc,gBAAgB,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAG,QAAQ,EAAE,CAAC,IACnG,QAAQ,OAAS,KAGnB,KAAO,KAAK,SAAW,UAAY,YAAc,SAAS,CAC1D,IAAI,eAAiB,WAAW,cAAgB,KAC5C,YACA,YAAc,QAAQ,UAAY,UAAY,QAAQ,qBAAuBhB,IAAI,QAAQ,iBAAmB,EAKhH,IAJA,IAAI,QAAQ,UAAY,UAAY,QAAQ,qBAAuBA,IAAI,QAAQ,WAAa,EAC5F,KAAO,GACP,KAAO,WAAW,OAAO,OAElB,MAAM,CAGX,GAFA,aAAe,WAAW,OAAOe,KAAG,cAEhC,iBAAmB,GAAK,OAAS,GAAKA,MAAM,WAAW,OAAO,OAAS,EAAG,CAG5E,IAFA,KAAO,WAAW,OAAOA,KAAG,MAAM,OAE7B,IAAI,EAAGC,IAAI,KAAM,KAAK,EACzB,SAASA,KAAK,WAAW,OAAOD,KAAG,MAAMC,KAG3C,cACS,gBAAkB,aAAe,eAAiB,YAAc,WAAW,OAAOD,IAAI,GAAG,cAAe,CAIjH,IAHA,aAAe,eAAiB,aAAe,WAAW,OAAOA,IAAI,GAAG,cACxE,KAAO,WAAW,OAAOA,KAAG,MAAM,OAE7B,IAAI,EAAGC,IAAI,KAAM,KAAK,EACzB,SAASA,KAAK,WAAW,OAAOD,KAAG,MAAMC,MAAM,WAAW,OAAOD,IAAI,GAAG,MAAMC,KAAK,WAAW,OAAOD,KAAG,MAAMC,MAAM,YAGtH,MAGED,IAAI,KAAO,EACb,KAAK,EAEL,KAAO,GAIX,QAAQ,WAAaA,IACrB,QAAQ,iBAAmB,YAAc,WAAW,OAAOA,KAAG,cAC9D,QAAQ,mBAAqBf,SAE1B,CACL,IAAI,KACA,KACA,IACA,IACA,SAIJ,GAHA,IAAM,QAAQ,EAAE,OAChB,SAAW,YAAY,GAAK,QAAQ,GAE/B,MAAQ,SAAS,IAAM,QAAQ,IAAM,EACxC,GAAI,UAAY,YACd,SAAS,GAAK,SAAS,GACvB,SAAS,GAAK,SAAS,GACvB,SAAS,GAAK,SAAS,WACd,UAAY,QACrB,SAAS,GAAK,QAAQ,EAAE,GACxB,SAAS,GAAK,QAAQ,EAAE,GACxB,SAAS,GAAK,QAAQ,EAAE,OACnB,CACL,IAAI,UAAY,iBAAiB,QAAQ,EAAE,CACvC,QAAU,iBAAiB,SAAS,CACpC,MAAQ,SAAW,UAAY,YAAc,SACjD,kBAAkB,SAAU,MAAM,UAAW,QAAS,KAAK,CAAC,MAG9D,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,QAAQ,IAAM,IACZ,UAAY,YACd,KAAO,EACE,SAAW,QACpB,KAAO,GAEH,QAAQ,EAAE,EAAE,cAAgB,OAC9B,AACE,QAAQ,SAAS,EAAE,CAGhB,QAAQ,OAAOA,KAQlB,IAAM,QAAQ,OAAOA,MAPrB,KAAc,QAAQ,EAAE,EAAEA,OAAO,OAAc,QAAQ,EAAE,EAAE,GAAK,QAAQ,EAAE,EAAEA,KAC5E,KAAc,QAAQ,EAAE,EAAEA,OAAO,OAAc,QAAQ,EAAE,EAAE,GAAK,QAAQ,EAAE,EAAEA,KAC5E,IAAa,QAAQ,EAAE,EAAEA,OAAO,OAAc,QAAQ,EAAE,EAAE,GAAK,QAAQ,EAAE,EAAEA,KAC3E,IAAa,QAAQ,EAAE,EAAEA,OAAO,OAAc,QAAQ,EAAE,EAAE,GAAK,QAAQ,EAAE,EAAEA,KAC3E,IAAM,cAAc,gBAAgB,KAAM,KAAM,IAAK,IAAI,CAAC,IAC1D,QAAQ,OAAOA,KAAK,MAIZ,QAAQ,OAQlB,IAAM,QAAQ,QAPd,KAAO,QAAQ,EAAE,EACjB,KAAO,QAAQ,EAAE,EACjB,IAAM,QAAQ,EAAE,EAChB,IAAM,QAAQ,EAAE,EAChB,IAAM,cAAc,gBAAgB,KAAM,KAAM,IAAK,IAAI,CAAC,IAC1D,QAAQ,OAAS,KAKnB,KAAO,KAAK,SAAW,UAAY,YAAc,SAAS,GAI9D,SAAW,YAAY,GAAK,QAAQ,EACpC,SAAW,QAAQ,IAAM,EAAI,QAAQ,EAAEA,KAAK,QAAQ,EAAEA,MAAM,SAASA,KAAK,QAAQ,EAAEA,MAAM,MAErF,MAAQ,SAAS,WAAa,mBACjC,SAASA,KAAK,SAEd,SAAW,SAOnB,MADA,SAAQ,UAAY,eACb,SAIT,SAAS,MAAM,IAAG,IAAG,IAAG,CACtB,IAAI,IAAM,EAAE,CACR,GAAKY,IAAE,GACP,GAAKA,IAAE,GACP,GAAKA,IAAE,GACP,GAAKA,IAAE,GACP,GAAKT,IAAE,GACP,GAAKA,IAAE,GACP,GAAKA,IAAE,GACP,GAAKA,IAAE,GACP,MACA,MAII,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAAK,GAHvC,MACA,OACA,OAyBJ,OAtBI,MAAQ,IACV,MAAQ,CAAC,MACT,GAAK,CAAC,GACN,GAAK,CAAC,GACN,GAAK,CAAC,GACN,GAAK,CAAC,IAGJ,EAAI,MAAQ,MACd,MAAQ,KAAK,KAAK,MAAM,CACxB,MAAQ,KAAK,IAAI,MAAM,CACvB,OAAS,KAAK,KAAK,EAAII,KAAK,MAAM,CAAG,MACrC,OAAS,KAAK,IAAIA,IAAI,MAAM,CAAG,QAE/B,OAAS,EAAIA,IACb,OAASA,KAGX,IAAI,GAAK,OAAS,GAAK,OAAS,GAChC,IAAI,GAAK,OAAS,GAAK,OAAS,GAChC,IAAI,GAAK,OAAS,GAAK,OAAS,GAChC,IAAI,GAAK,OAAS,GAAK,OAAS,GACzB,IAGT,SAAS,kBAAkB,IAAK,KAAM,CACpC,IAAI,GAAK,KAAK,GACV,GAAK,KAAK,GACV,GAAK,KAAK,GACV,GAAK,KAAK,GACV,QAAU,KAAK,MAAM,EAAI,GAAK,GAAK,EAAI,GAAK,GAAI,EAAI,EAAI,GAAK,GAAK,EAAI,GAAK,GAAG,CAC9E,SAAW,KAAK,KAAK,EAAI,GAAK,GAAK,EAAI,GAAK,GAAG,CAC/C,KAAO,KAAK,MAAM,EAAI,GAAK,GAAK,EAAI,GAAK,GAAI,EAAI,EAAI,GAAK,GAAK,EAAI,GAAK,GAAG,CAC/E,IAAI,GAAK,QAAU,UACnB,IAAI,GAAK,SAAW,UACpB,IAAI,GAAK,KAAO,UAGlB,SAAS,iBAAiB,OAAQ,CAChC,IAAI,QAAU,OAAO,GAAK,UACtB,SAAW,OAAO,GAAK,UACvB,KAAO,OAAO,GAAK,UACnB,GAAK,KAAK,IAAI,QAAU,EAAE,CAC1B,GAAK,KAAK,IAAI,SAAW,EAAE,CAC3B,GAAK,KAAK,IAAI,KAAO,EAAE,CACvB,GAAK,KAAK,IAAI,QAAU,EAAE,CAC1B,GAAK,KAAK,IAAI,SAAW,EAAE,CAC3B,GAAK,KAAK,IAAI,KAAO,EAAE,CACvB2B,IAAI,GAAK,GAAK,GAAK,GAAK,GAAK,GAIjC,MAAO,CAHC,GAAK,GAAK,GAAK,GAAK,GAAK,GACzB,GAAK,GAAK,GAAK,GAAK,GAAK,GACzB,GAAK,GAAK,GAAK,GAAK,GAAK,GAChBA,IAAE,CAGrB,SAAS,uBAAwB,CAC/B,IAAI,UAAY,MAAQ,SAAS,KAAK,eAAiB,MAAQ,SAAS,WACpE,UAAY,MAAQ,SAAS,UAAU,GAAG,GAAK,MAAQ,SAAS,WAChE,SAAW,MAAQ,SAAS,WAAW,MAAQ,SAAS,UAAU,OAAS,GAAG,GAAK,MAAQ,SAAS,WAExG,GAAI,EAAE,YAAc,MAAQ,SAAS,SAAS,YAAc,MAAQ,SAAS,SAAS,YAAc,aAAe,MAAQ,SAAS,SAAS,WAAa,SAAW,UAAY,UAAY,MAAQ,SAAS,SAAS,UAAY,UAAY,SAAW,WAAY,EAC/P,MAAQ,SAAS,SAAS,WAAa,WAC1C,CAAC,MAAQ,SAAS,SAAS,mBAAqB,GAChD,CAAC,MAAQ,SAAS,SAAS,UAAY,GAGzC,IAAI,aAAe,KAAK,iBAAiB,UAAW,MAAQ,SAAS,SAAS,CAC9E,CAAC,MAAQ,SAAS,GAAK,aAIzB,MADA,CAAC,MAAQ,SAAS,SAAS,UAAY,UAC/B,MAAQ,SAAS,GAG3B,SAAS,UAAU,IAAK,CACtB,IAAI,gBAEJ,IAAK,MAAQ,SAAS,WAAa,iBACjC,gBAAkB,KAAO,MAAQ,SAAS,KAEtC,SAAS,MAAQ,SAAS,EAAI,gBAAgB,CAAG,OACnD,CAAC,MAAQ,SAAS,EAAI,gBACtB,CAAC,MAAQ,SAAS,KAAO,SAM3B,IAHA,IAAIlC,IAAI,EACJ,KAAO,MAAQ,SAAS,EAAE,OAEvBA,IAAI,KACT,gBAAkB,IAAIA,MAAM,MAAQ,SAAS,KAEzC,SAAS,MAAQ,SAAS,EAAEA,KAAK,gBAAgB,CAAG,OACtD,CAAC,MAAQ,SAAS,EAAEA,KAAK,gBACzB,CAAC,MAAQ,SAAS,KAAO,IAG3B,KAAK,EAKX,SAAS,wBAAyB,CAChC,MAAK,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,SAAW,EAAE,MAAQ,SAAS,gBAAgB,QAIlH,KAAK,MAAQ,SAAS,KAAM,CAC1B,KAAK,WAAW,MAAQ,SAAS,GAAG,CACpC,OAGF,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,MAAQ,MAAQ,SAAS,cAC3C,IAAIA,IACA,KAAO,MAAQ,SAAS,gBAAgB,OACxC,YAAc,MAAQ,SAAS,IAAM,MAAQ,SAAS,IAAM,MAAQ,SAAS,KAAK,EAEtF,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,YAAc,MAAQ,SAAS,gBAAgBA,KAAG,WAAW,CAG/D,KAAK,UAAU,WAAW,CAC1B,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,SAGhE,SAAS,UAAU,eAAgB,EAChC,MAAQ,SAAS,gBAAgB,KAAK,eAAe,EAErD,MAAQ,SAAS,UAAU,mBAAmB,MAAQ,QAAQ,CAGjE,SAAS,cAAc,KAAM,KAAM,KAAM,UAAW,CAClD,CAAC,MAAQ,SAAS,SAAW,iBAC7B,CAAC,MAAQ,SAAS,KAAO,MAAQ,EACjC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,EAAI,KAAO,KAAK,EAAI,KAAO,KAAK,EAClD,CAAC,MAAQ,SAAS,GAAK,KAAK,EAC5B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,IAAM,EACxB,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,SAAW,uBAC7B,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,UAAY,UAGhC,SAAS,yBAAyB,KAAM,KAAM,KAAM,UAAW,CAC7D,CAAC,MAAQ,SAAS,SAAW,mBAC7B,CAAC,MAAQ,SAAS,KAAO,MAAQ,EACjC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,QAAU,GAC5B,IAAIA,IACA,IAAM,KAAK,EAAE,OAKjB,IAJA,CAAC,MAAQ,SAAS,EAAI,iBAAiB,UAAW,IAAI,CACtD,CAAC,MAAQ,SAAS,GAAK,iBAAiB,UAAW,IAAI,CACvD,CAAC,MAAQ,SAAS,IAAM,iBAAiB,UAAW,IAAI,CAEnD,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,CAAC,MAAQ,SAAS,EAAEA,KAAK,KAAK,EAAEA,MAAM,MAAQ,SAAS,KACvD,CAAC,MAAQ,SAAS,GAAGA,KAAK,KAAK,EAAEA,KAGnC,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,SAAW,uBAC7B,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,UAAY,UAGhC,SAAS,uBAAuB,KAAM,KAAM,KAAM,UAAW,CAC3D,CAAC,MAAQ,SAAS,SAAW,iBAC7B,CAAC,MAAQ,SAAS,UAAY,KAAK,EACnC,CAAC,MAAQ,SAAS,WAAa,KAAK,KAAK,GACzC,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,SAAW,CAC3B,UAAW,UACX,UAAW,EACX,MAAO,EACP,mBAAoB,GACrB,CACD,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,MAAQ,EACjC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,EAAI,UACtB,CAAC,MAAQ,SAAS,GAAK,UACvB,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,SAAW,uBAC7B,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,iBAAmB,iBACrC,CAAC,MAAQ,SAAS,gBAAkB,CAAC,sBAAsB,KAAK,MAAQ,QAAQ,CAAC,CACjF,CAAC,MAAQ,SAAS,UAAY,UAGhC,SAAS,kCAAkC,KAAM,KAAM,KAAM,UAAW,CACtE,CAAC,MAAQ,SAAS,SAAW,mBAC7B,IAAIA,IACA,IAAM,KAAK,EAAE,OACbU,IACAI,IACA,GACA,GAEJ,IAAK,IAAI,EAAGd,IAAI,IAAM,EAAG,KAAK,EACxB,KAAK,EAAEA,KAAG,IAAM,KAAK,EAAEA,KAAG,GAAK,KAAK,EAAEA,IAAI,IAAM,KAAK,EAAEA,IAAI,GAAG,IAChE,IAAI,KAAK,EAAEA,KAAG,EACd,IAAI,KAAK,EAAEA,IAAI,GAAG,EAClB,GAAK,KAAK,EAAEA,KAAG,GACf,GAAK,KAAK,EAAEA,KAAG,IAEXU,IAAE,SAAW,GAAK,EAAEA,IAAE,KAAOI,IAAE,IAAMJ,IAAE,KAAOI,IAAE,KAAO,IAAI,cAAcJ,IAAE,GAAIA,IAAE,GAAII,IAAE,GAAIA,IAAE,GAAIJ,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAG,EAAI,IAAI,cAAcA,IAAE,GAAIA,IAAE,GAAII,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAG,EAAIJ,IAAE,SAAW,GAAK,EAAEA,IAAE,KAAOI,IAAE,IAAMJ,IAAE,KAAOI,IAAE,IAAMJ,IAAE,KAAOI,IAAE,KAAO,IAAI,cAAcJ,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAII,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAIJ,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAG,EAAI,IAAI,cAAcA,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAII,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAIA,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAIA,IAAE,GAAK,GAAG,GAAG,IACrd,KAAK,EAAEd,KAAG,GAAK,KACf,KAAK,EAAEA,KAAG,GAAK,MAGbU,IAAE,KAAOI,IAAE,IAAMJ,IAAE,KAAOI,IAAE,IAAM,GAAG,KAAO,GAAK,GAAG,KAAO,GAAK,GAAG,KAAO,GAAK,GAAG,KAAO,IACvFJ,IAAE,SAAW,GAAKA,IAAE,KAAOI,IAAE,IAAM,GAAG,KAAO,GAAK,GAAG,KAAO,KAC9D,KAAK,EAAEd,KAAG,GAAK,KACf,KAAK,EAAEA,KAAG,GAAK,OAMvB,CAAC,MAAQ,SAAS,gBAAkB,CAAC,sBAAsB,KAAK,MAAQ,QAAQ,CAAC,CACjF,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,KAAK,EACnC,CAAC,MAAQ,SAAS,WAAa,KAAK,KAAK,GACzC,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,KAAO,MAAQ,EACjC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,SAAW,uBAC7B,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,iBAAmB,iBACrC,CAAC,MAAQ,SAAS,QAAU,GAC5B,IAAI,OAAS,KAAK,EAAE,GAAG,EAAE,OAIzB,IAHA,CAAC,MAAQ,SAAS,EAAI,iBAAiB,UAAW,OAAO,CACzD,CAAC,MAAQ,SAAS,GAAK,iBAAiB,UAAW,OAAO,CAErD,IAAI,EAAGA,IAAI,OAAQ,KAAK,EAC3B,CAAC,MAAQ,SAAS,EAAEA,KAAK,UACzB,CAAC,MAAQ,SAAS,GAAGA,KAAK,UAG5B,CAAC,MAAQ,SAAS,SAAW,CAC3B,UAAW,UACX,UAAW,EACX,MAAO,iBAAiB,UAAW,OAAO,CAC3C,CACD,CAAC,MAAQ,SAAS,UAAY,UAGhC,SAAS,QAAQ,KAAM,KAAM,KAAM,KAAM,UAAW,CAClD,IAAIK,IAEJ,GAAI,CAAC,KAAK,EAAE,OACV,IAAI,IAAI,cAAc,KAAM,KAAM,KAAM,UAAU,SACzC,OAAO,KAAK,EAAE,IAAO,SAC9B,IAAI,IAAI,yBAAyB,KAAM,KAAM,KAAM,UAAU,MAE7D,OAAQ,KAAR,CACE,IAAK,GACH,IAAI,IAAI,uBAAuB,KAAM,KAAM,KAAM,UAAU,CAC3D,MAEF,IAAK,GACH,IAAI,IAAI,kCAAkC,KAAM,KAAM,KAAM,UAAU,CACtE,MAEF,QACE,MAQN,OAJIA,IAAE,gBAAgB,QACpB,UAAU,mBAAmBA,IAAE,CAG1BA,IAMT,MAHS,CACE,QACV,GAEA,CAMC,yBAA2B,UAAY,CACzC,IAAI,cAAgB,CAAC,EAAG,EAAE,CAE1B,SAAS,cAAc,IAAK,CAC1B,IAAI,MAAQ,MAAQ,SAAS,KAC7B,KAAK,0BAA0B,CAC/B,CAAC,MAAQ,SAAS,MAAQ,MAAQ,SAAS,MAAQ,MAE9C,MAAQ,SAAS,GACpB,IAAI,UAAU,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,EAG1F,MAAQ,SAAS,GACpB,IAAI,OAAO,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,EAGpF,MAAQ,SAAS,IACpB,IAAI,aAAa,EAAE,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAE,EAG9D,MAAQ,SAAS,EACpB,IAAI,OAAO,EAAE,MAAQ,SAAS,EAAE,EAAE,CAElC,IAAI,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,EAG3M,MAAQ,SAAS,KAAK,EAAE,GACtB,MAAQ,SAAS,KAAK,EAAE,EAC3B,IAAI,WAAW,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAG,EAAE,MAAQ,SAAS,GAAG,EAAE,CAEtF,IAAI,WAAW,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAG,EAAE,CAGlE,IAAI,WAAW,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAG,CAIhG,SAAS,YAAY,YAAa,CAChC,IAAK,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,QAWpE,KAPK,MAAQ,SAAS,WACpB,KAAK,oBAAoB,CACzB,CAAC,MAAQ,SAAS,SAAW,IAG/B,KAAK,0BAA0B,EAE1B,MAAQ,SAAS,MAAQ,YAAa,CACzC,IAAI,UAsBJ,IApBC,MAAQ,SAAS,EAAE,gBAAgB,MAAQ,SAAS,IAAI,MAAM,EAE1D,MAAQ,SAAS,uBAAyB,IAC5C,MAAQ,SAAS,EAAE,UAAU,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,EAG1G,MAAQ,SAAS,uBAAyB,IAC5C,MAAQ,SAAS,EAAE,OAAO,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,EAGpG,MAAQ,SAAS,KAAO,MAAQ,SAAS,uBAAyB,IACpE,MAAQ,SAAS,EAAE,aAAa,EAAE,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAE,EAG9E,MAAQ,SAAS,IAAM,MAAQ,SAAS,uBAAyB,GACnE,MAAQ,SAAS,EAAE,OAAO,EAAE,MAAQ,SAAS,EAAE,EAAE,CACzC,EAAE,MAAQ,SAAS,IAAM,MAAQ,SAAS,uBAAyB,IAC3E,MAAQ,SAAS,EAAE,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,EAG3N,MAAQ,SAAS,aAAc,CAClC,IAAI,GACA,GAGJ,GAFA,WAAa,MAAQ,SAAS,KAAK,WAAW,WAEzC,MAAQ,SAAS,IAAM,MAAQ,SAAS,EAAE,YAAc,MAAQ,SAAS,EAAE,gBACzE,MAAQ,SAAS,EAAE,SAAS,WAAa,MAAQ,SAAS,EAAE,aAAe,MAAQ,SAAS,EAAE,UAAU,GAAG,GAC9G,IAAM,MAAQ,SAAS,EAAE,iBAAiB,MAAQ,SAAS,EAAE,UAAU,GAAG,EAAI,KAAQ,UAAW,EAAE,CACnG,IAAM,MAAQ,SAAS,EAAE,gBAAgB,MAAQ,SAAS,EAAE,UAAU,GAAG,EAAI,UAAW,EAAE,GAChF,MAAQ,SAAS,EAAE,SAAS,WAAa,MAAQ,SAAS,EAAE,aAAe,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,EAAE,UAAU,OAAS,GAAG,GAC5J,IAAM,MAAQ,SAAS,EAAE,gBAAgB,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,EAAE,UAAU,OAAS,GAAG,EAAI,UAAW,EAAE,CACjI,IAAM,MAAQ,SAAS,EAAE,iBAAiB,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,EAAE,UAAU,OAAS,GAAG,EAAI,KAAQ,UAAW,EAAE,GAE1I,IAAM,MAAQ,SAAS,EAAE,GACzB,IAAM,MAAQ,SAAS,EAAE,iBAAiB,MAAQ,SAAS,EAAE,SAAS,WAAa,MAAQ,SAAS,EAAE,WAAa,KAAQ,WAAY,MAAQ,SAAS,EAAE,WAAW,WAE7J,MAAQ,SAAS,KAAO,MAAQ,SAAS,GAAG,YAAc,MAAQ,SAAS,GAAG,YAAc,MAAQ,SAAS,GAAG,iBAAmB,MAAQ,SAAS,GAAG,eAAgB,CACjL,GAAK,EAAE,CACP,GAAK,EAAE,CACP,IAAI,IAAM,MAAQ,SAAS,GACvB,IAAM,MAAQ,SAAS,GAEvB,GAAG,SAAS,UAAY,GAAG,YAAc,GAAG,UAAU,GAAG,GAC3D,GAAG,GAAK,GAAG,gBAAgB,GAAG,UAAU,GAAG,EAAI,KAAQ,UAAW,EAAE,CACpE,GAAG,GAAK,GAAG,gBAAgB,GAAG,UAAU,GAAG,EAAI,KAAQ,UAAW,EAAE,CACpE,GAAG,GAAK,GAAG,eAAe,GAAG,UAAU,GAAG,EAAI,UAAW,EAAE,CAC3D,GAAG,GAAK,GAAG,eAAe,GAAG,UAAU,GAAG,EAAI,UAAW,EAAE,EAClD,GAAG,SAAS,UAAY,GAAG,YAAc,GAAG,UAAU,GAAG,UAAU,OAAS,GAAG,GACxF,GAAG,GAAK,GAAG,eAAe,GAAG,UAAU,GAAG,UAAU,OAAS,GAAG,EAAI,UAAW,EAAE,CACjF,GAAG,GAAK,GAAG,eAAe,GAAG,UAAU,GAAG,UAAU,OAAS,GAAG,EAAI,UAAW,EAAE,CACjF,GAAG,GAAK,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,OAAS,GAAG,EAAI,KAAQ,UAAW,EAAE,CAC1F,GAAG,GAAK,GAAG,gBAAgB,GAAG,UAAU,GAAG,UAAU,OAAS,GAAG,EAAI,KAAQ,UAAW,EAAE,GAE1F,GAAK,CAAC,GAAG,GAAI,GAAG,GAAG,CACnB,GAAG,GAAK,GAAG,gBAAgB,GAAG,SAAS,UAAY,GAAG,WAAa,KAAQ,UAAW,GAAG,WAAW,CACpG,GAAG,GAAK,GAAG,gBAAgB,GAAG,SAAS,UAAY,GAAG,WAAa,KAAQ,UAAW,GAAG,WAAW,OAGtG,GAAK,cACL,GAAK,IAGN,MAAQ,SAAS,EAAE,OAAO,CAAC,KAAK,MAAM,GAAG,GAAK,GAAG,GAAI,GAAG,GAAK,GAAG,GAAG,CAAC,EAGlE,MAAQ,SAAS,KAAK,IAAM,MAAQ,SAAS,KAAK,EAAE,GAClD,MAAQ,SAAS,KAAK,EAAE,GAC1B,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAG,EAAE,MAAQ,SAAS,GAAG,EAAE,EAErG,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAG,EAAE,EAGjF,MAAQ,SAAS,EAAE,WAAW,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAG,CAIhH,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,SAGhE,SAAS,oBAAqB,CAC5B,GAAI,EAAE,MAAQ,SAAS,EAAE,GACtB,MAAQ,SAAS,IAAI,UAAU,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,CAE/G,CAAC,MAAQ,SAAS,uBAAyB,OAE3C,OAGF,GAAI,EAAE,MAAQ,SAAS,EAAE,gBAAgB,QACtC,MAAQ,SAAS,IAAI,OAAO,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,CAEzG,CAAC,MAAQ,SAAS,uBAAyB,OAE3C,OAGF,IAAK,MAAQ,SAAS,GACpB,GAAI,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QACvF,MAAQ,SAAS,IAAI,aAAa,EAAE,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAE,CAEnF,CAAC,MAAQ,SAAS,uBAAyB,OAE3C,QAIC,MAAQ,SAAS,GACd,MAAQ,SAAS,EAAE,gBAAgB,UACtC,MAAQ,SAAS,IAAI,OAAO,EAAE,MAAQ,SAAS,EAAE,EAAE,CAEpD,CAAC,MAAQ,SAAS,uBAAyB,GAEpC,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QAAU,EAAE,MAAQ,SAAS,GAAG,gBAAgB,UAC9L,MAAQ,SAAS,IAAI,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,CAEhO,CAAC,MAAQ,SAAS,uBAAyB,GAI/C,SAAS,YAAa,EAItB,SAAS,mBAAmB,KAAM,CAChC,KAAK,oBAAoB,KAAK,EAE7B,MAAQ,SAAS,KAAK,mBAAmB,KAAK,CAE/C,CAAC,MAAQ,SAAS,SAAW,GAG/B,SAAS,kBAAkB,KAAM,KAAM,UAAW,CAwBhD,GAvBA,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,SAAW,YAC7B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,EAAI,IAAI,OAE1B,CAAC,MAAQ,SAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,SAAS,uBAAyB,EAC3C,KAAK,6BAA6B,WAAa,KAAK,CAEhD,KAAK,GAAK,KAAK,EAAE,GACnB,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAEjF,KAAK,EAAE,IACT,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,GAGvF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,EAAE,CACb,CAAE,EAAG,EAAG,MAAQ,QAAQ,CAGvB,KAAK,GAAI,CAKX,GAJA,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC5F,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC5F,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAExF,KAAK,GAAG,EAAE,GAAG,GAAI,CACnB,IAAIL,IACA,IAAM,KAAK,GAAG,EAAE,OAEpB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,GAAG,EAAEA,KAAG,GAAK,KAClB,KAAK,GAAG,EAAEA,KAAG,GAAK,KAItB,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAE5F,CAAC,MAAQ,SAAS,GAAG,GAAK,QAE1B,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,EACJ,CAAE,EAAG,UAAW,MAAQ,QAAQ,CAG/B,KAAK,KACP,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC5F,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,UAAW,MAAQ,QAAQ,EAG9F,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,CAAC,EAAG,EAAG,EAAE,CACb,CAAE,EAAG,EAAG,MAAQ,QAAQ,CACzB,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,CAAC,IAAK,IAAK,IAAI,CACnB,CAAE,EAAG,IAAM,MAAQ,QAAQ,CAExB,KAAK,EACP,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,KAAK,CAE1E,CAAC,MAAQ,SAAS,EAAI,CACpB,KAAM,GACN,EAAG,EACJ,CAGH,CAAC,MAAQ,SAAS,SAAW,IAEvB,MAAQ,SAAS,kBAAkB,QACvC,KAAK,SAAS,GAAK,CAIvB,kBAAkB,UAAY,CACb,cACf,SAAU,YACU,mBACR,WACb,CACD,gBAAgB,CAAC,yBAAyB,CAAE,kBAAkB,CAC9D,kBAAkB,UAAU,mBAAqB,mBACjD,kBAAkB,UAAU,oBAAsB,yBAAyB,UAAU,mBAErF,SAAS,qBAAqB,KAAM,KAAM,UAAW,CACnD,OAAO,IAAI,kBAAkB,KAAM,KAAM,UAAU,CAGrD,MAAO,CACiB,qBACvB,GACA,CAIH,SAAS,WAAY,CACnB,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,QAAU,EAC5B,CAAC,MAAQ,SAAS,WAAa,EAC/B,CAAC,MAAQ,SAAS,EAAI,kBAAkB,MAAQ,SAAS,WAAW,CACpE,CAAC,MAAQ,SAAS,EAAI,kBAAkB,MAAQ,SAAS,WAAW,CACpE,CAAC,MAAQ,SAAS,EAAI,kBAAkB,MAAQ,SAAS,WAAW,CAGtE,UAAU,UAAU,YAAc,SAAU,OAAQ,IAAK,CACvD,CAAC,MAAQ,SAAS,EAAI,OACtB,KAAK,UAAU,IAAI,CAGnB,IAFA,IAAIA,IAAI,EAEDA,IAAI,KACT,CAAC,MAAQ,SAAS,EAAEA,KAAK,UAAU,YAAY,CAC/C,CAAC,MAAQ,SAAS,EAAEA,KAAK,UAAU,YAAY,CAC/C,CAAC,MAAQ,SAAS,EAAEA,KAAK,UAAU,YAAY,CAC/C,KAAK,GAIT,UAAU,UAAU,UAAY,SAAU,IAAK,CAC7C,MAAQ,MAAQ,SAAS,WAAa,KACpC,KAAK,mBAAmB,CAG1B,CAAC,MAAQ,SAAS,QAAU,KAG9B,UAAU,UAAU,kBAAoB,UAAY,CAClD,CAAC,MAAQ,SAAS,GAAK,MAAQ,SAAS,EAAE,OAAO,kBAAkB,MAAQ,SAAS,WAAW,CAAC,CAChG,CAAC,MAAQ,SAAS,GAAK,MAAQ,SAAS,EAAE,OAAO,kBAAkB,MAAQ,SAAS,WAAW,CAAC,CAChG,CAAC,MAAQ,SAAS,GAAK,MAAQ,SAAS,EAAE,OAAO,kBAAkB,MAAQ,SAAS,WAAW,CAAC,CAChG,CAAC,MAAQ,SAAS,YAAc,GAGlC,UAAU,UAAU,QAAU,SAAU,IAAG,IAAG,KAAM,IAAK,QAAS,CAChE,IAAI,IAOJ,OANA,CAAC,MAAQ,SAAS,QAAU,KAAK,KAAK,MAAQ,SAAS,QAAS,IAAM,EAAE,EAEnE,MAAQ,SAAS,UAAY,MAAQ,SAAS,YACjD,KAAK,mBAAmB,CAGlB,KAAR,CACE,IAAK,IACH,KAAO,MAAQ,SAAS,EACxB,MAEF,IAAK,IACH,KAAO,MAAQ,SAAS,EACxB,MAEF,IAAK,IACH,KAAO,MAAQ,SAAS,EACxB,MAEF,QACE,IAAM,EAAE,CACR,OAGA,CAAC,IAAI,MAAQ,IAAI,MAAQ,CAAC,WAC5B,IAAI,KAAO,UAAU,YAAY,EAGnC,IAAI,KAAK,GAAKqB,IACd,IAAI,KAAK,GAAKC,KAGhB,UAAU,UAAU,YAAc,SAAU,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,QAAS,CAChF,KAAK,QAAQ,GAAI,GAAI,IAAK,IAAK,QAAQ,CACvC,KAAK,QAAQ,GAAI,GAAI,IAAK,IAAK,QAAQ,CACvC,KAAK,QAAQ,GAAI,GAAI,IAAK,IAAK,QAAQ,EAGzC,UAAU,UAAU,QAAU,UAAY,CACxC,IAAI,QAAU,IAAI,UAClB,QAAQ,aAAa,MAAQ,SAAS,GAAI,MAAQ,SAAS,QAAQ,CACnE,IAAI,UAAY,MAAQ,SAAS,EAC7B,WAAa,MAAQ,SAAS,EAC9B,UAAY,MAAQ,SAAS,EAC7B,KAAO,GAEN,MAAQ,SAAS,IACpB,QAAQ,YAAY,SAAS,GAAG,GAAI,SAAS,GAAG,GAAI,SAAS,GAAG,GAAI,SAAS,GAAG,GAAI,UAAU,GAAG,GAAI,UAAU,GAAG,GAAI,EAAG,GAAM,CAC/H,KAAO,GAGT,IAAI,KAAO,MAAQ,SAAS,QAAU,EAClC,KAAO,MAAQ,SAAS,QACxBtB,IAEJ,IAAK,IAAI,KAAMA,IAAI,IAAK,KAAK,EAC3B,QAAQ,YAAY,SAAS,KAAK,GAAI,SAAS,KAAK,GAAI,SAAS,KAAK,GAAI,SAAS,KAAK,GAAI,UAAU,KAAK,GAAI,UAAU,KAAK,GAAIA,IAAG,GAAM,CAC3I,MAGF,OAAO,SAQT,IAAI,qBAAuB,UAAY,CACrC,IAAI,UAAY,QAEhB,SAAS,iBAAiB,SAAU,cAAe,QAAS,CAC1D,IAAI,eAAiB,QAAQ,UACzB,SACA,SACA,OACAe,IACAC,IACA,KACA,KACA,KACA,YACA,IAAM,MAAQ,SAAS,UAE3B,GAAI,SAAW,GAAG,GAAG,GAAK,MAAQ,SAAS,WACzC,SAAW,GAAG,GAAG,EAAE,GACnB,OAAS,GACT,eAAiB,UACR,UAAY,GAAG,GAAG,OAAS,GAAG,GAAK,MAAQ,SAAS,WAC7D,SAAW,GAAG,GAAG,OAAS,GAAG,EAAI,GAAG,GAAG,OAAS,GAAG,EAAE,GAAK,GAAG,GAAG,OAAS,GAAG,EAAE,GAO9E,OAAS,OACJ,CAOL,IANA,IAAIhB,IAAI,eACJ,IAAM,GAAG,OAAS,EAClB,KAAO,GACP,QACA,YAEG,OACL,QAAU,GAAGA,KACb,YAAc,GAAGA,IAAI,GAEjB,cAAY,GAAK,MAAQ,SAAS,WAAa,YAI/CA,IAAI,IAAM,EACZ,KAAK,EAEL,KAAO,GAOX,GAHA,OAAS,QAAQ,IAAM,EACvB,eAAiBA,IAEb,CAAC,OAAQ,CACX,GAAI,UAAY,YAAY,GAAK,MAAQ,SAAS,WAChD,KAAO,UACE,SAAW,QAAQ,GAAK,MAAQ,SAAS,WAClD,KAAO,MACF,CACL,IAAI,IAEA,QAAQ,OACV,IAAM,QAAQ,QAEd,IAAM,cAAc,gBAAgB,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAG,QAAQ,EAAE,EAAE,CAAC,IACxF,QAAQ,OAAS,KAGnB,KAAO,KAAK,UAAY,QAAQ,GAAK,MAAQ,SAAS,cAAgB,YAAY,GAAK,MAAQ,SAAS,YAAc,QAAQ,GAAK,MAAQ,SAAS,aAAa,CAGnK,SAAW,YAAY,EAAI,YAAY,EAAE,GAAK,QAAQ,EAAE,GAG1D,SAAW,QAAQ,EAAE,GAOvB,IAJA,KAAO,cAAc,QACrB,KAAO,SAAS,EAAE,GAAG,OACrB,QAAQ,UAAY,eAEf,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,IAAK,IAAI,EAAGC,IAAI,KAAM,KAAK,EACzB,YAAc,OAAS,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,KACrG,cAAc,EAAED,KAAGC,KAAK,YACxB,YAAc,OAAS,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,KACrG,cAAc,EAAED,KAAGC,KAAK,YACxB,YAAc,OAAS,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,SAAS,EAAED,KAAGC,KAAK,SAAS,EAAED,KAAGC,MAAM,KACrG,cAAc,EAAED,KAAGC,KAAK,YAK9B,SAAS,6BAA8B,CACrC,IAAI,UAAY,MAAQ,SAAS,KAAK,eAAiB,MAAQ,SAAS,WACpE,UAAY,MAAQ,SAAS,UAAU,GAAG,GAAK,MAAQ,SAAS,WAChE,SAAW,MAAQ,SAAS,WAAW,MAAQ,SAAS,UAAU,OAAS,GAAG,GAAK,MAAQ,SAAS,WACpG,WAAa,MAAQ,SAAS,SAAS,UAS3C,OAPM,YAAc,YAAc,UAAY,UAAY,SAAW,UAAY,UAAY,SAAW,SAAW,WAEjH,CAAC,MAAQ,SAAS,SAAS,UAAY,UAAY,UAAY,MAAQ,SAAS,SAAS,UAAY,EACrG,KAAK,iBAAiB,UAAW,MAAQ,SAAS,IAAK,MAAQ,SAAS,SAAS,EAGnF,CAAC,MAAQ,SAAS,SAAS,UAAY,UAC/B,MAAQ,SAAS,GAG3B,SAAS,YAAa,CACpB,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,qBAG9C,SAAS,YAAY,OAAQ,OAAQ,CACnC,GAAI,OAAO,UAAY,OAAO,SAAW,OAAO,IAAM,OAAO,EAC3D,MAAO,GAGT,IAAIhB,IACA,IAAM,OAAO,QAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,GAAI,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,IAAM,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,IAAM,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,IAAM,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,IAAM,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,IAAM,OAAO,EAAEA,KAAG,KAAO,OAAO,EAAEA,KAAG,GAC1N,MAAO,GAIX,MAAO,GAGT,SAAS,UAAU,QAAS,CACrB,aAAa,MAAQ,SAAS,EAAG,QAAQ,GAC5C,CAAC,MAAQ,SAAS,EAAI,UAAU,MAAM,QAAQ,EAE7C,MAAQ,SAAS,qBAAqB,eAAe,EAErD,MAAQ,SAAS,qBAAqB,UAAU,MAAQ,SAAS,EAAE,CAEpE,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,sBAIhD,SAAS,wBAAyB,CAChC,IAAK,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,QAIpE,IAAI,EAAE,MAAQ,SAAS,gBAAgB,OAAQ,CAC7C,CAAC,MAAQ,SAAS,KAAO,GACzB,OAGF,IAAK,MAAQ,SAAS,KAAM,CAC1B,KAAK,WAAW,MAAQ,SAAS,GAAG,CACpC,OAGF,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,GACzB,IAAI,YAEC,MAAQ,SAAS,IACN,MAAQ,SAAS,IACrB,MAAQ,SAAS,KAAK,IAClB,MAAQ,SAAS,KAAK,GAAG,GAEzB,MAAQ,SAAS,KAAK,GAAG,EAGrCA,IACA,KAAO,MAAQ,SAAS,gBAAgB,OAE5C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,YAAc,MAAQ,SAAS,gBAAgBA,KAAG,WAAW,CAG/D,KAAK,UAAU,WAAW,CAC1B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,SAGhE,SAAS,cAAc,KAAM,KAAM,KAAM,CACvC,CAAC,MAAQ,SAAS,SAAW,QAC7B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,UAAY,KAC9B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,KAAO,GACzB,IAAI,SAAW,OAAS,EAAI,KAAK,GAAG,EAAI,KAAK,GAAG,EAChD,CAAC,MAAQ,SAAS,EAAI,UAAU,MAAM,SAAS,CAC/C,CAAC,MAAQ,SAAS,GAAK,UAAU,OAAO,MAAQ,SAAS,EAAE,CAC3D,CAAC,MAAQ,SAAS,qBAAuB,oBAAoB,oBAAoB,CACjF,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,sBAE3C,MAAQ,SAAS,MAAM,UAAU,MAAQ,SAAS,EAAE,CAErD,CAAC,MAAQ,SAAS,MAAQ,WAC1B,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CAGxC,SAAS,UAAU,eAAgB,EAChC,MAAQ,SAAS,gBAAgB,KAAK,eAAe,EAErD,MAAQ,SAAS,UAAU,mBAAmB,MAAQ,QAAQ,CAGjE,cAAc,UAAU,iBAAmB,iBAC3C,cAAc,UAAU,SAAW,uBACnC,cAAc,UAAU,UAAY,UACpC,cAAc,UAAU,UAAY,UAEpC,SAAS,uBAAuB,KAAM,KAAM,KAAM,CAChD,CAAC,MAAQ,SAAS,SAAW,QAC7B,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,UAAY,KAC9B,CAAC,MAAQ,SAAS,WAAa,KAAK,KAAK,GACzC,CAAC,MAAQ,SAAS,UAAY,OAAS,EAAI,KAAK,GAAG,EAAI,KAAK,GAAG,EAC/D,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,IAAI,KAAO,MAAQ,SAAS,UAAU,GAAG,EAAE,GAAG,EAAE,OAChD,CAAC,MAAQ,SAAS,EAAI,UAAU,YAAY,EAE3C,MAAQ,SAAS,EAAE,aAAa,MAAQ,SAAS,UAAU,GAAG,EAAE,GAAG,EAAG,IAAI,CAE3E,CAAC,MAAQ,SAAS,GAAK,UAAU,OAAO,MAAQ,SAAS,EAAE,CAC3D,CAAC,MAAQ,SAAS,qBAAuB,oBAAoB,oBAAoB,CACjF,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,sBAE3C,MAAQ,SAAS,MAAM,UAAU,MAAQ,SAAS,EAAE,CAErD,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,MAAQ,WAC1B,CAAC,MAAQ,SAAS,SAAW,CAC3B,UAAW,UACX,UAAW,EACZ,CACD,CAAC,MAAQ,SAAS,gBAAkB,CAAC,4BAA4B,KAAK,MAAQ,QAAQ,CAAC,CAGzF,uBAAuB,UAAU,SAAW,uBAC5C,uBAAuB,UAAU,iBAAmB,iBACpD,uBAAuB,UAAU,UAAY,UAC7C,uBAAuB,UAAU,UAAY,UAE7C,IAAI,iBAAmB,UAAY,CACjC,IAAI,OAAS,YAEb,SAAS,wBAAwB,KAAM,KAAM,CAO3C,CAAC,MAAQ,SAAS,EAAI,UAAU,YAAY,EAE3C,MAAQ,SAAS,EAAE,YAAY,GAAM,EAAE,CAExC,CAAC,MAAQ,SAAS,qBAAuB,oBAAoB,oBAAoB,CACjF,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,sBAE3C,MAAQ,SAAS,qBAAqB,UAAU,MAAQ,SAAS,EAAE,CAEpE,CAAC,MAAQ,SAAS,EAAI,KAAK,EAC3B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,QAAU,GAC5B,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,EAE7E,MAAQ,SAAS,kBAAkB,OACtC,CAAC,MAAQ,SAAS,EAAI,IAEtB,CAAC,MAAQ,SAAS,EAAI,GACtB,KAAK,kBAAkB,EAsD3B,MAlDA,yBAAwB,UAAY,CAClC,MAAO,WACP,SAAU,UAAY,EACf,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,UAIpE,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,QAC9D,KAAK,0BAA0B,EAE1B,MAAQ,SAAS,MACpB,KAAK,kBAAkB,GAG3B,iBAAkB,UAAY,CAC5B,IAAI,IAAM,MAAQ,SAAS,EAAE,EAAE,GAC3B,IAAM,MAAQ,SAAS,EAAE,EAAE,GAC3B,IAAM,MAAQ,SAAS,EAAE,EAAE,GAAK,EAChC,IAAM,MAAQ,SAAS,EAAE,EAAE,GAAK,EAEhC,KAAO,MAAQ,SAAS,IAAM,EAE9B,IAAM,MAAQ,SAAS,EAC3B,GAAG,EAAE,GAAG,GAAK,GACb,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GACb,GAAG,EAAE,GAAG,GAAK,GACb,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GACb,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,OAAS,GAAK,GAAK,OAChD,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GAAK,GAAK,OACvB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,OAAS,GAAK,GAAK,OAChD,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GAAK,GAAK,OACvB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,OAAS,GAAK,GAAK,OAChD,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GAAK,GAAK,OACvB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,OAAS,GAAK,GAAK,OAChD,GAAG,EAAE,GAAG,GAAK,GAAK,GAClB,GAAG,EAAE,GAAG,GAAK,IAAM,GAAK,GAAK,GAAK,GAClC,GAAG,EAAE,GAAG,GAAK,GAAK,GAAK,QAE1B,CACD,gBAAgB,CAAC,yBAAyB,CAAE,wBAAwB,CAC7D,0BACN,CAEC,kBAAoB,UAAY,CAClC,SAAS,yBAAyB,KAAM,KAAM,CAC5C,CAAC,MAAQ,SAAS,EAAI,UAAU,YAAY,EAE3C,MAAQ,SAAS,EAAE,YAAY,GAAM,EAAE,CAExC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,EAAI,KAAK,EAC3B,KAAK,6BAA6B,KAAK,CAEnC,KAAK,KAAO,GACd,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,EAAG,MAAQ,QAAQ,CACpF,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,IAAM,MAAQ,QAAQ,CACvF,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,mBAEpD,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,qBAGtD,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,EAAG,MAAQ,QAAQ,CACpF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,UAAW,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,EAAG,MAAQ,QAAQ,CACpF,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAI,EAAG,IAAM,MAAQ,QAAQ,CACvF,CAAC,MAAQ,SAAS,qBAAuB,oBAAoB,oBAAoB,EAEhF,MAAQ,SAAS,qBAAqB,UAAU,MAAQ,SAAS,EAAE,CAEpE,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,sBAEvC,MAAQ,SAAS,kBAAkB,OACtC,CAAC,MAAQ,SAAS,EAAI,IAEtB,CAAC,MAAQ,SAAS,EAAI,GACtB,KAAK,eAAe,EA6FxB,MAzFA,0BAAyB,UAAY,CACnC,MAAO,WACP,SAAU,UAAY,EACf,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,UAIpE,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,QAC9D,KAAK,0BAA0B,EAE1B,MAAQ,SAAS,MACpB,KAAK,eAAe,GAGxB,kBAAmB,UAAY,CAC7B,IAAI,OAAS,KAAK,OAAO,MAAQ,SAAS,GAAG,EAAE,CAAG,EAC9C,MAAQ,KAAK,GAAK,EAAI,OAKtB,SAAW,GACX,SAAW,MAAQ,SAAS,GAAG,EAC/B,UAAY,MAAQ,SAAS,GAAG,EAChC,WAAa,MAAQ,SAAS,GAAG,EACjC,YAAc,MAAQ,SAAS,GAAG,EAClC,iBAAmB,EAAI,KAAK,GAAK,SAAW,OAAS,GACrD,kBAAoB,EAAI,KAAK,GAAK,UAAY,OAAS,GACvDA,IACA,IACA,UACA,aACA,WAAa,CAAC,KAAK,GAAK,EAC5B,aAAe,MAAQ,SAAS,EAAE,EAClC,IAAI,KAAO,MAAQ,SAAS,KAAK,IAAM,EAAI,GAAK,EAGhD,IAFA,CAAC,MAAQ,SAAS,EAAE,QAAU,EAEzB,IAAI,EAAGA,IAAI,OAAQ,KAAK,EAAG,CAC9B,IAAM,SAAW,QAAU,SAC3B,UAAY,SAAW,UAAY,WACnC,aAAe,SAAW,iBAAmB,kBAC7C,IAAIqB,IAAI,IAAM,KAAK,IAAI,WAAW,CAC9BC,IAAI,IAAM,KAAK,IAAI,WAAW,CAC9B,GAAKD,MAAM,GAAKC,MAAM,EAAI,EAAIA,IAAI,KAAK,KAAKD,IAAIA,IAAIC,IAAIA,IAAE,CAC1D,GAAKD,MAAM,GAAKC,MAAM,EAAI,EAAI,CAACD,IAAI,KAAK,KAAKA,IAAIA,IAAIC,IAAIA,IAAE,CAC/D,KAAK,EAAE,MAAQ,SAAS,EAAE,EAAE,GAC5B,KAAK,EAAE,MAAQ,SAAS,EAAE,EAAE,IAE3B,MAAQ,SAAS,EAAE,YAAYD,IAAGC,IAAGD,IAAI,GAAK,aAAe,UAAY,IAAKC,IAAI,GAAK,aAAe,UAAY,IAAKD,IAAI,GAAK,aAAe,UAAY,IAAKC,IAAI,GAAK,aAAe,UAAY,IAAKtB,IAAG,GAAK,CAOlN,SAAW,CAAC,SACZ,YAAc,MAAQ,MAG1B,qBAAsB,UAAY,CAChC,IAAI,OAAS,KAAK,OAAO,MAAQ,SAAS,GAAG,EAAE,CAC3C,MAAQ,KAAK,GAAK,EAAI,OACtB,KAAO,MAAQ,SAAS,GAAG,EAC3B,WAAa,MAAQ,SAAS,GAAG,EACjC,aAAe,EAAI,KAAK,GAAK,KAAO,OAAS,GAC7CA,IACA,WAAa,CAAC,KAAK,GAAK,GACxB,KAAO,MAAQ,SAAS,KAAK,IAAM,EAAI,GAAK,EAIhD,IAHA,aAAe,MAAQ,SAAS,EAAE,EAClC,CAAC,MAAQ,SAAS,EAAE,QAAU,EAEzB,IAAI,EAAGA,IAAI,OAAQ,KAAK,EAAG,CAC9B,IAAIqB,IAAI,IAAM,KAAK,IAAI,WAAW,CAC9BC,IAAI,IAAM,KAAK,IAAI,WAAW,CAC9B,GAAKD,MAAM,GAAKC,MAAM,EAAI,EAAIA,IAAI,KAAK,KAAKD,IAAIA,IAAIC,IAAIA,IAAE,CAC1D,GAAKD,MAAM,GAAKC,MAAM,EAAI,EAAI,CAACD,IAAI,KAAK,KAAKA,IAAIA,IAAIC,IAAIA,IAAE,CAC/D,KAAK,EAAE,MAAQ,SAAS,EAAE,EAAE,GAC5B,KAAK,EAAE,MAAQ,SAAS,EAAE,EAAE,IAE3B,MAAQ,SAAS,EAAE,YAAYD,IAAGC,IAAGD,IAAI,GAAK,aAAe,UAAY,IAAKC,IAAI,GAAK,aAAe,UAAY,IAAKD,IAAI,GAAK,aAAe,UAAY,IAAKC,IAAI,GAAK,aAAe,UAAY,IAAKtB,IAAG,GAAK,CAElN,YAAc,MAAQ,IAGxB,CAAC,MAAQ,SAAS,MAAM,OAAS,EACjC,CAAC,MAAQ,SAAS,MAAM,IAAM,MAAQ,SAAS,GAElD,CACD,gBAAgB,CAAC,yBAAyB,CAAE,yBAAyB,CAC9D,2BACN,CAEC,kBAAoB,UAAY,CAClC,SAAS,yBAAyB,KAAM,KAAM,CAC5C,CAAC,MAAQ,SAAS,EAAI,UAAU,YAAY,CAC5C,CAAC,MAAQ,SAAS,EAAE,EAAI,GACxB,CAAC,MAAQ,SAAS,qBAAuB,oBAAoB,oBAAoB,EAEhF,MAAQ,SAAS,qBAAqB,UAAU,MAAQ,SAAS,EAAE,CAEpE,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,qBAC5C,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,EAAI,KAAK,EAC3B,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,EAE7E,MAAQ,SAAS,kBAAkB,OACtC,CAAC,MAAQ,SAAS,EAAI,IAEtB,CAAC,MAAQ,SAAS,EAAI,GACtB,KAAK,mBAAmB,EA6E5B,MAzEA,0BAAyB,UAAY,CACnC,kBAAmB,UAAY,CAC7B,IAAI,IAAM,MAAQ,SAAS,EAAE,EAAE,GAC3B,IAAM,MAAQ,SAAS,EAAE,EAAE,GAC3B,IAAM,MAAQ,SAAS,EAAE,EAAE,GAAK,EAChC,IAAM,MAAQ,SAAS,EAAE,EAAE,GAAK,EAChC,MAAQ,MAAM,GAAI,IAAK,MAAQ,SAAS,EAAE,EAAE,CAC5C,OAAS,OAAS,EAAI,aAC1B,CAAC,MAAQ,SAAS,EAAE,QAAU,GAEzB,MAAQ,SAAS,IAAM,IAAM,MAAQ,SAAS,IAAM,IACtD,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,EAAG,GAAK,CAEnH,QAAU,IAaX,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,EAAE,EAEhG,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAI,EAAE,IAdhG,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,EAAG,GAAK,KAOxH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,EAAG,GAAK,CAEnH,QAAU,IAeX,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,EAAG,GAAK,EAEtG,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAI,EAAG,GAAK,EAEtG,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAI,GAAK,GAAI,EAAG,GAAK,IAlBtG,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,EAAG,GAAK,EAEtH,MAAQ,SAAS,EAAE,YAAY,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,MAAO,GAAK,GAAI,GAAK,GAAK,OAAQ,EAAG,GAAK,IAU7H,SAAU,UAAY,EACf,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,UAIpE,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,QAC9D,KAAK,0BAA0B,EAE1B,MAAQ,SAAS,MACpB,KAAK,mBAAmB,GAG5B,MAAO,WACR,CACD,gBAAgB,CAAC,yBAAyB,CAAE,yBAAyB,CAC9D,2BACN,CAEH,SAAS,aAAa,KAAM,KAAM,KAAM,CACtC,IAAI,KAuBJ,OArBI,OAAS,GAAK,OAAS,EAIzB,AAGE,MANa,OAAS,EAAI,KAAK,GAAK,KAAK,IACvB,EAEX,OACA,IAAI,uBAAuB,KAAM,KAAM,KAAK,CAE5C,IAAI,cAAc,KAAM,KAAM,KAAK,CAEnC,OAAS,EAClB,KAAO,IAAI,kBAAkB,KAAM,KAAK,CAC/B,OAAS,EAClB,KAAO,IAAI,iBAAiB,KAAM,KAAK,CAC9B,OAAS,IAClB,KAAO,IAAI,kBAAkB,KAAM,KAAK,EAGtC,KAAK,GACP,KAAK,mBAAmB,KAAK,CAGxB,KAGT,SAAS,wBAAyB,CAChC,OAAO,cAGT,SAAS,iCAAkC,CACzC,OAAO,uBAGT,IAAI,GAAK,EAAE,CAIX,MAHA,IAAG,aAAe,aAClB,GAAG,uBAAyB,uBAC5B,GAAG,gCAAkC,gCAC9B,KACN,CAMC,eAAiB,UAAY,CAC/B,IAAI,GAAK,EAAE,CACP,UAAY,EAAE,CAClB,GAAG,iBAAmB,iBACtB,GAAG,YAAc,YAEjB,SAAS,iBAAiB,GAAI,QAAS,CAChC,UAAU,MACb,UAAU,IAAM,SAIpB,SAAS,YAAY,GAAI,KAAM,KAAM,CACnC,OAAO,IAAI,UAAU,IAAI,KAAM,KAAK,CAGtC,OAAO,KACN,CAEH,SAAS,eAAgB,EAEzB,cAAc,UAAU,uBAAyB,UAAY,GAE7D,cAAc,UAAU,mBAAqB,UAAY,GAEzD,cAAc,UAAU,SAAW,SAAU,KAAM,CACjD,GAAI,EAAE,MAAQ,SAAS,OAAQ,CAE7B,KAAK,GAAG,UAAU,mBAAmB,KAAK,GAAG,CAC7C,IAAI,UAAY,CACd,MAAO,KAAK,GACN,KACN,qBAAsB,oBAAoB,oBAAoB,CAC/D,EAEA,MAAQ,SAAS,OAAO,KAAK,UAAU,CAExC,KAAK,mBAAmB,UAAU,EAE7B,MAAQ,SAAS,aACpB,KAAK,eAAe,GAK1B,cAAc,UAAU,KAAO,SAAU,KAAM,KAAM,CACnD,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,KAAO,KACzB,KAAK,6BAA6B,KAAK,CACvC,KAAK,uBAAuB,KAAM,KAAK,CACvC,CAAC,MAAQ,SAAS,QAAU,oBAC5B,CAAC,MAAQ,SAAS,OAAS,GAC3B,CAAC,MAAQ,SAAS,EAAI,IAEjB,MAAQ,SAAS,kBAAkB,OACtC,CAAC,MAAQ,SAAS,EAAI,GAEtB,KAAK,SAAS,GAAK,EAIvB,cAAc,UAAU,YAAc,UAAY,EAC3C,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,UAIpE,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,QAC9D,KAAK,0BAA0B,GAGjC,gBAAgB,CAAC,yBAAyB,CAAE,cAAc,CAG1D,SAAS,cAAe,EAExB,gBAAgB,CAAC,cAAc,CAAE,aAAa,CAE9C,aAAa,UAAU,uBAAyB,SAAU,KAAM,KAAM,CACpE,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,OAAS,EAC3B,CAAC,MAAQ,SAAS,OAAS,EAC3B,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,YAC/C,CAAC,MAAQ,SAAS,EAAI,KAAK,EAC3B,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQ,SAAS,EAAE,gBAAgB,QAAU,CAAC,EAAE,MAAQ,SAAS,EAAE,gBAAgB,QAGxK,aAAa,UAAU,mBAAqB,SAAU,UAAW,CAC/D,UAAU,UAAY,EAAE,EAG1B,aAAa,UAAU,oBAAsB,SAAU,IAAG,IAAG,YAAa,YAAa,oBAAqB,CAC1G,IAAI,SAAW,EAAE,CAEbc,KAAK,EACP,SAAS,KAAK,CACZ,EAAGJ,IACH,EAAGI,IACJ,CAAC,CACOJ,KAAK,EACd,SAAS,KAAK,CACZ,EAAGA,IAAI,EACP,EAAGI,IAAI,EACR,CAAC,EAEF,SAAS,KAAK,CACZ,EAAGJ,IACH,EAAG,EACJ,CAAC,CACF,SAAS,KAAK,CACZ,EAAG,EACH,EAAGI,IAAI,EACR,CAAC,EAGJ,IAAI,cAAgB,EAAE,CAClBd,IACA,IAAM,SAAS,OACf,UAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAGxB,GAFA,UAAY,SAASA,KAEjB,EAAE,UAAU,EAAI,oBAAsB,aAAe,UAAU,EAAI,oBAAsB,YAAc,aAAc,CACvH,IAAI,OAGA,UAAU,EAAI,qBAAuB,YAC9B,GAEC,UAAU,EAAI,oBAAsB,aAAe,YAL3D,OAQA,UAAU,EAAI,qBAAuB,YAAc,YAC5C,GAEC,UAAU,EAAI,oBAAsB,aAAe,YAG/D,cAAc,KAAK,CAAC,OAAQ,OAAO,CAAC,CAQxC,OAJK,cAAc,QACjB,cAAc,KAAK,CAAC,EAAG,EAAE,CAAC,CAGrB,eAGT,aAAa,UAAU,iBAAmB,SAAU,UAAW,CAC7D,IAAIA,IACA,IAAM,UAAU,OAEpB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,mBAAmB,QAAQ,UAAUA,KAAG,CAI1C,MADA,WAAU,OAAS,EACZ,WAGT,aAAa,UAAU,cAAgB,SAAU,cAAe,CAC9D,IAAIU,IACAI,IAEJ,IAAK,MAAQ,SAAS,MAAQ,cAAe,CAC3C,IAAIM,KAAK,MAAQ,SAAS,EAAE,EAAI,IAAM,IAsBtC,GApBIA,IAAI,IACN,KAAK,GAGP,AAKE,KALG,MAAQ,SAAS,EAAE,EAAI,EACtB,EAAIA,KACE,MAAQ,SAAS,EAAE,EAAI,EAC7B,EAAIA,KAEH,MAAQ,SAAS,EAAE,EAAIA,IAG9B,AAKE,KALG,MAAQ,SAAS,EAAE,EAAI,EACtB,EAAIA,KACE,MAAQ,SAAS,EAAE,EAAI,EAC7B,EAAIA,KAEH,MAAQ,SAAS,EAAE,EAAIA,IAG1BV,IAAII,IAAG,CACT,IAAI,GAAKJ,IACT,IAAII,IACJ,IAAI,GAGN,IAAI,KAAK,MAAMJ,IAAI,IAAM,CAAG,KAC5B,IAAI,KAAK,MAAMI,IAAI,IAAM,CAAG,KAC5B,CAAC,MAAQ,SAAS,OAASJ,IAC3B,CAAC,MAAQ,SAAS,OAASI,SAE3B,KAAK,MAAQ,SAAS,OACtB,KAAK,MAAQ,SAAS,OAGxB,IAAI,WACAd,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/Be,IACA,KACA,UACA,SACA,iBACA,oBAAsB,EAE1B,GAAID,MAAMJ,IACR,IAAK,IAAI,EAAGV,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,qBAAqB,eAAe,CAEhE,CAAC,MAAQ,SAAS,OAAOA,KAAG,MAAM,KAAO,GACzC,CAAC,MAAQ,SAAS,OAAOA,KAAG,MAAM,OAAS,MAAQ,SAAS,OAAOA,KAAG,sBAEjE,MAAQ,SAAS,OACpB,CAAC,MAAQ,SAAS,OAAOA,KAAG,UAAU,OAAS,WAGxCc,MAAM,GAAKJ,MAAM,GAAKI,MAAM,GAAKJ,MAAM,OAyGxC,MAAQ,SAAS,KAC3B,IAAK,IAAI,EAAGV,IAAI,IAAK,KAAK,EAGxB,CAAC,MAAQ,SAAS,OAAOA,KAAG,UAAU,OAAS,EAC/C,CAAC,MAAQ,SAAS,OAAOA,KAAG,MAAM,KAAO,OA9GW,CACtD,IAAI,SAAW,EAAE,CACb,UACA,qBAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAGxB,GAFA,WAAa,MAAQ,SAAS,OAAOA,KAEjC,CAAC,UAAU,MAAM,MAAQ,EAAE,MAAQ,SAAS,MAAQ,CAAC,gBAAkB,MAAQ,SAAS,IAAM,EAChG,UAAU,MAAM,MAAQ,UAAU,yBAC7B,CAKL,GAJA,WAAa,UAAU,MAAM,MAC7B,KAAO,WAAW,QAClB,iBAAmB,EAEf,CAAC,UAAU,MAAM,MAAQ,UAAU,UAAU,OAC/C,iBAAmB,UAAU,qBACxB,CAGL,IAFA,UAAY,KAAK,iBAAiB,UAAU,UAAU,CAEjD,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,SAAW,IAAI,kBAAkB,WAAW,OAAOA,KAAG,CACtD,UAAU,KAAK,SAAS,CACxB,kBAAoB,SAAS,YAG/B,UAAU,iBAAmB,iBAC7B,UAAU,UAAY,UAGxB,qBAAuB,iBACvB,UAAU,MAAM,KAAO,GAI3B,IAAI,OAASL,IACT,OAASI,IACT,YAAc,EACd,MAEJ,IAAK,IAAI,IAAM,EAAGd,KAAK,EAAG,MAGxB,GAFA,WAAa,MAAQ,SAAS,OAAOA,KAEjC,UAAU,MAAM,KAAM,CAaxB,IAZA,qBAAuB,UAAU,qBACjC,qBAAqB,eAAe,EAE/B,MAAQ,SAAS,IAAM,GAAK,IAAM,GACrC,MAAQ,KAAK,oBAAoBU,IAAGI,IAAG,UAAU,iBAAkB,YAAa,oBAAoB,CACpG,aAAe,UAAU,kBAEzB,MAAQ,CAAC,CAAC,OAAQ,OAAO,CAAC,CAG5B,KAAO,MAAM,OAER,IAAI,EAAGC,IAAI,KAAM,KAAK,EAAG,CAC5B,OAAS,MAAMA,KAAG,GAClB,OAAS,MAAMA,KAAG,GAClB,SAAS,OAAS,EAEd,QAAU,EACZ,SAAS,KAAK,CACZ,EAAG,UAAU,iBAAmB,OAChC,EAAG,UAAU,iBAAmB,OACjC,CAAC,CACO,QAAU,EACnB,SAAS,KAAK,CACZ,EAAG,UAAU,kBAAoB,OAAS,GAC1C,EAAG,UAAU,kBAAoB,OAAS,GAC3C,CAAC,EAEF,SAAS,KAAK,CACZ,EAAG,UAAU,iBAAmB,OAChC,EAAG,UAAU,iBACd,CAAC,CACF,SAAS,KAAK,CACZ,EAAG,EACH,EAAG,UAAU,kBAAoB,OAAS,GAC3C,CAAC,EAGJ,IAAI,cAAgB,KAAK,UAAU,UAAW,SAAS,GAAG,CAE1D,GAAI,SAAS,GAAG,IAAM,SAAS,GAAG,EAAG,CACnC,GAAI,SAAS,OAAS,EAGpB,GAF4B,UAAU,MAAM,MAAM,OAAO,UAAU,MAAM,MAAM,QAAU,GAE/D,EAAG,CAC3B,IAAI,UAAY,cAAc,KAAK,CACnC,KAAK,SAAS,cAAe,qBAAqB,CAClD,cAAgB,KAAK,UAAU,UAAW,SAAS,GAAI,UAAU,MAEjE,KAAK,SAAS,cAAe,qBAAqB,CAClD,cAAgB,KAAK,UAAU,UAAW,SAAS,GAAG,CAI1D,KAAK,SAAS,cAAe,qBAAqB,EAItD,UAAU,MAAM,MAAQ,wBAahC,aAAa,UAAU,SAAW,SAAU,SAAU,qBAAsB,CAC1E,IAAIf,IACA,IAAM,SAAS,OAEnB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqB,SAAS,SAASA,KAAG,EAI9C,aAAa,UAAU,WAAa,SAAU,IAAK,IAAK,IAAK,IAAK,UAAW,IAAK,SAAU,CAC1F,UAAU,QAAQ,IAAI,GAAI,IAAI,GAAI,IAAK,IAAI,CAC3C,UAAU,QAAQ,IAAI,GAAI,IAAI,GAAI,IAAK,IAAM,EAAE,CAE3C,UACF,UAAU,QAAQ,IAAI,GAAI,IAAI,GAAI,IAAK,IAAI,CAG7C,UAAU,QAAQ,IAAI,GAAI,IAAI,GAAI,IAAK,IAAM,EAAE,EAGjD,aAAa,UAAU,oBAAsB,SAAU,OAAQ,UAAW,IAAK,SAAU,CACvF,UAAU,QAAQ,OAAO,GAAI,OAAO,GAAI,IAAK,IAAI,CACjD,UAAU,QAAQ,OAAO,GAAI,OAAO,GAAI,IAAK,IAAM,EAAE,CAEjD,UACF,UAAU,QAAQ,OAAO,GAAI,OAAO,GAAI,IAAK,IAAI,CAGnD,UAAU,QAAQ,OAAO,GAAI,OAAO,GAAI,IAAK,IAAM,EAAE,EAGvD,aAAa,UAAU,UAAY,SAAU,UAAW,aAAc,UAAW,CAC/E,IAAI,UAAY,UAAU,UACtB,WAAa,UAAU,MAAM,MAAM,OACnCA,IACA,IAAM,UAAU,MAAM,MAAM,QAC5Be,IACA,KACA,YAAc,EACd,kBACA,aACA,QACA,QACA,OAAS,EAAE,CACX,QACA,SAAW,GAaf,IAXK,WAKH,aAAe,UAAU,QACzB,QAAU,UAAU,UALpB,UAAY,UAAU,YAAY,CAClC,aAAe,EACf,QAAU,GAMZ,OAAO,KAAK,UAAU,CAEjB,IAAI,EAAGf,IAAI,IAAK,KAAK,EAAG,CAK3B,IAJA,QAAU,UAAUA,KAAG,QACvB,UAAU,EAAI,WAAWA,KAAG,EAC5B,KAAO,WAAWA,KAAG,EAAI,QAAQ,OAAS,QAAQ,OAAS,EAEtD,IAAI,EAAGe,IAAI,KAAM,KAAK,EAGzB,GAFA,kBAAoB,QAAQA,IAAI,GAE5B,YAAc,kBAAkB,YAAc,aAAa,EAC7D,aAAe,kBAAkB,YACjC,UAAU,EAAI,WACL,YAAc,aAAa,EAAG,CACvC,UAAU,EAAI,GACd,WAEI,aAAa,GAAK,aAAe,aAAa,GAAK,YAAc,kBAAkB,aACrF,KAAK,WAAW,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAEe,KAAI,WAAWf,KAAG,EAAEe,KAAI,UAAW,aAAc,SAAS,CAC1I,SAAW,KAEX,QAAU,IAAI,cAAc,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAEe,KAAI,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAEe,MAAK,aAAa,EAAI,aAAe,kBAAkB,aAAc,aAAa,EAAI,aAAe,kBAAkB,YAAa,QAAQA,IAAI,GAAG,CACnQ,KAAK,oBAAoB,QAAS,UAAW,aAAc,SAAS,CAEpE,SAAW,GACX,UAAU,EAAI,IAGhB,aAAe,kBAAkB,YACjC,cAAgB,EAIpB,GAAI,WAAWf,KAAG,GAAK,QAAQ,OAAQ,CAGrC,GAFA,kBAAoB,QAAQe,IAAI,GAE5B,aAAe,aAAa,EAAG,CACjC,IAAI,cAAgB,QAAQA,IAAI,GAAG,YAE/B,aAAa,GAAK,aAAe,aAAa,GAAK,YAAc,eACnE,KAAK,WAAW,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAE,GAAI,WAAWA,KAAG,EAAE,GAAI,UAAW,aAAc,SAAS,CAC1I,SAAW,KAEX,QAAU,IAAI,cAAc,WAAWA,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAE,GAAI,WAAWA,KAAG,EAAEe,IAAI,GAAI,WAAWf,KAAG,EAAE,IAAK,aAAa,EAAI,aAAe,eAAgB,aAAa,EAAI,aAAe,cAAe,QAAQe,IAAI,GAAG,CACnO,KAAK,oBAAoB,QAAS,UAAW,aAAc,SAAS,CAEpE,SAAW,GACX,UAAU,EAAI,SAGhB,UAAU,EAAI,GAGhB,aAAe,kBAAkB,YACjC,cAAgB,EAQlB,GALI,UAAU,UACZ,UAAU,QAAQ,UAAU,EAAE,SAAS,GAAI,UAAU,EAAE,SAAS,GAAI,IAAK,QAAQ,CACjF,UAAU,QAAQ,UAAU,EAAE,UAAU,QAAU,GAAG,GAAI,UAAU,EAAE,UAAU,QAAU,GAAG,GAAI,IAAK,UAAU,QAAU,EAAE,EAGzH,YAAc,aAAa,EAC7B,MAGEf,IAAI,IAAM,IACZ,UAAY,UAAU,YAAY,CAClC,SAAW,GACX,OAAO,KAAK,UAAU,CACtB,aAAe,GAInB,OAAO,QAGT,eAAe,iBAAiB,KAAM,aAAa,CAGnD,SAAS,sBAAuB,EAEhC,gBAAgB,CAAC,cAAc,CAAE,qBAAqB,CAEtD,qBAAqB,UAAU,uBAAyB,SAAU,KAAM,KAAM,CAC5E,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,YAC/C,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACtF,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,GAAG,gBAAgB,QAGzE,qBAAqB,UAAU,YAAc,SAAU,KAAM,MAAO,CAClE,IAAI,WAAa,UAAU,YAAY,CACvC,WAAW,EAAI,KAAK,EACpB,IAAIA,IACA,IAAM,KAAK,QACX,SACA,SACA,SACA,QACA,SACA,WACA,MAAQ,EACR,GACA,GACA,GACA,GACA,GACA,GAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,SAAW,KAAK,EAAEA,KAClB,SAAW,KAAK,EAAEA,KAClB,SAAW,KAAK,EAAEA,KAEd,SAAS,KAAO,SAAS,IAAM,SAAS,KAAO,SAAS,IAAM,SAAS,KAAO,SAAS,IAAM,SAAS,KAAO,SAAS,IACnHA,MAAM,GAAKA,MAAM,IAAM,IAAM,CAAC,KAAK,GACtC,WAAW,YAAY,SAAS,GAAI,SAAS,GAAI,SAAS,GAAI,SAAS,GAAI,SAAS,GAAI,SAAS,GAAI,MAAM,CAK3G,OAAS,IAET,AAGE,QAHEA,MAAM,EACE,KAAK,EAAE,IAAM,GAEb,KAAK,EAAEA,IAAI,GAGvB,SAAW,KAAK,MAAc,SAAS,GAAK,QAAQ,KAAI,GAAc,SAAS,GAAK,QAAQ,KAAI,EAAG,CACnG,WAAa,SAAW,KAAK,IAAI,SAAW,EAAG,MAAM,CAAG,SAAW,EACnE,GAAK,SAAS,IAAM,QAAQ,GAAK,SAAS,IAAM,WAChD,GAAK,GACL,GAAK,SAAS,IAAM,SAAS,GAAK,QAAQ,IAAM,WAChD,GAAK,GACL,GAAK,IAAM,GAAK,SAAS,IAAM,YAC/B,GAAK,IAAM,GAAK,SAAS,IAAM,YAC/B,WAAW,YAAY,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAAM,CACrD,OAAS,EAET,AAGE,QAHEA,MAAM,IAAM,EACJ,KAAK,EAAE,GAEP,KAAK,EAAEA,IAAI,GAGvB,SAAW,KAAK,MAAc,SAAS,GAAK,QAAQ,KAAI,GAAc,SAAS,GAAK,QAAQ,KAAI,EAAG,CACnG,WAAa,SAAW,KAAK,IAAI,SAAW,EAAG,MAAM,CAAG,SAAW,EACnE,GAAK,SAAS,IAAM,QAAQ,GAAK,SAAS,IAAM,WAChD,GAAK,GACL,GAAK,SAAS,IAAM,QAAQ,GAAK,SAAS,IAAM,WAChD,GAAK,GACL,GAAK,IAAM,GAAK,SAAS,IAAM,YAC/B,GAAK,IAAM,GAAK,SAAS,IAAM,YAC/B,WAAW,YAAY,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,MAAM,CACrD,OAAS,IAGX,WAAW,YAAY,KAAK,EAAEA,KAAG,GAAI,KAAK,EAAEA,KAAG,GAAI,KAAK,EAAEA,KAAG,GAAI,KAAK,EAAEA,KAAG,GAAI,KAAK,EAAEA,KAAG,GAAI,KAAK,EAAEA,KAAG,GAAI,MAAM,CACjH,OAAS,GAIb,OAAO,YAGT,qBAAqB,UAAU,cAAgB,SAAU,cAAe,CACtE,IAAI,WACAA,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/Be,IACA,KACA,IAAM,MAAQ,SAAS,GAAG,EAE9B,GAAI,KAAO,EAAG,CACZ,IAAI,UACA,qBAEJ,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EAAG,CAI3B,GAHA,WAAa,MAAQ,SAAS,OAAOA,KACrC,qBAAuB,UAAU,qBAE7B,EAAE,CAAC,UAAU,MAAM,MAAQ,EAAE,MAAQ,SAAS,MAAQ,CAAC,eAMzD,IALA,qBAAqB,eAAe,CACpC,UAAU,MAAM,KAAO,GACvB,WAAa,UAAU,MAAM,MAAM,OACnC,KAAO,UAAU,MAAM,MAAM,QAExB,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,qBAAqB,SAAS,KAAK,YAAY,WAAWA,KAAI,GAAG,CAAC,CAItE,UAAU,MAAM,MAAQ,UAAU,uBAIhC,MAAQ,SAAS,kBAAkB,SACvC,CAAC,MAAQ,SAAS,KAAO,KAI7B,eAAe,iBAAiB,KAAM,qBAAqB,CAG3D,SAAS,wBAAyB,EAElC,gBAAgB,CAAC,cAAc,CAAE,uBAAuB,CAExD,uBAAuB,UAAU,uBAAyB,SAAU,KAAM,KAAM,CAC9E,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,YAC/C,CAAC,MAAQ,SAAS,OAAS,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,OAAO,gBAAgB,QAG7E,uBAAuB,UAAU,YAAc,SAAU,KAAM,OAAQ,CACrE,IAAI,QAAU,OAAS,IACnB,YAAc,CAAC,EAAG,EAAE,CACpB,WAAa,KAAK,QAClBf,IAAI,EAER,IAAK,IAAI,EAAGA,IAAI,WAAY,KAAK,EAC/B,YAAY,IAAM,KAAK,EAAEA,KAAG,GAC5B,YAAY,IAAM,KAAK,EAAEA,KAAG,GAG9B,YAAY,IAAM,WAClB,YAAY,IAAM,WAClB,IAAI,WAAa,UAAU,YAAY,CACvC,WAAW,EAAI,KAAK,EACpB,IAAI,GACA,GACA,GACA,GACA,GACA,GAEJ,IAAK,IAAI,EAAGA,IAAI,WAAY,KAAK,EAC/B,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,QACtD,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,QACtD,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,CAAC,QACvD,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,CAAC,QACvD,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,CAAC,QACvD,GAAK,KAAK,EAAEA,KAAG,IAAM,YAAY,GAAK,KAAK,EAAEA,KAAG,IAAM,CAAC,QACvD,WAAW,YAAY,GAAI,GAAI,GAAI,GAAI,GAAI,GAAIA,IAAE,CAGnD,OAAO,YAGT,uBAAuB,UAAU,cAAgB,SAAU,cAAe,CACxE,IAAI,WACAA,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/Be,IACA,KACA,QAAU,MAAQ,SAAS,OAAO,EAEtC,GAAI,SAAW,EAAG,CAChB,IAAI,UACA,qBAEJ,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EAAG,CAI3B,GAHA,WAAa,MAAQ,SAAS,OAAOA,KACrC,qBAAuB,UAAU,qBAE7B,EAAE,CAAC,UAAU,MAAM,MAAQ,EAAE,MAAQ,SAAS,MAAQ,CAAC,eAMzD,IALA,qBAAqB,eAAe,CACpC,UAAU,MAAM,KAAO,GACvB,WAAa,UAAU,MAAM,MAAM,OACnC,KAAO,UAAU,MAAM,MAAM,QAExB,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,qBAAqB,SAAS,KAAK,YAAY,WAAWA,KAAI,OAAO,CAAC,CAI1E,UAAU,MAAM,MAAQ,UAAU,uBAIhC,MAAQ,SAAS,kBAAkB,SACvC,CAAC,MAAQ,SAAS,KAAO,KAI7B,eAAe,iBAAiB,KAAM,uBAAuB,CAG7D,SAAS,kBAAmB,EAE5B,gBAAgB,CAAC,cAAc,CAAE,iBAAiB,CAElD,iBAAiB,UAAU,uBAAyB,SAAU,KAAM,KAAM,CACxE,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,YAC/C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,GAAK,yBAAyB,qBAAqB,KAAM,KAAK,GAAI,MAAQ,QAAQ,CACpG,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAG,GAAI,EAAG,IAAM,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,GAAG,GAAI,EAAG,IAAM,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,KAAO,MAEnB,MAAQ,SAAS,kBAAkB,QACvC,KAAK,SAAS,GAAK,CAGrB,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,kBAAkB,OACtE,CAAC,MAAQ,SAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,SAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,SAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,SAAS,QAAU,IAAI,OAChC,CAAC,MAAQ,SAAS,OAAS,IAAI,QAGjC,iBAAiB,UAAU,gBAAkB,SAAU,QAAS,QAAS,QAAS,UAAW,KAAM,IAAK,CACtG,IAAI,IAAM,IAAM,GAAK,EACjB,OAAS,UAAU,EAAE,EAAE,IAAM,EAAI,UAAU,EAAE,EAAE,KAAO,EAAI,MAC1D,OAAS,UAAU,EAAE,EAAE,IAAM,EAAI,UAAU,EAAE,EAAE,KAAO,EAAI,MAC9D,QAAQ,UAAU,UAAU,EAAE,EAAE,GAAK,IAAM,KAAM,UAAU,EAAE,EAAE,GAAK,IAAM,KAAM,UAAU,EAAE,EAAE,GAAG,CACjG,QAAQ,UAAU,CAAC,UAAU,EAAE,EAAE,GAAI,CAAC,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAG,CACzE,QAAQ,OAAO,CAAC,UAAU,EAAE,EAAI,IAAM,KAAK,CAC3C,QAAQ,UAAU,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAG,CACvE,QAAQ,UAAU,CAAC,UAAU,EAAE,EAAE,GAAI,CAAC,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAG,CACzE,QAAQ,MAAM,IAAM,EAAI,OAAS,OAAQ,IAAM,EAAI,OAAS,OAAO,CACnE,QAAQ,UAAU,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAI,UAAU,EAAE,EAAE,GAAG,EAGzE,iBAAiB,UAAU,KAAO,SAAU,KAAM,IAAK,IAAK,UAAW,CAYrE,IAXA,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,IAAM,IACxB,CAAC,MAAQ,SAAS,IAAM,IACxB,CAAC,MAAQ,SAAS,UAAY,UAC9B,CAAC,MAAQ,SAAS,eAAiB,EACnC,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,QAAU,EAAE,CAC9B,CAAC,MAAQ,SAAS,QAAU,GAC5B,KAAK,6BAA6B,KAAK,CACvC,KAAK,uBAAuB,KAAM,IAAI,KAAK,CAEpC,IAAM,GACX,OAEC,MAAQ,SAAS,UAAU,QAAQ,IAAI,KAAK,EAG1C,MAAQ,SAAS,kBAAkB,OACtC,CAAC,MAAQ,SAAS,EAAI,GAEtB,KAAK,SAAS,GAAK,EAIvB,iBAAiB,UAAU,cAAgB,SAAU,SAAU,CAC7D,IAAIf,IACA,IAAM,SAAS,OAEnB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,SAASA,KAAG,WAAa,GAErB,SAASA,KAAG,KAAO,MACrB,KAAK,cAAc,SAASA,KAAG,GAAG,EAKxC,iBAAiB,UAAU,cAAgB,SAAU,SAAU,CAC7D,IAAI,YAAc,KAAK,MAAM,KAAK,UAAU,SAAS,CAAC,CAEtD,OADA,KAAK,cAAc,YAAY,CACxB,aAGT,iBAAiB,UAAU,kBAAoB,SAAU,SAAU,WAAY,CAC7E,IAAIA,IACA,IAAM,SAAS,OAEnB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,SAASA,KAAG,QAAU,WAElB,SAASA,KAAG,KAAO,MACrB,KAAK,kBAAkB,SAASA,KAAG,GAAI,WAAW,EAKxD,iBAAiB,UAAU,cAAgB,SAAU,cAAe,CAClE,IAAI,MACA,eACAA,IACA,IACA,KACA,YAAc,GAElB,IAAK,MAAQ,SAAS,MAAQ,cAAe,CAC3C,IAAI,OAAS,KAAK,MAAM,MAAQ,SAAS,EAAE,EAAE,CAE7C,IAAK,MAAQ,SAAS,QAAQ,OAAS,OAAQ,CAC7C,MAAQ,MAAQ,SAAS,QAAQ,OAAS,QAAQ,CAChD,IAAI,MAAQ,CACV,GAAI,KAAK,eAAe,MAAQ,SAAS,UAAU,CACnD,GAAI,KACL,CACD,MAAM,GAAG,KAAK,CACZ,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,EAAG,EAAE,CACV,CACD,GAAI,YACJ,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,IACJ,CACD,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,EAAG,EAAE,CACV,CACD,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,CACF,EAAG,EACH,EAAG,EACH,EAAG,EACJ,CAAE,CACD,EAAG,EACH,EAAG,EACH,EAAG,EACJ,CAAC,CACH,CACD,EAAG,CACD,EAAG,EACH,GAAI,EACJ,EAAG,CAAC,IAAK,IAAI,CACd,CACD,GAAI,CACF,EAAG,EACH,GAAI,EACJ,EAAG,EACJ,CACD,GAAI,CACF,EAAG,EACH,GAAI,EACJ,EAAG,EACJ,CACD,GAAI,KACL,CAAC,EAED,MAAQ,SAAS,IAAI,OAAO,EAAG,EAAG,MAAM,EAExC,MAAQ,SAAS,QAAQ,OAAO,EAAG,EAAG,MAAM,CAE7C,CAAC,MAAQ,SAAS,gBAAkB,GAGrC,MAAQ,SAAS,KAAK,cAAc,CAErC,YAAc,GAGhB,KAAO,EACP,IAAI,WAEJ,IAAK,IAAI,EAAGA,MAAM,MAAQ,SAAS,QAAQ,OAAS,EAAG,KAAK,EAAG,CAK7D,GAJA,WAAa,KAAO,OACpB,CAAC,MAAQ,SAAS,QAAQA,KAAG,QAAU,WACvC,KAAK,mBAAmB,MAAQ,SAAS,QAAQA,KAAG,GAAI,WAAW,CAE/D,CAAC,WAAY,CACf,IAAI,OAAS,MAAQ,SAAS,UAAUA,KAAG,GACvC,cAAgB,MAAM,MAAM,OAAS,GAErC,cAAc,UAAU,GAAG,IAAM,EAInC,cAAc,UAAU,GAAG,KAAO,IAHlC,cAAc,UAAU,GAAG,KAAO,GAClC,cAAc,UAAU,GAAG,EAAI,GAMnC,MAAQ,EAGV,CAAC,MAAQ,SAAS,eAAiB,OAEnC,IAAI,QAAU,MAAQ,SAAS,EAAE,EAC7B,aAAe,OAAS,EACxB,YAAc,OAAS,EAAI,KAAK,MAAM,OAAO,CAAG,KAAK,KAAK,OAAO,CACjE,QAAU,MAAQ,SAAS,QAAQ,MACnC,QAAU,MAAQ,SAAS,QAAQ,MACnC,QAAU,MAAQ,SAAS,QAAQ,OAEtC,MAAQ,SAAS,QAAQ,OAAO,EAEhC,MAAQ,SAAS,QAAQ,OAAO,EAEhC,MAAQ,SAAS,QAAQ,OAAO,EAEhC,MAAQ,SAAS,QAAQ,OAAO,EAEhC,MAAQ,SAAS,OAAO,OAAO,CAEhC,IAAI,UAAY,EAEhB,GAAI,OAAS,EAAG,CACd,KAAO,UAAY,aACjB,KAAK,iBAAiB,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,GAAI,EAAG,GAAM,CACrI,WAAa,EAGX,eACF,KAAK,iBAAiB,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,GAAI,aAAc,GAAM,CAChJ,WAAa,sBAEN,OAAS,EAAG,CACrB,KAAO,UAAY,aACjB,KAAK,iBAAiB,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,GAAI,EAAG,GAAK,CACpI,YAGE,eACF,KAAK,iBAAiB,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,GAAI,CAAC,aAAc,GAAK,CAChJ,WAAa,cAIjB,KAAK,MAAQ,SAAS,KAAK,IAAM,EAAI,GAAK,MAAQ,SAAS,eAAiB,EAC5E,KAAO,MAAQ,SAAS,KAAK,IAAM,EAAI,EAAI,GAC3C,MAAQ,MAAQ,SAAS,eAIzB,IAHA,IAAIe,IACA,KAEG,MAAM,CAQX,GAPA,OAAS,MAAQ,SAAS,UAAUf,KAAG,GACvC,eAAiB,MAAM,MAAM,OAAS,GAAG,UAAU,OAAO,EAAE,MAC5D,KAAO,eAAe,OACtB,MAAM,MAAM,OAAS,GAAG,UAAU,OAAO,KAAO,GAChD,MAAM,MAAM,OAAS,GAAG,UAAU,GAAG,KAAO,GAC5C,MAAM,MAAM,OAAS,GAAG,UAAU,GAAG,GAAK,MAAQ,SAAS,iBAAmB,GAAK,MAAQ,SAAS,GAAG,GAAK,MAAQ,SAAS,GAAG,IAAM,MAAQ,SAAS,GAAG,GAAK,MAAQ,SAAS,GAAG,IAAMA,MAAM,MAAQ,SAAS,eAAiB,IAE7N,YAAc,EAAG,CAWnB,KAVIA,MAAM,GAAK,MAAQ,GAAKA,OAAO,MAAQ,SAAS,eAAiB,GAAK,MAAQ,KAChF,KAAK,iBAAiB,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,SAAU,MAAQ,SAAS,GAAI,EAAG,GAAM,EAGtI,MAAQ,SAAS,OAAO,UAAU,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAI,EAEvN,MAAQ,SAAS,OAAO,UAAU,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAI,EAEvN,MAAQ,SAAS,OAAO,UAAU,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAI,CAEnN,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,eAAeA,MAAM,MAAQ,SAAS,OAAO,MAAMA,MAGpD,MAAQ,SAAS,OAAO,OAAO,MAIhC,KAFC,MAAQ,SAAS,OAAO,OAAO,CAE3B,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,eAAeA,MAAM,MAAQ,SAAS,OAAO,MAAMA,KAIvD,WAAa,EACb,OACA,KAAK,UAOP,IAJA,MAAQ,MAAQ,SAAS,eACzB,IAAI,EACJ,IAAM,EAEC,MACL,OAAS,MAAQ,SAAS,UAAUf,KAAG,GACvC,eAAiB,MAAM,MAAM,OAAS,GAAG,UAAU,OAAO,EAAE,MAC5D,MAAM,MAAM,OAAS,GAAG,UAAU,OAAO,KAAO,GAChD,MAAM,MAAM,OAAS,GAAG,UAAU,GAAG,KAAO,GAC5C,OACA,KAAK,IAIT,OAAO,aAGT,iBAAiB,UAAU,SAAW,UAAY,GAElD,eAAe,iBAAiB,KAAM,iBAAiB,CAGvD,SAAS,iBAAkB,CACzB,CAAC,MAAQ,SAAS,QAAU,EAC5B,CAAC,MAAQ,SAAS,WAAa,EAC/B,CAAC,MAAQ,SAAS,OAAS,kBAAkB,MAAQ,SAAS,WAAW,CAG3E,gBAAgB,UAAU,SAAW,SAAU,UAAW,EACnD,MAAQ,SAAS,WAAa,MAAQ,SAAS,aAClD,CAAC,MAAQ,SAAS,QAAU,MAAQ,SAAS,OAAO,OAAO,kBAAkB,MAAQ,SAAS,WAAW,CAAC,CAC1G,CAAC,MAAQ,SAAS,YAAc,GAGlC,CAAC,MAAQ,SAAS,QAAQ,MAAQ,SAAS,SAAW,UACtD,CAAC,MAAQ,SAAS,SAAW,GAG/B,gBAAgB,UAAU,cAAgB,UAAY,CACpD,IAAIA,IAEJ,IAAK,IAAI,EAAGA,KAAK,MAAQ,SAAS,QAAS,KAAK,EAC9C,UAAU,SAAS,MAAQ,SAAS,OAAOA,KAAG,CAGhD,CAAC,MAAQ,SAAS,QAAU,GAK9B,SAAS,aAAa,KAAM,KAAM,WAAU,UAAW,CACrD,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,UAAY,iBAAiB,KAAK,OAAO,CAC3D,CAAC,MAAQ,SAAS,SAAWoC,WAC7B,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,QAAU,GAC5B,CAAC,MAAQ,SAAS,UAAY,iBAAiB,UAAW,KAAK,OAAS,KAAK,OAAS,EAAI,EAAE,CAC5F,CAAC,MAAQ,SAAS,WAAa,iBAAiB,UAAW,EAAE,CAC7D,KAAK,6BAA6B,UAAU,CAC5C,IAAIpC,IACA,IAAM,KAAK,QAAU,EACrB,KAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAO,gBAAgB,QAAQ,KAAM,KAAKA,KAAG,EAAG,EAAG,EAAG,MAAQ,QAAQ,CACtE,CAAC,MAAQ,SAAS,EAAI,KAAK,IAAM,MAAQ,SAAS,EAClD,CAAC,MAAQ,SAAS,UAAUA,KAAK,CAC/B,EAAG,KAAKA,KAAG,EACX,EAAG,KACJ,EAGG,MAAQ,SAAS,GACrB,KAAK,SAAS,GAAK,CAGrB,CAAC,MAAQ,SAAS,aAAe,MAAQ,SAAS,EAGpD,aAAa,UAAU,SAAW,SAAU,YAAa,CACvD,MAAK,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,SAAW,CAAC,eAIhF,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,QAC9D,KAAK,0BAA0B,CAC/B,CAAC,MAAQ,SAAS,MAAQ,MAAQ,SAAS,MAAQ,aAE9C,MAAQ,SAAS,MAAM,CAC1B,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,UAAU,OAMtC,KAJK,MAAQ,SAAS,WAAa,QACjC,CAAC,MAAQ,SAAS,QAAU,IAGzB,IAAI,EAAGA,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,UAAUA,KAAG,IAAM,IAOvC,CAAC,MAAQ,SAAS,WAAW,IAAM,MAAQ,SAAS,UAAUA,KAAG,EAAE,GAN9D,MAAQ,SAAS,WAAa,MACjC,CAAC,MAAQ,SAAS,SAAW,KAAO,MAAQ,SAAS,UAAUA,KAAG,EAAE,EAEpE,CAAC,MAAQ,SAAS,UAAUA,MAAM,MAAQ,SAAS,UAAUA,KAAG,EAAE,IAS5E,gBAAgB,CAAC,yBAAyB,CAAE,aAAa,CAGzD,SAAS,iBAAiB,KAAM,KAAM,UAAW,CAC/C,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,EAAI,iBAAiB,SAAU,KAAK,EAAI,EAAE,CAC5D,IAAI,QAAU,KAAK,EAAE,EAAE,GAAG,EAAI,KAAK,EAAE,EAAE,GAAG,EAAE,OAAS,KAAK,EAAI,EAAI,KAAK,EAAE,EAAE,OAAS,KAAK,EAAI,EAC7F,CAAC,MAAQ,SAAS,EAAI,iBAAiB,UAAW,QAAQ,CAC1D,CAAC,MAAQ,SAAS,MAAQ,GAC1B,CAAC,MAAQ,SAAS,MAAQ,GAC1B,CAAC,MAAQ,SAAS,aAAe,KAAK,kBAAkB,CACxD,CAAC,MAAQ,SAAS,YAAc,QAChC,KAAK,6BAA6B,UAAU,CAC5C,CAAC,MAAQ,SAAS,KAAO,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACxF,CAAC,MAAQ,SAAS,GAAK,MAAQ,SAAS,KAAK,EAC7C,KAAK,SAAS,GAAK,CAGrB,iBAAiB,UAAU,cAAgB,SAAU,OAAQ,OAAQ,CAKnE,IAJA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,EAAE,OAAS,EACnC,KAEGA,IAAI,KAAK,CAGd,GAFA,KAAO,KAAK,IAAI,OAAOA,IAAI,GAAK,OAAO,OAAS,EAAIA,IAAI,GAAG,CAEvD,KAAO,IACT,MAAO,GAGT,KAAK,EAGP,MAAO,IAGT,iBAAiB,UAAU,iBAAmB,UAAY,CACxD,IAAK,MAAQ,SAAS,EAAE,OAAS,IAAO,MAAQ,SAAS,EAAE,OAAS,EAClE,MAAO,GAGT,IAAK,MAAQ,SAAS,KAAK,EAAE,EAAE,GAAG,EAIhC,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,KAAK,EAAE,EAAE,OAE9BA,IAAI,KAAK,CACd,GAAI,CAAC,KAAK,eAAe,MAAQ,SAAS,KAAK,EAAE,EAAEA,KAAG,GAAI,MAAQ,SAAS,KAAK,EAAE,CAChF,MAAO,GAGT,KAAK,UAEE,CAAC,KAAK,eAAe,MAAQ,SAAS,KAAK,EAAE,GAAI,MAAQ,SAAS,KAAK,EAAE,CAClF,MAAO,GAGT,MAAO,IAGT,iBAAiB,UAAU,SAAW,SAAU,YAAa,CAO3D,IANC,MAAQ,SAAS,KAAK,UAAU,CAEjC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,MAAQ,GAC1B,CAAC,MAAQ,SAAS,MAAQ,IAErB,MAAQ,SAAS,KAAK,MAAQ,YAAa,CAC9C,IAAIA,IACA,KAAO,MAAQ,SAAS,KAAK,EAAI,EACjC,KACA,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAOA,IAAI,GAAM,EAAI,IAAM,IAC3B,IAAM,KAAK,OAAO,MAAQ,SAAS,KAAK,EAAEA,KAAK,KAAK,EAE/C,MAAQ,SAAS,EAAEA,OAAO,MAC7B,CAAC,MAAQ,SAAS,EAAEA,KAAK,IACzB,CAAC,MAAQ,SAAS,MAAQ,CAAC,aAI/B,IAAK,MAAQ,SAAS,EAAE,OAGtB,IAFA,KAAO,MAAQ,SAAS,KAAK,EAAE,OAE1B,KAAK,MAAQ,SAAS,KAAK,EAAI,EAAGA,IAAI,IAAK,KAAK,EACnD,KAAOA,IAAI,GAAM,EAAI,IAAM,EAC3B,IAAMA,IAAI,GAAM,EAAI,KAAK,OAAO,MAAQ,SAAS,KAAK,EAAEA,KAAK,IAAI,EAAI,MAAQ,SAAS,KAAK,EAAEA,MAExF,MAAQ,SAAS,EAAEA,KAAK,MAAQ,SAAS,KAAK,EAAI,KAAO,MAC5D,CAAC,MAAQ,SAAS,EAAEA,KAAK,MAAQ,SAAS,KAAK,EAAI,GAAK,IACxD,CAAC,MAAQ,SAAS,MAAQ,CAAC,aAKjC,CAAC,MAAQ,SAAS,KAAO,CAAC,cAI9B,gBAAgB,CAAC,yBAAyB,CAAE,iBAAiB,CAG7D,IAAI,iBAAmB,SAAU,UAAW,OAAQ,OAAQ,IAAK,CAC/D,GAAI,SAAW,EACb,MAAO,GAGT,IAAI,GAAK,UAAU,EACf,GAAK,UAAU,EACf,GAAK,UAAU,EACfA,IACA,YAAc,KAAO,IAAI,wBAAwB,GAAG,GAAG,GAAI,GAAG,GAAG,GAAG,CAExE,IAAK,IAAI,EAAGA,IAAI,OAAQ,KAAK,EAC3B,aAAe,KAAO,IAAI,wBAAwB,GAAGA,IAAI,GAAG,GAAI,GAAGA,IAAI,GAAG,GAAG,CAAG,IAAM,IAAI,wBAAwB,GAAGA,KAAG,GAAI,GAAGA,KAAG,GAAG,CAAG,IAAM,IAAI,wBAAwB,GAAGA,KAAG,GAAI,GAAGA,KAAG,GAAG,CAQ/L,OALI,QAAU,SACZ,aAAe,KAAO,IAAI,wBAAwB,GAAGA,IAAI,GAAG,GAAI,GAAGA,IAAI,GAAG,GAAG,CAAG,IAAM,IAAI,wBAAwB,GAAG,GAAG,GAAI,GAAG,GAAG,GAAG,CAAG,IAAM,IAAI,wBAAwB,GAAG,GAAG,GAAI,GAAG,GAAG,GAAG,CAC7L,aAAe,KAGV,aAOL,uBAAyB,UAAY,CACvC,SAAS,gBAAgB,aAAc,CACrC,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,QAAU,EAC5B,CAAC,MAAQ,SAAS,SAAW,GAqF/B,MAlFA,iBAAgB,UAAY,CAC1B,SAAU,SAAU,MAAO,EACxB,MAAQ,SAAS,OAAO,KAAK,MAAM,EAEtC,MAAO,UAAY,CACjB,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,OAAO,EAGvC,OAAQ,UAAY,CAClB,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,QAAQ,EAGxC,QAAS,SAAU,UAAW,CAC5B,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,QAAQ,UAAU,EAGlD,YAAa,SAAU,UAAW,CAWhC,OAVK,MAAQ,SAAS,aACb,KAAK,aAAa,UAAU,CAGjC,KACK,IAAI,KAAK,CACd,IAAK,CAAC,UAAU,CACjB,CAAC,CAGG,CACL,UAAW,GACX,KAAM,UAAY,CAChB,CAAC,MAAQ,SAAS,UAAY,IAEhC,KAAM,UAAY,CAChB,CAAC,MAAQ,SAAS,UAAY,IAEhC,QAAS,UAAY,GACrB,KAAM,UAAY,GAClB,UAAW,UAAY,GACxB,EAEH,gBAAiB,SAAU,aAAc,CACvC,CAAC,MAAQ,SAAS,aAAe,cAEnC,UAAW,SAAU,MAAO,CAC1B,CAAC,MAAQ,SAAS,QAAU,MAE5B,KAAK,eAAe,EAEtB,KAAM,UAAY,CAChB,CAAC,MAAQ,SAAS,SAAW,GAE7B,KAAK,eAAe,EAEtB,OAAQ,UAAY,CAClB,CAAC,MAAQ,SAAS,SAAW,GAE7B,KAAK,eAAe,EAEtB,UAAW,UAAY,CACrB,OAAQ,MAAQ,SAAS,SAE3B,cAAe,UAAY,CACzB,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,QAAQ,MAAQ,SAAS,UAAY,MAAQ,SAAS,SAAW,EAAI,GAAG,EAGzG,CACM,UAAY,CACjB,OAAO,IAAI,mBAEZ,CAMC,eAAiB,UAAY,CAC/B,IAAI,WAAa,UAAY,CAC3B,IAAI,OAAS,UAAU,SAAS,CAChC,OAAO,MAAQ,EACf,OAAO,OAAS,EAChB,IAAI,IAAM,OAAO,WAAW,KAAK,CAGjC,MAFA,KAAI,UAAY,gBAChB,IAAI,SAAS,EAAG,EAAG,EAAG,EAAE,CACjB,SACN,CAEH,SAAS,aAAc,CACrB,CAAC,MAAQ,SAAS,cAAgB,GAE7B,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,cAAgB,MAAQ,SAAS,uBAAyB,MAAQ,SAAS,gBAC7H,MAAQ,SAAS,gBACpB,KAAK,eAAe,KAAK,CAK/B,SAAS,eAAgB,CACvB,CAAC,MAAQ,SAAS,qBAAuB,GAEpC,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,cAAgB,MAAQ,SAAS,uBAAyB,MAAQ,SAAS,gBAC7H,MAAQ,SAAS,gBACpB,KAAK,eAAe,KAAK,CAK/B,SAAS,cAAc,UAAW,WAAY,aAAc,CAC1D,IAAI,KAAO,GAEX,GAAI,UAAU,EACZ,KAAO,UAAU,UACR,WAAY,CACrB,IAAI,UAAY,UAAU,EAEtB,UAAU,QAAQ,UAAU,GAAK,KACnC,UAAY,UAAU,MAAM,IAAI,CAAC,IAGnC,KAAO,WAAa,eAEpB,KAAO,aACP,MAAQ,UAAU,EAAI,UAAU,EAAI,GACpC,MAAQ,UAAU,EAGpB,OAAO,KAGT,SAAS,gBAAgB,IAAK,CAC5B,IAAI,OAAS,EACT,WAAa,YAAY,UAAY,EAC7B,IAAI,SAAS,CAEf,OAAS,OAAS,OACxB,KAAK,cAAc,CAEnB,cAAc,WAAW,EAG3B,QAAU,GACV,KAAK,MAAQ,QAAQ,CAAE,GAAG,CAG9B,SAAS,gBAAgB,UAAW,CAClC,IAAI,KAAO,cAAc,WAAY,MAAQ,SAAS,YAAa,MAAQ,SAAS,KAAK,CACrF,IAAM,SAAS,QAAQ,CAEvB,SACF,KAAK,gBAAgB,IAAI,CAEzB,IAAI,iBAAiB,QAAS,MAAQ,SAAS,aAAc,GAAM,CAGrE,IAAI,iBAAiB,QAAS,UAAY,CACxC,GAAG,IAAM,WAET,KAAK,cAAc,EACnB,KAAK,MAAQ,QAAQ,CAAE,GAAM,CAC/B,IAAI,eAAe,+BAAgC,OAAQ,KAAK,EAE3D,MAAQ,SAAS,eAAe,QAClC,MAAQ,SAAS,eAAe,OAAO,IAAI,EAE3C,MAAQ,SAAS,eAAe,YAAY,IAAI,CAGnD,IAAI,GAAK,CACF,IACM,UACZ,CACD,OAAO,GAGT,SAAS,cAAc,UAAW,CAChC,IAAI,KAAO,cAAc,WAAY,MAAQ,SAAS,YAAa,MAAQ,SAAS,KAAK,CACrF,IAAM,UAAU,MAAM,CAC1B,IAAI,YAAc,YAClB,IAAI,iBAAiB,QAAS,MAAQ,SAAS,aAAc,GAAM,CACnE,IAAI,iBAAiB,QAAS,UAAY,CACxC,GAAG,IAAM,WAET,KAAK,cAAc,EACnB,KAAK,MAAQ,QAAQ,CAAE,GAAM,CAC/B,IAAI,IAAM,KACV,IAAI,GAAK,CACF,IACM,UACZ,CACD,OAAO,GAGT,SAAS,kBAAkB,KAAM,CAC/B,IAAI,GAAK,CACP,UAAW,KACZ,CACG,KAAO,cAAc,MAAO,MAAQ,SAAS,YAAa,MAAQ,SAAS,KAAK,CAUpF,OATA,YAAY,KAAK,KAAM,SAAU,YAAa,CAC5C,GAAG,IAAM,YAET,KAAK,gBAAgB,EACrB,KAAK,MAAQ,QAAQ,CAAE,UAAY,CACnC,GAAG,IAAM,EAAE,CAEX,KAAK,gBAAgB,EACrB,KAAK,MAAQ,QAAQ,CAAC,CACjB,GAGT,SAAS,WAAW,OAAQ,GAAI,CAC9B,CAAC,MAAQ,SAAS,eAAiB,GACnC,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACnB,OAAOA,KAAG,SACR,OAAOA,KAAG,EAIJ,OAAOA,KAAG,IAAM,IACzB,CAAC,MAAQ,SAAS,eAAiB,GAElC,MAAQ,SAAS,OAAO,KAAK,KAAK,kBAAkB,OAAOA,KAAG,CAAC,GANhE,CAAC,MAAQ,SAAS,aAAe,GAEhC,MAAQ,SAAS,OAAO,KAAK,KAAK,iBAAiB,OAAOA,KAAG,CAAC,GAUvE,SAAS,QAAQ,KAAM,CACrB,CAAC,MAAQ,SAAS,KAAO,MAAQ,GAGnC,SAAS,cAAc,KAAM,CAC3B,CAAC,MAAQ,SAAS,WAAa,MAAQ,GAGzC,SAAS,SAAS,UAAW,CAI3B,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,OAAO,OAE5BA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,OAAOA,KAAG,YAAc,UAC5C,OAAQ,MAAQ,SAAS,OAAOA,KAAG,IAGrC,KAAK,EAGP,OAAO,KAGT,SAASqC,WAAU,CACjB,CAAC,MAAQ,SAAS,eAAiB,KACnC,CAAC,MAAQ,SAAS,OAAO,OAAS,EAGpC,SAAS,cAAe,CACtB,OAAQ,MAAQ,SAAS,eAAiB,MAAQ,SAAS,aAG7D,SAAS,gBAAiB,CACxB,OAAQ,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,oBAG/D,SAAS,aAAa,KAAM,cAAe,CACrC,OAAS,OACX,CAAC,MAAQ,SAAS,eAAiB,cACnC,CAAC,MAAQ,SAAS,kBAAoB,MAAQ,SAAS,gBAAgB,KAAK,MAAQ,QAAQ,EAE5F,CAAC,MAAQ,SAAS,kBAAoB,MAAQ,SAAS,cAAc,KAAK,MAAQ,QAAQ,CAI9F,SAAS,uBAAwB,CAC/B,CAAC,MAAQ,SAAS,aAAe,YAAY,KAAK,MAAQ,QAAQ,CAClE,CAAC,MAAQ,SAAS,eAAiB,cAAc,KAAK,MAAQ,QAAQ,CACtE,CAAC,MAAQ,SAAS,gBAAkB,gBAAgB,KAAK,MAAQ,QAAQ,CACzE,CAAC,MAAQ,SAAS,kBAAoB,kBAAkB,KAAK,MAAQ,QAAQ,CAC7E,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,YAAc,EAChC,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,aAAe,EACjC,CAAC,MAAQ,SAAS,oBAAsB,EACxC,CAAC,MAAQ,SAAS,eAAiB,KACnC,CAAC,MAAQ,SAAS,OAAS,EAAE,CAiB/B,MAdA,uBAAsB,UAAY,CACpB,WACG,cACN,QACK,aACE,eAChB,QAASA,UACC,SACK,cACE,gBACJ,YACE,cACD,aACf,CACM,wBACN,CAIC,eAAiB,UAAY,CAC/B,IAAI,GAAK,CACP,SAAU,GACX,CAMD,OAJI,WAAW,KAAK,UAAU,UAAU,EAAI,UAAU,KAAK,UAAU,UAAU,EAAI,WAAW,KAAK,UAAU,UAAU,EAAI,aAAa,KAAK,UAAU,UAAU,IAC/J,GAAG,SAAW,IAGT,KACN,CAMC,eAAiB,UAAY,CAC/B,IAAI,GAAK,EAAE,CACX,GAAG,aAAe,aAClB,GAAG,6BAA+B,6BAElC,SAAS,aAAa,MAAO,gBAAiB,CAC5C,IAAI,IAAM,SAAS,SAAS,CAW5B,OAVA,IAAI,aAAa,KAAM,MAAM,CAEzB,kBAAoB,KACtB,IAAI,aAAa,cAAe,oBAAoB,CACpD,IAAI,aAAa,IAAK,KAAK,CAC3B,IAAI,aAAa,IAAK,KAAK,CAC3B,IAAI,aAAa,QAAS,OAAO,CACjC,IAAI,aAAa,SAAU,OAAO,EAG7B,IAGT,SAAS,8BAA+B,CACtC,IAAI,cAAgB,SAAS,gBAAgB,CAI7C,OAHA,cAAc,aAAa,OAAQ,SAAS,CAC5C,cAAc,aAAa,8BAA+B,OAAO,CACjE,cAAc,aAAa,SAAU,6CAA6C,CAC3E,cAGT,OAAO,KACN,CAIC,YAAc,UAAY,CAC5B,SAAS,eAAe,IAAK,CAa3B,OAZI,IAAI,UAAY,OAAO,IAAI,UAAa,SACnC,IAAI,SAGT,IAAI,UAAY,OAAO,IAAI,UAAa,SACnC,KAAK,MAAM,IAAI,SAAS,CAG7B,IAAI,aACC,KAAK,MAAM,IAAI,aAAa,CAG9B,KAGT,SAAS,UAAU,KAAM,SAAU,cAAe,CAChD,IAAI,SACA,IAAM,IAAI,eAEd,GAAI,CAEF,IAAI,aAAe,YACP,EAGd,IAAI,mBAAqB,UAAY,CACnC,GAAI,IAAI,aAAe,EACrB,GAAI,IAAI,SAAW,IACjB,SAAW,eAAe,IAAI,CAC9B,SAAS,SAAS,MAElB,GAAI,CACF,SAAW,eAAe,IAAI,CAC9B,SAAS,SAAS,OACX,IAAK,CACR,eACF,cAAc,IAAI,GAO5B,IAAI,KAAK,MAAO,KAAM,GAAK,CAC3B,IAAI,MAAM,CAGZ,MAAO,CACL,KAAM,UACP,GACA,CAKH,SAAS,qBAAqB,SAAU,WAAY,KAAM,CACxD,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,UAAY,SAC9B,CAAC,MAAQ,SAAS,YAAc,WAChC,CAAC,MAAQ,SAAS,MAAQ,KAC1B,CAAC,MAAQ,SAAS,eAAiB,kBAAkB,MAAQ,SAAS,UAAU,EAAE,OAAO,CACzF,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,aAAe,CAC/B,UAAW,EAAE,CACd,CACD,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,mBAAqB,GACvC,KAAK,6BAA6B,KAAK,CAGzC,qBAAqB,UAAU,iBAAmB,UAAY,CAC5D,IAAIrC,IACA,KAAO,MAAQ,SAAS,UAAU,EAAE,OACpC,cACA,QAAU,gBAAgB,QAE9B,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,eAAiB,MAAQ,SAAS,UAAU,EAAEA,KAC9C,CAAC,MAAQ,SAAS,eAAeA,KAAK,IAAI,0BAA0B,MAAQ,SAAS,MAAO,cAAe,MAAQ,QAAQ,EAGxH,MAAQ,SAAS,UAAU,GAAK,MAAQ,MAAQ,SAAS,UAAU,GACtE,CAAC,MAAQ,SAAS,UAAY,CAC5B,EAAG,SAAS,MAAQ,SAAS,OAAQ,MAAQ,SAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAC3F,EAAG,SAAS,MAAQ,SAAS,OAAQ,MAAQ,SAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAC3F,GAAI,MAAQ,SAAS,UAAU,EAAE,EACjC,GAAI,MAAQ,SAAS,MAAM,YAAY,iBAAiB,MAAQ,SAAS,UAAU,EAAE,EAAE,CACxF,CACD,CAAC,MAAQ,SAAS,eAAiB,IAEnC,CAAC,MAAQ,SAAS,eAAiB,GAGrC,CAAC,MAAQ,SAAS,aAAa,UAAY,SAAS,MAAQ,SAAS,OAAQ,MAAQ,SAAS,UAAU,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,EAGrI,qBAAqB,UAAU,YAAc,SAAU,aAAc,mBAAoB,CACvF,IAAC,MAAQ,SAAS,mBAAqB,mBAEnC,IAAE,MAAQ,SAAS,MAAQ,EAAE,MAAQ,SAAS,eAAiB,CAAC,qBAAuB,EAAE,MAAQ,SAAS,gBAAkB,EAAE,MAAQ,SAAS,UAAU,EAAE,OAI/J,EAAC,MAAQ,SAAS,cAAgB,GAClC,IAAI,WAAa,MAAQ,SAAS,aAAa,UAAU,EACrD,WAAa,MAAQ,SAAS,eAC9B,UAAY,MAAQ,SAAS,UAC7B,cAAgB,MAAQ,SAAS,QACjC,YAAc,MAAQ,SAAS,YAC/B,sBAAwB,MAAQ,SAAS,gBAAgB,OACzD,KACA,KACAA,IACA,IACA,QAAU,aAAa,EACvB,SACA,cACA,aACA,cACA,KACA,SACA,WACA,UACA,OACA,SACA,cACA,YACA,KACA,SACA0B,OAEJ,IAAK,MAAQ,SAAS,eAAgB,CAGpC,GAFA,QAAQ,MAAQ,SAAS,UAAU,EAE/B,EAAE,MAAQ,SAAS,UAAU,IAAM,MAAQ,SAAS,UAAU,KAAM,CACtE,IAAI,MAAQA,OAAK,GAEZ,MAAQ,SAAS,UAAU,IAC9B,MAAQ,MAAM,SAAS,EAIzB,SAAW,CACT,QAAS,EACT,SAAU,EAAE,CACb,CACD,IAAM,MAAM,QAAU,EACtB,IAAI,WAGJ,IAFA,YAAc,EAET,IAAI,EAAG1B,IAAI,IAAK,KAAK,EACxB,WAAa,IAAI,gBAAgB,MAAM,EAAEA,KAAI,MAAM,EAAEA,IAAI,GAAI,CAAC,MAAM,EAAEA,KAAG,GAAK,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAK,MAAM,EAAEA,KAAG,GAAG,CAAE,CAAC,MAAM,EAAEA,IAAI,GAAG,GAAK,MAAM,EAAEA,IAAI,GAAG,GAAI,MAAM,EAAEA,IAAI,GAAG,GAAK,MAAM,EAAEA,IAAI,GAAG,GAAG,CAAC,CAC5M,SAAS,SAAW,WAAW,cAC/B,SAAS,SAAS,KAAK,WAAW,CAClC,aAAe,WAAW,cAG5B,IAAI,IAEA0B,OAAK,EAAE,IACT,WAAa,IAAI,gBAAgB,MAAM,EAAE1B,KAAI,MAAM,EAAE,GAAI,CAAC,MAAM,EAAEA,KAAG,GAAK,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAK,MAAM,EAAEA,KAAG,GAAG,CAAE,CAAC,MAAM,EAAE,GAAG,GAAK,MAAM,EAAE,GAAG,GAAI,MAAM,EAAE,GAAG,GAAK,MAAM,EAAE,GAAG,GAAG,CAAC,CACxL,SAAS,SAAW,WAAW,cAC/B,SAAS,SAAS,KAAK,WAAW,CAClC,aAAe,WAAW,eAG5B,CAAC,MAAQ,SAAS,UAAU,GAAK,SAWnC,GARA,UAAY,MAAQ,SAAS,UAAU,GACvC,eAAiB,MAAQ,SAAS,UAAU,EAAE,EAC9C,WAAa,EACb,SAAW,EACX,cAAgB,EAChB,KAAO,GACP,SAAW,SAAS,SAEhB,cAAgB,GAAK0B,OAAK,EAAE,EAS9B,IARI,SAAS,QAAU,KAAK,IAAI,cAAc,GAC5C,cAAgB,CAAC,KAAK,IAAI,cAAc,CAAG,SAAS,SAGtD,WAAa,SAAS,OAAS,EAC/B,OAAS,SAAS,YAAY,OAC9B,SAAW,OAAO,OAAS,EAEpB,cAAgB,GACrB,eAAiB,OAAO,UAAU,cAClC,WAEI,SAAW,IACb,aACA,OAAS,SAAS,YAAY,OAC9B,SAAW,OAAO,OAAS,GAKjC,OAAS,SAAS,YAAY,OAC9B,UAAY,OAAO,SAAW,GAC9B,aAAe,OAAO,UACtB,cAAgB,aAAa,cAG/B,IAAM,QAAQ,OACd,KAAO,EACP,KAAO,EACP,IAAI,KAAO,aAAa,UAAY,IAAM,KACtC,UAAY,GACZ,cACA,iBACAX,IACA,KAEG,UAAU,OADb,YAEA,KACA,IAAM,GACN,KACA,SACA,SACA,YAAc,cACd,eAAiB,WACjB,aAAe,SACf,YAAc,GACd,YACA,GACA,GACA,GACAC,IACA,SACA,SACA,SACA,QAAU,GACV,SAAW,MAAQ,SAAS,kBAC5B,QAEJ,GAAI,aAAa,IAAM,GAAK,aAAa,IAAM,EAAG,CAChD,IAAI,sBAAwB,EACxB,wBAA0B,EAC1B,kBAAoB,aAAa,IAAM,EAAI,IAAO,GAClD,UAAY,EACZ,UAAY,GAEhB,IAAK,IAAI,EAAGhB,IAAI,IAAK,KAAK,EACxB,GAAI,QAAQA,KAAG,EAAG,CAKhB,IAJI,wBACF,uBAAyB,yBAGpB,UAAYA,KACjB,QAAQ,WAAW,sBAAwB,sBAC3C,WAAa,EAGf,sBAAwB,EACxB,UAAY,OACP,CACL,IAAK,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WACd,WAAa,aAAa,IAAM,IAClC,yBAA2B,cAAc,EAAE,EAAI,mBAGjD,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,KAAK,OACP,uBAAyB,cAAc,EAAE,EAAI,KAAK,GAAK,kBAEvD,uBAAyB,cAAc,EAAE,EAAI,KAAO,mBAK1D,UAAY,GAQhB,IAJI,wBACF,uBAAyB,yBAGpB,UAAYf,KACjB,QAAQ,WAAW,sBAAwB,sBAC3C,WAAa,EAKjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAAG,CAI3B,GAHA,aAAa,OAAO,CACpB,YAAc,EAEV,QAAQA,KAAG,EACb,KAAO,EACP,MAAQ,aAAa,QACrB,MAAQ,UAAY,EAAI,EACxB,cAAgB,YAChB,UAAY,IAEP,MAAQ,SAAS,iBACpB,WAAa,eACb,SAAW,aACX,OAAS,SAAS,YAAY,OAC9B,UAAY,OAAO,SAAW,GAC9B,aAAe,OAAO,UACtB,cAAgB,aAAa,cAC7B,cAAgB,GAGlB,QAAU,GACV,SAAW,GACX,SAAW,GACX,QAAU,GACV,SAAW,MAAQ,SAAS,sBACvB,CACL,IAAK,MAAQ,SAAS,eAAgB,CACpC,GAAI,cAAgB,QAAQA,KAAG,KAAM,CACnC,OAAQ,aAAa,EAArB,CACE,IAAK,GACH,eAAiB,YAAc,aAAa,WAAW,QAAQA,KAAG,MAClE,MAEF,IAAK,GACH,gBAAkB,YAAc,aAAa,WAAW,QAAQA,KAAG,OAAS,EAC5E,MAEF,QACE,MAGJ,YAAc,QAAQA,KAAG,KAGvB,MAAQ,QAAQA,KAAG,MACjB,QAAQ,OACV,eAAiB,QAAQ,KAAK,OAGhC,eAAiB,QAAQA,KAAG,GAAK,EACjC,IAAM,QAAQA,KAAG,KAGnB,eAAiB,UAAU,GAAK,QAAQA,KAAG,GAAK,KAChD,IAAI,eAAiB,EAErB,IAAK,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,KAAK,OACP,gBAAkB,cAAc,EAAE,EAAE,GAAK,KAAK,GAE9C,gBAAkB,cAAc,EAAE,EAAE,GAAK,MAIzC,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,KAAK,OACP,gBAAkB,cAAc,EAAE,EAAE,GAAK,KAAK,GAE9C,gBAAkB,cAAc,EAAE,EAAE,GAAK,MAO/C,IAFA,KAAO,GAEA,MACD,cAAgB,eAAiB,cAAgB,gBAAkB,CAAC,QACtE,MAAQ,cAAgB,eAAiB,eAAiB,aAAa,cACvE,SAAW,UAAU,MAAM,IAAM,aAAa,MAAM,GAAK,UAAU,MAAM,IAAM,KAC/E,SAAW,UAAU,MAAM,IAAM,aAAa,MAAM,GAAK,UAAU,MAAM,IAAM,KAC/E,aAAa,UAAU,CAAC,UAAU,GAAK,QAAQf,KAAG,GAAK,KAAO,EAAE,UAAU,GAAK,MAAQ,IAAK,CAC5F,KAAO,IACE,SACT,eAAiB,aAAa,cAC9B,UAAY,EAER,UAAY,OAAO,SACrB,SAAW,EACX,YAAc,EAET,SAAS,YAUZ,OAAS,SAAS,YAAY,OAT1B0B,OAAK,EAAE,GACT,SAAW,EACX,WAAa,EACb,OAAS,SAAS,YAAY,SAE9B,eAAiB,aAAa,cAC9B,OAAS,OAOX,SACF,UAAY,aACZ,aAAe,OAAO,UACtB,cAAgB,aAAa,gBAKnC,KAAO,QAAQ1B,KAAG,GAAK,EAAI,QAAQA,KAAG,IACtC,aAAa,UAAU,CAAC,KAAM,EAAG,EAAE,MAEnC,KAAO,QAAQA,KAAG,GAAK,EAAI,QAAQA,KAAG,IACtC,aAAa,UAAU,CAAC,KAAM,EAAG,EAAE,CAEnC,aAAa,UAAU,CAAC,UAAU,GAAK,QAAQA,KAAG,GAAK,KAAO,CAAC,UAAU,GAAK,KAAO,IAAM,EAAE,CAG/F,IAAK,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,EAEhF,OAAS,GAAK,aAAa,IAAM,MAC9B,MAAQ,SAAS,eAChB,KAAK,OACP,eAAiB,cAAc,EAAE,EAAI,KAAK,GAE1C,eAAiB,cAAc,EAAE,EAAI,KAE9B,KAAK,OACd,MAAQ,cAAc,EAAE,EAAI,KAAK,GAEjC,MAAQ,cAAc,EAAE,EAAI,OAsBpC,IAhBI,aAAa,kBACf,GAAK,aAAa,IAAM,GAGtB,aAAa,kBACf,AAGE,GAHE,aAAa,GACV,CAAC,aAAa,GAAG,GAAI,aAAa,GAAG,GAAI,aAAa,GAAG,GAAG,CAE5D,CAAC,EAAG,EAAG,EAAE,EAId,aAAa,eAAiB,aAAa,KAC7C,GAAK,CAAC,aAAa,GAAG,GAAI,aAAa,GAAG,GAAI,aAAa,GAAG,GAAG,EAG9D,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,KAAK,OACP,aAAa,UAAU,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,GAAI,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,GAAI,cAAc,EAAE,EAAE,GAAK,KAAK,GAAG,CAExH,aAAa,UAAU,CAAC,cAAc,EAAE,EAAE,GAAK,KAAM,CAAC,cAAc,EAAE,EAAE,GAAK,KAAM,cAAc,EAAE,EAAE,GAAK,KAAK,EAKrH,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,KAAK,OACP,aAAa,MAAM,GAAK,cAAc,EAAE,EAAE,GAAK,GAAK,KAAK,GAAI,GAAK,cAAc,EAAE,EAAE,GAAK,GAAK,KAAK,GAAI,EAAE,CAEzG,aAAa,MAAM,GAAK,cAAc,EAAE,EAAE,GAAK,GAAK,KAAM,GAAK,cAAc,EAAE,EAAE,GAAK,GAAK,KAAM,EAAE,EAKzG,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EAAG,CAqD5B,GApDA,cAAgB,UAAUA,KAAG,EAC7B,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,CAEhF,cAAc,GAAG,WACf,KAAK,OACP,aAAa,aAAa,CAAC,cAAc,GAAG,EAAI,KAAK,GAAI,cAAc,GAAG,EAAI,KAAK,GAAG,CAEtF,aAAa,aAAa,CAAC,cAAc,GAAG,EAAI,KAAM,cAAc,GAAG,EAAI,KAAK,EAIhF,cAAc,EAAE,WACd,KAAK,OACP,aAAa,QAAQ,CAAC,cAAc,EAAE,EAAI,KAAK,GAAG,CAElD,aAAa,QAAQ,CAAC,cAAc,EAAE,EAAI,KAAK,EAI/C,cAAc,GAAG,WACf,KAAK,OACP,aAAa,QAAQ,cAAc,GAAG,EAAI,KAAK,GAAG,CAElD,aAAa,QAAQ,cAAc,GAAG,EAAI,KAAK,EAI/C,cAAc,GAAG,WACf,KAAK,OACP,aAAa,QAAQ,cAAc,GAAG,EAAI,KAAK,GAAG,CAElD,aAAa,QAAQ,cAAc,GAAG,EAAI,KAAK,EAI/C,cAAc,EAAE,WACd,KAAK,OACP,cAAgB,cAAc,EAAE,EAAI,KAAK,GAAK,aAAe,KAAK,GAElE,cAAgB,cAAc,EAAE,EAAI,KAAO,aAAe,MAI1D,aAAa,iBAAmB,cAAc,GAAG,WAC/C,KAAK,OACP,IAAM,cAAc,GAAG,EAAI,KAAK,GAEhC,IAAM,cAAc,GAAG,EAAI,MAI3B,aAAa,iBAAmB,cAAc,GAAG,SACnD,IAAK,IAAI,EAAGC,IAAI,EAAG,KAAK,EAClB,KAAK,OACP,GAAGA,OAAO,cAAc,GAAG,EAAEA,KAAK,GAAGA,MAAM,KAAK,GAEhD,GAAGA,OAAO,cAAc,GAAG,EAAEA,KAAK,GAAGA,MAAM,KAKjD,GAAI,aAAa,eAAiB,aAAa,GAAI,CACjD,GAAI,cAAc,GAAG,SACnB,IAAK,IAAI,EAAGA,IAAI,EAAG,KAAK,EAClB,KAAK,OACP,GAAGA,OAAO,cAAc,GAAG,EAAEA,KAAK,GAAGA,MAAM,KAAK,GAEhD,GAAGA,OAAO,cAAc,GAAG,EAAEA,KAAK,GAAGA,MAAM,KAK7C,cAAc,GAAG,WACnB,AAGE,GAHE,KAAK,OACF,YAAY,GAAI,cAAc,GAAG,EAAI,KAAK,GAAG,CAE7C,YAAY,GAAI,cAAc,GAAG,EAAI,KAAK,EAI/C,cAAc,GAAG,WACnB,AAGE,GAHE,KAAK,OACF,mBAAmB,GAAI,cAAc,GAAG,EAAI,KAAK,GAAG,CAEpD,mBAAmB,GAAI,cAAc,GAAG,EAAI,KAAK,EAItD,cAAc,GAAG,WACnB,AAGE,GAHE,KAAK,OACF,mBAAmB,GAAI,cAAc,GAAG,EAAI,KAAK,GAAG,CAEpD,mBAAmB,GAAI,cAAc,GAAG,EAAI,KAAK,GAM9D,IAAK,IAAI,EAAGD,IAAI,KAAM,KAAK,EACzB,cAAgB,UAAUA,KAAG,EAEzB,cAAc,EAAE,WAClB,iBAAmB,UAAUA,KAAG,EAChC,KAAO,iBAAiB,QAAQ,QAAQf,KAAG,UAAUe,KAAI,SAAS,EAAEA,KAAG,EAAE,WAAW,EAE/E,MAAQ,SAAS,eAChB,KAAK,OACP,aAAa,UAAU,EAAG,cAAc,EAAE,EAAE,GAAK,KAAK,GAAI,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,GAAG,CAE1F,aAAa,UAAU,EAAG,cAAc,EAAE,EAAE,GAAK,KAAM,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,CAE7E,KAAK,OACd,aAAa,UAAU,cAAc,EAAE,EAAE,GAAK,KAAK,GAAI,cAAc,EAAE,EAAE,GAAK,KAAK,GAAI,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,GAAG,CAEvH,aAAa,UAAU,cAAc,EAAE,EAAE,GAAK,KAAM,cAAc,EAAE,EAAE,GAAK,KAAM,CAAC,cAAc,EAAE,EAAE,GAAK,KAAK,EAiBpH,GAZI,aAAa,kBACf,SAAW,GAAK,EAAI,EAAI,IAGtB,aAAa,kBACf,SAAW,OAAS,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,KAG5G,aAAa,eAAiB,aAAa,KAC7C,SAAW,OAAS,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,GAAG,GAAK,IAAI,CAAG,MAG3G,MAAQ,SAAS,eAAgB,CAIpC,GAHA,aAAa,UAAU,EAAG,CAAC,aAAa,GAAG,CAC3C,aAAa,UAAU,EAAG,UAAU,GAAK,KAAO,IAAO,KAAM,EAAE,CAE3D,SAAS,EAAE,EAAG,CAChB,UAAY,aAAa,MAAM,GAAK,UAAU,MAAM,KAAO,aAAa,MAAM,GAAK,UAAU,MAAM,IACnG,IAAI,IAAM,KAAK,KAAK,SAAS,CAAG,IAAM,KAAK,GAEvC,aAAa,MAAM,GAAK,UAAU,MAAM,KAC1C,KAAO,KAGT,aAAa,OAAO,CAAC,IAAM,KAAK,GAAK,IAAI,CAG3C,aAAa,UAAU,SAAU,SAAU,EAAE,CAC7C,eAAiB,UAAU,GAAK,QAAQf,KAAG,GAAK,KAE5C,QAAQA,IAAI,IAAM,MAAQ,QAAQA,IAAI,GAAG,MAC3C,eAAiB,QAAQA,KAAG,GAAK,EACjC,eAAiB,aAAa,GAAK,KAAQ,aAAa,eAErD,CAQL,OAPA,aAAa,UAAU,KAAM,KAAM,EAAE,CAEjC,aAAa,IAEf,aAAa,UAAU,aAAa,GAAG,GAAI,aAAa,GAAG,GAAK,aAAa,OAAQ,EAAE,CAGjF,aAAa,EAArB,CACE,IAAK,GACH,aAAa,UAAU,QAAQA,KAAG,sBAAwB,aAAa,eAAiB,aAAa,SAAW,aAAa,WAAW,QAAQA,KAAG,OAAQ,EAAG,EAAE,CAChK,MAEF,IAAK,GACH,aAAa,UAAU,QAAQA,KAAG,sBAAwB,aAAa,eAAiB,aAAa,SAAW,aAAa,WAAW,QAAQA,KAAG,OAAS,EAAG,EAAG,EAAE,CACpK,MAEF,QACE,MAGJ,aAAa,UAAU,EAAG,CAAC,aAAa,GAAG,CAC3C,aAAa,UAAU,KAAM,EAAG,EAAE,CAClC,aAAa,UAAU,UAAU,GAAK,QAAQA,KAAG,GAAK,KAAO,UAAU,GAAK,KAAO,IAAM,EAAE,CAC3F,MAAQ,QAAQA,KAAG,EAAI,aAAa,GAAK,KAAQ,aAAa,UAG5D,aAAe,OACjB,QAAU,aAAa,OAAO,CACrB,aAAe,MACxB,QAAU,aAAa,SAAS,CAEhC,QAAU,CAAC,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,GAAI,aAAa,MAAM,IAAK,aAAa,MAAM,IAAK,aAAa,MAAM,IAAK,aAAa,MAAM,IAAK,aAAa,MAAM,IAAK,aAAa,MAAM,IAAI,CAGlY,QAAU,YAGR,sBAAwBA,KAC1B,YAAc,IAAI,YAAY,QAAS,SAAU,SAAU,SAAU,QAAS,QAAQ,EAErF,MAAQ,SAAS,gBAAgB,KAAK,YAAY,CAEnD,sBAAwB,EACxB,CAAC,MAAQ,SAAS,mBAAqB,KAEvC,aAAe,MAAQ,SAAS,gBAAgBA,KAChD,CAAC,MAAQ,SAAS,mBAAqB,YAAY,OAAO,QAAS,SAAU,SAAU,SAAU,QAAS,QAAQ,GAAK,MAAQ,SAAS,uBAK9I,qBAAqB,UAAU,SAAW,UAAY,EAC/C,MAAQ,SAAS,MAAM,WAAW,WAAa,MAAQ,SAAS,WAIrE,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,MAAM,WAAW,QAChE,KAAK,0BAA0B,GAGjC,qBAAqB,UAAU,QAAU,IAAI,OAC7C,qBAAqB,UAAU,kBAAoB,EAAE,CACrD,gBAAgB,CAAC,yBAAyB,CAAE,qBAAqB,CAKjE,SAAS,yBAAyB,KAAM,cAAe,UAAW,CAChE,IAAI,YAAc,CAChB,SAAU,GACX,CACG,QAAU,gBAAgB,QAC1B,wBAA0B,cAAc,EAC5C,CAAC,MAAQ,SAAS,EAAI,CACpB,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,UAAW,UAAU,CAAG,YACnG,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,UAAW,UAAU,CAAG,YACtG,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,UAAW,UAAU,CAAG,YACtG,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,UAAW,UAAU,CAAG,YACtG,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,UAAW,UAAU,CAAG,YACtG,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,IAAM,UAAU,CAAG,YAC9F,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,EAAG,UAAU,CAAG,YAC3F,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,IAAM,UAAU,CAAG,YAC9F,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,EAAG,UAAU,CAAG,YAC3F,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,EAAG,UAAU,CAAG,YAC9F,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,EAAG,UAAU,CAAG,YAC9F,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,EAAG,UAAU,CAAG,YAC9F,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,EAAG,UAAU,CAAG,YAC9F,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,IAAM,UAAU,CAAG,YACjG,GAAI,wBAAwB,GAAK,QAAQ,KAAM,wBAAwB,GAAI,EAAG,IAAM,UAAU,CAAG,YACjG,EAAG,wBAAwB,EAAI,QAAQ,KAAM,wBAAwB,EAAG,EAAG,EAAG,UAAU,CAAG,YAC5F,CACD,CAAC,MAAQ,SAAS,EAAI,iBAAiB,oBAAoB,KAAM,cAAc,EAAG,UAAU,CAC5F,CAAC,MAAQ,SAAS,EAAE,EAAI,cAAc,EAAE,EAG1C,SAAS,YAAY,IAAG,GAAI,GAAI,GAAI,IAAG,IAAG,CACxC,CAAC,MAAQ,SAAS,EAAIoB,IACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,EAAIF,IACtB,CAAC,MAAQ,SAAS,EAAIb,IACtB,CAAC,MAAQ,SAAS,KAAO,CACvB,EAAG,GACH,GAAI,CAAC,CAAC,GACN,GAAI,CAAC,CAAC,GACN,GAAI,CAAC,CAAC,GACN,EAAG,GACH,EAAG,GACJ,CAGH,YAAY,UAAU,OAAS,SAAU,IAAG,GAAI,GAAI,GAAI,IAAG,IAAG,CAC5D,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,IAAI,QAAU,GAsCd,OApCK,MAAQ,SAAS,IAAMe,MAC1B,CAAC,MAAQ,SAAS,EAAIA,IACtB,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,QAAU,KAGP,MAAQ,SAAS,KAAO,KAC3B,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,QAAU,KAGP,MAAQ,SAAS,KAAO,KAC3B,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,QAAU,KAGP,MAAQ,SAAS,KAAO,KAC3B,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,KAAK,GAAK,GAC5B,QAAU,KAGP,MAAQ,SAAS,IAAMF,MAC1B,CAAC,MAAQ,SAAS,EAAIA,IACtB,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,QAAU,IAGRb,IAAE,UAAY,MAAQ,SAAS,EAAE,KAAOA,IAAE,KAAO,MAAQ,SAAS,EAAE,KAAOA,IAAE,KAAO,MAAQ,SAAS,EAAE,KAAOA,IAAE,KAAO,MAAQ,SAAS,EAAE,KAAOA,IAAE,KAAO,MAAQ,SAAS,EAAE,MAAQA,IAAE,MAAQ,MAAQ,SAAS,EAAE,MAAQA,IAAE,OAC9N,CAAC,MAAQ,SAAS,EAAIA,IACtB,CAAC,MAAQ,SAAS,KAAK,EAAI,GAC3B,QAAU,IAGL,SAOT,SAAS,aAAa,KAAM,KAAM,CAChC,CAAC,MAAQ,SAAS,SAAW,oBAC7B,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,GAAK,GACvB,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,MAAQ,MAAQ,SAAS,KAAK,KAChD,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,gBAAkB,EACpC,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,YAAc,CAC9B,OAAQ,EACR,UAAW,MAAQ,SAAS,gBAC5B,EAAG,GACH,OAAQ,GACR,QAAS,GACT,GAAI,GACJ,EAAG,GACH,cAAe,GACf,EAAG,EAAE,CACL,GAAI,EACJ,WAAY,EAAE,CACd,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,EAAE,CACb,gBAAiB,EACjB,WAAY,GACb,CACD,KAAK,UAAU,MAAQ,SAAS,aAAc,MAAQ,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,CAExE,KAAK,gBAAgB,EACxB,KAAK,kBAAkB,MAAQ,SAAS,YAAY,CAIxD,aAAa,UAAU,gBAAkB,CAAC,EAAG,EAAE,CAE/C,aAAa,UAAU,SAAW,SAAU,IAAK,KAAM,CACrD,IAAK,IAAIK,OAAK,KACR,OAAO,UAAU,eAAe,KAAK,KAAMA,IAAE,GAC/C,IAAIA,KAAK,KAAKA,MAIlB,OAAO,KAGT,aAAa,UAAU,eAAiB,SAAU,KAAM,CACjD,KAAK,YACR,KAAK,iBAAiB,KAAK,CAG7B,CAAC,MAAQ,SAAS,YAAc,KAChC,CAAC,MAAQ,SAAS,YAAY,UAAY,MAAQ,SAAS,YAAY,WAAa,MAAQ,SAAS,gBACrG,CAAC,MAAQ,SAAS,KAAO,IAG3B,aAAa,UAAU,eAAiB,UAAY,CAClD,OAAO,KAAK,iBAAiB,EAG/B,aAAa,UAAU,gBAAkB,UAAY,CAOnD,MANA,CAAC,MAAQ,SAAS,IAAM,MAAQ,SAAS,KAAK,EAAE,EAAE,OAAS,GAEtD,MAAQ,SAAS,IACpB,KAAK,WAAW,MAAQ,SAAS,iBAAiB,KAAK,MAAQ,QAAQ,CAAC,EAGlE,MAAQ,SAAS,IAG3B,aAAa,UAAU,UAAY,SAAU,eAAgB,EAC1D,MAAQ,SAAS,gBAAgB,KAAK,eAAe,EAErD,MAAQ,SAAS,KAAK,mBAAmB,MAAQ,QAAQ,EAG5D,aAAa,UAAU,SAAW,SAAU,YAAa,CACvD,OAAM,MAAQ,SAAS,KAAK,WAAW,WAAa,MAAQ,SAAS,SAAW,EAAE,MAAQ,SAAS,gBAAgB,SAAW,CAAC,aAI/H,EAAC,MAAQ,SAAS,YAAY,GAAK,MAAQ,SAAS,KAAK,EAAE,GAAG,MAAQ,SAAS,WAAW,EAAE,EAC5F,IAAI,cAAgB,MAAQ,SAAS,YACjC,cAAgB,MAAQ,SAAS,UAErC,IAAK,MAAQ,SAAS,KAAM,CAC1B,KAAK,gBAAgB,MAAQ,SAAS,YAAY,CAClD,OAGF,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,GACzB,IAAIV,IACA,KAAO,MAAQ,SAAS,gBAAgB,OACxC,WAAa,cAAgB,MAAQ,SAAS,KAAK,EAAE,GAAG,MAAQ,SAAS,WAAW,EAExF,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAExB,AACE,WADE,gBAAkB,MAAQ,SAAS,WAGvB,MAAQ,SAAS,gBAAgBA,MAAI,MAAQ,SAAS,YAAa,WAAW,EAAE,EAFhF,MAAQ,SAAS,gBAAgBA,KAAG,WAAY,WAAW,EAAE,CAM3E,eAAiB,YACnB,KAAK,eAAe,WAAW,CAGjC,CAAC,MAAQ,SAAS,GAAK,MAAQ,SAAS,YACxC,CAAC,MAAQ,SAAS,IAAM,MAAQ,SAAS,EACzC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,WAAW,UAGhE,aAAa,UAAU,iBAAmB,UAAY,CAMpD,IALA,IAAI,UAAY,MAAQ,SAAS,KAAK,EAAE,EACpC,UAAY,MAAQ,SAAS,KAAK,KAAK,cACvCA,IAAI,EACJ,IAAM,SAAS,OAEZA,KAAK,IAAM,GACZA,QAAM,IAAM,GAAK,SAASA,IAAI,GAAG,EAAI,WAIzC,KAAK,EAOP,OAJK,MAAQ,SAAS,YAAcA,MAClC,CAAC,MAAQ,SAAS,UAAYA,MAGxB,MAAQ,SAAS,KAAK,EAAE,GAAG,MAAQ,SAAS,WAAW,GAGjE,aAAa,UAAU,eAAiB,SAAU,KAAM,CAOtD,IANA,IAAI,mBAAqB,YAAY,2BAA2B,CAC5D,gBAAkB,EAAE,CACpBA,IAAI,EACJ,IAAM,KAAK,OACX,SAEGA,IAAI,KACT,SAAW,KAAK,WAAWA,IAAE,CAEzB,mBAAmB,QAAQ,SAAS,GAAK,GAElC,UAAY,OAAS,UAAY,OAC1C,SAAW,KAAK,WAAWA,IAAI,EAAE,CAE7B,UAAY,OAAS,UAAY,OACnC,gBAAgB,KAAK,KAAK,OAAOA,IAAG,EAAE,CAAC,CACvC,KAAK,GAEL,gBAAgB,KAAK,KAAK,OAAOA,IAAE,CAAC,EAGtC,gBAAgB,KAAK,KAAK,OAAOA,IAAE,CAAC,CAXpC,gBAAgB,gBAAgB,OAAS,IAAM,KAAK,OAAOA,IAAE,CAc/D,KAAK,EAGP,OAAO,iBAGT,aAAa,UAAU,iBAAmB,SAAU,aAAc,CAChE,aAAa,WAAa,GAC1B,IAAI,aAAe,MAAQ,SAAS,KAAK,WAAW,YAChD,MAAQ,MAAQ,SAAS,KACzB,QAAU,EAAE,CACZA,IACA,IACA,YACA,MAAQ,EACR,IACA,eAAiB,KAAK,EAAE,EACxB,YAAc,EACd,WAAa,EACb,YAAc,EACd,WAAa,EAAE,CACf,UAAY,EACZ,aAAe,EACfe,IACA,KACA,SAAW,YAAY,cAAc,aAAa,EAAE,CACpD,SACA,QAAU,EACV,UAAY,kBAAkB,SAAS,CAC3C,aAAa,QAAU,UAAU,OACjC,aAAa,OAAS,UAAU,MAChC,aAAa,UAAY,aAAa,EACtC,aAAa,UAAY,KAAK,eAAe,aAAa,EAAE,CAC5D,IAAM,aAAa,UAAU,OAC7B,aAAa,gBAAkB,aAAa,GAC5C,IAAI,eAAiB,aAAa,GAAK,IAAO,aAAa,UACvD,SAEJ,GAAI,aAAa,GAOf,IANA,IAAI,KAAO,GACP,SAAW,aAAa,GAAG,GAC3B,UAAY,aAAa,GAAG,GAC5B,cACA,UAEG,MAAM,CACX,UAAY,KAAK,eAAe,aAAa,EAAE,CAC/C,cAAgB,EAChB,UAAY,EACZ,IAAM,UAAU,OAChB,eAAiB,aAAa,GAAK,IAAO,aAAa,UACvD,IAAI,eAAiB,GAErB,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,SAAW,UAAUA,KAAG,WAAW,EAAE,CACrC,YAAc,GAEV,UAAUA,OAAO,IACnB,eAAiBA,KACR,WAAa,IAAM,WAAa,KACzC,UAAY,EACZ,YAAc,GACd,eAAiB,aAAa,iBAAmB,aAAa,UAAY,KAGxE,YAAY,OACd,SAAW,YAAY,YAAY,UAAUA,KAAI,SAAS,OAAQ,SAAS,QAAQ,CACnF,QAAU,YAAc,EAAI,SAAS,EAAI,aAAa,UAAY,KAGlE,QAAU,YAAY,YAAY,UAAUA,KAAI,aAAa,EAAG,aAAa,UAAU,CAGrF,UAAY,QAAU,UAAY,UAAUA,OAAO,KACjD,iBAAmB,GACrB,KAAO,EAEP,IAAI,eAGN,eAAiB,aAAa,iBAAmB,aAAa,UAAY,IAC1E,UAAU,OAAOA,IAAG,iBAAmBA,IAAI,EAAI,EAAG,KAAK,CAEvD,eAAiB,GACjB,UAAY,IAEZ,WAAa,QACb,WAAa,gBAIjB,eAAiB,SAAS,OAAS,aAAa,UAAY,KAEvD,MAAQ,SAAS,WAAa,aAAa,WAAa,MAAQ,SAAS,iBAAmB,UAAY,eAC3G,eAAa,UACb,aAAa,gBAAkB,aAAa,UAAY,aAAa,GAAK,aAAa,IAEvF,aAAa,UAAY,UACzB,IAAM,aAAa,UAAU,OAC7B,KAAO,IAKb,UAAY,CAAC,eACb,QAAU,EACV,IAAI,kBAAoB,EACpB,YAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EA6CxB,GA5CA,YAAc,GACd,YAAc,aAAa,UAAUA,KACrC,SAAW,YAAY,WAAW,EAAE,CAEhC,WAAa,IAAM,WAAa,GAClC,kBAAoB,EACpB,WAAW,KAAK,UAAU,CAC1B,aAAe,UAAY,aAAe,UAAY,aACtD,UAAY,GAAK,eACjB,IAAM,GACN,YAAc,GACd,aAAe,GAEf,IAAM,YAGJ,YAAY,OACd,SAAW,YAAY,YAAY,YAAa,SAAS,OAAQ,YAAY,cAAc,aAAa,EAAE,CAAC,QAAQ,CACnH,QAAU,YAAc,EAAI,SAAS,EAAI,aAAa,UAAY,KAIlE,QAAU,YAAY,YAAY,IAAK,aAAa,EAAG,aAAa,UAAU,CAI5E,cAAgB,IAClB,mBAAqB,QAAU,gBAE/B,WAAa,QAAU,eAAiB,kBACxC,kBAAoB,GAGtB,QAAQ,KAAK,CACX,EAAG,QACH,GAAI,QACJ,IAAK,YACL,EAAG,YACH,UAAW,EAAE,CACR,IACL,KAAM,YACN,sBAAuB,EACxB,CAAC,CAEE,gBAAkB,EAIpB,IAFA,aAAe,QAEX,MAAQ,IAAM,MAAQ,KAAOA,MAAM,IAAM,EAAG,CAK9C,KAJI,MAAQ,IAAM,MAAQ,OACxB,aAAe,SAGV,YAAcA,KACnB,QAAQ,YAAY,GAAK,YACzB,QAAQ,YAAY,IAAM,MAC1B,QAAQ,YAAY,MAAQ,QAC5B,YAAc,EAGhB,OAAS,EACT,YAAc,WAEP,gBAAkB,EAI3B,IAFA,aAAe,QAEX,MAAQ,IAAMA,MAAM,IAAM,EAAG,CAK/B,IAJI,MAAQ,KACV,aAAe,SAGV,YAAcA,KACnB,QAAQ,YAAY,GAAK,YACzB,QAAQ,YAAY,IAAM,MAC1B,QAAQ,YAAY,MAAQ,QAC5B,YAAc,EAGhB,YAAc,EACd,OAAS,QAGX,QAAQ,OAAO,IAAM,MACrB,QAAQ,OAAO,MAAQ,EACvB,OAAS,EAQb,GAJA,aAAa,EAAI,QACjB,aAAe,UAAY,aAAe,UAAY,aACtD,WAAW,KAAK,UAAU,CAEtB,aAAa,GACf,aAAa,SAAW,aAAa,GAAG,GACxC,aAAa,cAAgB,OAI7B,OAFA,aAAa,SAAW,aAEhB,aAAa,EAArB,CACE,IAAK,GACH,aAAa,cAAgB,CAAC,aAAa,SAC3C,MAEF,IAAK,GACH,aAAa,cAAgB,CAAC,aAAa,SAAW,EACtD,MAEF,QACE,aAAa,cAAgB,EAInC,aAAa,WAAa,WAC1B,IAAI,UAAY,KAAK,EACjB,aACA,WACJ,KAAO,UAAU,OACjB,IAAI,MACA,IACA,QAAU,EAAE,CAEhB,IAAK,IAAI,EAAGe,IAAI,KAAM,KAAK,EAAG,CAkB5B,IAjBA,aAAe,UAAUA,KAErB,aAAa,EAAE,KACjB,aAAa,gBAAkB,IAG7B,aAAa,EAAE,KACjB,aAAa,gBAAkB,KAG7B,aAAa,EAAE,IAAM,aAAa,EAAE,IAAM,aAAa,EAAE,IAAM,aAAa,EAAE,MAChF,aAAa,cAAgB,IAG/B,IAAM,EACN,MAAQ,aAAa,EAAE,EAElB,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,WAAa,QAAQA,KACrB,WAAW,UAAUe,KAAK,KAEtB,OAAS,GAAK,WAAW,MAAQ,IAAM,OAAS,GAAK,WAAW,MAAQ,IAAM,WAAW,MAAQ,KAAO,OAAS,IAAM,WAAW,GAAK,WAAW,KAAO,KAAOf,KAAK,IAAM,IAAM,OAAS,IAAM,WAAW,GAAKA,KAAK,IAAM,MAEzN,aAAa,EAAE,KAAO,GACxB,QAAQ,KAAK,IAAI,CAGnB,KAAO,GAIX,KAAK,EAAEe,KAAG,EAAE,WAAa,IACzB,IAAI,WAAa,GACb,OAEJ,GAAI,aAAa,EAAE,KAAO,EACxB,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,WAAa,QAAQA,KAEjB,YAAc,WAAW,UAAUe,OAErC,WAAa,WAAW,UAAUA,KAClC,OAAS,QAAQ,OAAO,KAAK,MAAM,KAAK,QAAQ,CAAG,QAAQ,OAAO,CAAE,EAAE,CAAC,IAGzE,WAAW,UAAUA,KAAK,OAKhC,aAAa,QAAU,aAAa,iBAAmB,aAAa,UAAY,IAChF,aAAa,GAAK,aAAa,IAAM,EACrC,aAAa,OAAS,SAAS,OAAS,aAAa,UAAY,KAGnE,aAAa,UAAU,mBAAqB,SAAU,QAAS,MAAO,CACpE,MAAQ,QAAU,IAAA,IAAa,MAAQ,SAAS,UAAY,MAC5D,IAAI,MAAQ,KAAK,SAAS,EAAE,EAAG,MAAQ,SAAS,KAAK,EAAE,EAAE,OAAO,EAAE,CAClE,MAAQ,KAAK,SAAS,MAAO,QAAQ,CACrC,CAAC,MAAQ,SAAS,KAAK,EAAE,EAAE,OAAO,EAAI,MACtC,KAAK,YAAY,MAAM,EAEtB,MAAQ,SAAS,KAAK,mBAAmB,MAAQ,QAAQ,EAG5D,aAAa,UAAU,YAAc,SAAU,MAAO,CACpD,IAAI,OAAS,MAAQ,SAAS,KAAK,EAAE,EAAE,OAAO,EAC9C,MAAM,WAAa,GACnB,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,cAAgB,GAClC,KAAK,SAAS,MAAM,EAGtB,aAAa,UAAU,cAAgB,SAAU,WAAY,CAC3D,CAAC,MAAQ,SAAS,UAAY,WAC9B,KAAK,aAAa,MAAQ,SAAS,UAAU,EAE5C,MAAQ,SAAS,KAAK,mBAAmB,MAAQ,QAAQ,EAG5D,aAAa,UAAU,mBAAqB,SAAU,WAAY,CAChE,CAAC,MAAQ,SAAS,gBAAkB,KAAK,MAAM,WAAW,EAAI,EAC9D,KAAK,aAAa,MAAQ,SAAS,UAAU,EAE5C,MAAQ,SAAS,KAAK,mBAAmB,MAAQ,QAAQ,EAO5D,IAAI,iBAAmB,UAAY,CACjC,IAAI,IAAM,KAAK,IACX,IAAM,KAAK,IACX,MAAQ,KAAK,MAEjB,SAAS,wBAAwB,KAAM,KAAM,CAC3C,CAAC,MAAQ,SAAS,mBAAqB,GACvC,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,OAAS,EAC3B,CAAC,MAAQ,SAAS,OAAS,EAC3B,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,EACJ,CAAE,EAAG,EAAG,MAAQ,QAAQ,CAErB,MAAO,KACT,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAElF,CAAC,MAAQ,SAAS,EAAI,CACpB,EAAG,IACJ,CAGH,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,EACJ,CAAE,EAAG,EAAG,MAAQ,QAAQ,CACzB,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,IAAM,CAC9D,EAAG,EACJ,CAAE,EAAG,EAAG,MAAQ,QAAQ,CACzB,CAAC,MAAQ,SAAS,GAAK,gBAAgB,QAAQ,KAAM,KAAK,IAAM,CAC9D,EAAG,EACJ,CAAE,EAAG,EAAG,MAAQ,QAAQ,CACzB,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,EAE/E,MAAQ,SAAS,kBAAkB,QACvC,KAAK,UAAU,CAInB,wBAAwB,UAAY,CAClC,QAAS,SAAU,IAAK,EACjB,MAAQ,SAAS,sBAAwB,MAAQ,SAAS,KAAK,aAAa,YAAY,EAAE,QAC7F,KAAK,UAAU,CAIjB,IAAI,GAAK,EACL,GAAK,EACL,GAAK,EACL,GAAK,GAEJ,MAAQ,SAAS,GAAG,EAAI,EAC3B,IAAM,MAAQ,SAAS,GAAG,EAAI,IAE9B,GAAK,EAAE,MAAQ,SAAS,GAAG,EAAI,KAG5B,MAAQ,SAAS,GAAG,EAAI,EAC3B,GAAK,GAAK,MAAQ,SAAS,GAAG,EAAI,IAElC,GAAK,GAAK,MAAQ,SAAS,GAAG,EAAI,IAGpC,IAAI,MAAQ,cAAc,gBAAgB,GAAI,GAAI,GAAI,GAAG,CAAC,IACtD,KAAO,EACPL,KAAK,MAAQ,SAAS,OACtBI,KAAK,MAAQ,SAAS,OACtB,MAAQ,MAAQ,SAAS,KAAK,GAElC,GAAI,OAAS,EACX,AAGE,KAHEA,MAAMJ,IACD,KAAOI,IAAI,EAAI,EAEf,IAAI,EAAG,IAAI,IAAOA,IAAIJ,MAAM,IAAMA,MAAMI,IAAIJ,KAAI,EAAE,CAAC,CAG5D,KAAO,MAAM,KAAK,SACT,OAAS,EAClB,AAGE,KAHEI,MAAMJ,IACD,KAAOI,IAAI,EAAI,EAEf,EAAI,IAAI,EAAG,IAAI,IAAOA,IAAIJ,MAAM,IAAMA,MAAMI,IAAIJ,KAAI,EAAE,CAAC,CAGhE,KAAO,MAAM,KAAK,SACT,OAAS,EACdI,MAAMJ,IACR,KAAO,GAEP,KAAO,IAAI,EAAG,IAAI,IAAOI,IAAIJ,MAAM,IAAMA,MAAMI,IAAIJ,KAAI,EAAE,CAAC,CAEtD,KAAO,GACT,MAAQ,EAER,KAAO,EAAI,GAAK,KAAO,KAI3B,KAAO,MAAM,KAAK,SACT,OAAS,EAAG,CACrB,GAAII,MAAMJ,IACR,KAAO,MACF,CACL,IAAI,IAAMI,IAAIJ,IAId,IAAM,IAAI,IAAI,EAAG,IAAM,GAAMA,IAAE,CAAEI,IAAIJ,IAAE,CACvC,IAAIW,IAAI,CAAC,IAAM,EAAI,IACfT,IAAI,IAAM,EACd,KAAO,KAAK,KAAK,EAAIS,IAAIA,KAAKT,IAAIA,KAAG,CAGvC,KAAO,MAAM,KAAK,MACT,OAAS,GACdE,MAAMJ,IACR,KAAO,GAEP,IAAM,IAAI,IAAI,EAAG,IAAM,GAAMA,IAAE,CAAEI,IAAIJ,IAAE,CACvC,MAAQ,EAAI,KAAK,IAAI,KAAK,GAAK,KAAK,GAAK,EAAI,KAAOI,IAAIJ,KAAG,EAAI,GAGjE,KAAO,MAAM,KAAK,GAEd,KAAO,MAAMA,IAAE,GACjB,AAGE,KAHE,IAAMA,IAAI,EACL,IAAI,EAAG,IAAI,IAAII,IAAG,EAAE,EAAIJ,IAAI,KAAM,EAAE,CAAC,CAErC,IAAI,EAAG,IAAII,IAAI,IAAK,EAAE,CAAC,EAIlC,KAAO,MAAM,KAAK,EAGpB,OAAO,MAAQ,MAAQ,SAAS,EAAE,GAEpC,SAAU,SAAU,aAAc,CAChC,KAAK,0BAA0B,CAC/B,CAAC,MAAQ,SAAS,KAAO,eAAiB,MAAQ,SAAS,KAC3D,CAAC,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,KAAK,aAAa,YAAY,EAAE,QAAU,EAE/F,eAAiB,MAAQ,SAAS,KAAK,IAAM,IAC/C,CAAC,MAAQ,SAAS,EAAE,GAAK,MAAQ,SAAS,oBAG5C,IAAI,SAAW,MAAQ,SAAS,KAAK,IAAM,EAAI,EAAI,KAAO,MAAQ,SAAS,KAAK,WAC5EM,KAAK,MAAQ,SAAS,EAAE,EAAI,QAC5BV,KAAK,MAAQ,SAAS,EAAE,EAAI,QAAUU,IACtCN,KAAK,MAAQ,SAAS,EAAE,EAAI,QAAUM,IAE1C,GAAIV,IAAII,IAAG,CACT,IAAI,GAAKJ,IACT,IAAII,IACJ,IAAI,GAGN,CAAC,MAAQ,SAAS,OAASJ,IAC3B,CAAC,MAAQ,SAAS,OAASI,KAE9B,CACD,gBAAgB,CAAC,yBAAyB,CAAE,wBAAwB,CAEpE,SAAS,oBAAoB,KAAM,KAAM,IAAK,CAC5C,OAAO,IAAI,wBAAwB,KAAM,KAAM,IAAI,CAGrD,MAAO,CACgB,oBACtB,GACA,CAMC,YAAc,UAAY,CAC5B,OAAO,SAAU,cAAe,QAAS,SAAU,CACjD,IAAI,QAAU,EACV,WAAa,cACb,KAAO,iBAAiB,WAAW,CACnC,GAAK,CACK,WACH,QACV,CAED,SAAS,YAAa,CACpB,IAAI,QASJ,OAPI,SACF,UACA,QAAU,KAAK,UAEf,QAAU,SAAS,CAGd,QAGT,SAAS,QAAQ,QAAS,CACpB,UAAY,aACd,KAAO,QAAQ,OAAO,KAAK,CAC3B,YAAc,GAGZ,UACF,SAAS,QAAQ,CAGnB,KAAK,SAAW,QAChB,SAAW,EAGb,OAAO,MAER,CAMC,QAAU,UAAY,CACxB,SAAS,OAAO,IAAK,CACnB,OAAO,IAAI,OAAO,iBAAiB,IAAI,OAAO,CAAC,CAGjD,MAAO,CACG,OACT,GACA,CAMC,UAAY,UAAY,CAC1B,SAAS,QAAS,CAChB,OAAO,iBAAiB,UAAW,EAAE,CAGvC,OAAO,YAAY,EAAG,OAAO,GAC5B,CAMC,UAAY,UAAY,CAC1B,SAAS,QAAS,CAChB,OAAO,IAAI,UAGb,SAAS,QAAQ,UAAW,CAC1B,IAAI,IAAM,UAAU,QAChBd,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,UAAU,QAAQ,UAAU,EAAEA,KAAG,CACjC,UAAU,QAAQ,UAAU,EAAEA,KAAG,CACjC,UAAU,QAAQ,UAAU,EAAEA,KAAG,CACjC,UAAU,EAAEA,KAAK,KACjB,UAAU,EAAEA,KAAK,KACjB,UAAU,EAAEA,KAAK,KAGnB,UAAU,QAAU,EACpB,UAAU,EAAI,GAGhB,SAAS,MAAM,MAAO,CACpB,IAAI,OAAS,QAAQ,YAAY,CAC7BA,IACA,IAAM,MAAM,UAAY,IAAA,GAAY,MAAM,EAAE,OAAS,MAAM,QAI/D,IAHA,OAAO,UAAU,IAAI,CACrB,OAAO,EAAI,MAAM,EAEZ,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAO,YAAY,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAI,MAAM,EAAEA,KAAG,GAAIA,IAAE,CAGjH,OAAO,OAGT,IAAI,QAAU,YAAY,EAAG,OAAQ,QAAQ,CAE7C,MADA,SAAQ,MAAQ,MACT,UACN,CAMC,oBAAsB,UAAY,CACpC,IAAI,GAAK,CACa,mBACX,QACV,CACG,QAAU,EACV,WAAa,EACb,KAAO,iBAAiB,WAAW,CAEvC,SAAS,oBAAqB,CAC5B,IAAI,gBASJ,OAPI,SACF,UACA,gBAAkB,KAAK,UAEvB,gBAAkB,IAAI,gBAGjB,gBAGT,SAAS,QAAQ,gBAAiB,CAChC,IAAIA,IACA,IAAM,gBAAgB,QAE1B,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,UAAU,QAAQ,gBAAgB,OAAOA,KAAG,CAG9C,gBAAgB,QAAU,EAEtB,UAAY,aACd,KAAO,QAAQ,OAAO,KAAK,CAC3B,YAAc,GAGhB,KAAK,SAAW,gBAChB,SAAW,EAGb,OAAO,KACN,CAMC,mBAAqB,UAAY,CACnC,SAAS,QAAS,CAChB,MAAO,CACL,QAAS,EAAE,CACX,YAAa,EACd,CAGH,SAAS,QAAQ,QAAS,CACxB,IAAIA,IACA,IAAM,QAAQ,QAAQ,OAE1B,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,iBAAiB,QAAQ,QAAQ,QAAQA,KAAG,CAG9C,QAAQ,QAAQ,OAAS,EAG3B,OAAO,YAAY,EAAG,OAAQ,QAAQ,GACrC,CAMC,iBAAmB,UAAY,CACjC,SAAS,QAAS,CAChB,MAAO,CACL,YAAa,EACb,SAAU,iBAAiB,UAAW,qBAAqB,CAC3D,QAAS,iBAAiB,UAAW,qBAAqB,CAC3D,CAGH,OAAO,YAAY,EAAG,OAAO,GAC5B,CAIC,aAAe,UAAY,CAC7B,SAAS,kBAAkB,QAAS,CAMlC,IAAK,IALD,MAAQ,QAAQ,MAAM;EAAO,CAC7B,KAAO,EAAE,CACT,KACA,UAAY,EAEPA,IAAI,EAAGA,IAAI,MAAM,OAAQ,KAAK,EACrC,KAAO,MAAMA,KAAG,MAAM,IAAI,CAEtB,KAAK,SAAW,IAClB,KAAK,KAAK,IAAM,KAAK,GAAG,MAAM,CAC9B,WAAa,GAIjB,GAAI,YAAc,EAChB,MAAU,OAAO,CAGnB,OAAO,KAGT,OAAO,SAAU,SAAU,CAGzB,IAAK,IAFD,QAAU,EAAE,CAEPA,IAAI,EAAGA,IAAI,SAAS,OAAQ,KAAK,EAAG,CAC3C,IAAI,QAAU,SAASA,KACnB,WAAa,CACf,KAAM,QAAQ,GACd,SAAU,QAAQ,GACnB,CAED,GAAI,CACF,WAAW,QAAU,KAAK,MAAM,SAASA,KAAG,GAAG,MACrC,CACV,GAAI,CACF,WAAW,QAAU,kBAAkB,SAASA,KAAG,GAAG,MAC3C,CACX,WAAW,QAAU,CACnB,KAAM,SAASA,KAChB,EAIL,QAAQ,KAAK,WAAW,CAG1B,OAAO,WAER,CAIH,SAAS,cAAe,EAExB,aAAa,UAAU,YAAc,SAAU,IAAK,CAClD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/B,KAGJ,IAFA,CAAC,MAAQ,SAAS,eAAiB,GAE9B,IAAI,IAAM,EAAGA,KAAK,EAAG,OAClB,MAAQ,SAAS,SAASA,OAC9B,MAAQ,MAAQ,SAAS,OAAOA,KAE5B,KAAK,GAAK,KAAK,IAAM,KAAO,MAAQ,SAAS,OAAOA,KAAG,IAAM,KAAK,GAAK,KAAK,GAAK,KAAO,MAAQ,SAAS,OAAOA,KAAG,IACrH,KAAK,UAAUA,IAAE,EAIrB,CAAC,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,SAASA,MAAM,MAAQ,SAAS,eAAiB,GAGxG,KAAK,sBAAsB,EAG7B,aAAa,UAAU,WAAa,SAAU,MAAO,CACnD,OAAQ,MAAM,GAAd,CACE,IAAK,GACH,OAAO,KAAK,YAAY,MAAM,CAEhC,IAAK,GACH,OAAO,KAAK,WAAW,MAAM,CAE/B,IAAK,GACH,OAAO,KAAK,YAAY,MAAM,CAEhC,IAAK,GACH,OAAO,KAAK,WAAW,MAAM,CAE/B,IAAK,GACH,OAAO,KAAK,YAAY,MAAM,CAEhC,IAAK,GACH,OAAO,KAAK,WAAW,MAAM,CAE/B,IAAK,GACH,OAAO,KAAK,YAAY,MAAM,CAEhC,IAAK,IACH,OAAO,KAAK,aAAa,MAAM,CAEjC,IAAK,IACH,OAAO,KAAK,cAAc,MAAM,CAElC,QACE,OAAO,KAAK,WAAW,MAAM,GAInC,aAAa,UAAU,aAAe,UAAY,CAChD,MAAU,MAAM,mDAAmD,EAGrE,aAAa,UAAU,YAAc,SAAU,KAAM,CACnD,OAAO,IAAI,aAAa,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG9E,aAAa,UAAU,cAAgB,SAAU,KAAM,CACrD,OAAO,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGhF,aAAa,UAAU,cAAgB,UAAY,CACjD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,UAAUA,IAAE,CAGnB,KAAK,sBAAsB,EAG7B,aAAa,UAAU,cAAgB,SAAU,UAAW,CAC1D,CAAC,MAAQ,SAAS,eAAiB,GACnC,IAAIA,IACA,IAAM,UAAU,OAChBe,IACA,MAAQ,MAAQ,SAAS,OAAO,OAEpC,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EAGxB,IAFA,IAAI,EAEGe,IAAI,MAAM,CACf,IAAK,MAAQ,SAAS,OAAOA,KAAG,KAAO,UAAUf,KAAG,GAAI,CACtD,CAAC,MAAQ,SAAS,OAAOe,KAAK,UAAUf,KACxC,MAGF,KAAK,IAKX,aAAa,UAAU,oBAAsB,SAAU,WAAY,CACjE,CAAC,MAAQ,SAAS,WAAW,iBAAmB,YAGlD,aAAa,UAAU,UAAY,UAAY,EACvC,MAAQ,SAAS,WAAW,iBAChC,KAAK,eAAe,EAIxB,aAAa,UAAU,sBAAwB,SAAU,QAAS,WAAY,UAAW,CAMvF,IALA,IAAI,UAAY,MAAQ,SAAS,SAC7B,QAAU,MAAQ,SAAS,OAC3BA,IAAI,EACJ,IAAM,OAAO,OAEVA,IAAI,KACL,OAAOA,KAAG,KAAO,aAEf,CAAC,SAASA,MAAM,SAASA,OAAO,IAClC,KAAK,UAAUA,IAAE,CACjB,KAAK,kBAAkB,QAAQ,GAE/B,UAAU,KAAK,SAASA,KAAG,CAC3B,SAASA,KAAG,aAAa,CAErB,OAAOA,KAAG,SAAW,IAAA,GAGvB,QAAQ,aAAa,UAAU,CAF/B,KAAK,sBAAsB,QAAS,OAAOA,KAAG,OAAQ,UAAU,GAOtE,KAAK,GAIT,aAAa,UAAU,kBAAoB,SAAU,QAAS,EAC3D,MAAQ,SAAS,gBAAgB,KAAK,QAAQ,EAGjD,aAAa,UAAU,wBAA0B,SAAU,OAAQ,CACjE,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,GAAI,OAAOA,KAAG,GAAI,CAChB,IAAI,KAAO,KAAK,WAAW,OAAOA,KAAG,CACrC,KAAK,iBAAiB,EAErB,MAAQ,SAAS,WAAW,iBAAiB,oBAAoB,KAAK,GAK7E,aAAa,UAAU,gBAAkB,SAAU,SAAU,eAAgB,CAC3E,CAAC,MAAQ,SAAS,WAAW,YAAc,IAAI,aAE9C,MAAQ,SAAS,WAAW,YAAY,SAAS,SAAS,MAAM,EAEhE,MAAQ,SAAS,WAAW,YAAY,SAAS,SAAS,MAAO,eAAe,CAEjF,CAAC,MAAQ,SAAS,WAAW,cAAgB,MAAQ,SAAS,cAAc,aAAa,MAAM,MAAQ,SAAS,cAAc,CAC9H,CAAC,MAAQ,SAAS,WAAW,eAAiB,MAAQ,SAAS,cAAc,cAAc,MAAM,MAAQ,SAAS,cAAc,CAChI,CAAC,MAAQ,SAAS,WAAW,aAAe,MAAQ,SAAS,cAAc,eAC3E,CAAC,MAAQ,SAAS,WAAW,iBAAmB,MAAQ,SAAS,cAAc,gBAC/E,CAAC,MAAQ,SAAS,WAAW,QAAU,EACvC,CAAC,MAAQ,SAAS,WAAW,UAAY,SAAS,GAClD,CAAC,MAAQ,SAAS,WAAW,GAAK,SAAS,GAC3C,CAAC,MAAQ,SAAS,WAAW,SAAW,CACtC,EAAG,SAAS,EACZ,EAAG,SAAS,EACb,EAMH,SAAS,YAAY,cAAe,OAAQ,CAC1C,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,OAAS,KAC3B,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,WAAa,SAAS,MAAM,CAC9C,IAAI,UAAY,GAEhB,GAAI,QAAU,OAAO,MAAO,CAC1B,IAAI,aAAe,SAAS,QAAQ,CAChC,QAAU,iBAAiB,CAC/B,aAAa,aAAa,KAAM,QAAQ,CACxC,aAAa,YAAc,OAAO,OAEjC,MAAQ,SAAS,WAAW,YAAY,aAAa,CAEtD,WAAa,QAGf,GAAI,QAAU,OAAO,YAAa,CAChC,IAAI,YAAc,SAAS,OAAO,CAC9B,OAAS,iBAAiB,CAC9B,YAAY,aAAa,KAAM,OAAO,CACtC,YAAY,YAAc,OAAO,aAEhC,MAAQ,SAAS,WAAW,YAAY,YAAY,CAErD,WAAa,IAAM,OAGjB,YACD,MAAQ,SAAS,WAAW,aAAa,kBAAmB,UAAU,CAGzE,IAAI,KAAO,SAAS,OAAO,EAE1B,MAAQ,SAAS,WAAW,YAAY,KAAK,CAE9C,IAAI,YAAc,SAAS,IAAI,EAE9B,MAAQ,SAAS,WAAW,YAAY,YAAY,CAErD,CAAC,MAAQ,SAAS,aAAe,YACjC,CAAC,MAAQ,SAAS,aAAe,CAC/B,oBAAqB,QAAU,OAAO,qBAAuB,gBAC7D,yBAA0B,QAAU,OAAO,0BAA4B,iBACvE,gBAAiB,QAAU,OAAO,iBAAmB,GACrD,kBAAmB,EAAE,QAAU,OAAO,oBAAsB,IAC5D,YAAa,QAAU,OAAO,aAAe,GAC7C,YAAa,QAAU,OAAO,aAAe,GAC7C,UAAW,QAAU,OAAO,WAAa,GACzC,GAAI,QAAU,OAAO,IAAM,GAC3B,UAAW,QAAU,OAAO,UAC5B,WAAY,CACV,MAAO,QAAU,OAAO,YAAc,OAAO,WAAW,OAAS,OACjE,OAAQ,QAAU,OAAO,YAAc,OAAO,WAAW,QAAU,OACnE,EAAG,QAAU,OAAO,YAAc,OAAO,WAAW,GAAK,KACzD,EAAG,QAAU,OAAO,YAAc,OAAO,WAAW,GAAK,KAC1D,CACF,CACD,CAAC,MAAQ,SAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACJ,KACN,cAAe,MAAQ,SAAS,aACjC,CACD,CAAC,MAAQ,SAAS,SAAW,EAAE,CAC/B,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,aAAe,MAGnC,gBAAgB,CAAC,aAAa,CAAE,YAAY,CAE5C,YAAY,UAAU,WAAa,SAAU,KAAM,CACjD,OAAO,IAAI,YAAY,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG7E,YAAY,UAAU,YAAc,SAAU,KAAM,CAClD,OAAO,IAAI,gBAAgB,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGjF,YAAY,UAAU,WAAa,SAAU,KAAM,CACjD,OAAO,IAAI,qBAAqB,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGtF,YAAY,UAAU,YAAc,SAAU,KAAM,CAClD,OAAO,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG/E,YAAY,UAAU,WAAa,SAAU,KAAM,CACjD,OAAO,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGhF,YAAY,UAAU,YAAc,SAAU,KAAM,CAClD,OAAO,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG/E,YAAY,UAAU,gBAAkB,SAAU,SAAU,EACzD,MAAQ,SAAS,WAAW,aAAa,QAAS,6BAA6B,EAE3E,MAAQ,SAAS,aAAa,aAChC,MAAQ,SAAS,WAAW,aAAa,WAAY,MAAQ,SAAS,aAAa,YAAY,EAE/F,MAAQ,SAAS,WAAW,aAAa,UAAW,OAAS,SAAS,EAAI,IAAM,SAAS,EAAE,EAGxF,MAAQ,SAAS,aAAa,eACjC,MAAQ,SAAS,WAAW,aAAa,QAAS,SAAS,EAAE,EAE7D,MAAQ,SAAS,WAAW,aAAa,SAAU,SAAS,EAAE,CAE/D,CAAC,MAAQ,SAAS,WAAW,MAAM,MAAQ,OAC3C,CAAC,MAAQ,SAAS,WAAW,MAAM,OAAS,OAC5C,CAAC,MAAQ,SAAS,WAAW,MAAM,UAAY,uBAG5C,MAAQ,SAAS,aAAa,YAChC,MAAQ,SAAS,WAAW,aAAa,SAAU,MAAQ,SAAS,aAAa,UAAU,EAGzF,MAAQ,SAAS,aAAa,KAChC,MAAQ,SAAS,WAAW,aAAa,MAAO,MAAQ,SAAS,aAAa,GAAG,EAG/E,MAAQ,SAAS,aAAa,YAAc,IAAA,KAC9C,MAAQ,SAAS,WAAW,aAAa,aAAc,MAAQ,SAAS,aAAa,UAAU,EAGjG,MAAQ,SAAS,WAAW,aAAa,uBAAwB,MAAQ,SAAS,aAAa,oBAAoB,EAInH,MAAQ,SAAS,cAAc,QAAQ,aAAa,MAAQ,SAAS,WAAW,CAGjF,IAAI,MAAQ,MAAQ,SAAS,WAAW,KACxC,KAAK,gBAAgB,SAAU,KAAK,CACpC,CAAC,MAAQ,SAAS,WAAW,iBAAmB,MAAQ,SAAS,aAAa,gBAC9E,CAAC,MAAQ,SAAS,KAAO,SACzB,IAAI,YAAc,SAAS,WAAW,CAClC,KAAO,SAAS,OAAO,CAC3B,KAAK,aAAa,QAAS,SAAS,EAAE,CACtC,KAAK,aAAa,SAAU,SAAS,EAAE,CACvC,KAAK,aAAa,IAAK,EAAE,CACzB,KAAK,aAAa,IAAK,EAAE,CACzB,IAAI,OAAS,iBAAiB,CAC9B,YAAY,aAAa,KAAM,OAAO,CACtC,YAAY,YAAY,KAAK,EAE5B,MAAQ,SAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAM,OAAS,IAAI,CAEpG,KAAK,YAAY,YAAY,CAC7B,CAAC,MAAQ,SAAS,OAAS,SAAS,OACpC,CAAC,MAAQ,SAAS,SAAW,iBAAiB,SAAS,OAAO,OAAO,EAGvE,YAAY,UAAU,QAAU,UAAY,EACrC,MAAQ,SAAS,cAAc,UAClC,CAAC,MAAQ,SAAS,cAAc,QAAQ,UAAY,IAGtD,CAAC,MAAQ,SAAS,aAAe,KACjC,CAAC,MAAQ,SAAS,WAAW,KAAO,KACpC,IAAIA,IACA,KAAO,MAAQ,SAAS,QAAU,MAAQ,SAAS,OAAO,OAAS,EAEvE,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,SAASA,OAC5B,MAAQ,SAAS,SAASA,KAAG,SAAS,CAI3C,CAAC,MAAQ,SAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,cAAgB,MAGpC,YAAY,UAAU,oBAAsB,UAAY,GAExD,YAAY,UAAU,UAAY,SAAU,IAAK,CAC/C,IAAI,UAAY,MAAQ,SAAS,SAE7B,cAAS,OAAS,MAAQ,SAAS,OAAO,KAAK,KAAO,IAI1D,UAAS,KAAO,GAChB,IAAI,QAAU,KAAK,YAAY,MAAQ,SAAS,OAAO,KAAK,CAC5D,SAAS,KAAO,QAEZ,qBACG,MAAQ,SAAS,OAAO,KAAK,KAAO,IACtC,MAAQ,SAAS,WAAW,iBAAiB,oBAAoB,QAAQ,CAG5E,QAAQ,iBAAiB,EAG3B,KAAK,mBAAmB,QAAS,IAAI,EAEhC,MAAQ,SAAS,OAAO,KAAK,KAC5B,EAAE,MAAQ,SAAS,SAAS,IAAM,KAAO,MAAQ,SAAS,SAAS,IAAM,KAAO,IAClF,KAAK,UAAU,IAAM,EAAE,CACvB,KAAK,kBAAkB,QAAQ,EAE/B,QAAQ,SAAS,SAAS,IAAM,GAAG,QAAQ,IAKjD,YAAY,UAAU,qBAAuB,UAAY,CACvD,MAAQ,MAAQ,SAAS,gBAAgB,QAAQ,CAC/C,IAAI,SAAW,MAAQ,SAAS,gBAAgB,KAAK,CAIrD,GAFA,QAAQ,gBAAgB,CAEpB,QAAQ,KAAK,GAIf,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,SAAS,OAE9BA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,SAASA,OAAO,QAAS,CAC7C,QAAQ,UAAU,MAAQ,SAAS,SAASA,IAAI,GAAG,QAAQ,CAC3D,MAGF,KAAK,KAMb,YAAY,UAAU,YAAc,SAAU,IAAK,CACjD,MAAK,MAAQ,SAAS,gBAAkB,MAAQ,MAAQ,SAAS,WAejE,CAXI,MAAQ,KACV,KAAO,MAAQ,SAAS,cAExB,CAAC,MAAQ,SAAS,cAAgB,IAKpC,CAAC,MAAQ,SAAS,WAAW,SAAW,IACxC,CAAC,MAAQ,SAAS,WAAW,SAAW,EACxC,CAAC,MAAQ,SAAS,WAAW,iBAAiB,aAAe,IAC7D,CAAC,MAAQ,SAAS,WAAW,KAAO,GACpC,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAMnC,KAJM,MAAQ,SAAS,gBACrB,KAAK,YAAY,IAAI,CAGlB,IAAI,IAAM,EAAGA,KAAK,EAAG,QACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,KAAO,MAAQ,SAAS,OAAOA,KAAG,GAAG,CAIpF,IAAK,MAAQ,SAAS,WAAW,SAC1B,IAAI,EAAGA,IAAI,IAAK,KAAK,IACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,GAMnD,YAAY,UAAU,mBAAqB,SAAU,QAAS,IAAK,CACjE,IAAI,WAAa,QAAQ,gBAAgB,CAEpC,cAOL,KAHA,IAAIA,IAAI,EACJ,YAEGA,IAAI,MACJ,MAAQ,SAAS,SAASA,OAAO,MAAQ,SAAS,SAASA,OAAO,KAAS,MAAQ,SAAS,SAASA,KAAG,gBAAgB,GAC3H,aAAe,MAAQ,SAAS,SAASA,KAAG,gBAAgB,EAG9D,KAAK,EAGH,aACD,MAAQ,SAAS,aAAa,aAAa,WAAY,YAAY,EAEnE,MAAQ,SAAS,aAAa,YAAY,WAAW,GAI1D,YAAY,UAAU,KAAO,UAAY,CACvC,CAAC,MAAQ,SAAS,aAAa,MAAM,QAAU,QAGjD,YAAY,UAAU,KAAO,UAAY,CACvC,CAAC,MAAQ,SAAS,aAAa,MAAM,QAAU,SAMjD,SAAS,eAAe,cAAe,OAAQ,CAC7C,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,aAAe,CAC/B,YAAa,QAAU,OAAO,cAAgB,IAAA,GAAY,OAAO,YAAc,GAC/E,QAAS,QAAU,OAAO,SAAW,KACrC,gBAAiB,QAAU,OAAO,iBAAmB,GACrD,oBAAqB,QAAU,OAAO,qBAAuB,gBAC7D,yBAA0B,QAAU,OAAO,0BAA4B,iBACvE,UAAW,QAAU,OAAO,WAAa,GACzC,GAAI,QAAU,OAAO,IAAM,GAC5B,CACD,CAAC,MAAQ,SAAS,aAAa,IAAM,QAAU,OAAO,KAAO,GAExD,MAAQ,SAAS,cAAc,UAClC,CAAC,MAAQ,SAAS,aAAa,IAAM,QAAU,OAAO,KAAOgC,SAAO,kBAAoB,GAG1F,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,WAAa,CAC7B,SAAU,GACV,KAAM,GACN,cAAe,MAAQ,SAAS,aAChC,mBAAoB,GACrB,CACD,CAAC,MAAQ,SAAS,YAAc,IAAI,cACpC,CAAC,MAAQ,SAAS,SAAW,EAAE,CAC/B,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,aAAe,IAAI,OACrC,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,aAAe,SAGnC,gBAAgB,CAAC,aAAa,CAAE,eAAe,CAE/C,eAAe,UAAU,YAAc,SAAU,KAAM,CACrD,OAAO,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGhF,eAAe,UAAU,WAAa,SAAU,KAAM,CACpD,OAAO,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG/E,eAAe,UAAU,YAAc,SAAU,KAAM,CACrD,OAAO,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGhF,eAAe,UAAU,WAAa,SAAU,KAAM,CACpD,OAAO,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAG/E,eAAe,UAAU,YAAc,SAAU,KAAM,CACrD,OAAO,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAGhF,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,aAAe,SAAU,MAAO,CACnD,WAAM,KAAO,GAAK,MAAM,KAAO,GAAK,MAAM,KAAO,GAAK,MAAM,KAAO,GAAK,MAAM,MAAQ,GAAK,MAAM,MAAQ,GAI7G,IAAI,EAAE,MAAQ,SAAS,aAAa,YAAa,EAC9C,MAAQ,SAAS,cAAc,UAAU,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,IAAK,MAAM,IAAI,CAEvG,QAGD,MAAQ,SAAS,aAAa,eAAe,MAAM,CAEpD,IAAI,QAAU,MAAQ,SAAS,YAAY,IAAI,OAE9C,MAAQ,SAAS,aAAa,UAAU,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAK,OAAO,IAAI,EAG7N,MAAQ,SAAS,YAAY,IAAI,gBAAgB,MAAQ,SAAS,aAAa,MAAM,CAEtF,IAAI,SAAW,MAAQ,SAAS,YAAY,IAAI,OAE/C,MAAQ,SAAS,cAAc,aAAa,QAAQ,GAAI,QAAQ,GAAI,QAAQ,GAAI,QAAQ,GAAI,QAAQ,IAAK,QAAQ,IAAI,GAGxH,eAAe,UAAU,WAAa,SAAU,GAAI,CAIlD,GAAI,EAAE,MAAQ,SAAS,aAAa,YAAa,CAC/C,CAAC,MAAQ,SAAS,cAAc,aAAe,GAAK,EAAI,EAAI,GAC5D,CAAC,MAAQ,SAAS,WAAW,oBAAsB,MAAQ,SAAS,YAAY,GAChF,OAGF,CAAC,MAAQ,SAAS,YAAY,IAAM,GAAK,EAAI,EAAI,IAE5C,MAAQ,SAAS,WAAW,sBAAwB,MAAQ,SAAS,YAAY,KACpF,CAAC,MAAQ,SAAS,cAAc,aAAe,MAAQ,SAAS,YAAY,GAC5E,CAAC,MAAQ,SAAS,WAAW,oBAAsB,MAAQ,SAAS,YAAY,KAIpF,eAAe,UAAU,MAAQ,UAAY,CAC3C,GAAI,EAAE,MAAQ,SAAS,aAAa,YAAa,EAC9C,MAAQ,SAAS,cAAc,SAAS,CAEzC,QAGD,MAAQ,SAAS,YAAY,OAAO,EAGvC,eAAe,UAAU,KAAO,SAAU,WAAY,CACpD,GAAI,EAAE,MAAQ,SAAS,aAAa,YAAa,EAC9C,MAAQ,SAAS,cAAc,MAAM,CAEtC,OAGE,aACD,MAAQ,SAAS,cAAc,MAAM,CAGxC,IAAI,OAAS,MAAQ,SAAS,YAAY,IAAI,OAEzC,MAAQ,SAAS,YAAY,UAAY,MAAQ,SAAS,YAAY,UACxE,MAAQ,SAAS,YAAY,WAAW,CAG3C,IAAIhC,IACA,KAAO,MAAQ,SAAS,YAAY,OAAO,MAAQ,SAAS,YAAY,SAE5E,IAAK,IAAI,EAAGA,IAAI,GAAI,KAAK,EACvB,IAAIA,KAAK,MAAMA,KAGjB,CAAC,MAAQ,SAAS,YAAY,SAAS,MAAQ,SAAS,YAAY,UAAY,MAAQ,SAAS,YAAY,GAC7G,CAAC,MAAQ,SAAS,YAAY,SAAW,GAG3C,eAAe,UAAU,QAAU,SAAU,WAAY,CACvD,GAAI,EAAE,MAAQ,SAAS,aAAa,YAAa,EAC9C,MAAQ,SAAS,cAAc,SAAS,CAEzC,OAGE,cACD,MAAQ,SAAS,cAAc,SAAS,CAEzC,CAAC,MAAQ,SAAS,WAAW,UAAY,eAG3C,GAAC,MAAQ,SAAS,YAAY,QAC9B,IAAI,QAAU,MAAQ,SAAS,YAAY,OAAO,MAAQ,SAAS,YAAY,SAC3EA,IACA,KAAO,MAAQ,SAAS,YAAY,IAAI,MAE5C,IAAK,IAAI,EAAGA,IAAI,GAAI,KAAK,EACvB,IAAIA,KAAK,OAAOA,MAGjB,MAAQ,SAAS,cAAc,aAAa,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,GAAI,OAAO,IAAK,OAAO,IAAI,CAEhH,QAAU,MAAQ,SAAS,YAAY,SAAS,MAAQ,SAAS,YAAY,SAC7E,CAAC,MAAQ,SAAS,YAAY,GAAK,QAE9B,MAAQ,SAAS,WAAW,qBAAuB,SACtD,CAAC,MAAQ,SAAS,cAAc,YAAc,OAC9C,CAAC,MAAQ,SAAS,WAAW,mBAAqB,SAItD,eAAe,UAAU,gBAAkB,SAAU,SAAU,CAC7D,IAAK,MAAQ,SAAS,cAAc,QAAS,CAC3C,CAAC,MAAQ,SAAS,cAAc,UAAY,UAAU,SAAS,CAC/D,IAAI,gBAAkB,MAAQ,SAAS,cAAc,UAAU,MAC/D,eAAe,MAAQ,OACvB,eAAe,OAAS,OACxB,IAAI,OAAS,cACb,eAAe,gBAAkB,OACjC,eAAe,mBAAqB,OACpC,eAAe,sBAAwB,OACvC,eAAe,qBAAuB,QAErC,MAAQ,SAAS,cAAc,QAAQ,aAAa,MAAQ,SAAS,cAAc,UAAU,CAE9F,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,cAAc,UAAU,WAAW,KAAK,EAEvF,MAAQ,SAAS,aAAa,YAChC,MAAQ,SAAS,cAAc,UAAU,aAAa,SAAU,MAAQ,SAAS,aAAa,UAAU,EAGtG,MAAQ,SAAS,aAAa,KAChC,MAAQ,SAAS,cAAc,UAAU,aAAa,MAAO,MAAQ,SAAS,aAAa,GAAG,MAGjG,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,aAAa,QAGnE,CAAC,MAAQ,SAAS,KAAO,SACzB,CAAC,MAAQ,SAAS,OAAS,SAAS,OACpC,CAAC,MAAQ,SAAS,gBAAkB,CAClC,EAAG,SAAS,EACZ,EAAG,SAAS,EACZ,GAAI,EACJ,GAAI,EACJ,GAAI,EACJ,GAAI,EACL,CACD,KAAK,gBAAgB,SAAU,SAAS,KAAK,CAC7C,CAAC,MAAQ,SAAS,WAAW,eAAiB,MAAQ,SAAS,cAC/D,CAAC,MAAQ,SAAS,WAAW,SAAW,MAAQ,QAChD,CAAC,MAAQ,SAAS,WAAW,SAAW,GACxC,CAAC,MAAQ,SAAS,WAAW,iBAAmB,MAAQ,SAAS,aAAa,gBAC9E,CAAC,MAAQ,SAAS,WAAW,iBAAmB,MAAQ,SAAS,gBACjE,CAAC,MAAQ,SAAS,SAAW,iBAAiB,SAAS,OAAO,OAAO,CACrE,KAAK,qBAAqB,EAG5B,eAAe,UAAU,oBAAsB,UAAY,CACzD,KAAK,OAAO,CACZ,IAAI,aACA,eAEC,MAAQ,SAAS,cAAc,UAAY,MAAQ,SAAS,cAAc,WAC7E,cAAgB,MAAQ,SAAS,cAAc,QAAQ,YACvD,eAAiB,MAAQ,SAAS,cAAc,QAAQ,cAEvD,MAAQ,SAAS,cAAc,UAAU,aAAa,QAAS,cAAgB,MAAQ,SAAS,aAAa,IAAI,EAEjH,MAAQ,SAAS,cAAc,UAAU,aAAa,SAAU,eAAiB,MAAQ,SAAS,aAAa,IAAI,GAEpH,cAAgB,MAAQ,SAAS,cAAc,OAAO,OAAS,MAAQ,SAAS,aAAa,IAC7F,eAAiB,MAAQ,SAAS,cAAc,OAAO,QAAU,MAAQ,SAAS,aAAa,KAGjG,IAAI,WACA,aAEJ,IAAK,MAAQ,SAAS,aAAa,oBAAoB,QAAQ,OAAO,GAAK,KAAO,MAAQ,SAAS,aAAa,oBAAoB,QAAQ,QAAQ,GAAK,GAAI,CAC3J,IAAI,KAAO,MAAQ,SAAS,aAAa,oBAAoB,MAAM,IAAI,CAEnE,SAAW,IAAI,IAAM,OACrB,IAAM,IAAI,IAAM,WAChB,KAAO,IAAI,OAAO,EAAG,EAAE,CACvB,KAAO,IAAI,OAAO,EAAE,CACxB,WAAa,aAAe,cAC5B,cAAgB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,gBAAgB,EAEnF,aAAe,YAAc,WAAa,QAAU,aAAe,YAAc,WAAa,SAChG,CAAC,MAAQ,SAAS,gBAAgB,GAAK,eAAiB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,KAC5H,CAAC,MAAQ,SAAS,gBAAgB,GAAK,eAAiB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,OAE5H,CAAC,MAAQ,SAAS,gBAAgB,GAAK,gBAAkB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,KAC7H,CAAC,MAAQ,SAAS,gBAAgB,GAAK,gBAAkB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,MAG3H,OAAS,SAAW,aAAe,YAAc,WAAa,QAAU,aAAe,YAAc,WAAa,SACpH,CAAC,MAAQ,SAAS,gBAAgB,IAAM,cAAgB,MAAQ,SAAS,gBAAgB,GAAK,eAAiB,MAAQ,SAAS,gBAAgB,IAAM,GAAK,MAAQ,SAAS,aAAa,IAChL,OAAS,SAAW,aAAe,YAAc,WAAa,QAAU,aAAe,YAAc,WAAa,SAC3H,CAAC,MAAQ,SAAS,gBAAgB,IAAM,cAAgB,MAAQ,SAAS,gBAAgB,GAAK,eAAiB,MAAQ,SAAS,gBAAgB,KAAO,MAAQ,SAAS,aAAa,IAErL,CAAC,MAAQ,SAAS,gBAAgB,GAAK,EAGrC,OAAS,SAAW,aAAe,YAAc,WAAa,QAAU,aAAe,YAAc,WAAa,SACpH,CAAC,MAAQ,SAAS,gBAAgB,IAAM,eAAiB,MAAQ,SAAS,gBAAgB,GAAK,cAAgB,MAAQ,SAAS,gBAAgB,IAAM,GAAK,MAAQ,SAAS,aAAa,IAChL,OAAS,SAAW,aAAe,YAAc,WAAa,QAAU,aAAe,YAAc,WAAa,SAC3H,CAAC,MAAQ,SAAS,gBAAgB,IAAM,eAAiB,MAAQ,SAAS,gBAAgB,GAAK,cAAgB,MAAQ,SAAS,gBAAgB,KAAO,MAAQ,SAAS,aAAa,IAErL,CAAC,MAAQ,SAAS,gBAAgB,GAAK,QAE/B,MAAQ,SAAS,aAAa,sBAAwB,QAChE,CAAC,MAAQ,SAAS,gBAAgB,GAAK,eAAiB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,KAC5H,CAAC,MAAQ,SAAS,gBAAgB,GAAK,gBAAkB,MAAQ,SAAS,gBAAgB,GAAK,MAAQ,SAAS,aAAa,KAC7H,CAAC,MAAQ,SAAS,gBAAgB,GAAK,EACvC,CAAC,MAAQ,SAAS,gBAAgB,GAAK,IAEvC,CAAC,MAAQ,SAAS,gBAAgB,IAAM,MAAQ,SAAS,aAAa,IACtE,CAAC,MAAQ,SAAS,gBAAgB,IAAM,MAAQ,SAAS,aAAa,IACtE,CAAC,MAAQ,SAAS,gBAAgB,GAAK,EACvC,CAAC,MAAQ,SAAS,gBAAgB,GAAK,GAGzC,CAAC,MAAQ,SAAS,gBAAgB,MAAQ,EAAE,MAAQ,SAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,GAAI,MAAQ,SAAS,gBAAgB,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,MAAQ,SAAS,gBAAgB,IAAK,MAAQ,SAAS,gBAAgB,GAAI,EAAG,EAAE,CAQtO,KAAK,cAAc,MAAQ,SAAS,gBAAgB,MAAM,EAEzD,MAAQ,SAAS,cAAc,WAAW,EAE1C,MAAQ,SAAS,cAAc,KAAK,EAAG,GAAI,MAAQ,SAAS,gBAAgB,GAAI,MAAQ,SAAS,gBAAgB,EAAE,EAEnH,MAAQ,SAAS,cAAc,WAAW,EAE1C,MAAQ,SAAS,cAAc,MAAM,CAEtC,KAAK,aAAa,MAAQ,SAAS,cAAe,GAAK,EAGzD,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQ,SAAS,aAAa,cAAgB,MAAQ,SAAS,cAAc,UAChF,CAAC,MAAQ,SAAS,cAAc,QAAQ,UAAY,IAGtD,IAAIA,IAGJ,IAAK,MAFM,MAAQ,SAAS,QAAU,MAAQ,SAAS,OAAO,OAAS,GAExD,EAAGA,KAAK,EAAG,OACnB,MAAQ,SAAS,SAASA,OAC5B,MAAQ,SAAS,SAASA,KAAG,SAAS,CAI3C,CAAC,MAAQ,SAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,SAAS,WAAW,cAAgB,KAC7C,CAAC,MAAQ,SAAS,cAAc,UAAY,KAC5C,CAAC,MAAQ,SAAS,UAAY,IAGhC,eAAe,UAAU,YAAc,SAAU,IAAK,YAAa,CACjE,MAAK,MAAQ,SAAS,gBAAkB,MAAQ,MAAQ,SAAS,aAAa,cAAgB,IAAQ,CAAC,cAAgB,MAAQ,SAAS,WAAa,MAAQ,IAQ7J,CAJA,CAAC,MAAQ,SAAS,cAAgB,IAClC,CAAC,MAAQ,SAAS,WAAW,SAAW,KAAO,MAAQ,SAAS,cAAc,cAC9E,CAAC,MAAQ,SAAS,WAAW,SAAW,EACxC,CAAC,MAAQ,SAAS,WAAW,KAAO,EAAE,MAAQ,SAAS,aAAa,aAAe,YACnF,CAAC,MAAQ,SAAS,WAAW,iBAAiB,aAAe,IAG7D,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAMnC,KAJM,MAAQ,SAAS,gBACrB,KAAK,YAAY,IAAI,CAGlB,IAAI,EAAGA,IAAI,IAAK,KAAK,IACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,KAAO,MAAQ,SAAS,OAAOA,KAAG,GAAG,CAIpF,IAAK,MAAQ,SAAS,WAAW,KAAM,CAOrC,KANK,MAAQ,SAAS,aAAa,cAAgB,IAChD,MAAQ,SAAS,cAAc,UAAU,EAAG,GAAI,MAAQ,SAAS,gBAAgB,GAAI,MAAQ,SAAS,gBAAgB,EAAE,CAEzH,KAAK,MAAM,CAGR,IAAI,IAAM,EAAGA,KAAK,EAAG,QACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,EAI1C,MAAQ,SAAS,aAAa,cAAgB,IACjD,KAAK,SAAS,IAKpB,eAAe,UAAU,UAAY,SAAU,IAAK,CAClD,IAAI,UAAY,MAAQ,SAAS,SAE7B,cAAS,OAAS,MAAQ,SAAS,OAAO,KAAK,KAAO,IAI1D,KAAI,QAAU,KAAK,YAAY,MAAQ,SAAS,OAAO,KAAM,MAAQ,SAAU,MAAQ,SAAS,WAAW,CAC3G,SAAS,KAAO,QAChB,QAAQ,iBAAiB,GAM3B,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQ,SAAS,gBAAgB,SACxB,MAAQ,SAAS,gBAAgB,KAAK,CAE7C,gBAAgB,EAI5B,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,SAAS,cAAc,UAAU,MAAM,QAAU,QAG5D,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,SAAS,cAAc,UAAU,MAAM,QAAU,SAO5D,SAAS,eAAe,cAAe,OAAQ,CAC7C,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,OAAS,KAC3B,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,aAAe,CAC/B,UAAW,QAAU,OAAO,WAAa,GACzC,yBAA0B,QAAU,OAAO,0BAA4B,iBACvE,kBAAmB,EAAE,QAAU,OAAO,oBAAsB,IAC5D,WAAY,CACV,MAAO,QAAU,OAAO,YAAc,OAAO,WAAW,OAAS,OACjE,OAAQ,QAAU,OAAO,YAAc,OAAO,WAAW,QAAU,OACnE,EAAG,QAAU,OAAO,YAAc,OAAO,WAAW,GAAK,QACzD,EAAG,QAAU,OAAO,YAAc,OAAO,WAAW,GAAK,QAC1D,CACF,CACD,CAAC,MAAQ,SAAS,WAAa,CAC7B,KAAM,GACN,SAAU,GACV,cAAe,MAAQ,SAAS,aACjC,CACD,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,SAAW,EAAE,CAC/B,CAAC,MAAQ,SAAS,eAAiB,EAAE,CACrC,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,OAAS,KAC3B,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,aAAe,OAGnC,gBAAgB,CAAC,aAAa,CAAE,eAAe,CAC/C,eAAe,UAAU,UAAY,YAAY,UAAU,UAE3D,eAAe,UAAU,qBAAuB,UAAY,CAC1D,MAAQ,MAAQ,SAAS,gBAAgB,SACxB,MAAQ,SAAS,gBAAgB,KAAK,CAE7C,gBAAgB,EAI5B,eAAe,UAAU,mBAAqB,SAAU,QAAS,IAAK,CACpE,IAAI,cAAgB,QAAQ,gBAAgB,CAEvC,iBAIL,KAAI,OAAS,MAAQ,SAAS,OAAO,KAErC,GAAI,CAAC,MAAM,KAAO,EAAE,MAAQ,SAAS,WACnC,IAAK,MAAQ,SAAS,eACpB,KAAK,iBAAiB,cAAe,IAAI,KACpC,CAML,IALA,IAAIA,IAAI,EACJ,eACA,UACA,cAEGA,IAAI,MACJ,MAAQ,SAAS,SAASA,OAAO,MAAQ,SAAS,SAASA,OAAO,KAAS,MAAQ,SAAS,SAASA,KAAG,iBAC3G,WAAa,MAAQ,SAAS,SAASA,KACvC,eAAiB,MAAQ,SAAS,OAAOA,KAAG,IAAM,KAAK,wBAAwBA,IAAE,CAAG,UAAU,gBAAgB,CAC9G,eAAiB,eAAiB,gBAGpC,KAAK,EAGH,gBACE,CAAC,MAAM,KAAO,EAAE,MAAQ,SAAS,cAClC,MAAQ,SAAS,aAAa,aAAa,cAAe,eAAe,EAEnE,CAAC,MAAM,KAAO,EAAE,MAAQ,SAAS,cACzC,MAAQ,SAAS,aAAa,YAAY,cAAc,MAI7D,KAAK,iBAAiB,cAAe,IAAI,GAI7C,eAAe,UAAU,YAAc,SAAU,KAAM,CAKrD,OAJM,MAAQ,SAAS,WAIhB,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAHpE,IAAI,gBAAgB,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAMnF,eAAe,UAAU,WAAa,SAAU,KAAM,CAKpD,OAJM,MAAQ,SAAS,WAIhB,IAAI,aAAa,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAHnE,IAAI,qBAAqB,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAMxF,eAAe,UAAU,aAAe,SAAU,KAAM,CAEtD,MADA,CAAC,MAAQ,SAAS,OAAS,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAC1F,MAAQ,SAAS,QAG3B,eAAe,UAAU,YAAc,SAAU,KAAM,CAKrD,OAJM,MAAQ,SAAS,WAIhB,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAHpE,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAMjF,eAAe,UAAU,WAAa,SAAU,KAAM,CAKpD,OAJM,MAAQ,SAAS,WAIhB,IAAI,aAAa,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAHnE,IAAI,eAAe,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAMlF,eAAe,UAAU,YAAc,SAAU,KAAM,CAKrD,OAJM,MAAQ,SAAS,WAIhB,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAHpE,IAAI,cAAc,MAAO,MAAQ,SAAS,WAAY,MAAQ,QAAQ,EAMjF,eAAe,UAAU,WAAa,YAAY,UAAU,WAE5D,eAAe,UAAU,wBAA0B,SAAU,IAAK,CAIhE,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,eAAe,OAEpCA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,eAAeA,KAAG,UAAY,MAAQ,MAAQ,SAAS,eAAeA,KAAG,QAAU,IACvG,OAAQ,MAAQ,SAAS,eAAeA,KAAG,gBAG7C,KAAK,EAGP,OAAO,MAGT,eAAe,UAAU,sBAAwB,SAAU,IAAK,KAAM,CACpE,IAAI,gBAAkB,UAAU,MAAM,CAClC,MACA,eACJ,SAAS,gBAAgB,CACzB,IAAI,UAAY,UAAU,MAAM,CAGhC,GAFA,SAAS,UAAU,CAEf,OAAS,KAAM,CACjB,MAAQ,gBAAgB,MACxB,MAAM,OAAS,MAAQ,SAAS,WAAW,SAAS,EAAI,KACxD,MAAM,QAAU,MAAQ,SAAS,WAAW,SAAS,EAAI,KACzD,IAAI,OAAS,UACb,MAAM,sBAAwB,OAC9B,MAAM,mBAAqB,OAC3B,MAAM,gBAAkB,OACxB,eAAiB,UAAU,MAC3B,IAAI,OAAS,4CACb,eAAe,UAAY,OAC3B,eAAe,gBAAkB,OAGnC,gBAAgB,YAAY,UAAU,CAEtC,IAAI,oBAAsB,CACb,UACM,gBACjB,SAAU,IACV,OAAQ,IACF,KACP,CAID,OAFC,MAAQ,SAAS,eAAe,KAAK,oBAAoB,CAEnD,qBAGT,eAAe,UAAU,kBAAoB,UAAY,CACvD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/B,wBACA,iBAAmB,GAEvB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,OAAOA,KAAG,MAAQ,MAAQ,SAAS,OAAOA,KAAG,KAAO,GACpE,mBAAqB,OACvB,iBAAmB,KACnB,wBAA0B,KAAK,sBAAsBA,IAAG,KAAK,EAG/D,wBAAwB,OAAS,KAAK,IAAI,wBAAwB,OAAQA,IAAE,GAExE,mBAAqB,OACvB,iBAAmB,KACnB,wBAA0B,KAAK,sBAAsBA,IAAG,KAAK,EAG/D,wBAAwB,OAAS,KAAK,IAAI,wBAAwB,OAAQA,IAAE,EAMhF,IAFA,KAAO,MAAQ,SAAS,eAAe,OAElC,IAAI,IAAM,EAAGA,KAAK,EAAG,OACvB,MAAQ,SAAS,YAAY,aAAa,MAAQ,SAAS,eAAeA,KAAG,gBAAgB,EAIlG,eAAe,UAAU,iBAAmB,SAAU,KAAM,IAAK,CAI/D,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,eAAe,OAEpCA,IAAI,KAAK,CACd,GAAI,MAAQ,MAAQ,SAAS,eAAeA,KAAG,OAAQ,CAIrD,IAHA,IAAIe,KAAK,MAAQ,SAAS,eAAef,KAAG,SACxC,YAEGe,IAAI,MACJ,MAAQ,SAAS,SAASA,OAAO,MAAQ,SAAS,SAASA,KAAG,iBACjE,aAAe,MAAQ,SAAS,SAASA,KAAG,gBAAgB,EAG9D,KAAK,EAGH,aACD,MAAQ,SAAS,eAAef,KAAG,UAAU,aAAa,KAAM,YAAY,EAE5E,MAAQ,SAAS,eAAeA,KAAG,UAAU,YAAY,KAAK,CAGjE,MAGF,KAAK,IAIT,eAAe,UAAU,gBAAkB,SAAU,SAAU,CAC7D,IAAI,YAAc,UAAU,MAAM,CAC9B,SAAW,MAAQ,SAAS,cAAc,QAC1C,MAAQ,YAAY,MACxB,MAAM,MAAQ,SAAS,EAAI,KAC3B,MAAM,OAAS,SAAS,EAAI,KAC5B,CAAC,MAAQ,SAAS,YAAc,YAChC,SAAS,YAAY,CACrB,MAAM,eAAiB,OACvB,MAAM,kBAAoB,OAC1B,MAAM,qBAAuB,QAExB,MAAQ,SAAS,aAAa,WACjC,YAAY,aAAa,SAAU,MAAQ,SAAS,aAAa,UAAU,CAG7E,QAAQ,YAAY,YAAY,CAChC,MAAM,SAAW,SACjB,IAAI,IAAM,SAAS,MAAM,CACzB,IAAI,aAAa,QAAS,IAAI,CAC9B,IAAI,aAAa,SAAU,IAAI,CAC/B,SAAS,IAAI,EAEZ,MAAQ,SAAS,YAAY,YAAY,IAAI,CAE9C,IAAI,KAAO,SAAS,OAAO,CAC3B,IAAI,YAAY,KAAK,CACrB,CAAC,MAAQ,SAAS,KAAO,SAEzB,KAAK,gBAAgB,SAAU,IAAI,CACnC,CAAC,MAAQ,SAAS,WAAW,KAAO,KACpC,CAAC,MAAQ,SAAS,OAAS,SAAS,OACpC,CAAC,MAAQ,SAAS,cAAgB,MAAQ,SAAS,YACnD,KAAK,mBAAmB,CACxB,KAAK,qBAAqB,EAG5B,eAAe,UAAU,QAAU,UAAY,EACxC,MAAQ,SAAS,cAAc,UAClC,CAAC,MAAQ,SAAS,cAAc,QAAQ,UAAY,IAGtD,CAAC,MAAQ,SAAS,cAAc,UAAY,KAC5C,CAAC,MAAQ,SAAS,WAAW,KAAO,KACpC,IAAIA,IACA,KAAO,MAAQ,SAAS,QAAU,MAAQ,SAAS,OAAO,OAAS,EAEvE,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,SAASA,KAAG,SAAS,CAGzC,CAAC,MAAQ,SAAS,SAAS,OAAS,EACpC,CAAC,MAAQ,SAAS,UAAY,GAC9B,CAAC,MAAQ,SAAS,cAAgB,MAGpC,eAAe,UAAU,oBAAsB,UAAY,CACzD,IAAI,cAAgB,MAAQ,SAAS,cAAc,QAAQ,YACvD,eAAiB,MAAQ,SAAS,cAAc,QAAQ,aACxD,WAAa,aAAe,cAC5B,cAAgB,MAAQ,SAAS,WAAW,SAAS,GAAK,MAAQ,SAAS,WAAW,SAAS,EAC/F,GACA,GACA,GACA,GAEA,aAAe,YACjB,GAAK,cAAgB,MAAQ,SAAS,WAAW,SAAS,EAC1D,GAAK,cAAgB,MAAQ,SAAS,WAAW,SAAS,EAC1D,GAAK,EACL,IAAM,eAAiB,MAAQ,SAAS,WAAW,SAAS,GAAK,cAAgB,MAAQ,SAAS,WAAW,SAAS,IAAM,IAE5H,GAAK,eAAiB,MAAQ,SAAS,WAAW,SAAS,EAC3D,GAAK,eAAiB,MAAQ,SAAS,WAAW,SAAS,EAC3D,IAAM,cAAgB,MAAQ,SAAS,WAAW,SAAS,GAAK,eAAiB,MAAQ,SAAS,WAAW,SAAS,IAAM,EAC5H,GAAK,GAGP,IAAI,OAAS,MAAQ,SAAS,YAAY,MAC1C,MAAM,gBAAkB,YAAc,GAAK,YAAc,GAAK,gBAAkB,GAAK,IAAM,GAAK,QAChG,MAAM,UAAY,MAAM,iBAG1B,eAAe,UAAU,YAAc,YAAY,UAAU,YAE7D,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,SAAS,YAAY,MAAM,QAAU,QAGhD,eAAe,UAAU,KAAO,UAAY,CAC1C,CAAC,MAAQ,SAAS,YAAY,MAAM,QAAU,SAGhD,eAAe,UAAU,UAAY,UAAY,CAG/C,GAFA,KAAK,eAAe,EAEf,MAAQ,SAAS,QACnB,MAAQ,SAAS,OAAO,OAAO,KAC3B,CACL,IAAI,QAAU,MAAQ,SAAS,WAAW,SAAS,EAC/C,SAAW,MAAQ,SAAS,WAAW,SAAS,EAChDA,IACA,KAAO,MAAQ,SAAS,eAAe,OAE3C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAAG,CAC3B,IAAI,OAAS,MAAQ,SAAS,eAAeA,KAAG,gBAAgB,MAChE,MAAM,kBAAoB,KAAK,KAAc,QAAQ,EAAc,SAAS,EAAG,CAAG,KAClF,MAAM,YAAc,MAAM,qBAKhC,eAAe,UAAU,wBAA0B,SAAU,OAAQ,CACnE,IAAIA,IACA,IAAM,OAAO,OACb,kBAAoB,UAAU,MAAM,CAExC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,GAAI,OAAOA,KAAG,GAAI,CAChB,IAAI,KAAO,KAAK,WAAW,OAAOA,KAAI,mBAAoB,MAAQ,SAAS,WAAW,KAAM,KAAK,CACjG,KAAK,iBAAiB,EAErB,MAAQ,SAAS,WAAW,iBAAiB,oBAAoB,KAAK,GAO7E,SAAS,YAAY,KAAM,QAAS,WAAY,CAC9C,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,WAAa,EAAE,CACjC,CAAC,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,KAAK,iBAAmB,EAAE,CAChF,CAAC,MAAQ,SAAS,YAAc,KAChC,IAAI,MAAQ,MAAQ,SAAS,WAAW,KACpCA,IACA,KAAO,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,gBAAgB,OAAS,EACzF,CAAC,MAAQ,SAAS,SAAW,iBAAiB,IAAI,CAClD,CAAC,MAAQ,SAAS,UAAY,GAC9B,IAAI,KACA,YAAc,MAAQ,SAAS,gBAC/B,MAAQ,EACR,aAAe,EAAE,CACjBe,IACA,KACA,QAAU,iBAAiB,CAC3B,KACA,SACA,QACAM,IACA,SAAW,WACX,QAAU,YAEd,IAAK,IAAI,EAAGrB,IAAI,IAAK,KAAK,EAkBxB,IAjBI,WAAWA,KAAG,OAAS,KAAO,WAAWA,KAAG,OAAS,KAAO,WAAWA,KAAG,KAAO,WAAWA,KAAG,EAAE,IAAM,KAAO,WAAWA,KAAG,EAAE,KAChI,SAAW,OACX,QAAU,SAGP,WAAWA,KAAG,OAAS,KAAO,WAAWA,KAAG,OAAS,MAAQ,QAAU,GAC1E,KAAO,SAAS,OAAO,CACvB,KAAK,aAAa,OAAQ,UAAU,CACpC,KAAK,aAAa,SAAU,MAAQ,SAAS,QAAQ,KAAK,KAAK,GAAK,EAAE,CACtE,KAAK,aAAa,UAAW,MAAQ,SAAS,QAAQ,KAAK,KAAK,GAAK,EAAE,CACvE,aAAa,KAAK,KAAK,EAEvB,KAAO,KAGT,KAAO,SAAS,OAAO,CAEnB,WAAWA,KAAG,OAAS,IAEzB,CAAC,MAAQ,SAAS,SAASA,KAAK,CAC9B,GAAI,gBAAgB,SAAS,MAAQ,SAAS,QAAS,WAAWA,KAAG,EAAG,EAAG,KAAO,MAAQ,SAAS,QAAQ,CAC3G,KAAM,qBAAqB,cAAc,MAAQ,SAAS,QAAS,WAAWA,KAAI,EAAE,CACpF,KAAM,KACN,SAAU,GACX,CACD,KAAK,YAAY,KAAK,KACjB,CACL,OAAS,EACT,KAAK,aAAa,OAAQ,WAAWA,KAAG,OAAS,IAAM,UAAY,UAAU,CAC7E,KAAK,aAAa,YAAa,UAAU,CACzC,IAAI,SAgCJ,GA9BI,WAAWA,KAAG,EAAE,IAAM,GAexB,QAAU,KACV,IAAI,OAfJ,SAAW,OACX,QAAU,OACV,IAAI,gBAAgB,SAAS,MAAQ,SAAS,QAAS,WAAWA,KAAG,EAAG,EAAG,MAAO,MAAQ,SAAS,QAAQ,CAC3G,SAAW,iBAAiB,CAC5B,SAAW,SAAS,SAAS,CAC7B,SAAS,aAAa,KAAM,SAAS,CACrC,QAAU,SAAS,eAAe,CAClC,QAAQ,aAAa,WAAY,QAAQ,CACzC,QAAQ,aAAa,KAAM,gBAAgB,CAC3C,QAAQ,aAAa,SAAU,IAAI,CACnC,SAAS,YAAY,QAAQ,CAC7B,KAAK,YAAY,SAAS,CAC1B,KAAK,aAAa,SAAU,WAAWA,KAAG,OAAS,IAAM,UAAY,UAAU,EAOjF,CAAC,MAAQ,SAAS,WAAWA,KAAK,CAChC,KAAM,KACN,EAAGqB,IACH,MAAO,QACP,SAAU,GACV,aAAc,GACd,SAAU,SACV,WAAY,EACb,CAEG,WAAWrB,KAAG,OAAS,IAAK,CAC9B,KAAO,aAAa,OACpB,IAAIE,IAAI,SAAS,IAAI,CAErB,IAAK,IAAI,EAAGa,IAAI,KAAM,KAAK,EACzB,IAAE,YAAY,aAAaA,KAAG,CAGhC,IAAIW,OAAO,SAAS,OAAO,CAC3B,OAAK,aAAa,YAAa,QAAQ,CACvC,OAAK,aAAa,KAAM,QAAU,IAAM,MAAM,CAC9C,OAAK,YAAY,KAAK,CACtB,KAAK,YAAYA,OAAK,CACtB,IAAE,aAAa,OAAQ,OAAS,aAAe,IAAM,QAAU,IAAM,MAAQ,IAAI,CACjF,aAAa,OAAS,EACtB,aAAa,KAAKxB,IAAE,MAEpB,aAAa,KAAK,KAAK,CAGrB,WAAWF,KAAG,KAAO,EAAE,MAAQ,SAAS,YAC1C,CAAC,MAAQ,SAAS,UAAY,KAAK,sBAAsB,EAI3D,CAAC,MAAQ,SAAS,SAASA,KAAK,CAC9B,KAAM,KACN,SAAU,GACV,GAAI,gBAAgB,SAAS,MAAQ,SAAS,QAAS,WAAWA,KAAG,EAAG,EAAG,KAAO,MAAQ,SAAS,QAAQ,CAC3G,KAAM,qBAAqB,cAAc,MAAQ,SAAS,QAAS,WAAWA,KAAI,EAAE,CACpF,QAAS,KACV,EAEK,MAAQ,SAAS,SAASA,KAAG,KAAK,GACtC,KAAK,SAAS,WAAWA,MAAK,MAAQ,SAAS,SAASA,KAAG,KAAK,GAAI,MAAQ,SAAS,SAASA,KAAG,CAQvG,IAHA,CAAC,MAAQ,SAAS,YAAc,SAAS,SAAS,CAClD,IAAM,aAAa,OAEd,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,YAAY,YAAY,aAAaA,KAAG,CAGxD,MAAQ,KACT,MAAQ,SAAS,YAAY,aAAa,KAAM,QAAQ,EAExD,MAAQ,SAAS,QAAQ,cAAc,aAAa,QAAS,OAAS,aAAe,IAAM,QAAU,IAAI,CAE1G,KAAK,aAAa,MAAQ,SAAS,YAAY,GAG5C,MAAQ,SAAS,SAAS,SAC5B,MAAQ,SAAS,QAAQ,uBAAuB,MAAQ,QAAQ,CAIrE,YAAY,UAAU,gBAAkB,SAAU,IAAK,CACrD,OAAQ,MAAQ,SAAS,SAAS,KAAK,MAGzC,YAAY,UAAU,YAAc,SAAU,aAAc,CAC1D,IAAI,UAAY,MAAQ,SAAS,QAAQ,eAAe,IACpDA,IACA,KAAO,MAAQ,SAAS,gBAAgB,OAE5C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EASxB,KARK,MAAQ,SAAS,SAASA,KAAG,KAAK,MAAQ,eAC7C,KAAK,UAAU,MAAQ,SAAS,gBAAgBA,MAAK,MAAQ,SAAS,SAASA,KAAG,KAAK,GAAI,MAAQ,SAAS,SAASA,KAAG,GAGrH,MAAQ,SAAS,SAASA,KAAG,GAAG,MAAQ,gBAC1C,MAAQ,SAAS,SAASA,KAAG,KAAK,aAAa,gBAAiB,MAAQ,SAAS,SAASA,KAAG,GAAG,EAAE,EAGhG,MAAQ,SAAS,gBAAgBA,KAAG,OAAS,OAC3C,MAAQ,SAAS,SAASA,KAAG,WAAa,MAAQ,SAAS,QAAQ,eAAe,MAAM,MAAQ,gBAClG,MAAQ,SAAS,SAASA,KAAG,QAAQ,aAAa,YAAa,SAAS,kBAAkB,CAAC,SAAS,CAAC,EAGnG,MAAQ,SAAS,WAAWA,KAAG,KAAO,MAAQ,SAAS,WAAWA,KAAG,EAAE,MAAQ,eAAe,CACjG,IAAI,SAAW,MAAQ,SAAS,WAAWA,KAAG,OAEzC,MAAQ,SAAS,WAAWA,KAAG,EAAE,EAAI,IACnC,MAAQ,SAAS,WAAWA,KAAG,eAAiB,UACnD,CAAC,MAAQ,SAAS,WAAWA,KAAG,aAAe,SAE9C,MAAQ,SAAS,WAAWA,KAAG,KAAK,aAAa,SAAU,OAAS,aAAe,KAAO,MAAQ,SAAS,WAAWA,KAAG,SAAW,IAAI,EAG3I,QAAQ,aAAa,SAAU,EAAE,MAAQ,SAAS,WAAWA,KAAG,EAAE,EAAE,IAE/D,MAAQ,SAAS,WAAWA,KAAG,eAAiB,WACnD,CAAC,MAAQ,SAAS,WAAWA,KAAG,aAAe,UAE9C,MAAQ,SAAS,WAAWA,KAAG,KAAK,aAAa,SAAU,KAAK,GAGlE,MAAQ,SAAS,WAAWA,KAAG,KAAK,aAAa,gBAAiB,MAAQ,SAAS,WAAWA,KAAG,EAAE,EAAI,EAAE,IAOpH,YAAY,UAAU,eAAiB,UAAY,CACjD,OAAQ,MAAQ,SAAS,aAG3B,YAAY,UAAU,qBAAuB,UAAY,CACvD,IAAI,KAAO,QAKX,MAJA,OAAQ,MAAQ,MAAQ,SAAS,WAAW,SAAS,EACrD,MAAQ,MAAQ,MAAQ,SAAS,WAAW,SAAS,EACrD,MAAQ,OAAS,MAAQ,SAAS,WAAW,SAAS,EACtD,MAAQ,OAAS,MAAQ,SAAS,WAAW,SAAS,EAAI,IACnD,MAGT,YAAY,UAAU,SAAW,SAAU,SAAU,UAAW,SAAU,CACxE,IAAI,WAAa,KAAO,UAAU,EAAE,GAAG,GAAK,IAAM,UAAU,EAAE,GAAG,GAC7DA,IACA,IACE,UAAU,QAEhB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAExB,YAAc,KAAO,UAAU,EAAEA,IAAI,GAAG,GAAK,IAAM,UAAU,EAAEA,IAAI,GAAG,GAAK,IAAM,UAAU,EAAEA,KAAG,GAAK,IAAM,UAAU,EAAEA,KAAG,GAAK,IAAM,UAAU,EAAEA,KAAG,GAAK,IAAM,UAAU,EAAEA,KAAG,GAShL,GALI,UAAU,GAAK,IAAM,IACvB,YAAc,KAAO,UAAU,EAAEA,IAAI,GAAG,GAAK,IAAM,UAAU,EAAEA,IAAI,GAAG,GAAK,IAAM,UAAU,EAAE,GAAG,GAAK,IAAM,UAAU,EAAE,GAAG,GAAK,IAAM,UAAU,EAAE,GAAG,GAAK,IAAM,UAAU,EAAE,GAAG,IAI5K,SAAS,WAAa,WAAY,CACpC,IAAI,eAAiB,GAEjB,SAAS,OACP,UAAU,IACZ,eAAiB,SAAS,KAAO,MAAQ,SAAS,UAAY,WAAa,YAG7E,SAAS,KAAK,aAAa,IAAK,eAAe,EAGjD,SAAS,SAAW,aAIxB,YAAY,UAAU,QAAU,UAAY,CAC1C,CAAC,MAAQ,SAAS,QAAU,KAC5B,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,YAAc,KAChC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,gBAAkB,MAStC,SAAS,kBAAmB,EAE5B,iBAAiB,UAAY,CAM3B,cAAe,UAAY,CAEzB,CAAC,MAAQ,SAAS,UAAY,EAAE,CAEhC,CAAC,MAAQ,SAAS,UAAY,GAC9B,KAAK,gBAAgB,EAUvB,aAAc,SAAU,UAAW,CACjC,CAAC,MAAQ,SAAS,UAAY,WAQhC,YAAa,UAAY,CACvB,CAAC,MAAQ,SAAS,UAAY,IAQhC,eAAgB,UAAY,EACrB,MAAQ,SAAS,KAAK,SAAW,IAAA,KACnC,MAAQ,SAAS,KAAK,sBAAsB,MAAQ,SAAU,MAAQ,SAAS,KAAK,OAAQ,EAAE,CAAC,EAGrG,CAQD,SAAS,cAAe,EAExB,aAAa,UAAY,CAMvB,UAAW,UAAY,CAErB,CAAC,MAAQ,SAAS,cAAgB,GAElC,CAAC,MAAQ,SAAS,kBAAoB,EAAE,CAExC,CAAC,MAAQ,SAAS,KAAO,IAa3B,kBAAmB,SAAU,IAAK,UAAW,CAC3C,IAAIA,IACA,KAAO,MAAQ,SAAS,kBAAkB,OAE9C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACpB,YAAc,MAAQ,SAAS,YAAc,MAAQ,SAAS,kBAAkBA,KAAG,WAAa,gBACjG,MAAQ,SAAS,kBAAkBA,KAAG,UAAU,EAE5C,MAAQ,SAAS,kBAAkBA,KAAG,OACzC,CAAC,MAAQ,SAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,SAAS,KAAO,MAKjC,mBAAoB,SAAU,KAAM,EAC7B,MAAQ,SAAS,kBAAkB,QAAQ,KAAK,GAAK,KACvD,MAAQ,SAAS,kBAAkB,KAAK,KAAK,EAGnD,CAGD,SAAS,kBAAmB,EAE5B,iBAAiB,UAAY,CAC3B,cAAe,UAAY,CACzB,CAAC,MAAQ,SAAS,eAAiB,CACjC,OAAQ,MAAQ,SAAS,KAAK,GAAK,yBAAyB,qBAAqB,MAAQ,SAAU,MAAQ,SAAS,KAAK,GAAI,MAAQ,QAAQ,CAAG,CAC9I,EAAG,EACJ,CACD,QAAS,GACT,OAAQ,GACR,IAAK,IAAI,OACV,EAEI,MAAQ,SAAS,KAAK,KACzB,CAAC,MAAQ,SAAS,eAAe,MAAM,aAAe,KAInD,MAAQ,SAAS,KAAK,IAG7B,gBAAiB,UAAY,CAI3B,GAHA,CAAC,MAAQ,SAAS,eAAe,QAAU,MAAQ,SAAS,eAAe,MAAM,EAAE,OAAS,MAAQ,SAAS,cAC7G,CAAC,MAAQ,SAAS,eAAe,SAAW,MAAQ,SAAS,eAAe,MAAM,OAAS,MAAQ,SAAS,eAEvG,MAAQ,SAAS,UAAW,CAC/B,IAAI,IACA,UAAY,MAAQ,SAAS,eAAe,IAC5CA,IAAI,EACJ,KAAO,MAAQ,SAAS,UAAU,OAEtC,GAAI,EAAE,MAAQ,SAAS,eAAe,QACpC,KAAOA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,UAAUA,KAAG,eAAe,MAAM,KAAM,CAC5D,CAAC,MAAQ,SAAS,eAAe,QAAU,GAC3C,MAGF,KAAK,EAIT,IAAK,MAAQ,SAAS,eAAe,QAInC,IAHA,KAAO,MAAQ,SAAS,eAAe,MAAM,EAAE,MAC/C,SAAS,eAAe,IAAI,CAEvB,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAO,MAAQ,SAAS,UAAUA,KAAG,eAAe,MAAM,EAAE,MAC5D,SAAS,UAAU,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAK,IAAI,IAAI,GAKhK,cAAe,SAAU,KAAI,CAC3B,IAAI,WAAa,EAAE,CACnB,WAAW,MAAM,MAAQ,SAAS,eAAe,CAIjD,IAHA,IAAI,KAAO,GACP,MAAQ,MAAQ,SAAS,KAEtB,MACD,KAAK,gBACH,KAAK,KAAK,SACZ,WAAW,OAAO,EAAG,EAAG,KAAK,eAAe,CAG9C,KAAO,KAAK,MAEZ,KAAO,GAIX,IAAIA,IACA,IAAM,WAAW,OACjB,MAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,MAAQ,WAAWA,KAAG,IAAI,kBAAkB,EAAG,EAAG,EAAE,CAEpD,KAAK,CAACwB,KAAG,GAAK,MAAM,GAAIA,KAAG,GAAK,MAAM,GAAI,EAAE,CAG9C,OAAOA,MAET,QAAS,IAAI,OACd,CAED,SAAS,mBAAoB,EAE7B,kBAAkB,UAAY,CAC5B,eAAgB,UAAY,CAE1B,CAAC,MAAQ,SAAS,UAAY,GAE9B,CAAC,MAAQ,SAAS,OAAS,GAE3B,CAAC,MAAQ,SAAS,cAAgB,GAElC,CAAC,MAAQ,SAAS,qBAAuB,EAAE,EAE7C,uBAAwB,SAAU,UAAW,EACtC,MAAQ,SAAS,qBAAqB,QAAQ,UAAU,GAAK,KAC/D,MAAQ,SAAS,qBAAqB,KAAK,UAAU,EAG1D,0BAA2B,SAAU,UAAW,EACzC,MAAQ,SAAS,qBAAqB,QAAQ,UAAU,GAAK,KAC/D,MAAQ,SAAS,qBAAqB,QAAQ,MAAQ,SAAS,qBAAqB,QAAQ,UAAU,CAAE,EAAE,EAG/G,uBAAwB,SAAU,IAAK,CACrC,KAAK,iBAAiB,IAAI,EAE5B,kBAAmB,UAAY,EACxB,MAAQ,SAAS,eAAe,MAAM,EAAE,GAAK,EAC5C,EAAE,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,WAAW,aAAa,oBAChF,CAAC,MAAQ,SAAS,cAAgB,GAClC,KAAK,MAAM,GAEH,MAAQ,SAAS,gBAC3B,CAAC,MAAQ,SAAS,cAAgB,GAClC,KAAK,MAAM,GAYf,iBAAkB,SAAU,IAAK,EAC1B,MAAQ,SAAS,KAAK,IAAM,MAAQ,SAAS,KAAK,IAAM,MAAQ,MAAQ,SAAS,KAAK,IAAM,MAAQ,SAAS,KAAK,GAAK,KACrH,MAAQ,SAAS,YAAc,KAClC,CAAC,MAAQ,SAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,UAAY,GAC9B,KAAK,MAAM,GAEH,MAAQ,SAAS,YAAc,KACzC,CAAC,MAAQ,SAAS,WAAW,KAAO,GACpC,CAAC,MAAQ,SAAS,UAAY,GAC9B,KAAK,MAAM,GAGf,iBAAkB,UAAY,CAC5B,IAAIxB,IACA,KAAO,MAAQ,SAAS,qBAAqB,OAEjD,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,qBAAqBA,KAAG,aAAa,MAAQ,SAAS,cAAc,EAM1F,iBAAkB,UAAY,CAC5B,MAAO,CACL,IAAK,EACL,KAAM,EACN,MAAO,IACP,OAAQ,IACT,EAEH,aAAc,UAAY,CAQxB,OAPK,MAAQ,SAAS,KAAK,KAAO,EACzB,CACL,GAAI,MAAQ,SAAS,KAAK,SAAS,MACnC,GAAI,MAAQ,SAAS,KAAK,SAAS,OACpC,CAGI,CACL,GAAI,MAAQ,SAAS,KAAK,MAC1B,GAAI,MAAQ,SAAS,KAAK,OAC3B,EAEJ,CAGD,SAAS,sBAAuB,GAE/B,UAAY,CA4DX,gBAAgB,CAAC,kBAAmB,oBA3DnB,CACf,YAAa,SAAU,KAAM,WAAY,KAAM,CAC7C,KAAK,WAAW,CAChB,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,KAAK,cAAc,KAAM,WAAY,KAAK,CAC1C,KAAK,eAAe,CACpB,KAAK,gBAAgB,CACrB,KAAK,qBAAqB,CAC1B,KAAK,yBAAyB,CAC9B,KAAK,4BAA4B,CACjC,KAAK,eAAe,CACpB,KAAK,MAAM,EAEb,KAAM,UAAY,CAChB,GAAI,EAAE,MAAQ,SAAS,SAAW,EAAE,MAAQ,SAAS,YAAc,MAAQ,SAAS,eAAgB,CAClG,IAAI,MAAQ,MAAQ,SAAS,cAAgB,MAAQ,SAAS,aAC9D,KAAK,MAAM,QAAU,OACrB,CAAC,MAAQ,SAAS,OAAS,KAG/B,KAAM,UAAY,CAChB,IAAK,MAAQ,SAAS,WAAa,EAAE,MAAQ,SAAS,cAAe,CACnE,GAAI,EAAE,MAAQ,SAAS,KAAK,GAAI,CAC9B,IAAI,MAAQ,MAAQ,SAAS,cAAgB,MAAQ,SAAS,aAC9D,KAAK,MAAM,QAAU,QAGvB,CAAC,MAAQ,SAAS,OAAS,GAC3B,CAAC,MAAQ,SAAS,cAAgB,KAGtC,YAAa,UAAY,EAGlB,MAAQ,SAAS,KAAK,KAAO,MAAQ,SAAS,SAInD,KAAK,iBAAiB,CACtB,KAAK,kBAAkB,CACvB,KAAK,eAAe,CACpB,KAAK,oBAAoB,EAEpB,MAAQ,SAAS,gBACpB,CAAC,MAAQ,SAAS,cAAgB,MAGtC,mBAAoB,UAAY,GAChC,aAAc,SAAU,IAAK,CAC3B,CAAC,MAAQ,SAAS,KAAO,GACzB,KAAK,uBAAuB,IAAI,CAChC,KAAK,kBAAkB,KAAM,MAAQ,SAAS,UAAU,CACxD,KAAK,mBAAmB,EAE1B,QAAS,UAAY,CACnB,CAAC,MAAQ,SAAS,UAAY,KAC9B,KAAK,oBAAoB,EAE5B,CACkE,CAAC,CAAE,qBAAqB,IACzF,CAIJ,SAAS,iBAAiB,QAAS,SAAU,CAC3C,CAAC,MAAQ,SAAS,KAAO,QACzB,CAAC,MAAQ,SAAS,IAAM,SAK1B,SAAS,aAAa,KAAM,MAAO,CACjC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KAAK,GAC9B,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,IAAM,MACxB,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,OAAS,KAAK,KAAO,GACvC,CAAC,MAAQ,SAAS,MAAQ,SAAS,OAAO,CAC1C,CAAC,MAAQ,SAAS,OAAS,KAG7B,aAAa,UAAU,MAAQ,UAAY,CACzC,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,KAAO,IAG3B,SAAS,aAAa,aAAc,MAAO,MAAO,CAChD,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,aAAe,aACjC,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,GAAK,MACvB,CAAC,MAAQ,SAAS,IAAM,MAIxB,CAAC,MAAQ,SAAS,YAAc,CAAC,CAAC,MAAM,EAKxC,IAHA,IAAIA,IAAI,EACJ,IAAM,aAAa,OAEhBA,IAAI,KAAK,CACd,GAAI,aAAaA,KAAG,OAAO,kBAAkB,OAAQ,CACnD,CAAC,MAAQ,SAAS,YAAc,GAChC,MAGF,KAAK,GAIT,aAAa,UAAU,cAAgB,UAAY,CACjD,CAAC,MAAQ,SAAS,YAAc,IAKlC,SAAS,iBAAiB,OAAQ,GAAI,UAAW,CAC/C,CAAC,MAAQ,SAAS,UAAY,CACpB,OACJ,GACO,UACZ,CACD,CAAC,MAAQ,SAAS,SAAW,EAAE,CAC/B,CAAC,MAAQ,SAAS,aAAe,MAAQ,SAAS,UAAU,OAAO,kBAAkB,SAAW,MAAQ,SAAS,UAAU,GAAG,gBAAgB,OAKhJ,SAAS,mBAAmB,KAAM,KAAM,QAAS,CAC/C,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,yBAC/C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,IAAI,aAAa,KAAM,KAAK,GAAK,EAAE,CAAE,MAAO,MAAQ,QAAQ,CAClF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAK,MAAQ,QAAQ,CACpF,CAAC,MAAQ,SAAS,MAAQ,QAC1B,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,YAGtD,gBAAgB,CAAC,yBAAyB,CAAE,mBAAmB,CAG/D,SAAS,iBAAiB,KAAM,KAAM,QAAS,CAC7C,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,yBAC/C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAK,MAAQ,QAAQ,CACpF,CAAC,MAAQ,SAAS,MAAQ,QAG5B,gBAAgB,CAAC,yBAAyB,CAAE,iBAAiB,CAI7D,SAAS,yBAAyB,KAAM,KAAM,QAAS,CACrD,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,yBAC/C,KAAK,iBAAiB,KAAM,KAAM,QAAQ,CAG5C,yBAAyB,UAAU,iBAAmB,SAAU,KAAM,KAAM,QAAS,CACnF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,EACJ,CAAE,EAAG,IAAM,MAAQ,QAAQ,CAC5B,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,GAAK,CAC5D,EAAG,EACJ,CAAE,EAAG,UAAW,MAAQ,QAAQ,CACjC,CAAC,MAAQ,SAAS,EAAI,IAAI,iBAAiB,KAAM,KAAK,EAAG,MAAQ,QAAQ,CACzE,CAAC,MAAQ,SAAS,MAAQ,QAC1B,CAAC,MAAQ,SAAS,MAAQ,EAAE,CAC5B,KAAK,gBAAgB,QAAQ,MAAO,KAAK,CACzC,KAAK,mBAAmB,KAAM,QAAQ,CACtC,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,aAGtD,yBAAyB,UAAU,gBAAkB,SAAU,YAAa,KAAM,CAChF,IAAI,WAAa,iBAAiB,CAC9B,MAAQ,SAAS,KAAK,IAAM,EAAI,iBAAmB,iBAAiB,CACxE,MAAM,aAAa,KAAM,WAAW,CACpC,MAAM,aAAa,eAAgB,MAAM,CACzC,MAAM,aAAa,gBAAiB,iBAAiB,CACrD,IAAI,MAAQ,EAAE,CACV,KACAe,IACA,KACG,KAAK,EAAE,EAAI,EAElB,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,KAAO,SAAS,OAAO,CACvB,MAAM,YAAY,KAAK,CACvB,MAAM,KAAK,KAAK,CAGlB,YAAY,aAAa,KAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAM,WAAa,IAAI,CAC9G,CAAC,MAAQ,SAAS,GAAK,MACvB,CAAC,MAAQ,SAAS,IAAM,OAG1B,yBAAyB,UAAU,mBAAqB,SAAU,KAAM,QAAS,CAC/E,IAAK,MAAQ,SAAS,EAAE,aAAe,EAAE,MAAQ,SAAS,EAAE,aAAc,CACxE,IAAI,KACAA,IACA,KACAW,OAAO,SAAS,OAAO,CACvB,YAAc,SAAS,OAAO,CAClC,OAAK,YAAY,YAAY,CAC7B,IAAI,UAAY,iBAAiB,CAC7B,OAAS,iBAAiB,CAC9B,OAAK,aAAa,KAAM,OAAO,CAC/B,IAAI,OAAS,SAAS,KAAK,IAAM,EAAI,iBAAmB,iBAAiB,CACzE,OAAO,aAAa,KAAM,UAAU,CACpC,OAAO,aAAa,eAAgB,MAAM,CAC1C,OAAO,aAAa,gBAAiB,iBAAiB,CACtD,KAAO,KAAK,EAAE,EAAE,EAAE,GAAG,EAAI,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,OAAS,KAAK,EAAE,EAAE,EAAE,OAC7D,IAAI,OAAS,MAAQ,SAAS,MAE9B,IAAK,IAAI,KAAK,EAAE,EAAI,EAAGX,IAAI,KAAM,KAAK,EACpC,KAAO,SAAS,OAAO,CACvB,KAAK,aAAa,aAAc,mBAAmB,CACnD,OAAO,YAAY,KAAK,CACxB,MAAM,KAAK,KAAK,CAGlB,YAAY,aAAa,KAAK,KAAO,KAAO,OAAS,SAAU,OAAS,aAAe,IAAM,UAAY,IAAI,CAC7G,CAAC,MAAQ,SAAS,GAAK,OACvB,CAAC,MAAQ,SAAS,GAAKW,OACvB,CAAC,MAAQ,SAAS,IAAM,MACxB,CAAC,MAAQ,SAAS,OAAS,OAC3B,QAAQ,OAAS,cAIrB,gBAAgB,CAAC,yBAAyB,CAAE,yBAAyB,CAGrE,SAAS,2BAA2B,KAAM,KAAM,QAAS,CACvD,KAAK,6BAA6B,KAAK,CACvC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,yBAC/C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CACrF,CAAC,MAAQ,SAAS,EAAI,IAAI,aAAa,KAAM,KAAK,GAAK,EAAE,CAAE,MAAO,MAAQ,QAAQ,CAClF,KAAK,iBAAiB,KAAM,KAAM,QAAQ,CAC1C,CAAC,MAAQ,SAAS,YAAc,CAAC,EAAE,MAAQ,SAAS,YAGtD,gBAAgB,CAAC,yBAA0B,yBAAyB,CAAE,2BAA2B,CAKjG,SAAS,gBAAiB,CACxB,CAAC,MAAQ,SAAS,GAAK,EAAE,CACzB,CAAC,MAAQ,SAAS,aAAe,EAAE,CACnC,CAAC,MAAQ,SAAS,GAAK,SAAS,IAAI,CAOtC,IAAI,oBAAsB,UAAY,CACpC,IAAI,gBAAkB,IAAI,OAEtB,cAAgB,IAAI,OAEpB,GAAK,CACe,qBACvB,CAED,SAAS,qBAAqB,KAAM,CAClC,OAAQ,KAAK,GAAb,CACE,IAAK,KACH,OAAO,WAET,IAAK,KACH,OAAO,eAET,IAAK,KACH,OAAO,qBAET,IAAK,KACH,OAAO,aAET,IAAK,KACL,IAAK,KACL,IAAK,KACL,IAAK,KACH,OAAO,WAET,IAAK,KACH,OAAO,uBAET,QACE,OAAO,MAIb,SAAS,uBAAuB,UAAW,SAAU,aAAc,EAC7D,cAAgB,SAAS,UAAU,GAAG,OACxC,SAAS,UAAU,UAAU,aAAa,UAAW,SAAS,UAAU,GAAG,EAAE,EAG3E,cAAgB,SAAS,UAAU,OAAO,OAC5C,SAAS,UAAU,UAAU,aAAa,YAAa,SAAS,UAAU,OAAO,EAAE,SAAS,CAAC,CAIjG,SAAS,WAAW,UAAW,SAAU,aAAc,CACrD,IAAIX,IACA,KACA,sBACA,OACA,UACAE,IACA,KAAO,SAAS,OAAO,OACvB,IAAM,SAAS,IACf,MACA,IACA,MACA,WACAD,IAEJ,IAAK,IAAI,EAAGC,IAAI,KAAM,KAAK,EAAG,CAG5B,GAFA,OAAS,SAAS,GAAG,MAAQ,aAEzB,SAAS,OAAOA,KAAG,IAAM,IAAK,CAKhC,IAJA,IAAM,cAAc,OAAO,CAC3B,WAAa,IAAM,SAAS,OAAOA,KAAG,IACtC,IAAI,SAAS,aAAa,OAAS,EAE5B,CAAC,QAAU,WAAa,GAC7B,OAAS,SAAS,aAAaD,KAAG,OAAO,MAAQ,OACjD,aACA,MAGF,GAAI,OAIF,IAHA,WAAa,IAAM,SAAS,OAAOC,KAAG,IACtC,IAAI,SAAS,aAAa,OAAS,EAE5B,WAAa,GAClB,MAAQ,SAAS,aAAaD,KAAG,OAAO,EAAE,MAC1C,IAAI,UAAU,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAI,CACnL,aACA,WAIJ,IAAM,gBAMR,GAHA,MAAQ,SAAS,GAAG,MACpB,KAAO,MAAM,QAET,OAAQ,CAGV,IAFA,sBAAwB,GAEnB,IAAI,EAAGD,IAAI,KAAM,KAAK,EACzB,UAAY,MAAM,OAAOA,KAErB,WAAa,UAAU,UACzB,uBAAyB,iBAAiB,UAAW,UAAU,QAAS,UAAU,EAAG,IAAI,EAI7F,SAAS,OAAOE,KAAK,2BAErB,sBAAwB,SAAS,OAAOA,KAG1C,SAAS,OAAOA,KAAG,GAAK,UAAU,KAAO,GAAO,GAAK,sBACrD,SAAS,OAAOA,KAAG,KAAO,QAAU,SAAS,OAAOA,KAAG,MAI3D,SAAS,WAAW,UAAW,SAAU,aAAc,CACrD,IAAI,UAAY,SAAS,OAErB,SAAS,EAAE,MAAQ,eACrB,UAAU,MAAM,aAAa,OAAQ,OAAS,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAI,EAG7I,SAAS,EAAE,MAAQ,eACrB,UAAU,MAAM,aAAa,eAAgB,SAAS,EAAE,EAAE,CAI9D,SAAS,qBAAqB,UAAW,SAAU,aAAc,CAC/D,eAAe,UAAW,SAAU,aAAa,CACjD,aAAa,UAAW,SAAU,aAAa,CAGjD,SAAS,eAAe,UAAW,SAAU,aAAc,CACzD,IAAI,MAAQ,SAAS,GACjB,WAAa,SAAS,EAAE,YACxB,IAAM,SAAS,EAAE,EACjB,IAAM,SAAS,EAAE,EAErB,GAAI,SAAS,EAAE,MAAQ,aAAc,CACnC,IAAI,KAAO,UAAU,KAAO,KAAO,eAAiB,iBACpD,SAAS,MAAM,MAAM,aAAa,KAAM,SAAS,EAAE,EAAE,CAGvD,GAAI,SAAS,EAAE,MAAQ,aAAc,CACnC,IAAI,MAAQ,UAAU,IAAM,EAAI,KAAO,KACnC,MAAQ,QAAU,KAAO,KAAO,KACpC,MAAM,aAAa,MAAO,IAAI,GAAG,CACjC,MAAM,aAAa,MAAO,IAAI,GAAG,CAE7B,YAAc,CAAC,SAAS,EAAE,eAC5B,SAAS,GAAG,aAAa,MAAO,IAAI,GAAG,CACvC,SAAS,GAAG,aAAa,MAAO,IAAI,GAAG,EAI3C,IAAI,MACAjB,IACA,IACA,KAEJ,GAAI,SAAS,EAAE,OAAS,aAAc,CACpC,MAAQ,SAAS,IACjB,IAAI,QAAU,SAAS,EAAE,EAGzB,IAFA,IAAM,MAAM,OAEP,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAO,MAAMA,KACb,KAAK,aAAa,SAAU,QAAQA,IAAI,GAAK,IAAI,CACjD,KAAK,aAAa,aAAc,OAAS,QAAQA,IAAI,EAAI,GAAK,IAAM,QAAQA,IAAI,EAAI,GAAK,IAAM,QAAQA,IAAI,EAAI,GAAK,IAAI,CAI5H,GAAI,aAAe,SAAS,EAAE,OAAS,cAAe,CACpD,IAAI,QAAU,SAAS,EAAE,EAUzB,IARA,AAGE,MAHE,SAAS,EAAE,aACL,SAAS,IAET,SAAS,IAGnB,IAAM,MAAM,OAEP,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAO,MAAMA,KAER,SAAS,EAAE,cACd,KAAK,aAAa,SAAU,QAAQA,IAAI,GAAK,IAAI,CAGnD,KAAK,aAAa,eAAgB,QAAQA,IAAI,EAAI,GAAG,CAIzD,GAAI,UAAU,IAAM,GACd,SAAS,EAAE,MAAQ,gBACrB,MAAM,aAAa,KAAM,IAAI,GAAG,CAChC,MAAM,aAAa,KAAM,IAAI,GAAG,CAE5B,YAAc,CAAC,SAAS,EAAE,eAC5B,SAAS,GAAG,aAAa,KAAM,IAAI,GAAG,CACtC,SAAS,GAAG,aAAa,KAAM,IAAI,GAAG,OAGrC,CACL,IAAI,IAWJ,IATI,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAQ,gBACxC,IAAM,KAAK,MAAc,IAAI,GAAK,IAAI,KAAI,GAAc,IAAI,GAAK,IAAI,KAAI,EAAG,CAC5E,MAAM,aAAa,IAAK,IAAI,CAExB,YAAc,CAAC,SAAS,EAAE,cAC5B,SAAS,GAAG,aAAa,IAAK,IAAI,EAIlC,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAQ,aAAc,CACzE,AACE,MAAM,KAAK,MAAc,IAAI,GAAK,IAAI,KAAI,GAAc,IAAI,GAAK,IAAI,KAAI,EAAG,CAG9E,IAAI,IAAM,KAAK,MAAM,IAAI,GAAK,IAAI,GAAI,IAAI,GAAK,IAAI,GAAG,CAClD,QAAU,SAAS,EAAE,EAErB,SAAW,EACb,QAAU,IACD,SAAW,KACpB,QAAU,MAGZ,IAAI,KAAO,IAAM,QACbqB,IAAI,KAAK,IAAI,IAAM,SAAS,EAAE,EAAE,CAAG,KAAO,IAAI,GAC9CC,IAAI,KAAK,IAAI,IAAM,SAAS,EAAE,EAAE,CAAG,KAAO,IAAI,GAClD,MAAM,aAAa,KAAMD,IAAE,CAC3B,MAAM,aAAa,KAAMC,IAAE,CAEvB,YAAc,CAAC,SAAS,EAAE,eAC5B,SAAS,GAAG,aAAa,KAAMD,IAAE,CACjC,SAAS,GAAG,aAAa,KAAMC,IAAE,IAOzC,SAAS,aAAa,UAAW,SAAU,aAAc,CACvD,IAAI,UAAY,SAAS,MACrBX,IAAI,SAAS,EAEbA,MAAMA,IAAE,MAAQ,eAAiBA,IAAE,UACrC,UAAU,MAAM,aAAa,mBAAoBA,IAAE,QAAQ,CAC3D,UAAU,MAAM,aAAa,oBAAqBA,IAAE,WAAW,GAAG,EAGhE,SAAS,IAAM,SAAS,EAAE,MAAQ,eACpC,UAAU,MAAM,aAAa,SAAU,OAAS,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAI,EAG/I,SAAS,EAAE,MAAQ,eACrB,UAAU,MAAM,aAAa,iBAAkB,SAAS,EAAE,EAAE,EAG1D,SAAS,EAAE,MAAQ,gBACrB,UAAU,MAAM,aAAa,eAAgB,SAAS,EAAE,EAAE,CAEtD,UAAU,QACZ,UAAU,OAAO,aAAa,eAAgB,SAAS,EAAE,EAAE,EAKjE,OAAO,KACN,CAIH,SAAS,uBAAwB,CAC/B,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,aAAe,EAAE,CACnC,CAAC,MAAQ,SAAS,oBAAsB,EAG1C,sBAAsB,UAAY,CAChC,qBAAsB,SAAU,WAAY,CAC1C,IAAIX,IACA,IAAM,WAAW,OACjB,IAAM,IAEV,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAO,WAAWA,KAAG,UAAU,IAAM,IAGvC,IAAI,UAAY,MAAQ,SAAS,UAAU,KAa3C,OAXK,WACH,SAAW,CACT,WAAY,EAAE,CAAC,OAAO,WAAW,CACjC,eAAgB,IAAI,OACpB,KAAM,GACP,CACD,CAAC,MAAQ,SAAS,UAAU,KAAO,UAElC,MAAQ,SAAS,aAAa,KAAK,SAAS,EAGxC,UAET,gBAAiB,SAAU,SAAU,aAAc,CAKjD,IAJA,IAAIA,IAAI,EACJ,IAAM,SAAS,WAAW,OAC1B,KAAO,aAEJA,IAAI,KAAO,CAAC,cAAc,CAC/B,GAAI,SAAS,WAAWA,KAAG,UAAU,OAAO,KAAM,CAChD,KAAO,GACP,MAGF,KAAK,EAGP,GAAI,KAAM,CACR,IAAI,MAGJ,IAFA,SAAS,eAAe,OAAO,CAE1B,IAAI,IAAM,EAAGA,KAAK,EAAG,MACxB,MAAQ,SAAS,WAAWA,KAAG,UAAU,OAAO,EAAE,MAClD,SAAS,eAAe,UAAU,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,GAAI,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAK,MAAM,IAAI,CAI3M,SAAS,KAAO,MAElB,iBAAkB,SAAU,aAAc,CACxC,IAAIA,IACA,KAAO,MAAQ,SAAS,aAAa,OAEzC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,iBAAiB,MAAQ,SAAS,aAAaA,KAAI,aAAa,EAGzE,UAAW,UAAY,CAErB,MADA,CAAC,MAAQ,SAAS,qBAAuB,EAClC,KAAO,MAAQ,SAAS,qBAElC,CAGD,SAAS,YAAY,QAAS,KAAM,OAAQ,kBAAmB,CAC7D,CAAC,MAAQ,SAAS,aAAe,EAAE,CACnC,CAAC,MAAQ,SAAS,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CACzC,IAAI,GAAK,EAEL,KAAK,KAAO,KACd,GAAK,EACI,KAAK,KAAO,KACrB,GAAK,EACI,KAAK,KAAO,OACrB,GAAK,GAGP,CAAC,MAAQ,SAAS,GAAK,qBAAqB,aAAa,QAAS,KAAM,GAAI,QAAQ,CACpF,IAAIA,IACA,IAAM,OAAO,OACb,YAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACnB,OAAOA,KAAG,SACb,YAAc,CACZ,WAAY,kBAAkB,qBAAqB,OAAOA,KAAG,WAAW,CACxE,QAAS,EAAE,CACZ,EAEA,MAAQ,SAAS,aAAa,KAAK,YAAY,CAEhD,OAAOA,KAAG,SAAS,KAAK,YAAY,EAK1C,YAAY,UAAU,cAAgB,aAAa,UAAU,cAI7D,SAAS,aAAc,EAEvB,YAAY,UAAY,CACtB,WAAY,UAAY,CACtB,GAAI,EAAE,MAAQ,SAAS,KAAK,QAC1B,MAAO,GAMT,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,KAAK,gBAAgB,OAE1CA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,KAAK,gBAAgBA,KAAG,OAAS,MAAQ,MAAQ,SAAS,KAAK,gBAAgBA,KAAG,KAAO,GAC7G,MAAO,GAGT,KAAK,EAGP,MAAO,IAET,gBAAiB,UAAY,CAC3B,CAAC,MAAQ,SAAS,eAAiB,yBAAyB,MAAQ,QAAQ,EAEvE,MAAQ,SAAS,KAAK,UAAY,MAAQ,SAAS,cACrD,MAAQ,SAAS,eAAe,uBAAuB,MAAQ,SAAS,YAAY,CAGvF,IAAI,iBAAmB,2BAA2B,uBAAuB,MAAQ,SAAU,MAAQ,SAAS,eAAe,EAE1H,MAAQ,SAAS,eAAe,yBAAyB,iBAAiB,EAEtE,MAAQ,SAAS,KAAK,KAAO,IAAM,MAAQ,SAAS,KAAK,GAC5D,CAAC,MAAQ,SAAS,cAAgB,wBAAwB,MAAQ,QAAQ,EAChE,MAAQ,SAAS,KAAK,KAAO,GACvC,CAAC,MAAQ,SAAS,eAAe,eAAiB,0BAA0B,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,eAAe,CACvK,CAAC,MAAQ,SAAS,eAAe,SAAW,MAAQ,SAAS,eAAe,iBAClE,MAAQ,SAAS,KAAK,KAAO,IACvC,CAAC,MAAQ,SAAS,eAAe,cAAgB,wBAAwB,MAAQ,QAAQ,CACzF,CAAC,MAAQ,SAAS,eAAe,MAAQ,MAAQ,SAAS,eAAe,gBAG7E,aAAc,UAAY,CACxB,IAAI,eAAiB,cAAc,MAAQ,SAAS,KAAK,GAAG,CACxD,MAAQ,MAAQ,SAAS,cAAgB,MAAQ,SAAS,aAC9D,KAAK,MAAM,kBAAoB,gBAEjC,aAAc,SAAU,KAAM,WAAY,KAAM,CAC9C,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,iBAAiB,EAEvC,MAAQ,SAAS,KAAK,KAC1B,CAAC,MAAQ,SAAS,KAAK,GAAK,GAI9B,CAAC,MAAQ,SAAS,eAAiB,IAAI,gBAAgB,MAAQ,SAAS,KAAM,MAAQ,SAAU,MAAQ,SAAS,kBAAkB,EAErI,QAAS,UAAY,CACnB,OAAQ,MAAQ,SAAS,MAE3B,iBAAkB,UAAY,GAC/B,CAGD,SAAS,YAAY,KAAM,WAAY,KAAM,CAC3C,KAAK,WAAW,CAChB,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,KAAK,WAAW,CAChB,KAAK,cAAc,KAAM,WAAY,KAAK,CAC1C,KAAK,eAAe,CAGtB,YAAY,UAAU,aAAe,SAAU,IAAK,CAClD,KAAK,kBAAkB,IAAK,GAAK,EAGnC,YAAY,UAAU,YAAc,UAAY,GAEhD,YAAY,UAAU,eAAiB,UAAY,CACjD,OAAO,MAGT,YAAY,UAAU,QAAU,UAAY,GAE5C,YAAY,UAAU,iBAAmB,UAAY,GAErD,YAAY,UAAU,KAAO,UAAY,GAEzC,gBAAgB,CAAC,YAAa,iBAAkB,iBAAkB,aAAa,CAAE,YAAY,CAG7F,SAAS,gBAAiB,EAE1B,eAAe,UAAY,CACzB,oBAAqB,UAAY,CAC/B,CAAC,MAAQ,SAAS,aAAe,SAAS,IAAI,EAEhD,wBAAyB,UAAY,CACnC,CAAC,MAAQ,SAAS,aAAe,SAAS,IAAI,CAC9C,CAAC,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,aACzD,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,aACpD,CAAC,MAAQ,SAAS,aAAe,GACjC,IAAI,mBAAqB,KAErB,MACA,IACA,GAEJ,IAAK,MAAQ,SAAS,KAAK,QACpB,MAAQ,SAAS,KAAK,IAAM,IAAM,MAAQ,SAAS,KAAK,IAAM,EAAG,CAEpE,IAAI,OAAS,SAAS,OAAO,CAC7B,OAAO,aAAa,MAAO,MAAQ,SAAS,QAAQ,CACpD,OAAO,aAAa,aAAc,MAAQ,SAAS,KAAK,IAAM,EAAI,YAAc,QAAQ,CAExF,OAAO,aAAa,MAAQ,SAAS,aAAa,CAClD,mBAAqB,QAEpB,MAAQ,SAAS,WAAW,KAAK,YAAY,OAAO,CAGjD,CAAC,eAAe,WAAa,MAAQ,SAAS,KAAK,IAAM,IAE3D,OAAO,aAAa,YAAa,YAAY,CAC7C,MAAQ,iBAAiB,CACzB,IAAM,eAAe,aAAa,MAAM,EAEvC,MAAQ,SAAS,WAAW,KAAK,YAAY,IAAI,CAElD,IAAI,YAAY,eAAe,8BAA8B,CAAC,CAC9D,GAAK,SAAS,IAAI,CAClB,GAAG,aAAa,MAAQ,SAAS,aAAa,CAC9C,mBAAqB,GACrB,OAAO,YAAY,GAAG,CACtB,GAAG,aAAa,SAAU,OAAS,aAAe,IAAM,MAAQ,IAAI,WAE5D,MAAQ,SAAS,KAAK,IAAM,EAAG,CAEzC,IAAI,UAAY,SAAS,OAAO,CAChC,UAAU,aAAa,MAAO,MAAQ,SAAS,QAAQ,CACvD,UAAU,aAAa,YAAa,QAAQ,CAC5C,IAAI,YAAc,SAAS,IAAI,CAC/B,UAAU,YAAY,YAAY,CAClC,MAAQ,iBAAiB,CACzB,IAAM,eAAe,aAAa,MAAM,CAUxC,IAAI,MAAQ,SAAS,sBAAsB,CAC3C,MAAM,aAAa,KAAM,gBAAgB,CACzC,IAAI,YAAY,MAAM,CACtB,IAAI,OAAS,SAAS,UAAU,CAChC,OAAO,aAAa,OAAQ,QAAQ,CACpC,OAAO,aAAa,cAAe,UAAU,CAC7C,MAAM,YAAY,OAAO,EAExB,MAAQ,SAAS,WAAW,KAAK,YAAY,IAAI,CAElD,IAAI,UAAY,SAAS,OAAO,CAChC,UAAU,aAAa,SAAU,MAAQ,SAAS,KAAK,KAAK,EAAE,CAC9D,UAAU,aAAa,UAAW,MAAQ,SAAS,KAAK,KAAK,EAAE,CAC/D,UAAU,aAAa,IAAK,IAAI,CAChC,UAAU,aAAa,IAAK,IAAI,CAChC,UAAU,aAAa,OAAQ,UAAU,CACzC,UAAU,aAAa,UAAW,IAAI,CACtC,YAAY,aAAa,SAAU,OAAS,aAAe,IAAM,MAAQ,IAAI,CAC7E,YAAY,YAAY,UAAU,CAClC,YAAY,aAAa,MAAQ,SAAS,aAAa,CACvD,mBAAqB,YAEhB,eAAe,WAClB,UAAU,aAAa,YAAa,YAAY,CAChD,IAAI,YAAY,eAAe,8BAA8B,CAAC,CAC9D,GAAK,SAAS,IAAI,CAClB,YAAY,YAAY,UAAU,CAClC,GAAG,aAAa,MAAQ,SAAS,aAAa,CAC9C,mBAAqB,GACrB,YAAY,YAAY,GAAG,GAG5B,MAAQ,SAAS,WAAW,KAAK,YAAY,UAAU,QAEhD,MAAQ,SAAS,KAAK,KAC/B,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,aAAa,CAE1E,oBAAsB,MAAQ,SAAS,aACvC,CAAC,MAAQ,SAAS,aAAe,MAAQ,SAAS,cAElD,CAAC,MAAQ,SAAS,aAAe,MAAQ,SAAS,aAYpD,IATK,MAAQ,SAAS,KAAK,KACxB,MAAQ,SAAS,aAAa,aAAa,MAAO,MAAQ,SAAS,KAAK,GAAG,EAGzE,MAAQ,SAAS,KAAK,KACxB,MAAQ,SAAS,aAAa,aAAa,SAAU,MAAQ,SAAS,KAAK,GAAG,EAI5E,MAAQ,SAAS,KAAK,KAAO,GAAK,EAAE,MAAQ,SAAS,KAAK,GAAI,CACjE,IAAI,GAAK,SAAS,WAAW,CACzBwB,KAAK,SAAS,OAAO,CACzB,KAAG,aAAa,IAAK,UAAY,MAAQ,SAAS,KAAK,EAAI,QAAU,MAAQ,SAAS,KAAK,EAAI,KAAO,MAAQ,SAAS,KAAK,EAAI,QAAU,MAAQ,SAAS,KAAK,EAAI,IAAI,CACxK,IAAI,OAAS,iBAAiB,CAM9B,GALA,GAAG,aAAa,KAAM,OAAO,CAC7B,GAAG,YAAYA,KAAG,EAEjB,MAAQ,SAAS,WAAW,KAAK,YAAY,GAAG,CAE7C,KAAK,YAAY,CAAE,CACrB,IAAI,QAAU,SAAS,IAAI,CAC3B,QAAQ,aAAa,YAAa,OAAS,aAAe,IAAM,OAAS,IAAI,CAC7E,QAAQ,aAAa,MAAQ,SAAS,aAAa,CACnD,CAAC,MAAQ,SAAS,mBAAqB,QAEnC,mBACF,mBAAmB,aAAa,MAAQ,SAAS,mBAAmB,CAEpE,CAAC,MAAQ,SAAS,aAAe,MAAQ,SAAS,yBAGnD,MAAQ,SAAS,aAAa,aAAa,YAAa,OAAS,aAAe,IAAM,OAAS,IAAI,EAInG,MAAQ,SAAS,KAAK,KAAO,GAChC,KAAK,cAAc,EAGvB,cAAe,UAAY,EACpB,MAAQ,SAAS,eAAe,UAClC,MAAQ,SAAS,mBAAmB,aAAa,aAAc,MAAQ,SAAS,eAAe,IAAI,SAAS,CAAC,EAG3G,MAAQ,SAAS,eAAe,SAClC,MAAQ,SAAS,mBAAmB,aAAa,WAAY,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,EAG5G,mBAAoB,UAAY,CAC9B,CAAC,MAAQ,SAAS,aAAe,KACjC,CAAC,MAAQ,SAAS,aAAe,MAEhC,MAAQ,SAAS,YAAY,SAAS,EAEzC,eAAgB,UAAY,CAK1B,OAJK,MAAQ,SAAS,KAAK,GAClB,MAGD,MAAQ,SAAS,aAE3B,2BAA4B,UAAY,CACtC,CAAC,MAAQ,SAAS,YAAc,IAAI,aAAa,MAAQ,SAAS,KAAM,MAAQ,SAAU,MAAQ,SAAS,WAAW,CACtH,CAAC,MAAQ,SAAS,yBAA2B,IAAI,WAAW,MAAQ,QAAQ,EAE9E,SAAU,SAAU,GAAI,EAChB,MAAQ,SAAS,eAItB,MAAQ,SAAS,aAAa,aAAa,OAAQ,OAAS,aAAe,IAAM,GAAK,IAAI,EAE9F,CAGD,SAAS,eAAgB,EAEzB,cAAc,UAAY,CACxB,oBAAqB,SAAU,KAAM,CACnC,IAAIxB,IACA,KAAO,MAAQ,SAAS,eAAe,OAE3C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,eAAeA,KAAG,SAAS,KAAK,EAGtD,2BAA4B,SAAU,KAAM,CAI1C,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,eAAe,OAEpCA,IAAI,KACT,IAAK,MAAQ,SAAS,eAAeA,KAAG,oBAAoB,KAAK,CAC/D,MAAO,GAIX,MAAO,IAET,gBAAiB,UAAY,CACvB,IAAE,MAAQ,SAAS,eAAe,OAItC,KAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,OAAOA,KAAG,GAAG,OAAO,CAGxC,KAAO,MAAQ,SAAS,eAAe,OACvC,IAAI,mBAEJ,IAAK,IAAI,IAAM,EAAGA,KAAK,IACrB,oBAAsB,MAAQ,SAAS,eAAeA,KAAG,eAAe,MAAQ,SAAS,cAAc,CAGnG,qBAJoB,UAS5B,OAAQ,CACN,EAAG,OACH,EAAG,QACH,EAAG,SACJ,CACD,OAAQ,CACN,EAAG,QACH,EAAG,QACH,EAAG,QACJ,CACD,uBAAwB,SAAU,KAAM,CAKtC,IAJA,IAAI,UAAY,MAAQ,SAAS,kBAC7BA,IAAI,EACJ,IAAM,SAAS,OAEZA,IAAI,KAAK,CACd,GAAI,SAASA,KAAG,OAAS,KACvB,OAAO,SAASA,KAAG,IAGrB,KAAK,EAGP,MAAO,IAET,oBAAqB,SAAU,KAAM,IAAK,CAIxC,IAHA,IAAI,UAAY,MAAQ,SAAS,kBAC7BA,IAAI,SAAS,OAEVA,KAGL,GAFA,MAEI,SAASA,KAAG,OAAS,KAAM,CAC7B,SAASA,KAAG,IAAM,IAClB,OAIJ,SAAS,KAAK,IAAI,iBAAiB,KAAM,IAAI,CAAC,EAEhD,aAAc,SAAU,IAAK,CAC3B,KAAK,uBAAuB,IAAI,CAChC,KAAK,kBAAkB,KAAM,MAAQ,SAAS,UAAU,EAE3D,CAGD,SAAS,cAAe,EAExB,aAAa,UAAU,YAAc,SAAU,KAAM,WAAY,KAAM,CACrE,CAAC,MAAQ,SAAS,mBAAqB,GACvC,KAAK,WAAW,CAChB,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,CAAC,MAAQ,SAAS,aAAe,IAAI,aAAa,MAAQ,QAAS,KAAK,GAAI,MAAQ,SAAS,kBAAkB,CAC/G,CAAC,MAAQ,SAAS,aAAe,IAAI,qBAAqB,KAAK,GAAI,MAAQ,SAAS,WAAY,MAAQ,QAAQ,CAChH,KAAK,cAAc,KAAM,WAAY,KAAK,CAC1C,KAAK,eAAe,CACpB,KAAK,gBAAgB,CACrB,KAAK,qBAAqB,CAC1B,KAAK,yBAAyB,CAC9B,KAAK,4BAA4B,CACjC,KAAK,eAAe,CACpB,KAAK,MAAM,EAEV,MAAQ,SAAS,aAAa,kBAAkB,MAAQ,SAAS,kBAAkB,EAGtF,aAAa,UAAU,aAAe,SAAU,IAAK,CACnD,CAAC,MAAQ,SAAS,KAAO,GACzB,KAAK,uBAAuB,IAAI,CAChC,KAAK,kBAAkB,KAAM,MAAQ,SAAS,UAAU,GAEnD,MAAQ,SAAS,aAAa,OAAS,MAAQ,SAAS,aAAa,iBACxE,KAAK,cAAc,CACnB,CAAC,MAAQ,SAAS,aAAa,cAAgB,GAC/C,CAAC,MAAQ,SAAS,aAAa,KAAO,KAI1C,aAAa,UAAU,gBAAkB,SAAU,aAAc,OAAQ,CACvE,IAAIe,IACA,KAAO,OAAO,OACd,UACA,SAAW,GAEf,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,UAAY,OAAOA,KAAG,GAAG,EACzB,UAAY,iBAAiB,UAAW,UAAU,EAAE,OAAQ,GAAM,aAAa,CAGjF,OAAO,UAGT,aAAa,UAAU,mBAAqB,SAAU,QAAS,MAAO,EACnE,MAAQ,SAAS,aAAa,mBAAmB,QAAS,MAAM,EAGnE,aAAa,UAAU,cAAgB,SAAU,WAAY,EAC1D,MAAQ,SAAS,aAAa,cAAc,WAAW,EAG1D,aAAa,UAAU,mBAAqB,SAAU,UAAW,EAC9D,MAAQ,SAAS,aAAa,mBAAmB,UAAU,EAG9D,aAAa,UAAU,4BAA8B,SAAU,aAAc,aAAc,WAAY,KAAM,KAAM,CAOjH,OANI,aAAa,IACf,aAAa,UAAU,aAAa,GAAG,GAAI,aAAa,GAAG,GAAK,aAAa,OAAQ,EAAE,CAGzF,aAAa,UAAU,EAAG,CAAC,aAAa,GAAI,EAAE,CAEtC,aAAa,EAArB,CACE,IAAK,GACH,aAAa,UAAU,aAAa,eAAiB,aAAa,SAAW,aAAa,WAAW,aAAc,EAAG,EAAE,CACxH,MAEF,IAAK,GACH,aAAa,UAAU,aAAa,eAAiB,aAAa,SAAW,aAAa,WAAW,aAAe,EAAG,EAAG,EAAE,CAC5H,MAEF,QACE,MAGJ,aAAa,UAAU,KAAM,KAAM,EAAE,EAGvC,aAAa,UAAU,WAAa,SAAU,UAAW,CACvD,MAAO,OAAS,KAAK,MAAM,UAAU,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,UAAU,GAAK,IAAI,CAAG,IAAM,KAAK,MAAM,UAAU,GAAK,IAAI,CAAG,KAGjI,aAAa,UAAU,UAAY,IAAI,YAEvC,aAAa,UAAU,QAAU,UAAY,GAI7C,SAAS,cAAe,EAExB,gBAAgB,CAAC,YAAa,iBAAkB,iBAAkB,aAAc,qBAAqB,CAAE,aAAa,CAEpH,aAAa,UAAU,YAAc,SAAU,KAAM,WAAY,KAAM,CACrE,KAAK,WAAW,CAChB,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,KAAK,cAAc,KAAM,WAAY,KAAK,CAC1C,KAAK,gBAAgB,CACrB,KAAK,eAAe,CACpB,KAAK,qBAAqB,CAC1B,KAAK,yBAAyB,CAC9B,KAAK,4BAA4B,GAE5B,MAAQ,SAAS,KAAK,IAAM,CAAC,WAAW,kBAC3C,KAAK,eAAe,CAGtB,KAAK,MAAM,EAeb,aAAa,UAAU,aAAe,SAAU,IAAK,CACnD,IAAC,MAAQ,SAAS,KAAO,GACzB,KAAK,uBAAuB,IAAI,CAChC,KAAK,kBAAkB,KAAM,MAAQ,SAAS,UAAU,CAEpD,IAAE,MAAQ,SAAS,WAAa,EAAE,MAAQ,SAAS,KAAK,IAI5D,KAAM,MAAQ,SAAS,GAAG,aASxB,CAAC,MAAQ,SAAS,cAAgB,KAAO,MAAQ,SAAS,KAAK,OATzB,CACtC,IAAI,cAAgB,MAAQ,SAAS,GAAG,EAEpC,gBAAkB,MAAQ,SAAS,KAAK,KAC1C,cAAgB,MAAQ,SAAS,KAAK,GAAK,GAG7C,CAAC,MAAQ,SAAS,cAAgB,aAKpC,IAAIf,IACA,KAAO,MAAQ,SAAS,SAAS,OAOrC,KALM,MAAQ,SAAS,gBACrB,KAAK,aAAa,MAAQ,SAAS,cAAc,CAI9C,IAAI,IAAM,EAAGA,KAAK,EAAG,QACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,SAChE,MAAQ,SAAS,SAASA,KAAG,cAAc,MAAQ,SAAS,eAAiB,MAAQ,SAAS,OAAOA,KAAG,GAAG,EAEvG,MAAQ,SAAS,SAASA,KAAG,OAChC,CAAC,MAAQ,SAAS,KAAO,OAMjC,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,IACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,EAKjD,aAAa,UAAU,YAAc,SAAU,MAAO,CACpD,CAAC,MAAQ,SAAS,SAAW,OAG/B,aAAa,UAAU,YAAc,UAAY,CAC/C,OAAQ,MAAQ,SAAS,UAG3B,aAAa,UAAU,gBAAkB,UAAY,CACnD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,SAASA,OAC5B,MAAQ,SAAS,SAASA,KAAG,SAAS,EAK7C,aAAa,UAAU,QAAU,UAAY,CAC3C,KAAK,iBAAiB,CACtB,KAAK,oBAAoB,EAK3B,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,CAAC,MAAQ,SAAS,UAAY,WAAW,aAAa,KAAK,MAAM,CACjE,KAAK,YAAY,KAAM,WAAY,KAAK,CACxC,CAAC,MAAQ,SAAS,WAAa,CAC7B,IAAK,EACL,KAAM,EACN,OAAQ,MAAQ,SAAS,UAAU,EACnC,QAAS,MAAQ,SAAS,UAAU,EACrC,CAGH,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,qBAAqB,CAAE,cAAc,CAErI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,WAAa,MAAQ,SAAS,WAAW,eAAe,MAAQ,SAAS,UAAU,CAEvF,CAAC,MAAQ,SAAS,UAAY,SAAS,QAAQ,EAE9C,MAAQ,SAAS,UAAU,aAAa,SAAU,MAAQ,SAAS,UAAU,EAAI,KAAK,EAEtF,MAAQ,SAAS,UAAU,aAAa,UAAW,MAAQ,SAAS,UAAU,EAAI,KAAK,EAEvF,MAAQ,SAAS,UAAU,aAAa,uBAAwB,MAAQ,SAAS,UAAU,KAAO,MAAQ,SAAS,WAAW,aAAa,yBAAyB,EAEpK,MAAQ,SAAS,UAAU,eAAe,+BAAgC,OAAQ,UAAU,EAE5F,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,UAAU,EAGzE,cAAc,UAAU,iBAAmB,UAAY,CACrD,OAAQ,MAAQ,SAAS,YAK3B,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,cAAc,CAAE,cAAc,CAE/C,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,KAAO,SAAS,OAAO,CAI3B,KAAK,aAAa,SAAU,MAAQ,SAAS,KAAK,GAAG,CACrD,KAAK,aAAa,UAAW,MAAQ,SAAS,KAAK,GAAG,CACtD,KAAK,aAAa,QAAS,MAAQ,SAAS,KAAK,GAAG,EAEnD,MAAQ,SAAS,aAAa,YAAY,KAAK,EAKlD,SAAS,aAAa,KAAM,WAAY,KAAM,CAC5C,KAAK,WAAW,CAChB,KAAK,gBAAgB,CACrB,CAAC,MAAQ,SAAS,UAAY,WAAW,aAAa,KAAK,MAAM,CACjE,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,SAAW,GAE7B,IAAI,WAAa,MAAQ,SAAS,WAAW,eAAe,MAAQ,SAAS,UAAU,CAEvF,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,WAAW,gBAAgB,YAAY,UAAU,CAC7F,CAAC,MAAQ,SAAS,aAAe,GAEhC,MAAQ,SAAS,WAAW,gBAAgB,SAAS,MAAQ,QAAQ,CAEtE,CAAC,MAAQ,SAAS,GAAK,KAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAI,EAAG,WAAW,UAAW,MAAQ,QAAQ,CAAG,CAC7H,aAAc,GACf,CAGH,aAAa,UAAU,aAAe,SAAU,IAAK,CAInD,GAHA,KAAK,uBAAuB,IAAK,GAAK,CACtC,KAAK,kBAAkB,IAAK,GAAK,EAE3B,MAAQ,SAAS,GAAG,aAIxB,CAAC,MAAQ,SAAS,aAAe,KAAO,MAAQ,SAAS,KAAK,OAJxB,CACtC,IAAI,cAAgB,MAAQ,SAAS,GAAG,EACxC,CAAC,MAAQ,SAAS,aAAe,eAMrC,gBAAgB,CAAC,kBAAmB,YAAa,aAAa,CAAE,aAAa,CAE7E,aAAa,UAAU,YAAc,UAAY,EAC1C,MAAQ,SAAS,YAAc,MAAQ,SAAS,YAC7C,MAAQ,SAAS,YAMZ,EAAE,MAAQ,SAAS,MAAM,SAAS,EAAI,KAAK,KAAK,MAAQ,SAAS,cAAgB,MAAQ,SAAS,WAAW,WAAa,MAAQ,SAAS,MAAM,MAAM,CAAC,CAAG,MACnK,MAAQ,SAAS,MAAM,MAAM,MAAQ,SAAS,cAAgB,MAAQ,SAAS,WAAW,UAAU,GANpG,MAAQ,SAAS,MAAM,MAAM,EAE7B,MAAQ,SAAS,MAAM,MAAM,MAAQ,SAAS,cAAgB,MAAQ,SAAS,WAAW,UAAU,CAErG,CAAC,MAAQ,SAAS,WAAa,MAOrC,aAAa,UAAU,KAAO,UAAY,GAG1C,aAAa,UAAU,KAAO,UAAY,EACvC,MAAQ,SAAS,MAAM,OAAO,CAE/B,CAAC,MAAQ,SAAS,WAAa,IAGjC,aAAa,UAAU,MAAQ,UAAY,EACxC,MAAQ,SAAS,MAAM,OAAO,CAE/B,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,SAAW,IAG/B,aAAa,UAAU,OAAS,UAAY,CAC1C,CAAC,MAAQ,SAAS,SAAW,IAG/B,aAAa,UAAU,QAAU,SAAU,UAAW,EACnD,MAAQ,SAAS,MAAM,KAAK,UAAU,EAGzC,aAAa,UAAU,OAAS,SAAU,YAAa,EACpD,MAAQ,SAAS,MAAM,OAAO,YAAY,EAG7C,aAAa,UAAU,eAAiB,UAAY,CAClD,OAAO,MAGT,aAAa,UAAU,QAAU,UAAY,GAE7C,aAAa,UAAU,iBAAmB,UAAY,GAEtD,aAAa,UAAU,gBAAkB,UAAY,GAIrD,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,KAAK,WAAW,CAChB,KAAK,gBAAgB,CACrB,CAAC,MAAQ,SAAS,UAAY,WAAW,aAAa,KAAK,MAAM,CACjE,CAAC,MAAQ,SAAS,YAAc,WAAW,YAAY,UAAU,MAAQ,SAAS,UAAU,CAC5F,KAAK,aAAa,KAAM,WAAY,KAAK,CAG3C,eAAe,UAAU,aAAe,UAAY,GAEpD,gBAAgB,CAAC,kBAAmB,YAAa,aAAa,CAAE,eAAe,CAE/E,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAO,MAGT,eAAe,UAAU,YAAc,UAAY,GAEnD,eAAe,UAAU,QAAU,UAAY,GAE/C,eAAe,UAAU,gBAAkB,UAAY,CACrD,CAAC,MAAQ,SAAS,eAAiB,iBAAiB,MAAQ,QAAQ,EAGtE,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAQ,MAAQ,SAAS,aAK3B,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,CAAC,MAAQ,SAAS,OAAS,KAAK,OAChC,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,OAAS,kBAAkB,MAAQ,SAAS,OAAO,OAAO,CAAG,EAAE,CAE9G,KAAK,YAAY,KAAM,WAAY,KAAK,CACxC,CAAC,MAAQ,SAAS,GAAK,KAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAI,EAAG,WAAW,UAAW,MAAQ,QAAQ,CAAG,CAC7H,aAAc,GACf,CAGH,gBAAgB,CAAC,YAAa,aAAc,eAAe,CAAE,eAAe,CAI5E,SAAS,qBAAqB,KAAM,WAAY,KAAM,CACpD,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,WAAa,MAC/B,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,iBAAkB,aAAc,qBAAsB,aAAa,CAAE,qBAAqB,CAE1J,qBAAqB,UAAU,cAAgB,UAAY,EACpD,MAAQ,SAAS,KAAK,aAAe,EAAE,MAAQ,SAAS,WAAW,YAAY,QAClF,CAAC,MAAQ,SAAS,cAAgB,SAAS,OAAO,GAItD,qBAAqB,UAAU,kBAAoB,SAAU,UAAW,CAMtE,IALA,IAAIA,IAAI,EACJ,IAAM,UAAU,OAChB,aAAe,EAAE,CACjB,mBAAqB,GAElBA,IAAI,KACL,UAAUA,OAAO,MAA2B,UAAUA,OAAO,KAC/D,aAAa,KAAK,mBAAmB,CACrC,mBAAqB,IAErB,oBAAsB,UAAUA,KAGlC,KAAK,EAIP,OADA,aAAa,KAAK,mBAAmB,CAC9B,cAGT,qBAAqB,UAAU,aAAe,UAAY,CACxD,IAAIA,IACA,IACA,cAAgB,MAAQ,SAAS,aAAa,YAClD,CAAC,MAAQ,SAAS,gBAAkB,iBAAiB,aAAe,aAAa,EAAE,OAAS,EAAE,CAE1F,aAAa,IACd,MAAQ,SAAS,aAAa,aAAa,OAAQ,KAAK,WAAW,aAAa,GAAG,CAAC,EAEpF,MAAQ,SAAS,aAAa,aAAa,OAAQ,gBAAgB,CAGlE,aAAa,MACd,MAAQ,SAAS,aAAa,aAAa,SAAU,KAAK,WAAW,aAAa,GAAG,CAAC,EAEtF,MAAQ,SAAS,aAAa,aAAa,eAAgB,aAAa,GAAG,GAG7E,MAAQ,SAAS,aAAa,aAAa,YAAa,aAAa,UAAU,CAEhF,IAAI,UAAY,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAErF,GAAI,SAAS,QACV,MAAQ,SAAS,aAAa,aAAa,QAAS,SAAS,OAAO,KAChE,EACJ,MAAQ,SAAS,aAAa,aAAa,cAAe,SAAS,QAAQ,CAE5E,IAAI,QAAU,aAAa,QACvB,OAAS,aAAa,QAEzB,MAAQ,SAAS,aAAa,aAAa,aAAc,OAAO,EAEhE,MAAQ,SAAS,aAAa,aAAa,cAAe,QAAQ,EAGpE,MAAQ,SAAS,aAAa,aAAa,aAAc,aAAa,EAAE,CAEzE,IAAI,QAAU,aAAa,GAAK,EAAE,CAC9B,WAAa,CAAC,EAAE,MAAQ,SAAS,WAAW,YAAY,MAC5D,IAAM,QAAQ,OACd,IAAI,MACA,cAAgB,MAAQ,SAAS,QACjC,OACA,SAAW,GACX,aAAe,MAAQ,SAAS,KAAK,YACrC,KAAO,EACP,KAAO,EACP,UAAY,GACZ,eAAiB,aAAa,GAAK,KAAQ,aAAa,UAE5D,GAAI,aAAe,CAAC,YAAc,CAAC,aAAa,GAAI,CAClD,IAAI,UAAY,MAAQ,SAAS,cAC7B,QAAU,QAEd,OAAQ,aAAa,EAArB,CACE,IAAK,GACH,QAAU,MACV,MAEF,IAAK,GACH,QAAU,SACV,MAEF,QACE,QAAU,QACV,MAGJ,SAAS,aAAa,cAAe,QAAQ,CAC7C,SAAS,aAAa,iBAAkB,eAAe,CACvD,IAAI,YAAc,KAAK,kBAAkB,aAAa,UAAU,CAIhE,IAHA,IAAM,YAAY,OAClB,KAAO,aAAa,GAAK,aAAa,GAAG,GAAK,aAAa,OAAS,EAE/D,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAS,MAAQ,SAAS,UAAUA,MAAM,SAAS,QAAQ,CAC3D,MAAM,YAAc,YAAYA,KAChC,MAAM,aAAa,IAAK,EAAE,CAC1B,MAAM,aAAa,IAAK,KAAK,CAC7B,MAAM,MAAM,QAAU,UACtB,SAAS,YAAY,MAAM,CAC3B,CAAC,MAAQ,SAAS,UAAUA,KAAK,MACjC,MAAQ,aAAa,iBAGtB,MAAQ,SAAS,aAAa,YAAY,SAAS,KAC/C,CACL,IAAI,mBAAqB,MAAQ,SAAS,UAAU,OAChD,UACA,SAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACpB,CAAC,YAAc,CAAC,aAAeA,MAAM,KACvC,MAAQ,kBAAoBA,KAAK,MAAQ,SAAS,UAAUA,KAAK,SAAS,WAAa,OAAS,OAAO,CAEnG,mBAAqBA,MACvB,MAAM,aAAa,iBAAkB,OAAO,CAC5C,MAAM,aAAa,kBAAmB,QAAQ,CAC9C,MAAM,aAAa,oBAAqB,IAAI,CAC5C,CAAC,MAAQ,SAAS,UAAUA,KAAK,OAEhC,MAAQ,SAAS,aAAa,YAAY,MAAM,EAGnD,MAAM,MAAM,QAAU,WAGxB,aAAa,OAAO,CACpB,aAAa,MAAM,aAAa,UAAY,IAAK,aAAa,UAAY,IAAI,CAE1E,cACE,QAAQA,KAAG,IACb,KAAO,CAAC,eACR,MAAQ,aAAa,QACrB,MAAQ,UAAY,EAAI,EACxB,UAAY,IAGd,KAAK,4BAA4B,aAAc,aAAc,QAAQA,KAAG,KAAM,KAAM,KAAK,CACzF,MAAQ,QAAQA,KAAG,GAAK,EAExB,MAAQ,gBAGN,YACF,UAAY,MAAQ,SAAS,WAAW,YAAY,YAAY,aAAa,UAAUA,KAAI,SAAS,QAAS,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAAC,QAAQ,CAC3L,UAAY,UAAY,SAAS,MAAQ,EAAE,CAC3C,OAAS,UAAU,OAAS,UAAU,OAAO,GAAG,GAAK,EAAE,CAElD,YAGH,UAAY,KAAK,gBAAgB,aAAc,OAAO,CAFtD,MAAM,aAAa,IAAK,KAAK,gBAAgB,aAAc,OAAO,CAAC,GAKjE,aACF,MAAM,aAAa,YAAa,aAAe,aAAa,MAAM,IAAM,IAAM,aAAa,MAAM,IAAM,IAAI,CAG7G,MAAM,YAAc,QAAQA,KAAG,IAC/B,MAAM,eAAe,uCAAwC,YAAa,WAAW,EAKrF,aAAe,OACjB,MAAM,aAAa,IAAK,SAAS,CAIrC,KAAOA,KAAK,MAAQ,SAAS,UAAU,QACrC,CAAC,MAAQ,SAAS,UAAUA,KAAG,MAAM,QAAU,OAC/C,KAAK,EAGP,CAAC,MAAQ,SAAS,aAAe,IAGnC,qBAAqB,UAAU,iBAAmB,UAAY,CAI5D,GAHA,KAAK,cAAc,MAAQ,SAAS,KAAK,eAAiB,MAAQ,SAAS,KAAK,GAAG,CACnF,KAAK,oBAAoB,EAEpB,MAAQ,SAAS,aAAc,CAClC,CAAC,MAAQ,SAAS,aAAe,GAEjC,IAAI,SAAW,MAAQ,SAAS,aAAa,SAAS,CAEtD,CAAC,MAAQ,SAAS,KAAO,CACvB,IAAK,QAAQ,EACb,KAAM,QAAQ,EACd,MAAO,QAAQ,MACf,OAAQ,QAAQ,OACjB,CAGH,OAAQ,MAAQ,SAAS,MAG3B,qBAAqB,UAAU,mBAAqB,UAAY,CAC9D,GAAI,EAAE,MAAQ,SAAS,KAAK,eACzB,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,aAAa,aAAc,MAAQ,SAAS,mBAAmB,EAEvH,MAAQ,SAAS,qBAAuB,MAAQ,SAAS,aAAa,oBAAoB,CAC7F,CAAC,MAAQ,SAAS,aAAe,GACjC,IAAIA,IACA,IACA,iBAAmB,MAAQ,SAAS,aAAa,gBACjD,SAAW,MAAQ,SAAS,aAAa,YAAY,EACzD,IAAM,QAAQ,OACd,IAAI,eACA,SAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACnB,QAAQA,KAAG,IACd,eAAiB,gBAAgBA,KACjC,UAAY,MAAQ,SAAS,UAAUA,KAEnC,eAAe,KAAK,GACtB,SAAS,aAAa,YAAa,eAAe,EAAE,CAGlD,eAAe,KAAK,GACtB,SAAS,aAAa,UAAW,eAAe,EAAE,CAGhD,eAAe,KAAK,IACtB,SAAS,aAAa,eAAgB,eAAe,GAAG,CAGtD,eAAe,KAAK,IACtB,SAAS,aAAa,SAAU,eAAe,GAAG,CAGhD,eAAe,KAAK,IACtB,SAAS,aAAa,OAAQ,eAAe,GAAG,IAa5D,SAAS,gBAAgB,KAAM,WAAY,KAAM,CAE/C,CAAC,MAAQ,SAAS,OAAS,EAAE,CAE7B,CAAC,MAAQ,SAAS,WAAa,KAAK,OAEpC,CAAC,MAAQ,SAAS,WAAa,EAAE,CAEjC,CAAC,MAAQ,SAAS,eAAiB,EAAE,CAErC,CAAC,MAAQ,SAAS,UAAY,EAAE,CAEhC,CAAC,MAAQ,SAAS,kBAAoB,EAAE,CAExC,CAAC,MAAQ,SAAS,iBAAmB,EAAE,CACvC,KAAK,YAAY,KAAM,WAAY,KAAK,CAGxC,CAAC,MAAQ,SAAS,aAAe,EAAE,CAGrC,gBAAgB,CAAC,YAAa,iBAAkB,eAAgB,cAAe,iBAAkB,aAAc,qBAAqB,CAAE,gBAAgB,CAEtJ,gBAAgB,UAAU,qBAAuB,UAAY,GAE7D,gBAAgB,UAAU,eAAiB,IAAI,OAE/C,gBAAgB,UAAU,yBAA2B,UAAY,GAEjE,gBAAgB,UAAU,cAAgB,UAAY,CACpD,KAAK,cAAc,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,cAAe,MAAQ,SAAS,aAAc,EAAG,EAAE,CAAE,GAAK,CACzJ,KAAK,oBAAoB,EAO3B,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,IAAIA,IACA,KAAO,MAAQ,SAAS,OAAO,OAC/B,MACAe,IACA,MAAQ,MAAQ,SAAS,WAAW,OACpC,MACA,WAAa,EAAE,CACf,YAAc,GAElB,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EAAG,CAK5B,IAJA,OAAS,MAAQ,SAAS,WAAWA,KACrC,YAAc,GACd,WAAW,OAAS,EAEf,IAAI,EAAGf,IAAI,IAAK,KAAK,EACxB,OAAS,MAAQ,SAAS,OAAOA,KAE7B,MAAM,OAAO,QAAQ,MAAM,GAAK,KAClC,WAAW,KAAK,MAAM,CACtB,YAAc,MAAM,aAAe,aAInC,WAAW,OAAS,GAAK,aAC3B,KAAK,oBAAoB,WAAW,GAK1C,gBAAgB,UAAU,oBAAsB,SAAU,OAAQ,CAChE,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAOA,KAAG,eAAe,EAI7B,gBAAgB,UAAU,mBAAqB,SAAU,KAAM,MAAO,CAEpE,IAAI,YACA,QAAU,IAAI,aAAa,KAAM,MAAM,CACvC,YAAc,QAAQ,MAkD1B,OAhDI,KAAK,KAAO,KACd,YAAc,IAAI,mBAAmB,MAAQ,QAAS,KAAM,QAAQ,CAC3D,KAAK,KAAO,KACrB,YAAc,IAAI,iBAAiB,MAAQ,QAAS,KAAM,QAAQ,EACzD,KAAK,KAAO,MAAQ,KAAK,KAAO,QAEzC,YAAc,IADY,KAAK,KAAO,KAAO,yBAA2B,4BAClC,MAAQ,QAAS,KAAM,QAAQ,EAEpE,MAAQ,SAAS,WAAW,KAAK,YAAY,YAAY,GAAG,CAEzD,YAAY,UACb,MAAQ,SAAS,WAAW,KAAK,YAAY,YAAY,GAAG,EAE5D,MAAQ,SAAS,WAAW,KAAK,YAAY,YAAY,GAAG,CAE7D,YAAY,aAAa,OAAQ,OAAS,aAAe,IAAM,YAAY,OAAS,IAAI,IAIxF,KAAK,KAAO,MAAQ,KAAK,KAAO,QAClC,YAAY,aAAa,kBAAmB,MAAQ,SAAS,OAAO,KAAK,KAAO,QAAQ,CACxF,YAAY,aAAa,mBAAoB,MAAQ,SAAS,OAAO,KAAK,KAAO,QAAQ,CACzF,YAAY,aAAa,eAAgB,IAAI,CAEzC,KAAK,KAAO,GACd,YAAY,aAAa,oBAAqB,KAAK,GAAG,EAItD,KAAK,IAAM,GACb,YAAY,aAAa,YAAa,UAAU,CAG9C,KAAK,IACP,YAAY,aAAa,KAAM,KAAK,GAAG,CAGrC,KAAK,IACP,YAAY,aAAa,QAAS,KAAK,GAAG,CAGxC,KAAK,KACP,YAAY,MAAM,kBAAoB,aAAa,KAAK,GAAG,GAG5D,MAAQ,SAAS,WAAW,KAAK,QAAQ,CAE1C,KAAK,sBAAsB,KAAM,YAAY,CACtC,aAGT,gBAAgB,UAAU,mBAAqB,SAAU,KAAM,CAC7D,IAAI,YAAc,IAAI,eActB,OAZI,KAAK,IACP,YAAY,GAAG,aAAa,KAAM,KAAK,GAAG,CAGxC,KAAK,IACP,YAAY,GAAG,aAAa,QAAS,KAAK,GAAG,CAG3C,KAAK,KACP,YAAY,GAAG,MAAM,kBAAoB,aAAa,KAAK,GAAG,EAGzD,aAGT,gBAAgB,UAAU,uBAAyB,SAAU,KAAM,UAAW,CAC5E,IAAI,kBAAoB,yBAAyB,qBAAqB,MAAQ,QAAS,KAAM,MAAQ,QAAQ,CACzG,YAAc,IAAI,iBAAiB,kBAAmB,kBAAkB,EAAG,UAAU,CAEzF,OADA,KAAK,sBAAsB,KAAM,YAAY,CACtC,aAGT,gBAAgB,UAAU,mBAAqB,SAAU,KAAM,gBAAiB,MAAO,CACrF,IAAI,GAAK,EAEL,KAAK,KAAO,KACd,GAAK,EACI,KAAK,KAAO,KACrB,GAAK,EACI,KAAK,KAAO,OACrB,GAAK,GAIP,IAAI,YAAc,IAAI,aAAa,gBAAiB,MADhC,qBAAqB,aAAa,MAAQ,QAAS,KAAM,GAAI,MAAQ,QAAQ,CACxB,CAMzE,OAJC,MAAQ,SAAS,OAAO,KAAK,YAAY,CAE1C,KAAK,oBAAoB,YAAY,CACrC,KAAK,sBAAsB,KAAM,YAAY,CACtC,aAGT,gBAAgB,UAAU,sBAAwB,SAAU,KAAM,QAAS,CAIzE,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,iBAAiB,OAEtCA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,iBAAiBA,KAAG,UAAY,QACpD,OAGF,KAAK,GAGN,MAAQ,SAAS,iBAAiB,KAAK,CACtC,GAAI,oBAAoB,qBAAqB,KAAK,CACzC,QACH,KACP,CAAC,EAGJ,gBAAgB,UAAU,iBAAmB,SAAU,YAAa,CAClE,IAAI,IAAM,YAAY,OAClBe,IACA,MAAQ,MAAQ,SAAS,WAAW,OAExC,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,GACnB,MAAQ,SAAS,WAAWA,KAAG,QACnC,IAAI,MAAM,MAAQ,SAAS,WAAWA,KAAG,EAK/C,gBAAgB,UAAU,aAAe,UAAY,CACnD,CAAC,MAAQ,SAAS,cAAgB,GAClC,IAAIf,IACA,KAAO,MAAQ,SAAS,UAAU,OAEtC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,CAAC,MAAQ,SAAS,aAAaA,MAAM,MAAQ,SAAS,UAAUA,KAOlE,IAJA,KAAK,cAAc,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,cAAe,MAAQ,SAAS,aAAc,EAAG,EAAE,CAAE,GAAK,CACzJ,KAAK,oBAAoB,CACzB,KAAO,MAAQ,SAAS,kBAAkB,OAErC,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,kBAAkBA,KAAG,UAAU,CAGnD,KAAK,iBAAiB,EAGxB,gBAAgB,UAAU,aAAe,SAAU,IAAK,UAAW,aAAc,UAAW,MAAO,aAAc,OAAQ,CACvH,IAAI,gBAAkB,EAAE,CAAC,OAAO,aAAa,CACzCA,IACA,IAAM,IAAI,OAAS,EACnBe,IACA,KACA,UAAY,EAAE,CACd,aAAe,EAAE,CACjB,iBACA,SACA,aAEJ,IAAK,IAAI,IAAKf,KAAK,EAAG,MAAQ,CAS5B,GARA,aAAe,KAAK,uBAAuB,IAAIA,KAAG,CAE7C,aAGH,UAAUA,KAAK,aAAa,aAAe,GAF3C,IAAIA,KAAG,QAAU,OAKf,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,KAC7E,aAGH,UAAUA,KAAG,MAAM,OAAS,GAF5B,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAI,MAAM,CAKnD,IAAIA,KAAG,SACT,UAAU,YAAY,UAAUA,KAAG,MAAM,MAAM,CAGjD,UAAU,KAAK,UAAUA,KAAG,MAAM,SACzB,IAAIA,KAAG,KAAO,KAAM,CAC7B,GAAI,CAAC,aACH,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAG,MAI9C,IAFA,KAAO,UAAUA,KAAG,GAAG,OAElB,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,UAAUf,KAAG,aAAae,KAAK,UAAUf,KAAG,GAAGe,KAInD,KAAK,aAAa,IAAIf,KAAG,GAAI,UAAUA,KAAG,GAAI,UAAUA,KAAG,aAAc,UAAUA,KAAG,GAAI,MAAQ,EAAG,gBAAiB,OAAO,CAEzH,IAAIA,KAAG,SACT,UAAU,YAAY,UAAUA,KAAG,GAAG,MAE/B,IAAIA,KAAG,KAAO,MAClB,eACH,UAAUA,KAAK,KAAK,uBAAuB,IAAIA,KAAI,UAAU,EAG/D,iBAAmB,UAAUA,KAAG,UAChC,gBAAgB,KAAK,iBAAiB,EAC7B,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MACpF,eACH,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAI,gBAAiB,MAAM,EAGxE,KAAK,iBAAiB,UAAUA,KAAG,EAC1B,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MACpF,cAOH,SAAW,UAAUA,KACrB,SAAS,OAAS,KAPlB,SAAW,eAAe,YAAY,IAAIA,KAAG,GAAG,CAChD,SAAS,KAAK,MAAQ,QAAS,IAAIA,KAAG,CACtC,UAAUA,KAAK,UAEd,MAAQ,SAAS,eAAe,KAAK,SAAS,EAMjD,aAAa,KAAK,SAAS,EAClB,IAAIA,KAAG,KAAO,OAClB,cASH,SAAW,UAAUA,KACrB,SAAS,OAAS,KATlB,SAAW,eAAe,YAAY,IAAIA,KAAG,GAAG,CAChD,UAAUA,KAAK,SACf,SAAS,KAAK,MAAQ,QAAS,IAAKA,IAAG,UAAU,EAEhD,MAAQ,SAAS,eAAe,KAAK,SAAS,CAE/C,OAAS,IAMX,aAAa,KAAK,SAAS,EAG7B,KAAK,oBAAoB,IAAIA,KAAIA,IAAI,EAAE,CAKzC,IAFA,IAAM,UAAU,OAEX,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,UAAUA,KAAG,OAAS,GAKxB,IAFA,IAAM,aAAa,OAEd,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,aAAaA,KAAG,OAAS,IAI7B,gBAAgB,UAAU,mBAAqB,UAAY,CACzD,KAAK,iBAAiB,CACtB,IAAIA,IACA,KAAO,MAAQ,SAAS,WAAW,OAEvC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,WAAWA,KAAG,OAAO,CAKzC,IAFA,KAAK,aAAa,CAEb,IAAI,EAAGA,IAAI,IAAK,KAAK,IACnB,MAAQ,SAAS,WAAWA,KAAG,OAAS,MAAQ,SAAS,kBACvD,MAAQ,SAAS,WAAWA,KAAG,UACjC,MAAQ,SAAS,WAAWA,KAAG,OAAO,aAAa,KAAM,MAAQ,SAAS,WAAWA,KAAG,EAAE,CAG3F,CAAC,MAAQ,SAAS,WAAWA,KAAG,EAAI,QAAU,MAAQ,SAAS,WAAWA,KAAG,IAG9E,MAAQ,SAAS,WAAWA,KAAG,MAAM,aAAa,KAAM,MAAQ,SAAS,WAAWA,KAAG,GAAK,OAAO,GAK1G,gBAAgB,UAAU,YAAc,UAAY,CAClD,IAAIA,IACA,KAAO,MAAQ,SAAS,iBAAiB,OACzC,gBAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,iBAAmB,MAAQ,SAAS,iBAAiBA,OAE/C,MAAQ,SAAS,eAAiB,gBAAgB,QAAQ,cAAgB,gBAAgB,OAAS,IACvG,gBAAgB,GAAG,gBAAgB,KAAM,gBAAgB,SAAU,MAAQ,SAAS,cAAc,EAKxG,gBAAgB,UAAU,QAAU,UAAY,CAC9C,KAAK,oBAAoB,CACzB,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,UAAY,MAKhC,SAAS,cAAc,OAAQ,cAAe,CAC5C,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,cAAgB,SAAS,gBAAgB,CAc7C,GAbA,cAAc,aAAa,OAAQ,SAAS,CAC5C,cAAc,aAAa,8BAA+B,YAAY,CACtE,cAAc,aAAa,SAAU,uFAAuF,CAC5H,cAAc,aAAa,SAAU,KAAK,CAC1C,OAAO,YAAY,cAAc,CACjC,cAAgB,SAAS,gBAAgB,CACzC,cAAc,aAAa,OAAQ,SAAS,CAC5C,cAAc,aAAa,8BAA+B,OAAO,CACjE,cAAc,aAAa,SAAU,0CAA0C,CAC/E,cAAc,aAAa,SAAU,KAAK,CAC1C,OAAO,YAAY,cAAc,CACjC,CAAC,MAAQ,SAAS,aAAe,cAE7B,cAAc,eAAe,GAAG,EAAE,IAAM,KAAO,cAAc,eAAe,GAAG,EAAE,EAAG,CACtF,IAAI,QAAU,SAAS,UAAU,CACjC,OAAO,YAAY,QAAQ,CAC3B,IAAI,YACU,SAAS,cAAc,CACrC,YAAY,aAAa,KAAM,gBAAgB,CAC/C,QAAQ,YAAY,YAAY,CAChC,YAAc,SAAS,cAAc,CACrC,YAAY,aAAa,KAAM,KAAK,CACpC,QAAQ,YAAY,YAAY,EAIpC,cAAc,UAAU,YAAc,SAAU,YAAa,CAC3D,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CACvD,IAAI,YAAc,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EACjE,YAAc,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EACjE,SAAW,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,KAErE,MAAQ,SAAS,aAAa,aAAa,SAAU,WAAW,GAAK,WAAW,GAAK,UAAY,WAAW,GAAK,KAAO,WAAW,GAAK,WAAW,IAAM,UAAY,WAAW,GAAK,KAAO,WAAW,GAAK,WAAW,IAAM,UAAY,WAAW,GAAK,UAAY,QAAU,KAAK,GAMzR,SAAS,cAAc,OAAQ,cAAe,CAC5C,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,cAAgB,SAAS,gBAAgB,CAC7C,cAAc,aAAa,OAAQ,SAAS,CAC5C,cAAc,aAAa,8BAA+B,OAAO,CACjE,cAAc,aAAa,SAAU,0CAA0C,CAC/E,OAAO,YAAY,cAAc,CACjC,CAAC,MAAQ,SAAS,aAAe,cAGnC,cAAc,UAAU,YAAc,SAAU,YAAa,CAC3D,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CACvD,IAAI,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC5D,SAAW,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAEjE,MAAQ,SAAS,aAAa,aAAa,SAAU,WAAa,MAAM,GAAK,YAAc,MAAM,GAAK,YAAc,MAAM,GAAK,UAAY,QAAU,KAAK,GAM/J,SAAS,sBAAsB,OAAQ,cAAe,CAEpD,OAAO,aAAa,IAAK,QAAQ,CACjC,OAAO,aAAa,IAAK,QAAQ,CACjC,OAAO,aAAa,QAAS,OAAO,CACpC,OAAO,aAAa,SAAU,OAAO,CACrC,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,eAAiB,SAAS,iBAAiB,CAC/C,OAAO,YAAY,eAAe,CAClC,CAAC,MAAQ,SAAS,eAAiB,eAGrC,sBAAsB,UAAU,YAAc,SAAU,YAAa,CACnE,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CAGvD,IAAI,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EADvC,GAQrB,YAAc,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EACjE,OAAS,YAAc,EAAI,EAAI,MAE/B,OAAS,YAAc,EAAI,EAAI,OAElC,MAAQ,SAAS,eAAe,aAAa,eAAgB,OAAS,IAAM,OAAO,CAMpF,IAAI,UAAY,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAAK,EAAI,OAAS,aAEpF,MAAQ,SAAS,eAAe,aAAa,WAAY,SAAS,GAMvE,SAAS,gBAAgB,KAAM,cAAe,CAC5C,CAAC,MAAQ,SAAS,YAAc,GAChC,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,MAAQ,EAAE,CAG9B,gBAAgB,UAAU,WAAa,UAAY,CACjD,IAAI,cAAgB,MAAQ,SAAS,KAAK,aAAa,WAAa,MAAQ,SAAS,KAAK,aAAa,WACnG,KACA,UACAA,IACA,IAeJ,KAbK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,IAAM,GAC5D,KAAO,MAAQ,SAAS,KAAK,YAAY,gBAAgB,OACzD,IAAI,IAEJ,KAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,EAC5D,IAAMA,IAAI,GAGZ,UAAY,SAAS,IAAI,CACzB,UAAU,aAAa,OAAQ,OAAO,CACtC,UAAU,aAAa,iBAAkB,QAAQ,CACjD,UAAU,aAAa,oBAAqB,EAAE,CAEtCA,IAAI,IAAK,KAAK,EACpB,KAAO,SAAS,OAAO,CACvB,UAAU,YAAY,KAAK,EAE1B,MAAQ,SAAS,MAAM,KAAK,CAC3B,EAAG,KACH,EAAGA,IACJ,CAAC,CAGJ,IAAK,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,EAAG,CAChE,IAAI0B,OAAO,SAAS,OAAO,CACvB,GAAK,iBAAiB,CAC1B,OAAK,aAAa,KAAM,GAAG,CAC3B,OAAK,aAAa,YAAa,QAAQ,CACvC,OAAK,YAAY,UAAU,EAE1B,MAAQ,SAAS,KAAK,WAAW,KAAK,YAAYA,OAAK,CAExD,IAAIxB,IAAI,SAAS,IAAI,CAGrB,IAFA,IAAE,aAAa,OAAQ,OAAS,aAAe,IAAM,GAAK,IAAI,CAEvD,aAAa,IAClB,IAAE,YAAY,aAAa,GAAG,EAG/B,MAAQ,SAAS,KAAK,aAAa,YAAYA,IAAE,CAElD,CAAC,MAAQ,SAAS,OAASwB,OAC3B,UAAU,aAAa,SAAU,OAAO,UAC9B,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,IAAM,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,EAAG,CACvI,IAAK,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,EAG7D,IAFA,cAAgB,MAAQ,SAAS,KAAK,aAAa,WAAa,MAAQ,SAAS,KAAK,aAAa,WAE5F,aAAa,SACjB,MAAQ,SAAS,KAAK,aAAa,YAAY,aAAa,GAAG,EAInE,MAAQ,SAAS,KAAK,aAAa,YAAY,UAAU,EAEzD,MAAQ,SAAS,KAAK,aAAa,gBAAgB,OAAO,CAE3D,UAAU,aAAa,SAAU,OAAO,CAG1C,CAAC,MAAQ,SAAS,YAAc,GAChC,CAAC,MAAQ,SAAS,WAAa,WAGjC,gBAAgB,UAAU,YAAc,SAAU,YAAa,EACvD,MAAQ,SAAS,aACrB,KAAK,YAAY,CAGnB,IAAI1B,IACA,KAAO,MAAQ,SAAS,MAAM,OAC9B0B,OACA,KAEJ,IAAK,IAAI,EAAG1B,IAAI,IAAK,KAAK,EACxB,IAAK,MAAQ,SAAS,MAAMA,KAAG,IAAM,KACnC,QAAQ,MAAQ,SAAS,KAAK,YAAY,UAAU,MAAQ,SAAS,MAAMA,KAAG,GAC9E,MAAQ,MAAQ,SAAS,MAAMA,KAAG,GAE9B,cAAgB,MAAQ,SAAS,cAAc,MAAQ0B,OAAK,KAAK,OACnE,KAAK,aAAa,IAAKA,OAAK,SAAS,CAGnC,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,MAAQA,OAAK,KAAK,MAAM,CACjR,IAAI,eAEJ,IAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,IAAM,IAAM,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,IAAM,IAAK,CAChI,IAAIhB,IAAI,KAAK,KAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAAI,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAE,CAAG,IAC7HI,IAAI,KAAK,KAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAAI,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAE,CAAG,IAC7HG,IAAI,KAAK,gBAAgB,CAC7B,eAAiB,SAAWA,IAAIP,IAAI,IACpC,IAAI,WAAaO,KAAKH,IAAIJ,KACtB,QAAU,GAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,GAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,IAClI,MAAQ,KAAK,MAAM,WAAa,QAAQ,CACxCK,IAEJ,IAAK,IAAI,EAAGA,IAAI,MAAO,KAAK,EAC1B,gBAAkB,MAAQ,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,GAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,IAAO,IAGtJ,gBAAkB,KAAOE,IAAI,GAAK,YAElC,eAAiB,MAAQ,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,GAAK,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,IAG9I,KAAK,aAAa,mBAAoB,eAAe,CAa3D,IARI,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,QACpE,MAAQ,SAAS,WAAW,aAAa,gBAAiB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,EAAE,EAGlH,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,QACpE,MAAQ,SAAS,WAAW,aAAa,WAAY,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAE,GAGxG,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,IAAM,MAAQ,SAAS,cAAc,eAAe,IAAI,EAAE,IAAM,KACzH,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,MAAM,CAC3E,IAAI,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAE/D,MAAQ,SAAS,WAAW,aAAa,SAAU,OAAS,QAAQ,MAAM,GAAK,IAAI,CAAG,IAAM,QAAQ,MAAM,GAAK,IAAI,CAAG,IAAM,QAAQ,MAAM,GAAK,IAAI,CAAG,IAAI,GAOjK,SAAS,iBAAiB,OAAQ,cAAe,CAC/C,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,cAAgB,SAAS,gBAAgB,CAC7C,cAAc,aAAa,OAAQ,SAAS,CAC5C,cAAc,aAAa,8BAA+B,YAAY,CACtE,cAAc,aAAa,SAAU,uFAAuF,CAC5H,cAAc,aAAa,SAAU,KAAK,CAC1C,OAAO,YAAY,cAAc,CACjC,IAAI,oBAAsB,SAAS,sBAAsB,CACzD,oBAAoB,aAAa,8BAA+B,OAAO,CACvE,OAAO,YAAY,oBAAoB,CACvC,CAAC,MAAQ,SAAS,aAAe,oBACjC,IAAI,QAAU,SAAS,UAAU,CACjC,QAAQ,aAAa,OAAQ,QAAQ,CACrC,oBAAoB,YAAY,QAAQ,CACxC,CAAC,MAAQ,SAAS,QAAU,QAC5B,IAAI,QAAU,SAAS,UAAU,CACjC,QAAQ,aAAa,OAAQ,QAAQ,CACrC,oBAAoB,YAAY,QAAQ,CACxC,CAAC,MAAQ,SAAS,QAAU,QAC5B,IAAI,QAAU,SAAS,UAAU,CACjC,QAAQ,aAAa,OAAQ,QAAQ,CACrC,oBAAoB,YAAY,QAAQ,CACxC,CAAC,MAAQ,SAAS,QAAU,QAG9B,iBAAiB,UAAU,YAAc,SAAU,YAAa,CAC9D,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CACvD,IAAI,QAAU,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC7D,QAAU,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC7D,QAAU,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC7D,OAAS,OAAO,GAAK,IAAM,OAAO,GAAK,IAAM,OAAO,GACpD,OAAS,OAAO,GAAK,IAAM,OAAO,GAAK,IAAM,OAAO,GACpD,OAAS,OAAO,GAAK,IAAM,OAAO,GAAK,IAAM,OAAO,IAEvD,MAAQ,SAAS,QAAQ,aAAa,cAAe,OAAO,EAE5D,MAAQ,SAAS,QAAQ,aAAa,cAAe,OAAO,EAE5D,MAAQ,SAAS,QAAQ,aAAa,cAAe,OAAO,GAQjE,SAAS,mBAAmB,OAAQ,cAAe,CACjD,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,gBAAkB,MAAQ,SAAS,cAAc,eACjD,oBAAsB,SAAS,sBAAsB,EAErD,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,KAC/R,CAAC,MAAQ,SAAS,QAAU,KAAK,aAAa,UAAW,oBAAoB,GAG3E,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,KAC/R,CAAC,MAAQ,SAAS,QAAU,KAAK,aAAa,UAAW,oBAAoB,GAG3E,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,KAC/R,CAAC,MAAQ,SAAS,QAAU,KAAK,aAAa,UAAW,oBAAoB,GAG3E,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,GAAK,eAAe,IAAI,EAAE,GAAK,eAAe,IAAI,EAAE,IAAM,KAC/R,CAAC,MAAQ,SAAS,QAAU,KAAK,aAAa,UAAW,oBAAoB,IAG1E,MAAQ,SAAS,UAAY,MAAQ,SAAS,UAAY,MAAQ,SAAS,UAAY,MAAQ,SAAS,WAC3G,oBAAoB,aAAa,8BAA+B,OAAO,CACvE,OAAO,YAAY,oBAAoB,CACvC,oBAAsB,SAAS,sBAAsB,GAGnD,eAAe,GAAG,EAAE,GAAK,eAAe,GAAG,EAAE,IAAM,GAAK,eAAe,GAAG,EAAE,GAAK,eAAe,GAAG,EAAE,IAAM,GAAK,eAAe,GAAG,EAAE,GAAK,eAAe,GAAG,EAAE,IAAM,GAAK,eAAe,GAAG,EAAE,GAAK,eAAe,GAAG,EAAE,IAAM,GAAK,eAAe,GAAG,EAAE,GAAK,eAAe,GAAG,EAAE,IAAM,KACrR,oBAAoB,aAAa,8BAA+B,OAAO,CACvE,OAAO,YAAY,oBAAoB,CACvC,CAAC,MAAQ,SAAS,gBAAkB,KAAK,aAAa,UAAW,oBAAoB,CACrF,CAAC,MAAQ,SAAS,gBAAkB,KAAK,aAAa,UAAW,oBAAoB,CACrF,CAAC,MAAQ,SAAS,gBAAkB,KAAK,aAAa,UAAW,oBAAoB,EAIzF,mBAAmB,UAAU,aAAe,SAAU,KAAM,oBAAqB,CAC/E,IAAI,OAAS,SAAS,KAAK,CAG3B,OAFA,OAAO,aAAa,OAAQ,QAAQ,CACpC,oBAAoB,YAAY,OAAO,CAChC,QAGT,mBAAmB,UAAU,cAAgB,SAAU,WAAY,WAAY,MAAO,YAAa,YAAa,CAc9G,IAbA,IAAI,IAAM,EACN,SAAW,IACX,KACA,IAAM,KAAK,IAAI,WAAY,WAAW,CACtC,IAAM,KAAK,IAAI,WAAY,WAAW,CACtC,MAAQ,MAAM,KAAK,KAAM,CAC3B,OAAQ,SACT,CAAC,CACE,WACA,IAAM,EACN,YAAc,YAAc,YAC5B,WAAa,WAAa,WAEvB,KAAO,KACZ,KAAO,IAAM,IAEb,AAKE,WALE,MAAQ,IACG,WAAa,EAAI,YAAc,YACnC,MAAQ,IACJ,WAAa,EAAI,YAAc,YAE/B,YAAc,cAAwB,KAAO,YAAc,cAAY,EAAI,OAG1F,MAAM,KAAO,WACb,KAAO,EACP,KAAO,KAAO,SAAW,GAG3B,OAAO,MAAM,KAAK,IAAI,EAGxB,mBAAmB,UAAU,YAAc,SAAU,YAAa,CAChE,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CACvD,IAAI,IACA,gBAAkB,MAAQ,SAAS,cAAc,gBAEhD,MAAQ,SAAS,kBAAoB,aAAe,eAAe,GAAG,EAAE,MAAQ,eAAe,GAAG,EAAE,MAAQ,eAAe,GAAG,EAAE,MAAQ,eAAe,GAAG,EAAE,MAAQ,eAAe,GAAG,EAAE,QAC3L,IAAM,KAAK,cAAc,eAAe,GAAG,EAAE,EAAG,eAAe,GAAG,EAAE,EAAG,eAAe,GAAG,EAAE,EAAG,eAAe,GAAG,EAAE,EAAG,eAAe,GAAG,EAAE,EAAE,EAE1I,MAAQ,SAAS,gBAAgB,aAAa,cAAe,IAAI,EAEjE,MAAQ,SAAS,gBAAgB,aAAa,cAAe,IAAI,EAEjE,MAAQ,SAAS,gBAAgB,aAAa,cAAe,IAAI,GAG/D,MAAQ,SAAS,UAAY,aAAe,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,QACxL,IAAM,KAAK,cAAc,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAE,EAE/I,MAAQ,SAAS,QAAQ,aAAa,cAAe,IAAI,GAGvD,MAAQ,SAAS,UAAY,aAAe,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,QACxL,IAAM,KAAK,cAAc,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAE,EAE/I,MAAQ,SAAS,QAAQ,aAAa,cAAe,IAAI,GAGvD,MAAQ,SAAS,UAAY,aAAe,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,QACxL,IAAM,KAAK,cAAc,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAE,EAE/I,MAAQ,SAAS,QAAQ,aAAa,cAAe,IAAI,GAGvD,MAAQ,SAAS,UAAY,aAAe,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,MAAQ,eAAe,IAAI,EAAE,QACxL,IAAM,KAAK,cAAc,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAG,eAAe,IAAI,EAAE,EAAE,EAE/I,MAAQ,SAAS,QAAQ,aAAa,cAAe,IAAI,IAOhE,SAAS,oBAAoB,OAAQ,cAAe,CAClD,IAAI,WAAa,cAAc,UAAU,WAAW,aAAa,WACjE,OAAO,aAAa,IAAK,WAAW,EAAE,CACtC,OAAO,aAAa,IAAK,WAAW,EAAE,CACtC,OAAO,aAAa,QAAS,WAAW,MAAM,CAC9C,OAAO,aAAa,SAAU,WAAW,OAAO,CAChD,CAAC,MAAQ,SAAS,cAAgB,cAClC,IAAI,eAAiB,SAAS,iBAAiB,CAC/C,eAAe,aAAa,KAAM,cAAc,CAChD,eAAe,aAAa,SAAU,gBAAgB,CACtD,eAAe,aAAa,eAAgB,IAAI,CAChD,CAAC,MAAQ,SAAS,eAAiB,eACnC,OAAO,YAAY,eAAe,CAClC,IAAI,SAAW,SAAS,WAAW,CACnC,SAAS,aAAa,KAAM,KAAK,CACjC,SAAS,aAAa,KAAM,IAAI,CAChC,SAAS,aAAa,KAAM,gBAAgB,CAC5C,SAAS,aAAa,SAAU,gBAAgB,CAChD,CAAC,MAAQ,SAAS,SAAW,SAC7B,OAAO,YAAY,SAAS,CAC5B,IAAI,QAAU,SAAS,UAAU,CACjC,QAAQ,aAAa,cAAe,UAAU,CAC9C,QAAQ,aAAa,gBAAiB,IAAI,CAC1C,QAAQ,aAAa,SAAU,gBAAgB,CAC/C,CAAC,MAAQ,SAAS,QAAU,QAC5B,OAAO,YAAY,QAAQ,CAC3B,IAAI,YAAc,SAAS,cAAc,CACzC,YAAY,aAAa,KAAM,gBAAgB,CAC/C,YAAY,aAAa,MAAO,gBAAgB,CAChD,YAAY,aAAa,WAAY,KAAK,CAC1C,YAAY,aAAa,SAAU,gBAAgB,CACnD,OAAO,YAAY,YAAY,CAC/B,IAAI,QAAU,SAAS,UAAU,CACjC,OAAO,YAAY,QAAQ,CAC3B,IAAI,YACU,SAAS,cAAc,CACrC,QAAQ,YAAY,YAAY,CAChC,YAAc,SAAS,cAAc,CACrC,YAAY,aAAa,KAAM,gBAAgB,CAC/C,CAAC,MAAQ,SAAS,YAAc,YAChC,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,kBAAoB,GACtC,QAAQ,YAAY,YAAY,CAGlC,oBAAoB,UAAU,YAAc,SAAU,YAAa,CACjE,GAAI,cAAgB,MAAQ,SAAS,cAAc,KAAM,CAKvD,IAJI,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,QACpE,MAAQ,SAAS,eAAe,aAAa,gBAAiB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,EAAE,CAGtH,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,KAAM,CAC3E,IAAI,KAAO,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,GAE7D,MAAQ,SAAS,QAAQ,aAAa,cAAe,SAAS,KAAK,MAAM,IAAI,GAAK,IAAI,CAAE,KAAK,MAAM,IAAI,GAAK,IAAI,CAAE,KAAK,MAAM,IAAI,GAAK,IAAI,CAAC,CAAC,CAO/I,IAJI,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,QACpE,MAAQ,SAAS,QAAQ,aAAa,iBAAkB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,IAAI,CAGlH,cAAgB,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,OAAS,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,KAAM,CACvI,IAAI,UAAY,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC/D,QAAU,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAAI,IAAM,UACvEI,IAAI,SAAW,KAAK,IAAI,MAAM,CAC9BC,IAAI,SAAW,KAAK,IAAI,MAAM,EAEjC,MAAQ,SAAS,SAAS,aAAa,KAAMD,IAAE,EAE/C,MAAQ,SAAS,SAAS,aAAa,KAAMC,IAAE,IAiBtD,IAAI,iBAAmB,EAAE,CAEzB,SAAS,gBAAgB,WAAY,cAAe,KAAM,CACxD,CAAC,MAAQ,SAAS,YAAc,GAChC,CAAC,MAAQ,SAAS,cAAgB,cAClC,CAAC,MAAQ,SAAS,WAAa,WAC/B,CAAC,MAAQ,SAAS,KAAO,KACzB,KAAK,aAAe,SAAS,IAAI,CACjC,KAAK,aAAa,YAAY,KAAK,aAAa,CAChD,KAAK,aAAa,YAAY,KAAK,mBAAmB,CACtD,KAAK,YAAc,KAAK,aAG1B,gBAAgB,UAAU,WAAa,SAAU,OAAM,CAIrD,IAHA,IAAItB,IAAI,EACJ,IAAM,iBAAiB,OAEpBA,IAAI,KAAK,CACd,GAAI,iBAAiBA,OAAO0B,OAC1B,OAAO,iBAAiB1B,KAG1B,KAAK,EAGP,OAAO,MAGT,gBAAgB,UAAU,gBAAkB,SAAU,OAAM,SAAU,CACpE,IAAI,WAAa0B,OAAK,aAAa,WAE9B,cAQL,KAJA,IAAI,SAAW,WAAW,SACtB1B,IAAI,EACJ,IAAM,SAAS,OAEZA,IAAI,KACL,SAASA,OAAO0B,OAAK,cAIzB,KAAK,EAGP,IAAI,UAEA1B,KAAK,IAAM,IACb,UAAY,SAASA,IAAI,IAG3B,IAAI,QAAU,SAAS,MAAM,CAC7B,QAAQ,aAAa,OAAQ,IAAM,SAAS,CAExC,UACF,WAAW,aAAa,QAAS,UAAU,CAE3C,WAAW,YAAY,QAAQ,GAInC,gBAAgB,UAAU,iBAAmB,SAAU,KAAM,OAAM,CACjE,GAAI,CAAC,KAAK,WAAW0B,OAAK,CAAE,CAC1B,IAAI,SAAW,iBAAiB,CAC5B,OAAS,SAAS,OAAO,CAC7B,OAAO,aAAa,KAAMA,OAAK,QAAQ,CACvC,OAAO,aAAa,YAAa,QAAQ,CAEzC,iBAAiB,KAAKA,OAAK,CAE3B,IAAI,KAAO,KAAK,WAAW,KAC3B,KAAK,YAAY,OAAO,CACxB,IAAI,OAAS,SAAS,SAAS,CAC/B,OAAO,aAAa,KAAM,SAAS,CACnC,KAAK,gBAAgBA,OAAM,SAAS,CACpC,OAAO,YAAYA,OAAK,aAAa,CACrC,KAAK,YAAY,OAAO,CACxB,IAAI,QAAU,SAAS,MAAM,CAC7B,QAAQ,aAAa,OAAQ,IAAM,SAAS,CAC5C,OAAO,YAAY,QAAQ,CAC3B,OAAK,KAAK,GAAK,GACf,OAAK,MAAM,CAGb,KAAK,SAASA,OAAK,QAAQ,EAG7B,gBAAgB,UAAU,WAAa,UAAY,CAMjD,IALA,IAAI,KAAO,MAAQ,SAAS,cAAc,eAAe,GAAG,EAAE,EAC1D,UAAY,MAAQ,SAAS,KAAK,KAAK,SACvC1B,IAAI,EACJ,IAAM,SAAS,OAEZA,IAAI,KACL,SAASA,MAAM,SAASA,KAAG,KAAK,MAAQ,KAC1C,KAAK,kBAAkB,MAAQ,SAAS,KAAM,SAASA,KAAG,CAG5D,KAAK,EAGP,CAAC,MAAQ,SAAS,YAAc,IAGlC,gBAAgB,UAAU,YAAc,UAAY,EAC5C,MAAQ,SAAS,aACrB,KAAK,YAAY,EAOrB,SAAS,WAAW,KAAM,CACxB,IAAIA,IACA,IAAM,KAAK,KAAK,GAAK,KAAK,KAAK,GAAG,OAAS,EAC3C,MAAQ,iBAAiB,CACzB,IAAM,eAAe,aAAa,MAAO,GAAK,CAC9C,MAAQ,EACZ,CAAC,MAAQ,SAAS,QAAU,EAAE,CAC9B,IAAI,cAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,cAAgB,KAEZ,KAAK,KAAK,GAAGA,KAAG,KAAO,IACzB,OAAS,EACT,cAAgB,IAAI,cAAc,IAAK,KAAK,eAAe,eAAeA,KAAG,EACpE,KAAK,KAAK,GAAGA,KAAG,KAAO,IAChC,OAAS,EACT,cAAgB,IAAI,cAAc,IAAK,KAAK,eAAe,eAAeA,KAAG,EACpE,KAAK,KAAK,GAAGA,KAAG,KAAO,GAChC,cAAgB,IAAI,gBAAgB,KAAM,KAAK,eAAe,eAAeA,KAAG,CACvE,KAAK,KAAK,GAAGA,KAAG,KAAO,IAChC,OAAS,EACT,cAAgB,IAAI,iBAAiB,IAAK,KAAK,eAAe,eAAeA,KAAG,EACvE,KAAK,KAAK,GAAGA,KAAG,KAAO,IAChC,OAAS,EACT,cAAgB,IAAI,mBAAmB,IAAK,KAAK,eAAe,eAAeA,KAAG,EACzE,KAAK,KAAK,GAAGA,KAAG,KAAO,IAChC,OAAS,EACT,cAAgB,IAAI,oBAAoB,IAAK,KAAK,eAAe,eAAeA,KAAG,EAC1E,KAAK,KAAK,GAAGA,KAAG,KAAO,GAEhC,cAAgB,IAAI,gBAAgB,IAAK,KAAK,eAAe,eAAeA,KAAI,KAAK,CAC5E,KAAK,KAAK,GAAGA,KAAG,KAAO,KAChC,OAAS,EACT,cAAgB,IAAI,sBAAsB,IAAK,KAAK,eAAe,eAAeA,KAAG,EAGnF,gBACD,MAAQ,SAAS,QAAQ,KAAK,cAAc,CAI7C,QACF,KAAK,WAAW,KAAK,YAAY,IAAI,CACrC,KAAK,aAAa,aAAa,SAAU,OAAS,aAAe,IAAM,MAAQ,IAAI,GAGhF,MAAQ,SAAS,QAAQ,QAC5B,KAAK,uBAAuB,MAAQ,QAAQ,CAIhD,WAAW,UAAU,YAAc,SAAU,cAAe,CAC1D,IAAIA,IACA,KAAO,MAAQ,SAAS,QAAQ,OAEpC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,QAAQA,KAAG,YAAY,cAAc,EAM3D,SAAS,eAAgB,CACvB,CAAC,MAAQ,SAAS,MAAQ,EAAE,CAC5B,CAAC,MAAQ,SAAS,QAAU,EAC5B,CAAC,MAAQ,SAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,SAAS,GAAK,EACvB,IAAIA,IACA,IAAM,GAGV,IAFA,CAAC,MAAQ,SAAS,QAAU,iBAAiB,UAAW,IAAI,CAEvD,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,CAAC,MAAQ,SAAS,MAAMA,KAAK,iBAAiB,UAAW,GAAG,CAG9D,CAAC,MAAQ,SAAS,QAAU,IAG9B,cAAc,UAAU,UAAY,UAAY,CAC9C,IAAI,WAAa,MAAQ,SAAS,QAAU,EACxC,gBAAkB,MAAQ,SAAS,QACvC,CAAC,MAAQ,SAAS,QAAU,iBAAiB,UAAW,UAAU,EAEjE,MAAQ,SAAS,QAAQ,IAAI,eAAe,CAE7C,IAAIA,IAAI,EAER,IAAK,KAAK,MAAQ,SAAS,QAASA,IAAI,UAAW,KAAK,EACtD,CAAC,MAAQ,SAAS,MAAMA,KAAK,iBAAiB,UAAW,GAAG,CAG9D,CAAC,MAAQ,SAAS,QAAU,WAG9B,cAAc,UAAU,MAAQ,UAAY,CAC1C,CAAC,MAAQ,SAAS,QAAU,GAE3B,MAAQ,SAAS,IAAI,OAAO,CAE7B,CAAC,MAAQ,SAAS,GAAK,GAKzB,SAAS,eAAgB,EAEzB,cAAc,UAAY,CACxB,eAAgB,UAAY,GAC5B,oBAAqB,UAAY,GACjC,wBAAyB,UAAY,CACnC,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,WAAW,cAC/D,CAAC,MAAQ,SAAS,yBAA2B,IAAI,UAAU,MAAQ,QAAQ,EAE7E,cAAe,UAAY,GAC3B,aAAc,UAAY,CACxB,IAAI,YAAc,MAAQ,SAAS,WAEnC,GAAI,WAAW,aAAe,MAAQ,SAAS,KAAK,GAAI,CACtD,WAAW,WAAa,MAAQ,SAAS,KAAK,GAC9C,IAAI,eAAiB,cAAc,MAAQ,SAAS,KAAK,GAAG,CAC5D,WAAW,cAAc,yBAA2B,iBAGxD,2BAA4B,UAAY,CACtC,CAAC,MAAQ,SAAS,YAAc,IAAI,eAAe,MAAQ,SAAS,KAAM,MAAQ,QAAQ,EAE5F,YAAa,UAAY,CACnB,EAAE,MAAQ,SAAS,SAAW,EAAE,MAAQ,SAAS,YAAc,MAAQ,SAAS,iBAClF,CAAC,MAAQ,SAAS,OAAS,KAG/B,YAAa,UAAY,EAClB,MAAQ,SAAS,WAAa,EAAE,MAAQ,SAAS,gBACpD,CAAC,MAAQ,SAAS,OAAS,GAC3B,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,YAAY,cAAgB,KAGlD,YAAa,UAAY,CACvB,MAAK,MAAQ,SAAS,SAAW,MAAQ,SAAS,KAAK,IAMvD,CAFA,KAAK,iBAAiB,CACtB,KAAK,kBAAkB,CACvB,KAAK,cAAc,CACnB,IAAI,gBAAkB,MAAQ,SAAS,KAAK,KAAO,GAElD,MAAQ,SAAS,WAAW,SAAS,KAAK,eAAe,EAEzD,MAAQ,SAAS,WAAW,SAAS,cAAc,MAAQ,SAAS,eAAe,IAAI,MAAM,EAE7F,MAAQ,SAAS,WAAW,SAAS,YAAY,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,CAE5F,KAAK,oBAAoB,EAExB,MAAQ,SAAS,WAAW,SAAS,QAAQ,eAAe,EAExD,MAAQ,SAAS,YAAY,WAC/B,MAAQ,SAAS,WAAW,SAAS,QAAQ,GAAK,EAGhD,MAAQ,SAAS,gBACpB,CAAC,MAAQ,SAAS,cAAgB,MAGtC,QAAS,UAAY,CACnB,CAAC,MAAQ,SAAS,cAAgB,KAClC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,WAAa,MAE9B,MAAQ,SAAS,YAAY,SAAS,EAEzC,QAAS,IAAI,OACd,CACD,cAAc,UAAU,KAAO,cAAc,UAAU,YACvD,cAAc,UAAU,KAAO,cAAc,UAAU,YAIvD,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,CAAC,MAAQ,SAAS,UAAY,WAAW,aAAa,KAAK,MAAM,CACjE,CAAC,MAAQ,SAAS,IAAM,WAAW,YAAY,UAAU,MAAQ,SAAS,UAAU,CACpF,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,kBAAkB,CAAE,eAAe,CAClI,eAAe,UAAU,YAAc,gBAAgB,UAAU,YACjE,eAAe,UAAU,aAAe,cAAc,UAAU,aAEhE,eAAe,UAAU,cAAgB,UAAY,CACnD,IAAK,MAAQ,SAAS,IAAI,SAAW,MAAQ,SAAS,UAAU,KAAO,MAAQ,SAAS,IAAI,QAAU,MAAQ,SAAS,UAAU,KAAO,MAAQ,SAAS,IAAI,QAAS,CACpK,IAAI,OAAS,UAAU,SAAS,CAChC,OAAO,OAAS,MAAQ,SAAS,UAAU,EAC3C,OAAO,QAAU,MAAQ,SAAS,UAAU,EAC5C,IAAI,IAAM,OAAO,WAAW,KAAK,CAC7B,MAAQ,MAAQ,SAAS,IAAI,MAC7B,MAAQ,MAAQ,SAAS,IAAI,OAC7B,OAAS,KAAO,KAChB,WAAa,MAAQ,SAAS,UAAU,GAAK,MAAQ,SAAS,UAAU,EACxE,UACA,WACA,KAAO,MAAQ,SAAS,UAAU,KAAO,MAAQ,SAAS,WAAW,aAAa,yBAElF,OAAS,WAAa,MAAQ,kBAAoB,OAAS,WAAa,MAAQ,kBAClF,WAAa,KACb,UAAY,WAAa,YAEzB,UAAY,KACZ,WAAa,UAAY,WAG3B,IAAI,WAAW,MAAQ,SAAS,KAAM,KAAO,WAAa,GAAI,KAAO,YAAc,EAAG,UAAW,WAAY,EAAG,GAAI,MAAQ,SAAS,UAAU,GAAI,MAAQ,SAAS,UAAU,EAAE,CAChL,CAAC,MAAQ,SAAS,IAAM,SAI5B,eAAe,UAAU,mBAAqB,UAAY,EACvD,MAAQ,SAAS,cAAc,WAAW,MAAQ,SAAS,IAAK,EAAG,EAAE,EAGxE,eAAe,UAAU,QAAU,UAAY,CAC7C,CAAC,MAAQ,SAAS,IAAM,MAK1B,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,OAAS,KAAK,OAChC,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,SAAW,kBAAkB,MAAQ,SAAS,OAAO,OAAO,CAC9E,KAAK,YAAY,KAAM,WAAY,KAAK,CACxC,CAAC,MAAQ,SAAS,GAAK,KAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAI,EAAG,WAAW,UAAW,MAAQ,QAAQ,CAAG,CAC7H,aAAc,GACf,CAGH,gBAAgB,CAAC,eAAgB,aAAc,cAAc,CAAE,cAAc,CAE7E,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAI,KAAO,MAAQ,SAAS,cAC5B,IAAI,WAAW,CACf,IAAI,OAAO,EAAG,EAAE,CAChB,IAAI,QAAQ,MAAQ,SAAS,KAAK,EAAG,EAAE,CACvC,IAAI,QAAQ,MAAQ,SAAS,KAAK,GAAI,MAAQ,SAAS,KAAK,EAAE,CAC9D,IAAI,OAAO,GAAI,MAAQ,SAAS,KAAK,EAAE,CACvC,IAAI,OAAO,EAAG,EAAE,CAChB,IAAI,MAAM,CACV,IAAIA,IAGJ,IAAK,KAFM,MAAQ,SAAS,OAAO,OAEpB,EAAGA,KAAK,EAAG,QACnB,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,SAASA,QAChE,MAAQ,SAAS,SAASA,KAAG,aAAa,EAKjD,cAAc,UAAU,QAAU,UAAY,CAC5C,IAAIA,IAGJ,IAAK,KAFM,MAAQ,SAAS,OAAO,OAEpB,EAAGA,KAAK,EAAG,OACnB,MAAQ,SAAS,SAASA,OAC5B,MAAQ,SAAS,SAASA,KAAG,SAAS,CAI3C,CAAC,MAAQ,SAAS,OAAS,KAC3B,CAAC,MAAQ,SAAS,SAAW,MAK/B,SAAS,cAAc,KAAM,QAAS,CACpC,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,QAAU,QAC5B,CAAC,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,KAAK,iBAAmB,EAAE,CAChF,CAAC,MAAQ,SAAS,SAAW,kBAAkB,MAAQ,SAAS,gBAAgB,OAAO,CACvF,IAAIA,IACA,KAAO,MAAQ,SAAS,gBAAgB,OACxC,SAAW,GAEf,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACnB,MAAQ,SAAS,gBAAgBA,KAAG,OAAS,MAChD,SAAW,IAGb,CAAC,MAAQ,SAAS,SAASA,KAAK,qBAAqB,cAAc,MAAQ,SAAS,SAAU,MAAQ,SAAS,gBAAgBA,KAAI,EAAE,CAGvI,CAAC,MAAQ,SAAS,SAAW,SAEzB,WACD,MAAQ,SAAS,QAAQ,uBAAuB,MAAQ,QAAQ,CAIrE,cAAc,UAAU,YAAc,UAAY,CAC5C,IAAE,MAAQ,SAAS,SAIvB,KAAI,WAAa,MAAQ,SAAS,QAAQ,eAAe,IACrD,KAAO,MAAQ,SAAS,QAAQ,cAChCA,IACA,KAAO,MAAQ,SAAS,gBAAgB,OACxCwB,KACA,IACA,KAGJ,IAFA,IAAI,WAAW,CAEV,IAAI,EAAGxB,IAAI,IAAK,KAAK,EACxB,IAAK,MAAQ,SAAS,gBAAgBA,KAAG,OAAS,IAAK,EAChD,MAAQ,SAAS,gBAAgBA,KAAG,MACvC,IAAI,OAAO,EAAG,EAAE,CAChB,IAAI,QAAQ,MAAQ,SAAS,QAAQ,WAAW,SAAS,EAAG,EAAE,CAC9D,IAAI,QAAQ,MAAQ,SAAS,QAAQ,WAAW,SAAS,GAAI,MAAQ,SAAS,QAAQ,WAAW,SAAS,EAAE,CAC5G,IAAI,OAAO,GAAI,MAAQ,SAAS,QAAQ,WAAW,SAAS,EAAE,CAC9D,IAAI,OAAO,EAAG,EAAE,EAGlB,MAAQ,MAAQ,SAAS,SAASA,KAAG,EACrC,KAAK,UAAU,kBAAkB,KAAK,EAAE,GAAG,GAAI,KAAK,EAAE,GAAG,GAAI,EAAE,CAC/D,IAAI,OAAOwB,KAAG,GAAIA,KAAG,GAAG,CACxB,IAAIT,IACA,KAAO,KAAK,QAEhB,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EACzB,IAAM,UAAU,oBAAoB,KAAK,EAAEA,IAAI,GAAI,KAAK,EAAEA,KAAI,KAAK,EAAEA,KAAG,CACxE,IAAI,cAAc,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,CAGnE,IAAM,UAAU,oBAAoB,KAAK,EAAEA,IAAI,GAAI,KAAK,EAAE,GAAI,KAAK,EAAE,GAAG,CACxE,IAAI,cAAc,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,EAIpE,MAAQ,SAAS,QAAQ,WAAW,SAAS,KAAK,GAAK,CAExD,IAAI,MAAM,GAGZ,cAAc,UAAU,gBAAkB,YAAY,UAAU,gBAEhE,cAAc,UAAU,QAAU,UAAY,CAC5C,CAAC,MAAQ,SAAS,QAAU,MAO9B,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,WAAa,KAAK,OACpC,CAAC,MAAQ,SAAS,WAAa,EAAE,CACjC,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,aAAe,EAAE,CACnC,CAAC,MAAQ,SAAS,eAAiB,EAAE,CACrC,CAAC,MAAQ,SAAS,kBAAoB,EAAE,CACxC,CAAC,MAAQ,SAAS,kBAAoB,IAAI,sBAC1C,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,cAAe,iBAAkB,aAAc,kBAAkB,CAAE,eAAe,CACjJ,eAAe,UAAU,YAAc,qBAAqB,UAAU,YACtE,eAAe,UAAU,gBAAkB,CACzC,QAAS,EACT,OAAQ,GACT,CACD,eAAe,UAAU,aAAe,EAAE,CAE1C,eAAe,UAAU,cAAgB,UAAY,CACnD,KAAK,cAAc,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,aAAc,GAAM,EAAE,CAAC,EAGxH,eAAe,UAAU,mBAAqB,SAAU,KAAM,WAAY,CACxE,IAAI,UAAY,CACR,KACN,KAAM,KAAK,GACX,eAAgB,MAAQ,SAAS,kBAAkB,qBAAqB,WAAW,CACnF,WAAY,EAAE,CACd,SAAU,EAAE,CACZ,OAAQ,KAAK,KAAO,GACrB,CACG,YAAc,EAAE,CAqDpB,OAnDI,KAAK,KAAO,MAAQ,KAAK,KAAO,MAClC,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,IAAK,MAAQ,QAAQ,CAEpF,YAAY,EAAE,IACjB,UAAU,GAAK,OAAS,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,YAAY,EAAE,EAAE,GAAG,CAAG,OAEvH,KAAK,KAAO,MAAQ,KAAK,KAAO,QACzC,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CAC1F,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CAC1F,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAK,CACjE,EAAG,EACJ,CAAE,EAAG,IAAM,MAAQ,QAAQ,CAC5B,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAK,CACjE,EAAG,EACJ,CAAE,EAAG,UAAW,MAAQ,QAAQ,CACjC,YAAY,EAAI,IAAI,iBAAiB,MAAQ,QAAS,KAAK,EAAG,MAAQ,QAAQ,EAGhF,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CAEtF,KAAK,KAAO,MAAQ,KAAK,KAAO,MAClC,UAAU,IAAM,MAAQ,SAAS,OAAO,KAAK,KAAO,QACpD,UAAU,IAAM,MAAQ,SAAS,OAAO,KAAK,KAAO,QAEhD,KAAK,IAAM,IAEb,UAAU,GAAK,KAAK,IAGtB,YAAY,EAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,KAAM,MAAQ,QAAQ,CAErF,YAAY,EAAE,IACjB,UAAU,GAAK,YAAY,EAAE,GAG3B,KAAK,IAEP,YAAY,EADJ,IAAI,aAAa,MAAQ,QAAS,KAAK,EAAG,SAAU,MAAQ,QAAQ,CAGvE,YAAY,EAAE,IACjB,UAAU,GAAK,YAAY,EAAE,UAC7B,UAAU,GAAK,YAAY,EAAE,WAAW,MAI5C,UAAU,EAAI,KAAK,IAAM,EAAI,UAAY,WAG1C,MAAQ,SAAS,WAAW,KAAK,UAAU,CAE5C,YAAY,MAAQ,UACb,aAGT,eAAe,UAAU,mBAAqB,UAAY,CAKxD,MAJkB,CAChB,GAAI,EAAE,CACN,aAAc,EAAE,CACjB,EAIH,eAAe,UAAU,uBAAyB,SAAU,KAAM,CAUhE,MATkB,CAChB,UAAW,CACT,QAAS,EACT,OAAQ,GACR,KAAM,MAAQ,SAAS,kBAAkB,WAAW,CACpD,GAAI,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,EAAG,EAAG,IAAM,MAAQ,QAAQ,CAC9E,OAAQ,yBAAyB,qBAAqB,MAAQ,QAAS,KAAM,MAAQ,QAAQ,CAC9F,CACF,EAIH,eAAe,UAAU,mBAAqB,SAAU,KAAM,CAC5D,IAAI,YAAc,IAAI,YAAY,MAAQ,QAAS,MAAO,MAAQ,SAAS,YAAa,MAAQ,SAAS,kBAAkB,CAK3H,OAHC,MAAQ,SAAS,OAAO,KAAK,YAAY,CAE1C,KAAK,oBAAoB,YAAY,CAC9B,aAGT,eAAe,UAAU,aAAe,UAAY,CAClD,CAAC,MAAQ,SAAS,cAAgB,GAClC,IAAIf,IACA,KAAO,MAAQ,SAAS,UAAU,OAEtC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,CAAC,MAAQ,SAAS,aAAaA,MAAM,MAAQ,SAAS,UAAUA,KAMlE,IAHA,KAAK,cAAc,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,aAAc,GAAM,EAAE,CAAC,CACtH,KAAO,MAAQ,SAAS,kBAAkB,OAErC,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,kBAAkBA,KAAG,UAAU,CAGnD,KAAK,iBAAiB,EAErB,MAAQ,SAAS,kBAAkB,kBAAkB,MAAQ,SAAS,cAAc,EAGvF,eAAe,UAAU,wBAA0B,SAAU,UAAW,CACtE,IAAIA,IACA,KAAO,MAAQ,SAAS,WAAW,OAEvC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GAClB,MAAQ,SAAS,WAAWA,KAAG,SAClC,MAAQ,SAAS,WAAWA,KAAG,WAAW,KAAK,UAAU,EAKhE,eAAe,UAAU,6BAA+B,UAAY,CAClE,IAAIA,IACA,KAAO,MAAQ,SAAS,WAAW,OAEvC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GAClB,MAAQ,SAAS,WAAWA,KAAG,SAClC,MAAQ,SAAS,WAAWA,KAAG,WAAW,KAAK,EAKtD,eAAe,UAAU,YAAc,SAAU,OAAQ,CACvD,IAAIA,IACA,IAAM,OAAO,OAEjB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,OAAOA,KAAG,OAAS,IAIvB,eAAe,UAAU,aAAe,SAAU,IAAK,UAAW,aAAc,aAAc,WAAY,CACxG,IAAIA,IACA,IAAM,IAAI,OAAS,EACnBe,IACA,KACA,UAAY,EAAE,CACd,aAAe,EAAE,CACjB,aACA,SACA,iBACA,cAAgB,EAAE,CAAC,OAAO,WAAW,CAEzC,IAAK,IAAI,IAAKf,KAAK,EAAG,MAAQ,CAS5B,GARA,aAAe,KAAK,uBAAuB,IAAIA,KAAG,CAE7C,aAGH,UAAUA,KAAK,aAAa,aAAe,GAF3C,IAAIA,KAAG,cAAgB,aAKrB,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,KAC7E,aAGH,UAAUA,KAAG,MAAM,OAAS,GAF5B,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAI,cAAc,CAK/D,UAAU,KAAK,UAAUA,KAAG,MAAM,SACzB,IAAIA,KAAG,KAAO,KAAM,CAC7B,GAAI,CAAC,aACH,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAG,MAI9C,IAFA,KAAO,UAAUA,KAAG,GAAG,OAElB,IAAI,EAAGe,IAAI,KAAM,KAAK,EACzB,UAAUf,KAAG,aAAae,KAAK,UAAUf,KAAG,GAAGe,KAInD,KAAK,aAAa,IAAIf,KAAG,GAAI,UAAUA,KAAG,GAAI,UAAUA,KAAG,aAAc,aAAc,cAAc,MAC5F,IAAIA,KAAG,KAAO,MAClB,eACH,iBAAmB,KAAK,uBAAuB,IAAIA,KAAG,CACtD,UAAUA,KAAK,kBAGjB,cAAc,KAAK,UAAUA,KAAG,CAChC,KAAK,wBAAwB,UAAUA,KAAG,EACjC,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,KACpF,eACH,UAAUA,KAAK,KAAK,mBAAmB,IAAIA,KAAG,EAEvC,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAAQ,IAAIA,KAAG,KAAO,MAC9D,cAOH,SAAW,UAAUA,KACrB,SAAS,OAAS,KAPlB,SAAW,eAAe,YAAY,IAAIA,KAAG,GAAG,CAChD,SAAS,KAAK,MAAQ,QAAS,IAAIA,KAAG,CACtC,UAAUA,KAAK,UAEd,MAAQ,SAAS,eAAe,KAAK,SAAS,EAMjD,aAAa,KAAK,SAAS,EAClB,IAAIA,KAAG,KAAO,OAClB,cASH,SAAW,UAAUA,KACrB,SAAS,OAAS,KATlB,SAAW,eAAe,YAAY,IAAIA,KAAG,GAAG,CAChD,UAAUA,KAAK,SACf,SAAS,KAAK,MAAQ,QAAS,IAAKA,IAAG,UAAU,EAEhD,MAAQ,SAAS,eAAe,KAAK,SAAS,CAE/C,aAAe,IAMjB,aAAa,KAAK,SAAS,EAG7B,KAAK,oBAAoB,IAAIA,KAAIA,IAAI,EAAE,CAOzC,IAJA,KAAK,8BAA8B,CACnC,KAAK,YAAY,UAAU,CAC3B,IAAM,aAAa,OAEd,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,aAAaA,KAAG,OAAS,IAI7B,eAAe,UAAU,mBAAqB,UAAY,CACxD,CAAC,MAAQ,SAAS,gBAAgB,QAAU,EAC5C,CAAC,MAAQ,SAAS,gBAAgB,OAAS,GAC3C,KAAK,iBAAiB,EAErB,MAAQ,SAAS,kBAAkB,kBAAkB,MAAQ,SAAS,cAAc,CAErF,KAAK,aAAa,MAAQ,SAAS,iBAAkB,MAAQ,SAAS,YAAa,MAAQ,SAAS,UAAW,GAAK,EAGtH,eAAe,UAAU,qBAAuB,SAAU,gBAAiB,eAAgB,EACrF,gBAAgB,QAAU,eAAe,GAAG,OAAS,MAAQ,SAAS,iBACxE,eAAe,QAAU,gBAAgB,QACzC,eAAe,SAAW,eAAe,GAAG,EAC5C,eAAe,OAAS,KAI5B,eAAe,UAAU,UAAY,UAAY,CAC/C,IAAIA,IACA,KAAO,MAAQ,SAAS,WAAW,OACnCe,IACA,KACAC,IACA,KACA,MACA,MACAoB,YAAY,MAAQ,SAAS,WAAW,SACxC,KAAO,MAAQ,SAAS,WAAW,cACnC,KACA,aAEJ,IAAK,IAAI,EAAGpC,IAAI,IAAK,KAAK,EAQxB,GAPA,cAAgB,MAAQ,SAAS,WAAWA,KAC5C,KAAO,aAAa,KAMhB,GAAG,OAAS,MAAQ,OAAS,OAAS,aAAa,KAAO,GAAK,CAAC,aAAa,KAAK,eAAiB,aAAa,OAAS,IAAM,MAAQ,SAAS,WAAW,qBAAuB,GAAI,CAuBxL,IAtBA,WAAS,MAAM,CACf,MAAQ,aAAa,SAEjB,OAAS,MAAQ,OAAS,MAC5B,IAAI,YAAc,OAAS,KAAO,aAAa,GAAK,aAAa,IACjE,IAAI,UAAY,aAAa,GAC7B,IAAI,QAAU,aAAa,GAC3B,IAAI,SAAW,aAAa,GAC5B,IAAI,WAAa,aAAa,IAAM,GAEpC,IAAI,UAAY,OAAS,KAAO,aAAa,GAAK,aAAa,IAGjE,WAAS,WAAW,aAAa,KAAK,CAElC,OAAS,MAAQ,OAAS,MAC5B,IAAI,WAAW,CAGjB,WAAS,aAAa,aAAa,cAAc,eAAe,MAAM,CACtE,KAAO,MAAM,OAER,IAAI,EAAGe,IAAI,KAAM,KAAK,EAAG,CAa5B,KAZI,OAAS,MAAQ,OAAS,QAC5B,IAAI,WAAW,CAEX,aAAa,KACf,IAAI,YAAY,aAAa,GAAG,CAChC,IAAI,eAAiB,aAAa,KAItC,MAAQ,MAAMA,KAAG,QACjB,KAAO,MAAM,OAER,IAAI,EAAGC,IAAI,KAAM,KAAK,EACrB,MAAMA,KAAG,IAAM,IACjB,IAAI,OAAO,MAAMA,KAAG,EAAE,GAAI,MAAMA,KAAG,EAAE,GAAG,CAC/B,MAAMA,KAAG,IAAM,IACxB,IAAI,cAAc,MAAMA,KAAG,IAAI,GAAI,MAAMA,KAAG,IAAI,GAAI,MAAMA,KAAG,IAAI,GAAI,MAAMA,KAAG,IAAI,GAAI,MAAMA,KAAG,IAAI,GAAI,MAAMA,KAAG,IAAI,GAAG,CAEvH,IAAI,WAAW,EAIf,OAAS,MAAQ,OAAS,QAC5B,IAAI,QAAQ,CAER,aAAa,IACf,IAAI,aAAa,MAAQ,SAAS,aAAa,EAKjD,OAAS,MAAQ,OAAS,MAC5B,IAAI,KAAK,aAAa,EAAE,CAG1B,WAAS,SAAS,GAKxB,eAAe,UAAU,YAAc,SAAU,gBAAiB,MAAO,KAAM,OAAQ,CACrF,IAAIhB,IACA,IAAM,MAAM,OAAS,EACrB,eACa,gBAEjB,IAAK,IAAI,IAAKA,KAAK,EAAG,MAChB,MAAMA,KAAG,KAAO,MAClB,eAAiB,KAAKA,KAAG,UACzB,KAAK,qBAAqB,gBAAiB,eAAe,EACjD,MAAMA,KAAG,KAAO,MAAQ,MAAMA,KAAG,KAAO,MAAQ,MAAMA,KAAG,KAAO,MAAQ,MAAMA,KAAG,KAAO,KACjG,KAAK,WAAW,MAAMA,KAAI,KAAKA,KAAG,CACzB,MAAMA,KAAG,KAAO,KACzB,KAAK,WAAW,MAAMA,KAAI,KAAKA,KAAI,eAAe,CACzC,MAAMA,KAAG,KAAO,KACzB,KAAK,aAAa,MAAMA,KAAI,KAAKA,KAAI,eAAe,CAC3C,MAAMA,KAAG,KAAO,MAAQ,MAAMA,KAAG,KAAO,KACjD,KAAK,mBAAmB,MAAMA,KAAI,KAAKA,KAAI,eAAe,CACjD,MAAMA,KAAG,KAAO,KACzB,KAAK,YAAY,eAAgB,MAAMA,KAAG,GAAI,KAAKA,KAAG,GAAG,CAChD,MAAMA,KAAG,GAIlB,QACF,KAAK,WAAW,EAIpB,eAAe,UAAU,kBAAoB,SAAU,YAAa,MAAO,CACzE,IAAK,MAAQ,SAAS,eAAiB,MAAM,MAAQ,YAAY,WAAW,KAAM,CAChF,IAAI,WAAa,YAAY,QACzB,MAAQ,MAAM,MACdA,IACA,IACAe,IACA,KAAO,MAAM,QACjB,WAAW,OAAS,EACpB,IAAI,kBAAoB,YAAY,WAAW,eAE/C,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EAAG,CAC5B,IAAI,UAAY,MAAM,OAAOA,KAE7B,GAAI,WAAa,UAAU,EAAG,CAG5B,IAFA,IAAM,UAAU,QAEX,IAAI,EAAGf,IAAI,IAAK,KAAK,EACpBA,MAAM,GACR,WAAW,KAAK,CACd,EAAG,IACH,EAAG,kBAAkB,kBAAkB,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAChF,CAAC,CAGJ,WAAW,KAAK,CACd,EAAG,IACH,IAAK,kBAAkB,oBAAoB,UAAU,EAAEA,IAAI,GAAI,UAAU,EAAEA,KAAI,UAAU,EAAEA,KAAG,CAC/F,CAAC,CAGA,MAAQ,GACV,WAAW,KAAK,CACd,EAAG,IACH,EAAG,kBAAkB,kBAAkB,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAChF,CAAC,CAGA,UAAU,GAAK,MACjB,WAAW,KAAK,CACd,EAAG,IACH,IAAK,kBAAkB,oBAAoB,UAAU,EAAEA,IAAI,GAAI,UAAU,EAAE,GAAI,UAAU,EAAE,GAAG,CAC/F,CAAC,CACF,WAAW,KAAK,CACd,EAAG,IACJ,CAAC,GAKR,YAAY,QAAU,aAI1B,eAAe,UAAU,WAAa,SAAU,SAAU,SAAU,CAClE,GAAI,SAAS,KAAO,IAAQ,SAAS,cAAe,CAClD,IAAIA,IACA,IAAM,SAAS,aAAa,OAEhC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,kBAAkB,SAAS,aAAaA,KAAI,SAAS,GAAG,GAKnE,eAAe,UAAU,WAAa,SAAU,UAAW,SAAU,eAAgB,CACnF,IAAI,UAAY,SAAS,OAErB,SAAS,EAAE,OAAS,MAAQ,SAAS,iBACvC,UAAU,GAAK,OAAS,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,MAGnH,SAAS,EAAE,MAAQ,eAAe,SAAW,MAAQ,SAAS,iBAChE,UAAU,KAAO,SAAS,EAAE,EAAI,eAAe,UAInD,eAAe,UAAU,mBAAqB,SAAU,UAAW,SAAU,eAAgB,CAC3F,IAAI,UAAY,SAAS,MACrB,IAEJ,GAAI,CAAC,UAAU,KAAO,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAQ,UAAU,IAAM,IAAM,SAAS,EAAE,MAAQ,SAAS,EAAE,MAAO,CACxI,IAAI,KAAO,MAAQ,SAAS,WAAW,cACnC,IAAM,SAAS,EAAE,EACjB,IAAM,SAAS,EAAE,EAErB,GAAI,UAAU,IAAM,EAClB,IAAM,IAAI,qBAAqB,IAAI,GAAI,IAAI,GAAI,IAAI,GAAI,IAAI,GAAG,KACzD,CACL,IAAI,IAAM,KAAK,MAAc,IAAI,GAAK,IAAI,KAAI,GAAc,IAAI,GAAK,IAAI,KAAI,EAAG,CAC5E,IAAM,KAAK,MAAM,IAAI,GAAK,IAAI,GAAI,IAAI,GAAK,IAAI,GAAG,CAClD,QAAU,SAAS,EAAE,EAErB,SAAW,EACb,QAAU,IACD,SAAW,KACpB,QAAU,MAGZ,IAAI,KAAO,IAAM,QACbqB,IAAI,KAAK,IAAI,IAAM,SAAS,EAAE,EAAE,CAAG,KAAO,IAAI,GAC9CC,IAAI,KAAK,IAAI,IAAM,SAAS,EAAE,EAAE,CAAG,KAAO,IAAI,GAClD,IAAM,IAAI,qBAAqBD,IAAGC,IAAG,EAAG,IAAI,GAAI,IAAI,GAAI,IAAI,CAG9D,IAAItB,IACA,IAAM,UAAU,EAAE,EAClB,QAAU,SAAS,EAAE,EACrB,QAAU,EAEd,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,SAAS,EAAE,aAAe,SAAS,EAAE,eACvC,QAAU,SAAS,EAAE,EAAEA,IAAI,EAAI,IAGjC,IAAI,aAAa,QAAQA,IAAI,GAAK,IAAK,QAAU,QAAQA,IAAI,EAAI,GAAK,IAAM,QAAQA,IAAI,EAAI,GAAK,IAAM,QAAQA,IAAI,EAAI,GAAK,IAAM,QAAU,IAAI,CAGlJ,UAAU,IAAM,IAGlB,UAAU,KAAO,SAAS,EAAE,EAAI,eAAe,SAGjD,eAAe,UAAU,aAAe,SAAU,UAAW,SAAU,eAAgB,CACrF,IAAI,UAAY,SAAS,MACrBW,IAAI,SAAS,EAEbA,MAAMA,IAAE,OAAS,MAAQ,SAAS,iBACpC,UAAU,GAAKA,IAAE,UACjB,UAAU,GAAKA,IAAE,WAAW,KAG1B,SAAS,EAAE,OAAS,MAAQ,SAAS,iBACvC,UAAU,GAAK,OAAS,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,IAAM,QAAQ,SAAS,EAAE,EAAE,GAAG,CAAG,MAGnH,SAAS,EAAE,MAAQ,eAAe,SAAW,MAAQ,SAAS,iBAChE,UAAU,KAAO,SAAS,EAAE,EAAI,eAAe,UAG7C,SAAS,EAAE,OAAS,MAAQ,SAAS,iBACvC,UAAU,GAAK,SAAS,EAAE,IAI9B,eAAe,UAAU,QAAU,UAAY,CAC7C,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,cAAgB,KAClC,CAAC,MAAQ,SAAS,WAAW,OAAS,EACtC,CAAC,MAAQ,SAAS,UAAU,OAAS,GAMvC,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,kBAAkB,CAAE,eAAe,CAClI,eAAe,UAAU,YAAc,gBAAgB,UAAU,YACjE,eAAe,UAAU,aAAe,cAAc,UAAU,aAEhE,eAAe,UAAU,mBAAqB,UAAY,CACxD,IAAI,KAAO,MAAQ,SAAS,cAC5B,IAAI,WAAa,MAAQ,SAAS,KAAK,GACvC,IAAI,SAAS,EAAG,GAAI,MAAQ,SAAS,KAAK,IAAK,MAAQ,SAAS,KAAK,GAAG,EAM1E,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,QAAU,EAC5B,CAAC,MAAQ,SAAS,cAAgB,GAClC,CAAC,MAAQ,SAAS,gBAAkB,GACpC,CAAC,MAAQ,SAAS,gBAAkB,GACpC,CAAC,MAAQ,SAAS,OAAS,GAC3B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,cAAgB,KAClC,CAAC,MAAQ,SAAS,WAAa,SAC/B,CAAC,MAAQ,SAAS,OAAS,CACzB,KAAM,gBACN,OAAQ,gBACR,OAAQ,EACR,OAAQ,GACT,CACD,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,iBAAkB,aAAc,kBAAmB,aAAa,CAAE,cAAc,CAC/I,cAAc,UAAU,QAAU,UAAU,SAAS,CAAC,WAAW,KAAK,CAEtE,cAAc,UAAU,aAAe,UAAY,CACjD,IAAI,cAAgB,MAAQ,SAAS,aAAa,YAClD,CAAC,MAAQ,SAAS,gBAAkB,iBAAiB,aAAa,EAAI,aAAa,EAAE,OAAS,EAAE,CAChG,IAAI,QAAU,GAEV,aAAa,IACf,QAAU,GACV,CAAC,MAAQ,SAAS,OAAO,KAAO,KAAK,WAAW,aAAa,GAAG,EAEhE,CAAC,MAAQ,SAAS,OAAO,KAAO,gBAGlC,CAAC,MAAQ,SAAS,KAAO,QACzB,IAAI,UAAY,GAEZ,aAAa,KACf,UAAY,GACZ,CAAC,MAAQ,SAAS,OAAO,OAAS,KAAK,WAAW,aAAa,GAAG,CAClE,CAAC,MAAQ,SAAS,OAAO,OAAS,aAAa,IAGjD,IAAI,UAAY,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAEjFX,IACA,IACA,QAAU,aAAa,EACvB,cAAgB,MAAQ,SAAS,QACrC,CAAC,MAAQ,SAAS,OAAS,UAC3B,CAAC,MAAQ,SAAS,OAAO,OAAS,aAAa,UAAY,OAAS,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAAC,QAC1I,IAAM,aAAa,UAAU,OAE7B,IAAI,SACA,UACAgB,IACA,KACA,OACAD,IACA,KACA,UACA,SACA,QACA,aAAe,MAAQ,SAAS,KAAK,YACrC,eAAiB,aAAa,GAAK,KAAQ,aAAa,UACxD,KAAO,EACP,KAAO,EACP,UAAY,GACZ,IAAM,EAEV,IAAK,IAAI,EAAGf,IAAI,IAAK,KAAK,EAAG,CAsB3B,IArBA,UAAY,MAAQ,SAAS,WAAW,YAAY,YAAY,aAAa,UAAUA,KAAI,SAAS,QAAS,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAAC,QAAQ,CAC3L,UAAY,UAAY,SAAS,MAAQ,EAAE,CAC3C,aAAa,OAAO,CAEhB,aAAe,QAAQA,KAAG,IAC5B,KAAO,CAAC,eACR,MAAQ,aAAa,QACrB,MAAQ,UAAY,EAAI,EACxB,UAAY,IAGd,OAAS,UAAU,OAAS,UAAU,OAAO,GAAG,GAAK,EAAE,CACvD,KAAO,OAAO,OACd,aAAa,MAAM,aAAa,UAAY,IAAK,aAAa,UAAY,IAAI,CAE1E,aACF,KAAK,4BAA4B,aAAc,aAAc,QAAQA,KAAG,KAAM,KAAM,KAAK,CAG3F,SAAW,iBAAiB,KAAK,CAE5B,IAAI,EAAGe,IAAI,KAAM,KAAK,EAAG,CAK5B,IAJA,KAAO,OAAOA,KAAG,GAAG,EAAE,EAAE,OACxB,UAAY,OAAOA,KAAG,GAAG,EACzB,QAAU,EAAE,CAEP,IAAI,EAAGC,IAAI,KAAM,KAAK,EACrBA,MAAM,GACR,QAAQ,KAAK,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAC,CAG9I,QAAQ,KAAK,aAAa,SAAS,UAAU,EAAEA,IAAI,GAAG,GAAI,UAAU,EAAEA,IAAI,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,IAAI,GAAG,GAAI,UAAU,EAAEA,IAAI,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,KAAG,GAAI,UAAU,EAAEA,KAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,KAAG,GAAI,UAAU,EAAEA,KAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,KAAG,GAAI,UAAU,EAAEA,KAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,KAAG,GAAI,UAAU,EAAEA,KAAG,GAAI,EAAE,CAAC,CAG9Z,QAAQ,KAAK,aAAa,SAAS,UAAU,EAAEA,IAAI,GAAG,GAAI,UAAU,EAAEA,IAAI,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAEA,IAAI,GAAG,GAAI,UAAU,EAAEA,IAAI,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAE,aAAa,SAAS,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAI,EAAE,CAAC,CAC5Z,SAASD,KAAK,QAGZ,cACF,MAAQ,QAAQf,KAAG,EACnB,MAAQ,iBAGL,MAAQ,SAAS,UAAU,KAC9B,CAAC,MAAQ,SAAS,UAAU,KAAK,KAAO,SAExC,CAAC,MAAQ,SAAS,UAAU,KAAO,CACjC,KAAM,SACP,CAGH,KAAO,IAIX,cAAc,UAAU,mBAAqB,UAAY,CACvD,IAAI,KAAO,MAAQ,SAAS,cAC5B,IAAI,MAAQ,MAAQ,SAAS,OAAO,OACpC,IAAI,QAAU,OACd,IAAI,SAAW,QACf,IAAI,WAAa,GAEX,MAAQ,SAAS,KAAK,cACzB,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,aAAa,aAAc,MAAQ,SAAS,mBAAmB,CAG9H,IAAIA,IACA,IACAe,IACA,KACAC,IACA,KACA,iBAAmB,MAAQ,SAAS,aAAa,gBACjD,SAAW,MAAQ,SAAS,aAAa,YAAY,EACzD,IAAM,QAAQ,OACd,IAAI,eACA,SAAW,KACX,WAAa,KACb,YAAc,KACd,SACA,QAEJ,IAAK,IAAI,EAAGhB,IAAI,IAAK,KAAK,EACxB,GAAI,CAAC,QAAQA,KAAG,EAAG,CAWjB,GAVA,eAAiB,gBAAgBA,KAE7B,kBACD,MAAQ,SAAS,WAAW,SAAS,MAAM,EAE3C,MAAQ,SAAS,WAAW,SAAS,aAAa,eAAe,EAAE,EAEnE,MAAQ,SAAS,WAAW,SAAS,WAAW,eAAe,EAAE,GAG/D,MAAQ,SAAS,KAAM,CAgB1B,IAfI,gBAAkB,eAAe,GAC/B,WAAa,eAAe,KAC9B,SAAW,eAAe,GAC1B,IAAI,UAAY,eAAe,IAExB,YAAc,MAAQ,SAAS,OAAO,OAC/C,UAAY,MAAQ,SAAS,OAAO,KACpC,IAAI,WAAa,MAAQ,SAAS,OAAO,MAG3C,UAAY,MAAQ,SAAS,UAAUA,KAAG,KAC1C,KAAO,SAAS,QAEf,MAAQ,SAAS,WAAW,cAAc,WAAW,CAEjD,IAAI,EAAGe,IAAI,KAAM,KAAK,EAMzB,IALA,QAAU,SAASA,KACnB,KAAO,QAAQ,QAEd,MAAQ,SAAS,WAAW,cAAc,OAAO,QAAQ,GAAI,QAAQ,GAAG,CAEpE,IAAI,EAAGC,IAAI,KAAM,KAAK,GACxB,MAAQ,SAAS,WAAW,cAAc,cAAc,QAAQA,KAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAG,EAIvJ,MAAQ,SAAS,WAAW,cAAc,WAAW,EAErD,MAAQ,SAAS,WAAW,cAAc,MAAM,CAInD,IAAK,MAAQ,SAAS,OAAQ,CA0B5B,IAzBI,gBAAkB,eAAe,GAC/B,cAAgB,eAAe,KACjC,YAAc,eAAe,GAC7B,IAAI,UAAY,eAAe,IAExB,eAAiB,MAAQ,SAAS,OAAO,SAClD,aAAe,MAAQ,SAAS,OAAO,OACvC,IAAI,WAAa,MAAQ,SAAS,OAAO,QAGvC,gBAAkB,eAAe,GAC/B,aAAe,eAAe,KAChC,WAAa,eAAe,GAC5B,IAAI,YAAc,eAAe,IAE1B,cAAgB,MAAQ,SAAS,OAAO,SACjD,YAAc,MAAQ,SAAS,OAAO,OACtC,IAAI,aAAe,MAAQ,SAAS,OAAO,QAG7C,UAAY,MAAQ,SAAS,UAAUhB,KAAG,KAC1C,KAAO,SAAS,QAEf,MAAQ,SAAS,WAAW,cAAc,WAAW,CAEjD,IAAI,EAAGe,IAAI,KAAM,KAAK,EAMzB,IALA,QAAU,SAASA,KACnB,KAAO,QAAQ,QAEd,MAAQ,SAAS,WAAW,cAAc,OAAO,QAAQ,GAAI,QAAQ,GAAG,CAEpE,IAAI,EAAGC,IAAI,KAAM,KAAK,GACxB,MAAQ,SAAS,WAAW,cAAc,cAAc,QAAQA,KAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAI,QAAQA,IAAI,GAAG,EAIvJ,MAAQ,SAAS,WAAW,cAAc,WAAW,EAErD,MAAQ,SAAS,WAAW,cAAc,QAAQ,CAIjD,iBACD,MAAQ,SAAS,WAAW,SAAS,SAAS,GAMvD,SAAS,WAAY,EAErB,UAAU,UAAU,YAAc,UAAY,GAI9C,SAAS,cAAe,EAExB,aAAa,UAAY,CACvB,eAAgB,UAAY,GAC5B,oBAAqB,UAAY,CAC/B,CAAC,MAAQ,SAAS,YAAc,WAAW,MAAQ,SAAS,KAAK,IAAM,MAAM,EAExE,MAAQ,SAAS,KAAK,SACzB,CAAC,MAAQ,SAAS,WAAa,SAAS,MAAM,CAC9C,CAAC,MAAQ,SAAS,aAAe,SAAS,IAAI,CAC9C,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,cAEnD,MAAQ,SAAS,WAAW,aAAa,MAAQ,SAAS,aAAa,EAEvE,MAAQ,SAAS,YAAY,aAAa,MAAQ,SAAS,WAAW,EAEvE,CAAC,MAAQ,SAAS,cAAgB,MAAQ,SAAS,YAGrD,UAAU,MAAQ,SAAS,YAAY,EAEzC,wBAAyB,UAAY,CACnC,CAAC,MAAQ,SAAS,yBAA2B,IAAI,UAAU,MAAQ,QAAQ,CAC3E,CAAC,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,YACzD,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,cAE/C,MAAQ,SAAS,KAAK,KACxB,MAAQ,SAAS,aAAa,aAAa,MAAO,MAAQ,SAAS,KAAK,GAAG,EAGzE,MAAQ,SAAS,KAAK,KACxB,MAAQ,SAAS,aAAa,aAAa,SAAU,MAAQ,SAAS,KAAK,GAAG,EAG5E,MAAQ,SAAS,KAAK,KAAO,GAChC,KAAK,cAAc,EAGvB,cAAe,UAAY,CACzB,IAAI,yBAA2B,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,mBAAmB,MAAQ,EAAE,CAEpH,IAAK,MAAQ,SAAS,eAAe,QAAS,CAC5C,IAAI,aAAe,MAAQ,SAAS,eAAe,IAAI,OAAO,CAE9D,wBAAwB,UAAY,YACpC,wBAAwB,gBAAkB,aAGvC,MAAQ,SAAS,eAAe,SACnC,wBAAwB,SAAW,MAAQ,SAAS,eAAe,MAAM,EAAE,IAG/E,YAAa,UAAY,EAGlB,MAAQ,SAAS,KAAK,KAAO,MAAQ,SAAS,SAInD,KAAK,iBAAiB,CACtB,KAAK,kBAAkB,CACvB,KAAK,eAAe,CACpB,KAAK,oBAAoB,EAEpB,MAAQ,SAAS,gBACpB,CAAC,MAAQ,SAAS,cAAgB,MAGtC,QAAS,UAAY,CACnB,CAAC,MAAQ,SAAS,aAAe,KACjC,CAAC,MAAQ,SAAS,mBAAqB,MAElC,MAAQ,SAAS,eACpB,CAAC,MAAQ,SAAS,aAAe,OAG9B,MAAQ,SAAS,eACnB,MAAQ,SAAS,YAAY,SAAS,CAEvC,CAAC,MAAQ,SAAS,YAAc,OAGpC,2BAA4B,UAAY,CACtC,CAAC,MAAQ,SAAS,YAAc,IAAI,aAAa,MAAQ,SAAS,KAAM,MAAQ,SAAU,MAAQ,SAAS,WAAW,EAExH,WAAY,UAAY,GACxB,SAAU,UAAY,GACvB,CACD,aAAa,UAAU,eAAiB,eAAe,UAAU,eACjE,aAAa,UAAU,mBAAqB,aAAa,UAAU,QACnE,aAAa,UAAU,sBAAwB,eAAe,UAAU,sBAIxE,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,qBAAqB,CAAE,cAAc,CAEnI,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,MAEC,MAAQ,SAAS,KAAK,SACzB,KAAO,SAAS,OAAO,CACvB,KAAK,aAAa,SAAU,MAAQ,SAAS,KAAK,GAAG,CACrD,KAAK,aAAa,UAAW,MAAQ,SAAS,KAAK,GAAG,CACtD,KAAK,aAAa,QAAS,MAAQ,SAAS,KAAK,GAAG,EAEnD,MAAQ,SAAS,WAAW,aAAa,SAAU,MAAQ,SAAS,KAAK,GAAG,EAE5E,MAAQ,SAAS,WAAW,aAAa,UAAW,MAAQ,SAAS,KAAK,GAAG,GAE9E,KAAO,UAAU,MAAM,CACvB,KAAK,MAAM,OAAS,MAAQ,SAAS,KAAK,GAAK,KAC/C,KAAK,MAAM,QAAU,MAAQ,SAAS,KAAK,GAAK,KAChD,KAAK,MAAM,iBAAmB,MAAQ,SAAS,KAAK,KAGrD,MAAQ,SAAS,aAAa,YAAY,KAAK,EAKlD,SAAS,aAAa,KAAM,WAAY,KAAM,CAC5C,CAAC,MAAQ,SAAS,OAAS,KAAK,OAChC,CAAC,MAAQ,SAAS,WAAa,CAAC,KAAK,QACrC,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,gBAAkB,EAAE,CACtC,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,OAAS,kBAAkB,MAAQ,SAAS,OAAO,OAAO,CAAG,EAAE,CAC9G,KAAK,YAAY,KAAM,WAAY,KAAK,CACxC,CAAC,MAAQ,SAAS,GAAK,KAAK,GAAK,gBAAgB,QAAQ,MAAQ,QAAS,KAAK,GAAI,EAAG,WAAW,UAAW,MAAQ,QAAQ,CAAG,CAC7H,aAAc,GACf,CAGH,gBAAgB,CAAC,eAAgB,aAAc,aAAa,CAAE,aAAa,CAC3E,aAAa,UAAU,6BAA+B,aAAa,UAAU,wBAE7E,aAAa,UAAU,wBAA0B,UAAY,CAC3D,KAAK,8BAA8B,EAG9B,MAAQ,SAAS,KAAK,UACxB,MAAQ,SAAS,WAAW,aAAa,SAAU,MAAQ,SAAS,KAAK,EAAE,EAE3E,MAAQ,SAAS,WAAW,aAAa,UAAW,MAAQ,SAAS,KAAK,EAAE,CAE7E,CAAC,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,aAEzD,CAAC,MAAQ,SAAS,oBAAsB,MAAQ,SAAS,cAI7D,aAAa,UAAU,iBAAmB,SAAU,KAAM,IAAK,CAI7D,IAHA,IAAID,IAAI,EACJ,YAEGA,IAAI,MACJ,MAAQ,SAAS,SAASA,OAAO,MAAQ,SAAS,SAASA,KAAG,iBACjE,aAAe,MAAQ,SAAS,SAASA,KAAG,gBAAgB,EAG9D,KAAK,EAGH,aACD,MAAQ,SAAS,aAAa,aAAa,KAAM,YAAY,EAE7D,MAAQ,SAAS,aAAa,YAAY,KAAK,EAOpD,SAAS,cAAc,KAAM,WAAY,KAAM,CAE7C,CAAC,MAAQ,SAAS,OAAS,EAAE,CAE7B,CAAC,MAAQ,SAAS,WAAa,KAAK,OAEpC,CAAC,MAAQ,SAAS,WAAa,EAAE,CAEjC,CAAC,MAAQ,SAAS,eAAiB,EAAE,CAErC,CAAC,MAAQ,SAAS,UAAY,EAAE,CAEhC,CAAC,MAAQ,SAAS,kBAAoB,EAAE,CAExC,CAAC,MAAQ,SAAS,iBAAmB,EAAE,CACvC,CAAC,MAAQ,SAAS,gBAAkB,SAAS,IAAI,CACjD,KAAK,YAAY,KAAM,WAAY,KAAK,CAGxC,CAAC,MAAQ,SAAS,aAAe,EAAE,CACnC,CAAC,MAAQ,SAAS,YAAc,CAC9B,EAAG,OACH,EAAG,QACH,EAAG,EACH,EAAG,EACJ,CAGH,gBAAgB,CAAC,YAAa,iBAAkB,cAAe,gBAAiB,aAAc,iBAAkB,aAAc,kBAAkB,CAAE,cAAc,CAChK,cAAc,UAAU,kBAAoB,cAAc,UAAU,mBAEpE,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,KAGJ,GAFA,CAAC,MAAQ,SAAS,YAAY,MAAM,SAAW,GAE1C,MAAQ,SAAS,KAAK,SACxB,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,gBAAgB,CAE7E,MAAQ,MAAQ,SAAS,eACpB,CACL,KAAO,SAAS,MAAM,CACtB,IAAI,MAAQ,MAAQ,SAAS,KAAK,MAAQ,MAAQ,SAAS,KAAK,MAAQ,MAAQ,SAAS,WAAW,SACpG,KAAK,aAAa,QAAS,KAAK,EAAE,CAClC,KAAK,aAAa,SAAU,KAAK,EAAE,CACnC,KAAK,aAAa,MAAQ,SAAS,gBAAgB,EAElD,MAAQ,SAAS,aAAa,YAAY,KAAK,CAGlD,KAAK,cAAc,MAAQ,SAAS,YAAa,MAAQ,SAAS,WAAY,MAAQ,SAAS,cAAe,MAAQ,SAAS,gBAAiB,EAAG,EAAE,CAAE,GAAK,CAC5J,KAAK,oBAAoB,CACzB,CAAC,MAAQ,SAAS,UAAY,MAGhC,cAAc,UAAU,oBAAsB,SAAU,aAAc,MAAO,CAC3E,IAAIf,IACA,IAAM,aAAa,OAEvB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,MAAQ,aAAaA,KAAG,OAAO,EAAE,kBAAkB,MAAM,GAAI,MAAM,GAAI,EAAE,CAG3E,OAAO,OAGT,cAAc,UAAU,0BAA4B,SAAU,KAAM,YAAa,CAC/E,IAAI,MAAQ,KAAK,GAAG,EAChB,aAAe,KAAK,aACpBA,IACA,IAAM,MAAM,QACZ,OACA,OACA,WACA,WAEA,UAAO,GAIX,KAAK,IAAI,EAAGA,IAAI,IAAM,EAAG,KAAK,EAC5B,OAAS,KAAK,oBAAoB,aAAc,MAAM,EAAEA,KAAG,CAC3D,OAAS,KAAK,oBAAoB,aAAc,MAAM,EAAEA,KAAG,CAC3D,WAAa,KAAK,oBAAoB,aAAc,MAAM,EAAEA,IAAI,GAAG,CACnE,WAAa,KAAK,oBAAoB,aAAc,MAAM,EAAEA,IAAI,GAAG,CACnE,KAAK,YAAY,OAAQ,OAAQ,WAAY,WAAY,YAAY,CAGnE,MAAM,IACR,OAAS,KAAK,oBAAoB,aAAc,MAAM,EAAEA,KAAG,CAC3D,OAAS,KAAK,oBAAoB,aAAc,MAAM,EAAEA,KAAG,CAC3D,WAAa,KAAK,oBAAoB,aAAc,MAAM,EAAE,GAAG,CAC/D,WAAa,KAAK,oBAAoB,aAAc,MAAM,EAAE,GAAG,CAC/D,KAAK,YAAY,OAAQ,OAAQ,WAAY,WAAY,YAAY,IAIzE,cAAc,UAAU,YAAc,SAAU,OAAQ,OAAQ,WAAY,WAAY,YAAa,CACnG,KAAK,iBAAiB,OAAQ,OAAQ,WAAY,WAAW,CAC7D,IAAI,QAAU,MAAQ,SAAS,iBAC/B,YAAY,EAAI,MAAM,OAAO,KAAM,YAAY,EAAE,CACjD,YAAY,KAAO,MAAM,OAAO,MAAO,YAAY,KAAK,CACxD,YAAY,EAAI,MAAM,OAAO,IAAK,YAAY,EAAE,CAChD,YAAY,KAAO,MAAM,OAAO,OAAQ,YAAY,KAAK,EAG3D,cAAc,UAAU,iBAAmB,CACzC,KAAM,EACN,MAAO,EACP,IAAK,EACL,OAAQ,EACT,CACD,cAAc,UAAU,gBAAkB,CACxC,EAAG,EACH,KAAM,EACN,EAAG,EACH,KAAM,EACN,MAAO,EACP,OAAQ,EACT,CAED,cAAc,UAAU,iBAAmB,SAAU,GAAI,GAAI,GAAI,GAAI,CAGnE,IAAK,IAFD,OAAS,CAAC,CAAC,GAAG,GAAI,GAAG,GAAG,CAAE,CAAC,GAAG,GAAI,GAAG,GAAG,CAAC,CAEpCY,IAAGT,IAAGU,IAAGN,IAAG,KAAM,GAAI,GAAIP,IAAI,EAAGA,IAAI,EAAG,EAAEA,IAEjD,IAAI,EAAI,GAAGA,KAAK,GAAK,GAAGA,KAAK,EAAI,GAAGA,KACpC,IAAI,GAAK,GAAGA,KAAK,EAAI,GAAGA,KAAK,EAAI,GAAGA,KAAK,EAAI,GAAGA,KAChD,IAAI,EAAI,GAAGA,KAAK,EAAI,GAAGA,KACvB,KAAK,EAEL,KAAK,EAEL,KAAK,EAEDY,MAAM,GAAKT,MAAM,IACVS,MAAM,GACf,IAAI,CAACC,IAAIV,IAELI,IAAI,GAAKA,IAAI,GACf,OAAOP,KAAG,KAAK,KAAK,WAAWO,IAAG,GAAI,GAAI,GAAI,GAAIP,IAAE,CAAC,GAGvD,KAAOG,IAAIA,IAAI,EAAIU,IAAID,IAEnB,MAAQ,IACV,IAAM,CAACT,IAAI,OAAO,KAAK,GAAK,EAAIS,KAC5B,GAAK,GAAK,GAAK,GAAG,OAAOZ,KAAG,KAAK,KAAK,WAAW,GAAI,GAAI,GAAI,GAAI,GAAIA,IAAE,CAAC,CAC5E,IAAM,CAACG,IAAI,OAAO,KAAK,GAAK,EAAIS,KAC5B,GAAK,GAAK,GAAK,GAAG,OAAOZ,KAAG,KAAK,KAAK,WAAW,GAAI,GAAI,GAAI,GAAI,GAAIA,IAAE,CAAC,IAKlF,CAAC,MAAQ,SAAS,iBAAiB,KAAO,MAAM,MAAM,KAAM,OAAO,GAAG,CACtE,CAAC,MAAQ,SAAS,iBAAiB,IAAM,MAAM,MAAM,KAAM,OAAO,GAAG,CACrE,CAAC,MAAQ,SAAS,iBAAiB,MAAQ,MAAM,MAAM,KAAM,OAAO,GAAG,CACvE,CAAC,MAAQ,SAAS,iBAAiB,OAAS,MAAM,MAAM,KAAM,OAAO,GAAG,EAG1E,cAAc,UAAU,WAAa,SAAU,IAAG,GAAI,GAAI,GAAI,GAAI,IAAG,CACnE,OAAO,MAAM,EAAIO,IAAG,EAAE,CAAG,GAAGP,KAAK,EAAI,MAAM,EAAIO,IAAG,EAAE,CAAGA,IAAI,GAAGP,KAAK,GAAK,EAAIO,KAAK,MAAMA,IAAG,EAAE,CAAG,GAAGP,KAAK,MAAMO,IAAG,EAAE,CAAG,GAAGP,MAG1H,cAAc,UAAU,qBAAuB,SAAU,UAAW,YAAa,CAC/E,IAAIA,IACA,IAAM,UAAU,OAEpB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,UAAUA,MAAM,UAAUA,KAAG,GAC/B,KAAK,0BAA0B,UAAUA,KAAI,YAAY,CAChD,UAAUA,MAAM,UAAUA,KAAG,IACtC,KAAK,qBAAqB,UAAUA,KAAG,GAAI,YAAY,EAK7D,cAAc,UAAU,mBAAqB,SAAU,IAAK,CAC1D,OAAQ,MAAQ,SAAS,YAAY,GAAK,IAAI,IAAM,MAAQ,SAAS,YAAY,GAAK,IAAI,IAAM,MAAQ,SAAS,YAAY,OAAS,MAAQ,SAAS,YAAY,GAAK,IAAI,EAAI,IAAI,QAAU,MAAQ,SAAS,YAAY,QAAU,MAAQ,SAAS,YAAY,GAAK,IAAI,EAAI,IAAI,QAGrR,cAAc,UAAU,mBAAqB,UAAY,CAGvD,GAFA,KAAK,mBAAmB,CAEpB,EAAE,MAAQ,SAAS,UAAY,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,MAAO,CAC5F,IAAI,iBAAmB,MAAQ,SAAS,gBACpC,IAAM,OASV,GARA,gBAAgB,EAAI,IACpB,gBAAgB,KAAO,CAAC,IACxB,gBAAgB,EAAI,IACpB,gBAAgB,KAAO,CAAC,IACxB,KAAK,sBAAsB,MAAQ,SAAS,UAAW,gBAAgB,CACvE,gBAAgB,MAAQ,gBAAgB,KAAO,gBAAgB,EAAI,EAAI,gBAAgB,KAAO,gBAAgB,EAC9G,gBAAgB,OAAS,gBAAgB,KAAO,gBAAgB,EAAI,EAAI,gBAAgB,KAAO,gBAAgB,EAE3G,KAAK,mBAAmB,gBAAgB,CAC1C,OAGF,IAAI,QAAU,GAkBd,IAhBK,MAAQ,SAAS,YAAY,IAAM,gBAAgB,QACtD,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,OAEjD,MAAQ,SAAS,UAAU,aAAa,QAAS,gBAAgB,MAAM,CAExE,QAAU,KAGP,MAAQ,SAAS,YAAY,IAAM,gBAAgB,SACtD,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,QAEjD,MAAQ,SAAS,UAAU,aAAa,SAAU,gBAAgB,OAAO,CAE1E,QAAU,IAGR,UAAY,MAAQ,SAAS,YAAY,IAAM,gBAAgB,IAAM,MAAQ,SAAS,YAAY,IAAM,gBAAgB,EAAG,CAC7H,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,MAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,OAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,EAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,gBAAgB,GAEjD,MAAQ,SAAS,UAAU,aAAa,WAAY,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAE,CAE5M,IAAI,YAAc,MAAQ,SAAS,UAAU,MACzC,eAAiB,cAAgB,MAAQ,SAAS,YAAY,EAAI,OAAS,MAAQ,SAAS,YAAY,EAAI,MAChH,WAAW,UAAY,eACvB,WAAW,gBAAkB,kBAQnC,SAAS,aAAa,KAAM,WAAY,KAAM,CAC5C,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,UAAY,EAAE,CAChC,CAAC,MAAQ,SAAS,YAAc,CAC9B,EAAG,OACH,EAAG,QACH,EAAG,EACH,EAAG,EACJ,CACD,CAAC,MAAQ,SAAS,WAAa,MAC/B,CAAC,MAAQ,SAAS,SAAW,GAC7B,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,iBAAkB,aAAc,qBAAsB,aAAa,CAAE,aAAa,CAEhJ,aAAa,UAAU,cAAgB,UAAY,CAGjD,GAFA,CAAC,MAAQ,SAAS,SAAW,KAAK,YAAY,EAEzC,MAAQ,SAAS,SAAU,CAC9B,CAAC,MAAQ,SAAS,WAAa,MAC/B,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,KAAK,KAAK,EACtD,CAAC,MAAQ,SAAS,OAAS,MAAQ,SAAS,KAAK,KAAK,GAErD,MAAQ,SAAS,WAAW,aAAa,SAAU,MAAQ,SAAS,MAAM,EAE1E,MAAQ,SAAS,WAAW,aAAa,UAAW,MAAQ,SAAS,MAAM,CAE5E,IAAIE,IAAI,SAAS,IAAI,EAEpB,MAAQ,SAAS,cAAc,YAAYA,IAAE,CAE9C,CAAC,MAAQ,SAAS,UAAYA,SAE9B,CAAC,MAAQ,SAAS,WAAa,OAC/B,CAAC,MAAQ,SAAS,WAAa,MAAQ,SAAS,aAGlD,KAAK,gBAAgB,EAGvB,aAAa,UAAU,aAAe,UAAY,CAChD,IAAI,cAAgB,MAAQ,SAAS,aAAa,YAClD,CAAC,MAAQ,SAAS,gBAAkB,iBAAiB,aAAa,EAAI,aAAa,EAAE,OAAS,EAAE,CAChG,IAAI,gBAAkB,MAAQ,SAAS,UAAU,MAC7C,UAAY,aAAa,GAAK,KAAK,WAAW,aAAa,GAAG,CAAG,gBACrE,eAAe,KAAO,UACtB,eAAe,MAAQ,UAEnB,aAAa,KACf,eAAe,OAAS,KAAK,WAAW,aAAa,GAAG,CACxD,eAAe,YAAc,aAAa,GAAK,MAGjD,IAAI,UAAY,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAErF,GAAI,EAAE,MAAQ,SAAS,WAAW,YAAY,MAI5C,GAHA,eAAe,SAAW,aAAa,UAAY,KACnD,eAAe,WAAa,aAAa,UAAY,KAEjD,SAAS,OACX,CAAC,MAAQ,SAAS,UAAU,UAAY,SAAS,WAC5C,CACL,eAAe,WAAa,SAAS,QACrC,IAAI,QAAU,aAAa,QAE3B,eAAe,UADF,aAAa,OAE1B,eAAe,WAAa,QAIhC,IAAIF,IACA,IACA,QAAU,aAAa,EAC3B,IAAM,QAAQ,OACd,IAAI,MACA,QACA,MACA,cAAgB,MAAQ,SAAS,QACjC,OACA,SAAW,GACX,IAAM,EAEV,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAAG,CAuC3B,IAtCK,MAAQ,SAAS,WAAW,YAAY,QACrC,MAAQ,SAAS,UAAU,KAM/B,OAAS,MAAQ,SAAS,UAAU,MALpC,MAAQ,SAAS,OAAO,CACxB,MAAM,aAAa,iBAAkB,OAAO,CAC5C,MAAM,aAAa,kBAAmB,QAAQ,CAC9C,MAAM,aAAa,oBAAqB,IAAI,GAKxC,MAAQ,SAAS,YAChB,MAAQ,SAAS,UAAU,MAC9B,SAAW,MAAQ,SAAS,UAAU,KACtC,MAAQ,QAAQ,SAAS,KAEzB,QAAU,UAAU,MAAM,CAC1B,QAAQ,MAAM,WAAa,EAC3B,MAAQ,SAAS,MAAM,CACvB,MAAM,YAAY,MAAM,CACxB,SAAS,QAAQ,KAGV,MAAQ,SAAS,SAY5B,OAAS,MAAQ,SAAS,UAAU,MAAQ,MAAQ,SAAS,UAAU,KAAO,SAAS,OAAO,EAXzF,MAAQ,SAAS,UAAU,MAC9B,SAAW,MAAQ,SAAS,UAAU,KACtC,OAAS,MAAQ,SAAS,UAAU,OAEpC,QAAU,UAAU,OAAO,CAC3B,SAAS,QAAQ,CACjB,MAAQ,UAAU,OAAO,CACzB,SAAS,MAAM,CACf,QAAQ,YAAY,MAAM,GAOzB,MAAQ,SAAS,WAAW,YAAY,MAAO,CAClD,IAAI,UAAY,MAAQ,SAAS,WAAW,YAAY,YAAY,aAAa,UAAUA,KAAI,SAAS,QAAS,MAAQ,SAAS,WAAW,YAAY,cAAc,aAAa,EAAE,CAAC,QAAQ,CAE3L,UAEA,SACU,SAAS,KAET,KAYd,GATA,aAAa,OAAO,CAEhB,WAAa,UAAU,SACzB,OAAS,UAAU,OAAO,GAAG,GAC7B,aAAa,MAAM,aAAa,UAAY,IAAK,aAAa,UAAY,IAAI,CAC9E,SAAW,KAAK,gBAAgB,aAAc,OAAO,CACrD,MAAM,aAAa,IAAK,SAAS,GAG7B,MAAQ,SAAS,UAsBpB,MAAQ,SAAS,UAAU,YAAY,MAAM,KAtBf,CAG/B,IAFC,MAAQ,SAAS,UAAU,YAAY,QAAQ,CAE5C,WAAa,UAAU,OAAQ,CAEjC,SAAS,KAAK,YAAY,MAAM,CAChC,IAAI,YAAc,MAAM,SAAS,CACjC,MAAM,aAAa,QAAS,YAAY,MAAQ,EAAE,CAClD,MAAM,aAAa,SAAU,YAAY,OAAS,EAAE,CACpD,MAAM,aAAa,UAAW,YAAY,EAAI,EAAI,KAAO,YAAY,EAAI,GAAK,KAAO,YAAY,MAAQ,GAAK,KAAO,YAAY,OAAS,GAAG,CAC7I,IAAI,WAAa,MAAM,MACnB,iBAAmB,cAAgB,YAAY,EAAI,GAAK,OAAS,YAAY,EAAI,GAAK,MAC1F,WAAW,UAAY,iBACvB,WAAW,gBAAkB,iBAC7B,QAAQA,KAAG,QAAU,YAAY,EAAI,OAErC,MAAM,aAAa,QAAS,EAAE,CAC9B,MAAM,aAAa,SAAU,EAAE,CAGjC,QAAQ,YAAY,MAAM,UAK5B,MAAM,YAAc,QAAQA,KAAG,IAC/B,MAAM,eAAe,uCAAwC,YAAa,WAAW,EAE/E,MAAQ,SAAS,UASpB,MAAQ,SAAS,UAAU,YAAY,MAAM,KATf,EAC9B,MAAQ,SAAS,UAAU,YAAY,QAAQ,CAGhD,IAAI,OAAS,MAAM,MACf,iBAAmB,iBAAmB,CAAC,aAAa,UAAY,IAAM,QAC1E,OAAO,UAAY,iBACnB,OAAO,gBAAkB,kBAOvB,MAAQ,SAAS,SAGrB,CAAC,MAAQ,SAAS,UAAU,KAAO,MAFnC,CAAC,MAAQ,SAAS,UAAU,KAAO,QAKrC,CAAC,MAAQ,SAAS,UAAU,KAAK,MAAM,QAAU,QACjD,CAAC,MAAQ,SAAS,UAAU,KAAO,MACnC,KAAO,EAGT,KAAO,KAAO,MAAQ,SAAS,UAAU,QACvC,CAAC,MAAQ,SAAS,UAAU,KAAK,MAAM,QAAU,OACjD,KAAO,GAIX,aAAa,UAAU,mBAAqB,UAAY,CACtD,IAAI,SAEJ,IAAK,MAAQ,SAAS,KAAK,YAAa,CACtC,GAAI,EAAE,MAAQ,SAAS,eAAiB,EAAE,MAAQ,SAAS,mBACzD,OAGF,IAAK,MAAQ,SAAS,WAAa,MAAQ,SAAS,eAAe,QAAS,EAEzE,MAAQ,SAAS,WAAW,aAAa,UAAW,EAAE,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,GAAK,IAAM,EAAE,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,GAAK,KAAO,MAAQ,SAAS,MAAQ,KAAO,MAAQ,SAAS,MAAM,CAE3N,UAAY,MAAQ,SAAS,WAAW,MACxC,IAAI,YAAc,aAAe,EAAE,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,GAAK,MAAQ,EAAE,MAAQ,SAAS,eAAe,MAAM,EAAE,EAAE,GAAK,MAC3I,SAAS,UAAY,YACrB,SAAS,gBAAkB,aAI/B,IAAC,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,aAAa,aAAc,MAAQ,SAAS,mBAAmB,CAExH,IAAE,MAAQ,SAAS,oBAAsB,EAAE,MAAQ,SAAS,aAAa,oBAI7E,KAAIA,IACA,IACA,MAAQ,EACR,iBAAmB,MAAQ,SAAS,aAAa,gBACjD,SAAW,MAAQ,SAAS,aAAa,YAAY,EACzD,IAAM,QAAQ,OACd,IAAI,eACA,SACA,SAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,QAAQA,KAAG,EACb,OAAS,GAET,UAAY,MAAQ,SAAS,UAAUA,KACvC,UAAY,MAAQ,SAAS,UAAUA,KACvC,eAAiB,gBAAgB,OACjC,OAAS,EAEL,eAAe,KAAK,KAChB,MAAQ,SAAS,SAIrB,SAAS,aAAa,YAAa,eAAe,EAAE,EAHpD,SAAS,MAAM,gBAAkB,eAAe,EAChD,SAAS,MAAM,UAAY,eAAe,IAO9C,SAAS,MAAM,QAAU,eAAe,EAEpC,eAAe,IAAM,eAAe,KAAK,IAC3C,SAAS,aAAa,eAAgB,eAAe,GAAG,CAGtD,eAAe,IAAM,eAAe,KAAK,IAC3C,SAAS,aAAa,SAAU,eAAe,GAAG,CAGhD,eAAe,IAAM,eAAe,KAAK,KAC3C,SAAS,aAAa,OAAQ,eAAe,GAAG,CAChD,SAAS,MAAM,MAAQ,eAAe,KAK5C,IAAK,MAAQ,SAAS,UAAU,SAAW,EAAE,MAAQ,SAAS,UAAY,MAAQ,SAAS,gBAAkB,MAAQ,SAAS,MAAO,CACnI,IAAI,aAAe,MAAQ,SAAS,UAAU,SAAS,EAElD,MAAQ,SAAS,YAAY,IAAM,YAAY,QAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,OAE7C,MAAQ,SAAS,WAAW,aAAa,QAAS,YAAY,MAAM,GAGlE,MAAQ,SAAS,YAAY,IAAM,YAAY,SAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,QAE7C,MAAQ,SAAS,WAAW,aAAa,SAAU,YAAY,OAAO,EAGzE,IAAI,OAAS,EAEb,IAAK,MAAQ,SAAS,YAAY,IAAM,YAAY,MAAQ,OAAS,IAAM,MAAQ,SAAS,YAAY,IAAM,YAAY,OAAS,OAAS,IAAM,MAAQ,SAAS,YAAY,IAAM,YAAY,EAAI,SAAW,MAAQ,SAAS,YAAY,IAAM,YAAY,EAAI,OAAQ,CACzQ,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,MAAQ,OAAS,EAC/D,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,OAAS,OAAS,EAChE,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,EAAI,OAClD,CAAC,MAAQ,SAAS,YAAY,EAAI,YAAY,EAAI,QAEjD,MAAQ,SAAS,WAAW,aAAa,WAAY,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAI,KAAO,MAAQ,SAAS,YAAY,EAAE,CAE7M,UAAY,MAAQ,SAAS,WAAW,MACxC,IAAI,aAAe,cAAgB,MAAQ,SAAS,YAAY,EAAI,OAAS,MAAQ,SAAS,YAAY,EAAI,MAC9G,SAAS,UAAY,aACrB,SAAS,gBAAkB,iBAQjC,SAAS,cAAc,KAAM,WAAY,KAAM,CAC7C,CAAC,MAAQ,SAAS,UAAY,WAAW,aAAa,KAAK,MAAM,CACjE,KAAK,YAAY,KAAM,WAAY,KAAK,CAG1C,gBAAgB,CAAC,YAAa,iBAAkB,aAAc,cAAe,iBAAkB,aAAc,kBAAkB,CAAE,cAAc,CAE/I,cAAc,UAAU,cAAgB,UAAY,CAClD,IAAI,WAAa,MAAQ,SAAS,WAAW,eAAe,MAAQ,SAAS,UAAU,CAEnF,IAAM,IAAI,OAET,MAAQ,SAAS,KAAK,SACzB,CAAC,MAAQ,SAAS,UAAY,SAAS,QAAQ,EAE9C,MAAQ,SAAS,UAAU,aAAa,SAAU,MAAQ,SAAS,UAAU,EAAI,KAAK,EAEtF,MAAQ,SAAS,UAAU,aAAa,UAAW,MAAQ,SAAS,UAAU,EAAI,KAAK,EAEvF,MAAQ,SAAS,UAAU,eAAe,+BAAgC,OAAQ,UAAU,EAE5F,MAAQ,SAAS,aAAa,aAAa,MAAQ,SAAS,UAAU,EAEtE,MAAQ,SAAS,YAAY,aAAa,SAAU,MAAQ,SAAS,UAAU,EAAE,EAEjF,MAAQ,SAAS,YAAY,aAAa,UAAW,MAAQ,SAAS,UAAU,EAAE,GAElF,MAAQ,SAAS,aAAa,YAAY,IAAI,CAGjD,IAAI,YAAc,YAClB,IAAI,IAAM,WAEL,MAAQ,SAAS,KAAK,KACxB,MAAQ,SAAS,YAAY,aAAa,MAAO,MAAQ,SAAS,KAAK,GAAG,EAM/E,SAAS,eAAe,KAAM,WAAY,KAAM,CAC9C,KAAK,WAAW,CAChB,KAAK,aAAa,KAAM,WAAY,KAAK,CACzC,KAAK,eAAe,CACpB,IAAI,QAAU,gBAAgB,QAe9B,GAdA,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAI,EAAG,EAAG,MAAQ,QAAQ,CAE3E,KAAK,GAAG,EAAE,GACZ,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CACnF,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,CACnF,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,EAAE,EAAG,EAAG,EAAG,MAAQ,QAAQ,EAEnF,CAAC,MAAQ,SAAS,EAAI,QAAQ,MAAQ,QAAS,KAAK,GAAG,EAAG,EAAG,EAAG,MAAQ,QAAQ,CAG9E,KAAK,GAAG,IACV,CAAC,MAAQ,SAAS,EAAI,QAAQ,MAAQ,QAAS,KAAK,GAAG,EAAG,EAAG,EAAG,MAAQ,QAAQ,EAG9E,KAAK,GAAG,GAAG,EAAE,QAAU,KAAK,GAAG,GAAG,EAAE,GAAG,GAAI,CAC7C,IAAIA,IACA,IAAM,KAAK,GAAG,GAAG,EAAE,OAEvB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,KAAK,GAAG,GAAG,EAAEA,KAAG,GAAK,KACrB,KAAK,GAAG,GAAG,EAAEA,KAAG,GAAK,KAIzB,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,GAAG,GAAK,GAC1B,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,GAAK,QAAQ,MAAQ,QAAS,KAAK,GAAG,GAAI,EAAG,UAAW,MAAQ,QAAQ,CAC1F,CAAC,MAAQ,SAAS,IAAM,IAAI,OAC5B,CAAC,MAAQ,SAAS,SAAW,IAAI,OACjC,CAAC,MAAQ,SAAS,cAAgB,GAElC,CAAC,MAAQ,SAAS,eAAiB,CACjC,MAAO,MAAQ,QAChB,CAGH,gBAAgB,CAAC,YAAa,aAAc,iBAAiB,CAAE,eAAe,CAE9E,eAAe,UAAU,MAAQ,UAAY,CAC3C,IAAIA,IACA,KAAO,MAAQ,SAAS,KAAK,eAAe,OAC5C,KACA,iBACA,eAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAIxB,GAFA,MAAQ,MAAQ,SAAS,KAAK,eAAeA,KAEzC,KAAK,OAAS,KAAM,CACtB,iBAAmB,KAAK,gBAAgB,MACxC,eAAiB,KAAK,UAAU,MAChC,IAAI,aAAe,MAAQ,SAAS,GAAG,EAAI,KACvC,OAAS,cACT,OAAS,4CACb,iBAAiB,YAAc,YAC/B,iBAAiB,kBAAoB,YACrC,eAAe,gBAAkB,OACjC,eAAe,mBAAqB,OACpC,eAAe,sBAAwB,OACvC,iBAAiB,UAAY,OAC7B,iBAAiB,gBAAkB,SAKzC,eAAe,UAAU,eAAiB,UAAY,GAEtD,eAAe,UAAU,KAAO,UAAY,GAE5C,eAAe,UAAU,YAAc,UAAY,CACjD,IAAI,MAAQ,MAAQ,SAAS,cACzBA,IACA,IAEJ,IAAK,MAAQ,SAAS,UAGpB,IAFA,KAAO,MAAQ,SAAS,UAAU,OAE7B,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,MAAQ,MAAQ,SAAS,UAAUA,KAAG,eAAe,MAAM,MAAQ,KAIvE,GAAI,OAAS,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,IAAM,MAAQ,SAAS,EAAE,OAAS,MAAQ,SAAS,MAAQ,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,GAAG,QAAU,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,GAAG,OAAS,MAAQ,SAAS,IAAM,MAAQ,SAAS,EAAE,KAAM,CAGhX,IAFC,MAAQ,SAAS,IAAI,OAAO,EAExB,MAAQ,SAAS,UAGpB,IAFA,KAAO,MAAQ,SAAS,UAAU,OAAS,EAEtC,IAAI,IAAKA,KAAK,EAAG,MAAQ,CAC5B,IAAI,SAAW,MAAQ,SAAS,UAAUA,KAAG,eAAe,OAE3D,MAAQ,SAAS,IAAI,UAAU,CAAC,QAAQ,EAAE,EAAE,GAAI,CAAC,QAAQ,EAAE,EAAE,GAAI,QAAQ,EAAE,EAAE,GAAG,EAEhF,MAAQ,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,GAAG,CAAC,QAAQ,QAAQ,GAAG,EAAE,GAAG,EAEjG,MAAQ,SAAS,IAAI,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,GAAG,EAAE,CAAC,QAAQ,QAAQ,GAAG,EAAE,EAExF,MAAQ,SAAS,IAAI,MAAM,EAAI,QAAQ,EAAE,EAAE,GAAI,EAAI,QAAQ,EAAE,EAAE,GAAI,EAAI,QAAQ,EAAE,EAAE,GAAG,EAEtF,MAAQ,SAAS,IAAI,UAAU,QAAQ,EAAE,EAAE,GAAI,QAAQ,EAAE,EAAE,GAAI,QAAQ,EAAE,EAAE,GAAG,CAUnF,IANK,MAAQ,SAAS,GACnB,MAAQ,SAAS,IAAI,UAAU,EAAE,MAAQ,SAAS,EAAE,EAAE,GAAI,EAAE,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,EAE9G,MAAQ,SAAS,IAAI,UAAU,EAAE,MAAQ,SAAS,GAAG,EAAG,EAAE,MAAQ,SAAS,GAAG,GAAI,MAAQ,SAAS,GAAG,EAAE,EAGtG,MAAQ,SAAS,EAAG,CACvB,IAAI,YAEC,MAAQ,SAAS,EACP,EAAE,MAAQ,SAAS,EAAE,EAAE,IAAM,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,IAAM,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,EAAE,EAAE,IAAM,MAAQ,SAAS,EAAE,EAAE,GAAG,CAE/J,EAAE,MAAQ,SAAS,GAAG,GAAK,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,GAAG,GAAK,MAAQ,SAAS,EAAE,EAAE,IAAK,MAAQ,SAAS,GAAG,GAAK,MAAQ,SAAS,EAAE,EAAE,GAAG,CAGpK,IAAM,KAAK,KAAc,WAAW,IAAI,EAAc,WAAW,IAAI,EAAc,WAAW,IAAI,EAAG,CAErG,QAAU,CAAC,WAAW,GAAK,IAAK,WAAW,GAAK,IAAK,WAAW,GAAK,IAAI,CACzE,eAAiB,KAAK,KAAK,QAAQ,GAAK,QAAQ,GAAK,QAAQ,GAAK,QAAQ,GAAG,CAC7E,WAAa,KAAK,MAAM,QAAQ,GAAI,eAAe,CACnD,WAAa,KAAK,MAAM,QAAQ,GAAI,CAAC,QAAQ,GAAG,EAEnD,MAAQ,SAAS,IAAI,QAAQ,WAAW,CAAC,QAAQ,CAAC,WAAW,EAG/D,MAAQ,SAAS,IAAI,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,EAEtH,MAAQ,SAAS,IAAI,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAQ,SAAS,GAAG,EAAE,GAAG,CAAC,SAAS,MAAQ,SAAS,GAAG,EAAE,GAAG,EAE/H,MAAQ,SAAS,IAAI,WAAW,MAAQ,SAAS,WAAW,SAAS,EAAI,GAAI,MAAQ,SAAS,WAAW,SAAS,EAAI,EAAG,EAAE,EAE3H,MAAQ,SAAS,IAAI,UAAU,EAAG,GAAI,MAAQ,SAAS,GAAG,EAAE,CAE7D,IAAI,iBAAmB,EAAE,MAAQ,SAAS,SAAS,QAAQ,MAAQ,SAAS,IAAI,CAEhF,IAAK,mBAAqB,MAAQ,SAAS,GAAG,QAAU,MAAQ,SAAS,KAAK,eAAgB,CAC5F,KAAO,MAAQ,SAAS,KAAK,eAAe,OAC5C,IAAI,KACA,iBACA,eAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAGxB,GAFA,MAAQ,MAAQ,SAAS,KAAK,eAAeA,KAEzC,KAAK,OAAS,KAAM,CACtB,GAAI,iBAAkB,CACpB,IAAI,UAAY,MAAQ,SAAS,IAAI,OAAO,CAE5C,eAAiB,KAAK,UAAU,MAChC,eAAe,UAAY,SAC3B,eAAe,gBAAkB,UAG9B,MAAQ,SAAS,GAAG,OACvB,iBAAmB,KAAK,gBAAgB,MACxC,iBAAiB,aAAe,MAAQ,SAAS,GAAG,EAAI,KACxD,iBAAiB,mBAAqB,MAAQ,SAAS,GAAG,EAAI,OAKnE,MAAQ,SAAS,IAAI,OAAO,MAAQ,SAAS,SAAS,EAI3D,CAAC,MAAQ,SAAS,cAAgB,IAGpC,eAAe,UAAU,aAAe,SAAU,IAAK,CACrD,KAAK,kBAAkB,IAAK,GAAK,EAGnC,eAAe,UAAU,QAAU,UAAY,GAE/C,eAAe,UAAU,eAAiB,UAAY,CACpD,OAAO,MAGT,SAAS,UAAW,EAEpB,SAAS,UAAU,YAAc,UAAY,GAM7C,IAAI,iBAAmB,UAAY,CACjC,IAAI,SAAW,EAAE,CACb,qBAAuB,EAAE,CACzB,SAAW,EACX,IAAM,EACN,qBAAuB,EACvB,SAAW,GACX,UAAY,GAEhB,SAAS,cAAc,GAAI,CAIzB,IAHA,IAAIA,IAAI,EACJ,SAAW,GAAG,OAEXA,IAAI,KACL,qBAAqBA,KAAG,YAAc,WACxC,qBAAqB,OAAOA,IAAG,EAAE,CACjC,MACA,MAEK,SAAS,UACZ,sBAAsB,EAI1B,KAAK,EAIT,SAAS,kBAAkB,QAAS,gBAAe,CACjD,GAAI,CAAC,QACH,OAAO,KAKT,IAFA,IAAIA,IAAI,EAEDA,IAAI,KAAK,CACd,GAAI,qBAAqBA,KAAG,OAAS,SAAW,qBAAqBA,KAAG,OAAS,KAC/E,OAAO,qBAAqBA,KAAG,UAGjC,KAAK,EAGP,IAAI,SAAW,IAAI,cAGnB,OAFA,eAAe,SAAU,QAAQ,CACjC,SAAS,QAAQ,QAASiC,gBAAc,CACjC,SAGT,SAAS,yBAA0B,CACjC,IAAIjC,IACA,SAAW,qBAAqB,OAChC,WAAa,EAAE,CAEnB,IAAK,IAAI,EAAGA,IAAI,SAAU,KAAK,EAC7B,WAAW,KAAK,qBAAqBA,KAAG,UAAU,CAGpD,OAAO,WAGT,SAAS,iBAAkB,CACzB,sBAAwB,EACxB,UAAU,CAGZ,SAAS,sBAAuB,CAC9B,uBAGF,SAAS,eAAe,SAAU,QAAS,CACzC,SAAS,iBAAiB,UAAW,cAAc,CACnD,SAAS,iBAAiB,UAAW,gBAAgB,CACrD,SAAS,iBAAiB,QAAS,qBAAqB,CACxD,qBAAqB,KAAK,CACxB,KAAM,QACN,UAAW,SACZ,CAAC,CACF,KAAO,EAGT,SAASuC,gBAAc,OAAQ,CAC7B,IAAI,SAAW,IAAI,cAGnB,OAFA,eAAe,SAAU,KAAK,CAC9B,SAAS,UAAU,OAAO,CACnB,SAGT,SAAS,SAAS,IAAK,YAAW,CAChC,IAAIvC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,SAAS,IAAKwC,YAAU,CAI9D,SAAS,aAAa,IAAK,YAAW,CACpC,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,aAAa,IAAKwC,YAAU,CAIlE,SAAS,KAAK,YAAW,CACvB,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,KAAKwC,YAAU,CAIrD,SAAS,OAAO,QAAS,CACvB,IAAI,YAAc,QAAU,SACxBxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,YAAY,YAAY,CAG5D,SAAW,QAEP,sBAAwB,CAAC,UAC3B,SAAO,sBAAsB,OAAO,CAEpC,SAAW,GAIf,SAAS,MAAM,QAAS,CACtB,SAAW,QACX,SAAO,sBAAsB,OAAO,CAGtC,SAAS,MAAM,YAAW,CACxB,IAAIA,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,MAAMwC,YAAU,CAItD,SAAS,YAAY,MAAO,QAAS,YAAW,CAC9C,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,YAAY,MAAO,QAASwC,YAAU,CAI5E,SAAS,KAAK,YAAW,CACvB,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,KAAKwC,YAAU,CAIrD,SAAS,YAAY,YAAW,CAC9B,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,YAAYwC,YAAU,CAI5D,SAASH,UAAQ,YAAW,CAC1B,IAAIrC,IAEJ,IAAK,IAAI,IAAM,EAAGA,KAAK,EAAG,MACxB,qBAAqBA,KAAG,UAAU,QAAQwC,YAAU,CAIxD,SAASC,mBAAiB,gBAAe,aAAY,WAAU,CAC7D,IAAI,aAAe,EAAE,CAAC,OAAO,EAAE,CAAC,MAAM,KAAK,SAAS,uBAAuB,SAAS,CAAC,CAAE,EAAE,CAAC,MAAM,KAAK,SAAS,uBAAuB,YAAY,CAAC,CAAC,CAC/IzC,IACA,SAAW,aAAa,OAE5B,IAAK,IAAI,EAAGA,IAAI,SAAU,KAAK,EACzBoC,YACF,aAAapC,KAAG,aAAa,eAAgBoC,WAAS,CAGxD,kBAAkB,aAAapC,KAAIiC,gBAAc,CAGnD,GAAIS,cAAc,WAAa,EAAG,CAChC,AACE,aAAW,MAGb,IAAI,KAAO,SAAS,qBAAqB,OAAO,CAAC,GACjD,KAAK,UAAY,GACjB,IAAI,IAAM,UAAU,MAAM,CAC1B,IAAI,MAAM,MAAQ,OAClB,IAAI,MAAM,OAAS,OACnB,IAAI,aAAa,eAAgBN,WAAS,CAC1C,KAAK,YAAY,IAAI,CACrB,kBAAkB,IAAKH,gBAAc,EAIzC,SAAS,QAAS,CAChB,IAAIjC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,QAAQ,CAI9C,SAAS,UAAW,CACd,CAAC,WAAa,uBAGd,YADA,SAAO,sBAAsB,MAAM,CACxB,KAKjB,SAAS,QAAS,CAChB,UAAY,GAGd,SAAS,UAAW,CAClB,UAAY,GACZ,UAAU,CAGZ,SAAS,UAAU,IAAK,YAAW,CACjC,IAAIA,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,UAAU,IAAKwC,YAAU,CAI/D,SAAS,KAAK,YAAW,CACvB,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,KAAKwC,YAAU,CAIrD,SAAS,OAAO,YAAW,CACzB,IAAIxC,IAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,qBAAqBA,KAAG,UAAU,OAAOwC,YAAU,CAuBvD,MAnBA,UAAS,kBAAoB,kBAC7B,SAAS,cAAgBD,gBACzB,SAAS,SAAW,SACpB,SAAS,aAAe,aACxB,SAAS,KAAO,KAChB,SAAS,MAAQ,MACjB,SAAS,KAAO,KAChB,SAAS,YAAc,YACvB,SAAS,iBAAmBE,mBAC5B,SAAS,OAAS,OAElB,SAAS,YAAc,YACvB,SAAS,QAAUJ,UACnB,SAAS,OAAS,OAClB,SAAS,SAAW,SACpB,SAAS,UAAY,UACrB,SAAS,KAAO,KAChB,SAAS,OAAS,OAClB,SAAS,wBAA0B,wBAC5B,WACN,CAOC,cAAgB,UAAY,CAC9B,CAAC,MAAQ,SAAS,KAAO,EAAE,CAC3B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,aAAe,EACjC,CAAC,MAAQ,SAAS,gBAAkB,EACpC,CAAC,MAAQ,SAAS,WAAa,EAC/B,CAAC,MAAQ,SAAS,YAAc,EAChC,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,cAAgB,EAAE,CACpC,CAAC,MAAQ,SAAS,OAAS,EAAE,CAC7B,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,KAAO,GACzB,CAAC,MAAQ,SAAS,SAAW,KAC7B,CAAC,MAAQ,SAAS,YAAc,iBAAiB,CACjD,CAAC,MAAQ,SAAS,WAAa,GAC/B,CAAC,MAAQ,SAAS,cAAgB,EAClC,CAAC,MAAQ,SAAS,WAAa,EAC/B,CAAC,MAAQ,SAAS,kBAAoB,gBACtC,CAAC,MAAQ,SAAS,SAAW,EAAE,CAC/B,CAAC,MAAQ,SAAS,MAAQ,GAC1B,CAAC,MAAQ,SAAS,eAAiB,GACnC,CAAC,MAAQ,SAAS,iBAAmB,kBAAkB,CACvD,CAAC,MAAQ,SAAS,eAAiB,IAAI,eACvC,CAAC,MAAQ,SAAS,gBAAkB,wBAAwB,CAC5D,CAAC,MAAQ,SAAS,QAAU,EAAE,EAGhC,gBAAgB,CAAC,UAAU,CAAE,cAAc,CAE3C,cAAc,UAAU,UAAY,SAAU,OAAQ,EAChD,OAAO,SAAW,OAAO,aAC3B,CAAC,MAAQ,SAAS,QAAU,OAAO,SAAW,OAAO,WAGvD,IAAI,SAAW,MAQf,OANI,OAAO,SACT,SAAW,OAAO,SACT,OAAO,WAChB,SAAW,OAAO,UAGZ,SAAR,CACE,IAAK,SACH,CAAC,MAAQ,SAAS,SAAW,IAAI,eAAe,MAAQ,QAAS,OAAO,iBAAiB,CACzF,MAEF,IAAK,MACH,CAAC,MAAQ,SAAS,SAAW,IAAI,YAAY,MAAQ,QAAS,OAAO,iBAAiB,CACtF,MAEF,QACE,CAAC,MAAQ,SAAS,SAAW,IAAI,eAAe,MAAQ,QAAS,OAAO,iBAAiB,CACzF,OAGH,MAAQ,SAAS,eAAe,aAAa,UAAW,MAAQ,SAAS,SAAS,WAAW,KAAK,EAElG,MAAQ,SAAS,SAAS,qBAAqB,MAAQ,SAAS,iBAAiB,CAElF,CAAC,MAAQ,SAAS,SAAW,SAEzB,OAAO,OAAS,IAAM,OAAO,OAAS,MAAQ,OAAO,OAAS,IAAA,IAAa,OAAO,OAAS,GAC7F,CAAC,MAAQ,SAAS,KAAO,GAChB,OAAO,OAAS,GACzB,CAAC,MAAQ,SAAS,KAAO,GAEzB,CAAC,MAAQ,SAAS,KAAO,SAAS,OAAO,KAAM,GAAG,CAGpD,CAAC,MAAQ,SAAS,SAAW,aAAc,OAAS,OAAO,SAAW,GACtE,CAAC,MAAQ,SAAS,KAAO,OAAO,KAAO,OAAO,KAAO,GACrD,CAAC,MAAQ,SAAS,iBAAmB,OAAO,UAAU,eAAe,KAAK,OAAQ,mBAAmB,CAAG,OAAO,iBAAmB,GAClI,CAAC,MAAQ,SAAS,WAAa,OAAO,WACtC,CAAC,MAAQ,SAAS,eAAiB,OAAO,eAEtC,OAAO,eACR,MAAQ,SAAS,gBAAgB,gBAAgB,OAAO,aAAa,CAGpE,OAAO,cACT,KAAK,gBAAgB,OAAO,cAAc,CACjC,OAAO,OACZ,OAAO,KAAK,YAAY,KAAK,GAAK,GAGpC,CAAC,MAAQ,SAAS,KAAO,OAAO,KAAK,OAAO,EAAG,OAAO,KAAK,YAAY,IAAI,CAAG,EAAE,CAFhF,CAAC,MAAQ,SAAS,KAAO,OAAO,KAAK,OAAO,EAAG,OAAO,KAAK,YAAY,KAAK,CAAG,EAAE,CAKnF,CAAC,MAAQ,SAAS,SAAW,OAAO,KAAK,OAAO,OAAO,KAAK,YAAY,IAAI,CAAG,EAAE,CACjF,CAAC,MAAQ,SAAS,UAAY,MAAQ,SAAS,SAAS,OAAO,GAAI,MAAQ,SAAS,SAAS,YAAY,QAAQ,CAAC,CAClH,YAAY,KAAK,OAAO,MAAO,MAAQ,SAAS,gBAAgB,KAAK,MAAQ,QAAQ,CAAE,UAAY,CACjG,KAAK,QAAQ,cAAc,EAC3B,KAAK,MAAQ,QAAQ,CAAC,GAI5B,cAAc,UAAU,QAAU,SAAU,QAAS,gBAAe,CAC9DJ,iBACE,OAAOA,iBAAkB,WAC3B,gBAAgB,KAAK,MAAMA,gBAAc,EAI7C,IAAI,OAAS,CACF,QACT,cAAeA,gBAChB,CACG,kBAAoB,QAAQ,WAChC,OAAO,KAAO,kBAAkB,aAAa,sBAAsB,CACjE,kBAAkB,aAAa,sBAAsB,CAAC,MAAQ,kBAAkB,aAAa,eAAe,CAC5G,kBAAkB,aAAa,eAAe,CAAC,MAAQ,kBAAkB,aAAa,UAAU,CAAG,kBAAkB,aAAa,UAAU,CAAC,MAAQ,GACvJ,OAAO,SAAW,kBAAkB,aAAa,iBAAiB,CAChE,kBAAkB,aAAa,iBAAiB,CAAC,MAAQ,kBAAkB,aAAa,eAAe,CACvG,kBAAkB,aAAa,eAAe,CAAC,MAAQ,kBAAkB,aAAa,UAAU,CAChG,kBAAkB,aAAa,UAAU,CAAC,MAAQ,kBAAkB,aAAa,mBAAmB,CACpG,kBAAkB,aAAa,mBAAmB,CAAC,MAAQ,kBAAkB,aAAa,cAAc,CAAG,kBAAkB,aAAa,cAAc,CAAC,MAAQ,SACnK,IAAI,KAAO,kBAAkB,aAAa,iBAAiB,CACzD,kBAAkB,aAAa,iBAAiB,CAAC,MAAQ,kBAAkB,aAAa,eAAe,CACvG,kBAAkB,aAAa,eAAe,CAAC,MAAQ,kBAAkB,aAAa,UAAU,CAAG,kBAAkB,aAAa,UAAU,CAAC,MAAQ,GAEnJ,OAAS,QACX,OAAO,KAAO,GACL,OAAS,OAClB,OAAO,KAAO,GACL,OAAS,KAClB,OAAO,KAAO,SAAS,KAAM,GAAG,EAMlC,OAAO,UAHQ,kBAAkB,aAAa,qBAAqB,CACjE,kBAAkB,aAAa,qBAAqB,CAAC,MAAQ,kBAAkB,aAAa,mBAAmB,CAC/G,kBAAkB,aAAa,mBAAmB,CAAC,MAAQ,kBAAkB,aAAa,cAAc,CAAG,kBAAkB,aAAa,cAAc,CAAC,MAAQ,MACpI,QAC/B,OAAO,KAAO,kBAAkB,aAAa,YAAY,CACvD,kBAAkB,aAAa,YAAY,CAAC,MAAQ,kBAAkB,aAAa,eAAe,CAClG,kBAAkB,aAAa,eAAe,CAAC,MAAQ,kBAAkB,aAAa,UAAU,CAAG,kBAAkB,aAAa,UAAU,CAAC,MAAQ,IACvI,kBAAkB,aAAa,sBAAsB,CACnE,kBAAkB,aAAa,sBAAsB,CAAC,MAAQ,kBAAkB,aAAa,oBAAoB,CACjH,kBAAkB,aAAa,oBAAoB,CAAC,MAAQ,kBAAkB,aAAa,eAAe,CAAG,kBAAkB,aAAa,eAAe,CAAC,MAAQ,MAEpJ,UAChB,OAAO,UAAY,IAGrB,KAAK,UAAU,OAAO,EAGxB,cAAc,UAAU,cAAgB,SAAU,KAAM,CAClD,KAAK,IAAM,MAAQ,SAAS,cAAc,KAC5C,CAAC,MAAQ,SAAS,cAAc,GAAK,KAAK,GAC1C,CAAC,MAAQ,SAAS,YAAc,KAAK,MAAM,KAAK,IAAM,MAAQ,SAAS,cAAc,GAAG,EAG1F,IAAI,QAAU,MAAQ,SAAS,cAAc,OACzCjC,IACA,IAAM,OAAO,OACb,UAAY,KAAK,OACjBe,IACA,KAAO,UAAU,OAErB,IAAK,IAAI,EAAGA,IAAI,KAAM,KAAK,EAGzB,IAFA,IAAI,EAEGf,IAAI,KAAK,CACd,GAAI,OAAOA,KAAG,KAAO,UAAUe,KAAG,GAAI,CACpC,OAAOf,KAAK,UAAUe,KACtB,MAGF,KAAK,EAUT,IANI,KAAK,OAAS,KAAK,UACpB,MAAQ,SAAS,SAAS,WAAW,YAAY,SAAS,KAAK,MAAM,EAErE,MAAQ,SAAS,SAAS,WAAW,YAAY,SAAS,KAAK,OAAQ,MAAQ,SAAS,SAAS,WAAW,KAAK,EAGhH,KAAK,OAGP,IAFA,IAAM,KAAK,OAAO,OAEb,IAAI,EAAGf,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,cAAc,OAAO,KAAK,KAAK,OAAOA,KAAG,CAI/D,CAAC,MAAQ,SAAS,cAAc,WAAa,GAC7C,YAAY,cAAc,MAAQ,SAAS,eAAgB,MAAQ,SAAS,SAAS,WAAW,YAAY,EAE3G,MAAQ,SAAS,SAAS,cAAc,KAAK,OAAO,CAEjD,mBACF,kBAAkB,gBAAgB,MAAQ,QAAQ,CAGpD,KAAK,iBAAiB,EAGxB,cAAc,UAAU,gBAAkB,UAAY,CACpD,IAAI,UAAY,MAAQ,SAAS,cAAc,SAE/C,GAAI,CAAC,UAAY,SAAS,SAAW,GAAK,EAAE,MAAQ,SAAS,iBAAkB,CAC7E,KAAK,QAAQ,aAAa,CAC1B,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,YACpD,OAGF,IAAI,QAAU,SAAS,OAAO,CAC9B,CAAC,MAAQ,SAAS,cAAgB,QAAQ,MAAQ,MAAQ,SAAS,UACnE,IAAI,aAAe,MAAQ,SAAS,MAAQ,MAAQ,SAAS,SAAW,KAAO,MAAQ,SAAS,WAAa,QAC7G,CAAC,MAAQ,SAAS,YAAc,EAChC,YAAY,KAAK,aAAc,MAAQ,SAAS,cAAc,KAAK,MAAQ,QAAQ,CAAE,UAAY,CAC/F,KAAK,QAAQ,cAAc,EAC3B,KAAK,MAAQ,QAAQ,CAAC,EAG1B,cAAc,UAAU,aAAe,UAAY,EACjC,MAAQ,SAAS,cAAc,WAG7C,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,aAGtD,KAAK,iBAAiB,EAGxB,cAAc,UAAU,aAAe,UAAY,CACjD,KAAK,QAAQ,gBAAgB,CAC7B,KAAK,aAAa,EAGpB,cAAc,UAAU,cAAgB,UAAY,EACjD,MAAQ,SAAS,eAAe,eAAe,MAAQ,SAAS,WAAW,EAE3E,MAAQ,SAAS,eAAe,SAAS,MAAQ,SAAS,KAAK,EAE/D,MAAQ,SAAS,eAAe,YAAY,MAAQ,SAAS,cAAc,QAAS,MAAQ,SAAS,aAAa,KAAK,MAAQ,QAAQ,CAAC,EAG3I,cAAc,UAAU,gBAAkB,SAAU,SAAU,CACxD,IAAE,MAAQ,SAAS,SAIvB,GAAI,CACF,CAAC,MAAQ,SAAS,cAAgB,UAE7B,MAAQ,SAAS,gBACpB,CAAC,MAAQ,SAAS,YAAc,KAAK,OAAO,MAAQ,SAAS,eAAe,IAAM,MAAQ,SAAS,eAAe,GAAG,CACrH,CAAC,MAAQ,SAAS,WAAa,KAAK,OAAO,MAAQ,SAAS,eAAe,GAAG,GAE9E,CAAC,MAAQ,SAAS,YAAc,KAAK,OAAO,MAAQ,SAAS,cAAc,IAAM,MAAQ,SAAS,cAAc,GAAG,CACnH,CAAC,MAAQ,SAAS,WAAa,KAAK,OAAO,MAAQ,SAAS,cAAc,GAAG,GAG9E,MAAQ,SAAS,SAAS,gBAAgB,SAAS,CAEpD,AACE,SAAS,SAAS,EAAE,CAGtB,CAAC,MAAQ,SAAS,QAAU,MAAQ,SAAS,cAAc,OAC3D,CAAC,MAAQ,SAAS,WAAa,MAAQ,SAAS,cAAc,GAC9D,CAAC,MAAQ,SAAS,WAAa,MAAQ,SAAS,cAAc,GAAK,KAElE,MAAQ,SAAS,SAAS,wBAAwB,SAAS,OAAO,CAEnE,CAAC,MAAQ,SAAS,QAAU,aAAa,SAAS,SAAW,EAAE,CAAC,CAChE,KAAK,QAAQ,eAAe,CAC5B,KAAK,eAAe,CACpB,KAAK,cAAc,CACnB,KAAK,mBAAmB,CACxB,KAAK,oBAAoB,EAEpB,MAAQ,SAAS,WACnB,MAAQ,SAAS,gBAAgB,OAAO,OAEpC,MAAO,CACd,KAAK,mBAAmB,MAAM,GAIlC,cAAc,UAAU,mBAAqB,UAAY,EACjD,MAAQ,SAAS,YAIlB,MAAQ,SAAS,SAAS,WAAW,YAAY,SACpD,KAAK,aAAa,CAElB,YAAY,MAAQ,SAAS,mBAAmB,KAAK,MAAQ,QAAQ,CAAE,GAAG,GAI9E,cAAc,UAAU,YAAc,UAAY,CAC5C,EAAE,MAAQ,SAAS,WAAa,MAAQ,SAAS,SAAS,WAAW,YAAY,YAAc,MAAQ,SAAS,eAAe,cAAc,GAAK,MAAQ,SAAS,SAAS,eAAiB,YAAc,MAAQ,SAAS,eAAe,gBAAgB,GAC7P,CAAC,MAAQ,SAAS,SAAW,GAC7B,YAAY,cAAc,MAAQ,SAAS,eAAgB,MAAQ,SAAS,SAAS,WAAW,YAAY,CAExG,mBACF,kBAAkB,gBAAgB,MAAQ,QAAQ,EAGnD,MAAQ,SAAS,SAAS,WAAW,CAEtC,WAAW,UAAY,CACrB,KAAK,QAAQ,YAAY,EACzB,KAAK,MAAQ,QAAQ,CAAE,EAAE,CAC3B,KAAK,WAAW,EAEX,MAAQ,SAAS,UACpB,KAAK,MAAM,GAKjB,cAAc,UAAU,OAAS,UAAY,EAC1C,MAAQ,SAAS,SAAS,qBAAqB,EAGlD,cAAc,UAAU,YAAc,SAAU,KAAM,CACpD,CAAC,MAAQ,SAAS,kBAAoB,CAAC,CAAC,MAG1C,cAAc,UAAU,UAAY,UAAY,CAC9C,CAAC,MAAQ,SAAS,cAAgB,MAAQ,SAAS,mBAAqB,MAAQ,SAAS,gBAAkB,CAAC,EAAE,MAAQ,SAAS,iBAE1H,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,cAAgB,MAAQ,SAAS,cAAgB,MAAQ,SAAS,gBAC1H,CAAC,MAAQ,SAAS,cAAgB,MAAQ,SAAS,eAGrD,KAAK,QAAQ,aAAa,CAC1B,KAAK,aAAa,EAGpB,cAAc,UAAU,YAAc,UAAY,CAChD,MAAK,MAAQ,SAAS,WAAa,IAAS,EAAE,MAAQ,SAAS,UAI/D,GAAI,EACD,MAAQ,SAAS,SAAS,aAAa,MAAQ,SAAS,cAAgB,MAAQ,SAAS,WAAW,OAC9F,MAAO,CACd,KAAK,wBAAwB,MAAM,GAIvC,cAAc,UAAU,KAAO,SAAU,KAAM,CACzC,OAAS,MAAQ,SAAS,OAAS,OAIlC,MAAQ,SAAS,WAAa,KACjC,CAAC,MAAQ,SAAS,SAAW,IAE5B,MAAQ,SAAS,gBAAgB,QAAQ,EAErC,MAAQ,SAAS,QACpB,CAAC,MAAQ,SAAS,MAAQ,GAC1B,KAAK,QAAQ,UAAU,IAK7B,cAAc,UAAU,MAAQ,SAAU,KAAM,CAC1C,OAAS,MAAQ,SAAS,OAAS,OAIlC,MAAQ,SAAS,WAAa,KACjC,CAAC,MAAQ,SAAS,SAAW,GAC7B,CAAC,MAAQ,SAAS,MAAQ,GAC1B,KAAK,QAAQ,QAAQ,EAEpB,MAAQ,SAAS,gBAAgB,OAAO,GAI7C,cAAc,UAAU,YAAc,SAAU,KAAM,CAChD,OAAS,MAAQ,SAAS,OAAS,QAIlC,MAAQ,SAAS,WAAa,GACjC,KAAK,MAAM,CAEX,KAAK,OAAO,GAIhB,cAAc,UAAU,KAAO,SAAU,KAAM,CACzC,OAAS,MAAQ,SAAS,OAAS,OAIvC,KAAK,OAAO,CACZ,CAAC,MAAQ,SAAS,UAAY,EAC9B,CAAC,MAAQ,SAAS,eAAiB,GACnC,KAAK,wBAAwB,EAAE,GAGjC,cAAc,UAAU,cAAgB,SAAU,WAAY,CAG5D,IAAK,IAFD,OAEKA,IAAI,EAAGA,KAAK,MAAQ,SAAS,QAAQ,OAAQ,KAAK,EAGzD,GAFA,QAAU,MAAQ,SAAS,QAAQA,KAE/B,OAAO,SAAW,OAAO,QAAQ,OAAS,WAC5C,OAAO,OAIX,OAAO,MAGT,cAAc,UAAU,YAAc,SAAU,MAAO,QAAS,KAAM,CAChE,YAAS,MAAQ,SAAS,OAAS,MAIvC,KAAI,SAAW,OAAO,MAAM,CAE5B,GAAI,MAAM,SAAS,CAAE,CACnB,IAAI,OAAS,KAAK,cAAc,MAAM,CAElC,QACF,KAAK,YAAY,OAAO,KAAM,GAAK,MAE5B,QACT,KAAK,wBAAwB,MAAM,CAEnC,KAAK,wBAAwB,OAAS,MAAQ,SAAS,cAAc,CAGvE,KAAK,OAAO,GAGd,cAAc,UAAU,YAAc,SAAU,MAAO,QAAS,KAAM,CAChE,YAAS,MAAQ,SAAS,OAAS,MAIvC,KAAI,SAAW,OAAO,MAAM,CAE5B,GAAI,MAAM,SAAS,CAAE,CACnB,IAAI,OAAS,KAAK,cAAc,MAAM,CAElC,SACG,OAAO,SAGV,KAAK,aAAa,CAAC,OAAO,KAAM,OAAO,KAAO,OAAO,SAAS,CAAE,GAAK,CAFrE,KAAK,YAAY,OAAO,KAAM,GAAK,OAMvC,KAAK,YAAY,SAAU,QAAS,KAAK,CAG3C,KAAK,MAAM,GAGb,cAAc,UAAU,YAAc,SAAU,MAAO,CACrD,MAAK,MAAQ,SAAS,WAAa,KAAS,MAAQ,SAAS,WAAa,IAI1E,KAAI,WAAa,MAAQ,SAAS,gBAAkB,OAAS,MAAQ,SAAS,cAC1E,YAAc,GAGd,YAAc,MAAQ,SAAS,YAAc,IAAM,MAAQ,SAAS,cAAgB,EAClF,EAAE,MAAQ,SAAS,OAAS,MAAQ,SAAS,aAAe,MAAQ,SAAS,KAC1E,KAAK,cAAc,WAAa,MAAQ,SAAS,YAAc,WAAa,MAAQ,SAAS,YAAc,EAAE,GAChH,YAAc,GACd,WAAa,MAAQ,SAAS,YAAc,GAErC,YAAc,MAAQ,SAAS,aACxC,CAAC,MAAQ,SAAS,WAAa,EAE1B,KAAK,cAAc,WAAa,MAAQ,SAAS,YAAY,GAChE,KAAK,wBAAwB,WAAa,MAAQ,SAAS,YAAY,CACvE,CAAC,MAAQ,SAAS,eAAiB,GACnC,KAAK,QAAQ,eAAe,GAG9B,KAAK,wBAAwB,UAAU,CAEhC,UAAY,EAChB,KAAK,cAAc,WAAa,MAAQ,SAAS,YAAY,IAC3D,MAAQ,SAAS,MAAQ,EAAE,CAAC,MAAQ,SAAS,aAAe,IAAM,MAAQ,SAAS,OAAS,KAE/F,KAAK,yBAAyB,MAAQ,SAAS,YAAc,WAAa,MAAQ,SAAS,YAAY,EAEjG,MAAQ,SAAS,eAGrB,KAAK,QAAQ,eAAe,CAF5B,CAAC,MAAQ,SAAS,eAAiB,KAKrC,YAAc,GACd,UAAY,IAIhB,KAAK,wBAAwB,UAAU,CAGrC,cACF,KAAK,wBAAwB,UAAU,CACvC,KAAK,OAAO,CACZ,KAAK,QAAQ,WAAW,IAI5B,cAAc,UAAU,cAAgB,SAAU,IAAK,OAAQ,CAC7D,CAAC,MAAQ,SAAS,UAAY,EAE1B,IAAI,GAAK,IAAI,KACV,MAAQ,SAAS,cAAgB,KAC/B,MAAQ,SAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQ,SAAS,UAAU,CAE3C,KAAK,aAAa,GAAG,EAIzB,CAAC,MAAQ,SAAS,YAAc,IAAI,GAAK,IAAI,GAC7C,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,YACpD,CAAC,MAAQ,SAAS,WAAa,IAAI,GACnC,KAAK,yBAAyB,MAAQ,SAAS,YAAc,KAAQ,OAAO,EACnE,IAAI,GAAK,IAAI,MACjB,MAAQ,SAAS,cAAgB,KAC/B,MAAQ,SAAS,UAAY,EAChC,KAAK,SAAS,EAAE,MAAQ,SAAS,UAAU,CAE3C,KAAK,aAAa,EAAE,EAIxB,CAAC,MAAQ,SAAS,YAAc,IAAI,GAAK,IAAI,GAC7C,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,YACpD,CAAC,MAAQ,SAAS,WAAa,IAAI,GACnC,KAAK,wBAAwB,KAAQ,OAAO,EAG9C,KAAK,QAAQ,eAAe,EAG9B,cAAc,UAAU,WAAa,SAAU,KAAM,IAAK,CACxD,IAAI,aAAe,IAEd,MAAQ,SAAS,YACf,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,WAAa,KACrE,aAAe,MACL,MAAQ,SAAS,iBAAmB,MAAQ,SAAS,WAAa,MAC5E,aAAe,IAAM,OAIzB,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,YAAc,IAAM,KACtC,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,YAEhD,eAAiB,IACnB,KAAK,YAAY,aAAc,GAAK,EAIxC,cAAc,UAAU,aAAe,SAAU,IAAK,UAAW,CAK/D,GAJI,YACF,CAAC,MAAQ,SAAS,SAAS,OAAS,GAGlC,OAAO,IAAI,IAAO,SAAU,CAC9B,IAAIA,IACA,IAAM,IAAI,OAEd,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,SAAS,KAAK,IAAIA,KAAG,OAGxC,MAAQ,SAAS,SAAS,KAAK,IAAI,EAGjC,MAAQ,SAAS,SAAS,QAAU,WACvC,KAAK,eAAe,MAAQ,SAAS,SAAS,OAAO,CAAE,EAAE,EAGtD,MAAQ,SAAS,UACpB,KAAK,MAAM,EAIf,cAAc,UAAU,cAAgB,SAAU,UAAW,CAC3D,CAAC,MAAQ,SAAS,SAAS,OAAS,GAEnC,MAAQ,SAAS,SAAS,KAAK,EAAE,MAAQ,SAAS,cAAc,IAAK,MAAQ,SAAS,cAAc,GAAG,CAAC,CAGrG,WACF,KAAK,cAAc,EAAE,EAIzB,cAAc,UAAU,cAAgB,SAAU,OAAQ,CAMxD,OALK,MAAQ,SAAS,SAAS,QAC7B,KAAK,eAAe,MAAQ,SAAS,SAAS,OAAO,CAAE,OAAO,CACvD,IAGF,IAGT,cAAc,UAAU,QAAU,SAAU,KAAM,CAC5C,OAAS,MAAQ,SAAS,OAAS,MAAQ,EAAE,MAAQ,SAAS,YAIjE,MAAQ,SAAS,SAAS,SAAS,EAEnC,MAAQ,SAAS,eAAe,SAAS,CAE1C,KAAK,QAAQ,UAAU,CACvB,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,aAAe,KACjC,CAAC,MAAQ,SAAS,eAAiB,KACnC,CAAC,MAAQ,SAAS,WAAa,KAC/B,CAAC,MAAQ,SAAS,eAAiB,KACnC,CAAC,MAAQ,SAAS,UAAY,KAC9B,CAAC,MAAQ,SAAS,SAAW,KAC7B,CAAC,MAAQ,SAAS,SAAW,KAC7B,CAAC,MAAQ,SAAS,eAAiB,KACnC,CAAC,MAAQ,SAAS,iBAAmB,OAGvC,cAAc,UAAU,wBAA0B,SAAU,MAAO,CACjE,CAAC,MAAQ,SAAS,gBAAkB,MACpC,KAAK,WAAW,EAGlB,cAAc,UAAU,SAAW,SAAU,IAAK,CAChD,CAAC,MAAQ,SAAS,UAAY,IAC9B,KAAK,mBAAmB,EAG1B,cAAc,UAAU,aAAe,SAAU,IAAK,CACpD,CAAC,MAAQ,SAAS,cAAgB,IAAM,EAAI,GAAK,EACjD,KAAK,mBAAmB,EAG1B,cAAc,UAAU,UAAY,SAAU,IAAK,KAAM,CACnD,OAAS,MAAQ,SAAS,OAAS,OAItC,MAAQ,SAAS,gBAAgB,UAAU,IAAI,EAGlD,cAAc,UAAU,UAAY,UAAY,CAC9C,OAAQ,MAAQ,SAAS,gBAAgB,WAAW,EAGtD,cAAc,UAAU,KAAO,SAAU,KAAM,CACzC,OAAS,MAAQ,SAAS,OAAS,OAItC,MAAQ,SAAS,gBAAgB,MAAM,EAG1C,cAAc,UAAU,OAAS,SAAU,KAAM,CAC3C,OAAS,MAAQ,SAAS,OAAS,OAItC,MAAQ,SAAS,gBAAgB,QAAQ,EAG5C,cAAc,UAAU,kBAAoB,UAAY,CACtD,CAAC,MAAQ,SAAS,eAAiB,MAAQ,SAAS,WAAa,MAAQ,SAAS,WAAa,MAAQ,SAAS,eAE/G,MAAQ,SAAS,gBAAgB,SAAS,MAAQ,SAAS,WAAa,MAAQ,SAAS,cAAc,EAG1G,cAAc,UAAU,QAAU,UAAY,CAC5C,OAAQ,MAAQ,SAAS,MAG3B,cAAc,UAAU,cAAgB,SAAU,UAAW,CAC3D,IAAI,KAAO,GAEX,GAAI,UAAU,EACZ,KAAO,UAAU,WACP,MAAQ,SAAS,WAAY,CACvC,IAAI,UAAY,UAAU,EAEtB,UAAU,QAAQ,UAAU,GAAK,KACnC,UAAY,UAAU,MAAM,IAAI,CAAC,IAGnC,MAAQ,MAAQ,SAAS,WAAa,eAEtC,MAAQ,MAAQ,SAAS,KACzB,MAAQ,UAAU,EAAI,UAAU,EAAI,GACpC,MAAQ,UAAU,EAGpB,OAAO,MAGT,cAAc,UAAU,aAAe,SAAU,GAAI,CAInD,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,OAAO,OAE5BA,IAAI,KAAK,CACd,GAAI,MAAQ,MAAQ,SAAS,OAAOA,KAAG,GACrC,OAAQ,MAAQ,SAAS,OAAOA,KAGlC,KAAK,EAGP,OAAO,MAGT,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQ,SAAS,SAAS,MAAM,EAGnC,cAAc,UAAU,KAAO,UAAY,EACxC,MAAQ,SAAS,SAAS,MAAM,EAGnC,cAAc,UAAU,YAAc,SAAU,QAAS,CACvD,OAAO,SAAW,MAAQ,SAAS,aAAe,MAAQ,SAAS,aAAe,MAAQ,SAAS,WAGrG,cAAc,UAAU,QAAU,SAAU,KAAM,CAChD,IAAK,MAAQ,SAAS,OAAS,MAAQ,SAAS,KAAK,MACnD,OAAQ,KAAR,CACE,IAAK,aACH,KAAK,aAAa,KAAM,IAAI,kBAAkB,MAAO,MAAQ,SAAS,cAAe,MAAQ,SAAS,aAAc,MAAQ,SAAS,cAAc,CAAC,CACpJ,MAEF,IAAK,eACH,KAAK,aAAa,KAAM,IAAI,oBAAoB,MAAO,MAAQ,SAAS,MAAO,MAAQ,SAAS,WAAY,MAAQ,SAAS,UAAU,CAAC,CACxI,MAEF,IAAK,WACH,KAAK,aAAa,KAAM,IAAI,gBAAgB,MAAO,MAAQ,SAAS,UAAU,CAAC,CAC/E,MAEF,IAAK,eACH,KAAK,aAAa,KAAM,IAAI,oBAAoB,MAAO,MAAQ,SAAS,YAAa,MAAQ,SAAS,YAAY,CAAC,CACnH,MAEF,IAAK,UACH,KAAK,aAAa,KAAM,IAAI,eAAe,KAAM,MAAQ,QAAQ,CAAC,CAClE,MAEF,QACE,KAAK,aAAa,KAAK,CAIzB,OAAS,eAAiB,MAAQ,SAAS,eAC5C,MAAQ,SAAS,aAAa,KAAK,MAAQ,QAAS,IAAI,kBAAkB,MAAO,MAAQ,SAAS,cAAe,MAAQ,SAAS,aAAc,MAAQ,SAAS,UAAU,CAAC,CAG3K,OAAS,iBAAmB,MAAQ,SAAS,iBAC9C,MAAQ,SAAS,eAAe,KAAK,MAAQ,QAAS,IAAI,oBAAoB,MAAO,MAAQ,SAAS,MAAO,MAAQ,SAAS,WAAY,MAAQ,SAAS,UAAU,CAAC,CAGrK,OAAS,aAAe,MAAQ,SAAS,aAC1C,MAAQ,SAAS,WAAW,KAAK,MAAQ,QAAS,IAAI,gBAAgB,MAAO,MAAQ,SAAS,UAAU,CAAC,CAGxG,OAAS,iBAAmB,MAAQ,SAAS,iBAC9C,MAAQ,SAAS,eAAe,KAAK,MAAQ,QAAS,IAAI,oBAAoB,MAAO,MAAQ,SAAS,YAAa,MAAQ,SAAS,YAAY,CAAC,CAGhJ,OAAS,YAAc,MAAQ,SAAS,YACzC,MAAQ,SAAS,UAAU,KAAK,MAAQ,QAAS,IAAI,eAAe,KAAM,MAAQ,QAAQ,CAAC,EAIhG,cAAc,UAAU,wBAA0B,SAAU,YAAa,CACvE,IAAI,MAAQ,IAAI,wBAAwB,aAAc,MAAQ,SAAS,aAAa,CACpF,KAAK,aAAa,QAAS,MAAM,EAE5B,MAAQ,SAAS,UACnB,MAAQ,SAAS,QAAQ,KAAK,MAAQ,QAAS,MAAM,EAI1D,cAAc,UAAU,mBAAqB,SAAU,YAAa,CAClE,IAAI,MAAQ,IAAI,mBAAmB,aAAc,MAAQ,SAAS,aAAa,CAC/E,KAAK,aAAa,QAAS,MAAM,EAE5B,MAAQ,SAAS,UACnB,MAAQ,SAAS,QAAQ,KAAK,MAAQ,QAAS,MAAM,EAQ1D,IAAI,YAAc,UAAY,CAC5B,IAAI,GAAK,EAAE,CACX,GAAG,gBAAkB,gBAErB,SAAS,gBAAgB,YAAW,CAClC,IAAI,WAAa,EACb,UAAY,EAAE,CAElB,SAAS,gBAAiB,CACxB,YAAc,EAGhB,SAAS,eAAgB,CACvB,aAEI,aAAe,GACjB,kBAAkB,CAItB,SAAS,2BAA2B,WAAY,CAC1C,UAAU,QAAQ,WAAW,GAAK,IACpC,UAAU,KAAK,WAAW,CAI9B,SAAS,kBAAmB,CAC1B,IAAIA,IACA,IAAM,UAAU,OAEpB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,UAAUA,KAAG,SAAS,CAGxB,UAAU,OAAS,EAGrB,YAAU,SAAS,cAAgB,wBAAwBwC,YAAU,SAAS,CAC9E,YAAU,SAAS,WAAW,iBAAiB,oBAAoBA,YAAU,SAAS,CACtF,YAAU,SAAS,WAAW,eAAiB,eAC/C,YAAU,SAAS,WAAW,cAAgB,cAC9C,YAAU,SAAS,WAAW,2BAA6B,2BAG7D,OAAO,KACN,CAEH,kBAAoB,YAKpB,IAAI,kBAAoB,UAAY,CAGlC,IAAI,GAAK,EAAE,CACPG,OAAO,OACPX,SAAS,KACTY,WAAW,KAEf,SAAS,sBAAsB,IAAK,CAClC,OAAO,IAAI,cAAgB,OAAS,IAAI,cAAgB,aAG1D,SAAS,YAAY,KAAM,IAAG,CAC5B,OAAO,OAAS,UAAY,OAAS,WAAa,OAAS,UAAYnC,eAAa,OAGtF,SAAS,QAAQ,IAAG,CAClB,IAAI,KAAO,OAAOG,IAElB,GAAI,OAAS,UAAY,OAAS,WAAaA,eAAa,OAC1D,MAAO,CAACA,IAGV,GAAI,sBAAsBA,IAAE,CAAE,CAC5B,IAAIZ,IACA,KAAOY,IAAE,OACT,OAAS,EAAE,CAEf,IAAK,IAAI,EAAGZ,IAAI,KAAM,KAAK,EACzB,OAAOA,KAAK,CAACY,IAAEZ,KAGjB,OAAO,OAOT,OAJIY,IAAE,SACGA,IAAE,EAGJ,CAACA,IAGV,IAAI,UAAY,cAAc,gBAAgB,KAAO,EAAG,KAAO,KAAO,SAAS,CAAC,IAC5E,WAAa,cAAc,gBAAgB,KAAO,KAAO,KAAO,EAAG,UAAU,CAAC,IAC9E,aAAe,cAAc,gBAAgB,IAAM,EAAG,KAAO,EAAG,YAAY,CAAC,IAEjF,SAAS,IAAI,IAAG,IAAG,CACjB,IAAI,KAAO,OAAOA,IACd,KAAO,OAAOT,IAMlB,GAJI,OAAS,UAAY,OAAS,UAI9B,YAAY,KAAMS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAC9C,OAAOS,IAAIT,IAGb,GAAI,sBAAsBS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAGlD,MAFA,KAAIS,IAAE,MAAM,EAAE,CACd,IAAE,IAAMT,IACDS,IAGT,GAAI,YAAY,KAAMA,IAAE,EAAI,sBAAsBT,IAAE,CAGlD,MAFA,KAAIA,IAAE,MAAM,EAAE,CACd,IAAE,GAAKS,IAAIT,IAAE,GACNA,IAGT,GAAI,sBAAsBS,IAAE,EAAI,sBAAsBT,IAAE,CAAE,CAMxD,IALA,IAAIH,IAAI,EACJ,KAAOY,IAAE,OACT,KAAOT,IAAE,OACT,OAAS,EAAE,CAERH,IAAI,MAAQA,IAAI,OAChB,OAAOY,IAAEZ,MAAO,UAAYY,IAAEZ,eAAc,UAAY,OAAOG,IAAEH,MAAO,UAAYG,IAAEH,eAAc,QACvG,OAAOA,KAAKY,IAAEZ,KAAKG,IAAEH,KAErB,OAAOA,KAAKG,IAAEH,OAAO,IAAA,GAAYY,IAAEZ,KAAKY,IAAEZ,MAAMG,IAAEH,KAGpD,KAAK,EAGP,OAAO,OAGT,MAAO,GAGT,IAAI,IAAM,IAEV,SAAS,IAAI,IAAG,IAAG,CACjB,IAAI,KAAO,OAAOY,IACd,KAAO,OAAOT,IAElB,GAAI,YAAY,KAAMS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAS9C,OARI,OAAS,WACX,IAAI,SAASS,IAAG,GAAG,EAGjB,OAAS,WACX,IAAI,SAAST,IAAG,GAAG,EAGdS,IAAIT,IAGb,GAAI,sBAAsBS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAGlD,MAFA,KAAIS,IAAE,MAAM,EAAE,CACd,IAAE,IAAMT,IACDS,IAGT,GAAI,YAAY,KAAMA,IAAE,EAAI,sBAAsBT,IAAE,CAGlD,MAFA,KAAIA,IAAE,MAAM,EAAE,CACd,IAAE,GAAKS,IAAIT,IAAE,GACNA,IAGT,GAAI,sBAAsBS,IAAE,EAAI,sBAAsBT,IAAE,CAAE,CAMxD,IALA,IAAIH,IAAI,EACJ,KAAOY,IAAE,OACT,KAAOT,IAAE,OACT,OAAS,EAAE,CAERH,IAAI,MAAQA,IAAI,OAChB,OAAOY,IAAEZ,MAAO,UAAYY,IAAEZ,eAAc,UAAY,OAAOG,IAAEH,MAAO,UAAYG,IAAEH,eAAc,QACvG,OAAOA,KAAKY,IAAEZ,KAAKG,IAAEH,KAErB,OAAOA,KAAKG,IAAEH,OAAO,IAAA,GAAYY,IAAEZ,KAAKY,IAAEZ,MAAMG,IAAEH,KAGpD,KAAK,EAGP,OAAO,OAGT,MAAO,GAGT,SAAS,IAAI,IAAG,IAAG,CACjB,IAAI,KAAO,OAAOY,IACd,KAAO,OAAOT,IACd,IAEJ,GAAI,YAAY,KAAMS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAC9C,OAAOS,IAAIT,IAGb,IAAIH,IACA,IAEJ,GAAI,sBAAsBY,IAAE,EAAI,YAAY,KAAMT,IAAE,CAAE,CAIpD,IAHA,IAAMS,IAAE,OACR,IAAM,iBAAiB,UAAW,IAAI,CAEjC,IAAI,EAAGZ,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAKY,IAAEZ,KAAKG,IAGlB,OAAO,IAGT,GAAI,YAAY,KAAMS,IAAE,EAAI,sBAAsBT,IAAE,CAAE,CAIpD,IAHA,IAAMA,IAAE,OACR,IAAM,iBAAiB,UAAW,IAAI,CAEjC,IAAI,EAAGH,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAKY,IAAIT,IAAEH,KAGjB,OAAO,IAGT,MAAO,GAGT,SAAS,IAAI,IAAG,IAAG,CACjB,IAAI,KAAO,OAAOY,IACd,KAAO,OAAOT,IACd,IAEJ,GAAI,YAAY,KAAMS,IAAE,EAAI,YAAY,KAAMT,IAAE,CAC9C,OAAOS,IAAIT,IAGb,IAAIH,IACA,IAEJ,GAAI,sBAAsBY,IAAE,EAAI,YAAY,KAAMT,IAAE,CAAE,CAIpD,IAHA,IAAMS,IAAE,OACR,IAAM,iBAAiB,UAAW,IAAI,CAEjC,IAAI,EAAGZ,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAKY,IAAEZ,KAAKG,IAGlB,OAAO,IAGT,GAAI,YAAY,KAAMS,IAAE,EAAI,sBAAsBT,IAAE,CAAE,CAIpD,IAHA,IAAMA,IAAE,OACR,IAAM,iBAAiB,UAAW,IAAI,CAEjC,IAAI,EAAGH,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAKY,IAAIT,IAAEH,KAGjB,OAAO,IAGT,MAAO,GAGT,SAAS,IAAI,IAAG,IAAG,CASjB,OARI,OAAOY,KAAM,WACf,IAAI,SAASA,IAAG,GAAG,EAGjB,OAAOT,KAAM,WACf,IAAI,SAASA,IAAG,GAAG,EAGdS,IAAIT,IAGb,IAAI,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IACV,QAAU,IAEd,SAAS0C,QAAM,IAAK,IAAK,IAAK,CAC5B,GAAI,IAAM,IAAK,CACb,IAAI,GAAK,IACT,IAAM,IACN,IAAM,GAGR,OAAOF,OAAK,IAAIA,OAAK,IAAI,IAAK,IAAI,CAAE,IAAI,CAG1C,SAAS,iBAAiB,IAAK,CAC7B,OAAO,IAAM,UAGf,IAAI,mBAAqB,iBAEzB,SAAS,iBAAiB,IAAK,CAC7B,OAAO,IAAM,UAGf,IAAI,mBAAqB,iBACrB,kBAAoB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,CAE1C,SAAS,OAAO,KAAM,KAAM,CAC1B,GAAI,OAAO,MAAS,UAAY,gBAAgB,OAE9C,MADA,QAAe,EACRA,OAAK,IAAI,KAAO,KAAK,CAG9B,AACE,OAAO,kBAGT,IAAI3C,IACA,IAAM2C,OAAK,IAAI,KAAK,OAAQ,KAAK,OAAO,CACxC,YAAc,EAElB,IAAK,IAAI,EAAG3C,IAAI,IAAK,KAAK,EACxB,aAAe2C,OAAK,IAAI,KAAK3C,KAAK,KAAKA,KAAI,EAAE,CAG/C,OAAO2C,OAAK,KAAK,YAAY,CAG/B,SAAS,UAAU,IAAK,CACtB,OAAO,IAAI,IAAK,OAAO,IAAI,CAAC,CAG9B,SAASG,WAAS,IAAK,CACrB,IAAI7C,IAAI,IAAI,GACRC,IAAI,IAAI,GACRC,IAAI,IAAI,GACR,IAAMwC,OAAK,IAAI1C,IAAGC,IAAGC,IAAE,CACvB,IAAMwC,OAAK,IAAI1C,IAAGC,IAAGC,IAAE,CACvBK,IACAE,IACAO,KAAK,IAAM,KAAO,EAEtB,GAAI,MAAQ,IACV,IAAI,EAEJ,IAAI,MACC,CACL,IAAIN,IAAI,IAAM,IAGd,OAFA,IAAIM,IAAI,GAAMN,KAAK,EAAI,IAAM,KAAOA,KAAK,IAAM,KAEvC,IAAR,CACE,KAAKV,IACH,KAAKC,IAAIC,KAAKQ,KAAKT,IAAIC,IAAI,EAAI,GAC/B,MAEF,KAAKD,IACH,KAAKC,IAAIF,KAAKU,IAAI,EAClB,MAEF,KAAKR,IACH,KAAKF,IAAIC,KAAKS,IAAI,EAClB,MAEF,QACE,MAGJ,KAAK,EAGP,MAAO,CAACH,IAAGE,IAAGO,IAAG,IAAI,GAAG,CAG1B,SAAS8B,UAAQ,IAAG,IAAG,IAAG,CAMxB,OALIxC,IAAI,IAAG,KAAK,GACZA,IAAI,GAAG,MACPA,IAAI,EAAI,EAAUF,KAAKC,IAAID,KAAK,EAAIE,IACpCA,IAAI,EAAI,EAAUD,IAClBC,IAAI,EAAI,EAAUF,KAAKC,IAAID,MAAM,EAAI,EAAIE,KAAK,EAC3CF,IAGT,SAAS2C,WAAS,IAAK,CACrB,IAAIxC,IAAI,IAAI,GACRE,IAAI,IAAI,GACRO,IAAI,IAAI,GACRhB,IACAC,IACAC,IAEJ,GAAIO,MAAM,EACR,IAAIO,IAEJ,IAAIA,IAEJ,IAAIA,QACC,CACL,IAAIX,IAAIW,IAAI,GAAMA,KAAK,EAAIP,KAAKO,IAAIP,IAAIO,IAAIP,IACxCL,IAAI,EAAIY,IAAIX,IAChB,IAAIyC,UAAQ1C,IAAGC,IAAGE,IAAI,EAAI,EAAE,CAC5B,IAAIuC,UAAQ1C,IAAGC,IAAGE,IAAE,CACpB,IAAIuC,UAAQ1C,IAAGC,IAAGE,IAAI,EAAI,EAAE,CAG9B,MAAO,CAACP,IAAGC,IAAGC,IAAG,IAAI,GAAG,CAG1B,SAAS,OAAO,IAAG,KAAM,KAAM,OAAQ,OAAQ,CAQ7C,IAPI,SAAW,IAAA,IAAa,SAAW,IAAA,MACrC,OAAS,KACT,OAAS,KACT,KAAO,EACP,KAAO,GAGL,KAAO,KAAM,CACf,IAAI,MAAQ,KACZ,KAAO,KACP,KAAO,MAGT,GAAII,KAAK,KACP,OAAO,OAGT,GAAIA,KAAK,KACP,OAAO,OAGT,IAAI,KAAO,OAAS,KAAO,GAAKA,IAAI,OAAS,KAAO,MAEpD,GAAI,CAAC,OAAO,OACV,OAAO,QAAU,OAAS,QAAU,KAGtC,IAAIP,IACA,IAAM,OAAO,OACb,IAAM,iBAAiB,UAAW,IAAI,CAE1C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAK,OAAOA,MAAM,OAAOA,KAAK,OAAOA,MAAM,KAGjD,OAAO,IAGT,SAAS,OAAO,IAAK,IAAK,CAWxB,GAVI,MAAQ,IAAA,KACN,MAAQ,IAAA,IACV,IAAM,EACN,IAAM,IAEN,IAAM,IACN,IAAM,IAAA,KAIN,IAAI,OAAQ,CACd,IAAIA,IACA,IAAM,IAAI,OAEd,AACE,MAAM,iBAAiB,UAAW,IAAI,CAGxC,IAAI,IAAM,iBAAiB,UAAW,IAAI,CACtC,IAAM,OAAO,QAAQ,CAEzB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAK,IAAIA,KAAK,KAAO,IAAIA,KAAK,IAAIA,MAGxC,OAAO,IAGL,MAAQ,IAAA,KACV,IAAM,GAGR,IAAI,KAAO,OAAO,QAAQ,CAC1B,OAAO,IAAM,MAAQ,IAAM,KAG7B,SAAS,WAAW,OAAQ,WAAY,YAAa,OAAQ,CAC3D,IAAIA,IACA,IAAM,OAAO,OACb,KAAO,UAAU,YAAY,CACjC,KAAK,YAAY,CAAC,CAAC,OAAQ,IAAI,CAC/B,IAAI,eAAiB,CAAC,EAAG,EAAE,CACvB,cACA,eAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,cAAgB,YAAc,WAAWA,KAAK,WAAWA,KAAK,eAC9D,eAAiB,aAAe,YAAYA,KAAK,YAAYA,KAAK,eAClE,KAAK,YAAY,OAAOA,KAAG,GAAI,OAAOA,KAAG,GAAI,eAAe,GAAK,OAAOA,KAAG,GAAI,eAAe,GAAK,OAAOA,KAAG,GAAI,cAAc,GAAK,OAAOA,KAAG,GAAI,cAAc,GAAK,OAAOA,KAAG,GAAIA,IAAG,GAAK,CAG7L,OAAO,KAGT,SAAS,mBAAmB,KAAM,KAAM,SAAU,CAChD,IAAI,IAAM,KAAK,EACX,cAAgB,qBAAqB,KAAK,IAAI,CAE9C,aAAe,IAAI,QAAQ,SAAS,GAAK,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,GAEvB,CAAC,CACF,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,SACA0B,OACA,YACA,eACA,aACA,oBAAsB,KAAK,oCAAsC,IAAM,yBAAyB,CAAC,GAEjG,QAAU,SAAS,GAAK,KAAK,EAAE,OAAS,EACxC,OAAS,EAAE,MAAQ,SAAS,OAAS,MAAQ,SAAS,KAAK,KAAO,GAElE,OAAS,SAAgB,KAAM,IAAK,CACtC,IAAI,QACAX,IACA,WAAa,MAAQ,SAAS,GAAG,QAAU,MAAQ,SAAS,GAAG,OAAS,EACxE,UAAY,iBAAiB,UAAW,UAAU,CACtD,KAAO,EACP,IAAI,WAAa4B,OAAK,MAAM,KAAO,KAAK,CAIxC,IAHA,QAAU,EACV,IAAI,EAEG,QAAU,YAAY,CAE3B,IAAK,IAAI,EAAG5B,IAAI,UAAW,KAAK,EAC9B,UAAUA,MAAM,CAAC,IAAM,IAAM,EAAI,OAAO,QAAQ,CAGlD,SAAW,EAIb,IAAI,QAAU,KAAO,KACjB,KAAO,QAAU4B,OAAK,MAAM,QAAQ,CACpC,IAAM,iBAAiB,UAAW,UAAU,CAEhD,GAAI,UAAY,EAAG,CACjB,IAAK,IAAI,EAAG5B,IAAI,UAAW,KAAK,EAC9B,IAAIA,MAAM,MAAQ,SAAS,GAAGA,KAAK,UAAUA,MAAM,CAAC,IAAM,IAAM,EAAI,OAAO,QAAQ,EAAI,KAIzF,OAAO,IAGT,OAAQ,MAAQ,SAAS,GAAK,UAAU,IAAM,CAAC,IAAM,IAAM,EAAI,OAAO,QAAQ,EAAI,MAClF,KAAK,MAAQ,QAAQ,CAEnB,aAAa,SACf,OAAS,aAAa,OAAO,KAAK,aAAa,EAI7C,aAAa,UACf,QAAU,aAAa,QAAQ,KAAK,aAAa,EAI/C,aAAa,QACN,aAAa,OAAO,KAAK,aAAa,CAGjD,SAAS,eAAe,KAAM,SAAU,CACtC,OAAO,OAAO,KAAM,SAAU,GAAK,CAGrC,SAAS,gBAAgB,KAAM,SAAU,CACvC,OAAO,QAAQ,KAAM,SAAU,GAAK,EAGjC,MAAQ,SAAS,iBACpB,aAAe,MAAQ,SAAS,eAAe,KAAK,MAAQ,QAAQ,GAGjE,MAAQ,SAAS,oBACpB,gBAAkB,MAAQ,SAAS,kBAAkB,KAAK,MAAQ,QAAQ,EAG5E,IAAI,KAAO,KAAK,KAAK,WAAW,iBAAiB,KAAK,KAAK,KAAK,WAAW,iBAAiB,CAE5F,SAAS,OAAO,MAAO,MAAO,CAC5B,IAAI,KAAO,CAAC,MAAM,GAAK,MAAM,GAAI,MAAM,GAAK,MAAM,GAAI,MAAM,GAAK,MAAM,GAAG,CACtE,MAAQ4B,OAAK,MAAM,KAAK,GAAIA,OAAK,KAAK,KAAK,GAAK,KAAK,GAAK,KAAK,GAAK,KAAK,GAAG,CAAC,CAAG,UAEpF,MAAO,CADG,CAACA,OAAK,MAAM,KAAK,GAAI,KAAK,GAAG,CAAG,UAC7B,MAAO,EAAE,CAGxB,SAAS,QAAQ,IAAG,KAAM,KAAM,KAAM,KAAM,CAC1C,OAAO,UAAU,WAAYpC,IAAG,KAAM,KAAM,KAAM,KAAK,CAGzD,SAAS,OAAO,IAAG,KAAM,KAAM,KAAM,KAAM,CACzC,OAAO,UAAU,UAAWA,IAAG,KAAM,KAAM,KAAM,KAAK,CAGxD,SAAS,KAAK,IAAG,KAAM,KAAM,KAAM,KAAM,CACvC,OAAO,UAAU,aAAcA,IAAG,KAAM,KAAM,KAAM,KAAK,CAG3D,SAAS,UAAU,GAAI,IAAG,KAAM,KAAM,KAAM,KAAM,CAC5C,OAAS,IAAA,IACX,KAAO,KACP,KAAO,MAEP,KAAKA,IAAI,OAAS,KAAO,MAGvBA,IAAI,EACN,IAAI,EACKA,IAAI,IACb,IAAI,GAGN,IAAI,KAAO,GAAGA,IAAE,CAEhB,GAAI,sBAAsB,KAAK,CAAE,CAC/B,IAAI,KACA,OAAS,KAAK,OACd,IAAM,iBAAiB,UAAW,OAAO,CAE7C,IAAK,KAAO,EAAG,KAAO,OAAQ,MAAQ,EACpC,IAAI,OAAS,KAAK,MAAQ,KAAK,OAAS,KAAO,KAAK,MAGtD,OAAO,IAGT,OAAQ,KAAO,MAAQ,KAAO,KAGhC,SAAS,WAAW,OAAM,CACxB,IAAI,KACA,OAAS,KAAK,EAAE,OAChB2C,QACA,QAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,IAAO,SACzC,QAAQ,EACR,QAAU,UAEV,QAAQ,GACR,QAAQ,KAAK,KAAK,WAAW,UAEzBC,OAAO,KAAK,EAAE,GAAG,EACnB,QAAQ,EACR,QAAU,KAAK,EAAE,GAAG,MACf,CACL,IAAK,KAAO,EAAG,KAAO,OAAS,EAAG,MAAQ,EACxC,GAAIA,SAAS,KAAK,EAAE,MAAM,EAAG,CAC3B,QAAQ,KAAO,EACf,QAAU,KAAK,EAAE,MAAM,EACvB,cACSA,OAAO,KAAK,EAAE,MAAM,GAAKA,OAAO,KAAK,EAAE,KAAO,GAAG,EAAG,CACzDA,OAAO,KAAK,EAAE,MAAM,EAAI,KAAK,EAAE,KAAO,GAAG,EAAIA,QAC/C,QAAQ,KAAO,EACf,QAAU,KAAK,EAAE,KAAO,GAAG,IAE3B,QAAQ,KAAO,EACf,QAAU,KAAK,EAAE,MAAM,GAGzB,MAIAD,UAAU,KACZ,QAAQ,KAAO,EACf,QAAU,KAAK,EAAE,MAAM,GAK7B,IAAI,MAAQ,EAAE,CAGd,MAFA,OAAM,MAAQA,QACd,MAAM,KAAO,QAAU,KAAK,KAAK,WAAW,UACrC,MAGT,SAAS,IAAI,IAAK,CAChB,IAAI,MACA,KACA,OAEJ,GAAI,CAAC,KAAK,EAAE,QAAU,OAAO,KAAK,EAAE,IAAO,SACzC,MAAU,MAAM,yCAA2C,IAAI,CAGjE,MACA,MAAQ,CACN,KAAM,KAAK,EAAE,KAAK,EAAI,KAAK,KAAK,WAAW,UAC3C,MAAO,EAAE,CACV,CACD,IAAI,IAAM,OAAO,UAAU,eAAe,KAAK,KAAK,EAAE,KAAM,IAAI,CAAG,KAAK,EAAE,KAAK,EAAI,KAAK,EAAE,IAAM,GAAG,EAGnG,IAFA,OAAS,IAAI,OAER,KAAO,EAAG,KAAO,OAAQ,MAAQ,EACpC,MAAM,MAAQ,IAAI,MAClB,MAAM,MAAM,MAAQ,IAAI,MAG1B,OAAO,MAGT,SAAS,aAAa,OAAQ,IAAK,CAKjC,MAJA,CACE,MAAM,KAAK,KAAK,WAAW,UAGtB,OAAS,IAGlB,SAAS,aAAa,IAAG,IAAK,CAS5B,MARI,CAAC3C,KAAKA,MAAM,IACd,IAAI,MAGN,AACE,MAAM,KAAK,KAAK,WAAW,UAGtBA,IAAI,IAGb,SAAS,WAAW,KAAM,CACxB,OAAO,WAAW,SAAW,KAAK,CAGpC,SAAS,kBAAmB,CAC1B,OAAO,KAAK,kBAAkB,CAGhC,SAAS,UAAU,KAAM,IAAK,CAS5B,OARI,OAAO,OAAU,SACf,MAAQ,IAAA,GACH,MAAM,UAAU,KAAK,CAGvB,MAAM,UAAU,KAAM,IAAI,CAG5B,GAGT,SAAS,OAAO,KAAM,IAAK,CASzB,OARI,OAAO,OAAU,SACf,MAAQ,IAAA,GACH,MAAM,OAAO,KAAK,CAGpB,MAAM,OAAO,KAAM,IAAI,CAGzB,GAGT,SAAS,cAAc,gBAAiB,CACtC,KAAO,kBAAoB,EAAI,EAAIoC,OAAK,MAAM,KAAO,gBAAgB,CAAG,gBACxE,MAAQ,YAAY,KAAK,CAG3B,IAAI,KACA,SACA,MACA,KACA,UACA,UACA,cACA,MAAQ,KAAK,KAAK,IAClB,UAAY,CAAC,EAAE,KAAK,WAAa,KAAK,UAAU,QAChD,OACA,SAAWA,OAAK,MAAMA,OAAK,QAAQ,CAAG,IAAQ,CAC9C,WAAa,KAAK,WAEtB,SAAS,kBAAkB,OAAQ,CAsEjC,MApEA,OAAQ,OAEJ,cACF,WAAW,SAAS,EAGjB,MAAQ,SAAS,oBAAsB,KAAK,WAAW,UAAY,MAAQ,SAAS,WAAa,eAC7F,QAGJ,MAAQ,SAAS,WAAa,kBACpB,MAAQ,SAAS,WACjB,MAAQ,SAAS,WACb,MAAQ,SAAS,eAG/B,YACI,KAAK,eAAe,KAC3B,UAAY,KAAK,eACN,KAAK,KAAK,cACX,UAAU,QAAQ,KAAK,UAAU,CAC/B,UAAU,UAAU,KAAK,UAAU,CACpC,UAAU,SAAS,KAAK,UAAU,CACpC,UAAU,OAAO,KAAK,UAAU,CAClC,UAAU,MAAO,UAAU,KAAK,KAAK,UAAU,EAInD,YACH,UAAY,KAAK,eAAe,uBAAuB,CAGnD,WACY,UAAU,aAOxB,WAAa,GAAK,CAAC,UACrB,QAAU,UAAU,0BAA0B,EAGhD,AACE,SAAS,UAAU,EAAE,CAGvB,UAAY,CAAC,EAAE,KAAK,WAAa,KAAK,UAAU,QAE5C,WAAa,CAAC,SAChB,OAAS,KAAK,UAAU,GAAG,gBAG7B,MAAQ,MAAQ,SAAS,KAAK,eAAiB,MAAQ,SAAS,KAAK,WAAW,UAE5E,eACS,eAAe,KAAK,CAGjC,qBAAqB,CACrB,CAAC,MAAQ,SAAS,kBAAoB,KAAK,WAAW,QAElD,aAAa,WAAa,UAC5B,aAAe,aAAa,GAIvB,cAGT,OAAO,kBAIT,MADA,IAAG,mBAAqB,mBACjB,KACN,CAMC,kBAAoB,UAAY,CAClC,SAAS,kBAAkB,KAAM,KAAM,KAAM,CACvC,KAAK,IACP,KAAK,EAAI,GACT,KAAK,EAAI,GACT,KAAK,mBAAqB,kBAAkB,mBAC5C,KAAK,gBAAgB,KAAK,KAAK,mBAAmB,KAAM,KAAM,KAAK,CAAC,KAAK,KAAK,CAAC,EAInF,SAAS,eAAe,SAAU,CAUhC,MATA,YAAa,MAAQ,SAAS,KAAK,WAAW,UAC9C,WAAa,MAAQ,SAAS,WAE1B,YAAc,MAAQ,SAAS,eAAe,YAChD,CAAC,MAAQ,SAAS,eAAe,WAAa,MAAQ,SAAS,eAAe,UAAY,UAAY,MAAQ,SAAS,eAAe,UAAY,EAClJ,CAAC,MAAQ,SAAS,eAAe,MAAQ,KAAK,iBAAiB,UAAW,MAAQ,SAAS,eAAe,CAC1G,CAAC,MAAQ,SAAS,eAAe,UAAY,WAGvC,MAAQ,SAAS,eAAe,MAG1C,SAAS,eAAe,SAAU,CAChC,IAAI,MAAQ,KACR,GAAK,KAAK,eAAe,SAAS,CAClC,GAAK,KAAK,eAAe,SAAW,MAAM,CAC1C,MAAQ,EAEZ,GAAI,GAAG,OAAQ,CACb,IAAI3C,IAEJ,IAAK,IAAI,EAAGA,IAAI,GAAG,OAAQ,KAAK,EAC9B,QAAkB,GAAGA,KAAK,GAAGA,OAAI,EAGnC,MAAQ,KAAK,KAAK,MAAM,CAAG,SAE3B,MAAQ,EAGV,OAAO,MAGT,SAAS,kBAAkB,SAAU,CACnC,IAAK,MAAQ,SAAS,MAAQ,IAAA,GAC5B,OAAQ,MAAQ,SAAS,IAG3B,IAAI,MAAQ,MAER,GAAK,KAAK,eAAe,SAAS,CAClC,GAAK,KAAK,eAAe,SAAW,MAAM,CAC1C,SAEJ,GAAI,GAAG,OAAQ,CACb,SAAW,iBAAiB,UAAW,GAAG,OAAO,CACjD,IAAIA,IAEJ,IAAK,IAAI,EAAGA,IAAI,GAAG,OAAQ,KAAK,EAI9B,SAASA,MAAM,GAAGA,KAAK,GAAGA,MAAM,WAGlC,UAAY,GAAK,IAAM,MAGzB,OAAO,SAGT,SAAS,sBAAuB,CAC9B,OAAQ,MAAQ,SAAS,GAG3B,SAAS,iBAAiB,cAAe,CACvC,CAAC,MAAQ,SAAS,cAAgB,cAGpC,MAAO,CACc,kBACH,eACG,kBACH,eACM,qBACJ,iBACnB,GACA,EAKF,UAAgC,CAC/B,SAAS,QAAQ,KAAM,SAAU,aAAc,CAC7C,GAAI,EAAE,MAAQ,SAAS,GAAK,EAAE,MAAQ,SAAS,UAC7C,OAAQ,MAAQ,SAAS,GAG3B,KAAO,KAAO,KAAK,aAAa,CAAG,GACnC,IAAI,cAAgB,MAAQ,SAAS,KAAK,cACtC,WAAa,MAAQ,SAAS,UAC9B,aAAe,UAAU,UAAU,OAAS,GAAG,EAEnD,GAAI,cAAgB,aAClB,OAAQ,MAAQ,SAAS,GAG3B,IAAI,cACA,cAEC,cAQH,AACE,cADG,SAGa,KAAK,IAAI,cAAgB,MAAQ,SAAS,KAAK,KAAK,WAAW,UAAY,SAAS,CAFpF,KAAK,IAAI,EAAG,cAAgB,MAAQ,SAAS,KAAK,KAAK,GAAG,CAK5E,cAAgB,aAAe,iBAb3B,CAAC,UAAY,SAAW,UAAU,OAAS,KAC7C,SAAW,UAAU,OAAS,GAGhC,cAAgB,UAAU,UAAU,OAAS,EAAI,UAAU,EAC3D,cAAgB,aAAe,eAWjC,IAAIA,IACA,IACA,IAEJ,GAAI,OAAS,eACM,KAAK,OAAO,aAAe,eAAiB,cAAc,CAE1D,GAAM,EACrB,OAAO,KAAK,gBAAgB,eAAiB,aAAe,eAAiB,cAAgB,gBAAkB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,SAEtJ,OAAS,SAAU,CAC5B,IAAI,MAAQ,KAAK,eAAe,eAAiB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAC3F,KAAO,KAAK,eAAe,cAAgB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CACzF,QAAU,KAAK,iBAAiB,aAAe,eAAiB,cAAgB,gBAAkB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAEhJ,QAAU,KAAK,OAAO,aAAe,eAAiB,cAAc,CAExE,IAAK,MAAQ,SAAS,GAAG,OAAQ,CAI/B,IAHA,IAAU,MAAM,MAAM,OAAO,CAC7B,IAAM,IAAI,OAEL,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,MAAM,KAAKA,KAAK,MAAMA,MAAM,QAAU,QAAQA,KAGpD,OAAO,IAGT,OAAQ,KAAO,OAAS,QAAU,gBACzB,OAAS,WAAY,CAC9B,IAAI,UAAY,KAAK,eAAe,cAAgB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAC9F,cAAgB,KAAK,gBAAgB,aAAe,OAAU,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAEhH,IAAK,MAAQ,SAAS,GAAG,OAAQ,CAI/B,IAHA,IAAU,MAAM,UAAU,OAAO,CACjC,IAAM,IAAI,OAEL,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAK,UAAUA,MAAM,UAAUA,KAAK,cAAcA,QAAQ,aAAe,eAAiB,MAAQ,SAAS,KAAK,WAAW,WAAa,KAG9I,OAAO,IAGT,OAAO,WAAa,UAAY,iBAAmB,aAAe,cAAgB,MAGpF,OAAO,KAAK,iBAAiB,aAAe,eAAiB,cAAgB,gBAAkB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAG/I,SAAS,OAAO,KAAM,SAAU,aAAc,CAC5C,GAAI,EAAE,MAAQ,SAAS,EACrB,OAAQ,MAAQ,SAAS,GAG3B,KAAO,KAAO,KAAK,aAAa,CAAG,GACnC,IAAI,cAAgB,MAAQ,SAAS,KAAK,cACtC,WAAa,MAAQ,SAAS,UAC9B,cAAgB,UAAU,GAAG,EAEjC,GAAI,cAAgB,cAClB,OAAQ,MAAQ,SAAS,GAG3B,IAAI,cACA,aAEC,cAQH,AACE,cADG,SAGa,KAAK,KAAK,MAAQ,SAAS,KAAK,KAAK,WAAW,UAAY,SAAS,CAFrE,KAAK,IAAI,GAAI,MAAQ,SAAS,KAAK,KAAK,GAAK,cAAc,CAK7E,aAAe,cAAgB,iBAb3B,CAAC,UAAY,SAAW,UAAU,OAAS,KAC7C,SAAW,UAAU,OAAS,GAGhC,aAAe,UAAU,UAAU,EACnC,cAAgB,aAAe,eAWjC,IAAIA,IACA,IACA,IAEJ,GAAI,OAAS,eACM,KAAK,OAAO,cAAgB,cAAgB,cAAc,CAE1D,GAAM,EACrB,OAAO,KAAK,iBAAiB,cAAgB,cAAgB,cAAgB,gBAAkB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,SAEtI,OAAS,SAAU,CAC5B,IAAI,MAAQ,KAAK,eAAe,eAAiB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAC3F,KAAO,KAAK,eAAe,cAAgB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CACzF,QAAU,KAAK,gBAAgB,eAAiB,cAAgB,cAAgB,cAAgB,gBAAkB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAChK,QAAU,KAAK,OAAO,cAAgB,cAAgB,cAAc,CAAG,EAE3E,IAAK,MAAQ,SAAS,GAAG,OAAQ,CAI/B,IAHA,IAAU,MAAM,MAAM,OAAO,CAC7B,IAAM,IAAI,OAEL,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAK,QAAQA,MAAM,KAAKA,KAAK,MAAMA,MAAM,QAG/C,OAAO,IAGT,OAAO,SAAW,KAAO,OAAS,gBACzB,OAAS,WAAY,CAC9B,IAAI,WAAa,KAAK,eAAe,eAAiB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAChG,eAAiB,KAAK,gBAAgB,cAAgB,OAAU,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAElH,IAAK,MAAQ,SAAS,GAAG,OAAQ,CAI/B,IAHA,IAAU,MAAM,WAAW,OAAO,CAClC,IAAM,IAAI,OAEL,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,IAAIA,KAAK,WAAWA,MAAM,WAAWA,KAAK,eAAeA,OAAO,cAAgB,cAAgB,KAGlG,OAAO,IAGT,OAAO,YAAc,WAAa,iBAAmB,cAAgB,cAAgB,KAGvF,OAAO,KAAK,gBAAgB,gBAAkB,cAAgB,cAAgB,cAAgB,iBAAmB,MAAQ,SAAS,KAAK,WAAW,UAAW,EAAE,CAGjK,SAAS,OAAO,MAAO,QAAS,CAQ9B,GAPI,EAAE,MAAQ,SAAS,IAIvB,OAAS,OAAS,IAAO,GACzB,QAAU,KAAK,MAAM,SAAW,EAAE,CAE9B,SAAW,GACb,OAAQ,MAAQ,SAAS,GAmB3B,IAhBA,IAAI,aAAe,MAAQ,SAAS,KAAK,eAAiB,MAAQ,SAAS,KAAK,WAAW,UACvF,UAAY,YAAc,MAC1B,SAAW,YAAc,MACzB,gBAAkB,QAAU,GAAK,SAAW,YAAc,QAAU,GAAK,EACzEA,IAAI,EACJe,IAAI,EACJ,OAEC,MAAQ,SAAS,GAAG,OACf,iBAAiB,WAAY,MAAQ,SAAS,GAAG,OAAO,CAExD,EAGN,YAEGf,IAAI,SAAS,CAGlB,GAFA,YAAc,KAAK,eAAe,UAAYA,IAAI,gBAAgB,EAE7D,MAAQ,SAAS,GAAG,OACvB,IAAK,IAAI,EAAGe,KAAK,MAAQ,SAAS,GAAG,OAAQ,KAAK,EAChD,MAAMA,MAAM,YAAYA,UAG1B,OAAS,YAGX,KAAK,EAGP,IAAK,MAAQ,SAAS,GAAG,OACvB,IAAK,IAAI,EAAGA,KAAK,MAAQ,SAAS,GAAG,OAAQ,KAAK,EAChD,MAAMA,MAAM,aAGd,OAAS,QAGX,OAAO,MAGT,SAAS,wBAAwB,KAAM,EAC/B,MAAQ,SAAS,0BACrB,CAAC,MAAQ,SAAS,wBAA0B,CAC1C,EAAG,IAAI,OACR,EAIH,IAAI,QAAU,MAAQ,SAAS,wBAAwB,EAGvD,GAFA,OAAO,gBAAgB,MAAQ,SAAS,IAAI,MAAM,EAE7C,MAAQ,SAAS,uBAAyB,EAAG,CAChD,IAAI,QAAU,MAAQ,SAAS,EAAE,eAAe,KAAK,CAErD,OAAO,UAAU,CAAC,OAAO,IAAM,MAAQ,SAAS,EAAE,KAAM,CAAC,OAAO,IAAM,MAAQ,SAAS,EAAE,KAAM,OAAO,IAAM,MAAQ,SAAS,EAAE,KAAK,CAGtI,IAAK,MAAQ,SAAS,uBAAyB,EAAG,CAChD,IAAI,OAAS,MAAQ,SAAS,EAAE,eAAe,KAAK,CAEpD,OAAO,MAAM,MAAM,IAAM,MAAQ,SAAS,EAAE,KAAM,MAAM,IAAM,MAAQ,SAAS,EAAE,KAAM,MAAM,IAAM,MAAQ,SAAS,EAAE,KAAK,CAG7H,IAAK,MAAQ,SAAS,KAAO,MAAQ,SAAS,uBAAyB,EAAG,CACxE,IAAI,MAAQ,MAAQ,SAAS,GAAG,eAAe,KAAK,CAEhD,UAAY,MAAQ,SAAS,GAAG,eAAe,KAAK,CAExD,OAAO,aAAa,CAAC,MAAQ,MAAQ,SAAS,GAAG,KAAM,UAAY,MAAQ,SAAS,GAAG,KAAK,CAG9F,IAAK,MAAQ,SAAS,IAAM,MAAQ,SAAS,uBAAyB,EAAG,CACvE,IAAI,UAAY,MAAQ,SAAS,EAAE,eAAe,KAAK,CAEvD,OAAO,OAAO,CAAC,UAAY,MAAQ,SAAS,EAAE,KAAK,SAC1C,EAAE,MAAQ,SAAS,IAAM,MAAQ,SAAS,uBAAyB,EAAG,CAC/E,IAAI,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAErD,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAErD,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAErD,aAAe,MAAQ,SAAS,GAAG,eAAe,KAAK,CAE3D,OAAO,QAAQ,CAAC,WAAa,MAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,WAAa,MAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,WAAa,MAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAM,MAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,YAAY,IAAM,MAAQ,SAAS,GAAG,KAAK,CAAC,QAAQ,YAAY,IAAM,MAAQ,SAAS,GAAG,KAAK,CAGnT,IAAK,MAAQ,SAAS,KAAK,IAAM,MAAQ,SAAS,KAAK,EAAE,EAAG,CAC1D,IAAI,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAErD,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAEzD,IAAK,MAAQ,SAAS,KAAK,EAAE,EAAG,CAC9B,IAAI,WAAa,MAAQ,SAAS,GAAG,eAAe,KAAK,CAEzD,OAAO,UAAU,WAAa,MAAQ,SAAS,GAAG,KAAM,WAAa,MAAQ,SAAS,GAAG,KAAM,CAAC,WAAa,MAAQ,SAAS,GAAG,KAAK,MAEtI,OAAO,UAAU,WAAa,MAAQ,SAAS,GAAG,KAAM,WAAa,MAAQ,SAAS,GAAG,KAAM,EAAE,KAE9F,CACL,IAAI,UAAY,MAAQ,SAAS,EAAE,eAAe,KAAK,CAEvD,OAAO,UAAU,SAAS,IAAM,MAAQ,SAAS,EAAE,KAAM,SAAS,IAAM,MAAQ,SAAS,EAAE,KAAM,CAAC,SAAS,IAAM,MAAQ,SAAS,EAAE,KAAK,CAG3I,OAAO,OAGT,SAAS,+BAAgC,CACvC,OAAQ,MAAQ,SAAS,EAAE,MAAM,IAAI,OAAS,CAGhD,IAAI,qBAAuB,yBAAyB,qBAEpD,yBAAyB,qBAAuB,SAAU,KAAM,KAAM,UAAW,CAC/E,IAAI,KAAO,qBAAqB,KAAM,KAAM,UAAU,CAStD,OAPI,KAAK,kBAAkB,OACzB,KAAK,eAAiB,wBAAwB,KAAK,KAAK,CAExD,KAAK,eAAiB,8BAA8B,KAAK,KAAK,CAGhE,KAAK,iBAAmB,kBAAkB,iBACnC,MAGT,IAAI,gBAAkB,gBAAgB,QAEtC,gBAAgB,QAAU,SAAU,KAAM,KAAM,KAAM,KAAM,UAAW,CACrE,IAAI,KAAO,gBAAgB,KAAM,KAAM,KAAM,KAAM,UAAU,CAIzD,KAAK,GACP,KAAK,eAAiB,kBAAkB,eAAe,KAAK,KAAK,CAEjE,KAAK,eAAiB,kBAAkB,qBAAqB,KAAK,KAAK,CAGzE,KAAK,iBAAmB,kBAAkB,iBAC1C,KAAK,QAAU,QACf,KAAK,OAAS,OACd,KAAK,OAAS,OACd,KAAK,kBAAoB,kBAAkB,kBAAkB,KAAK,KAAK,CACvE,KAAK,eAAiB,kBAAkB,eAAe,KAAK,KAAK,CACjE,KAAK,QAAU,KAAK,IAAM,EAAI,KAAK,EAAE,OAAS,EAC9C,KAAK,cAAgB,KAAK,GAC1B,IAAI,MAAQ,EAiBZ,OAfI,OAAS,IACX,MAAQ,iBAAiB,UAAW,KAAK,IAAM,EAAI,KAAK,EAAE,GAAG,EAAE,OAAS,KAAK,EAAE,OAAO,EAGxF,KAAK,eAAiB,CACpB,UAAW,oBACX,UAAW,EACJ,MACR,CACD,kBAAkB,kBAAkB,KAAM,KAAM,KAAK,CAEjD,KAAK,GACP,UAAU,mBAAmB,KAAK,CAG7B,MAGT,SAAS,oBAAoB,SAAU,CAmBrC,OAjBM,MAAQ,SAAS,iBACrB,CAAC,MAAQ,SAAS,eAAiB,CACjC,WAAY,UAAU,OAAO,MAAQ,SAAS,GAAG,CACjD,UAAW,EACX,SAAU,oBACX,EAGH,WAAa,MAAQ,SAAS,KAAK,WAAW,UAC9C,WAAa,MAAQ,SAAS,WAE1B,YAAc,MAAQ,SAAS,eAAe,WAChD,CAAC,MAAQ,SAAS,eAAe,WAAa,MAAQ,SAAS,eAAe,SAAW,UAAY,MAAQ,SAAS,SAAS,UAAY,EAC3I,CAAC,MAAQ,SAAS,eAAe,SAAW,SAC5C,KAAK,iBAAiB,UAAW,MAAQ,SAAS,eAAe,YAAa,MAAQ,SAAS,eAAe,GAGxG,MAAQ,SAAS,eAAe,WAG1C,IAAI,iCAAmC,qBAAqB,wBAAwB,CAChF,0CAA4C,qBAAqB,iCAAiC,CAEtG,SAAS,kBAAmB,EAE5B,iBAAiB,UAAY,CAC3B,SAAU,SAAU,KAAM,KAAM,EACzB,MAAQ,SAAS,GACpB,KAAK,UAAU,CAGjB,IAAI,WAAa,MAAQ,SAAS,EAE9B,OAAS,IAAA,KACX,UAAY,KAAK,eAAe,KAAM,EAAE,EAG1C,IAAIf,IACA,IAAM,UAAU,QAChB,SAAW,UAAU,MACrB,OAAS,UAAU,EACnB,IAAM,iBAAiB,IAAI,CAE/B,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,OAAS,KAAO,OAAS,IAC3B,IAAIA,KAAK,CAAC,SAASA,KAAG,GAAK,OAAOA,KAAG,GAAI,SAASA,KAAG,GAAK,OAAOA,KAAG,GAAG,CAEvE,IAAIA,KAAK,CAAC,SAASA,KAAG,GAAI,SAASA,KAAG,GAAG,CAI7C,OAAO,KAET,OAAQ,SAAU,KAAM,CACtB,OAAO,KAAK,SAAS,IAAK,KAAK,EAEjC,WAAY,SAAU,KAAM,CAC1B,OAAO,KAAK,SAAS,IAAK,KAAK,EAEjC,YAAa,SAAU,KAAM,CAC3B,OAAO,KAAK,SAAS,IAAK,KAAK,EAEjC,SAAU,UAAY,CACpB,OAAQ,MAAQ,SAAS,EAAE,GAE7B,YAAa,SAAU,KAAM,KAAM,CACjC,IAAI,WAAa,MAAQ,SAAS,EAE9B,OAAS,IAAA,KACX,UAAY,KAAK,eAAe,KAAM,EAAE,GAGpC,MAAQ,SAAS,kBACrB,CAAC,MAAQ,SAAS,gBAAkB,IAAI,kBAAkB,UAAU,EAWtE,IARA,IAAI,gBAAkB,MAAQ,SAAS,gBACnC,QAAU,eAAe,QACzB,UAAY,eAAe,YAAc,KACzCA,IAAI,EACJ,IAAM,QAAQ,OACd,kBAAoB,EACpBwB,KAEGxB,IAAI,KAAK,CACd,GAAI,kBAAoB,QAAQA,KAAG,YAAc,UAAW,CAC1D,IAAI,UAAYA,IACZ,SAAW,UAAU,GAAKA,MAAM,IAAM,EAAI,EAAIA,IAAI,EAClD,aAAe,UAAY,mBAAqB,QAAQA,KAAG,YAC/D,KAAK,IAAI,kBAAkB,UAAU,EAAE,WAAY,UAAU,EAAE,UAAW,UAAU,EAAE,WAAY,UAAU,EAAE,UAAW,YAAa,QAAQA,KAAG,CACjJ,WAEA,mBAAqB,QAAQA,KAAG,YAGlC,KAAK,EAOP,MAJA,CACE,OAAK,UAAU,EAAI,CAAC,UAAU,EAAE,GAAG,GAAI,UAAU,EAAE,GAAG,GAAG,CAAG,CAAC,UAAU,EAAE,UAAU,QAAU,GAAG,GAAI,UAAU,EAAE,UAAU,QAAU,GAAG,GAAG,CAGrIwB,MAET,aAAc,SAAU,KAAM,KAAM,WAAY,CAE1C,MAAQ,EAEV,MAAQ,MAAQ,SAAS,EAAE,EAClB,MAAQ,IAEjB,KAAO,MAGT,IAAI,IAAM,KAAK,YAAY,KAAM,KAAK,CAClC,IAAM,KAAK,YAAY,KAAO,KAAO,KAAK,CAC1C,QAAU,IAAI,GAAK,IAAI,GACvB,QAAU,IAAI,GAAK,IAAI,GACvB,UAAY,KAAK,KAAc,SAAS,EAAc,SAAS,EAAG,CAOtE,OALI,YAAc,EACT,CAAC,EAAG,EAAE,CAGE,aAAe,UAAY,CAAC,QAAU,UAAW,QAAU,UAAU,CAAG,CAAC,CAAC,QAAU,UAAW,QAAU,UAAU,EAGtI,cAAe,SAAU,KAAM,KAAM,CACnC,OAAO,KAAK,aAAa,KAAM,KAAM,UAAU,EAEjD,aAAc,SAAU,KAAM,KAAM,CAClC,OAAO,KAAK,aAAa,KAAM,KAAM,SAAS,EAEhD,iBAAkB,kBAAkB,iBACpC,eAAgB,kBAAkB,qBACnC,CACD,gBAAgB,CAAC,iBAAiB,CAAE,iCAAiC,CACrE,gBAAgB,CAAC,iBAAiB,CAAE,0CAA0C,CAC9E,0CAA0C,UAAU,eAAiB,oBACrE,0CAA0C,UAAU,mBAAqB,kBAAkB,mBAC3F,IAAI,qBAAuB,qBAAqB,aAEhD,qBAAqB,aAAe,SAAU,KAAM,KAAM,KAAM,IAAK,MAAO,CAC1E,IAAI,KAAO,qBAAqB,KAAM,KAAM,KAAM,IAAK,MAAM,CAc7D,MAbA,MAAK,cAAgB,KAAK,GAC1B,KAAK,KAAO,GAER,OAAS,EACX,kBAAkB,kBAAkB,KAAM,KAAK,GAAI,KAAK,CAC/C,OAAS,GAClB,kBAAkB,kBAAkB,KAAM,KAAK,GAAI,KAAK,CAGtD,KAAK,GACP,KAAK,mBAAmB,KAAK,CAGxB,SAEP,EAIH,UAAwB,CACvB,SAAS,mBAAoB,CAO3B,OANK,MAAQ,SAAS,KAAK,EAAE,GAC3B,CAAC,MAAQ,SAAS,oBAAsB,kBAAkB,mBAAmB,KAAK,MAAQ,QAAQ,EAAE,MAAQ,SAAS,MAAO,MAAQ,SAAS,KAAK,EAAG,MAAQ,QAAQ,CACrK,KAAK,WAAW,MAAQ,SAAS,mBAAmB,KAAK,MAAQ,QAAQ,CAAC,CACnE,IAGF,KAGT,aAAa,UAAU,mBAAqB,SAAU,aAAc,KAAM,CACxE,IAAI,SAAW,KAAK,oBAAoB,KAAK,CAE7C,GAAI,aAAa,IAAM,SAAU,CAC/B,IAAI,QAAU,EAAE,CAIhB,OAHA,KAAK,SAAS,QAAS,aAAa,CACpC,QAAQ,EAAI,SAAS,UAAU,CAC/B,QAAQ,WAAa,GACd,QAGT,OAAO,cAGT,aAAa,UAAU,eAAiB,UAAY,CAClD,IAAI,YAAc,KAAK,iBAAiB,CACpC,eAAiB,KAAK,mBAAmB,CAE7C,MADA,CAAC,MAAQ,SAAS,GAAK,aAAe,gBAC9B,MAAQ,SAAS,IAG3B,aAAa,UAAU,kBAAoB,qBACzC,CAMJ,IAAI,mBAAqB,UAAY,CACnC,OAAO,SAA8B,MAAO,KAAM,cAAe,CAC/D,IAAI,KAAO,KAAK,GAEhB,SAAS,kBAAkB,IAAK,CAK9B,OAJI,MAAQ,SAAW,MAAQ,SAAW,MAAQ,QAAU,MAAQ,QAAU,MAAQ,qBAAuB,MAAQ,EAC5G,kBAAkB,KAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAsC3E,OApCA,KAAK,iBAAiB,kBAAkB,OAAQ,eAAe,CAAC,CAChE,OAAO,iBAAiB,kBAAmB,CACzC,KAAM,CACJ,IAAK,UAAY,CAKf,OAJI,KAAK,GACP,KAAK,UAAU,CAGV,MAEV,CACD,MAAO,CACL,IAAK,UAAY,CAKf,OAJI,KAAK,GACP,KAAK,UAAU,CAGV,MAEV,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACD,GAAI,CACF,MAAO,MAAM,GACd,CACD,cAAe,CACb,MAAO,MAAM,GACd,CACD,GAAI,CACF,MAAO,MAAM,GACd,CACD,cAAe,CACb,MAAO,cACR,CACF,CAAC,CACK,qBAER,CAIC,qBAAuB,UAAY,CACrC,OAAO,SAAU,kBAAmB,oBAAqB,CACvD,OAAO,SAAU,IAAK,CAOpB,MANA,KAAM,MAAQ,IAAA,GAAY,EAAI,IAE1B,KAAO,EACF,kBAGF,oBAAoB,IAAM,EAAE,KAGtC,CAIC,kBAAoB,UAAY,CAClC,OAAO,SAAU,aAAc,cAAe,CAC5C,IAAI,kBAAoB,CACtB,MAAO,aACR,CAED,SAAS,eAAe,IAAK,CAO3B,MANA,KAAM,MAAQ,IAAA,GAAY,EAAI,IAE1B,KAAO,EACF,kBAGF,cAAc,IAAM,EAAE,CAG/B,OAAO,kBAER,CAMC,yBAA2B,UAAY,CACzC,SAAS,gBAAgB,OAAQ,KAAM,cAAe,CACpD,IAAI,IAAM,EAAE,CACRxB,IACA,IAAM,OAAS,OAAO,OAAS,EAEnC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,OAAOA,KAAG,KAAO,KACnB,IAAI,KAAK,sBAAsB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACzD,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,qBAAqB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACxD,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,uBAAuB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CAC1D,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,qBAAqB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACxD,OAAOA,KAAG,KAAO,OACjB,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,wBAAwB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CAC3D,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,qBAAqB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACxD,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,mBAAmB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACtD,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,qBAAqB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CACxD,OAAOA,KAAG,KAAO,KAC1B,IAAI,KAAK,wBAAwB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,CAC3D,OAAOA,KAAG,KAAO,MAC1B,IAAI,KAAK,yBAAyB,OAAOA,KAAI,KAAKA,KAAI,cAAc,CAAC,EAIzE,OAAO,IAGT,SAAS,yBAAyB,MAAO,KAAM,cAAe,CAC5D,IAAI,WAEA,kBAAoB,SAA4B,MAAO,CAIzD,IAHA,IAAIA,IAAI,EACJ,IAAM,WAAW,OAEdA,IAAI,KAAK,CACd,GAAI,WAAWA,KAAG,QAAU,OAAS,WAAWA,KAAG,KAAO,OAAS,WAAWA,KAAG,gBAAkB,OAAS,WAAWA,KAAG,KAAO,OAAS,WAAWA,KAAG,MAAQ,MAC9J,OAAO,WAAWA,KAGpB,KAAK,EAOP,OAJI,OAAO,OAAU,SACZ,WAAW,MAAQ,GAGrB,MAUT,MAPA,mBAAkB,cAAgB,qBAAqB,kBAAmB,cAAc,CACxF,WAAa,gBAAgB,MAAM,GAAI,KAAK,GAAI,kBAAkB,cAAc,CAChF,kBAAkB,cAAgB,WAAW,OAE7C,kBAAkB,UADO,0BAA0B,MAAM,GAAG,MAAM,GAAG,OAAS,GAAI,KAAK,GAAG,KAAK,GAAG,OAAS,GAAI,kBAAkB,cAAc,CAE/I,kBAAkB,cAAgB,MAAM,IACxC,kBAAkB,MAAQ,MAAM,GACzB,kBAGT,SAAS,sBAAsB,MAAO,KAAM,cAAe,CACzD,IAAI,kBAAoB,SAA4B,MAAO,CACzD,OAAQ,MAAR,CACE,IAAK,qBACL,IAAK,WACL,IAAK,GACH,OAAO,kBAAkB,QAK3B,QACE,OAAO,kBAAkB,YAI/B,kBAAkB,cAAgB,qBAAqB,kBAAmB,cAAc,CACxF,IAAI,QAAU,yBAAyB,MAAO,KAAM,kBAAkB,cAAc,CAChF,mBAAqB,0BAA0B,MAAM,GAAG,MAAM,GAAG,OAAS,GAAI,KAAK,GAAG,KAAK,GAAG,OAAS,GAAI,kBAAkB,cAAc,CAa/I,MAZA,mBAAkB,QAAU,QAC5B,kBAAkB,UAAY,mBAC9B,OAAO,eAAe,kBAAmB,QAAS,CAChD,IAAK,UAAY,CACf,OAAO,MAAM,IAEhB,CAAC,CAEF,kBAAkB,cAAgB,MAAM,GACxC,kBAAkB,cAAgB,MAAM,GACxC,kBAAkB,GAAK,MAAM,GAC7B,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,qBAAqB,MAAO,KAAM,cAAe,CACxD,SAAS,kBAAkB,IAAK,CAS9B,OARI,MAAQ,SAAW,MAAQ,QACtB,kBAAkB,MAGvB,MAAQ,WAAa,MAAQ,UACxB,kBAAkB,QAGpB,KAmBT,OAhBA,OAAO,iBAAiB,kBAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,QAAS,CACP,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACD,GAAI,CACF,MAAO,MAAM,GACd,CACF,CAAC,CACF,KAAK,EAAE,iBAAiB,kBAAkB,QAAS,cAAc,CAAC,CAClE,KAAK,EAAE,iBAAiB,kBAAkB,UAAW,cAAc,CAAC,CAC7D,kBAGT,SAAS,uBAAuB,MAAO,KAAM,cAAe,CAC1D,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAEvE,mBAAqB,qBAAqB,OAAQ,eAAe,CAErE,SAAS,oBAAoB,IAAG,CAC9B,OAAO,eAAe,OAAQ,MAAM,EAAEA,KAAG,GAAI,CAC3C,IAAK,4BAA4B,KAAK,EAAE,UAAUA,KAAG,EAAE,CACxD,CAAC,CAGJ,IAAIA,IACA,IAAM,MAAM,EAAI,MAAM,EAAE,OAAS,EACjC,OAAS,EAAE,CAEf,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,oBAAoBA,IAAE,CACtB,KAAK,EAAE,UAAUA,KAAG,EAAE,iBAAiB,mBAAmB,CAG5D,SAAS,kBAAkB,IAAK,CAa9B,OAZI,MAAQ,SAAW,MAAQ,QACtB,kBAAkB,MAGvB,MAAQ,WAAa,MAAQ,UACxB,kBAAkB,QAGvB,MAAQ,gBAAkB,MAAQ,eAC7B,kBAAkB,YAGpB,KA4BT,OAzBA,OAAO,iBAAiB,kBAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,QAAS,CACP,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,YAAa,CACX,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,KAAM,CACJ,IAAK,UAAY,CACf,OAAO,QAEV,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACD,GAAI,CACF,MAAO,MAAM,GACd,CACF,CAAC,CACF,KAAK,EAAE,iBAAiB,kBAAkB,QAAS,eAAe,CAAC,CACnE,KAAK,EAAE,iBAAiB,kBAAkB,UAAW,eAAe,CAAC,CACrE,KAAK,EAAE,iBAAiB,kBAAkB,eAAgB,eAAe,CAAC,CACnE,kBAGT,SAAS,qBAAqB,MAAO,KAAM,cAAe,CACxD,SAAS,kBAAkB,IAAK,CAa9B,OAZI,MAAQ,MAAM,EAAE,IAAM,MAAQ,OAAS,MAAQ,MAC1C,kBAAkB,IAGvB,MAAQ,MAAM,EAAE,GACX,kBAAkB,MAGvB,MAAQ,MAAM,EAAE,GACX,kBAAkB,OAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAuB3E,MArBA,mBAAkB,cAAgB,MAAM,GACxC,KAAK,EAAE,iBAAiB,kBAAkB,QAAS,eAAe,CAAC,CACnE,KAAK,EAAE,iBAAiB,kBAAkB,MAAO,eAAe,CAAC,CACjE,KAAK,EAAE,iBAAiB,kBAAkB,SAAU,eAAe,CAAC,CACpE,kBAAkB,cAAgB,MAAM,GACxC,kBAAkB,cAAgB,cAClC,OAAO,iBAAiB,kBAAmB,CACzC,MAAO,CACL,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,IAAK,CACH,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,OAAQ,CACN,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,0BAA0B,MAAO,KAAM,cAAe,CAC7D,SAAS,kBAAkB,MAAO,CA6BhC,OA5BI,MAAM,EAAE,KAAO,OAAS,QAAU,eAC7B,kBAAkB,YAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,UAC7B,kBAAkB,QAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,WAC7B,kBAAkB,SAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,YAAc,QAAU,uBACrD,kBAAkB,SAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,QAC7B,kBAAkB,MAGvB,MAAM,IAAM,MAAM,GAAG,KAAO,OAAS,QAAU,OAC1C,kBAAkB,KAGvB,MAAM,IAAM,MAAM,GAAG,KAAO,OAAS,QAAU,YAC1C,kBAAkB,SAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CA2C3E,OAzCA,KAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,UAAW,eAAe,CAAC,CACtF,KAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CACvF,KAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,eAAgB,eAAe,CAAC,CAC3F,KAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,QAAS,eAAe,CAAC,CACpF,KAAK,UAAU,OAAO,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CAEnF,KAAK,UAAU,OAAO,KACxB,KAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,OAAQ,eAAe,CAAC,CACpF,KAAK,UAAU,OAAO,GAAG,iBAAiB,kBAAkB,aAAc,eAAe,CAAC,EAG5F,KAAK,UAAU,GAAG,iBAAiB,kBAAkB,UAAW,eAAe,CAAC,CAChF,OAAO,iBAAiB,kBAAmB,CACzC,QAAS,CACP,IAAK,4BAA4B,KAAK,UAAU,OAAO,EAAE,CAC1D,CACD,SAAU,CACR,IAAK,4BAA4B,KAAK,UAAU,OAAO,EAAE,CAC1D,CACD,YAAa,CACX,IAAK,4BAA4B,KAAK,UAAU,OAAO,EAAE,CAC1D,CACD,MAAO,CACL,IAAK,4BAA4B,KAAK,UAAU,OAAO,EAAE,CAC1D,CACD,SAAU,CACR,IAAK,4BAA4B,KAAK,UAAU,OAAO,EAAE,CAC1D,CACD,KAAM,CACJ,IAAK,4BAA4B,KAAK,UAAU,OAAO,GAAG,CAC3D,CACD,SAAU,CACR,IAAK,4BAA4B,KAAK,UAAU,OAAO,GAAG,CAC3D,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,KACvB,kBAAkB,GAAK,MAAM,GAC7B,kBAAkB,cAAgB,cAC3B,kBAGT,SAAS,wBAAwB,MAAO,KAAM,cAAe,CAC3D,SAAS,kBAAkB,MAAO,CAShC,OARI,MAAM,EAAE,KAAO,MACV,kBAAkB,SAGvB,MAAM,EAAE,KAAO,MACV,kBAAkB,KAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAE3E,kBAAkB,cAAgB,MAAM,GACxC,IAAI,KAAO,KAAK,GAAG,KAAO,KAAO,KAAK,GAAG,KAAO,KAAK,GAerD,OAdA,KAAK,EAAE,iBAAiB,kBAAkB,OAAQ,eAAe,CAAC,CAClE,KAAK,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CACtE,OAAO,iBAAiB,kBAAmB,CACzC,KAAM,CACJ,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,SAAU,CACR,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,qBAAqB,MAAO,KAAM,cAAe,CACxD,SAAS,kBAAkB,MAAO,CA6BhC,OA5BI,MAAM,EAAE,KAAO,MACV,kBAAkB,SAGvB,MAAM,EAAE,KAAO,MACV,kBAAkB,SAGvB,MAAM,GAAG,KAAO,MACX,kBAAkB,OAGvB,MAAM,GAAG,KAAO,OAAS,QAAU,gCAC9B,kBAAkB,YAGvB,MAAM,GAAG,KAAO,MACX,kBAAkB,eAGvB,MAAM,KAAO,MAAM,GAAG,KAAO,OAAS,QAAU,iCAC3C,kBAAkB,YAGvB,MAAM,IAAM,MAAM,GAAG,KAAO,MACvB,kBAAkB,eAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAEvE,KAAO,KAAK,GAAG,KAAO,KAAO,KAAK,GAAG,KAAO,KAAK,GAwCrD,MAvCA,mBAAkB,cAAgB,MAAM,GACxC,KAAK,GAAG,iBAAiB,kBAAkB,eAAgB,eAAe,CAAC,CAC3E,KAAK,GAAG,iBAAiB,kBAAkB,kBAAmB,eAAe,CAAC,CAC9E,KAAK,GAAG,iBAAiB,kBAAkB,SAAU,eAAe,CAAC,CACrE,KAAK,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CACtE,KAAK,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CAElE,MAAM,KACR,KAAK,GAAG,iBAAiB,kBAAkB,eAAgB,eAAe,CAAC,CAC3E,KAAK,GAAG,iBAAiB,kBAAkB,kBAAmB,eAAe,CAAC,EAGhF,OAAO,iBAAiB,kBAAmB,CACzC,SAAU,CACR,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,SAAU,CACR,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,OAAQ,CACN,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,YAAa,CACX,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,eAAgB,CACd,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,YAAa,CACX,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,eAAgB,CACd,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,qBAAqB,MAAO,KAAM,cAAe,CACxD,SAAS,kBAAkB,MAAO,CAahC,OAZI,MAAM,EAAE,KAAO,MACV,kBAAkB,SAGvB,MAAM,EAAE,KAAO,MACV,kBAAkB,UAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,QAAU,QAAU,wBACjD,kBAAkB,KAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAEvE,KAAO,KAAK,GAAG,KAAO,KAAO,KAAK,GAAG,KAAO,KAAK,GAoBrD,MAnBA,mBAAkB,cAAgB,MAAM,GACxC,KAAK,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CACtE,KAAK,EAAE,iBAAiB,kBAAkB,OAAQ,eAAe,CAAC,CAClE,KAAK,EAAE,iBAAiB,kBAAkB,WAAY,eAAe,CAAC,CACtE,OAAO,iBAAiB,kBAAmB,CACzC,SAAU,CACR,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,UAAW,CACT,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,KAAM,CACJ,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,wBAAwB,MAAO,KAAM,cAAe,CAC3D,SAAS,kBAAkB,MAAO,CAKhC,OAJI,MAAM,EAAE,KAAO,OAAS,QAAU,kBAC7B,kBAAkB,OAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAEvE,KAAO,KAYX,MAXA,mBAAkB,cAAgB,MAAM,GACxC,KAAK,GAAG,iBAAiB,kBAAkB,SAAU,eAAe,CAAC,CACrE,OAAO,iBAAiB,kBAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4B,KAAK,GAAG,CAC1C,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,SAAS,yBAAyB,MAAO,KAAM,cAAe,CAC5D,SAAS,kBAAkB,MAAO,CAShC,OARI,MAAM,EAAE,KAAO,OAAS,QAAU,SAC7B,kBAAkB,OAGvB,MAAM,EAAE,KAAO,OAAS,QAAU,SAC7B,kBAAkB,OAGpB,KAGT,IAAI,eAAiB,qBAAqB,kBAAmB,cAAc,CAEvE,KAAO,KAgBX,MAfA,mBAAkB,cAAgB,MAAM,GACxC,KAAK,EAAE,iBAAiB,kBAAkB,SAAU,eAAe,CAAC,CACpE,KAAK,EAAE,iBAAiB,kBAAkB,SAAU,eAAe,CAAC,CACpE,OAAO,iBAAiB,kBAAmB,CACzC,OAAQ,CACN,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,OAAQ,CACN,IAAK,4BAA4B,KAAK,EAAE,CACzC,CACD,MAAO,CACL,MAAO,MAAM,GACd,CACF,CAAC,CACF,kBAAkB,GAAK,MAAM,GACtB,kBAGT,OAAO,SAAU,OAAQ,KAAM,cAAe,CAC5C,IAAI,WAEJ,SAAS,mBAAmB,MAAO,CACjC,GAAI,OAAO,OAAU,SAOnB,MANA,OAAQ,QAAU,IAAA,GAAY,EAAI,MAE9B,QAAU,EACL,cAGF,WAAW,MAAQ,GAM5B,IAHA,IAAIA,IAAI,EACJ,IAAM,WAAW,OAEdA,IAAI,KAAK,CACd,GAAI,WAAWA,KAAG,QAAU,MAC1B,OAAO,WAAWA,KAGpB,KAAK,EAGP,OAAO,KAGT,SAAS,oBAAqB,CAC5B,OAAO,cAOT,MAJA,oBAAmB,cAAgB,qBAAqB,mBAAoB,mBAAmB,CAC/F,WAAa,gBAAgB,OAAQ,KAAM,mBAAmB,cAAc,CAC5E,mBAAmB,cAAgB,WAAW,OAC9C,mBAAmB,MAAQ,WACpB,sBAER,CAIC,wBAA0B,UAAY,CACxC,OAAO,SAAU,KAAM,CACrB,IAAI,WAEA,YAEJ,SAAS,mBAAmB,KAAM,CAChC,OAAQ,KAAR,CACE,IAAK,qBACH,OAAO,mBAAmB,WAE5B,QACE,OAAO,MAoBb,OAhBA,OAAO,eAAe,mBAAoB,aAAc,CACtD,IAAK,UAAY,CACf,KAAK,aAAa,UAAU,CAC5B,IAAI,YAAc,KAAK,aAAa,YAAY,EAUhD,OARI,cAAgB,aAClB,KAAK,aAAa,YAAY,EAAI,WAClC,YAAc,IAAI,OAAO,YAAY,CAGrC,YAAY,MAAQ,aAAe,IAAI,OAAO,YAAY,EAGrD,aAEV,CAAC,CACK,sBAER,CAMC,yBAA2B,UAAY,CACzC,SAAS,UAAU,KAAM,CACvB,IAAI,WAAa,IAAI,OAWrB,OATI,OAAS,IAAA,IAKS,MAAQ,SAAS,MAAM,eAAe,MAC7C,cAAc,WAAW,EALpB,MAAQ,SAAS,MAAM,eAAe,MAAM,eAAe,KAAK,CAEvE,MAAM,WAAW,CAMvB,WAGT,SAAS,WAAW,IAAK,KAAM,CAC7B,IAAI,WAAa,KAAK,UAAU,KAAK,CAIrC,MAHA,YAAW,MAAM,IAAM,EACvB,WAAW,MAAM,IAAM,EACvB,WAAW,MAAM,IAAM,EAChB,KAAK,WAAW,WAAY,IAAI,CAGzC,SAAS,QAAQ,IAAK,KAAM,CAC1B,IAAI,WAAa,KAAK,UAAU,KAAK,CACrC,OAAO,KAAK,WAAW,WAAY,IAAI,CAGzC,SAAS,aAAa,IAAK,KAAM,CAC/B,IAAI,WAAa,KAAK,UAAU,KAAK,CAIrC,MAHA,YAAW,MAAM,IAAM,EACvB,WAAW,MAAM,IAAM,EACvB,WAAW,MAAM,IAAM,EAChB,KAAK,YAAY,WAAY,IAAI,CAG1C,SAAS,UAAU,IAAK,KAAM,CAC5B,IAAI,WAAa,KAAK,UAAU,KAAK,CACrC,OAAO,KAAK,YAAY,WAAY,IAAI,CAG1C,SAAS,WAAW,OAAQ,IAAK,CAC/B,IAAK,MAAQ,SAAS,MAAM,YAAc,MAAQ,SAAS,MAAM,UAAU,OAAQ,CACjF,IAAIA,IACA,KAAO,MAAQ,SAAS,MAAM,UAAU,OAE5C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,MAAM,UAAUA,KAAG,eAAe,MAAM,cAAc,OAAO,CAInF,OAAO,OAAO,kBAAkB,IAAI,GAAI,IAAI,GAAI,IAAI,IAAM,EAAE,CAG9D,SAAS,YAAY,OAAQ,IAAK,CAChC,IAAK,MAAQ,SAAS,MAAM,YAAc,MAAQ,SAAS,MAAM,UAAU,OAAQ,CACjF,IAAIA,IACA,KAAO,MAAQ,SAAS,MAAM,UAAU,OAE5C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,MAAM,UAAUA,KAAG,eAAe,MAAM,cAAc,OAAO,CAInF,OAAO,OAAO,aAAa,IAAI,CAGjC,SAAS,SAAS,IAAK,CACrB,IAAI,WAAa,IAAI,OAKrB,GAJA,WAAW,OAAO,EAEjB,MAAQ,SAAS,MAAM,eAAe,MAAM,cAAc,WAAW,EAEjE,MAAQ,SAAS,MAAM,YAAc,MAAQ,SAAS,MAAM,UAAU,OAAQ,CACjF,IAAIA,IACA,KAAO,MAAQ,SAAS,MAAM,UAAU,OAE5C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,GACvB,MAAQ,SAAS,MAAM,UAAUA,KAAG,eAAe,MAAM,cAAc,WAAW,CAGrF,OAAO,WAAW,aAAa,IAAI,CAGrC,OAAO,WAAW,aAAa,IAAI,CAGrC,SAAS,aAAc,CACrB,MAAO,CAAC,EAAG,EAAG,EAAG,EAAE,CAGrB,OAAO,SAAU,KAAM,CACrB,IAAI,mBAEJ,SAAS,uBAAuB,YAAa,CAC3C,mBAAmB,KAAO,IAAI,qBAAqB,YAAa,KAAK,CAGvE,SAAS,0BAA0B,QAAS,CAC1C,mBAAmB,OAAS,QAG9B,SAAS,mBAAmB,KAAM,CAChC,OAAQ,KAAR,CACE,IAAK,0BACL,IAAK,WACL,IAAK,GACH,OAAO,mBAAmB,eAE5B,IAAK,GACL,IAAK,GACL,IAAK,YACL,IAAK,YACL,IAAK,uBACH,OAAO,mBAET,IAAK,GACL,IAAK,qBACL,IAAK,UACL,IAAK,UACH,OAAO,mBAAmB,OAE5B,IAAK,uBACH,OAAO,mBAAmB,cAE5B,QACE,OAAO,MAIb,mBAAmB,UAAY,UAC/B,mBAAmB,YAAc,YACjC,mBAAmB,WAAa,WAChC,mBAAmB,QAAU,QAC7B,mBAAmB,WAAa,WAChC,mBAAmB,UAAY,UAC/B,mBAAmB,aAAe,aAClC,mBAAmB,OAAS,QAC5B,mBAAmB,SAAW,SAC9B,mBAAmB,YAAc,YACjC,mBAAmB,iBAAmB,KAAK,iBAAiB,KAAK,KAAK,CACtE,mBAAmB,MAAQ,KAC3B,mBAAqB,6BAA6B,KAAK,eAAe,MAAM,CAC5E,IAAI,sBAAwB,cAAc,mBAAoB,cAAc,CAuC5E,OAtCA,OAAO,iBAAiB,mBAAoB,CAC1C,UAAW,CACT,IAAK,UAAY,CACf,OAAO,KAAK,UAAU,QAEzB,CACD,OAAQ,CACN,IAAK,UAAY,CACf,OAAO,KAAK,UAAU,GAAG,gBAE5B,CACD,SAAU,cAAc,mBAAoB,WAAW,CACvD,MAAO,cAAc,mBAAoB,QAAQ,CACjD,SAAU,cAAc,mBAAoB,WAAW,CACvD,QAAS,cAAc,mBAAoB,UAAU,CACrD,YAAa,sBACb,aAAc,sBACd,UAAW,CACT,IAAK,UAAY,CACf,OAAO,oBAEV,CACD,OAAQ,CACN,IAAK,UAAY,CACf,OAAO,KAAK,WAEf,CACF,CAAC,CACF,mBAAmB,UAAY,KAAK,KAAK,GACzC,mBAAmB,MAAQ,KAAK,KAAK,IACrC,mBAAmB,OAAS,KAAK,KAAK,MACtC,mBAAmB,OAAS,KAAK,KAAK,KAAO,EAAI,KAAK,KAAK,EAAI,IAC/D,mBAAmB,MAAQ,KAAK,KAAK,KAAO,EAAI,KAAK,KAAK,EAAI,IAC9D,mBAAmB,QAAU,KAAK,KAAK,GAAK,KAAK,KAAK,WAAW,UACjE,mBAAmB,SAAW,KAAK,KAAK,GAAK,KAAK,KAAK,WAAW,UAClE,mBAAmB,MAAQ,KAAK,KAAK,GACrC,mBAAmB,sBAAwB,uBAC3C,mBAAmB,yBAA2B,0BACvC,sBAER,CAMC,iBAAmB,UAAY,CACjC,IAAI,wBAA0B,SAAU,KAAM,CAC5C,IAAI,oBAAsB,GACtB,gBAAkB,KAAK,gBAAgB,CAE3C,SAAS,MAAO,CAGd,MAFA,qBAAsB,GACtB,gBAAkB,KAAK,gBAAgB,CAChC,eAGT,SAAS,eAAe,MAAO,CAC7B,GAAI,gBAAgB,OAQlB,MAPA,qBAAsB,MACtB,gBAAkB,gBAAgB,OAE9B,OAAO,iBAAoB,SACtB,eAGF,gBAGT,IAAI,kBAAoB,MAAM,QAAQ,oBAAoB,CAE1D,GAAI,oBAAsB,GAAI,CAC5B,IAAI,MAAQ,SAAS,MAAM,OAAO,kBAAoB,oBAAoB,OAAO,CAAE,GAAG,CAOtF,MANA,iBAAkB,gBAAgB,OAE9B,OAAO,iBAAoB,SACtB,eAGF,gBAGT,MAAO,GAGT,OAAO,MAGL,qBAAuB,SAAU,KAAM,CACzC,SAAS,kBAAkB,MAAO,CAKhC,OAJI,QAAU,UACL,kBAAkB,kBAAkB,CAGtC,KAKT,MAFA,mBAAkB,MAAQ,UAC1B,kBAAkB,iBAAmB,wBAAwB,KAAK,CAC3D,mBAGT,OAAO,SAAU,KAAM,CACrB,SAAS,mBAAmB,MAAO,CAKjC,OAJI,QAAU,OACL,mBAAmB,cAGrB,KAKT,MAFA,oBAAmB,MAAQ,OAC3B,mBAAmB,cAAgB,qBAAqB,KAAK,CACtD,sBAER,CAIC,wBAA0B,UAAY,CACxC,OAAO,SAAU,KAAM,CACrB,SAAS,mBAAmB,KAAM,CAIhC,IAHA,IAAIA,IAAI,EACJ,IAAM,KAAK,OAAO,OAEfA,IAAI,KAAK,CACd,GAAI,KAAK,OAAOA,KAAG,KAAO,MAAQ,KAAK,OAAOA,KAAG,MAAQ,KACvD,OAAO,KAAK,SAASA,KAAG,eAG1B,KAAK,EAGP,OAAO,KAcT,OAXA,OAAO,eAAe,mBAAoB,QAAS,CACjD,MAAO,KAAK,KAAK,GAClB,CAAC,CACF,mBAAmB,MAAQ,mBAC3B,mBAAmB,YAAc,EACjC,mBAAmB,OAAS,KAAK,KAAK,GAAK,KAAK,WAAW,SAAS,EACpE,mBAAmB,MAAQ,KAAK,KAAK,GAAK,KAAK,WAAW,SAAS,EACnE,mBAAmB,YAAc,EACjC,mBAAmB,cAAgB,EAAI,KAAK,WAAW,UACvD,mBAAmB,iBAAmB,EACtC,mBAAmB,UAAY,KAAK,OAAO,OACpC,sBAER,CAMC,6BAA+B,UAAY,CAC7C,OAAO,SAAU,UAAW,CAC1B,SAAS,cAAc,KAAM,CAC3B,OAAQ,KAAR,CACE,IAAK,QACL,IAAK,QACL,IAAK,aACL,IAAK,GACH,OAAO,cAAc,MAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,gBACL,IAAK,IACH,OAAO,cAAc,SAEvB,IAAK,gBACH,OAAO,cAAc,UAEvB,IAAK,gBACH,OAAO,cAAc,UAEvB,IAAK,WACL,IAAK,WACL,IAAK,gBACL,IAAK,GACH,OAAO,cAAc,SAEvB,IAAK,kBACH,OAAO,cAAc,UAEvB,IAAK,kBACH,OAAO,cAAc,UAEvB,IAAK,kBACH,OAAO,cAAc,UAEvB,IAAK,cACL,IAAK,cACL,IAAK,eACL,IAAK,mBACL,IAAK,GACH,OAAO,cAAc,YAEvB,IAAK,UACL,IAAK,UACL,IAAK,IACH,OAAO,cAAc,QAEvB,QACE,OAAO,MAIb,OAAO,eAAe,cAAe,WAAY,CAC/C,IAAK,4BAA4B,UAAU,GAAK,UAAU,GAAG,CAC9D,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,IAAM,UAAU,EAAE,CAC9D,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,QAAS,CAC5C,IAAK,4BAA4B,UAAU,EAAE,CAC9C,CAAC,CAEF,IAAI,IAEA,IAEA,IAEA,kBA8CJ,OA5CI,UAAU,EACZ,kBAAoB,4BAA4B,UAAU,EAAE,EAE5D,IAAM,4BAA4B,UAAU,GAAG,CAC/C,IAAM,4BAA4B,UAAU,GAAG,CAE3C,UAAU,KACZ,IAAM,4BAA4B,UAAU,GAAG,GAInD,OAAO,eAAe,cAAe,WAAY,CAC/C,IAAK,UAAY,CAKf,OAJI,UAAU,EACL,mBAAmB,CAGrB,CAAC,KAAK,CAAE,KAAK,CAAE,IAAM,KAAK,CAAG,EAAE,EAEzC,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,YAAa,CAChD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,cAAe,CAClD,IAAK,4BAA4B,UAAU,EAAE,CAC9C,CAAC,CACF,OAAO,eAAe,cAAe,UAAW,CAC9C,IAAK,4BAA4B,UAAU,EAAE,CAC9C,CAAC,CACF,OAAO,eAAe,cAAe,OAAQ,CAC3C,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,WAAY,CAC/C,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACF,OAAO,eAAe,cAAe,cAAe,CAClD,IAAK,4BAA4B,UAAU,GAAG,CAC/C,CAAC,CACK,iBAER,CAIH,iBAAmB,UAAY,CAC7B,SAAS,oBAAoB,KAAM,EAChC,MAAQ,SAAS,aAAa,KAAK,KAAK,CAG3C,OAAO,UAAY,CACjB,SAAS,qBAAqB,KAAM,CAIlC,IAHA,IAAIA,IAAI,EACJ,KAAO,MAAQ,SAAS,aAAa,OAElCA,IAAI,KAAK,CACd,IAAK,MAAQ,SAAS,aAAaA,KAAG,OAAS,MAAQ,SAAS,aAAaA,KAAG,KAAK,KAAO,KAK1F,OAJK,MAAQ,SAAS,aAAaA,KAAG,eAAiB,MAAQ,SAAS,aAAaA,KAAG,KAAK,KAC1F,MAAQ,SAAS,aAAaA,KAAG,cAAc,MAAQ,SAAS,aAAa,EAGxE,MAAQ,SAAS,aAAaA,KAAG,cAG3C,KAAK,EAGP,OAAO,KAMT,MAHA,sBAAqB,aAAe,EAAE,CACtC,qBAAqB,aAAe,EACpC,qBAAqB,oBAAsB,oBACpC,wBAER,CAMH,IAAI,2BAA6B,UAAY,CAC3C,IAAI,GAAK,CACiB,uBACzB,CAED,SAAS,uBAAuB,KAAM,cAAe,CACnD,GAAI,KAAK,eAAgB,CACvB,IAAI,eAAiB,EAAE,CACnB,YAAc,KAAK,KAAK,GACxBA,IACA,IAAM,KAAK,eAAe,eAAe,OAE7C,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,eAAe,KAAK,qBAAqB,YAAYA,KAAI,KAAK,eAAe,eAAeA,KAAI,cAAe,KAAK,CAAC,CAGvH,IAAI,QAAU,KAAK,KAAK,IAAM,EAAE,CAE5B,eAAiB,SAAU,KAAM,CAInC,IAHA,IAAI,EACJ,IAAM,QAAQ,OAEPA,IAAI,KAAK,CACd,GAAI,OAAS,QAAQA,KAAG,IAAM,OAAS,QAAQA,KAAG,IAAM,OAAS,QAAQA,KAAG,GAC1E,OAAO,eAAeA,KAGxB,KAAK,EAGP,OAAO,MAQT,OALA,OAAO,eAAe,eAAgB,gBAAiB,CACrD,IAAK,UAAY,CACf,OAAO,QAAQ,QAElB,CAAC,CACK,eAGT,OAAO,KAGT,SAAS,qBAAqB,KAAM,SAAU,cAAe,KAAM,CACjE,SAAS,eAAe,KAAM,CAK5B,IAJA,IAAI,QAAU,KAAK,GACfA,IAAI,EACJoD,MAAM,QAAQ,OAEXpD,IAAIoD,OAAK,CACd,GAAI,OAAS,QAAQpD,KAAG,IAAM,OAAS,QAAQA,KAAG,IAAM,OAAS,QAAQA,KAAG,GAK1E,OAJI,QAAQA,KAAG,KAAO,EACb,eAAeA,KAGjB,eAAeA,MAAI,CAG5B,KAAK,EAGP,MAAU,OAAO,CAGnB,IAAI,eAAiB,qBAAqB,eAAgB,cAAc,CAEpE,eAAiB,EAAE,CACnBA,IACA,IAAM,KAAK,GAAG,OAElB,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACpB,KAAK,GAAGA,KAAG,KAAO,EACpB,eAAe,KAAK,qBAAqB,KAAK,GAAGA,KAAI,SAAS,eAAeA,KAAI,SAAS,eAAeA,KAAG,cAAe,KAAK,CAAC,CAEjI,eAAe,KAAK,qBAAqB,SAAS,eAAeA,KAAI,KAAK,GAAGA,KAAG,GAAI,KAAM,eAAe,CAAC,CA2B9G,OAvBI,KAAK,KAAO,sBACd,OAAO,eAAe,eAAgB,QAAS,CAC7C,IAAK,UAAY,CACf,OAAO,eAAe,IAAI,EAE7B,CAAC,CAGJ,OAAO,iBAAiB,eAAgB,CACtC,cAAe,CACb,IAAK,UAAY,CACf,OAAO,KAAK,IAEf,CACD,MAAO,CACL,MAAO,KAAK,GACb,CACD,cAAe,CACb,MAAO,eACR,CACF,CAAC,CACF,eAAe,QAAU,KAAK,KAAO,EACrC,eAAe,OAAS,eAAe,QAChC,eAGT,SAAS,qBAAqB,QAAS,KAAM,KAAM,cAAe,CAChE,IAAI,mBAAqB,4BAA4B,QAAQ,EAAE,CAE/D,SAAS,mBAAoB,CAK3B,OAJI,OAAS,GACJ,KAAK,KAAK,cAAc,QAAQ,EAAE,EAAE,CAGtC,oBAAoB,CAO7B,OAJI,QAAQ,EAAE,kBACZ,QAAQ,EAAE,iBAAiB,kBAAkB,GAAI,cAAc,CAAC,CAG3D,kBAGT,OAAO,KACN,CAMC,qBAAuB,UAAY,CACrC,SAAS,cAAc,OAAM,KAAM,CACjC,CAAC,MAAQ,SAAS,MAAQ0B,OAC1B,CAAC,MAAQ,SAAS,MAAQ,KAiD5B,OA9CA,OAAO,eAAe,cAAc,UAAW,WAAY,CACzD,IAAK,UAAY,CAKf,OAJK,MAAQ,SAAS,MAAM,KAAK,IAC9B,MAAQ,SAAS,MAAM,KAAK,UAAU,EAGjC,MAAQ,SAAS,MAAM,MAElC,CAAC,CACF,OAAO,eAAe,cAAc,UAAW,cAAe,CAC5D,IAAK,UAAY,CAKf,OAJK,MAAQ,SAAS,MAAM,GAAG,IAC5B,MAAQ,SAAS,MAAM,GAAG,UAAU,EAG/B,MAAQ,SAAS,MAAM,GAAG,EAAI,KAEzC,CAAC,CAEgB,SAAU,YAAa,CACvC,IAAI,iBAAmB,iBAAiB,YAAY,SAAS,OAAO,CAEhE1B,IACA,IAAM,YAAY,SAAS,OAE/B,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,iBAAiBA,KAAK,IAAI,cAAc,YAAY,SAASA,KAAI,YAAY,gBAAgBA,KAAG,CAiBlG,OAdmB,SAAU,KAAM,CAGjC,IAFA,IAAI,EAEGA,IAAI,KAAK,CACd,GAAI,YAAY,gBAAgBA,KAAG,KAAO,KACxC,OAAO,iBAAiBA,KAG1B,KAAK,EAGP,OAAO,SAOV,CAMC,4BAA8B,UAAY,CAC5C,IAAI,2BAA6B,CAC/B,GAAI,EACJ,EAAG,EACH,KAAM,EACP,CACG,6BAA+B,CACjC,GAAI,CAAC,EAAG,EAAG,EAAE,CACb,EAAG,CAAC,EAAG,EAAG,EAAE,CACZ,KAAM,EACP,CAED,SAAS,iBAAiB,gBAAiB,SAAU,KAAM,CACzD,OAAO,eAAe,gBAAiB,WAAY,CACjD,IAAK,UAAY,CACf,OAAO,SAAS,kBAAkB,SAAS,KAAK,aAAa,EAEhE,CAAC,CACF,gBAAgB,QAAU,SAAS,UAAY,SAAS,UAAU,OAAS,EAE3E,gBAAgB,IAAM,SAAU,IAAK,CACnC,GAAI,CAAC,gBAAgB,QACnB,MAAO,GAGT,IAAI,MAAQ,GAEZ,AAKE,MALE,MAAO,SAAS,UAAU,IAAM,GAC1B,SAAS,UAAU,IAAM,GAAG,EAC3B,MAAO,SAAS,UAAU,IAAM,GACjC,SAAS,UAAU,IAAM,GAAG,EAE5B,SAAS,UAAU,IAAM,GAAG,EAGtC,IAAI,UAAY,OAAS,iBAAmB,IAAI,OAAO,MAAM,CAAG,OAAO,OAAO,EAAE,CAAE,MAAM,CAIxF,MAFA,WAAU,KAAO,SAAS,UAAU,IAAM,GAAG,EAAI,SAAS,KAAK,KAAK,WAAW,UAC/E,UAAU,MAAQ,OAAS,iBAAmB,MAAM,GAAK,MAClD,WAGT,gBAAgB,YAAc,SAAS,eACvC,gBAAgB,YAAc,SAAS,eACvC,gBAAgB,eAAiB,SAAS,kBAC1C,gBAAgB,cAAgB,SAAS,cAG3C,SAAS,gCAAgC,SAAU,EAC7C,CAAC,UAAY,EAAE,OAAQ,aACzB,SAAW,4BAGb,IAAI,KAAO,EAAI,SAAS,KACpB,IAAM,SAAS,GAAK,KACpB,gBAAkB,IAAI,OAAO,IAAI,CAIrC,MAFA,iBAAgB,MAAQ,IACxB,iBAAiB,gBAAiB,SAAU,iBAAiB,CACtD,UAAY,CAcjB,OAbI,SAAS,GACX,SAAS,UAAU,CAGrB,IAAM,SAAS,EAAI,KAEf,gBAAgB,QAAU,MAC5B,gBAAkB,IAAI,OAAO,IAAI,CAEjC,gBAAgB,MAAQ,IACxB,iBAAiB,gBAAiB,SAAU,iBAAiB,EAGxD,iBAIX,SAAS,kCAAkC,SAAU,EAC/C,CAAC,UAAY,EAAE,OAAQ,aACzB,SAAW,8BAGb,IAAI,KAAO,EAAI,SAAS,KACpB,IAAM,SAAS,MAAQ,SAAS,KAAK,GAAK,SAAS,GAAG,OACtD,gBAAkB,iBAAiB,UAAW,IAAI,CAClD,SAAW,iBAAiB,UAAW,IAAI,CAG/C,MAFA,iBAAgB,MAAQ,SACxB,iBAAiB,gBAAiB,SAAU,mBAAmB,CACxD,UAAY,CACb,SAAS,GACX,SAAS,UAAU,CAGrB,IAAK,IAAIA,IAAI,EAAGA,IAAI,IAAK,KAAK,EAC5B,SAASA,KAAK,SAAS,EAAEA,KAAK,KAC9B,gBAAgBA,KAAK,SAASA,KAGhC,OAAO,iBAKX,SAAS,eAAgB,CACvB,OAAO,2BAGT,OAAO,SAAU,SAAU,CASzB,OARK,SAID,SAAS,WAAa,iBACjB,gCAAgC,SAAS,CAG3C,kCAAkC,SAAS,CAPzC,iBASV,EAMF,UAAY,CACX,IAAI,2BAA6B,UAAY,CAE3C,SAAS,cAAc,MAAO,MAAO,CAInC,MAHA,CAAC,MAAQ,SAAS,UAAY,MAAQ,EACtC,CAAC,MAAQ,SAAS,UAAY,MAC9B,CAAC,MAAQ,SAAS,EAAI,KAAK,UAAU,EAAI,MAAQ,SAAS,MAClD,MAAQ,SAAS,EAG3B,OAAO,SAA2C,KAAM,KAAM,CAC5D,CAAC,MAAQ,SAAS,GAAK,EACvB,CAAC,MAAQ,SAAS,KAAO,KAAK,KAC9B,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,KAAO,IACzB,CAAC,MAAQ,SAAS,SAAW,eAC7B,CAAC,MAAQ,SAAS,UAAY,KAAK,WACnC,CAAC,MAAQ,SAAS,cAAgB,IAClC,CAAC,MAAQ,SAAS,UAAY,CAAC,EAAG,EAAG,EAAE,CACvC,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,EAAI,GACtB,CAAC,MAAQ,SAAS,SAAW,kBAAkB,mBAAmB,KAAK,MAAQ,QAAQ,CAAC,KAAM,KAAM,MAAQ,QAAQ,CACpH,CAAC,MAAQ,SAAS,QAAU,cAC5B,CAAC,MAAQ,SAAS,kBAAoB,kBAAkB,mBAEnD,MAAQ,SAAS,GACpB,CAAC,MAAQ,SAAS,eAAiB,kBAAkB,eAAe,KAAK,MAAQ,QAAQ,CAEzF,CAAC,MAAQ,SAAS,eAAiB,kBAAkB,qBAAqB,KAAK,MAAQ,QAAQ,CAGjG,CAAC,MAAQ,SAAS,iBAAmB,kBAAkB,oBAExD,CAEC,oBAAsB,iBAAiB,oBAE3C,iBAAiB,oBAAsB,SAAU,KAAM,KAAM,IAAK,CAKhE,OAJI,KAAK,IAAM,EACN,IAAI,kCAAkC,KAAM,KAAM,IAAI,CAGxD,oBAAoB,KAAM,KAAM,IAAI,KAE3C,CAMJ,SAAS,aAAa,KAAM,KAAM,UAAW,CAC3C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,YAAY,KAAM,KAAM,UAAW,CAC1C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,YAAY,KAAM,KAAM,UAAW,CAC1C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,YAAY,KAAM,KAAM,UAAW,CAC1C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,iBAAiB,KAAM,KAAM,UAAW,CAC/C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,gBAAgB,KAAM,KAAM,UAAW,CAC9C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,eAAe,KAAM,KAAM,UAAW,CAC7C,CAAC,MAAQ,SAAS,EAAI,gBAAgB,QAAQ,KAAM,KAAK,EAAG,EAAG,EAAG,UAAU,CAG9E,SAAS,eAAgB,CACvB,CAAC,MAAQ,SAAS,EAAI,EAAE,CAM1B,SAAS,eAAe,KAAM,QAAS,CACrC,IAAI,QAAU,KAAK,IAAM,EAAE,CAC3B,CAAC,MAAQ,SAAS,eAAiB,EAAE,CACrC,IAAIA,IACA,IAAM,QAAQ,OACd,WAEJ,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EACxB,WAAa,IAAI,YAAY,QAAQA,KAAI,QAAQ,EAEhD,MAAQ,SAAS,eAAe,KAAK,WAAW,CAIrD,SAAS,YAAY,KAAM,QAAS,CAClC,KAAK,KAAK,KAAM,QAAQ,CAG1B,gBAAgB,CAAC,yBAAyB,CAAE,YAAY,CACxD,YAAY,UAAU,SAAW,YAAY,UAAU,yBAEvD,YAAY,UAAU,KAAO,SAAU,KAAM,QAAS,CACpD,CAAC,MAAQ,SAAS,KAAO,KACzB,CAAC,MAAQ,SAAS,eAAiB,EAAE,CACrC,KAAK,6BAA6B,QAAQ,CAC1C,IAAIA,IACA,KAAO,MAAQ,SAAS,KAAK,GAAG,OAChC,IACA,SAAW,MAAQ,SAAS,KAAK,GAErC,IAAK,IAAI,EAAGA,IAAI,IAAK,KAAK,EAAG,CAG3B,OAFA,IAAM,KAEE,QAAQA,KAAG,GAAnB,CACE,IAAK,GACH,IAAM,IAAI,aAAa,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC5D,MAEF,IAAK,GACH,IAAM,IAAI,YAAY,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC3D,MAEF,IAAK,GACH,IAAM,IAAI,YAAY,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC3D,MAEF,IAAK,GACH,IAAM,IAAI,YAAY,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC3D,MAEF,IAAK,GACL,IAAK,GACH,IAAM,IAAI,eAAe,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC9D,MAEF,IAAK,IACH,IAAM,IAAI,iBAAiB,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAChE,MAEF,IAAK,IACH,IAAM,IAAI,gBAAgB,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC/D,MAEF,IAAK,GACH,IAAM,IAAI,eAAe,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC9D,MAGF,QACE,IAAM,IAAI,cAAc,QAAQA,KAAI,QAAS,MAAQ,QAAQ,CAC7D,MAGA,MACD,MAAQ,SAAS,eAAe,KAAK,IAAI,GAKhD,IAAI,OAAS,EAAE,CAEf,SAAS,gBAAgB,KAAM,CAC7B,aAAe,KAGjB,SAAS,kBAAmB,CACtB,aAAe,GACjB,iBAAiB,iBAAiB,cAAe,WAAY,SAAS,CAEtE,iBAAiB,kBAAkB,CAIvC,SAAS,qBAAqB,KAAM,CAClC,gBAAkB,KAGpB,SAAS,cAAc,OAAQ,CAK7B,OAJI,aAAe,KACjB,OAAO,cAAgB,KAAK,MAAM,cAAc,EAG3C,iBAAiB,cAAc,OAAO,CAG/C,SAAS,WAAW,MAAO,CACzB,GAAI,OAAO,OAAU,SACnB,OAAQ,MAAR,CACE,IAAK,OACH,qBAAuB,IACvB,MAEF,QACA,IAAK,SACH,qBAAuB,GACvB,MAEF,IAAK,MACH,qBAAuB,GACvB,WAEK,CAAC,MAAM,MAAM,EAAI,MAAQ,IAClC,qBAAuB,OAIvB,YADE,wBAAwB,IAGT,CAIrB,SAAS,WAAY,CACnB,OAAc,YAAc,OAG9B,SAAS,cAAc,KAAM,OAAQ,CAC/B,OAAS,gBACX,kBAAoB,QAIxB,SAAS,WAAW,KAAM,CACxB,OAAQ,KAAR,CACE,IAAK,kBACH,OAAO,gBAET,IAAK,uBACH,OAAO,qBAET,IAAK,SACH,OAAO,OAET,QACE,OAAO,MAIb,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,wBAAwB,CACtC,kBAAkB,EAItB,SAAS,iBAAiB,SAAU,CAGlC,IAAK,IAFD,KAAO,YAAY,MAAM,IAAI,CAExBA,IAAI,EAAGA,IAAI,KAAK,OAAQ,KAAK,EAAG,CACvC,IAAI,KAAO,KAAKA,KAAG,MAAM,IAAI,CAE7B,GAAI,mBAAmB,KAAK,GAAG,EAAI,SAEjC,OAAO,mBAAmB,KAAK,GAAG,CAItC,OAAO,KAGT,IAAI,WAAa,mBACb,cAAgB,sBAChB,SAAW,GACX,YAEJ,GAAI,WAAY,CACd,IAAI,QAAU,SAAS,qBAAqB,SAAS,CAKrD,aAHe,QADH,QAAQ,OAAS,IACI,CAC/B,IAAK,GACN,EACsB,IAAI,QAAQ,aAAc,GAAG,CAEpD,SAAW,iBAAiB,WAAW,CAGzC,IAAI,wBAA0B,YAAY,WAAY,IAAI,CAC1D,OAAO,QACP,CACE,UAAY,mCAED,yEC/ikBqC,ICQhD,SAAgB,OAAO,MAAM,CAAC,GAAK,CAAC,MAAM,OAAO,QAAQ,QAAQ,OAAO,SAAS,YAAY,QAAQ,KAAK,eAAe,cAAc,oBAAoB,MAAM,QAAQ,aAAa,aAAa,YAAY,UAAU,YAAY,MAAY,WAAW,aAAa,SAAS,GAAG,aAAa,OAAa,YAAY,CAAC,eAAe,CAAC,aAAa,QAAc,UAAU,oBAAoB,EAAE,GAAS,eAAe,SAAS,OAAO,OAAa,GAAGsD,IAAQ,CAAO,gBAAgBA,GAAO,GAAM,CAAO,cAAcA,GAAO,CAAC,KAAK,KAAK,UAAU,KAAK,SAAS,KAAK,CAAC,CAAO,SAAS,mBAAmB,YAAY,CAAC,UAAU,KAAGC,IAAE,IAAI,CAAC,CAAO,SAAS,CAAC,IAAI,IAAI,KAAK,OAAW,cAAc,SAA+C,WAA6C,MAAM,EAAS,UAAU,CAAC,IAAI,IAAI,KAAK,OAAW,cAAc,SAA+C,WAA6C,OAAO,EAASC,cAAY,CAAC,IAAI,IAAI,KAAK,OAAW,cAAc,SAA+C,WAA6C,SAAS,EAAS,QAAQC,IAAa,mBAAmB,kBAAkB,CAAC,GAAG,CAAC,cAAc,QAAQ,UAAU,CAAC,cAAc,QAAQ,UAAU,OACxtC,IAAM,kBAAkB,qBAAqB,EAAE,cAAc,QAAQ,SAAS,EAAE,mBAAmB,cAAc,QAAQ,SAAY,gBAAgB,cAAc,QAAQ,UAAU,YAAY,kBAAkB,GAAK,CAAM,cAAc,QAAQ,UAAU,YAAY,kBAAkB,GAAK,EAAG,EAAE,CAAC,CAAO,gBAAgBA,GAAY,KAAM,MAAU,IAA2B,MAAM,MAAM,IAAI,CAAC,OAAO,MAAM,YAAY,OAAO,SAAS,SAAS,CAAC,CAAC,KAAK,KAAGC,IAAE,MAAM,CAAC,CAAtG,KAAqH,EAAE,CAAC,CACvd,KAAKD,GAAY,SAAS,CAChC,WAAS,CAAC,IAAI,QAAW,UAAU,QAAQ,MAAI,QAAQ,QAAU,UAAU,QAAQ,OAAK,QAAQ,SAAQ,AAAgE,WAAnD,QAAQ,KAAK,qCAAqC,CAAS,gBAAgB,IAAM,KAAK,MAAM,gBAAgB,QAAQ,CAAiC,MAAhC,eAAc,QAAQ,KAAK,KAAY,MAAM,gBAAgB,QAAQ,EAAG,CAAC,QAAQ,OAAO,QAAQ,CAAC,CACrU,MAAMA,GAAY,iBAAiB,CAAC,GAAG,CAAC,GAAG,QAAQ,OAAO,WAAS,CAAC,IAAM,QAAQ,CAAC,UAAU,GAAG,QAAQ,SAAS,MAAM,KAAK,CAAC,YAAY,KAAK,SAAS,WAAW,cAAc,cAAc,QAAQ,KAAK,iBAAiB,CAAC,oBAAoB,iBAAiB,CAAC,CAAO,KAAK,cAAc,QAAQ,UAAUE,2BAAO,cAAc,QAAQ,CAA2P,MAA1P,eAAc,QAAQ,SAAS,KAAK,YAAY,GAAK,CAAC,KAAK,aAAa,UAAU,CAAC,KAAK,SAAS,MAAM,CAAC,gBAAgB,QAAQ,GAAQ,YAAY,eAAe,QAAQ,eAAe,GAAM,CAAM,QAAQ,SAAS,KAAK,CAAC,YAAY,gBAAgB,KAAW,CAAC,KAAK,SAAS,GAAK,CAAC,KAAK,WAAW,MAAM,UAAU,WAAW,eAAe,eAAgB,CAAC,CAS4N,OARn5B,OAAc,CAAC,IAAI,QAAkC,OAA1B,MAAM,CAAC,KAAK,KAAG,QAAQC,IAAE,KAAW,CAAI,SAAQ,SAAS,GAAK,CAAC,QAAQ,QAAQ,OAAO,CAAC,CAClH,OAAc,CAAK,mBAAgB,QAAe,OAAO,MAAM,GAAM,EAAG,CAAC,KAAK,CAAC,CAC/E,OAAcD,2BAAO,WAAW,WAAW,MAAM,SAAS,CAAC,EAAE,CAAC,CAM9D,OAAc,SAAS,SAAS,KAAK,CAAI,aAAqB,WAAW,QAAQ,IAAI,GAAK,CAAM,QAAQ,IAAI,GAAM,GAAG,CAAC,EAAE,CAAC,CAAC,OAAc,CAAC,IAAM,IAAI,SAAS,KAAK,CAAI,WAAW,QAAQ,IAAI,GAAK,CAAM,QAAQ,IAAI,GAAM,EAAG,CAAC,YAAY,CAAC,CAAC,OAAc,CAAC,GAAG,CAAC,WAAW,OAAO,IAAM,yBAAyB,eAAe,IAAsB,QAAf,eAAuB,yBAA6C,SAAS,KAAK,CAAlC,GAAyC,EAAG,CAAC,eAAe,eAAe,CAAC,CAAC,OAAc,CAAC,IAAI,IAAc,cAAc,SAAyC,YAAkB,cAAc,QAAQ,UAAU,SAAS,MAAM,CAAC,QAAQ,SAAS,KAAK,CAAC,GAAK,GAAG,CAAC,MAAM,CAAC,CAAC,OAAc,CAAC,IAAI,IAAc,cAAc,SAAyC,YAAkB,cAAc,QAAQ,UAAU,aAAa,UAAU,CAAC,QAAQ,SAAS,KAAK,CAAC,GAAK,GAAG,CAAC,UAAU,CAAC,CAAC,OAAc,CAAI,WAAW,MAAM,CAAM,OAAO,EAAG,CAAC,WAAW,CAAC,CAAsB,EAAK,OAAO,IAAI,CAAC,IAAI,GAAS,MAAM,QAAQ,aAAa,aAAa,YAAY,UAAU,CAAC,gFArB19B,sBAAgD,uBAAwE,8BAAgF,iCAAwF,sBAAsD,EAAa,SAAS,UAAQ,CAAC,UAAQ,KAAQ,SAAS,UAAQ,IAAO,QAAS,AAAU,UAAQ,EAAE,CAAE,EAAa,SAAS,SAAO,CAAC,SAAO,KAAQ,OAAO,SAAO,OAAU,WAAY,AAAS,SAAO,EAAE,CAAE,CAAO,eAAe,0FAqBqa,OAAO,aAAa,CAAC,OAAO,IAAI,MAAM,IAAI,QAAQ,QAAQ,IAAI,cAAc,GAAK,OAAO,eAAe,SAAS,EAAE,OAAO,OAAO,KAAK,eAAe,EAAE,CAAC,oBAAoB,OAAO,CAAC,QAAQ,CAAC,KAAK,YAAY,KAAK,wBAAwB,GAAK,MAAM,SAAS,QAAQ,CAAC,QAAQ,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,YAAY,OAAO,MAAM,IAAI,YAAY,kBAAkB,OAAO,OAAO,MAAM,UAAU,QAAQ,KAAK,CAAC,QAAQ,CAAC,KAAK,YAAY,KAAK,MAAM,IAAI,iBAAiB,CAAC,OAAO,CAAC,OAAO,OAAO,MAAM,UAAU,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,YAAY,QAAQ,MAAM,UAAU,aAAa,MAAM,cAAc,KAAK,CAQnmD,KAAK,CAAC,KAAK,YAAY,QAAQ,MAAM,OAAO,aAAa,MAAM,cAAc,KAAK,CAAC,oBAAoB,CAAC,MAAM,YAAY,KAAK,YAAY,QAAQ,aAAa,SAAS,cAAc,UAAU,CAAC,MAAM,CAAC,KAAK,YAAY,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,GAAG,KAAK,GAAG,eAAe,GAAK,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,SAAS,KAAK,YAAY,KAAK,QAAQ,CAAC,OAAO,KAAK,OAAO,OAAO,CAAC,wBAAwB,GAAK,CAAC,eAAe,CAAC,MAAM,IAAI,KAAK,YAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,QAAQ,CAAC,UAAU,SAAS,OAAO,KAAK,CAAC,SAAS,CAAC,MAAM,WAAW,KAAK,YAAY,OAAO,IAAI,IAAI,IAAI,EAAE,KAAK,IAAI,YAAY,oGAAoG,CAAC,GAAG,cAAc,CAAC,IC5BzC,SAASE,uBAAqB,UAAU,GAAG,SAAS,CAAC,IAAM,cAAc,EAAE,CAAsF,OAArF,UAAU,QAAQ,SAAS,SAAS,OAAO,OAAO,cAAc,UAAU,SAAS,CAAC,CAAQ,wSAAvxB,uBAA4N,8BAAkE,sBAA4B,cAA8G,CAAM,YAAY,SAAS,OAAO,CAAOC,aAAW,CAAC,YAAY,YAAY,CAAOC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,CAA8LC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,SAAS,CAAO,YAAY,CAAC,SAAS,EAAE,KAAK,QAAQ,CAAO,oBAAoB,IAAE,MAAI,yBAAyBC,MAAUC,cAAY,CAAC,MAAM,YAAY,CAAC,IAAM,OAAOC,GAAiB,oBAAoB,CAAO,WAAW,OAAO,OAAO,WAAiB,aAAaC,QAAmB,CAAC,GAAG,OAAO,WAAW,EAAE,CAAC,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,aAAsB,SAAS,CAAC,EAASC,WAAS,OAAO,OAAOC,IAAe,CAAOC,0BAAwB,CAAC,sBAAsB,YAAY,eAAe,YAAY,CAAOC,YAAU,CAAC,OAAO,GAAG,MAAM,GAAG,UAAgB,CAAC,GAAG,MAAM,QAAQD,0BAAwB,MAAM,UAAU,MAAM,SAAS,YAAY,EAASE,0BAAwB,MAAM,WAAe,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAAC,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAQlvD,gBAAgB,QARkwD,EAAiB,SAAS,MAAM,IAAI,CAAC,GAAK,CAAC,aAAa,WAAW,eAAe,CAAM,CAAC,MAAM,UAAA,YAAU,SAAS,QAAQ,GAAG,WAAWD,WAAS,MAAM,CAAM,CAAC,YAAY,WAAW,oBAAoB,gBAAgB,eAAe,UAAU,gBAAgB,WAAW,UAAU,gBAAgB,CAAC,WAAA,aAAW,eAAe,YAAY,QAAQ,kBAAA,oBAAkB,CAAC,CAAO,iBAAiBC,yBAAuB,MAAM,SAAS,CAAM,CAAC,sBAAsB,OAAO,yBAAyB,YAAY,CAAO,gBAAgB,sBAAsB,MAAM,GAAG,OAAO,CAAC,MAAM,UAAU,WAAW,kBAAkB,CAAC,KAAK,EAAG,CAAO,cAAc,sBAAsB,MAAM,GAAG,OAAO,CAAC,MAAM,UAAU,WAAW,kBAAkB,CAAC,IAAI,EAAG,CAAC,mBAAmB,YAAY,CAAC,QAAQ,gBAAgB,CAAC,CAAgC,IAAM,kBAAkB,GAAGX,oBAA2C,CAAO,KAAKY,GAAa,KAAK,CAAO,gBAAoB,cAAc,YAA6C,gBAAgBC,IAAa,CAAgD,OAAvB,sBAAsB,CAAqB,EAAK,YAAY,CAAC,GAAG,UAAU,gBAAgB,SAAsB,EAAKN,WAAS,CAAC,QAAQ,SAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMF,cAAY,GAAGJ,uBAAqB,CAAC,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC,YAAY,eAAe,CAAC,SAAsB,EAAM,OAAO,IAAI,CAAC,GAAG,UAAU,GAAG,gBAAgB,UAAU,GAAG,kBAAkB,gBAAgBgB,YAAU,WAAW,CAAC,mBAAmB,sBAAsB,iBAAiB,GAAsB,iBAAiB,SAAS,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC,GAAG,MAAM,CAAC,GAAGhB,uBAAqB,CAAC,UAAU,CAAC,mBAAmB,eAAe,CAAC,CAAC,YAAY,eAAe,CAAC,SAAS,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAkC,iBAAiB,SAAS,YAAY,MAAM,CAAC,gBAAgB,qBAAqB,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,CAAC,kBAAkB,mBAAmB,CAAC,CAAC,aAAa,EAAe,EAAK,0BAA0B,CAAC,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,2BAA4C,iBAAiB,SAAS,sBAAsB,SAAsB,EAAK,OAAO,CAAC,OAAO,OAAO,GAAG,YAAY,oBAAoB,GAAK,SAAS,YAAY,KAAK,GAAK,QAAQ,cAAc,QAAQ,GAAK,OAAO,OAAO,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,uEAAuE,QAAQ,SAAS,OAAO,0FAA0F,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,gFAAgF,yPAAyP,4MAA4M,yGAAyG,2WAA2W,8DAA8D,wEAAwE,CAQnlL,eAAe,mBAAgB,gBAAgB,gBAAgB,YAAY,aAAa,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,GAAG,CAAC,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,CAAC,aAAa,CAAC,sBAAsB,eAAe,CAAC,MAAM,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,6BAA6B,GAAK,CAAC,ICR2Q,SAASiB,uBAAqB,UAAU,GAAG,SAAS,CAAC,IAAM,cAAc,EAAE,CAAsF,OAArF,UAAU,QAAQ,SAAS,SAAS,OAAO,OAAO,cAAc,UAAU,SAAS,CAAC,CAAQ,qPAA50B,uBAAoK,8BAAkE,sBAA4B,iBAAyH,iBAAoH,CAAM,eAAe,SAASC,kBAAU,CAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,GAAK,CAAC,CAAOC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,CAA8LC,cAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,SAAS,CAAOC,cAAY,CAAC,MAAM,YAAY,CAAC,IAAM,OAAOC,GAAiB,oBAAoB,CAAO,WAAW,OAAO,OAAO,WAAiB,aAAaC,QAAmB,CAAC,GAAG,OAAO,WAAW,EAAE,CAAC,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,aAAsB,SAAS,CAAC,EAASC,WAAS,OAAO,OAAOC,IAAe,CAAOC,YAAU,CAAC,OAAO,GAAG,MAAM,GAAG,UAAgB,CAAC,GAAG,MAAM,EAASC,0BAAwB,MAAM,WAAe,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAAC,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAQthD,gBAAgB,QARsiD,EAAiB,SAAS,MAAM,IAAI,CAAC,GAAK,CAAC,aAAa,WAAW,eAAe,CAAM,CAAC,MAAM,UAAA,YAAU,SAAS,QAAQ,GAAG,WAAWD,WAAS,MAAM,CAAM,CAAC,YAAY,WAAW,oBAAoB,gBAAgB,eAAe,UAAU,gBAAgB,WAAW,UAAU,gBAAgB,CAAC,eAAe,YAAY,gBAAgB,QAAQ,kBAAA,oBAAkB,CAAC,CAAO,iBAAiBC,yBAAuB,MAAM,SAAS,CAA2D,kBAAkB,GAAGT,oBAAlDU,YAA6F,CAAO,KAAKC,GAAa,KAAK,CAAO,gBAAgBC,IAAa,CAAO,kBAAkB,sBAAsB,CAAC,OAAoB,EAAK,YAAY,CAAC,GAAG,UAAU,gBAAgB,SAAsB,EAAKN,WAAS,CAAC,QAAQ,SAAS,QAAQ,GAAM,SAAsB,EAAKH,aAAW,CAAC,MAAMD,cAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,OAAO,YAAY,SAAsB,EAAM,OAAO,EAAE,CAAC,GAAG,UAAU,GAAG,gBAAgB,UAAU,GAAG,GAAG,kBAAkB,gBAAgBW,YAAU,WAAW,CAAC,gBAAgB,mBAAmB,SAA0B,iBAAiB,SAAS,YAAY,IAAI,KAAK,KAAK,MAAM,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,GAAGf,uBAAqB,CAAC,kBAAkB,CAAC,mBAAmB,IAAA,GAAU,CAAC,CAAC,YAAY,eAAe,CAAC,SAAS,CAAc,EAAK,0BAA0B,CAAC,OAAO,GAAG,MAAM,OAAO,GAAG,mBAAmB,GAAG,IAAI,IAAI,mBAAmB,QAAQ,IAAI,EAAE,IAAI,GAAG,SAAsB,EAAK,OAAO,IAAI,CAAC,UAAU,0BAA2C,iBAAiB,SAAS,sBAAsB,SAAsB,EAAKC,kBAAU,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,QAAQ,YAAY,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAKe,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKP,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,SAAS,CAAC,kBAAkB,CAAC,qBAAqB,wEAAwE,CAAC,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,GAAGT,uBAAqB,CAAC,kBAAkB,CAAC,SAAsB,EAAKS,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,gFAAgF,8SAA8S,wGAAwG,iHAAiH,yWAAyW,GAAGQ,MAAgB,CAQp/K,eAAe,mBAAgB,gBAAgB,gBAAgB,YAAY,SAAS,gBAAgB,aAAa,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,6JAA6J,IAAI,sEAAsE,OAAO,MAAM,CAAC,CAAC,OAAO,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,GAAG,wBAAwBC,QAAkB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,ICR1E,SAAS,qBAAqB,UAAU,GAAG,SAAS,CAAC,IAAM,cAAc,EAAE,CAAsF,OAArF,UAAU,QAAQ,SAAS,SAAS,OAAO,OAAO,cAAc,UAAU,SAAS,CAAC,CAAQ,gUAAv5D,uBAAgR,8BAAkE,sBAA4B,iBAA8I,iBAAyH,iBAA0H,iBAA0H,iBAA0H,iBAA0H,iBAAmH,iBAAiH,iBAAkH,CAAM,aAAa,SAASC,kBAAQ,CAAO,eAAe,SAASC,gBAAU,CAAO,cAAc,SAASC,kBAAS,CAAO,YAAY,SAASC,kBAAO,CAAO,WAAW,CAAC,YAAY,YAAY,CAAOC,oBAAkB,eAAqBC,oBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,CAA8L,YAAY,CAAC,QAAQ,GAAG,MAAM,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,SAAS,CAAO,cAAc,GAAG,OAAO,CAAC,IAAI,IAAM,OAAO,KAAM,GAAG,KAAK,OAAO,KAAM,SAAS,OAAO,KAAgG,UAAU,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAjI,CAAC,OAAO,IAAI,MAAM,EAAE,SAAS,IAAI,KAAK,SAAS,CAAyG,CAAO,YAAY,CAAC,MAAM,YAAY,CAAC,IAAM,OAAOC,GAAiB,oBAAoB,CAAO,WAAW,OAAO,OAAO,WAAiB,aAAaC,QAAmB,CAAC,GAAG,OAAO,WAAW,EAAE,CAAC,KAAK,UAAU,WAAW,CAAC,CAAC,CAAC,OAAoB,EAAK,oBAAoB,SAAS,CAAC,MAAM,aAAsB,SAAS,CAAC,EAASC,0BAAwB,CAAC,QAAQ,YAAY,OAAO,YAAY,CAAO,SAAS,OAAO,OAAOC,IAAe,CAAOC,YAAU,CAAC,OAAO,GAAG,MAAM,GAAG,UAAgB,CAAC,GAAG,MAAM,QAAQF,0BAAwB,MAAM,UAAU,MAAM,SAAS,YAAY,EAAS,wBAAwB,MAAM,WAAe,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAAC,MAAM,iBAAwB,SAAS,KAAK,IAAI,CAUjhG,gBAAgB,QAViiG,EAAiB,SAAS,MAAM,IAAI,CAAC,IAAM,YAAYG,GAAO,KAAK,CAAO,WAAW,KAAK,YAAkB,gBAAgBC,IAAa,CAAM,CAAC,aAAa,WAAW,eAAe,CAAO,kBAAkB,sBAAsB,CAAM,CAAC,MAAM,UAAA,YAAU,SAAS,QAAQ,GAAG,WAAWF,WAAS,MAAM,CAAM,CAAC,YAAY,WAAW,oBAAoB,gBAAgB,eAAe,UAAU,gBAAgB,WAAW,UAAU,gBAAgB,CAAC,WAAW,eAAe,YAAY,IAAI,WAAW,QAAQ,kBAAA,oBAAkB,CAAC,CAAO,iBAAiB,uBAAuB,MAAM,SAAS,CAAuJ,kBAAkB,GAAGN,oBAA9IS,YAAsBC,YAAuBC,YAAuBC,UAAuBC,YAA8F,CAAC,OAAoB,EAAK,YAAY,CAAC,GAAG,UAAU,gBAAgB,SAAsB,EAAK,SAAS,CAAC,QAAQ,SAAS,QAAQ,GAAM,SAAsB,EAAK,WAAW,CAAC,MAAM,YAAY,SAAsB,EAAK,OAAO,OAAO,CAAC,GAAG,UAAU,GAAG,gBAAgB,UAAU,GAAG,kBAAkB,gBAAgBC,YAAU,WAAW,CAAC,mBAAmB,UAA2B,iBAAiB,SAAS,YAAY,IAAI,WAAW,MAAM,CAAC,gBAAgB,oEAAoE,GAAG,MAAM,CAAC,GAAG,qBAAqB,CAAC,UAAU,CAAC,mBAAmB,SAAS,CAAC,CAAC,YAAY,eAAe,CAAC,SAAsB,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,YAA6B,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAMC,OAAM,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,QAAQ,2BAA2B,mBAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,CAAC,YAAY,IAAI,WAAW,KAAK,MAAM,YAAY,mBAAmB,OAAO,QAAQ,mBAAmB,IAAI,2FAA2F,OAAO,mUAAmU,CAAC,UAAU,gBAAgB,cAAc,GAAK,mBAAmB,MAAuB,iBAAiB,SAAS,YAAY,MAAM,CAAC,wBAAwB,MAAM,iBAAiB,4BAA4B,sBAAsB,MAAM,uBAAuB,MAAM,iBAAiB,QAAQ,qBAAqB,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,CAAC,GAAG,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,GAAG,IAAI,OAAO,gBAAgB,IAAI,eAAe,KAAK,YAAY,IAAI,WAAW,KAAK,UAAU,SAAS,UAAU,SAAS,MAAM,YAAY,mBAAmB,OAAO,QAAQ,mBAAmB,IAAI,2FAA2F,OAAO,mUAAmU,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,SAAS,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAiC,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,iBAAkC,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKC,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,GAAG,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,kGAAkG,CAAC,SAAS,6BAA6B,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,sBAAsB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,8IAA8I,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAG,mBAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,GAAU,CAAC,CAAC,YAAY,eAAe,CAAC,SAAsB,EAAK,8BAA8B,CAAC,UAAU,2BAA2B,mBAAmB,WAA4B,iBAAiB,SAAS,sBAAsB,KAAK,WAAW,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKT,kBAAQ,CAAC,UAAU,uBAAuB,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,KAAK,WAAW,MAAM,CAAC,OAAO,OAAO,CAAC,QAAQ,aAAa,YAAY,CAAC,MAAM,OAAO,UAAU,GAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,0BAA0B,CAAC,SAAsB,EAAK,8BAA8B,CAAC,UAAU,0BAA0B,iBAAiB,GAAK,iBAAiB,GAAsB,iBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKC,gBAAU,CAAC,WAAW,mBAAmB,aAAa,CAAC,aAAa,GAAM,WAAW,OAAO,CAAC,MAAM,qBAAqB,OAAO,EAAE,CAAC,eAAe,CAAC,YAAY,IAAI,cAAc,GAAM,cAAc,GAAG,CAAC,WAAW,GAAG,OAAO,OAAO,aAAa,CAAC,aAAa,GAAM,WAAW,GAAG,WAAW,OAAO,cAAc,GAAK,YAAY,GAAG,CAAC,GAAG,YAAY,SAAS,YAAY,aAAa,CAAC,WAAW,qBAAqB,cAAc,IAAI,aAAa,GAAM,aAAa,GAAG,WAAW,EAAE,CAAC,YAAY,CAAC,eAAe,IAAI,eAAe,GAAG,WAAW,GAAG,gBAAgB,IAAI,oBAAoB,GAAG,cAAc,GAAG,aAAa,IAAI,iBAAiB,GAAG,aAAa,EAAE,eAAe,EAAE,gBAAgB,IAAI,gBAAgB,IAAI,WAAW,GAAG,cAAc,GAAG,CAAC,YAAY,CAAC,oBAAoB,IAAI,mBAAmB,GAAM,cAAc,OAAO,YAAY,GAAK,wBAAwB,EAAE,mBAAmB,GAAM,oBAAoB,EAAE,QAAQ,MAAM,WAAW,GAAM,UAAU,GAAG,qBAAqB,EAAE,gBAAgB,GAAM,aAAa,GAAM,gBAAgB,IAAI,iBAAiB,GAAM,YAAY,GAAM,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,GAAG,WAAW,EAAE,WAAW,EAAE,YAAY,GAAK,CAAC,YAAY,MAAM,OAAO,EAAE,cAAc,CAAC,gBAAgB,GAAM,gBAAgB,SAAS,YAAY,EAAE,WAAW,GAAM,YAAY,EAAE,CAAC,aAAa,CAAC,cAAc,KAAK,YAAY,IAAI,WAAW,IAAI,UAAU,SAAS,CAAC,YAAY,CAAC,KAAK,IAAI,QAAQ,IAAI,QAAQ,GAAG,SAAS,GAAM,CAAC,MAAM,CAAC,OAAO,OAAO,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,SAA0B,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,QAAyB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,OAAwB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKmB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,IAAI,OAAO,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,mEAAmE,qBAAqB,OAAO,uBAAuB,MAAM,0BAA0B,UAAU,sBAAsB,8CAA8C,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,6BAA6B,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,qBAAqB,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,eAAgC,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,mBAAmB,IAAqB,iBAAiB,SAAS,YAAY,WAAW,UAAU,SAAsB,EAAKP,kBAAS,CAAC,SAAS,GAAK,UAAU,gBAAiC,iBAAiB,SAAS,YAAY,MAAM,CAAC,YAAY,oEAAoE,YAAY,IAAI,WAAW,wEAAwE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,WAA4B,iBAAiB,SAAS,YAAY,WAAW,UAAU,CAAC,CAAC,CAAC,CAAc,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,+BAA+B,mBAAmB,SAA0B,iBAAiB,SAAS,YAAY,WAAW,UAAU,CAAC,CAAC,CAAC,CAAc,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,QAAQ,YAAY,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,gCAAgC,mBAAmB,UAA2B,iBAAiB,SAAS,YAAY,WAAW,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,MAAuB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKkB,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,KAAK,aAAa,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,KAAK,aAAa,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,MAAuB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,SAAS,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,WAAW,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAkC,iBAAiB,SAAS,YAAY,SAAsB,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,MAAuB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,SAAsB,EAAK,KAAK,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,YAAY,GAAK,OAAO,YAAY,aAAa,GAAM,UAAU,EAAE,CAAC,QAAQ,YAAY,aAAa,GAAM,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,SAAS,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,MAAuB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,mCAAmC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,mEAAmE,qBAAqB,QAAQ,uBAAuB,MAAM,0BAA0B,UAAU,sBAAsB,8FAA8F,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,6BAA6B,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,qEAAqE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,SAAsB,EAAKA,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,MAAM,CAAC,kBAAkB,uCAAuC,uBAAuB,mEAAmE,qBAAqB,QAAQ,uBAAuB,MAAM,0BAA0B,UAAU,sBAAsB,8FAA8F,CAAC,SAAS,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,eAAe,CAAC,CAAC,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAiC,iBAAiB,SAAS,YAAY,SAAsB,EAAM,OAAO,IAAI,CAAC,UAAU,iBAAiB,mBAAmB,OAAwB,iBAAiB,SAAS,YAAY,SAAS,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,YAA6B,iBAAiB,SAAS,YAAY,SAAsB,EAAKW,UAAS,CAAC,sBAAsB,GAAK,SAAsB,EAAKX,IAAe,CAAC,SAAsB,EAAK,OAAO,EAAE,CAAC,UAAU,8BAA8B,qBAAqB,YAAY,IAAI,OAAO,MAAM,CAAC,sBAAsB,iGAAiG,CAAC,SAAS,kCAAqC,CAAC,CAAC,CAAC,CAAC,UAAU,gBAAgB,MAAM,CAAC,QAAQ,CAAkB,iBAAiB,SAAS,YAAY,MAAM,CAAC,qBAAqB,wEAAwE,2BAA2B,mBAAmB,gCAAgC,YAAY,CAAC,kBAAkB,MAAM,mBAAmB,GAAK,CAAC,CAAC,CAAC,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,iBAAkC,iBAAiB,SAAS,YAAY,CAAC,CAAc,EAAK,OAAO,IAAI,CAAC,UAAU,gBAAgB,mBAAmB,kBAAmC,iBAAiB,SAAS,YAAY,SAAsB,EAAK,0BAA0B,CAAC,OAAO,GAAG,GAAG,mBAAmB,GAAG,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,GAAG,qBAAqB,CAAC,UAAU,CAAC,EAAE,IAAA,GAAU,CAAC,CAAC,YAAY,eAAe,CAAC,SAAsB,EAAK,8BAA8B,CAAC,UAAU,2BAA4C,iBAAiB,SAAS,sBAAsB,OAAO,YAAY,kBAAkB,GAAK,QAAQ,YAAY,SAAsB,EAAKN,kBAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAW,CAAC,kFAAkF,kFAAkF,uRAAuR,kTAAkT,kVAAkV,4RAA4R,gSAAgS,qKAAqK,sLAAsL,yGAAyG,2KAA2K,wRAAwR,sTAAsT,oUAAoU,mrBAAmrB,sRAAsR,6WAA6W,uHAAuH,8cAA8c,oUAAoU,8XAA8X,qRAAqR,qKAAqK,4HAA4H,oRAAoR,0QAA0Q,gSAAgS,wTAAwT,oRAAoR,yGAAyG,uGAAuG,0FAA0F,kEAAkE,8DAA8D,+JAA+J,yIAAyI,yGAAyG,GAAGkB,MAAgB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAAiB,GAAGC,MAAiB,udAAud,CAU/uwC,eAAe,mBAAgB,gBAAgB,gBAAgB,YAAY,SAAS,gBAAgB,aAAa,CAAC,OAAO,OAAO,MAAM,KAAK,CAAC,oBAAoB,gBAAgB,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,YAAY,CAAC,aAAa,CAAC,UAAU,SAAS,CAAC,MAAM,UAAU,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,0EAA0E,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,wDAAwD,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,cAAc,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uGAAuG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,uLAAuL,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,QAAQ,OAAO,SAAS,MAAM,SAAS,aAAa,QAAQ,aAAa,oGAAoG,IAAI,wEAAwE,OAAO,MAAM,CAAC,CAAC,cAAc,oBAAoB,OAAO,SAAS,MAAM,SAAS,aAAa,eAAe,IAAI,yEAAyE,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,GAAG,YAAY,GAAG,wBAAwBC,QAAkB,CAAC,GAAG,wBAAwBC,QAAmB,CAAC,GAAG,wBAAwBC,QAAmB,CAAC,GAAG,wBAAwBC,MAAmB,CAAC,GAAG,wBAAwBC,QAAmB,CAAC,CAAC,CAAC,6BAA6B,GAAK,CAAC,CAAC,gBAAgB,OAAO,CAAC,MAAM,MAAM,WAAwB,QAAQ,OAAc,QAAQ,WAAW,CAAC,cAAc9B,kBAAQ,EAAE,CAAC,QAAQ,CAAC,cAAcG,kBAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAG,yQCV5wF,uBAA+P,8BAA8C,sBAA4B,iBAAmG,iBAAyE,CAAM,YAAY,SAAS4B,kBAAO,CAAO,YAAY,SAASC,kBAAO,CAAO,YAAY,CAAC,UAAU,iDAAiD,UAAU,wBAAwB,UAAU,gDAAgD,UAAU,sBAAsB,CAAyD,kBAAkB,eAAqB,kBAAkB,CAAC,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,kBAAkB,UAAU,mBAAmB,CAA2D,gBAAgB,EAAE,CAAO,eAAe,OAAO,KAAK,gBAAgB,CAAO,MAAM,CAAC,kFAAkF,kFAAkF,8TAA8T,uNAAuN,0JAA0J,sHAAsH,oEAAoE,CAAO,aAAa,CAAC,UAAU,iDAAiD,UAAU,wBAAwB,UAAU,gDAAgD,UAAU,sBAAsB,CAAO,WAAW,CAAC,SAAyB,qBAAqB,CAAoB,KAAyB,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,MAAM,CAAC,yBAAyB,GAAG,CAAC,CAAS,wBAAwB,CAAC,gBAAgB,YAAY,QAAQ,YAAY,MAAM,YAAY,OAAO,YAAY,CAAO,UAAU,CAAC,MAAM,OAAO,GAAG,cAAc,MAAM,GAAG,UAAgB,CAAC,GAAG,MAAM,UAAU,OAAO,MAAM,WAAW,wEAAwE,UAAU,eAAe,MAAM,UAAU,QAAQ,wBAAwB,MAAM,UAAU,MAAM,SAAS,YAAY,EAAS,UAAuB,EAAiB,SAAS,MAAM,IAAI,CAAC,IAAM,YAAYC,GAAO,KAAK,CAAO,WAAW,KAAK,YAAkB,gBAAgBC,IAAa,CAAM,CAAC,aAAa,WAAW,eAAe,CAAM,CAAC,MAAM,UAAA,YAAU,SAAS,QAAQ,UAAU,UAAU,SAAS,GAAG,WAAW,SAAS,MAAM,CAAM,CAAC,YAAY,qBAAqB,8BAA8B,QAAQ,YAAY,GAAM,CAAqE,kBAAkB,GAAG,kBAA2C,CAAsB,OAArB,iBAAiB,EAAE,CAAC,CAAqB,EAAK,0BAA0B,SAAS,CAAC,MAAM,CAAC,iBAAiB,GAAK,iBAAiB,YAAY,kBAAkB,CAAC,SAAsB,EAAM,YAAY,CAAC,GAAG,UAAU,gBAAgB,SAAS,CAAc,EAAK,UAAU,CAAC,MAAM,iDAAiD,CAAC,CAAc,EAAM,OAAO,IAAI,CAAC,GAAG,UAAU,UAAU,GAAG,kBAAkB,iBAAiBC,YAAU,CAAC,uBAAuB,GAAK,IAAI,WAAW,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAc,EAAK,0BAA0B,CAAC,OAAO,GAAG,MAAM,QAAQ,EAAE,EAAE,SAAsB,EAAK,UAAU,CAAC,UAAU,2BAA2B,mCAAmC,GAAK,mBAAmB,UAAU,aAAa,GAAK,KAAK,UAAU,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAKC,mBAAkB,CAAC,WAAW,YAAY,UAAU,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC,CAAC,SAAsB,EAAKL,kBAAO,CAAC,UAAU,UAAU,OAAO,OAAO,GAAG,YAAY,UAAU,UAAU,SAAS,YAAY,KAAK,UAAU,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,YAAY,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAsB,EAAK,MAAM,CAAC,UAAU,iBAAiB,CAAC,CAAc,EAAK,0BAA0B,CAAC,OAAO,KAAK,MAAM,QAAQ,EAAE,IAAI,SAAsB,EAAK,UAAU,CAAC,UAAU,2BAA2B,OAAO,YAAY,QAAQ,YAAY,SAAsB,EAAKK,mBAAkB,CAAC,WAAW,YAAY,UAAU,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC,UAAU,CAAC,QAAQ,YAAY,CAAC,CAAC,SAAsB,EAAKJ,kBAAO,CAAC,OAAO,OAAO,GAAG,YAAY,SAAS,YAAY,MAAM,CAAC,MAAM,OAAO,CAAC,QAAQ,YAAY,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAO,IAAI,QAAgC,SAAS,aAAa,QAAQ,SAAS,aAAa,OAAgL,CAAC,GAAG,MAAM,GAAG,eAAe,QAAQ,KAAK,CAAC,IAAM,SAAS,gBAAgB,KAAK,OAAO,gBAAgB,KAAK,IAAI,MAAM,GAAG,SAAS,IAAI,KAAK,GAAG,EAAG,CAAC,CAA7R,CAAC,GAAG,MAAM,GAAG,eAAe,IAAI,KAA0C,UAAxB,aAAa,KAA2B,KAAK,gBAAgB,KAAK,KAAK,IAAI,CAAC,IAAM,CAAC,CAex7K,gBAAgB,QAAQ,UAAU,IAAI,eAAe,mBAAgB,gBAAgB,gBAAgB,YAAY,mBAAmB,gBAAgB,aAAa,CAAC,OAAO,IAAI,MAAM,KAAK,CAAC,oBAAoB,gBAAgB,CAAC,UAAU,CAAC,MAAM,iBAAiB,KAAK,YAAY,iBAAiB,CAAC,UAAU,CAAC,aAAa,wEAAwE,MAAM,QAAQ,KAAK,YAAY,MAAM,CAAC,CAAC,CAAC,SAAS,gBAAgB,CAAC,CAAC,cAAc,GAAK,MAAM,EAAE,CAAC,CAAC,GAAG,YAAY,GAAG,YAAY,CAAC,CAAC,6BAA6B,GAAK,CAAC,ICH7iB,SAAS,SAAS,CAAC,UAAW,SAAU,MAAO,GAAG,MAAO,CAAC,IAAM,OAAS,CAAC,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACxO,OAAS,CAAC,GAAG,OAAQ,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACnG,OAAS,CAAC,GAAG,OAAQ,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACnG,OAAS,CAAC,GAAG,OAAQ,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACnG,OAAS,CAAC,GAAG,OAAQ,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACnG,OAAS,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACvL,OAAS,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACvL,OAAS,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACvL,OAAS,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACvL,QAAU,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACxL,QAAU,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACxL,QAAU,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACxL,QAAU,CAAC,GAAG,OAAQ,UAAW,IAAA,GAAU,CAC3C,QAAU,CAAC,GAAG,OAAQ,UAAW,wEAAyE,UAAW,CAAC,KAAM,CAAC,KAAM,aAAc,UAAW,YAAY,CAAE,OAAQ,GAAK,CAAC,CACxL,QAAU,aAAa,CAEvB,MADgB,CAAC,UAAW,QAAS,UAAW,OAAQ,UAAW,OAAQ,UAAW,OAAQ,UAAW,OAAQ,UAAW,OAAQ,UAAW,OAAQ,UAAW,QAAS,UAAW,QAAS,UAAW,OAAQ,UAAW,OAAQ,UAAW,QAAS,UAAW,OAAQ,UAAW,QAAS,UAAW,QAAQ,CAC7R,YAAc,EAAE,CAC5C,OAAQ,UAAR,CAAoB,IAAK,YACzB,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,OAAOK,IAAoB,aAAc,CAAC,MAAO,CAAC,MAAM,UAAa,CAAC,CAAG,eAAkBA,IAAoBC,kBAAc,CAAC,GAAG,MAAO,IAAK,eAAgB,MAAO,UAAW,QAAQ,cAAc,GAAG,CAAC,CAAE,SAAS,GAAK,CAAC,CAAC,CAC3N,QAAW,OAAO,SAAS,GAAM,EACjC,SAAgB,6BAA6B,QAAS,CAAC,OAAQ,QAAR,CAAkB,IAAK,YAC9E,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,IAAK,YACL,MAAO,CAAC,CAAC,KAAM,UAAW,WAAY,sBAAsB,CAAE,CAAC,KAAM,SAAU,WAAY,iDAAiD,CAAE,CAAC,KAAM,SAAU,WAAY,gDAAgD,CAAE,CAAC,KAAM,SAAU,WAAY,wBAAwB,CAAC,CACnR,QAAW,QAKT,eAAsB,YAAY,CAAE,QAAS,cAAe,SAAU,kBAAoB,CACzF,IAAM,YAAc,OAAO,SAAS,KAAK,SAAS,CA2E5C,KAAOD,IAAoBiB,oBAA4B,CAC5D,SANmDjB,IAAoBgB,iCAAyC,CAChH,SATkChB,IAClCe,wBACA,CACC,SA/Dcf,IACfE,SACA,CACC,UAAW,GACX,YAAa,OACb,QACA,cACA,OACA,gBACA,aACA,aAAcC,SAAkB,OAAO,2CAA2B,CAClE,gBAAiB,IAAA,GACjB,SACA,QACA,oBAAqB,IAAA,GACrB,iBAAkB,6CAClB,UACK,SAAW,OAkCX,IAAA,QAlCgC,CACtC,GAAI,MAAO,CACV,QAAQ,IAAI,gEAAgE,CAC5E,OAGD,OAAOA,KAAY,SAAY,CAqB9B,OAAO,+BApBc,CACpB,UAAW,EACX,OAAQ,CACUC,gBACFC,cACJC,UACX,CACD,MAAO,CACN,cAAeN,IACf,SAAUO,IACV,KAAMC,IACN,YAAaC,GACb,UAAWC,GACX,OAAQC,GACR,SAAUC,GACV,gBAAiBC,GACjB,CACD,YAAa,CAAE,aAAA,GAAc,CAC7B,CAID,GAAM,CAAE,iBAAoB,MAAM,OAAO,oCACzC,MAAO,CACN,QAAS,iBAAiB,CAC1B,EACA,IACC,CAEF,2BAA4B,GAC5B,eAAgB,SAChB,mBAAoB,IAAIC,cAAuB,OAAO,8DAA+F,CACrJ,wBAAyB,iBACzB,CACD,CAMC,MAAO,CAAC,mBAAoB,GAAM,kBAAmB,GAAO,uCAAwC,GAAO,eAAgB,GAAO,0BAA2B,GAAM,eAAgB,GAAM,+BAAgC,GAAO,WAAY,GAAM,CAClP,CACD,CAIA,CAAC,CAKD,MAAO,CAAC,OAAQ,CAAC,MAAO,CAAC,KAAM,CAAC,MAAO,IAAK,KAAM,OAAQ,MAAO,OAAO,CAAE,QAAS,EAAG,OAAQ,EAAG,SAAU,GAAO,QAAS,EAAG,QAAS,EAAG,MAAO,EAAG,WAAY,CAAC,QAAS,GAAI,MAAO,EAAG,SAAU,GAAK,KAAM,CAAC,IAAM,EAAG,IAAM,EAAE,CAAE,KAAM,EAAG,UAAW,IAAK,KAAM,QAAQ,CAAE,EAAG,MAAO,EAAG,MAAM,CAAC,CAAE,OAAQ,EAAE,CAAC,CAC3S,CAAC,CAIF,OADA,MAAM,YACC,KAuBR,SAAS,OAAQ,CACX,WACL,OAAO,gBAAgB,KAAK,UAAU,CAGvC,eAAe,KAAK,cAAe,UAAW,CAC7C,SAAS,YAAY,MAAO,UAAW,YAAc,GAAM,CAC1D,GAAI,MAAM,QAAU,OAAO,uBAAwB,OAEnD,IAAM,eAAiB,WAAW,eAClC,GAAI,YAGH,IAFA,QAAQ,KAAK;EAA4S,MAAO,eAAe,CAE3U,KAAK,QAAQ,CAAG,IAAM,YAE1B,QAAQ,MAAM;EAA+G,MAAO,eAAe,CAEpJ,MAAM,YAAc,wCAA0C,4BAA6B,CAC1F,QAAS,OAAO,MAAM,CACtB,eACA,MAAO,eAAiB,IAAA,GAAY,iBAAiB,OAAS,OAAO,MAAM,OAAU,SAAW,MAAM,MAAQ,KAC9G,CAAC,CAGH,GAAI,CACH,IAAI,QAAS,SAAU,cAAeI,cAAa,UACnD,GAAI,cACH,UAAY,KAAK,MAAM,UAAU,QAAQ,gBAAmB,CAC5D,QAAU,UAAU,QACpB,SAAW,UAAU,SACrB,cAAgB,UAAU,cAC1B,cAAc,UAAU,YAExB,QAAUC,wBAA+B,OAAQ,QAAQ,KACnD,CACN,wBAA+B,OAAQ,IAAA,GAAU,CAIjD,IAAM,YAA8C,YAAY,iBAAiB,aAAa,CAAC,IAAI,cAAc,KAAK,KAAKC,IAAE,OAAS,QAAQ,EAAE,YAChJ,GAAI,YAAa,CAChB,IAAMC,YAAY,IAAI,gBAAgB,YAAY,CAClD,QAAUA,YAAU,IAAI,KAAK,CAC7B,SAAWA,YAAU,IAAI,SAAS,CAClC,IAAK,GAAM,CAAC,IAAK,SAAUA,YAAU,SAAS,CACxC,IAAI,WAAW,OAAO,GAC3B,gBAAkB,EAAE,CACpB,cAAc,IAAI,MAAM,EAAE,EAAI,OAGhC,GAAI,CAAC,SAAW,CAAC,SAAU,CAC1B,IAAMA,YAAYC,0BAAiC,OAAQ,mBAAmB,SAAS,SAAS,CAAE,GAAM,QAAQ,CAChH,QAAUD,YAAU,QACpB,SAAWA,YAAU,SACrB,cAAgBA,YAAU,eAK5B,IAAM,YAAc,YAAY,CAC/B,QACA,SACA,cACA,iBAAkB,WAAW,iBAC7B,CAAC,CAGK,SAAW,SACf,SAAY,CACjB,IAAM,MAAQ,OAAO,SAEf,gBAAkB,UAClB,aAAe,QAAQ,MAAM,CAAE,MAAU,SAAoC,KAAO,SAAhC,KAAO,UAAkC,CAAC,KAEhG,iBAAmB,WAAW,kBAAoB,KACtD,GAAI,mBAAqB,MAAQ,OAAO,cAAgB,gBAAiB,CACtE,IAAM,MAAQ,MAAM,gBAAgB,MAAM,iBAAiB,CACrD,CAAC,MAAQ,OAAO,OAAO,cAAc,CACvC,OAAS,OAAO,MAAS,WAC5B,iBAAoB,MAAM,MAAM,kBAAkB,KAAM,cAAgB,IAAA,GAAU,EAAK,MAI3F,IAAM,wBAA0B,KAAK,gBAAgB,CAAC,iBAAiB,CACjE,SAAW,wBAAwB,SACnC,OAAS,wBAAwB,OAIvC,MAAM,IAAI,QAAS,SAAY,CAC1B,SAAS,aACZ,SAAS,iBAAiB,qBAAsB,QAAS,CAAE,KAAM,GAAM,CAAC,CAExE,SAAS,EAET,CAEF,OAAO,gBAAgB,KAAK,CAC3B,0BACA,CACC,aAAc,cAAgB,KAC9B,QAAS,EACT,UAAW,OAAO,MAAQ,IAC1B,iBACA,aAAc,cAAgB,KAC9B,UAAW,OAAO,oBAAsB,QACxC,SAAU,OAAO,SACjB,SAAU,SAAS,UAAY,KAC/B,IAAK,OAAO,SAAS,KACrB,SAAU,OAAO,SAAS,UAAY,KACtC,SAAU,OAAO,SAAS,UAAY,KACtC,KAAM,OAAO,SAAS,MAAQ,KAC9B,OAAQ,OAAO,SAAS,QAAU,KAClC,SACA,OACA,CACD,QACA,CAAC,CAGF,MAAME,YAAmB,CAAE,SAAU,aAAc,2BAA4B,GAAM,cAAe,QAAS,CAAC,CAE9G,SAAS,cAAc,IAAI,YAAY,kBAAmB,CACzD,OAAQ,CAAE,aAAc,cAAgB,KAAM,CAC9C,CAAC,CAAC,IACA,CAID,IAAM,KAAO,MAAM,YACf,eAGH,qBAA4B,iCAAoC,CAC/D,+BAAsCL,cAAY,CAClD,OAAO,gCAAgCA,cAAY,EAClD,EAIsB,MAAQ,IAAM,IAAI,CAAGM,SACvB,CACrB,oBAA2B,CACjB,2BAAkC,CAC5C,IAAqB,UAAW,KAAM,CAAE,mBAAoB,YAAa,CAAC,EACzE,EAGF,IAAoB,UAAW,CAAE,mBAAoB,YAAa,CAAC,CAAC,OAAO,KAAK,OAEzE,MAAO,CAEf,MADA,YAAY,MAAO,IAAA,GAAW,GAAM,CAC9B,gGA5KR,kDAzJiC,sBAEJ,0BACU,cACI,iBAC2E,CAEhH,OAAS,CAAC,UAAW,CAAC,SAAU,CAAC,UAAW,WAAY,UAAW,SAAU,UAAW,aAAa,CAAE,KAAMrB,SAAkB,OAAO,8DAAgG,CAAE,KAAM,IAAI,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,aAAc,UAAW,SAAU,UAAW,WAAW,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,eAAe,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,aAAc,UAAW,SAAU,UAAW,WAAW,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,gBAAgB,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAU,UAAW,aAAc,UAAW,WAAW,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,QAAQ,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,aAAc,UAAW,SAAU,UAAW,WAAW,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,YAAY,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,eAAe,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAU,UAAW,OAAO,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,QAAQ,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,eAAe,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,eAAe,CAAE,UAAW,CAAC,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,SAAS,CAAE,UAAW,CAAC,SAAU,EAAE,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,WAAW,CAAE,UAAW,CAAC,aAAc,YAAa,SAAU,CAAC,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,mBAAmB,CAAE,UAAW,CAAC,aAAc,YAAa,SAAU,CAAC,UAAW,UAAW,UAAW,SAAS,CAAE,KAAMA,SAAkB,OAAO,8DAAgG,CAAE,KAAM,cAAc,CAAC,CAEtqG,QAAU,CAAC,CAAC,KAAM,QAAS,GAAI,UAAW,KAAM,UAAW,KAAM,GAAI,cAAe,MAAM,CAAC,CAC3F,gBAAkB,CAAC,UAAW,UAAa,MAAM,OAAO,gEAAmG,MAAU,UAAW,UAAa,MAAM,OAAO,gEAAmG,MAAS,CACtT,aAAe,mEAqDf,UAAY,OAAO,SAAa,IAChC,MAAQ,WAAa,wDAAwD,KAAK,UAAU,UAAU,CAwFxG,UAAW,CACd,OAAO,4BAA8B,mBAAoB,uBACjDH,IAAoByB,iBAAyB,CAAE,MAAO,qCAAuC,iBAAmB,SAAW,mBAAqB,IAAK,CAAC,CAI9J,OAAO,gBAAkB,OAAO,iBAAmB,EAAE,CAGrD,sBAA6B,CAG7B,qCAA4C,CAE5C,IAAM,UAAY,SAAS,eAAe,OAAO,CAE7C,oBAAqB,UAAU,QAAS,KAAK,GAAM,UAAU,CAC5D,KAAK,GAAO,UAAU"}