1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1624],{28226:(e,t,r)=>{r.d(t,{W:()=>n});function n(e,t){let r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=t,n.style.display="none",document.body.appendChild(n);try{n.click()}catch(e){throw n.remove(),URL.revokeObjectURL(r),e}window.setTimeout(()=>{n.remove(),URL.revokeObjectURL(r)},6e4)}},41541:(e,t,r)=>{r.d(t,{Qr:()=>o,fV:()=>d});let n=["selected_model","selected_design_id","selected_variation_id","experiment_id","experiment_variant"],a=/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;function i(e){if(!e||"object"!=typeof e||Array.isArray(e))return{};let t={};for(let r of n){let n=e[r];"string"==typeof n&&"experiment_id"!==r&&"experiment_variant"!==r&&("selected_model"===r?["classic","ultra","old-ultra"].includes(n):a.test(n))&&(t[r]=n)}return"one_free_export_v1"===e.experiment_id&&["control","treatment"].includes(String(e.experiment_variant))&&(t.experiment_id="one_free_export_v1",t.experiment_variant=String(e.experiment_variant)),t}function o(e){return i(Object.fromEntries(n.map(t=>[t,e.get(t)])))}function d(e){return i({selected_model:e?.model,selected_design_id:e?.designId,selected_variation_id:e?.variationId,experiment_id:e?.experimentId,experiment_variant:e?.experimentVariant})}},71624:(e,t,r)=>{r.r(t),r.d(t,{downloadFreeExport:()=>s,freeExportPricingUrl:()=>l,handleLegacyFreeExport:()=>f});var n=r(56671),a=r(28226),i=r(41541),o=r(90802),d=r(86424);function l(e,t="dashboard-v2-free-download-followup"){let r=new URLSearchParams({ref:t,returnUrl:e.returnUrl});for(let[t,n]of Object.entries((0,i.fV)({...e,experimentId:"one_free_export_v1",experimentVariant:"treatment"})))r.set(t,n);let n=(0,o.Ay)();return n&&r.set("acquisition_flow_id",n),`/pricing?${r.toString()}`}async function s(e,t,r=()=>{},i=()=>!0){try{let s=await fetch("/api/dashboard/free-export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({designId:e.designId})});if(403===s.status)return"denied";if(!s.ok||!s.headers.get("content-type")?.includes("image/svg+xml"))throw Error("download_unavailable");let c=await s.blob();if(!c.size)throw Error("empty_download");if(!i())return"error";let f=s.headers.get("x-free-export-model")||e.model;return(0,a.W)(c,`svgai-${f||"design"}.svg`),r(),(0,d.trackPostHogEvent)(o.nN.FREE_EXPORT_DOWNLOAD_STARTED,{design_id:e.designId,model:f,experiment_id:"one_free_export_v1",experiment_variant:"treatment"}),n.toast.success("Your free SVG download has started"),await new Promise(e=>window.setTimeout(e,700)),i()&&t(l({...e,model:f||void 0})),"downloaded"}catch{return n.toast.error("Couldn\xe2â¬â¢t download the SVG. Please try again."),"error"}}let c=!1;async function f(e,t,r){try{let n=await fetch("/api/dashboard/free-export?enroll=1",{cache:"no-store"});if(!n.ok)throw Error("export_access_unavailable");let a=await n.json();if("treatment"!==a.variant)return!1;if(c)return!0;c=!0;try{let n={designId:t,returnUrl:`${window.location.pathname}${window.location.search}`};if("download"===e&&t&&(!a.claimedDesignId||a.claimedDesignId===t)&&await s(n,r)!=="denied")return!0;return r(l(n,"results-free-export-paid-gate")),!0}finally{c=!1}}catch{return n.toast.error("Couldn\xe2â¬â¢t check export access. Please try again."),!0}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.