{"version":3,"file":"ComponentWrapper.CUl5ZeiG.mjs","names":["useCallback"],"sources":["https:/framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/4uA71TWP0uSyqhDERFA6/_framer_utils.js","https:/framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/zjzJWDPUtPV5wPtoEwCN/_queries.js","https:/framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/T3pmu5HZJD7fA9qJvLoW/_atoms.js","https:/framerusercontent.com/modules/tdCHCV0pSkxlDaX5GkOX/DghEpnnhgC2rfmZyUB3b/_useShopify.js","https:/framerusercontent.com/modules/fWwtzMT2tYXMW4IKB8On/YQLekiPF3wNhgPh7ig35/_test_data.js","https:/framerusercontent.com/modules/hQlZBgGeLDev5WuUJA4d/W5z3USVGl6mIjAon3RMp/ComponentWrapper.js"],"sourcesContent":["import{ControlType,RenderTarget}from\"framer\";export const ProductBaseControls={productID:{title:\"Product ID\",type:ControlType.String}};export const isOnCanvas=()=>RenderTarget.current()===RenderTarget.canvas;export const ConfigControls={config:{type:ControlType.Object,hidden:()=>true,controls:{storefrontToken:{type:ControlType.String},storeDomain:{type:ControlType.String},countryIsoCode:{type:ControlType.String,defaultValue:\"US\"},languageIsoCode:{type:ControlType.String,defaultValue:\"EN\"},testMode:{type:ControlType.Boolean,defaultValue:true}}},font:{type:ControlType.Font,hidden:()=>true}};export function cn(...styles){let final={};styles.forEach(style=>{if(style){final={...final,...style};if(typeof style.border===\"object\"){final={...final,...style.border};}if(typeof style.font===\"object\"){final={...final,...style.font};}if(style.hidden){final={...final,display:\"none\"};}}});return final;}export const textProperties=(fontSize=16,color)=>{return{fontSize:{type:ControlType.Number,min:6,max:100,defaultValue:fontSize},color:{type:ControlType.Color,defaultValue:color},font:{type:ControlType.Font,displayTextAlignment:true,defaultFontType:\"sans-serif\"},padding:{type:ControlType.Padding}};};\nexport const __FramerMetadata__ = {\"exports\":{\"textProperties\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cn\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ProductBaseControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"ConfigControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_framer_utils.map","const cartReturnData=`\nid\ncreatedAt\nupdatedAt\ncheckoutUrl\nlines(first: 250) {\n  edges {\n    node {\n      id\n      quantity\n      merchandise {\n        ... on ProductVariant {\n          id\n          title\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          product {\n            id\n            title\n          }\n          image {\n            url\n            width\n            height\n            altText\n          }\n          selectedOptions {\n            value\n            name\n          }\n        }\n      }\n      attributes {\n        key\n        value\n      }\n    }\n  }\n}\ncost {\n  totalAmount {\n    amount\n    currencyCode\n  }\n  subtotalAmount {\n    amount\n    currencyCode\n  }\n  totalTaxAmount {\n    amount\n    currencyCode\n  }\n  totalDutyAmount {\n    amount\n    currencyCode\n  }\n}`;export const productsQuery=({sellingPlan,pageInfo})=>`{\n  products(first: 250${pageInfo?`, after: \"${pageInfo}\"`:\"\"}) {\n    nodes {\n      compareAtPriceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      totalInventory\n      availableForSale\n      collections(first: 250) {\n        nodes {\n          title\n          handle\n        }\n      }\n      handle\n      id\n      images(first: 15) {\n        nodes {\n          altText\n          height\n          url\n          width\n        }\n      }\n      options {\n        id\n        name\n        values\n      }\n      priceRange {\n        minVariantPrice {\n          amount\n          currencyCode\n        }\n        maxVariantPrice {\n          amount\n          currencyCode\n        }\n      }\n      productType\n      tags\n      title\n      description\n      descriptionHtml\n      vendor\n      updatedAt\n      createdAt\n      featuredImage {\n        url\n      }\n      ${sellingPlan?`\n      requiresSellingPlan\n      sellingPlanGroups(first: 250) {\n        nodes {\n          name\n          sellingPlans(first: 250) {\n            nodes {\n              id\n              name\n            }\n          }\n        }\n      }`:\"\"}\n      variants(first: 250) {\n        nodes {\n          title\n          availableForSale\n          compareAtPriceV2 {\n            amount\n            currencyCode\n          }\n          priceV2 {\n            amount\n            currencyCode\n          }\n          id\n          image {\n            url\n            width\n            height\n            altText\n          }\n          currentlyNotInStock\n          requiresShipping\n          quantityAvailable\n          taxable\n          selectedOptions {\n            value\n            name\n          }\n          ${sellingPlan?`\n          sellingPlanAllocations(first: 250) {\n            nodes {\n              checkoutChargeAmount {\n                amount\n                currencyCode\n              }\n              sellingPlan {\n                name\n                id\n              }\n            }\n          }`:\"\"}\n        }\n      }\n    }\n    pageInfo {\n        hasNextPage\n        endCursor\n      }\n    }\n}`;export const createCart=`\n  mutation createCart($cartInput: CartInput) {\n    cartCreate(input: $cartInput) {\n      cart {\n        ${cartReturnData}\n      }\n    }\n  }\n`;export const readCart=`\n  query cartQuery($cartId: ID!) {\n    cart(id: $cartId) {\n      ${cartReturnData}\n    }\n  }\n`;export const addItemsToCart=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineInput!]!) {\n    cartLinesAdd(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const updateCartItems=`\n  mutation addCartLines($cartId: ID!, $lines: [CartLineUpdateInput!]!) {\n    cartLinesUpdate(cartId: $cartId, lines: $lines) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;export const removeCartItems=`\n  mutation removeCartLines($cartId: ID!, $lineIds: [ID!]!) {\n    cartLinesRemove(cartId: $cartId, lineIds: $lineIds) {\n      cart {\n         ${cartReturnData}\n      }\n      userErrors {\n        field\n        message\n      }\n    }\n  }\n`;\nexport const __FramerMetadata__ = {\"exports\":{\"createCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"removeCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"readCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsQuery\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"updateCartItems\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"addItemsToCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_queries.map","import{atom}from\"jotai\";import{productsQuery,createCart,readCart}from\"https://framerusercontent.com/modules/xpqbkEp3IFoaBlvr8BRa/zjzJWDPUtPV5wPtoEwCN/_queries.js\";export async function fetchAllProducts(client,sellingPlan){const products=[];let pageInfo=null;try{do{const query=productsQuery({pageInfo,sellingPlan:false});const response=await client.request(query);products.push(...response.data?.products.nodes);// Update pageInfo for next iteration\nconst responsePageInfo=response.data?.products.pageInfo;pageInfo=responsePageInfo.hasNextPage?responsePageInfo.endCursor:null;console.log(`Fetched ${products.length} products so far...`);}while(pageInfo)return products;}catch(error){console.error(\"Error fetching products:\",error.message);return[];}}export const settingsAtom=atom({enableSellingPlan:false});export const configAtom=atom(null);export const clientAtom=atom(null);export const selectedProductsAtom=atom({});export const productsAtom=atom(async get=>{const sellingPlan=get(settingsAtom).enableSellingPlan;if(!get(clientAtom))return[];const products=await fetchAllProducts(get(clientAtom),sellingPlan);return products;});export const localCartAtom=atom(null);export const createCartAtom=atom(async get=>{const attributes=[];const currentUrl=new URL(window.location.href);// Add all search parameters from the current URL to attributes\ncurrentUrl.searchParams?.forEach((value,key)=>{if(key!==\"key\"){attributes.push({key,value});}});console.log(\"Create Cart\",attributes);return get(clientAtom)?.request(createCart,{variables:{cartInput:{attributes}}}).then(res=>res.data?.cartCreate?.cart);});export const cartAtom=atom(async get=>{const cartId=localStorage.getItem(\"shopifyCartID\");const localCart=get(localCartAtom);if(localCart)return localCart;const client=get(clientAtom);if(!client)return null;if(!cartId)return get(createCartAtom);return client.request(readCart,{variables:{cartId}}).then(res=>{if(res.data?.cart)return res.data.cart;return get(createCartAtom);}).catch(()=>get(createCartAtom));});\nexport const __FramerMetadata__ = {\"exports\":{\"createCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"selectedProductsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"clientAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"SelectedProduct\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"configAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fetchAllProducts\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"settingsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"cartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localCartAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"productsAtom\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_atoms.map","import{useEffect,useCallback}from\"react\";import{createStorefrontApiClient}from\"@shopify/storefront-api-client\";import{useAtomValue,useSetAtom}from\"jotai\";import{productsAtom,clientAtom,configAtom,cartAtom}from\"https://framerusercontent.com/modules/yZBbIevRfN36MGDPpltx/T3pmu5HZJD7fA9qJvLoW/_atoms.js\";import{checkConfigAreSame,debounce}from\"https://framerusercontent.com/modules/7dEgbg7qo3lsQk361YtS/NrF60tPHZRRgADqpoRFr/_utils.js\";export const useShopify=config=>{const debouncedCheck=useCallback(debounce(()=>{checkConfigAreSame();},100),[]);const products=useAtomValue(productsAtom);const cart=useAtomValue(cartAtom);const client=useAtomValue(clientAtom);const setClient=useSetAtom(clientAtom);const setConfig=useSetAtom(configAtom);useEffect(()=>{debouncedCheck();//set config if exist\nif(config&&Object.keys(config).length!==0)setConfig(config);// create the client and store it\nif(!client&&config?.storeDomain&&config?.storefrontToken){setClient(createStorefrontApiClient({storeDomain:config.storeDomain,apiVersion:\"2024-07\",publicAccessToken:config.storefrontToken,customFetchApi:fetch}));}return()=>{debouncedCheck();};},[config]);useEffect(()=>{if(cart){localStorage.setItem(\"shopifyCartID\",cart.id);}},[cart]);return{products,cart};};\nexport const __FramerMetadata__ = {\"exports\":{\"useShopify\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","export const DefaultCart={id:\"Test\",checkoutUrl:\"Test title\",cost:{subtotalAmount:{amount:\"50.0\",currencyCode:\"USD\"},totalAmount:{amount:\"60.0\",currencyCode:\"USD\"},totalTaxAmount:{amount:\"10.0\",currencyCode:\"USD\"},totalDutyAmount:null},lines:{edges:[{node:{id:\"test\",quantity:1,merchandise:{id:\"Test\",title:\"Medium / Red\",priceV2:{amount:\"50.0\",currencyCode:\"USD\"},image:{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},product:{id:\"Test\",title:\"Product Title Test\"},selectedOptions:[{name:\"Size\",value:\"Medium\"}]}}}]}};export const DefaultProduct={id:\"test\",title:\"Product Title Test\",availableForSale:false,compareAtPriceRange:{minVariantPrice:{amount:\"15.0\",currencyCode:\"USD\"}},priceRange:{minVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"},maxVariantPrice:{amount:\"10.0\",currencyCode:\"USD\"}},options:[{id:\"gid://shopify/ProductOption/11329409777957\",name:\"Size\",values:[\"Medium\",\"Small\"]},{id:\"gid://shopify/ProductOption/11329409810725\",name:\"Color\",values:[\"Black\",\"Red\"]}],variants:{nodes:[{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718909733\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:2,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Black\"}],taxable:false,title:\"Medium / Black\"},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880718942501\",priceV2:{amount:\"14.0\",currencyCode:\"CAD\"},quantityAvailable:3,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Medium\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Medium / Red\"},{availableForSale:true,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:true,id:\"gid://shopify/ProductVariant/47880718975269\",priceV2:{amount:\"5.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Black\"}],taxable:true,title:\"Small / Black\"},{availableForSale:false,compareAtPriceV2:{amount:\"30.0\",currencyCode:\"CAD\"},currentlyNotInStock:false,id:\"gid://shopify/ProductVariant/47880719008037\",priceV2:{amount:\"20.0\",currencyCode:\"CAD\"},quantityAvailable:0,requiresShipping:true,selectedOptions:[{name:\"Size\",value:\"Small\"},{name:\"Color\",value:\"Red\"}],taxable:true,title:\"Small / Red\"}]},images:{nodes:[{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600},{altText:\"\",height:720,url:\"https://blocks.astratic.com/img/general-img-square.png\",width:600}]}};\nexport const __FramerMetadata__ = {\"exports\":{\"DefaultCart\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"DefaultProduct\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./_test_data.map","import{jsx as _jsx}from\"react/jsx-runtime\";import{cn}from\"https://framerusercontent.com/modules/eAejHXy6apg0StNmpKvK/4uA71TWP0uSyqhDERFA6/_framer_utils.js\";export default function ComponentWrapper({children,style={},hidden=false,productID,config}){const dataAttributes={\"data-shopiframe\":\"component\",\"data-shopiframe-store\":config===null||config===void 0?void 0:config.storeDomain};if(productID===\"EMPTY\")return /*#__PURE__*/_jsx(\"div\",{style:{background:\"#C83E3E\",color:\"#fff\",borderRadius:\"10px\",padding:\"8px\",boxShadow:\"0px 5px 15px 0px #AC1B1B33\",fontWeight:\"600\"},...dataAttributes,children:\"Product ID required for this component\"});if(hidden)return null;return /*#__PURE__*/_jsx(\"div\",{style:cn(style),...dataAttributes,children:typeof children===\"function\"?hidden||productID===\"EMPTY\"?null:children():children});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"ComponentWrapper\",\"slots\":[\"children\"],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ComponentWrapper.map"],"mappings":"qRAAolB,SAAgB,EAAG,GAAG,EAAO,CAAC,IAAI,EAAM,EAAE,CAAwP,OAAvP,EAAO,QAAQ,GAAO,CAAI,IAAO,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,CAAI,OAAO,EAAM,QAAS,WAAU,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,OAAO,EAAK,OAAO,EAAM,MAAO,WAAU,EAAM,CAAC,GAAG,EAAM,GAAG,EAAM,KAAK,EAAK,EAAM,SAAQ,EAAM,CAAC,GAAG,EAAM,QAAQ,OAAO,IAAK,CAAQ,yBAAh1B,CAAa,EAAoB,CAAC,UAAU,CAAC,MAAM,aAAa,KAAK,EAAY,OAAO,CAAC,CAAuF,EAAe,CAAC,OAAO,CAAC,KAAK,EAAY,OAAO,WAAW,GAAK,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,CAAC,YAAY,CAAC,KAAK,EAAY,OAAO,CAAC,eAAe,CAAC,KAAK,EAAY,OAAO,aAAa,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,aAAa,KAAK,CAAC,SAAS,CAAC,KAAK,EAAY,QAAQ,aAAa,GAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,WAAW,GAAK,CAAC,CAA8T,GAAgB,EAAS,GAAG,KAAe,CAAC,SAAS,CAAC,KAAK,EAAY,OAAO,IAAI,EAAE,IAAI,IAAI,aAAa,EAAS,CAAC,MAAM,CAAC,KAAK,EAAY,MAAM,aAAa,EAAM,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,qBAAqB,GAAK,gBAAgB,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAY,QAAQ,CAAC,6BCAvqC,EAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DL,GAAe,CAAC,cAAY,cAAY;uBACjC,EAAS,aAAa,EAAS,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAoDpD,EAAY;;;;;;;;;;;;SAYX,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA4BA,EAAY;;;;;;;;;;;;aAYX,GAAG;;;;;;;;;GASA,EAAW;;;;UAIjB,EAAe;;;;EAIV,EAAS;;;QAGhB,EAAe;;;EAGR,EAAe;;;;WAInB,EAAe;;;;;;;;EAQX,EAAgB;;;;WAIpB,EAAe;;;;;;;;EAQX,EAAgB;;;;WAIpB,EAAe;;;;;;;;KC1NyI,eAAsB,EAAiB,EAAO,EAAY,CAAC,IAAM,EAAS,EAAE,CAAK,EAAS,KAAK,GAAG,CAAC,EAAE,CAAC,IAAM,EAAM,EAAc,CAAC,WAAS,YAAY,GAAM,CAAC,CAAO,EAAS,MAAM,EAAO,QAAQ,EAAM,CAAC,EAAS,KAAK,GAAG,EAAS,MAAM,SAAS,MAAM,CAC3Z,IAAM,EAAiB,EAAS,MAAM,SAAS,SAAS,EAAS,EAAiB,YAAY,EAAiB,UAAU,KAAK,QAAQ,IAAI,WAAW,EAAS,OAAO,qBAAqB,OAAQ,GAAS,OAAO,QAAgB,EAAM,CAAyD,OAAxD,QAAQ,MAAM,2BAA2B,EAAM,QAAQ,CAAO,EAAE,uCADjR,IAA2I,CACsJ,EAAa,EAAK,CAAC,kBAAkB,GAAM,CAAC,CAAc,EAAW,EAAK,KAAK,CAAc,EAAW,EAAK,KAAK,CAAc,EAAqB,EAAK,EAAE,CAAC,CAAc,EAAa,EAAK,KAAM,IAAK,CAAC,IAAM,EAAY,EAAI,EAAa,CAAC,kBAAkH,OAA5F,EAAI,EAAW,CAAyB,MAAM,EAAiB,EAAI,EAAW,CAAC,EAAY,CAArE,EAAE,EAAsF,CAAc,EAAc,EAAK,KAAK,CAAc,EAAe,EAAK,KAAM,IAAK,CAAC,IAAM,EAAW,EAAE,CAC3oB,OAD6pB,IAAI,IAAI,EAAO,SAAS,KAAK,CACrzB,cAAc,SAAS,EAAM,IAAM,CAAI,IAAM,OAAO,EAAW,KAAK,CAAC,MAAI,QAAM,CAAC,EAAI,CAAC,QAAQ,IAAI,cAAc,EAAW,CAAQ,EAAI,EAAW,EAAE,QAAQ,EAAW,CAAC,UAAU,CAAC,UAAU,CAAC,aAAW,CAAC,CAAC,CAAC,CAAC,KAAK,GAAK,EAAI,MAAM,YAAY,KAAK,EAAG,CAAc,EAAS,EAAK,KAAM,IAAK,CAAC,IAAM,EAAO,aAAa,QAAQ,gBAAgB,CAAO,EAAU,EAAI,EAAc,CAAC,GAAG,EAAU,OAAO,EAAU,IAAM,EAAO,EAAI,EAAW,CAA8D,OAAzD,EAAuB,EAAyC,EAAO,QAAQ,EAAS,CAAC,UAAU,CAAC,SAAO,CAAC,CAAC,CAAC,KAAK,GAAS,EAAI,MAAM,KAAY,EAAI,KAAK,KAAY,EAAI,EAAe,CAAG,CAAC,UAAU,EAAI,EAAe,CAAC,CAAvL,EAAI,EAAe,CAA1C,MAAiN,mBCFlnB,IAAsE,IAA2C,IAAmJ,IAAmI,CAAa,EAAW,GAAQ,CAAC,IAAM,EAAeA,EAAY,MAAa,CAAC,GAAoB,EAAG,IAAI,CAAC,EAAE,CAAC,CAAO,EAAS,EAAa,EAAa,CAAO,EAAK,EAAa,EAAS,CAAO,EAAO,EAAa,EAAW,CAAO,EAAU,EAAW,EAAW,CAAO,EAAU,EAAW,EAAW,CAE/Y,OAFgZ,OAAe,GAAgB,CAC5vB,GAAQ,OAAO,KAAK,EAAO,CAAC,SAAS,GAAE,EAAU,EAAO,CACxD,CAAC,GAAQ,GAAQ,aAAa,GAAQ,iBAAiB,EAAU,EAA0B,CAAC,YAAY,EAAO,YAAY,WAAW,UAAU,kBAAkB,EAAO,gBAAgB,eAAe,MAAM,CAAC,CAAC,KAAY,CAAC,GAAgB,GAAK,CAAC,EAAO,CAAC,CAAC,MAAc,CAAI,GAAM,aAAa,QAAQ,gBAAgB,EAAK,GAAG,EAAI,CAAC,EAAK,CAAC,CAAO,CAAC,WAAS,OAAK,mBCFxV,EAAY,CAAC,GAAG,OAAO,YAAY,aAAa,KAAK,CAAC,eAAe,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,YAAY,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,eAAe,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,OAAO,SAAS,EAAE,YAAY,CAAC,GAAG,OAAO,MAAM,eAAe,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,OAAO,MAAM,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAe,CAAC,GAAG,OAAO,MAAM,qBAAqB,iBAAiB,GAAM,oBAAoB,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,CAAC,WAAW,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,gBAAgB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,GAAG,6CAA6C,KAAK,OAAO,OAAO,CAAC,SAAS,QAAQ,CAAC,CAAC,CAAC,GAAG,6CAA6C,KAAK,QAAQ,OAAO,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,KAAK,QAAQ,MAAM,QAAQ,CAAC,CAAC,QAAQ,GAAM,MAAM,iBAAiB,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,SAAS,CAAC,CAAC,KAAK,QAAQ,MAAM,MAAM,CAAC,CAAC,QAAQ,GAAK,MAAM,eAAe,CAAC,CAAC,iBAAiB,GAAK,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAK,GAAG,8CAA8C,QAAQ,CAAC,OAAO,MAAM,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM,QAAQ,CAAC,CAAC,QAAQ,GAAK,MAAM,gBAAgB,CAAC,CAAC,iBAAiB,GAAM,iBAAiB,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,oBAAoB,GAAM,GAAG,8CAA8C,QAAQ,CAAC,OAAO,OAAO,aAAa,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,GAAK,gBAAgB,CAAC,CAAC,KAAK,OAAO,MAAM,QAAQ,CAAC,CAAC,KAAK,QAAQ,MAAM,MAAM,CAAC,CAAC,QAAQ,GAAK,MAAM,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,CAAC,QAAQ,GAAG,OAAO,IAAI,IAAI,yDAAyD,MAAM,IAAI,CAAC,CAAC,CAAC,ICA76E,SAAwB,EAAiB,CAAC,WAAS,QAAM,EAAE,CAAC,SAAO,GAAM,YAAU,UAAQ,CAAC,IAAM,EAAe,CAAC,kBAAkB,YAAY,wBAAwB,GAA6C,YAAY,CAAwR,OAApR,IAAY,QAA4B,EAAK,MAAM,CAAC,MAAM,CAAC,WAAW,UAAU,MAAM,OAAO,aAAa,OAAO,QAAQ,MAAM,UAAU,6BAA6B,WAAW,MAAM,CAAC,GAAG,EAAe,SAAS,yCAAyC,CAAC,CAAI,EAAc,KAAyB,EAAK,MAAM,CAAC,MAAM,EAAG,EAAM,CAAC,GAAG,EAAe,SAAS,OAAO,GAAW,WAAW,GAAQ,IAAY,QAAQ,KAAK,GAAU,CAAC,EAAS,CAAC,kBAAxwB,IAAiH"}