@arudovwen/form-builder-react 1.9.16 → 1.9.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- (function(Me,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(Me=typeof globalThis!="undefined"?globalThis:Me||self,a(Me.FormBuilder={},Me.jsxRuntime,Me.React,Me.uuid,Me.sonner,Me.ReactDOM,Me.reactHookForm,Me.resolvers,Me.yup,Me.CurrencyInput,Me.react,Me.axios,Me.Papa,Me.XLSX,Me.DatePicker,Me.reactRouterDom))})(this,function(Me,a,N,Te,Ne,xr,Re,Cs,Sr,ui,pe,qe,wr,Nr,Cr,Ar){"use strict";function As(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const ne=As(Sr),ks=As(Nr),Fe=N.createContext(void 0),Es={title:"",description:"",id:Te.v4(),questionData:[],disabled:!1,isHidden:!1},Ms=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove"})=>{const[s,t]=N.useState(!1),[l,r]=N.useState({}),[d,u]=N.useState({}),[b,c]=N.useState([Es]),[m,f]=N.useState(()=>{try{const H=sessionStorage.getItem("editor_past");return H?JSON.parse(H):[]}catch(H){return[]}}),[v,x]=N.useState(()=>{try{const H=sessionStorage.getItem("editor_future");return H?JSON.parse(H):[]}catch(H){return[]}});N.useEffect(()=>{n&&n(b)},[b,n]),N.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(m))}catch(H){console.warn("Could not save editor_past to sessionStorage",H)}},[m]),N.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(v))}catch(H){console.warn("Could not save editor_future to sessionStorage",H)}},[v]);const g=N.useRef(Date.now()),y=N.useCallback(H=>{c(q=>{const z=typeof H=="function"?H(q):H;if(JSON.stringify(q)!==JSON.stringify(z)){const K=Date.now();f(U=>{if(U.length>0&&JSON.stringify(U[U.length-1])===JSON.stringify(q))return U;if(K-g.current<800&&U.length>0)return g.current=K,U;g.current=K;const ae=[...U,q];return ae.length>20?ae.slice(ae.length-20):ae}),x([])}return z})},[]),w=N.useCallback(()=>{if(m.length===0)return;const H=m[m.length-1],q=m.slice(0,m.length-1);f(q),x([b,...v]),c(H),i==null||i("UNDO",null)},[m,v,b,i]),h=N.useCallback(()=>{if(v.length===0)return;const H=v[0],q=v.slice(1);x(q),f([...m,b]),c(H),i==null||i("REDO",null)},[m,v,b,i]),p=b,k=m.length>0,S=v.length>0,[C,A]=N.useState(!1),[E,P]=N.useState(null),[M,B]=N.useState([0]),[F,T]=N.useState(""),[L,_]=N.useState(0),D=N.useCallback(()=>{},[]),O=N.useCallback(()=>{const H=Te.v4();y(q=>[...q,{...Es,id:H}]),P(H),B([p.length]),i==null||i("ADD_SECTION",{sectionId:H})},[p,i,y]),I=N.useCallback(H=>{y(o==="isFieldDeleted"||o==="soft"?q=>q.map(z=>{var K;return z.id===H?{...z,isFieldDeleted:!0,questionData:(K=z==null?void 0:z.questionData)==null?void 0:K.map(U=>({...U,isFieldDeleted:!0}))}:z}):q=>q.filter(z=>z.id!==H)),P(null),i==null||i("REMOVE_SECTION",{sectionId:H})},[o,i,y]),$=N.useCallback((H,q)=>{const z=p.find(U=>U.id===q),K=z==null?void 0:z.questionData.find(U=>U.id===H);K&&(y(U=>U==null?void 0:U.map(ae=>{var J;return ae.id!==q?ae:o==="isFieldDeleted"||o==="soft"?{...ae,questionData:(J=ae==null?void 0:ae.questionData)==null?void 0:J.map(re=>{if(K.type==="grid"){if(re.gridId===K.id||re.id===K.id)return{...re,isFieldDeleted:!0}}else if(re.id===H)return{...re,isFieldDeleted:!0};return re})}:{...ae,questionData:ae==null?void 0:ae.questionData.filter(re=>K.type==="grid"?re.gridId!==K.id&&re.id!==K.id:re.id!==H)}})),i==null||i("REMOVE_ELEMENT",{sectionId:q,elementId:H}))},[p,o,y,i]),j=N.useCallback((H,q)=>{const z=p.find(J=>J.id===q);if(!z)return;const K=z==null?void 0:z.questionData.findIndex(J=>J.id===H);if(K===-1)return;const U=z==null?void 0:z.questionData[K],ae=(J,re={})=>({...JSON.parse(JSON.stringify(J)),id:Te.v4(),...re});y(J=>J==null?void 0:J.map(re=>{var oe;if(re.id!==q)return re;const ie=[...re.questionData];if(U.type==="grid"){const ue=(oe=ie==null?void 0:ie.map((Pe,_e)=>({e:Pe,i:_e})).filter(({e:Pe})=>Pe.id===U.id||Pe.gridId===U.id))==null?void 0:oe.map(({i:Pe})=>Pe),ge=ue.length?Math.max(...ue)+1:K+1,fe=Te.v4(),we=ae(U,{});we.id=fe;const ce=ie.filter(Pe=>Pe.gridId===U.id),de=ce==null?void 0:ce.map(Pe=>ae(Pe,{gridId:fe})),Ae=[...ie.slice(0,ge),we,...de,...ie.slice(ge)];return{...re,questionData:Ae}}else if(U.gridId){const ue={...U};delete ue.gridId,delete ue.gridPosition;const ge=ae(ue,{}),fe=ie.reduce((ce,de,Ae)=>de.id===U.gridId||de.gridId===U.gridId?Ae:ce,K),we=[...ie.slice(0,fe+1),ge,...ie.slice(fe+1)];return{...re,questionData:we}}else{const ue=ae(U,{}),ge=[...ie.slice(0,K+1),ue,...ie.slice(K+1)];return{...re,questionData:ge}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:q,elementId:H})},[p,y,i]),G=N.useCallback((H,q)=>{const z=p.find(J=>J.id===q);if(!z)return;const K=z==null?void 0:z.questionData.findIndex(J=>J.id===H);if(K===-1)return;const U=z==null?void 0:z.questionData[K];let ae=null;if(U.type==="grid"){const J=z.questionData.filter(re=>re.gridId===U.id);ae={type:"FORM_BUILDER_CLIPBOARD",element:U,children:J,timestamp:Date.now()}}else if(U.gridId){const J={...U};delete J.gridId,delete J.gridPosition,ae={type:"FORM_BUILDER_CLIPBOARD",element:J,timestamp:Date.now()}}else ae={type:"FORM_BUILDER_CLIPBOARD",element:U,timestamp:Date.now()};if(ae){const J=JSON.stringify(ae);try{localStorage.setItem("form_builder_clipboard",J),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(J).catch(()=>{}),Ne.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:q,elementId:H})}catch(re){console.warn("Could not copy element to clipboard",re),Ne.toast.error("Failed to copy element")}}},[p,i]),V=N.useCallback(async(H,q,z)=>{let K="";if(z&&z.includes("FORM_BUILDER_CLIPBOARD")&&(K=z),!K&&navigator.clipboard&&navigator.clipboard.readText)try{const U=await navigator.clipboard.readText();U&&U.includes("FORM_BUILDER_CLIPBOARD")&&(K=U)}catch(U){console.warn("Could not parse clipboard data",U)}if(K||(K=localStorage.getItem("form_builder_clipboard")||""),!K){Ne.toast.error("Nothing to paste. Copy an element first.");return}try{const U=JSON.parse(K);if((U==null?void 0:U.type)!=="FORM_BUILDER_CLIPBOARD"||!(U!=null&&U.element)){Ne.toast.error("Invalid clipboard data.");return}if(U.timestamp&&Date.now()-U.timestamp>6e4){Ne.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const ae=(J,re={})=>({...JSON.parse(JSON.stringify(J)),id:Te.v4(),...re});y(J=>J==null?void 0:J.map(re=>{if(re.id!==H)return re;const oe=[...[...re.questionData]];if(U.element.type==="grid"){const ue=Te.v4(),ge=ae(U.element,{id:ue,sectionId:H}),fe=(U.children||[]).map(we=>ae(we,{gridId:ue,sectionId:H}));q!==void 0?oe.splice(q,0,ge,...fe):oe.push(ge,...fe)}else{const ue=ae(U.element,{sectionId:H});q!==void 0?oe.splice(q,0,ue):oe.push(ue)}return{...re,questionData:oe}})),Ne.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:H})}catch(U){console.warn("Could not paste element from clipboard",U),Ne.toast.error("Failed to paste element")}},[y,i]),Z=N.useCallback(H=>{const q=p.find(U=>U.id===H);if(!q)return;const z={type:"FORM_BUILDER_SECTION_CLIPBOARD",section:{title:q.title,description:q.description,disabled:q.disabled,isDisabled:q.isDisabled,isHidden:q.isHidden,questionData:q.questionData||[]},timestamp:Date.now()},K=JSON.stringify(z);try{localStorage.setItem("form_builder_section_clipboard",K),localStorage.setItem("form_builder_clipboard",K),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(K).catch(()=>{}),Ne.toast.success("Section copied to clipboard"),i==null||i("COPY_SECTION",{sectionId:H})}catch(U){console.warn("Could not copy section to clipboard",U),Ne.toast.error("Failed to copy section")}},[p,i]),se=N.useCallback(H=>{const q=p.findIndex(oe=>oe.id===H);if(q===-1)return;const z=p[q],K=(oe,ue={})=>({...JSON.parse(JSON.stringify(oe)),...ue}),U=Te.v4(),ae=z.questionData||[],J=new Map,re=ae.map(oe=>{const ue=Te.v4();return J.set(oe.id,ue),K(oe,{id:ue,sectionId:U})});re.forEach(oe=>{oe.gridId&&J.has(oe.gridId)&&(oe.gridId=J.get(oe.gridId))});const ie=K(z,{id:U,title:z.title?`${z.title} (Copy)`:"Section (Copy)",questionData:re});y(oe=>{const ue=[...oe];return ue.splice(q+1,0,ie),ue}),P(U),B(oe=>Array.from(new Set([...oe,q+1]))),Ne.toast.success("Section duplicated"),i==null||i("DUPLICATE_SECTION",{sectionId:H,newSectionId:U})},[p,i,B,y,P]),le=N.useCallback(async(H,q)=>{let z="";if(q&&q.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(z=q),!z&&navigator.clipboard&&navigator.clipboard.readText)try{const K=await navigator.clipboard.readText();K&&K.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(z=K)}catch(K){console.warn("Could not read system clipboard",K)}if(z||(z=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard")||""),!z){Ne.toast.error("Nothing to paste. Copy a section first.");return}try{const K=JSON.parse(z);if((K==null?void 0:K.type)!=="FORM_BUILDER_SECTION_CLIPBOARD"||!(K!=null&&K.section)){Ne.toast.error("Invalid section clipboard data.");return}const U=(ge,fe={})=>({...JSON.parse(JSON.stringify(ge)),...fe}),ae=Te.v4(),J=K.section,re=J.questionData||[],ie=new Map,oe=re.map(ge=>{const fe=Te.v4();return ie.set(ge.id,fe),U(ge,{id:fe,sectionId:ae})});oe.forEach(ge=>{ge.gridId&&ie.has(ge.gridId)&&(ge.gridId=ie.get(ge.gridId))});const ue=U(J,{id:ae,title:J.title?`${J.title} (Copy)`:"Section (Copy)",questionData:oe});y(ge=>{const fe=[...ge];return H!==void 0&&H>=0&&H<=fe.length?(fe.splice(H,0,ue),fe):[...fe,ue]}),P(ae),B(ge=>{const fe=H!==void 0?H:p.length;return Array.from(new Set([...ge,fe]))}),Ne.toast.success("Section pasted successfully"),i==null||i("PASTE_SECTION",{sectionId:ae})}catch(K){console.error("Failed to paste section",K),Ne.toast.error("Failed to paste section.")}},[p.length,i,B,y,P]),ee=N.useCallback((H,q)=>{y(z=>z==null?void 0:z.map(K=>K.id===q?{...K,questionData:H}:K)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:q})},[y,i]),W=N.useCallback((H,q)=>{y(z=>z==null?void 0:z.map(K=>K.id===q?{...K,questionData:[...(K==null?void 0:K.questionData)||[],H]}:K)),i==null||i("ADD_ELEMENT",{sectionId:q,element:H})},[y,i]),R=N.useCallback((H,q,z)=>{y(K=>K==null?void 0:K.map(U=>U.id===q?{...U,questionData:[...((U==null?void 0:U.questionData)||[]).slice(0,z),H,...((U==null?void 0:U.questionData)||[]).slice(z)]}:U)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:q,element:H,index:z})},[y,i]),me=N.useCallback((H,q,z)=>{y(K=>K==null?void 0:K.map(U=>{var ae;return U.id===z?{...U,questionData:(ae=U==null?void 0:U.questionData)==null?void 0:ae.map(J=>{var re;return J.type==="grid"&&J.gridData?{...J,gridData:(re=J.gridData)==null?void 0:re.map((ie,oe)=>oe===H?{...ie,...q}:ie).concat(H>=J.gridData.length?{...q}:[])}:J})}:U})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:z,gridIndex:H,element:q})},[y,i]),Q=N.useCallback((H,q)=>{y(z=>z==null?void 0:z.map(K=>{var U;return K.id===q?{...K,questionData:(U=K==null?void 0:K.questionData)==null?void 0:U.map(ae=>ae.id===H.id?{...ae,...H}:ae)}:K})),i==null||i("UPDATE_ELEMENT",{sectionId:q,value:H})},[y,i]),Y=N.useCallback(H=>{const{draggedId:q,sectionId:z,targetIndex:K,targetId:U,targetGridId:ae,targetCol:J}=H;y(re=>{var we;let ie=null,oe=[],ue=null,ge=-1;for(const ce of re){const de=(we=ce.questionData)==null?void 0:we.findIndex(Ae=>Ae.id===q);if(de!==-1){ie=ce.questionData[de],ue=ce.id,ge=de,ie.type==="grid"&&(oe=ce.questionData.filter(Ae=>Ae.gridId===ie.id));break}}if(!ie||ae!==void 0&&ie.type==="grid")return re;const fe={...ie,sectionId:z};return re.map(ce=>{var Ae,Pe;let de=[...ce.questionData||[]];if(ce.id!==ue&&ce.id!==z)return ce;if(ue===z&&ce.id===z){const _e=ge;if(ae!==void 0&&J!==void 0){const Oe=de.findIndex(Le=>{var De;return Le.id!==q&&Le.gridId===ae&&((De=Le.gridPosition)==null?void 0:De.col)===J});let Ce=de.map(Le=>Le.id===q?{...fe,gridId:ae,gridPosition:{col:J}}:Le);return Oe!==-1&&(Ce=Ce.map((Le,De)=>{if(De!==Oe)return Le;const cn={...Le};return delete cn.gridId,delete cn.gridPosition,cn})),{...ce,questionData:Ce}}if(fe.gridId&&K!==void 0&&ae===void 0){const Oe={...fe};delete Oe.gridId,delete Oe.gridPosition;const Ce=((Pe=(Ae=re.find(De=>De.id===z))==null?void 0:Ae.questionData)==null?void 0:Pe.filter(De=>De.gridId!==q))||[],Le=Math.min(K,Ce.length);return Ce.splice(Le,0,Oe),{...ce,questionData:Ce}}if(!fe.gridId&&K!==void 0&&ae===void 0&&!U){de.splice(_e,1);const Oe=Math.min(K,de.length);return de.splice(Oe,0,fe),{...ce,questionData:de}}if(U){const Oe=de.findIndex(Ce=>Ce.id===U);return Oe===-1?ce:(de.splice(_e,1),de.splice(Oe,0,fe),{...ce,questionData:de})}return ce}if(ce.id===ue&&ce.id!==z)return de.splice(ge,1),oe.length>0&&(de=de.filter(_e=>_e.gridId!==ie.id)),{...ce,questionData:de};if(ce.id===z&&ce.id!==ue){const _e=oe.map(Ce=>({...Ce,sectionId:z}));if(ae!==void 0&&J!==void 0){const Ce=de.findIndex(De=>{var cn;return De.gridId===ae&&((cn=De.gridPosition)==null?void 0:cn.col)===J}),Le={...fe,gridId:ae,gridPosition:{col:J}};if(Ce!==-1){const De={...de[Ce]};delete De.gridId,delete De.gridPosition,de[Ce]=De,de.push(Le,..._e)}else de.push(Le,..._e);return{...ce,questionData:de}}if(K!==void 0&&ae===void 0&&!U){const Ce={...fe};delete Ce.gridId,delete Ce.gridPosition;const Le=Math.min(K,de.length);return de.splice(Le,0,Ce,..._e),{...ce,questionData:de}}if(U){const Ce={...fe};delete Ce.gridId,delete Ce.gridPosition;const Le=de.findIndex(De=>De.id===U);return Le!==-1?de.splice(Le,0,Ce,..._e):de.push(Ce,..._e),{...ce,questionData:de}}const Oe={...fe};return delete Oe.gridId,delete Oe.gridPosition,de.push(Oe,..._e),{...ce,questionData:de}}return ce})}),i==null||i("MOVE_ELEMENT",H)},[y,i]),X=N.useCallback((H,q)=>{y(z=>z==null?void 0:z.map(K=>K.id===q?{...K,...H}:K)),i==null||i("UPDATE_SECTION",{sectionId:q,value:H})},[y,i]),te=N.useMemo(()=>({deleteMode:o,formData:p,setFormData:y,handleDragStop:D,removeElement:$,elementData:d,setElementData:u,updateElementPosition:ee,addElement:W,addElementInPosition:R,updateElement:Q,addSection:O,removeSection:I,updateSection:X,isDragging:C,setIsDragging:A,selectedSection:E,setSelectedSection:P,activeSections:M,setActiveSections:B,updateGridElement:me,answerData:l,setAnswerData:r,uploadUrl:F,setUploadUrl:T,apiActivityCount:L,setApiActivityCount:_,duplicateElement:j,moveElement:Y,showPreview:s,setShowPreview:t,undo:w,redo:h,canUndo:k,canRedo:S,copyElement:G,pasteElement:V,copySection:Z,pasteSection:le,duplicateSection:se}),[o,p,D,$,d,ee,W,R,Q,O,I,X,C,E,M,me,l,F,L,j,Y,s,w,h,k,S,G,V,Z,le,se]);return a.jsx(Fe.Provider,{value:te,children:e})};function Ts(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=Ts(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function ye(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Ts(e))&&(o&&(o+=" "),o+=n);return o}function kr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Ps=Object.freeze({left:0,top:0,width:16,height:16}),ci=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),so=Object.freeze({...Ps,...ci}),ao=Object.freeze({...so,body:"",hidden:!1});function Er(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ls(e,n){const i=Er(e,n);for(const o in ao)o in ci?o in e&&!(o in i)&&(i[o]=ci[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Mr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ls(o[r]||s[r],t)}return l(n),i.forEach(l),Ls(e,t)}function Bs(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=kr(e);for(const s in o){const t=o[s];t&&(n(s,Mr(e,s,t)),i.push(s))}return i}const Tr={provider:"",aliases:{},not_found:{},...Ps};function to(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function Is(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!to(e,Tr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!to(t,ao))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!to(t,ao))return null}return n}const Ds=Object.create(null);function Pr(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function Sn(e,n){const i=Ds[e]||(Ds[e]=Object.create(null));return i[n]||(i[n]=Pr(e,n))}function _s(e,n){return Is(n)?Bs(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Lr(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Os=/^[a-z0-9]+(-[a-z0-9]+)*$/,bi=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!mi(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!mi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!mi(r,i)?null:r}return null},mi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Hn=!1;function Fs(e){return typeof e=="boolean"&&(Hn=e),Hn}function Hs(e){const n=typeof e=="string"?bi(e,!0,Hn):e;if(n){const i=Sn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Br(e,n){const i=bi(e,!0,Hn);if(!i)return!1;const o=Sn(i.provider,i.prefix);return n?Lr(o,i.name,n):(o.missing.add(i.name),!0)}function Ir(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Hn&&!n&&!e.prefix){let s=!1;return Is(e)&&(e.prefix="",Bs(e,(t,l)=>{Br(t,l)&&(s=!0)})),s}const i=e.prefix;if(!mi({prefix:i,name:"a"}))return!1;const o=Sn(n,i);return!!_s(o,e)}const Ks=Object.freeze({width:null,height:null}),Vs=Object.freeze({...Ks,...ci}),Dr=/(-?[0-9.]*[0-9]+[0-9.]*)/g,_r=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Gs(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(Dr);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=_r.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Or(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Fr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Hr(e,n,i){const o=Or(e);return Fr(o.defs,n+o.content+i)}const Kr=e=>e==="unset"||e==="undefined"||e==="none";function Vr(e,n){const i={...so,...e},o={...Vs,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(x=>{const g=[],y=x.hFlip,w=x.vFlip;let h=x.rotate;y?w?h+=2:(g.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),g.push("scale(-1 1)"),s.top=s.left=0):w&&(g.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),g.push("scale(1 -1)"),s.top=s.left=0);let p;switch(h<0&&(h-=Math.floor(h/4)*4),h=h%4,h){case 1:p=s.height/2+s.top,g.unshift("rotate(90 "+p.toString()+" "+p.toString()+")");break;case 2:g.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:p=s.width/2+s.left,g.unshift("rotate(-90 "+p.toString()+" "+p.toString()+")");break}h%2===1&&(s.left!==s.top&&(p=s.left,s.left=s.top,s.top=p),s.width!==s.height&&(p=s.width,s.width=s.height,s.height=p)),g.length&&(t=Hr(t,'<g transform="'+g.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let b,c;l===null?(c=r===null?"1em":r==="auto"?u:r,b=Gs(c,d/u)):(b=l==="auto"?d:l,c=r===null?Gs(b,u/d):r==="auto"?u:r);const m={},f=(x,g)=>{Kr(g)||(m[x]=g.toString())};f("width",b),f("height",c);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const Gr=/\sid="(\S+)"/g,zr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let $r=0;function Wr(e,n=zr){const i=[];let o;for(;o=Gr.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+($r++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const lo=Object.create(null);function jr(e,n){lo[e]=n}function ro(e){return lo[e]||lo[""]}function uo(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const co=Object.create(null),Kn=["https://api.simplesvg.com","https://api.unisvg.com"],vi=[];for(;Kn.length>0;)Kn.length===1||Math.random()>.5?vi.push(Kn.shift()):vi.push(Kn.pop());co[""]=uo({resources:["https://api.iconify.design"].concat(vi)});function Ur(e,n){const i=uo(n);return i===null?!1:(co[e]=i,!0)}function bo(e){return co[e]}let zs=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function qr(e,n){const i=bo(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Yr(e){return e===404}const Jr=(e,n,i)=>{const o=[],s=qr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Zr(e){if(typeof e=="string"){const n=bo(e);if(n)return n.path}return"/"}const Xr={prepare:Jr,send:(e,n,i)=>{if(!zs){i("abort",424);return}let o=Zr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;zs(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Yr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function $s(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function Qr(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||$s([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let Rr=0;function ed(e,n,i){const o=Rr++,s=$s.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function nd(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=Sn(t,l));let b;r in u.icons?b=n.loaded:l===""||u.missing.has(r)?b=n.missing:b=n.pending;const c={provider:t,prefix:l,name:r};b.push(c)}),n}function id(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?bi(s,n,i):s;t&&o.push(t)}),o}const od={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function sd(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let S=e.resources.slice(0);for(l=[];S.length>1;){const C=Math.floor(Math.random()*S.length);l.push(S[C]),S=S.slice(0,C).concat(S.slice(C+1))}l=l.concat(S)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,b,c=null,m=[],f=[];typeof o=="function"&&f.push(o);function v(){c&&(clearTimeout(c),c=null)}function x(){d==="pending"&&(d="aborted"),v(),m.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),m=[]}function g(S,C){C&&(f=[]),typeof S=="function"&&f.push(S)}function y(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:g,abort:x}}function w(){d="failed",f.forEach(S=>{S(void 0,b)})}function h(){m.forEach(S=>{S.status==="pending"&&(S.status="aborted")}),m=[]}function p(S,C,A){const E=C!=="success";switch(m=m.filter(P=>P!==S),d){case"pending":break;case"failed":if(E||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){b=A,w();return}if(E){b=A,m.length||(l.length?k():w());return}if(v(),h(),!e.random){const P=e.resources.indexOf(S.resource);P!==-1&&P!==e.index&&(e.index=P)}d="completed",f.forEach(P=>{P(A)})}function k(){if(d!=="pending")return;v();const S=l.shift();if(S===void 0){if(m.length){c=setTimeout(()=>{v(),d==="pending"&&(h(),w())},e.timeout);return}w();return}const C={status:"pending",resource:S,callback:(A,E)=>{p(C,A,E)}};m.push(C),u++,c=setTimeout(k,e.rotate),i(S,n,C.callback)}return setTimeout(k),y}function Ws(e){const n={...od,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const b=sd(n,r,d,(c,m)=>{o(),u&&u(c,m)});return i.push(b),b}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function js(){}const mo=Object.create(null);function ad(e){if(!mo[e]){const n=bo(e);if(!n)return;const i=Ws(n),o={config:n,redundancy:i};mo[e]=o}return mo[e]}function td(e,n,i){let o,s;if(typeof e=="string"){const t=ro(e);if(!t)return i(void 0,424),js;s=t.send;const l=ad(e);l&&(o=l.redundancy)}else{const t=uo(e);if(t){o=Ws(t);const l=e.resources?e.resources[0]:"",r=ro(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),js):o.query(n,s,i)().abort}function Us(){}function ld(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Qr(e)}))}function rd(e){const n=[],i=[];return e.forEach(o=>{(o.match(Os)?n:i).push(o)}),{valid:n,invalid:i}}function Vn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!_s(e,i).length){o();return}}catch(s){console.error(s)}o(),ld(e)}function qs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function dd(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){qs(e.loadIcons(s,o,i),b=>{Vn(e,s,b)});return}if(t){s.forEach(b=>{const c=t(b,o,i);qs(c,m=>{const f=m?{prefix:o,icons:{[b]:m}}:null;Vn(e,[b],f)})});return}const{valid:l,invalid:r}=rd(s);if(r.length&&Vn(e,r,null),!l.length)return;const d=o.match(Os)?ro(i):null;if(!d){Vn(e,l,null);return}d.prepare(i,o,l).forEach(b=>{td(i,b,c=>{Vn(e,b.icons,c)})})}))}const ud=(e,n)=>{const i=id(e,!0,Fs()),o=nd(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Us)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:b}=d;if(b===r&&u===l)return;l=u,r=b,t.push(Sn(u,b));const c=s[u]||(s[u]=Object.create(null));c[b]||(c[b]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:b,name:c}=d,m=Sn(u,b),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(c)||(f.add(c),s[u][b].push(c))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&dd(d,u)}),n?ed(n,o,t):Us};function cd(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in Ks?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const bd=/[\s,]+/;function md(e,n){n.split(bd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function vd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function fd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function hd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function pd(e){return"data:image/svg+xml,"+hd(e)}function gd(e){return'url("'+pd(e)+'")'}let Gn;function yd(){try{Gn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){Gn=null}}function xd(e){return Gn===void 0&&yd(),Gn?Gn.createHTML(e):e}const Ys={...Vs,inline:!1},Sd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},wd={display:"inline-block"},vo={backgroundColor:"currentColor"},Js={backgroundColor:"transparent"},Zs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Xs={WebkitMask:vo,mask:vo,background:Js};for(const e in Xs){const n=Xs[e];for(const i in Zs)n[e+i]=Zs[i]}const Nd={...Ys,inline:!0};function Qs(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const Cd=(e,n,i)=>{const o=n.inline?Nd:Ys,s=cd(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?Sd:{}};if(i){const g=bi(i,!1,!0);if(g){const y=["iconify"],w=["provider","prefix"];for(const h of w)g[h]&&y.push("iconify--"+g[h]);d.className=y.join(" ")}}for(let g in n){const y=n[g];if(y!==void 0)switch(g){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=y;break;case"className":d[g]=(d[g]?d[g]+" ":"")+y;break;case"inline":case"hFlip":case"vFlip":s[g]=y===!0||y==="true"||y===1;break;case"flip":typeof y=="string"&&md(s,y);break;case"color":l.color=y;break;case"rotate":typeof y=="string"?s[g]=vd(y):typeof y=="number"&&(s[g]=y);break;case"ariaHidden":case"aria-hidden":y!==!0&&y!=="true"&&delete d["aria-hidden"];break;default:o[g]===void 0&&(d[g]=y)}}const u=Vr(e,s),b=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,b);let g=0,y=n.id;return typeof y=="string"&&(y=y.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:xd(Wr(u.body,y?()=>y+"ID"+g++:"iconifyReact"))},N.createElement("svg",d)}const{body:c,width:m,height:f}=e,v=t==="mask"||(t==="bg"?!1:c.indexOf("currentColor")!==-1),x=fd(c,{...b,width:m+"",height:f+""});return d.style={...l,"--svg":gd(x),width:Qs(b.width),height:Qs(b.height),...wd,...v?vo:Js,...r},N.createElement("span",d)};if(Fs(!0),jr("",Xr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Ir(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;Ur(i,s)||console.error(o)}catch(s){console.error(o)}}}}function Rs(e){const[n,i]=N.useState(!!e.ssr),[o,s]=N.useState({});function t(f){if(f){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const x=Hs(v);if(x)return{name:v,data:x}}return{name:""}}const[l,r]=N.useState(t(!!e.ssr));function d(){const f=o.callback;f&&(f(),s({}))}function u(f){if(JSON.stringify(l)!==JSON.stringify(f))return d(),r(f),!0}function b(){var f;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const x=Hs(v);if(u({name:v,data:x}))if(x===void 0){const g=ud([v],b);s({callback:g})}else x&&((f=e.onLoad)===null||f===void 0||f.call(e,v))}N.useEffect(()=>(i(!0),d),[]),N.useEffect(()=>{n&&b()},[e.icon,n]);const{name:c,data:m}=l;return m?Cd({...so,...m},e,c):e.children?e.children:e.fallback?e.fallback:N.createElement("span",{})}const ea=N.forwardRef((e,n)=>Rs({...e,_ref:n}));N.forwardRef((e,n)=>Rs({inline:!0,...e,_ref:n}));function be({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(ea,{icon:e,className:n})})}function fo(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Cs.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Cs.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,b){if(u[b.path]||(u[b.path]={message:b.message,type:b.type}),d){var c=u[b.path].types,m=c&&c[b.type];u[b.path]=Re.appendErrors(b.path,d,u,b.type,m?[].concat(m,b.message):b.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ad=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=ye("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,b=ye("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),c=ye({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:ye(b,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})};function kd({className:e}){return a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",className:e,children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m4 12l6 6L20 6"})]})}const he=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:b,prefix:c,disabled:m,watch:f,min:v,max:x,description:g,onChange:y,readOnly:w})=>{var p,k,S,C;const h=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(ui,{onValueChange:A=>{d(n,A!=null?A:null),i&&i(n),b&&b(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:c,disabled:m,readOnly:w}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(p=o[n])==null?void 0:p.message})]});if(["checkbox","radio"].includes(t)){const A=f==null?void 0:f(n);let E=!1;if(A!=null)if(t==="checkbox"){let P=A;if(typeof A=="string"&&A.trim().startsWith("["))try{P=JSON.parse(A)}catch(M){}Array.isArray(P)?E=P.includes(u):typeof P=="boolean"?E=P:E=P==u}else E=A==u;return a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${g?"items-start":"items-center"}`,children:[a.jsx("input",{...h,type:t,value:u||"",disabled:m,readOnly:w,className:"peer sr-only"}),a.jsx("div",{className:`
1
+ (function(De,a){typeof exports=="object"&&typeof module!="undefined"?a(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("sonner"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("react-currency-input-field"),require("@headlessui/react"),require("axios"),require("papaparse"),require("xlsx"),require("react-datepicker"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","sonner","react-dom","react-hook-form","@hookform/resolvers","yup","react-currency-input-field","@headlessui/react","axios","papaparse","xlsx","react-datepicker","react-router-dom"],a):(De=typeof globalThis!="undefined"?globalThis:De||self,a(De.FormBuilder={},De.jsxRuntime,De.React,De.uuid,De.sonner,De.ReactDOM,De.reactHookForm,De.resolvers,De.yup,De.CurrencyInput,De.react,De.axios,De.Papa,De.XLSX,De.DatePicker,De.reactRouterDom))})(this,function(De,a,N,Oe,Te,wr,nn,Es,Nr,bi,he,Je,Cr,Ar,kr,Er){"use strict";function Ms(e){const n=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const i in e)if(i!=="default"){const o=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(n,i,o.get?o:{enumerable:!0,get:()=>e[i]})}}return n.default=e,Object.freeze(n)}const ie=Ms(Nr),Ts=Ms(Ar),He=N.createContext(void 0),Ps={title:"",description:"",id:Oe.v4(),questionData:[],disabled:!1,isHidden:!1},Ls=({children:e,onChange:n,onLogAction:i,deleteMode:o="remove",mode:s="edit"})=>{const[t,l]=N.useState(!1),[r,d]=N.useState({}),[u,b]=N.useState({}),[c,m]=N.useState([Ps]),[f,v]=N.useState(()=>{try{const Y=sessionStorage.getItem("editor_past");return Y?JSON.parse(Y):[]}catch(Y){return[]}}),[g,S]=N.useState(()=>{try{const Y=sessionStorage.getItem("editor_future");return Y?JSON.parse(Y):[]}catch(Y){return[]}});N.useEffect(()=>{n&&n(c)},[c,n]),N.useEffect(()=>{try{sessionStorage.setItem("editor_past",JSON.stringify(f))}catch(Y){console.warn("Could not save editor_past to sessionStorage",Y)}},[f]),N.useEffect(()=>{try{sessionStorage.setItem("editor_future",JSON.stringify(g))}catch(Y){console.warn("Could not save editor_future to sessionStorage",Y)}},[g]);const h=N.useRef(Date.now()),y=N.useCallback(Y=>{m(J=>{const U=typeof Y=="function"?Y(J):Y;if(JSON.stringify(J)!==JSON.stringify(U)){const F=Date.now();v(K=>{if(K.length>0&&JSON.stringify(K[K.length-1])===JSON.stringify(J))return K;if(F-h.current<800&&K.length>0)return h.current=F,K;h.current=F;const W=[...K,J];return W.length>20?W.slice(W.length-20):W}),S([])}return U})},[]),p=N.useCallback(()=>{if(f.length===0)return;const Y=f[f.length-1],J=f.slice(0,f.length-1);v(J),S([c,...g]),m(Y),i==null||i("UNDO",null)},[f,g,c,i]),x=N.useCallback(()=>{if(g.length===0)return;const Y=g[0],J=g.slice(1);S(J),v([...f,c]),m(Y),i==null||i("REDO",null)},[f,g,c,i]),A=c,w=f.length>0,C=g.length>0,[k,M]=N.useState(!1),[_,E]=N.useState(null),[L,H]=N.useState([0]),[T,P]=N.useState(""),[I,D]=N.useState(0),O=N.useCallback(()=>{},[]),B=N.useCallback(()=>{const Y=Oe.v4();y(J=>[...J,{...Ps,id:Y}]),E(Y),H([A.length]),i==null||i("ADD_SECTION",{sectionId:Y})},[A,i,y]),G=N.useCallback(Y=>{y(o==="isFieldDeleted"||o==="soft"?J=>J.map(U=>{var F;return U.id===Y?{...U,isFieldDeleted:!0,questionData:(F=U==null?void 0:U.questionData)==null?void 0:F.map(K=>({...K,isFieldDeleted:!0}))}:U}):J=>J.filter(U=>U.id!==Y)),E(null),i==null||i("REMOVE_SECTION",{sectionId:Y})},[o,i,y]),q=N.useCallback((Y,J)=>{const U=A.find(K=>K.id===J),F=U==null?void 0:U.questionData.find(K=>K.id===Y);F&&(y(K=>K==null?void 0:K.map(W=>{var j;return W.id!==J?W:o==="isFieldDeleted"||o==="soft"?{...W,questionData:(j=W==null?void 0:W.questionData)==null?void 0:j.map(Z=>{if(F.type==="grid"){if(Z.gridId===F.id||Z.id===F.id)return{...Z,isFieldDeleted:!0}}else if(Z.id===Y)return{...Z,isFieldDeleted:!0};return Z})}:{...W,questionData:W==null?void 0:W.questionData.filter(Z=>F.type==="grid"?Z.gridId!==F.id&&Z.id!==F.id:Z.id!==Y)}})),i==null||i("REMOVE_ELEMENT",{sectionId:J,elementId:Y}))},[A,o,y,i]),V=N.useCallback((Y,J)=>{const U=A.find(j=>j.id===J);if(!U)return;const F=U==null?void 0:U.questionData.findIndex(j=>j.id===Y);if(F===-1)return;const K=U==null?void 0:U.questionData[F],W=(j,Z={})=>({...JSON.parse(JSON.stringify(j)),id:Oe.v4(),...Z});y(j=>j==null?void 0:j.map(Z=>{var ae;if(Z.id!==J)return Z;const Q=[...Z.questionData];if(K.type==="grid"){const be=(ae=Q==null?void 0:Q.map((Ee,Ie)=>({e:Ee,i:Ie})).filter(({e:Ee})=>Ee.id===K.id||Ee.gridId===K.id))==null?void 0:ae.map(({i:Ee})=>Ee),fe=be.length?Math.max(...be)+1:F+1,pe=Oe.v4(),Se=W(K,{});Se.id=pe;const te=Q.filter(Ee=>Ee.gridId===K.id),me=te==null?void 0:te.map(Ee=>W(Ee,{gridId:pe})),we=[...Q.slice(0,fe),Se,...me,...Q.slice(fe)];return{...Z,questionData:we}}else if(K.gridId){const be={...K};delete be.gridId,delete be.gridPosition;const fe=W(be,{}),pe=Q.reduce((te,me,we)=>me.id===K.gridId||me.gridId===K.gridId?we:te,F),Se=[...Q.slice(0,pe+1),fe,...Q.slice(pe+1)];return{...Z,questionData:Se}}else{const be=W(K,{}),fe=[...Q.slice(0,F+1),be,...Q.slice(F+1)];return{...Z,questionData:fe}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:J,elementId:Y})},[A,y,i]),z=N.useCallback((Y,J)=>{const U=A.find(j=>j.id===J);if(!U)return;const F=U==null?void 0:U.questionData.findIndex(j=>j.id===Y);if(F===-1)return;const K=U==null?void 0:U.questionData[F];let W=null;if(K.type==="grid"){const j=U.questionData.filter(Z=>Z.gridId===K.id);W={type:"FORM_BUILDER_CLIPBOARD",element:K,children:j,timestamp:Date.now()}}else if(K.gridId){const j={...K};delete j.gridId,delete j.gridPosition,W={type:"FORM_BUILDER_CLIPBOARD",element:j,timestamp:Date.now()}}else W={type:"FORM_BUILDER_CLIPBOARD",element:K,timestamp:Date.now()};if(W){const j=JSON.stringify(W);try{localStorage.setItem("form_builder_clipboard",j),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(j).catch(()=>{}),Te.toast.success("Element copied to clipboard"),i==null||i("COPY_ELEMENT",{sectionId:J,elementId:Y})}catch(Z){console.warn("Could not copy element to clipboard",Z),Te.toast.error("Failed to copy element")}}},[A,i]),X=N.useCallback(async(Y,J,U)=>{let F="";if(U&&U.includes("FORM_BUILDER_CLIPBOARD")&&(F=U),!F&&navigator.clipboard&&navigator.clipboard.readText)try{const K=await navigator.clipboard.readText();K&&K.includes("FORM_BUILDER_CLIPBOARD")&&(F=K)}catch(K){console.warn("Could not parse clipboard data",K)}if(F||(F=localStorage.getItem("form_builder_clipboard")||""),!F){Te.toast.error("Nothing to paste. Copy an element first.");return}try{const K=JSON.parse(F);if((K==null?void 0:K.type)!=="FORM_BUILDER_CLIPBOARD"||!(K!=null&&K.element)){Te.toast.error("Invalid clipboard data.");return}if(K.timestamp&&Date.now()-K.timestamp>6e4){Te.toast.error("Copied element has expired (1 minute limit)."),localStorage.removeItem("form_builder_clipboard");return}const W=(j,Z={})=>({...JSON.parse(JSON.stringify(j)),id:Oe.v4(),...Z});y(j=>j==null?void 0:j.map(Z=>{if(Z.id!==Y)return Z;const ae=[...[...Z.questionData]];if(K.element.type==="grid"){const be=Oe.v4(),fe=W(K.element,{id:be,sectionId:Y}),pe=(K.children||[]).map(Se=>W(Se,{gridId:be,sectionId:Y}));J!==void 0?ae.splice(J,0,fe,...pe):ae.push(fe,...pe)}else{const be=W(K.element,{sectionId:Y});J!==void 0?ae.splice(J,0,be):ae.push(be)}return{...Z,questionData:ae}})),Te.toast.success("Element pasted successfully"),i==null||i("PASTE_ELEMENT",{sectionId:Y})}catch(K){console.warn("Could not paste element from clipboard",K),Te.toast.error("Failed to paste element")}},[y,i]),oe=N.useCallback(Y=>{const J=A.find(K=>K.id===Y);if(!J)return;const U={type:"FORM_BUILDER_SECTION_CLIPBOARD",section:{title:J.title,description:J.description,disabled:J.disabled,isDisabled:J.isDisabled,isHidden:J.isHidden,questionData:J.questionData||[]},timestamp:Date.now()},F=JSON.stringify(U);try{localStorage.setItem("form_builder_section_clipboard",F),localStorage.setItem("form_builder_clipboard",F),navigator.clipboard&&navigator.clipboard.writeText&&navigator.clipboard.writeText(F).catch(()=>{}),Te.toast.success("Section copied to clipboard"),i==null||i("COPY_SECTION",{sectionId:Y})}catch(K){console.warn("Could not copy section to clipboard",K),Te.toast.error("Failed to copy section")}},[A,i]),se=N.useCallback(Y=>{const J=A.findIndex(ae=>ae.id===Y);if(J===-1)return;const U=A[J],F=(ae,be={})=>({...JSON.parse(JSON.stringify(ae)),...be}),K=Oe.v4(),W=U.questionData||[],j=new Map,Z=W.map(ae=>{const be=Oe.v4();return j.set(ae.id,be),F(ae,{id:be,sectionId:K})});Z.forEach(ae=>{ae.gridId&&j.has(ae.gridId)&&(ae.gridId=j.get(ae.gridId))});const Q=F(U,{id:K,title:U.title?`${U.title} (Copy)`:"Section (Copy)",questionData:Z});y(ae=>{const be=[...ae];return be.splice(J+1,0,Q),be}),E(K),H(ae=>Array.from(new Set([...ae,J+1]))),Te.toast.success("Section duplicated"),i==null||i("DUPLICATE_SECTION",{sectionId:Y,newSectionId:K})},[A,i,H,y,E]),ne=N.useCallback(async(Y,J)=>{let U="";if(J&&J.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(U=J),!U&&navigator.clipboard&&navigator.clipboard.readText)try{const F=await navigator.clipboard.readText();F&&F.includes("FORM_BUILDER_SECTION_CLIPBOARD")&&(U=F)}catch(F){console.warn("Could not read system clipboard",F)}if(U||(U=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard")||""),!U){Te.toast.error("Nothing to paste. Copy a section first.");return}try{const F=JSON.parse(U);if((F==null?void 0:F.type)!=="FORM_BUILDER_SECTION_CLIPBOARD"||!(F!=null&&F.section)){Te.toast.error("Invalid section clipboard data.");return}const K=(fe,pe={})=>({...JSON.parse(JSON.stringify(fe)),...pe}),W=Oe.v4(),j=F.section,Z=j.questionData||[],Q=new Map,ae=Z.map(fe=>{const pe=Oe.v4();return Q.set(fe.id,pe),K(fe,{id:pe,sectionId:W})});ae.forEach(fe=>{fe.gridId&&Q.has(fe.gridId)&&(fe.gridId=Q.get(fe.gridId))});const be=K(j,{id:W,title:j.title?`${j.title} (Copy)`:"Section (Copy)",questionData:ae});y(fe=>{const pe=[...fe];return Y!==void 0&&Y>=0&&Y<=pe.length?(pe.splice(Y,0,be),pe):[...pe,be]}),E(W),H(fe=>{const pe=Y!==void 0?Y:A.length;return Array.from(new Set([...fe,pe]))}),Te.toast.success("Section pasted successfully"),i==null||i("PASTE_SECTION",{sectionId:W})}catch(F){console.error("Failed to paste section",F),Te.toast.error("Failed to paste section.")}},[A.length,i,H,y,E]),$=N.useCallback((Y,J)=>{y(U=>U==null?void 0:U.map(F=>F.id===J?{...F,questionData:Y}:F)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:J})},[y,i]),ee=N.useCallback((Y,J)=>{y(U=>U==null?void 0:U.map(F=>F.id===J?{...F,questionData:[...(F==null?void 0:F.questionData)||[],Y]}:F)),i==null||i("ADD_ELEMENT",{sectionId:J,element:Y})},[y,i]),le=N.useCallback((Y,J,U)=>{y(F=>F==null?void 0:F.map(K=>K.id===J?{...K,questionData:[...((K==null?void 0:K.questionData)||[]).slice(0,U),Y,...((K==null?void 0:K.questionData)||[]).slice(U)]}:K)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:J,element:Y,index:U})},[y,i]),R=N.useCallback((Y,J,U)=>{y(F=>F==null?void 0:F.map(K=>{var W;return K.id===U?{...K,questionData:(W=K==null?void 0:K.questionData)==null?void 0:W.map(j=>{var Z;return j.type==="grid"&&j.gridData?{...j,gridData:(Z=j.gridData)==null?void 0:Z.map((Q,ae)=>ae===Y?{...Q,...J}:Q).concat(Y>=j.gridData.length?{...J}:[])}:j})}:K})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:U,gridIndex:Y,element:J})},[y,i]),ge=N.useCallback((Y,J)=>{y(U=>U==null?void 0:U.map(F=>{var K;return F.id===J?{...F,questionData:(K=F==null?void 0:F.questionData)==null?void 0:K.map(W=>W.id===Y.id?{...W,...Y}:W)}:F})),i==null||i("UPDATE_ELEMENT",{sectionId:J,value:Y})},[y,i]),ce=N.useCallback(Y=>{const{draggedId:J,sectionId:U,targetIndex:F,targetId:K,targetGridId:W,targetCol:j}=Y;y(Z=>{var Se;let Q=null,ae=[],be=null,fe=-1;for(const te of Z){const me=(Se=te.questionData)==null?void 0:Se.findIndex(we=>we.id===J);if(me!==-1){Q=te.questionData[me],be=te.id,fe=me,Q.type==="grid"&&(ae=te.questionData.filter(we=>we.gridId===Q.id));break}}if(!Q||W!==void 0&&Q.type==="grid")return Z;const pe={...Q,sectionId:U};return Z.map(te=>{var we,Ee;let me=[...te.questionData||[]];if(te.id!==be&&te.id!==U)return te;if(be===U&&te.id===U){const Ie=fe;if(W!==void 0&&j!==void 0){const Pe=me.findIndex(Ae=>{var Me;return Ae.id!==J&&Ae.gridId===W&&((Me=Ae.gridPosition)==null?void 0:Me.col)===j});let Ce=me.map(Ae=>Ae.id===J?{...pe,gridId:W,gridPosition:{col:j}}:Ae);return Pe!==-1&&(Ce=Ce.map((Ae,Me)=>{if(Me!==Pe)return Ae;const Ye={...Ae};return delete Ye.gridId,delete Ye.gridPosition,Ye})),{...te,questionData:Ce}}if(pe.gridId&&F!==void 0&&W===void 0){const Pe={...pe};delete Pe.gridId,delete Pe.gridPosition;const Ce=((Ee=(we=Z.find(Me=>Me.id===U))==null?void 0:we.questionData)==null?void 0:Ee.filter(Me=>Me.gridId!==J))||[],Ae=Math.min(F,Ce.length);return Ce.splice(Ae,0,Pe),{...te,questionData:Ce}}if(!pe.gridId&&F!==void 0&&W===void 0&&!K){me.splice(Ie,1);const Pe=Math.min(F,me.length);return me.splice(Pe,0,pe),{...te,questionData:me}}if(K){const Pe=me.findIndex(Ce=>Ce.id===K);return Pe===-1?te:(me.splice(Ie,1),me.splice(Pe,0,pe),{...te,questionData:me})}return te}if(te.id===be&&te.id!==U)return me.splice(fe,1),ae.length>0&&(me=me.filter(Ie=>Ie.gridId!==Q.id)),{...te,questionData:me};if(te.id===U&&te.id!==be){const Ie=ae.map(Ce=>({...Ce,sectionId:U}));if(W!==void 0&&j!==void 0){const Ce=me.findIndex(Me=>{var Ye;return Me.gridId===W&&((Ye=Me.gridPosition)==null?void 0:Ye.col)===j}),Ae={...pe,gridId:W,gridPosition:{col:j}};if(Ce!==-1){const Me={...me[Ce]};delete Me.gridId,delete Me.gridPosition,me[Ce]=Me,me.push(Ae,...Ie)}else me.push(Ae,...Ie);return{...te,questionData:me}}if(F!==void 0&&W===void 0&&!K){const Ce={...pe};delete Ce.gridId,delete Ce.gridPosition;const Ae=Math.min(F,me.length);return me.splice(Ae,0,Ce,...Ie),{...te,questionData:me}}if(K){const Ce={...pe};delete Ce.gridId,delete Ce.gridPosition;const Ae=me.findIndex(Me=>Me.id===K);return Ae!==-1?me.splice(Ae,0,Ce,...Ie):me.push(Ce,...Ie),{...te,questionData:me}}const Pe={...pe};return delete Pe.gridId,delete Pe.gridPosition,me.push(Pe,...Ie),{...te,questionData:me}}return te})}),i==null||i("MOVE_ELEMENT",Y)},[y,i]),re=N.useCallback((Y,J)=>{y(U=>U==null?void 0:U.map(F=>F.id===J?{...F,...Y}:F)),i==null||i("UPDATE_SECTION",{sectionId:J,value:Y})},[y,i]),ye=N.useMemo(()=>({deleteMode:o,mode:s,formData:A,setFormData:y,handleDragStop:O,removeElement:q,elementData:u,setElementData:b,updateElementPosition:$,addElement:ee,addElementInPosition:le,updateElement:ge,addSection:B,removeSection:G,updateSection:re,isDragging:k,setIsDragging:M,selectedSection:_,setSelectedSection:E,activeSections:L,setActiveSections:H,updateGridElement:R,answerData:r,setAnswerData:d,uploadUrl:T,setUploadUrl:P,apiActivityCount:I,setApiActivityCount:D,duplicateElement:V,moveElement:ce,showPreview:t,setShowPreview:l,undo:p,redo:x,canUndo:w,canRedo:C,copyElement:z,pasteElement:X,copySection:oe,pasteSection:ne,duplicateSection:se}),[o,s,A,O,q,u,$,ee,le,ge,B,G,re,k,_,L,R,r,T,I,V,ce,t,p,x,w,C,z,X,oe,ne,se]);return a.jsx(He.Provider,{value:ye,children:e})};function Bs(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(n=0;n<s;n++)e[n]&&(i=Bs(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function xe(){for(var e,n,i=0,o="",s=arguments.length;i<s;i++)(e=arguments[i])&&(n=Bs(e))&&(o&&(o+=" "),o+=n);return o}function Mr(e,n){const i=e.icons,o=e.aliases||Object.create(null),s=Object.create(null);function t(l){if(i[l])return s[l]=[];if(!(l in s)){s[l]=null;const r=o[l]&&o[l].parent,d=r&&t(r);d&&(s[l]=[r].concat(d))}return s[l]}return Object.keys(i).concat(Object.keys(o)).forEach(t),s}const Is=Object.freeze({left:0,top:0,width:16,height:16}),mi=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),lo=Object.freeze({...Is,...mi}),ro=Object.freeze({...lo,body:"",hidden:!1});function Tr(e,n){const i={};!e.hFlip!=!n.hFlip&&(i.hFlip=!0),!e.vFlip!=!n.vFlip&&(i.vFlip=!0);const o=((e.rotate||0)+(n.rotate||0))%4;return o&&(i.rotate=o),i}function Ds(e,n){const i=Tr(e,n);for(const o in ro)o in mi?o in e&&!(o in i)&&(i[o]=mi[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function Pr(e,n,i){const o=e.icons,s=e.aliases||Object.create(null);let t={};function l(r){t=Ds(o[r]||s[r],t)}return l(n),i.forEach(l),Ds(e,t)}function Os(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(s=>{n(s,null),i.push(s)});const o=Mr(e);for(const s in o){const t=o[s];t&&(n(s,Pr(e,s,t)),i.push(s))}return i}const Lr={provider:"",aliases:{},not_found:{},...Is};function uo(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function _s(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!uo(e,Lr))return null;const i=n.icons;for(const s in i){const t=i[s];if(!s||typeof t.body!="string"||!uo(t,ro))return null}const o=n.aliases||Object.create(null);for(const s in o){const t=o[s],l=t.parent;if(!s||typeof l!="string"||!i[l]&&!o[l]||!uo(t,ro))return null}return n}const Fs=Object.create(null);function Br(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function wn(e,n){const i=Fs[e]||(Fs[e]=Object.create(null));return i[n]||(i[n]=Br(e,n))}function Hs(e,n){return _s(n)?Os(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Ir(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const Ks=/^[a-z0-9]+(-[a-z0-9]+)*$/,vi=(e,n,i,o="")=>{const s=e.split(":");if(e.slice(0,1)==="@"){if(s.length<2||s.length>3)return null;o=s.shift().slice(1)}if(s.length>3||!s.length)return null;if(s.length>1){const r=s.pop(),d=s.pop(),u={provider:s.length>0?s[0]:o,prefix:d,name:r};return n&&!fi(u)?null:u}const t=s[0],l=t.split("-");if(l.length>1){const r={provider:o,prefix:l.shift(),name:l.join("-")};return n&&!fi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:t};return n&&!fi(r,i)?null:r}return null},fi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Kn=!1;function Vs(e){return typeof e=="boolean"&&(Kn=e),Kn}function Gs(e){const n=typeof e=="string"?vi(e,!0,Kn):e;if(n){const i=wn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function Dr(e,n){const i=vi(e,!0,Kn);if(!i)return!1;const o=wn(i.provider,i.prefix);return n?Ir(o,i.name,n):(o.missing.add(i.name),!0)}function Or(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Kn&&!n&&!e.prefix){let s=!1;return _s(e)&&(e.prefix="",Os(e,(t,l)=>{Dr(t,l)&&(s=!0)})),s}const i=e.prefix;if(!fi({prefix:i,name:"a"}))return!1;const o=wn(n,i);return!!Hs(o,e)}const zs=Object.freeze({width:null,height:null}),$s=Object.freeze({...zs,...mi}),_r=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Fr=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function Ws(e,n,i){if(n===1)return e;if(i=i||100,typeof e=="number")return Math.ceil(e*n*i)/i;if(typeof e!="string")return e;const o=e.split(_r);if(o===null||!o.length)return e;const s=[];let t=o.shift(),l=Fr.test(t);for(;;){if(l){const r=parseFloat(t);isNaN(r)?s.push(t):s.push(Math.ceil(r*n*i)/i)}else s.push(t);if(t=o.shift(),t===void 0)return s.join("");l=!l}}function Hr(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const s=e.indexOf(">",o),t=e.indexOf("</"+n);if(s===-1||t===-1)break;const l=e.indexOf(">",t);if(l===-1)break;i+=e.slice(s+1,t).trim(),e=e.slice(0,o).trim()+e.slice(l+1)}return{defs:i,content:e}}function Kr(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Vr(e,n,i){const o=Hr(e);return Kr(o.defs,n+o.content+i)}const Gr=e=>e==="unset"||e==="undefined"||e==="none";function zr(e,n){const i={...lo,...e},o={...$s,...n},s={left:i.left,top:i.top,width:i.width,height:i.height};let t=i.body;[i,o].forEach(g=>{const S=[],h=g.hFlip,y=g.vFlip;let p=g.rotate;h?y?p+=2:(S.push("translate("+(s.width+s.left).toString()+" "+(0-s.top).toString()+")"),S.push("scale(-1 1)"),s.top=s.left=0):y&&(S.push("translate("+(0-s.left).toString()+" "+(s.height+s.top).toString()+")"),S.push("scale(1 -1)"),s.top=s.left=0);let x;switch(p<0&&(p-=Math.floor(p/4)*4),p=p%4,p){case 1:x=s.height/2+s.top,S.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:S.unshift("rotate(180 "+(s.width/2+s.left).toString()+" "+(s.height/2+s.top).toString()+")");break;case 3:x=s.width/2+s.left,S.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}p%2===1&&(s.left!==s.top&&(x=s.left,s.left=s.top,s.top=x),s.width!==s.height&&(x=s.width,s.width=s.height,s.height=x)),S.length&&(t=Vr(t,'<g transform="'+S.join(" ")+'">',"</g>"))});const l=o.width,r=o.height,d=s.width,u=s.height;let b,c;l===null?(c=r===null?"1em":r==="auto"?u:r,b=Ws(c,d/u)):(b=l==="auto"?d:l,c=r===null?Ws(b,u/d):r==="auto"?u:r);const m={},f=(g,S)=>{Gr(S)||(m[g]=S.toString())};f("width",b),f("height",c);const v=[s.left,s.top,d,u];return m.viewBox=v.join(" "),{attributes:m,viewBox:v,body:t}}const $r=/\sid="(\S+)"/g,Wr="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let jr=0;function Ur(e,n=Wr){const i=[];let o;for(;o=$r.exec(e);)i.push(o[1]);if(!i.length)return e;const s="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(t=>{const l=typeof n=="function"?n(t):n+(jr++).toString(),r=t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+l+s+"$3")}),e=e.replace(new RegExp(s,"g"),""),e}const co=Object.create(null);function qr(e,n){co[e]=n}function bo(e){return co[e]||co[""]}function mo(e){let n;if(typeof e.resources=="string")n=[e.resources];else if(n=e.resources,!(n instanceof Array)||!n.length)return null;return{resources:n,path:e.path||"/",maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}const vo=Object.create(null),Vn=["https://api.simplesvg.com","https://api.unisvg.com"],hi=[];for(;Vn.length>0;)Vn.length===1||Math.random()>.5?hi.push(Vn.shift()):hi.push(Vn.pop());vo[""]=mo({resources:["https://api.iconify.design"].concat(hi)});function Yr(e,n){const i=mo(n);return i===null?!1:(vo[e]=i,!0)}function fo(e){return vo[e]}let js=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function Jr(e,n){const i=fo(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let s=0;i.resources.forEach(l=>{s=Math.max(s,l.length)});const t=n+".json?icons=";o=i.maxURL-s-i.path.length-t.length}return o}function Zr(e){return e===404}const Xr=(e,n,i)=>{const o=[],s=Jr(e,n),t="icons";let l={type:t,provider:e,prefix:n,icons:[]},r=0;return i.forEach((d,u)=>{r+=d.length+1,r>=s&&u>0&&(o.push(l),l={type:t,provider:e,prefix:n,icons:[]},r=d.length),l.icons.push(d)}),o.push(l),o};function Qr(e){if(typeof e=="string"){const n=fo(e);if(n)return n.path}return"/"}const Rr={prepare:Xr,send:(e,n,i)=>{if(!js){i("abort",424);return}let o=Qr(n.provider);switch(n.type){case"icons":{const t=n.prefix,r=n.icons.join(","),d=new URLSearchParams({icons:r});o+=t+".json?"+d.toString();break}case"custom":{const t=n.uri;o+=t.slice(0,1)==="/"?t.slice(1):t;break}default:i("abort",400);return}let s=503;js(e+o).then(t=>{const l=t.status;if(l!==200){setTimeout(()=>{i(Zr(l)?"abort":"next",l)});return}return s=501,t.json()}).then(t=>{if(typeof t!="object"||t===null){setTimeout(()=>{t===404?i("abort",t):i("next",s)});return}setTimeout(()=>{i("success",t)})}).catch(()=>{i("next",s)})}};function Us(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(s=>s.id!==n))})}function ed(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;const n=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!n.length)return;let i=!1;const o=e.provider,s=e.prefix;n.forEach(t=>{const l=t.icons,r=l.pending.length;l.pending=l.pending.filter(d=>{if(d.prefix!==s)return!0;const u=d.name;if(e.icons[u])l.loaded.push({provider:o,prefix:s,name:u});else if(e.missing.has(u))l.missing.push({provider:o,prefix:s,name:u});else return i=!0,!0;return!1}),l.pending.length!==r&&(i||Us([e],t.id),t.callback(l.loaded.slice(0),l.missing.slice(0),l.pending.slice(0),t.abort))})}))}let nd=0;function id(e,n,i){const o=nd++,s=Us.bind(null,i,o);if(!n.pending.length)return s;const t={id:o,icons:n,callback:e,abort:s};return i.forEach(l=>{(l.loaderCallbacks||(l.loaderCallbacks=[])).push(t)}),s}function od(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((s,t)=>s.provider!==t.provider?s.provider.localeCompare(t.provider):s.prefix!==t.prefix?s.prefix.localeCompare(t.prefix):s.name.localeCompare(t.name));let o={provider:"",prefix:"",name:""};return e.forEach(s=>{if(o.name===s.name&&o.prefix===s.prefix&&o.provider===s.provider)return;o=s;const t=s.provider,l=s.prefix,r=s.name,d=i[t]||(i[t]=Object.create(null)),u=d[l]||(d[l]=wn(t,l));let b;r in u.icons?b=n.loaded:l===""||u.missing.has(r)?b=n.missing:b=n.pending;const c={provider:t,prefix:l,name:r};b.push(c)}),n}function sd(e,n=!0,i=!1){const o=[];return e.forEach(s=>{const t=typeof s=="string"?vi(s,n,i):s;t&&o.push(t)}),o}const ad={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function td(e,n,i,o){const s=e.resources.length,t=e.random?Math.floor(Math.random()*s):e.index;let l;if(e.random){let w=e.resources.slice(0);for(l=[];w.length>1;){const C=Math.floor(Math.random()*w.length);l.push(w[C]),w=w.slice(0,C).concat(w.slice(C+1))}l=l.concat(w)}else l=e.resources.slice(t).concat(e.resources.slice(0,t));const r=Date.now();let d="pending",u=0,b,c=null,m=[],f=[];typeof o=="function"&&f.push(o);function v(){c&&(clearTimeout(c),c=null)}function g(){d==="pending"&&(d="aborted"),v(),m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function S(w,C){C&&(f=[]),typeof w=="function"&&f.push(w)}function h(){return{startTime:r,payload:n,status:d,queriesSent:u,queriesPending:m.length,subscribe:S,abort:g}}function y(){d="failed",f.forEach(w=>{w(void 0,b)})}function p(){m.forEach(w=>{w.status==="pending"&&(w.status="aborted")}),m=[]}function x(w,C,k){const M=C!=="success";switch(m=m.filter(_=>_!==w),d){case"pending":break;case"failed":if(M||!e.dataAfterTimeout)return;break;default:return}if(C==="abort"){b=k,y();return}if(M){b=k,m.length||(l.length?A():y());return}if(v(),p(),!e.random){const _=e.resources.indexOf(w.resource);_!==-1&&_!==e.index&&(e.index=_)}d="completed",f.forEach(_=>{_(k)})}function A(){if(d!=="pending")return;v();const w=l.shift();if(w===void 0){if(m.length){c=setTimeout(()=>{v(),d==="pending"&&(p(),y())},e.timeout);return}y();return}const C={status:"pending",resource:w,callback:(k,M)=>{x(C,k,M)}};m.push(C),u++,c=setTimeout(A,e.rotate),i(w,n,C.callback)}return setTimeout(A),h}function qs(e){const n={...ad,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function s(r,d,u){const b=td(n,r,d,(c,m)=>{o(),u&&u(c,m)});return i.push(b),b}function t(r){return i.find(d=>r(d))||null}return{query:s,find:t,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function Ys(){}const ho=Object.create(null);function ld(e){if(!ho[e]){const n=fo(e);if(!n)return;const i=qs(n),o={config:n,redundancy:i};ho[e]=o}return ho[e]}function rd(e,n,i){let o,s;if(typeof e=="string"){const t=bo(e);if(!t)return i(void 0,424),Ys;s=t.send;const l=ld(e);l&&(o=l.redundancy)}else{const t=mo(e);if(t){o=qs(t);const l=e.resources?e.resources[0]:"",r=bo(l);r&&(s=r.send)}}return!o||!s?(i(void 0,424),Ys):o.query(n,s,i)().abort}function Js(){}function dd(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,ed(e)}))}function ud(e){const n=[],i=[];return e.forEach(o=>{(o.match(Ks)?n:i).push(o)}),{valid:n,invalid:i}}function Gn(e,n,i){function o(){const s=e.pendingIcons;n.forEach(t=>{s&&s.delete(t),e.icons[t]||e.missing.add(t)})}if(i&&typeof i=="object")try{if(!Hs(e,i).length){o();return}}catch(s){console.error(s)}o(),dd(e)}function Zs(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function cd(e,n){e.iconsToLoad?e.iconsToLoad=e.iconsToLoad.concat(n).sort():e.iconsToLoad=n,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;const{provider:i,prefix:o}=e,s=e.iconsToLoad;if(delete e.iconsToLoad,!s||!s.length)return;const t=e.loadIcon;if(e.loadIcons&&(s.length>1||!t)){Zs(e.loadIcons(s,o,i),b=>{Gn(e,s,b)});return}if(t){s.forEach(b=>{const c=t(b,o,i);Zs(c,m=>{const f=m?{prefix:o,icons:{[b]:m}}:null;Gn(e,[b],f)})});return}const{valid:l,invalid:r}=ud(s);if(r.length&&Gn(e,r,null),!l.length)return;const d=o.match(Ks)?bo(i):null;if(!d){Gn(e,l,null);return}d.prepare(i,o,l).forEach(b=>{rd(i,b,c=>{Gn(e,b.icons,c)})})}))}const bd=(e,n)=>{const i=sd(e,!0,Vs()),o=od(i);if(!o.pending.length){let d=!0;return n&&setTimeout(()=>{d&&n(o.loaded,o.missing,o.pending,Js)}),()=>{d=!1}}const s=Object.create(null),t=[];let l,r;return o.pending.forEach(d=>{const{provider:u,prefix:b}=d;if(b===r&&u===l)return;l=u,r=b,t.push(wn(u,b));const c=s[u]||(s[u]=Object.create(null));c[b]||(c[b]=[])}),o.pending.forEach(d=>{const{provider:u,prefix:b,name:c}=d,m=wn(u,b),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(c)||(f.add(c),s[u][b].push(c))}),t.forEach(d=>{const u=s[d.provider][d.prefix];u.length&&cd(d,u)}),n?id(n,o,t):Js};function md(e,n){const i={...e};for(const o in n){const s=n[o],t=typeof s;o in zs?(s===null||s&&(t==="string"||t==="number"))&&(i[o]=s):t===typeof i[o]&&(i[o]=o==="rotate"?s%4:s)}return i}const vd=/[\s,]+/;function fd(e,n){n.split(vd).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function hd(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(s){for(;s<0;)s+=4;return s%4}if(i===""){const s=parseInt(e);return isNaN(s)?0:o(s)}else if(i!==e){let s=0;switch(i){case"%":s=25;break;case"deg":s=90}if(s){let t=parseFloat(e.slice(0,e.length-i.length));return isNaN(t)?0:(t=t/s,t%1===0?o(t):0)}}return n}function pd(e,n){let i=e.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const o in n)i+=" "+o+'="'+n[o]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+i+">"+e+"</svg>"}function gd(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function yd(e){return"data:image/svg+xml,"+gd(e)}function xd(e){return'url("'+yd(e)+'")'}let zn;function Sd(){try{zn=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){zn=null}}function wd(e){return zn===void 0&&Sd(),zn?zn.createHTML(e):e}const Xs={...$s,inline:!1},Nd={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},Cd={display:"inline-block"},po={backgroundColor:"currentColor"},Qs={backgroundColor:"transparent"},Rs={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},ea={WebkitMask:po,mask:po,background:Qs};for(const e in ea){const n=ea[e];for(const i in Rs)n[e+i]=Rs[i]}const Ad={...Xs,inline:!0};function na(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const kd=(e,n,i)=>{const o=n.inline?Ad:Xs,s=md(o,n),t=n.mode||"svg",l={},r=n.style||{},d={...t==="svg"?Nd:{}};if(i){const S=vi(i,!1,!0);if(S){const h=["iconify"],y=["provider","prefix"];for(const p of y)S[p]&&h.push("iconify--"+S[p]);d.className=h.join(" ")}}for(let S in n){const h=n[S];if(h!==void 0)switch(S){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":d.ref=h;break;case"className":d[S]=(d[S]?d[S]+" ":"")+h;break;case"inline":case"hFlip":case"vFlip":s[S]=h===!0||h==="true"||h===1;break;case"flip":typeof h=="string"&&fd(s,h);break;case"color":l.color=h;break;case"rotate":typeof h=="string"?s[S]=hd(h):typeof h=="number"&&(s[S]=h);break;case"ariaHidden":case"aria-hidden":h!==!0&&h!=="true"&&delete d["aria-hidden"];break;default:o[S]===void 0&&(d[S]=h)}}const u=zr(e,s),b=u.attributes;if(s.inline&&(l.verticalAlign="-0.125em"),t==="svg"){d.style={...l,...r},Object.assign(d,b);let S=0,h=n.id;return typeof h=="string"&&(h=h.replace(/-/g,"_")),d.dangerouslySetInnerHTML={__html:wd(Ur(u.body,h?()=>h+"ID"+S++:"iconifyReact"))},N.createElement("svg",d)}const{body:c,width:m,height:f}=e,v=t==="mask"||(t==="bg"?!1:c.indexOf("currentColor")!==-1),g=pd(c,{...b,width:m+"",height:f+""});return d.style={...l,"--svg":xd(g),width:na(b.width),height:na(b.height),...Cd,...v?po:Qs,...r},N.createElement("span",d)};if(Vs(!0),qr("",Rr),typeof document!="undefined"&&typeof window!="undefined"){const e=window;if(e.IconifyPreload!==void 0){const n=e.IconifyPreload,i="Invalid IconifyPreload syntax.";typeof n=="object"&&n!==null&&(n instanceof Array?n:[n]).forEach(o=>{try{(typeof o!="object"||o===null||o instanceof Array||typeof o.icons!="object"||typeof o.prefix!="string"||!Or(o))&&console.error(i)}catch(s){console.error(i)}})}if(e.IconifyProviders!==void 0){const n=e.IconifyProviders;if(typeof n=="object"&&n!==null)for(let i in n){const o="IconifyProviders["+i+"] is invalid.";try{const s=n[i];if(typeof s!="object"||!s||s.resources===void 0)continue;Yr(i,s)||console.error(o)}catch(s){console.error(o)}}}}function ia(e){const[n,i]=N.useState(!!e.ssr),[o,s]=N.useState({});function t(f){if(f){const v=e.icon;if(typeof v=="object")return{name:"",data:v};const g=Gs(v);if(g)return{name:v,data:g}}return{name:""}}const[l,r]=N.useState(t(!!e.ssr));function d(){const f=o.callback;f&&(f(),s({}))}function u(f){if(JSON.stringify(l)!==JSON.stringify(f))return d(),r(f),!0}function b(){var f;const v=e.icon;if(typeof v=="object"){u({name:"",data:v});return}const g=Gs(v);if(u({name:v,data:g}))if(g===void 0){const S=bd([v],b);s({callback:S})}else g&&((f=e.onLoad)===null||f===void 0||f.call(e,v))}N.useEffect(()=>(i(!0),d),[]),N.useEffect(()=>{n&&b()},[e.icon,n]);const{name:c,data:m}=l;return m?kd({...lo,...m},e,c):e.children?e.children:e.fallback?e.fallback:N.createElement("span",{})}const oa=N.forwardRef((e,n)=>ia({...e,_ref:n}));N.forwardRef((e,n)=>ia({inline:!0,...e,_ref:n}));function de({icon:e,iconClass:n}){return a.jsx(a.Fragment,{children:a.jsx(oa,{icon:e,className:n})})}function go(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,s,t){try{return Promise.resolve(function(l,r){try{var d=(n.context&&process.env.NODE_ENV==="development"&&console.warn("You should not used the yup options context. Please, use the 'useForm' context object instead"),Promise.resolve(e[i.mode==="sync"?"validateSync":"validate"](o,Object.assign({abortEarly:!1},n,{context:s}))).then(function(u){return t.shouldUseNativeValidation&&Es.validateFieldsNatively({},t),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return d&&d.then?d.then(void 0,r):d}(0,function(l){if(!l.inner)throw l;return{values:{},errors:Es.toNestErrors((r=l,d=!t.shouldUseNativeValidation&&t.criteriaMode==="all",(r.inner||[]).reduce(function(u,b){if(u[b.path]||(u[b.path]={message:b.message,type:b.type}),d){var c=u[b.path].types,m=c&&c[b.type];u[b.path]=nn.appendErrors(b.path,d,u,b.type,m?[].concat(m,b.message):b.message)}return u},{})),t)};var r,d}))}catch(l){return Promise.reject(l)}}}const Ed=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:s,btnClass:t=""})=>{const l=xe("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return a.jsx("div",{className:l,children:e==null?void 0:e.map(r=>{const d=s===r.key,u=i[r.key]||0,b=xe("capitalize text-sm whitespace-nowrap no-scrollbar font-semibold pb-[14px] border-b-2 border-[#EAECF0] px-6 flex items-center gap-x-1 flex-1 text-center",`${e.length===1?"justify-start":"justify-center"}`,t),c=xe({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":d,"border-transparent text-gray-400 ":!d}),m=u>0&&a.jsx("span",{className:"text-xs h-6 min-w-[24px] rounded-full flex justify-center items-center border border-[#EAECF0] darks:border-gray-500 bg-[#F9FAFB] darks:bg-gray-800 text-[#454745] darks:text-white/80",children:u});return a.jsxs("button",{onClick:()=>o(r.key),className:xe(b,c),"aria-selected":d,role:"tab",type:"button",children:[r.title,m]},r.key)})})};function Md({className:e}){return a.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24",className:e,children:[a.jsx("path",{d:"M0 0h24v24H0z",fill:"none"}),a.jsx("path",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2",d:"m4 12l6 6L20 6"})]})}const ve=({label:e,name:n,register:i,errors:o,className:s,type:t="text",placeholder:l="",isFloating:r,setValue:d,value:u,trigger:b,prefix:c,disabled:m,watch:f,min:v,max:g,description:S,onChange:h,readOnly:y})=>{var x,A,w,C;const p=i?{...i(n)}:{};if(t==="amount")return a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx(bi,{onValueChange:k=>{d(n,k!=null?k:null),i&&i(n),b&&b(n)},placeholder:l,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:c,disabled:m,readOnly:y}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(x=o[n])==null?void 0:x.message})]});if(["checkbox","radio"].includes(t)){const k=f==null?void 0:f(n);let M=!1;if(k!=null)if(t==="checkbox"){let _=k;if(typeof k=="string"&&k.trim().startsWith("["))try{_=JSON.parse(k)}catch(E){}Array.isArray(_)?M=_.includes(u):typeof _=="boolean"?M=_:M=_==u}else M=k==u;return a.jsxs("div",{className:"space-y-1 relative",children:[a.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${S?"items-start":"items-center"}`,children:[a.jsx("input",{...p,type:t,value:u||"",disabled:m,readOnly:y,className:"peer sr-only"}),a.jsx("div",{className:`
2
2
  w-[18px] h-[18px] flex items-center justify-center
3
3
  border rounded-md transition-all duration-200
4
4
  ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}
@@ -6,24 +6,24 @@
6
6
  peer-checked:border-[#7F56D9]
7
7
  peer-disabled:opacity-60
8
8
  peer-disabled:cursor-not-allowed
9
- `,children:E&&a.jsx(kd,{className:"text-white z-10"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),g&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:g})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(k=o[n])==null?void 0:k.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...h,onChange:A=>{var E;(E=h.onChange)==null||E.call(h,A),y==null||y(A)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:w,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(S=o[n])==null?void 0:S.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...h,onChange:A=>{var E;(E=h.onChange)==null||E.call(h,A),y==null||y(A)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:w,min:v,max:x,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},fi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),Ed={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},Ye=(e,n=e)=>({label:e,value:n,id:Te.v4()}),Se=e=>({...Ed,...e}),Md=fi==null?void 0:fi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Td=[Se({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),Se({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),Se({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),Se({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Ye("Placeholder 1","placeholder_1")]}),Se({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[Ye("Placeholder 1","placeholder_1")]}),Se({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),Se({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),Se({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),Se({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),Se({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),Se({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),Se({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),Se({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[Ye("Checkbox Option","option")]}),Se({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),Se({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Ye("Radio Option","")]}),Se({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),Se({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),Se({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Md,showState:!1}),Se({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),Se({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Te.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),Se({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),Se({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),Se({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),Se({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),Se({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),Se({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),Se({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),Se({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[Ye("Option 1","option_1"),Ye("Option 2","option_2")]}),Se({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[Ye("Image 1","image_1"),Ye("Image 2","image_2")]})],Pd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Ld=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice"],layoutAndInfo:["basicText","divider"]}),Bd=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Id=["amount"],Dd=["text","number"],_d=["text","number","amount","date","time","password"],Od=["amount"],hi=["grid","section","divider","spacer","basicText"],Fd=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Hd=["dataLookup"],Kd=["tableInput"],ho=["basicText"],Vd=["text","basicText","number","amount","url","password","tel","email","dataLookup"],Gd=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],an=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:b,subText:c,labelClass:m="text-[10px]",loading:f,disabled:v})=>{const[x,g]=N.useState(u?[]:null),y=N.useRef(!1),w=N.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(S=>r.some(C=>{var A;return typeof S.value=="object"?((A=S.value)==null?void 0:A.id)===(C==null?void 0:C.id):S.value===C})):[]:e.find(S=>{var C;return typeof S.value=="string"&&typeof r=="string"?S.value.toLowerCase()===r.toLowerCase():typeof S.value=="object"&&typeof r=="object"?((C=S.value)==null?void 0:C.id)===(r==null?void 0:r.id):S.value===r})||null,[r,e,u]),h=N.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(w==null?void 0:w.length)<r.length:w===null,[r,e,w,u]);N.useEffect(()=>{if(y.current){y.current=!1;return}if(u&&Array.isArray(w)&&Array.isArray(x)){const S=x==null?void 0:x.map(A=>A.value),C=w==null?void 0:w.map(A=>A.value);JSON.stringify(S)!==JSON.stringify(C)&&g(w)}else(w==null?void 0:w.value)!==(x==null?void 0:x.value)&&g(w)},[w,u]);const p=N.useCallback(S=>{var C;if(y.current=!0,g(S),s){const A=u?Array.isArray(S)?S==null?void 0:S.map(E=>E.value):[]:(C=S==null?void 0:S.value)!=null?C:null;s(t,A),d==null||d(t)}o&&!y.current&&o(t)},[s,t,d,o,u]),k=N.useMemo(()=>f?"Fetching data...":x?u&&Array.isArray(x)?x.length>0?x==null?void 0:x.map(S=>S.label).join(", "):n:(x==null?void 0:x.label)||n:n,[x,f,n,u]);return a.jsxs("div",{className:"relative",children:[!b&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),b&&l&&a.jsx("label",{className:ye("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(pe.Listbox,{value:x,onChange:p,multiple:u,disabled:v||f,children:a.jsxs("div",{className:"relative",children:[a.jsxs(pe.Listbox.Button,{className:"field-control",disabled:v||f,children:[a.jsx("span",{className:ye("block text-sm text-left truncate",{"opacity-60":!x||f}),children:k}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(be,{icon:"lucide:chevron-down"})})]}),a.jsx(pe.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(pe.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((S,C)=>{var A;return a.jsx(pe.Listbox.Option,{value:S,className:({active:E})=>ye("select-option",{active:E}),children:({selected:E})=>a.jsx("div",{className:ye("option-text",{selected:E}),children:S.label})},`${((A=S.value)==null?void 0:A.id)||S.value}-${C}`)})})})]})}),!i&&c&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),h&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function zd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=N.useState((e==null?void 0:e.length)>0?e:[{value:""}]);N.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const b=[...o];b[u]={...b[u],value:d},s(b),n&&n(b)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((b,c)=>c!==d);s(u),n&&n(u)}return N.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:b=>t(b,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const $d=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),Be=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},na=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},Wd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
9
+ `,children:M&&a.jsx(Md,{className:"text-white z-10"})}),a.jsxs("div",{children:[a.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),S&&a.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:S})]})]}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-8 text-xs text-red-600 whitespace-nowrap",children:(A=o[n])==null?void 0:A.message})]})}return t==="textarea"?a.jsxs("div",{className:"space-y-1.5 relative",children:[a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3 ":"relative"}`,children:e}),a.jsx("textarea",{...p,onChange:k=>{var M;(M=p.onChange)==null||M.call(p,k),h==null||h(k)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:l,disabled:m,readOnly:y,autoComplete:"off"}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(w=o[n])==null?void 0:w.message})]}):a.jsxs("div",{className:" relative w-full",children:[e&&a.jsx("label",{className:`block text-sm font-medium text-[#344054] font-onest mb-1.5 ${r?"z-[40] absolute block text-[#667085] bg-white py-[2px] px-1 -top-[12px] left-3":"relative"}`,children:e}),a.jsx("input",{...p,onChange:k=>{var M;(M=p.onChange)==null||M.call(p,k),h==null||h(k)},type:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${s}`,placeholder:r?"":l,disabled:m,readOnly:y,min:v,max:g,autoComplete:"off","data-1p-ignore":!0}),(o==null?void 0:o[n])&&a.jsx("p",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:(C=o[n])==null?void 0:C.message})]})},pi=JSON.parse(`[{"code2":"AF","code3":"AFG","name":"Afghanistan","capital":"Kabul","region":"Asia","subregion":"Southern Asia","states":[{"code":"BDS","name":"Badakhshān","subdivision":null},{"code":"BGL","name":"Baghlān","subdivision":null},{"code":"BAL","name":"Balkh","subdivision":null},{"code":"BDG","name":"Bādghīs","subdivision":null},{"code":"BAM","name":"Bāmyān","subdivision":null},{"code":"DAY","name":"Dāykundī","subdivision":null},{"code":"FRA","name":"Farāh","subdivision":null},{"code":"FYB","name":"Fāryāb","subdivision":null},{"code":"GHA","name":"Ghaznī","subdivision":null},{"code":"GHO","name":"Ghōr","subdivision":null},{"code":"HEL","name":"Helmand","subdivision":null},{"code":"HER","name":"Herāt","subdivision":null},{"code":"JOW","name":"Jowzjān","subdivision":null},{"code":"KAN","name":"Kandahār","subdivision":null},{"code":"KHO","name":"Khōst","subdivision":null},{"code":"KNR","name":"Kunar","subdivision":null},{"code":"KDZ","name":"Kunduz","subdivision":null},{"code":"KAB","name":"Kābul","subdivision":null},{"code":"KAP","name":"Kāpīsā","subdivision":null},{"code":"LAG","name":"Laghmān","subdivision":null},{"code":"LOG","name":"Lōgar","subdivision":null},{"code":"NAN","name":"Nangarhār","subdivision":null},{"code":"NIM","name":"Nīmrōz","subdivision":null},{"code":"NUR","name":"Nūristān","subdivision":null},{"code":"PIA","name":"Paktiyā","subdivision":null},{"code":"PKA","name":"Paktīkā","subdivision":null},{"code":"PAN","name":"Panjshayr","subdivision":null},{"code":"PAR","name":"Parwān","subdivision":null},{"code":"SAM","name":"Samangān","subdivision":null},{"code":"SAR","name":"Sar-e Pul","subdivision":null},{"code":"TAK","name":"Takhār","subdivision":null},{"code":"URU","name":"Uruzgān","subdivision":null},{"code":"WAR","name":"Wardak","subdivision":null},{"code":"ZAB","name":"Zābul","subdivision":null}]},{"code2":"AX","code3":"ALA","name":"Åland Islands","capital":"Mariehamn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"AL","code3":"ALB","name":"Albania","capital":"Tirana","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Berat","subdivision":null},{"code":"09","name":"Dibër","subdivision":null},{"code":"02","name":"Durrës","subdivision":null},{"code":"03","name":"Elbasan","subdivision":null},{"code":"04","name":"Fier","subdivision":null},{"code":"05","name":"Gjirokastër","subdivision":null},{"code":"06","name":"Korçë","subdivision":null},{"code":"07","name":"Kukës","subdivision":null},{"code":"08","name":"Lezhë","subdivision":null},{"code":"10","name":"Shkodër","subdivision":null},{"code":"11","name":"Tiranë","subdivision":null},{"code":"12","name":"Vlorë","subdivision":null}]},{"code2":"DZ","code3":"DZA","name":"Algeria","capital":"Algiers","region":"Africa","subregion":"Northern Africa","states":[{"code":"01","name":"Adrar","subdivision":null},{"code":"16","name":"Alger","subdivision":null},{"code":"23","name":"Annaba","subdivision":null},{"code":"44","name":"Aïn Defla","subdivision":null},{"code":"46","name":"Aïn Témouchent","subdivision":null},{"code":"05","name":"Batna","subdivision":null},{"code":"07","name":"Biskra","subdivision":null},{"code":"09","name":"Blida","subdivision":null},{"code":"34","name":"Bordj Bou Arréridj","subdivision":null},{"code":"10","name":"Bouira","subdivision":null},{"code":"35","name":"Boumerdès","subdivision":null},{"code":"08","name":"Béchar","subdivision":null},{"code":"06","name":"Béjaïa","subdivision":null},{"code":"02","name":"Chlef","subdivision":null},{"code":"25","name":"Constantine","subdivision":null},{"code":"17","name":"Djelfa","subdivision":null},{"code":"32","name":"El Bayadh","subdivision":null},{"code":"39","name":"El Oued","subdivision":null},{"code":"36","name":"El Tarf","subdivision":null},{"code":"47","name":"Ghardaïa","subdivision":null},{"code":"24","name":"Guelma","subdivision":null},{"code":"33","name":"Illizi","subdivision":null},{"code":"18","name":"Jijel","subdivision":null},{"code":"40","name":"Khenchela","subdivision":null},{"code":"03","name":"Laghouat","subdivision":null},{"code":"29","name":"Mascara","subdivision":null},{"code":"43","name":"Mila","subdivision":null},{"code":"27","name":"Mostaganem","subdivision":null},{"code":"28","name":"Msila","subdivision":null},{"code":"26","name":"Médéa","subdivision":null},{"code":"45","name":"Naama","subdivision":null},{"code":"31","name":"Oran","subdivision":null},{"code":"30","name":"Ouargla","subdivision":null},{"code":"04","name":"Oum el Bouaghi","subdivision":null},{"code":"48","name":"Relizane","subdivision":null},{"code":"20","name":"Saïda","subdivision":null},{"code":"22","name":"Sidi Bel Abbès","subdivision":null},{"code":"21","name":"Skikda","subdivision":null},{"code":"41","name":"Souk Ahras","subdivision":null},{"code":"19","name":"Sétif","subdivision":null},{"code":"11","name":"Tamanghasset","subdivision":null},{"code":"14","name":"Tiaret","subdivision":null},{"code":"37","name":"Tindouf","subdivision":null},{"code":"42","name":"Tipaza","subdivision":null},{"code":"38","name":"Tissemsilt","subdivision":null},{"code":"15","name":"Tizi Ouzou","subdivision":null},{"code":"13","name":"Tlemcen","subdivision":null},{"code":"12","name":"Tébessa","subdivision":null}]},{"code2":"AS","code3":"ASM","name":"American Samoa","capital":"Pago Pago","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"AD","code3":"AND","name":"Andorra","capital":"Andorra la Vella","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Andorra la Vella","subdivision":null},{"code":"02","name":"Canillo","subdivision":null},{"code":"03","name":"Encamp","subdivision":null},{"code":"08","name":"Escaldes-Engordany","subdivision":null},{"code":"04","name":"La Massana","subdivision":null},{"code":"05","name":"Ordino","subdivision":null},{"code":"06","name":"Sant Julià de Lòria","subdivision":null}]},{"code2":"AO","code3":"AGO","name":"Angola","capital":"Luanda","region":"Africa","subregion":"Middle Africa","states":[{"code":"BGO","name":"Bengo","subdivision":null},{"code":"BGU","name":"Benguela","subdivision":null},{"code":"BIE","name":"Bié","subdivision":null},{"code":"CAB","name":"Cabinda","subdivision":null},{"code":"CNN","name":"Cunene","subdivision":null},{"code":"HUA","name":"Huambo","subdivision":null},{"code":"HUI","name":"Huíla","subdivision":null},{"code":"CCU","name":"Kuando Kubango","subdivision":null},{"code":"CNO","name":"Kwanza Norte","subdivision":null},{"code":"CUS","name":"Kwanza Sul","subdivision":null},{"code":"LUA","name":"Luanda","subdivision":null},{"code":"LNO","name":"Lunda Norte","subdivision":null},{"code":"LSU","name":"Lunda Sul","subdivision":null},{"code":"MAL","name":"Malange","subdivision":null},{"code":"MOX","name":"Moxico","subdivision":null},{"code":"NAM","name":"Namibe","subdivision":null},{"code":"UIG","name":"Uíge","subdivision":null},{"code":"ZAI","name":"Zaire","subdivision":null}]},{"code2":"AI","code3":"AIA","name":"Anguilla","capital":"The Valley","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AQ","code3":"ATA","name":"Antarctica","capital":"","region":"Polar","subregion":"","states":[]},{"code2":"AG","code3":"ATG","name":"Antigua and Barbuda","capital":"Saint John's","region":"Americas","subregion":"Caribbean","states":[{"code":"10","name":"Barbuda","subdivision":null},{"code":"11","name":"Redonda","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"06","name":"Saint Paul","subdivision":null},{"code":"07","name":"Saint Peter","subdivision":null},{"code":"08","name":"Saint Philip","subdivision":null}]},{"code2":"AR","code3":"ARG","name":"Argentina","capital":"Buenos Aires","region":"Americas","subregion":"South America","states":[{"code":"B","name":"Buenos Aires","subdivision":null},{"code":"K","name":"Catamarca","subdivision":null},{"code":"H","name":"Chaco","subdivision":null},{"code":"U","name":"Chubut","subdivision":null},{"code":"C","name":"Ciudad Autónoma de Buenos Aires","subdivision":null},{"code":"W","name":"Corrientes","subdivision":null},{"code":"X","name":"Córdoba","subdivision":null},{"code":"E","name":"Entre Ríos","subdivision":null},{"code":"P","name":"Formosa","subdivision":null},{"code":"Y","name":"Jujuy","subdivision":null},{"code":"L","name":"La Pampa","subdivision":null},{"code":"F","name":"La Rioja","subdivision":null},{"code":"M","name":"Mendoza","subdivision":null},{"code":"N","name":"Misiones","subdivision":null},{"code":"Q","name":"Neuquén","subdivision":null},{"code":"R","name":"Río Negro","subdivision":null},{"code":"A","name":"Salta","subdivision":null},{"code":"J","name":"San Juan","subdivision":null},{"code":"D","name":"San Luis","subdivision":null},{"code":"Z","name":"Santa Cruz","subdivision":null},{"code":"S","name":"Santa Fe","subdivision":null},{"code":"G","name":"Santiago del Estero","subdivision":null},{"code":"V","name":"Tierra del Fuego","subdivision":null},{"code":"T","name":"Tucumán","subdivision":null}]},{"code2":"AM","code3":"ARM","name":"Armenia","capital":"Yerevan","region":"Asia","subregion":"Western Asia","states":[{"code":"AG","name":"Aragac̣otn","subdivision":null},{"code":"AR","name":"Ararat","subdivision":null},{"code":"AV","name":"Armavir","subdivision":null},{"code":"ER","name":"Erevan","subdivision":null},{"code":"GR","name":"Geġark'unik'","subdivision":null},{"code":"KT","name":"Kotayk'","subdivision":null},{"code":"LO","name":"Loṙi","subdivision":null},{"code":"SU","name":"Syunik'","subdivision":null},{"code":"TV","name":"Tavuš","subdivision":null},{"code":"VD","name":"Vayoć Jor","subdivision":null},{"code":"SH","name":"Širak","subdivision":null}]},{"code2":"AW","code3":"ABW","name":"Aruba","capital":"Oranjestad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"AU","code3":"AUS","name":"Australia","capital":"Canberra","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"ACT","name":"Australian Capital Territory","subdivision":null},{"code":"NSW","name":"New South Wales","subdivision":null},{"code":"NT","name":"Northern Territory","subdivision":null},{"code":"QLD","name":"Queensland","subdivision":null},{"code":"SA","name":"South Australia","subdivision":null},{"code":"TAS","name":"Tasmania","subdivision":null},{"code":"VIC","name":"Victoria","subdivision":null},{"code":"WA","name":"Western Australia","subdivision":null}]},{"code2":"AT","code3":"AUT","name":"Austria","capital":"Vienna","region":"Europe","subregion":"Western Europe","states":[{"code":"B","name":"Burgenland","subdivision":null},{"code":"K","name":"Kärnten","subdivision":null},{"code":"NÖ","name":"Niederösterreich","subdivision":null},{"code":"OÖ","name":"Oberösterreich","subdivision":null},{"code":"S","name":"Salzburg","subdivision":null},{"code":"ST","name":"Steiermark","subdivision":null},{"code":"T","name":"Tirol","subdivision":null},{"code":"V","name":"Vorarlberg","subdivision":null},{"code":"W","name":"Wien","subdivision":null}]},{"code2":"AZ","code3":"AZE","name":"Azerbaijan","capital":"Baku","region":"Asia","subregion":"Western Asia","states":[{"code":"NX","name":"Naxçıvan","subdivision":null}]},{"code2":"BS","code3":"BHS","name":"The Bahamas","capital":"Nassau","region":"Americas","subregion":"Caribbean","states":[{"code":"AK","name":"Acklins","subdivision":null},{"code":"BY","name":"Berry Islands","subdivision":null},{"code":"BI","name":"Bimini","subdivision":null},{"code":"BP","name":"Black Point","subdivision":null},{"code":"CI","name":"Cat Island","subdivision":null},{"code":"CO","name":"Central Abaco","subdivision":null},{"code":"CS","name":"Central Andros","subdivision":null},{"code":"CE","name":"Central Eleuthera","subdivision":null},{"code":"FP","name":"City of Freeport","subdivision":null},{"code":"CK","name":"Crooked Island and Long Cay","subdivision":null},{"code":"EG","name":"East Grand Bahama","subdivision":null},{"code":"EX","name":"Exuma","subdivision":null},{"code":"GC","name":"Grand Cay","subdivision":null},{"code":"HI","name":"Harbour Island","subdivision":null},{"code":"HT","name":"Hope Town","subdivision":null},{"code":"IN","name":"Inagua","subdivision":null},{"code":"LI","name":"Long Island","subdivision":null},{"code":"MC","name":"Mangrove Cay","subdivision":null},{"code":"MG","name":"Mayaguana","subdivision":null},{"code":"MI","name":"Moores Island","subdivision":null},{"code":"NO","name":"North Abaco","subdivision":null},{"code":"NS","name":"North Andros","subdivision":null},{"code":"NE","name":"North Eleuthera","subdivision":null},{"code":"RI","name":"Ragged Island","subdivision":null},{"code":"RC","name":"Rum Cay","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SO","name":"South Abaco","subdivision":null},{"code":"SA","name":"South Andros","subdivision":null},{"code":"SE","name":"South Eleuthera","subdivision":null},{"code":"SW","name":"Spanish Wells","subdivision":null},{"code":"WG","name":"West Grand Bahama","subdivision":null}]},{"code2":"BH","code3":"BHR","name":"Bahrain","capital":"Manama","region":"Asia","subregion":"Western Asia","states":[{"code":"14","name":"Al Janūbīyah","subdivision":null},{"code":"13","name":"Al Manāmah","subdivision":null},{"code":"15","name":"Al Muḩarraq","subdivision":null},{"code":"16","name":"Al Wusţá","subdivision":null},{"code":"17","name":"Ash Shamālīyah","subdivision":null}]},{"code2":"BD","code3":"BGD","name":"Bangladesh","capital":"Dhaka","region":"Asia","subregion":"Southern Asia","states":[{"code":"A","name":"Barisal","subdivision":null},{"code":"B","name":"Chittagong","subdivision":null},{"code":"C","name":"Dhaka","subdivision":null},{"code":"D","name":"Khulna","subdivision":null},{"code":"E","name":"Rajshahi","subdivision":null},{"code":"F","name":"Rangpur","subdivision":null},{"code":"G","name":"Sylhet","subdivision":null}]},{"code2":"BB","code3":"BRB","name":"Barbados","capital":"Bridgetown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Christ Church","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint James","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Lucy","subdivision":null},{"code":"08","name":"Saint Michael","subdivision":null},{"code":"09","name":"Saint Peter","subdivision":null},{"code":"10","name":"Saint Philip","subdivision":null},{"code":"11","name":"Saint Thomas","subdivision":null}]},{"code2":"BY","code3":"BLR","name":"Belarus","capital":"Minsk","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BR","name":"Brestskaya voblasts'","subdivision":null},{"code":"HO","name":"Homyel'skaya voblasts'","subdivision":null},{"code":"HM","name":"Horad Minsk","subdivision":null},{"code":"HR","name":"Hrodzenskaya voblasts'","subdivision":null},{"code":"MA","name":"Mahilyowskaya voblasts'","subdivision":null},{"code":"MI","name":"Minskaya voblasts'","subdivision":null},{"code":"VI","name":"Vitsyebskaya voblasts'","subdivision":null}]},{"code2":"BE","code3":"BEL","name":"Belgium","capital":"Brussels","region":"Europe","subregion":"Western Europe","states":[{"code":"BRU","name":"Brussels Hoofdstedelijk Gewest","subdivision":null},{"code":"WAL","name":"Région Wallonne","subdivision":null},{"code":"VLG","name":"Vlaams Gewest","subdivision":null}]},{"code2":"BZ","code3":"BLZ","name":"Belize","capital":"Belmopan","region":"Americas","subregion":"Central America","states":[{"code":"BZ","name":"Belize","subdivision":null},{"code":"CY","name":"Cayo","subdivision":null},{"code":"CZL","name":"Corozal","subdivision":null},{"code":"OW","name":"Orange Walk","subdivision":null},{"code":"SC","name":"Stann Creek","subdivision":null},{"code":"TOL","name":"Toledo","subdivision":null}]},{"code2":"BJ","code3":"BEN","name":"Benin","capital":"Porto-Novo","region":"Africa","subregion":"Western Africa","states":[{"code":"AL","name":"Alibori","subdivision":null},{"code":"AK","name":"Atakora","subdivision":null},{"code":"AQ","name":"Atlantique","subdivision":null},{"code":"BO","name":"Borgou","subdivision":null},{"code":"CO","name":"Collines","subdivision":null},{"code":"DO","name":"Donga","subdivision":null},{"code":"KO","name":"Kouffo","subdivision":null},{"code":"LI","name":"Littoral","subdivision":null},{"code":"MO","name":"Mono","subdivision":null},{"code":"OU","name":"Ouémé","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"ZO","name":"Zou","subdivision":null}]},{"code2":"BM","code3":"BMU","name":"Bermuda","capital":"Hamilton","region":"Americas","subregion":"Northern America","states":[]},{"code2":"BT","code3":"BTN","name":"Bhutan","capital":"Thimphu","region":"Asia","subregion":"Southern Asia","states":[{"code":"33","name":"Bumthang","subdivision":null},{"code":"12","name":"Chhukha","subdivision":null},{"code":"22","name":"Dagana","subdivision":null},{"code":"GA","name":"Gasa","subdivision":null},{"code":"13","name":"Ha","subdivision":null},{"code":"44","name":"Lhuentse","subdivision":null},{"code":"42","name":"Monggar","subdivision":null},{"code":"11","name":"Paro","subdivision":null},{"code":"43","name":"Pemagatshel","subdivision":null},{"code":"23","name":"Punakha","subdivision":null},{"code":"45","name":"Samdrup Jongkha","subdivision":null},{"code":"14","name":"Samtse","subdivision":null},{"code":"31","name":"Sarpang","subdivision":null},{"code":"15","name":"Thimphu","subdivision":null},{"code":"TY","name":"Trashi Yangtse","subdivision":null},{"code":"41","name":"Trashigang","subdivision":null},{"code":"32","name":"Trongsa","subdivision":null},{"code":"21","name":"Tsirang","subdivision":null},{"code":"24","name":"Wangdue Phodrang","subdivision":null},{"code":"34","name":"Zhemgang","subdivision":null}]},{"code2":"BO","code3":"BOL","name":"Bolivia","capital":"Sucre","region":"Americas","subregion":"South America","states":[{"code":"H","name":"Chuquisaca","subdivision":null},{"code":"C","name":"Cochabamba","subdivision":null},{"code":"B","name":"El Beni","subdivision":null},{"code":"L","name":"La Paz","subdivision":null},{"code":"O","name":"Oruro","subdivision":null},{"code":"N","name":"Pando","subdivision":null},{"code":"P","name":"Potosí","subdivision":null},{"code":"S","name":"Santa Cruz","subdivision":null},{"code":"T","name":"Tarija","subdivision":null}]},{"code2":"BQ","code3":"BES","name":"Bonaire","capital":"Kralendijk","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BA","code3":"BIH","name":"Bosnia and Herzegovina","capital":"Sarajevo","region":"Europe","subregion":"Southern Europe","states":[{"code":"BRC","name":"Brčko distrikt","subdivision":null},{"code":"BIH","name":"Federacija Bosna i Hercegovina","subdivision":null},{"code":"SRP","name":"Republika Srpska","subdivision":null}]},{"code2":"BW","code3":"BWA","name":"Botswana","capital":"Gaborone","region":"Africa","subregion":"Southern Africa","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Chobe","subdivision":null},{"code":"FR","name":"Francistown","subdivision":null},{"code":"GA","name":"Gaborone","subdivision":null},{"code":"GH","name":"Ghanzi","subdivision":null},{"code":"JW","name":"Jwaneng","subdivision":null},{"code":"KG","name":"Kgalagadi","subdivision":null},{"code":"KL","name":"Kgatleng","subdivision":null},{"code":"KW","name":"Kweneng","subdivision":null},{"code":"LO","name":"Lobatse","subdivision":null},{"code":"NE","name":"North-East","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SP","name":"Selibe Phikwe","subdivision":null},{"code":"SE","name":"South-East","subdivision":null},{"code":"SO","name":"Southern","subdivision":null},{"code":"ST","name":"Sowa Town","subdivision":null}]},{"code2":"BV","code3":"BVT","name":"Bouvet Island","capital":"","region":"","subregion":"","states":[]},{"code2":"BR","code3":"BRA","name":"Brazil","capital":"Brasília","region":"Americas","subregion":"South America","states":[{"code":"AC","name":"Acre","subdivision":null},{"code":"AL","name":"Alagoas","subdivision":null},{"code":"AP","name":"Amapá","subdivision":null},{"code":"AM","name":"Amazonas","subdivision":null},{"code":"BA","name":"Bahia","subdivision":null},{"code":"CE","name":"Ceará","subdivision":null},{"code":"DF","name":"Distrito Federal","subdivision":null},{"code":"ES","name":"Espírito Santo","subdivision":null},{"code":"GO","name":"Goiás","subdivision":null},{"code":"MA","name":"Maranhão","subdivision":null},{"code":"MT","name":"Mato Grosso","subdivision":null},{"code":"MS","name":"Mato Grosso do Sul","subdivision":null},{"code":"MG","name":"Minas Gerais","subdivision":null},{"code":"PR","name":"Paraná","subdivision":null},{"code":"PB","name":"Paraíba","subdivision":null},{"code":"PA","name":"Pará","subdivision":null},{"code":"PE","name":"Pernambuco","subdivision":null},{"code":"PI","name":"Piauí","subdivision":null},{"code":"RN","name":"Rio Grande do Norte","subdivision":null},{"code":"RS","name":"Rio Grande do Sul","subdivision":null},{"code":"RJ","name":"Rio de Janeiro","subdivision":null},{"code":"RO","name":"Rondônia","subdivision":null},{"code":"RR","name":"Roraima","subdivision":null},{"code":"SC","name":"Santa Catarina","subdivision":null},{"code":"SE","name":"Sergipe","subdivision":null},{"code":"SP","name":"São Paulo","subdivision":null},{"code":"TO","name":"Tocantins","subdivision":null}]},{"code2":"IO","code3":"IOT","name":"British Indian Ocean Territory","capital":"Diego Garcia","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"UM","code3":"UMI","name":"United States Minor Outlying Islands","capital":"","region":"Americas","subregion":"Northern America","states":[{"code":"81","name":"Baker Island","subdivision":null},{"code":"84","name":"Howland Island","subdivision":null},{"code":"86","name":"Jarvis Island","subdivision":null},{"code":"67","name":"Johnston Atoll","subdivision":null},{"code":"89","name":"Kingman Reef","subdivision":null},{"code":"71","name":"Midway Islands","subdivision":null},{"code":"76","name":"Navassa Island","subdivision":null},{"code":"95","name":"Palmyra Atoll","subdivision":null},{"code":"79","name":"Wake Island","subdivision":null}]},{"code2":"VG","code3":"VGB","name":"Virgin Islands (British)","capital":"Road Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"VI","code3":"VIR","name":"Virgin Islands (U.S.)","capital":"Charlotte Amalie","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"BN","code3":"BRN","name":"Brunei","capital":"Bandar Seri Begawan","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"BE","name":"Belait","subdivision":null},{"code":"BM","name":"Brunei-Muara","subdivision":null},{"code":"TE","name":"Temburong","subdivision":null},{"code":"TU","name":"Tutong","subdivision":null}]},{"code2":"BG","code3":"BGR","name":"Bulgaria","capital":"Sofia","region":"Europe","subregion":"Eastern Europe","states":[{"code":"01","name":"Blagoevgrad","subdivision":null},{"code":"02","name":"Burgas","subdivision":null},{"code":"08","name":"Dobrich","subdivision":null},{"code":"07","name":"Gabrovo","subdivision":null},{"code":"26","name":"Haskovo","subdivision":null},{"code":"09","name":"Kardzhali","subdivision":null},{"code":"10","name":"Kyustendil","subdivision":null},{"code":"11","name":"Lovech","subdivision":null},{"code":"12","name":"Montana","subdivision":null},{"code":"13","name":"Pazardzhik","subdivision":null},{"code":"14","name":"Pernik","subdivision":null},{"code":"15","name":"Pleven","subdivision":null},{"code":"16","name":"Plovdiv","subdivision":null},{"code":"17","name":"Razgrad","subdivision":null},{"code":"18","name":"Ruse","subdivision":null},{"code":"27","name":"Shumen","subdivision":null},{"code":"19","name":"Silistra","subdivision":null},{"code":"20","name":"Sliven","subdivision":null},{"code":"21","name":"Smolyan","subdivision":null},{"code":"23","name":"Sofia","subdivision":null},{"code":"22","name":"Sofia-Grad","subdivision":null},{"code":"24","name":"Stara Zagora","subdivision":null},{"code":"25","name":"Targovishte","subdivision":null},{"code":"03","name":"Varna","subdivision":null},{"code":"04","name":"Veliko Tarnovo","subdivision":null},{"code":"05","name":"Vidin","subdivision":null},{"code":"06","name":"Vratsa","subdivision":null},{"code":"28","name":"Yambol","subdivision":null}]},{"code2":"BF","code3":"BFA","name":"Burkina Faso","capital":"Ouagadougou","region":"Africa","subregion":"Western Africa","states":[{"code":"01","name":"Boucle du Mouhoun","subdivision":null},{"code":"02","name":"Cascades","subdivision":null},{"code":"03","name":"Centre","subdivision":null},{"code":"04","name":"Centre-Est","subdivision":null},{"code":"05","name":"Centre-Nord","subdivision":null},{"code":"06","name":"Centre-Ouest","subdivision":null},{"code":"07","name":"Centre-Sud","subdivision":null},{"code":"08","name":"Est","subdivision":null},{"code":"09","name":"Hauts-Bassins","subdivision":null},{"code":"10","name":"Nord","subdivision":null},{"code":"11","name":"Plateau-Central","subdivision":null},{"code":"12","name":"Sahel","subdivision":null},{"code":"13","name":"Sud-Ouest","subdivision":null}]},{"code2":"BI","code3":"BDI","name":"Burundi","capital":"Bujumbura","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BB","name":"Bubanza","subdivision":null},{"code":"BM","name":"Bujumbura Mairie","subdivision":null},{"code":"BL","name":"Bujumbura Rural","subdivision":null},{"code":"BR","name":"Bururi","subdivision":null},{"code":"CA","name":"Cankuzo","subdivision":null},{"code":"CI","name":"Cibitoke","subdivision":null},{"code":"GI","name":"Gitega","subdivision":null},{"code":"KR","name":"Karuzi","subdivision":null},{"code":"KY","name":"Kayanza","subdivision":null},{"code":"KI","name":"Kirundo","subdivision":null},{"code":"MA","name":"Makamba","subdivision":null},{"code":"MU","name":"Muramvya","subdivision":null},{"code":"MY","name":"Muyinga","subdivision":null},{"code":"MW","name":"Mwaro","subdivision":null},{"code":"NG","name":"Ngozi","subdivision":null},{"code":"RT","name":"Rutana","subdivision":null},{"code":"RY","name":"Ruyigi","subdivision":null}]},{"code2":"KH","code3":"KHM","name":"Cambodia","capital":"Phnom Penh","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"2","name":"Baat Dambang","subdivision":null},{"code":"1","name":"Banteay Mean Chey","subdivision":null},{"code":"3","name":"Kampong Chaam","subdivision":null},{"code":"4","name":"Kampong Chhnang","subdivision":null},{"code":"5","name":"Kampong Spueu","subdivision":null},{"code":"6","name":"Kampong Thum","subdivision":null},{"code":"7","name":"Kampot","subdivision":null},{"code":"8","name":"Kandaal","subdivision":null},{"code":"9","name":"Kaoh Kong","subdivision":null},{"code":"10","name":"Kracheh","subdivision":null},{"code":"23","name":"Krong Kaeb","subdivision":null},{"code":"24","name":"Krong Pailin","subdivision":null},{"code":"18","name":"Krong Preah Sihanouk","subdivision":null},{"code":"11","name":"Mondol Kiri","subdivision":null},{"code":"22","name":"Otdar Mean Chey","subdivision":null},{"code":"12","name":"Phnom Penh","subdivision":null},{"code":"15","name":"Pousaat","subdivision":null},{"code":"13","name":"Preah Vihear","subdivision":null},{"code":"14","name":"Prey Veaeng","subdivision":null},{"code":"16","name":"Rotanak Kiri","subdivision":null},{"code":"17","name":"Siem Reab","subdivision":null},{"code":"19","name":"Stueng Traeng","subdivision":null},{"code":"20","name":"Svaay Rieng","subdivision":null},{"code":"21","name":"Taakaev","subdivision":null}]},{"code2":"CM","code3":"CMR","name":"Cameroon","capital":"Yaoundé","region":"Africa","subregion":"Middle Africa","states":[{"code":"AD","name":"Adamaoua","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"ES","name":"East","subdivision":null},{"code":"EN","name":"Far North","subdivision":null},{"code":"LT","name":"Littoral","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NW","name":"North-West","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SW","name":"South-West","subdivision":null},{"code":"OU","name":"West","subdivision":null}]},{"code2":"CA","code3":"CAN","name":"Canada","capital":"Ottawa","region":"Americas","subregion":"Northern America","states":[{"code":"AB","name":"Alberta","subdivision":"province"},{"code":"BC","name":"British Columbia","subdivision":"province"},{"code":"MB","name":"Manitoba","subdivision":"province"},{"code":"NB","name":"New Brunswick","subdivision":"province"},{"code":"NL","name":"Newfoundland and Labrador","subdivision":"province"},{"code":"NS","name":"Nova Scotia","subdivision":"province"},{"code":"ON","name":"Ontario","subdivision":"province"},{"code":"PE","name":"Prince Edward Island","subdivision":"province"},{"code":"QC","name":"Quebec","subdivision":"province"},{"code":"SK","name":"Saskatchewan","subdivision":"province"},{"code":"NT","name":"Northwest Territories","subdivision":"territory"},{"code":"NU","name":"Nunavut","subdivision":"territory"},{"code":"YT","name":"Yukon","subdivision":"territory"}]},{"code2":"CV","code3":"CPV","name":"Cape Verde","capital":"Praia","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Ilhas de Barlavento","subdivision":null},{"code":"S","name":"Ilhas de Sotavento","subdivision":null}]},{"code2":"KY","code3":"CYM","name":"Cayman Islands","capital":"George Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CF","code3":"CAF","name":"Central African Republic","capital":"Bangui","region":"Africa","subregion":"Middle Africa","states":[{"code":"BB","name":"Bamingui-Bangoran","subdivision":null},{"code":"BGF","name":"Bangui","subdivision":null},{"code":"BK","name":"Basse-Kotto","subdivision":null},{"code":"KB","name":"Gribingui","subdivision":null},{"code":"HM","name":"Haut-Mbomou","subdivision":null},{"code":"HK","name":"Haute-Kotto","subdivision":null},{"code":"HS","name":"Haute-Sangha / Mambéré-Kadéï","subdivision":null},{"code":"KG","name":"Kémo-Gribingui","subdivision":null},{"code":"LB","name":"Lobaye","subdivision":null},{"code":"MB","name":"Mbomou","subdivision":null},{"code":"NM","name":"Nana-Mambéré","subdivision":null},{"code":"MP","name":"Ombella-Mpoko","subdivision":null},{"code":"UK","name":"Ouaka","subdivision":null},{"code":"AC","name":"Ouham","subdivision":null},{"code":"OP","name":"Ouham-Pendé","subdivision":null},{"code":"SE","name":"Sangha","subdivision":null},{"code":"VK","name":"Vakaga","subdivision":null}]},{"code2":"TD","code3":"TCD","name":"Chad","capital":"N'Djamena","region":"Africa","subregion":"Middle Africa","states":[{"code":"BA","name":"Al Baṭḩah","subdivision":null},{"code":"LC","name":"Al Buḩayrah","subdivision":null},{"code":"BG","name":"Baḩr al Ghazāl","subdivision":null},{"code":"BO","name":"Būrkū","subdivision":null},{"code":"EN","name":"Innīdī","subdivision":null},{"code":"KA","name":"Kānim","subdivision":null},{"code":"LO","name":"Lūqūn al Gharbī","subdivision":null},{"code":"LR","name":"Lūqūn ash Sharqī","subdivision":null},{"code":"ND","name":"Madīnat Injamīnā","subdivision":null},{"code":"MA","name":"Māndūl","subdivision":null},{"code":"MO","name":"Māyū Kībbī al Gharbī","subdivision":null},{"code":"ME","name":"Māyū Kībbī ash Sharqī","subdivision":null},{"code":"GR","name":"Qīrā","subdivision":null},{"code":"SA","name":"Salāmāt","subdivision":null},{"code":"CB","name":"Shārī Bāqirmī","subdivision":null},{"code":"MC","name":"Shārī al Awsaṭ","subdivision":null},{"code":"SI","name":"Sīlā","subdivision":null},{"code":"TI","name":"Tibastī","subdivision":null},{"code":"TA","name":"Tānjilī","subdivision":null},{"code":"OD","name":"Waddāy","subdivision":null},{"code":"WF","name":"Wādī Fīrā","subdivision":null},{"code":"HL","name":"Ḥajjar Lamīs","subdivision":null}]},{"code2":"CL","code3":"CHL","name":"Chile","capital":"Santiago","region":"Americas","subregion":"South America","states":[{"code":"AI","name":"Aisén del General Carlos Ibañez del Campo","subdivision":null},{"code":"AN","name":"Antofagasta","subdivision":null},{"code":"AR","name":"Araucanía","subdivision":null},{"code":"AP","name":"Arica y Parinacota","subdivision":null},{"code":"AT","name":"Atacama","subdivision":null},{"code":"BI","name":"Bío-Bío","subdivision":null},{"code":"CO","name":"Coquimbo","subdivision":null},{"code":"LI","name":"Libertador General Bernardo O'Higgins","subdivision":null},{"code":"LL","name":"Los Lagos","subdivision":null},{"code":"LR","name":"Los Ríos","subdivision":null},{"code":"MA","name":"Magallanes","subdivision":null},{"code":"ML","name":"Maule","subdivision":null},{"code":"RM","name":"Región Metropolitana de Santiago","subdivision":null},{"code":"TA","name":"Tarapacá","subdivision":null},{"code":"VS","name":"Valparaíso","subdivision":null}]},{"code2":"CN","code3":"CHN","name":"China","capital":"Beijing","region":"Asia","subregion":"Eastern Asia","states":[{"code":"45","name":"Guangxi","subdivision":"Autonomous region"},{"code":"15","name":"Nei Mongol","subdivision":"Autonomous region"},{"code":"64","name":"Ningxia","subdivision":"Autonomous region"},{"code":"65","name":"Xinjiang","subdivision":"Autonomous region"},{"code":"54","name":"Xizang","subdivision":"Autonomous region"},{"code":"11","name":"Beijing","subdivision":"Municipality"},{"code":"50","name":"Chongqing","subdivision":"Municipality"},{"code":"31","name":"Shanghai","subdivision":"Municipality"},{"code":"12","name":"Tianjin","subdivision":"Municipality"},{"code":"34","name":"Anhui","subdivision":"Province"},{"code":"35","name":"Fujian","subdivision":"Province"},{"code":"62","name":"Gansu","subdivision":"Province"},{"code":"44","name":"Guangdong","subdivision":"Province"},{"code":"52","name":"Guizhou","subdivision":"Province"},{"code":"46","name":"Hainan","subdivision":"Province"},{"code":"13","name":"Hebei","subdivision":"Province"},{"code":"23","name":"Heilongjiang","subdivision":"Province"},{"code":"41","name":"Henan","subdivision":"Province"},{"code":"42","name":"Hubei","subdivision":"Province"},{"code":"43","name":"Hunan","subdivision":"Province"},{"code":"32","name":"Jiangsu","subdivision":"Province"},{"code":"36","name":"Jiangxi","subdivision":"Province"},{"code":"22","name":"Jilin","subdivision":"Province"},{"code":"21","name":"Liaoning","subdivision":"Province"},{"code":"63","name":"Qinghai","subdivision":"Province"},{"code":"61","name":"Shaanxi","subdivision":"Province"},{"code":"37","name":"Shandong","subdivision":"Province"},{"code":"14","name":"Shanxi","subdivision":"Province"},{"code":"51","name":"Sichuan","subdivision":"Province"},{"code":"71","name":"Taiwan","subdivision":"Province"},{"code":"53","name":"Yunnan","subdivision":"Province"},{"code":"33","name":"Zhejiang","subdivision":"Province"},{"code":"91","name":"Hong Kong","subdivision":"Special administrative region"},{"code":"92","name":"Macao","subdivision":"Special administrative region"},{"code":"","name":"Hong Kong Island","subdivision":"Special administrative region"},{"code":"KOWLOON","name":"Kowloon","subdivision":"Special administrative region"},{"code":"NEW TERRITORIES","name":"New Territories","subdivision":"Special administrative region"}]},{"code2":"CX","code3":"CXR","name":"Christmas Island","capital":"Flying Fish Cove","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CC","code3":"CCK","name":"Cocos (Keeling) Islands","capital":"West Island","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"CO","code3":"COL","name":"Colombia","capital":"Bogotá","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANT","name":"Antioquia","subdivision":null},{"code":"ARA","name":"Arauca","subdivision":null},{"code":"ATL","name":"Atlántico","subdivision":null},{"code":"BOL","name":"Bolívar","subdivision":null},{"code":"BOY","name":"Boyacá","subdivision":null},{"code":"CAL","name":"Caldas","subdivision":null},{"code":"CAQ","name":"Caquetá","subdivision":null},{"code":"CAS","name":"Casanare","subdivision":null},{"code":"CAU","name":"Cauca","subdivision":null},{"code":"CES","name":"Cesar","subdivision":null},{"code":"CHO","name":"Chocó","subdivision":null},{"code":"CUN","name":"Cundinamarca","subdivision":null},{"code":"COR","name":"Córdoba","subdivision":null},{"code":"DC","name":"Distrito Capital de Bogotá","subdivision":null},{"code":"GUA","name":"Guainía","subdivision":null},{"code":"GUV","name":"Guaviare","subdivision":null},{"code":"HUI","name":"Huila","subdivision":null},{"code":"LAG","name":"La Guajira","subdivision":null},{"code":"MAG","name":"Magdalena","subdivision":null},{"code":"MET","name":"Meta","subdivision":null},{"code":"NAR","name":"Nariño","subdivision":null},{"code":"NSA","name":"Norte de Santander","subdivision":null},{"code":"PUT","name":"Putumayo","subdivision":null},{"code":"QUI","name":"Quindío","subdivision":null},{"code":"RIS","name":"Risaralda","subdivision":null},{"code":"SAP","name":"San Andrés, Providencia y Santa Catalina","subdivision":null},{"code":"SAN","name":"Santander","subdivision":null},{"code":"SUC","name":"Sucre","subdivision":null},{"code":"TOL","name":"Tolima","subdivision":null},{"code":"VAC","name":"Valle del Cauca","subdivision":null},{"code":"VAU","name":"Vaupés","subdivision":null},{"code":"VID","name":"Vichada","subdivision":null}]},{"code2":"KM","code3":"COM","name":"Comoros","capital":"Moroni","region":"Africa","subregion":"Eastern Africa","states":[{"code":"A","name":"Anjouan","subdivision":null},{"code":"G","name":"Grande Comore","subdivision":null},{"code":"M","name":"Mohéli","subdivision":null}]},{"code2":"CG","code3":"COG","name":"Republic of the Congo","capital":"Brazzaville","region":"Africa","subregion":"Middle Africa","states":[{"code":"11","name":"Bouenza","subdivision":null},{"code":"BZV","name":"Brazzaville","subdivision":null},{"code":"8","name":"Cuvette","subdivision":null},{"code":"15","name":"Cuvette-Ouest","subdivision":null},{"code":"5","name":"Kouilou","subdivision":null},{"code":"7","name":"Likouala","subdivision":null},{"code":"2","name":"Lékoumou","subdivision":null},{"code":"9","name":"Niari","subdivision":null},{"code":"14","name":"Plateaux","subdivision":null},{"code":"16","name":"Pointe-Noire","subdivision":null},{"code":"12","name":"Pool","subdivision":null},{"code":"13","name":"Sangha","subdivision":null}]},{"code2":"CD","code3":"COD","name":"Democratic Republic of the Congo","capital":"Kinshasa","region":"Africa","subregion":"Middle Africa","states":[{"code":"BN","name":"Bandundu","subdivision":null},{"code":"BC","name":"Bas-Congo","subdivision":null},{"code":"KW","name":"Kasai-Occidental","subdivision":null},{"code":"KE","name":"Kasai-Oriental","subdivision":null},{"code":"KA","name":"Katanga","subdivision":null},{"code":"KN","name":"Kinshasa","subdivision":null},{"code":"MA","name":"Maniema","subdivision":null},{"code":"NK","name":"Nord-Kivu","subdivision":null},{"code":"OR","name":"Orientale","subdivision":null},{"code":"SK","name":"Sud-Kivu","subdivision":null},{"code":"EQ","name":"Équateur","subdivision":null}]},{"code2":"CK","code3":"COK","name":"Cook Islands","capital":"Avarua","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"CR","code3":"CRI","name":"Costa Rica","capital":"San José","region":"Americas","subregion":"Central America","states":[{"code":"A","name":"Alajuela","subdivision":null},{"code":"C","name":"Cartago","subdivision":null},{"code":"G","name":"Guanacaste","subdivision":null},{"code":"H","name":"Heredia","subdivision":null},{"code":"L","name":"Limón","subdivision":null},{"code":"P","name":"Puntarenas","subdivision":null},{"code":"SJ","name":"San José","subdivision":null}]},{"code2":"HR","code3":"HRV","name":"Croatia","capital":"Zagreb","region":"Europe","subregion":"Southern Europe","states":[{"code":"07","name":"Bjelovarsko-bilogorska županija","subdivision":null},{"code":"12","name":"Brodsko-posavska županija","subdivision":null},{"code":"19","name":"Dubrovačko-neretvanska županija","subdivision":null},{"code":"21","name":"Grad Zagreb","subdivision":null},{"code":"18","name":"Istarska županija","subdivision":null},{"code":"04","name":"Karlovačka županija","subdivision":null},{"code":"06","name":"Koprivničko-križevačka županija","subdivision":null},{"code":"02","name":"Krapinsko-zagorska županija","subdivision":null},{"code":"09","name":"Ličko-senjska županija","subdivision":null},{"code":"20","name":"Međimurska županija","subdivision":null},{"code":"14","name":"Osječko-baranjska županija","subdivision":null},{"code":"11","name":"Požeško-slavonska županija","subdivision":null},{"code":"08","name":"Primorsko-goranska županija","subdivision":null},{"code":"03","name":"Sisačko-moslavačka županija","subdivision":null},{"code":"17","name":"Splitsko-dalmatinska županija","subdivision":null},{"code":"05","name":"Varaždinska županija","subdivision":null},{"code":"10","name":"Virovitičko-podravska županija","subdivision":null},{"code":"16","name":"Vukovarsko-srijemska županija","subdivision":null},{"code":"13","name":"Zadarska županija","subdivision":null},{"code":"01","name":"Zagrebačka županija","subdivision":null},{"code":"15","name":"Šibensko-kninska županija","subdivision":null}]},{"code2":"CU","code3":"CUB","name":"Cuba","capital":"Havana","region":"Americas","subregion":"Caribbean","states":[{"code":"15","name":"Artemisa","subdivision":null},{"code":"09","name":"Camagüey","subdivision":null},{"code":"08","name":"Ciego de Ávila","subdivision":null},{"code":"06","name":"Cienfuegos","subdivision":null},{"code":"12","name":"Granma","subdivision":null},{"code":"14","name":"Guantánamo","subdivision":null},{"code":"11","name":"Holguín","subdivision":null},{"code":"99","name":"Isla de la Juventud","subdivision":null},{"code":"03","name":"La Habana","subdivision":null},{"code":"10","name":"Las Tunas","subdivision":null},{"code":"04","name":"Matanzas","subdivision":null},{"code":"16","name":"Mayabeque","subdivision":null},{"code":"01","name":"Pinar del Río","subdivision":null},{"code":"07","name":"Sancti Spíritus","subdivision":null},{"code":"13","name":"Santiago de Cuba","subdivision":null},{"code":"05","name":"Villa Clara","subdivision":null}]},{"code2":"CW","code3":"CUW","name":"Curaçao","capital":"Willemstad","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"CY","code3":"CYP","name":"Cyprus","capital":"Nicosia","region":"Europe","subregion":"Southern Europe","states":[{"code":"04","name":"Ammochostos","subdivision":null},{"code":"06","name":"Keryneia","subdivision":null},{"code":"03","name":"Larnaka","subdivision":null},{"code":"01","name":"Lefkosia","subdivision":null},{"code":"02","name":"Lemesos","subdivision":null},{"code":"05","name":"Pafos","subdivision":null}]},{"code2":"CZ","code3":"CZE","name":"Czech Republic","capital":"Prague","region":"Europe","subregion":"Eastern Europe","states":[{"code":"JM","name":"Jihomoravský kraj","subdivision":null},{"code":"JC","name":"Jihočeský kraj","subdivision":null},{"code":"KA","name":"Karlovarský kraj","subdivision":null},{"code":"KR","name":"Královéhradecký kraj","subdivision":null},{"code":"LI","name":"Liberecký kraj","subdivision":null},{"code":"MO","name":"Moravskoslezský kraj","subdivision":null},{"code":"OL","name":"Olomoucký kraj","subdivision":null},{"code":"PA","name":"Pardubický kraj","subdivision":null},{"code":"PL","name":"Plzeňský kraj","subdivision":null},{"code":"PR","name":"Praha, hlavní město","subdivision":null},{"code":"ST","name":"Středočeský kraj","subdivision":null},{"code":"VY","name":"Vysočina","subdivision":null},{"code":"ZL","name":"Zlínský kraj","subdivision":null},{"code":"US","name":"Ústecký kraj","subdivision":null}]},{"code2":"DK","code3":"DNK","name":"Denmark","capital":"Copenhagen","region":"Europe","subregion":"Northern Europe","states":[{"code":"84","name":"Hovedstaden","subdivision":null},{"code":"82","name":"Midtjylland","subdivision":null},{"code":"81","name":"Nordjylland","subdivision":null},{"code":"85","name":"Sjælland","subdivision":null},{"code":"83","name":"Syddanmark","subdivision":null}]},{"code2":"DJ","code3":"DJI","name":"Djibouti","capital":"Djibouti","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AS","name":"Ali Sabieh","subdivision":null},{"code":"AR","name":"Arta","subdivision":null},{"code":"DI","name":"Dikhil","subdivision":null},{"code":"DJ","name":"Djibouti","subdivision":null},{"code":"OB","name":"Obock","subdivision":null},{"code":"TA","name":"Tadjourah","subdivision":null}]},{"code2":"DM","code3":"DMA","name":"Dominica","capital":"Roseau","region":"Americas","subregion":"Caribbean","states":[{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint John","subdivision":null},{"code":"06","name":"Saint Joseph","subdivision":null},{"code":"07","name":"Saint Luke","subdivision":null},{"code":"08","name":"Saint Mark","subdivision":null},{"code":"09","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Saint Paul","subdivision":null},{"code":"11","name":"Saint Peter","subdivision":null}]},{"code2":"DO","code3":"DOM","name":"Dominican Republic","capital":"Santo Domingo","region":"Americas","subregion":"Caribbean","states":[{"code":"33","name":"Cibao Nordeste","subdivision":null},{"code":"34","name":"Cibao Noroeste","subdivision":null},{"code":"35","name":"Cibao Norte","subdivision":null},{"code":"36","name":"Cibao Sur","subdivision":null},{"code":"37","name":"El Valle","subdivision":null},{"code":"38","name":"Enriquillo","subdivision":null},{"code":"39","name":"Higuamo","subdivision":null},{"code":"40","name":"Ozama","subdivision":null},{"code":"41","name":"Valdesia","subdivision":null},{"code":"42","name":"Yuma","subdivision":null}]},{"code2":"EC","code3":"ECU","name":"Ecuador","capital":"Quito","region":"Americas","subregion":"South America","states":[{"code":"A","name":"Azuay","subdivision":null},{"code":"B","name":"Bolívar","subdivision":null},{"code":"C","name":"Carchi","subdivision":null},{"code":"F","name":"Cañar","subdivision":null},{"code":"H","name":"Chimborazo","subdivision":null},{"code":"X","name":"Cotopaxi","subdivision":null},{"code":"O","name":"El Oro","subdivision":null},{"code":"E","name":"Esmeraldas","subdivision":null},{"code":"W","name":"Galápagos","subdivision":null},{"code":"G","name":"Guayas","subdivision":null},{"code":"I","name":"Imbabura","subdivision":null},{"code":"L","name":"Loja","subdivision":null},{"code":"R","name":"Los Ríos","subdivision":null},{"code":"M","name":"Manabí","subdivision":null},{"code":"S","name":"Morona-Santiago","subdivision":null},{"code":"N","name":"Napo","subdivision":null},{"code":"D","name":"Orellana","subdivision":null},{"code":"Y","name":"Pastaza","subdivision":null},{"code":"P","name":"Pichincha","subdivision":null},{"code":"SE","name":"Santa Elena","subdivision":null},{"code":"SD","name":"Santo Domingo de los Tsáchilas","subdivision":null},{"code":"U","name":"Sucumbíos","subdivision":null},{"code":"T","name":"Tungurahua","subdivision":null},{"code":"Z","name":"Zamora-Chinchipe","subdivision":null}]},{"code2":"EG","code3":"EGY","name":"Egypt","capital":"Cairo","region":"Africa","subregion":"Northern Africa","states":[{"code":"DK","name":"Ad Daqahlīyah","subdivision":null},{"code":"BA","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"BH","name":"Al Buḩayrah","subdivision":null},{"code":"FYM","name":"Al Fayyūm","subdivision":null},{"code":"GH","name":"Al Gharbīyah","subdivision":null},{"code":"ALX","name":"Al Iskandarīyah","subdivision":null},{"code":"IS","name":"Al Ismāٰīlīyah","subdivision":null},{"code":"GZ","name":"Al Jīzah","subdivision":null},{"code":"MN","name":"Al Minyā","subdivision":null},{"code":"MNF","name":"Al Minūfīyah","subdivision":null},{"code":"KB","name":"Al Qalyūbīyah","subdivision":null},{"code":"C","name":"Al Qāhirah","subdivision":null},{"code":"LX","name":"Al Uqşur","subdivision":null},{"code":"WAD","name":"Al Wādī al Jadīd","subdivision":null},{"code":"SUZ","name":"As Suways","subdivision":null},{"code":"SU","name":"As Sādis min Uktūbar","subdivision":null},{"code":"SHR","name":"Ash Sharqīyah","subdivision":null},{"code":"ASN","name":"Aswān","subdivision":null},{"code":"AST","name":"Asyūţ","subdivision":null},{"code":"BNS","name":"Banī Suwayf","subdivision":null},{"code":"PTS","name":"Būr Saٰīd","subdivision":null},{"code":"DT","name":"Dumyāţ","subdivision":null},{"code":"JS","name":"Janūb Sīnā'","subdivision":null},{"code":"KFS","name":"Kafr ash Shaykh","subdivision":null},{"code":"MT","name":"Maţrūḩ","subdivision":null},{"code":"KN","name":"Qinā","subdivision":null},{"code":"SIN","name":"Shamāl Sīnā'","subdivision":null},{"code":"SHG","name":"Sūhāj","subdivision":null},{"code":"HU","name":"Ḩulwān","subdivision":null}]},{"code2":"SV","code3":"SLV","name":"El Salvador","capital":"San Salvador","region":"Americas","subregion":"Central America","states":[{"code":"AH","name":"Ahuachapán","subdivision":null},{"code":"CA","name":"Cabañas","subdivision":null},{"code":"CH","name":"Chalatenango","subdivision":null},{"code":"CU","name":"Cuscatlán","subdivision":null},{"code":"LI","name":"La Libertad","subdivision":null},{"code":"PA","name":"La Paz","subdivision":null},{"code":"UN","name":"La Unión","subdivision":null},{"code":"MO","name":"Morazán","subdivision":null},{"code":"SM","name":"San Miguel","subdivision":null},{"code":"SS","name":"San Salvador","subdivision":null},{"code":"SV","name":"San Vicente","subdivision":null},{"code":"SA","name":"Santa Ana","subdivision":null},{"code":"SO","name":"Sonsonate","subdivision":null},{"code":"US","name":"Usulután","subdivision":null}]},{"code2":"GQ","code3":"GNQ","name":"Equatorial Guinea","capital":"Malabo","region":"Africa","subregion":"Middle Africa","states":[{"code":"C","name":"Región Continental","subdivision":null},{"code":"I","name":"Región Insular","subdivision":null}]},{"code2":"ER","code3":"ERI","name":"Eritrea","capital":"Asmara","region":"Africa","subregion":"Eastern Africa","states":[{"code":"MA","name":"Al Awsaţ","subdivision":null},{"code":"DU","name":"Al Janūbĩ","subdivision":null},{"code":"AN","name":"Ansabā","subdivision":null},{"code":"DK","name":"Janūbī al Baḩrī al Aḩmar","subdivision":null},{"code":"GB","name":"Qāsh-Barkah","subdivision":null},{"code":"SK","name":"Shimālī al Baḩrī al Aḩmar","subdivision":null}]},{"code2":"EE","code3":"EST","name":"Estonia","capital":"Tallinn","region":"Europe","subregion":"Northern Europe","states":[{"code":"37","name":"Harjumaa","subdivision":null},{"code":"39","name":"Hiiumaa","subdivision":null},{"code":"44","name":"Ida-Virumaa","subdivision":null},{"code":"51","name":"Järvamaa","subdivision":null},{"code":"49","name":"Jõgevamaa","subdivision":null},{"code":"59","name":"Lääne-Virumaa","subdivision":null},{"code":"57","name":"Läänemaa","subdivision":null},{"code":"67","name":"Pärnumaa","subdivision":null},{"code":"65","name":"Põlvamaa","subdivision":null},{"code":"70","name":"Raplamaa","subdivision":null},{"code":"74","name":"Saaremaa","subdivision":null},{"code":"78","name":"Tartumaa","subdivision":null},{"code":"82","name":"Valgamaa","subdivision":null},{"code":"84","name":"Viljandimaa","subdivision":null},{"code":"86","name":"Võrumaa","subdivision":null}]},{"code2":"ET","code3":"ETH","name":"Ethiopia","capital":"Addis Ababa","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BE","name":"Bīnshangul Gumuz","subdivision":null},{"code":"DD","name":"Dirē Dawa","subdivision":null},{"code":"GA","name":"Gambēla Hizboch","subdivision":null},{"code":"HA","name":"Hārerī Hizb","subdivision":null},{"code":"OR","name":"Oromīya","subdivision":null},{"code":"SO","name":"Sumalē","subdivision":null},{"code":"TI","name":"Tigray","subdivision":null},{"code":"SN","name":"YeDebub Bihēroch Bihēreseboch na Hizboch","subdivision":null},{"code":"AA","name":"Ādīs Ābeba","subdivision":null},{"code":"AF","name":"Āfar","subdivision":null},{"code":"AM","name":"Āmara","subdivision":null}]},{"code2":"FK","code3":"FLK","name":"Falkland Islands","capital":"Stanley","region":"Americas","subregion":"South America","states":[]},{"code2":"FO","code3":"FRO","name":"Faroe Islands","capital":"Tórshavn","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"FJ","code3":"FJI","name":"Fiji","capital":"Suva","region":"Oceania","subregion":"Melanesia","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"R","name":"Rotuma","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"FI","code3":"FIN","name":"Finland","capital":"Helsinki","region":"Europe","subregion":"Northern Europe","states":[{"code":"01","name":"Ahvenanmaan maakunta","subdivision":null},{"code":"02","name":"Etelä-Karjala","subdivision":null},{"code":"03","name":"Etelä-Pohjanmaa","subdivision":null},{"code":"04","name":"Etelä-Savo","subdivision":null},{"code":"05","name":"Kainuu","subdivision":null},{"code":"06","name":"Kanta-Häme","subdivision":null},{"code":"07","name":"Keski-Pohjanmaa","subdivision":null},{"code":"08","name":"Keski-Suomi","subdivision":null},{"code":"09","name":"Kymenlaakso","subdivision":null},{"code":"10","name":"Lappi","subdivision":null},{"code":"11","name":"Pirkanmaa","subdivision":null},{"code":"12","name":"Pohjanmaa","subdivision":null},{"code":"13","name":"Pohjois-Karjala","subdivision":null},{"code":"14","name":"Pohjois-Pohjanmaa","subdivision":null},{"code":"15","name":"Pohjois-Savo","subdivision":null},{"code":"16","name":"Päijät-Häme","subdivision":null},{"code":"17","name":"Satakunta","subdivision":null},{"code":"18","name":"Uusimaa","subdivision":null},{"code":"19","name":"Varsinais-Suomi","subdivision":null}]},{"code2":"FR","code3":"FRA","name":"France","capital":"Paris","region":"Europe","subregion":"Western Europe","states":[{"code":"A","name":"Alsace","subdivision":"Metropolitan region"},{"code":"B","name":"Aquitaine","subdivision":"Metropolitan region"},{"code":"C","name":"Auvergne","subdivision":"Metropolitan region"},{"code":"E","name":"Brittany","subdivision":"Metropolitan region"},{"code":"D","name":"Burgundy","subdivision":"Metropolitan region"},{"code":"F","name":"Centre-Val de Loire","subdivision":"Metropolitan region"},{"code":"G","name":"Champagne-Ardenne","subdivision":"Metropolitan region"},{"code":"H","name":"Corsica","subdivision":"Metropolitan region"},{"code":"I","name":"Franche-Comté","subdivision":"Metropolitan region"},{"code":"K","name":"Languedoc-Roussillon","subdivision":"Metropolitan region"},{"code":"L","name":"Limousin","subdivision":"Metropolitan region"},{"code":"M","name":"Lorraine","subdivision":"Metropolitan region"},{"code":"P","name":"Lower Normandy","subdivision":"Metropolitan region"},{"code":"N","name":"Midi-Pyrénées","subdivision":"Metropolitan region"},{"code":"O","name":"Nord-Pas-de-Calais","subdivision":"Metropolitan region"},{"code":"R","name":"Pays de la Loire","subdivision":"Metropolitan region"},{"code":"S","name":"Picardy","subdivision":"Metropolitan region"},{"code":"T","name":"Poitou-Charentes","subdivision":"Metropolitan region"},{"code":"U","name":"Provence-Alpes-Côte d'Azur","subdivision":"Metropolitan region"},{"code":"V","name":"Rhône-Alpes","subdivision":"Metropolitan region"},{"code":"Q","name":"Upper Normandy","subdivision":"Metropolitan region"},{"code":"J","name":"Île-de-France","subdivision":"Metropolitan region"}]},{"code2":"GF","code3":"GUF","name":"French Guiana","capital":"Cayenne","region":"Americas","subregion":"South America","states":[]},{"code2":"PF","code3":"PYF","name":"French Polynesia","capital":"Papeetē","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TF","code3":"ATF","name":"French Southern and Antarctic Lands","capital":"Port-aux-Français","region":"Africa","subregion":"Southern Africa","states":[]},{"code2":"GA","code3":"GAB","name":"Gabon","capital":"Libreville","region":"Africa","subregion":"Middle Africa","states":[{"code":"1","name":"Estuaire","subdivision":null},{"code":"2","name":"Haut-Ogooué","subdivision":null},{"code":"3","name":"Moyen-Ogooué","subdivision":null},{"code":"4","name":"Ngounié","subdivision":null},{"code":"5","name":"Nyanga","subdivision":null},{"code":"6","name":"Ogooué-Ivindo","subdivision":null},{"code":"7","name":"Ogooué-Lolo","subdivision":null},{"code":"8","name":"Ogooué-Maritime","subdivision":null},{"code":"9","name":"Woleu-Ntem","subdivision":null}]},{"code2":"GM","code3":"GMB","name":"The Gambia","capital":"Banjul","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Banjul","subdivision":null},{"code":"M","name":"Central River","subdivision":null},{"code":"L","name":"Lower River","subdivision":null},{"code":"N","name":"North Bank","subdivision":null},{"code":"U","name":"Upper River","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"GE","code3":"GEO","name":"Georgia","capital":"Tbilisi","region":"Asia","subregion":"Western Asia","states":[{"code":"AB","name":"Abkhazia","subdivision":null},{"code":"AJ","name":"Ajaria","subdivision":null},{"code":"GU","name":"Guria","subdivision":null},{"code":"IM","name":"Imereti","subdivision":null},{"code":"KA","name":"K'akheti","subdivision":null},{"code":"KK","name":"Kvemo Kartli","subdivision":null},{"code":"MM","name":"Mtskheta-Mtianeti","subdivision":null},{"code":"RL","name":"Rach'a-Lechkhumi-Kvemo Svaneti","subdivision":null},{"code":"SZ","name":"Samegrelo-Zemo Svaneti","subdivision":null},{"code":"SJ","name":"Samtskhe-Javakheti","subdivision":null},{"code":"SK","name":"Shida Kartli","subdivision":null},{"code":"TB","name":"Tbilisi","subdivision":null}]},{"code2":"DE","code3":"DEU","name":"Germany","capital":"Berlin","region":"Europe","subregion":"Western Europe","states":[{"code":"BW","name":"Baden-Württemberg","subdivision":null},{"code":"BY","name":"Bayern","subdivision":null},{"code":"BE","name":"Berlin","subdivision":null},{"code":"BB","name":"Brandenburg","subdivision":null},{"code":"HB","name":"Bremen","subdivision":null},{"code":"HH","name":"Hamburg","subdivision":null},{"code":"HE","name":"Hessen","subdivision":null},{"code":"MV","name":"Mecklenburg-Vorpommern","subdivision":null},{"code":"NI","name":"Niedersachsen","subdivision":null},{"code":"NW","name":"Nordrhein-Westfalen","subdivision":null},{"code":"RP","name":"Rheinland-Pfalz","subdivision":null},{"code":"SL","name":"Saarland","subdivision":null},{"code":"SN","name":"Sachsen","subdivision":null},{"code":"ST","name":"Sachsen-Anhalt","subdivision":null},{"code":"SH","name":"Schleswig-Holstein","subdivision":null},{"code":"TH","name":"Thüringen","subdivision":null}]},{"code2":"GH","code3":"GHA","name":"Ghana","capital":"Accra","region":"Africa","subregion":"Western Africa","states":[{"code":"AH","name":"Ashanti","subdivision":null},{"code":"BA","name":"Brong-Ahafo","subdivision":null},{"code":"CP","name":"Central","subdivision":null},{"code":"EP","name":"Eastern","subdivision":null},{"code":"AA","name":"Greater Accra","subdivision":null},{"code":"NP","name":"Northern","subdivision":null},{"code":"UE","name":"Upper East","subdivision":null},{"code":"UW","name":"Upper West","subdivision":null},{"code":"TV","name":"Volta","subdivision":null},{"code":"WP","name":"Western","subdivision":null}]},{"code2":"GI","code3":"GIB","name":"Gibraltar","capital":"Gibraltar","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"GR","code3":"GRC","name":"Greece","capital":"Athens","region":"Europe","subregion":"Southern Europe","states":[{"code":"A","name":"Anatoliki Makedonia kai Thraki","subdivision":null},{"code":"I","name":"Attiki","subdivision":null},{"code":"G","name":"Dytiki Ellada","subdivision":null},{"code":"C","name":"Dytiki Makedonia","subdivision":null},{"code":"F","name":"Ionia Nisia","subdivision":null},{"code":"D","name":"Ipeiros","subdivision":null},{"code":"B","name":"Kentriki Makedonia","subdivision":null},{"code":"M","name":"Kriti","subdivision":null},{"code":"L","name":"Notio Aigaio","subdivision":null},{"code":"J","name":"Peloponnisos","subdivision":null},{"code":"H","name":"Sterea Ellada","subdivision":null},{"code":"E","name":"Thessalia","subdivision":null},{"code":"K","name":"Voreio Aigaio","subdivision":null}]},{"code2":"GL","code3":"GRL","name":"Greenland","capital":"Nuuk","region":"Americas","subregion":"Northern America","states":[{"code":"KU","name":"Kommune Kujalleq","subdivision":null},{"code":"SM","name":"Kommuneqarfik Sermersooq","subdivision":null},{"code":"QA","name":"Qaasuitsup Kommunia","subdivision":null},{"code":"QE","name":"Qeqqata Kommunia","subdivision":null}]},{"code2":"GD","code3":"GRD","name":"Grenada","capital":"St. George's","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Saint Andrew","subdivision":null},{"code":"02","name":"Saint David","subdivision":null},{"code":"03","name":"Saint George","subdivision":null},{"code":"04","name":"Saint John","subdivision":null},{"code":"05","name":"Saint Mark","subdivision":null},{"code":"06","name":"Saint Patrick","subdivision":null},{"code":"10","name":"Southern Grenadine Islands","subdivision":null}]},{"code2":"GP","code3":"GLP","name":"Guadeloupe","capital":"Basse-Terre","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"GU","code3":"GUM","name":"Guam","capital":"Hagåtña","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"GT","code3":"GTM","name":"Guatemala","capital":"Guatemala City","region":"Americas","subregion":"Central America","states":[{"code":"AV","name":"Alta Verapaz","subdivision":null},{"code":"BV","name":"Baja Verapaz","subdivision":null},{"code":"CM","name":"Chimaltenango","subdivision":null},{"code":"CQ","name":"Chiquimula","subdivision":null},{"code":"PR","name":"El Progreso","subdivision":null},{"code":"ES","name":"Escuintla","subdivision":null},{"code":"GU","name":"Guatemala","subdivision":null},{"code":"HU","name":"Huehuetenango","subdivision":null},{"code":"IZ","name":"Izabal","subdivision":null},{"code":"JA","name":"Jalapa","subdivision":null},{"code":"JU","name":"Jutiapa","subdivision":null},{"code":"PE","name":"Petén","subdivision":null},{"code":"QZ","name":"Quetzaltenango","subdivision":null},{"code":"QC","name":"Quiché","subdivision":null},{"code":"RE","name":"Retalhuleu","subdivision":null},{"code":"SA","name":"Sacatepéquez","subdivision":null},{"code":"SM","name":"San Marcos","subdivision":null},{"code":"SR","name":"Santa Rosa","subdivision":null},{"code":"SO","name":"Sololá","subdivision":null},{"code":"SU","name":"Suchitepéquez","subdivision":null},{"code":"TO","name":"Totonicapán","subdivision":null},{"code":"ZA","name":"Zacapa","subdivision":null}]},{"code2":"GG","code3":"GGY","name":"Guernsey","capital":"St. Peter Port","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"GN","code3":"GIN","name":"Guinea","capital":"Conakry","region":"Africa","subregion":"Western Africa","states":[{"code":"B","name":"Boké","subdivision":null},{"code":"C","name":"Conakry","subdivision":null},{"code":"F","name":"Faranah","subdivision":null},{"code":"K","name":"Kankan","subdivision":null},{"code":"D","name":"Kindia","subdivision":null},{"code":"L","name":"Labé","subdivision":null},{"code":"M","name":"Mamou","subdivision":null},{"code":"N","name":"Nzérékoré","subdivision":null}]},{"code2":"GW","code3":"GNB","name":"Guinea-Bissau","capital":"Bissau","region":"Africa","subregion":"Western Africa","states":[{"code":"L","name":"Leste","subdivision":null},{"code":"N","name":"Norte","subdivision":null},{"code":"S","name":"Sul","subdivision":null}]},{"code2":"GY","code3":"GUY","name":"Guyana","capital":"Georgetown","region":"Americas","subregion":"South America","states":[{"code":"BA","name":"Barima-Waini","subdivision":null},{"code":"CU","name":"Cuyuni-Mazaruni","subdivision":null},{"code":"DE","name":"Demerara-Mahaica","subdivision":null},{"code":"EB","name":"East Berbice-Corentyne","subdivision":null},{"code":"ES","name":"Essequibo Islands-West Demerara","subdivision":null},{"code":"MA","name":"Mahaica-Berbice","subdivision":null},{"code":"PM","name":"Pomeroon-Supenaam","subdivision":null},{"code":"PT","name":"Potaro-Siparuni","subdivision":null},{"code":"UD","name":"Upper Demerara-Berbice","subdivision":null},{"code":"UT","name":"Upper Takutu-Upper Essequibo","subdivision":null}]},{"code2":"HT","code3":"HTI","name":"Haiti","capital":"Port-au-Prince","region":"Americas","subregion":"Caribbean","states":[{"code":"AR","name":"Artibonite","subdivision":null},{"code":"CE","name":"Centre","subdivision":null},{"code":"GA","name":"Grande-Anse","subdivision":null},{"code":"NI","name":"Nippes","subdivision":null},{"code":"ND","name":"Nord","subdivision":null},{"code":"NE","name":"Nord-Est","subdivision":null},{"code":"NO","name":"Nord-Ouest","subdivision":null},{"code":"OU","name":"Ouest","subdivision":null},{"code":"SD","name":"Sud","subdivision":null},{"code":"SE","name":"Sud-Est","subdivision":null}]},{"code2":"HM","code3":"HMD","name":"Heard Island and McDonald Islands","capital":"","region":"","subregion":"","states":[]},{"code2":"VA","code3":"VAT","name":"Holy See","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[]},{"code2":"HN","code3":"HND","name":"Honduras","capital":"Tegucigalpa","region":"Americas","subregion":"Central America","states":[{"code":"AT","name":"Atlántida","subdivision":null},{"code":"CH","name":"Choluteca","subdivision":null},{"code":"CL","name":"Colón","subdivision":null},{"code":"CM","name":"Comayagua","subdivision":null},{"code":"CP","name":"Copán","subdivision":null},{"code":"CR","name":"Cortés","subdivision":null},{"code":"EP","name":"El Paraíso","subdivision":null},{"code":"FM","name":"Francisco Morazán","subdivision":null},{"code":"GD","name":"Gracias a Dios","subdivision":null},{"code":"IN","name":"Intibucá","subdivision":null},{"code":"IB","name":"Islas de la Bahía","subdivision":null},{"code":"LP","name":"La Paz","subdivision":null},{"code":"LE","name":"Lempira","subdivision":null},{"code":"OC","name":"Ocotepeque","subdivision":null},{"code":"OL","name":"Olancho","subdivision":null},{"code":"SB","name":"Santa Bárbara","subdivision":null},{"code":"VA","name":"Valle","subdivision":null},{"code":"YO","name":"Yoro","subdivision":null}]},{"code2":"HK","code3":"HKG","name":"Hong Kong","capital":"City of Victoria","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"HU","code3":"HUN","name":"Hungary","capital":"Budapest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BA","name":"Baranya","subdivision":null},{"code":"BZ","name":"Borsod-Abaúj-Zemplén","subdivision":null},{"code":"BU","name":"Budapest","subdivision":null},{"code":"BK","name":"Bács-Kiskun","subdivision":null},{"code":"BE","name":"Békés","subdivision":null},{"code":"BC","name":"Békéscsaba","subdivision":null},{"code":"CS","name":"Csongrád","subdivision":null},{"code":"DE","name":"Debrecen","subdivision":null},{"code":"DU","name":"Dunaújváros","subdivision":null},{"code":"EG","name":"Eger","subdivision":null},{"code":"FE","name":"Fejér","subdivision":null},{"code":"GY","name":"Győr","subdivision":null},{"code":"GS","name":"Győr-Moson-Sopron","subdivision":null},{"code":"HB","name":"Hajdú-Bihar","subdivision":null},{"code":"HE","name":"Heves","subdivision":null},{"code":"HV","name":"Hódmezővásárhely","subdivision":null},{"code":"JN","name":"Jász-Nagykun-Szolnok","subdivision":null},{"code":"KV","name":"Kaposvár","subdivision":null},{"code":"KM","name":"Kecskemét","subdivision":null},{"code":"KE","name":"Komárom-Esztergom","subdivision":null},{"code":"MI","name":"Miskolc","subdivision":null},{"code":"NK","name":"Nagykanizsa","subdivision":null},{"code":"NY","name":"Nyíregyháza","subdivision":null},{"code":"NO","name":"Nógrád","subdivision":null},{"code":"PE","name":"Pest","subdivision":null},{"code":"PS","name":"Pécs","subdivision":null},{"code":"ST","name":"Salgótarján","subdivision":null},{"code":"SO","name":"Somogy","subdivision":null},{"code":"SN","name":"Sopron","subdivision":null},{"code":"SZ","name":"Szabolcs-Szatmár-Bereg","subdivision":null},{"code":"SD","name":"Szeged","subdivision":null},{"code":"SS","name":"Szekszárd","subdivision":null},{"code":"SK","name":"Szolnok","subdivision":null},{"code":"SH","name":"Szombathely","subdivision":null},{"code":"SF","name":"Székesfehérvár","subdivision":null},{"code":"TB","name":"Tatabánya","subdivision":null},{"code":"TO","name":"Tolna","subdivision":null},{"code":"VA","name":"Vas","subdivision":null},{"code":"VE","name":"Veszprém","subdivision":null},{"code":"VM","name":"Veszprém","subdivision":null},{"code":"ZA","name":"Zala","subdivision":null},{"code":"ZE","name":"Zalaegerszeg","subdivision":null},{"code":"ER","name":"Érd","subdivision":null}]},{"code2":"IS","code3":"ISL","name":"Iceland","capital":"Reykjavík","region":"Europe","subregion":"Northern Europe","states":[{"code":"7","name":"Austurland","subdivision":null},{"code":"1","name":"Höfuðborgarsvæði utan Reykjavíkur","subdivision":null},{"code":"6","name":"Norðurland eystra","subdivision":null},{"code":"5","name":"Norðurland vestra","subdivision":null},{"code":"0","name":"Reykjavík","subdivision":null},{"code":"8","name":"Suðurland","subdivision":null},{"code":"2","name":"Suðurnes","subdivision":null},{"code":"4","name":"Vestfirðir","subdivision":null},{"code":"3","name":"Vesturland","subdivision":null}]},{"code2":"IN","code3":"IND","name":"India","capital":"New Delhi","region":"Asia","subregion":"Southern Asia","states":[{"code":"AN","name":"Andaman and Nicobar Islands","subdivision":"Union territory"},{"code":"CH","name":"Chandigarh","subdivision":"Union territory"},{"code":"DN","name":"Dadra and Nagar Haveli","subdivision":"Union territory"},{"code":"DD","name":"Daman and Diu","subdivision":"Union territory"},{"code":"DL","name":"Delhi","subdivision":"Union territory"},{"code":"LD","name":"Lakshadweep","subdivision":"Union territory"},{"code":"PY","name":"Puducherry","subdivision":"Union territory"},{"code":"AP","name":"Andhra Pradesh","subdivision":"state"},{"code":"AR","name":"Arunachal Pradesh","subdivision":"state"},{"code":"AS","name":"Assam","subdivision":"state"},{"code":"BR","name":"Bihar","subdivision":"state"},{"code":"CT","name":"Chhattisgarh","subdivision":"state"},{"code":"GA","name":"Goa","subdivision":"state"},{"code":"GJ","name":"Gujarat","subdivision":"state"},{"code":"HR","name":"Haryana","subdivision":"state"},{"code":"HP","name":"Himachal Pradesh","subdivision":"state"},{"code":"JK","name":"Jammu and Kashmir","subdivision":"state"},{"code":"JH","name":"Jharkhand","subdivision":"state"},{"code":"KA","name":"Karnataka","subdivision":"state"},{"code":"KL","name":"Kerala","subdivision":"state"},{"code":"MP","name":"Madhya Pradesh","subdivision":"state"},{"code":"MH","name":"Maharashtra","subdivision":"state"},{"code":"MN","name":"Manipur","subdivision":"state"},{"code":"ML","name":"Meghalaya","subdivision":"state"},{"code":"MZ","name":"Mizoram","subdivision":"state"},{"code":"NL","name":"Nagaland","subdivision":"state"},{"code":"OR","name":"Odisha","subdivision":"state"},{"code":"PB","name":"Punjab","subdivision":"state"},{"code":"RJ","name":"Rajasthan","subdivision":"state"},{"code":"SK","name":"Sikkim","subdivision":"state"},{"code":"TN","name":"Tamil Nadu","subdivision":"state"},{"code":"TG","name":"Telangana","subdivision":"state"},{"code":"TR","name":"Tripura","subdivision":"state"},{"code":"UP","name":"Uttar Pradesh","subdivision":"state"},{"code":"UT","name":"Uttarakhand","subdivision":"state"},{"code":"WB","name":"West Bengal","subdivision":"state"}]},{"code2":"ID","code3":"IDN","name":"Indonesia","capital":"Jakarta","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"JW","name":"Jawa","subdivision":null},{"code":"KA","name":"Kalimantan","subdivision":null},{"code":"ML","name":"Maluku","subdivision":null},{"code":"NU","name":"Nusa Tenggara","subdivision":null},{"code":"PP","name":"Papua","subdivision":null},{"code":"SL","name":"Sulawesi","subdivision":null},{"code":"SM","name":"Sumatera","subdivision":null}]},{"code2":"CI","code3":"CIV","name":"Cote d'Ivoire","capital":"Yamoussoukro","region":"Africa","subregion":"Western Africa","states":[{"code":"06","name":"18 Montagnes","subdivision":null},{"code":"16","name":"Agnébi","subdivision":null},{"code":"17","name":"Bafing","subdivision":null},{"code":"09","name":"Bas-Sassandra","subdivision":null},{"code":"10","name":"Denguélé","subdivision":null},{"code":"18","name":"Fromager","subdivision":null},{"code":"02","name":"Haut-Sassandra","subdivision":null},{"code":"07","name":"Lacs","subdivision":null},{"code":"01","name":"Lagunes","subdivision":null},{"code":"12","name":"Marahoué","subdivision":null},{"code":"19","name":"Moyen-Cavally","subdivision":null},{"code":"05","name":"Moyen-Comoé","subdivision":null},{"code":"11","name":"Nzi-Comoé","subdivision":null},{"code":"03","name":"Savanes","subdivision":null},{"code":"15","name":"Sud-Bandama","subdivision":null},{"code":"13","name":"Sud-Comoé","subdivision":null},{"code":"04","name":"Vallée du Bandama","subdivision":null},{"code":"14","name":"Worodougou","subdivision":null},{"code":"08","name":"Zanzan","subdivision":null}]},{"code2":"IR","code3":"IRN","name":"Iran","capital":"Tehran","region":"Asia","subregion":"Southern Asia","states":[{"code":"32","name":"Alborz","subdivision":null},{"code":"03","name":"Ardabīl","subdivision":null},{"code":"06","name":"Būshehr","subdivision":null},{"code":"08","name":"Chahār Maḩāll va Bakhtīārī","subdivision":null},{"code":"04","name":"Eşfahān","subdivision":null},{"code":"14","name":"Fārs","subdivision":null},{"code":"27","name":"Golestān","subdivision":null},{"code":"19","name":"Gīlān","subdivision":null},{"code":"24","name":"Hamadān","subdivision":null},{"code":"23","name":"Hormozgān","subdivision":null},{"code":"15","name":"Kermān","subdivision":null},{"code":"17","name":"Kermānshāh","subdivision":null},{"code":"29","name":"Khorāsān-e Janūbī","subdivision":null},{"code":"30","name":"Khorāsān-e Razavī","subdivision":null},{"code":"31","name":"Khorāsān-e Shemālī","subdivision":null},{"code":"10","name":"Khūzestān","subdivision":null},{"code":"18","name":"Kohgīlūyeh va Būyer Aḩmad","subdivision":null},{"code":"16","name":"Kordestān","subdivision":null},{"code":"20","name":"Lorestān","subdivision":null},{"code":"22","name":"Markazī","subdivision":null},{"code":"21","name":"Māzandarān","subdivision":null},{"code":"28","name":"Qazvīn","subdivision":null},{"code":"26","name":"Qom","subdivision":null},{"code":"12","name":"Semnān","subdivision":null},{"code":"13","name":"Sīstān va Balūchestān","subdivision":null},{"code":"07","name":"Tehrān","subdivision":null},{"code":"25","name":"Yazd","subdivision":null},{"code":"11","name":"Zanjān","subdivision":null},{"code":"02","name":"Āz̄arbāyjān-e Gharbī","subdivision":null},{"code":"01","name":"Āz̄arbāyjān-e Sharqī","subdivision":null},{"code":"05","name":"Īlām","subdivision":null}]},{"code2":"IQ","code3":"IRQ","name":"Iraq","capital":"Baghdad","region":"Asia","subregion":"Western Asia","states":[{"code":"AN","name":"Al Anbār","subdivision":null},{"code":"BA","name":"Al Başrah","subdivision":null},{"code":"MU","name":"Al Muthanná","subdivision":null},{"code":"QA","name":"Al Qādisīyah","subdivision":null},{"code":"NA","name":"An Najaf","subdivision":null},{"code":"AR","name":"Arbīl","subdivision":null},{"code":"SU","name":"As Sulaymānīyah","subdivision":null},{"code":"TS","name":"At Ta'mīm","subdivision":null},{"code":"BG","name":"Baghdād","subdivision":null},{"code":"BB","name":"Bābil","subdivision":null},{"code":"DA","name":"Dahūk","subdivision":null},{"code":"DQ","name":"Dhī Qār","subdivision":null},{"code":"DI","name":"Diyālá","subdivision":null},{"code":"KA","name":"Karbalā'","subdivision":null},{"code":"MA","name":"Maysān","subdivision":null},{"code":"NI","name":"Nīnawá","subdivision":null},{"code":"WA","name":"Wāsiţ","subdivision":null},{"code":"SD","name":"Şalāḩ ad Dīn","subdivision":null}]},{"code2":"IE","code3":"IRL","name":"Republic of Ireland","capital":"Dublin","region":"Europe","subregion":"Northern Europe","states":[{"code":"C","name":"Connaught","subdivision":null},{"code":"L","name":"Leinster","subdivision":null},{"code":"M","name":"Munster","subdivision":null},{"code":"U","name":"Ulster","subdivision":null}]},{"code2":"IM","code3":"IMN","name":"Isle of Man","capital":"Douglas","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"IL","code3":"ISR","name":"Israel","capital":"Jerusalem","region":"Asia","subregion":"Western Asia","states":[{"code":"D","name":"HaDarom","subdivision":null},{"code":"M","name":"HaMerkaz","subdivision":null},{"code":"Z","name":"HaTsafon","subdivision":null},{"code":"HA","name":"H̱efa","subdivision":null},{"code":"TA","name":"Tel-Aviv","subdivision":null},{"code":"JM","name":"Yerushalayim","subdivision":null}]},{"code2":"IT","code3":"ITA","name":"Italy","capital":"Rome","region":"Europe","subregion":"Southern Europe","states":[{"code":"65","name":"Abruzzo","subdivision":null},{"code":"77","name":"Basilicata","subdivision":null},{"code":"78","name":"Calabria","subdivision":null},{"code":"72","name":"Campania","subdivision":null},{"code":"45","name":"Emilia-Romagna","subdivision":null},{"code":"36","name":"Friuli-Venezia Giulia","subdivision":null},{"code":"62","name":"Lazio","subdivision":null},{"code":"42","name":"Liguria","subdivision":null},{"code":"25","name":"Lombardia","subdivision":null},{"code":"57","name":"Marche","subdivision":null},{"code":"67","name":"Molise","subdivision":null},{"code":"21","name":"Piemonte","subdivision":null},{"code":"75","name":"Puglia","subdivision":null},{"code":"88","name":"Sardegna","subdivision":null},{"code":"82","name":"Sicilia","subdivision":null},{"code":"52","name":"Toscana","subdivision":null},{"code":"32","name":"Trentino-Alto Adige","subdivision":null},{"code":"55","name":"Umbria","subdivision":null},{"code":"23","name":"Valle d'Aosta","subdivision":null},{"code":"34","name":"Veneto","subdivision":null}]},{"code2":"JM","code3":"JAM","name":"Jamaica","capital":"Kingston","region":"Americas","subregion":"Caribbean","states":[{"code":"13","name":"Clarendon","subdivision":null},{"code":"09","name":"Hanover","subdivision":null},{"code":"01","name":"Kingston","subdivision":null},{"code":"12","name":"Manchester","subdivision":null},{"code":"04","name":"Portland","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"06","name":"Saint Ann","subdivision":null},{"code":"14","name":"Saint Catherine","subdivision":null},{"code":"11","name":"Saint Elizabeth","subdivision":null},{"code":"08","name":"Saint James","subdivision":null},{"code":"05","name":"Saint Mary","subdivision":null},{"code":"03","name":"Saint Thomas","subdivision":null},{"code":"07","name":"Trelawny","subdivision":null},{"code":"10","name":"Westmoreland","subdivision":null}]},{"code2":"JP","code3":"JPN","name":"Japan","capital":"Tokyo","region":"Asia","subregion":"Eastern Asia","states":[{"code":"23","name":"Aiti","subdivision":null},{"code":"05","name":"Akita","subdivision":null},{"code":"02","name":"Aomori","subdivision":null},{"code":"38","name":"Ehime","subdivision":null},{"code":"21","name":"Gihu","subdivision":null},{"code":"10","name":"Gunma","subdivision":null},{"code":"34","name":"Hirosima","subdivision":null},{"code":"01","name":"Hokkaidô","subdivision":null},{"code":"18","name":"Hukui","subdivision":null},{"code":"40","name":"Hukuoka","subdivision":null},{"code":"07","name":"Hukusima","subdivision":null},{"code":"28","name":"Hyôgo","subdivision":null},{"code":"08","name":"Ibaraki","subdivision":null},{"code":"17","name":"Isikawa","subdivision":null},{"code":"03","name":"Iwate","subdivision":null},{"code":"37","name":"Kagawa","subdivision":null},{"code":"46","name":"Kagosima","subdivision":null},{"code":"14","name":"Kanagawa","subdivision":null},{"code":"43","name":"Kumamoto","subdivision":null},{"code":"26","name":"Kyôto","subdivision":null},{"code":"39","name":"Kôti","subdivision":null},{"code":"24","name":"Mie","subdivision":null},{"code":"04","name":"Miyagi","subdivision":null},{"code":"45","name":"Miyazaki","subdivision":null},{"code":"20","name":"Nagano","subdivision":null},{"code":"42","name":"Nagasaki","subdivision":null},{"code":"29","name":"Nara","subdivision":null},{"code":"15","name":"Niigata","subdivision":null},{"code":"33","name":"Okayama","subdivision":null},{"code":"47","name":"Okinawa","subdivision":null},{"code":"41","name":"Saga","subdivision":null},{"code":"11","name":"Saitama","subdivision":null},{"code":"25","name":"Siga","subdivision":null},{"code":"32","name":"Simane","subdivision":null},{"code":"22","name":"Sizuoka","subdivision":null},{"code":"12","name":"Tiba","subdivision":null},{"code":"36","name":"Tokusima","subdivision":null},{"code":"09","name":"Totigi","subdivision":null},{"code":"31","name":"Tottori","subdivision":null},{"code":"16","name":"Toyama","subdivision":null},{"code":"13","name":"Tôkyô","subdivision":null},{"code":"30","name":"Wakayama","subdivision":null},{"code":"06","name":"Yamagata","subdivision":null},{"code":"35","name":"Yamaguti","subdivision":null},{"code":"19","name":"Yamanasi","subdivision":null},{"code":"44","name":"Ôita","subdivision":null},{"code":"27","name":"Ôsaka","subdivision":null}]},{"code2":"JE","code3":"JEY","name":"Jersey","capital":"Saint Helier","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"JO","code3":"JOR","name":"Jordan","capital":"Amman","region":"Asia","subregion":"Western Asia","states":[{"code":"BA","name":"Al Balqā'","subdivision":null},{"code":"AQ","name":"Al ʽAqabah","subdivision":null},{"code":"AZ","name":"Az Zarqā'","subdivision":null},{"code":"AT","name":"Aţ Ţafīlah","subdivision":null},{"code":"IR","name":"Irbid","subdivision":null},{"code":"JA","name":"Jerash","subdivision":null},{"code":"KA","name":"Karak","subdivision":null},{"code":"MN","name":"Ma'ān","subdivision":null},{"code":"MA","name":"Mafraq","subdivision":null},{"code":"MD","name":"Mādabā","subdivision":null},{"code":"AJ","name":"ʽAjlūn","subdivision":null},{"code":"AM","name":"‘Ammān","subdivision":null}]},{"code2":"KZ","code3":"KAZ","name":"Kazakhstan","capital":"Astana","region":"Asia","subregion":"Central Asia","states":[{"code":"ALA","name":"Almaty","subdivision":null},{"code":"ALM","name":"Almaty oblysy","subdivision":null},{"code":"AKM","name":"Aqmola oblysy","subdivision":null},{"code":"AKT","name":"Aqtöbe oblysy","subdivision":null},{"code":"AST","name":"Astana","subdivision":null},{"code":"ATY","name":"Atyraū oblysy","subdivision":null},{"code":"ZAP","name":"Batys Qazaqstan oblysy","subdivision":null},{"code":"MAN","name":"Mangghystaū oblysy","subdivision":null},{"code":"YUZ","name":"Ongtüstik Qazaqstan oblysy","subdivision":null},{"code":"PAV","name":"Pavlodar oblysy","subdivision":null},{"code":"KAR","name":"Qaraghandy oblysy","subdivision":null},{"code":"KUS","name":"Qostanay oblysy","subdivision":null},{"code":"KZY","name":"Qyzylorda oblysy","subdivision":null},{"code":"VOS","name":"Shyghys Qazaqstan oblysy","subdivision":null},{"code":"SEV","name":"Soltüstik Qazaqstan oblysy","subdivision":null},{"code":"ZHA","name":"Zhambyl oblysy","subdivision":null}]},{"code2":"KE","code3":"KEN","name":"Kenya","capital":"Nairobi","region":"Africa","subregion":"Eastern Africa","states":[{"code":"200","name":"Central","subdivision":null},{"code":"300","name":"Coast","subdivision":null},{"code":"400","name":"Eastern","subdivision":null},{"code":"110","name":"Nairobi","subdivision":null},{"code":"500","name":"North-Eastern","subdivision":null},{"code":"600","name":"Nyanza","subdivision":null},{"code":"700","name":"Rift Valley","subdivision":null},{"code":"800","name":"Western","subdivision":null}]},{"code2":"KI","code3":"KIR","name":"Kiribati","capital":"South Tarawa","region":"Oceania","subregion":"Micronesia","states":[{"code":"G","name":"Gilbert Islands","subdivision":null},{"code":"L","name":"Line Islands","subdivision":null},{"code":"P","name":"Phoenix Islands","subdivision":null}]},{"code2":"KW","code3":"KWT","name":"Kuwait","capital":"Kuwait City","region":"Asia","subregion":"Western Asia","states":[{"code":"AH","name":"Al Aḩmadi","subdivision":null},{"code":"FA","name":"Al Farwānīyah","subdivision":null},{"code":"JA","name":"Al Jahrā’","subdivision":null},{"code":"KU","name":"Al Kuwayt","subdivision":null},{"code":"MU","name":"Mubārak al Kabīr","subdivision":null},{"code":"HA","name":"Ḩawallī","subdivision":null}]},{"code2":"KG","code3":"KGZ","name":"Kyrgyzstan","capital":"Bishkek","region":"Asia","subregion":"Central Asia","states":[{"code":"B","name":"Batken","subdivision":null},{"code":"GB","name":"Bishkek","subdivision":null},{"code":"C","name":"Chü","subdivision":null},{"code":"J","name":"Jalal-Abad","subdivision":null},{"code":"N","name":"Naryn","subdivision":null},{"code":"O","name":"Osh","subdivision":null},{"code":"T","name":"Talas","subdivision":null},{"code":"Y","name":"Ysyk-Köl","subdivision":null}]},{"code2":"LA","code3":"LAO","name":"Laos","capital":"Vientiane","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AT","name":"Attapu","subdivision":null},{"code":"BK","name":"Bokèo","subdivision":null},{"code":"BL","name":"Bolikhamxai","subdivision":null},{"code":"CH","name":"Champasak","subdivision":null},{"code":"HO","name":"Houaphan","subdivision":null},{"code":"KH","name":"Khammouan","subdivision":null},{"code":"LM","name":"Louang Namtha","subdivision":null},{"code":"LP","name":"Louangphabang","subdivision":null},{"code":"OU","name":"Oudômxai","subdivision":null},{"code":"PH","name":"Phôngsali","subdivision":null},{"code":"SL","name":"Salavan","subdivision":null},{"code":"SV","name":"Savannakhét","subdivision":null},{"code":"VT","name":"Vientiane","subdivision":null},{"code":"VI","name":"Vientiane","subdivision":null},{"code":"XA","name":"Xaignabouli","subdivision":null},{"code":"XN","name":"Xaisômboun","subdivision":null},{"code":"XI","name":"Xiangkhoang","subdivision":null},{"code":"XE","name":"Xékong","subdivision":null}]},{"code2":"LV","code3":"LVA","name":"Latvia","capital":"Riga","region":"Europe","subregion":"Northern Europe","states":[{"code":"001","name":"Aglonas novads","subdivision":null},{"code":"002","name":"Aizkraukles novads","subdivision":null},{"code":"003","name":"Aizputes novads","subdivision":null},{"code":"004","name":"Aknīstes novads","subdivision":null},{"code":"005","name":"Alojas novads","subdivision":null},{"code":"006","name":"Alsungas novads","subdivision":null},{"code":"007","name":"Alūksnes novads","subdivision":null},{"code":"008","name":"Amatas novads","subdivision":null},{"code":"009","name":"Apes novads","subdivision":null},{"code":"010","name":"Auces novads","subdivision":null},{"code":"012","name":"Babītes novads","subdivision":null},{"code":"013","name":"Baldones novads","subdivision":null},{"code":"014","name":"Baltinavas novads","subdivision":null},{"code":"015","name":"Balvu novads","subdivision":null},{"code":"016","name":"Bauskas novads","subdivision":null},{"code":"017","name":"Beverīnas novads","subdivision":null},{"code":"018","name":"Brocēnu novads","subdivision":null},{"code":"019","name":"Burtnieku novads","subdivision":null},{"code":"020","name":"Carnikavas novads","subdivision":null},{"code":"021","name":"Cesvaines novads","subdivision":null},{"code":"023","name":"Ciblas novads","subdivision":null},{"code":"022","name":"Cēsu novads","subdivision":null},{"code":"024","name":"Dagdas novads","subdivision":null},{"code":"DGV","name":"Daugavpils","subdivision":null},{"code":"025","name":"Daugavpils novads","subdivision":null},{"code":"026","name":"Dobeles novads","subdivision":null},{"code":"027","name":"Dundagas novads","subdivision":null},{"code":"028","name":"Durbes novads","subdivision":null},{"code":"029","name":"Engures novads","subdivision":null},{"code":"031","name":"Garkalnes novads","subdivision":null},{"code":"032","name":"Grobiņas novads","subdivision":null},{"code":"033","name":"Gulbenes novads","subdivision":null},{"code":"034","name":"Iecavas novads","subdivision":null},{"code":"035","name":"Ikšķiles novads","subdivision":null},{"code":"036","name":"Ilūkstes novads","subdivision":null},{"code":"037","name":"Inčukalna novads","subdivision":null},{"code":"038","name":"Jaunjelgavas novads","subdivision":null},{"code":"039","name":"Jaunpiebalgas novads","subdivision":null},{"code":"040","name":"Jaunpils novads","subdivision":null},{"code":"JEL","name":"Jelgava","subdivision":null},{"code":"041","name":"Jelgavas novads","subdivision":null},{"code":"JKB","name":"Jēkabpils","subdivision":null},{"code":"042","name":"Jēkabpils novads","subdivision":null},{"code":"JUR","name":"Jūrmala","subdivision":null},{"code":"043","name":"Kandavas novads","subdivision":null},{"code":"045","name":"Kocēnu novads","subdivision":null},{"code":"046","name":"Kokneses novads","subdivision":null},{"code":"048","name":"Krimuldas novads","subdivision":null},{"code":"049","name":"Krustpils novads","subdivision":null},{"code":"047","name":"Krāslavas novads","subdivision":null},{"code":"050","name":"Kuldīgas novads","subdivision":null},{"code":"044","name":"Kārsavas novads","subdivision":null},{"code":"053","name":"Lielvārdes novads","subdivision":null},{"code":"LPX","name":"Liepāja","subdivision":null},{"code":"054","name":"Limbažu novads","subdivision":null},{"code":"057","name":"Lubānas novads","subdivision":null},{"code":"058","name":"Ludzas novads","subdivision":null},{"code":"055","name":"Līgatnes novads","subdivision":null},{"code":"056","name":"Līvānu novads","subdivision":null},{"code":"059","name":"Madonas novads","subdivision":null},{"code":"060","name":"Mazsalacas novads","subdivision":null},{"code":"061","name":"Mālpils novads","subdivision":null},{"code":"062","name":"Mārupes novads","subdivision":null},{"code":"063","name":"Mērsraga novads","subdivision":null},{"code":"064","name":"Naukšēnu novads","subdivision":null},{"code":"065","name":"Neretas novads","subdivision":null},{"code":"066","name":"Nīcas novads","subdivision":null},{"code":"067","name":"Ogres novads","subdivision":null},{"code":"068","name":"Olaines novads","subdivision":null},{"code":"069","name":"Ozolnieku novads","subdivision":null},{"code":"073","name":"Preiļu novads","subdivision":null},{"code":"074","name":"Priekules novads","subdivision":null},{"code":"075","name":"Priekuļu novads","subdivision":null},{"code":"070","name":"Pārgaujas novads","subdivision":null},{"code":"071","name":"Pāvilostas novads","subdivision":null},{"code":"072","name":"Pļaviņu novads","subdivision":null},{"code":"076","name":"Raunas novads","subdivision":null},{"code":"078","name":"Riebiņu novads","subdivision":null},{"code":"079","name":"Rojas novads","subdivision":null},{"code":"080","name":"Ropažu novads","subdivision":null},{"code":"081","name":"Rucavas novads","subdivision":null},{"code":"082","name":"Rugāju novads","subdivision":null},{"code":"083","name":"Rundāles novads","subdivision":null},{"code":"REZ","name":"Rēzekne","subdivision":null},{"code":"077","name":"Rēzeknes novads","subdivision":null},{"code":"RIX","name":"Rīga","subdivision":null},{"code":"084","name":"Rūjienas novads","subdivision":null},{"code":"086","name":"Salacgrīvas novads","subdivision":null},{"code":"085","name":"Salas novads","subdivision":null},{"code":"087","name":"Salaspils novads","subdivision":null},{"code":"088","name":"Saldus novads","subdivision":null},{"code":"089","name":"Saulkrastu novads","subdivision":null},{"code":"091","name":"Siguldas novads","subdivision":null},{"code":"093","name":"Skrundas novads","subdivision":null},{"code":"092","name":"Skrīveru novads","subdivision":null},{"code":"094","name":"Smiltenes novads","subdivision":null},{"code":"095","name":"Stopiņu novads","subdivision":null},{"code":"096","name":"Strenču novads","subdivision":null},{"code":"090","name":"Sējas novads","subdivision":null},{"code":"097","name":"Talsu novads","subdivision":null},{"code":"099","name":"Tukuma novads","subdivision":null},{"code":"098","name":"Tērvetes novads","subdivision":null},{"code":"100","name":"Vaiņodes novads","subdivision":null},{"code":"101","name":"Valkas novads","subdivision":null},{"code":"VMR","name":"Valmiera","subdivision":null},{"code":"102","name":"Varakļānu novads","subdivision":null},{"code":"104","name":"Vecpiebalgas novads","subdivision":null},{"code":"105","name":"Vecumnieku novads","subdivision":null},{"code":"VEN","name":"Ventspils","subdivision":null},{"code":"106","name":"Ventspils novads","subdivision":null},{"code":"107","name":"Viesītes novads","subdivision":null},{"code":"108","name":"Viļakas novads","subdivision":null},{"code":"109","name":"Viļānu novads","subdivision":null},{"code":"103","name":"Vārkavas novads","subdivision":null},{"code":"110","name":"Zilupes novads","subdivision":null},{"code":"011","name":"Ādažu novads","subdivision":null},{"code":"030","name":"Ērgļu novads","subdivision":null},{"code":"051","name":"Ķeguma novads","subdivision":null},{"code":"052","name":"Ķekavas novads","subdivision":null}]},{"code2":"LB","code3":"LBN","name":"Lebanon","capital":"Beirut","region":"Asia","subregion":"Western Asia","states":[{"code":"AK","name":"Aakkâr","subdivision":null},{"code":"BH","name":"Baalbek-Hermel","subdivision":null},{"code":"BA","name":"Beyrouth","subdivision":null},{"code":"BI","name":"Béqaa","subdivision":null},{"code":"AS","name":"Liban-Nord","subdivision":null},{"code":"JA","name":"Liban-Sud","subdivision":null},{"code":"JL","name":"Mont-Liban","subdivision":null},{"code":"NA","name":"Nabatîyé","subdivision":null}]},{"code2":"LS","code3":"LSO","name":"Lesotho","capital":"Maseru","region":"Africa","subregion":"Southern Africa","states":[{"code":"D","name":"Berea","subdivision":null},{"code":"B","name":"Butha-Buthe","subdivision":null},{"code":"C","name":"Leribe","subdivision":null},{"code":"E","name":"Mafeteng","subdivision":null},{"code":"A","name":"Maseru","subdivision":null},{"code":"F","name":"Mohale's Hoek","subdivision":null},{"code":"J","name":"Mokhotlong","subdivision":null},{"code":"H","name":"Qacha's Nek","subdivision":null},{"code":"G","name":"Quthing","subdivision":null},{"code":"K","name":"Thaba-Tseka","subdivision":null}]},{"code2":"LR","code3":"LBR","name":"Liberia","capital":"Monrovia","region":"Africa","subregion":"Western Africa","states":[{"code":"BM","name":"Bomi","subdivision":null},{"code":"BG","name":"Bong","subdivision":null},{"code":"GP","name":"Gbarpolu","subdivision":null},{"code":"GB","name":"Grand Bassa","subdivision":null},{"code":"CM","name":"Grand Cape Mount","subdivision":null},{"code":"GG","name":"Grand Gedeh","subdivision":null},{"code":"GK","name":"Grand Kru","subdivision":null},{"code":"LO","name":"Lofa","subdivision":null},{"code":"MG","name":"Margibi","subdivision":null},{"code":"MY","name":"Maryland","subdivision":null},{"code":"MO","name":"Montserrado","subdivision":null},{"code":"NI","name":"Nimba","subdivision":null},{"code":"RG","name":"River Gee","subdivision":null},{"code":"RI","name":"Rivercess","subdivision":null},{"code":"SI","name":"Sinoe","subdivision":null}]},{"code2":"LY","code3":"LBY","name":"Libya","capital":"Tripoli","region":"Africa","subregion":"Northern Africa","states":[{"code":"BU","name":"Al Buţnān","subdivision":null},{"code":"JA","name":"Al Jabal al Akhḑar","subdivision":null},{"code":"JG","name":"Al Jabal al Gharbī","subdivision":null},{"code":"JI","name":"Al Jifārah","subdivision":null},{"code":"JU","name":"Al Jufrah","subdivision":null},{"code":"KF","name":"Al Kufrah","subdivision":null},{"code":"MJ","name":"Al Marj","subdivision":null},{"code":"MB","name":"Al Marqab","subdivision":null},{"code":"WA","name":"Al Wāḩāt","subdivision":null},{"code":"NQ","name":"An Nuqaţ al Khams","subdivision":null},{"code":"ZA","name":"Az Zāwiyah","subdivision":null},{"code":"BA","name":"Banghāzī","subdivision":null},{"code":"DR","name":"Darnah","subdivision":null},{"code":"GT","name":"Ghāt","subdivision":null},{"code":"MI","name":"Mişrātah","subdivision":null},{"code":"MQ","name":"Murzuq","subdivision":null},{"code":"NL","name":"Nālūt","subdivision":null},{"code":"SB","name":"Sabhā","subdivision":null},{"code":"SR","name":"Surt","subdivision":null},{"code":"WD","name":"Wādī al Ḩayāt","subdivision":null},{"code":"WS","name":"Wādī ash Shāţiʾ","subdivision":null},{"code":"TB","name":"Ţarābulus","subdivision":null}]},{"code2":"LI","code3":"LIE","name":"Liechtenstein","capital":"Vaduz","region":"Europe","subregion":"Western Europe","states":[{"code":"01","name":"Balzers","subdivision":null},{"code":"02","name":"Eschen","subdivision":null},{"code":"03","name":"Gamprin","subdivision":null},{"code":"04","name":"Mauren","subdivision":null},{"code":"05","name":"Planken","subdivision":null},{"code":"06","name":"Ruggell","subdivision":null},{"code":"07","name":"Schaan","subdivision":null},{"code":"08","name":"Schellenberg","subdivision":null},{"code":"09","name":"Triesen","subdivision":null},{"code":"10","name":"Triesenberg","subdivision":null},{"code":"11","name":"Vaduz","subdivision":null}]},{"code2":"LT","code3":"LTU","name":"Lithuania","capital":"Vilnius","region":"Europe","subregion":"Northern Europe","states":[{"code":"AL","name":"Alytaus Apskritis","subdivision":null},{"code":"KU","name":"Kauno Apskritis","subdivision":null},{"code":"KL","name":"Klaipėdos Apskritis","subdivision":null},{"code":"MR","name":"Marijampolės Apskritis","subdivision":null},{"code":"PN","name":"Panevėžio Apskritis","subdivision":null},{"code":"TA","name":"Tauragės Apskritis","subdivision":null},{"code":"TE","name":"Telšių Apskritis","subdivision":null},{"code":"UT","name":"Utenos Apskritis","subdivision":null},{"code":"VL","name":"Vilniaus Apskritis","subdivision":null},{"code":"SA","name":"Šiaulių Apskritis","subdivision":null}]},{"code2":"LU","code3":"LUX","name":"Luxembourg","capital":"Luxembourg","region":"Europe","subregion":"Western Europe","states":[{"code":"D","name":"Diekirch","subdivision":null},{"code":"G","name":"Grevenmacher","subdivision":null},{"code":"L","name":"Luxembourg","subdivision":null}]},{"code2":"MO","code3":"MAC","name":"Macau","capital":"","region":"Asia","subregion":"Eastern Asia","states":[]},{"code2":"MK","code3":"MKD","name":"Republic of Macedonia","capital":"Skopje","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aerodrom","subdivision":null},{"code":"02","name":"Aračinovo","subdivision":null},{"code":"03","name":"Berovo","subdivision":null},{"code":"04","name":"Bitola","subdivision":null},{"code":"05","name":"Bogdanci","subdivision":null},{"code":"06","name":"Bogovinje","subdivision":null},{"code":"07","name":"Bosilovo","subdivision":null},{"code":"08","name":"Brvenica","subdivision":null},{"code":"09","name":"Butel","subdivision":null},{"code":"77","name":"Centar","subdivision":null},{"code":"78","name":"Centar Župa","subdivision":null},{"code":"21","name":"Debar","subdivision":null},{"code":"22","name":"Debarca","subdivision":null},{"code":"23","name":"Delčevo","subdivision":null},{"code":"25","name":"Demir Hisar","subdivision":null},{"code":"24","name":"Demir Kapija","subdivision":null},{"code":"26","name":"Dojran","subdivision":null},{"code":"27","name":"Dolneni","subdivision":null},{"code":"28","name":"Drugovo","subdivision":null},{"code":"17","name":"Gazi Baba","subdivision":null},{"code":"18","name":"Gevgelija","subdivision":null},{"code":"29","name":"Gjorče Petrov","subdivision":null},{"code":"19","name":"Gostivar","subdivision":null},{"code":"20","name":"Gradsko","subdivision":null},{"code":"34","name":"Ilinden","subdivision":null},{"code":"35","name":"Jegunovce","subdivision":null},{"code":"37","name":"Karbinci","subdivision":null},{"code":"38","name":"Karpoš","subdivision":null},{"code":"36","name":"Kavadarci","subdivision":null},{"code":"39","name":"Kisela Voda","subdivision":null},{"code":"40","name":"Kičevo","subdivision":null},{"code":"41","name":"Konče","subdivision":null},{"code":"42","name":"Kočani","subdivision":null},{"code":"43","name":"Kratovo","subdivision":null},{"code":"44","name":"Kriva Palanka","subdivision":null},{"code":"45","name":"Krivogaštani","subdivision":null},{"code":"46","name":"Kruševo","subdivision":null},{"code":"47","name":"Kumanovo","subdivision":null},{"code":"48","name":"Lipkovo","subdivision":null},{"code":"49","name":"Lozovo","subdivision":null},{"code":"51","name":"Makedonska Kamenica","subdivision":null},{"code":"52","name":"Makedonski Brod","subdivision":null},{"code":"50","name":"Mavrovo i Rostuša","subdivision":null},{"code":"53","name":"Mogila","subdivision":null},{"code":"54","name":"Negotino","subdivision":null},{"code":"55","name":"Novaci","subdivision":null},{"code":"56","name":"Novo Selo","subdivision":null},{"code":"58","name":"Ohrid","subdivision":null},{"code":"57","name":"Oslomej","subdivision":null},{"code":"60","name":"Pehčevo","subdivision":null},{"code":"59","name":"Petrovec","subdivision":null},{"code":"61","name":"Plasnica","subdivision":null},{"code":"62","name":"Prilep","subdivision":null},{"code":"63","name":"Probištip","subdivision":null},{"code":"64","name":"Radoviš","subdivision":null},{"code":"65","name":"Rankovce","subdivision":null},{"code":"66","name":"Resen","subdivision":null},{"code":"67","name":"Rosoman","subdivision":null},{"code":"68","name":"Saraj","subdivision":null},{"code":"70","name":"Sopište","subdivision":null},{"code":"71","name":"Staro Nagoričane","subdivision":null},{"code":"72","name":"Struga","subdivision":null},{"code":"73","name":"Strumica","subdivision":null},{"code":"74","name":"Studeničani","subdivision":null},{"code":"69","name":"Sveti Nikole","subdivision":null},{"code":"75","name":"Tearce","subdivision":null},{"code":"76","name":"Tetovo","subdivision":null},{"code":"10","name":"Valandovo","subdivision":null},{"code":"11","name":"Vasilevo","subdivision":null},{"code":"13","name":"Veles","subdivision":null},{"code":"12","name":"Vevčani","subdivision":null},{"code":"14","name":"Vinica","subdivision":null},{"code":"15","name":"Vraneštica","subdivision":null},{"code":"16","name":"Vrapčište","subdivision":null},{"code":"31","name":"Zajas","subdivision":null},{"code":"32","name":"Zelenikovo","subdivision":null},{"code":"33","name":"Zrnovci","subdivision":null},{"code":"79","name":"Čair","subdivision":null},{"code":"80","name":"Čaška","subdivision":null},{"code":"81","name":"Češinovo-Obleševo","subdivision":null},{"code":"82","name":"Čučer Sandevo","subdivision":null},{"code":"83","name":"Štip","subdivision":null},{"code":"84","name":"Šuto Orizari","subdivision":null},{"code":"30","name":"Želino","subdivision":null}]},{"code2":"MG","code3":"MDG","name":"Madagascar","capital":"Antananarivo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"T","name":"Antananarivo","subdivision":null},{"code":"D","name":"Antsiranana","subdivision":null},{"code":"F","name":"Fianarantsoa","subdivision":null},{"code":"M","name":"Mahajanga","subdivision":null},{"code":"A","name":"Toamasina","subdivision":null},{"code":"U","name":"Toliara","subdivision":null}]},{"code2":"MW","code3":"MWI","name":"Malawi","capital":"Lilongwe","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central Region","subdivision":null},{"code":"N","name":"Northern Region","subdivision":null},{"code":"S","name":"Southern Region","subdivision":null}]},{"code2":"MY","code3":"MYS","name":"Malaysia","capital":"Kuala Lumpur","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Wilayah Persekutuan Kuala Lumpur","subdivision":"federal territory"},{"code":"15","name":"Wilayah Persekutuan Labuan","subdivision":"federal territory"},{"code":"16","name":"Wilayah Persekutuan Putrajaya","subdivision":"federal territory"},{"code":"01","name":"Johor","subdivision":"state"},{"code":"02","name":"Kedah","subdivision":"state"},{"code":"03","name":"Kelantan","subdivision":"state"},{"code":"04","name":"Melaka","subdivision":"state"},{"code":"05","name":"Negeri Sembilan","subdivision":"state"},{"code":"06","name":"Pahang","subdivision":"state"},{"code":"08","name":"Perak","subdivision":"state"},{"code":"09","name":"Perlis","subdivision":"state"},{"code":"07","name":"Pulau Pinang","subdivision":"state"},{"code":"12","name":"Sabah","subdivision":"state"},{"code":"13","name":"Sarawak","subdivision":"state"},{"code":"10","name":"Selangor","subdivision":"state"},{"code":"11","name":"Terengganu","subdivision":"state"}]},{"code2":"MV","code3":"MDV","name":"Maldives","capital":"Malé","region":"Asia","subregion":"Southern Asia","states":[{"code":"CE","name":"Central","subdivision":null},{"code":"MLE","name":"Male","subdivision":null},{"code":"NO","name":"North","subdivision":null},{"code":"NC","name":"North Central","subdivision":null},{"code":"SU","name":"South","subdivision":null},{"code":"SC","name":"South Central","subdivision":null},{"code":"UN","name":"Upper North","subdivision":null},{"code":"US","name":"Upper South","subdivision":null}]},{"code2":"ML","code3":"MLI","name":"Mali","capital":"Bamako","region":"Africa","subregion":"Western Africa","states":[{"code":"BKO","name":"Bamako","subdivision":null},{"code":"7","name":"Gao","subdivision":null},{"code":"1","name":"Kayes","subdivision":null},{"code":"8","name":"Kidal","subdivision":null},{"code":"2","name":"Koulikoro","subdivision":null},{"code":"5","name":"Mopti","subdivision":null},{"code":"3","name":"Sikasso","subdivision":null},{"code":"4","name":"Ségou","subdivision":null},{"code":"6","name":"Tombouctou","subdivision":null}]},{"code2":"MT","code3":"MLT","name":"Malta","capital":"Valletta","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Attard","subdivision":null},{"code":"02","name":"Balzan","subdivision":null},{"code":"03","name":"Birgu","subdivision":null},{"code":"04","name":"Birkirkara","subdivision":null},{"code":"05","name":"Birżebbuġa","subdivision":null},{"code":"06","name":"Bormla","subdivision":null},{"code":"07","name":"Dingli","subdivision":null},{"code":"08","name":"Fgura","subdivision":null},{"code":"09","name":"Floriana","subdivision":null},{"code":"10","name":"Fontana","subdivision":null},{"code":"11","name":"Gudja","subdivision":null},{"code":"13","name":"Għajnsielem","subdivision":null},{"code":"14","name":"Għarb","subdivision":null},{"code":"15","name":"Għargħur","subdivision":null},{"code":"16","name":"Għasri","subdivision":null},{"code":"17","name":"Għaxaq","subdivision":null},{"code":"12","name":"Gżira","subdivision":null},{"code":"19","name":"Iklin","subdivision":null},{"code":"20","name":"Isla","subdivision":null},{"code":"21","name":"Kalkara","subdivision":null},{"code":"22","name":"Kerċem","subdivision":null},{"code":"23","name":"Kirkop","subdivision":null},{"code":"24","name":"Lija","subdivision":null},{"code":"25","name":"Luqa","subdivision":null},{"code":"26","name":"Marsa","subdivision":null},{"code":"27","name":"Marsaskala","subdivision":null},{"code":"28","name":"Marsaxlokk","subdivision":null},{"code":"29","name":"Mdina","subdivision":null},{"code":"30","name":"Mellieħa","subdivision":null},{"code":"32","name":"Mosta","subdivision":null},{"code":"33","name":"Mqabba","subdivision":null},{"code":"34","name":"Msida","subdivision":null},{"code":"35","name":"Mtarfa","subdivision":null},{"code":"36","name":"Munxar","subdivision":null},{"code":"31","name":"Mġarr","subdivision":null},{"code":"37","name":"Nadur","subdivision":null},{"code":"38","name":"Naxxar","subdivision":null},{"code":"39","name":"Paola","subdivision":null},{"code":"40","name":"Pembroke","subdivision":null},{"code":"41","name":"Pietà","subdivision":null},{"code":"42","name":"Qala","subdivision":null},{"code":"43","name":"Qormi","subdivision":null},{"code":"44","name":"Qrendi","subdivision":null},{"code":"45","name":"Rabat Għawdex","subdivision":null},{"code":"46","name":"Rabat Malta","subdivision":null},{"code":"47","name":"Safi","subdivision":null},{"code":"50","name":"San Lawrenz","subdivision":null},{"code":"51","name":"San Pawl il-Baħar","subdivision":null},{"code":"48","name":"San Ġiljan","subdivision":null},{"code":"49","name":"San Ġwann","subdivision":null},{"code":"52","name":"Sannat","subdivision":null},{"code":"53","name":"Santa Luċija","subdivision":null},{"code":"54","name":"Santa Venera","subdivision":null},{"code":"55","name":"Siġġiewi","subdivision":null},{"code":"56","name":"Sliema","subdivision":null},{"code":"57","name":"Swieqi","subdivision":null},{"code":"58","name":"Ta' Xbiex","subdivision":null},{"code":"59","name":"Tarxien","subdivision":null},{"code":"60","name":"Valletta","subdivision":null},{"code":"61","name":"Xagħra","subdivision":null},{"code":"62","name":"Xewkija","subdivision":null},{"code":"63","name":"Xgħajra","subdivision":null},{"code":"18","name":"Ħamrun","subdivision":null},{"code":"64","name":"Żabbar","subdivision":null},{"code":"65","name":"Żebbuġ Għawdex","subdivision":null},{"code":"66","name":"Żebbuġ Malta","subdivision":null},{"code":"67","name":"Żejtun","subdivision":null},{"code":"68","name":"Żurrieq","subdivision":null}]},{"code2":"MH","code3":"MHL","name":"Marshall Islands","capital":"Majuro","region":"Oceania","subregion":"Micronesia","states":[{"code":"L","name":"Ralik chain","subdivision":null},{"code":"T","name":"Ratak chain","subdivision":null}]},{"code2":"MQ","code3":"MTQ","name":"Martinique","capital":"Fort-de-France","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MR","code3":"MRT","name":"Mauritania","capital":"Nouakchott","region":"Africa","subregion":"Western Africa","states":[{"code":"07","name":"Adrar","subdivision":null},{"code":"03","name":"Assaba","subdivision":null},{"code":"05","name":"Brakna","subdivision":null},{"code":"08","name":"Dakhlet Nouâdhibou","subdivision":null},{"code":"04","name":"Gorgol","subdivision":null},{"code":"10","name":"Guidimaka","subdivision":null},{"code":"01","name":"Hodh ech Chargui","subdivision":null},{"code":"02","name":"Hodh el Gharbi","subdivision":null},{"code":"12","name":"Inchiri","subdivision":null},{"code":"NKC","name":"Nouakchott","subdivision":null},{"code":"09","name":"Tagant","subdivision":null},{"code":"11","name":"Tiris Zemmour","subdivision":null},{"code":"06","name":"Trarza","subdivision":null}]},{"code2":"MU","code3":"MUS","name":"Mauritius","capital":"Port Louis","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AG","name":"Agalega Islands","subdivision":null},{"code":"BR","name":"Beau Bassin-Rose Hill","subdivision":null},{"code":"BL","name":"Black River","subdivision":null},{"code":"CC","name":"Cargados Carajos Shoals","subdivision":null},{"code":"CU","name":"Curepipe","subdivision":null},{"code":"FL","name":"Flacq","subdivision":null},{"code":"GP","name":"Grand Port","subdivision":null},{"code":"MO","name":"Moka","subdivision":null},{"code":"PA","name":"Pamplemousses","subdivision":null},{"code":"PW","name":"Plaines Wilhems","subdivision":null},{"code":"PL","name":"Port Louis","subdivision":null},{"code":"PU","name":"Port Louis","subdivision":null},{"code":"QB","name":"Quatre Bornes","subdivision":null},{"code":"RR","name":"Rivière du Rempart","subdivision":null},{"code":"RO","name":"Rodrigues Island","subdivision":null},{"code":"SA","name":"Savanne","subdivision":null},{"code":"VP","name":"Vacoas-Phoenix","subdivision":null}]},{"code2":"YT","code3":"MYT","name":"Mayotte","capital":"Mamoudzou","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"MX","code3":"MEX","name":"Mexico","capital":"Mexico City","region":"Americas","subregion":"Central America","states":[{"code":"DIF","name":"Distrito Federal","subdivision":"federal district"},{"code":"AGU","name":"Aguascalientes","subdivision":"state"},{"code":"BCN","name":"Baja California","subdivision":"state"},{"code":"BCS","name":"Baja California Sur","subdivision":"state"},{"code":"CAM","name":"Campeche","subdivision":"state"},{"code":"CHP","name":"Chiapas","subdivision":"state"},{"code":"CHH","name":"Chihuahua","subdivision":"state"},{"code":"COA","name":"Coahuila","subdivision":"state"},{"code":"COL","name":"Colima","subdivision":"state"},{"code":"DUR","name":"Durango","subdivision":"state"},{"code":"GUA","name":"Guanajuato","subdivision":"state"},{"code":"GRO","name":"Guerrero","subdivision":"state"},{"code":"HID","name":"Hidalgo","subdivision":"state"},{"code":"JAL","name":"Jalisco","subdivision":"state"},{"code":"MIC","name":"Michoacán","subdivision":"state"},{"code":"MOR","name":"Morelos","subdivision":"state"},{"code":"MEX","name":"México","subdivision":"state"},{"code":"NAY","name":"Nayarit","subdivision":"state"},{"code":"NLE","name":"Nuevo León","subdivision":"state"},{"code":"OAX","name":"Oaxaca","subdivision":"state"},{"code":"PUE","name":"Puebla","subdivision":"state"},{"code":"QUE","name":"Querétaro","subdivision":"state"},{"code":"ROO","name":"Quintana Roo","subdivision":"state"},{"code":"SLP","name":"San Luis Potosí","subdivision":"state"},{"code":"SIN","name":"Sinaloa","subdivision":"state"},{"code":"SON","name":"Sonora","subdivision":"state"},{"code":"TAB","name":"Tabasco","subdivision":"state"},{"code":"TAM","name":"Tamaulipas","subdivision":"state"},{"code":"TLA","name":"Tlaxcala","subdivision":"state"},{"code":"VER","name":"Veracruz","subdivision":"state"},{"code":"YUC","name":"Yucatán","subdivision":"state"},{"code":"ZAC","name":"Zacatecas","subdivision":"state"}]},{"code2":"FM","code3":"FSM","name":"Federated States of Micronesia","capital":"Palikir","region":"Oceania","subregion":"Micronesia","states":[{"code":"TRK","name":"Chuuk","subdivision":null},{"code":"KSA","name":"Kosrae","subdivision":null},{"code":"PNI","name":"Pohnpei","subdivision":null},{"code":"YAP","name":"Yap","subdivision":null}]},{"code2":"MD","code3":"MDA","name":"Moldova","capital":"Chișinău","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AN","name":"Anenii Noi","subdivision":null},{"code":"BS","name":"Basarabeasca","subdivision":null},{"code":"BR","name":"Briceni","subdivision":null},{"code":"BA","name":"Bălţi","subdivision":null},{"code":"CA","name":"Cahul","subdivision":null},{"code":"CT","name":"Cantemir","subdivision":null},{"code":"CU","name":"Chişinău","subdivision":null},{"code":"CM","name":"Cimişlia","subdivision":null},{"code":"CR","name":"Criuleni","subdivision":null},{"code":"CL","name":"Călăraşi","subdivision":null},{"code":"CS","name":"Căuşeni","subdivision":null},{"code":"DO","name":"Donduşeni","subdivision":null},{"code":"DR","name":"Drochia","subdivision":null},{"code":"DU","name":"Dubăsari","subdivision":null},{"code":"ED","name":"Edineţ","subdivision":null},{"code":"FL","name":"Floreşti","subdivision":null},{"code":"FA","name":"Făleşti","subdivision":null},{"code":"GL","name":"Glodeni","subdivision":null},{"code":"GA","name":"Găgăuzia, Unitatea teritorială autonomă","subdivision":null},{"code":"HI","name":"Hînceşti","subdivision":null},{"code":"IA","name":"Ialoveni","subdivision":null},{"code":"LE","name":"Leova","subdivision":null},{"code":"NI","name":"Nisporeni","subdivision":null},{"code":"OC","name":"Ocniţa","subdivision":null},{"code":"OR","name":"Orhei","subdivision":null},{"code":"RE","name":"Rezina","subdivision":null},{"code":"RI","name":"Rîşcani","subdivision":null},{"code":"SO","name":"Soroca","subdivision":null},{"code":"ST","name":"Străşeni","subdivision":null},{"code":"SN","name":"Stînga Nistrului, unitatea teritorială din","subdivision":null},{"code":"SI","name":"Sîngerei","subdivision":null},{"code":"TA","name":"Taraclia","subdivision":null},{"code":"TE","name":"Teleneşti","subdivision":null},{"code":"BD","name":"Tighina","subdivision":null},{"code":"UN","name":"Ungheni","subdivision":null},{"code":"SD","name":"Şoldăneşti","subdivision":null},{"code":"SV","name":"Ştefan Vodă","subdivision":null}]},{"code2":"MC","code3":"MCO","name":"Monaco","capital":"Monaco","region":"Europe","subregion":"Western Europe","states":[{"code":"FO","name":"Fontvieille","subdivision":null},{"code":"JE","name":"Jardin Exotique","subdivision":null},{"code":"CL","name":"La Colle","subdivision":null},{"code":"CO","name":"La Condamine","subdivision":null},{"code":"GA","name":"La Gare","subdivision":null},{"code":"SO","name":"La Source","subdivision":null},{"code":"LA","name":"Larvotto","subdivision":null},{"code":"MA","name":"Malbousquet","subdivision":null},{"code":"MO","name":"Monaco-Ville","subdivision":null},{"code":"MG","name":"Moneghetti","subdivision":null},{"code":"MC","name":"Monte-Carlo","subdivision":null},{"code":"MU","name":"Moulins","subdivision":null},{"code":"PH","name":"Port-Hercule","subdivision":null},{"code":"SR","name":"Saint-Roman","subdivision":null},{"code":"SD","name":"Sainte-Dévote","subdivision":null},{"code":"SP","name":"Spélugues","subdivision":null},{"code":"VR","name":"Vallon de la Rousse","subdivision":null}]},{"code2":"MN","code3":"MNG","name":"Mongolia","capital":"Ulan Bator","region":"Asia","subregion":"Eastern Asia","states":[{"code":"073","name":"Arhangay","subdivision":null},{"code":"071","name":"Bayan-Ölgiy","subdivision":null},{"code":"069","name":"Bayanhongor","subdivision":null},{"code":"067","name":"Bulgan","subdivision":null},{"code":"037","name":"Darhan uul","subdivision":null},{"code":"061","name":"Dornod","subdivision":null},{"code":"063","name":"Dornogovĭ","subdivision":null},{"code":"059","name":"Dundgovĭ","subdivision":null},{"code":"057","name":"Dzavhan","subdivision":null},{"code":"065","name":"Govĭ-Altay","subdivision":null},{"code":"064","name":"Govĭ-Sümber","subdivision":null},{"code":"039","name":"Hentiy","subdivision":null},{"code":"043","name":"Hovd","subdivision":null},{"code":"041","name":"Hövsgöl","subdivision":null},{"code":"035","name":"Orhon","subdivision":null},{"code":"049","name":"Selenge","subdivision":null},{"code":"051","name":"Sühbaatar","subdivision":null},{"code":"047","name":"Töv","subdivision":null},{"code":"1","name":"Ulaanbaatar","subdivision":null},{"code":"046","name":"Uvs","subdivision":null},{"code":"053","name":"Ömnögovĭ","subdivision":null},{"code":"055","name":"Övörhangay","subdivision":null}]},{"code2":"ME","code3":"MNE","name":"Montenegro","capital":"Podgorica","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Andrijevica","subdivision":null},{"code":"02","name":"Bar","subdivision":null},{"code":"03","name":"Berane","subdivision":null},{"code":"04","name":"Bijelo Polje","subdivision":null},{"code":"05","name":"Budva","subdivision":null},{"code":"06","name":"Cetinje","subdivision":null},{"code":"07","name":"Danilovgrad","subdivision":null},{"code":"22","name":"Gusinje","subdivision":null},{"code":"08","name":"Herceg-Novi","subdivision":null},{"code":"09","name":"Kolašin","subdivision":null},{"code":"10","name":"Kotor","subdivision":null},{"code":"11","name":"Mojkovac","subdivision":null},{"code":"12","name":"Nikšić","subdivision":null},{"code":"23","name":"Petnjica","subdivision":null},{"code":"13","name":"Plav","subdivision":null},{"code":"14","name":"Pljevlja","subdivision":null},{"code":"15","name":"Plužine","subdivision":null},{"code":"16","name":"Podgorica","subdivision":null},{"code":"17","name":"Rožaje","subdivision":null},{"code":"19","name":"Tivat","subdivision":null},{"code":"20","name":"Ulcinj","subdivision":null},{"code":"18","name":"Šavnik","subdivision":null},{"code":"21","name":"Žabljak","subdivision":null}]},{"code2":"MS","code3":"MSR","name":"Montserrat","capital":"Plymouth","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"MA","code3":"MAR","name":"Morocco","capital":"Rabat","region":"Africa","subregion":"Northern Africa","states":[{"code":"09","name":"Chaouia-Ouardigha","subdivision":null},{"code":"10","name":"Doukhala-Abda","subdivision":null},{"code":"05","name":"Fès-Boulemane","subdivision":null},{"code":"02","name":"Gharb-Chrarda-Beni Hssen","subdivision":null},{"code":"08","name":"Grand Casablanca","subdivision":null},{"code":"14","name":"Guelmim-Es Smara","subdivision":null},{"code":"04","name":"L'Oriental","subdivision":null},{"code":"15","name":"Laâyoune-Boujdour-Sakia el Hamra","subdivision":null},{"code":"11","name":"Marrakech-Tensift-Al Haouz","subdivision":null},{"code":"06","name":"Meknès-Tafilalet","subdivision":null},{"code":"16","name":"Oued ed Dahab-Lagouira","subdivision":null},{"code":"07","name":"Rabat-Salé-Zemmour-Zaer","subdivision":null},{"code":"13","name":"Souss-Massa-Drâa","subdivision":null},{"code":"12","name":"Tadla-Azilal","subdivision":null},{"code":"01","name":"Tanger-Tétouan","subdivision":null},{"code":"03","name":"Taza-Al Hoceima-Taounate","subdivision":null}]},{"code2":"MZ","code3":"MOZ","name":"Mozambique","capital":"Maputo","region":"Africa","subregion":"Eastern Africa","states":[{"code":"P","name":"Cabo Delgado","subdivision":null},{"code":"G","name":"Gaza","subdivision":null},{"code":"I","name":"Inhambane","subdivision":null},{"code":"B","name":"Manica","subdivision":null},{"code":"MPM","name":"Maputo","subdivision":null},{"code":"L","name":"Maputo","subdivision":null},{"code":"N","name":"Nampula","subdivision":null},{"code":"A","name":"Niassa","subdivision":null},{"code":"S","name":"Sofala","subdivision":null},{"code":"T","name":"Tete","subdivision":null},{"code":"Q","name":"Zambézia","subdivision":null}]},{"code2":"MM","code3":"MMR","name":"Myanmar","capital":"Naypyidaw","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"07","name":"Ayeyarwady","subdivision":null},{"code":"02","name":"Bago","subdivision":null},{"code":"14","name":"Chin","subdivision":null},{"code":"11","name":"Kachin","subdivision":null},{"code":"12","name":"Kayah","subdivision":null},{"code":"13","name":"Kayin","subdivision":null},{"code":"03","name":"Magway","subdivision":null},{"code":"04","name":"Mandalay","subdivision":null},{"code":"15","name":"Mon","subdivision":null},{"code":"16","name":"Rakhine","subdivision":null},{"code":"01","name":"Sagaing","subdivision":null},{"code":"17","name":"Shan","subdivision":null},{"code":"05","name":"Tanintharyi","subdivision":null},{"code":"06","name":"Yangon","subdivision":null}]},{"code2":"NA","code3":"NAM","name":"Namibia","capital":"Windhoek","region":"Africa","subregion":"Southern Africa","states":[{"code":"ER","name":"Erongo","subdivision":null},{"code":"HA","name":"Hardap","subdivision":null},{"code":"KA","name":"Karas","subdivision":null},{"code":"KE","name":"Kavango East","subdivision":null},{"code":"KW","name":"Kavango West","subdivision":null},{"code":"KH","name":"Khomas","subdivision":null},{"code":"KU","name":"Kunene","subdivision":null},{"code":"OW","name":"Ohangwena","subdivision":null},{"code":"OH","name":"Omaheke","subdivision":null},{"code":"OS","name":"Omusati","subdivision":null},{"code":"ON","name":"Oshana","subdivision":null},{"code":"OT","name":"Oshikoto","subdivision":null},{"code":"OD","name":"Otjozondjupa","subdivision":null},{"code":"CA","name":"Zambezi","subdivision":null}]},{"code2":"NR","code3":"NRU","name":"Nauru","capital":"Yaren","region":"Oceania","subregion":"Micronesia","states":[{"code":"01","name":"Aiwo","subdivision":null},{"code":"02","name":"Anabar","subdivision":null},{"code":"03","name":"Anetan","subdivision":null},{"code":"04","name":"Anibare","subdivision":null},{"code":"05","name":"Baiti","subdivision":null},{"code":"06","name":"Boe","subdivision":null},{"code":"07","name":"Buada","subdivision":null},{"code":"08","name":"Denigomodu","subdivision":null},{"code":"09","name":"Ewa","subdivision":null},{"code":"10","name":"Ijuw","subdivision":null},{"code":"11","name":"Meneng","subdivision":null},{"code":"12","name":"Nibok","subdivision":null},{"code":"13","name":"Uaboe","subdivision":null},{"code":"14","name":"Yaren","subdivision":null}]},{"code2":"NP","code3":"NPL","name":"Nepal","capital":"Kathmandu","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Madhya Pashchimanchal","subdivision":null},{"code":"1","name":"Madhyamanchal","subdivision":null},{"code":"3","name":"Pashchimanchal","subdivision":null},{"code":"4","name":"Purwanchal","subdivision":null},{"code":"5","name":"Sudur Pashchimanchal","subdivision":null}]},{"code2":"NL","code3":"NLD","name":"Netherlands","capital":"Amsterdam","region":"Europe","subregion":"Western Europe","states":[{"code":"DR","name":"Drenthe","subdivision":"Province"},{"code":"FL","name":"Flevoland","subdivision":"Province"},{"code":"FR","name":"Fryslân","subdivision":"Province"},{"code":"GE","name":"Gelderland","subdivision":"Province"},{"code":"GR","name":"Groningen","subdivision":"Province"},{"code":"LI","name":"Limburg","subdivision":"Province"},{"code":"NB","name":"Noord-Brabant","subdivision":"Province"},{"code":"NH","name":"Noord-Holland","subdivision":"Province"},{"code":"OV","name":"Overijssel","subdivision":"Province"},{"code":"UT","name":"Utrecht","subdivision":"Province"},{"code":"ZE","name":"Zeeland","subdivision":"Province"},{"code":"ZH","name":"Zuid-Holland","subdivision":"Province"},{"code":"AW","name":"Aruba","subdivision":"country"},{"code":"CW","name":"Curaçao","subdivision":"country"},{"code":"SX","name":"Sint Maarten","subdivision":"country"},{"code":"BQ1","name":"Bonaire","subdivision":"special municipality"},{"code":"BQ2","name":"Saba","subdivision":"special municipality"},{"code":"BQ3","name":"Sint Eustatius","subdivision":"special municipality"}]},{"code2":"NC","code3":"NCL","name":"New Caledonia","capital":"Nouméa","region":"Oceania","subregion":"Melanesia","states":[]},{"code2":"NZ","code3":"NZL","name":"New Zealand","capital":"Wellington","region":"Oceania","subregion":"Australia and New Zealand","states":[{"code":"N","name":"North Island","subdivision":"Island"},{"code":"S","name":"South Island","subdivision":"Island"},{"code":"AUK","name":"Auckland","subdivision":"regional council"},{"code":"BOP","name":"Bay of Plenty","subdivision":"regional council"},{"code":"CAN","name":"Canterbury","subdivision":"regional council"},{"code":"HKB","name":"Hawke's Bay","subdivision":"regional council"},{"code":"MWT","name":"Manawatu-Wanganui","subdivision":"regional council"},{"code":"NTL","name":"Northland","subdivision":"regional council"},{"code":"OTA","name":"Otago","subdivision":"regional council"},{"code":"STL","name":"Southland","subdivision":"regional council"},{"code":"TKI","name":"Taranaki","subdivision":"regional council"},{"code":"WKO","name":"Waikato","subdivision":"regional council"},{"code":"WGN","name":"Wellington","subdivision":"regional council"},{"code":"WTC","name":"West Coast","subdivision":"regional council"},{"code":"CIT","name":"Chatham Islands Territory","subdivision":"special island authority"},{"code":"GIS","name":"Gisborne District","subdivision":"unitary authority"},{"code":"MBH","name":"Marlborough District","subdivision":"unitary authority"},{"code":"NSN","name":"Nelson City","subdivision":"unitary authority"},{"code":"TAS","name":"Tasman District","subdivision":"unitary authority"}]},{"code2":"NI","code3":"NIC","name":"Nicaragua","capital":"Managua","region":"Americas","subregion":"Central America","states":[{"code":"AN","name":"Atlántico Norte","subdivision":null},{"code":"AS","name":"Atlántico Sur","subdivision":null},{"code":"BO","name":"Boaco","subdivision":null},{"code":"CA","name":"Carazo","subdivision":null},{"code":"CI","name":"Chinandega","subdivision":null},{"code":"CO","name":"Chontales","subdivision":null},{"code":"ES","name":"Estelí","subdivision":null},{"code":"GR","name":"Granada","subdivision":null},{"code":"JI","name":"Jinotega","subdivision":null},{"code":"LE","name":"León","subdivision":null},{"code":"MD","name":"Madriz","subdivision":null},{"code":"MN","name":"Managua","subdivision":null},{"code":"MS","name":"Masaya","subdivision":null},{"code":"MT","name":"Matagalpa","subdivision":null},{"code":"NS","name":"Nueva Segovia","subdivision":null},{"code":"RI","name":"Rivas","subdivision":null},{"code":"SJ","name":"Río San Juan","subdivision":null}]},{"code2":"NE","code3":"NER","name":"Niger","capital":"Niamey","region":"Africa","subregion":"Western Africa","states":[{"code":"1","name":"Agadez","subdivision":null},{"code":"2","name":"Diffa","subdivision":null},{"code":"3","name":"Dosso","subdivision":null},{"code":"4","name":"Maradi","subdivision":null},{"code":"8","name":"Niamey","subdivision":null},{"code":"5","name":"Tahoua","subdivision":null},{"code":"6","name":"Tillabéri","subdivision":null},{"code":"7","name":"Zinder","subdivision":null}]},{"code2":"NG","code3":"NGA","name":"Nigeria","capital":"Abuja","region":"Africa","subregion":"Western Africa","states":[{"code":"AB","name":"Abia","subdivision":null},{"code":"FC","name":"Abuja Federal Capital Territory","subdivision":null},{"code":"AD","name":"Adamawa","subdivision":null},{"code":"AK","name":"Akwa Ibom","subdivision":null},{"code":"AN","name":"Anambra","subdivision":null},{"code":"BA","name":"Bauchi","subdivision":null},{"code":"BY","name":"Bayelsa","subdivision":null},{"code":"BE","name":"Benue","subdivision":null},{"code":"BO","name":"Borno","subdivision":null},{"code":"CR","name":"Cross River","subdivision":null},{"code":"DE","name":"Delta","subdivision":null},{"code":"EB","name":"Ebonyi","subdivision":null},{"code":"ED","name":"Edo","subdivision":null},{"code":"EK","name":"Ekiti","subdivision":null},{"code":"EN","name":"Enugu","subdivision":null},{"code":"GO","name":"Gombe","subdivision":null},{"code":"IM","name":"Imo","subdivision":null},{"code":"JI","name":"Jigawa","subdivision":null},{"code":"KD","name":"Kaduna","subdivision":null},{"code":"KN","name":"Kano","subdivision":null},{"code":"KT","name":"Katsina","subdivision":null},{"code":"KE","name":"Kebbi","subdivision":null},{"code":"KO","name":"Kogi","subdivision":null},{"code":"KW","name":"Kwara","subdivision":null},{"code":"LA","name":"Lagos","subdivision":null},{"code":"NA","name":"Nassarawa","subdivision":null},{"code":"NI","name":"Niger","subdivision":null},{"code":"OG","name":"Ogun","subdivision":null},{"code":"ON","name":"Ondo","subdivision":null},{"code":"OS","name":"Osun","subdivision":null},{"code":"OY","name":"Oyo","subdivision":null},{"code":"PL","name":"Plateau","subdivision":null},{"code":"RI","name":"Rivers","subdivision":null},{"code":"SO","name":"Sokoto","subdivision":null},{"code":"TA","name":"Taraba","subdivision":null},{"code":"YO","name":"Yobe","subdivision":null},{"code":"ZA","name":"Zamfara","subdivision":null}]},{"code2":"NU","code3":"NIU","name":"Niue","capital":"Alofi","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"NF","code3":"NFK","name":"Norfolk Island","capital":"Kingston","region":"Oceania","subregion":"Australia and New Zealand","states":[]},{"code2":"KP","code3":"PRK","name":"North Korea","capital":"Pyongyang","region":"Asia","subregion":"Eastern Asia","states":[{"code":"04","name":"Chagang","subdivision":null},{"code":"07","name":"Kangwon","subdivision":null},{"code":"09","name":"North Hamgyong","subdivision":null},{"code":"06","name":"North Hwanghae","subdivision":null},{"code":"03","name":"North Pyongan","subdivision":null},{"code":"01","name":"Pyongyang","subdivision":null},{"code":"13","name":"Rason","subdivision":null},{"code":"10","name":"Ryanggang","subdivision":null},{"code":"08","name":"South Hamgyong","subdivision":null},{"code":"05","name":"South Hwanghae","subdivision":null},{"code":"02","name":"South Pyongan","subdivision":null}]},{"code2":"MP","code3":"MNP","name":"Northern Mariana Islands","capital":"Saipan","region":"Oceania","subregion":"Micronesia","states":[]},{"code2":"NO","code3":"NOR","name":"Norway","capital":"Oslo","region":"Europe","subregion":"Northern Europe","states":[{"code":"02","name":"Akershus","subdivision":null},{"code":"09","name":"Aust-Agder","subdivision":null},{"code":"06","name":"Buskerud","subdivision":null},{"code":"20","name":"Finnmark","subdivision":null},{"code":"04","name":"Hedmark","subdivision":null},{"code":"12","name":"Hordaland","subdivision":null},{"code":"22","name":"Jan Mayen","subdivision":null},{"code":"15","name":"Møre og Romsdal","subdivision":null},{"code":"17","name":"Nord-Trøndelag","subdivision":null},{"code":"18","name":"Nordland","subdivision":null},{"code":"05","name":"Oppland","subdivision":null},{"code":"03","name":"Oslo","subdivision":null},{"code":"11","name":"Rogaland","subdivision":null},{"code":"14","name":"Sogn og Fjordane","subdivision":null},{"code":"21","name":"Svalbard","subdivision":null},{"code":"16","name":"Sør-Trøndelag","subdivision":null},{"code":"08","name":"Telemark","subdivision":null},{"code":"19","name":"Troms","subdivision":null},{"code":"10","name":"Vest-Agder","subdivision":null},{"code":"07","name":"Vestfold","subdivision":null},{"code":"01","name":"Østfold","subdivision":null}]},{"code2":"OM","code3":"OMN","name":"Oman","capital":"Muscat","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dākhilīyah","subdivision":null},{"code":"BU","name":"Al Buraymī","subdivision":null},{"code":"BA","name":"Al Bāţinah","subdivision":null},{"code":"WU","name":"Al Wusţá","subdivision":null},{"code":"SH","name":"Ash Sharqīyah","subdivision":null},{"code":"ZA","name":"Az̧ Z̧āhirah","subdivision":null},{"code":"MA","name":"Masqaţ","subdivision":null},{"code":"MU","name":"Musandam","subdivision":null},{"code":"ZU","name":"Z̧ufār","subdivision":null}]},{"code2":"PK","code3":"PAK","name":"Pakistan","capital":"Islamabad","region":"Asia","subregion":"Southern Asia","states":[{"code":"JK","name":"Azad Kashmir","subdivision":null},{"code":"BA","name":"Balochistan","subdivision":null},{"code":"TA","name":"Federally Administered Tribal Areas","subdivision":null},{"code":"GB","name":"Gilgit-Baltistan","subdivision":null},{"code":"IS","name":"Islamabad","subdivision":null},{"code":"KP","name":"Khyber Pakhtunkhwa","subdivision":null},{"code":"PB","name":"Punjab","subdivision":null},{"code":"SD","name":"Sindh","subdivision":null}]},{"code2":"PW","code3":"PLW","name":"Palau","capital":"Ngerulmud","region":"Oceania","subregion":"Micronesia","states":[{"code":"002","name":"Aimeliik","subdivision":null},{"code":"004","name":"Airai","subdivision":null},{"code":"010","name":"Angaur","subdivision":null},{"code":"050","name":"Hatobohei","subdivision":null},{"code":"100","name":"Kayangel","subdivision":null},{"code":"150","name":"Koror","subdivision":null},{"code":"212","name":"Melekeok","subdivision":null},{"code":"214","name":"Ngaraard","subdivision":null},{"code":"218","name":"Ngarchelong","subdivision":null},{"code":"222","name":"Ngardmau","subdivision":null},{"code":"224","name":"Ngatpang","subdivision":null},{"code":"226","name":"Ngchesar","subdivision":null},{"code":"227","name":"Ngeremlengui","subdivision":null},{"code":"228","name":"Ngiwal","subdivision":null},{"code":"350","name":"Peleliu","subdivision":null},{"code":"370","name":"Sonsorol","subdivision":null}]},{"code2":"PS","code3":"PSE","name":"Palestine","capital":"Ramallah","region":"Asia","subregion":"Western Asia","states":[{"code":"BTH","name":"Bethlehem","subdivision":null},{"code":"DEB","name":"Deir El Balah","subdivision":null},{"code":"GZA","name":"Gaza","subdivision":null},{"code":"HBN","name":"Hebron","subdivision":null},{"code":"JEN","name":"Jenin","subdivision":null},{"code":"JRH","name":"Jericho – Al Aghwar","subdivision":null},{"code":"JEM","name":"Jerusalem","subdivision":null},{"code":"KYS","name":"Khan Yunis","subdivision":null},{"code":"NBS","name":"Nablus","subdivision":null},{"code":"NGZ","name":"North Gaza","subdivision":null},{"code":"QQA","name":"Qalqilya","subdivision":null},{"code":"RFH","name":"Rafah","subdivision":null},{"code":"RBH","name":"Ramallah","subdivision":null},{"code":"SLT","name":"Salfit","subdivision":null},{"code":"TBS","name":"Tubas","subdivision":null},{"code":"TKM","name":"Tulkarm","subdivision":null}]},{"code2":"PA","code3":"PAN","name":"Panama","capital":"Panama City","region":"Americas","subregion":"Central America","states":[{"code":"1","name":"Bocas del Toro","subdivision":null},{"code":"4","name":"Chiriquí","subdivision":null},{"code":"2","name":"Coclé","subdivision":null},{"code":"3","name":"Colón","subdivision":null},{"code":"5","name":"Darién","subdivision":null},{"code":"EM","name":"Emberá","subdivision":null},{"code":"6","name":"Herrera","subdivision":null},{"code":"KY","name":"Kuna Yala","subdivision":null},{"code":"7","name":"Los Santos","subdivision":null},{"code":"NB","name":"Ngöbe-Buglé","subdivision":null},{"code":"8","name":"Panamá","subdivision":null},{"code":"10","name":"Panamá Oeste","subdivision":null},{"code":"9","name":"Veraguas","subdivision":null}]},{"code2":"PG","code3":"PNG","name":"Papua New Guinea","capital":"Port Moresby","region":"Oceania","subregion":"Melanesia","states":[{"code":"NSB","name":"Bougainville","subdivision":null},{"code":"CPM","name":"Central","subdivision":null},{"code":"CPK","name":"Chimbu","subdivision":null},{"code":"EBR","name":"East New Britain","subdivision":null},{"code":"ESW","name":"East Sepik","subdivision":null},{"code":"EHG","name":"Eastern Highlands","subdivision":null},{"code":"EPW","name":"Enga","subdivision":null},{"code":"GPK","name":"Gulf","subdivision":null},{"code":"MPM","name":"Madang","subdivision":null},{"code":"MRL","name":"Manus","subdivision":null},{"code":"MBA","name":"Milne Bay","subdivision":null},{"code":"MPL","name":"Morobe","subdivision":null},{"code":"NCD","name":"National Capital District","subdivision":null},{"code":"NIK","name":"New Ireland","subdivision":null},{"code":"NPP","name":"Northern","subdivision":null},{"code":"SAN","name":"Sandaun","subdivision":null},{"code":"SHM","name":"Southern Highlands","subdivision":null},{"code":"WBK","name":"West New Britain","subdivision":null},{"code":"WPD","name":"Western","subdivision":null},{"code":"WHM","name":"Western Highlands","subdivision":null}]},{"code2":"PY","code3":"PRY","name":"Paraguay","capital":"Asunción","region":"Americas","subregion":"South America","states":[{"code":"16","name":"Alto Paraguay","subdivision":null},{"code":"10","name":"Alto Paraná","subdivision":null},{"code":"13","name":"Amambay","subdivision":null},{"code":"ASU","name":"Asunción","subdivision":null},{"code":"19","name":"Boquerón","subdivision":null},{"code":"5","name":"Caaguazú","subdivision":null},{"code":"6","name":"Caazapá","subdivision":null},{"code":"14","name":"Canindeyú","subdivision":null},{"code":"11","name":"Central","subdivision":null},{"code":"1","name":"Concepción","subdivision":null},{"code":"3","name":"Cordillera","subdivision":null},{"code":"4","name":"Guairá","subdivision":null},{"code":"7","name":"Itapúa","subdivision":null},{"code":"8","name":"Misiones","subdivision":null},{"code":"9","name":"Paraguarí","subdivision":null},{"code":"15","name":"Presidente Hayes","subdivision":null},{"code":"2","name":"San Pedro","subdivision":null},{"code":"12","name":"Ñeembucú","subdivision":null}]},{"code2":"PE","code3":"PER","name":"Peru","capital":"Lima","region":"Americas","subregion":"South America","states":[{"code":"AMA","name":"Amazonas","subdivision":null},{"code":"ANC","name":"Ancash","subdivision":null},{"code":"APU","name":"Apurímac","subdivision":null},{"code":"ARE","name":"Arequipa","subdivision":null},{"code":"AYA","name":"Ayacucho","subdivision":null},{"code":"CAJ","name":"Cajamarca","subdivision":null},{"code":"CUS","name":"Cusco","subdivision":null},{"code":"CAL","name":"El Callao","subdivision":null},{"code":"HUV","name":"Huancavelica","subdivision":null},{"code":"HUC","name":"Huánuco","subdivision":null},{"code":"ICA","name":"Ica","subdivision":null},{"code":"JUN","name":"Junín","subdivision":null},{"code":"LAL","name":"La Libertad","subdivision":null},{"code":"LAM","name":"Lambayeque","subdivision":null},{"code":"LIM","name":"Lima","subdivision":null},{"code":"LOR","name":"Loreto","subdivision":null},{"code":"MDD","name":"Madre de Dios","subdivision":null},{"code":"MOQ","name":"Moquegua","subdivision":null},{"code":"LMA","name":"Municipalidad Metropolitana de Lima","subdivision":null},{"code":"PAS","name":"Pasco","subdivision":null},{"code":"PIU","name":"Piura","subdivision":null},{"code":"PUN","name":"Puno","subdivision":null},{"code":"SAM","name":"San Martín","subdivision":null},{"code":"TAC","name":"Tacna","subdivision":null},{"code":"TUM","name":"Tumbes","subdivision":null},{"code":"UCA","name":"Ucayali","subdivision":null}]},{"code2":"PH","code3":"PHL","name":"Philippines","capital":"Manila","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"14","name":"Autonomous Region in Muslim Mindanao","subdivision":null},{"code":"05","name":"Bicol","subdivision":null},{"code":"02","name":"Cagayan Valley","subdivision":null},{"code":"40","name":"Calabarzon","subdivision":null},{"code":"13","name":"Caraga","subdivision":null},{"code":"03","name":"Central Luzon","subdivision":null},{"code":"07","name":"Central Visayas","subdivision":null},{"code":"15","name":"Cordillera Administrative Region","subdivision":null},{"code":"11","name":"Davao","subdivision":null},{"code":"08","name":"Eastern Visayas","subdivision":null},{"code":"01","name":"Ilocos","subdivision":null},{"code":"41","name":"Mimaropa","subdivision":null},{"code":"00","name":"National Capital Region","subdivision":null},{"code":"10","name":"Northern Mindanao","subdivision":null},{"code":"12","name":"Soccsksargen","subdivision":null},{"code":"06","name":"Western Visayas","subdivision":null},{"code":"09","name":"Zamboanga Peninsula","subdivision":null}]},{"code2":"PN","code3":"PCN","name":"Pitcairn Islands","capital":"Adamstown","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"PL","code3":"POL","name":"Poland","capital":"Warsaw","region":"Europe","subregion":"Eastern Europe","states":[{"code":"DS","name":"Dolnośląskie","subdivision":null},{"code":"KP","name":"Kujawsko-pomorskie","subdivision":null},{"code":"LU","name":"Lubelskie","subdivision":null},{"code":"LB","name":"Lubuskie","subdivision":null},{"code":"MZ","name":"Mazowieckie","subdivision":null},{"code":"MA","name":"Małopolskie","subdivision":null},{"code":"OP","name":"Opolskie","subdivision":null},{"code":"PK","name":"Podkarpackie","subdivision":null},{"code":"PD","name":"Podlaskie","subdivision":null},{"code":"PM","name":"Pomorskie","subdivision":null},{"code":"WN","name":"Warmińsko-mazurskie","subdivision":null},{"code":"WP","name":"Wielkopolskie","subdivision":null},{"code":"ZP","name":"Zachodniopomorskie","subdivision":null},{"code":"LD","name":"Łódzkie","subdivision":null},{"code":"SL","name":"Śląskie","subdivision":null},{"code":"SK","name":"Świętokrzyskie","subdivision":null}]},{"code2":"PT","code3":"PRT","name":"Portugal","capital":"Lisbon","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Aveiro","subdivision":null},{"code":"02","name":"Beja","subdivision":null},{"code":"03","name":"Braga","subdivision":null},{"code":"04","name":"Bragança","subdivision":null},{"code":"05","name":"Castelo Branco","subdivision":null},{"code":"06","name":"Coimbra","subdivision":null},{"code":"08","name":"Faro","subdivision":null},{"code":"09","name":"Guarda","subdivision":null},{"code":"10","name":"Leiria","subdivision":null},{"code":"11","name":"Lisboa","subdivision":null},{"code":"12","name":"Portalegre","subdivision":null},{"code":"13","name":"Porto","subdivision":null},{"code":"30","name":"Região Autónoma da Madeira","subdivision":null},{"code":"20","name":"Região Autónoma dos Açores","subdivision":null},{"code":"14","name":"Santarém","subdivision":null},{"code":"15","name":"Setúbal","subdivision":null},{"code":"16","name":"Viana do Castelo","subdivision":null},{"code":"17","name":"Vila Real","subdivision":null},{"code":"18","name":"Viseu","subdivision":null},{"code":"07","name":"Évora","subdivision":null}]},{"code2":"PR","code3":"PRI","name":"Puerto Rico","capital":"San Juan","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"QA","code3":"QAT","name":"Qatar","capital":"Doha","region":"Asia","subregion":"Western Asia","states":[{"code":"DA","name":"Ad Dawḩah","subdivision":null},{"code":"KH","name":"Al Khawr wa adh Dhakhīrah","subdivision":null},{"code":"WA","name":"Al Wakrah","subdivision":null},{"code":"RA","name":"Ar Rayyān","subdivision":null},{"code":"MS","name":"Ash Shamāl","subdivision":null},{"code":"ZA","name":"Az̧ Za̧\`āyin","subdivision":null},{"code":"US","name":"Umm Şalāl","subdivision":null}]},{"code2":"XK","code3":"KOS","name":"Republic of Kosovo","capital":"Pristina","region":"Europe","subregion":"Eastern Europe","states":[]},{"code2":"RE","code3":"REU","name":"Réunion","capital":"Saint-Denis","region":"Africa","subregion":"Eastern Africa","states":[]},{"code2":"RO","code3":"ROU","name":"Romania","capital":"Bucharest","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AB","name":"Alba","subdivision":null},{"code":"AR","name":"Arad","subdivision":null},{"code":"AG","name":"Argeș","subdivision":null},{"code":"BC","name":"Bacău","subdivision":null},{"code":"BH","name":"Bihor","subdivision":null},{"code":"BN","name":"Bistrița-Năsăud","subdivision":null},{"code":"BT","name":"Botoșani","subdivision":null},{"code":"BV","name":"Brașov","subdivision":null},{"code":"BR","name":"Brăila","subdivision":null},{"code":"B","name":"București","subdivision":null},{"code":"BZ","name":"Buzău","subdivision":null},{"code":"CS","name":"Caraș-Severin","subdivision":null},{"code":"CJ","name":"Cluj","subdivision":null},{"code":"CT","name":"Constanța","subdivision":null},{"code":"CV","name":"Covasna","subdivision":null},{"code":"CL","name":"Călărași","subdivision":null},{"code":"DJ","name":"Dolj","subdivision":null},{"code":"DB","name":"Dâmbovița","subdivision":null},{"code":"GL","name":"Galați","subdivision":null},{"code":"GR","name":"Giurgiu","subdivision":null},{"code":"GJ","name":"Gorj","subdivision":null},{"code":"HR","name":"Harghita","subdivision":null},{"code":"HD","name":"Hunedoara","subdivision":null},{"code":"IL","name":"Ialomița","subdivision":null},{"code":"IS","name":"Iași","subdivision":null},{"code":"IF","name":"Ilfov","subdivision":null},{"code":"MM","name":"Maramureș","subdivision":null},{"code":"MH","name":"Mehedinți","subdivision":null},{"code":"MS","name":"Mureș","subdivision":null},{"code":"NT","name":"Neamț","subdivision":null},{"code":"OT","name":"Olt","subdivision":null},{"code":"PH","name":"Prahova","subdivision":null},{"code":"SM","name":"Satu Mare","subdivision":null},{"code":"SB","name":"Sibiu","subdivision":null},{"code":"SV","name":"Suceava","subdivision":null},{"code":"SJ","name":"Sălaj","subdivision":null},{"code":"TR","name":"Teleorman","subdivision":null},{"code":"TM","name":"Timiș","subdivision":null},{"code":"TL","name":"Tulcea","subdivision":null},{"code":"VS","name":"Vaslui","subdivision":null},{"code":"VN","name":"Vrancea","subdivision":null},{"code":"VL","name":"Vâlcea","subdivision":null}]},{"code2":"RU","code3":"RUS","name":"Russia","capital":"Moscow","region":"Europe","subregion":"Eastern Europe","states":[{"code":"AMU","name":"Amurskaya oblast'","subdivision":"administrative region"},{"code":"ARK","name":"Arkhangel'skaya oblast'","subdivision":"administrative region"},{"code":"AST","name":"Astrakhanskaya oblast'","subdivision":"administrative region"},{"code":"BEL","name":"Belgorodskaya oblast'","subdivision":"administrative region"},{"code":"BRY","name":"Bryanskaya oblast'","subdivision":"administrative region"},{"code":"CHE","name":"Chelyabinskaya oblast'","subdivision":"administrative region"},{"code":"IRK","name":"Irkutskaya oblast'","subdivision":"administrative region"},{"code":"IVA","name":"Ivanovskaya oblast'","subdivision":"administrative region"},{"code":"KGD","name":"Kaliningradskaya oblast'","subdivision":"administrative region"},{"code":"KLU","name":"Kaluzhskaya oblast'","subdivision":"administrative region"},{"code":"KEM","name":"Kemerovskaya oblast'","subdivision":"administrative region"},{"code":"KIR","name":"Kirovskaya oblast'","subdivision":"administrative region"},{"code":"KOS","name":"Kostromskaya oblast'","subdivision":"administrative region"},{"code":"KGN","name":"Kurganskaya oblast'","subdivision":"administrative region"},{"code":"KRS","name":"Kurskaya oblast'","subdivision":"administrative region"},{"code":"LEN","name":"Leningradskaya oblast'","subdivision":"administrative region"},{"code":"LIP","name":"Lipetskaya oblast'","subdivision":"administrative region"},{"code":"MAG","name":"Magadanskaya oblast'","subdivision":"administrative region"},{"code":"MOS","name":"Moskovskaya oblast'","subdivision":"administrative region"},{"code":"MUR","name":"Murmanskaya oblast'","subdivision":"administrative region"},{"code":"NIZ","name":"Nizhegorodskaya oblast'","subdivision":"administrative region"},{"code":"NGR","name":"Novgorodskaya oblast'","subdivision":"administrative region"},{"code":"NVS","name":"Novosibirskaya oblast'","subdivision":"administrative region"},{"code":"OMS","name":"Omskaya oblast'","subdivision":"administrative region"},{"code":"ORE","name":"Orenburgskaya oblast'","subdivision":"administrative region"},{"code":"ORL","name":"Orlovskaya oblast'","subdivision":"administrative region"},{"code":"PNZ","name":"Penzenskaya oblast'","subdivision":"administrative region"},{"code":"PSK","name":"Pskovskaya oblast'","subdivision":"administrative region"},{"code":"ROS","name":"Rostovskaya oblast'","subdivision":"administrative region"},{"code":"RYA","name":"Ryazanskaya oblast'","subdivision":"administrative region"},{"code":"SAK","name":"Sakhalinskaya oblast'","subdivision":"administrative region"},{"code":"SAM","name":"Samarskaya oblast'","subdivision":"administrative region"},{"code":"SAR","name":"Saratovskaya oblast'","subdivision":"administrative region"},{"code":"SMO","name":"Smolenskaya oblast'","subdivision":"administrative region"},{"code":"SVE","name":"Sverdlovskaya oblast'","subdivision":"administrative region"},{"code":"TAM","name":"Tambovskaya oblast'","subdivision":"administrative region"},{"code":"TOM","name":"Tomskaya oblast'","subdivision":"administrative region"},{"code":"TUL","name":"Tul'skaya oblast'","subdivision":"administrative region"},{"code":"TVE","name":"Tverskaya oblast'","subdivision":"administrative region"},{"code":"TYU","name":"Tyumenskaya oblast'","subdivision":"administrative region"},{"code":"ULY","name":"Ul'yanovskaya oblast'","subdivision":"administrative region"},{"code":"VLA","name":"Vladimirskaya oblast'","subdivision":"administrative region"},{"code":"VGG","name":"Volgogradskaya oblast'","subdivision":"administrative region"},{"code":"VLG","name":"Vologodskaya oblast'","subdivision":"administrative region"},{"code":"VOR","name":"Voronezhskaya oblast'","subdivision":"administrative region"},{"code":"YAR","name":"Yaroslavskaya oblast'","subdivision":"administrative region"},{"code":"ALT","name":"Altayskiy kray","subdivision":"administrative territory"},{"code":"KAM","name":"Kamchatskiy kray","subdivision":"administrative territory"},{"code":"KHA","name":"Khabarovskiy kray","subdivision":"administrative territory"},{"code":"KDA","name":"Krasnodarskiy kray","subdivision":"administrative territory"},{"code":"KYA","name":"Krasnoyarskiy kray","subdivision":"administrative territory"},{"code":"PER","name":"Permskiy kray","subdivision":"administrative territory"},{"code":"PRI","name":"Primorskiy kray","subdivision":"administrative territory"},{"code":"STA","name":"Stavropol'skiy kray","subdivision":"administrative territory"},{"code":"ZAB","name":"Zabaykal'skiy kray","subdivision":"administrative territory"},{"code":"MOW","name":"Moskva","subdivision":"autonomous city"},{"code":"SPE","name":"Sankt-Peterburg","subdivision":"autonomous city"},{"code":"CHU","name":"Chukotskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"KHM","name":"Khanty-Mansiyskiy avtonomnyy okrug-Yugra","subdivision":"autonomous district"},{"code":"NEN","name":"Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YAN","name":"Yamalo-Nenetskiy avtonomnyy okrug","subdivision":"autonomous district"},{"code":"YEV","name":"Yevreyskaya avtonomnaya oblast'","subdivision":"autonomous region"},{"code":"AD","name":"Adygeya, Respublika","subdivision":"republic"},{"code":"AL","name":"Altay, Respublika","subdivision":"republic"},{"code":"BA","name":"Bashkortostan, Respublika","subdivision":"republic"},{"code":"BU","name":"Buryatiya, Respublika","subdivision":"republic"},{"code":"CE","name":"Chechenskaya Respublika","subdivision":"republic"},{"code":"CU","name":"Chuvashskaya Respublika","subdivision":"republic"},{"code":"DA","name":"Dagestan, Respublika","subdivision":"republic"},{"code":"IN","name":"Ingushetiya, Respublika","subdivision":"republic"},{"code":"KB","name":"Kabardino-Balkarskaya Respublika","subdivision":"republic"},{"code":"KL","name":"Kalmykiya, Respublika","subdivision":"republic"},{"code":"KC","name":"Karachayevo-Cherkesskaya Respublika","subdivision":"republic"},{"code":"KR","name":"Kareliya, Respublika","subdivision":"republic"},{"code":"KK","name":"Khakasiya, Respublika","subdivision":"republic"},{"code":"KO","name":"Komi, Respublika","subdivision":"republic"},{"code":"ME","name":"Mariy El, Respublika","subdivision":"republic"},{"code":"MO","name":"Mordoviya, Respublika","subdivision":"republic"},{"code":"SA","name":"Sakha, Respublika","subdivision":"republic"},{"code":"SE","name":"Severnaya Osetiya-Alaniya, Respublika","subdivision":"republic"},{"code":"TA","name":"Tatarstan, Respublika","subdivision":"republic"},{"code":"TY","name":"Tyva, Respublika","subdivision":"republic"},{"code":"UD","name":"Udmurtskaya Respublika","subdivision":"republic"}]},{"code2":"RW","code3":"RWA","name":"Rwanda","capital":"Kigali","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Est","subdivision":null},{"code":"03","name":"Nord","subdivision":null},{"code":"04","name":"Ouest","subdivision":null},{"code":"05","name":"Sud","subdivision":null},{"code":"01","name":"Ville de Kigali","subdivision":null}]},{"code2":"BL","code3":"BLM","name":"Saint Barthélemy","capital":"Gustavia","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SH","code3":"SHN","name":"Saint Helena","capital":"Jamestown","region":"Africa","subregion":"Western Africa","states":[{"code":"AC","name":"Ascension","subdivision":null},{"code":"HL","name":"Saint Helena","subdivision":null},{"code":"TA","name":"Tristan da Cunha","subdivision":null}]},{"code2":"KN","code3":"KNA","name":"Saint Kitts and Nevis","capital":"Basseterre","region":"Americas","subregion":"Caribbean","states":[{"code":"N","name":"Nevis","subdivision":null},{"code":"K","name":"Saint Kitts","subdivision":null}]},{"code2":"LC","code3":"LCA","name":"Saint Lucia","capital":"Castries","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Anse la Raye","subdivision":null},{"code":"02","name":"Castries","subdivision":null},{"code":"03","name":"Choiseul","subdivision":null},{"code":"04","name":"Dauphin","subdivision":null},{"code":"05","name":"Dennery","subdivision":null},{"code":"06","name":"Gros Islet","subdivision":null},{"code":"07","name":"Laborie","subdivision":null},{"code":"08","name":"Micoud","subdivision":null},{"code":"09","name":"Praslin","subdivision":null},{"code":"10","name":"Soufrière","subdivision":null},{"code":"11","name":"Vieux Fort","subdivision":null}]},{"code2":"MF","code3":"MAF","name":"Saint Martin","capital":"Marigot","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"PM","code3":"SPM","name":"Saint Pierre and Miquelon","capital":"Saint-Pierre","region":"Americas","subregion":"Northern America","states":[]},{"code2":"VC","code3":"VCT","name":"Saint Vincent and the Grenadines","capital":"Kingstown","region":"Americas","subregion":"Caribbean","states":[{"code":"01","name":"Charlotte","subdivision":null},{"code":"06","name":"Grenadines","subdivision":null},{"code":"02","name":"Saint Andrew","subdivision":null},{"code":"03","name":"Saint David","subdivision":null},{"code":"04","name":"Saint George","subdivision":null},{"code":"05","name":"Saint Patrick","subdivision":null}]},{"code2":"WS","code3":"WSM","name":"Samoa","capital":"Apia","region":"Oceania","subregion":"Polynesia","states":[{"code":"AA","name":"A'ana","subdivision":null},{"code":"AL","name":"Aiga-i-le-Tai","subdivision":null},{"code":"AT","name":"Atua","subdivision":null},{"code":"FA","name":"Fa'asaleleaga","subdivision":null},{"code":"GE","name":"Gaga'emauga","subdivision":null},{"code":"GI","name":"Gagaifomauga","subdivision":null},{"code":"PA","name":"Palauli","subdivision":null},{"code":"SA","name":"Satupa'itea","subdivision":null},{"code":"TU","name":"Tuamasaga","subdivision":null},{"code":"VF","name":"Va'a-o-Fonoti","subdivision":null},{"code":"VS","name":"Vaisigano","subdivision":null}]},{"code2":"SM","code3":"SMR","name":"San Marino","capital":"City of San Marino","region":"Europe","subregion":"Southern Europe","states":[{"code":"01","name":"Acquaviva","subdivision":null},{"code":"06","name":"Borgo Maggiore","subdivision":null},{"code":"02","name":"Chiesanuova","subdivision":null},{"code":"03","name":"Domagnano","subdivision":null},{"code":"04","name":"Faetano","subdivision":null},{"code":"05","name":"Fiorentino","subdivision":null},{"code":"08","name":"Montegiardino","subdivision":null},{"code":"07","name":"San Marino","subdivision":null},{"code":"09","name":"Serravalle","subdivision":null}]},{"code2":"ST","code3":"STP","name":"São Tomé and Príncipe","capital":"São Tomé","region":"Africa","subregion":"Middle Africa","states":[{"code":"P","name":"Príncipe","subdivision":null},{"code":"S","name":"São Tomé","subdivision":null}]},{"code2":"SA","code3":"SAU","name":"Saudi Arabia","capital":"Riyadh","region":"Asia","subregion":"Western Asia","states":[{"code":"11","name":"Al Bāḩah","subdivision":null},{"code":"12","name":"Al Jawf","subdivision":null},{"code":"03","name":"Al Madīnah","subdivision":null},{"code":"05","name":"Al Qaşīm","subdivision":null},{"code":"08","name":"Al Ḩudūd ash Shamālīyah","subdivision":null},{"code":"01","name":"Ar Riyāḑ","subdivision":null},{"code":"04","name":"Ash Sharqīyah","subdivision":null},{"code":"09","name":"Jīzān","subdivision":null},{"code":"02","name":"Makkah","subdivision":null},{"code":"10","name":"Najrān","subdivision":null},{"code":"07","name":"Tabūk","subdivision":null},{"code":"14","name":"ٰĀsīr","subdivision":null},{"code":"06","name":"Ḩā'il","subdivision":null}]},{"code2":"SN","code3":"SEN","name":"Senegal","capital":"Dakar","region":"Africa","subregion":"Western Africa","states":[{"code":"DK","name":"Dakar","subdivision":null},{"code":"DB","name":"Diourbel","subdivision":null},{"code":"FK","name":"Fatick","subdivision":null},{"code":"KA","name":"Kaffrine","subdivision":null},{"code":"KL","name":"Kaolack","subdivision":null},{"code":"KD","name":"Kolda","subdivision":null},{"code":"KE","name":"Kédougou","subdivision":null},{"code":"LG","name":"Louga","subdivision":null},{"code":"MT","name":"Matam","subdivision":null},{"code":"SL","name":"Saint-Louis","subdivision":null},{"code":"SE","name":"Sédhiou","subdivision":null},{"code":"TC","name":"Tambacounda","subdivision":null},{"code":"TH","name":"Thiès","subdivision":null},{"code":"ZG","name":"Ziguinchor","subdivision":null}]},{"code2":"RS","code3":"SRB","name":"Serbia","capital":"Belgrade","region":"Europe","subregion":"Southern Europe","states":[{"code":"KM","name":"Kosovo-Metohija","subdivision":null},{"code":"VO","name":"Vojvodina","subdivision":null}]},{"code2":"SC","code3":"SYC","name":"Seychelles","capital":"Victoria","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Anse Boileau","subdivision":null},{"code":"03","name":"Anse Etoile","subdivision":null},{"code":"05","name":"Anse Royale","subdivision":null},{"code":"01","name":"Anse aux Pins","subdivision":null},{"code":"04","name":"Au Cap","subdivision":null},{"code":"06","name":"Baie Lazare","subdivision":null},{"code":"07","name":"Baie Sainte Anne","subdivision":null},{"code":"08","name":"Beau Vallon","subdivision":null},{"code":"09","name":"Bel Air","subdivision":null},{"code":"10","name":"Bel Ombre","subdivision":null},{"code":"11","name":"Cascade","subdivision":null},{"code":"16","name":"English River","subdivision":null},{"code":"12","name":"Glacis","subdivision":null},{"code":"13","name":"Grand Anse Mahe","subdivision":null},{"code":"14","name":"Grand Anse Praslin","subdivision":null},{"code":"15","name":"La Digue","subdivision":null},{"code":"24","name":"Les Mamelles","subdivision":null},{"code":"17","name":"Mont Buxton","subdivision":null},{"code":"18","name":"Mont Fleuri","subdivision":null},{"code":"19","name":"Plaisance","subdivision":null},{"code":"20","name":"Pointe Larue","subdivision":null},{"code":"21","name":"Port Glaud","subdivision":null},{"code":"25","name":"Roche Caiman","subdivision":null},{"code":"22","name":"Saint Louis","subdivision":null},{"code":"23","name":"Takamaka","subdivision":null}]},{"code2":"SL","code3":"SLE","name":"Sierra Leone","capital":"Freetown","region":"Africa","subregion":"Western Africa","states":[{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"S","name":"Southern","subdivision":null},{"code":"W","name":"Western Area","subdivision":null}]},{"code2":"SG","code3":"SGP","name":"Singapore","capital":"Singapore","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"01","name":"Central Singapore","subdivision":null},{"code":"02","name":"North East","subdivision":null},{"code":"03","name":"North West","subdivision":null},{"code":"04","name":"South East","subdivision":null},{"code":"05","name":"South West","subdivision":null}]},{"code2":"SX","code3":"SXM","name":"Sint Maarten","capital":"Philipsburg","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"SK","code3":"SVK","name":"Slovakia","capital":"Bratislava","region":"Europe","subregion":"Eastern Europe","states":[{"code":"BC","name":"Banskobystrický kraj","subdivision":null},{"code":"BL","name":"Bratislavský kraj","subdivision":null},{"code":"KI","name":"Košický kraj","subdivision":null},{"code":"NI","name":"Nitriansky kraj","subdivision":null},{"code":"PV","name":"Prešovský kraj","subdivision":null},{"code":"TC","name":"Trenčiansky kraj","subdivision":null},{"code":"TA","name":"Trnavský kraj","subdivision":null},{"code":"ZI","name":"Žilinský kraj","subdivision":null}]},{"code2":"SI","code3":"SVN","name":"Slovenia","capital":"Ljubljana","region":"Europe","subregion":"Southern Europe","states":[{"code":"001","name":"Ajdovščina","subdivision":null},{"code":"195","name":"Apače","subdivision":null},{"code":"002","name":"Beltinci","subdivision":null},{"code":"148","name":"Benedikt","subdivision":null},{"code":"149","name":"Bistrica ob Sotli","subdivision":null},{"code":"003","name":"Bled","subdivision":null},{"code":"150","name":"Bloke","subdivision":null},{"code":"004","name":"Bohinj","subdivision":null},{"code":"005","name":"Borovnica","subdivision":null},{"code":"006","name":"Bovec","subdivision":null},{"code":"151","name":"Braslovče","subdivision":null},{"code":"007","name":"Brda","subdivision":null},{"code":"008","name":"Brezovica","subdivision":null},{"code":"009","name":"Brežice","subdivision":null},{"code":"152","name":"Cankova","subdivision":null},{"code":"011","name":"Celje","subdivision":null},{"code":"012","name":"Cerklje na Gorenjskem","subdivision":null},{"code":"013","name":"Cerknica","subdivision":null},{"code":"014","name":"Cerkno","subdivision":null},{"code":"153","name":"Cerkvenjak","subdivision":null},{"code":"196","name":"Cirkulane","subdivision":null},{"code":"018","name":"Destrnik","subdivision":null},{"code":"019","name":"Divača","subdivision":null},{"code":"154","name":"Dobje","subdivision":null},{"code":"020","name":"Dobrepolje","subdivision":null},{"code":"155","name":"Dobrna","subdivision":null},{"code":"021","name":"Dobrova–Polhov Gradec","subdivision":null},{"code":"156","name":"Dobrovnik","subdivision":null},{"code":"022","name":"Dol pri Ljubljani","subdivision":null},{"code":"157","name":"Dolenjske Toplice","subdivision":null},{"code":"023","name":"Domžale","subdivision":null},{"code":"024","name":"Dornava","subdivision":null},{"code":"025","name":"Dravograd","subdivision":null},{"code":"026","name":"Duplek","subdivision":null},{"code":"027","name":"Gorenja vas–Poljane","subdivision":null},{"code":"028","name":"Gorišnica","subdivision":null},{"code":"207","name":"Gorje","subdivision":null},{"code":"029","name":"Gornja Radgona","subdivision":null},{"code":"030","name":"Gornji Grad","subdivision":null},{"code":"031","name":"Gornji Petrovci","subdivision":null},{"code":"158","name":"Grad","subdivision":null},{"code":"032","name":"Grosuplje","subdivision":null},{"code":"159","name":"Hajdina","subdivision":null},{"code":"161","name":"Hodoš","subdivision":null},{"code":"162","name":"Horjul","subdivision":null},{"code":"160","name":"Hoče–Slivnica","subdivision":null},{"code":"034","name":"Hrastnik","subdivision":null},{"code":"035","name":"Hrpelje-Kozina","subdivision":null},{"code":"036","name":"Idrija","subdivision":null},{"code":"037","name":"Ig","subdivision":null},{"code":"038","name":"Ilirska Bistrica","subdivision":null},{"code":"039","name":"Ivančna Gorica","subdivision":null},{"code":"040","name":"Izola","subdivision":null},{"code":"041","name":"Jesenice","subdivision":null},{"code":"163","name":"Jezersko","subdivision":null},{"code":"042","name":"Juršinci","subdivision":null},{"code":"043","name":"Kamnik","subdivision":null},{"code":"044","name":"Kanal","subdivision":null},{"code":"045","name":"Kidričevo","subdivision":null},{"code":"046","name":"Kobarid","subdivision":null},{"code":"047","name":"Kobilje","subdivision":null},{"code":"049","name":"Komen","subdivision":null},{"code":"164","name":"Komenda","subdivision":null},{"code":"050","name":"Koper","subdivision":null},{"code":"197","name":"Kosanjevica na Krki","subdivision":null},{"code":"165","name":"Kostel","subdivision":null},{"code":"051","name":"Kozje","subdivision":null},{"code":"048","name":"Kočevje","subdivision":null},{"code":"052","name":"Kranj","subdivision":null},{"code":"053","name":"Kranjska Gora","subdivision":null},{"code":"166","name":"Križevci","subdivision":null},{"code":"054","name":"Krško","subdivision":null},{"code":"055","name":"Kungota","subdivision":null},{"code":"056","name":"Kuzma","subdivision":null},{"code":"057","name":"Laško","subdivision":null},{"code":"058","name":"Lenart","subdivision":null},{"code":"059","name":"Lendava","subdivision":null},{"code":"060","name":"Litija","subdivision":null},{"code":"061","name":"Ljubljana","subdivision":null},{"code":"062","name":"Ljubno","subdivision":null},{"code":"063","name":"Ljutomer","subdivision":null},{"code":"208","name":"Log-Dragomer","subdivision":null},{"code":"064","name":"Logatec","subdivision":null},{"code":"167","name":"Lovrenc na Pohorju","subdivision":null},{"code":"065","name":"Loška Dolina","subdivision":null},{"code":"066","name":"Loški Potok","subdivision":null},{"code":"068","name":"Lukovica","subdivision":null},{"code":"067","name":"Luče","subdivision":null},{"code":"069","name":"Majšperk","subdivision":null},{"code":"198","name":"Makole","subdivision":null},{"code":"070","name":"Maribor","subdivision":null},{"code":"168","name":"Markovci","subdivision":null},{"code":"071","name":"Medvode","subdivision":null},{"code":"072","name":"Mengeš","subdivision":null},{"code":"073","name":"Metlika","subdivision":null},{"code":"074","name":"Mežica","subdivision":null},{"code":"169","name":"Miklavž na Dravskem Polju","subdivision":null},{"code":"075","name":"Miren–Kostanjevica","subdivision":null},{"code":"170","name":"Mirna Peč","subdivision":null},{"code":"076","name":"Mislinja","subdivision":null},{"code":"199","name":"Mokronog–Trebelno","subdivision":null},{"code":"078","name":"Moravske Toplice","subdivision":null},{"code":"077","name":"Moravče","subdivision":null},{"code":"079","name":"Mozirje","subdivision":null},{"code":"080","name":"Murska Sobota","subdivision":null},{"code":"081","name":"Muta","subdivision":null},{"code":"082","name":"Naklo","subdivision":null},{"code":"083","name":"Nazarje","subdivision":null},{"code":"084","name":"Nova Gorica","subdivision":null},{"code":"085","name":"Novo Mesto","subdivision":null},{"code":"086","name":"Odranci","subdivision":null},{"code":"171","name":"Oplotnica","subdivision":null},{"code":"087","name":"Ormož","subdivision":null},{"code":"088","name":"Osilnica","subdivision":null},{"code":"089","name":"Pesnica","subdivision":null},{"code":"090","name":"Piran","subdivision":null},{"code":"091","name":"Pivka","subdivision":null},{"code":"172","name":"Podlehnik","subdivision":null},{"code":"093","name":"Podvelka","subdivision":null},{"code":"092","name":"Podčetrtek","subdivision":null},{"code":"200","name":"Poljčane","subdivision":null},{"code":"173","name":"Polzela","subdivision":null},{"code":"094","name":"Postojna","subdivision":null},{"code":"174","name":"Prebold","subdivision":null},{"code":"095","name":"Preddvor","subdivision":null},{"code":"175","name":"Prevalje","subdivision":null},{"code":"096","name":"Ptuj","subdivision":null},{"code":"097","name":"Puconci","subdivision":null},{"code":"100","name":"Radenci","subdivision":null},{"code":"099","name":"Radeče","subdivision":null},{"code":"101","name":"Radlje ob Dravi","subdivision":null},{"code":"102","name":"Radovljica","subdivision":null},{"code":"103","name":"Ravne na Koroškem","subdivision":null},{"code":"176","name":"Razkrižje","subdivision":null},{"code":"098","name":"Rače–Fram","subdivision":null},{"code":"201","name":"Renče-Vogrsko","subdivision":null},{"code":"209","name":"Rečica ob Savinji","subdivision":null},{"code":"104","name":"Ribnica","subdivision":null},{"code":"177","name":"Ribnica na Pohorju","subdivision":null},{"code":"107","name":"Rogatec","subdivision":null},{"code":"106","name":"Rogaška Slatina","subdivision":null},{"code":"105","name":"Rogašovci","subdivision":null},{"code":"108","name":"Ruše","subdivision":null},{"code":"178","name":"Selnica ob Dravi","subdivision":null},{"code":"109","name":"Semič","subdivision":null},{"code":"110","name":"Sevnica","subdivision":null},{"code":"111","name":"Sežana","subdivision":null},{"code":"112","name":"Slovenj Gradec","subdivision":null},{"code":"113","name":"Slovenska Bistrica","subdivision":null},{"code":"114","name":"Slovenske Konjice","subdivision":null},{"code":"179","name":"Sodražica","subdivision":null},{"code":"180","name":"Solčava","subdivision":null},{"code":"202","name":"Središče ob Dravi","subdivision":null},{"code":"115","name":"Starše","subdivision":null},{"code":"203","name":"Straža","subdivision":null},{"code":"181","name":"Sveta Ana","subdivision":null},{"code":"204","name":"Sveta Trojica v Slovenskih Goricah","subdivision":null},{"code":"182","name":"Sveti Andraž v Slovenskih Goricah","subdivision":null},{"code":"116","name":"Sveti Jurij","subdivision":null},{"code":"210","name":"Sveti Jurij v Slovenskih Goricah","subdivision":null},{"code":"205","name":"Sveti Tomaž","subdivision":null},{"code":"184","name":"Tabor","subdivision":null},{"code":"010","name":"Tišina","subdivision":null},{"code":"128","name":"Tolmin","subdivision":null},{"code":"129","name":"Trbovlje","subdivision":null},{"code":"130","name":"Trebnje","subdivision":null},{"code":"185","name":"Trnovska Vas","subdivision":null},{"code":"186","name":"Trzin","subdivision":null},{"code":"131","name":"Tržič","subdivision":null},{"code":"132","name":"Turnišče","subdivision":null},{"code":"133","name":"Velenje","subdivision":null},{"code":"187","name":"Velika Polana","subdivision":null},{"code":"134","name":"Velike Lašče","subdivision":null},{"code":"188","name":"Veržej","subdivision":null},{"code":"135","name":"Videm","subdivision":null},{"code":"136","name":"Vipava","subdivision":null},{"code":"137","name":"Vitanje","subdivision":null},{"code":"138","name":"Vodice","subdivision":null},{"code":"139","name":"Vojnik","subdivision":null},{"code":"189","name":"Vransko","subdivision":null},{"code":"140","name":"Vrhnika","subdivision":null},{"code":"141","name":"Vuzenica","subdivision":null},{"code":"142","name":"Zagorje ob Savi","subdivision":null},{"code":"143","name":"Zavrč","subdivision":null},{"code":"144","name":"Zreče","subdivision":null},{"code":"015","name":"Črenšovci","subdivision":null},{"code":"016","name":"Črna na Koroškem","subdivision":null},{"code":"017","name":"Črnomelj","subdivision":null},{"code":"033","name":"Šalovci","subdivision":null},{"code":"183","name":"Šempeter–Vrtojba","subdivision":null},{"code":"118","name":"Šentilj","subdivision":null},{"code":"119","name":"Šentjernej","subdivision":null},{"code":"120","name":"Šentjur","subdivision":null},{"code":"211","name":"Šentrupert","subdivision":null},{"code":"117","name":"Šenčur","subdivision":null},{"code":"121","name":"Škocjan","subdivision":null},{"code":"122","name":"Škofja Loka","subdivision":null},{"code":"123","name":"Škofljica","subdivision":null},{"code":"124","name":"Šmarje pri Jelšah","subdivision":null},{"code":"206","name":"Šmarješke Toplice","subdivision":null},{"code":"125","name":"Šmartno ob Paki","subdivision":null},{"code":"194","name":"Šmartno pri Litiji","subdivision":null},{"code":"126","name":"Šoštanj","subdivision":null},{"code":"127","name":"Štore","subdivision":null},{"code":"190","name":"Žalec","subdivision":null},{"code":"146","name":"Železniki","subdivision":null},{"code":"191","name":"Žetale","subdivision":null},{"code":"147","name":"Žiri","subdivision":null},{"code":"192","name":"Žirovnica","subdivision":null},{"code":"193","name":"Žužemberk","subdivision":null}]},{"code2":"SB","code3":"SLB","name":"Solomon Islands","capital":"Honiara","region":"Oceania","subregion":"Melanesia","states":[{"code":"CT","name":"Capital Territory","subdivision":null},{"code":"CE","name":"Central","subdivision":null},{"code":"CH","name":"Choiseul","subdivision":null},{"code":"GU","name":"Guadalcanal","subdivision":null},{"code":"IS","name":"Isabel","subdivision":null},{"code":"MK","name":"Makira-Ulawa","subdivision":null},{"code":"ML","name":"Malaita","subdivision":null},{"code":"RB","name":"Rennell and Bellona","subdivision":null},{"code":"TE","name":"Temotu","subdivision":null},{"code":"WE","name":"Western","subdivision":null}]},{"code2":"SO","code3":"SOM","name":"Somalia","capital":"Mogadishu","region":"Africa","subregion":"Eastern Africa","states":[{"code":"AW","name":"Awdal","subdivision":null},{"code":"BK","name":"Bakool","subdivision":null},{"code":"BN","name":"Banaadir","subdivision":null},{"code":"BR","name":"Bari","subdivision":null},{"code":"BY","name":"Bay","subdivision":null},{"code":"GA","name":"Galguduud","subdivision":null},{"code":"GE","name":"Gedo","subdivision":null},{"code":"HI","name":"Hiiraan","subdivision":null},{"code":"JD","name":"Jubbada Dhexe","subdivision":null},{"code":"JH","name":"Jubbada Hoose","subdivision":null},{"code":"MU","name":"Mudug","subdivision":null},{"code":"NU","name":"Nugaal","subdivision":null},{"code":"SA","name":"Sanaag","subdivision":null},{"code":"SD","name":"Shabeellaha Dhexe","subdivision":null},{"code":"SH","name":"Shabeellaha Hoose","subdivision":null},{"code":"SO","name":"Sool","subdivision":null},{"code":"TO","name":"Togdheer","subdivision":null},{"code":"WO","name":"Woqooyi Galbeed","subdivision":null}]},{"code2":"ZA","code3":"ZAF","name":"South Africa","capital":"Pretoria","region":"Africa","subregion":"Southern Africa","states":[{"code":"EC","name":"Eastern Cape","subdivision":null},{"code":"FS","name":"Free State","subdivision":null},{"code":"GT","name":"Gauteng","subdivision":null},{"code":"NL","name":"KwaZulu-Natal","subdivision":null},{"code":"LP","name":"Limpopo","subdivision":null},{"code":"MP","name":"Mpumalanga","subdivision":null},{"code":"NW","name":"North West","subdivision":null},{"code":"NC","name":"Northern Cape","subdivision":null},{"code":"WC","name":"Western Cape","subdivision":null}]},{"code2":"GS","code3":"SGS","name":"South Georgia","capital":"King Edward Point","region":"Americas","subregion":"South America","states":[]},{"code2":"KR","code3":"KOR","name":"South Korea","capital":"Seoul","region":"Asia","subregion":"Eastern Asia","states":[{"code":"26","name":"Busan-gwangyeoksi","subdivision":null},{"code":"43","name":"Chungcheongbuk-do","subdivision":null},{"code":"44","name":"Chungcheongnam-do","subdivision":null},{"code":"27","name":"Daegu-gwangyeoksi","subdivision":null},{"code":"30","name":"Daejeon-gwangyeoksi","subdivision":null},{"code":"42","name":"Gangwon-do","subdivision":null},{"code":"29","name":"Gwangju-gwangyeoksi","subdivision":null},{"code":"41","name":"Gyeonggi-do","subdivision":null},{"code":"47","name":"Gyeongsangbuk-do","subdivision":null},{"code":"48","name":"Gyeongsangnam-do","subdivision":null},{"code":"28","name":"Incheon-gwangyeoksi","subdivision":null},{"code":"49","name":"Jeju-teukbyeoljachido","subdivision":null},{"code":"45","name":"Jeollabuk-do","subdivision":null},{"code":"46","name":"Jeollanam-do","subdivision":null},{"code":"50","name":"Sejong","subdivision":null},{"code":"11","name":"Seoul-teukbyeolsi","subdivision":null},{"code":"31","name":"Ulsan-gwangyeoksi","subdivision":null}]},{"code2":"SS","code3":"SSD","name":"South Sudan","capital":"Juba","region":"Africa","subregion":"Middle Africa","states":[{"code":"EC","name":"Central Equatoria","subdivision":null},{"code":"EE","name":"Eastern Equatoria","subdivision":null},{"code":"JG","name":"Jonglei","subdivision":null},{"code":"LK","name":"Lakes","subdivision":null},{"code":"BN","name":"Northern Bahr el Ghazal","subdivision":null},{"code":"UY","name":"Unity","subdivision":null},{"code":"NU","name":"Upper Nile","subdivision":null},{"code":"WR","name":"Warrap","subdivision":null},{"code":"BW","name":"Western Bahr el Ghazal","subdivision":null},{"code":"EW","name":"Western Equatoria","subdivision":null}]},{"code2":"ES","code3":"ESP","name":"Spain","capital":"Madrid","region":"Europe","subregion":"Southern Europe","states":[{"code":"C","name":"A Coruña","subdivision":"Province"},{"code":"AB","name":"Albacete","subdivision":"Province"},{"code":"A","name":"Alicante","subdivision":"Province"},{"code":"AL","name":"Almería","subdivision":"Province"},{"code":"O","name":"Asturias","subdivision":"Province"},{"code":"BA","name":"Badajoz","subdivision":"Province"},{"code":"PM","name":"Balears","subdivision":"Province"},{"code":"B","name":"Barcelona","subdivision":"Province"},{"code":"BU","name":"Burgos","subdivision":"Province"},{"code":"S","name":"Cantabria","subdivision":"Province"},{"code":"CS","name":"Castellón","subdivision":"Province"},{"code":"CR","name":"Ciudad Real","subdivision":"Province"},{"code":"CU","name":"Cuenca","subdivision":"Province"},{"code":"CC","name":"Cáceres","subdivision":"Province"},{"code":"CA","name":"Cádiz","subdivision":"Province"},{"code":"CO","name":"Córdoba","subdivision":"Province"},{"code":"GI","name":"Girona","subdivision":"Province"},{"code":"GR","name":"Granada","subdivision":"Province"},{"code":"GU","name":"Guadalajara","subdivision":"Province"},{"code":"SS","name":"Guipúzcoa","subdivision":"Province"},{"code":"H","name":"Huelva","subdivision":"Province"},{"code":"HU","name":"Huesca","subdivision":"Province"},{"code":"J","name":"Jaén","subdivision":"Province"},{"code":"LO","name":"La Rioja","subdivision":"Province"},{"code":"GC","name":"Las Palmas","subdivision":"Province"},{"code":"LE","name":"León","subdivision":"Province"},{"code":"L","name":"Lleida","subdivision":"Province"},{"code":"LU","name":"Lugo","subdivision":"Province"},{"code":"M","name":"Madrid","subdivision":"Province"},{"code":"MU","name":"Murcia","subdivision":"Province"},{"code":"MA","name":"Málaga","subdivision":"Province"},{"code":"NA","name":"Navarra","subdivision":"Province"},{"code":"OR","name":"Ourense","subdivision":"Province"},{"code":"P","name":"Palencia","subdivision":"Province"},{"code":"PO","name":"Pontevedra","subdivision":"Province"},{"code":"SA","name":"Salamanca","subdivision":"Province"},{"code":"TF","name":"Santa Cruz de Tenerife","subdivision":"Province"},{"code":"SG","name":"Segovia","subdivision":"Province"},{"code":"SE","name":"Sevilla","subdivision":"Province"},{"code":"SO","name":"Soria","subdivision":"Province"},{"code":"T","name":"Tarragona","subdivision":"Province"},{"code":"TE","name":"Teruel","subdivision":"Province"},{"code":"TO","name":"Toledo","subdivision":"Province"},{"code":"V","name":"Valencia","subdivision":"Province"},{"code":"VA","name":"Valladolid","subdivision":"Province"},{"code":"BI","name":"Vizcaya","subdivision":"Province"},{"code":"ZA","name":"Zamora","subdivision":"Province"},{"code":"Z","name":"Zaragoza","subdivision":"Province"},{"code":"VI","name":"Álava","subdivision":"Province"},{"code":"AV","name":"Ávila","subdivision":"Province"},{"code":"CE","name":"Ceuta","subdivision":"autonomous city in North Africa"},{"code":"ML","name":"Melilla","subdivision":"autonomous city in North Africa"},{"code":"AN","name":"Andalucía","subdivision":"autonomous community"},{"code":"AR","name":"Aragón","subdivision":"autonomous community"},{"code":"AS","name":"Asturias, Principado de","subdivision":"autonomous community"},{"code":"CN","name":"Canarias","subdivision":"autonomous community"},{"code":"CB","name":"Cantabria","subdivision":"autonomous community"},{"code":"CL","name":"Castilla y León","subdivision":"autonomous community"},{"code":"CM","name":"Castilla-La Mancha","subdivision":"autonomous community"},{"code":"CT","name":"Catalunya","subdivision":"autonomous community"},{"code":"EX","name":"Extremadura","subdivision":"autonomous community"},{"code":"GA","name":"Galicia","subdivision":"autonomous community"},{"code":"IB","name":"Illes Balears","subdivision":"autonomous community"},{"code":"RI","name":"La Rioja","subdivision":"autonomous community"},{"code":"MD","name":"Madrid, Comunidad de","subdivision":"autonomous community"},{"code":"MC","name":"Murcia, Región de","subdivision":"autonomous community"},{"code":"NC","name":"Navarra, Comunidad Foral de","subdivision":"autonomous community"},{"code":"PV","name":"País Vasco","subdivision":"autonomous community"},{"code":"VC","name":"Valenciana, Comunidad","subdivision":"autonomous community"}]},{"code2":"LK","code3":"LKA","name":"Sri Lanka","capital":"Colombo","region":"Asia","subregion":"Southern Asia","states":[{"code":"2","name":"Central Province","subdivision":null},{"code":"5","name":"Eastern Province","subdivision":null},{"code":"7","name":"North Central Province","subdivision":null},{"code":"6","name":"North Western Province","subdivision":null},{"code":"4","name":"Northern Province","subdivision":null},{"code":"9","name":"Sabaragamuwa Province","subdivision":null},{"code":"3","name":"Southern Province","subdivision":null},{"code":"8","name":"Uva Province","subdivision":null},{"code":"1","name":"Western Province","subdivision":null}]},{"code2":"SD","code3":"SDN","name":"Sudan","capital":"Khartoum","region":"Africa","subregion":"Northern Africa","states":[{"code":"RS","name":"Al Baḩr al Aḩmar","subdivision":null},{"code":"GZ","name":"Al Jazīrah","subdivision":null},{"code":"KH","name":"Al Kharţūm","subdivision":null},{"code":"GD","name":"Al Qaḑārif","subdivision":null},{"code":"NR","name":"An Nīl","subdivision":null},{"code":"NW","name":"An Nīl al Abyaḑ","subdivision":null},{"code":"NB","name":"An Nīl al Azraq","subdivision":null},{"code":"NO","name":"Ash Shamālīyah","subdivision":null},{"code":"DW","name":"Gharb Dārfūr","subdivision":null},{"code":"DS","name":"Janūb Dārfūr","subdivision":null},{"code":"KS","name":"Janūb Kurdufān","subdivision":null},{"code":"KA","name":"Kassalā","subdivision":null},{"code":"DN","name":"Shamāl Dārfūr","subdivision":null},{"code":"KN","name":"Shamāl Kurdufān","subdivision":null},{"code":"DE","name":"Sharq Dārfūr","subdivision":null},{"code":"SI","name":"Sinnār","subdivision":null},{"code":"DC","name":"Zalingei","subdivision":null}]},{"code2":"SR","code3":"SUR","name":"Suriname","capital":"Paramaribo","region":"Americas","subregion":"South America","states":[{"code":"BR","name":"Brokopondo","subdivision":null},{"code":"CM","name":"Commewijne","subdivision":null},{"code":"CR","name":"Coronie","subdivision":null},{"code":"MA","name":"Marowijne","subdivision":null},{"code":"NI","name":"Nickerie","subdivision":null},{"code":"PR","name":"Para","subdivision":null},{"code":"PM","name":"Paramaribo","subdivision":null},{"code":"SA","name":"Saramacca","subdivision":null},{"code":"SI","name":"Sipaliwini","subdivision":null},{"code":"WA","name":"Wanica","subdivision":null}]},{"code2":"SJ","code3":"SJM","name":"Svalbard and Jan Mayen","capital":"Longyearbyen","region":"Europe","subregion":"Northern Europe","states":[]},{"code2":"SZ","code3":"SWZ","name":"Swaziland","capital":"Lobamba","region":"Africa","subregion":"Southern Africa","states":[{"code":"HH","name":"Hhohho","subdivision":null},{"code":"LU","name":"Lubombo","subdivision":null},{"code":"MA","name":"Manzini","subdivision":null},{"code":"SH","name":"Shiselweni","subdivision":null}]},{"code2":"SE","code3":"SWE","name":"Sweden","capital":"Stockholm","region":"Europe","subregion":"Northern Europe","states":[{"code":"K","name":"Blekinge län","subdivision":null},{"code":"W","name":"Dalarnas län","subdivision":null},{"code":"I","name":"Gotlands län","subdivision":null},{"code":"X","name":"Gävleborgs län","subdivision":null},{"code":"N","name":"Hallands län","subdivision":null},{"code":"Z","name":"Jämtlands län","subdivision":null},{"code":"F","name":"Jönköpings län","subdivision":null},{"code":"H","name":"Kalmar län","subdivision":null},{"code":"G","name":"Kronobergs län","subdivision":null},{"code":"BD","name":"Norrbottens län","subdivision":null},{"code":"M","name":"Skåne län","subdivision":null},{"code":"AB","name":"Stockholms län","subdivision":null},{"code":"D","name":"Södermanlands län","subdivision":null},{"code":"C","name":"Uppsala län","subdivision":null},{"code":"S","name":"Värmlands län","subdivision":null},{"code":"AC","name":"Västerbottens län","subdivision":null},{"code":"Y","name":"Västernorrlands län","subdivision":null},{"code":"U","name":"Västmanlands län","subdivision":null},{"code":"O","name":"Västra Götalands län","subdivision":null},{"code":"T","name":"Örebro län","subdivision":null},{"code":"E","name":"Östergötlands län","subdivision":null}]},{"code2":"CH","code3":"CHE","name":"Switzerland","capital":"Bern","region":"Europe","subregion":"Western Europe","states":[{"code":"AG","name":"Aargau","subdivision":null},{"code":"AR","name":"Appenzell Ausserrhoden","subdivision":null},{"code":"AI","name":"Appenzell Innerrhoden","subdivision":null},{"code":"BL","name":"Basel-Landschaft","subdivision":null},{"code":"BS","name":"Basel-Stadt","subdivision":null},{"code":"BE","name":"Bern","subdivision":null},{"code":"FR","name":"Fribourg","subdivision":null},{"code":"GE","name":"Genève","subdivision":null},{"code":"GL","name":"Glarus","subdivision":null},{"code":"GR","name":"Graubünden","subdivision":null},{"code":"JU","name":"Jura","subdivision":null},{"code":"LU","name":"Luzern","subdivision":null},{"code":"NE","name":"Neuchâtel","subdivision":null},{"code":"NW","name":"Nidwalden","subdivision":null},{"code":"OW","name":"Obwalden","subdivision":null},{"code":"SG","name":"Sankt Gallen","subdivision":null},{"code":"SH","name":"Schaffhausen","subdivision":null},{"code":"SZ","name":"Schwyz","subdivision":null},{"code":"SO","name":"Solothurn","subdivision":null},{"code":"TG","name":"Thurgau","subdivision":null},{"code":"TI","name":"Ticino","subdivision":null},{"code":"UR","name":"Uri","subdivision":null},{"code":"VS","name":"Valais","subdivision":null},{"code":"VD","name":"Vaud","subdivision":null},{"code":"ZG","name":"Zug","subdivision":null},{"code":"ZH","name":"Zürich","subdivision":null}]},{"code2":"SY","code3":"SYR","name":"Syria","capital":"Damascus","region":"Asia","subregion":"Western Asia","states":[{"code":"LA","name":"Al Lādhiqīyah","subdivision":null},{"code":"QU","name":"Al Qunayţirah","subdivision":null},{"code":"HA","name":"Al Ḩasakah","subdivision":null},{"code":"RA","name":"Ar Raqqah","subdivision":null},{"code":"SU","name":"As Suwaydā'","subdivision":null},{"code":"DR","name":"Darٰā","subdivision":null},{"code":"DY","name":"Dayr az Zawr","subdivision":null},{"code":"DI","name":"Dimashq","subdivision":null},{"code":"ID","name":"Idlib","subdivision":null},{"code":"RD","name":"Rīf Dimashq","subdivision":null},{"code":"TA","name":"Ţarţūs","subdivision":null},{"code":"HL","name":"Ḩalab","subdivision":null},{"code":"HM","name":"Ḩamāh","subdivision":null},{"code":"HI","name":"Ḩimş","subdivision":null}]},{"code2":"TW","code3":"TWN","name":"Taiwan","capital":"Taipei","region":"Asia","subregion":"Eastern Asia","states":[{"code":"CHA","name":"Changhua","subdivision":null},{"code":"CYQ","name":"Chiayi","subdivision":null},{"code":"CYI","name":"Chiayi","subdivision":null},{"code":"HSZ","name":"Hsinchu","subdivision":null},{"code":"HSQ","name":"Hsinchu","subdivision":null},{"code":"HUA","name":"Hualien","subdivision":null},{"code":"ILA","name":"Ilan","subdivision":null},{"code":"KHQ","name":"Kaohsiung","subdivision":null},{"code":"KHH","name":"Kaohsiung","subdivision":null},{"code":"KEE","name":"Keelung","subdivision":null},{"code":"MIA","name":"Miaoli","subdivision":null},{"code":"NAN","name":"Nantou","subdivision":null},{"code":"PEN","name":"Penghu","subdivision":null},{"code":"PIF","name":"Pingtung","subdivision":null},{"code":"TXG","name":"Taichung","subdivision":null},{"code":"TXQ","name":"Taichung","subdivision":null},{"code":"TNN","name":"Tainan","subdivision":null},{"code":"TNQ","name":"Tainan","subdivision":null},{"code":"TPE","name":"Taipei","subdivision":null},{"code":"TPQ","name":"Taipei","subdivision":null},{"code":"TTT","name":"Taitung","subdivision":null},{"code":"TAO","name":"Taoyuan","subdivision":null},{"code":"YUN","name":"Yunlin","subdivision":null}]},{"code2":"TJ","code3":"TJK","name":"Tajikistan","capital":"Dushanbe","region":"Asia","subregion":"Central Asia","states":[{"code":"DU","name":"Dushanbe","subdivision":null},{"code":"KT","name":"Khatlon","subdivision":null},{"code":"GB","name":"Kŭhistoni Badakhshon","subdivision":null},{"code":"SU","name":"Sughd","subdivision":null}]},{"code2":"TZ","code3":"TZA","name":"Tanzania","capital":"Dodoma","region":"Africa","subregion":"Eastern Africa","states":[{"code":"01","name":"Arusha","subdivision":null},{"code":"02","name":"Dar es Salaam","subdivision":null},{"code":"03","name":"Dodoma","subdivision":null},{"code":"04","name":"Iringa","subdivision":null},{"code":"05","name":"Kagera","subdivision":null},{"code":"06","name":"Kaskazini Pemba","subdivision":null},{"code":"07","name":"Kaskazini Unguja","subdivision":null},{"code":"08","name":"Kigoma","subdivision":null},{"code":"09","name":"Kilimanjaro","subdivision":null},{"code":"10","name":"Kusini Pemba","subdivision":null},{"code":"11","name":"Kusini Unguja","subdivision":null},{"code":"12","name":"Lindi","subdivision":null},{"code":"26","name":"Manyara","subdivision":null},{"code":"13","name":"Mara","subdivision":null},{"code":"14","name":"Mbeya","subdivision":null},{"code":"15","name":"Mjini Magharibi","subdivision":null},{"code":"16","name":"Morogoro","subdivision":null},{"code":"17","name":"Mtwara","subdivision":null},{"code":"18","name":"Mwanza","subdivision":null},{"code":"19","name":"Pwani","subdivision":null},{"code":"20","name":"Rukwa","subdivision":null},{"code":"21","name":"Ruvuma","subdivision":null},{"code":"22","name":"Shinyanga","subdivision":null},{"code":"23","name":"Singida","subdivision":null},{"code":"24","name":"Tabora","subdivision":null},{"code":"25","name":"Tanga","subdivision":null}]},{"code2":"TH","code3":"THA","name":"Thailand","capital":"Bangkok","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"37","name":"Amnat Charoen","subdivision":null},{"code":"15","name":"Ang Thong","subdivision":null},{"code":"38","name":"Bueng Kan","subdivision":null},{"code":"31","name":"Buri Ram","subdivision":null},{"code":"24","name":"Chachoengsao","subdivision":null},{"code":"18","name":"Chai Nat","subdivision":null},{"code":"36","name":"Chaiyaphum","subdivision":null},{"code":"22","name":"Chanthaburi","subdivision":null},{"code":"50","name":"Chiang Mai","subdivision":null},{"code":"57","name":"Chiang Rai","subdivision":null},{"code":"20","name":"Chon Buri","subdivision":null},{"code":"86","name":"Chumphon","subdivision":null},{"code":"46","name":"Kalasin","subdivision":null},{"code":"62","name":"Kamphaeng Phet","subdivision":null},{"code":"71","name":"Kanchanaburi","subdivision":null},{"code":"40","name":"Khon Kaen","subdivision":null},{"code":"81","name":"Krabi","subdivision":null},{"code":"10","name":"Krung Thep Maha Nakhon","subdivision":null},{"code":"52","name":"Lampang","subdivision":null},{"code":"51","name":"Lamphun","subdivision":null},{"code":"42","name":"Loei","subdivision":null},{"code":"16","name":"Lop Buri","subdivision":null},{"code":"58","name":"Mae Hong Son","subdivision":null},{"code":"44","name":"Maha Sarakham","subdivision":null},{"code":"49","name":"Mukdahan","subdivision":null},{"code":"26","name":"Nakhon Nayok","subdivision":null},{"code":"73","name":"Nakhon Pathom","subdivision":null},{"code":"48","name":"Nakhon Phanom","subdivision":null},{"code":"30","name":"Nakhon Ratchasima","subdivision":null},{"code":"60","name":"Nakhon Sawan","subdivision":null},{"code":"80","name":"Nakhon Si Thammarat","subdivision":null},{"code":"55","name":"Nan","subdivision":null},{"code":"96","name":"Narathiwat","subdivision":null},{"code":"39","name":"Nong Bua Lam Phu","subdivision":null},{"code":"43","name":"Nong Khai","subdivision":null},{"code":"12","name":"Nonthaburi","subdivision":null},{"code":"13","name":"Pathum Thani","subdivision":null},{"code":"94","name":"Pattani","subdivision":null},{"code":"82","name":"Phangnga","subdivision":null},{"code":"93","name":"Phatthalung","subdivision":null},{"code":"S","name":"Phatthaya","subdivision":null},{"code":"56","name":"Phayao","subdivision":null},{"code":"67","name":"Phetchabun","subdivision":null},{"code":"76","name":"Phetchaburi","subdivision":null},{"code":"66","name":"Phichit","subdivision":null},{"code":"65","name":"Phitsanulok","subdivision":null},{"code":"14","name":"Phra Nakhon Si Ayutthaya","subdivision":null},{"code":"54","name":"Phrae","subdivision":null},{"code":"83","name":"Phuket","subdivision":null},{"code":"25","name":"Prachin Buri","subdivision":null},{"code":"77","name":"Prachuap Khiri Khan","subdivision":null},{"code":"85","name":"Ranong","subdivision":null},{"code":"70","name":"Ratchaburi","subdivision":null},{"code":"21","name":"Rayong","subdivision":null},{"code":"45","name":"Roi Et","subdivision":null},{"code":"27","name":"Sa Kaeo","subdivision":null},{"code":"47","name":"Sakon Nakhon","subdivision":null},{"code":"11","name":"Samut Prakan","subdivision":null},{"code":"74","name":"Samut Sakhon","subdivision":null},{"code":"75","name":"Samut Songkhram","subdivision":null},{"code":"19","name":"Saraburi","subdivision":null},{"code":"91","name":"Satun","subdivision":null},{"code":"33","name":"Si Sa Ket","subdivision":null},{"code":"17","name":"Sing Buri","subdivision":null},{"code":"90","name":"Songkhla","subdivision":null},{"code":"64","name":"Sukhothai","subdivision":null},{"code":"72","name":"Suphan Buri","subdivision":null},{"code":"84","name":"Surat Thani","subdivision":null},{"code":"32","name":"Surin","subdivision":null},{"code":"63","name":"Tak","subdivision":null},{"code":"92","name":"Trang","subdivision":null},{"code":"23","name":"Trat","subdivision":null},{"code":"34","name":"Ubon Ratchathani","subdivision":null},{"code":"41","name":"Udon Thani","subdivision":null},{"code":"61","name":"Uthai Thani","subdivision":null},{"code":"53","name":"Uttaradit","subdivision":null},{"code":"95","name":"Yala","subdivision":null},{"code":"35","name":"Yasothon","subdivision":null}]},{"code2":"TL","code3":"TLS","name":"East Timor","capital":"Dili","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"AL","name":"Aileu","subdivision":null},{"code":"AN","name":"Ainaro","subdivision":null},{"code":"BA","name":"Baucau","subdivision":null},{"code":"BO","name":"Bobonaro","subdivision":null},{"code":"CO","name":"Cova Lima","subdivision":null},{"code":"DI","name":"Díli","subdivision":null},{"code":"ER","name":"Ermera","subdivision":null},{"code":"LA","name":"Lautem","subdivision":null},{"code":"LI","name":"Liquiça","subdivision":null},{"code":"MT","name":"Manatuto","subdivision":null},{"code":"MF","name":"Manufahi","subdivision":null},{"code":"OE","name":"Oecussi","subdivision":null},{"code":"VI","name":"Viqueque","subdivision":null}]},{"code2":"TG","code3":"TGO","name":"Togo","capital":"Lomé","region":"Africa","subregion":"Western Africa","states":[{"code":"C","name":"Centre","subdivision":null},{"code":"K","name":"Kara","subdivision":null},{"code":"M","name":"Maritime","subdivision":null},{"code":"P","name":"Plateaux","subdivision":null},{"code":"S","name":"Savannes","subdivision":null}]},{"code2":"TK","code3":"TKL","name":"Tokelau","capital":"Fakaofo","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"TO","code3":"TON","name":"Tonga","capital":"Nuku'alofa","region":"Oceania","subregion":"Polynesia","states":[{"code":"01","name":"'Eua","subdivision":null},{"code":"02","name":"Ha'apai","subdivision":null},{"code":"03","name":"Niuas","subdivision":null},{"code":"04","name":"Tongatapu","subdivision":null},{"code":"05","name":"Vava'u","subdivision":null}]},{"code2":"TT","code3":"TTO","name":"Trinidad and Tobago","capital":"Port of Spain","region":"Americas","subregion":"Caribbean","states":[{"code":"ARI","name":"Arima","subdivision":null},{"code":"CHA","name":"Chaguanas","subdivision":null},{"code":"CTT","name":"Couva-Tabaquite-Talparo","subdivision":null},{"code":"DMN","name":"Diego Martin","subdivision":null},{"code":"ETO","name":"Eastern Tobago","subdivision":null},{"code":"PED","name":"Penal-Debe","subdivision":null},{"code":"PTF","name":"Point Fortin","subdivision":null},{"code":"POS","name":"Port of Spain","subdivision":null},{"code":"PRT","name":"Princes Town","subdivision":null},{"code":"RCM","name":"Rio Claro-Mayaro","subdivision":null},{"code":"SFO","name":"San Fernando","subdivision":null},{"code":"SJL","name":"San Juan-Laventille","subdivision":null},{"code":"SGE","name":"Sangre Grande","subdivision":null},{"code":"SIP","name":"Siparia","subdivision":null},{"code":"TUP","name":"Tunapuna-Piarco","subdivision":null},{"code":"WTO","name":"Western Tobago","subdivision":null}]},{"code2":"TN","code3":"TUN","name":"Tunisia","capital":"Tunis","region":"Africa","subregion":"Northern Africa","states":[{"code":"12","name":"Ariana","subdivision":null},{"code":"13","name":"Ben Arous","subdivision":null},{"code":"23","name":"Bizerte","subdivision":null},{"code":"31","name":"Béja","subdivision":null},{"code":"81","name":"Gabès","subdivision":null},{"code":"71","name":"Gafsa","subdivision":null},{"code":"32","name":"Jendouba","subdivision":null},{"code":"41","name":"Kairouan","subdivision":null},{"code":"42","name":"Kasserine","subdivision":null},{"code":"73","name":"Kebili","subdivision":null},{"code":"14","name":"La Manouba","subdivision":null},{"code":"33","name":"Le Kef","subdivision":null},{"code":"53","name":"Mahdia","subdivision":null},{"code":"82","name":"Medenine","subdivision":null},{"code":"52","name":"Monastir","subdivision":null},{"code":"21","name":"Nabeul","subdivision":null},{"code":"61","name":"Sfax","subdivision":null},{"code":"43","name":"Sidi Bouzid","subdivision":null},{"code":"34","name":"Siliana","subdivision":null},{"code":"51","name":"Sousse","subdivision":null},{"code":"83","name":"Tataouine","subdivision":null},{"code":"72","name":"Tozeur","subdivision":null},{"code":"11","name":"Tunis","subdivision":null},{"code":"22","name":"Zaghouan","subdivision":null}]},{"code2":"TR","code3":"TUR","name":"Turkey","capital":"Ankara","region":"Asia","subregion":"Western Asia","states":[{"code":"01","name":"Adana","subdivision":null},{"code":"02","name":"Adıyaman","subdivision":null},{"code":"03","name":"Afyonkarahisar","subdivision":null},{"code":"68","name":"Aksaray","subdivision":null},{"code":"05","name":"Amasya","subdivision":null},{"code":"06","name":"Ankara","subdivision":null},{"code":"07","name":"Antalya","subdivision":null},{"code":"75","name":"Ardahan","subdivision":null},{"code":"08","name":"Artvin","subdivision":null},{"code":"09","name":"Aydın","subdivision":null},{"code":"04","name":"Ağrı","subdivision":null},{"code":"10","name":"Balıkesir","subdivision":null},{"code":"74","name":"Bartın","subdivision":null},{"code":"72","name":"Batman","subdivision":null},{"code":"69","name":"Bayburt","subdivision":null},{"code":"11","name":"Bilecik","subdivision":null},{"code":"12","name":"Bingöl","subdivision":null},{"code":"13","name":"Bitlis","subdivision":null},{"code":"14","name":"Bolu","subdivision":null},{"code":"15","name":"Burdur","subdivision":null},{"code":"16","name":"Bursa","subdivision":null},{"code":"20","name":"Denizli","subdivision":null},{"code":"21","name":"Diyarbakır","subdivision":null},{"code":"81","name":"Düzce","subdivision":null},{"code":"22","name":"Edirne","subdivision":null},{"code":"23","name":"Elazığ","subdivision":null},{"code":"24","name":"Erzincan","subdivision":null},{"code":"25","name":"Erzurum","subdivision":null},{"code":"26","name":"Eskişehir","subdivision":null},{"code":"27","name":"Gaziantep","subdivision":null},{"code":"28","name":"Giresun","subdivision":null},{"code":"29","name":"Gümüşhane","subdivision":null},{"code":"30","name":"Hakkâri","subdivision":null},{"code":"31","name":"Hatay","subdivision":null},{"code":"32","name":"Isparta","subdivision":null},{"code":"76","name":"Iğdır","subdivision":null},{"code":"46","name":"Kahramanmaraş","subdivision":null},{"code":"78","name":"Karabük","subdivision":null},{"code":"70","name":"Karaman","subdivision":null},{"code":"36","name":"Kars","subdivision":null},{"code":"37","name":"Kastamonu","subdivision":null},{"code":"38","name":"Kayseri","subdivision":null},{"code":"79","name":"Kilis","subdivision":null},{"code":"41","name":"Kocaeli","subdivision":null},{"code":"42","name":"Konya","subdivision":null},{"code":"43","name":"Kütahya","subdivision":null},{"code":"39","name":"Kırklareli","subdivision":null},{"code":"71","name":"Kırıkkale","subdivision":null},{"code":"40","name":"Kırşehir","subdivision":null},{"code":"44","name":"Malatya","subdivision":null},{"code":"45","name":"Manisa","subdivision":null},{"code":"47","name":"Mardin","subdivision":null},{"code":"33","name":"Mersin","subdivision":null},{"code":"48","name":"Muğla","subdivision":null},{"code":"49","name":"Muş","subdivision":null},{"code":"50","name":"Nevşehir","subdivision":null},{"code":"51","name":"Niğde","subdivision":null},{"code":"52","name":"Ordu","subdivision":null},{"code":"80","name":"Osmaniye","subdivision":null},{"code":"53","name":"Rize","subdivision":null},{"code":"54","name":"Sakarya","subdivision":null},{"code":"55","name":"Samsun","subdivision":null},{"code":"56","name":"Siirt","subdivision":null},{"code":"57","name":"Sinop","subdivision":null},{"code":"58","name":"Sivas","subdivision":null},{"code":"59","name":"Tekirdağ","subdivision":null},{"code":"60","name":"Tokat","subdivision":null},{"code":"61","name":"Trabzon","subdivision":null},{"code":"62","name":"Tunceli","subdivision":null},{"code":"64","name":"Uşak","subdivision":null},{"code":"65","name":"Van","subdivision":null},{"code":"77","name":"Yalova","subdivision":null},{"code":"66","name":"Yozgat","subdivision":null},{"code":"67","name":"Zonguldak","subdivision":null},{"code":"17","name":"Çanakkale","subdivision":null},{"code":"18","name":"Çankırı","subdivision":null},{"code":"19","name":"Çorum","subdivision":null},{"code":"34","name":"İstanbul","subdivision":null},{"code":"35","name":"İzmir","subdivision":null},{"code":"63","name":"Şanlıurfa","subdivision":null},{"code":"73","name":"Şırnak","subdivision":null}]},{"code2":"TM","code3":"TKM","name":"Turkmenistan","capital":"Ashgabat","region":"Asia","subregion":"Central Asia","states":[{"code":"A","name":"Ahal","subdivision":null},{"code":"S","name":"Aşgabat","subdivision":null},{"code":"B","name":"Balkan","subdivision":null},{"code":"D","name":"Daşoguz","subdivision":null},{"code":"L","name":"Lebap","subdivision":null},{"code":"M","name":"Mary","subdivision":null}]},{"code2":"TC","code3":"TCA","name":"Turks and Caicos Islands","capital":"Cockburn Town","region":"Americas","subregion":"Caribbean","states":[]},{"code2":"TV","code3":"TUV","name":"Tuvalu","capital":"Funafuti","region":"Oceania","subregion":"Polynesia","states":[{"code":"FUN","name":"Funafuti","subdivision":null},{"code":"NMG","name":"Nanumanga","subdivision":null},{"code":"NMA","name":"Nanumea","subdivision":null},{"code":"NIT","name":"Niutao","subdivision":null},{"code":"NUI","name":"Nui","subdivision":null},{"code":"NKF","name":"Nukufetau","subdivision":null},{"code":"NKL","name":"Nukulaelae","subdivision":null},{"code":"VAI","name":"Vaitupu","subdivision":null}]},{"code2":"UG","code3":"UGA","name":"Uganda","capital":"Kampala","region":"Africa","subregion":"Eastern Africa","states":[{"code":"C","name":"Central","subdivision":null},{"code":"E","name":"Eastern","subdivision":null},{"code":"N","name":"Northern","subdivision":null},{"code":"W","name":"Western","subdivision":null}]},{"code2":"UA","code3":"UKR","name":"Ukraine","capital":"Kiev","region":"Europe","subregion":"Eastern Europe","states":[{"code":"43","name":"Avtonomna Respublika Krym","subdivision":null},{"code":"71","name":"Cherkas'ka Oblast'","subdivision":null},{"code":"74","name":"Chernihivs'ka Oblast'","subdivision":null},{"code":"77","name":"Chernivets'ka Oblast'","subdivision":null},{"code":"12","name":"Dnipropetrovs'ka Oblast'","subdivision":null},{"code":"14","name":"Donets'ka Oblast'","subdivision":null},{"code":"26","name":"Ivano-Frankivs'ka Oblast'","subdivision":null},{"code":"63","name":"Kharkivs'ka Oblast'","subdivision":null},{"code":"65","name":"Khersons'ka Oblast'","subdivision":null},{"code":"68","name":"Khmel'nyts'ka Oblast'","subdivision":null},{"code":"35","name":"Kirovohrads'ka Oblast'","subdivision":null},{"code":"30","name":"Kyïv","subdivision":null},{"code":"32","name":"Kyïvs'ka Oblast'","subdivision":null},{"code":"46","name":"L'vivs'ka Oblast'","subdivision":null},{"code":"09","name":"Luhans'ka Oblast'","subdivision":null},{"code":"48","name":"Mykolaïvs'ka Oblast'","subdivision":null},{"code":"51","name":"Odes'ka Oblast'","subdivision":null},{"code":"53","name":"Poltavs'ka Oblast'","subdivision":null},{"code":"56","name":"Rivnens'ka Oblast'","subdivision":null},{"code":"40","name":"Sevastopol'","subdivision":null},{"code":"59","name":"Sums'ka Oblast'","subdivision":null},{"code":"61","name":"Ternopil's'ka Oblast'","subdivision":null},{"code":"05","name":"Vinnyts'ka Oblast'","subdivision":null},{"code":"07","name":"Volyns'ka Oblast'","subdivision":null},{"code":"21","name":"Zakarpats'ka Oblast'","subdivision":null},{"code":"23","name":"Zaporiz'ka Oblast'","subdivision":null},{"code":"18","name":"Zhytomyrs'ka Oblast'","subdivision":null}]},{"code2":"AE","code3":"ARE","name":"United Arab Emirates","capital":"Abu Dhabi","region":"Asia","subregion":"Western Asia","states":[{"code":"AJ","name":"'Ajmān","subdivision":null},{"code":"AZ","name":"Abū Z̧aby","subdivision":null},{"code":"FU","name":"Al Fujayrah","subdivision":null},{"code":"SH","name":"Ash Shāriqah","subdivision":null},{"code":"DU","name":"Dubayy","subdivision":null},{"code":"RK","name":"Ra's al Khaymah","subdivision":null},{"code":"UQ","name":"Umm al Qaywayn","subdivision":null}]},{"code2":"GB","code3":"GBR","name":"United Kingdom","capital":"London","region":"Europe","subregion":"Northern Europe","states":[{"code":"BDG","name":"Barking and Dagenham","subdivision":"London borough"},{"code":"BNE","name":"Barnet","subdivision":"London borough"},{"code":"BEX","name":"Bexley","subdivision":"London borough"},{"code":"BEN","name":"Brent","subdivision":"London borough"},{"code":"BRY","name":"Bromley","subdivision":"London borough"},{"code":"CMD","name":"Camden","subdivision":"London borough"},{"code":"CRY","name":"Croydon","subdivision":"London borough"},{"code":"EAL","name":"Ealing","subdivision":"London borough"},{"code":"ENF","name":"Enfield","subdivision":"London borough"},{"code":"GRE","name":"Greenwich","subdivision":"London borough"},{"code":"HCK","name":"Hackney","subdivision":"London borough"},{"code":"HMF","name":"Hammersmith and Fulham","subdivision":"London borough"},{"code":"HRY","name":"Haringey","subdivision":"London borough"},{"code":"HRW","name":"Harrow","subdivision":"London borough"},{"code":"HAV","name":"Havering","subdivision":"London borough"},{"code":"HIL","name":"Hillingdon","subdivision":"London borough"},{"code":"HNS","name":"Hounslow","subdivision":"London borough"},{"code":"ISL","name":"Islington","subdivision":"London borough"},{"code":"KEC","name":"Kensington and Chelsea","subdivision":"London borough"},{"code":"KTT","name":"Kingston upon Thames","subdivision":"London borough"},{"code":"LBH","name":"Lambeth","subdivision":"London borough"},{"code":"LEW","name":"Lewisham","subdivision":"London borough"},{"code":"MRT","name":"Merton","subdivision":"London borough"},{"code":"NWM","name":"Newham","subdivision":"London borough"},{"code":"RDB","name":"Redbridge","subdivision":"London borough"},{"code":"RIC","name":"Richmond upon Thames","subdivision":"London borough"},{"code":"SWK","name":"Southwark","subdivision":"London borough"},{"code":"STN","name":"Sutton","subdivision":"London borough"},{"code":"TWH","name":"Tower Hamlets","subdivision":"London borough"},{"code":"WFT","name":"Waltham Forest","subdivision":"London borough"},{"code":"WND","name":"Wandsworth","subdivision":"London borough"},{"code":"WSM","name":"Westminster","subdivision":"London borough"},{"code":"EAW","name":"England and Wales","subdivision":"Nation"},{"code":"GBN","name":"Great Britain","subdivision":"Nation"},{"code":"UKM","name":"United Kingdom","subdivision":"Nation"},{"code":"LND","name":"London, City of","subdivision":"city corporation"},{"code":"ABE","name":"Aberdeen City","subdivision":"council area"},{"code":"ABD","name":"Aberdeenshire","subdivision":"council area"},{"code":"ANS","name":"Angus","subdivision":"council area"},{"code":"AGB","name":"Argyll and Bute","subdivision":"council area"},{"code":"CLK","name":"Clackmannanshire","subdivision":"council area"},{"code":"DGY","name":"Dumfries and Galloway","subdivision":"council area"},{"code":"DND","name":"Dundee City","subdivision":"council area"},{"code":"EAY","name":"East Ayrshire","subdivision":"council area"},{"code":"EDU","name":"East Dunbartonshire","subdivision":"council area"},{"code":"ELN","name":"East Lothian","subdivision":"council area"},{"code":"ERW","name":"East Renfrewshire","subdivision":"council area"},{"code":"EDH","name":"Edinburgh, City of","subdivision":"council area"},{"code":"ELS","name":"Eilean Siar","subdivision":"council area"},{"code":"FAL","name":"Falkirk","subdivision":"council area"},{"code":"FIF","name":"Fife","subdivision":"council area"},{"code":"GLG","name":"Glasgow City","subdivision":"council area"},{"code":"HLD","name":"Highland","subdivision":"council area"},{"code":"IVC","name":"Inverclyde","subdivision":"council area"},{"code":"MLN","name":"Midlothian","subdivision":"council area"},{"code":"MRY","name":"Moray","subdivision":"council area"},{"code":"NAY","name":"North Ayrshire","subdivision":"council area"},{"code":"NLK","name":"North Lanarkshire","subdivision":"council area"},{"code":"ORK","name":"Orkney Islands","subdivision":"council area"},{"code":"PKN","name":"Perth and Kinross","subdivision":"council area"},{"code":"RFW","name":"Renfrewshire","subdivision":"council area"},{"code":"SCB","name":"Scottish Borders, The","subdivision":"council area"},{"code":"ZET","name":"Shetland Islands","subdivision":"council area"},{"code":"SAY","name":"South Ayrshire","subdivision":"council area"},{"code":"SLK","name":"South Lanarkshire","subdivision":"council area"},{"code":"STG","name":"Stirling","subdivision":"council area"},{"code":"WDU","name":"West Dunbartonshire","subdivision":"council area"},{"code":"WLN","name":"West Lothian","subdivision":"council area"},{"code":"ENG","name":"England","subdivision":"country"},{"code":"SCT","name":"Scotland","subdivision":"country"},{"code":"WLS","name":"Wales","subdivision":"country"},{"code":"ANT","name":"Antrim","subdivision":"district council area"},{"code":"ARD","name":"Ards","subdivision":"district council area"},{"code":"ARM","name":"Armagh","subdivision":"district council area"},{"code":"BLA","name":"Ballymena","subdivision":"district council area"},{"code":"BLY","name":"Ballymoney","subdivision":"district council area"},{"code":"BNB","name":"Banbridge","subdivision":"district council area"},{"code":"BFS","name":"Belfast","subdivision":"district council area"},{"code":"CKF","name":"Carrickfergus","subdivision":"district council area"},{"code":"CSR","name":"Castlereagh","subdivision":"district council area"},{"code":"CLR","name":"Coleraine","subdivision":"district council area"},{"code":"CKT","name":"Cookstown","subdivision":"district council area"},{"code":"CGV","name":"Craigavon","subdivision":"district council area"},{"code":"DRY","name":"Derry","subdivision":"district council area"},{"code":"DOW","name":"Down","subdivision":"district council area"},{"code":"DGN","name":"Dungannon and South Tyrone","subdivision":"district council area"},{"code":"FER","name":"Fermanagh","subdivision":"district council area"},{"code":"LRN","name":"Larne","subdivision":"district council area"},{"code":"LMV","name":"Limavady","subdivision":"district council area"},{"code":"LSB","name":"Lisburn","subdivision":"district council area"},{"code":"MFT","name":"Magherafelt","subdivision":"district council area"},{"code":"MYL","name":"Moyle","subdivision":"district council area"},{"code":"NYM","name":"Newry and Mourne District","subdivision":"district council area"},{"code":"NTA","name":"Newtownabbey","subdivision":"district council area"},{"code":"NDN","name":"North Down","subdivision":"district council area"},{"code":"OMH","name":"Omagh","subdivision":"district council area"},{"code":"STB","name":"Strabane","subdivision":"district council area"},{"code":"BNS","name":"Barnsley","subdivision":"metropolitan district"},{"code":"BIR","name":"Birmingham","subdivision":"metropolitan district"},{"code":"BOL","name":"Bolton","subdivision":"metropolitan district"},{"code":"BRD","name":"Bradford","subdivision":"metropolitan district"},{"code":"BUR","name":"Bury","subdivision":"metropolitan district"},{"code":"CLD","name":"Calderdale","subdivision":"metropolitan district"},{"code":"COV","name":"Coventry","subdivision":"metropolitan district"},{"code":"DNC","name":"Doncaster","subdivision":"metropolitan district"},{"code":"DUD","name":"Dudley","subdivision":"metropolitan district"},{"code":"GAT","name":"Gateshead","subdivision":"metropolitan district"},{"code":"KIR","name":"Kirklees","subdivision":"metropolitan district"},{"code":"KWL","name":"Knowsley","subdivision":"metropolitan district"},{"code":"LDS","name":"Leeds","subdivision":"metropolitan district"},{"code":"LIV","name":"Liverpool","subdivision":"metropolitan district"},{"code":"MAN","name":"Manchester","subdivision":"metropolitan district"},{"code":"NET","name":"Newcastle upon Tyne","subdivision":"metropolitan district"},{"code":"NTY","name":"North Tyneside","subdivision":"metropolitan district"},{"code":"OLD","name":"Oldham","subdivision":"metropolitan district"},{"code":"RCH","name":"Rochdale","subdivision":"metropolitan district"},{"code":"ROT","name":"Rotherham","subdivision":"metropolitan district"},{"code":"SLF","name":"Salford","subdivision":"metropolitan district"},{"code":"SAW","name":"Sandwell","subdivision":"metropolitan district"},{"code":"SFT","name":"Sefton","subdivision":"metropolitan district"},{"code":"SHF","name":"Sheffield","subdivision":"metropolitan district"},{"code":"SOL","name":"Solihull","subdivision":"metropolitan district"},{"code":"STY","name":"South Tyneside","subdivision":"metropolitan district"},{"code":"SHN","name":"St. Helens","subdivision":"metropolitan district"},{"code":"SKP","name":"Stockport","subdivision":"metropolitan district"},{"code":"SND","name":"Sunderland","subdivision":"metropolitan district"},{"code":"TAM","name":"Tameside","subdivision":"metropolitan district"},{"code":"TRF","name":"Trafford","subdivision":"metropolitan district"},{"code":"WKF","name":"Wakefield","subdivision":"metropolitan district"},{"code":"WLL","name":"Walsall","subdivision":"metropolitan district"},{"code":"WGN","name":"Wigan","subdivision":"metropolitan district"},{"code":"WRL","name":"Wirral","subdivision":"metropolitan district"},{"code":"WLV","name":"Wolverhampton","subdivision":"metropolitan district"},{"code":"NIR","name":"Northern Ireland","subdivision":"province"},{"code":"BKM","name":"Buckinghamshire","subdivision":"two-tier county"},{"code":"CAM","name":"Cambridgeshire","subdivision":"two-tier county"},{"code":"CMA","name":"Cumbria","subdivision":"two-tier county"},{"code":"DBY","name":"Derbyshire","subdivision":"two-tier county"},{"code":"DEV","name":"Devon","subdivision":"two-tier county"},{"code":"DOR","name":"Dorset","subdivision":"two-tier county"},{"code":"ESX","name":"East Sussex","subdivision":"two-tier county"},{"code":"ESS","name":"Essex","subdivision":"two-tier county"},{"code":"GLS","name":"Gloucestershire","subdivision":"two-tier county"},{"code":"HAM","name":"Hampshire","subdivision":"two-tier county"},{"code":"HRT","name":"Hertfordshire","subdivision":"two-tier county"},{"code":"KEN","name":"Kent","subdivision":"two-tier county"},{"code":"LAN","name":"Lancashire","subdivision":"two-tier county"},{"code":"LEC","name":"Leicestershire","subdivision":"two-tier county"},{"code":"LIN","name":"Lincolnshire","subdivision":"two-tier county"},{"code":"NFK","name":"Norfolk","subdivision":"two-tier county"},{"code":"NYK","name":"North Yorkshire","subdivision":"two-tier county"},{"code":"NTH","name":"Northamptonshire","subdivision":"two-tier county"},{"code":"NTT","name":"Nottinghamshire","subdivision":"two-tier county"},{"code":"OXF","name":"Oxfordshire","subdivision":"two-tier county"},{"code":"SOM","name":"Somerset","subdivision":"two-tier county"},{"code":"STS","name":"Staffordshire","subdivision":"two-tier county"},{"code":"SFK","name":"Suffolk","subdivision":"two-tier county"},{"code":"SRY","name":"Surrey","subdivision":"two-tier county"},{"code":"WAR","name":"Warwickshire","subdivision":"two-tier county"},{"code":"WSX","name":"West Sussex","subdivision":"two-tier county"},{"code":"WOR","name":"Worcestershire","subdivision":"two-tier county"},{"code":"BAS","name":"Bath and North East Somerset","subdivision":"unitary authority"},{"code":"BDF","name":"Bedford","subdivision":"unitary authority"},{"code":"BBD","name":"Blackburn with Darwen","subdivision":"unitary authority"},{"code":"BPL","name":"Blackpool","subdivision":"unitary authority"},{"code":"BGW","name":"Blaenau Gwent","subdivision":"unitary authority"},{"code":"BMH","name":"Bournemouth","subdivision":"unitary authority"},{"code":"BRC","name":"Bracknell Forest","subdivision":"unitary authority"},{"code":"BGE","name":"Bridgend","subdivision":"unitary authority"},{"code":"BNH","name":"Brighton and Hove","subdivision":"unitary authority"},{"code":"BST","name":"Bristol, City of","subdivision":"unitary authority"},{"code":"CAY","name":"Caerphilly","subdivision":"unitary authority"},{"code":"CRF","name":"Cardiff","subdivision":"unitary authority"},{"code":"CMN","name":"Carmarthenshire","subdivision":"unitary authority"},{"code":"CBF","name":"Central Bedfordshire","subdivision":"unitary authority"},{"code":"CGN","name":"Ceredigion","subdivision":"unitary authority"},{"code":"CHE","name":"Cheshire East","subdivision":"unitary authority"},{"code":"CHW","name":"Cheshire West and Chester","subdivision":"unitary authority"},{"code":"CWY","name":"Conwy","subdivision":"unitary authority"},{"code":"CON","name":"Cornwall","subdivision":"unitary authority"},{"code":"DAL","name":"Darlington","subdivision":"unitary authority"},{"code":"DEN","name":"Denbighshire","subdivision":"unitary authority"},{"code":"DER","name":"Derby","subdivision":"unitary authority"},{"code":"DUR","name":"Durham, County","subdivision":"unitary authority"},{"code":"ERY","name":"East Riding of Yorkshire","subdivision":"unitary authority"},{"code":"FLN","name":"Flintshire","subdivision":"unitary authority"},{"code":"GWN","name":"Gwynedd","subdivision":"unitary authority"},{"code":"HAL","name":"Halton","subdivision":"unitary authority"},{"code":"HPL","name":"Hartlepool","subdivision":"unitary authority"},{"code":"HEF","name":"Herefordshire","subdivision":"unitary authority"},{"code":"AGY","name":"Isle of Anglesey","subdivision":"unitary authority"},{"code":"IOW","name":"Isle of Wight","subdivision":"unitary authority"},{"code":"IOS","name":"Isles of Scilly","subdivision":"unitary authority"},{"code":"KHL","name":"Kingston upon Hull","subdivision":"unitary authority"},{"code":"LCE","name":"Leicester","subdivision":"unitary authority"},{"code":"LUT","name":"Luton","subdivision":"unitary authority"},{"code":"MDW","name":"Medway","subdivision":"unitary authority"},{"code":"MTY","name":"Merthyr Tydfil","subdivision":"unitary authority"},{"code":"MDB","name":"Middlesbrough","subdivision":"unitary authority"},{"code":"MIK","name":"Milton Keynes","subdivision":"unitary authority"},{"code":"MON","name":"Monmouthshire","subdivision":"unitary authority"},{"code":"NTL","name":"Neath Port Talbot","subdivision":"unitary authority"},{"code":"NWP","name":"Newport","subdivision":"unitary authority"},{"code":"NEL","name":"North East Lincolnshire","subdivision":"unitary authority"},{"code":"NLN","name":"North Lincolnshire","subdivision":"unitary authority"},{"code":"NSM","name":"North Somerset","subdivision":"unitary authority"},{"code":"NBL","name":"Northumberland","subdivision":"unitary authority"},{"code":"NGM","name":"Nottingham","subdivision":"unitary authority"},{"code":"PEM","name":"Pembrokeshire","subdivision":"unitary authority"},{"code":"PTE","name":"Peterborough","subdivision":"unitary authority"},{"code":"PLY","name":"Plymouth","subdivision":"unitary authority"},{"code":"POL","name":"Poole","subdivision":"unitary authority"},{"code":"POR","name":"Portsmouth","subdivision":"unitary authority"},{"code":"POW","name":"Powys","subdivision":"unitary authority"},{"code":"RDG","name":"Reading","subdivision":"unitary authority"},{"code":"RCC","name":"Redcar and Cleveland","subdivision":"unitary authority"},{"code":"RCT","name":"Rhondda, Cynon, Taff","subdivision":"unitary authority"},{"code":"RUT","name":"Rutland","subdivision":"unitary authority"},{"code":"SHR","name":"Shropshire","subdivision":"unitary authority"},{"code":"SLG","name":"Slough","subdivision":"unitary authority"},{"code":"SGC","name":"South Gloucestershire","subdivision":"unitary authority"},{"code":"STH","name":"Southampton","subdivision":"unitary authority"},{"code":"SOS","name":"Southend-on-Sea","subdivision":"unitary authority"},{"code":"STT","name":"Stockton-on-Tees","subdivision":"unitary authority"},{"code":"STE","name":"Stoke-on-Trent","subdivision":"unitary authority"},{"code":"SWA","name":"Swansea","subdivision":"unitary authority"},{"code":"SWD","name":"Swindon","subdivision":"unitary authority"},{"code":"TFW","name":"Telford and Wrekin","subdivision":"unitary authority"},{"code":"THR","name":"Thurrock","subdivision":"unitary authority"},{"code":"TOB","name":"Torbay","subdivision":"unitary authority"},{"code":"TOF","name":"Torfaen","subdivision":"unitary authority"},{"code":"VGL","name":"Vale of Glamorgan, The","subdivision":"unitary authority"},{"code":"WRT","name":"Warrington","subdivision":"unitary authority"},{"code":"WBK","name":"West Berkshire","subdivision":"unitary authority"},{"code":"WIL","name":"Wiltshire","subdivision":"unitary authority"},{"code":"WNM","name":"Windsor and Maidenhead","subdivision":"unitary authority"},{"code":"WOK","name":"Wokingham","subdivision":"unitary authority"},{"code":"WRX","name":"Wrexham","subdivision":"unitary authority"},{"code":"YOR","name":"York","subdivision":"unitary authority"}]},{"code2":"US","code3":"USA","name":"United States","capital":"Washington, D.C.","region":"Americas","subregion":"Northern America","states":[{"code":"DC","name":"District of Columbia","subdivision":"district"},{"code":"AS","name":"American Samoa","subdivision":"outlying territory"},{"code":"GU","name":"Guam","subdivision":"outlying territory"},{"code":"MP","name":"Northern Mariana Islands","subdivision":"outlying territory"},{"code":"PR","name":"Puerto Rico","subdivision":"outlying territory"},{"code":"UM","name":"United States Minor Outlying Islands","subdivision":"outlying territory"},{"code":"VI","name":"Virgin Islands, U.S.","subdivision":"outlying territory"},{"code":"AL","name":"Alabama","subdivision":"state"},{"code":"AK","name":"Alaska","subdivision":"state"},{"code":"AZ","name":"Arizona","subdivision":"state"},{"code":"AR","name":"Arkansas","subdivision":"state"},{"code":"CA","name":"California","subdivision":"state"},{"code":"CO","name":"Colorado","subdivision":"state"},{"code":"CT","name":"Connecticut","subdivision":"state"},{"code":"DE","name":"Delaware","subdivision":"state"},{"code":"FL","name":"Florida","subdivision":"state"},{"code":"GA","name":"Georgia","subdivision":"state"},{"code":"HI","name":"Hawaii","subdivision":"state"},{"code":"ID","name":"Idaho","subdivision":"state"},{"code":"IL","name":"Illinois","subdivision":"state"},{"code":"IN","name":"Indiana","subdivision":"state"},{"code":"IA","name":"Iowa","subdivision":"state"},{"code":"KS","name":"Kansas","subdivision":"state"},{"code":"KY","name":"Kentucky","subdivision":"state"},{"code":"LA","name":"Louisiana","subdivision":"state"},{"code":"ME","name":"Maine","subdivision":"state"},{"code":"MD","name":"Maryland","subdivision":"state"},{"code":"MA","name":"Massachusetts","subdivision":"state"},{"code":"MI","name":"Michigan","subdivision":"state"},{"code":"MN","name":"Minnesota","subdivision":"state"},{"code":"MS","name":"Mississippi","subdivision":"state"},{"code":"MO","name":"Missouri","subdivision":"state"},{"code":"MT","name":"Montana","subdivision":"state"},{"code":"NE","name":"Nebraska","subdivision":"state"},{"code":"NV","name":"Nevada","subdivision":"state"},{"code":"NH","name":"New Hampshire","subdivision":"state"},{"code":"NJ","name":"New Jersey","subdivision":"state"},{"code":"NM","name":"New Mexico","subdivision":"state"},{"code":"NY","name":"New York","subdivision":"state"},{"code":"NC","name":"North Carolina","subdivision":"state"},{"code":"ND","name":"North Dakota","subdivision":"state"},{"code":"OH","name":"Ohio","subdivision":"state"},{"code":"OK","name":"Oklahoma","subdivision":"state"},{"code":"OR","name":"Oregon","subdivision":"state"},{"code":"PA","name":"Pennsylvania","subdivision":"state"},{"code":"RI","name":"Rhode Island","subdivision":"state"},{"code":"SC","name":"South Carolina","subdivision":"state"},{"code":"SD","name":"South Dakota","subdivision":"state"},{"code":"TN","name":"Tennessee","subdivision":"state"},{"code":"TX","name":"Texas","subdivision":"state"},{"code":"UT","name":"Utah","subdivision":"state"},{"code":"VT","name":"Vermont","subdivision":"state"},{"code":"VA","name":"Virginia","subdivision":"state"},{"code":"WA","name":"Washington","subdivision":"state"},{"code":"WV","name":"West Virginia","subdivision":"state"},{"code":"WI","name":"Wisconsin","subdivision":"state"},{"code":"WY","name":"Wyoming","subdivision":"state"}]},{"code2":"UY","code3":"URY","name":"Uruguay","capital":"Montevideo","region":"Americas","subregion":"South America","states":[{"code":"AR","name":"Artigas","subdivision":null},{"code":"CA","name":"Canelones","subdivision":null},{"code":"CL","name":"Cerro Largo","subdivision":null},{"code":"CO","name":"Colonia","subdivision":null},{"code":"DU","name":"Durazno","subdivision":null},{"code":"FS","name":"Flores","subdivision":null},{"code":"FD","name":"Florida","subdivision":null},{"code":"LA","name":"Lavalleja","subdivision":null},{"code":"MA","name":"Maldonado","subdivision":null},{"code":"MO","name":"Montevideo","subdivision":null},{"code":"PA","name":"Paysandú","subdivision":null},{"code":"RV","name":"Rivera","subdivision":null},{"code":"RO","name":"Rocha","subdivision":null},{"code":"RN","name":"Río Negro","subdivision":null},{"code":"SA","name":"Salto","subdivision":null},{"code":"SJ","name":"San José","subdivision":null},{"code":"SO","name":"Soriano","subdivision":null},{"code":"TA","name":"Tacuarembó","subdivision":null},{"code":"TT","name":"Treinta y Tres","subdivision":null}]},{"code2":"UZ","code3":"UZB","name":"Uzbekistan","capital":"Tashkent","region":"Asia","subregion":"Central Asia","states":[{"code":"AN","name":"Andijon","subdivision":null},{"code":"BU","name":"Buxoro","subdivision":null},{"code":"FA","name":"Farg‘ona","subdivision":null},{"code":"JI","name":"Jizzax","subdivision":null},{"code":"NG","name":"Namangan","subdivision":null},{"code":"NW","name":"Navoiy","subdivision":null},{"code":"QA","name":"Qashqadaryo","subdivision":null},{"code":"QR","name":"Qoraqalpog‘iston Respublikasi","subdivision":null},{"code":"SA","name":"Samarqand","subdivision":null},{"code":"SI","name":"Sirdaryo","subdivision":null},{"code":"SU","name":"Surxondaryo","subdivision":null},{"code":"TO","name":"Toshkent","subdivision":null},{"code":"TK","name":"Toshkent","subdivision":null},{"code":"XO","name":"Xorazm","subdivision":null}]},{"code2":"VU","code3":"VUT","name":"Vanuatu","capital":"Port Vila","region":"Oceania","subregion":"Melanesia","states":[{"code":"MAP","name":"Malampa","subdivision":null},{"code":"PAM","name":"Pénama","subdivision":null},{"code":"SAM","name":"Sanma","subdivision":null},{"code":"SEE","name":"Shéfa","subdivision":null},{"code":"TAE","name":"Taféa","subdivision":null},{"code":"TOB","name":"Torba","subdivision":null}]},{"code2":"VE","code3":"VEN","name":"Venezuela","capital":"Caracas","region":"Americas","subregion":"South America","states":[{"code":"Z","name":"Amazonas","subdivision":null},{"code":"B","name":"Anzoátegui","subdivision":null},{"code":"C","name":"Apure","subdivision":null},{"code":"D","name":"Aragua","subdivision":null},{"code":"E","name":"Barinas","subdivision":null},{"code":"F","name":"Bolívar","subdivision":null},{"code":"G","name":"Carabobo","subdivision":null},{"code":"H","name":"Cojedes","subdivision":null},{"code":"Y","name":"Delta Amacuro","subdivision":null},{"code":"W","name":"Dependencias Federales","subdivision":null},{"code":"A","name":"Distrito Capital","subdivision":null},{"code":"I","name":"Falcón","subdivision":null},{"code":"J","name":"Guárico","subdivision":null},{"code":"K","name":"Lara","subdivision":null},{"code":"M","name":"Miranda","subdivision":null},{"code":"N","name":"Monagas","subdivision":null},{"code":"L","name":"Mérida","subdivision":null},{"code":"O","name":"Nueva Esparta","subdivision":null},{"code":"P","name":"Portuguesa","subdivision":null},{"code":"R","name":"Sucre","subdivision":null},{"code":"T","name":"Trujillo","subdivision":null},{"code":"S","name":"Táchira","subdivision":null},{"code":"X","name":"Vargas","subdivision":null},{"code":"U","name":"Yaracuy","subdivision":null},{"code":"V","name":"Zulia","subdivision":null}]},{"code2":"VN","code3":"VNM","name":"Vietnam","capital":"Hanoi","region":"Asia","subregion":"South-Eastern Asia","states":[{"code":"44","name":"An Giang","subdivision":null},{"code":"43","name":"Bà Rịa–Vũng Tàu","subdivision":null},{"code":"57","name":"Bình Dương","subdivision":null},{"code":"58","name":"Bình Phước","subdivision":null},{"code":"40","name":"Bình Thuận","subdivision":null},{"code":"31","name":"Bình Định","subdivision":null},{"code":"55","name":"Bạc Liêu","subdivision":null},{"code":"54","name":"Bắc Giang","subdivision":null},{"code":"53","name":"Bắc Kạn","subdivision":null},{"code":"56","name":"Bắc Ninh","subdivision":null},{"code":"50","name":"Bến Tre","subdivision":null},{"code":"04","name":"Cao Bằng","subdivision":null},{"code":"59","name":"Cà Mau","subdivision":null},{"code":"CT","name":"Cần Thơ","subdivision":null},{"code":"30","name":"Gia Lai","subdivision":null},{"code":"03","name":"Hà Giang","subdivision":null},{"code":"63","name":"Hà Nam","subdivision":null},{"code":"HN","name":"Hà Nội","subdivision":null},{"code":"15","name":"Hà Tây","subdivision":null},{"code":"23","name":"Hà Tĩnh","subdivision":null},{"code":"14","name":"Hòa Bình","subdivision":null},{"code":"66","name":"Hưng Yên","subdivision":null},{"code":"61","name":"Hải Dương","subdivision":null},{"code":"HP","name":"Hải Phòng","subdivision":null},{"code":"73","name":"Hậu Giang","subdivision":null},{"code":"SG","name":"Hồ Chí Minh","subdivision":null},{"code":"34","name":"Khánh Hòa","subdivision":null},{"code":"47","name":"Kiên Giang","subdivision":null},{"code":"28","name":"Kon Tum","subdivision":null},{"code":"01","name":"Lai Châu","subdivision":null},{"code":"41","name":"Long An","subdivision":null},{"code":"02","name":"Lào Cai","subdivision":null},{"code":"35","name":"Lâm Đồng","subdivision":null},{"code":"09","name":"Lạng Sơn","subdivision":null},{"code":"67","name":"Nam Định","subdivision":null},{"code":"22","name":"Nghệ An","subdivision":null},{"code":"18","name":"Ninh Bình","subdivision":null},{"code":"36","name":"Ninh Thuận","subdivision":null},{"code":"68","name":"Phú Thọ","subdivision":null},{"code":"32","name":"Phú Yên","subdivision":null},{"code":"24","name":"Quảng Bình","subdivision":null},{"code":"27","name":"Quảng Nam","subdivision":null},{"code":"29","name":"Quảng Ngãi","subdivision":null},{"code":"13","name":"Quảng Ninh","subdivision":null},{"code":"25","name":"Quảng Trị","subdivision":null},{"code":"52","name":"Sóc Trăng","subdivision":null},{"code":"05","name":"Sơn La","subdivision":null},{"code":"21","name":"Thanh Hóa","subdivision":null},{"code":"20","name":"Thái Bình","subdivision":null},{"code":"69","name":"Thái Nguyên","subdivision":null},{"code":"26","name":"Thừa Thiên–Huế","subdivision":null},{"code":"46","name":"Tiền Giang","subdivision":null},{"code":"51","name":"Trà Vinh","subdivision":null},{"code":"07","name":"Tuyên Quang","subdivision":null},{"code":"37","name":"Tây Ninh","subdivision":null},{"code":"49","name":"Vĩnh Long","subdivision":null},{"code":"70","name":"Vĩnh Phúc","subdivision":null},{"code":"06","name":"Yên Bái","subdivision":null},{"code":"71","name":"Điện Biên","subdivision":null},{"code":"DN","name":"Đà Nẵng","subdivision":null},{"code":"33","name":"Đắk Lắk","subdivision":null},{"code":"72","name":"Đắk Nông","subdivision":null},{"code":"39","name":"Đồng Nai","subdivision":null},{"code":"45","name":"Đồng Tháp","subdivision":null}]},{"code2":"WF","code3":"WLF","name":"Wallis and Futuna","capital":"Mata-Utu","region":"Oceania","subregion":"Polynesia","states":[]},{"code2":"EH","code3":"ESH","name":"Western Sahara","capital":"El Aaiún","region":"Africa","subregion":"Northern Africa","states":[]},{"code2":"YE","code3":"YEM","name":"Yemen","capital":"Sana'a","region":"Asia","subregion":"Western Asia","states":[{"code":"AD","name":"'Adan","subdivision":null},{"code":"AM","name":"'Amrān","subdivision":null},{"code":"AB","name":"Abyān","subdivision":null},{"code":"BA","name":"Al Bayḑā'","subdivision":null},{"code":"JA","name":"Al Jawf","subdivision":null},{"code":"MR","name":"Al Mahrah","subdivision":null},{"code":"MW","name":"Al Maḩwīt","subdivision":null},{"code":"HU","name":"Al Ḩudaydah","subdivision":null},{"code":"DA","name":"Aḑ Ḑāli'","subdivision":null},{"code":"DH","name":"Dhamār","subdivision":null},{"code":"IB","name":"Ibb","subdivision":null},{"code":"LA","name":"Laḩij","subdivision":null},{"code":"MA","name":"Ma'rib","subdivision":null},{"code":"RA","name":"Raymah","subdivision":null},{"code":"SH","name":"Shabwah","subdivision":null},{"code":"TA","name":"Tā‘izz","subdivision":null},{"code":"SA","name":"Şan‘ā'","subdivision":null},{"code":"SN","name":"Şan‘ā'","subdivision":null},{"code":"SD","name":"Şā‘dah","subdivision":null},{"code":"HJ","name":"Ḩajjah","subdivision":null},{"code":"HD","name":"Ḩaḑramawt","subdivision":null}]},{"code2":"ZM","code3":"ZMB","name":"Zambia","capital":"Lusaka","region":"Africa","subregion":"Eastern Africa","states":[{"code":"02","name":"Central","subdivision":null},{"code":"08","name":"Copperbelt","subdivision":null},{"code":"03","name":"Eastern","subdivision":null},{"code":"04","name":"Luapula","subdivision":null},{"code":"09","name":"Lusaka","subdivision":null},{"code":"06","name":"North-Western","subdivision":null},{"code":"05","name":"Northern","subdivision":null},{"code":"07","name":"Southern","subdivision":null},{"code":"01","name":"Western","subdivision":null}]},{"code2":"ZW","code3":"ZWE","name":"Zimbabwe","capital":"Harare","region":"Africa","subregion":"Eastern Africa","states":[{"code":"BU","name":"Bulawayo","subdivision":null},{"code":"HA","name":"Harare","subdivision":null},{"code":"MA","name":"Manicaland","subdivision":null},{"code":"MC","name":"Mashonaland Central","subdivision":null},{"code":"ME","name":"Mashonaland East","subdivision":null},{"code":"MW","name":"Mashonaland West","subdivision":null},{"code":"MV","name":"Masvingo","subdivision":null},{"code":"MN","name":"Matabeleland North","subdivision":null},{"code":"MS","name":"Matabeleland South","subdivision":null},{"code":"MI","name":"Midlands","subdivision":null}]}]`),Td={...{required:!1,description:"",value:null,isReadOnly:!1,isDisabled:!1,isRequired:!1,customClass:"",elementClass:"",gridPosition:null,gridId:null,isHidden:!1,visibilityDependentFields:[]},maxLength:null,minLength:null,placeholder:"Type here",requiredMessage:"Field is required",minLengthMessage:"",maxLengthMessage:""},Ze=(e,n=e)=>({label:e,value:n,id:Oe.v4()}),ke=e=>({...Td,...e}),Pd=pi==null?void 0:pi.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),Ld=[ke({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),ke({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),ke({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),ke({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Ze("Placeholder 1","placeholder_1")]}),ke({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",minChecked:1,requireAllChecked:!1,options:[Ze("Placeholder 1","placeholder_1")]}),ke({type:"dataLookup",label:"Data Lookup",icon:"iconoir:www",inputLabel:"Data Lookup Label",inputType:"dataLookup",url:"",method:"GET",responseType:"string"}),ke({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),ke({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),ke({type:"date",label:"Date",icon:"bx:calendar",inputLabel:"Date Label",inputType:"date",dateType:"custom",dateFormat:"dd/MM/yyyy",minDate:null,maxDate:null,canHaveDateRange:!1,allowYearPicker:!1}),ke({type:"time",label:"Time",icon:"mdi:clock-outline",inputLabel:"Time Label",inputType:"time",is24Hour:!1}),ke({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),ke({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),ke({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",minChecked:1,requireAllChecked:!1,options:[Ze("Checkbox Option","option")]}),ke({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),ke({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Ze("Radio Option","")]}),ke({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),ke({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[],maxFileSize:5}),ke({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:Pd,showState:!1}),ke({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),ke({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:Oe.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),ke({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),ke({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),ke({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),ke({type:"matrix",label:"Likert Scale",icon:"pepicons-pop:list",inputLabel:"Matrix Label",inputType:"matrix",options:[{id:"r1",label:"Example Row",value:"row_1"}],options1:[{id:"c1",label:"Strongly Disagree",value:"strongly_disagree"},{id:"c2",label:"Disagree",value:"disagree"},{id:"c3",label:"Neutral",value:"neutral"},{id:"c4",label:"Agree",value:"agree"},{id:"c5",label:"Strongly Agree",value:"strongly_agree"}]}),ke({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),ke({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Ze("Option 1","option_1"),Ze("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""}),ke({type:"nps",label:"NPS Score (0-10)",icon:"tabler:hash",inputLabel:"NPS Label",inputType:"nps",minLabel:"Not at all likely",maxLabel:"Extremely likely"}),ke({type:"ranking",label:"Ranking Poll",icon:"fluent:re-order-16-regular",inputLabel:"Ranking Label",inputType:"ranking",options:[Ze("Option 1","option_1"),Ze("Option 2","option_2")]}),ke({type:"imageChoice",label:"Image Choice",icon:"ic:outline-image",inputLabel:"Image Choice Label",inputType:"imageChoice",options:[Ze("Image 1","image_1"),Ze("Image 2","image_2")]})],Bd=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","dataLookup","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix"],dateAndTime:["date","time"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),Id=Object.freeze({pollComponents:["textField","phoneField","email","radio","checkbox","rating","selectField","polling","nps","ranking","matrix","imageChoice"],layoutAndInfo:["basicText","divider"]}),Dd=[{label:"Day/Month/Year",value:"dd/MM/yyyy"},{label:"Month/Day/Year",value:"MM/dd/yyyy"},{label:"ISO (Year-Month-Day)",value:"yyyy-MM-dd"},{label:"Full Month Day, Year",value:"MMMM d, yyyy"},{label:"Abbreviated Month Day, Year",value:"MMM d, yyyy"},{label:"Day. Month. Year",value:"dd.MM.yyyy"},{label:"Day Month Name Year",value:"dd MMMM yyyy"},{label:"Weekday, Month Day, Year",value:"EEEE, MMMM d, yyyy"},{label:"Short Weekday, Month Day, Year",value:"EEE, MMM d, yyyy"},{label:"Day-Month-Year",value:"dd-MM-yyyy"}],Od=["amount"],_d=["text","number"],Fd=["text","number","amount","date","time","password"],Hd=["amount"],gi=["grid","section","divider","spacer","basicText"],Kd=["radio","select","checkbox","multiselect","matrix","polling","ranking","imageChoice"],Vd=["dataLookup"],Gd=["tableInput"],yo=["basicText"],zd=["text","basicText","number","amount","url","password","tel","email","dataLookup"],$d=[{value:["image/jpeg","image/png","image/gif","image/webp","image/svg+xml","image/heic"].join(", "),label:"Image"},{value:"application/pdf",label:"PDF"},{value:["application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document","text/plain"].join(", "),label:"Word"},{value:["application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"].join(", "),label:"Spreadsheet"},{value:["application/vnd.ms-powerpoint","application/vnd.openxmlformats-officedocument.presentationml.presentation"].join(", "),label:"PowerPoint"},{value:["video/mp4","video/x-m4v","video/*"].join(", "),label:"Videos"}],ln=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:s,name:t,label:l,value:r,trigger:d,isMultiple:u,isFloatingLabel:b,subText:c,labelClass:m="text-[10px]",loading:f,disabled:v})=>{const[g,S]=N.useState(u?[]:null),h=N.useRef(!1),y=N.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(C=>{var k;return typeof w.value=="object"?((k=w.value)==null?void 0:k.id)===(C==null?void 0:C.id):w.value===C})):[]:e.find(w=>{var C;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((C=w.value)==null?void 0:C.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]),p=N.useMemo(()=>r==null||r===""||!e||e.length===0?!1:u?!Array.isArray(r)||r.length===0?!1:(y==null?void 0:y.length)<r.length:y===null,[r,e,y,u]);N.useEffect(()=>{if(h.current){h.current=!1;return}if(u&&Array.isArray(y)&&Array.isArray(g)){const w=g==null?void 0:g.map(k=>k.value),C=y==null?void 0:y.map(k=>k.value);JSON.stringify(w)!==JSON.stringify(C)&&S(y)}else(y==null?void 0:y.value)!==(g==null?void 0:g.value)&&S(y)},[y,u]);const x=N.useCallback(w=>{var C;if(h.current=!0,S(w),s){const k=u?Array.isArray(w)?w==null?void 0:w.map(M=>M.value):[]:(C=w==null?void 0:w.value)!=null?C:null;s(t,k),d==null||d(t)}o&&!h.current&&o(t)},[s,t,d,o,u]),A=N.useMemo(()=>f?"Fetching data...":g?u&&Array.isArray(g)?g.length>0?g==null?void 0:g.map(w=>w.label).join(", "):n:(g==null?void 0:g.label)||n:n,[g,f,n,u]);return a.jsxs("div",{className:"relative",children:[!b&&l&&a.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:l}),b&&l&&a.jsx("label",{className:xe("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:l}),a.jsx(he.Listbox,{value:g,onChange:x,multiple:u,disabled:v||f,children:a.jsxs("div",{className:"relative",children:[a.jsxs(he.Listbox.Button,{className:"field-control",disabled:v||f,children:[a.jsx("span",{className:xe("block text-sm text-left truncate",{"opacity-60":!g||f}),children:A}),a.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:a.jsx(de,{icon:"lucide:chevron-down"})})]}),a.jsx(he.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(he.Listbox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:e.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,C)=>{var k;return a.jsx(he.Listbox.Option,{value:w,className:({active:M})=>xe("select-option",{active:M}),children:({selected:M})=>a.jsx("div",{className:xe("option-text",{selected:M}),children:w.label})},`${((k=w.value)==null?void 0:k.id)||w.value}-${C}`)})})})]})}),!i&&c&&a.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:c}),p&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),(i==null?void 0:i.message)&&a.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Wd({value:e=[],onChange:n,onGetValue:i}){const[o,s]=N.useState((e==null?void 0:e.length)>0?e:[{value:""}]);N.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&s(e)},[e]);function t(d,u){const b=[...o];b[u]={...b[u],value:d},s(b),n&&n(b)}function l(){const d=[...o,{value:""}];s(d),n&&n(d)}function r(d){const u=o.filter((b,c)=>c!==d);s(u),n&&n(u)}return N.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),a.jsxs("div",{className:"]",children:[a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[a.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:a.jsx("div",{className:"px-2 py-2",children:a.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((d,u)=>a.jsx("div",{className:"grid text-sm border-b border-gray-100",children:a.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[a.jsx("span",{className:"flex-1",children:a.jsx(bi,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:d.value,onValueChange:b=>t(b,u),allowNegativeValue:!1})}),a.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),a.jsx("div",{className:"mt-1 flex justify-end",children:a.jsx("button",{type:"button",onClick:l,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const jd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["API URL example format: ",a.jsx("code",{children:"https://example.com/validation?value={value}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"bg-white p-2 rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "description": "John Doe" ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})}),_e=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},sa=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},Ud=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
10
10
  "data": [
11
11
  { "label": "Option 1", "value": "1" },
12
12
  { "label": "Option 2", "value": "2" }
13
13
  ]
14
- }`})})]})]})}),ia=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),po=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:ia((i=n.label)!=null?i:"")}}),go=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:ia((i=n.headerName)!=null?i:"")}}),oa=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=N.useState(""),l=Be("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const b=new FileReader;u.name.endsWith(".csv")?(b.onload=c=>{const m=c.target.result,f=wr.parse(m,{header:!0});e(n,(o==="dataGrid"?go:po)(f.data))},b.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(b.onload=c=>{const m=new Uint8Array(c.target.result),f=ks.read(m,{type:"array"}),v=f.SheetNames[0],x=f.Sheets[v],g=ks.utils.sheet_to_json(x);e(n,(o==="dataGrid"?go:po)(g))},b.readAsArrayBuffer(u)):Ne.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},jd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
14
+ }`})})]})]})}),$n=e=>String(e).toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,""),xo=e=>e.map(n=>{var i;return{...n,value:n.value!==void 0&&String(n.value).trim()!==""?n.value:$n((i=n.label)!=null?i:"")}}),So=e=>e.map(n=>{var i;return{...n,field:n.field!==void 0&&String(n.field).trim()!==""?n.field:$n((i=n.headerName)!=null?i:"")}}),aa=({setValue:e,name:n,label:i,type:o})=>{const[s,t]=N.useState(""),l=_e("config"),r=d=>{const u=d.target.files[0];if(!u)return;t(u.name);const b=new FileReader;u.name.endsWith(".csv")?(b.onload=c=>{const m=c.target.result,f=Cr.parse(m,{header:!0});e(n,(o==="dataGrid"?So:xo)(f.data))},b.readAsText(u)):u.name.endsWith(".xlsx")||u.name.endsWith(".xls")?(b.onload=c=>{const m=new Uint8Array(c.target.result),f=Ts.read(m,{type:"array"}),v=f.SheetNames[0],g=f.Sheets[v],S=Ts.utils.sheet_to_json(g);e(n,(o==="dataGrid"?So:xo)(S))},b.readAsArrayBuffer(u)):Te.toast.error("Unsupported file type. Please upload a CSV or Excel file.")};return a.jsxs("div",{children:[a.jsxs("div",{className:"relative",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:i}),a.jsx("input",{type:"file",accept:".csv,.xlsx,.xls",onChange:r,className:"mb-4 field-control file:bg-gray-600 file:text-white file:text-sm file:rounded file:border-gray-600 file:outline-none"}),s&&a.jsxs("p",{className:"text-xs text-gray-600 mb-2",children:["Uploaded: ",s]})]}),a.jsx("a",{download:!0,href:o==="dataGrid"?"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/table_sheet_bu7l6g.xlsx":"https://res.cloudinary.com/arudovwen-me/raw/upload/v1775419737/list_sheet_1_pi6bwv.xlsx",target:"_blank",rel:"noopener noreferrer",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"text-xs text-gray-600 mb-2 cursor-pointer font-medium",children:"Download Sample File"})]})},qd=()=>a.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:a.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[a.jsxs("li",{children:[a.jsx("strong",{children:"Method:"})," ",a.jsx("code",{children:"GET"})]}),a.jsxs("li",{children:[a.jsx("strong",{children:"Response format:"}),a.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:a.jsx("code",{children:`{
15
15
  "data": [
16
16
  { "field": "Name", "headerName": "name", editable:true },
17
17
  ]
18
- }`})})]})]})}),Ud=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
18
+ }`})})]})]})}),Yd=()=>a.jsx("blockquote",{className:"p-4 space-y-3 text-xs text-gray-700 bg-gray-100 rounded-md",children:a.jsx("ul",{className:"space-y-1 ",children:a.jsxs("li",{children:[a.jsx("span",{children:"Method:"})," ",a.jsx("code",{children:"GET"}),a.jsx("br",{}),a.jsx("span",{children:"Response format:"}),a.jsx("pre",{className:"p-2 mt-1 overflow-auto text-xs bg-white rounded-md",children:a.jsx("code",{children:`{
19
19
  "data": [
20
20
  { "name": "Document Name", "id": "documentMainId", ...restObject },
21
21
  ]
22
- }`})})]})})}),qd=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function Yd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const yo=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const x=new Date(v);return isNaN(x.getTime())?null:x},b=u(e),[c,m]=N.useState(b);N.useEffect(()=>{const v=u(e);(v&&c&&v.getTime()!==c.getTime()||!v&&c||v&&!c)&&m(v)},[e]),N.useEffect(()=>{n&&n(s,c)},[c,n,s]);const f=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(Cr,{showIcon:!0,icon:a.jsx(Yd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:c,onChange:f,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function sa(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isFieldDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isFieldDeleted)))!=null?o:[]}function xo({element:e,validationData:n,placeholder:i}){var S;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,b]=N.useState(""),[c,m]=N.useState([]),[f,v]=N.useState(!1),x=d?e.apiUrl:void 0;N.useEffect(()=>{if(!x)return;const C=new AbortController,A=setTimeout(()=>{(async()=>{var P,M;v(!0);try{const B=Be("token"),F={...B?{headers:{Authorization:`Bearer ${B}`}}:{},signal:C.signal,params:u?{search:u}:{}};let L=(await qe.get(x,F)).data;if(L&&!Array.isArray(L)&&(L.data&&Array.isArray(L.data)?L=L.data:(P=L.data)!=null&&P.data&&Array.isArray(L.data.data)?L=L.data.data:L.results&&Array.isArray(L.results)?L=L.results:(M=L.data)!=null&&M.results&&Array.isArray(L.data.results)?L=L.data.results:L.items&&Array.isArray(L.items)&&(L=L.items)),Array.isArray(L)){const _=L.map(D=>typeof D=="string"?{label:D,value:D}:{label:D.label||D.name||String(D.id||D.value),value:String(D.value||D.id||D.name)});m(_)}}catch(B){qe.isCancel(B)||console.error("Failed to fetch options",B)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(A),C.abort()}},[x,u]);const g=x?c:(S=e==null?void 0:e.options)!=null?S:[],y=C=>C.map(A=>typeof A=="object"&&A!==null&&"value"in A?A:g.find(P=>String(P.value)===String(A))||{label:String(A),value:A}),[w,h]=N.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?y(C):[]});N.useEffect(()=>{o(e.id)},[e.id,o]),N.useEffect(()=>{if(!l)return;const C=l(A=>{const E=A[e.id];E!==void 0&&h(Array.isArray(E)?y(E):[])});return()=>{var A;return(A=C.unsubscribe)==null?void 0:A.call(C)}},[l,e.id,g]);const p=N.useMemo(()=>{if(u==="")return g;const C=u.toLowerCase();return g.filter(A=>A.label.toLowerCase().includes(C))},[u,g]),k=(C,A)=>{A.stopPropagation();const E=w.filter(P=>P.value!==C.value);h(E),s==null||s(e.id,E.map(P=>P.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(pe.Combobox,{value:w||[],onChange:C=>{h(C),s==null||s(e.id,C.map(A=>A.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(pe.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[w.map((C,A)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:E=>k(C,E),className:"custom-select__chip-remove",children:a.jsx(be,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},A)),!t&&a.jsx(pe.Combobox.Input,{className:"multiselect-search",onChange:C=>b(C.target.value),onFocus:()=>b(""),displayValue:()=>"",placeholder:w.length===0?i!=null?i:"Select options...":"Search..."}),t&&w.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(pe.Combobox.Button,{className:"select-icon",children:f?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(be,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(pe.Transition,{as:N.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>b(""),children:a.jsx(pe.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:f&&c.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):p.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):p.map((C,A)=>a.jsx(pe.Combobox.Option,{value:C,className:({active:E})=>`select-option ${E?"active":""}`,children:({selected:E})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${E?"selected":""}`,children:C.label}),E?a.jsx("span",{className:"text-blue-600",children:a.jsx(be,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},A))})})]})})})}const So=["text","number","boolean"],aa=["equals","not_equals","contains","not_contains"],Jd=["greater","less"];function Zd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=N.useContext(Fe),l=o("visibilityDependentFields")||[],r=N.useMemo(()=>{var u;return(u=sa(t).filter(b=>b.id!==s))==null?void 0:u.map(b=>{const c=l.find(m=>m.id===b.id);return{id:b.id,value:b.id,label:b.inputLabel,sectionId:b.sectionId,fieldType:(c==null?void 0:c.fieldType)||"text",operator:(c==null?void 0:c.operator)||"equals",fieldValue:(c==null?void 0:c.fieldValue)!==void 0?c.fieldValue:""}})},[t,l,s]),d=(u,b,c)=>{const m=l==null?void 0:l.map((f,v)=>v===u?{...f,[b]:c}:f);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(xo,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,b)=>{var v,x,g,y;const c=sa(t).find(w=>w.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(c==null?void 0:c.type),f=(c==null?void 0:c.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(pe.Listbox,{value:u.fieldType,onChange:w=>d(b,"fieldType",w),children:[a.jsxs(pe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(be,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(pe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(pe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:So==null?void 0:So.map(w=>a.jsx(pe.Listbox.Option,{value:w,className:({active:h})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${h?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:w},w))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(pe.Listbox,{value:u.operator,onChange:w=>d(b,"operator",w),children:[a.jsxs(pe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(be,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(pe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(pe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...aa,...Jd]:aa)==null?void 0:v.map(w=>a.jsx(pe.Listbox.Option,{value:w,className:({active:h})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${h?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:w.replace("_"," ")},w))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&f.length>0?a.jsx("div",{className:"relative",children:a.jsxs(pe.Listbox,{value:(x=u.fieldValue)!=null?x:"",onChange:w=>d(b,"fieldValue",w),children:[a.jsxs(pe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((g=f.find(w=>w.value===u.fieldValue))==null?void 0:g.label)||"Select value"}),a.jsx(be,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(pe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(pe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:f.map((w,h)=>a.jsx(pe.Listbox.Option,{value:w.value,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:w.label},h))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:w=>d(b,"fieldValue",w.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(pe.Listbox,{value:(y=u.fieldValue)!=null?y:"",onChange:w=>d(b,"fieldValue",w),children:[a.jsxs(pe.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(be,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(pe.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(pe.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(pe.Listbox.Option,{value:!0,className:({active:w})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${w?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(pe.Listbox.Option,{value:!1,className:({active:w})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${w?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function ta(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function Xd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function Qd({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=N.useState(()=>ta(e)),[l,r]=N.useState(null),[d,u]=N.useState(!1),[b,c]=N.useState(""),[m,f]=N.useState(null),v=N.useRef(null),x=N.useRef(null),g=N.useRef(new Map);N.useEffect(()=>{const E=ta(e);t(E)},[]);const y=N.useCallback(E=>{n(Xd(E))},[n]),w=(E,P)=>{const M=[...s];M[E]={type:"operator",value:P},t(M),y(M)},h=E=>{const P=s.filter((M,B)=>B!==E);t(P),y(P)},p=E=>{f(E),c(""),u(!0)},k=(E,P)=>{const M=P!==void 0?P:m!=null?m:s.length,B=[...s],F=B.slice(0,M),T=B.slice(M),L=[...F,{type:"field",id:E.id,display:E.display},...T],_=S(L);t(_),y(_),u(!1),f(null)};function S(E){const P=[];if(E.length===0)return[{type:"operator",value:""}];E[0].type==="field"&&P.push({type:"operator",value:""});for(let M=0;M<E.length;M++)P.push(E[M]),E[M].type==="field"&&(M+1>=E.length||E[M+1].type==="field")&&P.push({type:"operator",value:""});return P}const C=i.filter(E=>E.display.toLowerCase().includes(b.toLowerCase())),A=s.every(E=>E.type==="operator"&&E.value.trim()==="");return a.jsxs("div",{className:"relative",ref:x,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var P;const E=[...s].reverse().findIndex(M=>M.type==="operator");if(E!==-1){const M=s.length-1-E;(P=g.current.get(M))==null||P.focus()}},children:[A&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((E,P)=>E.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[E.display,a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),h(P)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${E.display}`,children:"×"})]},P):a.jsx("input",{ref:M=>{M?g.current.set(P,M):g.current.delete(P)},type:"text",value:E.value,onChange:M=>w(P,M.target.value),onFocus:()=>r(P),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(E.value.length*9+8,l===P?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${P}`},P)),a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),p(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!A&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(E=>E.type==="field"?`[${E.display}]`:E.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:b,onChange:E=>c(E.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:E=>{E.key==="Escape"&&u(!1),E.key==="Enter"&&C.length>0&&k(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(E=>a.jsxs("div",{onMouseDown:P=>{P.preventDefault(),k(E)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:E.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[E.id.slice(0,8),"..."]})]},E.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(E=>a.jsxs("button",{type:"button",onMouseDown:P=>{P.preventDefault(),k(E,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",E.display]},E.id))})]})}const Rd=["jpg","jpeg","png","gif","bmp","webp","svg","image"],eu=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return Rd.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},nu={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function la({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=N.useState(!1),[t,l]=N.useState("unknown"),[r,d]=N.useState(null);N.useEffect(()=>{e&&l(eu(e))},[e]),N.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),v=new ArrayBuffer(f.length),x=new Uint8Array(v);for(let w=0;w<f.length;w++)x[w]=f.charCodeAt(w);const g=new Blob([v],{type:"application/pdf"}),y=URL.createObjectURL(g);return d(y),()=>URL.revokeObjectURL(y)}catch(f){console.error("Error creating blob URL:",f)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},b=()=>s(!1),c=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,v="download"){if(!f)return;if(f.startsWith("data:")){const g=document.createElement("a");g.href=f,g.download=v,document.body.appendChild(g),g.click(),document.body.removeChild(g);return}const x=document.createElement("a");x.href=f,x.setAttribute("download",v),document.body.appendChild(x),x.click(),document.body.removeChild(x)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-4 items-center w-full min-w-0 max-w-full overflow-hidden",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3 min-w-0 flex-1 overflow-hidden",title:`Click to preview ${c}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center shrink-0",children:a.jsx(be,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx("div",{className:"shrink-0 flex items-center justify-center",children:a.jsx(be,{icon:nu[t],iconClass:"text-4xl"})}),a.jsx("span",{className:"text-sm font-semibold text-gray-700 truncate min-w-0 flex-1 block",children:c})]}),a.jsxs("div",{className:"flex gap-x-1 items-center shrink-0",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${c}`,children:a.jsx(be,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(be,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:b,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:f=>f.stopPropagation(),children:[a.jsx("button",{onClick:b,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}function ra({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=N.useContext(Fe),u=N.useRef(null),[b,c]=N.useState(s),[m,f]=N.useState(!1);N.useEffect(()=>{c(s)},[s]);const v=N.useMemo(()=>t==null?void 0:t.map(S=>S.value).join(", "),[t]),x=N.useMemo(()=>t==null?void 0:t.map(S=>S.label).join(", "),[t]),g=N.useCallback(async S=>{var E,P;const C=Be("token"),A=((E=Be("orgData"))==null?void 0:E.id)||Be("organizationId");try{const{data:M}=await qe.post(r,{...S,service:"FORM",organizationId:A||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(P=M==null?void 0:M.data)==null?void 0:P.url}catch(M){throw console.error("File upload error:",M),M}},[r]),y=N.useCallback(S=>new Promise((C,A)=>{const E=new FileReader;E.onloadend=async()=>{try{const P=E.result.replace(/^data:.*;base64,/,""),M=r?await g({base64:P,ext:`.${S.name.split(".").pop()}`,fileName:S.name}):E.result;C({base64:M,type:S.type,name:S.name})}catch(P){A(P)}},E.onerror=()=>A(new Error("File read failed")),E.readAsDataURL(S)}),[r,g]),w=N.useCallback(S=>{var E;const C=v?(E=v.split(","))==null?void 0:E.map(P=>P.trim()):[],A=l*1024*1024;for(const P of S){if(P.size>A)return Ne.toast.error(`File "${P.name}" exceeds ${l}MB limit (${(P.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(M=>{if(M.endsWith("/*")){const B=M.split("/")[0];return P.type.startsWith(`${B}/`)}return P.type===M||P.name.toLowerCase().endsWith(M.replace("*",""))}))return Ne.toast.error(`File "${P.name}" is not an allowed type. Allowed: ${x||"any"}`),!1}return!0},[v,x,l]),h=N.useCallback(async S=>{const C=Array.from(S.target.files||[]);if(!(!C.length||m)){if(!w(C)){u.current&&(u.current.value="");return}try{f(!0),d==null||d(P=>P+1);const A=await Promise.all(C==null?void 0:C.map(y)),E=o&&b?[...b,...A]:A;c(E),e(E),Ne.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(A){console.error("Upload error:",A)}finally{f(!1),d==null||d(A=>Math.max(0,A-1)),u.current&&(u.current.value="")}}},[m,w,y,e,o,b,d]),p=N.useCallback(S=>{m||(u.current&&(u.current.value=""),c(C=>{const A=S===void 0?null:(C==null?void 0:C.filter((E,P)=>P!==S))||null;return e(A),A}),i==null||i())},[i,e,m]),k=b&&b.length>0;return a.jsxs("div",{className:"flex flex-col gap-2 w-full min-w-0 max-w-full",children:[!n&&!(k&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:h,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
22
+ }`})})]})})}),Jd=()=>a.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:a.jsxs("ul",{children:[a.jsxs("li",{className:"text-xs",children:["Method: GET ",a.jsx("br",{}),"URL format:"," ",a.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),a.jsxs("li",{className:"text-xs",children:[a.jsx("span",{className:"block mb-1",children:" Response example format:"}),a.jsx("pre",{className:"p-2 bg-white rounded-md",children:a.jsxs("code",{children:["{ ",a.jsx("br",{}),'  "data": { ',a.jsx("br",{}),'    "status": true, ',a.jsx("br",{}),'    "isSigned": true ',a.jsx("br",{}),"  } ",a.jsx("br",{}),"}"]})})]})]})});function Zd({type:e="calendar",className:n}){return a.jsx(a.Fragment,{children:e==="calendar"?a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M17.5 7.08341V14.1667C17.5 16.6667 16.25 18.3334 13.3333 18.3334H6.66667C3.75 18.3334 2.5 16.6667 2.5 14.1667V7.08341C2.5 4.58341 3.75 2.91675 6.66667 2.91675H13.3333C16.25 2.91675 17.5 4.58341 17.5 7.08341Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):a.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[a.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M10.0026 18.3333C5.9776 18.3333 2.71094 15.0667 2.71094 11.0417C2.71094 7.01667 5.9776 3.75 10.0026 3.75C14.0276 3.75 17.2943 7.01667 17.2943 11.0417",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),a.jsx("path",{d:"M12.4141 15.4167V14.4501C12.4141 13.2584 13.2641 12.7667 14.2974 13.3667L15.1307 13.8501L15.9641 14.3334C16.9974 14.9334 16.9974 15.9084 15.9641 16.5084L15.1307 16.9917L14.2974 17.4751C13.2641 18.0751 12.4141 17.5834 12.4141 16.3917V15.4167Z",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const wo=({value:e=null,onGetValue:n,readOnly:i=!1,dateFormat:o="dd/MM/yyyy",name:s,placeholder:t="Select date",minDate:l,maxDate:r,showYearDropdown:d})=>{const u=v=>{if(!v)return null;const g=new Date(v);return isNaN(g.getTime())?null:g},b=u(e),[c,m]=N.useState(b);N.useEffect(()=>{const v=u(e);(v&&c&&v.getTime()!==c.getTime()||!v&&c||v&&!c)&&m(v)},[e]),N.useEffect(()=>{n&&n(s,c)},[c,n,s]);const f=v=>{m(v)};return a.jsx("div",{className:"builder_date__picker",children:a.jsx(kr,{showIcon:!0,icon:a.jsx(Zd,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:c,onChange:f,className:"field-control",portalId:"root",placeholderText:t,minDate:l,maxDate:r,showYearDropdown:d,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function ta(e){var n,i,o;return(o=(i=(n=e==null?void 0:e.filter(s=>!(s!=null&&s.isFieldDeleted)))==null?void 0:n.flatMap(s=>{var t;return(t=s==null?void 0:s.questionData)!=null?t:[]}))==null?void 0:i.filter(s=>!(s!=null&&s.isFieldDeleted)))!=null?o:[]}function No({element:e,validationData:n,placeholder:i}){var w;const{register:o=()=>({}),setValue:s,isReadOnly:t,watch:l,getValues:r,isViewer:d}=n||{},[u,b]=N.useState(""),[c,m]=N.useState([]),[f,v]=N.useState(!1),g=d?e.apiUrl:void 0;N.useEffect(()=>{if(!g)return;const C=new AbortController,k=setTimeout(()=>{(async()=>{var _,E;v(!0);try{const L=_e("token"),H={...L?{headers:{Authorization:`Bearer ${L}`}}:{},signal:C.signal,params:u?{search:u}:{}};let P=(await Je.get(g,H)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(_=P.data)!=null&&_.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(E=P.data)!=null&&E.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const I=P.map(D=>typeof D=="string"?{label:D,value:D}:{label:D.label||D.name||String(D.id||D.value),value:String(D.value||D.id||D.name)});m(I)}}catch(L){Je.isCancel(L)||console.error("Failed to fetch options",L)}finally{C.signal.aborted||v(!1)}})()},500);return()=>{clearTimeout(k),C.abort()}},[g,u]);const S=g?c:(w=e==null?void 0:e.options)!=null?w:[],h=C=>C.map(k=>typeof k=="object"&&k!==null&&"value"in k?k:S.find(_=>String(_.value)===String(k))||{label:String(k),value:k}),[y,p]=N.useState(()=>{const C=r==null?void 0:r(e.id);return Array.isArray(C)?h(C):[]});N.useEffect(()=>{o(e.id)},[e.id,o]),N.useEffect(()=>{if(!l)return;const C=l(k=>{const M=k[e.id];M!==void 0&&p(Array.isArray(M)?h(M):[])});return()=>{var k;return(k=C.unsubscribe)==null?void 0:k.call(C)}},[l,e.id,S]);const x=N.useMemo(()=>{if(u==="")return S;const C=u.toLowerCase();return S.filter(k=>k.label.toLowerCase().includes(C))},[u,S]),A=(C,k)=>{k.stopPropagation();const M=y.filter(_=>_.value!==C.value);p(M),s==null||s(e.id,M.map(_=>_.value))};return a.jsx("div",{className:"relative w-full",children:a.jsx(he.Combobox,{value:y||[],onChange:C=>{p(C),s==null||s(e.id,C.map(k=>k.value))},multiple:!0,disabled:t,by:"value",children:a.jsxs("div",{className:"relative",children:[a.jsx(he.Combobox.Button,{as:"div",className:"w-full",children:a.jsxs("div",{className:`multiselect-control${t?" disabled":""}`,children:[y.map((C,k)=>a.jsxs("span",{className:"custom-select__chip",children:[C.label,!t&&a.jsx("button",{type:"button",onClick:M=>A(C,M),className:"custom-select__chip-remove",children:a.jsx(de,{icon:"mdi:close",iconClass:"w-3 h-3"})})]},k)),!t&&a.jsx(he.Combobox.Input,{className:"multiselect-search",onChange:C=>b(C.target.value),onFocus:()=>b(""),displayValue:()=>"",placeholder:y.length===0?i!=null?i:"Select options...":"Search..."}),t&&y.length===0&&a.jsx("span",{className:"multiselect-placeholder",children:i!=null?i:"Select options..."})]})}),!t&&a.jsx(he.Combobox.Button,{className:"select-icon",children:f?a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"}):a.jsx(de,{icon:"lucide:chevron-down",iconClass:"text-gray-400"})}),a.jsx(he.Transition,{as:N.Fragment,leave:"fade-leave",leaveFrom:"fade-to",leaveTo:"fade-from",afterLeave:()=>b(""),children:a.jsx(he.Combobox.Options,{anchor:"bottom start",className:"select-button-options",style:{maxHeight:"400px",overflowY:"auto"},children:f&&c.length===0?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0&&u!==""?a.jsx("div",{className:"px-4 py-2 text-sm text-gray-500",children:"No results found."}):x.map((C,k)=>a.jsx(he.Combobox.Option,{value:C,className:({active:M})=>`select-option ${M?"active":""}`,children:({selected:M})=>a.jsxs("div",{className:"flex items-center justify-between w-full",children:[a.jsx("span",{className:`option-text ${M?"selected":""}`,children:C.label}),M?a.jsx("span",{className:"text-blue-600",children:a.jsx(de,{icon:"mdi:check",iconClass:"w-5 h-5"})}):null]})},k))})})]})})})}const Co=["text","number","boolean"],la=["equals","not_equals","contains","not_contains"],Xd=["greater","less"];function Qd({register:e,setValue:n,trigger:i,watch:o,id:s}){const{formData:t}=N.useContext(He),l=o("visibilityDependentFields")||[],r=N.useMemo(()=>{var u;return(u=ta(t).filter(b=>b.id!==s))==null?void 0:u.map(b=>{const c=l.find(m=>m.id===b.id);return{id:b.id,value:b.id,label:b.inputLabel,sectionId:b.sectionId,fieldType:(c==null?void 0:c.fieldType)||"text",operator:(c==null?void 0:c.operator)||"equals",fieldValue:(c==null?void 0:c.fieldValue)!==void 0?c.fieldValue:""}})},[t,l,s]),d=(u,b,c)=>{const m=l==null?void 0:l.map((f,v)=>v===u?{...f,[b]:c}:f);n("visibilityDependentFields",m)};return a.jsxs("div",{className:"flex flex-col gap-4 w-full",children:[a.jsxs("div",{className:"flex flex-col gap-1",children:[a.jsx("label",{className:"text-sm font-semibold text-slate-800",children:"Dependent Fields"}),a.jsx("p",{className:"text-xs text-slate-500 mb-1",children:"Choose which fields this element's visibility should depend on."}),a.jsx(No,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}})]}),l.length>0&&a.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[a.jsxs("div",{className:"hidden sm:flex flex-wrap items-center gap-3 px-4 pt-2 pb-1",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Field"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Type"})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Operator"})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:a.jsx("span",{className:"block text-[10px] font-bold text-slate-400 uppercase tracking-wider",children:"Value"})})]}),l==null?void 0:l.map((u,b)=>{var v,g,S,h;const c=ta(t).find(y=>y.id===u.id),m=["selectField","radio","checkbox","multiSelect","cascadeSelect"].includes(c==null?void 0:c.type),f=(c==null?void 0:c.options)||[];return a.jsxs("div",{className:"group relative flex flex-wrap items-center gap-2 p-2 bg-white/70 backdrop-blur-md border border-slate-200/80 rounded-lg shadow-[0_2px_10px_-4px_rgba(0,0,0,0.1)] hover:border-gray-300/60 transition-all duration-300 ease-out",children:[a.jsx("div",{className:"flex-1 min-w-[120px]",children:a.jsx("input",{type:"text",id:u.label,value:u.label,readOnly:!0,disabled:!0,className:"w-full px-3 py-2.5 bg-slate-100/50 border border-slate-200/80 rounded-lg text-sm text-slate-600 font-medium truncate cursor-not-allowed focus:outline-none"})}),a.jsx("div",{className:"w-[110px]",children:a.jsx("div",{className:"relative",children:a.jsxs(he.Listbox,{value:u.fieldType,onChange:y=>d(b,"fieldType",y),children:[a.jsxs(he.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.fieldType}),a.jsx(de,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(he.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(he.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[120px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:Co==null?void 0:Co.map(y=>a.jsx(he.Listbox.Option,{value:y,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y},y))})})]})})}),a.jsx("div",{className:"w-[140px]",children:a.jsx("div",{className:"relative",children:a.jsxs(he.Listbox,{value:u.operator,onChange:y=>d(b,"operator",y),children:[a.jsxs(he.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate capitalize",children:u.operator.replace("_"," ")}),a.jsx(de,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(he.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(he.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:(v=u.fieldType==="number"?[...la,...Xd]:la)==null?void 0:v.map(y=>a.jsx(he.Listbox.Option,{value:y,className:({active:p})=>`px-4 py-2 text-sm cursor-pointer capitalize transition-colors ${p?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y.replace("_"," ")},y))})})]})})}),a.jsx("div",{className:"flex-1 min-w-[140px]",children:m&&f.length>0?a.jsx("div",{className:"relative",children:a.jsxs(he.Listbox,{value:(g=u.fieldValue)!=null?g:"",onChange:y=>d(b,"fieldValue",y),children:[a.jsxs(he.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate pr-2",children:((S=f.find(y=>y.value===u.fieldValue))==null?void 0:S.label)||"Select value"}),a.jsx(de,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 flex-shrink-0 text-slate-400"})]}),a.jsx(he.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsx(he.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[160px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:f.map((y,p)=>a.jsx(he.Listbox.Option,{value:y.value,className:({active:x})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${x?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:y.label},p))})})]})}):u.fieldType!=="boolean"?a.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:y=>d(b,"fieldValue",y.target.value),placeholder:"Enter value...",className:"w-full px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 transition-colors shadow-sm placeholder-slate-400"}):a.jsx("div",{className:"relative",children:a.jsxs(he.Listbox,{value:(h=u.fieldValue)!=null?h:"",onChange:y=>d(b,"fieldValue",y),children:[a.jsxs(he.Listbox.Button,{className:"w-full flex items-center justify-between px-3 py-2 bg-white border border-slate-200/80 rounded-lg text-sm text-slate-700 font-medium hover:bg-slate-50 hover:border-slate-300 transition-colors focus:outline-none focus:ring-2 focus:ring-gray-500/20 focus:border-gray-500 shadow-sm",children:[a.jsx("span",{className:"block truncate",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),a.jsx(de,{icon:"lucide:chevron-down",iconClass:"w-4 h-4 text-slate-400"})]}),a.jsx(he.Transition,{as:N.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:a.jsxs(he.Listbox.Options,{className:"absolute z-[9999] w-[var(--button-width)] min-w-[150px] mt-2 bg-white/95 backdrop-blur-xl border border-slate-200/80 rounded-lg shadow-lg max-h-60 overflow-auto focus:outline-none py-1",anchor:"bottom start",children:[a.jsx(he.Listbox.Option,{value:!0,className:({active:y})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${y?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"True"}),a.jsx(he.Listbox.Option,{value:!1,className:({active:y})=>`px-4 py-2 text-sm cursor-pointer transition-colors ${y?"bg-gray-50/80 text-gray-700 font-medium":"text-slate-700 hover:bg-slate-50"}`,children:"False"})]})})]})})})]},u.id)})]})]})}function ra(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,s;for(;(s=i.exec(e))!==null;){const l=e.slice(o,s.index);l&&n.push({type:"operator",value:l}),n.push({type:"field",id:s[2],display:s[1]}),o=s.index+s[0].length}const t=e.slice(o);return t&&n.push({type:"operator",value:t}),n}function Rd(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function eu({value:e,onChange:n,fields:i,placeholder:o}){const[s,t]=N.useState(()=>ra(e)),[l,r]=N.useState(null),[d,u]=N.useState(!1),[b,c]=N.useState(""),[m,f]=N.useState(null),v=N.useRef(null),g=N.useRef(null),S=N.useRef(new Map);N.useEffect(()=>{const M=ra(e);t(M)},[]);const h=N.useCallback(M=>{n(Rd(M))},[n]),y=(M,_)=>{const E=[...s];E[M]={type:"operator",value:_},t(E),h(E)},p=M=>{const _=s.filter((E,L)=>L!==M);t(_),h(_)},x=M=>{f(M),c(""),u(!0)},A=(M,_)=>{const E=_!==void 0?_:m!=null?m:s.length,L=[...s],H=L.slice(0,E),T=L.slice(E),P=[...H,{type:"field",id:M.id,display:M.display},...T],I=w(P);t(I),h(I),u(!1),f(null)};function w(M){const _=[];if(M.length===0)return[{type:"operator",value:""}];M[0].type==="field"&&_.push({type:"operator",value:""});for(let E=0;E<M.length;E++)_.push(M[E]),M[E].type==="field"&&(E+1>=M.length||M[E+1].type==="field")&&_.push({type:"operator",value:""});return _}const C=i.filter(M=>M.display.toLowerCase().includes(b.toLowerCase())),k=s.every(M=>M.type==="operator"&&M.value.trim()==="");return a.jsxs("div",{className:"relative",ref:g,children:[a.jsxs("div",{className:"field-control flex flex-wrap items-center gap-1 min-h-[44px] cursor-text",style:{padding:"6px 10px"},onClick:()=>{var _;const M=[...s].reverse().findIndex(E=>E.type==="operator");if(M!==-1){const E=s.length-1-M;(_=S.current.get(E))==null||_.focus()}},children:[k&&a.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),s.map((M,_)=>M.type==="field"?a.jsxs("span",{className:"inline-flex items-center gap-1 bg-blue-100 text-blue-800 text-sm px-2 py-0.5 rounded-full font-medium select-none",children:[M.display,a.jsx("button",{type:"button",onMouseDown:E=>{E.preventDefault(),p(_)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${M.display}`,children:"×"})]},_):a.jsx("input",{ref:E=>{E?S.current.set(_,E):S.current.delete(_)},type:"text",value:M.value,onChange:E=>y(_,E.target.value),onFocus:()=>r(_),onBlur:()=>r(null),className:"border-none outline-none bg-transparent text-sm font-mono p-0 m-0",style:{width:`${Math.max(M.value.length*9+8,l===_?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${_}`},_)),a.jsx("button",{type:"button",onMouseDown:M=>{M.preventDefault(),x(s.length)},className:"inline-flex items-center gap-1 text-xs text-blue-600 hover:text-blue-800 hover:bg-blue-50 px-1.5 py-0.5 rounded transition-colors",title:"Insert a field",children:a.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!k&&a.jsxs("div",{className:"mt-2 text-xs bg-blue-50 text-blue-800 border border-blue-100 rounded px-2 py-1.5 font-mono break-words",children:[a.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),s.map(M=>M.type==="field"?`[${M.display}]`:M.value).join("")]}),d&&a.jsxs(a.Fragment,{children:[a.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),a.jsxs("div",{ref:v,className:"absolute left-0 right-0 z-50 bg-white border border-gray-200 rounded-lg shadow-xl overflow-hidden",style:{top:"calc(100% + 4px)"},children:[a.jsx("div",{className:"p-2 border-b border-gray-100",children:a.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:b,onChange:M=>c(M.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:M=>{M.key==="Escape"&&u(!1),M.key==="Enter"&&C.length>0&&A(C[0])}})}),a.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[C.length===0&&a.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),C.map(M=>a.jsxs("div",{onMouseDown:_=>{_.preventDefault(),A(M)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[a.jsx("span",{className:"font-medium text-gray-800",children:M.display}),a.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[M.id.slice(0,8),"..."]})]},M.id))]})]})]}),i.length>0&&a.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(M=>a.jsxs("button",{type:"button",onMouseDown:_=>{_.preventDefault(),A(M,s.length)},className:"text-xs bg-gray-100 hover:bg-blue-50 hover:text-blue-700 border text-gray-600 px-2 py-0.5 rounded-full transition-colors",children:["+ ",M.display]},M.id))})]})}const nu=["jpg","jpeg","png","gif","bmp","webp","svg","image"],iu=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return nu.includes(n)||e.startsWith("data:image/")?"image":n==="pdf"||e.startsWith("data:application/pdf")?"pdf":["doc","docx"].includes(n)?"word":["xls","xlsx","csv"].includes(n)?"excel":["ppt","pptx"].includes(n)?"powerpoint":"other"},ou={pdf:"vscode-icons:file-type-pdf2",word:"vscode-icons:file-type-word",excel:"vscode-icons:file-type-excel",powerpoint:"vscode-icons:file-type-powerpoint2"};function da({fileUrl:e,fileName:n,removeFile:i}){const[o,s]=N.useState(!1),[t,l]=N.useState("unknown"),[r,d]=N.useState(null);N.useEffect(()=>{e&&l(iu(e))},[e]),N.useEffect(()=>{if(t==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),v=new ArrayBuffer(f.length),g=new Uint8Array(v);for(let y=0;y<f.length;y++)g[y]=f.charCodeAt(y);const S=new Blob([v],{type:"application/pdf"}),h=URL.createObjectURL(S);return d(h),()=>URL.revokeObjectURL(h)}catch(f){console.error("Error creating blob URL:",f)}else d(null)},[e,t]);const u=()=>{t==="image"||t==="pdf"?s(!0):window.open(r||e,"_blank")},b=()=>s(!1),c=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,v="download"){if(!f)return;if(f.startsWith("data:")){const S=document.createElement("a");S.href=f,S.download=v,document.body.appendChild(S),S.click(),document.body.removeChild(S);return}const g=document.createElement("a");g.href=f,g.setAttribute("download",v),document.body.appendChild(g),g.click(),document.body.removeChild(g)}return a.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-4 items-center w-full min-w-0 max-w-full overflow-hidden",children:[a.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3 min-w-0 flex-1 overflow-hidden",title:`Click to preview ${c}`,children:[t==="image"&&a.jsx("div",{className:"flex items-center justify-center shrink-0",children:a.jsx(de,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),t!=="image"&&a.jsx("div",{className:"shrink-0 flex items-center justify-center",children:a.jsx(de,{icon:ou[t],iconClass:"text-4xl"})}),a.jsx("span",{className:"text-sm font-semibold text-gray-700 truncate min-w-0 flex-1 block",children:c})]}),a.jsxs("div",{className:"flex gap-x-1 items-center shrink-0",children:[a.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${c}`,children:a.jsx(de,{icon:"streamline-flex:download-tray-solid"})}),i&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:a.jsx(de,{icon:"lets-icons:trash-duotone"})})]}),o&&a.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:b,children:a.jsxs("div",{className:"relative bg-white p-8 rounded-lg w-full max-w-[90vw] max-h-[90vh] overflow-auto",onClick:f=>f.stopPropagation(),children:[a.jsx("button",{onClick:b,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),t==="image"?a.jsx("img",{src:e,alt:c,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):t==="pdf"?a.jsx("iframe",{src:r||e,title:c,className:"w-full h-[80vh] rounded border"}):null]})})]})}function ua({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:s=null,accept:t=[],maxFileSize:l=5}){const{uploadUrl:r,setApiActivityCount:d}=N.useContext(He),u=N.useRef(null),[b,c]=N.useState(s),[m,f]=N.useState(!1);N.useEffect(()=>{c(s)},[s]);const v=N.useMemo(()=>t==null?void 0:t.map(w=>w.value).join(", "),[t]),g=N.useMemo(()=>t==null?void 0:t.map(w=>w.label).join(", "),[t]),S=N.useCallback(async w=>{var M,_;const C=_e("token"),k=((M=_e("orgData"))==null?void 0:M.id)||_e("organizationId");try{const{data:E}=await Je.post(r,{...w,service:"FORM",organizationId:k||""},{headers:{Authorization:`Bearer ${C}`},defaultMessage:"Failed to upload file(s). Please try again."});return(_=E==null?void 0:E.data)==null?void 0:_.url}catch(E){throw console.error("File upload error:",E),E}},[r]),h=N.useCallback(w=>new Promise((C,k)=>{const M=new FileReader;M.onloadend=async()=>{try{const _=M.result.replace(/^data:.*;base64,/,""),E=r?await S({base64:_,ext:`.${w.name.split(".").pop()}`,fileName:w.name}):M.result;C({base64:E,type:w.type,name:w.name})}catch(_){k(_)}},M.onerror=()=>k(new Error("File read failed")),M.readAsDataURL(w)}),[r,S]),y=N.useCallback(w=>{var M;const C=v?(M=v.split(","))==null?void 0:M.map(_=>_.trim()):[],k=l*1024*1024;for(const _ of w){if(_.size>k)return Te.toast.error(`File "${_.name}" exceeds ${l}MB limit (${(_.size/1024/1024).toFixed(2)}MB)`),!1;if(C.length&&!C.some(E=>{if(E.endsWith("/*")){const L=E.split("/")[0];return _.type.startsWith(`${L}/`)}return _.type===E||_.name.toLowerCase().endsWith(E.replace("*",""))}))return Te.toast.error(`File "${_.name}" is not an allowed type. Allowed: ${g||"any"}`),!1}return!0},[v,g,l]),p=N.useCallback(async w=>{const C=Array.from(w.target.files||[]);if(!(!C.length||m)){if(!y(C)){u.current&&(u.current.value="");return}try{f(!0),d==null||d(_=>_+1);const k=await Promise.all(C==null?void 0:C.map(h)),M=o&&b?[...b,...k]:k;c(M),e(M),Te.toast.success(`Successfully uploaded ${C.length} file(s)`)}catch(k){console.error("Upload error:",k)}finally{f(!1),d==null||d(k=>Math.max(0,k-1)),u.current&&(u.current.value="")}}},[m,y,h,e,o,b,d]),x=N.useCallback(w=>{m||(u.current&&(u.current.value=""),c(C=>{const k=w===void 0?null:(C==null?void 0:C.filter((M,_)=>_!==w))||null;return e(k),k}),i==null||i())},[i,e,m]),A=b&&b.length>0;return a.jsxs("div",{className:"flex flex-col gap-2 w-full min-w-0 max-w-full",children:[!n&&!(A&&!o)&&a.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative w-full",children:[a.jsx("input",{ref:u,type:"file",onChange:p,disabled:n||m,multiple:o,accept:v||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
23
23
  file:rounded-[6px] file:py-[6px] file:border-0\r
24
24
  file:text-sm file:font-semibold\r
25
25
  file:bg-blue-50 file:text-blue-700\r
26
- hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),k&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>p(),disabled:m,"aria-label":"Remove all files",children:a.jsx(be,{icon:"lets-icons:trash-duotone"})})]}),(k||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${k?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof b=="object"&&(b==null?void 0:b.map((S,C)=>a.jsx(la,{fileUrl:S.base64,fileName:S.name,removeFile:()=>p(C)},`${S.name}-${C}`)))]})]})}const iu=ne.object().shape({inputLabel:ne.string().nullable(),minLabel:ne.string().nullable(),maxLabel:ne.string().nullable(),placeholder:ne.string().nullable(),description:ne.string().nullable(),isReadOnly:ne.boolean(),isDisabled:ne.boolean(),isRequired:ne.boolean(),requiredMessage:ne.string().nullable(),minLengthMessage:ne.string().nullable(),maxLengthMessage:ne.string().nullable(),maxLength:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:ne.boolean(),inputType:ne.string().nullable(),maxAmountMessage:ne.string().nullable(),maxAmount:ne.string().nullable(),options:ne.array().of(ne.object().shape({label:ne.string().nullable(),value:ne.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:ne.array().of(ne.object().shape({label:ne.string().nullable(),value:ne.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:ne.string().nullable(),url:ne.string().nullable(),method:ne.string().nullable(),denominators:ne.mixed().nullable(),responseType:ne.string().nullable(),minAmount:ne.string().nullable(),heading:ne.string().nullable(),minAmountMessage:ne.string().nullable(),columns:ne.number().nullable().max(4).min(2),value:ne.mixed().nullable(),customClass:ne.string().nullable(),elementClass:ne.string().nullable(),apiUrl:ne.string().nullable(),selectType:ne.string().default("list"),dateType:ne.string().default("basic"),validationUrl:ne.string(),signatureLink:ne.string(),minDate:ne.string().nullable(),maxDate:ne.string().nullable(),canHaveDateRange:ne.boolean(),allowYearPicker:ne.boolean(),is24Hour:ne.boolean(),isHidden:ne.boolean(),visibilityDependentFields:ne.array().nullable(),isMultiple:ne.boolean(),acceptedFiles:ne.array(),maxFileSize:ne.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:ne.boolean(),formula:ne.string().nullable(),fetchExternalResults:ne.boolean(),externalApiUrl:ne.string().nullable(),valueSource:ne.string().nullable(),sourceFieldId:ne.string().nullable()}),ou=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],su=({isOpen:e,onClose:n,element:i})=>{var W,R,me,Q;const o=ou.filter(Y=>!hi.includes(i.inputType)||Y.key!=="validation"),{updateElement:s,formData:t,deleteMode:l}=N.useContext(Fe),[r,d]=N.useState("basic"),[u,b]=N.useState(!1),[c,m]=N.useState("manual"),f=((me=(R=(W=t==null?void 0:t.filter(Y=>!(Y!=null&&Y.isFieldDeleted)))==null?void 0:W.flatMap(Y=>(Y==null?void 0:Y.questionData)||[]))==null?void 0:R.filter(Y=>!(Y!=null&&Y.isFieldDeleted)))==null?void 0:me.length)||0,v=N.useMemo(()=>{var Y;return((Y=t==null?void 0:t.filter(X=>!(X!=null&&X.isFieldDeleted)))==null?void 0:Y.flatMap(X=>(X==null?void 0:X.questionData)||[]).filter(X=>{var te;return!(X!=null&&X.isFieldDeleted)&&X.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((te=X.type)==null?void 0:te.toLowerCase())}).map(X=>({id:X.id,display:X.inputLabel||X.label||"Unnamed"})))||[]},[f,i==null?void 0:i.id]),x=Be("config"),{register:g,handleSubmit:y,control:w,setValue:h,watch:p,trigger:k,formState:{errors:S,isSubmitting:C,isValid:A},reset:E}=Re.useForm({resolver:fo(iu),defaultValues:{...i,options:i.options||[]}}),P=p(),{fields:M,append:B,remove:F}=Re.useFieldArray({control:w,name:"options"}),{fields:T,append:L,remove:_}=Re.useFieldArray({control:w,name:"options1"}),{fields:D,append:O,remove:I}=Re.useFieldArray({control:w,name:"dataColumns"});N.useEffect(()=>{e||E()},[e,E]);const $=Y=>{s(Y,i.sectionId),n()},j=N.useRef(null),G=N.useCallback(async()=>{var X;if(!P.apiUrl||!/^https?:\/\//.test(P.apiUrl)){Ne.toast.info("Please provide a valid API URL");return}j.current&&j.current.abort();const Y=new AbortController;j.current=Y;try{b(!0);const H={headers:{Authorization:`Bearer ${Be("token")}`},signal:Y.signal,defaultMessage:"Unable to load options"},{status:q,data:z}=await qe.get(P.apiUrl,H);if(q!==200||!z){Ne.toast.error("Unexpected response from server.");return}const K=z.data||z.record||z.result;if(!Array.isArray(K)){Ne.toast.error("Expected an array in response (data, record, or result).");return}((X=i.type)==null?void 0:X.toLowerCase())==="datagrid"?h("dataColumns",go(K)):h("options",po(K))}catch(te){qe.isCancel(te)||console.error(te)}finally{j.current===Y&&b(!1)}},[i.type,h,P.apiUrl]),V=["manual","api","sheet"];function Z(){c==="api"&&G()}const se=()=>{var Y,X;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:V==null?void 0:V.map(te=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:H=>m(H.target.value),value:te})," ",a.jsxs("span",{children:[te," options"]})]},te))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(he,{watch:p,label:"Load Options from Api",name:"apiUrl",errors:S,register:g,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),u&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:Z,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx(Wd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:h,name:"options"})}),c==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((Y=i==null?void 0:i.type)==null?void 0:Y.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),M==null?void 0:M.map((te,H)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:H===0?"Label":"",name:`options.${H}.label`,register:g,errors:S,element:i,placeholder:"Label",onChange:q=>{const K=q.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");h(`options.${H}.value`,K,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:H===0?"Value":"",name:`options.${H}.value`,register:g,errors:S,element:i,placeholder:"Value"})}),a.jsx("button",{disabled:M.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${H===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>F(H),children:a.jsx(be,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[H===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ra,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:q=>{q&&q.length>0?h(`options.${H}.imageUrl`,q[0].base64,{shouldDirty:!0,shouldValidate:!0}):h(`options.${H}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:p(`options.${H}.imageUrl`)?[{base64:p(`options.${H}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(he,{watch:p,label:"",name:`options.${H}.imageUrl`,register:g,errors:S,element:i})})]})]})]},te.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>B({label:"",value:"",id:Te.v4()}),children:[a.jsx(be,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((X=i==null?void 0:i.type)==null?void 0:X.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),T==null?void 0:T.map((te,H)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:H===0?"Label":"",name:`options1.${H}.label`,register:g,errors:S,element:i,placeholder:"Label",onChange:q=>{const K=q.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");h(`options1.${H}.value`,K,{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:H===0?"Value":"",name:`options1.${H}.value`,register:g,errors:S,element:i,placeholder:"Value"})}),a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:H===0?"Key":"",name:`options1.${H}.key`,register:g,errors:S,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:T.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>_(H),children:a.jsx(be,{icon:"iconamoon:sign-times-fill"})})]},te.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>L({label:"",value:"",key:"",id:Te.v4()}),children:[a.jsx(be,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},le=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:V==null?void 0:V.map(Y=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:X=>m(X.target.value),value:Y,checked:Y===c})," ",a.jsxs("span",{children:[Y," options"]})]},Y))}),c==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(he,{watch:p,label:"Load Columns from Api",name:"apiUrl",errors:S,register:g,className:"!w-full",placeholder:"https://example.com/columns"}),u&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:Z,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(jd,{})]}),c==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(oa,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:h,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:D==null?void 0:D.map((Y,X)=>{var z,K,U,ae,J,re,ie,oe;if(((K=(z=P.dataColumns)==null?void 0:z[X])==null?void 0:K.isColumnDeleted)||((ae=(U=P.dataColumns)==null?void 0:U[X])==null?void 0:ae.isFieldDeleted)||(Y==null?void 0:Y.isColumnDeleted)||(Y==null?void 0:Y.isFieldDeleted))return null;const H=D.findIndex((ue,ge)=>{var we,ce,de,Ae;return!(((ce=(we=P.dataColumns)==null?void 0:we[ge])==null?void 0:ce.isColumnDeleted)||((Ae=(de=P.dataColumns)==null?void 0:de[ge])==null?void 0:Ae.isFieldDeleted)||(ue==null?void 0:ue.isColumnDeleted)||(ue==null?void 0:ue.isFieldDeleted))}),q=D.filter((ue,ge)=>{var we,ce,de,Ae;return!(((ce=(we=P.dataColumns)==null?void 0:we[ge])==null?void 0:ce.isColumnDeleted)||((Ae=(de=P.dataColumns)==null?void 0:de[ge])==null?void 0:Ae.isFieldDeleted)||(ue==null?void 0:ue.isColumnDeleted)||(ue==null?void 0:ue.isFieldDeleted))}).length;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(an,{label:X===H?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:g,name:`dataColumns.${X}.type`,setValue:h,trigger:k,value:(re=(J=P.dataColumns)==null?void 0:J[X])==null?void 0:re.type})}),a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:X===H?"Display header":"",name:`dataColumns.${X}.headerName`,register:g,onChange:ue=>{const fe=ue.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");h(`dataColumns.${X}.field`,fe,{shouldValidate:!0,shouldDirty:!0})},errors:S,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:X===H?"Field key":"",name:`dataColumns.${X}.field`,register:g,errors:S,element:i,placeholder:"fieldKey",disabled:!0})}),a.jsx("button",{disabled:q<=1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>{l==="isFieldDeleted"||l==="soft"?h(`dataColumns.${X}.isColumnDeleted`,!0,{shouldValidate:!0,shouldDirty:!0}):I(X)},children:a.jsx(be,{icon:"iconamoon:sign-times-fill"})})]}),((oe=(ie=P.dataColumns)==null?void 0:ie[X])==null?void 0:oe.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Options API URL",name:`dataColumns.${X}.optionsUrl`,register:g,errors:S,element:i,placeholder:"https://api.example.com/options"})})})]},Y.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>O({headerName:"",field:"",editable:!0,id:Te.v4(),type:"text",validate:!1}),children:[a.jsx(be,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),ee=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:Y=>Y.stopPropagation(),onPointerDown:Y=>Y.stopPropagation(),onDragStart:Y=>{Y.preventDefault(),Y.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(be,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(Ad,{tabs:o,setActiveTab:d,activeTab:r,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:y($),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[r==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ho.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(he,{watch:p,label:"Value",name:"value",register:g,errors:S,element:i})}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(he,{watch:p,label:"Label",name:"inputLabel",register:g,errors:S,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(he,{watch:p,label:"Child Label",name:"childLabel",register:g,errors:S,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(he,{watch:p,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:g,errors:S,element:i,placeholder:"Not at all likely"}),a.jsx(he,{watch:p,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:g,errors:S,element:i,placeholder:"Extremely likely"})]})]}),_d.includes(i.inputType)&&a.jsx(he,{watch:p,label:"Placeholder",name:"placeholder",register:g,errors:S,element:i}),Id.includes(i.inputType)&&a.jsx(he,{watch:p,label:"Prefix",name:"prefix",register:g,errors:S,element:i}),Vd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(an,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:g,name:"valueSource",setValue:h,trigger:k,value:p("valueSource")||"manual"}),p("valueSource")==="field"&&a.jsx(an,{label:"Source Field",options:v.map(Y=>({label:Y.display,value:Y.id})),register:g,name:"sourceFieldId",setValue:h,trigger:k,value:p("sourceFieldId")})]}),Hd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx($d,{}),a.jsx(he,{watch:p,label:"Api Url",name:"url",register:g,errors:S,element:i}),a.jsx(an,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:g,name:"method",setValue:h,trigger:k,value:p("method")}),a.jsx(an,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:g,name:"responseType",setValue:h,trigger:k,value:p("responseType")})]}),Kd.includes(i.inputType)&&a.jsx(zd,{onChange:Y=>{h("denominators",Y)},value:p("denominators")}),!ho.includes(i.inputType)&&!hi.includes(i.inputType)&&a.jsx(he,{watch:p,label:"Short Description",name:"description",register:g,errors:S,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(an,{label:"Date Format",options:Bd,register:g,name:"dateFormat",setValue:h,trigger:k,value:p("dateFormat")}),a.jsx(he,{watch:p,label:"Allow Range",name:"canHaveDateRange",register:g,errors:S,element:i,type:"checkbox",value:P.canHaveDateRange}),(P==null?void 0:P.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(yo,{name:"minDate",value:P==null?void 0:P.minDate,onGetValue:h,placeholder:"Select min date"}),a.jsx(yo,{name:"maxDate",value:P==null?void 0:P.minDate,onGetValue:h,placeholder:"Select max date",minDate:P==null?void 0:P.minDate})]}),a.jsx(he,{watch:p,label:"Allow Year Picker",name:"allowYearPicker",register:g,errors:S,element:i,type:"checkbox",value:P.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(he,{watch:p,label:"24 Hour Format",name:"is24Hour",register:g,errors:S,element:i,type:"checkbox",value:P.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(he,{watch:p,label:"Allow States",name:"showState",register:g,errors:S,element:i,type:"checkbox",value:P.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(an,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:g,name:"selectType",setValue:h,trigger:k,value:p("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(he,{watch:p,label:"Minimum Options Checked",name:"minChecked",register:g,errors:S,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(he,{watch:p,label:"Require All Checked",name:"requireAllChecked",register:g,errors:S,element:i,type:"checkbox",value:P.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(he,{watch:p,label:"Number of columns (max: 4)",name:"columns",register:g,errors:S,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(he,{watch:p,label:"Document Options Url",name:"url",register:g,errors:S,element:i})," ",a.jsx(Ud,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(he,{watch:p,label:"Document Validation Url",name:"validationUrl",register:g,errors:S,element:i}),a.jsx(qd,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(he,{watch:p,label:"Signature Page Url",name:"signatureLink",register:g,errors:S,element:i})})]}),i.type.toLowerCase()==="datagrid"&&le(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(he,{watch:p,label:"Allow Multiple Uploads",name:"isMultiple",register:g,errors:S,element:i,type:"checkbox",value:P.isMultiple}),a.jsx(xo,{element:{options:Gd,id:"acceptedFiles",value:P==null?void 0:P.acceptedFiles},validationData:{register:g,setValue:h,trigger:k,watch:p},placeholder:"Choose file types"}),a.jsx(he,{watch:p,label:"Max File Size (MB)",name:"maxFileSize",register:g,errors:S,element:i,type:"number"})]}),Fd.includes(i.inputType)&&se(),!["spacer","divider","section","grid"].includes((Q=i.type)==null?void 0:Q.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Disabled",name:"isDisabled",register:g,errors:S,element:i,type:"checkbox",value:P.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Read Only",name:"isReadOnly",register:g,errors:S,element:i,type:"checkbox",value:P.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(he,{watch:p,label:"Toggle Visibility",name:"isHidden",register:g,errors:S,element:i,type:"checkbox",value:P.isHidden})})," ",P.isHidden&&a.jsx(Zd,{register:g,setValue:h,trigger:k,watch:p,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(Qd,{value:p("formula")||"",onChange:Y=>h("formula",Y,{shouldValidate:!0,shouldDirty:!0}),fields:v,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(he,{watch:p,label:"Fetch results from external API",name:"fetchExternalResults",register:g,errors:S,element:i,type:"checkbox",value:P.fetchExternalResults}),P.fetchExternalResults&&a.jsx(he,{watch:p,label:"External API URL (returns options results)",name:"externalApiUrl",register:g,errors:S,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!hi.includes(i.type.toLowerCase())&&r==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Required",name:"isRequired",register:g,errors:S,element:i,type:"checkbox",value:P.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Error message text",name:"requiredMessage",register:g,errors:S,element:i})})]}),Dd.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Min Length",name:"minLength",register:g,errors:S,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Error message text",name:"minLengthMessage",register:g,errors:S,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Max Length",name:"maxLength",register:g,errors:S,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Error message text",name:"maxLengthMessage",register:g,errors:S,element:i})})]})]}),Od.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Min Amount",name:"minAmount",register:g,errors:S,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Error message text",name:"minAmountMessage",register:g,errors:S,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(he,{watch:p,label:"Max Amount",name:"maxAmount",register:g,errors:S,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(he,{watch:p,label:"Error message text",name:"maxAmountMessage",register:g,errors:S,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!A||C,style:{background:(x==null?void 0:x.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!A||C?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!A||C?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:C?"Saving...":"Save"})]})]})]})});return document.body?xr.createPortal(ee,document.body):ee},wo=N.memo(({state:e,element:n,children:i})=>{var c,m;const[o,s]=N.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=N.useContext(Fe),u=N.useMemo(()=>{var f;return(f=n==null?void 0:n.acceptedFiles)==null?void 0:f.map(v=>v.label).join(", ")},[n]),b=N.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(su,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((c=n.type)==null?void 0:c.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:f=>r({...n,isRequired:f.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(be,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(be,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(be,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:b,title:"Remove",children:a.jsx(be,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});wo.displayName="ElementContainer";function au({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(yo,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const tu=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=N.useState(e||null),d=Be("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";N.useEffect(()=>{e!==l&&r(e||null)},[e]);const b=w=>{r(w),n&&n(o,w)},c=t?Array.from({length:24},(w,h)=>h.toString().padStart(2,"0")):Array.from({length:12},(w,h)=>(h===0?12:h).toString().padStart(2,"0")),m=Array.from({length:60},(w,h)=>h.toString().padStart(2,"0")),f=["AM","PM"];let v="12",x="00",g="AM";if(l){const[w,h]=l.split(" ");if(w){const[p,k]=w.split(":");p&&(v=p.padStart(2,"0")),k&&(x=k.padStart(2,"0"))}h&&(g=h.toUpperCase())}const y=(w,h,p)=>{const k=t?`${w}:${h}`:`${w}:${h} ${p}`;b(k)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
26
+ hover:file:bg-blue-100 disabled:opacity-80 disabled:cursor-not-allowed`}),A&&a.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-80",onClick:()=>x(),disabled:m,"aria-label":"Remove all files",children:a.jsx(de,{icon:"lets-icons:trash-duotone"})})]}),(A||m)&&a.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full min-h-[40px]",children:[m&&a.jsx("div",{className:`z-10 flex items-center justify-center bg-white/60 rounded ${A?"absolute inset-0":"p-1 border border-dashed border-gray-300"}`,children:a.jsxs("div",{className:"flex items-center gap-x-2 text-xs text-blue-600 font-medium",children:[a.jsx("span",{className:"animate-spin h-3 w-3 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof b=="object"&&(b==null?void 0:b.map((w,C)=>a.jsx(da,{fileUrl:w.base64,fileName:w.name,removeFile:()=>x(C)},`${w.name}-${C}`)))]})]})}const su=ie.object().shape({inputLabel:ie.string().nullable(),minLabel:ie.string().nullable(),maxLabel:ie.string().nullable(),placeholder:ie.string().nullable(),description:ie.string().nullable(),isReadOnly:ie.boolean(),isDisabled:ie.boolean(),isRequired:ie.boolean(),requiredMessage:ie.string().nullable(),minLengthMessage:ie.string().nullable(),maxLengthMessage:ie.string().nullable(),maxLength:ie.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minLength:ie.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),minChecked:ie.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),requireAllChecked:ie.boolean(),inputType:ie.string().nullable(),maxAmountMessage:ie.string().nullable(),maxAmount:ie.string().nullable(),options:ie.array().of(ie.object().shape({label:ie.string().nullable(),value:ie.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),options1:ie.array().of(ie.object().shape({label:ie.string().nullable(),value:ie.string().when("label",{is:e=>e&&e.length>0,then:e=>e.required("Value is required when label is present"),otherwise:e=>e.nullable()})})).when("inputType",{is:e=>["radio","checkbox"].includes(e),then:e=>e.required("Options are required for radio or checkbox inputs"),otherwise:e=>e.nullable()}),prefix:ie.string().nullable(),url:ie.string().nullable(),method:ie.string().nullable(),denominators:ie.mixed().nullable(),responseType:ie.string().nullable(),minAmount:ie.string().nullable(),heading:ie.string().nullable(),minAmountMessage:ie.string().nullable(),columns:ie.number().nullable().max(4).min(2),value:ie.mixed().nullable(),customClass:ie.string().nullable(),elementClass:ie.string().nullable(),apiUrl:ie.string().nullable(),selectType:ie.string().default("list"),dateType:ie.string().default("basic"),validationUrl:ie.string(),signatureLink:ie.string(),minDate:ie.string().nullable(),maxDate:ie.string().nullable(),canHaveDateRange:ie.boolean(),allowYearPicker:ie.boolean(),is24Hour:ie.boolean(),isHidden:ie.boolean(),visibilityDependentFields:ie.array().nullable(),isMultiple:ie.boolean(),acceptedFiles:ie.array(),maxFileSize:ie.number().transform((e,n)=>String(n).trim()===""?null:e).typeError("Expecting a number").nullable(),showState:ie.boolean(),formula:ie.string().nullable(),fetchExternalResults:ie.boolean(),externalApiUrl:ie.string().nullable(),valueSource:ie.string().nullable(),sourceFieldId:ie.string().nullable()}),au=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],tu=({isOpen:e,onClose:n,element:i})=>{var ye,Y,J,U;const o=au.filter(F=>!gi.includes(i.inputType)||F.key!=="validation"),{updateElement:s,formData:t,deleteMode:l,mode:r="edit"}=N.useContext(He),[d,u]=N.useState("basic"),[b,c]=N.useState(!1),[m,f]=N.useState("manual"),v=((J=(Y=(ye=t==null?void 0:t.filter(F=>!(F!=null&&F.isFieldDeleted)))==null?void 0:ye.flatMap(F=>(F==null?void 0:F.questionData)||[]))==null?void 0:Y.filter(F=>!(F!=null&&F.isFieldDeleted)))==null?void 0:J.length)||0,g=N.useMemo(()=>{var F;return((F=t==null?void 0:t.filter(K=>!(K!=null&&K.isFieldDeleted)))==null?void 0:F.flatMap(K=>(K==null?void 0:K.questionData)||[]).filter(K=>{var W;return!(K!=null&&K.isFieldDeleted)&&K.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((W=K.type)==null?void 0:W.toLowerCase())}).map(K=>({id:K.id,display:K.inputLabel||K.label||"Unnamed"})))||[]},[v,i==null?void 0:i.id]),S=_e("config"),{register:h,handleSubmit:y,control:p,setValue:x,watch:A,trigger:w,formState:{errors:C,isSubmitting:k,isValid:M},reset:_}=nn.useForm({resolver:go(su),defaultValues:{...i,options:i.options||[]}}),E=A(),{fields:L,append:H,remove:T}=nn.useFieldArray({control:p,name:"options"}),{fields:P,append:I,remove:D}=nn.useFieldArray({control:p,name:"options1"}),{fields:O,append:B,remove:G}=nn.useFieldArray({control:p,name:"dataColumns"}),q=N.useRef(new Set),V=N.useRef(new Set),z=N.useRef(new Set),X=N.useRef(new Set),oe=N.useRef(new Set),se=N.useRef(new Set);N.useEffect(()=>{e&&(q.current=new Set(((i==null?void 0:i.dataColumns)||[]).map(F=>F.id||F.field).filter(Boolean)),V.current=new Set(((i==null?void 0:i.options)||[]).map(F=>F.id||F.value).filter(Boolean)),z.current=new Set(((i==null?void 0:i.options1)||[]).map(F=>F.id||F.value).filter(Boolean)),X.current.clear(),oe.current.clear(),se.current.clear())},[e,i]),N.useEffect(()=>{e||_()},[e,_]);const ne=F=>{s(F,i.sectionId),n()},$=N.useRef(null),ee=N.useCallback(async()=>{var K;if(!E.apiUrl||!/^https?:\/\//.test(E.apiUrl)){Te.toast.info("Please provide a valid API URL");return}$.current&&$.current.abort();const F=new AbortController;$.current=F;try{c(!0);const j={headers:{Authorization:`Bearer ${_e("token")}`},signal:F.signal,defaultMessage:"Unable to load options"},{status:Z,data:Q}=await Je.get(E.apiUrl,j);if(Z!==200||!Q){Te.toast.error("Unexpected response from server.");return}const ae=Q.data||Q.record||Q.result;if(!Array.isArray(ae)){Te.toast.error("Expected an array in response (data, record, or result).");return}((K=i.type)==null?void 0:K.toLowerCase())==="datagrid"?x("dataColumns",So(ae)):x("options",xo(ae))}catch(W){Je.isCancel(W)||console.error(W)}finally{$.current===F&&c(!1)}},[i.type,x,E.apiUrl]),le=["manual","api","sheet"];function R(){m==="api"&&ee()}const ge=()=>{var F,K;return a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:le==null?void 0:le.map(W=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:j=>f(j.target.value),value:W})," ",a.jsxs("span",{children:[W," options"]})]},W))}),m==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ve,{watch:A,label:"Load Options from Api",name:"apiUrl",errors:C,register:h,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),b&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]}),!(i.type==="multiSelect"||i.type==="selectField")&&a.jsx("button",{onClick:R,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),i.type==="multiSelect"||i.type==="selectField"?a.jsx("p",{className:"text-xs text-blue-500 mb-2",children:"Options will be loaded dynamically at runtime."}):a.jsx(Ud,{})]}),m==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(aa,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:x,name:"options"})}),m==="manual"&&a.jsxs("div",{children:[a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((F=i==null?void 0:i.type)==null?void 0:F.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),L==null?void 0:L.map((W,j)=>a.jsxs("div",{className:"mb-6 pb-6 border-b border-gray-200 last:mb-0 last:pb-0 last:border-0",children:[a.jsxs("div",{className:"flex items-start gap-x-4",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:j===0?"Label":"",name:`options.${j}.label`,register:h,errors:C,element:i,placeholder:"Label",onChange:Z=>{var pe,Se,te,me;const Q=Z.target.value,ae=((Se=(pe=E.options)==null?void 0:pe[j])==null?void 0:Se.id)||W.id,be=V.current.has(ae)||!!((me=(te=i.options)==null?void 0:te[j])!=null&&me.value);(r==="create"||!be&&!oe.current.has(ae))&&x(`options.${j}.value`,$n(Q),{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:j===0?"Value":"",name:`options.${j}.value`,register:h,errors:C,element:i,placeholder:"Value",onChange:()=>{var Q,ae;const Z=((ae=(Q=E.options)==null?void 0:Q[j])==null?void 0:ae.id)||W.id;oe.current.add(Z)}})}),a.jsx("button",{disabled:L.length===1,type:"button",className:`outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed ${j===0?"mt-[34px]":"mt-[10px]"}`,onClick:()=>T(j),children:a.jsx(de,{icon:"iconamoon:sign-times-fill",iconClass:"text-gray-400 hover:text-red-500 text-lg transition-colors"})})]}),i.inputType==="imageChoice"&&a.jsxs("div",{className:"mt-3 pr-[36px]",children:[j===0&&a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest mb-1.5",children:"Image Upload"}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(ua,{multiple:!1,accept:[{value:"image/*",label:"All Images"},{value:"image/jpeg",label:"JPEG"},{value:"image/png",label:"PNG"},{value:"image/gif",label:"GIF"},{value:"image/webp",label:"WebP"},{value:"image/svg+xml",label:"SVG"}],onFileLoaded:Z=>{Z&&Z.length>0?x(`options.${j}.imageUrl`,Z[0].base64,{shouldDirty:!0,shouldValidate:!0}):x(`options.${j}.imageUrl`,"",{shouldDirty:!0,shouldValidate:!0})},list:A(`options.${j}.imageUrl`)?[{base64:A(`options.${j}.imageUrl`),name:"Uploaded Image",type:"image"}]:[]}),a.jsx("div",{className:"flex-1 hidden",children:a.jsx(ve,{watch:A,label:"",name:`options.${j}.imageUrl`,register:h,errors:C,element:i})})]})]})]},W.id))," ",a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>H({label:"",value:"",id:Oe.v4()}),children:[a.jsx(de,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx("hr",{className:"my-5"}),a.jsxs("div",{children:[" ",a.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((K=i==null?void 0:i.type)==null?void 0:K.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),P==null?void 0:P.map((W,j)=>a.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:j===0?"Label":"",name:`options1.${j}.label`,register:h,errors:C,element:i,placeholder:"Label",onChange:Z=>{var pe,Se,te,me;const Q=Z.target.value,ae=((Se=(pe=E.options1)==null?void 0:pe[j])==null?void 0:Se.id)||W.id,be=z.current.has(ae)||!!((me=(te=i.options1)==null?void 0:te[j])!=null&&me.value);(r==="create"||!be&&!se.current.has(ae))&&x(`options1.${j}.value`,$n(Q),{shouldValidate:!0,shouldDirty:!0})}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:j===0?"Value":"",name:`options1.${j}.value`,register:h,errors:C,element:i,placeholder:"Value",onChange:()=>{var Q,ae;const Z=((ae=(Q=E.options1)==null?void 0:Q[j])==null?void 0:ae.id)||W.id;se.current.add(Z)}})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:j===0?"Key":"",name:`options1.${j}.key`,register:h,errors:C,element:i,placeholder:"Key"})}),a.jsx("button",{disabled:P.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>D(j),children:a.jsx(de,{icon:"iconamoon:sign-times-fill"})})]},W.id)),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>I({label:"",value:"",key:"",id:Oe.v4()}),children:[a.jsx(de,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},ce=()=>a.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[a.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:le==null?void 0:le.map(F=>a.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[a.jsx("input",{type:"radio",name:"optionType",onChange:K=>f(K.target.value),value:F,checked:F===m})," ",a.jsxs("span",{children:[F," options"]})]},F))}),m==="api"&&a.jsxs("div",{className:"mb-4",children:[a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[a.jsx(ve,{watch:A,label:"Load Columns from Api",name:"apiUrl",errors:C,register:h,className:"!w-full",placeholder:"https://example.com/columns"}),b&&a.jsx("div",{className:"absolute w-4 h-4 mt-1 border-2 border-blue-500 rounded-full border-t-transparent animate-spin right-3 top-1/2"})]})," ",a.jsx("button",{onClick:R,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),a.jsx(qd,{})]}),m==="sheet"&&a.jsx("div",{className:"mb-4",children:a.jsx(aa,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:x,name:"dataColumns"})}),a.jsx("div",{className:"grid gap-y-3",children:O==null?void 0:O.map((F,K)=>{var Q,ae,be,fe,pe,Se,te,me;if(((ae=(Q=E.dataColumns)==null?void 0:Q[K])==null?void 0:ae.isColumnDeleted)||((fe=(be=E.dataColumns)==null?void 0:be[K])==null?void 0:fe.isFieldDeleted)||(F==null?void 0:F.isColumnDeleted)||(F==null?void 0:F.isFieldDeleted))return null;const j=O.findIndex((we,Ee)=>{var Pe,Ce,Ae,Me;return!(((Ce=(Pe=E.dataColumns)==null?void 0:Pe[Ee])==null?void 0:Ce.isColumnDeleted)||((Me=(Ae=E.dataColumns)==null?void 0:Ae[Ee])==null?void 0:Me.isFieldDeleted)||(we==null?void 0:we.isColumnDeleted)||(we==null?void 0:we.isFieldDeleted))}),Z=O.filter((we,Ee)=>{var Pe,Ce,Ae,Me;return!(((Ce=(Pe=E.dataColumns)==null?void 0:Pe[Ee])==null?void 0:Ce.isColumnDeleted)||((Me=(Ae=E.dataColumns)==null?void 0:Ae[Ee])==null?void 0:Me.isFieldDeleted)||(we==null?void 0:we.isColumnDeleted)||(we==null?void 0:we.isFieldDeleted))}).length;return a.jsxs("div",{className:"flex flex-col gap-2 border-b border-gray-100 pb-2 mb-2 last:border-0 last:pb-0 last:mb-0",children:[a.jsxs("div",{className:"flex items-center gap-x-4",children:[a.jsx("div",{className:"min-w-[140px]",children:a.jsx(ln,{label:K===j?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:h,name:`dataColumns.${K}.type`,setValue:x,trigger:w,value:(Se=(pe=E.dataColumns)==null?void 0:pe[K])==null?void 0:Se.type})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:K===j?"Display header":"",name:`dataColumns.${K}.headerName`,register:h,onChange:we=>{var Ae,Me,Ye,ao;const Ee=we.target.value,Ie=((Me=(Ae=E.dataColumns)==null?void 0:Ae[K])==null?void 0:Me.id)||F.id,Pe=q.current.has(Ie)||!!((ao=(Ye=i.dataColumns)==null?void 0:Ye[K])!=null&&ao.field);(r==="create"||!Pe&&!X.current.has(Ie))&&x(`dataColumns.${K}.field`,$n(Ee),{shouldValidate:!0,shouldDirty:!0})},errors:C,element:i,placeholder:"header"})}),a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:K===j?"Field key":"",name:`dataColumns.${K}.field`,register:h,errors:C,element:i,placeholder:"fieldKey",onChange:()=>{var Ee,Ie;const we=((Ie=(Ee=E.dataColumns)==null?void 0:Ee[K])==null?void 0:Ie.id)||F.id;X.current.add(we)}})}),a.jsx("button",{disabled:Z<=1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>{l==="isFieldDeleted"||l==="soft"?x(`dataColumns.${K}.isColumnDeleted`,!0,{shouldValidate:!0,shouldDirty:!0}):G(K)},children:a.jsx(de,{icon:"iconamoon:sign-times-fill"})})]}),((me=(te=E.dataColumns)==null?void 0:te[K])==null?void 0:me.type)==="select"&&a.jsx("div",{className:"flex items-center gap-x-4",children:a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Options API URL",name:`dataColumns.${K}.optionsUrl`,register:h,errors:C,element:i,placeholder:"https://api.example.com/options"})})})]},F.id)})}),a.jsxs("div",{children:[" ",a.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>B({headerName:"",field:"",editable:!0,id:Oe.v4(),type:"text",validate:!1}),children:[a.jsx(de,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),re=a.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:F=>F.stopPropagation(),onPointerDown:F=>F.stopPropagation(),onDragStart:F=>{F.preventDefault(),F.stopPropagation()},children:a.jsxs("div",{className:"w-full lg:w-2/3 xl:w-2/5 bg-white h-screen shadow-xl relative flex flex-col items-center",children:[a.jsx("button",{className:"bg-white h-10 w-10 flex justify-center items-center absolute top-1 -left-12 rounded-lg hover:bg-gray-50",onClick:n,children:a.jsx(de,{icon:"tabler:x",iconClass:"text-xl"})}),a.jsx("div",{className:"w-full pt-4",children:a.jsx(Ed,{tabs:o,setActiveTab:u,activeTab:d,className:"justify-start !text-left",btnClass:" !text-left"})}),a.jsxs("form",{onSubmit:y(ne),className:"w-full flex-1 flex flex-col",autoComplete:"off",children:[a.jsxs("div",{className:"flex-1",children:[" ",a.jsxs("div",{className:"config_box max-h-[83vh] overflow-y-auto flex-1",children:[d==="basic"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[yo.includes(i.inputType)&&a.jsx(a.Fragment,{children:a.jsx(ve,{watch:A,label:"Value",name:"value",register:h,errors:C,element:i})}),!yo.includes(i.inputType)&&!gi.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:A,label:"Label",name:"inputLabel",register:h,errors:C,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&a.jsx(ve,{watch:A,label:"Child Label",name:"childLabel",register:h,errors:C,element:i}),i.inputType==="nps"&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:A,label:"Low Rating Label (e.g. Not at all likely)",name:"minLabel",register:h,errors:C,element:i,placeholder:"Not at all likely"}),a.jsx(ve,{watch:A,label:"High Rating Label (e.g. Extremely likely)",name:"maxLabel",register:h,errors:C,element:i,placeholder:"Extremely likely"})]})]}),Fd.includes(i.inputType)&&a.jsx(ve,{watch:A,label:"Placeholder",name:"placeholder",register:h,errors:C,element:i}),Od.includes(i.inputType)&&a.jsx(ve,{watch:A,label:"Prefix",name:"prefix",register:h,errors:C,element:i}),zd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(ln,{label:"Value Source",options:[{label:"Manual Input",value:"manual"},{label:"From Another Field",value:"field"}],register:h,name:"valueSource",setValue:x,trigger:w,value:A("valueSource")||"manual"}),A("valueSource")==="field"&&a.jsx(ln,{label:"Source Field",options:g.map(F=>({label:F.display,value:F.id})),register:h,name:"sourceFieldId",setValue:x,trigger:w,value:A("sourceFieldId")})]}),Vd.includes(i.inputType)&&a.jsxs("div",{className:"grid gap-y-4",children:[a.jsx(jd,{}),a.jsx(ve,{watch:A,label:"Api Url",name:"url",register:h,errors:C,element:i}),a.jsx(ln,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:h,name:"method",setValue:x,trigger:w,value:A("method")}),a.jsx(ln,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:h,name:"responseType",setValue:x,trigger:w,value:A("responseType")})]}),Gd.includes(i.inputType)&&a.jsx(Wd,{onChange:F=>{x("denominators",F)},value:A("denominators")}),!yo.includes(i.inputType)&&!gi.includes(i.inputType)&&a.jsx(ve,{watch:A,label:"Short Description",name:"description",register:h,errors:C,element:i}),i.type.toLowerCase()==="date"&&a.jsxs(a.Fragment,{children:[a.jsx(ln,{label:"Date Format",options:Dd,register:h,name:"dateFormat",setValue:x,trigger:w,value:A("dateFormat")}),a.jsx(ve,{watch:A,label:"Allow Range",name:"canHaveDateRange",register:h,errors:C,element:i,type:"checkbox",value:E.canHaveDateRange}),(E==null?void 0:E.canHaveDateRange)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[a.jsx(wo,{name:"minDate",value:E==null?void 0:E.minDate,onGetValue:x,placeholder:"Select min date"}),a.jsx(wo,{name:"maxDate",value:E==null?void 0:E.minDate,onGetValue:x,placeholder:"Select max date",minDate:E==null?void 0:E.minDate})]}),a.jsx(ve,{watch:A,label:"Allow Year Picker",name:"allowYearPicker",register:h,errors:C,element:i,type:"checkbox",value:E.allowYearPicker})]}),i.type.toLowerCase()==="time"&&a.jsx(ve,{watch:A,label:"24 Hour Format",name:"is24Hour",register:h,errors:C,element:i,type:"checkbox",value:E.is24Hour}),i.type.toLowerCase()==="country"&&a.jsx(ve,{watch:A,label:"Allow States",name:"showState",register:h,errors:C,element:i,type:"checkbox",value:E.showState}),i.type.toLowerCase()==="selectfield"&&a.jsx(ln,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:h,name:"selectType",setValue:x,trigger:w,value:A("selectType")}),["multiselect","checkbox"].includes(i.type.toLowerCase())&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:A,label:"Minimum Options Checked",name:"minChecked",register:h,errors:C,element:i,type:"number"}),a.jsx("div",{className:"w-[250px]",children:a.jsx(ve,{watch:A,label:"Require All Checked",name:"requireAllChecked",register:h,errors:C,element:i,type:"checkbox",value:E.requireAllChecked})})]}),i.type.toLowerCase()==="grid"&&a.jsx(ve,{watch:A,label:"Number of columns (max: 4)",name:"columns",register:h,errors:C,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&a.jsxs("div",{className:"grid gap-y-6",children:[a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ve,{watch:A,label:"Document Options Url",name:"url",register:h,errors:C,element:i})," ",a.jsx(Yd,{})]}),a.jsxs("div",{className:"grid gap-y-1",children:[a.jsx(ve,{watch:A,label:"Document Validation Url",name:"validationUrl",register:h,errors:C,element:i}),a.jsx(Jd,{})]}),a.jsx("div",{className:"grid gap-y-1",children:a.jsx(ve,{watch:A,label:"Signature Page Url",name:"signatureLink",register:h,errors:C,element:i})})]}),i.type.toLowerCase()==="datagrid"&&ce(),i.type.toLowerCase()==="file"&&a.jsxs(a.Fragment,{children:[a.jsx(ve,{watch:A,label:"Allow Multiple Uploads",name:"isMultiple",register:h,errors:C,element:i,type:"checkbox",value:E.isMultiple}),a.jsx(No,{element:{options:$d,id:"acceptedFiles",value:E==null?void 0:E.acceptedFiles},validationData:{register:h,setValue:x,trigger:w,watch:A},placeholder:"Choose file types"}),a.jsx(ve,{watch:A,label:"Max File Size (MB)",name:"maxFileSize",register:h,errors:C,element:i,type:"number"})]}),Kd.includes(i.inputType)&&ge(),!["spacer","divider","section","grid"].includes((U=i.type)==null?void 0:U.toLowerCase())&&a.jsxs("div",{className:"flex items-center gap-x-6 mb-4",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Disabled",name:"isDisabled",register:h,errors:C,element:i,type:"checkbox",value:E.isDisabled})}),a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Read Only",name:"isReadOnly",register:h,errors:C,element:i,type:"checkbox",value:E.isReadOnly})})]}),a.jsxs("div",{children:[a.jsx("div",{className:"w-[150px] mb-4",children:a.jsx(ve,{watch:A,label:"Toggle Visibility",name:"isHidden",register:h,errors:C,element:i,type:"checkbox",value:E.isHidden})})," ",E.isHidden&&a.jsx(Qd,{register:h,setValue:x,trigger:w,watch:A,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&a.jsxs("div",{className:"grid gap-y-2 mb-4",children:[a.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),a.jsx(eu,{value:A("formula")||"",onChange:F=>x("formula",F,{shouldValidate:!0,shouldDirty:!0}),fields:g,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&a.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[a.jsx(ve,{watch:A,label:"Fetch results from external API",name:"fetchExternalResults",register:h,errors:C,element:i,type:"checkbox",value:E.fetchExternalResults}),E.fetchExternalResults&&a.jsx(ve,{watch:A,label:"External API URL (returns options results)",name:"externalApiUrl",register:h,errors:C,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!gi.includes(i.type.toLowerCase())&&d==="validation"&&a.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Required",name:"isRequired",register:h,errors:C,element:i,type:"checkbox",value:E.isRequired})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Error message text",name:"requiredMessage",register:h,errors:C,element:i})})]}),_d.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Min Length",name:"minLength",register:h,errors:C,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Error message text",name:"minLengthMessage",register:h,errors:C,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Max Length",name:"maxLength",register:h,errors:C,element:i,type:"number"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Error message text",name:"maxLengthMessage",register:h,errors:C,element:i})})]})]}),Hd.includes(i.inputType)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Min Amount",name:"minAmount",register:h,errors:C,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Error message text",name:"minAmountMessage",register:h,errors:C,element:i})})]}),a.jsxs("div",{className:"flex items-center gap-x-6",children:[a.jsx("div",{className:"w-[150px]",children:a.jsx(ve,{watch:A,label:"Max Amount",name:"maxAmount",register:h,errors:C,element:i,type:"amount"})})," ",a.jsx("div",{className:"flex-1",children:a.jsx(ve,{watch:A,label:"Error message text",name:"maxAmountMessage",register:h,errors:C,element:i})})]})]})]})]})]}),a.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 border-t",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest editor_option__cancel",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!M||k,style:{background:(S==null?void 0:S.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!M||k?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!M||k?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80 editor_option__save`,children:k?"Saving...":"Save"})]})]})]})});return document.body?wr.createPortal(re,document.body):re},Ao=N.memo(({state:e,element:n,children:i})=>{var c,m;const[o,s]=N.useState(!1),{removeElement:t,duplicateElement:l,updateElement:r,copyElement:d}=N.useContext(He),u=N.useMemo(()=>{var f;return(f=n==null?void 0:n.acceptedFiles)==null?void 0:f.map(v=>v.label).join(", ")},[n]),b=N.useCallback(()=>{t(n.id,n.sectionId)},[n.id,n.sectionId,t]);return a.jsxs("div",{className:"w-full min-w-0",children:[o&&a.jsx(tu,{isOpen:o,onClose:()=>s(!1),element:n}),a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsxs("span",{children:[" ",n.inputLabel&&a.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",u&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",u==null?void 0:u.toLowerCase(),")"]})]})]}),e==="edit"&&a.jsxs("span",{className:"flex items-center gap-x-3",children:[((c=n.type)==null?void 0:c.toLowerCase())!=="spacer"&&((m=n.type)==null?void 0:m.toLowerCase())!=="divider"&&a.jsxs(a.Fragment,{children:[n.isDisabled&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-gray-100 text-gray-600 rounded border border-gray-200",children:"Disabled"}),n.isReadOnly&&a.jsx("span",{className:"px-1.5 py-0.5 text-[10px] font-medium bg-amber-50 text-amber-700 rounded border border-amber-200",children:"Read Only"}),a.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[a.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:f=>r({...n,isRequired:f.target.checked},n.sectionId),className:"cursor-pointer"}),a.jsx("span",{className:"mt-0.5",children:"Required"})]})]}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof l=="function"&&l(n==null?void 0:n.id,n.sectionId)},title:"Duplicate",children:a.jsx(de,{icon:"solar:copy-outline",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>{typeof d=="function"&&d(n==null?void 0:n.id,n.sectionId)},title:"Copy to Clipboard",children:a.jsx(de,{icon:"lucide:clipboard-copy",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>s(!0),title:"Edit",children:a.jsx(de,{icon:"circum:edit",iconClass:"text-base"})}),a.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:b,title:"Remove",children:a.jsx(de,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i,n.description&&a.jsx("small",{className:"block text-gray-400 mt-1 text-xs",children:n.description})]})});Ao.displayName="ElementContainer";function lu({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(wo,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,dateFormat:(e==null?void 0:e.dateFormat)||"dd/MM/yyyy",minDate:e==null?void 0:e.minDate,maxDate:e==null?void 0:e.maxDate,showYearDropdown:e==null?void 0:e.allowYearPicker})}const ru=({value:e=null,onGetValue:n,readOnly:i=!1,name:o,placeholder:s="Select time",is24Hour:t=!1})=>{const[l,r]=N.useState(e||null),d=_e("config"),u=(d==null?void 0:d.buttonColor)||"#7F56D9";N.useEffect(()=>{e!==l&&r(e||null)},[e]);const b=y=>{r(y),n&&n(o,y)},c=t?Array.from({length:24},(y,p)=>p.toString().padStart(2,"0")):Array.from({length:12},(y,p)=>(p===0?12:p).toString().padStart(2,"0")),m=Array.from({length:60},(y,p)=>p.toString().padStart(2,"0")),f=["AM","PM"];let v="12",g="00",S="AM";if(l){const[y,p]=l.split(" ");if(y){const[x,A]=y.split(":");x&&(v=x.padStart(2,"0")),A&&(g=A.padStart(2,"0"))}p&&(S=p.toUpperCase())}const h=(y,p,x)=>{const A=t?`${y}:${p}`:`${y}:${p} ${x}`;b(A)};return a.jsxs("div",{className:"relative w-full",children:[a.jsx("style",{children:`
27
27
  .hide-time-scrollbar::-webkit-scrollbar {
28
28
  display: none;
29
29
  }
@@ -31,11 +31,11 @@
31
31
  -ms-overflow-style: none;
32
32
  scrollbar-width: none;
33
33
  }
34
- `}),a.jsx(pe.Popover,{className:"relative w-full",children:({open:w})=>a.jsxs(a.Fragment,{children:[a.jsxs(pe.Popover.Button,{disabled:i,className:ye(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(be,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(pe.Transition,{show:w,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(pe.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:c.map(h=>a.jsx("button",{type:"button",onClick:()=>y(h,x,g),style:v===h?{backgroundColor:u}:{},className:ye("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===h?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:h},h))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(h=>a.jsx("button",{type:"button",onClick:()=>y(v,h,g),style:x===h?{backgroundColor:u}:{},className:ye("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",x===h?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:h},h))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:f.map(h=>a.jsx("button",{type:"button",onClick:()=>y(v,x,h),style:g===h?{backgroundColor:u}:{},className:ye("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",g===h?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:h},h))})]})]})})]})})]})};function lu({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(tu,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function No({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ye("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function ru({element:e,validationData:n}){var g,y;const{register:i=()=>({}),setValue:o,isReadOnly:s,watch:t,getValues:l}=n||{},r=typeof t=="function"?t(e==null?void 0:e.id):void 0,d=typeof l=="function"?l(e==null?void 0:e.id):void 0,[u,b]=N.useState(r!==void 0?r:d!==void 0?d:(g=e==null?void 0:e.value)!=null?g:null),c=r!==void 0?r:d!==void 0?d:u!=null?u:(y=e==null?void 0:e.value)!=null?y:null;N.useEffect(()=>{i(e.id)},[e.id,i]),N.useEffect(()=>{if(t){const w=t(h=>{h&&h[e.id]!==void 0&&b(h[e.id])});return()=>{var h;return(h=w.unsubscribe)==null?void 0:h.call(w)}}},[t,e.id]);const m=N.useCallback(w=>{o==null||o(e.id,w),b(w)},[e.id,o]),f=()=>{o==null||o(e.id,null),b(null)},x=(w=>{if(!w)return null;if(typeof w=="string")try{const h=JSON.parse(w);return Array.isArray(h)?h:[h]}catch(h){return null}return Array.isArray(w)?w:[w]})(c);return a.jsxs("div",{className:"w-full min-w-0 max-w-full",children:[!s&&a.jsx(ra,{onFileLoaded:m,disabled:s,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:f,list:x,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),s&&a.jsx(a.Fragment,{children:x&&x.length>0?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full",children:x.map((w,h)=>a.jsx("div",{className:"w-full min-w-0 max-w-full",children:a.jsx(la,{fileUrl:w.base64,fileName:w.name})},h))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function du({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=N.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsxs("div",{className:"relative w-full",children:[a.jsx("input",{placeholder:e.placeholder,type:t?"text":"password",className:ye("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none",title:t?"Hide password":"Show password",children:a.jsx(be,{icon:t?"fluent:eye-off-24-regular":"fluent:eye-24-regular",iconClass:"text-lg"})})]})}function uu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:ye("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(he,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function cu(){return a.jsx("div",{children:"SectionInput"})}function bu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:ye("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(he,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const wn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function zn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,b]=N.useState(null),[c,m]=N.useState([]),[f,v]=N.useState(!1),x=N.useRef(!0);N.useEffect(()=>{const S=new AbortController,C=i!=null?i:o;let A="";u!==null?A=u:C&&(A=String(C));const E=async()=>{var B,F;if(n){v(!0);try{const T=Be("token"),L={...T?{headers:{Authorization:`Bearer ${T}`}}:{},signal:S.signal,params:A?{search:A}:{}};let D=(await qe.get(n,L)).data;if(D&&!Array.isArray(D)&&(D.data&&Array.isArray(D.data)?D=D.data:(B=D.data)!=null&&B.data&&Array.isArray(D.data.data)?D=D.data.data:D.results&&Array.isArray(D.results)?D=D.results:(F=D.data)!=null&&F.results&&Array.isArray(D.data.results)?D=D.data.results:D.items&&Array.isArray(D.items)&&(D=D.items)),Array.isArray(D)){const O=D.map(I=>{var G,V,Z,se,le,ee,W,R,me,Q,Y,X,te,H;if(typeof I=="string")return{label:I,value:I};const $=(me=(ee=(le=(se=(Z=(V=(G=I.label)!=null?G:I.name)!=null?V:I.title)!=null?Z:I.productName)!=null?se:I.description)!=null?le:I.text)!=null?ee:I.displayName)!=null?me:String((R=(W=I.id)!=null?W:I.value)!=null?R:""),j=String((H=(te=(X=(Y=(Q=I.value)!=null?Q:I.id)!=null?Y:I.key)!=null?X:I.code)!=null?te:I.name)!=null?H:"");return{label:String($),value:String(j)}});m(O)}}catch(T){qe.isCancel(T)||console.error("Failed to fetch options",T)}finally{S.signal.aborted||v(!1)}}},P=x.current&&C?0:400;x.current=!1;const M=setTimeout(()=>{E()},P);return()=>{clearTimeout(M),S.abort()}},[n,u,i,o]);const g=n?c:e,y=N.useMemo(()=>{const S=i!=null?i:o;if(S==null||S==="")return null;const C=g.find(A=>String(A.value)===String(S)||String(A.label)===String(S));return C||{label:s||(wn(S)?"":String(S)),value:String(S)}},[i,o,s,g]),[w,h]=N.useState(y);N.useEffect(()=>{const S=i!==void 0?i:o;if(S!==void 0)if(S===null||S==="")h(null);else{const C=g.find(A=>String(A.value)===String(S)||String(A.label)===String(S));h(C||(A=>A&&(String(A.value)===String(S)||String(A.label)===String(S))?{label:s||(A.label&&!wn(A.label)?A.label:wn(S)?"":String(S)),value:String(S)}:{label:s||(wn(S)?"":String(S)),value:String(S)}))}},[i,o,s,g]);const p=N.useMemo(()=>{let S=g;if(w&&!S.some(A=>String(A.value)===String(w.value)||String(A.label)===String(w.label))&&(S=[w,...S]),!u)return S;const C=u.toLowerCase();return S.filter(A=>A.label.toLowerCase().includes(C))},[u,g,w]),k=N.useCallback(S=>{h(S),t(r,S)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(pe.Combobox,{value:w,onChange:k,disabled:l,by:(S,C)=>S&&C?String(S.value)===String(C.value)||String(S.label)===String(C.label):S===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(pe.ComboboxInput,{className:`field-control ${d}`,displayValue:S=>{if(S!=null&&S.label&&!wn(S.label))return S.label;if(s)return s;if(S!=null&&S.label)return S.label;const C=i!=null?i:o;return C&&!wn(C)?String(C):""},onChange:S=>b(S.target.value),placeholder:f?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(pe.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:f?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(be,{icon:"octicon:chevron-down-12"})})]}),a.jsx(pe.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:f?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):p.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):p==null?void 0:p.map((S,C)=>a.jsx(pe.ComboboxOption,{value:S,className:({active:A,selected:E})=>ye("select-option",{active:A,selected:E}),children:({selected:A})=>a.jsx("div",{className:ye("option-text",{selected:A}),children:S.label})},`${S.value}-${C}`))})]})})}function mu({element:e,validationData:n}){var v,x,g,y,w;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isViewer:r}=n||{},d=(x=(v=t?t(e.id):void 0)!=null?v:l?l(e.id):void 0)!=null?x:e==null?void 0:e.value,u=t?t(`${e.id}_metaData`):void 0,b=l?l(`${e.id}_metaData`):void 0,c=u||b||((g=e==null?void 0:e.metaData)==null?void 0:g.responseObject),m=(c==null?void 0:c.label)||(c==null?void 0:c.name);N.useEffect(()=>{i(e.id)},[e.id,i]);const f=r?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!r?a.jsx(an,{options:(y=e==null?void 0:e.options)!=null?y:[],register:i,name:e.id,setValue:s,trigger:o,value:d,className:ye("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(zn,{name:e.id,options:(w=e==null?void 0:e.options)!=null?w:[],apiUrl:f,value:d,selectedLabel:m,onGetValue:(h,p)=>{var k;s==null||s(h,(k=p==null?void 0:p.value)!=null?k:""),p&&(s==null||s(`${h}_metaData`,p)),o&&o(h)},readOnly:n==null?void 0:n.isReadOnly})})}function vu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:ye("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function fu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return N.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(he,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function hu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const pu=({imageUrl:e})=>{const[n,i]=N.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},gu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function yu({element:e,validationData:n}){var S;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=N.useState(),[r,d]=N.useState(!1),[u,b]=N.useState(!1),[c,m]=N.useState(""),f=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;N.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(f)},[f,v,e.valueSource,e.id,o]);const[x,g]=N.useState("");N.useEffect(()=>{i(e.id)},[e.id,i]);const{url:y,method:w,responseType:h}=e||{},p=N.useRef(null),k=N.useCallback(async C=>{var E,P,M,B,F,T,L,_,D,O,I,$,j,G;if(!y||typeof y!="string"||!y.trim()||!w)return;p.current&&p.current.abort();const A=new AbortController;p.current=A,d(!0),m(""),b(!1);try{let V;const Z={headers:{Authorization:`Bearer ${Be("token")}`},signal:A.signal};if(w.toLowerCase()==="get"){const se=`${y}?value=${C}`;V=await qe.get(se,Z)}else if(w.toLowerCase()==="post")V=await qe.post(y,{value:C},Z);else throw new Error("Unsupported HTTP method");if(V.status===200)if(((P=(E=V==null?void 0:V.data)==null?void 0:E.data)==null?void 0:P.status)===!1||((M=V==null?void 0:V.data)==null?void 0:M.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),b(!1);else if(b(!0),h==="string"){let le=((F=(B=V==null?void 0:V.data)==null?void 0:B.data)==null?void 0:F.description)||((T=V==null?void 0:V.data)==null?void 0:T.description)||((L=V==null?void 0:V.data)==null?void 0:L.data)||(V==null?void 0:V.data)||"Validation successful";typeof le=="object"&&le!==null&&(le=JSON.stringify(le)),m(le)}else{const le=((D=(_=V==null?void 0:V.data)==null?void 0:_.data)==null?void 0:D.description)||((O=V==null?void 0:V.data)==null?void 0:O.description)||((I=V==null?void 0:V.data)==null?void 0:I.data)||(V==null?void 0:V.data)||{};g(le),typeof le=="object"&&le!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,le)}}catch(V){if(!qe.isCancel(V)){console.error("Error validating input:",V);let Z=((j=($=V==null?void 0:V.response)==null?void 0:$.data)==null?void 0:j.message)||((G=V==null?void 0:V.response)==null?void 0:G.data)||"Unable to validate input";typeof Z=="object"&&Z!==null&&(Z=JSON.stringify(Z)),m(Z),b(!1)}}finally{p.current===A&&d(!1)}},[w,h,y]);return N.useEffect(()=>{if(t){const C=setTimeout(()=>{k(t)},700);return()=>clearTimeout(C)}},[k,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ye("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(be,{icon:"gg:check-o"})})]})]}),c&&h==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),h==="object"&&x&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(S=Object.entries(x))==null?void 0:S.map(([C,A])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:gu(C)}),hu(A)?a.jsx(pu,{imageUrl:A}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(A)})]},C))})]})}function xu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=N.useState([...i]);function l(u,b){t(c=>{const m=[...c];return m[b]={...m[b],value:u},m})}function r(u,b){return parseFloat(u)*parseFloat(b)||0}const d=N.useMemo(()=>s.reduce((u,b)=>{const c=r(b.key,b.value);return u+c},0),[s]);return N.useEffect(()=>{e&&e(s)},[s]),N.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((b,c)=>({key:b.value,value:Array.isArray(i)&&i[c]?i[c].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,b)=>{var c,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(ui,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>l(f,b),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},b+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function Su({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(xu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function wu({element:e}){return a.jsx("div",{className:ye("py-6",e==null?void 0:e.customClass)})}function Nu({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:ye("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function Cu({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Au({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function ku({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var f;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:b}=s(e.id,l.field);let c="border-gray-300";l.validate&&((b==null?void 0:b.isValid)===!1?c="border-red-500 bg-red-50":(b==null?void 0:b.isValid)===!0&&(c="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${c}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(ui,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const x=v==="yes",g=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:g,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:g,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===x,onChange:()=>o(x,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:x?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,x)=>o((x==null?void 0:x.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&b?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",b.data&&`[${b.data}]`]}),b.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=b.error)!=null?f:"",children:"✗"})]}):l.type==="select"?a.jsx(zn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(be,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const Eu=N.memo(ku);function Mu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=N.useState(e),l=Be("config"),r=N.useRef(s);r.current=s;const d=N.useMemo(()=>(o==null?void 0:o.filter(f=>!(f!=null&&f.isColumnDeleted)&&!(f!=null&&f.iscolumnDeleted)&&!(f!=null&&f.isFieldDeleted)))||[],[o]);N.useEffect(()=>{t(f=>JSON.stringify(f)!==JSON.stringify(e)?e:f)},[e]);const u=N.useCallback((f,v,x)=>{const g=r.current.map(y=>y.id===v?{...y,[x]:f}:y);t(g),n==null||n(g)},[n]),b=N.useCallback(()=>{const f=Te.v4(),v=d.reduce((g,y)=>(g[y.field]=y.field==="id"?f:"",g),{}),x=[...r.current,{id:f,...v}];t(x),n==null||n(x)},[d,n]),c=N.useCallback(f=>{const v=r.current.filter(x=>x.id!==f);t(v),n==null||n(v)},[n]),m=N.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[d.map((f,v)=>{var x;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(x=f.headerName)!=null?x:String(f.field),f.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(f.id)}-${v}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(f=>a.jsx(Eu,{row:f,columns:d,isReadOnly:i,handleCellChange:u,getValidationStatus:m,deleteRow:c},f.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:d.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:b,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Tu({element:e,validationData:n}){var v,x,g,y;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=(g=(x=(v=s&&s(e==null?void 0:e.id))!=null?v:n!=null&&n.getValues?n.getValues(e==null?void 0:e.id):void 0)!=null?x:e==null?void 0:e.value)!=null?g:{};let r=l;if(typeof l=="string"&&(l.trim().startsWith("{")||l.trim().startsWith("[")))try{r=JSON.parse(l)}catch(w){}const d=Array.isArray(r)?r:(y=r==null?void 0:r.rows)!=null?y:[];N.useEffect(()=>{i(e.id)},[e.id,i]);const u=N.useRef(""),b=N.useRef(e==null?void 0:e.id),c=N.useRef(e==null?void 0:e.dataColumns),m=N.useRef(o);b.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,m.current=o;const f=N.useCallback(w=>{var p;const h=JSON.stringify(w);h!==u.current&&(u.current=h,(p=m.current)==null||p.call(m,b.current,{rows:w,columns:c.current}))},[]);return a.jsx(Mu,{value:d,onChange:f,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const da=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:b=!1,isFloatingLabel:c=!1,subText:m,labelClass:f="",loading:v,disabled:x})=>{const[g,y]=N.useState(b?[]:null),w=ye("custom-select__control",e),h=N.useMemo(()=>n,[n]);N.useEffect(()=>{const k=n==null?void 0:n.find(S=>{var C;return typeof S.value=="string"&&typeof d=="string"?S.value.toLowerCase()===d.toLowerCase():typeof S.value=="object"&&typeof d=="object"?((C=S.value)==null?void 0:C.id)===(d==null?void 0:d.id):S.value===d});y(k||null)},[d,n]);const p=N.useMemo(()=>d==null||d===""||!n||n.length===0?!1:b&&Array.isArray(d)?Array.isArray(g)&&g.length<d.length:!n.some(S=>{var C;return typeof S.value=="string"&&typeof d=="string"?S.value.toLowerCase()===d.toLowerCase():typeof S.value=="object"&&typeof d=="object"?((C=S.value)==null?void 0:C.id)===(d==null?void 0:d.id):S.value===d}),[d,n,g,b]);return N.useEffect(()=>{g&&t&&s&&(t(l,g==null?void 0:g.value),s(l),u==null||u(l))},[l,g,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!c&&a.jsx("label",{className:"custom-select__label",children:r}),c&&r&&a.jsx("label",{className:ye("custom-select__floating-label",f),children:r}),a.jsx(pe.Listbox,{value:g,onChange:y,multiple:b,disabled:x,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(pe.Listbox.Button,{className:w,disabled:x,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(g==null?void 0:g.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(be,{icon:"lucide:chevron-down"})})]}),a.jsx(pe.Transition,{as:N.Fragment,leave:"custom-select__transition",children:a.jsx(pe.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:h==null?void 0:h.map((k,S)=>a.jsx(pe.Listbox.Option,{value:k,className:({active:C})=>ye("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:ye("custom-select__option-label",C&&"custom-select__option--selected"),children:k.label})},S))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),p&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},Pu=({element:e,validationData:n})=>{var h;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isReadOnly:r}=n||{},d=(h=e==null?void 0:e.id)!=null?h:"cascadeValue",u=typeof t=="function"?t(d):void 0,b=typeof l=="function"?l(d):void 0,c=(u!==void 0?u:b)||"",[m,f]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[0]:""),[v,x]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[1]:""),g=(p,k)=>{const S=p&&k?`${p}_${k}`:"";s==null||s(d,S),o==null||o(d)},y=(p,k)=>{p==="first"?(f(k),x(""),g(k,"")):(x(k),g(m,k))};N.useEffect(()=>{if(typeof c=="string"&&c.includes("_")){const[p,k]=c.split("_");f(p),x(k)}else c||(f(""),x(""))},[c]);const w=N.useMemo(()=>{var p;return(p=e.options1)==null?void 0:p.filter(k=>k.key===m)},[e.options1,m]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(d)}),a.jsx("div",{className:"relative",children:a.jsx(da,{setValue:(p,k)=>y("first",k),options:e.options,name:`${d}`,register:i,value:m})}),m&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(da,{setValue:(p,k)=>y("second",k),options:w,name:`${d}`,register:i,value:v})]})]})},Lu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var y;const{register:d=()=>({}),trigger:u,setValue:b,watch:c,isReadOnly:m}=r||{},f=(y=c==null?void 0:c(l.id))!=null?y:0,[v,x]=N.useState(null);N.useEffect(()=>{f==null&&(b==null||b(l.id,e))},[]);const g=w=>{if(!i&&!m){const h=w+1;b==null||b(l.id,h),u==null||u(l.id),o==null||o(h)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(w,h)=>{const p=v!==null?h<=v:h<f;return a.jsx(ea,{icon:p?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${p?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&x(h),onMouseLeave:()=>!(i||m)&&x(null),onClick:()=>g(h)},h)})]})};function Bu({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:ye("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function ua({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=N.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,x]=r.split(",").map(g=>g.trim());return{country:x,state:v}}return{country:r,state:""}},[r]),b=N.useRef(r),c=N.useMemo(()=>{var v,x;return d?((x=(v=fi.find(g=>g.name===d))==null?void 0:v.states)==null?void 0:x.map(g=>({label:g.name,value:g.name})))||[]:[]},[d]),m=(v,x)=>{const y=(x==null?void 0:x.value)||"";o&&y!==b.current&&(o(e.id,y),s==null||s(e.id),b.current=y)},f=(v,x)=>{const g=(x==null?void 0:x.value)||"",y=g?`${g}, ${d}`:d;o&&y!==b.current&&(o(e.id,y),s==null||s(e.id),b.current=y)};return N.useEffect(()=>{b.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(zn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),c.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(zn,{options:c,onGetValue:f,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const Co=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Iu({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:b,description:c,onChange:m,onError:f}){const[v,x]=N.useState(""),[g,y]=N.useState(null),[w,h]=N.useState(""),p=N.useMemo(()=>{var M;return(M=Co==null?void 0:Co.slice().sort((B,F)=>B.label.localeCompare(F.label)))==null?void 0:M.map(B=>({...B,phone:`+${B.phone}`}))},[]),k=N.useMemo(()=>v?p.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(v.toLowerCase())):p,[v,p]),S=(g==null?void 0:g.min)||10,C=(g==null?void 0:g.max)||10,A=()=>w?`${(g==null?void 0:g.phone)||"+234"}-${w}`:"",E=M=>{if(!M||typeof M!="string")return{code:"+234",number:""};const B=M.split(/[-\s]/);return{code:B[0],number:B.slice(1).join(" ")}};N.useEffect(()=>{if(l){const M=A();if(l!==M){const B=E(l);y(p.find(F=>F.phone===B.code)||p[0]),h(B.number)}}},[l,p]);const P=N.useMemo(()=>{if(r)return r;const M=w.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(w)?"Phone number must contain only digits":M>0&&M<S?`Minimum length is ${S}`:M>C?`Maximum length is ${C}`:""},[r,w,S,C,o]);return N.useEffect(()=>{const M=A();M!==l&&(m==null||m(M))},[w,g]),N.useEffect(()=>{f==null||f(P||null)},[P]),a.jsxs("div",{className:`relative formGroup ${P&&!u?"has-error":""} ${b?"flex":""} ${!P&&w.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${b?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(be,{icon:"lucide:phone-call"}),a.jsx(pe.Combobox,{value:g,onChange:y,children:a.jsxs("div",{className:"relative",children:[a.jsx(pe.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:M=>(M==null?void 0:M.phone)||"+234",placeholder:"+234",onChange:M=>x(M.target.value)}),a.jsx(pe.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(be,{icon:"lucide:chevron-down"})}),a.jsx(pe.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:k==null?void 0:k.map((M,B)=>a.jsxs(pe.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${B}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:w,disabled:d,readOnly:u,onChange:M=>{const B=M.target.value.replace(/\D/g,"");h(B)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:S}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!P&&w.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(be,{icon:"bi:check-lg"})})})]})]}),c&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function Du({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return N.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Iu,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function _u({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;N.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),b=d?u?d:`https://${d}`:"",c=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[c&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:ye("field-control",c&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:b,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Ou({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=N.useMemo(()=>{const b=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const v=/@\[.*?\]\((.*?)\)/.exec(f);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...b,...m]))},[s]),l=i?i(t):[],r=N.useMemo(()=>{if(!s)return"";let u=s,b=!1;if(t.forEach((c,m)=>{const f=l[m],v=Number(f);(isNaN(v)||f===void 0||f===null||f==="")&&(b=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(v||0))}),b)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const m=new Function(`return ${c}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(c){return"Error"}},[s,t,l]);return N.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:ye("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Fu({element:e,validationData:n,state:i}){var f;const{register:o,watch:s,setValue:t}=n||{},[l,r]=N.useState({}),[d,u]=N.useState(0),b=s?s(e.id):null,c=!!(b||n!=null&&n.showResults);N.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const g=await fetch(e.externalApiUrl);if(!g.ok)return;const y=await g.json();let w={};Array.isArray(y)?y.forEach(p=>{const k=p.value||p.id||p.option,S=p.count||p.votes||p.value||0;k&&(w[k]=Number(S))}):typeof y=="object"&&(w=y),r(w);const h=Object.values(w).reduce((p,k)=>p+Number(k),0);u(h)}catch(g){console.error("Failed to fetch polling results",g)}};v();const x=setInterval(v,1e4);return()=>clearInterval(x)},[e.fetchExternalResults,e.externalApiUrl]),N.useEffect(()=>{e.fetchExternalResults||(b?(r({[b]:1}),u(1)):(r({}),u(0)))},[b,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(v=>{const x=l[v.value]||0,g=d>0?Math.round(x/d*100):0,y=b===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:ye("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",y?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[c&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${g}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:ye("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",y?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:y&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:ye("font-medium text-sm",y?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),c&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[g,"%"]}),y&&a.jsx(be,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),c&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ca={textField:No,longText:vu,selectField:mu,multiSelect:xo,numberField:No,amountField:fu,date:au,time:lu,password:du,checkbox:bu,radio:uu,email:No,file:ru,dataGrid:Tu,section:cu,dataLookup:yu,tableInput:Su,spacer:wu,divider:Nu,header:Cu,basicText:Au,phoneField:Du,cascadeSelect:Pu,rating:Lu,matrix:Bu,country:ua,bank:ua,url:_u,calculatedField:Ou,polling:Fu,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:ye("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=N.useState(r||e.options||[]);N.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const b=m=>{if(o||n==="edit"||m===0)return;const f=[...d],v=f[m-1];f[m-1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})},c=m=>{if(o||n==="edit"||m===d.length-1)return;const f=[...d],v=f[m+1];f[m+1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,f)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>b(f),disabled:o||n==="edit"||f===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(be,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>c(f),disabled:o||n==="edit"||f===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(be,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:f+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=b=>{o||n==="edit"||typeof l=="function"&&l(e.id,b,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(b=>a.jsxs("div",{onClick:()=>d(b.value),className:ye("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===b.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:b.imageUrl?a.jsx("img",{src:b.imageUrl,alt:b.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(be,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:ye("p-3 text-center text-sm font-medium",r===b.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:b.label})]},b.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},ba="edit",Hu=(e,n)=>{var o;const i=ca[e.type];return i?a.jsx(wo,{element:e,state:ba,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:ba,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},pi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:ye("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Ku=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:b,removeElement:c}=N.useContext(Fe),m=N.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,v]=N.useState(null);N.useEffect(()=>{const p=()=>{v(null),d(!1)};return document.addEventListener("dragend",p),()=>document.removeEventListener("dragend",p)},[d]);const x=N.useCallback((p,k)=>{p.preventDefault(),p.stopPropagation(),p.dataTransfer.dropEffect="move",v(k)},[]),g=N.useCallback((p,k)=>{p.preventDefault(),p.stopPropagation(),v(k)},[]),y=N.useCallback((p,k)=>{const S=p.relatedTarget;S&&p.currentTarget.contains(S)||v(C=>C===k?null:C)},[]),w=N.useCallback((p,k)=>{var A;p.preventDefault(),p.stopPropagation(),d(!1),v(null);const S=k+1,C=p.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:S});return}try{const E=p.dataTransfer.getData("properties");if(!E)return;const P=JSON.parse(E);if((P==null?void 0:P.type)==="grid")return;const M=l.find(T=>T.id===n),B=(A=M==null?void 0:M.questionData)==null?void 0:A.find(T=>{var L;return!T.isFieldDeleted&&T.gridId===e.id&&((L=T.gridPosition)==null?void 0:L.col)===S});B&&c(B.id,n);const F={...P,id:Te.v4(),sectionId:n,gridId:e.id,gridPosition:{col:S}};r(F,n)}catch(E){console.error("Drop failed in grid:",E),d(!1)}},[r,e.id,l,n,d,u]),h=(p,k,S)=>{var L,_,D;const C=p+1,A=(_=(L=l.find(O=>O.id===n))==null?void 0:L.questionData)==null?void 0:_.find(O=>{var I;return!O.isFieldDeleted&&O.gridId===e.id&&((I=O.gridPosition)==null?void 0:I.col)===C}),E=(D=A==null?void 0:A.id)!=null?D:null,P=Array.isArray(i)&&i.find(O=>{var I;return((I=O==null?void 0:O.props)==null?void 0:I.col)===C}),M=b&&f===p,B=!!P,F=b&&!!t,T=B&&E&&S==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",E),O.dataTransfer.setData("properties",E),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${p}`,...T,onDrop:O=>w(O,p),onDragEnter:O=>g(O,p),onDragOver:O=>x(O,p),onDragLeave:O=>y(O,p),className:ye("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",S==="edit"?"py-3 ":"",B&&S==="edit"&&"cursor-grab active:cursor-grabbing border-none",k,!F&&!M&&"bg-white border-gray-200 text-gray-300",F&&!M&&!B&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",F&&!M&&B&&"bg-white border-orange-200 border-dashed",M&&!B&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",M&&B&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[B&&S==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(be,{icon:"ph:dots-six-bold"})}),M&&!B&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(be,{icon:"ph:plus-bold"}),"Drop here"]}),M&&B&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:ye("w-full select-none min-w-0",M&&"opacity-50 pointer-events-none"),children:P||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:S==="edit"&&a.jsx(be,{icon:"ph:plus-bold"})})})]})},p)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((p,k)=>h(k,o,s))})})},gi=N.memo(Ku),Vu="edit";function Ao({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=N.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:ye("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(be,{icon:"octicon:plus-16"}),"Drop here"]})})}function Gu({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=N.useContext(Fe),[r,d]=N.useState(null),u=N.useMemo(()=>{var w;return((w=i.find(h=>h.id===n))==null?void 0:w.questionData)||[]},[i,n]),b=N.useCallback((w,h)=>{w.dataTransfer.setData("elementId",h),w.dataTransfer.setData("properties",h),w.dataTransfer.effectAllowed="move",d(h),s(!0)},[s]),c=N.useCallback(()=>{d(null),s(!1)},[s]);N.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=N.useCallback(w=>{w.preventDefault(),w.stopPropagation();const h=w.dataTransfer.getData("elementId"),p=w.currentTarget.id;if(!h||!p||h===p){c();return}const k=u.find(C=>C.id===h),S=u.findIndex(C=>C.id===p);k!=null&&k.gridId&&S!==-1?l({draggedId:h,sectionId:n,targetIndex:S}):l({draggedId:h,sectionId:n,targetId:p}),d(null),s(!1)},[n,l,s,c,u]),f=N.useCallback((w,h)=>{w.preventDefault(),w.stopPropagation(),s(!1);const p=w.dataTransfer.getData("elementId");if(p){l({draggedId:p,sectionId:n,targetIndex:h}),d(null);return}try{const k=JSON.parse(w.dataTransfer.getData("properties"));if((k==null?void 0:k.type)==="section")return;const S={...k,id:Te.v4(),sectionId:n};t(S,n,h),d(null)}catch(k){console.error("Drop error:",k)}},[t,n,s,l]),v=N.useCallback((w,h=!1)=>a.jsx("div",{id:w.id,draggable:!0,onDragStart:p=>b(p,w.id),onDragOver:h?void 0:p=>{p.preventDefault(),p.stopPropagation()},onDrop:h?void 0:m,onDragEnd:c,className:ye("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===w.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Hu(w,n)},w.id),[r,m,n,b,c]),x=N.useMemo(()=>(e==null?void 0:e.reduce((w,h)=>(h.gridId&&!h.isFieldDeleted&&(w[h.gridId]=w[h.gridId]||[],w[h.gridId].push(h)),w),{}))||{},[e]),g=N.useMemo(()=>(e==null?void 0:e.filter(w=>!w.isFieldDeleted))||[],[e]);if(!g.length)return a.jsx("div",{onDragOver:w=>w.preventDefault(),onDrop:w=>f(w,0),onDragEnd:c,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const y=g.filter(w=>!w.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(Ao,{index:0,isDragging:o,onDrop:f,onDragEnd:c}),y.map(w=>{const h=u.findIndex(p=>p.id===w.id);if(w.type==="grid"){const p=x[w.id]||[],k=r===w.id,S=!!r&&!k;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:w.id,draggable:!0,onDragStart:C=>b(C,w.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:c,className:ye("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",k?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":S?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(wo,{element:w,state:"edit",children:a.jsx(gi,{element:w,sectionId:n,state:Vu,draggedElementId:r,children:p==null?void 0:p.map(C=>{var A;return a.jsx(pi,{col:(A=C.gridPosition)==null?void 0:A.col,children:v(C,!0)},C.id)})})})}),a.jsx(Ao,{index:h+1,isDragging:o,onDrop:f,onDragEnd:c})]},w.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(w),a.jsx(Ao,{index:h+1,isDragging:o,onDrop:f,onDragEnd:c})]},w.id)})]})}const zu=N.memo(Gu),$u=ne.object({title:ne.string(),description:ne.string(),disabled:ne.boolean().default(!1),isHidden:ne.boolean().default(!1),sendEmptyWhenHidden:ne.boolean().default(!1)}).required(),ko=Be("config"),Wu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=N.useContext(Fe),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:b}=Re.useForm({resolver:fo($u),defaultValues:i});if(N.useEffect(()=>{e||b()},[e,b]),!e)return null;const c=f=>{o(f,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(be,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(c),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(he,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(he,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(he,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(he,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"}),a.jsx(he,{label:"Send Empty When Hidden",name:"sendEmptyWhenHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.sendEmptyWhenHidden,description:"Submits empty values for this section's fields when hidden"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(ko==null?void 0:ko.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},ju=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(be,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Uu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],qu=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,copySection:d,duplicateSection:u,formDataLength:b,onDragOver:c,setIsDragging:m,isDragging:f,onReorderSection:v})=>{var w,h;const x=N.useRef(null),g=N.useRef((w=e==null?void 0:e.questionData)==null?void 0:w.length),y=N.useRef(f);return N.useEffect(()=>{var p,k;if(((p=e==null?void 0:e.questionData)==null?void 0:p.length)>g.current&&!f&&!y.current){const S=document.getElementById("section-container");S&&requestAnimationFrame(()=>{S.scrollTo({top:S.scrollHeight,behavior:"smooth"})})}g.current=(k=e==null?void 0:e.questionData)==null?void 0:k.length},[(h=e==null?void 0:e.questionData)==null?void 0:h.length,f]),N.useEffect(()=>{y.current=f},[f]),a.jsx("div",{ref:x,onDragOver:p=>{p.dataTransfer.types.includes("sectionid")&&p.preventDefault()},onDrop:p=>{const k=p.dataTransfer.getData("sectionid");k&&(p.preventDefault(),p.stopPropagation(),v&&v(k,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
- ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:p=>{p.dataTransfer.setData("sectionid",e.id),p.dataTransfer.effectAllowed="move",m(!0)},onDragEnd:()=>m(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(be,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Copy section to clipboard",onClick:p=>{p.stopPropagation(),d==null||d(e.id)},children:a.jsx(be,{icon:"fluent:copy-20-regular"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Duplicate section",onClick:p=>{p.stopPropagation(),u==null||u(e.id)},children:a.jsx(be,{icon:"lucide:copy-plus"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Edit section",onClick:()=>l(e),children:a.jsx(be,{icon:"fluent:edit-28-regular"})}),b>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-red-50 text-gray-600 hover:text-red-600 transition-colors",title:"Delete section",onClick:()=>r(e.id),children:a.jsx(be,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(be,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:c,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(zu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},Yu=({onAddTemplate:e,templates:n})=>{var T;const i=[...Uu,...n||[]],[o,s]=N.useState(!1),[t,l]=N.useState(!1),r=N.useRef(null),d=N.useRef(null),{removeSection:u,addSection:b,formData:c,setIsDragging:m,setSelectedSection:f,selectedSection:v,activeSections:x,setActiveSections:g,setFormData:y,isDragging:w,pasteElement:h,copySection:p,pasteSection:k,duplicateSection:S}=N.useContext(Fe);N.useEffect(()=>{const L=_=>{var I;const D=_.target;if(D.tagName==="INPUT"||D.tagName==="TEXTAREA"||D.isContentEditable)return;const O=((I=_.clipboardData)==null?void 0:I.getData("text"))||"";O.includes("FORM_BUILDER_SECTION_CLIPBOARD")?k(void 0,O):v&&h(v,void 0,O)};return window.addEventListener("paste",L),()=>{window.removeEventListener("paste",L)}},[v,h,k]);const C=N.useRef((c==null?void 0:c.length)||0);N.useEffect(()=>{var L;f(((L=c[0])==null?void 0:L.id)||null)},[]),N.useEffect(()=>{(c==null?void 0:c.length)>C.current&&d.current&&requestAnimationFrame(()=>{var L;(L=d.current)==null||L.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),C.current=(c==null?void 0:c.length)||0},[c==null?void 0:c.length]);const A=N.useCallback(L=>{L.preventDefault(),L.dataTransfer.dropEffect="move"},[]),E=N.useCallback((L,_)=>{y(D=>{const O=D.findIndex(G=>G.id===L),I=D.findIndex(G=>G.id===_);if(O===-1||I===-1||O===I)return D;const $=[...D],[j]=$.splice(O,1);return $.splice(I,0,j),$})},[y]);function P(L){x.includes(L)?g(_=>_.filter(D=>D!==L)):g(_=>[..._,L])}function M(L){r.current=L,s(!0)}const B=L=>{var D,O,I,$;const _=(j,G={})=>({...JSON.parse(JSON.stringify(j)),...G});if(L.sections&&Array.isArray(L.sections)){const G=L.sections.filter(Boolean).map(Z=>{var ee;const se=Te.v4(),le=(ee=Z.questionData)==null?void 0:ee.map(W=>_(W,{id:Te.v4(),sectionId:se}));if(le){const W=new Map;Z.questionData.forEach((R,me)=>{W.set(R.id,le[me].id)}),le.forEach(R=>{R.gridId&&W.has(R.gridId)&&(R.gridId=W.get(R.gridId))})}return _(Z,{id:se,questionData:le||[]})});c.length===1&&c[0].title===""&&c[0].description===""&&(!((D=c[0])!=null&&D.questionData)||((I=(O=c[0])==null?void 0:O.questionData)==null?void 0:I.length)===0)?(y(G),G.length>0&&f(($=G[0])==null?void 0:$.id)):y(Z=>[...Z,...G])}},F=Be("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx(Wu,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=c==null?void 0:c.filter(L=>!(L!=null&&L.isFieldDeleted)))==null?void 0:T.map((L,_)=>{var D;return a.jsx(qu,{section:L,index:_,selectedSection:v,setSelectedSection:f,activeSections:x,toggleSection:P,handleSectionEdit:M,removeSection:u,copySection:p,duplicateSection:S,formDataLength:((D=c==null?void 0:c.filter(O=>!(O!=null&&O.isFieldDeleted)))==null?void 0:D.length)||0,onDragOver:A,setIsDragging:m,isDragging:w,onReorderSection:E},L.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4 flex-wrap gap-y-2",children:[a.jsx("button",{type:"button",onClick:()=>b(),style:{color:(F==null?void 0:F.buttonColor)||"#333"},className:"text-sm font-medium hover:underline",children:"+ Add section"}),a.jsxs("button",{type:"button",onClick:()=>k(),style:{color:(F==null?void 0:F.buttonColor)||"#333"},className:"text-sm font-medium hover:underline flex items-center gap-1",title:"Paste section from clipboard",children:[a.jsx(be,{icon:"lucide:clipboard-paste",iconClass:"text-sm"}),"Paste section"]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(F==null?void 0:F.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(ju,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:B})]})},Ju=()=>{const{formData:e,uploadUrl:n}=N.useContext(Fe),[i,o]=N.useState("multi"),s=Be("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Po,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n||"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t),preview:!0})})]})},Eo=({loadingClass:e})=>{const n=ye("h-full w-full min-h-[300px] flex justify-center items-center",e);return N.useEffect(()=>{const i=Be("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Zu=N.lazy(()=>Promise.resolve().then(()=>_g));function Xu({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=N.useContext(Fe);N.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),N.useEffect(()=>{r(n)},[n,r]);const b=N.useCallback(c=>{c.preventDefault();try{const m=JSON.parse(c.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:c=>c.preventDefault(),onDrop:c=>b(c),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(Yu,{onAddTemplate:i,templates:o}):a.jsx(N.Suspense,{fallback:a.jsx(Eo,{loadingClass:"!w-full !h-full"}),children:a.jsx(Zu,{formData:u})})}),s==="canvas"&&a.jsx(pe.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Ju,{})})})]})}const Qu=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],Ru=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],ec=({formType:e="default"})=>{const[n,i]=N.useState(""),[o,s]=N.useState(null),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d,pasteSection:u}=N.useContext(Fe);N.useEffect(()=>{const p=()=>{try{const S=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard");if(S){const C=JSON.parse(S);(C==null?void 0:C.type)==="FORM_BUILDER_SECTION_CLIPBOARD"&&(C!=null&&C.section)?s("section"):(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.element)?(C==null?void 0:C.timestamp)&&Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(null)):s("element"):s(null)}else s(null)}catch(S){s(null)}};p();const k=setInterval(p,1e3);return()=>clearInterval(k)},[]);const b=N.useCallback((p,k)=>{if(!r){Ne.toast.error("Please select a section to add an element.");return}p.dataTransfer.setData("properties",JSON.stringify(k)),p.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function c(p){if(!r){Ne.toast.error("Please select a section to add an element.");return}const k={...p,id:Te.v4(),sectionId:r};l(k,r)}const m=Be("config")||{},f=m.elementColor,v=m.elementBgColor,x=m.elementBorderColor,g=Td.filter(p=>p.label.toLowerCase().includes(n.toLowerCase())),y=e==="poll"?Ru:Qu,w=e==="poll"?Ld:Pd,h=y==null?void 0:y.map(p=>({title:p.title,elements:g.filter(k=>{var S;return(S=w[p.key])==null?void 0:S.includes(k.type)})})).filter(p=>p.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:p=>i(p.target.value),name:"search",id:"search",autoComplete:"off"}),o==="section"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-purple-50 text-purple-700 hover:bg-purple-100 rounded-lg text-sm font-medium transition-colors border border-purple-200",onClick:()=>{typeof u=="function"&&u()},title:"Paste copied section",children:[a.jsx(be,{icon:"lucide:clipboard-paste"}),"Paste Section (Ctrl+V)"]}),o==="element"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors border border-blue-200",onClick:()=>{if(!r){Ne.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(be,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:h==null?void 0:h.map((p,k)=>{var S;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:p.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(S=p.elements)==null?void 0:S.map(C=>a.jsx("li",{onDragStart:A=>b(A,C),onDragEnd:()=>t(!1),onClick:()=>c(C),style:{borderColor:x,backgroundColor:v},className:`cursor-move text-[#475467] flex justify-between items-center \r
34
+ `}),a.jsx(he.Popover,{className:"relative w-full",children:({open:y})=>a.jsxs(a.Fragment,{children:[a.jsxs(he.Popover.Button,{disabled:i,className:xe(" !flex items-center justify-between field-control w-full text-left bg-white transition-all",i?"cursor-not-allowed bg-[f8fafc]":"hover:border-purple-300",!l&&"text-gray-400"),children:[a.jsx("span",{children:l||s}),a.jsx(de,{icon:"mdi:clock-outline",iconClass:"text-gray-400 text-lg inline"})]}),a.jsx(he.Transition,{show:y,enter:"transition ease-out duration-200",enterFrom:"opacity-0 translate-y-1 scale-95",enterTo:"opacity-100 translate-y-0 scale-100",leave:"transition ease-in duration-150",leaveFrom:"opacity-100 translate-y-0 scale-100",leaveTo:"opacity-0 translate-y-1 scale-95",children:a.jsxs(he.Popover.Panel,{anchor:"bottom start",className:"z-[9999] mt-2 w-[280px] bg-white/95 backdrop-blur-xl border border-gray-100 rounded-2xl shadow-xl overflow-hidden p-4 flex flex-col gap-3",children:[a.jsx("div",{className:"text-sm font-semibold text-gray-700 px-1 border-b border-gray-100 pb-2",children:"Select Time"}),a.jsxs("div",{className:"flex gap-2 h-48 justify-center items-stretch",children:[a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:c.map(p=>a.jsx("button",{type:"button",onClick:()=>h(p,g,S),style:v===p?{backgroundColor:u}:{},className:xe("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",v===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),a.jsx("div",{className:"flex items-center justify-center font-bold text-gray-300 text-lg",children:":"}),a.jsx("div",{className:"flex-1 flex flex-col items-center gap-1 overflow-y-auto hide-time-scrollbar",children:m.map(p=>a.jsx("button",{type:"button",onClick:()=>h(v,p,S),style:g===p?{backgroundColor:u}:{},className:xe("w-full py-2 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex-shrink-0",g===p?"text-white font-medium shadow-md shadow-gray-200":"text-gray-600 hover:bg-gray-100"),children:p},p))}),!t&&a.jsx("div",{className:"flex-1 flex flex-col items-center justify-center gap-2 pl-1 border-l border-gray-100 ml-1",children:f.map(p=>a.jsx("button",{type:"button",onClick:()=>h(v,g,p),style:S===p?{backgroundColor:u}:{},className:xe("w-full py-3 text-center rounded-xl text-sm transition-all duration-200 focus:outline-none flex items-center justify-center font-medium",S===p?"text-white shadow-md shadow-gray-200":"text-gray-500 bg-gray-50 hover:bg-gray-100"),children:p},p))})]})]})})]})})]})};function du({element:e,validationData:n}){var l,r;const{register:i=()=>({}),setValue:o,watch:s}=n||{},t=(r=(l=s?s(e.id):void 0)!=null?l:n!=null&&n.getValues?n.getValues(e.id):void 0)!=null?r:e==null?void 0:e.value;return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx(ru,{name:e.id,value:t,onGetValue:o,readOnly:n==null?void 0:n.isReadOnly,placeholder:(e==null?void 0:e.placeholder)||"Select time",is24Hour:(e==null?void 0:e.is24Hour)||!1})}function ko({element:e,validationData:n}){var r;const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:xe("field-control",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field",inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((r=n==null?void 0:n.errors)!=null&&r[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function uu({element:e,validationData:n}){var S,h;const{register:i=()=>({}),setValue:o,isReadOnly:s,watch:t,getValues:l}=n||{},r=typeof t=="function"?t(e==null?void 0:e.id):void 0,d=typeof l=="function"?l(e==null?void 0:e.id):void 0,[u,b]=N.useState(r!==void 0?r:d!==void 0?d:(S=e==null?void 0:e.value)!=null?S:null),c=r!==void 0?r:d!==void 0?d:u!=null?u:(h=e==null?void 0:e.value)!=null?h:null;N.useEffect(()=>{i(e.id)},[e.id,i]),N.useEffect(()=>{if(t){const y=t(p=>{p&&p[e.id]!==void 0&&b(p[e.id])});return()=>{var p;return(p=y.unsubscribe)==null?void 0:p.call(y)}}},[t,e.id]);const m=N.useCallback(y=>{o==null||o(e.id,y),b(y)},[e.id,o]),f=()=>{o==null||o(e.id,null),b(null)},g=(y=>{if(!y)return null;if(typeof y=="string")try{const p=JSON.parse(y);return Array.isArray(p)?p:[p]}catch(p){return null}return Array.isArray(y)?y:[y]})(c);return a.jsxs("div",{className:"w-full min-w-0 max-w-full",children:[!s&&a.jsx(ua,{onFileLoaded:m,disabled:s,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:f,list:g,accept:e==null?void 0:e.acceptedFiles,maxFileSize:(e==null?void 0:e.maxFileSize)||5}),s&&a.jsx(a.Fragment,{children:g&&g.length>0?a.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full min-w-0 max-w-full",children:g.map((y,p)=>a.jsx("div",{className:"w-full min-w-0 max-w-full",children:a.jsx(da,{fileUrl:y.base64,fileName:y.name})},p))}):a.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function cu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},[t,l]=N.useState(!1),r=e.valueSource==="field"&&e.sourceFieldId,d=r&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{r&&typeof s=="function"&&s(e.id,d)},[d,r,e.id,s]),a.jsxs("div",{className:"relative w-full",children:[a.jsx("input",{placeholder:e.placeholder,type:t?"text":"password",className:xe("field-control pr-10",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"}),a.jsx("button",{type:"button",tabIndex:-1,onClick:()=>l(u=>!u),className:"absolute inset-y-0 right-0 flex items-center pr-3 text-gray-400 hover:text-gray-600 focus:outline-none",title:t?"Hide password":"Show password",children:a.jsx(de,{icon:t?"fluent:eye-off-24-regular":"fluent:eye-24-regular",iconClass:"text-lg"})})]})}function bu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:xe("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}function mu(){return a.jsx("div",{children:"SectionInput"})}function vu({element:e,validationData:n}){var s;const{register:i=()=>({}),watch:o}=n||{};return a.jsx("div",{className:xe("grid gap-y-[6px]",e.customClass),children:(s=e==null?void 0:e.options)==null?void 0:s.map(t=>a.jsx("div",{children:a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:t==null?void 0:t.label,register:i,name:e.id,value:t.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},t.id))})}const Nn=e=>typeof e=="string"&&/^[0-9a-fA-F-]{20,}$/.test(e);function Wn({options:e=[],apiUrl:n,value:i,defaultValue:o,selectedLabel:s,onGetValue:t,readOnly:l,name:r,customClass:d}){const[u,b]=N.useState(null),[c,m]=N.useState([]),[f,v]=N.useState(!1),g=N.useRef(!0);N.useEffect(()=>{const w=new AbortController,C=i!=null?i:o;let k="";u!==null?k=u:C&&(k=String(C));const M=async()=>{var L,H;if(n){v(!0);try{const T=_e("token"),P={...T?{headers:{Authorization:`Bearer ${T}`}}:{},signal:w.signal,params:k?{search:k}:{}};let D=(await Je.get(n,P)).data;if(D&&!Array.isArray(D)&&(D.data&&Array.isArray(D.data)?D=D.data:(L=D.data)!=null&&L.data&&Array.isArray(D.data.data)?D=D.data.data:D.results&&Array.isArray(D.results)?D=D.results:(H=D.data)!=null&&H.results&&Array.isArray(D.data.results)?D=D.data.results:D.items&&Array.isArray(D.items)&&(D=D.items)),Array.isArray(D)){const O=D.map(B=>{var V,z,X,oe,se,ne,$,ee,le,R,ge,ce,re,ye;if(typeof B=="string")return{label:B,value:B};const G=(le=(ne=(se=(oe=(X=(z=(V=B.label)!=null?V:B.name)!=null?z:B.title)!=null?X:B.productName)!=null?oe:B.description)!=null?se:B.text)!=null?ne:B.displayName)!=null?le:String((ee=($=B.id)!=null?$:B.value)!=null?ee:""),q=String((ye=(re=(ce=(ge=(R=B.value)!=null?R:B.id)!=null?ge:B.key)!=null?ce:B.code)!=null?re:B.name)!=null?ye:"");return{label:String(G),value:String(q)}});m(O)}}catch(T){Je.isCancel(T)||console.error("Failed to fetch options",T)}finally{w.signal.aborted||v(!1)}}},_=g.current&&C?0:400;g.current=!1;const E=setTimeout(()=>{M()},_);return()=>{clearTimeout(E),w.abort()}},[n,u,i,o]);const S=n?c:e,h=N.useMemo(()=>{const w=i!=null?i:o;if(w==null||w==="")return null;const C=S.find(k=>String(k.value)===String(w)||String(k.label)===String(w));return C||{label:s||(Nn(w)?"":String(w)),value:String(w)}},[i,o,s,S]),[y,p]=N.useState(h);N.useEffect(()=>{const w=i!==void 0?i:o;if(w!==void 0)if(w===null||w==="")p(null);else{const C=S.find(k=>String(k.value)===String(w)||String(k.label)===String(w));p(C||(k=>k&&(String(k.value)===String(w)||String(k.label)===String(w))?{label:s||(k.label&&!Nn(k.label)?k.label:Nn(w)?"":String(w)),value:String(w)}:{label:s||(Nn(w)?"":String(w)),value:String(w)}))}},[i,o,s,S]);const x=N.useMemo(()=>{let w=S;if(y&&!w.some(k=>String(k.value)===String(y.value)||String(k.label)===String(y.label))&&(w=[y,...w]),!u)return w;const C=u.toLowerCase();return w.filter(k=>k.label.toLowerCase().includes(C))},[u,S,y]),A=N.useCallback(w=>{p(w),t(r,w)},[r,t]);return a.jsx("div",{className:"relative w-full",children:a.jsxs(he.Combobox,{value:y,onChange:A,disabled:l,by:(w,C)=>w&&C?String(w.value)===String(C.value)||String(w.label)===String(C.label):w===C,children:[a.jsxs("div",{className:"relative",children:[a.jsx(he.ComboboxInput,{className:`field-control ${d}`,displayValue:w=>{if(w!=null&&w.label&&!Nn(w.label))return w.label;if(s)return s;if(w!=null&&w.label)return w.label;const C=i!=null?i:o;return C&&!Nn(C)?String(C):""},onChange:w=>b(w.target.value),placeholder:f?"Loading...":l?"":"Select an option..."}),!l&&a.jsx(he.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:f?a.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}):a.jsx(de,{icon:"octicon:chevron-down-12"})})]}),a.jsx(he.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",style:{maxHeight:"400px",overflowY:"auto"},children:f?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):x.length===0?a.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):x==null?void 0:x.map((w,C)=>a.jsx(he.ComboboxOption,{value:w,className:({active:k,selected:M})=>xe("select-option",{active:k,selected:M}),children:({selected:k})=>a.jsx("div",{className:xe("option-text",{selected:k}),children:w.label})},`${w.value}-${C}`))})]})})}function fu({element:e,validationData:n}){var v,g,S,h,y;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isViewer:r}=n||{},d=(g=(v=t?t(e.id):void 0)!=null?v:l?l(e.id):void 0)!=null?g:e==null?void 0:e.value,u=t?t(`${e.id}_metaData`):void 0,b=l?l(`${e.id}_metaData`):void 0,c=u||b||((S=e==null?void 0:e.metaData)==null?void 0:S.responseObject),m=(c==null?void 0:c.label)||(c==null?void 0:c.name);N.useEffect(()=>{i(e.id)},[e.id,i]);const f=r?e.apiUrl:void 0;return a.jsx(a.Fragment,{children:e.selectType==="list"&&!r?a.jsx(ln,{options:(h=e==null?void 0:e.options)!=null?h:[],register:i,name:e.id,setValue:s,trigger:o,value:d,className:xe("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):a.jsx(Wn,{name:e.id,options:(y=e==null?void 0:e.options)!=null?y:[],apiUrl:f,value:d,selectedLabel:m,onGetValue:(p,x)=>{var A;s==null||s(p,(A=x==null?void 0:x.value)!=null?A:""),x&&(s==null||s(`${p}_metaData`,x)),o&&o(p)},readOnly:n==null?void 0:n.isReadOnly})})}function hu({element:e,validationData:n}){const{register:i=()=>({}),watch:o,setValue:s}=n||{},t=e.valueSource==="field"&&e.sourceFieldId,l=t&&typeof o=="function"?o(e.sourceFieldId):void 0;return N.useEffect(()=>{t&&typeof s=="function"&&s(e.id,l)},[l,t,e.id,s]),a.jsx("textarea",{placeholder:e.placeholder,rows:4,className:xe("field-control resize-none",e==null?void 0:e.customClass,{"bg-[#faf8fc]":e.valueSource==="field"}),...i(e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})}function pu({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:s,watch:t,isReadOnly:l}=n||{};let r;t&&(r=t()[e.id]);const d=e.valueSource==="field"&&e.sourceFieldId,u=d&&typeof t=="function"?t(e.sourceFieldId):void 0;return N.useEffect(()=>{d&&typeof s=="function"&&s(e.id,u)},[u,d,e.id,s]),a.jsx(ve,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:s,value:r,prefix:e.prefix,disabled:l||e.valueSource==="field",readOnly:e.valueSource==="field",watch:t,className:e.valueSource==="field"?"bg-[#faf8fc]":void 0})}function gu(e){if(!e)return!1;const n=/^data:image\/(jpeg|png|gif|bmp|webp);base64,/i,i=/\.(jpeg|jpg|png|gif|bmp|webp)$/i;return n.test(e)||i.test(e)}const yu=({imageUrl:e})=>{const[n,i]=N.useState(!1),o=()=>{i(!0)},s=()=>{i(!1)};return a.jsxs("div",{children:[a.jsx("img",{alt:"Thumbnail",style:{cursor:"pointer",width:"120px",height:"130px",objectFit:"cover"},onClick:o,src:e||"/place.png","data-toggle":"tooltip","data-placement":"top",title:"Click to view"}),n&&a.jsx("div",{className:"modal",style:{position:"fixed",top:0,left:0,width:"100%",height:"100%",backgroundColor:"rgba(0, 0, 0, 0.5)",display:"flex",justifyContent:"center",alignItems:"center"},onClick:s,children:a.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:t=>t.stopPropagation(),children:[a.jsx("span",{className:"close",onClick:s,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),a.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})},xu=e=>e.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[_-]/g," ").replace(/[:,;]/g," ").trim().split(/\s+/).map(n=>n.charAt(0).toUpperCase()+n.slice(1).toLowerCase()).join(" ");function Su({element:e,validationData:n}){var w;const{register:i=()=>({}),setValue:o,watch:s}=n||{},[t,l]=N.useState(),[r,d]=N.useState(!1),[u,b]=N.useState(!1),[c,m]=N.useState(""),f=s&&s(e==null?void 0:e.id),v=e.valueSource==="field"&&e.sourceFieldId&&typeof s=="function"?s(e.sourceFieldId):void 0;N.useEffect(()=>{e.valueSource==="field"?(l(v),typeof o=="function"&&o(e.id,v)):l(f)},[f,v,e.valueSource,e.id,o]);const[g,S]=N.useState("");N.useEffect(()=>{i(e.id)},[e.id,i]);const{url:h,method:y,responseType:p}=e||{},x=N.useRef(null),A=N.useCallback(async C=>{var M,_,E,L,H,T,P,I,D,O,B,G,q,V;if(!h||typeof h!="string"||!h.trim()||!y)return;x.current&&x.current.abort();const k=new AbortController;x.current=k,d(!0),m(""),b(!1);try{let z;const X={headers:{Authorization:`Bearer ${_e("token")}`},signal:k.signal};if(y.toLowerCase()==="get"){const oe=`${h}?value=${C}`;z=await Je.get(oe,X)}else if(y.toLowerCase()==="post")z=await Je.post(h,{value:C},X);else throw new Error("Unsupported HTTP method");if(z.status===200)if(((_=(M=z==null?void 0:z.data)==null?void 0:M.data)==null?void 0:_.status)===!1||((E=z==null?void 0:z.data)==null?void 0:E.status)===!1)console.error("Invalid input:",C),m("Unable to validate input"),b(!1);else if(b(!0),p==="string"){let se=((H=(L=z==null?void 0:z.data)==null?void 0:L.data)==null?void 0:H.description)||((T=z==null?void 0:z.data)==null?void 0:T.description)||((P=z==null?void 0:z.data)==null?void 0:P.data)||(z==null?void 0:z.data)||"Validation successful";typeof se=="object"&&se!==null&&(se=JSON.stringify(se)),m(se)}else{const se=((D=(I=z==null?void 0:z.data)==null?void 0:I.data)==null?void 0:D.description)||((O=z==null?void 0:z.data)==null?void 0:O.description)||((B=z==null?void 0:z.data)==null?void 0:B.data)||(z==null?void 0:z.data)||{};S(se),typeof se=="object"&&se!==null&&typeof o=="function"&&o(`${e==null?void 0:e.id}_metaData`,se)}}catch(z){if(!Je.isCancel(z)){console.error("Error validating input:",z);let X=((q=(G=z==null?void 0:z.response)==null?void 0:G.data)==null?void 0:q.message)||((V=z==null?void 0:z.response)==null?void 0:V.data)||"Unable to validate input";typeof X=="object"&&X!==null&&(X=JSON.stringify(X)),m(X),b(!1)}}finally{x.current===k&&d(!1)}},[y,p,h]);return N.useEffect(()=>{if(t){const C=setTimeout(()=>{A(t)},700);return()=>clearTimeout(C)}},[A,t]),a.jsxs("div",{children:[a.jsxs("div",{className:"relative flex items-center",children:[a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:xe("field-control",e==null?void 0:e.customClass,{"bg-gray-100 text-gray-500":e.valueSource==="field"}),...i(e==null?void 0:e.id),onChange:C=>{e.valueSource!=="field"&&(l(C.target.value),typeof o=="function"&&o(e==null?void 0:e.id,C.target.value))},readOnly:e.valueSource==="field",disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field"}),a.jsxs("span",{className:"absolute right-0",children:[r&&a.jsxs("span",{children:[" ",a.jsxs("svg",{className:"animate-spin -ml-1 mr-3 h-5 w-5",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]})]}),u&&!r&&a.jsx("span",{className:"block pr-3 text-lg text-green-600",children:a.jsx(de,{icon:"gg:check-o"})})]})]}),c&&p==="string"&&a.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:c}),p==="object"&&g&&a.jsx("div",{className:"grid grid-cols-2 gap-6 mt-6 text-sm text-gray-600",children:(w=Object.entries(g))==null?void 0:w.map(([C,k])=>a.jsxs("div",{className:"flex flex-col gap-y-1",children:[a.jsx("span",{className:"font-semibold",children:xu(C)}),gu(k)?a.jsx(yu,{imageUrl:k}):a.jsx("input",{type:"text",readOnly:!0,className:"field-control",value:String(k)})]},C))})]})}function wu({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[s,t]=N.useState([...i]);function l(u,b){t(c=>{const m=[...c];return m[b]={...m[b],value:u},m})}function r(u,b){return parseFloat(u)*parseFloat(b)||0}const d=N.useMemo(()=>s.reduce((u,b)=>{const c=r(b.key,b.value);return u+c},0),[s]);return N.useEffect(()=>{e&&e(s)},[s]),N.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((b,c)=>({key:b.value,value:Array.isArray(i)&&i[c]?i[c].value:""}));t(u)}},[i,o]),a.jsx("div",{className:"mt-2",children:a.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{className:"",children:"Denomination"})}),a.jsx("div",{className:"border-r px-4 py-2",children:a.jsx("span",{children:"Quantity"})}),a.jsx("div",{className:"px-4 py-2",children:a.jsx("span",{children:"Sub total"})})]}),s==null?void 0:s.map((u,b)=>{var c,m;return a.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[a.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:a.jsx("span",{className:"",children:(c=parseFloat(u.key))==null?void 0:c.toLocaleString()})}),a.jsx("div",{className:"border-r px-4 py-1",children:a.jsx("span",{children:a.jsx(bi,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>l(f,b),disabled:n,allowNegativeValue:!1})})}),a.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:a.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},b+"index")}),a.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[a.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),a.jsx("div",{className:"px-4 py-3",children:d==null?void 0:d.toLocaleString()})]})]})})}function Nu({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:s}=n||{},t=s&&s(e==null?void 0:e.id)||[];return N.useEffect(()=>{i(e.id)},[e.id,i]),a.jsx("div",{children:a.jsx(wu,{onGetTotal:l=>{o&&o(e.id,l)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:t,readOnly:e==null?void 0:e.isReadOnly})})}function Cu({element:e}){return a.jsx("div",{className:xe("py-6",e==null?void 0:e.customClass)})}function Au({element:e}){return a.jsx("div",{children:a.jsx("hr",{className:xe("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function ku({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return a.jsx("div",{children:a.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function Eu({element:e,state:n,validationData:i}){const{watch:o}=i||{},s=e.valueSource==="field"&&e.sourceFieldId,t=s&&typeof o=="function"?o(e.sourceFieldId):void 0;return a.jsx(a.Fragment,{children:a.jsx("div",{className:e==null?void 0:e.customClass,children:s?t||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Empty dynamic text"}):(e==null?void 0:e.value)||n==="edit"&&a.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function Mu({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:s,deleteRow:t}){return a.jsxs("tr",{children:[n.map(l=>{var f;const r=e[l.field],d=l.editable&&!i,{isValidating:u,result:b}=s(e.id,l.field);let c="border-gray-300";l.validate&&((b==null?void 0:b.isValid)===!1?c="border-red-500 bg-red-50":(b==null?void 0:b.isValid)===!0&&(c="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${c}`;return a.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:d?a.jsxs("div",{className:"relative",children:[l.type==="number"?a.jsx(bi,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:v=>o(v,e.id,l.field)}):l.type==="checkbox"?a.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(v=>{const g=v==="yes",S=`radio-${e.id}-${String(l.field)}-${v}`;return a.jsxs("label",{htmlFor:S,className:"flex items-center gap-1 cursor-pointer",children:[a.jsx("input",{id:S,type:"radio",name:`boolean-${e.id}-${String(l.field)}`,checked:r===g,onChange:()=>o(g,e.id,l.field)}),a.jsx("span",{className:"text-sm",children:g?"Yes":"No"})]},v)})}):l.type==="select"?a.jsx(Wn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:(v,g)=>o((g==null?void 0:g.value)||"",e.id,l.field),customClass:"!border-none !p-0"}):a.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:v=>o(v.target.value,e.id,l.field),className:m}),u&&a.jsx("div",{className:"absolute right-1 top-1",children:a.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):l.validate&&b?a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsxs("span",{children:[String(r!=null?r:"")," ",b.data&&`[${b.data}]`]}),b.isValid?a.jsx("span",{className:"text-xs text-green-600",children:"✓"}):a.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=b.error)!=null?f:"",children:"✗"})]}):l.type==="select"?a.jsx(Wn,{name:String(l.field),options:l.options||[],apiUrl:l.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):l.type==="checkbox"?a.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):a.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(l.id))}),!i&&a.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:a.jsx("button",{type:"button",onClick:()=>t(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:a.jsx(de,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const Tu=N.memo(Mu);function Pu({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[s,t]=N.useState(e),l=_e("config"),r=N.useRef(s);r.current=s;const d=N.useMemo(()=>(o==null?void 0:o.filter(f=>!(f!=null&&f.isColumnDeleted)&&!(f!=null&&f.iscolumnDeleted)&&!(f!=null&&f.isFieldDeleted)))||[],[o]);N.useEffect(()=>{t(f=>JSON.stringify(f)!==JSON.stringify(e)?e:f)},[e]);const u=N.useCallback((f,v,g)=>{const S=r.current.map(h=>h.id===v?{...h,[g]:f}:h);t(S),n==null||n(S)},[n]),b=N.useCallback(()=>{const f=Oe.v4(),v=d.reduce((S,h)=>(S[h.field]=h.field==="id"?f:"",S),{}),g=[...r.current,{id:f,...v}];t(g),n==null||n(g)},[d,n]),c=N.useCallback(f=>{const v=r.current.filter(g=>g.id!==f);t(v),n==null||n(v)},[n]),m=N.useCallback(()=>({isValidating:!1,result:void 0}),[]);return a.jsxs("div",{className:"mt-3 rounded",children:[a.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:a.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[a.jsx("thead",{children:a.jsxs("tr",{className:"bg-gray-100",children:[d.map((f,v)=>{var g;return a.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(g=f.headerName)!=null?g:String(f.field),f.validate&&a.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(f.id)}-${v}`)}),!i&&a.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),a.jsx("tbody",{children:s.length>0?s.map(f=>a.jsx(Tu,{row:f,columns:d,isReadOnly:i,handleCellChange:u,getValidationStatus:m,deleteRow:c},f.id)):a.jsx("tr",{children:a.jsx("td",{colSpan:d.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&a.jsx("div",{className:"flex justify-center mt-2",children:a.jsx("button",{onClick:b,type:"button",style:{color:(l==null?void 0:l.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function Lu({element:e,validationData:n}){var v,g,S,h;const{register:i=()=>({}),setValue:o,watch:s,isReadOnly:t}=n||{},l=(S=(g=(v=s&&s(e==null?void 0:e.id))!=null?v:n!=null&&n.getValues?n.getValues(e==null?void 0:e.id):void 0)!=null?g:e==null?void 0:e.value)!=null?S:{};let r=l;if(typeof l=="string"&&(l.trim().startsWith("{")||l.trim().startsWith("[")))try{r=JSON.parse(l)}catch(y){}const d=Array.isArray(r)?r:(h=r==null?void 0:r.rows)!=null?h:[];N.useEffect(()=>{i(e.id)},[e.id,i]);const u=N.useRef(""),b=N.useRef(e==null?void 0:e.id),c=N.useRef(e==null?void 0:e.dataColumns),m=N.useRef(o);b.current=e==null?void 0:e.id,c.current=e==null?void 0:e.dataColumns,m.current=o;const f=N.useCallback(y=>{var x;const p=JSON.stringify(y);p!==u.current&&(u.current=p,(x=m.current)==null||x.call(m,b.current,{rows:y,columns:c.current}))},[]);return a.jsx(Pu,{value:d,onChange:f,columns:e==null?void 0:e.dataColumns,isReadOnly:t})}const ca=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:s,setValue:t,name:l,label:r,value:d,trigger:u,isMultiple:b=!1,isFloatingLabel:c=!1,subText:m,labelClass:f="",loading:v,disabled:g})=>{const[S,h]=N.useState(b?[]:null),y=xe("custom-select__control",e),p=N.useMemo(()=>n,[n]);N.useEffect(()=>{const A=n==null?void 0:n.find(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d});h(A||null)},[d,n]);const x=N.useMemo(()=>d==null||d===""||!n||n.length===0?!1:b&&Array.isArray(d)?Array.isArray(S)&&S.length<d.length:!n.some(w=>{var C;return typeof w.value=="string"&&typeof d=="string"?w.value.toLowerCase()===d.toLowerCase():typeof w.value=="object"&&typeof d=="object"?((C=w.value)==null?void 0:C.id)===(d==null?void 0:d.id):w.value===d}),[d,n,S,b]);return N.useEffect(()=>{S&&t&&s&&(t(l,S==null?void 0:S.value),s(l),u==null||u(l))},[l,S,s,t,u]),a.jsxs("div",{className:"custom-select",children:[r&&!c&&a.jsx("label",{className:"custom-select__label",children:r}),c&&r&&a.jsx("label",{className:xe("custom-select__floating-label",f),children:r}),a.jsx(he.Listbox,{value:S,onChange:h,multiple:b,disabled:g,children:a.jsxs("div",{className:"custom-select__wrapper",children:[a.jsxs(he.Listbox.Button,{className:y,disabled:g,children:[v?a.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):a.jsx("span",{className:"custom-select__value",children:(S==null?void 0:S.label)||a.jsx("span",{className:"custom-select__placeholder",children:i})}),a.jsx("span",{className:"custom-select__icon",children:a.jsx(de,{icon:"lucide:chevron-down"})})]}),a.jsx(he.Transition,{as:N.Fragment,leave:"custom-select__transition",children:a.jsx(he.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:p==null?void 0:p.map((A,w)=>a.jsx(he.Listbox.Option,{value:A,className:({active:C})=>xe("custom-select__option",C&&"custom-select__option--active"),children:({selected:C})=>a.jsx("span",{className:xe("custom-select__option-label",C&&"custom-select__option--selected"),children:A.label})},w))})})]})}),m&&!o&&a.jsx("p",{className:"custom-select__subtext",children:m}),x&&a.jsxs("p",{className:"text-[12px] text-red-500 mt-[6px]",children:[a.jsx("span",{className:"font-medium",children:" Selected value is not available."})," ",a.jsx("span",{children:"Ensure the source and destination dropdown fields contain matching values"})]}),o&&a.jsx("span",{className:"custom-select__error",children:o.message})]})},Bu=({element:e,validationData:n})=>{var p;const{register:i=()=>({}),trigger:o,setValue:s,watch:t,getValues:l,isReadOnly:r}=n||{},d=(p=e==null?void 0:e.id)!=null?p:"cascadeValue",u=typeof t=="function"?t(d):void 0,b=typeof l=="function"?l(d):void 0,c=(u!==void 0?u:b)||"",[m,f]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[0]:""),[v,g]=N.useState(()=>typeof c=="string"&&c.includes("_")?c.split("_")[1]:""),S=(x,A)=>{const w=x&&A?`${x}_${A}`:"";s==null||s(d,w),o==null||o(d)},h=(x,A)=>{x==="first"?(f(A),g(""),S(A,"")):(g(A),S(m,A))};N.useEffect(()=>{if(typeof c=="string"&&c.includes("_")){const[x,A]=c.split("_");f(x),g(A)}else c||(f(""),g(""))},[c]);const y=N.useMemo(()=>{var x;return(x=e.options1)==null?void 0:x.filter(A=>A.key===m)},[e.options1,m]);return!e.options||!e.options1?null:a.jsxs("div",{children:[a.jsx("input",{type:"hidden",...i(d)}),a.jsx("div",{className:"relative",children:a.jsx(ca,{setValue:(x,A)=>h("first",A),options:e.options,name:`${d}`,register:i,value:m})}),m&&a.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&a.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),a.jsx(ca,{setValue:(x,A)=>h("second",A),options:y,name:`${d}`,register:i,value:v})]})]})},Iu=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:s=24,className:t="",element:l,validationData:r})=>{var h;const{register:d=()=>({}),trigger:u,setValue:b,watch:c,isReadOnly:m}=r||{},f=(h=c==null?void 0:c(l.id))!=null?h:0,[v,g]=N.useState(null);N.useEffect(()=>{f==null&&(b==null||b(l.id,e))},[]);const S=y=>{if(!i&&!m){const p=y+1;b==null||b(l.id,p),u==null||u(l.id),o==null||o(p)}};return a.jsxs("div",{className:`flex gap-1 ${t}`,children:[a.jsx("input",{type:"hidden",...d(l.id)}),Array.from({length:n},(y,p)=>{const x=v!==null?p<=v:p<f;return a.jsx(oa,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:s,height:s,onMouseEnter:()=>!(i||m)&&g(p),onMouseLeave:()=>!(i||m)&&g(null),onClick:()=>S(p)},p)})]})};function Du({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],s=(e==null?void 0:e.options1)||[];return a.jsx("div",{className:xe("w-full overflow-x-auto",e.customClass),children:a.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),s.map(t=>a.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:t.label},t.id||t.value))]})}),a.jsx("tbody",{children:o.map(t=>a.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[a.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:t.label}),s.map(l=>a.jsx("td",{className:"p-3 text-center align-middle",children:a.jsx("input",{type:"radio",value:l.value,disabled:e.isDisabled||(n==null?void 0:n.isReadOnly),className:"w-4 h-4 text-blue-600 bg-gray-100 border-gray-300 focus:ring-blue-500 cursor-pointer disabled:opacity-80",...i(`${e.id}.${t.value}`)})},l.id||l.value))]},t.id||t.value))})]})})}function ba({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:s,isReadOnly:t,watch:l}=n||{},r=(l==null?void 0:l(e.id))||"",{country:d,state:u}=N.useMemo(()=>{if(typeof r=="string"&&r.includes(",")){const[v,g]=r.split(",").map(S=>S.trim());return{country:g,state:v}}return{country:r,state:""}},[r]),b=N.useRef(r),c=N.useMemo(()=>{var v,g;return d?((g=(v=pi.find(S=>S.name===d))==null?void 0:v.states)==null?void 0:g.map(S=>({label:S.name,value:S.name})))||[]:[]},[d]),m=(v,g)=>{const h=(g==null?void 0:g.value)||"";o&&h!==b.current&&(o(e.id,h),s==null||s(e.id),b.current=h)},f=(v,g)=>{const S=(g==null?void 0:g.value)||"",h=S?`${S}, ${d}`:d;o&&h!==b.current&&(o(e.id,h),s==null||s(e.id),b.current=h)};return N.useEffect(()=>{b.current=r},[r]),a.jsxs("div",{className:"grid gap-y-6",children:[a.jsx("input",{type:"hidden",...i(e.id)}),a.jsx(Wn,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:t,defaultValue:d},`country-${d}`),c.length>0&&e.showState&&a.jsxs("div",{children:[a.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),a.jsx(Wn,{options:c,onGetValue:f,name:`${e.id}-state`,readOnly:t,defaultValue:u},`state-${u}`)]})]})}const Eo=[{code:"DZ",label:"Algeria",phone:"213",min:9,max:9},{code:"AO",label:"Angola",phone:"244",min:9,max:9},{code:"BJ",label:"Benin",phone:"229",min:8,max:8},{code:"BW",label:"Botswana",phone:"267",min:7,max:7},{code:"BF",label:"Burkina Faso",phone:"226",min:8,max:8},{code:"BI",label:"Burundi",phone:"257",min:8,max:8},{code:"CM",label:"Cameroon",phone:"237",min:9,max:9},{code:"CV",label:"Cape Verde",phone:"238",min:7,max:7},{code:"CF",label:"Central African Republic",phone:"236",min:8,max:8},{code:"TD",label:"Chad",phone:"235",min:8,max:8},{code:"KM",label:"Comoros",phone:"269",min:7,max:7},{code:"CG",label:"Congo",phone:"242",min:9,max:9},{code:"CD",label:"Democratic Republic of Congo",phone:"243",min:9,max:9},{code:"CI",label:"Cote d'Ivoire",phone:"225",min:8,max:8},{code:"DJ",label:"Djibouti",phone:"253",min:8,max:8},{code:"EG",label:"Egypt",phone:"20",min:10,max:10},{code:"GQ",label:"Equatorial Guinea",phone:"240",min:9,max:9},{code:"ER",label:"Eritrea",phone:"291",min:7,max:7},{code:"ET",label:"Ethiopia",phone:"251",min:9,max:9},{code:"GA",label:"Gabon",phone:"241",min:7,max:7},{code:"GM",label:"Gambia",phone:"220",min:7,max:7},{code:"GH",label:"Ghana",phone:"233",min:9,max:9},{code:"GN",label:"Guinea",phone:"224",min:9,max:9},{code:"GW",label:"Guinea-Bissau",phone:"245",min:9,max:9},{code:"KE",label:"Kenya",phone:"254",min:7,max:9},{code:"LS",label:"Lesotho",phone:"266",min:8,max:8},{code:"LR",label:"Liberia",phone:"231",min:8,max:9},{code:"LY",label:"Libya",phone:"218",min:9,max:10},{code:"MG",label:"Madagascar",phone:"261",min:9,max:9},{code:"MW",label:"Malawi",phone:"265",min:9,max:9},{code:"ML",label:"Mali",phone:"223",min:8,max:8},{code:"MR",label:"Mauritania",phone:"222",min:8,max:8},{code:"MU",label:"Mauritius",phone:"230",min:8,max:8},{code:"MA",label:"Morocco",phone:"212",min:9,max:9},{code:"MZ",label:"Mozambique",phone:"258",min:9,max:9},{code:"NA",label:"Namibia",phone:"264",min:9,max:9},{code:"NE",label:"Niger",phone:"227",min:8,max:8},{code:"NG",label:"Nigeria",phone:"234",min:10,max:10},{code:"RW",label:"Rwanda",phone:"250",min:9,max:9},{code:"ST",label:"Sao Tome and Principe",phone:"239",min:7,max:7},{code:"SN",label:"Senegal",phone:"221",min:9,max:9},{code:"SC",label:"Seychelles",phone:"248",min:7,max:7},{code:"SL",label:"Sierra Leone",phone:"232",min:8,max:8},{code:"SO",label:"Somalia",phone:"252",min:8,max:9},{code:"ZA",label:"South Africa",phone:"27",min:10,max:10},{code:"SS",label:"South Sudan",phone:"211",min:9,max:9},{code:"SD",label:"Sudan",phone:"249",min:9,max:9},{code:"TZ",label:"Tanzania",phone:"255",min:9,max:9},{code:"TG",label:"Togo",phone:"228",min:8,max:8},{code:"TN",label:"Tunisia",phone:"216",min:8,max:8},{code:"UG",label:"Uganda",phone:"256",min:9,max:9},{code:"ZM",label:"Zambia",phone:"260",min:9,max:9},{code:"ZW",label:"Zimbabwe",phone:"263",min:9,max:9},{code:"US",label:"United States",phone:"1",min:10,max:10},{code:"CA",label:"Canada",phone:"1",min:10,max:10},{code:"GB",label:"United Kingdom",phone:"44",min:9,max:10},{code:"FR",label:"France",phone:"33",min:9,max:9},{code:"DE",label:"Germany",phone:"49",min:10,max:11},{code:"IT",label:"Italy",phone:"39",min:9,max:10},{code:"ES",label:"Spain",phone:"34",min:9,max:9},{code:"NL",label:"Netherlands",phone:"31",min:9,max:9},{code:"RU",label:"Russia",phone:"7",min:10,max:10},{code:"CN",label:"China",phone:"86",min:11,max:11},{code:"IN",label:"India",phone:"91",min:10,max:10},{code:"JP",label:"Japan",phone:"81",min:10,max:10},{code:"KR",label:"South Korea",phone:"82",min:8,max:9},{code:"BR",label:"Brazil",phone:"55",min:10,max:11},{code:"MX",label:"Mexico",phone:"52",min:10,max:10},{code:"AR",label:"Argentina",phone:"54",min:10,max:10},{code:"CL",label:"Chile",phone:"56",min:9,max:9},{code:"AU",label:"Australia",phone:"61",min:9,max:9},{code:"NZ",label:"New Zealand",phone:"64",min:8,max:9},{code:"SA",label:"Saudi Arabia",phone:"966",min:9,max:9},{code:"AE",label:"United Arab Emirates",phone:"971",min:9,max:9},{code:"TR",label:"Turkey",phone:"90",min:10,max:11},{code:"IR",label:"Iran",phone:"98",min:7,max:10},{code:"PK",label:"Pakistan",phone:"92",min:10,max:10},{code:"BD",label:"Bangladesh",phone:"880",min:10,max:10},{code:"ID",label:"Indonesia",phone:"62",min:9,max:11},{code:"PH",label:"Philippines",phone:"63",min:10,max:10},{code:"CO",label:"Colombia",phone:"57",min:10,max:10},{code:"VE",label:"Venezuela",phone:"58",min:10,max:10},{code:"PE",label:"Peru",phone:"51",min:9,max:9},{code:"EC",label:"Ecuador",phone:"593",min:9,max:9},{code:"UY",label:"Uruguay",phone:"598",min:8,max:8},{code:"PY",label:"Paraguay",phone:"595",min:9,max:9},{code:"BO",label:"Bolivia",phone:"591",min:8,max:8},{code:"GT",label:"Guatemala",phone:"502",min:8,max:8},{code:"HN",label:"Honduras",phone:"504",min:8,max:8},{code:"SV",label:"El Salvador",phone:"503",min:8,max:8},{code:"NI",label:"Nicaragua",phone:"505",min:8,max:8},{code:"CR",label:"Costa Rica",phone:"506",min:8,max:8},{code:"PA",label:"Panama",phone:"507",min:8,max:8},{code:"JM",label:"Jamaica",phone:"1",min:10,max:10},{code:"TT",label:"Trinidad and Tobago",phone:"1",min:10,max:10},{code:"AD",label:"Andorra",phone:"376",min:6,max:6},{code:"AF",label:"Afghanistan",phone:"93",min:9,max:9},{code:"AG",label:"Antigua and Barbuda",phone:"1-268",min:7,max:7},{code:"AI",label:"Anguilla",phone:"1-264",min:7,max:7},{code:"AL",label:"Albania",phone:"355",min:8,max:8},{code:"AM",label:"Armenia",phone:"374",min:8,max:8},{code:"AS",label:"American Samoa",phone:"1-684",min:7,max:7},{code:"AT",label:"Austria",phone:"43",min:10,max:10},{code:"AW",label:"Aruba",phone:"297",min:7,max:7},{code:"AX",label:"Åland Islands",phone:"358",min:6,max:6},{code:"AZ",label:"Azerbaijan",phone:"994",min:9,max:9},{code:"BA",label:"Bosnia and Herzegovina",phone:"387",min:8,max:8},{code:"BB",label:"Barbados",phone:"1-246",min:7,max:7},{code:"BE",label:"Belgium",phone:"32",min:9,max:9},{code:"BG",label:"Bulgaria",phone:"359",min:9,max:9},{code:"BH",label:"Bahrain",phone:"973",min:8,max:8},{code:"BL",label:"Saint Barthélemy",phone:"590",min:9,max:9},{code:"BM",label:"Bermuda",phone:"1-441",min:7,max:7},{code:"BN",label:"Brunei Darussalam",phone:"673",min:7,max:7},{code:"BQ",label:"Bonaire, Sint Eustatius and Saba",phone:"599",min:7,max:7},{code:"BS",label:"Bahamas",phone:"1-242",min:7,max:7},{code:"BT",label:"Bhutan",phone:"975",min:8,max:8},{code:"BV",label:"Bouvet Island",phone:"47",min:8,max:8},{code:"BY",label:"Belarus",phone:"375",min:9,max:9},{code:"BZ",label:"Belize",phone:"501",min:7,max:7},{code:"CC",label:"Cocos (Keeling) Islands",phone:"61",min:7,max:7},{code:"CH",label:"Switzerland",phone:"41",min:9,max:9},{code:"CK",label:"Cook Islands",phone:"682",min:5,max:5},{code:"CU",label:"Cuba",phone:"53",min:8,max:8},{code:"CW",label:"Curaçao",phone:"599",min:7,max:7},{code:"CX",label:"Christmas Island",phone:"61",min:7,max:7},{code:"CY",label:"Cyprus",phone:"357",min:8,max:8},{code:"CZ",label:"Czechia",phone:"420",min:9,max:9},{code:"DK",label:"Denmark",phone:"45",min:8,max:8},{code:"DM",label:"Dominica",phone:"1-767",min:7,max:7},{code:"DO",label:"Dominican Republic",phone:"1-809",min:7,max:7},{code:"EE",label:"Estonia",phone:"372",min:8,max:8},{code:"EH",label:"Western Sahara",phone:"212",min:9,max:9},{code:"FI",label:"Finland",phone:"358",min:9,max:9},{code:"FJ",label:"Fiji",phone:"679",min:7,max:7},{code:"FM",label:"Micronesia (Federated States of)",phone:"691",min:7,max:7},{code:"FO",label:"Faroe Islands",phone:"298",min:6,max:6},{code:"GD",label:"Grenada",phone:"1-473",min:7,max:7},{code:"GE",label:"Georgia",phone:"995",min:9,max:9},{code:"GF",label:"French Guiana",phone:"594",min:9,max:9},{code:"GG",label:"Guernsey",phone:"44",min:9,max:9},{code:"GI",label:"Gibraltar",phone:"350",min:8,max:8},{code:"GL",label:"Greenland",phone:"299",min:6,max:6},{code:"GP",label:"Guadeloupe",phone:"590",min:9,max:9},{code:"GR",label:"Greece",phone:"30",min:10,max:10},{code:"GS",label:"South Georgia and the South Sandwich Islands",phone:"500",min:6,max:6},{code:"GU",label:"Guam",phone:"1-671",min:10,max:10},{code:"GY",label:"Guyana",phone:"592",min:7,max:7},{code:"HK",label:"Hong Kong",phone:"852",min:8,max:8},{code:"HM",label:"Heard Island and McDonald Islands",phone:"672",min:6,max:6},{code:"HR",label:"Croatia",phone:"385",min:9,max:9},{code:"HT",label:"Haiti",phone:"509",min:8,max:8},{code:"HU",label:"Hungary",phone:"36",min:9,max:9},{code:"IE",label:"Ireland",phone:"353",min:9,max:9},{code:"IM",label:"Isle of Man",phone:"44",min:9,max:9},{code:"IO",label:"British Indian Ocean Territory",phone:"246",min:7,max:7},{code:"IQ",label:"Iraq",phone:"964",min:10,max:10},{code:"IS",label:"Iceland",phone:"354",min:7,max:7},{code:"JE",label:"Jersey",phone:"44",min:9,max:9},{code:"JO",label:"Jordan",phone:"962",min:9,max:9},{code:"KG",label:"Kyrgyzstan",phone:"996",min:9,max:9},{code:"KH",label:"Cambodia",phone:"855",min:9,max:9},{code:"KI",label:"Kiribati",phone:"686",min:7,max:7},{code:"KN",label:"Saint Kitts and Nevis",phone:"1-869",min:10,max:10},{code:"KP",label:"North Korea",phone:"850",min:9,max:9},{code:"KW",label:"Kuwait",phone:"965",min:8,max:8},{code:"KY",label:"Cayman Islands",phone:"1-345",min:10,max:10},{code:"KZ",label:"Kazakhstan",phone:"7",min:10,max:10},{code:"MC",label:"Monaco",phone:"377",min:8,max:9},{code:"LI",label:"Liechtenstein",phone:"423",min:7,max:7},{code:"VA",label:"Vatican City",phone:"379",min:9,max:9},{code:"SM",label:"San Marino",phone:"378",min:10,max:10},{code:"ME",label:"Montenegro",phone:"382",min:8,max:8},{code:"RS",label:"Serbia",phone:"381",min:9,max:9},{code:"MK",label:"North Macedonia",phone:"389",min:8,max:8},{code:"SJ",label:"Svalbard and Jan Mayen",phone:"47",min:8,max:8},{code:"MF",label:"Saint Martin",phone:"590",min:9,max:9},{code:"PM",label:"Saint Pierre and Miquelon",phone:"508",min:6,max:6},{code:"WF",label:"Wallis and Futuna",phone:"681",min:6,max:6},{code:"TV",label:"Tuvalu",phone:"688",min:5,max:5},{code:"NR",label:"Nauru",phone:"674",min:7,max:7},{code:"TO",label:"Tonga",phone:"676",min:5,max:5},{code:"WS",label:"Samoa",phone:"685",min:7,max:7},{code:"VU",label:"Vanuatu",phone:"678",min:7,max:7},{code:"SB",label:"Solomon Islands",phone:"677",min:7,max:7},{code:"FM",label:"Micronesia",phone:"691",min:7,max:7},{code:"MH",label:"Marshall Islands",phone:"692",min:7,max:7},{code:"PW",label:"Palau",phone:"680",min:7,max:7}];function Ou({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:s,name:t,value:l,error:r,disabled:d,readOnly:u,horizontal:b,description:c,onChange:m,onError:f}){const[v,g]=N.useState(""),[S,h]=N.useState(null),[y,p]=N.useState(""),x=N.useMemo(()=>{var E;return(E=Eo==null?void 0:Eo.slice().sort((L,H)=>L.label.localeCompare(H.label)))==null?void 0:E.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=N.useMemo(()=>v?x.filter(E=>`${E.label} ${E.phone}`.toLowerCase().includes(v.toLowerCase())):x,[v,x]),w=(S==null?void 0:S.min)||10,C=(S==null?void 0:S.max)||10,k=()=>y?`${(S==null?void 0:S.phone)||"+234"}-${y}`:"",M=E=>{if(!E||typeof E!="string")return{code:"+234",number:""};const L=E.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};N.useEffect(()=>{if(l){const E=k();if(l!==E){const L=M(l);h(x.find(H=>H.phone===L.code)||x[0]),p(L.number)}}},[l,x]);const _=N.useMemo(()=>{if(r)return r;const E=y.length;return o&&E===0?"Phone number is required":E>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":E>0&&E<w?`Minimum length is ${w}`:E>C?`Maximum length is ${C}`:""},[r,y,w,C,o]);return N.useEffect(()=>{const E=k();E!==l&&(m==null||m(E))},[y,S]),N.useEffect(()=>{f==null||f(_||null)},[_]),a.jsxs("div",{className:`relative formGroup ${_&&!u?"has-error":""} ${b?"flex":""} ${!_&&y.length>0&&!u?"is-valid":""}`,children:[e&&a.jsxs("label",{htmlFor:t,className:`${i} ${b?"flex-0 mr-6 md:w-[100px] w-[60px] break-words":""} flex items-center gap-x-1 input-label text-sm text-[#1B2B41B8]`,children:[e," ",o&&a.jsx("span",{className:"text-red-500",children:"*"}),s&&a.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),a.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[a.jsx(de,{icon:"lucide:phone-call"}),a.jsx(he.Combobox,{value:S,onChange:h,children:a.jsxs("div",{className:"relative",children:[a.jsx(he.Combobox.Input,{className:"pl-3 pr-4 mr-1 text-sm bg-white py-[10px] outline-none whitespace-nowrap max-w-[70px]",displayValue:E=>(E==null?void 0:E.phone)||"+234",placeholder:"+234",onChange:E=>g(E.target.value)}),a.jsx(he.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:a.jsx(de,{icon:"lucide:chevron-down"})}),a.jsx(he.Combobox.Options,{className:"absolute z-10 w-[250px] left-0 bg-white border rounded-md shadow-lg max-h-[400px] overflow-y-auto",children:A==null?void 0:A.map((E,L)=>a.jsxs(he.Combobox.Option,{value:E,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[E.phone," - ",E.label]},`${E.code}+ ${L}`))})]})}),a.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[a.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:d,readOnly:u,onChange:E=>{const L=E.target.value.replace(/\D/g,"");p(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:C,minLength:w}),a.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!_&&y.length>0&&!u&&a.jsx("span",{className:"text-green-500",children:a.jsx(de,{icon:"bi:check-lg"})})})]})]}),c&&a.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:c})]})}function _u({element:e,validationData:n}){const{register:i,setValue:o,watch:s,isReadOnly:t,setError:l,clearErrors:r}=n||{};let d;return N.useEffect(()=>{i&&i(e.id)},[e.id,i]),s&&(d=s(e.id)),a.jsx(Ou,{placeholder:e.placeholder,label:"",name:e.id,value:d,readOnly:t,disabled:t,onError:u=>{u?l==null||l(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function Fu({element:e,validationData:n}){var m;const{register:i=()=>({}),watch:o,setValue:s}=n||{};let t="";const l=e.valueSource==="field"&&e.sourceFieldId,r=l&&typeof o=="function"?o(e.sourceFieldId):void 0;N.useEffect(()=>{l&&typeof s=="function"&&s(e.id,r)},[r,l,e.id,s]),o&&(t=(m=o()[e.id])!=null?m:"");const d=t.trim(),u=/^https?:\/\//i.test(d),b=d?u?d:`https://${d}`:"",c=!u;return a.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&a.jsxs("div",{className:"relative",children:[c&&a.jsx("span",{className:"text-sm absolute left-4 top-1/2 -translate-y-1/2 text-gray-500 pointer-events-none select-none",children:"https://"}),a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:xe("field-control",c&&"!pl-16",e==null?void 0:e.customClass,e.valueSource==="field"&&"bg-[#faf8fc]"),...i(e==null?void 0:e.id),disabled:(n==null?void 0:n.isReadOnly)||e.valueSource==="field",readOnly:e.valueSource==="field"})]}),d?a.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:a.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:b,children:d})}):(n==null?void 0:n.isReadOnly)&&a.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function Hu({element:e,validationData:n}){var d;const{watch:i,setValue:o}=n||{},s=(e==null?void 0:e.formula)||"",t=N.useMemo(()=>{const b=(s.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(s.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const v=/@\[.*?\]\((.*?)\)/.exec(f);return v?v[1]:""}).filter(Boolean);return Array.from(new Set([...b,...m]))},[s]),l=i?i(t):[],r=N.useMemo(()=>{if(!s)return"";let u=s,b=!1;if(t.forEach((c,m)=>{const f=l[m],v=Number(f);(isNaN(v)||f===void 0||f===null||f==="")&&(b=!0),u=u.replace(new RegExp(`\\{\\{${c}\\}\\}`,"g"),String(v||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${c}\\)`,"g"),String(v||0))}),b)return"";try{const c=u.replace(/[^0-9+\-*/().\s]/g,"");if(!c)return"";const m=new Function(`return ${c}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(c){return"Error"}},[s,t,l]);return N.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),a.jsx("div",{children:a.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:xe("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((d=n==null?void 0:n.errors)!=null&&d[e==null?void 0:e.id])})})}function Ku({element:e,validationData:n,state:i}){var f;const{register:o,watch:s,setValue:t}=n||{},[l,r]=N.useState({}),[d,u]=N.useState(0),b=s?s(e.id):null,c=!!(b||n!=null&&n.showResults);N.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const v=async()=>{try{const S=await fetch(e.externalApiUrl);if(!S.ok)return;const h=await S.json();let y={};Array.isArray(h)?h.forEach(x=>{const A=x.value||x.id||x.option,w=x.count||x.votes||x.value||0;A&&(y[A]=Number(w))}):typeof h=="object"&&(y=h),r(y);const p=Object.values(y).reduce((x,A)=>x+Number(A),0);u(p)}catch(S){console.error("Failed to fetch polling results",S)}};v();const g=setInterval(v,1e4);return()=>clearInterval(g)},[e.fetchExternalResults,e.externalApiUrl]),N.useEffect(()=>{e.fetchExternalResults||(b?(r({[b]:1}),u(1)):(r({}),u(0)))},[b,e.fetchExternalResults]);const m=v=>{n!=null&&n.isReadOnly||i==="edit"||t&&t(e.id,v,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(v=>{const g=l[v.value]||0,S=d>0?Math.round(g/d*100):0,h=b===v.value;return a.jsxs("div",{onClick:()=>m(v.value),className:xe("relative flex items-center justify-between p-3 border rounded-lg overflow-hidden transition-all duration-200",n!=null&&n.isReadOnly?"cursor-default":"cursor-pointer hover:border-blue-400 hover:bg-blue-50/50",h?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[c&&a.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${S}%`}}),a.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[a.jsx("div",{className:xe("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",h?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:h&&a.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),a.jsx("span",{className:xe("font-medium text-sm",h?"text-blue-900":"text-gray-700"),children:v.label||v.name||v.option||v.value||"Unknown Option"})]}),c&&a.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[a.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[S,"%"]}),h&&a.jsx(de,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),a.jsx("input",{type:"radio",value:v.value,className:"hidden",...o?o(e.id):{}})]},v.id||v.value)})}),c&&a.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[a.jsxs("span",{children:[d," ",d===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&a.jsxs("span",{className:"flex items-center gap-1",children:[a.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const ma={textField:ko,longText:hu,selectField:fu,multiSelect:No,numberField:ko,amountField:pu,date:lu,time:du,password:cu,checkbox:vu,radio:bu,email:ko,file:uu,dataGrid:Lu,section:mu,dataLookup:Su,tableInput:Nu,spacer:Cu,divider:Au,header:ku,basicText:Eu,phoneField:_u,cascadeSelect:Bu,rating:Iu,matrix:Du,country:ba,bank:ba,url:Fu,calculatedField:Hu,polling:Ku,nps:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=u=>{o||n==="edit"||typeof l=="function"&&l(e.id,u,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"flex justify-between mt-2 gap-1 overflow-x-auto pb-2",children:[0,1,2,3,4,5,6,7,8,9,10].map(u=>a.jsx("button",{type:"button",onClick:()=>d(u),disabled:o||n==="edit",className:xe("flex-1 min-w-[36px] h-10 px-1 rounded-md border font-medium transition-colors disabled:opacity-80",r===u?"border-[#6366f1] bg-[#6366f1] text-white":"border-gray-200 bg-white text-gray-700 hover:border-[#6366f1] hover:text-[#6366f1]"),children:u},u))}),a.jsxs("div",{className:"flex justify-between text-xs text-gray-400 mt-1 px-1",children:[a.jsx("span",{children:e.minLabel||"Not at all likely"}),a.jsx("span",{children:e.maxLabel||"Extremely likely"})]}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},ranking:({element:e,state:n,validationData:i})=>{const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,[d,u]=N.useState(r||e.options||[]);N.useEffect(()=>{r&&Array.isArray(r)&&r.length>0?u(r):e.options&&e.options.length>0&&u(e.options)},[r,e.options]);const b=m=>{if(o||n==="edit"||m===0)return;const f=[...d],v=f[m-1];f[m-1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})},c=m=>{if(o||n==="edit"||m===d.length-1)return;const f=[...d],v=f[m+1];f[m+1]=f[m],f[m]=v,u(f),typeof l=="function"&&l(e.id,f,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full flex flex-col gap-2 mt-2",children:[d.map((m,f)=>a.jsxs("div",{className:"flex items-center gap-3 p-3 bg-white border border-gray-200 rounded-lg shadow-sm",children:[a.jsxs("div",{className:"flex flex-col text-gray-400",children:[a.jsx("button",{type:"button",onClick:()=>b(f),disabled:o||n==="edit"||f===0,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(de,{icon:"mdi:chevron-up",iconClass:"w-5 h-5"})}),a.jsx("button",{type:"button",onClick:()=>c(f),disabled:o||n==="edit"||f===d.length-1,className:"hover:text-[#6366f1] disabled:opacity-30 disabled:hover:text-gray-400",children:a.jsx(de,{icon:"mdi:chevron-down",iconClass:"w-5 h-5"})})]}),a.jsx("div",{className:"flex-1 text-sm font-medium text-gray-700",children:m.label}),a.jsx("div",{className:"w-6 h-6 flex items-center justify-center rounded-full bg-indigo-50 text-xs font-bold text-[#6366f1]",children:f+1})]},m.id)),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})},imageChoice:({element:e,state:n,validationData:i})=>{var u;const{isReadOnly:o,register:s,watch:t,setValue:l}=i||{},r=typeof t=="function"?t(e.id):void 0,d=b=>{o||n==="edit"||typeof l=="function"&&l(e.id,b,{shouldValidate:!0,shouldDirty:!0})};return a.jsxs("div",{className:"w-full",children:[a.jsx("div",{className:"grid grid-cols-2 gap-4 mt-2",children:(u=e.options)==null?void 0:u.map(b=>a.jsxs("div",{onClick:()=>d(b.value),className:xe("relative rounded-xl border-2 overflow-hidden cursor-pointer group transition-colors shadow-sm",r===b.value?"border-[#6366f1] ring-2 ring-[#6366f1]/20":"border-gray-100 hover:border-[#6366f1]"),children:[a.jsx("div",{className:"aspect-video bg-gray-50 flex items-center justify-center text-gray-300 relative",children:b.imageUrl?a.jsx("img",{src:b.imageUrl,alt:b.label,className:"absolute inset-0 w-full h-full object-cover"}):a.jsx(de,{icon:"mdi:image-outline",iconClass:"w-12 h-12 group-hover:text-[#6366f1] transition-colors"})}),a.jsx("div",{className:xe("p-3 text-center text-sm font-medium",r===b.value?"bg-[#6366f1] text-white":"bg-white text-gray-700"),children:b.label})]},b.id))}),typeof s=="function"&&a.jsx("input",{type:"hidden",...s(e.id)})]})}},va="edit",Vu=(e,n)=>{var o;const i=ma[e.type];return i?a.jsx(Ao,{element:e,state:va,children:a.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&a.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),a.jsx(i,{element:e,state:va,sectionId:n})]})}):a.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:a.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},yi=({col:e,children:n,customClass:i})=>a.jsx("div",{className:xe("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),Gu=({element:e,sectionId:n,children:i,customClass:o,state:s,draggedElementId:t})=>{const{formData:l,addElement:r,setIsDragging:d,moveElement:u,isDragging:b,removeElement:c}=N.useContext(He),m=N.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,v]=N.useState(null);N.useEffect(()=>{const x=()=>{v(null),d(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[d]);const g=N.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",v(A)},[]),S=N.useCallback((x,A)=>{x.preventDefault(),x.stopPropagation(),v(A)},[]),h=N.useCallback((x,A)=>{const w=x.relatedTarget;w&&x.currentTarget.contains(w)||v(C=>C===A?null:C)},[]),y=N.useCallback((x,A)=>{var k;x.preventDefault(),x.stopPropagation(),d(!1),v(null);const w=A+1,C=x.dataTransfer.getData("elementId");if(C){u({draggedId:C,sectionId:n,targetGridId:e.id,targetCol:w});return}try{const M=x.dataTransfer.getData("properties");if(!M)return;const _=JSON.parse(M);if((_==null?void 0:_.type)==="grid")return;const E=l.find(T=>T.id===n),L=(k=E==null?void 0:E.questionData)==null?void 0:k.find(T=>{var P;return!T.isFieldDeleted&&T.gridId===e.id&&((P=T.gridPosition)==null?void 0:P.col)===w});L&&c(L.id,n);const H={..._,id:Oe.v4(),sectionId:n,gridId:e.id,gridPosition:{col:w}};r(H,n)}catch(M){console.error("Drop failed in grid:",M),d(!1)}},[r,e.id,l,n,d,u]),p=(x,A,w)=>{var P,I,D;const C=x+1,k=(I=(P=l.find(O=>O.id===n))==null?void 0:P.questionData)==null?void 0:I.find(O=>{var B;return!O.isFieldDeleted&&O.gridId===e.id&&((B=O.gridPosition)==null?void 0:B.col)===C}),M=(D=k==null?void 0:k.id)!=null?D:null,_=Array.isArray(i)&&i.find(O=>{var B;return((B=O==null?void 0:O.props)==null?void 0:B.col)===C}),E=b&&f===x,L=!!_,H=b&&!!t,T=L&&M&&w==="edit"?{draggable:!0,onDragStart:O=>{O.stopPropagation(),O.dataTransfer.setData("elementId",M),O.dataTransfer.setData("properties",M),O.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>{v(null),d(!1)}}:{};return a.jsx("div",{className:"min-w-0",children:a.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:O=>y(O,x),onDragEnter:O=>S(O,x),onDragOver:O=>g(O,x),onDragLeave:O=>h(O,x),className:xe("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",w==="edit"?"py-3 ":"",L&&w==="edit"&&"cursor-grab active:cursor-grabbing border-none",A,!H&&!E&&"bg-white border-gray-200 text-gray-300",H&&!E&&!L&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",H&&!E&&L&&"bg-white border-orange-200 border-dashed",E&&!L&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",E&&L&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[L&&w==="edit"&&a.jsx("div",{className:"absolute top-1 left-1/2 -translate-x-1/2 flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-gray-100 hover:bg-blue-100 text-gray-400 hover:text-blue-500 cursor-grab active:cursor-grabbing transition-colors z-10 opacity-60 hover:opacity-100 pointer-events-none select-none",children:a.jsx(de,{icon:"ph:dots-six-bold"})}),E&&!L&&a.jsxs("span",{className:"absolute inset-0 flex flex-col items-center justify-center gap-1 text-blue-400 text-xs font-medium pointer-events-none",children:[a.jsx(de,{icon:"ph:plus-bold"}),"Drop here"]}),E&&L&&a.jsx("span",{className:"absolute top-1 right-1 text-xs text-orange-400 font-medium pointer-events-none px-1 py-0.5 bg-orange-50 rounded",children:"Replace"}),a.jsx("div",{className:xe("w-full select-none min-w-0",E&&"opacity-50 pointer-events-none"),children:_||a.jsx("span",{className:"flex items-center justify-center text-gray-300",children:w==="edit"&&a.jsx(de,{icon:"ph:plus-bold"})})})]})},x)};return a.jsx("div",{className:"relative w-full",children:a.jsx("div",{className:"grid w-full gap-3 items-center",style:{gridTemplateColumns:`repeat(${e.columns}, minmax(0, 1fr))`},children:m==null?void 0:m.map((x,A)=>p(A,o,s))})})},xi=N.memo(Gu),zu="edit";function Mo({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[s,t]=N.useState(!1),l=s?52:o?28:4;return a.jsx("div",{onDragEnter:r=>{r.preventDefault(),t(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),t(!0)},onDragLeave:()=>t(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),t(!1),n(r,e)},onDragEnd:()=>{t(!1),i()},style:{height:`${l}px`},className:xe("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",s?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:s&&a.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[a.jsx(de,{icon:"octicon:plus-16"}),"Drop here"]})})}function $u({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:s,addElementInPosition:t,moveElement:l}=N.useContext(He),[r,d]=N.useState(null),u=N.useMemo(()=>{var y;return((y=i.find(p=>p.id===n))==null?void 0:y.questionData)||[]},[i,n]),b=N.useCallback((y,p)=>{y.dataTransfer.setData("elementId",p),y.dataTransfer.setData("properties",p),y.dataTransfer.effectAllowed="move",d(p),s(!0)},[s]),c=N.useCallback(()=>{d(null),s(!1)},[s]);N.useEffect(()=>{!o&&r&&d(null)},[o,r]);const m=N.useCallback(y=>{y.preventDefault(),y.stopPropagation();const p=y.dataTransfer.getData("elementId"),x=y.currentTarget.id;if(!p||!x||p===x){c();return}const A=u.find(C=>C.id===p),w=u.findIndex(C=>C.id===x);A!=null&&A.gridId&&w!==-1?l({draggedId:p,sectionId:n,targetIndex:w}):l({draggedId:p,sectionId:n,targetId:x}),d(null),s(!1)},[n,l,s,c,u]),f=N.useCallback((y,p)=>{y.preventDefault(),y.stopPropagation(),s(!1);const x=y.dataTransfer.getData("elementId");if(x){l({draggedId:x,sectionId:n,targetIndex:p}),d(null);return}try{const A=JSON.parse(y.dataTransfer.getData("properties"));if((A==null?void 0:A.type)==="section")return;const w={...A,id:Oe.v4(),sectionId:n};t(w,n,p),d(null)}catch(A){console.error("Drop error:",A)}},[t,n,s,l]),v=N.useCallback((y,p=!1)=>a.jsx("div",{id:y.id,draggable:!0,onDragStart:x=>b(x,y.id),onDragOver:p?void 0:x=>{x.preventDefault(),x.stopPropagation()},onDrop:p?void 0:m,onDragEnd:c,className:xe("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===y.id?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-300 shadow-inner":r?"bg-white border-dashed border-blue-200 shadow-sm":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:Vu(y,n)},y.id),[r,m,n,b,c]),g=N.useMemo(()=>(e==null?void 0:e.reduce((y,p)=>(p.gridId&&!p.isFieldDeleted&&(y[p.gridId]=y[p.gridId]||[],y[p.gridId].push(p)),y),{}))||{},[e]),S=N.useMemo(()=>(e==null?void 0:e.filter(y=>!y.isFieldDeleted))||[],[e]);if(!S.length)return a.jsx("div",{onDragOver:y=>y.preventDefault(),onDrop:y=>f(y,0),onDragEnd:c,className:"w-full h-full flex items-center justify-center text-gray-400 min-h-[200px] p-10 col-span-2 border border-dashed border-gray-300 rounded-lg",children:"Drag or click an element to display"});const h=S.filter(y=>!y.gridId);return a.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[a.jsx(Mo,{index:0,isDragging:o,onDrop:f,onDragEnd:c}),h.map(y=>{const p=u.findIndex(x=>x.id===y.id);if(y.type==="grid"){const x=g[y.id]||[],A=r===y.id,w=!!r&&!A;return a.jsxs("div",{className:"flex flex-col gap-0",children:[a.jsx("div",{id:y.id,draggable:!0,onDragStart:C=>b(C,y.id),onDragOver:C=>{C.preventDefault(),C.stopPropagation()},onDrop:m,onDragEnd:c,className:xe("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",A?"opacity-40 scale-[0.98] bg-gray-100 border-dashed border-blue-400 shadow-inner":w?"bg-white border-dashed border-blue-200":"bg-white border-gray-200 shadow-sm hover:border-blue-300 hover:shadow-md"),children:a.jsx(Ao,{element:y,state:"edit",children:a.jsx(xi,{element:y,sectionId:n,state:zu,draggedElementId:r,children:x==null?void 0:x.map(C=>{var k;return a.jsx(yi,{col:(k=C.gridPosition)==null?void 0:k.col,children:v(C,!0)},C.id)})})})}),a.jsx(Mo,{index:p+1,isDragging:o,onDrop:f,onDragEnd:c})]},y.id)}return a.jsxs("div",{className:"flex flex-col gap-0",children:[v(y),a.jsx(Mo,{index:p+1,isDragging:o,onDrop:f,onDragEnd:c})]},y.id)})]})}const Wu=N.memo($u),ju=ie.object({title:ie.string(),description:ie.string(),disabled:ie.boolean().default(!1),isHidden:ie.boolean().default(!1),sendEmptyWhenHidden:ie.boolean().default(!1)}).required(),To=_e("config"),Uu=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=N.useContext(He),{register:s,handleSubmit:t,watch:l,formState:{errors:r,isSubmitting:d,isValid:u},reset:b}=nn.useForm({resolver:go(ju),defaultValues:i});if(N.useEffect(()=>{e||b()},[e,b]),!e)return null;const c=f=>{o(f,i.id),n()},m=l();return a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(de,{icon:"tabler:x"})})]}),a.jsxs("form",{onSubmit:t(c),className:"w-full",autoComplete:"off",children:[a.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[a.jsx(ve,{label:"Title",name:"title",register:s,errors:r,watch:l}),a.jsx(ve,{label:"Description",name:"description",register:s,errors:r,watch:l,type:"textarea"}),a.jsx(ve,{label:"Disable Section",name:"disabled",register:s,errors:r,watch:l,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),a.jsx(ve,{label:"Hide Section",name:"isHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"}),a.jsx(ve,{label:"Send Empty When Hidden",name:"sendEmptyWhenHidden",register:s,errors:r,watch:l,type:"checkbox",value:m.sendEmptyWhenHidden,description:"Submits empty values for this section's fields when hidden"})]}),a.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[a.jsx("button",{type:"button",onClick:n,className:"flex-1 px-4 py-2.5 bg-white border border-[#D0D5DD] rounded-lg shadow-xs font-semibold text-[#344054] font-onest",children:"Cancel"}),a.jsx("button",{type:"submit",disabled:!u||d,style:{background:(To==null?void 0:To.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||d?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||d?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-80`,children:d?"Saving...":"Save"})]})]})]})})},qu=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?a.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:a.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[a.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[a.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),a.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:a.jsx(de,{icon:"tabler:x"})})]}),a.jsx("div",{className:"w-full max-h-[60vh] overflow-y-auto px-6 py-4 flex flex-col gap-4",children:i!=null&&i.length?i.map(s=>a.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(s),n()},children:[a.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:s.name}),s.description&&a.jsx("p",{className:"text-sm text-[#475467]",children:s.description})]},s.id)):a.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,Yu=[{id:"tpl-1",name:"Simple Contact Form",description:"A basic form to collect user contact info.",sections:[{id:"sec-contact",title:"Contact Info",description:"Please fill in your details",questionData:[{id:"q-name",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-email",type:"textField",label:"Text Field",inputLabel:"Email Address",inputType:"email"},{id:"q-phone",type:"phoneField",label:"Phone Number",inputLabel:"Phone Number"}]}]},{id:"tpl-2",name:"Feedback Form",description:"Collect user feedback.",sections:[{id:"sec-feedback",title:"Your Feedback",questionData:[{id:"q-rating",type:"numberField",label:"Number",inputLabel:"Rating (1-5)",inputType:"number"},{id:"q-comments",type:"longText",label:"Long Text Field",inputLabel:"Additional Comments",inputType:"text"}]}]},{id:"tpl-3",name:"Event Registration",description:"Register attendees for an upcoming event.",sections:[{id:"sec-event-reg",title:"Event Registration",questionData:[{id:"q-fname",type:"textField",label:"Text Field",inputLabel:"First Name",inputType:"text"},{id:"q-lname",type:"textField",label:"Text Field",inputLabel:"Last Name",inputType:"text"},{id:"q-company",type:"textField",label:"Text Field",inputLabel:"Company",inputType:"text"},{id:"q-diet",type:"textField",label:"Text Field",inputLabel:"Dietary Requirements",inputType:"text"}]}]},{id:"tpl-4",name:"Job Application",description:"Standard job application form.",sections:[{id:"sec-job",title:"Job Application",questionData:[{id:"q-applicant",type:"textField",label:"Text Field",inputLabel:"Full Name",inputType:"text"},{id:"q-portfolio",type:"textField",label:"Text Field",inputLabel:"Portfolio URL",inputType:"url"},{id:"q-cover",type:"longText",label:"Long Text Field",inputLabel:"Cover Letter",inputType:"text"},{id:"q-resume",type:"file",label:"File Upload",inputLabel:"Upload Resume"}]}]},{id:"tpl-5",name:"Customer Satisfaction Survey",description:"Measure customer satisfaction (CSAT).",sections:[{id:"sec-csat",title:"CSAT Survey",questionData:[{id:"q-csat-rate",type:"numberField",label:"Number",inputLabel:"How satisfied are you with our service? (1-10)",inputType:"number"},{id:"q-csat-recommend",type:"radio",label:"Radio",inputLabel:"Would you recommend us?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]}]}]},{id:"tpl-6",name:"Maintenance Request",description:"Submit a property or IT maintenance request.",sections:[{id:"sec-maintenance",title:"Maintenance Details",questionData:[{id:"q-maint-loc",type:"textField",label:"Text Field",inputLabel:"Location / Room",inputType:"text"},{id:"q-maint-desc",type:"longText",label:"Long Text Field",inputLabel:"Issue Description",inputType:"text"},{id:"q-maint-urgency",type:"selectField",label:"Select",inputLabel:"Urgency Level",options:[{label:"Low",value:"low"},{label:"Medium",value:"medium"},{label:"High",value:"high"}]}]}]},{id:"tpl-7",name:"Product Order Form",description:"Basic order form for merchandise or products.",sections:[{id:"sec-order-info",title:"Customer Info",questionData:[{id:"q-order-name",type:"textField",label:"Text Field",inputLabel:"Name",inputType:"text"},{id:"q-order-address",type:"longText",label:"Long Text Field",inputLabel:"Shipping Address",inputType:"text"}]},{id:"sec-order-details",title:"Order Details",questionData:[{id:"q-order-item",type:"textField",label:"Text Field",inputLabel:"Item Name",inputType:"text"},{id:"q-order-qty",type:"numberField",label:"Number",inputLabel:"Quantity",inputType:"number"}]}]},{id:"tpl-8",name:"Employee Onboarding",description:"Collect info for new hires.",sections:[{id:"sec-onboard",title:"Employee Details",questionData:[{id:"q-emp-name",type:"textField",label:"Text Field",inputLabel:"Legal Name",inputType:"text"},{id:"q-emp-start",type:"date",label:"Date Picker",inputLabel:"Start Date"},{id:"q-emp-dept",type:"textField",label:"Text Field",inputLabel:"Department",inputType:"text"}]}]},{id:"tpl-9",name:"Support Ticket",description:"IT or customer support ticket form.",sections:[{id:"sec-support",title:"Issue Details",questionData:[{id:"q-sup-subject",type:"textField",label:"Text Field",inputLabel:"Subject",inputType:"text"},{id:"q-sup-body",type:"longText",label:"Long Text Field",inputLabel:"Description",inputType:"text"},{id:"q-sup-file",type:"file",label:"File Upload",inputLabel:"Attach Screenshot"}]}]},{id:"tpl-10",name:"Course Evaluation",description:"Student feedback for a course.",sections:[{id:"sec-course",title:"Course Evaluation",questionData:[{id:"q-course-name",type:"textField",label:"Text Field",inputLabel:"Course Name",inputType:"text"},{id:"q-course-rate",type:"numberField",label:"Number",inputLabel:"Course Rating (1-10)",inputType:"number"},{id:"q-course-improve",type:"longText",label:"Long Text Field",inputLabel:"What could be improved?",inputType:"text"}]}]}],Ju=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:s,toggleSection:t,handleSectionEdit:l,removeSection:r,copySection:d,duplicateSection:u,formDataLength:b,onDragOver:c,setIsDragging:m,isDragging:f,onReorderSection:v})=>{var y,p;const g=N.useRef(null),S=N.useRef((y=e==null?void 0:e.questionData)==null?void 0:y.length),h=N.useRef(f);return N.useEffect(()=>{var x,A;if(((x=e==null?void 0:e.questionData)==null?void 0:x.length)>S.current&&!f&&!h.current){const w=document.getElementById("section-container");w&&requestAnimationFrame(()=>{w.scrollTo({top:w.scrollHeight,behavior:"smooth"})})}S.current=(A=e==null?void 0:e.questionData)==null?void 0:A.length},[(p=e==null?void 0:e.questionData)==null?void 0:p.length,f]),N.useEffect(()=>{h.current=f},[f]),a.jsx("div",{ref:g,onDragOver:x=>{x.dataTransfer.types.includes("sectionid")&&x.preventDefault()},onDrop:x=>{const A=x.dataTransfer.getData("sectionid");A&&(x.preventDefault(),x.stopPropagation(),v&&v(A,e.id))},className:"bg-white group cursor-pointer rounded-lg shadow-[rgba(149,157,165,0.2)_0px_2px_2px] transition-colors duration-200",children:a.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
35
+ ${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${s.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{draggable:!0,onDragStart:x=>{x.dataTransfer.setData("sectionid",e.id),x.dataTransfer.effectAllowed="move",m(!0)},onDragEnd:()=>m(!1),onClick:()=>o(e.id),className:"flex-1 h-full py-4 cursor-grab active:cursor-grabbing flex items-center gap-2",title:"Drag to reorder section",children:[a.jsx(de,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),a.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),a.jsxs("div",{className:"flex items-center gap-x-2",children:[a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Copy section to clipboard",onClick:x=>{x.stopPropagation(),d==null||d(e.id)},children:a.jsx(de,{icon:"fluent:copy-20-regular"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Duplicate section",onClick:x=>{x.stopPropagation(),u==null||u(e.id)},children:a.jsx(de,{icon:"lucide:copy-plus"})}),a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-gray-50 text-gray-600 hover:text-gray-900 transition-colors",title:"Edit section",onClick:()=>l(e),children:a.jsx(de,{icon:"fluent:edit-28-regular"})}),b>1&&a.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg hover:bg-red-50 text-gray-600 hover:text-red-600 transition-colors",title:"Delete section",onClick:()=>r(e.id),children:a.jsx(de,{icon:"lets-icons:trash-duotone-line"})}),a.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>t(n),children:a.jsx(de,{icon:s.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&s.includes(n)&&a.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),s.includes(n)&&a.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:c,onDragEnd:()=>m(!1),onClick:()=>o(e.id),children:[a.jsx("hr",{className:"group-last:hidden"}),a.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:a.jsx(Wu,{elementData:e==null?void 0:e.questionData,sectionId:e==null?void 0:e.id})})]})]})},e==null?void 0:e.id)},Zu=({onAddTemplate:e,templates:n})=>{var T;const i=[...Yu,...n||[]],[o,s]=N.useState(!1),[t,l]=N.useState(!1),r=N.useRef(null),d=N.useRef(null),{removeSection:u,addSection:b,formData:c,setIsDragging:m,setSelectedSection:f,selectedSection:v,activeSections:g,setActiveSections:S,setFormData:h,isDragging:y,pasteElement:p,copySection:x,pasteSection:A,duplicateSection:w}=N.useContext(He);N.useEffect(()=>{const P=I=>{var B;const D=I.target;if(D.tagName==="INPUT"||D.tagName==="TEXTAREA"||D.isContentEditable)return;const O=((B=I.clipboardData)==null?void 0:B.getData("text"))||"";O.includes("FORM_BUILDER_SECTION_CLIPBOARD")?A(void 0,O):v&&p(v,void 0,O)};return window.addEventListener("paste",P),()=>{window.removeEventListener("paste",P)}},[v,p,A]);const C=N.useRef((c==null?void 0:c.length)||0);N.useEffect(()=>{var P;f(((P=c[0])==null?void 0:P.id)||null)},[]),N.useEffect(()=>{(c==null?void 0:c.length)>C.current&&d.current&&requestAnimationFrame(()=>{var P;(P=d.current)==null||P.scrollTo({top:d.current.scrollHeight,behavior:"smooth"})}),C.current=(c==null?void 0:c.length)||0},[c==null?void 0:c.length]);const k=N.useCallback(P=>{P.preventDefault(),P.dataTransfer.dropEffect="move"},[]),M=N.useCallback((P,I)=>{h(D=>{const O=D.findIndex(V=>V.id===P),B=D.findIndex(V=>V.id===I);if(O===-1||B===-1||O===B)return D;const G=[...D],[q]=G.splice(O,1);return G.splice(B,0,q),G})},[h]);function _(P){g.includes(P)?S(I=>I.filter(D=>D!==P)):S(I=>[...I,P])}function E(P){r.current=P,s(!0)}const L=P=>{var D,O,B,G;const I=(q,V={})=>({...JSON.parse(JSON.stringify(q)),...V});if(P.sections&&Array.isArray(P.sections)){const V=P.sections.filter(Boolean).map(X=>{var ne;const oe=Oe.v4(),se=(ne=X.questionData)==null?void 0:ne.map($=>I($,{id:Oe.v4(),sectionId:oe}));if(se){const $=new Map;X.questionData.forEach((ee,le)=>{$.set(ee.id,se[le].id)}),se.forEach(ee=>{ee.gridId&&$.has(ee.gridId)&&(ee.gridId=$.get(ee.gridId))})}return I(X,{id:oe,questionData:se||[]})});c.length===1&&c[0].title===""&&c[0].description===""&&(!((D=c[0])!=null&&D.questionData)||((B=(O=c[0])==null?void 0:O.questionData)==null?void 0:B.length)===0)?(h(V),V.length>0&&f((G=V[0])==null?void 0:G.id)):h(X=>[...X,...V])}},H=_e("config");return a.jsxs("div",{className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&a.jsx(Uu,{isOpen:o,onClose:()=>s(!1),section:r.current}),a.jsxs("div",{id:"section-container",ref:d,className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[(T=c==null?void 0:c.filter(P=>!(P!=null&&P.isFieldDeleted)))==null?void 0:T.map((P,I)=>{var D;return a.jsx(Ju,{section:P,index:I,selectedSection:v,setSelectedSection:f,activeSections:g,toggleSection:_,handleSectionEdit:E,removeSection:u,copySection:x,duplicateSection:w,formDataLength:((D=c==null?void 0:c.filter(O=>!(O!=null&&O.isFieldDeleted)))==null?void 0:D.length)||0,onDragOver:k,setIsDragging:m,isDragging:y,onReorderSection:M},P.id)}),a.jsxs("div",{className:"flex justify-center gap-x-4 flex-wrap gap-y-2",children:[a.jsx("button",{type:"button",onClick:()=>b(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline",children:"+ Add section"}),a.jsxs("button",{type:"button",onClick:()=>A(),style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium hover:underline flex items-center gap-1",title:"Paste section from clipboard",children:[a.jsx(de,{icon:"lucide:clipboard-paste",iconClass:"text-sm"}),"Paste section"]}),e||i!=null&&i.length?a.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?l(!0):e&&e()},style:{color:(H==null?void 0:H.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),t&&a.jsx(qu,{isOpen:t,onClose:()=>l(!1),templates:i,onSelect:L})]})},Xu=()=>{const{formData:e,uploadUrl:n}=N.useContext(He),[i,o]=N.useState("multi"),s=_e("config");return a.jsxs("div",{className:"flex flex-col h-full w-full",children:[a.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:a.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="multi"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("multi"),children:"Standard"}),a.jsx("button",{type:"button",className:`px-4 py-1.5 rounded-md transition-all ${i==="conversational"?"bg-white shadow-sm text-gray-900":"text-gray-500 hover:text-gray-700"}`,onClick:()=>o("conversational"),children:"Conversational"})]})}),a.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:a.jsx(Io,{form_data:e,ignoreValidation:!0,config:s,uploadUrl:n||"https://beta.api.gateway.thetaskforge.co/edms/v1/fileupload/upload-document",renderType:i,onGetValues:t=>console.log(t),preview:!0})})]})},Po=({loadingClass:e})=>{const n=xe("h-full w-full min-h-[300px] flex justify-center items-center",e);return N.useEffect(()=>{const i=_e("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),a.jsx("div",{className:n,children:a.jsx("span",{className:"loader"})})},Qu=N.lazy(()=>Promise.resolve().then(()=>Fg));function Ru({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:s="canvas"}){const{setFormData:t,addSection:l,setUploadUrl:r,showPreview:d,formData:u}=N.useContext(He);N.useEffect(()=>{e&&e.length>0&&t(e)},[e,t]),N.useEffect(()=>{r(n)},[n,r]);const b=N.useCallback(c=>{c.preventDefault();try{const m=JSON.parse(c.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){l();return}}catch(m){console.error("Drop error:",m)}},[]);return a.jsxs("div",{className:"flex gap-x-6 h-full",children:[a.jsx("div",{onDragOver:c=>c.preventDefault(),onDrop:c=>b(c),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:s==="canvas"?a.jsx(Zu,{onAddTemplate:i,templates:o}):a.jsx(N.Suspense,{fallback:a.jsx(Po,{loadingClass:"!w-full !h-full"}),children:a.jsx(Qu,{formData:u})})}),s==="canvas"&&a.jsx(he.Transition,{show:d,as:"div",enter:"transition-all duration-300 ease-in-out origin-right",enterFrom:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",enterTo:"opacity-100 w-2/5 translate-x-0",leave:"transition-all duration-300 ease-in-out origin-right",leaveFrom:"opacity-100 w-2/5 translate-x-0",leaveTo:"opacity-0 w-0 translate-x-10 px-0 overflow-hidden border-transparent shadow-none",className:"shrink-0 overflow-y-auto no-scrollbar max-h-[calc(100vh-70px)] form_preview w-2/5 min-w-0",children:a.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:a.jsx(Xu,{})})})]})}const ec=[{key:"textFields",title:"Text Fields"},{key:"selectionFields",title:"Selection Fields"},{key:"dateAndTime",title:"Date & Time"},{key:"fileAndMedia",title:"File & Media"},{key:"layoutAndDisplay",title:"Layout & Display"},{key:"advancedData",title:"Advanced / Data"}],nc=[{key:"pollComponents",title:"Poll Components"},{key:"layoutAndInfo",title:"Layout & Info"}],ic=({formType:e="default"})=>{const[n,i]=N.useState(""),[o,s]=N.useState(null),{setIsDragging:t,addElement:l,selectedSection:r,pasteElement:d,pasteSection:u}=N.useContext(He);N.useEffect(()=>{const x=()=>{try{const w=localStorage.getItem("form_builder_section_clipboard")||localStorage.getItem("form_builder_clipboard");if(w){const C=JSON.parse(w);(C==null?void 0:C.type)==="FORM_BUILDER_SECTION_CLIPBOARD"&&(C!=null&&C.section)?s("section"):(C==null?void 0:C.type)==="FORM_BUILDER_CLIPBOARD"&&(C!=null&&C.element)?(C==null?void 0:C.timestamp)&&Date.now()-C.timestamp>6e4?(localStorage.removeItem("form_builder_clipboard"),s(null)):s("element"):s(null)}else s(null)}catch(w){s(null)}};x();const A=setInterval(x,1e3);return()=>clearInterval(A)},[]);const b=N.useCallback((x,A)=>{if(!r){Te.toast.error("Please select a section to add an element.");return}x.dataTransfer.setData("properties",JSON.stringify(A)),x.dataTransfer.effectAllowed="move",t(!0)},[t,r]);function c(x){if(!r){Te.toast.error("Please select a section to add an element.");return}const A={...x,id:Oe.v4(),sectionId:r};l(A,r)}const m=_e("config")||{},f=m.elementColor,v=m.elementBgColor,g=m.elementBorderColor,S=Ld.filter(x=>x.label.toLowerCase().includes(n.toLowerCase())),h=e==="poll"?nc:ec,y=e==="poll"?Id:Bd,p=h==null?void 0:h.map(x=>({title:x.title,elements:S.filter(A=>{var w;return(w=y[x.key])==null?void 0:w.includes(A.type)})})).filter(x=>x.elements.length>0);return a.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[a.jsxs("div",{className:"px-5",children:[a.jsx("input",{className:"field-control",placeholder:"Search",value:n,onChange:x=>i(x.target.value),name:"search",id:"search",autoComplete:"off"}),o==="section"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-purple-50 text-purple-700 hover:bg-purple-100 rounded-lg text-sm font-medium transition-colors border border-purple-200",onClick:()=>{typeof u=="function"&&u()},title:"Paste copied section",children:[a.jsx(de,{icon:"lucide:clipboard-paste"}),"Paste Section (Ctrl+V)"]}),o==="element"&&a.jsxs("button",{className:"w-full mt-3 flex items-center justify-center gap-2 py-2 px-3 bg-blue-50 text-blue-600 hover:bg-blue-100 rounded-lg text-sm font-medium transition-colors border border-blue-200",onClick:()=>{if(!r){Te.toast.error("Please select a section to paste the element.");return}typeof d=="function"&&d(r)},title:"Paste copied element",children:[a.jsx(de,{icon:"lucide:clipboard-paste"}),"Paste Element (Ctrl+V)"]})]}),a.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:a.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:p==null?void 0:p.map((x,A)=>{var w;return a.jsxs("li",{children:[a.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:x.title}),a.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(w=x.elements)==null?void 0:w.map(C=>a.jsx("li",{onDragStart:k=>b(k,C),onDragEnd:()=>t(!1),onClick:()=>c(C),style:{borderColor:g,backgroundColor:v},className:`cursor-move text-[#475467] flex justify-between items-center \r
36
36
  border-[1.5px] border-[#98A2B3] rounded-lg py-2 px-2 shadow-custom\r
37
37
  hover:shadow-lg transition-all duration-200\r
38
- active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:f},children:a.jsx(be,{icon:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:f},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},k)})})})]})},nc=N.memo(ec),Je=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:b="button",style:c,onClick:m})=>{const f=ye("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(be,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(be,{icon:s})})]});return u?a.jsx("div",{className:f,children:v()}):d?a.jsx(Ar.Link,{to:d,className:f,children:v()}):a.jsx("button",{disabled:n,type:b,className:f,"data-testid":"btn",onClick:m,style:c,children:v()})};function ic(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const oc=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=N.useContext(Fe);if(!e)return null;const s=Be("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(ic,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Po,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o,preview:!0})})]})};function sc(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function ac({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:b}){const{formData:c,setShowPreview:m,showPreview:f,undo:v,redo:x,canUndo:g,canRedo:y}=N.useContext(Fe),[w,h]=N.useState(!1),[p,k]=N.useState(!1),[S,C]=N.useState(e||""),A=Be("config");function E(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(B){console.warn("Could not save formData to localStorage",B)}i==null||i(c)}function P(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(B){console.warn("Could not save formData to localStorage",B)}o==null||o(c)}function M(){k(!1),r&&S!==e&&r(S.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(A==null?void 0:A.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(sc,{})})," ",p?a.jsx("input",{type:"text",value:S,onChange:B=>C(B.target.value),onBlur:M,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>k(!0),children:S||"Untitled"})]}),w&&a.jsx(oc,{isOpen:w,onClose:()=>h(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(A==null?void 0:A.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(be,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(A==null?void 0:A.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(be,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Je,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${g?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(A==null?void 0:A.buttonColor)||"#333"},isDisabled:!g}),a.jsx(Je,{onClick:x,text:"",btnClass:`!px-2 bg-transparent redo ${y?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(A==null?void 0:A.buttonColor)||"#333"},isDisabled:!y}),b&&a.jsx(Je,{onClick:b,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(A==null?void 0:A.buttonColor)||"#333"}}),a.jsx(Je,{onClick:()=>m(B=>!B),text:f?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:f?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(A==null?void 0:A.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Je,{onClick:E,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(A==null?void 0:A.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Je,{onClick:P,text:"Publish",style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function tc({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,config:t,title:l,goBackUrl:r,loading:d,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:f,uploadUrl:v,onAddTemplate:x,templates:g,onShowVersion:y,formType:w="default"}){const[h,p]=N.useState("canvas");return a.jsxs(Ms,{onChange:n,onLogAction:i,deleteMode:s||(t==null?void 0:t.deleteMode)||"remove",children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[h==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(nc,{formType:w})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${h==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(ac,{title:l,goBackUrl:r,onSubmit:e,onPublish:u,previewLoading:b,saveLoading:c,publishLoading:m,onTitleChange:f,viewMode:h,setViewMode:p,onShowVersion:y})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:d?a.jsx(Eo,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Xu,{questionData:o,uploadUrl:v,onAddTemplate:x,templates:g,viewMode:h})})]})]})})]})}const lc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,config:l={buttonColor:"#333"},title:r,loading:d,goBackUrl:u,onPublish:b,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:x,onAddTemplate:g,templates:y,onShowVersion:w,formType:h})=>(N.useEffect(()=>{l&&na("config",l)},[l]),a.jsx(tc,{onSubmit:e,onChange:n,onLogAction:i,onPublish:b,questionData:o,isReadOnly:s,deleteMode:t,config:l,title:r,goBackUrl:u,loading:d,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:x,onAddTemplate:g,templates:y,onShowVersion:w,formType:h})),tn={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},rc=e=>({textField:ne.string().nullable(),longText:ne.string().nullable(),numberField:ne.number().nullable().transform(i=>isNaN(i)?null:i),amountField:ne.number().nullable().transform(i=>isNaN(i)?null:i),selectField:ne.string().nullable(),checkbox:ne.mixed().nullable(),radio:ne.mixed().nullable(),matrix:ne.mixed().nullable(),email:ne.string().nullable().test("email-format",tn.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:ne.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:ne.string().nullable().test("url-format",tn.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||ne.mixed().nullable(),dc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||tn.required):e.required(i||tn.required):e,uc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||tn.minLength(n))),i&&(t=t.max(i,s||tn.maxLength(i))),t},cc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||tn.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||tn.maxAmount(i))),t},Mo=(e,n)=>{if(e!=null&&e.isFieldDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function bc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isFieldDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isFieldDeleted||!Mo(r,o))return;const{id:d,type:u,isRequired:b,requiredMessage:c}=r,m=!!(r.isDisabled||r.disabled),f=!!(n||r.isReadOnly||r.readOnly);if(m||f||i){s[d]=ne.mixed().notRequired().nullable();return}let v=rc(u);v=dc(v,b,c),u==="textField"||u==="longText"||u==="email"||u==="url"?v=uc(v,r):(u==="numberField"||u==="amountField")&&(v=cc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",x=>{var w;if(x==null||x===""||Array.isArray(x)&&x.length===0)return!b;const y=((w=r.options)==null?void 0:w.length)||0;return Array.isArray(x)?x.length>=y:y<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,x=>x==null||x===""||Array.isArray(x)&&x.length===0?!b:Array.isArray(x)?x.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),ne.object().shape(s)}const ma=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},mc=({results:e,hideInputs:n})=>{var s,t,l,r,d,u,b;const[i,o]=N.useState(n!=null?n:!1);return e?a.jsxs("div",{className:"mt-2 w-full",children:[i&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((s=e.responsesData)==null?void 0:s.options)&&e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m)),e.type==="rating"&&((t=e.responsesData)==null?void 0:t.options)&&a.jsxs(a.Fragment,{children:[((l=e.responsesData)==null?void 0:l.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m))]}),e.type==="matrix"&&((r=e.responsesData)==null?void 0:r.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,m)=>{var f;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(f=c.columns)==null?void 0:f.map((v,x)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:v.label}),a.jsxs("span",{children:[Math.round(v.percentage),"% (",v.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${v.percentage}%`}})})]},x))})]},m)})}),e.type==="ranking"&&((d=e.responsesData)==null?void 0:d.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,m)=>{var f,v;return((f=c.averageRank)!=null?f:1/0)-((v=m.averageRank)!=null?v:1/0)}).map((c,m)=>{var f,v;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(f=c.averageRank)!=null?f:m+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:ma(c.label),children:ma(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(v=c.pointsPercentage)!=null?v:c.percentage}%`}})})]})]},m)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((u=e.responsesData)==null?void 0:u.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((b=e.responsesData)==null?void 0:b.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},m))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>o(!i),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(be,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),i?"Hide Results":"Show Results"]})]}):null},Nn=({element:e,validationData:n})=>{var b,c;const i=ca[e.type],{answerData:o}=N.useContext(Fe),s=N.useMemo(()=>{var m;return(m=e==null?void 0:e.acceptedFiles)==null?void 0:m.map(f=>f.label).join(", ")},[e]),t=N.useMemo(()=>Mo(e,o),[o,e]);if(!i)return null;const l=!!(n!=null&&n.showResults),r=!!((b=n==null?void 0:n.hideInputsOnResults)!=null?b:n!=null&&n.hideInputs),d=!!((c=n==null?void 0:n.pollResults)!=null&&c[e.id]),u=l&&r&&d;return a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),!u&&a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),l&&d&&a.jsx(mc,{results:n.pollResults[e.id],hideInputs:r}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description})]})},Cn=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function vc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(pi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(Nn,{element:l,validationData:Cn(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:ye("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(Nn,{element:s,validationData:Cn(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function fc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const b=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(gi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:b==null?void 0:b.map(c=>{var m,f,v;return a.jsxs(pi,{col:(m=c.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(Nn,{element:c,validationData:Cn(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(f=n==null?void 0:n.errors)==null?void 0:f[c.id])==null?void 0:v.message})]},c.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:ye("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(Nn,{element:t,validationData:Cn(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const To=Be("config");function hc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),i())},d=b=>{var c;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(gi,{element:b,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=b.gridChildren)==null?void 0:c.map(m=>{var f,v,x;return a.jsxs(pi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[a.jsx(Nn,{element:m,validationData:Cn(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(x=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:x.message})]},m.id)})})},b.id)},u=b=>{var c,m;return a.jsxs("div",{className:ye("group relative grid gap-y-[6px] min-w-0 w-full",b.elementClass),children:[a.jsx(Nn,{element:b,validationData:Cn(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(c=n==null?void 0:n.errors)==null?void 0:c[b.id])==null?void 0:m.message})]},b.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(pe.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Je,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(To==null?void 0:To.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-semibold ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(be,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function pc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const gc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:b,showResults:c,hideInputsOnResults:m=!1,sendHiddenSectionsAsEmpty:f=!1,preview:v=!1})=>{var Q,Y,X,te,H,q,z,K,U,ae;const{setAnswerData:x,setUploadUrl:g,apiActivityCount:y}=N.useContext(Fe),[w,h]=N.useState(0),[p,k]=N.useState(0),S=N.useMemo(()=>e.filter(J=>(v?!0:!J.isHidden)&&!J.isFieldDeleted).map(J=>{var oe;const re=J.isDisabled||J.disabled,ie=((oe=J==null?void 0:J.questionData)==null?void 0:oe.filter(ue=>!ue.isFieldDeleted))||[];return re?{...J,questionData:ie.map(ue=>({...ue,isDisabled:!0}))}:{...J,questionData:ie}}),[e,v]),C=(Q=S==null?void 0:S.length)!=null?Q:0,A=Be("config"),E=N.useCallback(async(J,re,ie)=>{const oe=bc({formData:S,isReadOnly:t,ignoreValidation:i,answerData:J});return fo(oe)(J,re,ie)},[S,t,i]),P=Re.useForm({resolver:E,mode:"onSubmit",defaultValues:{}}),{register:M,setValue:B,control:F,handleSubmit:T,reset:L,getValues:_,watch:D,formState:{errors:O,isSubmitting:I},trigger:$,setError:j,clearErrors:G}=P,V=Re.useWatch({control:F}),Z=N.useMemo(()=>V,[JSON.stringify(V)]),se=N.useMemo(()=>{if(l!=="conversational")return[];const J=[];return S.forEach(re=>{var ie;(ie=re==null?void 0:re.questionData)==null||ie.forEach(oe=>{var ue;if(Mo(oe,Z))if(oe.type==="grid"){const ge=(ue=re==null?void 0:re.questionData)==null?void 0:ue.filter(fe=>fe.gridId===oe.id);J.push({...oe,gridChildren:ge})}else oe.gridId||J.push(oe)})}),J},[S,Z,l]),le=N.useCallback(J=>{s&&s(J)},[s]);N.useEffect(()=>{g(u)},[g,u]),N.useEffect(()=>{if(!(e!=null&&e.length)||!s)return;const J={..._?_():{},...Z||{}},re=e.filter(ie=>!(ie!=null&&ie.isFieldDeleted)).flatMap(ie=>{var fe,we;const oe=v?!1:!!(ie!=null&&ie.isHidden),ue=!!(f||ie!=null&&ie.sendEmptyWhenHidden||ie!=null&&ie.clearWhenHidden),ge=oe&&ue;return((we=(fe=ie==null?void 0:ie.questionData)==null?void 0:fe.filter(ce=>!(ce!=null&&ce.isFieldDeleted)))==null?void 0:we.map(ce=>{var Pe;const de=J[ce.id]!==void 0?J[ce.id]:ce.value!==void 0&&ce.value!==null?ce.value:"",Ae=J[`${ce.id}_metaData`]||((Pe=ce.metaData)==null?void 0:Pe.responseObject);return{id:ce.id,value:ge?"":de!=null?de:"",sectionId:ie.id,type:ce.type,metaData:{prefix:ce.prefix,dateFormat:ce.dateFormat,...ge||!Ae?{}:{responseObject:Ae}}}}))||[]});le(re),x(J)},[Z,e,le,s,x,f,_,v]),N.useEffect(()=>{n!=null&&n.length&&L(pc(n))},[n,L]);const ee=N.useCallback(J=>{const re={..._?_():{},...J||{}},ie=e.filter(oe=>!(oe!=null&&oe.isFieldDeleted)).flatMap(oe=>{var we,ce;const ue=v?!1:!!(oe!=null&&oe.isHidden),ge=!!(f||oe!=null&&oe.sendEmptyWhenHidden||oe!=null&&oe.clearWhenHidden),fe=ue&&ge;return((ce=(we=oe==null?void 0:oe.questionData)==null?void 0:we.filter(de=>!(de!=null&&de.isFieldDeleted)))==null?void 0:ce.map(de=>{var _e;const Ae=re[de.id]!==void 0?re[de.id]:de.value!==void 0&&de.value!==null?de.value:"",Pe=re[`${de.id}_metaData`]||((_e=de.metaData)==null?void 0:_e.responseObject);return{id:de.id,value:fe?"":Ae!=null?Ae:"",sectionId:oe.id,type:de.type,metaData:{prefix:de.prefix,dateFormat:de.dateFormat,...fe||!Pe?{}:{responseObject:Pe}}}}))||[]});Object.keys(O).length>0||o==null||o(ie)},[O,e,_,o,f]),W=N.useCallback(async()=>{var J,re;if(l==="conversational"){if(!i){const ie=se[p];if(!ie)return;const oe=ie.gridChildren?ie.gridChildren.map(ge=>ge.id):[ie.id];if(!await $(oe))return}p<se.length-1?k(ie=>ie+1):T(ee)();return}if(!i){const ie=(re=(J=S==null?void 0:S[w])==null?void 0:J.questionData)==null?void 0:re.map(ue=>ue.id);if(!await $(ie))return}h(ie=>ie+1)},[w,p,se,S,i,$,l,T,ee]),R=N.useCallback(()=>{if(l==="conversational"){k(J=>Math.max(0,J-1));return}h(J=>J-1)},[l]),me=N.useMemo(()=>({register:M,setValue:B,watch:D,errors:O,trigger:$,isSubmitting:I,isReadOnly:t,getValues:_,setError:j,clearErrors:G,apiActivityCount:y,pollResults:b,showResults:c,hideInputsOnResults:m,isViewer:!0}),[M,B,D,O,$,I,t,_,j,G,y,b,c,m]);return a.jsxs(Re.FormProvider,{...P,children:[a.jsx(Ne.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:T(ee),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((Y=S==null?void 0:S[w])==null?void 0:Y.title)||((X=S==null?void 0:S[w])==null?void 0:X.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((te=S[w])==null?void 0:te.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(H=S[w])==null?void 0:H.title}),((q=S[w])==null?void 0:q.description)&&a.jsx("p",{className:"text-sm",children:(z=S[w])==null?void 0:z.description})]}),l==="multi"?a.jsx(fc,{form_data:S,options:me,current:w}):l==="conversational"?a.jsx(hc,{element:se[p],options:me,onNext:W,onPrev:R,isFirst:p===0,isLast:p===se.length-1,isReadOnly:t}):a.jsx(vc,{form_data:S,options:me})]},l==="conversational"?`conv-${p}`:(K=S==null?void 0:S[w])==null?void 0:K.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",w>0&&a.jsxs("button",{type:"button",onClick:R,className:"text-gray-400 hover:text-gray-600 font-semibold text-base flex items-center gap-1 transition-colors back_btn",children:[a.jsx(be,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),w<C-1&&a.jsx(Je,{type:"button",text:"Next",onClick:W,style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(w===C-1||t)&&!i&&((U=typeof r=="function"?r({isUploading:y>0,isSubmitting:I,hasErrors:Object.keys(O).length>0}):r)!=null?U:a.jsx(Je,{isDisabled:I||Object.keys(O).length>0||y>0,isLoading:I,type:"submit",text:"Submit",style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((ae=typeof r=="function"?r({isUploading:y>0,isSubmitting:I,hasErrors:Object.keys(O).length>0}):r)!=null?ae:a.jsx(Je,{isDisabled:I||Object.keys(O).length>0||y>0,isLoading:I,type:"submit",text:"Submit",style:{background:(A==null?void 0:A.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&se.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(p+1)/se.length*100}%`,background:(A==null?void 0:A.buttonColor)||"#2563EB"}})})]})]})},yc=N.memo(gc);function Po({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:b,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v=!1,sendHiddenSectionsAsEmpty:x=!1,preview:g=!1}){N.useEffect(()=>{l&&na("config",l)},[l]);const y=N.useCallback(w=>{b&&b(w)},[b]);return t?a.jsx(Eo,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Ms,{children:a.jsx(yc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:y,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v,sendHiddenSectionsAsEmpty:x,preview:g,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Ie(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Ie(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var xc={value:()=>{}};function yi(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new xi(i)}function xi(e){this._=e}function Sc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}xi.prototype=yi.prototype={constructor:xi,on:function(e,n){var i=this._,o=Sc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=wc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=va(i[s],e.name,n);else if(n==null)for(s in i)i[s]=va(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new xi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function wc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function va(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=xc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Lo="http://www.w3.org/1999/xhtml";const fa={svg:"http://www.w3.org/2000/svg",xhtml:Lo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Si(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),fa.hasOwnProperty(n)?{space:fa[n],local:e}:e}function Nc(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Lo&&n.documentElement.namespaceURI===Lo?n.createElement(e):n.createElementNS(i,e)}}function Cc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ha(e){var n=Si(e);return(n.local?Cc:Nc)(n)}function Ac(){}function Bo(e){return e==null?Ac:function(){return this.querySelector(e)}}function kc(e){typeof e!="function"&&(e=Bo(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,b=0;b<l;++b)(d=t[b])&&(u=e.call(d,d.__data__,b,t))&&("__data__"in d&&(u.__data__=d.__data__),r[b]=u);return new Ke(o,this._parents)}function Ec(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Mc(){return[]}function pa(e){return e==null?Mc:function(){return this.querySelectorAll(e)}}function Tc(e){return function(){return Ec(e.apply(this,arguments))}}function Pc(e){typeof e=="function"?e=Tc(e):e=pa(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Ke(o,s)}function ga(e){return function(){return this.matches(e)}}function ya(e){return function(n){return n.matches(e)}}var Lc=Array.prototype.find;function Bc(e){return function(){return Lc.call(this.children,e)}}function Ic(){return this.firstElementChild}function Dc(e){return this.select(e==null?Ic:Bc(typeof e=="function"?e:ya(e)))}var _c=Array.prototype.filter;function Oc(){return Array.from(this.children)}function Fc(e){return function(){return _c.call(this.children,e)}}function Hc(e){return this.selectAll(e==null?Oc:Fc(typeof e=="function"?e:ya(e)))}function Kc(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Ke(o,this._parents)}function xa(e){return new Array(e.length)}function Vc(){return new Ke(this._enter||this._groups.map(xa),this._parents)}function wi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}wi.prototype={constructor:wi,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function Gc(e){return function(){return e}}function zc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new wi(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function $c(e,n,i,o,s,t,l){var r,d,u=new Map,b=n.length,c=t.length,m=new Array(b),f;for(r=0;r<b;++r)(d=n[r])&&(m[r]=f=l.call(d,d.__data__,r,n)+"",u.has(f)?s[r]=d:u.set(f,d));for(r=0;r<c;++r)f=l.call(e,t[r],r,t)+"",(d=u.get(f))?(o[r]=d,d.__data__=t[r],u.delete(f)):i[r]=new wi(e,t[r]);for(r=0;r<b;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function Wc(e){return e.__data__}function jc(e,n){if(!arguments.length)return Array.from(this,Wc);var i=n?$c:zc,o=this._parents,s=this._groups;typeof e!="function"&&(e=Gc(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var b=o[u],c=s[u],m=c.length,f=Uc(e.call(b,b&&b.__data__,u,o)),v=f.length,x=r[u]=new Array(v),g=l[u]=new Array(v),y=d[u]=new Array(m);i(b,c,x,g,y,f,n);for(var w=0,h=0,p,k;w<v;++w)if(p=x[w]){for(w>=h&&(h=w+1);!(k=g[h])&&++h<v;);p._next=k||null}}return l=new Ke(l,o),l._enter=r,l._exit=d,l}function Uc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function qc(){return new Ke(this._exit||this._groups.map(xa),this._parents)}function Yc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Jc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],b=o[d],c=u.length,m=r[d]=new Array(c),f,v=0;v<c;++v)(f=u[v]||b[v])&&(m[v]=f);for(;d<s;++d)r[d]=i[d];return new Ke(r,this._parents)}function Zc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function Xc(e){e||(e=Qc);function n(c,m){return c&&m?e(c.__data__,m.__data__):!c-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,b=0;b<r;++b)(u=l[b])&&(d[b]=u);d.sort(n)}return new Ke(s,this._parents).order()}function Qc(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Rc(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function eb(){return Array.from(this)}function nb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function ib(){let e=0;for(const n of this)++e;return e}function ob(){return!this.node()}function sb(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function ab(e){return function(){this.removeAttribute(e)}}function tb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function lb(e,n){return function(){this.setAttribute(e,n)}}function rb(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function db(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function ub(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function cb(e,n){var i=Si(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?tb:ab:typeof n=="function"?i.local?ub:db:i.local?rb:lb)(i,n))}function Sa(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function bb(e){return function(){this.style.removeProperty(e)}}function mb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function vb(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function fb(e,n,i){return arguments.length>1?this.each((n==null?bb:typeof n=="function"?vb:mb)(e,n,i==null?"":i)):An(this.node(),e)}function An(e,n){return e.style.getPropertyValue(n)||Sa(e).getComputedStyle(e,null).getPropertyValue(n)}function hb(e){return function(){delete this[e]}}function pb(e,n){return function(){this[e]=n}}function gb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function yb(e,n){return arguments.length>1?this.each((n==null?hb:typeof n=="function"?gb:pb)(e,n)):this.node()[e]}function wa(e){return e.trim().split(/^|\s+/)}function Io(e){return e.classList||new Na(e)}function Na(e){this._node=e,this._names=wa(e.getAttribute("class")||"")}Na.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function Ca(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Aa(e,n){for(var i=Io(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function xb(e){return function(){Ca(this,e)}}function Sb(e){return function(){Aa(this,e)}}function wb(e,n){return function(){(n.apply(this,arguments)?Ca:Aa)(this,e)}}function Nb(e,n){var i=wa(e+"");if(arguments.length<2){for(var o=Io(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?wb:n?xb:Sb)(i,n))}function Cb(){this.textContent=""}function Ab(e){return function(){this.textContent=e}}function kb(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function Eb(e){return arguments.length?this.each(e==null?Cb:(typeof e=="function"?kb:Ab)(e)):this.node().textContent}function Mb(){this.innerHTML=""}function Tb(e){return function(){this.innerHTML=e}}function Pb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Lb(e){return arguments.length?this.each(e==null?Mb:(typeof e=="function"?Pb:Tb)(e)):this.node().innerHTML}function Bb(){this.nextSibling&&this.parentNode.appendChild(this)}function Ib(){return this.each(Bb)}function Db(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function _b(){return this.each(Db)}function Ob(e){var n=typeof e=="function"?e:ha(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Fb(){return null}function Hb(e,n){var i=typeof e=="function"?e:ha(e),o=n==null?Fb:typeof n=="function"?n:Bo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Kb(){var e=this.parentNode;e&&e.removeChild(this)}function Vb(){return this.each(Kb)}function Gb(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function zb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function $b(e){return this.select(e?zb:Gb)}function Wb(e){return arguments.length?this.property("__data__",e):this.node().__data__}function jb(e){return function(n){e.call(this,n,this.__data__)}}function Ub(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function qb(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function Yb(e,n,i){return function(){var o=this.__on,s,t=jb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Jb(e,n,i){var o=Ub(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,b;d<u;++d)for(s=0,b=r[d];s<t;++s)if((l=o[s]).type===b.type&&l.name===b.name)return b.value}return}for(r=n?Yb:qb,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function ka(e,n,i){var o=Sa(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Zb(e,n){return function(){return ka(this,e,n)}}function Xb(e,n){return function(){return ka(this,e,n.apply(this,arguments))}}function Qb(e,n){return this.each((typeof n=="function"?Xb:Zb)(e,n))}function*Rb(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ea=[null];function Ke(e,n){this._groups=e,this._parents=n}function $n(){return new Ke([[document.documentElement]],Ea)}function em(){return this}Ke.prototype=$n.prototype={constructor:Ke,select:kc,selectAll:Pc,selectChild:Dc,selectChildren:Hc,filter:Kc,data:jc,enter:Vc,exit:qc,join:Yc,merge:Jc,selection:em,order:Zc,sort:Xc,call:Rc,nodes:eb,node:nb,size:ib,empty:ob,each:sb,attr:cb,style:fb,property:yb,classed:Nb,text:Eb,html:Lb,raise:Ib,lower:_b,append:Ob,insert:Hb,remove:Vb,clone:$b,datum:Wb,on:Jb,dispatch:Qb,[Symbol.iterator]:Rb};function Ve(e){return typeof e=="string"?new Ke([[document.querySelector(e)]],[document.documentElement]):new Ke([[e]],Ea)}function nm(e){let n;for(;n=e.sourceEvent;)e=n;return e}function ze(e,n){if(e=nm(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const im={passive:!1},Wn={capture:!0,passive:!1};function Do(e){e.stopImmediatePropagation()}function kn(e){e.preventDefault(),e.stopImmediatePropagation()}function Ma(e){var n=e.document.documentElement,i=Ve(e).on("dragstart.drag",kn,Wn);"onselectstart"in n?i.on("selectstart.drag",kn,Wn):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Ta(e,n){var i=e.document.documentElement,o=Ve(e).on("dragstart.drag",null);n&&(o.on("click.drag",kn,Wn),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ni=e=>()=>e;function _o(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:b}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:b}})}_o.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function om(e){return!e.ctrlKey&&!e.button}function sm(){return this.parentNode}function am(e,n){return n==null?{x:e.x,y:e.y}:n}function tm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pa(){var e=om,n=sm,i=am,o=tm,s={},t=yi("start","drag","end"),l=0,r,d,u,b,c=0;function m(p){p.on("mousedown.drag",f).filter(o).on("touchstart.drag",g).on("touchmove.drag",y,im).on("touchend.drag touchcancel.drag",w).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(p,k){if(!(b||!e.call(this,p,k))){var S=h(this,n.call(this,p,k),p,k,"mouse");S&&(Ve(p.view).on("mousemove.drag",v,Wn).on("mouseup.drag",x,Wn),Ma(p.view),Do(p),u=!1,r=p.clientX,d=p.clientY,S("start",p))}}function v(p){if(kn(p),!u){var k=p.clientX-r,S=p.clientY-d;u=k*k+S*S>c}s.mouse("drag",p)}function x(p){Ve(p.view).on("mousemove.drag mouseup.drag",null),Ta(p.view,u),kn(p),s.mouse("end",p)}function g(p,k){if(e.call(this,p,k)){var S=p.changedTouches,C=n.call(this,p,k),A=S.length,E,P;for(E=0;E<A;++E)(P=h(this,C,p,k,S[E].identifier,S[E]))&&(Do(p),P("start",p,S[E]))}}function y(p){var k=p.changedTouches,S=k.length,C,A;for(C=0;C<S;++C)(A=s[k[C].identifier])&&(kn(p),A("drag",p,k[C]))}function w(p){var k=p.changedTouches,S=k.length,C,A;for(b&&clearTimeout(b),b=setTimeout(function(){b=null},500),C=0;C<S;++C)(A=s[k[C].identifier])&&(Do(p),A("end",p,k[C]))}function h(p,k,S,C,A,E){var P=t.copy(),M=ze(E||S,k),B,F,T;if((T=i.call(p,new _o("beforestart",{sourceEvent:S,target:m,identifier:A,active:l,x:M[0],y:M[1],dx:0,dy:0,dispatch:P}),C))!=null)return B=T.x-M[0]||0,F=T.y-M[1]||0,function L(_,D,O){var I=M,$;switch(_){case"start":s[A]=L,$=l++;break;case"end":delete s[A],--l;case"drag":M=ze(O||D,k),$=l;break}P.call(_,p,new _o(_,{sourceEvent:D,subject:T,target:m,identifier:A,active:$,x:M[0]+B,y:M[1]+F,dx:M[0]-I[0],dy:M[1]-I[1],dispatch:P}),C)}}return m.filter=function(p){return arguments.length?(e=typeof p=="function"?p:Ni(!!p),m):e},m.container=function(p){return arguments.length?(n=typeof p=="function"?p:Ni(p),m):n},m.subject=function(p){return arguments.length?(i=typeof p=="function"?p:Ni(p),m):i},m.touchable=function(p){return arguments.length?(o=typeof p=="function"?p:Ni(!!p),m):o},m.on=function(){var p=t.on.apply(t,arguments);return p===t?m:p},m.clickDistance=function(p){return arguments.length?(c=(p=+p)*p,m):Math.sqrt(c)},m}function Oo(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function La(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function jn(){}var Un=.7,Ci=1/Un,En="\\s*([+-]?\\d+)\\s*",qn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ze="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",lm=/^#([0-9a-f]{3,8})$/,rm=new RegExp(`^rgb\\(${En},${En},${En}\\)$`),dm=new RegExp(`^rgb\\(${Ze},${Ze},${Ze}\\)$`),um=new RegExp(`^rgba\\(${En},${En},${En},${qn}\\)$`),cm=new RegExp(`^rgba\\(${Ze},${Ze},${Ze},${qn}\\)$`),bm=new RegExp(`^hsl\\(${qn},${Ze},${Ze}\\)$`),mm=new RegExp(`^hsla\\(${qn},${Ze},${Ze},${qn}\\)$`),Ba={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Oo(jn,bn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Ia,formatHex:Ia,formatHex8:vm,formatHsl:fm,formatRgb:Da,toString:Da});function Ia(){return this.rgb().formatHex()}function vm(){return this.rgb().formatHex8()}function fm(){return Ka(this).formatHsl()}function Da(){return this.rgb().formatRgb()}function bn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=lm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?_a(n):i===3?new He(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ai(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ai(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=rm.exec(e))?new He(n[1],n[2],n[3],1):(n=dm.exec(e))?new He(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=um.exec(e))?Ai(n[1],n[2],n[3],n[4]):(n=cm.exec(e))?Ai(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=bm.exec(e))?Ha(n[1],n[2]/100,n[3]/100,1):(n=mm.exec(e))?Ha(n[1],n[2]/100,n[3]/100,n[4]):Ba.hasOwnProperty(e)?_a(Ba[e]):e==="transparent"?new He(NaN,NaN,NaN,0):null}function _a(e){return new He(e>>16&255,e>>8&255,e&255,1)}function Ai(e,n,i,o){return o<=0&&(e=n=i=NaN),new He(e,n,i,o)}function hm(e){return e instanceof jn||(e=bn(e)),e?(e=e.rgb(),new He(e.r,e.g,e.b,e.opacity)):new He}function Fo(e,n,i,o){return arguments.length===1?hm(e):new He(e,n,i,o==null?1:o)}function He(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Oo(He,Fo,La(jn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new He(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new He(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new He(mn(this.r),mn(this.g),mn(this.b),ki(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Oa,formatHex:Oa,formatHex8:pm,formatRgb:Fa,toString:Fa}));function Oa(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}`}function pm(){return`#${vn(this.r)}${vn(this.g)}${vn(this.b)}${vn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Fa(){const e=ki(this.opacity);return`${e===1?"rgb(":"rgba("}${mn(this.r)}, ${mn(this.g)}, ${mn(this.b)}${e===1?")":`, ${e})`}`}function ki(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function mn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function vn(e){return e=mn(e),(e<16?"0":"")+e.toString(16)}function Ha(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new $e(e,n,i,o)}function Ka(e){if(e instanceof $e)return new $e(e.h,e.s,e.l,e.opacity);if(e instanceof jn||(e=bn(e)),!e)return new $e;if(e instanceof $e)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new $e(l,r,d,e.opacity)}function gm(e,n,i,o){return arguments.length===1?Ka(e):new $e(e,n,i,o==null?1:o)}function $e(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Oo($e,gm,La(jn,{brighter(e){return e=e==null?Ci:Math.pow(Ci,e),new $e(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Un:Math.pow(Un,e),new $e(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new He(Ho(e>=240?e-240:e+120,s,o),Ho(e,s,o),Ho(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new $e(Va(this.h),Ei(this.s),Ei(this.l),ki(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=ki(this.opacity);return`${e===1?"hsl(":"hsla("}${Va(this.h)}, ${Ei(this.s)*100}%, ${Ei(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Va(e){return e=(e||0)%360,e<0?e+360:e}function Ei(e){return Math.max(0,Math.min(1,e||0))}function Ho(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const Ko=e=>()=>e;function ym(e,n){return function(i){return e+i*n}}function xm(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function Sm(e){return(e=+e)==1?Ga:function(n,i){return i-n?xm(n,i,e):Ko(isNaN(n)?i:n)}}function Ga(e,n){var i=n-e;return i?ym(e,i):Ko(isNaN(e)?n:e)}const Mi=function e(n){var i=Sm(n);function o(s,t){var l=i((s=Fo(s)).r,(t=Fo(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=Ga(s.opacity,t.opacity);return function(b){return s.r=l(b),s.g=r(b),s.b=d(b),s.opacity=u(b),s+""}}return o.gamma=e,o}(1);function wm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function Nm(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Cm(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Yn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Am(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Xe(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function km(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Yn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var Vo=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Go=new RegExp(Vo.source,"g");function Em(e){return function(){return e}}function Mm(e){return function(n){return e(n)+""}}function za(e,n){var i=Vo.lastIndex=Go.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=Vo.exec(e))&&(s=Go.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Xe(o,s)})),i=Go.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Mm(d[0].x):Em(n):(n=d.length,function(u){for(var b=0,c;b<n;++b)r[(c=d[b]).i]=c.x(u);return r.join("")})}function Yn(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ko(n):(i==="number"?Xe:i==="string"?(o=bn(n))?(n=o,Mi):za:n instanceof bn?Mi:n instanceof Date?Am:Nm(n)?wm:Array.isArray(n)?Cm:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?km:Xe)(e,n)}var $a=180/Math.PI,zo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Wa(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*$a,skewX:Math.atan(d)*$a,scaleX:l,scaleY:r}}var Ti;function Tm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?zo:Wa(n.a,n.b,n.c,n.d,n.e,n.f)}function Pm(e){return e==null||(Ti||(Ti=document.createElementNS("http://www.w3.org/2000/svg","g")),Ti.setAttribute("transform",e),!(e=Ti.transform.baseVal.consolidate()))?zo:(e=e.matrix,Wa(e.a,e.b,e.c,e.d,e.e,e.f))}function ja(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,b,c,m,f,v){if(u!==c||b!==m){var x=f.push("translate(",null,n,null,i);v.push({i:x-4,x:Xe(u,c)},{i:x-2,x:Xe(b,m)})}else(c||m)&&f.push("translate("+c+n+m+i)}function l(u,b,c,m){u!==b?(u-b>180?b+=360:b-u>180&&(u+=360),m.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Xe(u,b)})):b&&c.push(s(c)+"rotate("+b+o)}function r(u,b,c,m){u!==b?m.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Xe(u,b)}):b&&c.push(s(c)+"skewX("+b+o)}function d(u,b,c,m,f,v){if(u!==c||b!==m){var x=f.push(s(f)+"scale(",null,",",null,")");v.push({i:x-4,x:Xe(u,c)},{i:x-2,x:Xe(b,m)})}else(c!==1||m!==1)&&f.push(s(f)+"scale("+c+","+m+")")}return function(u,b){var c=[],m=[];return u=e(u),b=e(b),t(u.translateX,u.translateY,b.translateX,b.translateY,c,m),l(u.rotate,b.rotate,c,m),r(u.skewX,b.skewX,c,m),d(u.scaleX,u.scaleY,b.scaleX,b.scaleY,c,m),u=b=null,function(f){for(var v=-1,x=m.length,g;++v<x;)c[(g=m[v]).i]=g.x(f);return c.join("")}}}var Lm=ja(Tm,"px, ","px)","deg)"),Bm=ja(Pm,", ",")",")"),Im=1e-12;function Ua(e){return((e=Math.exp(e))+1/e)/2}function Dm(e){return((e=Math.exp(e))-1/e)/2}function _m(e){return((e=Math.exp(2*e))-1)/(e+1)}const Pi=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],b=l[0],c=l[1],m=l[2],f=b-r,v=c-d,x=f*f+v*v,g,y;if(x<Im)y=Math.log(m/u)/n,g=function(C){return[r+C*f,d+C*v,u*Math.exp(n*C*y)]};else{var w=Math.sqrt(x),h=(m*m-u*u+o*x)/(2*u*i*w),p=(m*m-u*u-o*x)/(2*m*i*w),k=Math.log(Math.sqrt(h*h+1)-h),S=Math.log(Math.sqrt(p*p+1)-p);y=(S-k)/n,g=function(C){var A=C*y,E=Ua(k),P=u/(i*w)*(E*_m(n*A+k)-Dm(k));return[r+P*f,d+P*v,u*E/Ua(n*A+k)]}}return g.duration=y*1e3*n/Math.SQRT2,g}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var Mn=0,Jn=0,Zn=0,qa=1e3,Li,Xn,Bi=0,fn=0,Ii=0,Qn=typeof performance=="object"&&performance.now?performance:Date,Ya=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function $o(){return fn||(Ya(Om),fn=Qn.now()+Ii)}function Om(){fn=0}function Di(){this._call=this._time=this._next=null}Di.prototype=Ja.prototype={constructor:Di,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?$o():+i)+(n==null?0:+n),!this._next&&Xn!==this&&(Xn?Xn._next=this:Li=this,Xn=this),this._call=e,this._time=i,Wo()},stop:function(){this._call&&(this._call=null,this._time=1/0,Wo())}};function Ja(e,n,i){var o=new Di;return o.restart(e,n,i),o}function Fm(){$o(),++Mn;for(var e=Li,n;e;)(n=fn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Mn}function Za(){fn=(Bi=Qn.now())+Ii,Mn=Jn=0;try{Fm()}finally{Mn=0,Km(),fn=0}}function Hm(){var e=Qn.now(),n=e-Bi;n>qa&&(Ii-=n,Bi=e)}function Km(){for(var e,n=Li,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Li=i);Xn=e,Wo(o)}function Wo(e){if(!Mn){Jn&&(Jn=clearTimeout(Jn));var n=e-fn;n>24?(e<1/0&&(Jn=setTimeout(Za,e-Qn.now()-Ii)),Zn&&(Zn=clearInterval(Zn))):(Zn||(Bi=Qn.now(),Zn=setInterval(Hm,qa)),Mn=1,Ya(Za))}}function Xa(e,n,i){var o=new Di;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var Vm=yi("start","end","cancel","interrupt"),Gm=[],Qa=0,Ra=1,jo=2,_i=3,et=4,Uo=5,Oi=6;function Fi(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;zm(e,i,{name:n,index:o,group:s,on:Vm,tween:Gm,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:Qa})}function qo(e,n){var i=We(e,n);if(i.state>Qa)throw new Error("too late; already scheduled");return i}function Qe(e,n){var i=We(e,n);if(i.state>_i)throw new Error("too late; already running");return i}function We(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function zm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Ja(t,0,i.time);function t(u){i.state=Ra,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var b,c,m,f;if(i.state!==Ra)return d();for(b in o)if(f=o[b],f.name===i.name){if(f.state===_i)return Xa(l);f.state===et?(f.state=Oi,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[b]):+b<n&&(f.state=Oi,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[b])}if(Xa(function(){i.state===_i&&(i.state=et,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=jo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===jo){for(i.state=_i,s=new Array(m=i.tween.length),b=0,c=-1;b<m;++b)(f=i.tween[b].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=f);s.length=c+1}}function r(u){for(var b=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Uo,1),c=-1,m=s.length;++c<m;)s[c].call(e,b);i.state===Uo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Oi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Hi(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>jo&&o.state<Uo,o.state=Oi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function $m(e){return this.each(function(){Hi(this,e)})}function Wm(e,n){var i,o;return function(){var s=Qe(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function jm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=Qe(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function Um(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=We(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Wm:jm)(i,e,n))}function Yo(e,n,i){var o=e._id;return e.each(function(){var s=Qe(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return We(s,o).value[n]}}function nt(e,n){var i;return(typeof n=="number"?Xe:n instanceof bn?Mi:(i=bn(n))?(n=i,Mi):za)(e,n)}function qm(e){return function(){this.removeAttribute(e)}}function Ym(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Jm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Zm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function Xm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Qm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function Rm(e,n){var i=Si(e),o=i==="transform"?Bm:nt;return this.attrTween(e,typeof n=="function"?(i.local?Qm:Xm)(i,o,Yo(this,"attr."+e,n)):n==null?(i.local?Ym:qm)(i):(i.local?Zm:Jm)(i,o,n))}function ev(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function nv(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function iv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&nv(e,t)),i}return s._value=n,s}function ov(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&ev(e,t)),i}return s._value=n,s}function sv(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=Si(e);return this.tween(i,(o.local?iv:ov)(o,n))}function av(e,n){return function(){qo(this,e).delay=+n.apply(this,arguments)}}function tv(e,n){return n=+n,function(){qo(this,e).delay=n}}function lv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?av:tv)(n,e)):We(this.node(),n).delay}function rv(e,n){return function(){Qe(this,e).duration=+n.apply(this,arguments)}}function dv(e,n){return n=+n,function(){Qe(this,e).duration=n}}function uv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?rv:dv)(n,e)):We(this.node(),n).duration}function cv(e,n){if(typeof n!="function")throw new Error;return function(){Qe(this,e).ease=n}}function bv(e){var n=this._id;return arguments.length?this.each(cv(n,e)):We(this.node(),n).ease}function mv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Qe(this,e).ease=i}}function vv(e){if(typeof e!="function")throw new Error;return this.each(mv(this._id,e))}function fv(e){typeof e!="function"&&(e=ga(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new en(o,this._parents,this._name,this._id)}function hv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],b=d.length,c=l[r]=new Array(b),m,f=0;f<b;++f)(m=d[f]||u[f])&&(c[f]=m);for(;r<o;++r)l[r]=n[r];return new en(l,this._parents,this._name,this._id)}function pv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function gv(e,n,i){var o,s,t=pv(n)?qo:Qe;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function yv(e,n){var i=this._id;return arguments.length<2?We(this.node(),i).on.on(e):this.each(gv(i,e,n))}function xv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Sv(){return this.on("end.remove",xv(this._id))}function wv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Bo(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),b,c,m=0;m<d;++m)(b=r[m])&&(c=e.call(b,b.__data__,m,r))&&("__data__"in b&&(c.__data__=b.__data__),u[m]=c,Fi(u[m],n,i,m,u,We(b,i)));return new en(t,this._parents,n,i)}function Nv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=pa(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,b,c=0;c<u;++c)if(b=d[c]){for(var m=e.call(b,b.__data__,c,d),f,v=We(b,i),x=0,g=m.length;x<g;++x)(f=m[x])&&Fi(f,n,i,x,m,v);t.push(m),l.push(b)}return new en(t,l,n,i)}var Cv=$n.prototype.constructor;function Av(){return new Cv(this._groups,this._parents)}function kv(e,n){var i,o,s;return function(){var t=An(this,e),l=(this.style.removeProperty(e),An(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function it(e){return function(){this.style.removeProperty(e)}}function Ev(e,n,i){var o,s=i+"",t;return function(){var l=An(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Mv(e,n,i){var o,s,t;return function(){var l=An(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),An(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Tv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=Qe(this,e),u=d.on,b=d.value[t]==null?r||(r=it(n)):void 0;(u!==i||s!==b)&&(o=(i=u).copy()).on(l,s=b),d.on=o}}function Pv(e,n,i){var o=(e+="")=="transform"?Lm:nt;return n==null?this.styleTween(e,kv(e,o)).on("end.style."+e,it(e)):typeof n=="function"?this.styleTween(e,Mv(e,o,Yo(this,"style."+e,n))).each(Tv(this._id,e)):this.styleTween(e,Ev(e,o,n),i).on("end.style."+e,null)}function Lv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Bv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Lv(e,l,i)),o}return t._value=n,t}function Iv(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Bv(e,n,i==null?"":i))}function Dv(e){return function(){this.textContent=e}}function _v(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function Ov(e){return this.tween("text",typeof e=="function"?_v(Yo(this,"text",e)):Dv(e==null?"":e+""))}function Fv(e){return function(n){this.textContent=e.call(this,n)}}function Hv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Fv(s)),n}return o._value=e,o}function Kv(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Hv(e))}function Vv(){for(var e=this._name,n=this._id,i=ot(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var b=We(d,n);Fi(d,e,i,u,l,{time:b.time+b.delay+b.duration,delay:0,duration:b.duration,ease:b.ease})}return new en(o,this._parents,e,i)}function Gv(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=Qe(this,o),b=u.on;b!==e&&(n=(e=b).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var zv=0;function en(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function ot(){return++zv}var nn=$n.prototype;en.prototype={constructor:en,select:wv,selectAll:Nv,selectChild:nn.selectChild,selectChildren:nn.selectChildren,filter:fv,merge:hv,selection:Av,transition:Vv,call:nn.call,nodes:nn.nodes,node:nn.node,size:nn.size,empty:nn.empty,each:nn.each,on:yv,attr:Rm,attrTween:sv,style:Pv,styleTween:Iv,text:Ov,textTween:Kv,remove:Sv,tween:Um,delay:lv,duration:uv,ease:bv,easeVarying:vv,end:Gv,[Symbol.iterator]:nn[Symbol.iterator]};function $v(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Wv={time:null,delay:0,duration:250,ease:$v};function jv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function Uv(e){var n,i;e instanceof en?(n=e._id,e=e._name):(n=ot(),(i=Wv).time=$o(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Fi(d,e,n,u,l,i||jv(d,n));return new en(o,this._parents,e,n)}$n.prototype.interrupt=$m,$n.prototype.transition=Uv;const Ki=e=>()=>e;function qv(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function on(e,n,i){this.k=e,this.x=n,this.y=i}on.prototype={constructor:on,scale:function(e){return e===1?this:new on(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new on(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Vi=new on(1,0,0);st.prototype=on.prototype;function st(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Vi;return e.__zoom}function Jo(e){e.stopImmediatePropagation()}function Rn(e){e.preventDefault(),e.stopImmediatePropagation()}function Yv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Jv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function at(){return this.__zoom||Vi}function Zv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Xv(){return navigator.maxTouchPoints||"ontouchstart"in this}function Qv(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function tt(){var e=Yv,n=Jv,i=Qv,o=Zv,s=Xv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Pi,u=yi("start","zoom","end"),b,c,m,f=500,v=150,x=0,g=10;function y(T){T.property("__zoom",at).on("wheel.zoom",A,{passive:!1}).on("mousedown.zoom",E).on("dblclick.zoom",P).filter(s).on("touchstart.zoom",M).on("touchmove.zoom",B).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}y.transform=function(T,L,_,D){var O=T.selection?T.selection():T;O.property("__zoom",at),T!==O?k(T,L,_,D):O.interrupt().each(function(){S(this,arguments).event(D).start().zoom(null,typeof L=="function"?L.apply(this,arguments):L).end()})},y.scaleBy=function(T,L,_,D){y.scaleTo(T,function(){var O=this.__zoom.k,I=typeof L=="function"?L.apply(this,arguments):L;return O*I},_,D)},y.scaleTo=function(T,L,_,D){y.transform(T,function(){var O=n.apply(this,arguments),I=this.__zoom,$=_==null?p(O):typeof _=="function"?_.apply(this,arguments):_,j=I.invert($),G=typeof L=="function"?L.apply(this,arguments):L;return i(h(w(I,G),$,j),O,l)},_,D)},y.translateBy=function(T,L,_,D){y.transform(T,function(){return i(this.__zoom.translate(typeof L=="function"?L.apply(this,arguments):L,typeof _=="function"?_.apply(this,arguments):_),n.apply(this,arguments),l)},null,D)},y.translateTo=function(T,L,_,D,O){y.transform(T,function(){var I=n.apply(this,arguments),$=this.__zoom,j=D==null?p(I):typeof D=="function"?D.apply(this,arguments):D;return i(Vi.translate(j[0],j[1]).scale($.k).translate(typeof L=="function"?-L.apply(this,arguments):-L,typeof _=="function"?-_.apply(this,arguments):-_),I,l)},D,O)};function w(T,L){return L=Math.max(t[0],Math.min(t[1],L)),L===T.k?T:new on(L,T.x,T.y)}function h(T,L,_){var D=L[0]-_[0]*T.k,O=L[1]-_[1]*T.k;return D===T.x&&O===T.y?T:new on(T.k,D,O)}function p(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function k(T,L,_,D){T.on("start.zoom",function(){S(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(D).end()}).tween("zoom",function(){var O=this,I=arguments,$=S(O,I).event(D),j=n.apply(O,I),G=_==null?p(j):typeof _=="function"?_.apply(O,I):_,V=Math.max(j[1][0]-j[0][0],j[1][1]-j[0][1]),Z=O.__zoom,se=typeof L=="function"?L.apply(O,I):L,le=d(Z.invert(G).concat(V/Z.k),se.invert(G).concat(V/se.k));return function(ee){if(ee===1)ee=se;else{var W=le(ee),R=V/W[2];ee=new on(R,G[0]-W[0]*R,G[1]-W[1]*R)}$.zoom(null,ee)}})}function S(T,L,_){return!_&&T.__zooming||new C(T,L)}function C(T,L){this.that=T,this.args=L,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,L),this.taps=0}C.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,L){return this.mouse&&T!=="mouse"&&(this.mouse[1]=L.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=L.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=L.invert(this.touch1[0])),this.that.__zoom=L,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var L=Ve(this.that).datum();u.call(T,this.that,new qv(T,{sourceEvent:this.sourceEvent,target:y,transform:this.that.__zoom,dispatch:u}),L)}};function A(T,...L){if(!e.apply(this,arguments))return;var _=S(this,L).event(T),D=this.__zoom,O=Math.max(t[0],Math.min(t[1],D.k*Math.pow(2,o.apply(this,arguments)))),I=ze(T);if(_.wheel)(_.mouse[0][0]!==I[0]||_.mouse[0][1]!==I[1])&&(_.mouse[1]=D.invert(_.mouse[0]=I)),clearTimeout(_.wheel);else{if(D.k===O)return;_.mouse=[I,D.invert(I)],Hi(this),_.start()}Rn(T),_.wheel=setTimeout($,v),_.zoom("mouse",i(h(w(D,O),_.mouse[0],_.mouse[1]),_.extent,l));function $(){_.wheel=null,_.end()}}function E(T,...L){if(m||!e.apply(this,arguments))return;var _=T.currentTarget,D=S(this,L,!0).event(T),O=Ve(T.view).on("mousemove.zoom",G,!0).on("mouseup.zoom",V,!0),I=ze(T,_),$=T.clientX,j=T.clientY;Ma(T.view),Jo(T),D.mouse=[I,this.__zoom.invert(I)],Hi(this),D.start();function G(Z){if(Rn(Z),!D.moved){var se=Z.clientX-$,le=Z.clientY-j;D.moved=se*se+le*le>x}D.event(Z).zoom("mouse",i(h(D.that.__zoom,D.mouse[0]=ze(Z,_),D.mouse[1]),D.extent,l))}function V(Z){O.on("mousemove.zoom mouseup.zoom",null),Ta(Z.view,D.moved),Rn(Z),D.event(Z).end()}}function P(T,...L){if(e.apply(this,arguments)){var _=this.__zoom,D=ze(T.changedTouches?T.changedTouches[0]:T,this),O=_.invert(D),I=_.k*(T.shiftKey?.5:2),$=i(h(w(_,I),D,O),n.apply(this,L),l);Rn(T),r>0?Ve(this).transition().duration(r).call(k,$,D,T):Ve(this).call(y.transform,$,D,T)}}function M(T,...L){if(e.apply(this,arguments)){var _=T.touches,D=_.length,O=S(this,L,T.changedTouches.length===D).event(T),I,$,j,G;for(Jo(T),$=0;$<D;++$)j=_[$],G=ze(j,this),G=[G,this.__zoom.invert(G),j.identifier],O.touch0?!O.touch1&&O.touch0[2]!==G[2]&&(O.touch1=G,O.taps=0):(O.touch0=G,I=!0,O.taps=1+!!b);b&&(b=clearTimeout(b)),I&&(O.taps<2&&(c=G[0],b=setTimeout(function(){b=null},f)),Hi(this),O.start())}}function B(T,...L){if(this.__zooming){var _=S(this,L).event(T),D=T.changedTouches,O=D.length,I,$,j,G;for(Rn(T),I=0;I<O;++I)$=D[I],j=ze($,this),_.touch0&&_.touch0[2]===$.identifier?_.touch0[0]=j:_.touch1&&_.touch1[2]===$.identifier&&(_.touch1[0]=j);if($=_.that.__zoom,_.touch1){var V=_.touch0[0],Z=_.touch0[1],se=_.touch1[0],le=_.touch1[1],ee=(ee=se[0]-V[0])*ee+(ee=se[1]-V[1])*ee,W=(W=le[0]-Z[0])*W+(W=le[1]-Z[1])*W;$=w($,Math.sqrt(ee/W)),j=[(V[0]+se[0])/2,(V[1]+se[1])/2],G=[(Z[0]+le[0])/2,(Z[1]+le[1])/2]}else if(_.touch0)j=_.touch0[0],G=_.touch0[1];else return;_.zoom("touch",i(h($,j,G),_.extent,l))}}function F(T,...L){if(this.__zooming){var _=S(this,L).event(T),D=T.changedTouches,O=D.length,I,$;for(Jo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),I=0;I<O;++I)$=D[I],_.touch0&&_.touch0[2]===$.identifier?delete _.touch0:_.touch1&&_.touch1[2]===$.identifier&&delete _.touch1;if(_.touch1&&!_.touch0&&(_.touch0=_.touch1,delete _.touch1),_.touch0)_.touch0[1]=this.__zoom.invert(_.touch0[0]);else if(_.end(),_.taps===2&&($=ze($,this),Math.hypot(c[0]-$[0],c[1]-$[1])<g)){var j=Ve(this).on("dblclick.zoom");j&&j.apply(this,arguments)}}}return y.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:Ki(+T),y):o},y.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Ki(!!T),y):e},y.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Ki(!!T),y):s},y.extent=function(T){return arguments.length?(n=typeof T=="function"?T:Ki([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),y):n},y.scaleExtent=function(T){return arguments.length?(t[0]=+T[0],t[1]=+T[1],y):[t[0],t[1]]},y.translateExtent=function(T){return arguments.length?(l[0][0]=+T[0][0],l[1][0]=+T[1][0],l[0][1]=+T[0][1],l[1][1]=+T[1][1],y):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},y.constrain=function(T){return arguments.length?(i=T,y):i},y.duration=function(T){return arguments.length?(r=+T,y):r},y.interpolate=function(T){return arguments.length?(d=T,y):d},y.on=function(){var T=u.on.apply(u,arguments);return T===u?y:T},y.clickDistance=function(T){return arguments.length?(x=(T=+T)*T,y):Math.sqrt(x)},y.tapDistance=function(T){return arguments.length?(g=+T,y):g},y}const Ge={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ei=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],lt=["Enter"," ","Escape"],rt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Tn;(function(e){e.Strict="strict",e.Loose="loose"})(Tn||(Tn={}));var hn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(hn||(hn={}));var ni;(function(e){e.Partial="partial",e.Full="full"})(ni||(ni={}));const dt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var ln;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(ln||(ln={}));var Pn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Pn||(Pn={}));var ve;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ve||(ve={}));const ut={[ve.Left]:ve.Right,[ve.Right]:ve.Left,[ve.Top]:ve.Bottom,[ve.Bottom]:ve.Top};function ct(e){return e===null?null:e?"valid":"invalid"}const bt=e=>"id"in e&&"source"in e&&"target"in e,Rv=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Zo=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),ii=(e,n=[0,0])=>{var r;const{width:i,height:o}=sn(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},ef=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):Zo(s)?s:n.nodeLookup.get(s.id));const r=l?$i(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return Gi(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return zi(i)},oi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=Gi(i,$i(s)),o=!0)}),o?zi(i):{x:0,y:0,width:0,height:0}},Xo=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,f,v,x,g,y;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,b=n.height/s,c=[];for(const w of e.values()){const{measured:h,selectable:p=!0,hidden:k=!1}=w;if(l&&!p||k)continue;const S=(v=(f=(m=h.width)!=null?m:w.width)!=null?f:w.initialWidth)!=null?v:0,C=(y=(g=(x=h.height)!=null?x:w.height)!=null?g:w.initialHeight)!=null?y:0,{x:A,y:E}=w.internals.positionAbsolute,P=pt(r,d,u,b,A,E,S,C),M=S*C,B=t&&P>0;(!w.internals.handleBounds||B||P>=M||w.dragging)&&c.push(w)}return c},nf=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function of(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function sf({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var b,c,m;if(e.size===0)return!0;const r=of(e,l),d=oi(r),u=es(d,n,i,(b=l==null?void 0:l.minZoom)!=null?b:s,(c=l==null?void 0:l.maxZoom)!=null?c:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function mt({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var f,v,x;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},b=(f=l.origin)!=null?f:o;let c=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",Ge.error005());else{const g=r.measured.width,y=r.measured.height;g&&y&&(c=[[d,u],[d+g,u+y]])}else r&&gn(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=gn(c)?pn(n,c,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",Ge.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*b[0],y:m.y-u+((x=l.measured.height)!=null?x:0)*b[1]},positionAbsolute:m}}async function af({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const f=t.has(m.id),v=!f&&m.parentId&&l.find(x=>x.id===m.parentId);(f||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),b=nf(l,d);for(const m of d)r.has(m.id)&&!b.find(v=>v.id===m.id)&&b.push(m);if(!s)return{edges:b,nodes:l};const c=await s({nodes:l,edges:b});return typeof c=="boolean"?c?{edges:b,nodes:l}:{edges:[],nodes:[]}:c}const Ln=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),pn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Ln(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Ln(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function vt(e,n,i){const{width:o,height:s}=sn(i),{x:t,y:l}=i.internals.positionAbsolute;return pn(e,[[t,l],[t+o,l+s]],n)}const ft=(e,n,i)=>e<n?Ln(Math.abs(e-n),1,n)/n:e>i?-Ln(Math.abs(e-i),1,n)/n:0,Qo=(e,n,i=15,o=40)=>{const s=ft(e.x,o,n.width-o)*i,t=ft(e.y,o,n.height-o)*i;return[s,t]},Gi=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),Ro=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),zi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),si=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0}},$i=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Zo(e)?e.internals.positionAbsolute:ii(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0)}},ht=(e,n)=>zi(Gi(Ro(e),Ro(n))),pt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},Wi=(e,n)=>pt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),gt=e=>je(e.width)&&je(e.height)&&je(e.x)&&je(e.y),je=e=>!isNaN(e)&&isFinite(e),yt=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},ai=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ti=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?ai(r,l):r},Bn=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function In(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function tf(e,n,i){var o,s,t,l,r,d,u,b;if(typeof e=="string"||typeof e=="number"){const c=In(e,i),m=In(e,n);return{top:c,right:m,bottom:c,left:m,x:m*2,y:c*2}}if(typeof e=="object"){const c=In((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=In((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),f=In((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=In((b=(u=e.right)!=null?u:e.x)!=null?b:0,n);return{top:c,right:v,bottom:m,left:f,x:f+v,y:c+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function lf(e,n,i,o,s,t){const{x:l,y:r}=Bn(e,[n,i,o]),{x:d,y:u}=Bn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),b=s-d,c=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(b),bottom:Math.floor(c)}}const es=(e,n,i,o,s,t)=>{const l=tf(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),b=Ln(u,o,s),c=e.x+e.width/2,m=e.y+e.height/2,f=n/2-c*b,v=i/2-m*b,x=lf(e,f,v,b,n,i),g={left:Math.min(x.left-l.left,0),top:Math.min(x.top-l.top,0),right:Math.min(x.right-l.right,0),bottom:Math.min(x.bottom-l.bottom,0)};return{x:f-g.left+g.right,y:v-g.top+g.bottom,zoom:b}},li=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function gn(e){return e!=null&&e!=="parent"}function sn(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function xt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function St(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function wt(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function rf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function df(e){return{...rt,...e||{}}}function ri(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var b,c;const{x:t,y:l}=Ue(e),r=ti({x:t-((b=s==null?void 0:s.left)!=null?b:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?ai(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const ns=e=>({width:e.offsetWidth,height:e.offsetHeight}),Nt=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},uf=["INPUT","SELECT","TEXTAREA"];function Ct(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:uf.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const At=e=>"clientX"in e,Ue=(e,n)=>{var t,l,r,d;const i=At(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},kt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...ns(l)}})};function Et({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,b=Math.abs(d-e),c=Math.abs(u-n);return[d,u,b,c]}function ji(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Mt({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case ve.Left:return[n-ji(n-o,t),i];case ve.Right:return[n+ji(o-n,t),i];case ve.Top:return[n,i-ji(i-s,t)];case ve.Bottom:return[n,i+ji(s-i,t)]}}function Tt({sourceX:e,sourceY:n,sourcePosition:i=ve.Bottom,targetX:o,targetY:s,targetPosition:t=ve.Top,curvature:l=.25}){const[r,d]=Mt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,b]=Mt({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[c,m,f,v]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:b});return[`M${e},${n} C${r},${d} ${u},${b} ${o},${s}`,c,m,f,v]}function Pt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function cf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function bf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=Gi($i(e),$i(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Wi(l,zi(t))>0}const mf=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,vf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),ff=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",Ge.error006()),n;const o=i.getEdgeId||mf;let s;return bt(e)?s={...e}:s={...e,id:o(e)},vf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function Lt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Pt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Bt={[ve.Left]:{x:-1,y:0},[ve.Right]:{x:1,y:0},[ve.Top]:{x:0,y:-1},[ve.Bottom]:{x:0,y:1}},hf=({source:e,sourcePosition:n=ve.Bottom,target:i})=>n===ve.Left||n===ve.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},It=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function pf({source:e,sourcePosition:n=ve.Bottom,target:i,targetPosition:o=ve.Top,center:s,offset:t,stepPosition:l}){var A,E,P,M;const r=Bt[n],d=Bt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},b={x:i.x+d.x*t,y:i.y+d.y*t},c=hf({source:u,sourcePosition:n,target:b}),m=c.x!==0?"x":"y",f=c[m];let v=[],x,g;const y={x:0,y:0},w={x:0,y:0},[,,h,p]=Pt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(x=(A=s.x)!=null?A:u.x+(b.x-u.x)*l,g=(E=s.y)!=null?E:(u.y+b.y)/2):(x=(P=s.x)!=null?P:(u.x+b.x)/2,g=(M=s.y)!=null?M:u.y+(b.y-u.y)*l);const B=[{x,y:u.y},{x,y:b.y}],F=[{x:u.x,y:g},{x:b.x,y:g}];r[m]===f?v=m==="x"?B:F:v=m==="x"?F:B}else{const B=[{x:u.x,y:b.y}],F=[{x:b.x,y:u.y}];if(m==="x"?v=r.x===f?F:B:v=r.y===f?B:F,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const I=Math.min(t-1,t-O);r[m]===f?y[m]=(u[m]>e[m]?-1:1)*I:w[m]=(b[m]>i[m]?-1:1)*I}}if(n!==o){const O=m==="x"?"y":"x",I=r[m]===d[O],$=u[O]>b[O],j=u[O]<b[O];(r[m]===1&&(!I&&$||I&&j)||r[m]!==1&&(!I&&j||I&&$))&&(v=m==="x"?B:F)}const T={x:u.x+y.x,y:u.y+y.y},L={x:b.x+w.x,y:b.y+w.y},_=Math.max(Math.abs(T.x-v[0].x),Math.abs(L.x-v[0].x)),D=Math.max(Math.abs(T.y-v[0].y),Math.abs(L.y-v[0].y));_>=D?(x=(T.x+L.x)/2,g=v[0].y):(x=v[0].x,g=(T.y+L.y)/2)}const k={x:u.x+y.x,y:u.y+y.y},S={x:b.x+w.x,y:b.y+w.y};return[[e,...k.x!==v[0].x||k.y!==v[0].y?[k]:[],...v,...S.x!==v[v.length-1].x||S.y!==v[v.length-1].y?[S]:[],i],x,g,h,p]}function gf(e,n,i,o){const s=Math.min(It(e,n)/2,It(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,b=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*b}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function is({sourceX:e,sourceY:n,sourcePosition:i=ve.Bottom,targetX:o,targetY:s,targetPosition:t=ve.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:b=.5}){const[c,m,f,v,x]=pf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:b});let g=`M${c[0].x} ${c[0].y}`;for(let y=1;y<c.length-1;y++)g+=gf(c[y-1],c[y],c[y+1],l);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,m,f,v,x]}function Dt(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function yf(e){var c,m,f,v,x;const{sourceNode:n,targetNode:i}=e;if(!Dt(n)||!Dt(i))return null;const o=n.internals.handleBounds||_t(n.handles),s=i.internals.handleBounds||_t(i.handles),t=Ot((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Ot(e.connectionMode===Tn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((f=s==null?void 0:s.target)!=null?f:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(x=e.onError)==null||x.call(e,"008",Ge.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||ve.Bottom,d=(l==null?void 0:l.position)||ve.Top,u=yn(n,t,r),b=yn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:b.x,targetY:b.y,sourcePosition:r,targetPosition:d}}function _t(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function yn(e,n,i=ve.Left,o=!1){var u,b,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((b=n==null?void 0:n.y)!=null?b:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:sn(e);if(o)return{x:s+l/2,y:t+r/2};switch((c=n==null?void 0:n.position)!=null?c:i){case ve.Top:return{x:s+l/2,y:t};case ve.Right:return{x:s+l,y:t+r/2};case ve.Bottom:return{x:s+l/2,y:t+r};case ve.Left:return{x:s,y:t+r/2}}}function Ot(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function os(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function xf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=os(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Ft=1e3,Sf=10,ss={nodeOrigin:[0,0],nodeExtent:ei,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},wf={...ss,checkEquality:!0};function as(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function Nf(e,n,i){const o=as(ss,i);for(const s of e.values())if(s.parentId)rs(s,e,n,o);else{const t=ii(s,o.nodeOrigin),l=gn(s.extent)?s.extent:o.nodeExtent,r=pn(t,l,sn(s));s.internals.positionAbsolute=r}}function Cf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function ts(e){return e==="manual"}function ls(e,n,i,o={}){var b,c,m;const s=as(wf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!ts(s.zIndexMode)?Ft:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let v=l.get(f.id);if(s.checkEquality&&f===(v==null?void 0:v.internals.userNode))n.set(f.id,v);else{const x=ii(f,s.nodeOrigin),g=gn(f.extent)?f.extent:s.nodeExtent,y=pn(x,g,sn(f));v={...s.defaults,...f,measured:{width:(b=f.measured)==null?void 0:b.width,height:(c=f.measured)==null?void 0:c.height},internals:{positionAbsolute:y,handleBounds:Cf(f,v),z:Ht(f,r,s.zIndexMode),userNode:f}},n.set(f.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),f.parentId&&rs(v,n,i,o,t),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Af(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function rs(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=as(ss,o),u=e.parentId,b=n.get(u);if(!b){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Af(e,i),s&&!b.parentId&&b.internals.rootParentIndex===void 0&&d==="auto"&&(b.internals.rootParentIndex=++s.i,b.internals.z=b.internals.z+s.i*Sf),s&&b.internals.rootParentIndex!==void 0&&(s.i=b.internals.rootParentIndex);const c=t&&!ts(d)?Ft:0,{x:m,y:f,z:v}=kf(e,b,l,r,c,d),{positionAbsolute:x}=e.internals,g=m!==x.x||f!==x.y;(g||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:g?{x:m,y:f}:x,z:v}})}function Ht(e,n,i){const o=je(e.zIndex)?e.zIndex:0;return ts(i)?o:o+(e.selected?n:0)}function kf(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=sn(e),u=ii(e,i),b=gn(e.extent)?pn(u,e.extent,d):u;let c=pn({x:l+b.x,y:r+b.y},o,d);e.extent==="parent"&&(c=vt(c,d,n));const m=Ht(e,s,t),f=(v=n.internals.z)!=null?v:0;return{x:c.x,y:c.y,z:f>=m?f+1:m}}function ds(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const b=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:si(u),c=ht(b,d.rect);t.set(d.parentId,{expandedRect:c,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},b)=>{var p,k;const c=u.internals.positionAbsolute,m=sn(u),f=(p=u.origin)!=null?p:o,v=d.x<c.x?Math.round(Math.abs(c.x-d.x)):0,x=d.y<c.y?Math.round(Math.abs(c.y-d.y)):0,g=Math.max(m.width,Math.round(d.width)),y=Math.max(m.height,Math.round(d.height)),w=(g-m.width)*f[0],h=(y-m.height)*f[1];(v>0||x>0||w||h)&&(s.push({id:b,type:"position",position:{x:u.position.x-v+w,y:u.position.y-x+h}}),(k=i.get(b))==null||k.forEach(S=>{e.some(C=>C.id===S.id)||s.push({id:S.id,type:"position",position:{x:S.position.x+v,y:S.position.y+x}})})),(m.width<d.width||m.height<d.height||v||x)&&s.push({id:b,type:"dimensions",setAttributes:!0,dimensions:{width:g+(v?f[0]*v-w:0),height:y+(x?f[1]*x-h:0)}})}),s}function Ef(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],b=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(b.transform),m=[];for(const f of e.values()){const v=n.get(f.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const x=ns(f.nodeElement),g=v.measured.width!==x.width||v.measured.height!==x.height;if(!!(x.width&&x.height&&(g||!v.internals.handleBounds||f.force))){const w=f.nodeElement.getBoundingClientRect(),h=gn(v.extent)?v.extent:t;let{positionAbsolute:p}=v.internals;v.parentId&&v.extent==="parent"?p=vt(p,x,n.get(v.parentId)):h&&(p=pn(p,h,x));const k={...v,measured:x,internals:{...v.internals,positionAbsolute:p,handleBounds:{source:kt("source",f.nodeElement,w,c,v.id),target:kt("target",f.nodeElement,w,c,v.id)}}};n.set(v.id,k),v.parentId&&rs(k,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,g&&(u.push({id:v.id,type:"dimensions",dimensions:x}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:si(k,s)}))}}if(m.length>0){const f=ds(m,n,i,s);u.push(...f)}return{changes:u,updatedInternals:d}}async function Mf({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Kt(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function Vt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,b=`${t}-${r}--${s}-${l}`;Kt("source",d,b,e,s,l),Kt("target",d,u,e,t,r),n.set(o.id,o)}}function Gt(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:Gt(i,n):!1}function zt(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Tf(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!Gt(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function us({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,b]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:b.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function Pf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=ai(t,n);return{x:l.x-t.x,y:l.y-t.y}}function Lf({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},b=null,c=!1,m=null,f=!1,v=!1,x=null;function g({noDragClassName:w,handleSelector:h,domNode:p,isSelectable:k,nodeId:S,nodeClickDistance:C=0}){m=Ve(p);function A({x:B,y:F}){const{nodeLookup:T,nodeExtent:L,snapGrid:_,snapToGrid:D,nodeOrigin:O,onNodeDrag:I,onSelectionDrag:$,onError:j,updateNodePositions:G}=n();t={x:B,y:F};let V=!1;const Z=r.size>1,se=Z&&L?Ro(oi(r)):null,le=Z&&D?Pf({dragItems:r,snapGrid:_,x:B,y:F}):null;for(const[ee,W]of r){if(!T.has(ee))continue;let R={x:B-W.distance.x,y:F-W.distance.y};D&&(R=le?{x:Math.round(R.x+le.x),y:Math.round(R.y+le.y)}:ai(R,_));let me=null;if(Z&&L&&!W.extent&&se){const{positionAbsolute:X}=W.internals,te=X.x-se.x+L[0][0],H=X.x+W.measured.width-se.x2+L[1][0],q=X.y-se.y+L[0][1],z=X.y+W.measured.height-se.y2+L[1][1];me=[[te,q],[H,z]]}const{position:Q,positionAbsolute:Y}=mt({nodeId:ee,nextPosition:R,nodeLookup:T,nodeExtent:me||L,nodeOrigin:O,onError:j});V=V||W.position.x!==Q.x||W.position.y!==Q.y,W.position=Q,W.internals.positionAbsolute=Y}if(v=v||V,!!V&&(G(r,!0),x&&(o||I||!S&&$))){const[ee,W]=us({nodeId:S,dragItems:r,nodeLookup:T});o==null||o(x,r,ee,W),I==null||I(x,ee,W),S||$==null||$(x,W)}}async function E(){var O,I;if(!b)return;const{transform:B,panBy:F,autoPanSpeed:T,autoPanOnNodeDrag:L}=n();if(!L){d=!1,cancelAnimationFrame(l);return}const[_,D]=Qo(u,b,T);(_!==0||D!==0)&&(t.x=((O=t.x)!=null?O:0)-_/B[2],t.y=((I=t.y)!=null?I:0)-D/B[2],await F({x:_,y:D})&&A(t)),l=requestAnimationFrame(E)}function P(B){var Z;const{nodeLookup:F,multiSelectionActive:T,nodesDraggable:L,transform:_,snapGrid:D,snapToGrid:O,selectNodesOnDrag:I,onNodeDragStart:$,onSelectionDragStart:j,unselectNodesAndEdges:G}=n();c=!0,(!I||!k)&&!T&&S&&((Z=F.get(S))!=null&&Z.selected||G()),k&&I&&S&&(e==null||e(S));const V=ri(B.sourceEvent,{transform:_,snapGrid:D,snapToGrid:O,containerBounds:b});if(t=V,r=Tf(F,L,V,S),r.size>0&&(i||$||!S&&j)){const[se,le]=us({nodeId:S,dragItems:r,nodeLookup:F});i==null||i(B.sourceEvent,r,se,le),$==null||$(B.sourceEvent,se,le),S||j==null||j(B.sourceEvent,le)}}const M=Pa().clickDistance(C).on("start",B=>{const{domNode:F,nodeDragThreshold:T,transform:L,snapGrid:_,snapToGrid:D}=n();b=(F==null?void 0:F.getBoundingClientRect())||null,f=!1,v=!1,x=B.sourceEvent,T===0&&P(B),t=ri(B.sourceEvent,{transform:L,snapGrid:_,snapToGrid:D,containerBounds:b}),u=Ue(B.sourceEvent,b)}).on("drag",B=>{const{autoPanOnNodeDrag:F,transform:T,snapGrid:L,snapToGrid:_,nodeDragThreshold:D,nodeLookup:O}=n(),I=ri(B.sourceEvent,{transform:T,snapGrid:L,snapToGrid:_,containerBounds:b});if(x=B.sourceEvent,(B.sourceEvent.type==="touchmove"&&B.sourceEvent.touches.length>1||S&&!O.has(S))&&(f=!0),!f){if(!d&&F&&c&&(d=!0,E()),!c){const $=Ue(B.sourceEvent,b),j=$.x-u.x,G=$.y-u.y;Math.sqrt(j*j+G*G)>D&&P(B)}(t.x!==I.xSnapped||t.y!==I.ySnapped)&&r&&c&&(u=Ue(B.sourceEvent,b),A(I))}}).on("end",B=>{if(!c||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:F,updateNodePositions:T,onNodeDragStop:L,onSelectionDragStop:_}=n();if(v&&(T(r,!1),v=!1),s||L||!S&&_){const[D,O]=us({nodeId:S,dragItems:r,nodeLookup:F,dragging:!1});s==null||s(B.sourceEvent,r,D,O),L==null||L(B.sourceEvent,D,O),S||_==null||_(B.sourceEvent,O)}}}).filter(B=>{const F=B.target;return!B.button&&(!w||!zt(F,`.${w}`,p))&&(!h||zt(F,h,p))});m.call(M)}function y(){m==null||m.on(".drag",null)}return{update:g,destroy:y}}function Bf(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())Wi(s,si(t))>0&&o.push(t);return o}const If=250;function Df(e,n,i,o){var r,d,u,b,c;let s=[],t=1/0;const l=Bf(e,i,n+If);for(const m of l){const f=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(b=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?b:[]];for(const v of f){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x,y:g}=yn(m,v,v.position,!0),y=Math.sqrt(Math.pow(x-e.x,2)+Math.pow(g-e.y,2));y>n||(y<t?(s=[{...v,x,y:g}],t=y):y===t&&s.push({...v,x,y:g}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(c=s.find(f=>f.type===m))!=null?c:s[0]}return s[0]}function $t(e,n,i,o,s,t=!1){var u,b,c,m,f,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(c=(b=l.internals.handleBounds)==null?void 0:b.source)!=null?c:[],...(f=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],d=(v=i?r==null?void 0:r.find(x=>x.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...yn(l,d,d.position,!0)}:d}function Wt(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function _f(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const jt=()=>!0;function Of(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:b,flowId:c,panBy:m,cancelConnection:f,onConnectStart:v,onConnect:x,onConnectEnd:g,isValidConnection:y=jt,onReconnectEnd:w,updateConnection:h,getTransform:p,getFromHandle:k,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:A}){const E=Nt(e.target);let P=0,M;const{x:B,y:F}=Ue(e),T=Wt(t,A),L=r==null?void 0:r.getBoundingClientRect();let _=!1;if(!L||!T)return;const D=$t(s,T,o,d,n);if(!D)return;let O=Ue(e,L),I=!1,$=null,j=!1,G=null;function V(){if(!b||!L)return;const[Q,Y]=Qo(O,L,S);m({x:Q,y:Y}),P=requestAnimationFrame(V)}const Z={...D,nodeId:s,type:T,position:D.position},se=d.get(s);let ee={inProgress:!0,isValid:null,from:yn(se,Z,ve.Left,!0),fromHandle:Z,fromPosition:Z.position,fromNode:se,to:O,toHandle:null,toPosition:ut[Z.position],toNode:null,pointer:O};function W(){_=!0,h(ee),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}C===0&&W();function R(Q){if(!_){const{x:z,y:K}=Ue(Q),U=z-B,ae=K-F;if(!(U*U+ae*ae>C*C))return;W()}if(!k()||!Z){me(Q);return}const Y=p();O=Ue(Q,L),M=Df(ti(O,Y,!1,[1,1]),i,d,Z),I||(V(),I=!0);const X=Ut(Q,{handle:M,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:y,doc:E,lib:u,flowId:c,nodeLookup:d});G=X.handleDomNode,$=X.connection,j=_f(!!M,X.isValid);const te=d.get(s),H=te?yn(te,Z,ve.Left,!0):ee.from,q={...ee,from:H,isValid:j,to:X.toHandle&&j?Bn({x:X.toHandle.x,y:X.toHandle.y},Y):O,toHandle:X.toHandle,toPosition:j&&X.toHandle?X.toHandle.position:ut[Z.position],toNode:X.toHandle?d.get(X.toHandle.nodeId):null,pointer:O};h(q),ee=q}function me(Q){if(!("touches"in Q&&Q.touches.length>0)){if(_){(M||G)&&$&&j&&(x==null||x($));const{inProgress:Y,...X}=ee,te={...X,toPosition:ee.toHandle?ee.toPosition:null};g==null||g(Q,te),t&&(w==null||w(Q,te))}f(),cancelAnimationFrame(P),I=!1,j=!1,$=null,G=null,E.removeEventListener("mousemove",R),E.removeEventListener("mouseup",me),E.removeEventListener("touchmove",R),E.removeEventListener("touchend",me)}}E.addEventListener("mousemove",R),E.addEventListener("mouseup",me),E.addEventListener("touchmove",R),E.addEventListener("touchend",me)}function Ut(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=jt,nodeLookup:b}){const c=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:v}=Ue(e),x=l.elementFromPoint(f,v),g=x!=null&&x.classList.contains(`${r}-flow__handle`)?x:m,y={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){const w=Wt(void 0,g),h=g.getAttribute("data-nodeid"),p=g.getAttribute("data-handleid"),k=g.classList.contains("connectable"),S=g.classList.contains("connectableend");if(!h||!w)return y;const C={source:c?h:o,sourceHandle:c?p:s,target:c?o:h,targetHandle:c?s:p};y.connection=C;const E=k&&S&&(i===Tn.Strict?c&&w==="source"||!c&&w==="target":h!==o||p!==s);y.isValid=E&&u(C),y.toHandle=$t(h,w,p,b,i,!0)}return y}const cs={onPointerDown:Of,isValid:Ut};function Ff({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ve(e);function t({translateExtent:r,width:d,height:u,zoomStep:b=1,pannable:c=!0,zoomable:m=!0,inversePan:f=!1}){const v=h=>{if(h.sourceEvent.type!=="wheel"||!n)return;const p=i(),k=h.sourceEvent.ctrlKey&&li()?10:1,S=-h.sourceEvent.deltaY*(h.sourceEvent.deltaMode===1?.05:h.sourceEvent.deltaMode?1:.002)*b,C=p[2]*Math.pow(2,S*k);n.scaleTo(C)};let x=[0,0];const g=h=>{var p,k;(h.sourceEvent.type==="mousedown"||h.sourceEvent.type==="touchstart")&&(x=[(p=h.sourceEvent.clientX)!=null?p:h.sourceEvent.touches[0].clientX,(k=h.sourceEvent.clientY)!=null?k:h.sourceEvent.touches[0].clientY])},y=h=>{var P,M;const p=i();if(h.sourceEvent.type!=="mousemove"&&h.sourceEvent.type!=="touchmove"||!n)return;const k=[(P=h.sourceEvent.clientX)!=null?P:h.sourceEvent.touches[0].clientX,(M=h.sourceEvent.clientY)!=null?M:h.sourceEvent.touches[0].clientY],S=[k[0]-x[0],k[1]-x[1]];x=k;const C=o()*Math.max(p[2],Math.log(p[2]))*(f?-1:1),A={x:p[0]-S[0]*C,y:p[1]-S[1]*C},E=[[0,0],[d,u]];n.setViewportConstrained({x:A.x,y:A.y,zoom:p[2]},E,r)},w=tt().on("start",g).on("zoom",c?y:null).on("zoom.wheel",m?v:null);s.call(w,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:ze}}const Ui=e=>({x:e.x,y:e.y,zoom:e.k}),bs=({x:e,y:n,zoom:i})=>Vi.translate(e,n).scale(i),Dn=(e,n)=>e.target.closest(`.${n}`),qt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Hf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ms=(e,n=0,i=Hf,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Yt=e=>{const n=e.ctrlKey&&li()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Kf({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return b=>{if(Dn(b,n))return b.ctrlKey&&b.preventDefault(),!1;b.preventDefault(),b.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(b.ctrlKey&&l){const g=ze(b),y=Yt(b),w=c*Math.pow(2,y);o.scaleTo(i,w,g,b);return}const m=b.deltaMode===1?20:1;let f=s===hn.Vertical?0:b.deltaX*m,v=s===hn.Horizontal?0:b.deltaY*m;!li()&&b.shiftKey&&s!==hn.Vertical&&(f=b.deltaY*m,v=0),o.translateBy(i,-(f/c)*t,-(v/c)*t,{internal:!0});const x=Ui(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(b,x),e.panScrollTimeout=setTimeout(()=>{u==null||u(b,x),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(b,x))}}function Vf({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=Dn(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function Gf({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=Ui(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function zf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&qt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,Ui(t.transform)))}}function $f({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&qt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Ui(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Wf({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:b}){return c=>{var g;const m=e||n,f=i&&c.ctrlKey,v=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(Dn(c,`${u}-flow__node`)||Dn(c,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||b&&!v||Dn(c,r)&&v||Dn(c,d)&&(!v||s&&v&&!e)||!i&&c.ctrlKey&&v)return!1;if(!i&&c.type==="touchstart"&&((g=c.touches)==null?void 0:g.length)>1)return c.preventDefault(),!1;if(!m&&!s&&!f&&v||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;const x=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||v)&&x}}function jf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},b=e.getBoundingClientRect(),c=tt().scaleExtent([n,i]).translateExtent(o),m=Ve(e).call(c);w({x:s.x,y:s.y,zoom:Ln(s.zoom,n,i)},[[0,0],[b.width,b.height]],o);const f=m.on("wheel.zoom"),v=m.on("dblclick.zoom");c.wheelDelta(Yt);async function x(M,B){return m?new Promise(F=>{c==null||c.interpolate((B==null?void 0:B.interpolate)==="linear"?Yn:Pi).transform(ms(m,B==null?void 0:B.duration,B==null?void 0:B.ease,()=>F(!0)),M)}):!1}function g({noWheelClassName:M,noPanClassName:B,onPaneContextMenu:F,userSelectionActive:T,panOnScroll:L,panOnDrag:_,panOnScrollMode:D,panOnScrollSpeed:O,preventScrolling:I,zoomOnPinch:$,zoomOnScroll:j,zoomOnDoubleClick:G,zoomActivationKeyPressed:V,lib:Z,onTransformChange:se,connectionInProgress:le,paneClickDistance:ee,selectionOnDrag:W}){T&&!u.isZoomingOrPanning&&y();const R=L&&!V&&!T;c.clickDistance(W?1/0:!je(ee)||ee<0?0:ee);const me=R?Kf({zoomPanValues:u,noWheelClassName:M,d3Selection:m,d3Zoom:c,panOnScrollMode:D,panOnScrollSpeed:O,zoomOnPinch:$,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):Vf({noWheelClassName:M,preventScrolling:I,d3ZoomHandler:f});m.on("wheel.zoom",me,{passive:!1});const Q=Gf({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",Q);const Y=zf({zoomPanValues:u,panOnDrag:_,onPaneContextMenu:!!F,onPanZoom:t,onTransformChange:se});c.on("zoom",Y);const X=$f({zoomPanValues:u,panOnDrag:_,panOnScroll:L,onPaneContextMenu:F,onPanZoomEnd:r,onDraggingChange:d});c.on("end",X);const te=Wf({zoomActivationKeyPressed:V,panOnDrag:_,zoomOnScroll:j,panOnScroll:L,zoomOnDoubleClick:G,zoomOnPinch:$,userSelectionActive:T,noPanClassName:B,noWheelClassName:M,lib:Z,connectionInProgress:le});c.filter(te),G?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function y(){c.on("zoom",null)}async function w(M,B,F){const T=bs(M),L=c==null?void 0:c.constrain()(T,B,F);return L&&await x(L),L}async function h(M,B){const F=bs(M);return await x(F,B),F}function p(M){if(m){const B=bs(M),F=m.property("__zoom");(F.k!==M.zoom||F.x!==M.x||F.y!==M.y)&&(c==null||c.transform(m,B,null,{sync:!0}))}}function k(){const M=m?st(m.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function S(M,B){return m?new Promise(F=>{c==null||c.interpolate((B==null?void 0:B.interpolate)==="linear"?Yn:Pi).scaleTo(ms(m,B==null?void 0:B.duration,B==null?void 0:B.ease,()=>F(!0)),M)}):!1}async function C(M,B){return m?new Promise(F=>{c==null||c.interpolate((B==null?void 0:B.interpolate)==="linear"?Yn:Pi).scaleBy(ms(m,B==null?void 0:B.duration,B==null?void 0:B.ease,()=>F(!0)),M)}):!1}function A(M){c==null||c.scaleExtent(M)}function E(M){c==null||c.translateExtent(M)}function P(M){const B=!je(M)||M<0?0:M;c==null||c.clickDistance(B)}return{update:g,destroy:y,setViewport:h,setViewportConstrained:w,getViewport:k,scaleTo:S,scaleBy:C,setScaleExtent:A,setTranslateExtent:E,syncViewport:p,setClickDistance:P}}var _n;(function(e){e.Line="line",e.Handle="handle"})(_n||(_n={}));function Uf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Jt(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function rn(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function qi(e,n,i){return Math.max(0,n-e,e-i)}function Zt(e,n){return e?!n:n}function qf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:b,isVertical:c}=n,m=b&&c,{xSnapped:f,ySnapped:v}=i,{minWidth:x,maxWidth:g,minHeight:y,maxHeight:w}=o,{x:h,y:p,width:k,height:S,aspectRatio:C}=e;let A=Math.floor(b?f-e.pointerX:0),E=Math.floor(c?v-e.pointerY:0);const P=k+(d?-A:A),M=S+(u?-E:E),B=-t[0]*k,F=-t[1]*S;let T=qi(P,x,g),L=qi(M,y,w);if(l){let O=0,I=0;d&&A<0?O=rn(h+A+B,l[0][0]):!d&&A>0&&(O=dn(h+P+B,l[1][0])),u&&E<0?I=rn(p+E+F,l[0][1]):!u&&E>0&&(I=dn(p+M+F,l[1][1])),T=Math.max(T,O),L=Math.max(L,I)}if(r){let O=0,I=0;d&&A>0?O=dn(h+A,r[0][0]):!d&&A<0&&(O=rn(h+P,r[1][0])),u&&E>0?I=dn(p+E,r[0][1]):!u&&E<0&&(I=rn(p+M,r[1][1])),T=Math.max(T,O),L=Math.max(L,I)}if(s){if(b){const O=qi(P/C,y,w)*C;if(T=Math.max(T,O),l){let I=0;!d&&!u||d&&!u&&m?I=dn(p+F+P/C,l[1][1])*C:I=rn(p+F+(d?A:-A)/C,l[0][1])*C,T=Math.max(T,I)}if(r){let I=0;!d&&!u||d&&!u&&m?I=rn(p+P/C,r[1][1])*C:I=dn(p+(d?A:-A)/C,r[0][1])*C,T=Math.max(T,I)}}if(c){const O=qi(M*C,x,g)/C;if(L=Math.max(L,O),l){let I=0;!d&&!u||u&&!d&&m?I=dn(h+M*C+B,l[1][0])/C:I=rn(h+(u?E:-E)*C+B,l[0][0])/C,L=Math.max(L,I)}if(r){let I=0;!d&&!u||u&&!d&&m?I=rn(h+M*C,r[1][0])/C:I=dn(h+(u?E:-E)*C,r[0][0])/C,L=Math.max(L,I)}}}E=E+(E<0?L:-L),A=A+(A<0?T:-T),s&&(m?P>M*C?E=(Zt(d,u)?-A:A)/C:A=(Zt(d,u)?-E:E)*C:b?(E=A/C,u=d):(A=E*C,d=u));const _=d?h+A:h,D=u?p+E:p;return{width:k+(d?-A:A),height:S+(u?-E:E),x:t[0]*A*(d?-1:1)+_,y:t[1]*E*(u?-1:1)+D}}const Xt={width:0,height:0,x:0,y:0},Yf={...Xt,pointerX:0,pointerY:0,aspectRatio:1};function Jf(e,n,i){var u,b;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(b=e.measured.height)!=null?b:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Zf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ve(e);let l={controlDirection:Jt("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:b,keepAspectRatio:c,resizeDirection:m,onResizeStart:f,onResize:v,onResizeEnd:x,shouldResize:g}){let y={...Xt},w={...Yf};l={boundaries:b,resizeDirection:m,keepAspectRatio:c,controlDirection:Jt(u)};let h,p=null,k=[],S,C,A,E=!1;const P=Pa().on("start",M=>{var $,j,G,V,Z,se;const{nodeLookup:B,transform:F,snapGrid:T,snapToGrid:L,nodeOrigin:_,paneDomNode:D}=i();if(h=B.get(n),!h)return;p=($=D==null?void 0:D.getBoundingClientRect())!=null?$:null;const{xSnapped:O,ySnapped:I}=ri(M.sourceEvent,{transform:F,snapGrid:T,snapToGrid:L,containerBounds:p});y={width:(j=h.measured.width)!=null?j:0,height:(G=h.measured.height)!=null?G:0,x:(V=h.position.x)!=null?V:0,y:(Z=h.position.y)!=null?Z:0},w={...y,pointerX:O,pointerY:I,aspectRatio:y.width/y.height},S=void 0,C=gn(h.extent)?h.extent:void 0,h.parentId&&(h.extent==="parent"||h.expandParent)&&(S=B.get(h.parentId)),S&&h.extent==="parent"&&(C=[[0,0],[S.measured.width,S.measured.height]]),k=[],A=void 0;for(const[le,ee]of B)if(ee.parentId===n&&(k.push({id:le,position:{...ee.position},extent:ee.extent}),ee.extent==="parent"||ee.expandParent)){const W=Jf(ee,h,(se=ee.origin)!=null?se:_);A?A=[[Math.min(W[0][0],A[0][0]),Math.min(W[0][1],A[0][1])],[Math.max(W[1][0],A[1][0]),Math.max(W[1][1],A[1][1])]]:A=W}f==null||f(M,{...y})}).on("drag",M=>{var H,q,z;const{transform:B,snapGrid:F,snapToGrid:T,nodeOrigin:L}=i(),_=ri(M.sourceEvent,{transform:B,snapGrid:F,snapToGrid:T,containerBounds:p}),D=[];if(!h)return;const{x:O,y:I,width:$,height:j}=y,G={},V=(H=h.origin)!=null?H:L,{width:Z,height:se,x:le,y:ee}=qf(w,l.controlDirection,_,l.boundaries,l.keepAspectRatio,V,C,A),W=Z!==$,R=se!==j,me=le!==O&&W,Q=ee!==I&&R;if(!me&&!Q&&!W&&!R)return;if((me||Q||V[0]===1||V[1]===1)&&(G.x=me?le:y.x,G.y=Q?ee:y.y,y.x=G.x,y.y=G.y,k.length>0)){const K=le-O,U=ee-I;for(const ae of k)ae.position={x:ae.position.x-K+V[0]*(Z-$),y:ae.position.y-U+V[1]*(se-j)},D.push(ae)}if((W||R)&&(G.width=W&&(!l.resizeDirection||l.resizeDirection==="horizontal")?Z:y.width,G.height=R&&(!l.resizeDirection||l.resizeDirection==="vertical")?se:y.height,y.width=G.width,y.height=G.height),S&&h.expandParent){const K=V[0]*((q=G.width)!=null?q:0);G.x&&G.x<K&&(y.x=K,w.x=w.x-(G.x-K));const U=V[1]*((z=G.height)!=null?z:0);G.y&&G.y<U&&(y.y=U,w.y=w.y-(G.y-U))}const Y=Uf({width:y.width,prevWidth:$,height:y.height,prevHeight:j,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),X={...y,direction:Y};(g==null?void 0:g(M,X))!==!1&&(E=!0,v==null||v(M,X),o(G,D))}).on("end",M=>{E&&(x==null||x(M,{...y}),s==null||s({...y}),E=!1)});t.call(P)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Xf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Yi={exports:{}},vs={},Ji={exports:{}},fs={};/**
38
+ active:opacity-50 element_class`,draggable:!0,children:a.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[a.jsx("span",{style:{color:f},children:a.jsx(de,{icon:C.icon,iconClass:"w-6 h-6"})}),a.jsx("span",{style:{color:f},className:"text-xs font-medium text-center",children:C.label})]})},C.type))})]},A)})})})]})},oc=N.memo(ic),Xe=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:s="",iconPosition:t="left",iconClass:l="text-[20px]",loadingClass:r="",link:d="",div:u=!1,type:b="button",style:c,onClick:m})=>{const f=xe("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),v=()=>i?a.jsxs(a.Fragment,{children:[a.jsxs("svg",{className:`animate-spin -ml-1 mr-3 h-5 w-5 ${r}`,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[a.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),a.jsx("path",{className:"opacity-75",fill:"currentColor",d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})]}),"Submitting..."]}):a.jsxs("span",{className:"flex items-center",children:[s&&t==="left"&&a.jsx("span",{className:`mr-[6px] ${l}`,children:a.jsx(de,{icon:s})}),e&&a.jsx("span",{children:e}),s&&t==="right"&&a.jsx("span",{className:`ml-[6px] ${l}`,children:a.jsx(de,{icon:s})})]});return u?a.jsx("div",{className:f,children:v()}):d?a.jsx(Er.Link,{to:d,className:f,children:v()}):a.jsx("button",{disabled:n,type:b,className:f,"data-testid":"btn",onClick:m,style:c,children:v()})};function sc(){return a.jsx("div",{children:a.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),a.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),a.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const ac=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=N.useContext(He);if(!e)return null;const s=_e("config");return a.jsxs("div",{className:"fixed inset-0 flex justify-center z-[999] cursor-default no-drag select-none w-screen h-screen pt-20 bg-[#F8F9FC]",children:[a.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:a.jsx(sc,{})})," ",a.jsx("div",{className:"max-h-[80vh] overflow-y-auto h-max w-full max-w-[650px] min-w-0 border border-[#D5D9EB] rounded-lg bg-white form_submit container",children:a.jsx(Io,{form_data:i,ignoreValidation:!0,config:s,uploadUrl:o,preview:!0})})]})};function tc(){return a.jsx("div",{children:a.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[a.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),a.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function lc({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:s,saveLoading:t,publishLoading:l,onTitleChange:r,viewMode:d,setViewMode:u,onShowVersion:b}){const{formData:c,setShowPreview:m,showPreview:f,undo:v,redo:g,canUndo:S,canRedo:h}=N.useContext(He),[y,p]=N.useState(!1),[x,A]=N.useState(!1),[w,C]=N.useState(e||""),k=_e("config");function M(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(L){console.warn("Could not save formData to localStorage",L)}i==null||i(c)}function _(){try{localStorage.setItem("formData",JSON.stringify(c))}catch(L){console.warn("Could not save formData to localStorage",L)}o==null||o(c)}function E(){A(!1),r&&w!==e&&r(w.trim())}return a.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[a.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&a.jsx("button",{type:"button",onClick:()=>n(),style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:a.jsx(tc,{})})," ",x?a.jsx("input",{type:"text",value:w,onChange:L=>C(L.target.value),onBlur:E,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):a.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>A(!0),children:w||"Untitled"})]}),y&&a.jsx(ac,{isOpen:y,onClose:()=>p(!1),element:void 0}),a.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&a.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${d==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[a.jsx(de,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),a.jsxs("button",{type:"button",style:{color:(k==null?void 0:k.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${d==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[a.jsx(de,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),a.jsx(Xe,{onClick:v,text:"",btnClass:`!px-2 bg-transparent undo ${S?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!S}),a.jsx(Xe,{onClick:g,text:"",btnClass:`!px-2 bg-transparent redo ${h?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:!h}),b&&a.jsx(Xe,{onClick:b,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm version_btn",icon:"tabler:history",iconClass:"text-xl",style:{color:(k==null?void 0:k.buttonColor)||"#333"}}),a.jsx(Xe,{onClick:()=>m(L=>!L),text:f?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:f?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:s,isLoading:s}),a.jsx(Xe,{onClick:M,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(k==null?void 0:k.buttonColor)||"#333"},isDisabled:t,isLoading:t}),a.jsx(Xe,{onClick:_,text:"Publish",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:l,isLoading:l})]})]})}function rc({onSubmit:e,onChange:n,onLogAction:i,questionData:o,deleteMode:s,mode:t,config:l,title:r,goBackUrl:d,loading:u,onPublish:b,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,uploadUrl:g,onAddTemplate:S,templates:h,onShowVersion:y,formType:p="default"}){const[x,A]=N.useState("canvas"),w=t||(l==null?void 0:l.mode)||(o&&Array.isArray(o)&&o.length>0?"edit":"create");return a.jsxs(Ls,{onChange:n,onLogAction:i,deleteMode:s||(l==null?void 0:l.deleteMode)||"remove",mode:w,children:[a.jsx(Te.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:a.jsxs("div",{className:"flex flex-1 ",children:[x==="canvas"&&a.jsx("div",{children:a.jsx("div",{className:"w-[290px] h-screen border-r border-[#E4E7EC] bg-white ",children:a.jsx(oc,{formType:p})})}),a.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${x==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[a.jsx("div",{className:" h-[70px]",children:a.jsx(lc,{title:r,goBackUrl:d,onSubmit:e,onPublish:b,previewLoading:c,saveLoading:m,publishLoading:f,onTitleChange:v,viewMode:x,setViewMode:A,onShowVersion:y})}),a.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:u?a.jsx(Po,{loadingClass:"!w-full !h-[800px]"}):a.jsx(Ru,{questionData:o,uploadUrl:g,onAddTemplate:S,templates:h,viewMode:x})})]})]})})]})}const dc=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:s,deleteMode:t,mode:l,config:r={buttonColor:"#333"},title:d,loading:u,goBackUrl:b,onPublish:c,previewLoading:m,saveLoading:f,publishLoading:v,onTitleChange:g,uploadUrl:S,onAddTemplate:h,templates:y,onShowVersion:p,formType:x})=>(N.useEffect(()=>{r&&sa("config",r)},[r]),a.jsx(rc,{onSubmit:e,onChange:n,onLogAction:i,onPublish:c,questionData:o,isReadOnly:s,deleteMode:t,mode:l,config:r,title:d,goBackUrl:b,loading:u,previewLoading:m,saveLoading:f,publishLoading:v,onTitleChange:g,uploadUrl:S,onAddTemplate:h,templates:y,onShowVersion:p,formType:x})),rn={required:"This field is required",email:"Invalid email format",url:"Invalid url format",minLength:e=>`Minimum length is ${e}`,maxLength:e=>`Maximum length is ${e}`,minAmount:e=>`Minimum amount is ${e}`,maxAmount:e=>`Maximum amount is ${e}`},uc=e=>({textField:ie.string().nullable(),longText:ie.string().nullable(),numberField:ie.number().nullable().transform(i=>isNaN(i)?null:i),amountField:ie.number().nullable().transform(i=>isNaN(i)?null:i),selectField:ie.string().nullable(),checkbox:ie.mixed().nullable(),radio:ie.mixed().nullable(),matrix:ie.mixed().nullable(),email:ie.string().nullable().test("email-format",rn.email,i=>!i||i.trim()===""?!0:/^[A-Za-z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(i)),date:ie.date().nullable().transform((i,o)=>o===""||o===null?null:i).typeError("Invalid date"),url:ie.string().nullable().test("url-format",rn.url,i=>!i||i.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(i))})[e]||ie.mixed().nullable(),cc=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||rn.required):e.required(i||rn.required):e,bc=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:s})=>{let t=e;return n&&(t=t.min(n,o||rn.minLength(n))),i&&(t=t.max(i,s||rn.maxLength(i))),t},mc=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:s})=>{let t=e;return n&&(t=t.min(parseFloat(String(n)),o||rn.minAmount(n))),i&&(t=t.max(parseFloat(String(i)),s||rn.maxAmount(i))),t},Lo=(e,n)=>{if(e!=null&&e.isFieldDeleted)return!1;if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const s=n==null?void 0:n[o.id],t=o.fieldValue,l=s;switch(o.operator){case"equals":return String(t).toLowerCase()===String(l).toLowerCase();case"not_equals":return String(t).toLowerCase()!==String(l).toLowerCase();case"greater":return Number(l)>Number(t);case"less":return Number(l)<Number(t);case"contains":return String(l).toLowerCase().includes(String(t).toLowerCase());case"not_contains":return!String(l).toLowerCase().includes(String(t).toLowerCase());default:return!0}}):!0};function vc({formData:e,isReadOnly:n,ignoreValidation:i=!1,answerData:o}){const s={};return e.forEach(t=>{var l;t!=null&&t.isFieldDeleted||(l=t==null?void 0:t.questionData)==null||l.forEach(r=>{if(r!=null&&r.isFieldDeleted||!Lo(r,o))return;const{id:d,type:u,isRequired:b,requiredMessage:c}=r,m=!!(r.isDisabled||r.disabled),f=!!(n||r.isReadOnly||r.readOnly);if(m||f||i){s[d]=ie.mixed().notRequired().nullable();return}let v=uc(u);v=cc(v,b,c),u==="textField"||u==="longText"||u==="email"||u==="url"?v=bc(v,r):(u==="numberField"||u==="amountField")&&(v=mc(v,r)),r.requireAllChecked?v=v.test("require-all-checked","All options must be selected",g=>{var y;if(g==null||g===""||Array.isArray(g)&&g.length===0)return!b;const h=((y=r.options)==null?void 0:y.length)||0;return Array.isArray(g)?g.length>=h:h<=1}):r.minChecked&&(v=v.test("min-checked",`Please select at least ${r.minChecked} option(s)`,g=>g==null||g===""||Array.isArray(g)&&g.length===0?!b:Array.isArray(g)?g.length>=r.minChecked:1>=r.minChecked)),s[d]=v})}),ie.object().shape(s)}const fa=e=>{try{const n=JSON.parse(e);if(Array.isArray(n))return n.map(i=>i.label).join(" > ")}catch(n){}return e},fc=({results:e,hideInputs:n})=>{var s,t,l,r,d,u,b;const[i,o]=N.useState(n!=null?n:!1);return e?a.jsxs("div",{className:"mt-2 w-full",children:[i&&a.jsxs("div",{className:"p-4 mb-3 rounded-xl border border-gray-200 bg-gray-50/50 shadow-sm w-full transition-all duration-300",children:[a.jsx("div",{className:"flex justify-between items-center mb-4",children:a.jsxs("h4",{className:"text-xs font-bold text-gray-500 uppercase tracking-wider",children:["Live Results Breakdown (",e.totalResponses," Responses)"]})}),a.jsxs("div",{className:"space-y-4",children:[["polling","checkbox","radio","imageChoice","selectField"].includes(e.type)&&((s=e.responsesData)==null?void 0:s.options)&&e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-blue-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m)),e.type==="rating"&&((t=e.responsesData)==null?void 0:t.options)&&a.jsxs(a.Fragment,{children:[((l=e.responsesData)==null?void 0:l.average)!==void 0&&a.jsxs("div",{className:"mb-4 p-3 bg-white rounded-lg border text-center w-32 mx-auto",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"Average Rating"}),a.jsx("div",{className:"text-2xl font-bold text-yellow-500",children:e.responsesData.average})]}),e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{children:c.label}),a.jsxs("span",{children:[Math.round(c.percentage),"% (",c.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-yellow-500 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${c.percentage}%`}})})]},m))]}),e.type==="matrix"&&((r=e.responsesData)==null?void 0:r.rows)&&a.jsx("div",{className:"space-y-6",children:e.responsesData.rows.map((c,m)=>{var f;return a.jsxs("div",{className:"w-full bg-white p-3 rounded-lg border",children:[a.jsxs("h5",{className:"font-semibold text-gray-800 mb-3 text-sm",children:[c.label," ",a.jsxs("span",{className:"text-gray-400 font-normal text-xs ml-1",children:["(",c.totalResponses," Responses)"]})]}),a.jsx("div",{className:"space-y-3",children:(f=c.columns)==null?void 0:f.map((v,g)=>a.jsxs("div",{className:"w-full",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1 text-xs text-gray-600",children:[a.jsx("span",{children:v.label}),a.jsxs("span",{children:[Math.round(v.percentage),"% (",v.count,")"]})]}),a.jsx("div",{className:"w-full bg-gray-100 rounded-full h-1 overflow-hidden",children:a.jsx("div",{className:"bg-indigo-500 h-1 rounded-full transition-all duration-700 ease-out",style:{width:`${v.percentage}%`}})})]},g))})]},m)})}),e.type==="ranking"&&((d=e.responsesData)==null?void 0:d.rankings)&&a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center justify-between mb-1 text-xs text-gray-500",children:[a.jsx("span",{className:"font-medium",children:"Rankings"}),a.jsxs("span",{children:[e.totalResponses," total responses"]})]}),[...e.responsesData.rankings].sort((c,m)=>{var f,v;return((f=c.averageRank)!=null?f:1/0)-((v=m.averageRank)!=null?v:1/0)}).map((c,m)=>{var f,v;return a.jsxs("div",{className:"w-full flex items-center gap-3",children:[a.jsx("span",{className:"shrink-0 w-6 h-6 rounded-full bg-purple-100 text-purple-700 text-xs font-bold flex items-center justify-center",children:(f=c.averageRank)!=null?f:m+1}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsxs("div",{className:"flex justify-between items-center mb-1.5 text-sm font-semibold text-gray-800",children:[a.jsx("span",{className:"truncate pr-2",title:fa(c.label),children:fa(c.label)}),a.jsxs("span",{className:"shrink-0 text-xs text-gray-500 font-normal",children:[c.points!=null?`${c.points} pts`:""," · ",c.count," responses"]})]}),a.jsx("div",{className:"w-full bg-gray-200 rounded-full h-1.5 overflow-hidden",children:a.jsx("div",{className:"bg-purple-600 h-1.5 rounded-full transition-all duration-700 ease-out",style:{width:`${(v=c.pointsPercentage)!=null?v:c.percentage}%`}})})]})]},m)})]}),e.type==="nps"&&a.jsxs(a.Fragment,{children:[((u=e.responsesData)==null?void 0:u.nps)&&a.jsxs("div",{className:"grid grid-cols-2 gap-4 md:grid-cols-4 mb-4",children:[a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-gray-500 uppercase",children:"NPS Score"}),a.jsx("div",{className:"text-xl font-bold text-blue-600",children:e.responsesData.nps.score})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-green-500 uppercase",children:"Promoters"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.promoters})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-yellow-500 uppercase",children:"Passives"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.passives})]}),a.jsxs("div",{className:"p-3 bg-white rounded-lg border text-center",children:[a.jsx("div",{className:"text-xs text-red-500 uppercase",children:"Detractors"}),a.jsx("div",{className:"text-xl font-bold text-gray-800",children:e.responsesData.nps.detractors})]})]}),((b=e.responsesData)==null?void 0:b.options)&&a.jsx("div",{className:"grid grid-cols-11 gap-1",children:e.responsesData.options.map((c,m)=>a.jsxs("div",{className:"flex flex-col items-center group relative",children:[a.jsx("div",{className:"w-full bg-blue-100 rounded-t-sm flex items-end justify-center transition-all",style:{height:"60px"},children:a.jsx("div",{className:"w-full bg-blue-500 rounded-t-sm transition-all duration-500",style:{height:`${c.percentage}%`},title:`${c.percentage}% (${c.count} votes)`})}),a.jsx("div",{className:"text-xs font-medium text-gray-600 mt-1",children:c.label})]},m))})]})]})]}),a.jsxs("button",{type:"button",onClick:()=>o(!i),className:"flex items-center gap-1.5 text-sm text-blue-600 hover:text-blue-700 font-medium transition-colors",children:[a.jsx(de,{icon:"bx:bar-chart-alt-2",iconClass:"w-4 h-4"}),i?"Hide Results":"Show Results"]})]}):null},Cn=({element:e,validationData:n})=>{var b,c;const i=ma[e.type],{answerData:o}=N.useContext(He),s=N.useMemo(()=>{var m;return(m=e==null?void 0:e.acceptedFiles)==null?void 0:m.map(f=>f.label).join(", ")},[e]),t=N.useMemo(()=>Lo(e,o),[o,e]);if(!i)return null;const l=!!(n!=null&&n.showResults),r=!!((b=n==null?void 0:n.hideInputsOnResults)!=null?b:n!=null&&n.hideInputs),d=!!((c=n==null?void 0:n.pollResults)!=null&&c[e.id]),u=l&&r&&d;return a.jsxs("div",{className:`${t?"":"hidden"} min-w-0 w-full`,children:[a.jsx("div",{className:"mb-1.5 min-w-0",children:e.inputLabel&&a.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",s&&a.jsxs("span",{className:"text-gray-400 text-xs",children:["(",s==null?void 0:s.toLowerCase(),")"]})]})}),!u&&a.jsx(i,{element:e,state:"view",validationData:{...n,isReadOnly:(n==null?void 0:n.isReadOnly)||e.isReadOnly||e.readOnly||e.isDisabled||e.disabled,isDisabled:(n==null?void 0:n.isDisabled)||e.isDisabled||e.disabled}}),l&&d&&a.jsx(fc,{results:n.pollResults[e.id],hideInputs:r}),e.description&&a.jsx("small",{className:"block text-gray-400 mt-0.5 text-xs",children:e.description})]})},An=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function hc({form_data:e,options:n}){const i=(s,t)=>a.jsx("div",{className:"min-w-0",children:a.jsx(xi,{element:s,customClass:"p-0 min-h-[60px] border-none",children:t==null?void 0:t.map(l=>{var r,d,u;return a.jsxs(yi,{col:(r=l.gridPosition)==null?void 0:r.col,customClass:"p-0 relative",children:[a.jsx(Cn,{element:l,validationData:An(l,n)}),((u=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:u.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[l.id].message})]},l.id)})})},s.id),o=s=>{var t,l;return a.jsxs("div",{className:xe("group relative grid gap-y-[6px] min-w-0",s.elementClass),children:[a.jsx(Cn,{element:s,validationData:An(s,n)}),((l=(t=n==null?void 0:n.errors)==null?void 0:t[s.id])==null?void 0:l.message)&&a.jsx("div",{className:"absolute -bottom-[18px] left-0 text-xs text-red-600 whitespace-nowrap",children:n.errors[s.id].message})]},s.id)};return a.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(s=>{var l,r;const t=new Map;return(l=s==null?void 0:s.questionData)==null||l.forEach(d=>{d.gridId&&(t.has(d.gridId)||t.set(d.gridId,[]),t.get(d.gridId).push(d))}),a.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(s.title||s.description)&&a.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[s.title&&a.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:s.title}),s.description&&a.jsx("p",{className:"text-sm",children:s.description})]}),a.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=s==null?void 0:s.questionData)==null?void 0:r.map(d=>d.gridId?null:d.type==="grid"?i(d,t.get(d.id)||[]):o(d))})]},s.id)})})}function pc({form_data:e,options:n,current:i}){var o,s;return a.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(s=(o=e[i])==null?void 0:o.questionData)==null?void 0:s.map(t=>{var l,r,d,u;if(t.type==="grid"){const b=(r=(l=e[i])==null?void 0:l.questionData)==null?void 0:r.filter(c=>c.gridId===t.id);return a.jsx("div",{className:"min-w-0",children:a.jsx(xi,{element:t,customClass:"p-0 min-h-[60px] border-none",children:b==null?void 0:b.map(c=>{var m,f,v;return a.jsxs(yi,{col:(m=c.gridPosition)==null?void 0:m.col,customClass:"p-0",children:[a.jsx(Cn,{element:c,validationData:An(c,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(v=(f=n==null?void 0:n.errors)==null?void 0:f[c.id])==null?void 0:v.message})]},c.id)})})},t.id)}return t.gridId?null:a.jsxs("div",{className:xe("group relative grid gap-y-[6px] min-w-0",t.elementClass),children:[a.jsx(Cn,{element:t,validationData:An(t,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(u=(d=n==null?void 0:n.errors)==null?void 0:d[t.id])==null?void 0:u.message})]},t.id)})})}const Bo=_e("config");function gc({element:e,options:n,onNext:i,onPrev:o,isFirst:s,isLast:t,isReadOnly:l}){if(!e)return a.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=b=>{b.key==="Enter"&&!b.shiftKey&&(b.preventDefault(),i())},d=b=>{var c;return a.jsx("div",{className:"min-w-0 w-full",children:a.jsx(xi,{element:b,customClass:"p-0 min-h-[60px] border-none w-full",children:(c=b.gridChildren)==null?void 0:c.map(m=>{var f,v,g;return a.jsxs(yi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[a.jsx(Cn,{element:m,validationData:An(m,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(g=(v=n==null?void 0:n.errors)==null?void 0:v[m.id])==null?void 0:g.message})]},m.id)})})},b.id)},u=b=>{var c,m;return a.jsxs("div",{className:xe("group relative grid gap-y-[6px] min-w-0 w-full",b.elementClass),children:[a.jsx(Cn,{element:b,validationData:An(b,n)}),a.jsx("div",{className:"mt-1 text-xs text-red-600 min-h-[1rem]",children:(m=(c=n==null?void 0:n.errors)==null?void 0:c[b.id])==null?void 0:m.message})]},b.id)};return a.jsx("div",{className:"flex flex-col items-center justify-center min-h-[500px] w-full p-4 sm:p-8 outline-none",onKeyDown:r,tabIndex:0,children:a.jsxs(he.Transition,{as:"div",show:!0,appear:!0,enter:"transition-all duration-500 ease-out",enterFrom:"opacity-0 translate-y-8",enterTo:"opacity-100 translate-y-0",leave:"transition-all duration-300 ease-in",leaveFrom:"opacity-100 translate-y-0",leaveTo:"opacity-0 -translate-y-8",className:"w-full max-w-2xl",children:[a.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?d(e):u(e)}),!l&&a.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[a.jsx(Xe,{type:"button",text:t?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(Bo==null?void 0:Bo.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${t?"submit_btn":"continue_btn next_btn text-sm"}`,isDisabled:(n==null?void 0:n.apiActivityCount)>0||t&&(n==null?void 0:n.isSubmitting)}),!t&&a.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!s&&a.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-semibold ml-auto flex items-center gap-1 transition-colors",children:[a.jsx(de,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function yc(e){return Array.isArray(e)?e.reduce((n,i)=>{var o;return i&&i.id&&(n[i.id]=i.value,(o=i.metaData)!=null&&o.responseObject&&(n[`${i.id}_metaData`]=i.metaData.responseObject)),n},{}):{}}const xc=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:s,isReadOnly:t=!1,renderType:l="multi",children:r,hideFooter:d=!1,uploadUrl:u,pollResults:b,showResults:c,hideInputsOnResults:m=!1,sendHiddenSectionsAsEmpty:f=!1,preview:v=!1})=>{var R,ge,ce,re,ye,Y,J,U,F,K;const{setAnswerData:g,setUploadUrl:S,apiActivityCount:h}=N.useContext(He),[y,p]=N.useState(0),[x,A]=N.useState(0),w=N.useMemo(()=>e.filter(W=>(v?!0:!W.isHidden)&&!W.isFieldDeleted).map(W=>{var Q;const j=W.isDisabled||W.disabled,Z=((Q=W==null?void 0:W.questionData)==null?void 0:Q.filter(ae=>!ae.isFieldDeleted))||[];return j?{...W,questionData:Z.map(ae=>({...ae,isDisabled:!0}))}:{...W,questionData:Z}}),[e,v]),C=(R=w==null?void 0:w.length)!=null?R:0,k=_e("config"),M=N.useCallback(async(W,j,Z)=>{const Q=vc({formData:w,isReadOnly:t,ignoreValidation:i,answerData:W});return go(Q)(W,j,Z)},[w,t,i]),_=nn.useForm({resolver:M,mode:"onSubmit",defaultValues:{}}),{register:E,setValue:L,control:H,handleSubmit:T,reset:P,getValues:I,watch:D,formState:{errors:O,isSubmitting:B},trigger:G,setError:q,clearErrors:V}=_,z=nn.useWatch({control:H}),X=N.useMemo(()=>z,[JSON.stringify(z)]),oe=N.useMemo(()=>{if(l!=="conversational")return[];const W=[];return w.forEach(j=>{var Z;(Z=j==null?void 0:j.questionData)==null||Z.forEach(Q=>{var ae;if(Lo(Q,X))if(Q.type==="grid"){const be=(ae=j==null?void 0:j.questionData)==null?void 0:ae.filter(fe=>fe.gridId===Q.id);W.push({...Q,gridChildren:be})}else Q.gridId||W.push(Q)})}),W},[w,X,l]),se=N.useCallback(W=>{s&&s(W)},[s]);N.useEffect(()=>{S(u)},[S,u]),N.useEffect(()=>{if(!(e!=null&&e.length)||!s)return;const W={...I?I():{},...X||{}},j=e.filter(Z=>!(Z!=null&&Z.isFieldDeleted)).flatMap(Z=>{var fe,pe;const Q=v?!1:!!(Z!=null&&Z.isHidden),ae=!!(f||Z!=null&&Z.sendEmptyWhenHidden||Z!=null&&Z.clearWhenHidden),be=Q&&ae;return((pe=(fe=Z==null?void 0:Z.questionData)==null?void 0:fe.filter(Se=>!(Se!=null&&Se.isFieldDeleted)))==null?void 0:pe.map(Se=>{var we;const te=W[Se.id]!==void 0?W[Se.id]:Se.value!==void 0&&Se.value!==null?Se.value:"",me=W[`${Se.id}_metaData`]||((we=Se.metaData)==null?void 0:we.responseObject);return{id:Se.id,value:be?"":te!=null?te:"",sectionId:Z.id,type:Se.type,metaData:{prefix:Se.prefix,dateFormat:Se.dateFormat,...be||!me?{}:{responseObject:me}}}}))||[]});se(j),g(W)},[X,e,se,s,g,f,I,v]),N.useEffect(()=>{n!=null&&n.length&&P(yc(n))},[n,P]);const ne=N.useCallback(W=>{const j={...I?I():{},...W||{}},Z=e.filter(Q=>!(Q!=null&&Q.isFieldDeleted)).flatMap(Q=>{var pe,Se;const ae=v?!1:!!(Q!=null&&Q.isHidden),be=!!(f||Q!=null&&Q.sendEmptyWhenHidden||Q!=null&&Q.clearWhenHidden),fe=ae&&be;return((Se=(pe=Q==null?void 0:Q.questionData)==null?void 0:pe.filter(te=>!(te!=null&&te.isFieldDeleted)))==null?void 0:Se.map(te=>{var Ee;const me=j[te.id]!==void 0?j[te.id]:te.value!==void 0&&te.value!==null?te.value:"",we=j[`${te.id}_metaData`]||((Ee=te.metaData)==null?void 0:Ee.responseObject);return{id:te.id,value:fe?"":me!=null?me:"",sectionId:Q.id,type:te.type,metaData:{prefix:te.prefix,dateFormat:te.dateFormat,...fe||!we?{}:{responseObject:we}}}}))||[]});Object.keys(O).length>0||o==null||o(Z)},[O,e,I,o,f]),$=N.useCallback(async()=>{var W,j;if(l==="conversational"){if(!i){const Z=oe[x];if(!Z)return;const Q=Z.gridChildren?Z.gridChildren.map(be=>be.id):[Z.id];if(!await G(Q))return}x<oe.length-1?A(Z=>Z+1):T(ne)();return}if(!i){const Z=(j=(W=w==null?void 0:w[y])==null?void 0:W.questionData)==null?void 0:j.map(ae=>ae.id);if(!await G(Z))return}p(Z=>Z+1)},[y,x,oe,w,i,G,l,T,ne]),ee=N.useCallback(()=>{if(l==="conversational"){A(W=>Math.max(0,W-1));return}p(W=>W-1)},[l]),le=N.useMemo(()=>({register:E,setValue:L,watch:D,errors:O,trigger:G,isSubmitting:B,isReadOnly:t,getValues:I,setError:q,clearErrors:V,apiActivityCount:h,pollResults:b,showResults:c,hideInputsOnResults:m,isViewer:!0}),[E,L,D,O,G,B,t,I,q,V,h,b,c,m]);return a.jsxs(nn.FormProvider,{..._,children:[a.jsx(Te.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),a.jsxs("form",{onSubmit:T(ne),className:"container h-full mx-auto",children:[a.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:a.jsxs("div",{className:"multi_section__box min-w-0",children:[l==="multi"&&(((ge=w==null?void 0:w[y])==null?void 0:ge.title)||((ce=w==null?void 0:w[y])==null?void 0:ce.description))&&a.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((re=w[y])==null?void 0:re.title)&&a.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(ye=w[y])==null?void 0:ye.title}),((Y=w[y])==null?void 0:Y.description)&&a.jsx("p",{className:"text-sm",children:(J=w[y])==null?void 0:J.description})]}),l==="multi"?a.jsx(pc,{form_data:w,options:le,current:y}):l==="conversational"?a.jsx(gc,{element:oe[x],options:le,onNext:$,onPrev:ee,isFirst:x===0,isLast:x===oe.length-1,isReadOnly:t}):a.jsx(hc,{form_data:w,options:le})]},l==="conversational"?`conv-${x}`:(U=w==null?void 0:w[y])==null?void 0:U.id)}),!d&&l!=="conversational"&&a.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:l==="multi"?a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[a.jsxs("div",{children:[" ",y>0&&a.jsxs("button",{type:"button",onClick:ee,className:"text-gray-400 hover:text-gray-600 font-semibold text-base flex items-center gap-1 transition-colors back_btn",children:[a.jsx(de,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),y<C-1&&a.jsx(Xe,{type:"button",text:"Next",onClick:$,style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 next_btn text-sm border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg continue_btn"})]}),(y===C-1||t)&&!i&&((F=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(O).length>0}):r)!=null?F:a.jsx(Xe,{isDisabled:B||Object.keys(O).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))]}):!i&&((K=typeof r=="function"?r({isUploading:h>0,isSubmitting:B,hasErrors:Object.keys(O).length>0}):r)!=null?K:a.jsx(Xe,{isDisabled:B||Object.keys(O).length>0||h>0,isLoading:B,type:"submit",text:"Submit",style:{background:(k==null?void 0:k.buttonColor)||"#333"},btnClass:"text-gray-700 border-[#98A2B3] submit_btn !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg submit_btn"}))}),l==="conversational"&&oe.length>0&&a.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:a.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(x+1)/oe.length*100}%`,background:(k==null?void 0:k.buttonColor)||"#2563EB"}})})]})]})},Sc=N.memo(xc);function Io({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:s=!1,loading:t=!1,config:l={buttonColor:"#333"},renderType:r,children:d,hideFooter:u,onGetValues:b,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v=!1,sendHiddenSectionsAsEmpty:g=!1,preview:S=!1}){N.useEffect(()=>{l&&sa("config",l)},[l]);const h=N.useCallback(y=>{b&&b(y)},[b]);return t?a.jsx(Po,{}):n?a.jsxs("div",{className:"w-full h-full min-w-0",children:[a.jsx("div",{id:"root-portal"}),a.jsx(Ls,{children:a.jsx(Sc,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:s,renderType:r,hideFooter:u,onGetValues:h,uploadUrl:c,pollResults:m,showResults:f,hideInputsOnResults:v,sendHiddenSectionsAsEmpty:g,preview:S,children:d})})]}):a.jsx("div",{children:a.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function Fe(e){if(typeof e=="string"||typeof e=="number")return""+e;let n="";if(Array.isArray(e))for(let i=0,o;i<e.length;i++)(o=Fe(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var wc={value:()=>{}};function Si(){for(var e=0,n=arguments.length,i={},o;e<n;++e){if(!(o=arguments[e]+"")||o in i||/[\s.]/.test(o))throw new Error("illegal type: "+o);i[o]=[]}return new wi(i)}function wi(e){this._=e}function Nc(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",s=i.indexOf(".");if(s>=0&&(o=i.slice(s+1),i=i.slice(0,s)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}wi.prototype=Si.prototype={constructor:wi,on:function(e,n){var i=this._,o=Nc(e+"",i),s,t=-1,l=o.length;if(arguments.length<2){for(;++t<l;)if((s=(e=o[t]).type)&&(s=Cc(i[s],e.name)))return s;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++t<l;)if(s=(e=o[t]).type)i[s]=ha(i[s],e.name,n);else if(n==null)for(s in i)i[s]=ha(i[s],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new wi(e)},call:function(e,n){if((s=arguments.length-2)>0)for(var i=new Array(s),o=0,s,t;o<s;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(t=this._[e],o=0,s=t.length;o<s;++o)t[o].value.apply(n,i)},apply:function(e,n,i){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var o=this._[e],s=0,t=o.length;s<t;++s)o[s].value.apply(n,i)}};function Cc(e,n){for(var i=0,o=e.length,s;i<o;++i)if((s=e[i]).name===n)return s.value}function ha(e,n,i){for(var o=0,s=e.length;o<s;++o)if(e[o].name===n){e[o]=wc,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var Do="http://www.w3.org/1999/xhtml";const pa={svg:"http://www.w3.org/2000/svg",xhtml:Do,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Ni(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),pa.hasOwnProperty(n)?{space:pa[n],local:e}:e}function Ac(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===Do&&n.documentElement.namespaceURI===Do?n.createElement(e):n.createElementNS(i,e)}}function kc(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ga(e){var n=Ni(e);return(n.local?kc:Ac)(n)}function Ec(){}function Oo(e){return e==null?Ec:function(){return this.querySelector(e)}}function Mc(e){typeof e!="function"&&(e=Oo(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=new Array(l),d,u,b=0;b<l;++b)(d=t[b])&&(u=e.call(d,d.__data__,b,t))&&("__data__"in d&&(u.__data__=d.__data__),r[b]=u);return new Ve(o,this._parents)}function Tc(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Pc(){return[]}function ya(e){return e==null?Pc:function(){return this.querySelectorAll(e)}}function Lc(e){return function(){return Tc(e.apply(this,arguments))}}function Bc(e){typeof e=="function"?e=Lc(e):e=ya(e);for(var n=this._groups,i=n.length,o=[],s=[],t=0;t<i;++t)for(var l=n[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&(o.push(e.call(d,d.__data__,u,l)),s.push(d));return new Ve(o,s)}function xa(e){return function(){return this.matches(e)}}function Sa(e){return function(n){return n.matches(e)}}var Ic=Array.prototype.find;function Dc(e){return function(){return Ic.call(this.children,e)}}function Oc(){return this.firstElementChild}function _c(e){return this.select(e==null?Oc:Dc(typeof e=="function"?e:Sa(e)))}var Fc=Array.prototype.filter;function Hc(){return Array.from(this.children)}function Kc(e){return function(){return Fc.call(this.children,e)}}function Vc(e){return this.selectAll(e==null?Hc:Kc(typeof e=="function"?e:Sa(e)))}function Gc(e){typeof e!="function"&&(e=xa(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new Ve(o,this._parents)}function wa(e){return new Array(e.length)}function zc(){return new Ve(this._enter||this._groups.map(wa),this._parents)}function Ci(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}Ci.prototype={constructor:Ci,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,n){return this._parent.insertBefore(e,n)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function $c(e){return function(){return e}}function Wc(e,n,i,o,s,t){for(var l=0,r,d=n.length,u=t.length;l<u;++l)(r=n[l])?(r.__data__=t[l],o[l]=r):i[l]=new Ci(e,t[l]);for(;l<d;++l)(r=n[l])&&(s[l]=r)}function jc(e,n,i,o,s,t,l){var r,d,u=new Map,b=n.length,c=t.length,m=new Array(b),f;for(r=0;r<b;++r)(d=n[r])&&(m[r]=f=l.call(d,d.__data__,r,n)+"",u.has(f)?s[r]=d:u.set(f,d));for(r=0;r<c;++r)f=l.call(e,t[r],r,t)+"",(d=u.get(f))?(o[r]=d,d.__data__=t[r],u.delete(f)):i[r]=new Ci(e,t[r]);for(r=0;r<b;++r)(d=n[r])&&u.get(m[r])===d&&(s[r]=d)}function Uc(e){return e.__data__}function qc(e,n){if(!arguments.length)return Array.from(this,Uc);var i=n?jc:Wc,o=this._parents,s=this._groups;typeof e!="function"&&(e=$c(e));for(var t=s.length,l=new Array(t),r=new Array(t),d=new Array(t),u=0;u<t;++u){var b=o[u],c=s[u],m=c.length,f=Yc(e.call(b,b&&b.__data__,u,o)),v=f.length,g=r[u]=new Array(v),S=l[u]=new Array(v),h=d[u]=new Array(m);i(b,c,g,S,h,f,n);for(var y=0,p=0,x,A;y<v;++y)if(x=g[y]){for(y>=p&&(p=y+1);!(A=S[p])&&++p<v;);x._next=A||null}}return l=new Ve(l,o),l._enter=r,l._exit=d,l}function Yc(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Jc(){return new Ve(this._exit||this._groups.map(wa),this._parents)}function Zc(e,n,i){var o=this.enter(),s=this,t=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(s=n(s),s&&(s=s.selection())),i==null?t.remove():i(t),o&&s?o.merge(s).order():s}function Xc(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,s=i.length,t=o.length,l=Math.min(s,t),r=new Array(s),d=0;d<l;++d)for(var u=i[d],b=o[d],c=u.length,m=r[d]=new Array(c),f,v=0;v<c;++v)(f=u[v]||b[v])&&(m[v]=f);for(;d<s;++d)r[d]=i[d];return new Ve(r,this._parents)}function Qc(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],s=o.length-1,t=o[s],l;--s>=0;)(l=o[s])&&(t&&l.compareDocumentPosition(t)^4&&t.parentNode.insertBefore(l,t),t=l);return this}function Rc(e){e||(e=eb);function n(c,m){return c&&m?e(c.__data__,m.__data__):!c-!m}for(var i=this._groups,o=i.length,s=new Array(o),t=0;t<o;++t){for(var l=i[t],r=l.length,d=s[t]=new Array(r),u,b=0;b<r;++b)(u=l[b])&&(d[b]=u);d.sort(n)}return new Ve(s,this._parents).order()}function eb(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function nb(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function ib(){return Array.from(this)}function ob(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length;s<t;++s){var l=o[s];if(l)return l}return null}function sb(){let e=0;for(const n of this)++e;return e}function ab(){return!this.node()}function tb(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var s=n[i],t=0,l=s.length,r;t<l;++t)(r=s[t])&&e.call(r,r.__data__,t,s);return this}function lb(e){return function(){this.removeAttribute(e)}}function rb(e){return function(){this.removeAttributeNS(e.space,e.local)}}function db(e,n){return function(){this.setAttribute(e,n)}}function ub(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function cb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function bb(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,i)}}function mb(e,n){var i=Ni(e);if(arguments.length<2){var o=this.node();return i.local?o.getAttributeNS(i.space,i.local):o.getAttribute(i)}return this.each((n==null?i.local?rb:lb:typeof n=="function"?i.local?bb:cb:i.local?ub:db)(i,n))}function Na(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function vb(e){return function(){this.style.removeProperty(e)}}function fb(e,n,i){return function(){this.style.setProperty(e,n,i)}}function hb(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function pb(e,n,i){return arguments.length>1?this.each((n==null?vb:typeof n=="function"?hb:fb)(e,n,i==null?"":i)):kn(this.node(),e)}function kn(e,n){return e.style.getPropertyValue(n)||Na(e).getComputedStyle(e,null).getPropertyValue(n)}function gb(e){return function(){delete this[e]}}function yb(e,n){return function(){this[e]=n}}function xb(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function Sb(e,n){return arguments.length>1?this.each((n==null?gb:typeof n=="function"?xb:yb)(e,n)):this.node()[e]}function Ca(e){return e.trim().split(/^|\s+/)}function _o(e){return e.classList||new Aa(e)}function Aa(e){this._node=e,this._names=Ca(e.getAttribute("class")||"")}Aa.prototype={add:function(e){var n=this._names.indexOf(e);n<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var n=this._names.indexOf(e);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function ka(e,n){for(var i=_o(e),o=-1,s=n.length;++o<s;)i.add(n[o])}function Ea(e,n){for(var i=_o(e),o=-1,s=n.length;++o<s;)i.remove(n[o])}function wb(e){return function(){ka(this,e)}}function Nb(e){return function(){Ea(this,e)}}function Cb(e,n){return function(){(n.apply(this,arguments)?ka:Ea)(this,e)}}function Ab(e,n){var i=Ca(e+"");if(arguments.length<2){for(var o=_o(this.node()),s=-1,t=i.length;++s<t;)if(!o.contains(i[s]))return!1;return!0}return this.each((typeof n=="function"?Cb:n?wb:Nb)(i,n))}function kb(){this.textContent=""}function Eb(e){return function(){this.textContent=e}}function Mb(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function Tb(e){return arguments.length?this.each(e==null?kb:(typeof e=="function"?Mb:Eb)(e)):this.node().textContent}function Pb(){this.innerHTML=""}function Lb(e){return function(){this.innerHTML=e}}function Bb(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function Ib(e){return arguments.length?this.each(e==null?Pb:(typeof e=="function"?Bb:Lb)(e)):this.node().innerHTML}function Db(){this.nextSibling&&this.parentNode.appendChild(this)}function Ob(){return this.each(Db)}function _b(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Fb(){return this.each(_b)}function Hb(e){var n=typeof e=="function"?e:ga(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Kb(){return null}function Vb(e,n){var i=typeof e=="function"?e:ga(e),o=n==null?Kb:typeof n=="function"?n:Oo(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function Gb(){var e=this.parentNode;e&&e.removeChild(this)}function zb(){return this.each(Gb)}function $b(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function Wb(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function jb(e){return this.select(e?Wb:$b)}function Ub(e){return arguments.length?this.property("__data__",e):this.node().__data__}function qb(e){return function(n){e.call(this,n,this.__data__)}}function Yb(e){return e.trim().split(/^|\s+/).map(function(n){var i="",o=n.indexOf(".");return o>=0&&(i=n.slice(o+1),n=n.slice(0,o)),{type:n,name:i}})}function Jb(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,s=n.length,t;i<s;++i)t=n[i],(!e.type||t.type===e.type)&&t.name===e.name?this.removeEventListener(t.type,t.listener,t.options):n[++o]=t;++o?n.length=o:delete this.__on}}}function Zb(e,n,i){return function(){var o=this.__on,s,t=qb(n);if(o){for(var l=0,r=o.length;l<r;++l)if((s=o[l]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=t,s.options=i),s.value=n;return}}this.addEventListener(e.type,t,i),s={type:e.type,name:e.name,value:n,listener:t,options:i},o?o.push(s):this.__on=[s]}}function Xb(e,n,i){var o=Yb(e+""),s,t=o.length,l;if(arguments.length<2){var r=this.node().__on;if(r){for(var d=0,u=r.length,b;d<u;++d)for(s=0,b=r[d];s<t;++s)if((l=o[s]).type===b.type&&l.name===b.name)return b.value}return}for(r=n?Zb:Jb,s=0;s<t;++s)this.each(r(o[s],n,i));return this}function Ma(e,n,i){var o=Na(e),s=o.CustomEvent;typeof s=="function"?s=new s(n,i):(s=o.document.createEvent("Event"),i?(s.initEvent(n,i.bubbles,i.cancelable),s.detail=i.detail):s.initEvent(n,!1,!1)),e.dispatchEvent(s)}function Qb(e,n){return function(){return Ma(this,e,n)}}function Rb(e,n){return function(){return Ma(this,e,n.apply(this,arguments))}}function em(e,n){return this.each((typeof n=="function"?Rb:Qb)(e,n))}function*nm(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],s=0,t=o.length,l;s<t;++s)(l=o[s])&&(yield l)}var Ta=[null];function Ve(e,n){this._groups=e,this._parents=n}function jn(){return new Ve([[document.documentElement]],Ta)}function im(){return this}Ve.prototype=jn.prototype={constructor:Ve,select:Mc,selectAll:Bc,selectChild:_c,selectChildren:Vc,filter:Gc,data:qc,enter:zc,exit:Jc,join:Zc,merge:Xc,selection:im,order:Qc,sort:Rc,call:nb,nodes:ib,node:ob,size:sb,empty:ab,each:tb,attr:mb,style:pb,property:Sb,classed:Ab,text:Tb,html:Ib,raise:Ob,lower:Fb,append:Hb,insert:Vb,remove:zb,clone:jb,datum:Ub,on:Xb,dispatch:em,[Symbol.iterator]:nm};function Ge(e){return typeof e=="string"?new Ve([[document.querySelector(e)]],[document.documentElement]):new Ve([[e]],Ta)}function om(e){let n;for(;n=e.sourceEvent;)e=n;return e}function $e(e,n){if(e=om(e),n===void 0&&(n=e.currentTarget),n){var i=n.ownerSVGElement||n;if(i.createSVGPoint){var o=i.createSVGPoint();return o.x=e.clientX,o.y=e.clientY,o=o.matrixTransform(n.getScreenCTM().inverse()),[o.x,o.y]}if(n.getBoundingClientRect){var s=n.getBoundingClientRect();return[e.clientX-s.left-n.clientLeft,e.clientY-s.top-n.clientTop]}}return[e.pageX,e.pageY]}const sm={passive:!1},Un={capture:!0,passive:!1};function Fo(e){e.stopImmediatePropagation()}function En(e){e.preventDefault(),e.stopImmediatePropagation()}function Pa(e){var n=e.document.documentElement,i=Ge(e).on("dragstart.drag",En,Un);"onselectstart"in n?i.on("selectstart.drag",En,Un):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function La(e,n){var i=e.document.documentElement,o=Ge(e).on("dragstart.drag",null);n&&(o.on("click.drag",En,Un),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in i?o.on("selectstart.drag",null):(i.style.MozUserSelect=i.__noselect,delete i.__noselect)}const Ai=e=>()=>e;function Ho(e,{sourceEvent:n,subject:i,target:o,identifier:s,active:t,x:l,y:r,dx:d,dy:u,dispatch:b}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},subject:{value:i,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:s,enumerable:!0,configurable:!0},active:{value:t,enumerable:!0,configurable:!0},x:{value:l,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:d,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:b}})}Ho.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function am(e){return!e.ctrlKey&&!e.button}function tm(){return this.parentNode}function lm(e,n){return n==null?{x:e.x,y:e.y}:n}function rm(){return navigator.maxTouchPoints||"ontouchstart"in this}function Ba(){var e=am,n=tm,i=lm,o=rm,s={},t=Si("start","drag","end"),l=0,r,d,u,b,c=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",S).on("touchmove.drag",h,sm).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,A){if(!(b||!e.call(this,x,A))){var w=p(this,n.call(this,x,A),x,A,"mouse");w&&(Ge(x.view).on("mousemove.drag",v,Un).on("mouseup.drag",g,Un),Pa(x.view),Fo(x),u=!1,r=x.clientX,d=x.clientY,w("start",x))}}function v(x){if(En(x),!u){var A=x.clientX-r,w=x.clientY-d;u=A*A+w*w>c}s.mouse("drag",x)}function g(x){Ge(x.view).on("mousemove.drag mouseup.drag",null),La(x.view,u),En(x),s.mouse("end",x)}function S(x,A){if(e.call(this,x,A)){var w=x.changedTouches,C=n.call(this,x,A),k=w.length,M,_;for(M=0;M<k;++M)(_=p(this,C,x,A,w[M].identifier,w[M]))&&(Fo(x),_("start",x,w[M]))}}function h(x){var A=x.changedTouches,w=A.length,C,k;for(C=0;C<w;++C)(k=s[A[C].identifier])&&(En(x),k("drag",x,A[C]))}function y(x){var A=x.changedTouches,w=A.length,C,k;for(b&&clearTimeout(b),b=setTimeout(function(){b=null},500),C=0;C<w;++C)(k=s[A[C].identifier])&&(Fo(x),k("end",x,A[C]))}function p(x,A,w,C,k,M){var _=t.copy(),E=$e(M||w,A),L,H,T;if((T=i.call(x,new Ho("beforestart",{sourceEvent:w,target:m,identifier:k,active:l,x:E[0],y:E[1],dx:0,dy:0,dispatch:_}),C))!=null)return L=T.x-E[0]||0,H=T.y-E[1]||0,function P(I,D,O){var B=E,G;switch(I){case"start":s[k]=P,G=l++;break;case"end":delete s[k],--l;case"drag":E=$e(O||D,A),G=l;break}_.call(I,x,new Ho(I,{sourceEvent:D,subject:T,target:m,identifier:k,active:G,x:E[0]+L,y:E[1]+H,dx:E[0]-B[0],dy:E[1]-B[1],dispatch:_}),C)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:Ai(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:Ai(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:Ai(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:Ai(!!x),m):o},m.on=function(){var x=t.on.apply(t,arguments);return x===t?m:x},m.clickDistance=function(x){return arguments.length?(c=(x=+x)*x,m):Math.sqrt(c)},m}function Ko(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Ia(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function qn(){}var Yn=.7,ki=1/Yn,Mn="\\s*([+-]?\\d+)\\s*",Jn="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Qe="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",dm=/^#([0-9a-f]{3,8})$/,um=new RegExp(`^rgb\\(${Mn},${Mn},${Mn}\\)$`),cm=new RegExp(`^rgb\\(${Qe},${Qe},${Qe}\\)$`),bm=new RegExp(`^rgba\\(${Mn},${Mn},${Mn},${Jn}\\)$`),mm=new RegExp(`^rgba\\(${Qe},${Qe},${Qe},${Jn}\\)$`),vm=new RegExp(`^hsl\\(${Jn},${Qe},${Qe}\\)$`),fm=new RegExp(`^hsla\\(${Jn},${Qe},${Qe},${Jn}\\)$`),Da={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Ko(qn,mn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Oa,formatHex:Oa,formatHex8:hm,formatHsl:pm,formatRgb:_a,toString:_a});function Oa(){return this.rgb().formatHex()}function hm(){return this.rgb().formatHex8()}function pm(){return Ga(this).formatHsl()}function _a(){return this.rgb().formatRgb()}function mn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=dm.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?Fa(n):i===3?new Ke(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Ei(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Ei(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=um.exec(e))?new Ke(n[1],n[2],n[3],1):(n=cm.exec(e))?new Ke(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=bm.exec(e))?Ei(n[1],n[2],n[3],n[4]):(n=mm.exec(e))?Ei(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=vm.exec(e))?Va(n[1],n[2]/100,n[3]/100,1):(n=fm.exec(e))?Va(n[1],n[2]/100,n[3]/100,n[4]):Da.hasOwnProperty(e)?Fa(Da[e]):e==="transparent"?new Ke(NaN,NaN,NaN,0):null}function Fa(e){return new Ke(e>>16&255,e>>8&255,e&255,1)}function Ei(e,n,i,o){return o<=0&&(e=n=i=NaN),new Ke(e,n,i,o)}function gm(e){return e instanceof qn||(e=mn(e)),e?(e=e.rgb(),new Ke(e.r,e.g,e.b,e.opacity)):new Ke}function Vo(e,n,i,o){return arguments.length===1?gm(e):new Ke(e,n,i,o==null?1:o)}function Ke(e,n,i,o){this.r=+e,this.g=+n,this.b=+i,this.opacity=+o}Ko(Ke,Vo,Ia(qn,{brighter(e){return e=e==null?ki:Math.pow(ki,e),new Ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Yn:Math.pow(Yn,e),new Ke(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Ke(vn(this.r),vn(this.g),vn(this.b),Mi(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ha,formatHex:Ha,formatHex8:ym,formatRgb:Ka,toString:Ka}));function Ha(){return`#${fn(this.r)}${fn(this.g)}${fn(this.b)}`}function ym(){return`#${fn(this.r)}${fn(this.g)}${fn(this.b)}${fn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Ka(){const e=Mi(this.opacity);return`${e===1?"rgb(":"rgba("}${vn(this.r)}, ${vn(this.g)}, ${vn(this.b)}${e===1?")":`, ${e})`}`}function Mi(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function vn(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function fn(e){return e=vn(e),(e<16?"0":"")+e.toString(16)}function Va(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new We(e,n,i,o)}function Ga(e){if(e instanceof We)return new We(e.h,e.s,e.l,e.opacity);if(e instanceof qn||(e=mn(e)),!e)return new We;if(e instanceof We)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,s=Math.min(n,i,o),t=Math.max(n,i,o),l=NaN,r=t-s,d=(t+s)/2;return r?(n===t?l=(i-o)/r+(i<o)*6:i===t?l=(o-n)/r+2:l=(n-i)/r+4,r/=d<.5?t+s:2-t-s,l*=60):r=d>0&&d<1?0:l,new We(l,r,d,e.opacity)}function xm(e,n,i,o){return arguments.length===1?Ga(e):new We(e,n,i,o==null?1:o)}function We(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Ko(We,xm,Ia(qn,{brighter(e){return e=e==null?ki:Math.pow(ki,e),new We(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Yn:Math.pow(Yn,e),new We(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,n=isNaN(e)||isNaN(this.s)?0:this.s,i=this.l,o=i+(i<.5?i:1-i)*n,s=2*i-o;return new Ke(Go(e>=240?e-240:e+120,s,o),Go(e,s,o),Go(e<120?e+240:e-120,s,o),this.opacity)},clamp(){return new We(za(this.h),Ti(this.s),Ti(this.l),Mi(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Mi(this.opacity);return`${e===1?"hsl(":"hsla("}${za(this.h)}, ${Ti(this.s)*100}%, ${Ti(this.l)*100}%${e===1?")":`, ${e})`}`}}));function za(e){return e=(e||0)%360,e<0?e+360:e}function Ti(e){return Math.max(0,Math.min(1,e||0))}function Go(e,n,i){return(e<60?n+(i-n)*e/60:e<180?i:e<240?n+(i-n)*(240-e)/60:n)*255}const zo=e=>()=>e;function Sm(e,n){return function(i){return e+i*n}}function wm(e,n,i){return e=Math.pow(e,i),n=Math.pow(n,i)-e,i=1/i,function(o){return Math.pow(e+o*n,i)}}function Nm(e){return(e=+e)==1?$a:function(n,i){return i-n?wm(n,i,e):zo(isNaN(n)?i:n)}}function $a(e,n){var i=n-e;return i?Sm(e,i):zo(isNaN(e)?n:e)}const Pi=function e(n){var i=Nm(n);function o(s,t){var l=i((s=Vo(s)).r,(t=Vo(t)).r),r=i(s.g,t.g),d=i(s.b,t.b),u=$a(s.opacity,t.opacity);return function(b){return s.r=l(b),s.g=r(b),s.b=d(b),s.opacity=u(b),s+""}}return o.gamma=e,o}(1);function Cm(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),s;return function(t){for(s=0;s<i;++s)o[s]=e[s]*(1-t)+n[s]*t;return o}}function Am(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function km(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,s=new Array(o),t=new Array(i),l;for(l=0;l<o;++l)s[l]=Zn(e[l],n[l]);for(;l<i;++l)t[l]=n[l];return function(r){for(l=0;l<o;++l)t[l]=s[l](r);return t}}function Em(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function Re(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function Mm(e,n){var i={},o={},s;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(s in n)s in e?i[s]=Zn(e[s],n[s]):o[s]=n[s];return function(t){for(s in i)o[s]=i[s](t);return o}}var $o=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Wo=new RegExp($o.source,"g");function Tm(e){return function(){return e}}function Pm(e){return function(n){return e(n)+""}}function Wa(e,n){var i=$o.lastIndex=Wo.lastIndex=0,o,s,t,l=-1,r=[],d=[];for(e=e+"",n=n+"";(o=$o.exec(e))&&(s=Wo.exec(n));)(t=s.index)>i&&(t=n.slice(i,t),r[l]?r[l]+=t:r[++l]=t),(o=o[0])===(s=s[0])?r[l]?r[l]+=s:r[++l]=s:(r[++l]=null,d.push({i:l,x:Re(o,s)})),i=Wo.lastIndex;return i<n.length&&(t=n.slice(i),r[l]?r[l]+=t:r[++l]=t),r.length<2?d[0]?Pm(d[0].x):Tm(n):(n=d.length,function(u){for(var b=0,c;b<n;++b)r[(c=d[b]).i]=c.x(u);return r.join("")})}function Zn(e,n){var i=typeof n,o;return n==null||i==="boolean"?zo(n):(i==="number"?Re:i==="string"?(o=mn(n))?(n=o,Pi):Wa:n instanceof mn?Pi:n instanceof Date?Em:Am(n)?Cm:Array.isArray(n)?km:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?Mm:Re)(e,n)}var ja=180/Math.PI,jo={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Ua(e,n,i,o,s,t){var l,r,d;return(l=Math.sqrt(e*e+n*n))&&(e/=l,n/=l),(d=e*i+n*o)&&(i-=e*d,o-=n*d),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,d/=r),e*o<n*i&&(e=-e,n=-n,d=-d,l=-l),{translateX:s,translateY:t,rotate:Math.atan2(n,e)*ja,skewX:Math.atan(d)*ja,scaleX:l,scaleY:r}}var Li;function Lm(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?jo:Ua(n.a,n.b,n.c,n.d,n.e,n.f)}function Bm(e){return e==null||(Li||(Li=document.createElementNS("http://www.w3.org/2000/svg","g")),Li.setAttribute("transform",e),!(e=Li.transform.baseVal.consolidate()))?jo:(e=e.matrix,Ua(e.a,e.b,e.c,e.d,e.e,e.f))}function qa(e,n,i,o){function s(u){return u.length?u.pop()+" ":""}function t(u,b,c,m,f,v){if(u!==c||b!==m){var g=f.push("translate(",null,n,null,i);v.push({i:g-4,x:Re(u,c)},{i:g-2,x:Re(b,m)})}else(c||m)&&f.push("translate("+c+n+m+i)}function l(u,b,c,m){u!==b?(u-b>180?b+=360:b-u>180&&(u+=360),m.push({i:c.push(s(c)+"rotate(",null,o)-2,x:Re(u,b)})):b&&c.push(s(c)+"rotate("+b+o)}function r(u,b,c,m){u!==b?m.push({i:c.push(s(c)+"skewX(",null,o)-2,x:Re(u,b)}):b&&c.push(s(c)+"skewX("+b+o)}function d(u,b,c,m,f,v){if(u!==c||b!==m){var g=f.push(s(f)+"scale(",null,",",null,")");v.push({i:g-4,x:Re(u,c)},{i:g-2,x:Re(b,m)})}else(c!==1||m!==1)&&f.push(s(f)+"scale("+c+","+m+")")}return function(u,b){var c=[],m=[];return u=e(u),b=e(b),t(u.translateX,u.translateY,b.translateX,b.translateY,c,m),l(u.rotate,b.rotate,c,m),r(u.skewX,b.skewX,c,m),d(u.scaleX,u.scaleY,b.scaleX,b.scaleY,c,m),u=b=null,function(f){for(var v=-1,g=m.length,S;++v<g;)c[(S=m[v]).i]=S.x(f);return c.join("")}}}var Im=qa(Lm,"px, ","px)","deg)"),Dm=qa(Bm,", ",")",")"),Om=1e-12;function Ya(e){return((e=Math.exp(e))+1/e)/2}function _m(e){return((e=Math.exp(e))-1/e)/2}function Fm(e){return((e=Math.exp(2*e))-1)/(e+1)}const Bi=function e(n,i,o){function s(t,l){var r=t[0],d=t[1],u=t[2],b=l[0],c=l[1],m=l[2],f=b-r,v=c-d,g=f*f+v*v,S,h;if(g<Om)h=Math.log(m/u)/n,S=function(C){return[r+C*f,d+C*v,u*Math.exp(n*C*h)]};else{var y=Math.sqrt(g),p=(m*m-u*u+o*g)/(2*u*i*y),x=(m*m-u*u-o*g)/(2*m*i*y),A=Math.log(Math.sqrt(p*p+1)-p),w=Math.log(Math.sqrt(x*x+1)-x);h=(w-A)/n,S=function(C){var k=C*h,M=Ya(A),_=u/(i*y)*(M*Fm(n*k+A)-_m(A));return[r+_*f,d+_*v,u*M/Ya(n*k+A)]}}return S.duration=h*1e3*n/Math.SQRT2,S}return s.rho=function(t){var l=Math.max(.001,+t),r=l*l,d=r*r;return e(l,r,d)},s}(Math.SQRT2,2,4);var Tn=0,Xn=0,Qn=0,Ja=1e3,Ii,Rn,Di=0,hn=0,Oi=0,ei=typeof performance=="object"&&performance.now?performance:Date,Za=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Uo(){return hn||(Za(Hm),hn=ei.now()+Oi)}function Hm(){hn=0}function _i(){this._call=this._time=this._next=null}_i.prototype=Xa.prototype={constructor:_i,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?Uo():+i)+(n==null?0:+n),!this._next&&Rn!==this&&(Rn?Rn._next=this:Ii=this,Rn=this),this._call=e,this._time=i,qo()},stop:function(){this._call&&(this._call=null,this._time=1/0,qo())}};function Xa(e,n,i){var o=new _i;return o.restart(e,n,i),o}function Km(){Uo(),++Tn;for(var e=Ii,n;e;)(n=hn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Tn}function Qa(){hn=(Di=ei.now())+Oi,Tn=Xn=0;try{Km()}finally{Tn=0,Gm(),hn=0}}function Vm(){var e=ei.now(),n=e-Di;n>Ja&&(Oi-=n,Di=e)}function Gm(){for(var e,n=Ii,i,o=1/0;n;)n._call?(o>n._time&&(o=n._time),e=n,n=n._next):(i=n._next,n._next=null,n=e?e._next=i:Ii=i);Rn=e,qo(o)}function qo(e){if(!Tn){Xn&&(Xn=clearTimeout(Xn));var n=e-hn;n>24?(e<1/0&&(Xn=setTimeout(Qa,e-ei.now()-Oi)),Qn&&(Qn=clearInterval(Qn))):(Qn||(Di=ei.now(),Qn=setInterval(Vm,Ja)),Tn=1,Za(Qa))}}function Ra(e,n,i){var o=new _i;return n=n==null?0:+n,o.restart(s=>{o.stop(),e(s+n)},n,i),o}var zm=Si("start","end","cancel","interrupt"),$m=[],et=0,nt=1,Yo=2,Fi=3,it=4,Jo=5,Hi=6;function Ki(e,n,i,o,s,t){var l=e.__transition;if(!l)e.__transition={};else if(i in l)return;Wm(e,i,{name:n,index:o,group:s,on:zm,tween:$m,time:t.time,delay:t.delay,duration:t.duration,ease:t.ease,timer:null,state:et})}function Zo(e,n){var i=je(e,n);if(i.state>et)throw new Error("too late; already scheduled");return i}function en(e,n){var i=je(e,n);if(i.state>Fi)throw new Error("too late; already running");return i}function je(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function Wm(e,n,i){var o=e.__transition,s;o[n]=i,i.timer=Xa(t,0,i.time);function t(u){i.state=nt,i.timer.restart(l,i.delay,i.time),i.delay<=u&&l(u-i.delay)}function l(u){var b,c,m,f;if(i.state!==nt)return d();for(b in o)if(f=o[b],f.name===i.name){if(f.state===Fi)return Ra(l);f.state===it?(f.state=Hi,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[b]):+b<n&&(f.state=Hi,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[b])}if(Ra(function(){i.state===Fi&&(i.state=it,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=Yo,i.on.call("start",e,e.__data__,i.index,i.group),i.state===Yo){for(i.state=Fi,s=new Array(m=i.tween.length),b=0,c=-1;b<m;++b)(f=i.tween[b].value.call(e,e.__data__,i.index,i.group))&&(s[++c]=f);s.length=c+1}}function r(u){for(var b=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(d),i.state=Jo,1),c=-1,m=s.length;++c<m;)s[c].call(e,b);i.state===Jo&&(i.on.call("end",e,e.__data__,i.index,i.group),d())}function d(){i.state=Hi,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function Vi(e,n){var i=e.__transition,o,s,t=!0,l;if(i){n=n==null?null:n+"";for(l in i){if((o=i[l]).name!==n){t=!1;continue}s=o.state>Yo&&o.state<Jo,o.state=Hi,o.timer.stop(),o.on.call(s?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[l]}t&&delete e.__transition}}function jm(e){return this.each(function(){Vi(this,e)})}function Um(e,n){var i,o;return function(){var s=en(this,e),t=s.tween;if(t!==i){o=i=t;for(var l=0,r=o.length;l<r;++l)if(o[l].name===n){o=o.slice(),o.splice(l,1);break}}s.tween=o}}function qm(e,n,i){var o,s;if(typeof i!="function")throw new Error;return function(){var t=en(this,e),l=t.tween;if(l!==o){s=(o=l).slice();for(var r={name:n,value:i},d=0,u=s.length;d<u;++d)if(s[d].name===n){s[d]=r;break}d===u&&s.push(r)}t.tween=s}}function Ym(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=je(this.node(),i).tween,s=0,t=o.length,l;s<t;++s)if((l=o[s]).name===e)return l.value;return null}return this.each((n==null?Um:qm)(i,e,n))}function Xo(e,n,i){var o=e._id;return e.each(function(){var s=en(this,o);(s.value||(s.value={}))[n]=i.apply(this,arguments)}),function(s){return je(s,o).value[n]}}function ot(e,n){var i;return(typeof n=="number"?Re:n instanceof mn?Pi:(i=mn(n))?(n=i,Pi):Wa)(e,n)}function Jm(e){return function(){this.removeAttribute(e)}}function Zm(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Xm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttribute(e);return l===s?null:l===o?t:t=n(o=l,i)}}function Qm(e,n,i){var o,s=i+"",t;return function(){var l=this.getAttributeNS(e.space,e.local);return l===s?null:l===o?t:t=n(o=l,i)}}function Rm(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttribute(e):(l=this.getAttribute(e),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function ev(e,n,i){var o,s,t;return function(){var l,r=i(this),d;return r==null?void this.removeAttributeNS(e.space,e.local):(l=this.getAttributeNS(e.space,e.local),d=r+"",l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r)))}}function nv(e,n){var i=Ni(e),o=i==="transform"?Dm:ot;return this.attrTween(e,typeof n=="function"?(i.local?ev:Rm)(i,o,Xo(this,"attr."+e,n)):n==null?(i.local?Zm:Jm)(i):(i.local?Qm:Xm)(i,o,n))}function iv(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function ov(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function sv(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&ov(e,t)),i}return s._value=n,s}function av(e,n){var i,o;function s(){var t=n.apply(this,arguments);return t!==o&&(i=(o=t)&&iv(e,t)),i}return s._value=n,s}function tv(e,n){var i="attr."+e;if(arguments.length<2)return(i=this.tween(i))&&i._value;if(n==null)return this.tween(i,null);if(typeof n!="function")throw new Error;var o=Ni(e);return this.tween(i,(o.local?sv:av)(o,n))}function lv(e,n){return function(){Zo(this,e).delay=+n.apply(this,arguments)}}function rv(e,n){return n=+n,function(){Zo(this,e).delay=n}}function dv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?lv:rv)(n,e)):je(this.node(),n).delay}function uv(e,n){return function(){en(this,e).duration=+n.apply(this,arguments)}}function cv(e,n){return n=+n,function(){en(this,e).duration=n}}function bv(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?uv:cv)(n,e)):je(this.node(),n).duration}function mv(e,n){if(typeof n!="function")throw new Error;return function(){en(this,e).ease=n}}function vv(e){var n=this._id;return arguments.length?this.each(mv(n,e)):je(this.node(),n).ease}function fv(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;en(this,e).ease=i}}function hv(e){if(typeof e!="function")throw new Error;return this.each(fv(this._id,e))}function pv(e){typeof e!="function"&&(e=xa(e));for(var n=this._groups,i=n.length,o=new Array(i),s=0;s<i;++s)for(var t=n[s],l=t.length,r=o[s]=[],d,u=0;u<l;++u)(d=t[u])&&e.call(d,d.__data__,u,t)&&r.push(d);return new on(o,this._parents,this._name,this._id)}function gv(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,s=i.length,t=Math.min(o,s),l=new Array(o),r=0;r<t;++r)for(var d=n[r],u=i[r],b=d.length,c=l[r]=new Array(b),m,f=0;f<b;++f)(m=d[f]||u[f])&&(c[f]=m);for(;r<o;++r)l[r]=n[r];return new on(l,this._parents,this._name,this._id)}function yv(e){return(e+"").trim().split(/^|\s+/).every(function(n){var i=n.indexOf(".");return i>=0&&(n=n.slice(0,i)),!n||n==="start"})}function xv(e,n,i){var o,s,t=yv(n)?Zo:en;return function(){var l=t(this,e),r=l.on;r!==o&&(s=(o=r).copy()).on(n,i),l.on=s}}function Sv(e,n){var i=this._id;return arguments.length<2?je(this.node(),i).on.on(e):this.each(xv(i,e,n))}function wv(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function Nv(){return this.on("end.remove",wv(this._id))}function Cv(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Oo(e));for(var o=this._groups,s=o.length,t=new Array(s),l=0;l<s;++l)for(var r=o[l],d=r.length,u=t[l]=new Array(d),b,c,m=0;m<d;++m)(b=r[m])&&(c=e.call(b,b.__data__,m,r))&&("__data__"in b&&(c.__data__=b.__data__),u[m]=c,Ki(u[m],n,i,m,u,je(b,i)));return new on(t,this._parents,n,i)}function Av(e){var n=this._name,i=this._id;typeof e!="function"&&(e=ya(e));for(var o=this._groups,s=o.length,t=[],l=[],r=0;r<s;++r)for(var d=o[r],u=d.length,b,c=0;c<u;++c)if(b=d[c]){for(var m=e.call(b,b.__data__,c,d),f,v=je(b,i),g=0,S=m.length;g<S;++g)(f=m[g])&&Ki(f,n,i,g,m,v);t.push(m),l.push(b)}return new on(t,l,n,i)}var kv=jn.prototype.constructor;function Ev(){return new kv(this._groups,this._parents)}function Mv(e,n){var i,o,s;return function(){var t=kn(this,e),l=(this.style.removeProperty(e),kn(this,e));return t===l?null:t===i&&l===o?s:s=n(i=t,o=l)}}function st(e){return function(){this.style.removeProperty(e)}}function Tv(e,n,i){var o,s=i+"",t;return function(){var l=kn(this,e);return l===s?null:l===o?t:t=n(o=l,i)}}function Pv(e,n,i){var o,s,t;return function(){var l=kn(this,e),r=i(this),d=r+"";return r==null&&(d=r=(this.style.removeProperty(e),kn(this,e))),l===d?null:l===o&&d===s?t:(s=d,t=n(o=l,r))}}function Lv(e,n){var i,o,s,t="style."+n,l="end."+t,r;return function(){var d=en(this,e),u=d.on,b=d.value[t]==null?r||(r=st(n)):void 0;(u!==i||s!==b)&&(o=(i=u).copy()).on(l,s=b),d.on=o}}function Bv(e,n,i){var o=(e+="")=="transform"?Im:ot;return n==null?this.styleTween(e,Mv(e,o)).on("end.style."+e,st(e)):typeof n=="function"?this.styleTween(e,Pv(e,o,Xo(this,"style."+e,n))).each(Lv(this._id,e)):this.styleTween(e,Tv(e,o,n),i).on("end.style."+e,null)}function Iv(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function Dv(e,n,i){var o,s;function t(){var l=n.apply(this,arguments);return l!==s&&(o=(s=l)&&Iv(e,l,i)),o}return t._value=n,t}function Ov(e,n,i){var o="style."+(e+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(n==null)return this.tween(o,null);if(typeof n!="function")throw new Error;return this.tween(o,Dv(e,n,i==null?"":i))}function _v(e){return function(){this.textContent=e}}function Fv(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function Hv(e){return this.tween("text",typeof e=="function"?Fv(Xo(this,"text",e)):_v(e==null?"":e+""))}function Kv(e){return function(n){this.textContent=e.call(this,n)}}function Vv(e){var n,i;function o(){var s=e.apply(this,arguments);return s!==i&&(n=(i=s)&&Kv(s)),n}return o._value=e,o}function Gv(e){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;return this.tween(n,Vv(e))}function zv(){for(var e=this._name,n=this._id,i=at(),o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)if(d=l[u]){var b=je(d,n);Ki(d,e,i,u,l,{time:b.time+b.delay+b.duration,delay:0,duration:b.duration,ease:b.ease})}return new on(o,this._parents,e,i)}function $v(){var e,n,i=this,o=i._id,s=i.size();return new Promise(function(t,l){var r={value:l},d={value:function(){--s===0&&t()}};i.each(function(){var u=en(this,o),b=u.on;b!==e&&(n=(e=b).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(d)),u.on=n}),s===0&&t()})}var Wv=0;function on(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function at(){return++Wv}var sn=jn.prototype;on.prototype={constructor:on,select:Cv,selectAll:Av,selectChild:sn.selectChild,selectChildren:sn.selectChildren,filter:pv,merge:gv,selection:Ev,transition:zv,call:sn.call,nodes:sn.nodes,node:sn.node,size:sn.size,empty:sn.empty,each:sn.each,on:Sv,attr:nv,attrTween:tv,style:Bv,styleTween:Ov,text:Hv,textTween:Gv,remove:Nv,tween:Ym,delay:dv,duration:bv,ease:vv,easeVarying:hv,end:$v,[Symbol.iterator]:sn[Symbol.iterator]};function jv(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Uv={time:null,delay:0,duration:250,ease:jv};function qv(e,n){for(var i;!(i=e.__transition)||!(i=i[n]);)if(!(e=e.parentNode))throw new Error(`transition ${n} not found`);return i}function Yv(e){var n,i;e instanceof on?(n=e._id,e=e._name):(n=at(),(i=Uv).time=Uo(),e=e==null?null:e+"");for(var o=this._groups,s=o.length,t=0;t<s;++t)for(var l=o[t],r=l.length,d,u=0;u<r;++u)(d=l[u])&&Ki(d,e,n,u,l,i||qv(d,n));return new on(o,this._parents,e,n)}jn.prototype.interrupt=jm,jn.prototype.transition=Yv;const Gi=e=>()=>e;function Jv(e,{sourceEvent:n,target:i,transform:o,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:i,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:s}})}function an(e,n,i){this.k=e,this.x=n,this.y=i}an.prototype={constructor:an,scale:function(e){return e===1?this:new an(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new an(this.k,this.x+this.k*e,this.y+this.k*n)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var zi=new an(1,0,0);tt.prototype=an.prototype;function tt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return zi;return e.__zoom}function Qo(e){e.stopImmediatePropagation()}function ni(e){e.preventDefault(),e.stopImmediatePropagation()}function Zv(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function Xv(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function lt(){return this.__zoom||zi}function Qv(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Rv(){return navigator.maxTouchPoints||"ontouchstart"in this}function ef(e,n,i){var o=e.invertX(n[0][0])-i[0][0],s=e.invertX(n[1][0])-i[1][0],t=e.invertY(n[0][1])-i[0][1],l=e.invertY(n[1][1])-i[1][1];return e.translate(s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s),l>t?(t+l)/2:Math.min(0,t)||Math.max(0,l))}function rt(){var e=Zv,n=Xv,i=ef,o=Qv,s=Rv,t=[0,1/0],l=[[-1/0,-1/0],[1/0,1/0]],r=250,d=Bi,u=Si("start","zoom","end"),b,c,m,f=500,v=150,g=0,S=10;function h(T){T.property("__zoom",lt).on("wheel.zoom",k,{passive:!1}).on("mousedown.zoom",M).on("dblclick.zoom",_).filter(s).on("touchstart.zoom",E).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}h.transform=function(T,P,I,D){var O=T.selection?T.selection():T;O.property("__zoom",lt),T!==O?A(T,P,I,D):O.interrupt().each(function(){w(this,arguments).event(D).start().zoom(null,typeof P=="function"?P.apply(this,arguments):P).end()})},h.scaleBy=function(T,P,I,D){h.scaleTo(T,function(){var O=this.__zoom.k,B=typeof P=="function"?P.apply(this,arguments):P;return O*B},I,D)},h.scaleTo=function(T,P,I,D){h.transform(T,function(){var O=n.apply(this,arguments),B=this.__zoom,G=I==null?x(O):typeof I=="function"?I.apply(this,arguments):I,q=B.invert(G),V=typeof P=="function"?P.apply(this,arguments):P;return i(p(y(B,V),G,q),O,l)},I,D)},h.translateBy=function(T,P,I,D){h.transform(T,function(){return i(this.__zoom.translate(typeof P=="function"?P.apply(this,arguments):P,typeof I=="function"?I.apply(this,arguments):I),n.apply(this,arguments),l)},null,D)},h.translateTo=function(T,P,I,D,O){h.transform(T,function(){var B=n.apply(this,arguments),G=this.__zoom,q=D==null?x(B):typeof D=="function"?D.apply(this,arguments):D;return i(zi.translate(q[0],q[1]).scale(G.k).translate(typeof P=="function"?-P.apply(this,arguments):-P,typeof I=="function"?-I.apply(this,arguments):-I),B,l)},D,O)};function y(T,P){return P=Math.max(t[0],Math.min(t[1],P)),P===T.k?T:new an(P,T.x,T.y)}function p(T,P,I){var D=P[0]-I[0]*T.k,O=P[1]-I[1]*T.k;return D===T.x&&O===T.y?T:new an(T.k,D,O)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function A(T,P,I,D){T.on("start.zoom",function(){w(this,arguments).event(D).start()}).on("interrupt.zoom end.zoom",function(){w(this,arguments).event(D).end()}).tween("zoom",function(){var O=this,B=arguments,G=w(O,B).event(D),q=n.apply(O,B),V=I==null?x(q):typeof I=="function"?I.apply(O,B):I,z=Math.max(q[1][0]-q[0][0],q[1][1]-q[0][1]),X=O.__zoom,oe=typeof P=="function"?P.apply(O,B):P,se=d(X.invert(V).concat(z/X.k),oe.invert(V).concat(z/oe.k));return function(ne){if(ne===1)ne=oe;else{var $=se(ne),ee=z/$[2];ne=new an(ee,V[0]-$[0]*ee,V[1]-$[1]*ee)}G.zoom(null,ne)}})}function w(T,P,I){return!I&&T.__zooming||new C(T,P)}function C(T,P){this.that=T,this.args=P,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,P),this.taps=0}C.prototype={event:function(T){return T&&(this.sourceEvent=T),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(T,P){return this.mouse&&T!=="mouse"&&(this.mouse[1]=P.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=P.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=P.invert(this.touch1[0])),this.that.__zoom=P,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var P=Ge(this.that).datum();u.call(T,this.that,new Jv(T,{sourceEvent:this.sourceEvent,target:h,transform:this.that.__zoom,dispatch:u}),P)}};function k(T,...P){if(!e.apply(this,arguments))return;var I=w(this,P).event(T),D=this.__zoom,O=Math.max(t[0],Math.min(t[1],D.k*Math.pow(2,o.apply(this,arguments)))),B=$e(T);if(I.wheel)(I.mouse[0][0]!==B[0]||I.mouse[0][1]!==B[1])&&(I.mouse[1]=D.invert(I.mouse[0]=B)),clearTimeout(I.wheel);else{if(D.k===O)return;I.mouse=[B,D.invert(B)],Vi(this),I.start()}ni(T),I.wheel=setTimeout(G,v),I.zoom("mouse",i(p(y(D,O),I.mouse[0],I.mouse[1]),I.extent,l));function G(){I.wheel=null,I.end()}}function M(T,...P){if(m||!e.apply(this,arguments))return;var I=T.currentTarget,D=w(this,P,!0).event(T),O=Ge(T.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",z,!0),B=$e(T,I),G=T.clientX,q=T.clientY;Pa(T.view),Qo(T),D.mouse=[B,this.__zoom.invert(B)],Vi(this),D.start();function V(X){if(ni(X),!D.moved){var oe=X.clientX-G,se=X.clientY-q;D.moved=oe*oe+se*se>g}D.event(X).zoom("mouse",i(p(D.that.__zoom,D.mouse[0]=$e(X,I),D.mouse[1]),D.extent,l))}function z(X){O.on("mousemove.zoom mouseup.zoom",null),La(X.view,D.moved),ni(X),D.event(X).end()}}function _(T,...P){if(e.apply(this,arguments)){var I=this.__zoom,D=$e(T.changedTouches?T.changedTouches[0]:T,this),O=I.invert(D),B=I.k*(T.shiftKey?.5:2),G=i(p(y(I,B),D,O),n.apply(this,P),l);ni(T),r>0?Ge(this).transition().duration(r).call(A,G,D,T):Ge(this).call(h.transform,G,D,T)}}function E(T,...P){if(e.apply(this,arguments)){var I=T.touches,D=I.length,O=w(this,P,T.changedTouches.length===D).event(T),B,G,q,V;for(Qo(T),G=0;G<D;++G)q=I[G],V=$e(q,this),V=[V,this.__zoom.invert(V),q.identifier],O.touch0?!O.touch1&&O.touch0[2]!==V[2]&&(O.touch1=V,O.taps=0):(O.touch0=V,B=!0,O.taps=1+!!b);b&&(b=clearTimeout(b)),B&&(O.taps<2&&(c=V[0],b=setTimeout(function(){b=null},f)),Vi(this),O.start())}}function L(T,...P){if(this.__zooming){var I=w(this,P).event(T),D=T.changedTouches,O=D.length,B,G,q,V;for(ni(T),B=0;B<O;++B)G=D[B],q=$e(G,this),I.touch0&&I.touch0[2]===G.identifier?I.touch0[0]=q:I.touch1&&I.touch1[2]===G.identifier&&(I.touch1[0]=q);if(G=I.that.__zoom,I.touch1){var z=I.touch0[0],X=I.touch0[1],oe=I.touch1[0],se=I.touch1[1],ne=(ne=oe[0]-z[0])*ne+(ne=oe[1]-z[1])*ne,$=($=se[0]-X[0])*$+($=se[1]-X[1])*$;G=y(G,Math.sqrt(ne/$)),q=[(z[0]+oe[0])/2,(z[1]+oe[1])/2],V=[(X[0]+se[0])/2,(X[1]+se[1])/2]}else if(I.touch0)q=I.touch0[0],V=I.touch0[1];else return;I.zoom("touch",i(p(G,q,V),I.extent,l))}}function H(T,...P){if(this.__zooming){var I=w(this,P).event(T),D=T.changedTouches,O=D.length,B,G;for(Qo(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),B=0;B<O;++B)G=D[B],I.touch0&&I.touch0[2]===G.identifier?delete I.touch0:I.touch1&&I.touch1[2]===G.identifier&&delete I.touch1;if(I.touch1&&!I.touch0&&(I.touch0=I.touch1,delete I.touch1),I.touch0)I.touch0[1]=this.__zoom.invert(I.touch0[0]);else if(I.end(),I.taps===2&&(G=$e(G,this),Math.hypot(c[0]-G[0],c[1]-G[1])<S)){var q=Ge(this).on("dblclick.zoom");q&&q.apply(this,arguments)}}}return h.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:Gi(+T),h):o},h.filter=function(T){return arguments.length?(e=typeof T=="function"?T:Gi(!!T),h):e},h.touchable=function(T){return arguments.length?(s=typeof T=="function"?T:Gi(!!T),h):s},h.extent=function(T){return arguments.length?(n=typeof T=="function"?T:Gi([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),h):n},h.scaleExtent=function(T){return arguments.length?(t[0]=+T[0],t[1]=+T[1],h):[t[0],t[1]]},h.translateExtent=function(T){return arguments.length?(l[0][0]=+T[0][0],l[1][0]=+T[1][0],l[0][1]=+T[0][1],l[1][1]=+T[1][1],h):[[l[0][0],l[0][1]],[l[1][0],l[1][1]]]},h.constrain=function(T){return arguments.length?(i=T,h):i},h.duration=function(T){return arguments.length?(r=+T,h):r},h.interpolate=function(T){return arguments.length?(d=T,h):d},h.on=function(){var T=u.on.apply(u,arguments);return T===u?h:T},h.clickDistance=function(T){return arguments.length?(g=(T=+T)*T,h):Math.sqrt(g)},h.tapDistance=function(T){return arguments.length?(S=+T,h):S},h}const ze={error001:(e="react")=>`Seems like you have not used ${e==="svelte"?"SvelteFlowProvider":"ReactFlowProvider"} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:n,sourceHandle:i,targetHandle:o})=>`Couldn't create edge for ${e} handle id: "${e==="source"?i:o}", edge id: ${n}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.",error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},ii=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],dt=["Enter"," ","Escape"],ut={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:n,y:i})=>`Moved selected node ${e}. New position, x: ${n}, y: ${i}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var Pn;(function(e){e.Strict="strict",e.Loose="loose"})(Pn||(Pn={}));var pn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(pn||(pn={}));var oi;(function(e){e.Partial="partial",e.Full="full"})(oi||(oi={}));const ct={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var dn;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(dn||(dn={}));var Ln;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Ln||(Ln={}));var ue;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ue||(ue={}));const bt={[ue.Left]:ue.Right,[ue.Right]:ue.Left,[ue.Top]:ue.Bottom,[ue.Bottom]:ue.Top};function mt(e){return e===null?null:e?"valid":"invalid"}const vt=e=>"id"in e&&"source"in e&&"target"in e,nf=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Ro=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),si=(e,n=[0,0])=>{var r;const{width:i,height:o}=tn(e),s=(r=e.origin)!=null?r:n,t=i*s[0],l=o*s[1];return{x:e.position.x-t,y:e.position.y-l}},of=(e,n={nodeOrigin:[0,0]})=>{if(process.env.NODE_ENV==="development"&&!n.nodeLookup&&console.warn("Please use `getNodesBounds` from `useReactFlow`/`useSvelteFlow` hook to ensure correct values for sub flows. If not possible, you have to provide a nodeLookup to support sub flows."),e.length===0)return{x:0,y:0,width:0,height:0};const i=e.reduce((o,s)=>{const t=typeof s=="string";let l=!n.nodeLookup&&!t?s:void 0;n.nodeLookup&&(l=t?n.nodeLookup.get(s):Ro(s)?s:n.nodeLookup.get(s.id));const r=l?ji(l,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return $i(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return Wi(i)},ai=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(s=>{(n.filter===void 0||n.filter(s))&&(i=$i(i,ji(s)),o=!0)}),o?Wi(i):{x:0,y:0,width:0,height:0}},es=(e,n,[i,o,s]=[0,0,1],t=!1,l=!1)=>{var m,f,v,g,S,h;const r=(n.x-i)/s,d=(n.y-o)/s,u=n.width/s,b=n.height/s,c=[];for(const y of e.values()){const{measured:p,selectable:x=!0,hidden:A=!1}=y;if(l&&!x||A)continue;const w=(v=(f=(m=p.width)!=null?m:y.width)!=null?f:y.initialWidth)!=null?v:0,C=(h=(S=(g=p.height)!=null?g:y.height)!=null?S:y.initialHeight)!=null?h:0,{x:k,y:M}=y.internals.positionAbsolute,_=yt(r,d,u,b,k,M,w,C),E=w*C,L=t&&_>0;(!y.internals.handleBounds||L||_>=E||y.dragging)&&c.push(y)}return c},sf=(e,n)=>{const i=new Set;return e.forEach(o=>{i.add(o.id)}),n.filter(o=>i.has(o.source)||i.has(o.target))};function af(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!s.hidden)&&(!o||o.has(s.id))&&i.set(s.id,s)}),i}async function tf({nodes:e,width:n,height:i,panZoom:o,minZoom:s,maxZoom:t},l){var b,c,m;if(e.size===0)return!0;const r=af(e,l),d=ai(r),u=os(d,n,i,(b=l==null?void 0:l.minZoom)!=null?b:s,(c=l==null?void 0:l.maxZoom)!=null?c:t,(m=l==null?void 0:l.padding)!=null?m:.1);return await o.setViewport(u,{duration:l==null?void 0:l.duration,ease:l==null?void 0:l.ease,interpolate:l==null?void 0:l.interpolate}),!0}function ft({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:s,onError:t}){var f,v,g;const l=i.get(e),r=l.parentId?i.get(l.parentId):void 0,{x:d,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},b=(f=l.origin)!=null?f:o;let c=l.extent||s;if(l.extent==="parent"&&!l.expandParent)if(!r)t==null||t("005",ze.error005());else{const S=r.measured.width,h=r.measured.height;S&&h&&(c=[[d,u],[d+S,u+h]])}else r&&yn(l.extent)&&(c=[[l.extent[0][0]+d,l.extent[0][1]+u],[l.extent[1][0]+d,l.extent[1][1]+u]]);const m=yn(c)?gn(n,c,l.measured):n;return(l.measured.width===void 0||l.measured.height===void 0)&&(t==null||t("015",ze.error015())),{position:{x:m.x-d+((v=l.measured.width)!=null?v:0)*b[0],y:m.y-u+((g=l.measured.height)!=null?g:0)*b[1]},positionAbsolute:m}}async function lf({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:s}){const t=new Set(e.map(m=>m.id)),l=[];for(const m of i){if(m.deletable===!1)continue;const f=t.has(m.id),v=!f&&m.parentId&&l.find(g=>g.id===m.parentId);(f||v)&&l.push(m)}const r=new Set(n.map(m=>m.id)),d=o.filter(m=>m.deletable!==!1),b=sf(l,d);for(const m of d)r.has(m.id)&&!b.find(v=>v.id===m.id)&&b.push(m);if(!s)return{edges:b,nodes:l};const c=await s({nodes:l,edges:b});return typeof c=="boolean"?c?{edges:b,nodes:l}:{edges:[],nodes:[]}:c}const Bn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),gn=(e={x:0,y:0},n,i)=>{var o,s;return{x:Bn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Bn(e.y,n[0][1],n[1][1]-((s=i==null?void 0:i.height)!=null?s:0))}};function ht(e,n,i){const{width:o,height:s}=tn(i),{x:t,y:l}=i.internals.positionAbsolute;return gn(e,[[t,l],[t+o,l+s]],n)}const pt=(e,n,i)=>e<n?Bn(Math.abs(e-n),1,n)/n:e>i?-Bn(Math.abs(e-i),1,n)/n:0,ns=(e,n,i=15,o=40)=>{const s=pt(e.x,o,n.width-o)*i,t=pt(e.y,o,n.height-o)*i;return[s,t]},$i=(e,n)=>({x:Math.min(e.x,n.x),y:Math.min(e.y,n.y),x2:Math.max(e.x2,n.x2),y2:Math.max(e.y2,n.y2)}),is=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),Wi=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),ti=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Ro(e)?e.internals.positionAbsolute:si(e,n);return{x:i,y:o,width:(r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0,height:(c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0}},ji=(e,n=[0,0])=>{var s,t,l,r,d,u,b,c;const{x:i,y:o}=Ro(e)?e.internals.positionAbsolute:si(e,n);return{x:i,y:o,x2:i+((r=(l=(t=(s=e.measured)==null?void 0:s.width)!=null?t:e.width)!=null?l:e.initialWidth)!=null?r:0),y2:o+((c=(b=(u=(d=e.measured)==null?void 0:d.height)!=null?u:e.height)!=null?b:e.initialHeight)!=null?c:0)}},gt=(e,n)=>Wi($i(is(e),is(n))),yt=(e,n,i,o,s,t,l,r)=>{const d=Math.max(0,Math.min(e+i,s+l)-Math.max(e,s)),u=Math.max(0,Math.min(n+o,t+r)-Math.max(n,t));return Math.ceil(d*u)},Ui=(e,n)=>yt(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),xt=e=>Ue(e.width)&&Ue(e.height)&&Ue(e.x)&&Ue(e.y),Ue=e=>!isNaN(e)&&isFinite(e),St=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},li=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),ri=({x:e,y:n},[i,o,s],t=!1,l=[1,1])=>{const r={x:(e-i)/s,y:(n-o)/s};return t?li(r,l):r},In=({x:e,y:n},[i,o,s])=>({x:e*s+i,y:n*s+o});function Dn(e,n){if(typeof e=="number")return Math.floor((n-n/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(i)}if(typeof e=="string"&&e.endsWith("%")){const i=parseFloat(e);if(!Number.isNaN(i))return Math.floor(n*i*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function rf(e,n,i){var o,s,t,l,r,d,u,b;if(typeof e=="string"||typeof e=="number"){const c=Dn(e,i),m=Dn(e,n);return{top:c,right:m,bottom:c,left:m,x:m*2,y:c*2}}if(typeof e=="object"){const c=Dn((s=(o=e.top)!=null?o:e.y)!=null?s:0,i),m=Dn((l=(t=e.bottom)!=null?t:e.y)!=null?l:0,i),f=Dn((d=(r=e.left)!=null?r:e.x)!=null?d:0,n),v=Dn((b=(u=e.right)!=null?u:e.x)!=null?b:0,n);return{top:c,right:v,bottom:m,left:f,x:f+v,y:c+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function df(e,n,i,o,s,t){const{x:l,y:r}=In(e,[n,i,o]),{x:d,y:u}=In({x:e.x+e.width,y:e.y+e.height},[n,i,o]),b=s-d,c=t-u;return{left:Math.floor(l),top:Math.floor(r),right:Math.floor(b),bottom:Math.floor(c)}}const os=(e,n,i,o,s,t)=>{const l=rf(t,n,i),r=(n-l.x)/e.width,d=(i-l.y)/e.height,u=Math.min(r,d),b=Bn(u,o,s),c=e.x+e.width/2,m=e.y+e.height/2,f=n/2-c*b,v=i/2-m*b,g=df(e,f,v,b,n,i),S={left:Math.min(g.left-l.left,0),top:Math.min(g.top-l.top,0),right:Math.min(g.right-l.right,0),bottom:Math.min(g.bottom-l.bottom,0)};return{x:f-S.left+S.right,y:v-S.top+S.bottom,zoom:b}},di=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function yn(e){return e!=null&&e!=="parent"}function tn(e){var n,i,o,s,t,l,r,d;return{width:(s=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?s:0,height:(d=(r=(l=(t=e.measured)==null?void 0:t.height)!=null?l:e.height)!=null?r:e.initialHeight)!=null?d:0}}function wt(e){var n,i,o,s,t,l;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((l=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?l:e.initialHeight)!==void 0}function Nt(e,n={width:0,height:0},i,o,s){var r,d;const t={...e},l=o.get(i);if(l){const u=l.origin||s;t.x+=l.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],t.y+=l.internals.positionAbsolute.y-((d=n.height)!=null?d:0)*u[1]}return t}function Ct(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function uf(){let e,n;return{promise:new Promise((o,s)=>{e=o,n=s}),resolve:e,reject:n}}function cf(e){return{...ut,...e||{}}}function ui(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:s}){var b,c;const{x:t,y:l}=qe(e),r=ri({x:t-((b=s==null?void 0:s.left)!=null?b:0),y:l-((c=s==null?void 0:s.top)!=null?c:0)},o),{x:d,y:u}=i?li(r,n):r;return{xSnapped:d,ySnapped:u,...r}}const ss=e=>({width:e.offsetWidth,height:e.offsetHeight}),At=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},bf=["INPUT","SELECT","TEXTAREA"];function kt(e){var o,s;const n=((s=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:s[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:bf.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Et=e=>"clientX"in e,qe=(e,n)=>{var t,l,r,d;const i=Et(e),o=i?e.clientX:(t=e.touches)==null?void 0:t[0].clientX,s=i?e.clientY:(l=e.touches)==null?void 0:l[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:s-((d=n==null?void 0:n.top)!=null?d:0)}},Mt=(e,n,i,o,s)=>{const t=n.querySelectorAll(`.${e}`);return!t||!t.length?null:Array.from(t).map(l=>{const r=l.getBoundingClientRect();return{id:l.getAttribute("data-handleid"),type:e,nodeId:s,position:l.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...ss(l)}})};function Tt({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:s,sourceControlY:t,targetControlX:l,targetControlY:r}){const d=e*.125+s*.375+l*.375+i*.125,u=n*.125+t*.375+r*.375+o*.125,b=Math.abs(d-e),c=Math.abs(u-n);return[d,u,b,c]}function qi(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Pt({pos:e,x1:n,y1:i,x2:o,y2:s,c:t}){switch(e){case ue.Left:return[n-qi(n-o,t),i];case ue.Right:return[n+qi(o-n,t),i];case ue.Top:return[n,i-qi(i-s,t)];case ue.Bottom:return[n,i+qi(s-i,t)]}}function Lt({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,curvature:l=.25}){const[r,d]=Pt({pos:i,x1:e,y1:n,x2:o,y2:s,c:l}),[u,b]=Pt({pos:t,x1:o,y1:s,x2:e,y2:n,c:l}),[c,m,f,v]=Tt({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:r,sourceControlY:d,targetControlX:u,targetControlY:b});return[`M${e},${n} C${r},${d} ${u},${b} ${o},${s}`,c,m,f,v]}function Bt({sourceX:e,sourceY:n,targetX:i,targetY:o}){const s=Math.abs(i-e)/2,t=i<e?i+s:i-s,l=Math.abs(o-n)/2,r=o<n?o+l:o-l;return[t,r,s,l]}function mf({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:s=!1,zIndexMode:t="basic"}){if(t==="manual")return o;const l=s&&i?o+1e3:o,r=Math.max(e.parentId||s&&e.selected?e.internals.z:0,n.parentId||s&&n.selected?n.internals.z:0);return l+r}function vf({sourceNode:e,targetNode:n,width:i,height:o,transform:s}){const t=$i(ji(e),ji(n));t.x===t.x2&&(t.x2+=1),t.y===t.y2&&(t.y2+=1);const l={x:-s[0]/s[2],y:-s[1]/s[2],width:i/s[2],height:o/s[2]};return Ui(l,Wi(t))>0}const ff=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,hf=(e,n)=>n.some(i=>i.source===e.source&&i.target===e.target&&(i.sourceHandle===e.sourceHandle||!i.sourceHandle&&!e.sourceHandle)&&(i.targetHandle===e.targetHandle||!i.targetHandle&&!e.targetHandle)),pf=(e,n,i={})=>{var t;if(!e.source||!e.target)return(t=i.onError)==null||t.call(i,"006",ze.error006()),n;const o=i.getEdgeId||ff;let s;return vt(e)?s={...e}:s={...e,id:o(e)},hf(s,n)?n:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,n.concat(s))};function It({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[s,t,l,r]=Bt({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,s,t,l,r]}const Dt={[ue.Left]:{x:-1,y:0},[ue.Right]:{x:1,y:0},[ue.Top]:{x:0,y:-1},[ue.Bottom]:{x:0,y:1}},gf=({source:e,sourcePosition:n=ue.Bottom,target:i})=>n===ue.Left||n===ue.Right?e.x<i.x?{x:1,y:0}:{x:-1,y:0}:e.y<i.y?{x:0,y:1}:{x:0,y:-1},Ot=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function yf({source:e,sourcePosition:n=ue.Bottom,target:i,targetPosition:o=ue.Top,center:s,offset:t,stepPosition:l}){var k,M,_,E;const r=Dt[n],d=Dt[o],u={x:e.x+r.x*t,y:e.y+r.y*t},b={x:i.x+d.x*t,y:i.y+d.y*t},c=gf({source:u,sourcePosition:n,target:b}),m=c.x!==0?"x":"y",f=c[m];let v=[],g,S;const h={x:0,y:0},y={x:0,y:0},[,,p,x]=Bt({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*d[m]===-1){m==="x"?(g=(k=s.x)!=null?k:u.x+(b.x-u.x)*l,S=(M=s.y)!=null?M:(u.y+b.y)/2):(g=(_=s.x)!=null?_:(u.x+b.x)/2,S=(E=s.y)!=null?E:u.y+(b.y-u.y)*l);const L=[{x:g,y:u.y},{x:g,y:b.y}],H=[{x:u.x,y:S},{x:b.x,y:S}];r[m]===f?v=m==="x"?L:H:v=m==="x"?H:L}else{const L=[{x:u.x,y:b.y}],H=[{x:b.x,y:u.y}];if(m==="x"?v=r.x===f?H:L:v=r.y===f?L:H,n===o){const O=Math.abs(e[m]-i[m]);if(O<=t){const B=Math.min(t-1,t-O);r[m]===f?h[m]=(u[m]>e[m]?-1:1)*B:y[m]=(b[m]>i[m]?-1:1)*B}}if(n!==o){const O=m==="x"?"y":"x",B=r[m]===d[O],G=u[O]>b[O],q=u[O]<b[O];(r[m]===1&&(!B&&G||B&&q)||r[m]!==1&&(!B&&q||B&&G))&&(v=m==="x"?L:H)}const T={x:u.x+h.x,y:u.y+h.y},P={x:b.x+y.x,y:b.y+y.y},I=Math.max(Math.abs(T.x-v[0].x),Math.abs(P.x-v[0].x)),D=Math.max(Math.abs(T.y-v[0].y),Math.abs(P.y-v[0].y));I>=D?(g=(T.x+P.x)/2,S=v[0].y):(g=v[0].x,S=(T.y+P.y)/2)}const A={x:u.x+h.x,y:u.y+h.y},w={x:b.x+y.x,y:b.y+y.y};return[[e,...A.x!==v[0].x||A.y!==v[0].y?[A]:[],...v,...w.x!==v[v.length-1].x||w.y!==v[v.length-1].y?[w]:[],i],g,S,p,x]}function xf(e,n,i,o){const s=Math.min(Ot(e,n)/2,Ot(n,i)/2,o),{x:t,y:l}=n;if(e.x===t&&t===i.x||e.y===l&&l===i.y)return`L${t} ${l}`;if(e.y===l){const u=e.x<i.x?-1:1,b=e.y<i.y?1:-1;return`L ${t+s*u},${l}Q ${t},${l} ${t},${l+s*b}`}const r=e.x<i.x?1:-1,d=e.y<i.y?-1:1;return`L ${t},${l+s*d}Q ${t},${l} ${t+s*r},${l}`}function as({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top,borderRadius:l=5,centerX:r,centerY:d,offset:u=20,stepPosition:b=.5}){const[c,m,f,v,g]=yf({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:s},targetPosition:t,center:{x:r,y:d},offset:u,stepPosition:b});let S=`M${c[0].x} ${c[0].y}`;for(let h=1;h<c.length-1;h++)S+=xf(c[h-1],c[h],c[h+1],l);return S+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[S,m,f,v,g]}function _t(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function Sf(e){var c,m,f,v,g;const{sourceNode:n,targetNode:i}=e;if(!_t(n)||!_t(i))return null;const o=n.internals.handleBounds||Ft(n.handles),s=i.internals.handleBounds||Ft(i.handles),t=Ht((c=o==null?void 0:o.source)!=null?c:[],e.sourceHandle),l=Ht(e.connectionMode===Pn.Strict?(m=s==null?void 0:s.target)!=null?m:[]:((f=s==null?void 0:s.target)!=null?f:[]).concat((v=s==null?void 0:s.source)!=null?v:[]),e.targetHandle);if(!t||!l)return(g=e.onError)==null||g.call(e,"008",ze.error008(t?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(t==null?void 0:t.position)||ue.Bottom,d=(l==null?void 0:l.position)||ue.Top,u=xn(n,t,r),b=xn(i,l,d);return{sourceX:u.x,sourceY:u.y,targetX:b.x,targetY:b.y,sourcePosition:r,targetPosition:d}}function Ft(e){var o,s;if(!e)return null;const n=[],i=[];for(const t of e)t.width=(o=t.width)!=null?o:1,t.height=(s=t.height)!=null?s:1,t.type==="source"?n.push(t):t.type==="target"&&i.push(t);return{source:n,target:i}}function xn(e,n,i=ue.Left,o=!1){var u,b,c;const s=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,t=((b=n==null?void 0:n.y)!=null?b:0)+e.internals.positionAbsolute.y,{width:l,height:r}=n!=null?n:tn(e);if(o)return{x:s+l/2,y:t+r/2};switch((c=n==null?void 0:n.position)!=null?c:i){case ue.Top:return{x:s+l/2,y:t};case ue.Right:return{x:s+l,y:t+r/2};case ue.Bottom:return{x:s+l/2,y:t+r};case ue.Left:return{x:s,y:t+r/2}}}function Ht(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function ts(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function wf(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:s}){const t=new Set;return e.reduce((l,r)=>([r.markerStart||o,r.markerEnd||s].forEach(d=>{if(d&&typeof d=="object"){const u=ts(d,n);t.has(u)||(l.push({id:u,color:d.color||i,...d}),t.add(u))}}),l),[]).sort((l,r)=>l.id.localeCompare(r.id))}const Kt=1e3,Nf=10,ls={nodeOrigin:[0,0],nodeExtent:ii,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},Cf={...ls,checkEquality:!0};function rs(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function Af(e,n,i){const o=rs(ls,i);for(const s of e.values())if(s.parentId)cs(s,e,n,o);else{const t=si(s,o.nodeOrigin),l=yn(s.extent)?s.extent:o.nodeExtent,r=gn(t,l,tn(s));s.internals.positionAbsolute=r}}function kf(e,n){var s,t;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const l of e.handles){const r={id:l.id,width:(s=l.width)!=null?s:1,height:(t=l.height)!=null?t:1,nodeId:e.id,x:l.x,y:l.y,position:l.position,type:l.type};l.type==="source"?i.push(r):l.type==="target"&&o.push(r)}return{source:i,target:o}}function ds(e){return e==="manual"}function us(e,n,i,o={}){var b,c,m;const s=rs(Cf,o),t={i:0},l=new Map(n),r=s!=null&&s.elevateNodesOnSelect&&!ds(s.zIndexMode)?Kt:0;let d=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let v=l.get(f.id);if(s.checkEquality&&f===(v==null?void 0:v.internals.userNode))n.set(f.id,v);else{const g=si(f,s.nodeOrigin),S=yn(f.extent)?f.extent:s.nodeExtent,h=gn(g,S,tn(f));v={...s.defaults,...f,measured:{width:(b=f.measured)==null?void 0:b.width,height:(c=f.measured)==null?void 0:c.height},internals:{positionAbsolute:h,handleBounds:kf(f,v),z:Vt(f,r,s.zIndexMode),userNode:f}},n.set(f.id,v)}(v.measured===void 0||v.measured.width===void 0||v.measured.height===void 0)&&!v.hidden&&(d=!1),f.parentId&&cs(v,n,i,o,t),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:d,hasSelectedNodes:u}}function Ef(e,n){if(!e.parentId)return;const i=n.get(e.parentId);i?i.set(e.id,e):n.set(e.parentId,new Map([[e.id,e]]))}function cs(e,n,i,o,s){const{elevateNodesOnSelect:t,nodeOrigin:l,nodeExtent:r,zIndexMode:d}=rs(ls,o),u=e.parentId,b=n.get(u);if(!b){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ef(e,i),s&&!b.parentId&&b.internals.rootParentIndex===void 0&&d==="auto"&&(b.internals.rootParentIndex=++s.i,b.internals.z=b.internals.z+s.i*Nf),s&&b.internals.rootParentIndex!==void 0&&(s.i=b.internals.rootParentIndex);const c=t&&!ds(d)?Kt:0,{x:m,y:f,z:v}=Mf(e,b,l,r,c,d),{positionAbsolute:g}=e.internals,S=m!==g.x||f!==g.y;(S||v!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:S?{x:m,y:f}:g,z:v}})}function Vt(e,n,i){const o=Ue(e.zIndex)?e.zIndex:0;return ds(i)?o:o+(e.selected?n:0)}function Mf(e,n,i,o,s,t){var v;const{x:l,y:r}=n.internals.positionAbsolute,d=tn(e),u=si(e,i),b=yn(e.extent)?gn(u,e.extent,d):u;let c=gn({x:l+b.x,y:r+b.y},o,d);e.extent==="parent"&&(c=ht(c,d,n));const m=Vt(e,s,t),f=(v=n.internals.z)!=null?v:0;return{x:c.x,y:c.y,z:f>=m?f+1:m}}function bs(e,n,i,o=[0,0]){var l,r;const s=[],t=new Map;for(const d of e){const u=n.get(d.parentId);if(!u)continue;const b=(r=(l=t.get(d.parentId))==null?void 0:l.expandedRect)!=null?r:ti(u),c=gt(b,d.rect);t.set(d.parentId,{expandedRect:c,parent:u})}return t.size>0&&t.forEach(({expandedRect:d,parent:u},b)=>{var x,A;const c=u.internals.positionAbsolute,m=tn(u),f=(x=u.origin)!=null?x:o,v=d.x<c.x?Math.round(Math.abs(c.x-d.x)):0,g=d.y<c.y?Math.round(Math.abs(c.y-d.y)):0,S=Math.max(m.width,Math.round(d.width)),h=Math.max(m.height,Math.round(d.height)),y=(S-m.width)*f[0],p=(h-m.height)*f[1];(v>0||g>0||y||p)&&(s.push({id:b,type:"position",position:{x:u.position.x-v+y,y:u.position.y-g+p}}),(A=i.get(b))==null||A.forEach(w=>{e.some(C=>C.id===w.id)||s.push({id:w.id,type:"position",position:{x:w.position.x+v,y:w.position.y+g}})})),(m.width<d.width||m.height<d.height||v||g)&&s.push({id:b,type:"dimensions",setAttributes:!0,dimensions:{width:S+(v?f[0]*v-y:0),height:h+(g?f[1]*g-p:0)}})}),s}function Tf(e,n,i,o,s,t,l){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let d=!1;if(!r)return{changes:[],updatedInternals:d};const u=[],b=window.getComputedStyle(r),{m22:c}=new window.DOMMatrixReadOnly(b.transform),m=[];for(const f of e.values()){const v=n.get(f.id);if(!v)continue;if(v.hidden){n.set(v.id,{...v,internals:{...v.internals,handleBounds:void 0}}),d=!0;continue}const g=ss(f.nodeElement),S=v.measured.width!==g.width||v.measured.height!==g.height;if(!!(g.width&&g.height&&(S||!v.internals.handleBounds||f.force))){const y=f.nodeElement.getBoundingClientRect(),p=yn(v.extent)?v.extent:t;let{positionAbsolute:x}=v.internals;v.parentId&&v.extent==="parent"?x=ht(x,g,n.get(v.parentId)):p&&(x=gn(x,p,g));const A={...v,measured:g,internals:{...v.internals,positionAbsolute:x,handleBounds:{source:Mt("source",f.nodeElement,y,c,v.id),target:Mt("target",f.nodeElement,y,c,v.id)}}};n.set(v.id,A),v.parentId&&cs(A,n,i,{nodeOrigin:s,zIndexMode:l}),d=!0,S&&(u.push({id:v.id,type:"dimensions",dimensions:g}),v.expandParent&&v.parentId&&m.push({id:v.id,parentId:v.parentId,rect:ti(A,s)}))}}if(m.length>0){const f=bs(m,n,i,s);u.push(...f)}return{changes:u,updatedInternals:d}}async function Pf({delta:e,panZoom:n,transform:i,translateExtent:o,width:s,height:t}){if(!n||!e.x&&!e.y)return!1;const l=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[s,t]],o);return!!l&&(l.x!==i[0]||l.y!==i[1]||l.k!==i[2])}function Gt(e,n,i,o,s,t){let l=s;const r=o.get(l)||new Map;o.set(l,r.set(i,n)),l=`${s}-${e}`;const d=o.get(l)||new Map;if(o.set(l,d.set(i,n)),t){l=`${s}-${e}-${t}`;const u=o.get(l)||new Map;o.set(l,u.set(i,n))}}function zt(e,n,i){e.clear(),n.clear();for(const o of i){const{source:s,target:t,sourceHandle:l=null,targetHandle:r=null}=o,d={edgeId:o.id,source:s,target:t,sourceHandle:l,targetHandle:r},u=`${s}-${l}--${t}-${r}`,b=`${t}-${r}--${s}-${l}`;Gt("source",d,b,e,s,l),Gt("target",d,u,e,t,r),n.set(o.id,o)}}function $t(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:$t(i,n):!1}function Wt(e,n,i){var s;let o=e;do{if((s=o==null?void 0:o.matches)!=null&&s.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function Lf(e,n,i,o){var t,l;const s=new Map;for(const[r,d]of e)if((d.selected||d.id===o)&&(!d.parentId||!$t(d,e))&&(d.draggable||n&&typeof d.draggable=="undefined")){const u=e.get(r);u&&s.set(r,{id:r,position:u.position||{x:0,y:0},distance:{x:i.x-u.internals.positionAbsolute.x,y:i.y-u.internals.positionAbsolute.y},extent:u.extent,parentId:u.parentId,origin:u.origin,expandParent:u.expandParent,internals:{positionAbsolute:u.internals.positionAbsolute||{x:0,y:0}},measured:{width:(t=u.measured.width)!=null?t:0,height:(l=u.measured.height)!=null?l:0}})}return s}function ms({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var l,r,d;const s=[];for(const[u,b]of n){const c=(l=i.get(u))==null?void 0:l.internals.userNode;c&&s.push({...c,position:b.position,dragging:o})}if(!e)return[s[0],s];const t=(r=i.get(e))==null?void 0:r.internals.userNode;return[t?{...t,position:((d=n.get(e))==null?void 0:d.position)||t.position,dragging:o}:s[0],s]}function Bf({dragItems:e,snapGrid:n,x:i,y:o}){const s=e.values().next().value;if(!s)return null;const t={x:i-s.distance.x,y:o-s.distance.y},l=li(t,n);return{x:l.x-t.x,y:l.y-t.y}}function If({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:s}){let t={x:null,y:null},l=0,r=new Map,d=!1,u={x:0,y:0},b=null,c=!1,m=null,f=!1,v=!1,g=null;function S({noDragClassName:y,handleSelector:p,domNode:x,isSelectable:A,nodeId:w,nodeClickDistance:C=0}){m=Ge(x);function k({x:L,y:H}){const{nodeLookup:T,nodeExtent:P,snapGrid:I,snapToGrid:D,nodeOrigin:O,onNodeDrag:B,onSelectionDrag:G,onError:q,updateNodePositions:V}=n();t={x:L,y:H};let z=!1;const X=r.size>1,oe=X&&P?is(ai(r)):null,se=X&&D?Bf({dragItems:r,snapGrid:I,x:L,y:H}):null;for(const[ne,$]of r){if(!T.has(ne))continue;let ee={x:L-$.distance.x,y:H-$.distance.y};D&&(ee=se?{x:Math.round(ee.x+se.x),y:Math.round(ee.y+se.y)}:li(ee,I));let le=null;if(X&&P&&!$.extent&&oe){const{positionAbsolute:ce}=$.internals,re=ce.x-oe.x+P[0][0],ye=ce.x+$.measured.width-oe.x2+P[1][0],Y=ce.y-oe.y+P[0][1],J=ce.y+$.measured.height-oe.y2+P[1][1];le=[[re,Y],[ye,J]]}const{position:R,positionAbsolute:ge}=ft({nodeId:ne,nextPosition:ee,nodeLookup:T,nodeExtent:le||P,nodeOrigin:O,onError:q});z=z||$.position.x!==R.x||$.position.y!==R.y,$.position=R,$.internals.positionAbsolute=ge}if(v=v||z,!!z&&(V(r,!0),g&&(o||B||!w&&G))){const[ne,$]=ms({nodeId:w,dragItems:r,nodeLookup:T});o==null||o(g,r,ne,$),B==null||B(g,ne,$),w||G==null||G(g,$)}}async function M(){var O,B;if(!b)return;const{transform:L,panBy:H,autoPanSpeed:T,autoPanOnNodeDrag:P}=n();if(!P){d=!1,cancelAnimationFrame(l);return}const[I,D]=ns(u,b,T);(I!==0||D!==0)&&(t.x=((O=t.x)!=null?O:0)-I/L[2],t.y=((B=t.y)!=null?B:0)-D/L[2],await H({x:I,y:D})&&k(t)),l=requestAnimationFrame(M)}function _(L){var X;const{nodeLookup:H,multiSelectionActive:T,nodesDraggable:P,transform:I,snapGrid:D,snapToGrid:O,selectNodesOnDrag:B,onNodeDragStart:G,onSelectionDragStart:q,unselectNodesAndEdges:V}=n();c=!0,(!B||!A)&&!T&&w&&((X=H.get(w))!=null&&X.selected||V()),A&&B&&w&&(e==null||e(w));const z=ui(L.sourceEvent,{transform:I,snapGrid:D,snapToGrid:O,containerBounds:b});if(t=z,r=Lf(H,P,z,w),r.size>0&&(i||G||!w&&q)){const[oe,se]=ms({nodeId:w,dragItems:r,nodeLookup:H});i==null||i(L.sourceEvent,r,oe,se),G==null||G(L.sourceEvent,oe,se),w||q==null||q(L.sourceEvent,se)}}const E=Ba().clickDistance(C).on("start",L=>{const{domNode:H,nodeDragThreshold:T,transform:P,snapGrid:I,snapToGrid:D}=n();b=(H==null?void 0:H.getBoundingClientRect())||null,f=!1,v=!1,g=L.sourceEvent,T===0&&_(L),t=ui(L.sourceEvent,{transform:P,snapGrid:I,snapToGrid:D,containerBounds:b}),u=qe(L.sourceEvent,b)}).on("drag",L=>{const{autoPanOnNodeDrag:H,transform:T,snapGrid:P,snapToGrid:I,nodeDragThreshold:D,nodeLookup:O}=n(),B=ui(L.sourceEvent,{transform:T,snapGrid:P,snapToGrid:I,containerBounds:b});if(g=L.sourceEvent,(L.sourceEvent.type==="touchmove"&&L.sourceEvent.touches.length>1||w&&!O.has(w))&&(f=!0),!f){if(!d&&H&&c&&(d=!0,M()),!c){const G=qe(L.sourceEvent,b),q=G.x-u.x,V=G.y-u.y;Math.sqrt(q*q+V*V)>D&&_(L)}(t.x!==B.xSnapped||t.y!==B.ySnapped)&&r&&c&&(u=qe(L.sourceEvent,b),k(B))}}).on("end",L=>{if(!c||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(d=!1,c=!1,cancelAnimationFrame(l),r.size>0){const{nodeLookup:H,updateNodePositions:T,onNodeDragStop:P,onSelectionDragStop:I}=n();if(v&&(T(r,!1),v=!1),s||P||!w&&I){const[D,O]=ms({nodeId:w,dragItems:r,nodeLookup:H,dragging:!1});s==null||s(L.sourceEvent,r,D,O),P==null||P(L.sourceEvent,D,O),w||I==null||I(L.sourceEvent,O)}}}).filter(L=>{const H=L.target;return!L.button&&(!y||!Wt(H,`.${y}`,x))&&(!p||Wt(H,p,x))});m.call(E)}function h(){m==null||m.on(".drag",null)}return{update:S,destroy:h}}function Df(e,n,i){const o=[],s={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const t of n.values())Ui(s,ti(t))>0&&o.push(t);return o}const Of=250;function _f(e,n,i,o){var r,d,u,b,c;let s=[],t=1/0;const l=Df(e,i,n+Of);for(const m of l){const f=[...(d=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?d:[],...(b=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?b:[]];for(const v of f){if(o.nodeId===v.nodeId&&o.type===v.type&&o.id===v.id)continue;const{x:g,y:S}=xn(m,v,v.position,!0),h=Math.sqrt(Math.pow(g-e.x,2)+Math.pow(S-e.y,2));h>n||(h<t?(s=[{...v,x:g,y:S}],t=h):h===t&&s.push({...v,x:g,y:S}))}}if(!s.length)return null;if(s.length>1){const m=o.type==="source"?"target":"source";return(c=s.find(f=>f.type===m))!=null?c:s[0]}return s[0]}function jt(e,n,i,o,s,t=!1){var u,b,c,m,f,v;const l=o.get(e);if(!l)return null;const r=s==="strict"?(u=l.internals.handleBounds)==null?void 0:u[n]:[...(c=(b=l.internals.handleBounds)==null?void 0:b.source)!=null?c:[],...(f=(m=l.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],d=(v=i?r==null?void 0:r.find(g=>g.id===i):r==null?void 0:r[0])!=null?v:null;return d&&t?{...d,...xn(l,d,d.position,!0)}:d}function Ut(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function Ff(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const qt=()=>!0;function Hf(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:s,edgeUpdaterType:t,isTarget:l,domNode:r,nodeLookup:d,lib:u,autoPanOnConnect:b,flowId:c,panBy:m,cancelConnection:f,onConnectStart:v,onConnect:g,onConnectEnd:S,isValidConnection:h=qt,onReconnectEnd:y,updateConnection:p,getTransform:x,getFromHandle:A,autoPanSpeed:w,dragThreshold:C=1,handleDomNode:k}){const M=At(e.target);let _=0,E;const{x:L,y:H}=qe(e),T=Ut(t,k),P=r==null?void 0:r.getBoundingClientRect();let I=!1;if(!P||!T)return;const D=jt(s,T,o,d,n);if(!D)return;let O=qe(e,P),B=!1,G=null,q=!1,V=null;function z(){if(!b||!P)return;const[R,ge]=ns(O,P,w);m({x:R,y:ge}),_=requestAnimationFrame(z)}const X={...D,nodeId:s,type:T,position:D.position},oe=d.get(s);let ne={inProgress:!0,isValid:null,from:xn(oe,X,ue.Left,!0),fromHandle:X,fromPosition:X.position,fromNode:oe,to:O,toHandle:null,toPosition:bt[X.position],toNode:null,pointer:O};function $(){I=!0,p(ne),v==null||v(e,{nodeId:s,handleId:o,handleType:T})}C===0&&$();function ee(R){if(!I){const{x:J,y:U}=qe(R),F=J-L,K=U-H;if(!(F*F+K*K>C*C))return;$()}if(!A()||!X){le(R);return}const ge=x();O=qe(R,P),E=_f(ri(O,ge,!1,[1,1]),i,d,X),B||(z(),B=!0);const ce=Yt(R,{handle:E,connectionMode:n,fromNodeId:s,fromHandleId:o,fromType:l?"target":"source",isValidConnection:h,doc:M,lib:u,flowId:c,nodeLookup:d});V=ce.handleDomNode,G=ce.connection,q=Ff(!!E,ce.isValid);const re=d.get(s),ye=re?xn(re,X,ue.Left,!0):ne.from,Y={...ne,from:ye,isValid:q,to:ce.toHandle&&q?In({x:ce.toHandle.x,y:ce.toHandle.y},ge):O,toHandle:ce.toHandle,toPosition:q&&ce.toHandle?ce.toHandle.position:bt[X.position],toNode:ce.toHandle?d.get(ce.toHandle.nodeId):null,pointer:O};p(Y),ne=Y}function le(R){if(!("touches"in R&&R.touches.length>0)){if(I){(E||V)&&G&&q&&(g==null||g(G));const{inProgress:ge,...ce}=ne,re={...ce,toPosition:ne.toHandle?ne.toPosition:null};S==null||S(R,re),t&&(y==null||y(R,re))}f(),cancelAnimationFrame(_),B=!1,q=!1,G=null,V=null,M.removeEventListener("mousemove",ee),M.removeEventListener("mouseup",le),M.removeEventListener("touchmove",ee),M.removeEventListener("touchend",le)}}M.addEventListener("mousemove",ee),M.addEventListener("mouseup",le),M.addEventListener("touchmove",ee),M.addEventListener("touchend",le)}function Yt(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:s,fromType:t,doc:l,lib:r,flowId:d,isValidConnection:u=qt,nodeLookup:b}){const c=t==="target",m=n?l.querySelector(`.${r}-flow__handle[data-id="${d}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:v}=qe(e),g=l.elementFromPoint(f,v),S=g!=null&&g.classList.contains(`${r}-flow__handle`)?g:m,h={handleDomNode:S,isValid:!1,connection:null,toHandle:null};if(S){const y=Ut(void 0,S),p=S.getAttribute("data-nodeid"),x=S.getAttribute("data-handleid"),A=S.classList.contains("connectable"),w=S.classList.contains("connectableend");if(!p||!y)return h;const C={source:c?p:o,sourceHandle:c?x:s,target:c?o:p,targetHandle:c?s:x};h.connection=C;const M=A&&w&&(i===Pn.Strict?c&&y==="source"||!c&&y==="target":p!==o||x!==s);h.isValid=M&&u(C),h.toHandle=jt(p,y,x,b,i,!0)}return h}const vs={onPointerDown:Hf,isValid:Yt};function Kf({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const s=Ge(e);function t({translateExtent:r,width:d,height:u,zoomStep:b=1,pannable:c=!0,zoomable:m=!0,inversePan:f=!1}){const v=p=>{if(p.sourceEvent.type!=="wheel"||!n)return;const x=i(),A=p.sourceEvent.ctrlKey&&di()?10:1,w=-p.sourceEvent.deltaY*(p.sourceEvent.deltaMode===1?.05:p.sourceEvent.deltaMode?1:.002)*b,C=x[2]*Math.pow(2,w*A);n.scaleTo(C)};let g=[0,0];const S=p=>{var x,A;(p.sourceEvent.type==="mousedown"||p.sourceEvent.type==="touchstart")&&(g=[(x=p.sourceEvent.clientX)!=null?x:p.sourceEvent.touches[0].clientX,(A=p.sourceEvent.clientY)!=null?A:p.sourceEvent.touches[0].clientY])},h=p=>{var _,E;const x=i();if(p.sourceEvent.type!=="mousemove"&&p.sourceEvent.type!=="touchmove"||!n)return;const A=[(_=p.sourceEvent.clientX)!=null?_:p.sourceEvent.touches[0].clientX,(E=p.sourceEvent.clientY)!=null?E:p.sourceEvent.touches[0].clientY],w=[A[0]-g[0],A[1]-g[1]];g=A;const C=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),k={x:x[0]-w[0]*C,y:x[1]-w[1]*C},M=[[0,0],[d,u]];n.setViewportConstrained({x:k.x,y:k.y,zoom:x[2]},M,r)},y=rt().on("start",S).on("zoom",c?h:null).on("zoom.wheel",m?v:null);s.call(y,{})}function l(){s.on("zoom",null)}return{update:t,destroy:l,pointer:$e}}const Yi=e=>({x:e.x,y:e.y,zoom:e.k}),fs=({x:e,y:n,zoom:i})=>zi.translate(e,n).scale(i),On=(e,n)=>e.target.closest(`.${n}`),Jt=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),Vf=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,hs=(e,n=0,i=Vf,o=()=>{})=>{const s=typeof n=="number"&&n>0;return s||o(),s?e.transition().duration(n).ease(i).on("end",o):e},Zt=e=>{const n=e.ctrlKey&&di()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function Gf({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:s,panOnScrollSpeed:t,zoomOnPinch:l,onPanZoomStart:r,onPanZoom:d,onPanZoomEnd:u}){return b=>{if(On(b,n))return b.ctrlKey&&b.preventDefault(),!1;b.preventDefault(),b.stopImmediatePropagation();const c=i.property("__zoom").k||1;if(b.ctrlKey&&l){const S=$e(b),h=Zt(b),y=c*Math.pow(2,h);o.scaleTo(i,y,S,b);return}const m=b.deltaMode===1?20:1;let f=s===pn.Vertical?0:b.deltaX*m,v=s===pn.Horizontal?0:b.deltaY*m;!di()&&b.shiftKey&&s!==pn.Vertical&&(f=b.deltaY*m,v=0),o.translateBy(i,-(f/c)*t,-(v/c)*t,{internal:!0});const g=Yi(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(d==null||d(b,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(b,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(b,g))}}function zf({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,s){const t=o.type==="wheel",l=!n&&t&&!o.ctrlKey,r=On(o,e);if(o.ctrlKey&&t&&r&&o.preventDefault(),l||r)return null;o.preventDefault(),i.call(this,o,s)}}function $f({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var t,l,r;if((t=o.sourceEvent)!=null&&t.internal)return;const s=Yi(o.transform);e.mouseButton=((l=o.sourceEvent)==null?void 0:l.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=s,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,s))}}function Wf({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:s}){return t=>{var l,r,d;e.usedRightMouseButton=!!(i&&Jt(n,(l=e.mouseButton)!=null?l:0)),(r=t.sourceEvent)!=null&&r.sync||o([t.transform.x,t.transform.y,t.transform.k]),s&&!((d=t.sourceEvent)!=null&&d.internal)&&(s==null||s(t.sourceEvent,Yi(t.transform)))}}function jf({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:s,onPaneContextMenu:t}){return l=>{var r,d;if(!((r=l.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,t&&Jt(n,(d=e.mouseButton)!=null?d:0)&&!e.usedRightMouseButton&&l.sourceEvent&&t(l.sourceEvent),e.usedRightMouseButton=!1,o(!1),s)){const u=Yi(l.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s==null||s(l.sourceEvent,u)},i?150:0)}}}function Uf({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:s,zoomOnDoubleClick:t,userSelectionActive:l,noWheelClassName:r,noPanClassName:d,lib:u,connectionInProgress:b}){return c=>{var S;const m=e||n,f=i&&c.ctrlKey,v=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(On(c,`${u}-flow__node`)||On(c,`${u}-flow__edge`)))return!0;if(!o&&!m&&!s&&!t&&!i||l||b&&!v||On(c,r)&&v||On(c,d)&&(!v||s&&v&&!e)||!i&&c.ctrlKey&&v)return!1;if(!i&&c.type==="touchstart"&&((S=c.touches)==null?void 0:S.length)>1)return c.preventDefault(),!1;if(!m&&!s&&!f&&v||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;const g=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||v)&&g}}function qf({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:s,onPanZoom:t,onPanZoomStart:l,onPanZoomEnd:r,onDraggingChange:d}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},b=e.getBoundingClientRect(),c=rt().scaleExtent([n,i]).translateExtent(o),m=Ge(e).call(c);y({x:s.x,y:s.y,zoom:Bn(s.zoom,n,i)},[[0,0],[b.width,b.height]],o);const f=m.on("wheel.zoom"),v=m.on("dblclick.zoom");c.wheelDelta(Zt);async function g(E,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Zn:Bi).transform(hs(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),E)}):!1}function S({noWheelClassName:E,noPanClassName:L,onPaneContextMenu:H,userSelectionActive:T,panOnScroll:P,panOnDrag:I,panOnScrollMode:D,panOnScrollSpeed:O,preventScrolling:B,zoomOnPinch:G,zoomOnScroll:q,zoomOnDoubleClick:V,zoomActivationKeyPressed:z,lib:X,onTransformChange:oe,connectionInProgress:se,paneClickDistance:ne,selectionOnDrag:$}){T&&!u.isZoomingOrPanning&&h();const ee=P&&!z&&!T;c.clickDistance($?1/0:!Ue(ne)||ne<0?0:ne);const le=ee?Gf({zoomPanValues:u,noWheelClassName:E,d3Selection:m,d3Zoom:c,panOnScrollMode:D,panOnScrollSpeed:O,zoomOnPinch:G,onPanZoomStart:l,onPanZoom:t,onPanZoomEnd:r}):zf({noWheelClassName:E,preventScrolling:B,d3ZoomHandler:f});m.on("wheel.zoom",le,{passive:!1});const R=$f({zoomPanValues:u,onDraggingChange:d,onPanZoomStart:l});c.on("start",R);const ge=Wf({zoomPanValues:u,panOnDrag:I,onPaneContextMenu:!!H,onPanZoom:t,onTransformChange:oe});c.on("zoom",ge);const ce=jf({zoomPanValues:u,panOnDrag:I,panOnScroll:P,onPaneContextMenu:H,onPanZoomEnd:r,onDraggingChange:d});c.on("end",ce);const re=Uf({zoomActivationKeyPressed:z,panOnDrag:I,zoomOnScroll:q,panOnScroll:P,zoomOnDoubleClick:V,zoomOnPinch:G,userSelectionActive:T,noPanClassName:L,noWheelClassName:E,lib:X,connectionInProgress:se});c.filter(re),V?m.on("dblclick.zoom",v):m.on("dblclick.zoom",null)}function h(){c.on("zoom",null)}async function y(E,L,H){const T=fs(E),P=c==null?void 0:c.constrain()(T,L,H);return P&&await g(P),P}async function p(E,L){const H=fs(E);return await g(H,L),H}function x(E){if(m){const L=fs(E),H=m.property("__zoom");(H.k!==E.zoom||H.x!==E.x||H.y!==E.y)&&(c==null||c.transform(m,L,null,{sync:!0}))}}function A(){const E=m?tt(m.node()):{x:0,y:0,k:1};return{x:E.x,y:E.y,zoom:E.k}}async function w(E,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Zn:Bi).scaleTo(hs(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),E)}):!1}async function C(E,L){return m?new Promise(H=>{c==null||c.interpolate((L==null?void 0:L.interpolate)==="linear"?Zn:Bi).scaleBy(hs(m,L==null?void 0:L.duration,L==null?void 0:L.ease,()=>H(!0)),E)}):!1}function k(E){c==null||c.scaleExtent(E)}function M(E){c==null||c.translateExtent(E)}function _(E){const L=!Ue(E)||E<0?0:E;c==null||c.clickDistance(L)}return{update:S,destroy:h,setViewport:p,setViewportConstrained:y,getViewport:A,scaleTo:w,scaleBy:C,setScaleExtent:k,setTranslateExtent:M,syncViewport:x,setClickDistance:_}}var _n;(function(e){e.Line="line",e.Handle="handle"})(_n||(_n={}));function Yf({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:s,affectsY:t}){const l=e-n,r=i-o,d=[l>0?1:l<0?-1:0,r>0?1:r<0?-1:0];return l&&s&&(d[0]=d[0]*-1),r&&t&&(d[1]=d[1]*-1),d}function Xt(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),s=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:s}}function un(e,n){return Math.max(0,n-e)}function cn(e,n){return Math.max(0,e-n)}function Ji(e,n,i){return Math.max(0,n-e,e-i)}function Qt(e,n){return e?!n:n}function Jf(e,n,i,o,s,t,l,r){let{affectsX:d,affectsY:u}=n;const{isHorizontal:b,isVertical:c}=n,m=b&&c,{xSnapped:f,ySnapped:v}=i,{minWidth:g,maxWidth:S,minHeight:h,maxHeight:y}=o,{x:p,y:x,width:A,height:w,aspectRatio:C}=e;let k=Math.floor(b?f-e.pointerX:0),M=Math.floor(c?v-e.pointerY:0);const _=A+(d?-k:k),E=w+(u?-M:M),L=-t[0]*A,H=-t[1]*w;let T=Ji(_,g,S),P=Ji(E,h,y);if(l){let O=0,B=0;d&&k<0?O=un(p+k+L,l[0][0]):!d&&k>0&&(O=cn(p+_+L,l[1][0])),u&&M<0?B=un(x+M+H,l[0][1]):!u&&M>0&&(B=cn(x+E+H,l[1][1])),T=Math.max(T,O),P=Math.max(P,B)}if(r){let O=0,B=0;d&&k>0?O=cn(p+k,r[0][0]):!d&&k<0&&(O=un(p+_,r[1][0])),u&&M>0?B=cn(x+M,r[0][1]):!u&&M<0&&(B=un(x+E,r[1][1])),T=Math.max(T,O),P=Math.max(P,B)}if(s){if(b){const O=Ji(_/C,h,y)*C;if(T=Math.max(T,O),l){let B=0;!d&&!u||d&&!u&&m?B=cn(x+H+_/C,l[1][1])*C:B=un(x+H+(d?k:-k)/C,l[0][1])*C,T=Math.max(T,B)}if(r){let B=0;!d&&!u||d&&!u&&m?B=un(x+_/C,r[1][1])*C:B=cn(x+(d?k:-k)/C,r[0][1])*C,T=Math.max(T,B)}}if(c){const O=Ji(E*C,g,S)/C;if(P=Math.max(P,O),l){let B=0;!d&&!u||u&&!d&&m?B=cn(p+E*C+L,l[1][0])/C:B=un(p+(u?M:-M)*C+L,l[0][0])/C,P=Math.max(P,B)}if(r){let B=0;!d&&!u||u&&!d&&m?B=un(p+E*C,r[1][0])/C:B=cn(p+(u?M:-M)*C,r[0][0])/C,P=Math.max(P,B)}}}M=M+(M<0?P:-P),k=k+(k<0?T:-T),s&&(m?_>E*C?M=(Qt(d,u)?-k:k)/C:k=(Qt(d,u)?-M:M)*C:b?(M=k/C,u=d):(k=M*C,d=u));const I=d?p+k:p,D=u?x+M:x;return{width:A+(d?-k:k),height:w+(u?-M:M),x:t[0]*k*(d?-1:1)+I,y:t[1]*M*(u?-1:1)+D}}const Rt={width:0,height:0,x:0,y:0},Zf={...Rt,pointerX:0,pointerY:0,aspectRatio:1};function Xf(e,n,i){var u,b;const o=n.position.x+e.position.x,s=n.position.y+e.position.y,t=(u=e.measured.width)!=null?u:0,l=(b=e.measured.height)!=null?b:0,r=i[0]*t,d=i[1]*l;return[[o-r,s-d],[o+t-r,s+l-d]]}function Qf({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:s}){const t=Ge(e);let l={controlDirection:Xt("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function r({controlPosition:u,boundaries:b,keepAspectRatio:c,resizeDirection:m,onResizeStart:f,onResize:v,onResizeEnd:g,shouldResize:S}){let h={...Rt},y={...Zf};l={boundaries:b,resizeDirection:m,keepAspectRatio:c,controlDirection:Xt(u)};let p,x=null,A=[],w,C,k,M=!1;const _=Ba().on("start",E=>{var G,q,V,z,X,oe;const{nodeLookup:L,transform:H,snapGrid:T,snapToGrid:P,nodeOrigin:I,paneDomNode:D}=i();if(p=L.get(n),!p)return;x=(G=D==null?void 0:D.getBoundingClientRect())!=null?G:null;const{xSnapped:O,ySnapped:B}=ui(E.sourceEvent,{transform:H,snapGrid:T,snapToGrid:P,containerBounds:x});h={width:(q=p.measured.width)!=null?q:0,height:(V=p.measured.height)!=null?V:0,x:(z=p.position.x)!=null?z:0,y:(X=p.position.y)!=null?X:0},y={...h,pointerX:O,pointerY:B,aspectRatio:h.width/h.height},w=void 0,C=yn(p.extent)?p.extent:void 0,p.parentId&&(p.extent==="parent"||p.expandParent)&&(w=L.get(p.parentId)),w&&p.extent==="parent"&&(C=[[0,0],[w.measured.width,w.measured.height]]),A=[],k=void 0;for(const[se,ne]of L)if(ne.parentId===n&&(A.push({id:se,position:{...ne.position},extent:ne.extent}),ne.extent==="parent"||ne.expandParent)){const $=Xf(ne,p,(oe=ne.origin)!=null?oe:I);k?k=[[Math.min($[0][0],k[0][0]),Math.min($[0][1],k[0][1])],[Math.max($[1][0],k[1][0]),Math.max($[1][1],k[1][1])]]:k=$}f==null||f(E,{...h})}).on("drag",E=>{var ye,Y,J;const{transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P}=i(),I=ui(E.sourceEvent,{transform:L,snapGrid:H,snapToGrid:T,containerBounds:x}),D=[];if(!p)return;const{x:O,y:B,width:G,height:q}=h,V={},z=(ye=p.origin)!=null?ye:P,{width:X,height:oe,x:se,y:ne}=Jf(y,l.controlDirection,I,l.boundaries,l.keepAspectRatio,z,C,k),$=X!==G,ee=oe!==q,le=se!==O&&$,R=ne!==B&&ee;if(!le&&!R&&!$&&!ee)return;if((le||R||z[0]===1||z[1]===1)&&(V.x=le?se:h.x,V.y=R?ne:h.y,h.x=V.x,h.y=V.y,A.length>0)){const U=se-O,F=ne-B;for(const K of A)K.position={x:K.position.x-U+z[0]*(X-G),y:K.position.y-F+z[1]*(oe-q)},D.push(K)}if(($||ee)&&(V.width=$&&(!l.resizeDirection||l.resizeDirection==="horizontal")?X:h.width,V.height=ee&&(!l.resizeDirection||l.resizeDirection==="vertical")?oe:h.height,h.width=V.width,h.height=V.height),w&&p.expandParent){const U=z[0]*((Y=V.width)!=null?Y:0);V.x&&V.x<U&&(h.x=U,y.x=y.x-(V.x-U));const F=z[1]*((J=V.height)!=null?J:0);V.y&&V.y<F&&(h.y=F,y.y=y.y-(V.y-F))}const ge=Yf({width:h.width,prevWidth:G,height:h.height,prevHeight:q,affectsX:l.controlDirection.affectsX,affectsY:l.controlDirection.affectsY}),ce={...h,direction:ge};(S==null?void 0:S(E,ce))!==!1&&(M=!0,v==null||v(E,ce),o(V,D))}).on("end",E=>{M&&(g==null||g(E,{...h}),s==null||s({...h}),M=!1)});t.call(_)}function d(){t.on(".drag",null)}return{update:r,destroy:d}}function Rf(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Zi={exports:{}},ps={},Xi={exports:{}},gs={};/**
39
39
  * @license React
40
40
  * use-sync-external-store-shim.production.js
41
41
  *
@@ -43,7 +43,7 @@
43
43
  *
44
44
  * This source code is licensed under the MIT license found in the
45
45
  * LICENSE file in the root directory of this source tree.
46
- */var Qt;function Qf(){if(Qt)return fs;Qt=1;var e=N;function n(c,m){return c===m&&(c!==0||1/c===1/m)||c!==c&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(c,m){var f=m(),v=o({inst:{value:f,getSnapshot:m}}),x=v[0].inst,g=v[1];return t(function(){x.value=f,x.getSnapshot=m,d(x)&&g({inst:x})},[c,f,m]),s(function(){return d(x)&&g({inst:x}),c(function(){d(x)&&g({inst:x})})},[c]),l(f),f}function d(c){var m=c.getSnapshot;c=c.value;try{var f=m();return!i(c,f)}catch(v){return!0}}function u(c,m){return m()}var b=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return fs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:b,fs}var hs={};/**
46
+ */var el;function eh(){if(el)return gs;el=1;var e=N;function n(c,m){return c===m&&(c!==0||1/c===1/m)||c!==c&&m!==m}var i=typeof Object.is=="function"?Object.is:n,o=e.useState,s=e.useEffect,t=e.useLayoutEffect,l=e.useDebugValue;function r(c,m){var f=m(),v=o({inst:{value:f,getSnapshot:m}}),g=v[0].inst,S=v[1];return t(function(){g.value=f,g.getSnapshot=m,d(g)&&S({inst:g})},[c,f,m]),s(function(){return d(g)&&S({inst:g}),c(function(){d(g)&&S({inst:g})})},[c]),l(f),f}function d(c){var m=c.getSnapshot;c=c.value;try{var f=m();return!i(c,f)}catch(v){return!0}}function u(c,m){return m()}var b=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?u:r;return gs.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:b,gs}var ys={};/**
47
47
  * @license React
48
48
  * use-sync-external-store-shim.development.js
49
49
  *
@@ -51,7 +51,7 @@
51
51
  *
52
52
  * This source code is licensed under the MIT license found in the
53
53
  * LICENSE file in the root directory of this source tree.
54
- */var Rt;function Rf(){return Rt||(Rt=1,process.env.NODE_ENV!=="production"&&function(){function e(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function n(f,v){b||s.startTransition===void 0||(b=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var x=v();if(!c){var g=v();t(x,g)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}g=l({inst:{value:x,getSnapshot:v}});var y=g[0].inst,w=g[1];return d(function(){y.value=x,y.getSnapshot=v,i(y)&&w({inst:y})},[f,x,v]),r(function(){return i(y)&&w({inst:y}),f(function(){i(y)&&w({inst:y})})},[f]),u(x),x}function i(f){var v=f.getSnapshot;f=f.value;try{var x=v();return!t(f,x)}catch(g){return!0}}function o(f,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=N,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,b=!1,c=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;hs.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),hs}var el;function nl(){return el||(el=1,process.env.NODE_ENV==="production"?Ji.exports=Qf():Ji.exports=Rf()),Ji.exports}/**
54
+ */var nl;function nh(){return nl||(nl=1,process.env.NODE_ENV!=="production"&&function(){function e(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function n(f,v){b||s.startTransition===void 0||(b=!0,console.error("You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."));var g=v();if(!c){var S=v();t(g,S)||(console.error("The result of getSnapshot should be cached to avoid an infinite loop"),c=!0)}S=l({inst:{value:g,getSnapshot:v}});var h=S[0].inst,y=S[1];return d(function(){h.value=g,h.getSnapshot=v,i(h)&&y({inst:h})},[f,g,v]),r(function(){return i(h)&&y({inst:h}),f(function(){i(h)&&y({inst:h})})},[f]),u(g),g}function i(f){var v=f.getSnapshot;f=f.value;try{var g=v();return!t(f,g)}catch(S){return!0}}function o(f,v){return v()}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var s=N,t=typeof Object.is=="function"?Object.is:e,l=s.useState,r=s.useEffect,d=s.useLayoutEffect,u=s.useDebugValue,b=!1,c=!1,m=typeof window=="undefined"||typeof window.document=="undefined"||typeof window.document.createElement=="undefined"?o:n;ys.useSyncExternalStore=s.useSyncExternalStore!==void 0?s.useSyncExternalStore:m,typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ys}var il;function ol(){return il||(il=1,process.env.NODE_ENV==="production"?Xi.exports=eh():Xi.exports=nh()),Xi.exports}/**
55
55
  * @license React
56
56
  * use-sync-external-store-shim/with-selector.production.js
57
57
  *
@@ -59,7 +59,7 @@
59
59
  *
60
60
  * This source code is licensed under the MIT license found in the
61
61
  * LICENSE file in the root directory of this source tree.
62
- */var il;function eh(){if(il)return vs;il=1;var e=N,n=nl();function i(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return vs.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var x={hasValue:!1,value:null};v.current=x}else x=v.current;v=r(function(){function y(S){if(!w){if(w=!0,h=S,S=m(S),f!==void 0&&x.hasValue){var C=x.value;if(f(C,S))return p=C}return p=S}if(C=p,o(h,S))return C;var A=m(S);return f!==void 0&&f(C,A)?(h=S,C):(h=S,p=A)}var w=!1,h,p,k=c===void 0?null:c;return[function(){return y(b())},k===null?void 0:function(){return y(k())}]},[b,c,m,f]);var g=s(u,v[0],v[1]);return l(function(){x.hasValue=!0,x.value=g},[g]),d(g),g},vs}var ps={};/**
62
+ */var sl;function ih(){if(sl)return ps;sl=1;var e=N,n=ol();function i(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}var o=typeof Object.is=="function"?Object.is:i,s=n.useSyncExternalStore,t=e.useRef,l=e.useEffect,r=e.useMemo,d=e.useDebugValue;return ps.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var g={hasValue:!1,value:null};v.current=g}else g=v.current;v=r(function(){function h(w){if(!y){if(y=!0,p=w,w=m(w),f!==void 0&&g.hasValue){var C=g.value;if(f(C,w))return x=C}return x=w}if(C=x,o(p,w))return C;var k=m(w);return f!==void 0&&f(C,k)?(p=w,C):(p=w,x=k)}var y=!1,p,x,A=c===void 0?null:c;return[function(){return h(b())},A===null?void 0:function(){return h(A())}]},[b,c,m,f]);var S=s(u,v[0],v[1]);return l(function(){g.hasValue=!0,g.value=S},[S]),d(S),S},ps}var xs={};/**
63
63
  * @license React
64
64
  * use-sync-external-store-shim/with-selector.development.js
65
65
  *
@@ -67,10 +67,10 @@
67
67
  *
68
68
  * This source code is licensed under the MIT license found in the
69
69
  * LICENSE file in the root directory of this source tree.
70
- */var ol;function nh(){return ol||(ol=1,process.env.NODE_ENV!=="production"&&function(){function e(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=N,i=nl(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;ps.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var x={hasValue:!1,value:null};v.current=x}else x=v.current;v=r(function(){function y(S){if(!w){if(w=!0,h=S,S=m(S),f!==void 0&&x.hasValue){var C=x.value;if(f(C,S))return p=C}return p=S}if(C=p,o(h,S))return C;var A=m(S);return f!==void 0&&f(C,A)?(h=S,C):(h=S,p=A)}var w=!1,h,p,k=c===void 0?null:c;return[function(){return y(b())},k===null?void 0:function(){return y(k())}]},[b,c,m,f]);var g=s(u,v[0],v[1]);return l(function(){x.hasValue=!0,x.value=g},[g]),d(g),g},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ps}var sl;function ih(){return sl||(sl=1,process.env.NODE_ENV==="production"?Yi.exports=eh():Yi.exports=nh()),Yi.exports}var oh=ih();const sh=Xf(oh),ah={},al=e=>{let n;const i=new Set,o=(b,c)=>{const m=typeof b=="function"?b(n):b;if(!Object.is(m,n)){const f=n;n=(c!=null?c:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,f))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:b=>(i.add(b),()=>i.delete(b)),destroy:()=>{(ah?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},th=e=>e?al(e):al,{useDebugValue:lh}=N,{useSyncExternalStoreWithSelector:rh}=sh,dh=e=>e;function tl(e,n=dh,i){const o=rh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return lh(o),o}const ll=(e,n)=>{const i=th(e),o=(s,t=n)=>tl(i,s,t);return Object.assign(o,i),o},uh=(e,n)=>e?ll(e,n):ll;function ke(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const Zi=N.createContext(null),ch=Zi.Provider,rl=Ge.error001("react");function xe(e,n){const i=N.useContext(Zi);if(i===null)throw new Error(rl);return tl(i,e,n)}function Ee(){const e=N.useContext(Zi);if(e===null)throw new Error(rl);return N.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const dl={display:"none"},bh={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},ul="react-flow__node-desc",cl="react-flow__edge-desc",mh="react-flow__aria-live",vh=e=>e.ariaLiveMessage,fh=e=>e.ariaLabelConfig;function hh({rfId:e}){const n=xe(vh);return a.jsx("div",{id:`${mh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:bh,children:n})}function ph({rfId:e,disableKeyboardA11y:n}){const i=xe(fh);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${ul}-${e}`,style:dl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${cl}-${e}`,style:dl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(hh,{rfId:e})]})}const Xi=N.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Ie(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Xi.displayName="Panel";const bl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function gh({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Xi,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${bl}`,children:a.jsx("a",{href:bl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const yh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},Qi=e=>e.id;function xh(e,n){return ke(e.selectedNodes.map(Qi),n.selectedNodes.map(Qi))&&ke(e.selectedEdges.map(Qi),n.selectedEdges.map(Qi))}function Sh({onSelectionChange:e}){const n=Ee(),{selectedNodes:i,selectedEdges:o}=xe(yh,xh);return N.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const wh=e=>!!e.onSelectionChangeHandlers;function Nh({onSelectionChange:e}){const n=xe(wh);return e||n?a.jsx(Sh,{onSelectionChange:e}):null}const ml=[0,0],Ch={x:0,y:0,zoom:1},vl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Ah=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:ei,nodeOrigin:ml,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function kh(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=xe(Ah,ke),u=Ee();N.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{b.current=fl,r()}),[]);const b=N.useRef(fl);return N.useEffect(()=>{for(const c of vl){const m=e[c],f=b.current[c];m!==f&&typeof e[c]!="undefined"&&(c==="nodes"?n(m):c==="edges"?i(m):c==="minZoom"?o(m):c==="maxZoom"?s(m):c==="translateExtent"?t(m):c==="nodeExtent"?l(m):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:df(m)}):c==="fitView"?u.setState({fitViewQueued:m}):c==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[c]:m}))}b.current=e},vl.map(c=>e[c])),null}function hl(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Eh(e){var o;const[n,i]=N.useState(e==="system"?null:e);return N.useEffect(()=>{if(e!=="system"){i(e);return}const s=hl(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=hl())!=null&&o.matches?"dark":"light"}const pl=typeof document!="undefined"?document:null;function di(e=null,n={target:pl,actInsideInputWithModifier:!0}){const[i,o]=N.useState(!1),s=N.useRef(!1),t=N.useRef(new Set([])),[l,r]=N.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
70
+ */var al;function oh(){return al||(al=1,process.env.NODE_ENV!=="production"&&function(){function e(u,b){return u===b&&(u!==0||1/u===1/b)||u!==u&&b!==b}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=N,i=ol(),o=typeof Object.is=="function"?Object.is:e,s=i.useSyncExternalStore,t=n.useRef,l=n.useEffect,r=n.useMemo,d=n.useDebugValue;xs.useSyncExternalStoreWithSelector=function(u,b,c,m,f){var v=t(null);if(v.current===null){var g={hasValue:!1,value:null};v.current=g}else g=v.current;v=r(function(){function h(w){if(!y){if(y=!0,p=w,w=m(w),f!==void 0&&g.hasValue){var C=g.value;if(f(C,w))return x=C}return x=w}if(C=x,o(p,w))return C;var k=m(w);return f!==void 0&&f(C,k)?(p=w,C):(p=w,x=k)}var y=!1,p,x,A=c===void 0?null:c;return[function(){return h(b())},A===null?void 0:function(){return h(A())}]},[b,c,m,f]);var S=s(u,v[0],v[1]);return l(function(){g.hasValue=!0,g.value=S},[S]),d(S),S},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),xs}var tl;function sh(){return tl||(tl=1,process.env.NODE_ENV==="production"?Zi.exports=ih():Zi.exports=oh()),Zi.exports}var ah=sh();const th=Rf(ah),lh={},ll=e=>{let n;const i=new Set,o=(b,c)=>{const m=typeof b=="function"?b(n):b;if(!Object.is(m,n)){const f=n;n=(c!=null?c:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(v=>v(n,f))}},s=()=>n,d={setState:o,getState:s,getInitialState:()=>u,subscribe:b=>(i.add(b),()=>i.delete(b)),destroy:()=>{(lh?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),i.clear()}},u=n=e(o,s,d);return d},rh=e=>e?ll(e):ll,{useDebugValue:dh}=N,{useSyncExternalStoreWithSelector:uh}=th,ch=e=>e;function rl(e,n=ch,i){const o=uh(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return dh(o),o}const dl=(e,n)=>{const i=rh(e),o=(s,t=n)=>rl(i,s,t);return Object.assign(o,i),o},bh=(e,n)=>e?dl(e,n):dl;function Le(e,n){if(Object.is(e,n))return!0;if(typeof e!="object"||e===null||typeof n!="object"||n===null)return!1;if(e instanceof Map&&n instanceof Map){if(e.size!==n.size)return!1;for(const[o,s]of e)if(!Object.is(s,n.get(o)))return!1;return!0}if(e instanceof Set&&n instanceof Set){if(e.size!==n.size)return!1;for(const o of e)if(!n.has(o))return!1;return!0}const i=Object.keys(e);if(i.length!==Object.keys(n).length)return!1;for(const o of i)if(!Object.prototype.hasOwnProperty.call(n,o)||!Object.is(e[o],n[o]))return!1;return!0}const Qi=N.createContext(null),mh=Qi.Provider,ul=ze.error001("react");function Ne(e,n){const i=N.useContext(Qi);if(i===null)throw new Error(ul);return rl(i,e,n)}function Be(){const e=N.useContext(Qi);if(e===null)throw new Error(ul);return N.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const cl={display:"none"},vh={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},bl="react-flow__node-desc",ml="react-flow__edge-desc",fh="react-flow__aria-live",hh=e=>e.ariaLiveMessage,ph=e=>e.ariaLabelConfig;function gh({rfId:e}){const n=Ne(hh);return a.jsx("div",{id:`${fh}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:vh,children:n})}function yh({rfId:e,disableKeyboardA11y:n}){const i=Ne(ph);return a.jsxs(a.Fragment,{children:[a.jsx("div",{id:`${bl}-${e}`,style:cl,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),a.jsx("div",{id:`${ml}-${e}`,style:cl,children:i["edge.a11yDescription.default"]}),!n&&a.jsx(gh,{rfId:e})]})}const Ri=N.forwardRef(({position:e="top-left",children:n,className:i,style:o,...s},t)=>{const l=`${e}`.split("-");return a.jsx("div",{className:Fe(["react-flow__panel",i,...l]),style:o,ref:t,...s,children:n})});Ri.displayName="Panel";const vl=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function xh({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:a.jsx(Ri,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${vl}`,children:a.jsx("a",{href:vl,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const Sh=e=>{const n=[],i=[];for(const[,o]of e.nodeLookup)o.selected&&n.push(o.internals.userNode);for(const[,o]of e.edgeLookup)o.selected&&i.push(o);return{selectedNodes:n,selectedEdges:i}},eo=e=>e.id;function wh(e,n){return Le(e.selectedNodes.map(eo),n.selectedNodes.map(eo))&&Le(e.selectedEdges.map(eo),n.selectedEdges.map(eo))}function Nh({onSelectionChange:e}){const n=Be(),{selectedNodes:i,selectedEdges:o}=Ne(Sh,wh);return N.useEffect(()=>{const s={nodes:i,edges:o};e==null||e(s),n.getState().onSelectionChangeHandlers.forEach(t=>t(s))},[i,o,e]),null}const Ch=e=>!!e.onSelectionChangeHandlers;function Ah({onSelectionChange:e}){const n=Ne(Ch);return e||n?a.jsx(Nh,{onSelectionChange:e}):null}const fl=[0,0],kh={x:0,y:0,zoom:1},hl=[...["nodes","edges","defaultNodes","defaultEdges","onConnect","onConnectStart","onConnectEnd","onClickConnectStart","onClickConnectEnd","nodesDraggable","autoPanOnNodeFocus","nodesConnectable","nodesFocusable","edgesFocusable","edgesReconnectable","elevateNodesOnSelect","elevateEdgesOnSelect","minZoom","maxZoom","nodeExtent","onNodesChange","onEdgesChange","elementsSelectable","connectionMode","snapGrid","snapToGrid","translateExtent","connectOnClick","defaultEdgeOptions","fitView","fitViewOptions","onNodesDelete","onEdgesDelete","onDelete","onNodeDrag","onNodeDragStart","onNodeDragStop","onSelectionDrag","onSelectionDragStart","onSelectionDragStop","onMoveStart","onMove","onMoveEnd","noPanClassName","nodeOrigin","autoPanOnConnect","autoPanOnNodeDrag","onError","connectionRadius","isValidConnection","selectNodesOnDrag","nodeDragThreshold","connectionDragThreshold","onBeforeDelete","debug","autoPanSpeed","ariaLabelConfig","zIndexMode"],"rfId"],Eh=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),pl={translateExtent:ii,nodeOrigin:fl,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function Mh(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:s,setTranslateExtent:t,setNodeExtent:l,reset:r,setDefaultNodesAndEdges:d}=Ne(Eh,Le),u=Be();N.useEffect(()=>(d(e.defaultNodes,e.defaultEdges),()=>{b.current=pl,r()}),[]);const b=N.useRef(pl);return N.useEffect(()=>{for(const c of hl){const m=e[c],f=b.current[c];m!==f&&typeof e[c]!="undefined"&&(c==="nodes"?n(m):c==="edges"?i(m):c==="minZoom"?o(m):c==="maxZoom"?s(m):c==="translateExtent"?t(m):c==="nodeExtent"?l(m):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:cf(m)}):c==="fitView"?u.setState({fitViewQueued:m}):c==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[c]:m}))}b.current=e},hl.map(c=>e[c])),null}function gl(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function Th(e){var o;const[n,i]=N.useState(e==="system"?null:e);return N.useEffect(()=>{if(e!=="system"){i(e);return}const s=gl(),t=()=>i(s!=null&&s.matches?"dark":"light");return t(),s==null||s.addEventListener("change",t),()=>{s==null||s.removeEventListener("change",t)}},[e]),n!==null?n:(o=gl())!=null&&o.matches?"dark":"light"}const yl=typeof document!="undefined"?document:null;function ci(e=null,n={target:yl,actInsideInputWithModifier:!0}){const[i,o]=N.useState(!1),s=N.useRef(!1),t=N.useRef(new Set([])),[l,r]=N.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
71
71
  `).replace(`
72
72
 
73
73
  `,`
74
74
  +`).split(`
75
- `)),b=u.reduce((c,m)=>c.concat(...m),[]);return[u,b]}return[[],[]]},[e]);return N.useEffect(()=>{var b,c;const d=(b=n==null?void 0:n.target)!=null?b:pl,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!0;if(e!==null){const m=x=>{var w,h;if(s.current=x.ctrlKey||x.metaKey||x.shiftKey||x.altKey,(!s.current||s.current&&!u)&&Ct(x))return!1;const y=yl(x.code,r);if(t.current.add(x[y]),gl(l,t.current,!1)){const p=((h=(w=x.composedPath)==null?void 0:w.call(x))==null?void 0:h[0])||x.target,k=(p==null?void 0:p.nodeName)==="BUTTON"||(p==null?void 0:p.nodeName)==="A";n.preventDefault!==!1&&(s.current||!k)&&x.preventDefault(),o(!0)}},f=x=>{const g=yl(x.code,r);gl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(x[g]),x.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",f),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",f),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function gl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function yl(e,n){return n.includes(e)?"code":"key"}const Mh=()=>{const e=Ee();return N.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=es(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,f;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},b=(m=i.snapGrid)!=null?m:s,c=(f=i.snapToGrid)!=null?f:t;return ti(u,o,c,b)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=Bn(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function xl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Th(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Th(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function Sl(e,n){return xl(e,n)}function wl(e,n){return xl(e,n)}function xn(e,n){return{id:e,type:"select",selected:n}}function On(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(xn(t.id,l)))}return o}function Nl({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function Cl(e){return{id:e.id,type:"remove"}}const Ph=yt("React Flow","https://reactflow.dev/");function Lh(e,n,i={}){var o;return ff(e,n,{...i,onError:(o=i.onError)!=null?o:Ph})}const Al=e=>Rv(e),Bh=e=>bt(e);function kl(e){return N.forwardRef(e)}const Ih=typeof window!="undefined"?N.useLayoutEffect:N.useEffect;function El(e){const[n,i]=N.useState(BigInt(0)),[o]=N.useState(()=>Dh(()=>i(s=>s+BigInt(1))));return Ih(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function Dh(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Ml=N.createContext(null);function _h({children:e}){const n=Ee(),i=N.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:b,onNodesChange:c,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:v}=n.getState();let x=d;for(const y of r)x=typeof y=="function"?y(x):y;let g=Nl({items:x,lookup:m});for(const y of v.values())g=y(g);b&&u(x),g.length>0?c==null||c(g):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:y,nodes:w,setNodes:h}=n.getState();y&&h(w)})},[]),o=El(i),s=N.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:b,onEdgesChange:c,edgeLookup:m}=n.getState();let f=d;for(const v of r)f=typeof v=="function"?v(f):v;b?u(f):c&&c(Nl({items:f,lookup:m}))},[]),t=El(s),l=N.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Ml.Provider,{value:l,children:e})}function Oh(){const e=N.useContext(Ml);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Fh=e=>!!e.panZoom;function gs(){const e=Mh(),n=Ee(),i=Oh(),o=xe(Fh),s=N.useMemo(()=>{const t=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var y,w,h,p;const{nodeLookup:m,nodeOrigin:f}=n.getState(),v=Al(c)?c:m.get(c.id),x=v.parentId?St(v.position,v.measured,v.parentId,m,f):v.position,g={...v,position:x,width:(w=(y=v.measured)==null?void 0:y.width)!=null?w:v.width,height:(p=(h=v.measured)==null?void 0:h.height)!=null?p:v.height};return si(g)},u=(c,m,f={replace:!1})=>{l(v=>v.map(x=>{if(x.id===c){const g=typeof m=="function"?m(x):m;return f.replace&&Al(g)?g:{...x,...g}}return x}))},b=(c,m,f={replace:!1})=>{r(v=>v.map(x=>{if(x.id===c){const g=typeof m=="function"?m(x):m;return f.replace&&Bh(g)?g:{...x,...g}}return x}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var m;return(m=t(c))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(m=>({...m}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const m=Array.isArray(c)?c:[c];i.nodeQueue.push(f=>[...f,...m])},addEdges:c=>{const m=Array.isArray(c)?c:[c];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:c=[],edges:m=[],transform:f}=n.getState(),[v,x,g]=f;return{nodes:c.map(y=>({...y})),edges:m.map(y=>({...y})),viewport:{x:v,y:x,zoom:g}}},deleteElements:async({nodes:c=[],edges:m=[]})=>{const{nodes:f,edges:v,onNodesDelete:x,onEdgesDelete:g,triggerNodeChanges:y,triggerEdgeChanges:w,onDelete:h,onBeforeDelete:p}=n.getState(),{nodes:k,edges:S}=await af({nodesToRemove:c,edgesToRemove:m,nodes:f,edges:v,onBeforeDelete:p}),C=S.length>0,A=k.length>0;if(C){const E=S.map(Cl);g==null||g(S),w(E)}if(A){const E=k.map(Cl);x==null||x(k),y(E)}return(A||C)&&(h==null||h({nodes:k,edges:S})),{deletedNodes:k,deletedEdges:S}},getIntersectingNodes:(c,m=!0,f)=>{const v=gt(c),x=v?c:d(c),g=f!==void 0;return x?(f||n.getState().nodes).filter(y=>{const w=n.getState().nodeLookup.get(y.id);if(w&&!v&&(y.id===c.id||!w.internals.positionAbsolute))return!1;const h=si(g?y:w),p=Wi(h,x);return m&&p>0||p>=h.width*h.height||p>=x.width*x.height}):[]},isNodeIntersecting:(c,m,f=!0)=>{const x=gt(c)?c:d(c);if(!x)return!1;const g=Wi(x,m);return f&&g>0||g>=m.width*m.height||g>=x.width*x.height},updateNode:u,updateNodeData:(c,m,f={replace:!1})=>{u(c,v=>{const x=typeof m=="function"?m(v):m;return f.replace?{...v,data:x}:{...v,data:{...v.data,...x}}},f)},updateEdge:b,updateEdgeData:(c,m,f={replace:!1})=>{b(c,v=>{const x=typeof m=="function"?m(v):m;return f.replace?{...v,data:x}:{...v,data:{...v.data,...x}}},f)},getNodesBounds:c=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return ef(c,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:c,id:m,nodeId:f})=>{var v,x;return Array.from((x=(v=n.getState().connectionLookup.get(`${f}-${c}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?x:[])},getNodeConnections:({type:c,handleId:m,nodeId:f})=>{var v,x;return Array.from((x=(v=n.getState().connectionLookup.get(`${f}${c?m?`-${c}-${m}`:`-${c}`:""}`))==null?void 0:v.values())!=null?x:[])},fitView:async c=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:rf();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return N.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Tl=e=>e.selected,Hh=typeof window!="undefined"?window:void 0;function Kh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=Ee(),{deleteElements:o}=gs(),s=di(e,{actInsideInputWithModifier:!1}),t=di(n,{target:Hh});N.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Tl),edges:l.filter(Tl)}),i.setState({nodesSelectionActive:!1})}},[s]),N.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function Vh(e){const n=Ee();N.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=ns(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",Ge.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const Ri={position:"absolute",width:"100%",height:"100%",top:0,left:0},Gh=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function zh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=hn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:b,maxZoom:c,zoomActivationKeyCode:m,preventScrolling:f=!0,children:v,noWheelClassName:x,noPanClassName:g,onViewportChange:y,isControlledViewport:w,paneClickDistance:h,selectionOnDrag:p}){const k=Ee(),S=N.useRef(null),{userSelectionActive:C,lib:A,connectionInProgress:E}=xe(Gh,ke),P=di(m),M=N.useRef();Vh(S);const B=N.useCallback(F=>{y==null||y({x:F[0],y:F[1],zoom:F[2]}),w||k.setState({transform:F})},[y,w]);return N.useEffect(()=>{if(S.current){M.current=jf({domNode:S.current,minZoom:b,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:_=>k.setState(D=>D.paneDragging===_?D:{paneDragging:_}),onPanZoomStart:(_,D)=>{const{onViewportChangeStart:O,onMoveStart:I}=k.getState();I==null||I(_,D),O==null||O(D)},onPanZoom:(_,D)=>{const{onViewportChange:O,onMove:I}=k.getState();I==null||I(_,D),O==null||O(D)},onPanZoomEnd:(_,D)=>{const{onViewportChangeEnd:O,onMoveEnd:I}=k.getState();I==null||I(_,D),O==null||O(D)}});const{x:F,y:T,zoom:L}=M.current.getViewport();return k.setState({panZoom:M.current,transform:[F,T,L],domNode:S.current.closest(".react-flow")}),()=>{var _;(_=M.current)==null||_.destroy()}}},[]),N.useEffect(()=>{var F;(F=M.current)==null||F.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:P,preventScrolling:f,noPanClassName:g,userSelectionActive:C,noWheelClassName:x,lib:A,onTransformChange:B,connectionInProgress:E,selectionOnDrag:p,paneClickDistance:h})},[e,n,i,o,s,t,l,r,P,f,g,C,x,A,B,E,p,h]),a.jsx("div",{className:"react-flow__renderer",ref:S,style:Ri,children:v})}const $h=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Wh(){const{userSelectionActive:e,userSelectionRect:n}=xe($h,ke);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const ys=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},jh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Uh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=ni.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:b,onPaneScroll:c,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:v,children:x}){const g=N.useRef(0),y=Ee(),{userSelectionActive:w,elementsSelectable:h,dragging:p,panBy:k,autoPanSpeed:S}=xe(jh,ke),C=h&&(e||w),A=N.useRef(null),E=N.useRef(),P=N.useRef(new Set),M=N.useRef(new Set),B=N.useRef(!1),F=N.useRef(!1),T=N.useRef({x:0,y:0}),L=N.useRef(!1),_=W=>{if(F.current||B.current||y.getState().connection.inProgress){F.current=!1,B.current=!1;return}u==null||u(W),y.getState().resetSelectedElements(),y.setState({nodesSelectionActive:!1})},D=W=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){W.preventDefault();return}b==null||b(W)},O=c?W=>c(W):void 0,I=W=>{F.current&&(W.stopPropagation(),F.current=!1)},$=W=>{var z,K;const{domNode:R,transform:me}=y.getState();if(E.current=R==null?void 0:R.getBoundingClientRect(),!E.current)return;const Q=W.target===A.current;if(!Q&&!!W.target.closest(".nokey")||!e||!(l&&Q||n)||W.button!==0||!W.isPrimary)return;(K=(z=W.target)==null?void 0:z.setPointerCapture)==null||K.call(z,W.pointerId),F.current=!1;const{x:te,y:H}=Ue(W.nativeEvent,E.current),q=ti({x:te,y:H},me);y.setState({userSelectionRect:{width:0,height:0,startX:q.x,startY:q.y,x:te,y:H}}),Q||(W.stopPropagation(),W.preventDefault())};function j(W,R){var ue,ge;const{userSelectionRect:me}=y.getState();if(!me)return;const{transform:Q,nodeLookup:Y,edgeLookup:X,connectionLookup:te,triggerNodeChanges:H,triggerEdgeChanges:q,defaultEdgeOptions:z}=y.getState(),K={x:me.startX,y:me.startY},{x:U,y:ae}=Bn(K,Q),J={startX:K.x,startY:K.y,x:W<U?W:U,y:R<ae?R:ae,width:Math.abs(W-U),height:Math.abs(R-ae)},re=P.current,ie=M.current;P.current=new Set(Xo(Y,J,Q,i===ni.Partial,!0).map(fe=>fe.id)),M.current=new Set;const oe=(ue=z==null?void 0:z.selectable)!=null?ue:!0;for(const fe of P.current){const we=te.get(fe);if(we)for(const{edgeId:ce}of we.values()){const de=X.get(ce);de&&((ge=de.selectable)!=null?ge:oe)&&M.current.add(ce)}}if(!wt(re,P.current)){const fe=On(Y,P.current,!0);H(fe)}if(!wt(ie,M.current)){const fe=On(X,M.current);q(fe)}y.setState({userSelectionRect:J,userSelectionActive:!0,nodesSelectionActive:!1})}function G(){if(!s||!E.current)return;const[W,R]=Qo(T.current,E.current,S);k({x:W,y:R}).then(me=>{if(!F.current||!me){g.current=requestAnimationFrame(G);return}const{x:Q,y:Y}=T.current;j(Q,Y),g.current=requestAnimationFrame(G)})}const V=()=>{cancelAnimationFrame(g.current),g.current=0,L.current=!1};N.useEffect(()=>()=>V(),[]);const Z=W=>{const{userSelectionRect:R,transform:me,resetSelectedElements:Q}=y.getState();if(!E.current||!R)return;const{x:Y,y:X}=Ue(W.nativeEvent,E.current);T.current={x:Y,y:X};const te=Bn({x:R.startX,y:R.startY},me);if(!F.current){const H=n?0:t;if(Math.hypot(Y-te.x,X-te.y)<=H)return;Q(),r==null||r(W)}F.current=!0,L.current||(G(),L.current=!0),j(Y,X)},se=W=>{var R,me;if(!C){W.target===A.current&&y.getState().connection.inProgress&&(B.current=!0);return}W.button===0&&((me=(R=W.target)==null?void 0:R.releasePointerCapture)==null||me.call(R,W.pointerId),!w&&W.target===A.current&&y.getState().userSelectionRect&&(_==null||_(W)),y.setState({userSelectionActive:!1,userSelectionRect:null}),F.current&&(d==null||d(W),y.setState({nodesSelectionActive:P.current.size>0})),V())},le=W=>{var R,me;(me=(R=W.target)==null?void 0:R.releasePointerCapture)==null||me.call(R,W.pointerId),V()},ee=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Ie(["react-flow__pane",{draggable:ee,dragging:p,selection:e}]),onClick:C?void 0:ys(_,A),onContextMenu:ys(D,A),onWheel:ys(O,A),onPointerEnter:C?void 0:m,onPointerMove:C?Z:f,onPointerUp:se,onPointerCancel:C?le:void 0,onPointerDownCapture:C?$:void 0,onClickCapture:C?I:void 0,onPointerLeave:v,ref:A,style:Ri,children:[x,a.jsx(Wh,{})]})}function xs({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",Ge.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var b;return(b=o==null?void 0:o.current)==null?void 0:b.blur()})):s([e])}function Pl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=Ee(),[d,u]=N.useState(!1),b=N.useRef();return N.useEffect(()=>{b.current=Lf({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{xs({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),N.useEffect(()=>{if(!(n||!e.current||!b.current))return b.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=b.current)==null||c.destroy()}},[i,o,n,t,e,s,l]),d}const qh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Ll(){const e=Ee();return N.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:b}=e.getState(),c=new Map,m=qh(l),f=s?t[0]:5,v=s?t[1]:5,x=i.direction.x*f*i.factor,g=i.direction.y*v*i.factor;for(const[,y]of u){if(!m(y))continue;let w={x:y.internals.positionAbsolute.x+x,y:y.internals.positionAbsolute.y+g};s&&(w=ai(w,t));const{position:h,positionAbsolute:p}=mt({nodeId:y.id,nextPosition:w,nodeLookup:u,nodeExtent:o,nodeOrigin:b,onError:r});y.position=h,y.internals.positionAbsolute=p,c.set(y.id,y)}d(c)},[])}const Ss=N.createContext(null),Yh=Ss.Provider;Ss.Consumer;const Bl=()=>N.useContext(Ss),Jh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Il=N.createContext(null);function Zh({children:e}){const n=xe(Jh,ke);return a.jsx(Il.Provider,{value:n,children:e})}function Xh(){const e=N.useContext(Il);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const Qh={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},Rh=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return Qh;const b=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:b,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===Tn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:b&&u}};function ep({type:e="source",position:n=ve.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:b,onTouchStart:c,...m},f){var L,_;const v=l||null,x=e==="target",g=Ee(),y=Bl(),{connectOnClick:w,noPanClassName:h,rfId:p}=Xh(),{connectingFrom:k,connectingTo:S,clickConnecting:C,isPossibleEndHandle:A,connectionInProcess:E,clickConnectionInProcess:P,valid:M}=xe(Rh(y,v,e),ke);y||(_=(L=g.getState()).onError)==null||_.call(L,"010",Ge.error010());const B=D=>{const{defaultEdgeOptions:O,onConnect:I,hasDefaultEdges:$}=g.getState(),j={...O,...D};if($){const{edges:G,setEdges:V,onError:Z}=g.getState();V(Lh(j,G,{onError:Z}))}I==null||I(j),r==null||r(j)},F=D=>{if(!y)return;const O=At(D.nativeEvent);if(s&&(O&&D.button===0||!O)){const I=g.getState();cs.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:x,handleId:v,nodeId:y,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...$)=>{var j,G;return(G=(j=g.getState()).onConnectEnd)==null?void 0:G.call(j,...$)},updateConnection:I.updateConnection,onConnect:B,isValidConnection:i||((...$)=>{var j,G,V;return(V=(G=(j=g.getState()).isValidConnection)==null?void 0:G.call(j,...$))!=null?V:!0}),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}O?b==null||b(D):c==null||c(D)},T=D=>{const{onClickConnectStart:O,onClickConnectEnd:I,connectionClickStartHandle:$,connectionMode:j,isValidConnection:G,lib:V,rfId:Z,nodeLookup:se,connection:le}=g.getState();if(!y||!$&&!s)return;if(!$){O==null||O(D.nativeEvent,{nodeId:y,handleId:v,handleType:e}),g.setState({connectionClickStartHandle:{nodeId:y,type:e,id:v}});return}const ee=Nt(D.target),W=i||G,{connection:R,isValid:me}=cs.isValid(D.nativeEvent,{handle:{nodeId:y,id:v,type:e},connectionMode:j,fromNodeId:$.nodeId,fromHandleId:$.id||null,fromType:$.type,isValidConnection:W,flowId:Z,doc:ee,lib:V,nodeLookup:se});me&&R&&B(R);const Q=structuredClone(le);delete Q.inProgress,Q.toPosition=Q.toHandle?Q.toHandle.position:null,I==null||I(D,Q),g.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":y,"data-handlepos":n,"data-id":`${p}-${y}-${v}-${e}`,className:Ie(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",h,u,{source:!x,target:x,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:k,connectingto:S,valid:M,connectionindicator:o&&(!E||A)&&(E||P?t:s)}]),onMouseDown:F,onTouchStart:F,onClick:w?T:void 0,ref:f,...m,children:d})}const Fn=N.memo(kl(ep));function np({data:e,isConnectable:n,sourcePosition:i=ve.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Fn,{type:"source",position:i,isConnectable:n})]})}function ip({data:e,isConnectable:n,targetPosition:i=ve.Top,sourcePosition:o=ve.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Fn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Fn,{type:"source",position:o,isConnectable:n})]})}function op(){return null}function sp({data:e,isConnectable:n,targetPosition:i=ve.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Fn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const eo={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},Dl={input:np,default:ip,output:sp,group:op};function ap(e){var n,i,o,s,t,l,r,d,u,b;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(b=e.height)!=null?b:(u=e.style)==null?void 0:u.height}}const tp=e=>{const{width:n,height:i,x:o,y:s}=oi(e.nodeLookup,{filter:t=>!!t.selected});return{width:je(n)?n:null,height:je(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function lp({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=Ee(),{width:s,height:t,transformString:l,userSelectionActive:r}=xe(tp,ke),d=Ll(),u=N.useRef(null);N.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const b=!r&&s!==null&&t!==null;if(Pl({nodeRef:u,disabled:!b}),!b)return null;const c=e?f=>{const v=o.getState().nodes.filter(x=>x.selected);e(f,v)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(eo,f.key)&&(f.preventDefault(),d({direction:eo[f.key],factor:f.shiftKey?4:1}))};return a.jsx("div",{className:Ie(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const _l=typeof window!="undefined"?window:void 0,rp=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Ol({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:b,selectionMode:c,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:v,panActivationKeyCode:x,zoomActivationKeyCode:g,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:h,panOnScroll:p,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:C,panOnDrag:A,autoPanOnSelection:E,defaultViewport:P,translateExtent:M,minZoom:B,maxZoom:F,preventScrolling:T,onSelectionContextMenu:L,noWheelClassName:_,noPanClassName:D,disableKeyboardA11y:O,onViewportChange:I,isControlledViewport:$}){const{nodesSelectionActive:j,userSelectionActive:G}=xe(rp,ke),V=di(u,{target:_l}),Z=di(x,{target:_l}),se=Z||A,le=Z||p,ee=b&&se!==!0,W=V||G||ee;return Kh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(zh,{onPaneContextMenu:t,elementsSelectable:y,zoomOnScroll:w,zoomOnPinch:h,panOnScroll:le,panOnScrollSpeed:k,panOnScrollMode:S,zoomOnDoubleClick:C,panOnDrag:!V&&se,defaultViewport:P,translateExtent:M,minZoom:B,maxZoom:F,zoomActivationKeyCode:g,preventScrolling:T,noWheelClassName:_,noPanClassName:D,onViewportChange:I,isControlledViewport:$,paneClickDistance:r,selectionOnDrag:ee,children:a.jsxs(Uh,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:se,autoPanOnSelection:E,isSelecting:!!W,selectionMode:c,selectionKeyPressed:V,paneClickDistance:r,selectionOnDrag:ee,children:[e,j&&a.jsx(lp,{onSelectionContextMenu:L,noPanClassName:D,disableKeyboardA11y:O})]})})}Ol.displayName="FlowRenderer";const dp=N.memo(Ol),up=e=>n=>e?Xo(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function cp(e){return xe(N.useCallback(up(e),[e]),ke)}const bp=e=>e.updateNodeInternals;function mp(){const e=xe(bp),[n]=N.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return N.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function vp({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=Ee(),t=N.useRef(null),l=N.useRef(null),r=N.useRef(e.sourcePosition),d=N.useRef(e.targetPosition),u=N.useRef(n),b=i&&!!e.internals.handleBounds;return N.useEffect(()=>{t.current&&!e.hidden&&(!b||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[b,e.hidden]),N.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),N.useEffect(()=>{if(t.current){const c=u.current!==n,m=r.current!==e.sourcePosition,f=d.current!==e.targetPosition;(c||m||f)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function fp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:b,resizeObserver:c,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:v,rfId:x,nodeTypes:g,nodeClickDistance:y,onError:w}){var W,R,me;const{node:h,internals:p,isParent:k}=xe(Q=>{const Y=Q.nodeLookup.get(e),X=Q.parentLookup.has(e);return{node:Y,internals:Y.internals,isParent:X}},ke);let S=h.type||"default",C=(g==null?void 0:g[S])||Dl[S];C===void 0&&(w==null||w("003",Ge.error003(S)),S="default",C=(g==null?void 0:g.default)||Dl.default);const A=!!(h.draggable||r&&typeof h.draggable=="undefined"),E=!!(h.selectable||d&&typeof h.selectable=="undefined"),P=!!(h.connectable||u&&typeof h.connectable=="undefined"),M=!!(h.focusable||b&&typeof h.focusable=="undefined"),B=Ee(),F=xt(h),T=vp({node:h,nodeType:S,hasDimensions:F,resizeObserver:c}),L=Pl({nodeRef:T,disabled:h.hidden||!A,noDragClassName:m,handleSelector:h.dragHandle,nodeId:e,isSelectable:E,nodeClickDistance:y}),_=Ll();if(h.hidden)return null;const D=sn(h),O=ap(h),I=E||A||n||i||o||s,$=i?Q=>i(Q,{...p.userNode}):void 0,j=o?Q=>o(Q,{...p.userNode}):void 0,G=s?Q=>s(Q,{...p.userNode}):void 0,V=t?Q=>t(Q,{...p.userNode}):void 0,Z=l?Q=>l(Q,{...p.userNode}):void 0,se=Q=>{const{selectNodesOnDrag:Y,nodeDragThreshold:X}=B.getState();E&&(!Y||!A||X>0)&&xs({id:e,store:B,nodeRef:T}),n&&n(Q,{...p.userNode})},le=Q=>{if(!(Ct(Q.nativeEvent)||v)){if(lt.includes(Q.key)&&E){const Y=Q.key==="Escape";xs({id:e,store:B,unselect:Y,nodeRef:T})}else if(A&&h.selected&&Object.prototype.hasOwnProperty.call(eo,Q.key)){Q.preventDefault();const{ariaLabelConfig:Y}=B.getState();B.setState({ariaLiveMessage:Y["node.a11yDescription.ariaLiveMessage"]({direction:Q.key.replace("Arrow","").toLowerCase(),x:~~p.positionAbsolute.x,y:~~p.positionAbsolute.y})}),_({direction:eo[Q.key],factor:Q.shiftKey?4:1})}}},ee=()=>{var z;if(v||!((z=T.current)!=null&&z.matches(":focus-visible")))return;const{transform:Q,width:Y,height:X,autoPanOnNodeFocus:te,setCenter:H}=B.getState();if(!te)return;Xo(new Map([[e,h]]),{x:0,y:0,width:Y,height:X},Q,!0).length>0||H(h.position.x+D.width/2,h.position.y+D.height/2,{zoom:Q[2]})};return a.jsx("div",{className:Ie(["react-flow__node",`react-flow__node-${S}`,{[f]:A},h.className,{selected:h.selected,selectable:E,parent:k,draggable:A,dragging:L}]),ref:T,style:{zIndex:p.z,transform:`translate(${p.positionAbsolute.x}px,${p.positionAbsolute.y}px)`,pointerEvents:I?"all":"none",visibility:F?"visible":"hidden",...h.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:$,onMouseMove:j,onMouseLeave:G,onContextMenu:V,onClick:se,onDoubleClick:Z,onKeyDown:M?le:void 0,tabIndex:M?0:void 0,onFocus:M?ee:void 0,role:(W=h.ariaRole)!=null?W:M?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${ul}-${x}`,"aria-label":h.ariaLabel,...h.domAttributes,children:a.jsx(Yh,{value:e,children:a.jsx(C,{id:e,data:h.data,type:S,positionAbsoluteX:p.positionAbsolute.x,positionAbsoluteY:p.positionAbsolute.y,selected:(R=h.selected)!=null?R:!1,selectable:E,draggable:A,deletable:(me=h.deletable)!=null?me:!0,isConnectable:P,sourcePosition:h.sourcePosition,targetPosition:h.targetPosition,dragging:L,dragHandle:h.dragHandle,zIndex:p.z,parentId:h.parentId,...D})})})}var hp=N.memo(fp);const pp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Fl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=xe(pp,ke),l=cp(e.onlyRenderVisibleElements),r=mp();return a.jsx("div",{className:"react-flow__nodes",style:Ri,children:l.map(d=>a.jsx(hp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Fl.displayName="NodeRenderer";const gp=N.memo(Fl);function yp(e){return xe(N.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&bf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),ke)}const xp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Sp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Hl={[Pn.Arrow]:xp,[Pn.ArrowClosed]:Sp};function wp(e){const n=Ee();return N.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Hl,e)?Hl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",Ge.error009(e)),null)},[e])}const Np=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=wp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Kl=({defaultColor:e,rfId:n})=>{const i=xe(t=>t.edges),o=xe(t=>t.defaultEdgeOptions),s=N.useMemo(()=>xf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(Np,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Kl.displayName="MarkerDefinitions";var Cp=N.memo(Kl);function Vl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...b}){const[c,m]=N.useState({x:1,y:0,width:0,height:0}),f=Ie(["react-flow__edge-textwrapper",u]),v=N.useRef(null);return N.useEffect(()=>{if(v.current){const x=v.current.getBBox();m({x:x.x,y:x.y,width:x.width,height:x.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-c.width/2} ${n-c.height/2})`,className:f,visibility:c.width?"visible":"hidden",...b,children:[s&&a.jsx("rect",{width:c.width+2*l[0],x:-l[0],y:-l[1],height:c.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}Vl.displayName="EdgeText";const Ap=N.memo(Vl);function no({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...b}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...b,d:e,fill:"none",className:Ie(["react-flow__edge-path",b.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&je(n)&&je(i)?a.jsx(Ap,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function Gl({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ve.Left||e===ve.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function zl({sourceX:e,sourceY:n,sourcePosition:i=ve.Bottom,targetX:o,targetY:s,targetPosition:t=ve.Top}){const[l,r]=Gl({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=Gl({pos:t,x1:o,y1:s,x2:e,y2:n}),[b,c,m,f]=Et({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,b,c,m,f]}function $l(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:x,markerStart:g,interactionWidth:y})=>{const[w,h,p]=zl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),k=e.isInternal?void 0:n;return a.jsx(no,{id:k,path:w,labelX:h,labelY:p,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:x,markerStart:g,interactionWidth:y})})}const kp=$l({isInternal:!1}),Wl=$l({isInternal:!0});kp.displayName="SimpleBezierEdge",Wl.displayName="SimpleBezierEdgeInternal";function jl(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,sourcePosition:f=ve.Bottom,targetPosition:v=ve.Top,markerEnd:x,markerStart:g,pathOptions:y,interactionWidth:w})=>{const[h,p,k]=is({sourceX:i,sourceY:o,sourcePosition:f,targetX:s,targetY:t,targetPosition:v,borderRadius:y==null?void 0:y.borderRadius,offset:y==null?void 0:y.offset,stepPosition:y==null?void 0:y.stepPosition}),S=e.isInternal?void 0:n;return a.jsx(no,{id:S,path:h,labelX:p,labelY:k,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:x,markerStart:g,interactionWidth:w})})}const Ul=jl({isInternal:!1}),ql=jl({isInternal:!0});Ul.displayName="SmoothStepEdge",ql.displayName="SmoothStepEdgeInternal";function Yl(e){return N.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(Ul,{...i,id:o,pathOptions:N.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const Ep=Yl({isInternal:!1}),Jl=Yl({isInternal:!0});Ep.displayName="StepEdge",Jl.displayName="StepEdgeInternal";function Zl(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:x})=>{const[g,y,w]=Lt({sourceX:i,sourceY:o,targetX:s,targetY:t}),h=e.isInternal?void 0:n;return a.jsx(no,{id:h,path:g,labelX:y,labelY:w,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:x})})}const Mp=Zl({isInternal:!1}),Xl=Zl({isInternal:!0});Mp.displayName="StraightEdge",Xl.displayName="StraightEdgeInternal";function Ql(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=ve.Bottom,targetPosition:r=ve.Top,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:x,markerStart:g,pathOptions:y,interactionWidth:w})=>{const[h,p,k]=Tt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:y==null?void 0:y.curvature}),S=e.isInternal?void 0:n;return a.jsx(no,{id:S,path:h,labelX:p,labelY:k,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:x,markerStart:g,interactionWidth:w})})}const Tp=Ql({isInternal:!1}),Rl=Ql({isInternal:!0});Tp.displayName="BezierEdge",Rl.displayName="BezierEdgeInternal";const er={default:Rl,straight:Xl,step:Jl,smoothstep:ql,simplebezier:Wl},nr={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Pp=(e,n,i)=>i===ve.Left?e-n:i===ve.Right?e+n:e,Lp=(e,n,i)=>i===ve.Top?e-n:i===ve.Bottom?e+n:e,ir="react-flow__edgeupdater";function or({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Ie([ir,`${ir}-${r}`]),cx:Pp(n,o,e),cy:Lp(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Bp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:b,onReconnectEnd:c,setReconnecting:m,setUpdateHover:f}){const v=Ee(),x=(p,k)=>{if(p.button!==0)return;const{autoPanOnConnect:S,domNode:C,connectionMode:A,connectionRadius:E,lib:P,onConnectStart:M,cancelConnection:B,nodeLookup:F,rfId:T,panBy:L,updateConnection:_}=v.getState(),D=k.type==="target",O=(j,G)=>{m(!1),c==null||c(j,i,k.type,G)},I=j=>u==null?void 0:u(i,j),$=(j,G)=>{m(!0),b==null||b(p,i,k.type),M==null||M(j,G)};cs.onPointerDown(p.nativeEvent,{autoPanOnConnect:S,connectionMode:A,connectionRadius:E,domNode:C,handleId:k.id,nodeId:k.nodeId,nodeLookup:F,isTarget:D,edgeUpdaterType:k.type,lib:P,flowId:T,cancelConnection:B,panBy:L,isValidConnection:(...j)=>{var G,V,Z;return(Z=(V=(G=v.getState()).isValidConnection)==null?void 0:V.call(G,...j))!=null?Z:!0},onConnect:I,onConnectStart:$,onConnectEnd:(...j)=>{var G,V;return(V=(G=v.getState()).onConnectEnd)==null?void 0:V.call(G,...j)},onReconnectEnd:O,updateConnection:_,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:p.currentTarget})},g=p=>{var k;return x(p,{nodeId:i.target,id:(k=i.targetHandle)!=null?k:null,type:"target"})},y=p=>{var k;return x(p,{nodeId:i.source,id:(k=i.sourceHandle)!=null?k:null,type:"source"})},w=()=>f(!0),h=()=>f(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(or,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:g,onMouseEnter:w,onMouseOut:h,type:"source"}),(e===!0||e==="target")&&a.jsx(or,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:y,onMouseEnter:w,onMouseOut:h,type:"target"})]})}function Ip({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,rfId:v,edgeTypes:x,noPanClassName:g,onError:y,disableKeyboardA11y:w}){var Y,X;let h=xe(te=>te.edgeLookup.get(e));const p=xe(te=>te.defaultEdgeOptions);h=p?{...p,...h}:h;let k=h.type||"default",S=(x==null?void 0:x[k])||er[k];S===void 0&&(y==null||y("011",Ge.error011(k)),k="default",S=(x==null?void 0:x.default)||er.default);const C=!!(h.focusable||n&&typeof h.focusable=="undefined"),A=typeof c!="undefined"&&(h.reconnectable||i&&typeof h.reconnectable=="undefined"),E=!!(h.selectable||o&&typeof h.selectable=="undefined"),P=N.useRef(null),[M,B]=N.useState(!1),[F,T]=N.useState(!1),L=Ee(),{zIndex:_=h.zIndex,sourceX:D,sourceY:O,targetX:I,targetY:$,sourcePosition:j,targetPosition:G}=xe(N.useCallback(te=>{const H=te.nodeLookup.get(h.source),q=te.nodeLookup.get(h.target);if(!H||!q)return nr;const z=yf({id:e,sourceNode:H,targetNode:q,sourceHandle:h.sourceHandle||null,targetHandle:h.targetHandle||null,connectionMode:te.connectionMode,onError:y}),K=cf({selected:h.selected,zIndex:h.zIndex,sourceNode:H,targetNode:q,elevateOnSelect:te.elevateEdgesOnSelect,zIndexMode:te.zIndexMode});return{...z||nr,zIndex:K}},[h.source,h.target,h.sourceHandle,h.targetHandle,h.selected,h.zIndex]),ke),V=N.useMemo(()=>h.markerStart?`url('#${os(h.markerStart,v)}')`:void 0,[h.markerStart,v]),Z=N.useMemo(()=>h.markerEnd?`url('#${os(h.markerEnd,v)}')`:void 0,[h.markerEnd,v]);if(h.hidden||D===null||O===null||I===null||$===null)return null;const se=te=>{var K;const{addSelectedEdges:H,unselectNodesAndEdges:q,multiSelectionActive:z}=L.getState();E&&(L.setState({nodesSelectionActive:!1}),h.selected&&z?(q({nodes:[],edges:[h]}),(K=P.current)==null||K.blur()):H([e])),s&&s(te,h)},le=t?te=>{t(te,{...h})}:void 0,ee=l?te=>{l(te,{...h})}:void 0,W=r?te=>{r(te,{...h})}:void 0,R=d?te=>{d(te,{...h})}:void 0,me=u?te=>{u(te,{...h})}:void 0,Q=te=>{var H;if(!w&&lt.includes(te.key)&&E){const{unselectNodesAndEdges:q,addSelectedEdges:z}=L.getState();te.key==="Escape"?((H=P.current)==null||H.blur(),q({edges:[h]})):z([e])}};return a.jsx("svg",{style:{zIndex:_},children:a.jsxs("g",{className:Ie(["react-flow__edge",`react-flow__edge-${k}`,h.className,g,{selected:h.selected,animated:h.animated,inactive:!E&&!s,updating:M,selectable:E}]),onClick:se,onDoubleClick:le,onContextMenu:ee,onMouseEnter:W,onMouseMove:R,onMouseLeave:me,onKeyDown:C?Q:void 0,tabIndex:C?0:void 0,role:(Y=h.ariaRole)!=null?Y:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":h.ariaLabel===null?void 0:h.ariaLabel||`Edge from ${h.source} to ${h.target}`,"aria-describedby":C?`${cl}-${v}`:void 0,ref:P,...h.domAttributes,children:[!F&&a.jsx(S,{id:e,source:h.source,target:h.target,type:h.type,selected:h.selected,animated:h.animated,selectable:E,deletable:(X=h.deletable)!=null?X:!0,label:h.label,labelStyle:h.labelStyle,labelShowBg:h.labelShowBg,labelBgStyle:h.labelBgStyle,labelBgPadding:h.labelBgPadding,labelBgBorderRadius:h.labelBgBorderRadius,sourceX:D,sourceY:O,targetX:I,targetY:$,sourcePosition:j,targetPosition:G,data:h.data,style:h.style,sourceHandleId:h.sourceHandle,targetHandleId:h.targetHandle,markerStart:V,markerEnd:Z,pathOptions:"pathOptions"in h?h.pathOptions:void 0,interactionWidth:h.interactionWidth}),A&&a.jsx(Bp,{edge:h,isReconnectable:A,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,sourceX:D,sourceY:O,targetX:I,targetY:$,sourcePosition:j,targetPosition:G,setUpdateHover:B,setReconnecting:T})]})})}var Dp=N.memo(Ip);const _p=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function sr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:b,reconnectRadius:c,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,disableKeyboardA11y:x}){const{edgesFocusable:g,edgesReconnectable:y,elementsSelectable:w,onError:h}=xe(_p,ke),p=yp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(Cp,{defaultColor:e,rfId:i}),p.map(k=>a.jsx(Dp,{id:k,edgesFocusable:g,edgesReconnectable:y,elementsSelectable:w,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:b,reconnectRadius:c,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,rfId:i,onError:h,edgeTypes:o,disableKeyboardA11y:x},k))]})}sr.displayName="EdgeRenderer";const Op=N.memo(sr),Fp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Hp({children:e}){const n=xe(Fp);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Kp(e){const n=gs(),i=N.useRef(!1);N.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Vp=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function Gp(e){const n=xe(Vp),i=Ee();return N.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function zp(e){return e.connection.inProgress?{...e.connection,to:ti(e.connection.to,e.transform)}:{...e.connection}}function $p(e){return zp}function Wp(e){const n=$p();return xe(n,ke)}const jp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Up({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=xe(jp,ke);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Ie(["react-flow__connection",ct(r)]),children:a.jsx(ar,{style:n,type:i,CustomComponent:o,isValid:r})})})}const ar=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:b,toHandle:c,toPosition:m,pointer:f}=Wp();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:ct(o),toNode:b,toHandle:c,pointer:f});let v="";const x={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[v]=Tt(x);break;case ln.SimpleBezier:[v]=zl(x);break;case ln.Step:[v]=is({...x,borderRadius:0});break;case ln.SmoothStep:[v]=is(x);break;default:[v]=Lt(x)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};ar.displayName="ConnectionLine";const qp={};function tr(e=qp){const n=N.useRef(e),i=Ee();N.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",Ge.error002());break}n.current=e}},[e])}function Yp(){const e=Ee(),n=N.useRef(!1);N.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Ge.error013("react"))),n.current=!0}},[])}function lr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,onSelectionContextMenu:c,onSelectionStart:m,onSelectionEnd:f,connectionLineType:v,connectionLineStyle:x,connectionLineComponent:g,connectionLineContainerStyle:y,selectionKeyCode:w,selectionOnDrag:h,selectionMode:p,multiSelectionKeyCode:k,panActivationKeyCode:S,zoomActivationKeyCode:C,deleteKeyCode:A,onlyRenderVisibleElements:E,elementsSelectable:P,defaultViewport:M,translateExtent:B,minZoom:F,maxZoom:T,preventScrolling:L,defaultMarkerColor:_,zoomOnScroll:D,zoomOnPinch:O,panOnScroll:I,panOnScrollSpeed:$,panOnScrollMode:j,zoomOnDoubleClick:G,panOnDrag:V,autoPanOnSelection:Z,onPaneClick:se,onPaneMouseEnter:le,onPaneMouseMove:ee,onPaneMouseLeave:W,onPaneScroll:R,onPaneContextMenu:me,paneClickDistance:Q,nodeClickDistance:Y,onEdgeContextMenu:X,onEdgeMouseEnter:te,onEdgeMouseMove:H,onEdgeMouseLeave:q,reconnectRadius:z,onReconnect:K,onReconnectStart:U,onReconnectEnd:ae,noDragClassName:J,noWheelClassName:re,noPanClassName:ie,disableKeyboardA11y:oe,nodeExtent:ue,rfId:ge,viewport:fe,onViewportChange:we}){return tr(e),tr(n),Yp(),Kp(i),Gp(fe),a.jsx(dp,{onPaneClick:se,onPaneMouseEnter:le,onPaneMouseMove:ee,onPaneMouseLeave:W,onPaneContextMenu:me,onPaneScroll:R,paneClickDistance:Q,deleteKeyCode:A,selectionKeyCode:w,selectionOnDrag:h,selectionMode:p,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:k,panActivationKeyCode:S,zoomActivationKeyCode:C,elementsSelectable:P,zoomOnScroll:D,zoomOnPinch:O,zoomOnDoubleClick:G,panOnScroll:I,panOnScrollSpeed:$,panOnScrollMode:j,panOnDrag:V,autoPanOnSelection:Z,defaultViewport:M,translateExtent:B,minZoom:F,maxZoom:T,onSelectionContextMenu:c,preventScrolling:L,noDragClassName:J,noWheelClassName:re,noPanClassName:ie,disableKeyboardA11y:oe,onViewportChange:we,isControlledViewport:!!fe,children:a.jsxs(Hp,{children:[a.jsx(Op,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:K,onReconnectStart:U,onReconnectEnd:ae,onlyRenderVisibleElements:E,onEdgeContextMenu:X,onEdgeMouseEnter:te,onEdgeMouseMove:H,onEdgeMouseLeave:q,reconnectRadius:z,defaultMarkerColor:_,noPanClassName:ie,disableKeyboardA11y:oe,rfId:ge}),a.jsx(Up,{style:x,type:v,component:g,containerStyle:y}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(gp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,nodeClickDistance:Y,onlyRenderVisibleElements:E,noPanClassName:ie,noDragClassName:J,disableKeyboardA11y:oe,nodeExtent:ue,rfId:ge}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}lr.displayName="GraphView";const Jp=N.memo(lr),Zp=yt("React Flow","https://reactflow.dev/"),rr=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:b,nodeExtent:c,zIndexMode:m="basic"}={})=>{var C,A,E;const f=new Map,v=new Map,x=new Map,g=new Map,y=(C=o!=null?o:n)!=null?C:[],w=(A=i!=null?i:e)!=null?A:[],h=b!=null?b:[0,0],p=c!=null?c:ei;Vt(x,g,y);const{nodesInitialized:k}=ls(w,f,v,{nodeOrigin:h,nodeExtent:p,zIndexMode:m});let S=[0,0,1];if(l&&s&&t){const P=oi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:M,y:B,zoom:F}=es(P,s,t,d,u,(E=r==null?void 0:r.padding)!=null?E:.1);S=[M,B,F]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:S,nodes:w,nodesInitialized:k,nodeLookup:f,parentLookup:v,edges:y,edgeLookup:g,connectionLookup:x,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:ei,nodeExtent:p,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Tn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:h,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...dt},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Zp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:rt,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Xp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m})=>uh((f,v)=>{async function x(){const{nodeLookup:g,panZoom:y,fitViewOptions:w,fitViewResolver:h,width:p,height:k,minZoom:S,maxZoom:C}=v();y&&(await sf({nodes:g,width:p,height:k,panZoom:y,minZoom:S,maxZoom:C},w),h==null||h.resolve(!0),f({fitViewResolver:null}))}return{...rr({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:g=>{const{nodeLookup:y,parentLookup:w,nodeOrigin:h,elevateNodesOnSelect:p,fitViewQueued:k,zIndexMode:S,nodesSelectionActive:C}=v(),{nodesInitialized:A,hasSelectedNodes:E}=ls(g,y,w,{nodeOrigin:h,nodeExtent:c,elevateNodesOnSelect:p,checkEquality:!0,zIndexMode:S}),P=C&&E;k&&A?(x(),f({nodes:g,nodesInitialized:A,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:P})):f({nodes:g,nodesInitialized:A,nodesSelectionActive:P})},setEdges:g=>{const{connectionLookup:y,edgeLookup:w}=v();Vt(y,w,g),f({edges:g})},setDefaultNodesAndEdges:(g,y)=>{if(g){const{setNodes:w}=v();w(g),f({hasDefaultNodes:!0})}if(y){const{setEdges:w}=v();w(y),f({hasDefaultEdges:!0})}},updateNodeInternals:g=>{const{triggerNodeChanges:y,nodeLookup:w,parentLookup:h,domNode:p,nodeOrigin:k,nodeExtent:S,debug:C,fitViewQueued:A,zIndexMode:E}=v(),{changes:P,updatedInternals:M}=Ef(g,w,h,p,k,S,E);M&&(Nf(w,h,{nodeOrigin:k,nodeExtent:S,zIndexMode:E}),A?(x(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(P==null?void 0:P.length)>0&&(C&&console.log("React Flow: trigger node changes",P),y==null||y(P)))},updateNodePositions:(g,y=!1)=>{var E,P;const w=[];let h=[];const{nodeLookup:p,triggerNodeChanges:k,connection:S,updateConnection:C,onNodesChangeMiddlewareMap:A}=v();for(const[M,B]of g){const F=p.get(M),T=!!(F!=null&&F.expandParent&&(F!=null&&F.parentId)&&(B!=null&&B.position)),L={id:M,type:"position",position:T?{x:Math.max(0,B.position.x),y:Math.max(0,B.position.y)}:B.position,dragging:y};if(F&&S.inProgress&&S.fromNode.id===F.id){const _=yn(F,S.fromHandle,ve.Left,!0);C({...S,from:_})}T&&F.parentId&&w.push({id:M,parentId:F.parentId,rect:{...B.internals.positionAbsolute,width:(E=B.measured.width)!=null?E:0,height:(P=B.measured.height)!=null?P:0}}),h.push(L)}if(w.length>0){const{parentLookup:M,nodeOrigin:B}=v(),F=ds(w,p,M,B);h.push(...F)}for(const M of A.values())h=M(h);k(h)},triggerNodeChanges:g=>{const{onNodesChange:y,setNodes:w,nodes:h,hasDefaultNodes:p,debug:k}=v();if(g!=null&&g.length){if(p){const S=Sl(g,h);w(S)}k&&console.log("React Flow: trigger node changes",g),y==null||y(g)}},triggerEdgeChanges:g=>{const{onEdgesChange:y,setEdges:w,edges:h,hasDefaultEdges:p,debug:k}=v();if(g!=null&&g.length){if(p){const S=wl(g,h);w(S)}k&&console.log("React Flow: trigger edge changes",g),y==null||y(g)}},addSelectedNodes:g=>{const{multiSelectionActive:y,edgeLookup:w,nodeLookup:h,triggerNodeChanges:p,triggerEdgeChanges:k}=v();if(y){const S=g.map(C=>xn(C,!0));p(S);return}p(On(h,new Set([...g]),!0)),k(On(w))},addSelectedEdges:g=>{const{multiSelectionActive:y,edgeLookup:w,nodeLookup:h,triggerNodeChanges:p,triggerEdgeChanges:k}=v();if(y){const S=g.map(C=>xn(C,!0));k(S);return}k(On(w,new Set([...g]))),p(On(h,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:y}={})=>{const{edges:w,nodes:h,nodeLookup:p,triggerNodeChanges:k,triggerEdgeChanges:S}=v(),C=g||h,A=y||w,E=[];for(const M of C){if(!M.selected)continue;const B=p.get(M.id);B&&(B.selected=!1),E.push(xn(M.id,!1))}const P=[];for(const M of A)M.selected&&P.push(xn(M.id,!1));k(E),S(P)},setMinZoom:g=>{const{panZoom:y,maxZoom:w}=v();y==null||y.setScaleExtent([g,w]),f({minZoom:g})},setMaxZoom:g=>{const{panZoom:y,minZoom:w}=v();y==null||y.setScaleExtent([w,g]),f({maxZoom:g})},setTranslateExtent:g=>{var y;(y=v().panZoom)==null||y.setTranslateExtent(g),f({translateExtent:g})},resetSelectedElements:()=>{const{edges:g,nodes:y,triggerNodeChanges:w,triggerEdgeChanges:h,elementsSelectable:p}=v();if(!p)return;const k=y.reduce((C,A)=>A.selected?[...C,xn(A.id,!1)]:C,[]),S=g.reduce((C,A)=>A.selected?[...C,xn(A.id,!1)]:C,[]);w(k),h(S)},setNodeExtent:g=>{const{nodes:y,nodeLookup:w,parentLookup:h,nodeOrigin:p,elevateNodesOnSelect:k,nodeExtent:S,zIndexMode:C}=v();g[0][0]===S[0][0]&&g[0][1]===S[0][1]&&g[1][0]===S[1][0]&&g[1][1]===S[1][1]||(ls(y,w,h,{nodeOrigin:p,nodeExtent:g,elevateNodesOnSelect:k,checkEquality:!1,zIndexMode:C}),f({nodeExtent:g}))},panBy:g=>{const{transform:y,width:w,height:h,panZoom:p,translateExtent:k}=v();return Mf({delta:g,panZoom:p,transform:y,translateExtent:k,width:w,height:h})},setCenter:async(g,y,w)=>{const{width:h,height:p,maxZoom:k,panZoom:S}=v();if(!S)return!1;const C=typeof(w==null?void 0:w.zoom)!="undefined"?w.zoom:k;return await S.setViewport({x:h/2-g*C,y:p/2-y*C,zoom:C},{duration:w==null?void 0:w.duration,ease:w==null?void 0:w.ease,interpolate:w==null?void 0:w.interpolate}),!0},cancelConnection:()=>{f({connection:{...dt}})},updateConnection:g=>{f({connection:g})},reset:()=>f({...rr()})}},Object.is);function Qp({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m,children:f}){const[v]=N.useState(()=>Xp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:b,nodeExtent:c,zIndexMode:m}));return a.jsx(ch,{value:v,children:a.jsx(_h,{children:a.jsx(Zh,{children:f})})})}function Rp({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f}){return N.useContext(Zi)?a.jsx(a.Fragment,{children:e}):a.jsx(Qp,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f,children:e})}const eg={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function ng({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:b,onMoveStart:c,onMoveEnd:m,onConnect:f,onConnectStart:v,onConnectEnd:x,onClickConnectStart:g,onClickConnectEnd:y,onNodeMouseEnter:w,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:k,onNodeDoubleClick:S,onNodeDragStart:C,onNodeDrag:A,onNodeDragStop:E,onNodesDelete:P,onEdgesDelete:M,onDelete:B,onSelectionChange:F,onSelectionDragStart:T,onSelectionDrag:L,onSelectionDragStop:_,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:I,onBeforeDelete:$,connectionMode:j,connectionLineType:G=ln.Bezier,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:se,deleteKeyCode:le="Backspace",selectionKeyCode:ee="Shift",selectionOnDrag:W=!1,selectionMode:R=ni.Full,panActivationKeyCode:me="Space",multiSelectionKeyCode:Q=li()?"Meta":"Control",zoomActivationKeyCode:Y=li()?"Meta":"Control",snapToGrid:X,snapGrid:te,onlyRenderVisibleElements:H=!1,selectNodesOnDrag:q,nodesDraggable:z,autoPanOnNodeFocus:K,nodesConnectable:U,nodesFocusable:ae,nodeOrigin:J=ml,edgesFocusable:re,edgesReconnectable:ie,elementsSelectable:oe=!0,defaultViewport:ue=Ch,minZoom:ge=.5,maxZoom:fe=2,translateExtent:we=ei,preventScrolling:ce=!0,nodeExtent:de,defaultMarkerColor:Ae="#b1b1b7",zoomOnScroll:Pe=!0,zoomOnPinch:_e=!0,panOnScroll:Oe=!1,panOnScrollSpeed:Ce=.5,panOnScrollMode:Le=hn.Free,zoomOnDoubleClick:De=!0,panOnDrag:cn=!0,onPaneClick:Og,onPaneMouseEnter:Fg,onPaneMouseMove:Hg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg=1,nodeClickDistance:$g=0,children:Wg,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg=10,onNodesChange:e0,onEdgesChange:n0,noDragClassName:i0="nodrag",noWheelClassName:o0="nowheel",noPanClassName:mr="nopan",fitView:vr,fitViewOptions:fr,connectOnClick:s0,attributionPosition:a0,proOptions:t0,defaultEdgeOptions:l0,elevateNodesOnSelect:r0=!0,elevateEdgesOnSelect:d0=!1,disableKeyboardA11y:hr=!1,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanOnSelection:b0=!0,autoPanSpeed:m0,connectionRadius:v0,isValidConnection:f0,onError:h0,style:p0,id:pr,nodeDragThreshold:g0,connectionDragThreshold:y0,viewport:x0,onViewportChange:S0,width:w0,height:N0,colorMode:C0="light",debug:A0,onScroll:oo,ariaLabelConfig:k0,zIndexMode:gr="basic",...E0},M0){const Ns=pr||"1",T0=Eh(C0),P0=N.useCallback(yr=>{yr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),oo==null||oo(yr)},[oo]);return a.jsx("div",{"data-testid":"rf__wrapper",...E0,onScroll:P0,style:{...p0,...eg},ref:M0,className:Ie(["react-flow",s,T0]),id:pr,role:"application",children:a.jsxs(Rp,{nodes:e,edges:n,width:w0,height:N0,fitView:vr,fitViewOptions:fr,minZoom:ge,maxZoom:fe,nodeOrigin:J,nodeExtent:de,zIndexMode:gr,children:[a.jsx(kh,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:v,onConnectEnd:x,onClickConnectStart:g,onClickConnectEnd:y,nodesDraggable:z,autoPanOnNodeFocus:K,nodesConnectable:U,nodesFocusable:ae,edgesFocusable:re,edgesReconnectable:ie,elementsSelectable:oe,elevateNodesOnSelect:r0,elevateEdgesOnSelect:d0,minZoom:ge,maxZoom:fe,nodeExtent:de,onNodesChange:e0,onEdgesChange:n0,snapToGrid:X,snapGrid:te,connectionMode:j,translateExtent:we,connectOnClick:s0,defaultEdgeOptions:l0,fitView:vr,fitViewOptions:fr,onNodesDelete:P,onEdgesDelete:M,onDelete:B,onNodeDragStart:C,onNodeDrag:A,onNodeDragStop:E,onSelectionDrag:L,onSelectionDragStart:T,onSelectionDragStop:_,onMove:b,onMoveStart:c,onMoveEnd:m,noPanClassName:mr,nodeOrigin:J,rfId:Ns,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanSpeed:m0,onError:h0,connectionRadius:v0,isValidConnection:f0,selectNodesOnDrag:q,nodeDragThreshold:g0,connectionDragThreshold:y0,onBeforeDelete:$,debug:A0,ariaLabelConfig:k0,zIndexMode:gr}),a.jsx(Jp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:w,onNodeMouseMove:h,onNodeMouseLeave:p,onNodeContextMenu:k,onNodeDoubleClick:S,nodeTypes:t,edgeTypes:l,connectionLineType:G,connectionLineStyle:V,connectionLineComponent:Z,connectionLineContainerStyle:se,selectionKeyCode:ee,selectionOnDrag:W,selectionMode:R,deleteKeyCode:le,multiSelectionKeyCode:Q,panActivationKeyCode:me,zoomActivationKeyCode:Y,onlyRenderVisibleElements:H,defaultViewport:ue,translateExtent:we,minZoom:ge,maxZoom:fe,preventScrolling:ce,zoomOnScroll:Pe,zoomOnPinch:_e,zoomOnDoubleClick:De,panOnScroll:Oe,panOnScrollSpeed:Ce,panOnScrollMode:Le,panOnDrag:cn,autoPanOnSelection:b0,onPaneClick:Og,onPaneMouseEnter:Fg,onPaneMouseMove:Hg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg,nodeClickDistance:$g,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:I,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg,defaultMarkerColor:Ae,noDragClassName:i0,noWheelClassName:o0,noPanClassName:mr,rfId:Ns,disableKeyboardA11y:hr,nodeExtent:de,viewport:x0,onViewportChange:S0}),a.jsx(Nh,{onSelectionChange:F}),Wg,a.jsx(gh,{proOptions:t0,position:a0}),a.jsx(ph,{rfId:Ns,disableKeyboardA11y:hr})]})})}var ig=kl(ng);function og(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>Sl(s,t)),[]);return[n,i,o]}function sg(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>wl(s,t)),[]);return[n,i,o]}function ag({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Ie(["react-flow__background-pattern",i,o])})}function tg({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Ie(["react-flow__background-pattern","dots",n])})}var un;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(un||(un={}));const lg={[un.Dots]:1,[un.Lines]:1,[un.Cross]:6},rg=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function dr({id:e,variant:n=un.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:b}){const c=N.useRef(null),{transform:m,patternId:f}=xe(rg,ke),v=o||lg[n],x=n===un.Dots,g=n===un.Cross,y=Array.isArray(i)?i:[i,i],w=[y[0]*m[2]||1,y[1]*m[2]||1],h=v*m[2],p=Array.isArray(t)?t:[t,t],k=g?[h,h]:w,S=[p[0]*m[2]||1+k[0]/2,p[1]*m[2]||1+k[1]/2],C=`${f}${e||""}`;return a.jsxs("svg",{className:Ie(["react-flow__background",u]),style:{...d,...Ri,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%w[0],y:m[1]%w[1],width:w[0],height:w[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${S[0]},-${S[1]})`,children:x?a.jsx(tg,{radius:h/2,className:b}):a.jsx(ag,{dimensions:k,lineWidth:s,variant:n,className:b})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}dr.displayName="Background";const dg=N.memo(dr);function ug(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function cg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function bg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function mg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function vg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function io({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Ie(["react-flow__controls-button",n]),...i,children:e})}const fg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function ur({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:b,position:c="bottom-left",orientation:m="vertical","aria-label":f}){const v=Ee(),{isInteractive:x,minZoomReached:g,maxZoomReached:y,ariaLabelConfig:w}=xe(fg,ke),{zoomIn:h,zoomOut:p,fitView:k}=gs(),S=()=>{h(),t==null||t()},C=()=>{p(),l==null||l()},A=()=>{k(s),r==null||r()},E=()=>{v.setState({nodesDraggable:!x,nodesConnectable:!x,elementsSelectable:!x}),d==null||d(!x)},P=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Xi,{className:Ie(["react-flow__controls",P,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:w["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(io,{onClick:S,className:"react-flow__controls-zoomin",title:w["controls.zoomIn.ariaLabel"],"aria-label":w["controls.zoomIn.ariaLabel"],disabled:y,children:a.jsx(ug,{})}),a.jsx(io,{onClick:C,className:"react-flow__controls-zoomout",title:w["controls.zoomOut.ariaLabel"],"aria-label":w["controls.zoomOut.ariaLabel"],disabled:g,children:a.jsx(cg,{})})]}),i&&a.jsx(io,{className:"react-flow__controls-fitview",onClick:A,title:w["controls.fitView.ariaLabel"],"aria-label":w["controls.fitView.ariaLabel"],children:a.jsx(bg,{})}),o&&a.jsx(io,{className:"react-flow__controls-interactive",onClick:E,title:w["controls.interactive.ariaLabel"],"aria-label":w["controls.interactive.ariaLabel"],children:x?a.jsx(vg,{}):a.jsx(mg,{})}),b]})}ur.displayName="Controls";const hg=N.memo(ur);function pg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:b,shapeRendering:c,selected:m,onClick:f}){const{background:v,backgroundColor:x}=t||{},g=l||v||x;return a.jsx("rect",{className:Ie(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:b,ry:b,width:o,height:s,style:{fill:g,stroke:r,strokeWidth:d},shapeRendering:c,onClick:f?y=>f(y,e):void 0})}const gg=N.memo(pg),yg=e=>e.nodes.map(n=>n.id),ws=e=>e instanceof Function?e:()=>e;function xg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=gg,onClick:l}){const r=xe(yg,ke),d=ws(n),u=ws(e),b=ws(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(wg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:b,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:c},m))})}function Sg({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:b,y:c,width:m,height:f}=xe(v=>{const x=v.nodeLookup.get(e);if(!x)return{node:void 0,x:0,y:0,width:0,height:0};const g=x.internals.userNode,{x:y,y:w}=x.internals.positionAbsolute,{width:h,height:p}=sn(g);return{node:g,x:y,y:w,width:h,height:p}},ke);return!u||u.hidden||!xt(u)?null:a.jsx(r,{x:b,y:c,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const wg=N.memo(Sg);var Ng=N.memo(xg);const Cg=200,Ag=150,kg=e=>!e.hidden,Eg=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?ht(oi(e.nodeLookup,{filter:kg}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Mg="react-flow__minimap-desc";function cr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:b,maskStrokeWidth:c,position:m="bottom-right",onClick:f,onNodeClick:v,pannable:x=!1,zoomable:g=!1,ariaLabel:y,inversePan:w,zoomStep:h=1,offsetScale:p=5}){var X,te;const k=Ee(),S=N.useRef(null),{boundingRect:C,viewBB:A,rfId:E,panZoom:P,translateExtent:M,flowWidth:B,flowHeight:F,ariaLabelConfig:T}=xe(Eg,ke),L=(X=e==null?void 0:e.width)!=null?X:Cg,_=(te=e==null?void 0:e.height)!=null?te:Ag,D=C.width/L,O=C.height/_,I=Math.max(D,O),$=I*L,j=I*_,G=p*I,V=C.x-($-C.width)/2-G,Z=C.y-(j-C.height)/2-G,se=$+G*2,le=j+G*2,ee=`${Mg}-${E}`,W=N.useRef(0),R=N.useRef();W.current=I,N.useEffect(()=>{if(S.current&&P)return R.current=Ff({domNode:S.current,panZoom:P,getTransform:()=>k.getState().transform,getViewScale:()=>W.current}),()=>{var H;(H=R.current)==null||H.destroy()}},[P]),N.useEffect(()=>{var H;(H=R.current)==null||H.update({translateExtent:M,width:B,height:F,inversePan:w,pannable:x,zoomStep:h,zoomable:g})},[x,g,w,h,M,B,F]);const me=f?H=>{var K;const[q,z]=((K=R.current)==null?void 0:K.pointer(H))||[0,0];f(H,{x:q,y:z})}:void 0,Q=v?N.useCallback((H,q)=>{const z=k.getState().nodeLookup.get(q).internals.userNode;v(H,z)},[]):void 0,Y=y!=null?y:T["minimap.ariaLabel"];return a.jsx(Xi,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof b=="string"?b:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*I:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Ie(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:L,height:_,viewBox:`${V} ${Z} ${se} ${le}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ee,ref:S,onClick:me,children:[Y&&a.jsx("title",{id:ee,children:Y}),a.jsx(Ng,{onClick:Q,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${V-G},${Z-G}h${se+G*2}v${le+G*2}h${-se-G*2}z
76
- M${A.x},${A.y}h${A.width}v${A.height}h${-A.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}cr.displayName="MiniMap";const Tg=N.memo(cr),Pg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Lg={[_n.Line]:"right",[_n.Handle]:"bottom-right"};function Bg({nodeId:e,position:n,variant:i=_n.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:b=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:m,autoScale:f=!0,shouldResize:v,onResizeStart:x,onResize:g,onResizeEnd:y}){const w=Bl(),h=typeof e=="string"?e:w,p=Ee(),k=N.useRef(null),S=i===_n.Handle,C=xe(N.useCallback(Pg(S&&f),[S,f]),ke),A=N.useRef(null),E=n!=null?n:Lg[i];N.useEffect(()=>{if(!(!k.current||!h))return A.current||(A.current=Zf({domNode:k.current,nodeId:h,getStoreItems:()=>{const{nodeLookup:M,transform:B,snapGrid:F,snapToGrid:T,nodeOrigin:L,domNode:_}=p.getState();return{nodeLookup:M,transform:B,snapGrid:F,snapToGrid:T,nodeOrigin:L,paneDomNode:_}},onChange:(M,B)=>{var $,j,G,V,Z,se,le;const{triggerNodeChanges:F,nodeLookup:T,parentLookup:L,nodeOrigin:_}=p.getState(),D=[],O={x:M.x,y:M.y},I=T.get(h);if(I&&I.expandParent&&I.parentId){const ee=($=I.origin)!=null?$:_,W=(G=(j=M.width)!=null?j:I.measured.width)!=null?G:0,R=(Z=(V=M.height)!=null?V:I.measured.height)!=null?Z:0,me={id:I.id,parentId:I.parentId,rect:{width:W,height:R,...St({x:(se=M.x)!=null?se:I.position.x,y:(le=M.y)!=null?le:I.position.y},{width:W,height:R},I.parentId,T,ee)}},Q=ds([me],T,L,_);D.push(...Q),O.x=M.x?Math.max(ee[0]*W,M.x):void 0,O.y=M.y?Math.max(ee[1]*R,M.y):void 0}if(O.x!==void 0&&O.y!==void 0){const ee={id:h,type:"position",position:{...O}};D.push(ee)}if(M.width!==void 0&&M.height!==void 0){const W={id:h,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};D.push(W)}for(const ee of B){const W={...ee,type:"position"};D.push(W)}F(D)},onEnd:({width:M,height:B})=>{const F={id:h,type:"dimensions",resizing:!1,dimensions:{width:M,height:B}};p.getState().triggerNodeChanges([F])}})),A.current.update({controlPosition:E,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:b},keepAspectRatio:c,resizeDirection:m,onResizeStart:x,onResize:g,onResizeEnd:y,shouldResize:v}),()=>{var M;(M=A.current)==null||M.destroy()}},[E,r,d,u,b,c,x,g,y,v]);const P=E.split("-");return a.jsx("div",{className:Ie(["react-flow__resize-control","nodrag",...P,i,o]),ref:k,style:{...s,scale:C,...l&&{[S?"backgroundColor":"borderColor"]:l}},children:t})}N.memo(Bg);const br=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Ig={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Fn,{type:"target",position:n||ve.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(be,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Fn,{type:"source",position:i||ve.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function Dg({formData:e}){const{nodes:n,edges:i}=N.useMemo(()=>{var m,f;const u=[],b=[];let c=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isFieldDeleted)))==null||m.forEach((v,x)=>{var S;const g=br[x%br.length],y=((S=v==null?void 0:v.questionData)==null?void 0:S.filter(C=>!(C!=null&&C.isFieldDeleted)))||[],w=x*400,h=0,p=320,k=60+y.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${x+1}`},position:{x:w,y:h},style:{width:p,height:k,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),y.forEach((C,A)=>{const E=C.id;u.push({id:E,type:"customField",parentId:v.id,extent:"parent",targetPosition:ve.Top,sourcePosition:ve.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:g},position:{x:20,y:40+A*110}}),c&&!C.isHidden&&b.push({id:`e-${c}-${E}`,source:c,target:E,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(c=E)})}),(f=e==null?void 0:e.filter(v=>!(v!=null&&v.isFieldDeleted)))==null||f.forEach(v=>{var x,g;(g=(x=v==null?void 0:v.questionData)==null?void 0:x.filter(y=>!(y!=null&&y.isFieldDeleted)))==null||g.forEach(y=>{var w;y.isHidden&&((w=y.visibilityDependentFields)==null?void 0:w.length)>0&&y.visibilityDependentFields.forEach(h=>{b.push({id:`e-cond-${h.id}-${y.id}`,source:h.id,target:y.id,type:"smoothstep",animated:!0,label:`if ${h.operator} '${h.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:Pn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:b}},[e]),[o,s,t]=og(n),[l,r,d]=sg(i);return N.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(ig,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Ig,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(dg,{color:"#e2e8f0",gap:16}),a.jsx(hg,{}),a.jsx(Tg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const _g=Object.freeze(Object.defineProperty({__proto__:null,default:Dg},Symbol.toStringTag,{value:"Module"}));Me.FormBuilder=lc,Me.FormViewer=Po,Object.defineProperty(Me,Symbol.toStringTag,{value:"Module"})});
75
+ `)),b=u.reduce((c,m)=>c.concat(...m),[]);return[u,b]}return[[],[]]},[e]);return N.useEffect(()=>{var b,c;const d=(b=n==null?void 0:n.target)!=null?b:yl,u=(c=n==null?void 0:n.actInsideInputWithModifier)!=null?c:!0;if(e!==null){const m=g=>{var y,p;if(s.current=g.ctrlKey||g.metaKey||g.shiftKey||g.altKey,(!s.current||s.current&&!u)&&kt(g))return!1;const h=Sl(g.code,r);if(t.current.add(g[h]),xl(l,t.current,!1)){const x=((p=(y=g.composedPath)==null?void 0:y.call(g))==null?void 0:p[0])||g.target,A=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(s.current||!A)&&g.preventDefault(),o(!0)}},f=g=>{const S=Sl(g.code,r);xl(l,t.current,!0)?(o(!1),t.current.clear()):t.current.delete(g[S]),g.key==="Meta"&&t.current.clear(),s.current=!1},v=()=>{t.current.clear(),o(!1)};return d==null||d.addEventListener("keydown",m),d==null||d.addEventListener("keyup",f),window.addEventListener("blur",v),window.addEventListener("contextmenu",v),()=>{d==null||d.removeEventListener("keydown",m),d==null||d.removeEventListener("keyup",f),window.removeEventListener("blur",v),window.removeEventListener("contextmenu",v)}}},[e,o]),i}function xl(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(s=>n.has(s)))}function Sl(e,n){return n.includes(e)?"code":"key"}const Ph=()=>{const e=Be();return N.useMemo(()=>({zoomIn:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1.2,n):!1},zoomOut:async n=>{const{panZoom:i}=e.getState();return i?i.scaleBy(1/1.2,n):!1},zoomTo:async(n,i)=>{const{panZoom:o}=e.getState();return o?o.scaleTo(n,i):!1},getZoom:()=>e.getState().transform[2],setViewport:async(n,i)=>{var r,d,u;const{transform:[o,s,t],panZoom:l}=e.getState();return l?(await l.setViewport({x:(r=n.x)!=null?r:o,y:(d=n.y)!=null?d:s,zoom:(u=n.zoom)!=null?u:t},i),!0):!1},getViewport:()=>{const[n,i,o]=e.getState().transform;return{x:n,y:i,zoom:o}},setCenter:async(n,i,o)=>e.getState().setCenter(n,i,o),fitBounds:async(n,i)=>{var u;const{width:o,height:s,minZoom:t,maxZoom:l,panZoom:r}=e.getState(),d=os(n,o,s,t,l,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(d,{duration:i==null?void 0:i.duration,ease:i==null?void 0:i.ease,interpolate:i==null?void 0:i.interpolate}),!0):!1},screenToFlowPosition:(n,i={})=>{var m,f;const{transform:o,snapGrid:s,snapToGrid:t,domNode:l}=e.getState();if(!l)return n;const{x:r,y:d}=l.getBoundingClientRect(),u={x:n.x-r,y:n.y-d},b=(m=i.snapGrid)!=null?m:s,c=(f=i.snapToGrid)!=null?f:t;return ri(u,o,c,b)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:s,y:t}=o.getBoundingClientRect(),l=In(n,i);return{x:l.x+s,y:l.y+t}}}),[])};function wl(e,n){const i=[],o=new Map,s=[];for(const t of e)if(t.type==="add"){s.push(t);continue}else if(t.type==="remove"||t.type==="replace")o.set(t.id,[t]);else{const l=o.get(t.id);l?l.push(t):o.set(t.id,[t])}for(const t of n){const l=o.get(t.id);if(!l){i.push(t);continue}if(l[0].type==="remove")continue;if(l[0].type==="replace"){i.push({...l[0].item});continue}const r={...t};for(const d of l)Lh(d,r);i.push(r)}return s.length&&s.forEach(t=>{t.index!==void 0?i.splice(t.index,0,{...t.item}):i.push({...t.item})}),i}function Lh(e,n){switch(e.type){case"select":{n.selected=e.selected;break}case"position":{typeof e.position!="undefined"&&(n.position=e.position),typeof e.dragging!="undefined"&&(n.dragging=e.dragging);break}case"dimensions":{typeof e.dimensions!="undefined"&&(n.measured={...e.dimensions},e.setAttributes&&((e.setAttributes===!0||e.setAttributes==="width")&&(n.width=e.dimensions.width),(e.setAttributes===!0||e.setAttributes==="height")&&(n.height=e.dimensions.height))),typeof e.resizing=="boolean"&&(n.resizing=e.resizing);break}}}function Nl(e,n){return wl(e,n)}function Cl(e,n){return wl(e,n)}function Sn(e,n){return{id:e,type:"select",selected:n}}function Fn(e,n=new Set,i=!1){const o=[];for(const[s,t]of e){const l=n.has(s);!(t.selected===void 0&&!l)&&t.selected!==l&&(i&&(t.selected=l),o.push(Sn(t.id,l)))}return o}function Al({items:e=[],lookup:n}){var s,t;const i=[],o=new Map(e.map(l=>[l.id,l]));for(const[l,r]of e.entries()){const d=n.get(r.id),u=(t=(s=d==null?void 0:d.internals)==null?void 0:s.userNode)!=null?t:d;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:l})}for(const[l]of n)o.get(l)===void 0&&i.push({id:l,type:"remove"});return i}function kl(e){return{id:e.id,type:"remove"}}const Bh=St("React Flow","https://reactflow.dev/");function Ih(e,n,i={}){var o;return pf(e,n,{...i,onError:(o=i.onError)!=null?o:Bh})}const El=e=>nf(e),Dh=e=>vt(e);function Ml(e){return N.forwardRef(e)}const Oh=typeof window!="undefined"?N.useLayoutEffect:N.useEffect;function Tl(e){const[n,i]=N.useState(BigInt(0)),[o]=N.useState(()=>_h(()=>i(s=>s+BigInt(1))));return Oh(()=>{const s=o.get();s.length&&(e(s),o.reset())},[n]),o}function _h(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Pl=N.createContext(null);function Fh({children:e}){const n=Be(),i=N.useCallback(r=>{const{nodes:d=[],setNodes:u,hasDefaultNodes:b,onNodesChange:c,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:v}=n.getState();let g=d;for(const h of r)g=typeof h=="function"?h(g):h;let S=Al({items:g,lookup:m});for(const h of v.values())S=h(S);b&&u(g),S.length>0?c==null||c(S):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:h,nodes:y,setNodes:p}=n.getState();h&&p(y)})},[]),o=Tl(i),s=N.useCallback(r=>{const{edges:d=[],setEdges:u,hasDefaultEdges:b,onEdgesChange:c,edgeLookup:m}=n.getState();let f=d;for(const v of r)f=typeof v=="function"?v(f):v;b?u(f):c&&c(Al({items:f,lookup:m}))},[]),t=Tl(s),l=N.useMemo(()=>({nodeQueue:o,edgeQueue:t}),[]);return a.jsx(Pl.Provider,{value:l,children:e})}function Hh(){const e=N.useContext(Pl);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const Kh=e=>!!e.panZoom;function Ss(){const e=Ph(),n=Be(),i=Hh(),o=Ne(Kh),s=N.useMemo(()=>{const t=c=>n.getState().nodeLookup.get(c),l=c=>{i.nodeQueue.push(c)},r=c=>{i.edgeQueue.push(c)},d=c=>{var h,y,p,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),v=El(c)?c:m.get(c.id),g=v.parentId?Nt(v.position,v.measured,v.parentId,m,f):v.position,S={...v,position:g,width:(y=(h=v.measured)==null?void 0:h.width)!=null?y:v.width,height:(x=(p=v.measured)==null?void 0:p.height)!=null?x:v.height};return ti(S)},u=(c,m,f={replace:!1})=>{l(v=>v.map(g=>{if(g.id===c){const S=typeof m=="function"?m(g):m;return f.replace&&El(S)?S:{...g,...S}}return g}))},b=(c,m,f={replace:!1})=>{r(v=>v.map(g=>{if(g.id===c){const S=typeof m=="function"?m(g):m;return f.replace&&Dh(S)?S:{...g,...S}}return g}))};return{getNodes:()=>n.getState().nodes.map(c=>({...c})),getNode:c=>{var m;return(m=t(c))==null?void 0:m.internals.userNode},getInternalNode:t,getEdges:()=>{const{edges:c=[]}=n.getState();return c.map(m=>({...m}))},getEdge:c=>n.getState().edgeLookup.get(c),setNodes:l,setEdges:r,addNodes:c=>{const m=Array.isArray(c)?c:[c];i.nodeQueue.push(f=>[...f,...m])},addEdges:c=>{const m=Array.isArray(c)?c:[c];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:c=[],edges:m=[],transform:f}=n.getState(),[v,g,S]=f;return{nodes:c.map(h=>({...h})),edges:m.map(h=>({...h})),viewport:{x:v,y:g,zoom:S}}},deleteElements:async({nodes:c=[],edges:m=[]})=>{const{nodes:f,edges:v,onNodesDelete:g,onEdgesDelete:S,triggerNodeChanges:h,triggerEdgeChanges:y,onDelete:p,onBeforeDelete:x}=n.getState(),{nodes:A,edges:w}=await lf({nodesToRemove:c,edgesToRemove:m,nodes:f,edges:v,onBeforeDelete:x}),C=w.length>0,k=A.length>0;if(C){const M=w.map(kl);S==null||S(w),y(M)}if(k){const M=A.map(kl);g==null||g(A),h(M)}return(k||C)&&(p==null||p({nodes:A,edges:w})),{deletedNodes:A,deletedEdges:w}},getIntersectingNodes:(c,m=!0,f)=>{const v=xt(c),g=v?c:d(c),S=f!==void 0;return g?(f||n.getState().nodes).filter(h=>{const y=n.getState().nodeLookup.get(h.id);if(y&&!v&&(h.id===c.id||!y.internals.positionAbsolute))return!1;const p=ti(S?h:y),x=Ui(p,g);return m&&x>0||x>=p.width*p.height||x>=g.width*g.height}):[]},isNodeIntersecting:(c,m,f=!0)=>{const g=xt(c)?c:d(c);if(!g)return!1;const S=Ui(g,m);return f&&S>0||S>=m.width*m.height||S>=g.width*g.height},updateNode:u,updateNodeData:(c,m,f={replace:!1})=>{u(c,v=>{const g=typeof m=="function"?m(v):m;return f.replace?{...v,data:g}:{...v,data:{...v.data,...g}}},f)},updateEdge:b,updateEdgeData:(c,m,f={replace:!1})=>{b(c,v=>{const g=typeof m=="function"?m(v):m;return f.replace?{...v,data:g}:{...v,data:{...v.data,...g}}},f)},getNodesBounds:c=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return of(c,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:c,id:m,nodeId:f})=>{var v,g;return Array.from((g=(v=n.getState().connectionLookup.get(`${f}-${c}${m?`-${m}`:""}`))==null?void 0:v.values())!=null?g:[])},getNodeConnections:({type:c,handleId:m,nodeId:f})=>{var v,g;return Array.from((g=(v=n.getState().connectionLookup.get(`${f}${c?m?`-${c}-${m}`:`-${c}`:""}`))==null?void 0:v.values())!=null?g:[])},fitView:async c=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:uf();return n.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:m}),i.nodeQueue.push(v=>[...v]),m.promise}}},[]);return N.useMemo(()=>({...s,...e,viewportInitialized:o}),[o])}const Ll=e=>e.selected,Vh=typeof window!="undefined"?window:void 0;function Gh({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=Be(),{deleteElements:o}=Ss(),s=ci(e,{actInsideInputWithModifier:!1}),t=ci(n,{target:Vh});N.useEffect(()=>{if(s){const{edges:l,nodes:r}=i.getState();o({nodes:r.filter(Ll),edges:l.filter(Ll)}),i.setState({nodesSelectionActive:!1})}},[s]),N.useEffect(()=>{i.setState({multiSelectionActive:t})},[t])}function zh(e){const n=Be();N.useEffect(()=>{const i=()=>{var s,t,l,r,d;if(!e.current||!((l=(t=(s=e.current).checkVisibility)==null?void 0:t.call(s))==null||l))return!1;const o=ss(e.current);(o.height===0||o.width===0)&&((d=(r=n.getState()).onError)==null||d.call(r,"004",ze.error004())),n.setState({width:o.width||500,height:o.height||500})};if(e.current){i(),window.addEventListener("resize",i);const o=new ResizeObserver(()=>i());return o.observe(e.current),()=>{window.removeEventListener("resize",i),o&&e.current&&o.unobserve(e.current)}}},[])}const no={position:"absolute",width:"100%",height:"100%",top:0,left:0},$h=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function Wh({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:s=.5,panOnScrollMode:t=pn.Free,zoomOnDoubleClick:l=!0,panOnDrag:r=!0,defaultViewport:d,translateExtent:u,minZoom:b,maxZoom:c,zoomActivationKeyCode:m,preventScrolling:f=!0,children:v,noWheelClassName:g,noPanClassName:S,onViewportChange:h,isControlledViewport:y,paneClickDistance:p,selectionOnDrag:x}){const A=Be(),w=N.useRef(null),{userSelectionActive:C,lib:k,connectionInProgress:M}=Ne($h,Le),_=ci(m),E=N.useRef();zh(w);const L=N.useCallback(H=>{h==null||h({x:H[0],y:H[1],zoom:H[2]}),y||A.setState({transform:H})},[h,y]);return N.useEffect(()=>{if(w.current){E.current=qf({domNode:w.current,minZoom:b,maxZoom:c,translateExtent:u,viewport:d,onDraggingChange:I=>A.setState(D=>D.paneDragging===I?D:{paneDragging:I}),onPanZoomStart:(I,D)=>{const{onViewportChangeStart:O,onMoveStart:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoom:(I,D)=>{const{onViewportChange:O,onMove:B}=A.getState();B==null||B(I,D),O==null||O(D)},onPanZoomEnd:(I,D)=>{const{onViewportChangeEnd:O,onMoveEnd:B}=A.getState();B==null||B(I,D),O==null||O(D)}});const{x:H,y:T,zoom:P}=E.current.getViewport();return A.setState({panZoom:E.current,transform:[H,T,P],domNode:w.current.closest(".react-flow")}),()=>{var I;(I=E.current)==null||I.destroy()}}},[]),N.useEffect(()=>{var H;(H=E.current)==null||H.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:s,panOnScrollMode:t,zoomOnDoubleClick:l,panOnDrag:r,zoomActivationKeyPressed:_,preventScrolling:f,noPanClassName:S,userSelectionActive:C,noWheelClassName:g,lib:k,onTransformChange:L,connectionInProgress:M,selectionOnDrag:x,paneClickDistance:p})},[e,n,i,o,s,t,l,r,_,f,S,C,g,k,L,M,x,p]),a.jsx("div",{className:"react-flow__renderer",ref:w,style:no,children:v})}const jh=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function Uh(){const{userSelectionActive:e,userSelectionRect:n}=Ne(jh,Le);return e&&n?a.jsx("div",{className:"react-flow__selection react-flow__container",style:{width:n.width,height:n.height,transform:`translate(${n.x}px, ${n.y}px)`}}):null}const ws=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},qh=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function Yh({isSelecting:e,selectionKeyPressed:n,selectionMode:i=oi.Full,panOnDrag:o,autoPanOnSelection:s,paneClickDistance:t,selectionOnDrag:l,onSelectionStart:r,onSelectionEnd:d,onPaneClick:u,onPaneContextMenu:b,onPaneScroll:c,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:v,children:g}){const S=N.useRef(0),h=Be(),{userSelectionActive:y,elementsSelectable:p,dragging:x,panBy:A,autoPanSpeed:w}=Ne(qh,Le),C=p&&(e||y),k=N.useRef(null),M=N.useRef(),_=N.useRef(new Set),E=N.useRef(new Set),L=N.useRef(!1),H=N.useRef(!1),T=N.useRef({x:0,y:0}),P=N.useRef(!1),I=$=>{if(H.current||L.current||h.getState().connection.inProgress){H.current=!1,L.current=!1;return}u==null||u($),h.getState().resetSelectedElements(),h.setState({nodesSelectionActive:!1})},D=$=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){$.preventDefault();return}b==null||b($)},O=c?$=>c($):void 0,B=$=>{H.current&&($.stopPropagation(),H.current=!1)},G=$=>{var J,U;const{domNode:ee,transform:le}=h.getState();if(M.current=ee==null?void 0:ee.getBoundingClientRect(),!M.current)return;const R=$.target===k.current;if(!R&&!!$.target.closest(".nokey")||!e||!(l&&R||n)||$.button!==0||!$.isPrimary)return;(U=(J=$.target)==null?void 0:J.setPointerCapture)==null||U.call(J,$.pointerId),H.current=!1;const{x:re,y:ye}=qe($.nativeEvent,M.current),Y=ri({x:re,y:ye},le);h.setState({userSelectionRect:{width:0,height:0,startX:Y.x,startY:Y.y,x:re,y:ye}}),R||($.stopPropagation(),$.preventDefault())};function q($,ee){var ae,be;const{userSelectionRect:le}=h.getState();if(!le)return;const{transform:R,nodeLookup:ge,edgeLookup:ce,connectionLookup:re,triggerNodeChanges:ye,triggerEdgeChanges:Y,defaultEdgeOptions:J}=h.getState(),U={x:le.startX,y:le.startY},{x:F,y:K}=In(U,R),W={startX:U.x,startY:U.y,x:$<F?$:F,y:ee<K?ee:K,width:Math.abs($-F),height:Math.abs(ee-K)},j=_.current,Z=E.current;_.current=new Set(es(ge,W,R,i===oi.Partial,!0).map(fe=>fe.id)),E.current=new Set;const Q=(ae=J==null?void 0:J.selectable)!=null?ae:!0;for(const fe of _.current){const pe=re.get(fe);if(pe)for(const{edgeId:Se}of pe.values()){const te=ce.get(Se);te&&((be=te.selectable)!=null?be:Q)&&E.current.add(Se)}}if(!Ct(j,_.current)){const fe=Fn(ge,_.current,!0);ye(fe)}if(!Ct(Z,E.current)){const fe=Fn(ce,E.current);Y(fe)}h.setState({userSelectionRect:W,userSelectionActive:!0,nodesSelectionActive:!1})}function V(){if(!s||!M.current)return;const[$,ee]=ns(T.current,M.current,w);A({x:$,y:ee}).then(le=>{if(!H.current||!le){S.current=requestAnimationFrame(V);return}const{x:R,y:ge}=T.current;q(R,ge),S.current=requestAnimationFrame(V)})}const z=()=>{cancelAnimationFrame(S.current),S.current=0,P.current=!1};N.useEffect(()=>()=>z(),[]);const X=$=>{const{userSelectionRect:ee,transform:le,resetSelectedElements:R}=h.getState();if(!M.current||!ee)return;const{x:ge,y:ce}=qe($.nativeEvent,M.current);T.current={x:ge,y:ce};const re=In({x:ee.startX,y:ee.startY},le);if(!H.current){const ye=n?0:t;if(Math.hypot(ge-re.x,ce-re.y)<=ye)return;R(),r==null||r($)}H.current=!0,P.current||(V(),P.current=!0),q(ge,ce)},oe=$=>{var ee,le;if(!C){$.target===k.current&&h.getState().connection.inProgress&&(L.current=!0);return}$.button===0&&((le=(ee=$.target)==null?void 0:ee.releasePointerCapture)==null||le.call(ee,$.pointerId),!y&&$.target===k.current&&h.getState().userSelectionRect&&(I==null||I($)),h.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(d==null||d($),h.setState({nodesSelectionActive:_.current.size>0})),z())},se=$=>{var ee,le;(le=(ee=$.target)==null?void 0:ee.releasePointerCapture)==null||le.call(ee,$.pointerId),z()},ne=o===!0||Array.isArray(o)&&o.includes(0);return a.jsxs("div",{className:Fe(["react-flow__pane",{draggable:ne,dragging:x,selection:e}]),onClick:C?void 0:ws(I,k),onContextMenu:ws(D,k),onWheel:ws(O,k),onPointerEnter:C?void 0:m,onPointerMove:C?X:f,onPointerUp:oe,onPointerCancel:C?se:void 0,onPointerDownCapture:C?G:void 0,onClickCapture:C?B:void 0,onPointerLeave:v,ref:k,style:no,children:[g,a.jsx(Uh,{})]})}function Ns({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:s,unselectNodesAndEdges:t,multiSelectionActive:l,nodeLookup:r,onError:d}=n.getState(),u=r.get(e);if(!u){d==null||d("012",ze.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&l)&&(t({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var b;return(b=o==null?void 0:o.current)==null?void 0:b.blur()})):s([e])}function Bl({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:s,isSelectable:t,nodeClickDistance:l}){const r=Be(),[d,u]=N.useState(!1),b=N.useRef();return N.useEffect(()=>{b.current=If({getStoreItems:()=>r.getState(),onNodeMouseDown:c=>{Ns({id:c,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),N.useEffect(()=>{if(!(n||!e.current||!b.current))return b.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:t,nodeId:s,nodeClickDistance:l}),()=>{var c;(c=b.current)==null||c.destroy()}},[i,o,n,t,e,s,l]),d}const Jh=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Il(){const e=Be();return N.useCallback(i=>{const{nodeExtent:o,snapToGrid:s,snapGrid:t,nodesDraggable:l,onError:r,updateNodePositions:d,nodeLookup:u,nodeOrigin:b}=e.getState(),c=new Map,m=Jh(l),f=s?t[0]:5,v=s?t[1]:5,g=i.direction.x*f*i.factor,S=i.direction.y*v*i.factor;for(const[,h]of u){if(!m(h))continue;let y={x:h.internals.positionAbsolute.x+g,y:h.internals.positionAbsolute.y+S};s&&(y=li(y,t));const{position:p,positionAbsolute:x}=ft({nodeId:h.id,nextPosition:y,nodeLookup:u,nodeExtent:o,nodeOrigin:b,onError:r});h.position=p,h.internals.positionAbsolute=x,c.set(h.id,h)}d(c)},[])}const Cs=N.createContext(null),Zh=Cs.Provider;Cs.Consumer;const Dl=()=>N.useContext(Cs),Xh=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),Ol=N.createContext(null);function Qh({children:e}){const n=Ne(Xh,Le);return a.jsx(Ol.Provider,{value:n,children:e})}function Rh(){const e=N.useContext(Ol);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const ep={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},np=(e,n,i)=>o=>{const{connectionClickStartHandle:s,connectionMode:t,connection:l}=o,{fromHandle:r,toHandle:d,isValid:u}=l;if(!r&&!s)return ep;const b=(d==null?void 0:d.nodeId)===e&&(d==null?void 0:d.id)===n&&(d==null?void 0:d.type)===i;return{connectingFrom:(r==null?void 0:r.nodeId)===e&&(r==null?void 0:r.id)===n&&(r==null?void 0:r.type)===i,connectingTo:b,clickConnecting:(s==null?void 0:s.nodeId)===e&&(s==null?void 0:s.id)===n&&(s==null?void 0:s.type)===i,isPossibleEndHandle:t===Pn.Strict?(r==null?void 0:r.type)!==i:e!==(r==null?void 0:r.nodeId)||n!==(r==null?void 0:r.id),connectionInProcess:!!r,clickConnectionInProcess:!!s,valid:b&&u}};function ip({type:e="source",position:n=ue.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:s=!0,isConnectableEnd:t=!0,id:l,onConnect:r,children:d,className:u,onMouseDown:b,onTouchStart:c,...m},f){var P,I;const v=l||null,g=e==="target",S=Be(),h=Dl(),{connectOnClick:y,noPanClassName:p,rfId:x}=Rh(),{connectingFrom:A,connectingTo:w,clickConnecting:C,isPossibleEndHandle:k,connectionInProcess:M,clickConnectionInProcess:_,valid:E}=Ne(np(h,v,e),Le);h||(I=(P=S.getState()).onError)==null||I.call(P,"010",ze.error010());const L=D=>{const{defaultEdgeOptions:O,onConnect:B,hasDefaultEdges:G}=S.getState(),q={...O,...D};if(G){const{edges:V,setEdges:z,onError:X}=S.getState();z(Ih(q,V,{onError:X}))}B==null||B(q),r==null||r(q)},H=D=>{if(!h)return;const O=Et(D.nativeEvent);if(s&&(O&&D.button===0||!O)){const B=S.getState();vs.onPointerDown(D.nativeEvent,{handleDomNode:D.currentTarget,autoPanOnConnect:B.autoPanOnConnect,connectionMode:B.connectionMode,connectionRadius:B.connectionRadius,domNode:B.domNode,nodeLookup:B.nodeLookup,lib:B.lib,isTarget:g,handleId:v,nodeId:h,flowId:B.rfId,panBy:B.panBy,cancelConnection:B.cancelConnection,onConnectStart:B.onConnectStart,onConnectEnd:(...G)=>{var q,V;return(V=(q=S.getState()).onConnectEnd)==null?void 0:V.call(q,...G)},updateConnection:B.updateConnection,onConnect:L,isValidConnection:i||((...G)=>{var q,V,z;return(z=(V=(q=S.getState()).isValidConnection)==null?void 0:V.call(q,...G))!=null?z:!0}),getTransform:()=>S.getState().transform,getFromHandle:()=>S.getState().connection.fromHandle,autoPanSpeed:B.autoPanSpeed,dragThreshold:B.connectionDragThreshold})}O?b==null||b(D):c==null||c(D)},T=D=>{const{onClickConnectStart:O,onClickConnectEnd:B,connectionClickStartHandle:G,connectionMode:q,isValidConnection:V,lib:z,rfId:X,nodeLookup:oe,connection:se}=S.getState();if(!h||!G&&!s)return;if(!G){O==null||O(D.nativeEvent,{nodeId:h,handleId:v,handleType:e}),S.setState({connectionClickStartHandle:{nodeId:h,type:e,id:v}});return}const ne=At(D.target),$=i||V,{connection:ee,isValid:le}=vs.isValid(D.nativeEvent,{handle:{nodeId:h,id:v,type:e},connectionMode:q,fromNodeId:G.nodeId,fromHandleId:G.id||null,fromType:G.type,isValidConnection:$,flowId:X,doc:ne,lib:z,nodeLookup:oe});le&&ee&&L(ee);const R=structuredClone(se);delete R.inProgress,R.toPosition=R.toHandle?R.toHandle.position:null,B==null||B(D,R),S.setState({connectionClickStartHandle:null})};return a.jsx("div",{"data-handleid":v,"data-nodeid":h,"data-handlepos":n,"data-id":`${x}-${h}-${v}-${e}`,className:Fe(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",p,u,{source:!g,target:g,connectable:o,connectablestart:s,connectableend:t,clickconnecting:C,connectingfrom:A,connectingto:w,valid:E,connectionindicator:o&&(!M||k)&&(M||_?t:s)}]),onMouseDown:H,onTouchStart:H,onClick:y?T:void 0,ref:f,...m,children:d})}const Hn=N.memo(Ml(ip));function op({data:e,isConnectable:n,sourcePosition:i=ue.Bottom}){return a.jsxs(a.Fragment,{children:[e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:i,isConnectable:n})]})}function sp({data:e,isConnectable:n,targetPosition:i=ue.Top,sourcePosition:o=ue.Bottom}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,a.jsx(Hn,{type:"source",position:o,isConnectable:n})]})}function ap(){return null}function tp({data:e,isConnectable:n,targetPosition:i=ue.Top}){return a.jsxs(a.Fragment,{children:[a.jsx(Hn,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const io={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},_l={input:op,default:sp,output:tp,group:ap};function lp(e){var n,i,o,s,t,l,r,d,u,b;return e.internals.handleBounds===void 0?{width:(o=(n=e.width)!=null?n:e.initialWidth)!=null?o:(i=e.style)==null?void 0:i.width,height:(l=(s=e.height)!=null?s:e.initialHeight)!=null?l:(t=e.style)==null?void 0:t.height}:{width:(d=e.width)!=null?d:(r=e.style)==null?void 0:r.width,height:(b=e.height)!=null?b:(u=e.style)==null?void 0:u.height}}const rp=e=>{const{width:n,height:i,x:o,y:s}=ai(e.nodeLookup,{filter:t=>!!t.selected});return{width:Ue(n)?n:null,height:Ue(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${s}px)`}};function dp({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=Be(),{width:s,height:t,transformString:l,userSelectionActive:r}=Ne(rp,Le),d=Il(),u=N.useRef(null);N.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const b=!r&&s!==null&&t!==null;if(Bl({nodeRef:u,disabled:!b}),!b)return null;const c=e?f=>{const v=o.getState().nodes.filter(g=>g.selected);e(f,v)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(io,f.key)&&(f.preventDefault(),d({direction:io[f.key],factor:f.shiftKey?4:1}))};return a.jsx("div",{className:Fe(["react-flow__nodesselection","react-flow__container",n]),style:{transform:l},children:a.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:s,height:t}})})}const Fl=typeof window!="undefined"?window:void 0,up=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function Hl({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,paneClickDistance:r,deleteKeyCode:d,selectionKeyCode:u,selectionOnDrag:b,selectionMode:c,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:v,panActivationKeyCode:g,zoomActivationKeyCode:S,elementsSelectable:h,zoomOnScroll:y,zoomOnPinch:p,panOnScroll:x,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:k,autoPanOnSelection:M,defaultViewport:_,translateExtent:E,minZoom:L,maxZoom:H,preventScrolling:T,onSelectionContextMenu:P,noWheelClassName:I,noPanClassName:D,disableKeyboardA11y:O,onViewportChange:B,isControlledViewport:G}){const{nodesSelectionActive:q,userSelectionActive:V}=Ne(up,Le),z=ci(u,{target:Fl}),X=ci(g,{target:Fl}),oe=X||k,se=X||x,ne=b&&oe!==!0,$=z||V||ne;return Gh({deleteKeyCode:d,multiSelectionKeyCode:v}),a.jsx(Wh,{onPaneContextMenu:t,elementsSelectable:h,zoomOnScroll:y,zoomOnPinch:p,panOnScroll:se,panOnScrollSpeed:A,panOnScrollMode:w,zoomOnDoubleClick:C,panOnDrag:!z&&oe,defaultViewport:_,translateExtent:E,minZoom:L,maxZoom:H,zoomActivationKeyCode:S,preventScrolling:T,noWheelClassName:I,noPanClassName:D,onViewportChange:B,isControlledViewport:G,paneClickDistance:r,selectionOnDrag:ne,children:a.jsxs(Yh,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:s,onPaneContextMenu:t,onPaneScroll:l,panOnDrag:oe,autoPanOnSelection:M,isSelecting:!!$,selectionMode:c,selectionKeyPressed:z,paneClickDistance:r,selectionOnDrag:ne,children:[e,q&&a.jsx(dp,{onSelectionContextMenu:P,noPanClassName:D,disableKeyboardA11y:O})]})})}Hl.displayName="FlowRenderer";const cp=N.memo(Hl),bp=e=>n=>e?es(n.nodeLookup,{x:0,y:0,width:n.width,height:n.height},n.transform,!0).map(i=>i.id):Array.from(n.nodeLookup.keys());function mp(e){return Ne(N.useCallback(bp(e),[e]),Le)}const vp=e=>e.updateNodeInternals;function fp(){const e=Ne(vp),[n]=N.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(s=>{const t=s.target.getAttribute("data-id");o.set(t,{id:t,nodeElement:s.target,force:!0})}),e(o)}));return N.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function hp({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const s=Be(),t=N.useRef(null),l=N.useRef(null),r=N.useRef(e.sourcePosition),d=N.useRef(e.targetPosition),u=N.useRef(n),b=i&&!!e.internals.handleBounds;return N.useEffect(()=>{t.current&&!e.hidden&&(!b||l.current!==t.current)&&(l.current&&(o==null||o.unobserve(l.current)),o==null||o.observe(t.current),l.current=t.current)},[b,e.hidden]),N.useEffect(()=>()=>{l.current&&(o==null||o.unobserve(l.current),l.current=null)},[]),N.useEffect(()=>{if(t.current){const c=u.current!==n,m=r.current!==e.sourcePosition,f=d.current!==e.targetPosition;(c||m||f)&&(u.current=n,r.current=e.sourcePosition,d.current=e.targetPosition,s.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:t.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),t}function pp({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:s,onContextMenu:t,onDoubleClick:l,nodesDraggable:r,elementsSelectable:d,nodesConnectable:u,nodesFocusable:b,resizeObserver:c,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:v,rfId:g,nodeTypes:S,nodeClickDistance:h,onError:y}){var $,ee,le;const{node:p,internals:x,isParent:A}=Ne(R=>{const ge=R.nodeLookup.get(e),ce=R.parentLookup.has(e);return{node:ge,internals:ge.internals,isParent:ce}},Le);let w=p.type||"default",C=(S==null?void 0:S[w])||_l[w];C===void 0&&(y==null||y("003",ze.error003(w)),w="default",C=(S==null?void 0:S.default)||_l.default);const k=!!(p.draggable||r&&typeof p.draggable=="undefined"),M=!!(p.selectable||d&&typeof p.selectable=="undefined"),_=!!(p.connectable||u&&typeof p.connectable=="undefined"),E=!!(p.focusable||b&&typeof p.focusable=="undefined"),L=Be(),H=wt(p),T=hp({node:p,nodeType:w,hasDimensions:H,resizeObserver:c}),P=Bl({nodeRef:T,disabled:p.hidden||!k,noDragClassName:m,handleSelector:p.dragHandle,nodeId:e,isSelectable:M,nodeClickDistance:h}),I=Il();if(p.hidden)return null;const D=tn(p),O=lp(p),B=M||k||n||i||o||s,G=i?R=>i(R,{...x.userNode}):void 0,q=o?R=>o(R,{...x.userNode}):void 0,V=s?R=>s(R,{...x.userNode}):void 0,z=t?R=>t(R,{...x.userNode}):void 0,X=l?R=>l(R,{...x.userNode}):void 0,oe=R=>{const{selectNodesOnDrag:ge,nodeDragThreshold:ce}=L.getState();M&&(!ge||!k||ce>0)&&Ns({id:e,store:L,nodeRef:T}),n&&n(R,{...x.userNode})},se=R=>{if(!(kt(R.nativeEvent)||v)){if(dt.includes(R.key)&&M){const ge=R.key==="Escape";Ns({id:e,store:L,unselect:ge,nodeRef:T})}else if(k&&p.selected&&Object.prototype.hasOwnProperty.call(io,R.key)){R.preventDefault();const{ariaLabelConfig:ge}=L.getState();L.setState({ariaLiveMessage:ge["node.a11yDescription.ariaLiveMessage"]({direction:R.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),I({direction:io[R.key],factor:R.shiftKey?4:1})}}},ne=()=>{var J;if(v||!((J=T.current)!=null&&J.matches(":focus-visible")))return;const{transform:R,width:ge,height:ce,autoPanOnNodeFocus:re,setCenter:ye}=L.getState();if(!re)return;es(new Map([[e,p]]),{x:0,y:0,width:ge,height:ce},R,!0).length>0||ye(p.position.x+D.width/2,p.position.y+D.height/2,{zoom:R[2]})};return a.jsx("div",{className:Fe(["react-flow__node",`react-flow__node-${w}`,{[f]:k},p.className,{selected:p.selected,selectable:M,parent:A,draggable:k,dragging:P}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:H?"visible":"hidden",...p.style,...O},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:G,onMouseMove:q,onMouseLeave:V,onContextMenu:z,onClick:oe,onDoubleClick:X,onKeyDown:E?se:void 0,tabIndex:E?0:void 0,onFocus:E?ne:void 0,role:($=p.ariaRole)!=null?$:E?"group":void 0,"aria-roledescription":"node","aria-describedby":v?void 0:`${bl}-${g}`,"aria-label":p.ariaLabel,...p.domAttributes,children:a.jsx(Zh,{value:e,children:a.jsx(C,{id:e,data:p.data,type:w,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(ee=p.selected)!=null?ee:!1,selectable:M,draggable:k,deletable:(le=p.deletable)!=null?le:!0,isConnectable:_,sourcePosition:p.sourcePosition,targetPosition:p.targetPosition,dragging:P,dragHandle:p.dragHandle,zIndex:x.z,parentId:p.parentId,...D})})})}var gp=N.memo(pp);const yp=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function Kl(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,onError:t}=Ne(yp,Le),l=mp(e.onlyRenderVisibleElements),r=fp();return a.jsx("div",{className:"react-flow__nodes",style:no,children:l.map(d=>a.jsx(gp,{id:d,nodeTypes:e.nodeTypes,nodeExtent:e.nodeExtent,onClick:e.onNodeClick,onMouseEnter:e.onNodeMouseEnter,onMouseMove:e.onNodeMouseMove,onMouseLeave:e.onNodeMouseLeave,onContextMenu:e.onNodeContextMenu,onDoubleClick:e.onNodeDoubleClick,noDragClassName:e.noDragClassName,noPanClassName:e.noPanClassName,rfId:e.rfId,disableKeyboardA11y:e.disableKeyboardA11y,resizeObserver:r,nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:s,nodeClickDistance:e.nodeClickDistance,onError:t},d))})}Kl.displayName="NodeRenderer";const xp=N.memo(Kl);function Sp(e){return Ne(N.useCallback(i=>{if(!e)return i.edges.map(s=>s.id);const o=[];if(i.width&&i.height)for(const s of i.edges){const t=i.nodeLookup.get(s.source),l=i.nodeLookup.get(s.target);t&&l&&vf({sourceNode:t,targetNode:l,width:i.width,height:i.height,transform:i.transform})&&o.push(s.id)}return o},[e]),Le)}const wp=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return a.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},Np=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return a.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},Vl={[Ln.Arrow]:wp,[Ln.ArrowClosed]:Np};function Cp(e){const n=Be();return N.useMemo(()=>{var s,t;return Object.prototype.hasOwnProperty.call(Vl,e)?Vl[e]:((t=(s=n.getState()).onError)==null||t.call(s,"009",ze.error009(e)),null)},[e])}const Ap=({id:e,type:n,color:i,width:o=12.5,height:s=12.5,markerUnits:t="strokeWidth",strokeWidth:l,orient:r="auto-start-reverse"})=>{const d=Cp(n);return d?a.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${s}`,viewBox:"-10 -10 20 20",markerUnits:t,orient:r,refX:"0",refY:"0",children:a.jsx(d,{color:i,strokeWidth:l})}):null},Gl=({defaultColor:e,rfId:n})=>{const i=Ne(t=>t.edges),o=Ne(t=>t.defaultEdgeOptions),s=N.useMemo(()=>wf(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return s.length?a.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:a.jsx("defs",{children:s.map(t=>a.jsx(Ap,{id:t.id,type:t.type,color:t.color,width:t.width,height:t.height,markerUnits:t.markerUnits,strokeWidth:t.strokeWidth,orient:t.orient},t.id))})}):null};Gl.displayName="MarkerDefinitions";var kp=N.memo(Gl);function zl({x:e,y:n,label:i,labelStyle:o,labelShowBg:s=!0,labelBgStyle:t,labelBgPadding:l=[2,4],labelBgBorderRadius:r=2,children:d,className:u,...b}){const[c,m]=N.useState({x:1,y:0,width:0,height:0}),f=Fe(["react-flow__edge-textwrapper",u]),v=N.useRef(null);return N.useEffect(()=>{if(v.current){const g=v.current.getBBox();m({x:g.x,y:g.y,width:g.width,height:g.height})}},[i]),i?a.jsxs("g",{transform:`translate(${e-c.width/2} ${n-c.height/2})`,className:f,visibility:c.width?"visible":"hidden",...b,children:[s&&a.jsx("rect",{width:c.width+2*l[0],x:-l[0],y:-l[1],height:c.height+2*l[1],className:"react-flow__edge-textbg",style:t,rx:r,ry:r}),a.jsx("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:v,style:o,children:i}),d]}):null}zl.displayName="EdgeText";const Ep=N.memo(zl);function oo({path:e,labelX:n,labelY:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d,interactionWidth:u=20,...b}){return a.jsxs(a.Fragment,{children:[a.jsx("path",{...b,d:e,fill:"none",className:Fe(["react-flow__edge-path",b.className])}),u?a.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&Ue(n)&&Ue(i)?a.jsx(Ep,{x:n,y:i,label:o,labelStyle:s,labelShowBg:t,labelBgStyle:l,labelBgPadding:r,labelBgBorderRadius:d}):null]})}function $l({pos:e,x1:n,y1:i,x2:o,y2:s}){return e===ue.Left||e===ue.Right?[.5*(n+o),i]:[n,.5*(i+s)]}function Wl({sourceX:e,sourceY:n,sourcePosition:i=ue.Bottom,targetX:o,targetY:s,targetPosition:t=ue.Top}){const[l,r]=$l({pos:i,x1:e,y1:n,x2:o,y2:s}),[d,u]=$l({pos:t,x1:o,y1:s,x2:e,y2:n}),[b,c,m,f]=Tt({sourceX:e,sourceY:n,targetX:o,targetY:s,sourceControlX:l,sourceControlY:r,targetControlX:d,targetControlY:u});return[`M${e},${n} C${l},${r} ${d},${u} ${o},${s}`,b,c,m,f]}function jl(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l,targetPosition:r,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:g,markerStart:S,interactionWidth:h})=>{const[y,p,x]=Wl({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r}),A=e.isInternal?void 0:n;return a.jsx(oo,{id:A,path:y,labelX:p,labelY:x,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:g,markerStart:S,interactionWidth:h})})}const Mp=jl({isInternal:!1}),Ul=jl({isInternal:!0});Mp.displayName="SimpleBezierEdge",Ul.displayName="SimpleBezierEdgeInternal";function ql(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,sourcePosition:f=ue.Bottom,targetPosition:v=ue.Top,markerEnd:g,markerStart:S,pathOptions:h,interactionWidth:y})=>{const[p,x,A]=as({sourceX:i,sourceY:o,sourcePosition:f,targetX:s,targetY:t,targetPosition:v,borderRadius:h==null?void 0:h.borderRadius,offset:h==null?void 0:h.offset,stepPosition:h==null?void 0:h.stepPosition}),w=e.isInternal?void 0:n;return a.jsx(oo,{id:w,path:p,labelX:x,labelY:A,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:g,markerStart:S,interactionWidth:y})})}const Yl=ql({isInternal:!1}),Jl=ql({isInternal:!0});Yl.displayName="SmoothStepEdge",Jl.displayName="SmoothStepEdgeInternal";function Zl(e){return N.memo(({id:n,...i})=>{var s;const o=e.isInternal?void 0:n;return a.jsx(Yl,{...i,id:o,pathOptions:N.useMemo(()=>{var t;return{borderRadius:0,offset:(t=i.pathOptions)==null?void 0:t.offset}},[(s=i.pathOptions)==null?void 0:s.offset])})})}const Tp=Zl({isInternal:!1}),Xl=Zl({isInternal:!0});Tp.displayName="StepEdge",Xl.displayName="StepEdgeInternal";function Ql(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:g})=>{const[S,h,y]=It({sourceX:i,sourceY:o,targetX:s,targetY:t}),p=e.isInternal?void 0:n;return a.jsx(oo,{id:p,path:S,labelX:h,labelY:y,label:l,labelStyle:r,labelShowBg:d,labelBgStyle:u,labelBgPadding:b,labelBgBorderRadius:c,style:m,markerEnd:f,markerStart:v,interactionWidth:g})})}const Pp=Ql({isInternal:!1}),Rl=Ql({isInternal:!0});Pp.displayName="StraightEdge",Rl.displayName="StraightEdgeInternal";function er(e){return N.memo(({id:n,sourceX:i,sourceY:o,targetX:s,targetY:t,sourcePosition:l=ue.Bottom,targetPosition:r=ue.Top,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:g,markerStart:S,pathOptions:h,interactionWidth:y})=>{const[p,x,A]=Lt({sourceX:i,sourceY:o,sourcePosition:l,targetX:s,targetY:t,targetPosition:r,curvature:h==null?void 0:h.curvature}),w=e.isInternal?void 0:n;return a.jsx(oo,{id:w,path:p,labelX:x,labelY:A,label:d,labelStyle:u,labelShowBg:b,labelBgStyle:c,labelBgPadding:m,labelBgBorderRadius:f,style:v,markerEnd:g,markerStart:S,interactionWidth:y})})}const Lp=er({isInternal:!1}),nr=er({isInternal:!0});Lp.displayName="BezierEdge",nr.displayName="BezierEdgeInternal";const ir={default:nr,straight:Rl,step:Xl,smoothstep:Jl,simplebezier:Ul},or={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},Bp=(e,n,i)=>i===ue.Left?e-n:i===ue.Right?e+n:e,Ip=(e,n,i)=>i===ue.Top?e-n:i===ue.Bottom?e+n:e,sr="react-flow__edgeupdater";function ar({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:s,onMouseEnter:t,onMouseOut:l,type:r}){return a.jsx("circle",{onMouseDown:s,onMouseEnter:t,onMouseOut:l,className:Fe([sr,`${sr}-${r}`]),cx:Bp(n,o,e),cy:Ip(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function Dp({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:s,targetX:t,targetY:l,sourcePosition:r,targetPosition:d,onReconnect:u,onReconnectStart:b,onReconnectEnd:c,setReconnecting:m,setUpdateHover:f}){const v=Be(),g=(x,A)=>{if(x.button!==0)return;const{autoPanOnConnect:w,domNode:C,connectionMode:k,connectionRadius:M,lib:_,onConnectStart:E,cancelConnection:L,nodeLookup:H,rfId:T,panBy:P,updateConnection:I}=v.getState(),D=A.type==="target",O=(q,V)=>{m(!1),c==null||c(q,i,A.type,V)},B=q=>u==null?void 0:u(i,q),G=(q,V)=>{m(!0),b==null||b(x,i,A.type),E==null||E(q,V)};vs.onPointerDown(x.nativeEvent,{autoPanOnConnect:w,connectionMode:k,connectionRadius:M,domNode:C,handleId:A.id,nodeId:A.nodeId,nodeLookup:H,isTarget:D,edgeUpdaterType:A.type,lib:_,flowId:T,cancelConnection:L,panBy:P,isValidConnection:(...q)=>{var V,z,X;return(X=(z=(V=v.getState()).isValidConnection)==null?void 0:z.call(V,...q))!=null?X:!0},onConnect:B,onConnectStart:G,onConnectEnd:(...q)=>{var V,z;return(z=(V=v.getState()).onConnectEnd)==null?void 0:z.call(V,...q)},onReconnectEnd:O,updateConnection:I,getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,dragThreshold:v.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},S=x=>{var A;return g(x,{nodeId:i.target,id:(A=i.targetHandle)!=null?A:null,type:"target"})},h=x=>{var A;return g(x,{nodeId:i.source,id:(A=i.sourceHandle)!=null?A:null,type:"source"})},y=()=>f(!0),p=()=>f(!1);return a.jsxs(a.Fragment,{children:[(e===!0||e==="source")&&a.jsx(ar,{position:r,centerX:o,centerY:s,radius:n,onMouseDown:S,onMouseEnter:y,onMouseOut:p,type:"source"}),(e===!0||e==="target")&&a.jsx(ar,{position:d,centerX:t,centerY:l,radius:n,onMouseDown:h,onMouseEnter:y,onMouseOut:p,type:"target"})]})}function Op({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:s,onDoubleClick:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,rfId:v,edgeTypes:g,noPanClassName:S,onError:h,disableKeyboardA11y:y}){var ge,ce;let p=Ne(re=>re.edgeLookup.get(e));const x=Ne(re=>re.defaultEdgeOptions);p=x?{...x,...p}:p;let A=p.type||"default",w=(g==null?void 0:g[A])||ir[A];w===void 0&&(h==null||h("011",ze.error011(A)),A="default",w=(g==null?void 0:g.default)||ir.default);const C=!!(p.focusable||n&&typeof p.focusable=="undefined"),k=typeof c!="undefined"&&(p.reconnectable||i&&typeof p.reconnectable=="undefined"),M=!!(p.selectable||o&&typeof p.selectable=="undefined"),_=N.useRef(null),[E,L]=N.useState(!1),[H,T]=N.useState(!1),P=Be(),{zIndex:I=p.zIndex,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:q,targetPosition:V}=Ne(N.useCallback(re=>{const ye=re.nodeLookup.get(p.source),Y=re.nodeLookup.get(p.target);if(!ye||!Y)return or;const J=Sf({id:e,sourceNode:ye,targetNode:Y,sourceHandle:p.sourceHandle||null,targetHandle:p.targetHandle||null,connectionMode:re.connectionMode,onError:h}),U=mf({selected:p.selected,zIndex:p.zIndex,sourceNode:ye,targetNode:Y,elevateOnSelect:re.elevateEdgesOnSelect,zIndexMode:re.zIndexMode});return{...J||or,zIndex:U}},[p.source,p.target,p.sourceHandle,p.targetHandle,p.selected,p.zIndex]),Le),z=N.useMemo(()=>p.markerStart?`url('#${ts(p.markerStart,v)}')`:void 0,[p.markerStart,v]),X=N.useMemo(()=>p.markerEnd?`url('#${ts(p.markerEnd,v)}')`:void 0,[p.markerEnd,v]);if(p.hidden||D===null||O===null||B===null||G===null)return null;const oe=re=>{var U;const{addSelectedEdges:ye,unselectNodesAndEdges:Y,multiSelectionActive:J}=P.getState();M&&(P.setState({nodesSelectionActive:!1}),p.selected&&J?(Y({nodes:[],edges:[p]}),(U=_.current)==null||U.blur()):ye([e])),s&&s(re,p)},se=t?re=>{t(re,{...p})}:void 0,ne=l?re=>{l(re,{...p})}:void 0,$=r?re=>{r(re,{...p})}:void 0,ee=d?re=>{d(re,{...p})}:void 0,le=u?re=>{u(re,{...p})}:void 0,R=re=>{var ye;if(!y&&dt.includes(re.key)&&M){const{unselectNodesAndEdges:Y,addSelectedEdges:J}=P.getState();re.key==="Escape"?((ye=_.current)==null||ye.blur(),Y({edges:[p]})):J([e])}};return a.jsx("svg",{style:{zIndex:I},children:a.jsxs("g",{className:Fe(["react-flow__edge",`react-flow__edge-${A}`,p.className,S,{selected:p.selected,animated:p.animated,inactive:!M&&!s,updating:E,selectable:M}]),onClick:oe,onDoubleClick:se,onContextMenu:ne,onMouseEnter:$,onMouseMove:ee,onMouseLeave:le,onKeyDown:C?R:void 0,tabIndex:C?0:void 0,role:(ge=p.ariaRole)!=null?ge:C?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":p.ariaLabel===null?void 0:p.ariaLabel||`Edge from ${p.source} to ${p.target}`,"aria-describedby":C?`${ml}-${v}`:void 0,ref:_,...p.domAttributes,children:[!H&&a.jsx(w,{id:e,source:p.source,target:p.target,type:p.type,selected:p.selected,animated:p.animated,selectable:M,deletable:(ce=p.deletable)!=null?ce:!0,label:p.label,labelStyle:p.labelStyle,labelShowBg:p.labelShowBg,labelBgStyle:p.labelBgStyle,labelBgPadding:p.labelBgPadding,labelBgBorderRadius:p.labelBgBorderRadius,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:q,targetPosition:V,data:p.data,style:p.style,sourceHandleId:p.sourceHandle,targetHandleId:p.targetHandle,markerStart:z,markerEnd:X,pathOptions:"pathOptions"in p?p.pathOptions:void 0,interactionWidth:p.interactionWidth}),k&&a.jsx(Dp,{edge:p,isReconnectable:k,reconnectRadius:b,onReconnect:c,onReconnectStart:m,onReconnectEnd:f,sourceX:D,sourceY:O,targetX:B,targetY:G,sourcePosition:q,targetPosition:V,setUpdateHover:L,setReconnecting:T})]})})}var _p=N.memo(Op);const Fp=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function tr({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:s,onReconnect:t,onEdgeContextMenu:l,onEdgeMouseEnter:r,onEdgeMouseMove:d,onEdgeMouseLeave:u,onEdgeClick:b,reconnectRadius:c,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,disableKeyboardA11y:g}){const{edgesFocusable:S,edgesReconnectable:h,elementsSelectable:y,onError:p}=Ne(Fp,Le),x=Sp(n);return a.jsxs("div",{className:"react-flow__edges",children:[a.jsx(kp,{defaultColor:e,rfId:i}),x.map(A=>a.jsx(_p,{id:A,edgesFocusable:S,edgesReconnectable:h,elementsSelectable:y,noPanClassName:s,onReconnect:t,onContextMenu:l,onMouseEnter:r,onMouseMove:d,onMouseLeave:u,onClick:b,reconnectRadius:c,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:v,rfId:i,onError:p,edgeTypes:o,disableKeyboardA11y:g},A))]})}tr.displayName="EdgeRenderer";const Hp=N.memo(tr),Kp=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Vp({children:e}){const n=Ne(Kp);return a.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Gp(e){const n=Ss(),i=N.useRef(!1);N.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const zp=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function $p(e){const n=Ne(zp),i=Be();return N.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Wp(e){return e.connection.inProgress?{...e.connection,to:ri(e.connection.to,e.transform)}:{...e.connection}}function jp(e){return Wp}function Up(e){const n=jp();return Ne(n,Le)}const qp=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Yp({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:s,width:t,height:l,isValid:r,inProgress:d}=Ne(qp,Le);return!(t&&s&&d)?null:a.jsx("svg",{style:e,width:t,height:l,className:"react-flow__connectionline react-flow__container",children:a.jsx("g",{className:Fe(["react-flow__connection",mt(r)]),children:a.jsx(lr,{style:n,type:i,CustomComponent:o,isValid:r})})})}const lr=({style:e,type:n=dn.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:s,from:t,fromNode:l,fromHandle:r,fromPosition:d,to:u,toNode:b,toHandle:c,toPosition:m,pointer:f}=Up();if(!s)return;if(i)return a.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:l,fromHandle:r,fromX:t.x,fromY:t.y,toX:u.x,toY:u.y,fromPosition:d,toPosition:m,connectionStatus:mt(o),toNode:b,toHandle:c,pointer:f});let v="";const g={sourceX:t.x,sourceY:t.y,sourcePosition:d,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case dn.Bezier:[v]=Lt(g);break;case dn.SimpleBezier:[v]=Wl(g);break;case dn.Step:[v]=as({...g,borderRadius:0});break;case dn.SmoothStep:[v]=as(g);break;default:[v]=It(g)}return a.jsx("path",{d:v,fill:"none",className:"react-flow__connection-path",style:e})};lr.displayName="ConnectionLine";const Jp={};function rr(e=Jp){const n=N.useRef(e),i=Be();N.useEffect(()=>{var o,s;if(process.env.NODE_ENV==="development"){const t=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const l of t)if(n.current[l]!==e[l]){(s=(o=i.getState()).onError)==null||s.call(o,"002",ze.error002());break}n.current=e}},[e])}function Zp(){const e=Be(),n=N.useRef(!1);N.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const s=document.querySelector(".react-flow__pane");s&&window.getComputedStyle(s).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",ze.error013("react"))),n.current=!0}},[])}function dr({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:s,onNodeDoubleClick:t,onEdgeDoubleClick:l,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,onSelectionContextMenu:c,onSelectionStart:m,onSelectionEnd:f,connectionLineType:v,connectionLineStyle:g,connectionLineComponent:S,connectionLineContainerStyle:h,selectionKeyCode:y,selectionOnDrag:p,selectionMode:x,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,deleteKeyCode:k,onlyRenderVisibleElements:M,elementsSelectable:_,defaultViewport:E,translateExtent:L,minZoom:H,maxZoom:T,preventScrolling:P,defaultMarkerColor:I,zoomOnScroll:D,zoomOnPinch:O,panOnScroll:B,panOnScrollSpeed:G,panOnScrollMode:q,zoomOnDoubleClick:V,panOnDrag:z,autoPanOnSelection:X,onPaneClick:oe,onPaneMouseEnter:se,onPaneMouseMove:ne,onPaneMouseLeave:$,onPaneScroll:ee,onPaneContextMenu:le,paneClickDistance:R,nodeClickDistance:ge,onEdgeContextMenu:ce,onEdgeMouseEnter:re,onEdgeMouseMove:ye,onEdgeMouseLeave:Y,reconnectRadius:J,onReconnect:U,onReconnectStart:F,onReconnectEnd:K,noDragClassName:W,noWheelClassName:j,noPanClassName:Z,disableKeyboardA11y:Q,nodeExtent:ae,rfId:be,viewport:fe,onViewportChange:pe}){return rr(e),rr(n),Zp(),Gp(i),$p(fe),a.jsx(cp,{onPaneClick:oe,onPaneMouseEnter:se,onPaneMouseMove:ne,onPaneMouseLeave:$,onPaneContextMenu:le,onPaneScroll:ee,paneClickDistance:R,deleteKeyCode:k,selectionKeyCode:y,selectionOnDrag:p,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:A,panActivationKeyCode:w,zoomActivationKeyCode:C,elementsSelectable:_,zoomOnScroll:D,zoomOnPinch:O,zoomOnDoubleClick:V,panOnScroll:B,panOnScrollSpeed:G,panOnScrollMode:q,panOnDrag:z,autoPanOnSelection:X,defaultViewport:E,translateExtent:L,minZoom:H,maxZoom:T,onSelectionContextMenu:c,preventScrolling:P,noDragClassName:W,noWheelClassName:j,noPanClassName:Z,disableKeyboardA11y:Q,onViewportChange:pe,isControlledViewport:!!fe,children:a.jsxs(Vp,{children:[a.jsx(Hp,{edgeTypes:n,onEdgeClick:s,onEdgeDoubleClick:l,onReconnect:U,onReconnectStart:F,onReconnectEnd:K,onlyRenderVisibleElements:M,onEdgeContextMenu:ce,onEdgeMouseEnter:re,onEdgeMouseMove:ye,onEdgeMouseLeave:Y,reconnectRadius:J,defaultMarkerColor:I,noPanClassName:Z,disableKeyboardA11y:Q,rfId:be}),a.jsx(Yp,{style:g,type:v,component:S,containerStyle:h}),a.jsx("div",{className:"react-flow__edgelabel-renderer"}),a.jsx(xp,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:d,onNodeMouseLeave:u,onNodeContextMenu:b,nodeClickDistance:ge,onlyRenderVisibleElements:M,noPanClassName:Z,noDragClassName:W,disableKeyboardA11y:Q,nodeExtent:ae,rfId:be}),a.jsx("div",{className:"react-flow__viewport-portal"})]})})}dr.displayName="GraphView";const Xp=N.memo(dr),Qp=St("React Flow","https://reactflow.dev/"),ur=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d=.5,maxZoom:u=2,nodeOrigin:b,nodeExtent:c,zIndexMode:m="basic"}={})=>{var C,k,M;const f=new Map,v=new Map,g=new Map,S=new Map,h=(C=o!=null?o:n)!=null?C:[],y=(k=i!=null?i:e)!=null?k:[],p=b!=null?b:[0,0],x=c!=null?c:ii;zt(g,S,h);const{nodesInitialized:A}=us(y,f,v,{nodeOrigin:p,nodeExtent:x,zIndexMode:m});let w=[0,0,1];if(l&&s&&t){const _=ai(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:E,y:L,zoom:H}=os(_,s,t,d,u,(M=r==null?void 0:r.padding)!=null?M:.1);w=[E,L,H]}return{rfId:"1",width:s!=null?s:0,height:t!=null?t:0,transform:w,nodes:y,nodesInitialized:A,nodeLookup:f,parentLookup:v,edges:h,edgeLookup:S,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:d,maxZoom:u,translateExtent:ii,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Pn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:p,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:l!=null?l:!1,fitViewOptions:r,fitViewResolver:null,connection:{...ct},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Qp,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:ut,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Rp=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m})=>bh((f,v)=>{async function g(){const{nodeLookup:S,panZoom:h,fitViewOptions:y,fitViewResolver:p,width:x,height:A,minZoom:w,maxZoom:C}=v();h&&(await tf({nodes:S,width:x,height:A,panZoom:h,minZoom:w,maxZoom:C},y),p==null||p.resolve(!0),f({fitViewResolver:null}))}return{...ur({nodes:e,edges:n,width:s,height:t,fitView:l,fitViewOptions:r,minZoom:d,maxZoom:u,nodeOrigin:b,nodeExtent:c,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:S=>{const{nodeLookup:h,parentLookup:y,nodeOrigin:p,elevateNodesOnSelect:x,fitViewQueued:A,zIndexMode:w,nodesSelectionActive:C}=v(),{nodesInitialized:k,hasSelectedNodes:M}=us(S,h,y,{nodeOrigin:p,nodeExtent:c,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:w}),_=C&&M;A&&k?(g(),f({nodes:S,nodesInitialized:k,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:_})):f({nodes:S,nodesInitialized:k,nodesSelectionActive:_})},setEdges:S=>{const{connectionLookup:h,edgeLookup:y}=v();zt(h,y,S),f({edges:S})},setDefaultNodesAndEdges:(S,h)=>{if(S){const{setNodes:y}=v();y(S),f({hasDefaultNodes:!0})}if(h){const{setEdges:y}=v();y(h),f({hasDefaultEdges:!0})}},updateNodeInternals:S=>{const{triggerNodeChanges:h,nodeLookup:y,parentLookup:p,domNode:x,nodeOrigin:A,nodeExtent:w,debug:C,fitViewQueued:k,zIndexMode:M}=v(),{changes:_,updatedInternals:E}=Tf(S,y,p,x,A,w,M);E&&(Af(y,p,{nodeOrigin:A,nodeExtent:w,zIndexMode:M}),k?(g(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(_==null?void 0:_.length)>0&&(C&&console.log("React Flow: trigger node changes",_),h==null||h(_)))},updateNodePositions:(S,h=!1)=>{var M,_;const y=[];let p=[];const{nodeLookup:x,triggerNodeChanges:A,connection:w,updateConnection:C,onNodesChangeMiddlewareMap:k}=v();for(const[E,L]of S){const H=x.get(E),T=!!(H!=null&&H.expandParent&&(H!=null&&H.parentId)&&(L!=null&&L.position)),P={id:E,type:"position",position:T?{x:Math.max(0,L.position.x),y:Math.max(0,L.position.y)}:L.position,dragging:h};if(H&&w.inProgress&&w.fromNode.id===H.id){const I=xn(H,w.fromHandle,ue.Left,!0);C({...w,from:I})}T&&H.parentId&&y.push({id:E,parentId:H.parentId,rect:{...L.internals.positionAbsolute,width:(M=L.measured.width)!=null?M:0,height:(_=L.measured.height)!=null?_:0}}),p.push(P)}if(y.length>0){const{parentLookup:E,nodeOrigin:L}=v(),H=bs(y,x,E,L);p.push(...H)}for(const E of k.values())p=E(p);A(p)},triggerNodeChanges:S=>{const{onNodesChange:h,setNodes:y,nodes:p,hasDefaultNodes:x,debug:A}=v();if(S!=null&&S.length){if(x){const w=Nl(S,p);y(w)}A&&console.log("React Flow: trigger node changes",S),h==null||h(S)}},triggerEdgeChanges:S=>{const{onEdgesChange:h,setEdges:y,edges:p,hasDefaultEdges:x,debug:A}=v();if(S!=null&&S.length){if(x){const w=Cl(S,p);y(w)}A&&console.log("React Flow: trigger edge changes",S),h==null||h(S)}},addSelectedNodes:S=>{const{multiSelectionActive:h,edgeLookup:y,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(h){const w=S.map(C=>Sn(C,!0));x(w);return}x(Fn(p,new Set([...S]),!0)),A(Fn(y))},addSelectedEdges:S=>{const{multiSelectionActive:h,edgeLookup:y,nodeLookup:p,triggerNodeChanges:x,triggerEdgeChanges:A}=v();if(h){const w=S.map(C=>Sn(C,!0));A(w);return}A(Fn(y,new Set([...S]))),x(Fn(p,new Set,!0))},unselectNodesAndEdges:({nodes:S,edges:h}={})=>{const{edges:y,nodes:p,nodeLookup:x,triggerNodeChanges:A,triggerEdgeChanges:w}=v(),C=S||p,k=h||y,M=[];for(const E of C){if(!E.selected)continue;const L=x.get(E.id);L&&(L.selected=!1),M.push(Sn(E.id,!1))}const _=[];for(const E of k)E.selected&&_.push(Sn(E.id,!1));A(M),w(_)},setMinZoom:S=>{const{panZoom:h,maxZoom:y}=v();h==null||h.setScaleExtent([S,y]),f({minZoom:S})},setMaxZoom:S=>{const{panZoom:h,minZoom:y}=v();h==null||h.setScaleExtent([y,S]),f({maxZoom:S})},setTranslateExtent:S=>{var h;(h=v().panZoom)==null||h.setTranslateExtent(S),f({translateExtent:S})},resetSelectedElements:()=>{const{edges:S,nodes:h,triggerNodeChanges:y,triggerEdgeChanges:p,elementsSelectable:x}=v();if(!x)return;const A=h.reduce((C,k)=>k.selected?[...C,Sn(k.id,!1)]:C,[]),w=S.reduce((C,k)=>k.selected?[...C,Sn(k.id,!1)]:C,[]);y(A),p(w)},setNodeExtent:S=>{const{nodes:h,nodeLookup:y,parentLookup:p,nodeOrigin:x,elevateNodesOnSelect:A,nodeExtent:w,zIndexMode:C}=v();S[0][0]===w[0][0]&&S[0][1]===w[0][1]&&S[1][0]===w[1][0]&&S[1][1]===w[1][1]||(us(h,y,p,{nodeOrigin:x,nodeExtent:S,elevateNodesOnSelect:A,checkEquality:!1,zIndexMode:C}),f({nodeExtent:S}))},panBy:S=>{const{transform:h,width:y,height:p,panZoom:x,translateExtent:A}=v();return Pf({delta:S,panZoom:x,transform:h,translateExtent:A,width:y,height:p})},setCenter:async(S,h,y)=>{const{width:p,height:x,maxZoom:A,panZoom:w}=v();if(!w)return!1;const C=typeof(y==null?void 0:y.zoom)!="undefined"?y.zoom:A;return await w.setViewport({x:p/2-S*C,y:x/2-h*C,zoom:C},{duration:y==null?void 0:y.duration,ease:y==null?void 0:y.ease,interpolate:y==null?void 0:y.interpolate}),!0},cancelConnection:()=>{f({connection:{...ct}})},updateConnection:S=>{f({connection:S})},reset:()=>f({...ur()})}},Object.is);function eg({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:s,initialHeight:t,initialMinZoom:l,initialMaxZoom:r,initialFitViewOptions:d,fitView:u,nodeOrigin:b,nodeExtent:c,zIndexMode:m,children:f}){const[v]=N.useState(()=>Rp({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:s,height:t,fitView:u,minZoom:l,maxZoom:r,fitViewOptions:d,nodeOrigin:b,nodeExtent:c,zIndexMode:m}));return a.jsx(mh,{value:v,children:a.jsx(Fh,{children:a.jsx(Qh,{children:f})})})}function ng({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:s,width:t,height:l,fitView:r,fitViewOptions:d,minZoom:u,maxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f}){return N.useContext(Qi)?a.jsx(a.Fragment,{children:e}):a.jsx(eg,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:s,initialWidth:t,initialHeight:l,fitView:r,initialFitViewOptions:d,initialMinZoom:u,initialMaxZoom:b,nodeOrigin:c,nodeExtent:m,zIndexMode:f,children:e})}const ig={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function og({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:s,nodeTypes:t,edgeTypes:l,onNodeClick:r,onEdgeClick:d,onInit:u,onMove:b,onMoveStart:c,onMoveEnd:m,onConnect:f,onConnectStart:v,onConnectEnd:g,onClickConnectStart:S,onClickConnectEnd:h,onNodeMouseEnter:y,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:w,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:M,onNodesDelete:_,onEdgesDelete:E,onDelete:L,onSelectionChange:H,onSelectionDragStart:T,onSelectionDrag:P,onSelectionDragStop:I,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onBeforeDelete:G,connectionMode:q,connectionLineType:V=dn.Bezier,connectionLineStyle:z,connectionLineComponent:X,connectionLineContainerStyle:oe,deleteKeyCode:se="Backspace",selectionKeyCode:ne="Shift",selectionOnDrag:$=!1,selectionMode:ee=oi.Full,panActivationKeyCode:le="Space",multiSelectionKeyCode:R=di()?"Meta":"Control",zoomActivationKeyCode:ge=di()?"Meta":"Control",snapToGrid:ce,snapGrid:re,onlyRenderVisibleElements:ye=!1,selectNodesOnDrag:Y,nodesDraggable:J,autoPanOnNodeFocus:U,nodesConnectable:F,nodesFocusable:K,nodeOrigin:W=fl,edgesFocusable:j,edgesReconnectable:Z,elementsSelectable:Q=!0,defaultViewport:ae=kh,minZoom:be=.5,maxZoom:fe=2,translateExtent:pe=ii,preventScrolling:Se=!0,nodeExtent:te,defaultMarkerColor:me="#b1b1b7",zoomOnScroll:we=!0,zoomOnPinch:Ee=!0,panOnScroll:Ie=!1,panOnScrollSpeed:Pe=.5,panOnScrollMode:Ce=pn.Free,zoomOnDoubleClick:Ae=!0,panOnDrag:Me=!0,onPaneClick:Ye,onPaneMouseEnter:ao,onPaneMouseMove:Hg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg=1,nodeClickDistance:$g=0,children:Wg,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg=10,onNodesChange:e0,onEdgesChange:n0,noDragClassName:i0="nodrag",noWheelClassName:o0="nowheel",noPanClassName:fr="nopan",fitView:hr,fitViewOptions:pr,connectOnClick:s0,attributionPosition:a0,proOptions:t0,defaultEdgeOptions:l0,elevateNodesOnSelect:r0=!0,elevateEdgesOnSelect:d0=!1,disableKeyboardA11y:gr=!1,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanOnSelection:b0=!0,autoPanSpeed:m0,connectionRadius:v0,isValidConnection:f0,onError:h0,style:p0,id:yr,nodeDragThreshold:g0,connectionDragThreshold:y0,viewport:x0,onViewportChange:S0,width:w0,height:N0,colorMode:C0="light",debug:A0,onScroll:to,ariaLabelConfig:k0,zIndexMode:xr="basic",...E0},M0){const ks=yr||"1",T0=Th(C0),P0=N.useCallback(Sr=>{Sr.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),to==null||to(Sr)},[to]);return a.jsx("div",{"data-testid":"rf__wrapper",...E0,onScroll:P0,style:{...p0,...ig},ref:M0,className:Fe(["react-flow",s,T0]),id:yr,role:"application",children:a.jsxs(ng,{nodes:e,edges:n,width:w0,height:N0,fitView:hr,fitViewOptions:pr,minZoom:be,maxZoom:fe,nodeOrigin:W,nodeExtent:te,zIndexMode:xr,children:[a.jsx(Mh,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:v,onConnectEnd:g,onClickConnectStart:S,onClickConnectEnd:h,nodesDraggable:J,autoPanOnNodeFocus:U,nodesConnectable:F,nodesFocusable:K,edgesFocusable:j,edgesReconnectable:Z,elementsSelectable:Q,elevateNodesOnSelect:r0,elevateEdgesOnSelect:d0,minZoom:be,maxZoom:fe,nodeExtent:te,onNodesChange:e0,onEdgesChange:n0,snapToGrid:ce,snapGrid:re,connectionMode:q,translateExtent:pe,connectOnClick:s0,defaultEdgeOptions:l0,fitView:hr,fitViewOptions:pr,onNodesDelete:_,onEdgesDelete:E,onDelete:L,onNodeDragStart:C,onNodeDrag:k,onNodeDragStop:M,onSelectionDrag:P,onSelectionDragStart:T,onSelectionDragStop:I,onMove:b,onMoveStart:c,onMoveEnd:m,noPanClassName:fr,nodeOrigin:W,rfId:ks,autoPanOnConnect:u0,autoPanOnNodeDrag:c0,autoPanSpeed:m0,onError:h0,connectionRadius:v0,isValidConnection:f0,selectNodesOnDrag:Y,nodeDragThreshold:g0,connectionDragThreshold:y0,onBeforeDelete:G,debug:A0,ariaLabelConfig:k0,zIndexMode:xr}),a.jsx(Xp,{onInit:u,onNodeClick:r,onEdgeClick:d,onNodeMouseEnter:y,onNodeMouseMove:p,onNodeMouseLeave:x,onNodeContextMenu:A,onNodeDoubleClick:w,nodeTypes:t,edgeTypes:l,connectionLineType:V,connectionLineStyle:z,connectionLineComponent:X,connectionLineContainerStyle:oe,selectionKeyCode:ne,selectionOnDrag:$,selectionMode:ee,deleteKeyCode:se,multiSelectionKeyCode:R,panActivationKeyCode:le,zoomActivationKeyCode:ge,onlyRenderVisibleElements:ye,defaultViewport:ae,translateExtent:pe,minZoom:be,maxZoom:fe,preventScrolling:Se,zoomOnScroll:we,zoomOnPinch:Ee,zoomOnDoubleClick:Ae,panOnScroll:Ie,panOnScrollSpeed:Pe,panOnScrollMode:Ce,panOnDrag:Me,autoPanOnSelection:b0,onPaneClick:Ye,onPaneMouseEnter:ao,onPaneMouseMove:Hg,onPaneMouseLeave:Kg,onPaneScroll:Vg,onPaneContextMenu:Gg,paneClickDistance:zg,nodeClickDistance:$g,onSelectionContextMenu:D,onSelectionStart:O,onSelectionEnd:B,onReconnect:jg,onReconnectStart:Ug,onReconnectEnd:qg,onEdgeContextMenu:Yg,onEdgeDoubleClick:Jg,onEdgeMouseEnter:Zg,onEdgeMouseMove:Xg,onEdgeMouseLeave:Qg,reconnectRadius:Rg,defaultMarkerColor:me,noDragClassName:i0,noWheelClassName:o0,noPanClassName:fr,rfId:ks,disableKeyboardA11y:gr,nodeExtent:te,viewport:x0,onViewportChange:S0}),a.jsx(Ah,{onSelectionChange:H}),Wg,a.jsx(xh,{proOptions:t0,position:a0}),a.jsx(yh,{rfId:ks,disableKeyboardA11y:gr})]})})}var sg=Ml(og);function ag(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>Nl(s,t)),[]);return[n,i,o]}function tg(e){const[n,i]=N.useState(e),o=N.useCallback(s=>i(t=>Cl(s,t)),[]);return[n,i,o]}function lg({dimensions:e,lineWidth:n,variant:i,className:o}){return a.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:Fe(["react-flow__background-pattern",i,o])})}function rg({radius:e,className:n}){return a.jsx("circle",{cx:e,cy:e,r:e,className:Fe(["react-flow__background-pattern","dots",n])})}var bn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(bn||(bn={}));const dg={[bn.Dots]:1,[bn.Lines]:1,[bn.Cross]:6},ug=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function cr({id:e,variant:n=bn.Dots,gap:i=20,size:o,lineWidth:s=1,offset:t=0,color:l,bgColor:r,style:d,className:u,patternClassName:b}){const c=N.useRef(null),{transform:m,patternId:f}=Ne(ug,Le),v=o||dg[n],g=n===bn.Dots,S=n===bn.Cross,h=Array.isArray(i)?i:[i,i],y=[h[0]*m[2]||1,h[1]*m[2]||1],p=v*m[2],x=Array.isArray(t)?t:[t,t],A=S?[p,p]:y,w=[x[0]*m[2]||1+A[0]/2,x[1]*m[2]||1+A[1]/2],C=`${f}${e||""}`;return a.jsxs("svg",{className:Fe(["react-flow__background",u]),style:{...d,...no,"--xy-background-color-props":r,"--xy-background-pattern-color-props":l},ref:c,"data-testid":"rf__background",children:[a.jsx("pattern",{id:C,x:m[0]%y[0],y:m[1]%y[1],width:y[0],height:y[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${w[0]},-${w[1]})`,children:g?a.jsx(rg,{radius:p/2,className:b}):a.jsx(lg,{dimensions:A,lineWidth:s,variant:n,className:b})}),a.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${C})`})]})}cr.displayName="Background";const cg=N.memo(cr);function bg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:a.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function mg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:a.jsx("path",{d:"M0 0h32v4.2H0z"})})}function vg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:a.jsx("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function fg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function hg(){return a.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:a.jsx("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function so({children:e,className:n,...i}){return a.jsx("button",{type:"button",className:Fe(["react-flow__controls-button",n]),...i,children:e})}const pg=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function br({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:s,onZoomIn:t,onZoomOut:l,onFitView:r,onInteractiveChange:d,className:u,children:b,position:c="bottom-left",orientation:m="vertical","aria-label":f}){const v=Be(),{isInteractive:g,minZoomReached:S,maxZoomReached:h,ariaLabelConfig:y}=Ne(pg,Le),{zoomIn:p,zoomOut:x,fitView:A}=Ss(),w=()=>{p(),t==null||t()},C=()=>{x(),l==null||l()},k=()=>{A(s),r==null||r()},M=()=>{v.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),d==null||d(!g)},_=m==="horizontal"?"horizontal":"vertical";return a.jsxs(Ri,{className:Fe(["react-flow__controls",_,u]),position:c,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:y["controls.ariaLabel"],children:[n&&a.jsxs(a.Fragment,{children:[a.jsx(so,{onClick:w,className:"react-flow__controls-zoomin",title:y["controls.zoomIn.ariaLabel"],"aria-label":y["controls.zoomIn.ariaLabel"],disabled:h,children:a.jsx(bg,{})}),a.jsx(so,{onClick:C,className:"react-flow__controls-zoomout",title:y["controls.zoomOut.ariaLabel"],"aria-label":y["controls.zoomOut.ariaLabel"],disabled:S,children:a.jsx(mg,{})})]}),i&&a.jsx(so,{className:"react-flow__controls-fitview",onClick:k,title:y["controls.fitView.ariaLabel"],"aria-label":y["controls.fitView.ariaLabel"],children:a.jsx(vg,{})}),o&&a.jsx(so,{className:"react-flow__controls-interactive",onClick:M,title:y["controls.interactive.ariaLabel"],"aria-label":y["controls.interactive.ariaLabel"],children:g?a.jsx(hg,{}):a.jsx(fg,{})}),b]})}br.displayName="Controls";const gg=N.memo(br);function yg({id:e,x:n,y:i,width:o,height:s,style:t,color:l,strokeColor:r,strokeWidth:d,className:u,borderRadius:b,shapeRendering:c,selected:m,onClick:f}){const{background:v,backgroundColor:g}=t||{},S=l||v||g;return a.jsx("rect",{className:Fe(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:b,ry:b,width:o,height:s,style:{fill:S,stroke:r,strokeWidth:d},shapeRendering:c,onClick:f?h=>f(h,e):void 0})}const xg=N.memo(yg),Sg=e=>e.nodes.map(n=>n.id),As=e=>e instanceof Function?e:()=>e;function wg({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:s,nodeComponent:t=xg,onClick:l}){const r=Ne(Sg,Le),d=As(n),u=As(e),b=As(i),c=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return a.jsx(a.Fragment,{children:r.map(m=>a.jsx(Cg,{id:m,nodeColorFunc:d,nodeStrokeColorFunc:u,nodeClassNameFunc:b,nodeBorderRadius:o,nodeStrokeWidth:s,NodeComponent:t,onClick:l,shapeRendering:c},m))})}function Ng({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:s,nodeStrokeWidth:t,shapeRendering:l,NodeComponent:r,onClick:d}){const{node:u,x:b,y:c,width:m,height:f}=Ne(v=>{const g=v.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const S=g.internals.userNode,{x:h,y}=g.internals.positionAbsolute,{width:p,height:x}=tn(S);return{node:S,x:h,y,width:p,height:x}},Le);return!u||u.hidden||!wt(u)?null:a.jsx(r,{x:b,y:c,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:s,strokeColor:i(u),strokeWidth:t,shapeRendering:l,onClick:d,id:u.id})}const Cg=N.memo(Ng);var Ag=N.memo(wg);const kg=200,Eg=150,Mg=e=>!e.hidden,Tg=e=>{const n={x:-e.transform[0]/e.transform[2],y:-e.transform[1]/e.transform[2],width:e.width/e.transform[2],height:e.height/e.transform[2]};return{viewBB:n,boundingRect:e.nodeLookup.size>0?gt(ai(e.nodeLookup,{filter:Mg}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},Pg="react-flow__minimap-desc";function mr({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:s="",nodeBorderRadius:t=5,nodeStrokeWidth:l,nodeComponent:r,bgColor:d,maskColor:u,maskStrokeColor:b,maskStrokeWidth:c,position:m="bottom-right",onClick:f,onNodeClick:v,pannable:g=!1,zoomable:S=!1,ariaLabel:h,inversePan:y,zoomStep:p=1,offsetScale:x=5}){var ce,re;const A=Be(),w=N.useRef(null),{boundingRect:C,viewBB:k,rfId:M,panZoom:_,translateExtent:E,flowWidth:L,flowHeight:H,ariaLabelConfig:T}=Ne(Tg,Le),P=(ce=e==null?void 0:e.width)!=null?ce:kg,I=(re=e==null?void 0:e.height)!=null?re:Eg,D=C.width/P,O=C.height/I,B=Math.max(D,O),G=B*P,q=B*I,V=x*B,z=C.x-(G-C.width)/2-V,X=C.y-(q-C.height)/2-V,oe=G+V*2,se=q+V*2,ne=`${Pg}-${M}`,$=N.useRef(0),ee=N.useRef();$.current=B,N.useEffect(()=>{if(w.current&&_)return ee.current=Kf({domNode:w.current,panZoom:_,getTransform:()=>A.getState().transform,getViewScale:()=>$.current}),()=>{var ye;(ye=ee.current)==null||ye.destroy()}},[_]),N.useEffect(()=>{var ye;(ye=ee.current)==null||ye.update({translateExtent:E,width:L,height:H,inversePan:y,pannable:g,zoomStep:p,zoomable:S})},[g,S,y,p,E,L,H]);const le=f?ye=>{var U;const[Y,J]=((U=ee.current)==null?void 0:U.pointer(ye))||[0,0];f(ye,{x:Y,y:J})}:void 0,R=v?N.useCallback((ye,Y)=>{const J=A.getState().nodeLookup.get(Y).internals.userNode;v(ye,J)},[]):void 0,ge=h!=null?h:T["minimap.ariaLabel"];return a.jsx(Ri,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof b=="string"?b:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof i=="string"?i:void 0,"--xy-minimap-node-stroke-width-props":typeof l=="number"?l:void 0},className:Fe(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:a.jsxs("svg",{width:P,height:I,viewBox:`${z} ${X} ${oe} ${se}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":ne,ref:w,onClick:le,children:[ge&&a.jsx("title",{id:ne,children:ge}),a.jsx(Ag,{onClick:R,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:t,nodeClassName:s,nodeStrokeWidth:l,nodeComponent:r}),a.jsx("path",{className:"react-flow__minimap-mask",d:`M${z-V},${X-V}h${oe+V*2}v${se+V*2}h${-oe-V*2}z
76
+ M${k.x},${k.y}h${k.width}v${k.height}h${-k.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}mr.displayName="MiniMap";const Lg=N.memo(mr),Bg=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,Ig={[_n.Line]:"right",[_n.Handle]:"bottom-right"};function Dg({nodeId:e,position:n,variant:i=_n.Handle,className:o,style:s=void 0,children:t,color:l,minWidth:r=10,minHeight:d=10,maxWidth:u=Number.MAX_VALUE,maxHeight:b=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:m,autoScale:f=!0,shouldResize:v,onResizeStart:g,onResize:S,onResizeEnd:h}){const y=Dl(),p=typeof e=="string"?e:y,x=Be(),A=N.useRef(null),w=i===_n.Handle,C=Ne(N.useCallback(Bg(w&&f),[w,f]),Le),k=N.useRef(null),M=n!=null?n:Ig[i];N.useEffect(()=>{if(!(!A.current||!p))return k.current||(k.current=Qf({domNode:A.current,nodeId:p,getStoreItems:()=>{const{nodeLookup:E,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,domNode:I}=x.getState();return{nodeLookup:E,transform:L,snapGrid:H,snapToGrid:T,nodeOrigin:P,paneDomNode:I}},onChange:(E,L)=>{var G,q,V,z,X,oe,se;const{triggerNodeChanges:H,nodeLookup:T,parentLookup:P,nodeOrigin:I}=x.getState(),D=[],O={x:E.x,y:E.y},B=T.get(p);if(B&&B.expandParent&&B.parentId){const ne=(G=B.origin)!=null?G:I,$=(V=(q=E.width)!=null?q:B.measured.width)!=null?V:0,ee=(X=(z=E.height)!=null?z:B.measured.height)!=null?X:0,le={id:B.id,parentId:B.parentId,rect:{width:$,height:ee,...Nt({x:(oe=E.x)!=null?oe:B.position.x,y:(se=E.y)!=null?se:B.position.y},{width:$,height:ee},B.parentId,T,ne)}},R=bs([le],T,P,I);D.push(...R),O.x=E.x?Math.max(ne[0]*$,E.x):void 0,O.y=E.y?Math.max(ne[1]*ee,E.y):void 0}if(O.x!==void 0&&O.y!==void 0){const ne={id:p,type:"position",position:{...O}};D.push(ne)}if(E.width!==void 0&&E.height!==void 0){const $={id:p,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:E.width,height:E.height}};D.push($)}for(const ne of L){const $={...ne,type:"position"};D.push($)}H(D)},onEnd:({width:E,height:L})=>{const H={id:p,type:"dimensions",resizing:!1,dimensions:{width:E,height:L}};x.getState().triggerNodeChanges([H])}})),k.current.update({controlPosition:M,boundaries:{minWidth:r,minHeight:d,maxWidth:u,maxHeight:b},keepAspectRatio:c,resizeDirection:m,onResizeStart:g,onResize:S,onResizeEnd:h,shouldResize:v}),()=>{var E;(E=k.current)==null||E.destroy()}},[M,r,d,u,b,c,g,S,h,v]);const _=M.split("-");return a.jsx("div",{className:Fe(["react-flow__resize-control","nodrag",..._,i,o]),ref:A,style:{...s,scale:C,...l&&{[w?"backgroundColor":"borderColor"]:l}},children:t})}N.memo(Dg);const vr=[{bg:"bg-blue-50",text:"text-blue-700",border:"border-blue-200",iconBg:"bg-blue-100",iconText:"text-blue-600"},{bg:"bg-purple-50",text:"text-purple-700",border:"border-purple-200",iconBg:"bg-purple-100",iconText:"text-purple-600"},{bg:"bg-emerald-50",text:"text-emerald-700",border:"border-emerald-200",iconBg:"bg-emerald-100",iconText:"text-emerald-600"},{bg:"bg-rose-50",text:"text-rose-700",border:"border-rose-200",iconBg:"bg-rose-100",iconText:"text-rose-600"},{bg:"bg-amber-50",text:"text-amber-700",border:"border-amber-200",iconBg:"bg-amber-100",iconText:"text-amber-600"},{bg:"bg-indigo-50",text:"text-indigo-700",border:"border-indigo-200",iconBg:"bg-indigo-100",iconText:"text-indigo-600"}],Og={customField:({data:e,targetPosition:n,sourcePosition:i})=>{const o=e.colorScheme||{bg:"bg-gray-50",text:"text-gray-500",border:"border-gray-200",iconBg:"bg-gray-100",iconText:"text-gray-600"};return a.jsxs("div",{className:`bg-white border-2 ${o.border} rounded-lg shadow-sm w-[280px] overflow-hidden flex flex-col relative transition-all hover:shadow-md`,children:[a.jsx(Hn,{type:"target",position:n||ue.Top,className:"w-2 h-2 !bg-gray-300 border-none"}),a.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[a.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&a.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),a.jsxs("div",{className:"p-3 flex items-start gap-3",children:[a.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:a.jsx(de,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),a.jsxs("div",{className:"flex-1 min-w-0",children:[a.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),a.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),a.jsx(Hn,{type:"source",position:i||ue.Bottom,className:"w-2 h-2 !bg-gray-300 border-none"})]})},sectionGroup:({data:e})=>a.jsx("div",{className:"w-full h-full relative",children:a.jsx("div",{className:"absolute top-[-14px] left-4 bg-white px-3 py-0.5 text-xs font-bold text-slate-500 uppercase tracking-wider border border-slate-200 rounded-full shadow-sm max-w-[280px] truncate",children:e.title})})};function _g({formData:e}){const{nodes:n,edges:i}=N.useMemo(()=>{var m,f;const u=[],b=[];let c=null;return(m=e==null?void 0:e.filter(v=>!(v!=null&&v.isFieldDeleted)))==null||m.forEach((v,g)=>{var w;const S=vr[g%vr.length],h=((w=v==null?void 0:v.questionData)==null?void 0:w.filter(C=>!(C!=null&&C.isFieldDeleted)))||[],y=g*400,p=0,x=320,A=60+h.length*110;u.push({id:v.id,type:"sectionGroup",data:{title:v.title||`Section ${g+1}`},position:{x:y,y:p},style:{width:x,height:A,backgroundColor:"rgba(248, 250, 252, 0.4)",border:"2px dashed #cbd5e1",borderRadius:"16px"}}),h.forEach((C,k)=>{const M=C.id;u.push({id:M,type:"customField",parentId:v.id,extent:"parent",targetPosition:ue.Top,sourcePosition:ue.Bottom,data:{label:C.inputLabel||C.label,type:C.type,sectionTitle:v.title||"Untitled Section",isHidden:C.isHidden,colorScheme:S},position:{x:20,y:40+k*110}}),c&&!C.isHidden&&b.push({id:`e-${c}-${M}`,source:c,target:M,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Ln.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),C.isHidden||(c=M)})}),(f=e==null?void 0:e.filter(v=>!(v!=null&&v.isFieldDeleted)))==null||f.forEach(v=>{var g,S;(S=(g=v==null?void 0:v.questionData)==null?void 0:g.filter(h=>!(h!=null&&h.isFieldDeleted)))==null||S.forEach(h=>{var y;h.isHidden&&((y=h.visibilityDependentFields)==null?void 0:y.length)>0&&h.visibilityDependentFields.forEach(p=>{b.push({id:`e-cond-${p.id}-${h.id}`,source:p.id,target:h.id,type:"smoothstep",animated:!0,label:`if ${p.operator} '${p.fieldValue}'`,labelStyle:{fill:"#f59e0b",fontWeight:600,fontSize:12},labelBgStyle:{fill:"#fffef2",stroke:"#fcd34d",strokeWidth:1,rx:4,ry:4},labelBgPadding:[6,4],style:{stroke:"#f59e0b",strokeWidth:2,strokeDasharray:"5,5"},markerEnd:{type:Ln.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),{nodes:u,edges:b}},[e]),[o,s,t]=ag(n),[l,r,d]=tg(i);return N.useEffect(()=>{s(n),r(i)},[n,i,s,r]),a.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:a.jsxs(sg,{nodes:o,edges:l,onNodesChange:t,onEdgesChange:d,nodeTypes:Og,fitView:!0,attributionPosition:"bottom-right",children:[a.jsx(cg,{color:"#e2e8f0",gap:16}),a.jsx(gg,{}),a.jsx(Lg,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const Fg=Object.freeze(Object.defineProperty({__proto__:null,default:_g},Symbol.toStringTag,{value:"Module"}));De.FormBuilder=dc,De.FormViewer=Io,Object.defineProperty(De,Symbol.toStringTag,{value:"Module"})});