@arudovwen/form-builder-react 1.6.8 → 1.7.0
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.
- package/dist/form-builder-react.css +1 -1
- package/dist/form-builder.es.js +1 -1
- package/dist/form-builder.umd.js +8 -8
- package/dist/{index-DhFr-6oM.js → index-pNsPMz_J.js} +727 -696
- package/dist/{logic-flow-Cix6-4fb.js → logic-flow-DziuWDEF.js} +1 -1
- package/package.json +1 -1
- package/types/components/editor/layout.d.ts +2 -1
- package/types/components/editor/topbar.d.ts +2 -1
- package/types/pages/builder/index.d.ts +1 -1
package/dist/form-builder.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
(function(xe,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("react-datepicker"),require("@headlessui/react"),require("sonner"),require("axios"),require("react-currency-input-field"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("papaparse"),require("xlsx"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","react-datepicker","@headlessui/react","sonner","axios","react-currency-input-field","react-dom","react-hook-form","@hookform/resolvers","yup","papaparse","xlsx","react-router-dom"],c):(xe=typeof globalThis!="undefined"?globalThis:xe||self,c(xe.FormBuilder={},xe.jsxRuntime,xe.React,xe.uuid,xe.DatePicker,xe.react,xe.sonner,xe.axios,xe.CurrencyInput,xe.ReactDOM,xe.reactHookForm,xe.resolvers,xe.yup,xe.Papa,xe.XLSX,xe.reactRouterDom))})(this,function(xe,c,C,_e,bx,le,Pe,mn,Ti,mx,Ze,Yd,fx,vx,hx,px){"use strict";function Jd(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=Jd(fx),Zd=Jd(hx),Ce=C.createContext(void 0),Xd={title:"",description:"",id:_e.v4(),questionData:[],disabled:!1,isHidden:!1},Qd=({children:e,onChange:n,onLogAction:i})=>{const[o,a]=C.useState(!0),[s,t]=C.useState({}),[r,l]=C.useState({}),[u,d]=C.useState([Xd]),[b,m]=C.useState(()=>{try{const q=sessionStorage.getItem("editor_past");return q?JSON.parse(q):[]}catch(q){return[]}}),[f,h]=C.useState(()=>{try{const q=sessionStorage.getItem("editor_future");return q?JSON.parse(q):[]}catch(q){return[]}});C.useEffect(()=>{n&&n(u)},[u,n]),C.useEffect(()=>{sessionStorage.setItem("editor_past",JSON.stringify(b))},[b]),C.useEffect(()=>{sessionStorage.setItem("editor_future",JSON.stringify(f))},[f]);const g=C.useRef(Date.now()),v=C.useCallback(q=>{d(F=>{const W=typeof q=="function"?q(F):q;if(JSON.stringify(F)!==JSON.stringify(W)){const z=Date.now();m(V=>V.length>0&&JSON.stringify(V[V.length-1])===JSON.stringify(F)?V:z-g.current<800&&V.length>0?(g.current=z,V):(g.current=z,[...V,F])),h([])}return W})},[]),p=C.useCallback(()=>{if(b.length===0)return;const q=b[b.length-1],F=b.slice(0,b.length-1);m(F),h([u,...f]),d(q),i==null||i("UNDO",null)},[b,f,u,i]),S=C.useCallback(()=>{if(f.length===0)return;const q=f[0],F=f.slice(1);h(F),m([...b,u]),d(q),i==null||i("REDO",null)},[b,f,u,i]),y=u,x=b.length>0,w=f.length>0,[A,N]=C.useState(!1),[E,_]=C.useState(null),[P,k]=C.useState([0]),[M,L]=C.useState(""),T=C.useCallback(()=>{},[]),O=C.useCallback(()=>{const q=_e.v4();v(F=>[...F,{...Xd,id:q}]),_(q),k([y.length]),i==null||i("ADD_SECTION",{sectionId:q})},[y,i,v]),B=C.useCallback(q=>{v(F=>F.filter(W=>W.id!==q)),_(null),i==null||i("REMOVE_SECTION",{sectionId:q})},[i,v]),K=C.useCallback((q,F)=>{const W=y.find(V=>V.id===F),z=W==null?void 0:W.questionData.find(V=>V.id===q);z&&(v(V=>V==null?void 0:V.map(Q=>Q.id===F?{...Q,questionData:Q.questionData.filter(j=>z.type==="grid"?j.gridId!==z.id&&j.id!==z.id:j.id!==q)}:Q)),i==null||i("REMOVE_ELEMENT",{sectionId:F,elementId:q}))},[y,v,i]),G=C.useCallback((q,F)=>{const W=y.find(j=>j.id===F);if(!W)return;const z=W.questionData.findIndex(j=>j.id===q);if(z===-1)return;const V=W.questionData[z],Q=(j,X={})=>({...JSON.parse(JSON.stringify(j)),id:_e.v4(),...X});v(j=>j==null?void 0:j.map(X=>{var ne;if(X.id!==F)return X;const $=[...X.questionData];if(V.type==="grid"){const ee=(ne=$==null?void 0:$.map((fe,Ee)=>({e:fe,i:Ee})).filter(({e:fe})=>fe.id===V.id||fe.gridId===V.id))==null?void 0:ne.map(({i:fe})=>fe),ae=ee.length?Math.max(...ee)+1:z+1,re=_e.v4(),be=Q(V,{});be.id=re;const ce=$.filter(fe=>fe.gridId===V.id),he=ce==null?void 0:ce.map(fe=>Q(fe,{gridId:re})),me=[...$.slice(0,ae),be,...he,...$.slice(ae)];return{...X,questionData:me}}else if(V.gridId){const{gridId:ee,gridPosition:ae,...re}=V,be=Q(re,{}),ce=$.reduce((me,fe,Ee)=>fe.id===V.gridId||fe.gridId===V.gridId?Ee:me,z),he=[...$.slice(0,ce+1),be,...$.slice(ce+1)];return{...X,questionData:he}}else{const ee=Q(V,{}),ae=[...$.slice(0,z+1),ee,...$.slice(z+1)];return{...X,questionData:ae}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:F,elementId:q})},[y,v,i]),I=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,questionData:q}:z)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:F})},[v,i]),Y=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,questionData:[...z.questionData,q]}:z)),i==null||i("ADD_ELEMENT",{sectionId:F,element:q})},[v,i]),Z=C.useCallback((q,F,W)=>{v(z=>z==null?void 0:z.map(V=>V.id===F?{...V,questionData:[...V.questionData.slice(0,W),q,...V.questionData.slice(W)]}:V)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:F,element:q,index:W})},[v,i]),J=C.useCallback((q,F,W)=>{v(z=>z==null?void 0:z.map(V=>{var Q;return V.id===W?{...V,questionData:(Q=V.questionData)==null?void 0:Q.map(j=>{var X;return j.type==="grid"&&j.gridData?{...j,gridData:(X=j.gridData)==null?void 0:X.map(($,ne)=>ne===q?{...$,...F}:$).concat(q>=j.gridData.length?{...F}:[])}:j})}:V})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:W,gridIndex:q,element:F})},[v,i]),R=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>{var V;return z.id===F?{...z,questionData:(V=z.questionData)==null?void 0:V.map(Q=>Q.id===q.id?{...Q,...q}:Q)}:z})),i==null||i("UPDATE_ELEMENT",{sectionId:F,value:q})},[v,i]),D=C.useCallback(q=>{const{draggedId:F,sectionId:W,targetIndex:z,targetId:V,targetGridId:Q,targetCol:j}=q;v(X=>X.map($=>{if($.id!==W)return $;const ne=[...$.questionData],ee=ne.findIndex(re=>re.id===F);if(ee===-1)return $;const ae={...ne[ee]};if(Q!==void 0&&j!==void 0){if(ae.type==="grid")return $;const re=ne.findIndex(ce=>{var he;return ce.id!==F&&ce.gridId===Q&&((he=ce.gridPosition)==null?void 0:he.col)===j});let be=ne.map(ce=>ce.id===F?{...ce,gridId:Q,gridPosition:{col:j}}:ce);return re!==-1&&(be=be.map((ce,he)=>{if(he!==re)return ce;const me={...ce};return delete me.gridId,delete me.gridPosition,me})),{...$,questionData:be}}if(ae.gridId&&z!==void 0&&Q===void 0){const re={...ae};delete re.gridId,delete re.gridPosition;const be=ne.filter(he=>he.id!==F),ce=Math.min(z,be.length);return be.splice(ce,0,re),{...$,questionData:be}}if(!ae.gridId&&z!==void 0&&Q===void 0&&!V){ne.splice(ee,1);const re=Math.min(z,ne.length);return ne.splice(re,0,ae),{...$,questionData:ne}}if(V){const re=ne.findIndex(be=>be.id===V);return re===-1?$:(ne.splice(ee,1),ne.splice(re,0,ae),{...$,questionData:ne})}return $})),i==null||i("MOVE_ELEMENT",q)},[v,i]),H=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,...q}:z)),i==null||i("UPDATE_SECTION",{sectionId:F,value:q})},[v,i]),U=C.useMemo(()=>({formData:y,setFormData:v,handleDragStop:T,removeElement:K,elementData:r,setElementData:l,updateElementPosition:I,addElement:Y,addElementInPosition:Z,updateElement:R,addSection:O,removeSection:B,updateSection:H,isDragging:A,setIsDragging:N,selectedSection:E,setSelectedSection:_,activeSections:P,setActiveSections:k,updateGridElement:J,answerData:s,setAnswerData:t,uploadUrl:M,setUploadUrl:L,duplicateElement:G,moveElement:D,showPreview:o,setShowPreview:a,undo:p,redo:S,canUndo:x,canRedo:w}),[y,T,K,r,I,Y,Z,R,O,B,H,A,E,P,J,s,M,G,D,o,p,S,x,w]);return c.jsx(Ce.Provider,{value:U,children:e})};function Rd(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(n=0;n<a;n++)e[n]&&(i=Rd(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function ue(){for(var e,n,i=0,o="",a=arguments.length;i<a;i++)(e=arguments[i])&&(n=Rd(e))&&(o&&(o+=" "),o+=n);return o}function gx({type:e="calendar",className:n}){return c.jsx(c.Fragment,{children:e==="calendar"?c.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[c.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.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"}),c.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):c.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[c.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.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"}),c.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.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:a,placeholder:s="Select date",minDate:t,maxDate:r,showYearDropdown:l})=>{const u=e?new Date(e):null,[d,b]=C.useState(u);C.useEffect(()=>{const f=e?new Date(e):null;(f&&d&&f.getTime()!==d.getTime()||!f&&d||f&&!d)&&b(f)},[e]),C.useEffect(()=>{n&&n(a,d)},[d,n,a]);const m=f=>{b(f)};return c.jsx("div",{className:"builder_date__picker",children:c.jsx(bx,{showIcon:!0,icon:c.jsx(gx,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:d,onChange:m,className:"field-control",portalId:"root-portal",placeholderText:s,minDate:t,maxDate:r,showYearDropdown:l,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function yx({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:a}=n||{};let s;return a&&(s=a()[e.id]),C.useEffect(()=>{i(e.id)},[e.id]),c.jsx(Wo,{name:e.id,value:s,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})}function $o({element:e,validationData:n}){var o;const{register:i=()=>({})}=n||{};return c.jsx("div",{children:c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ue("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly,inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((o=n==null?void 0:n.errors)!=null&&o[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function xx(e,n){const i=e.icons,o=e.aliases||Object.create(null),a=Object.create(null);function s(t){if(i[t])return a[t]=[];if(!(t in a)){a[t]=null;const r=o[t]&&o[t].parent,l=r&&s(r);l&&(a[t]=[r].concat(l))}return a[t]}return Object.keys(i).concat(Object.keys(o)).forEach(s),a}const ec=Object.freeze({left:0,top:0,width:16,height:16}),Pi=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Yo=Object.freeze({...ec,...Pi}),Jo=Object.freeze({...Yo,body:"",hidden:!1});function Sx(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 nc(e,n){const i=Sx(e,n);for(const o in Jo)o in Pi?o in e&&!(o in i)&&(i[o]=Pi[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function wx(e,n,i){const o=e.icons,a=e.aliases||Object.create(null);let s={};function t(r){s=nc(o[r]||a[r],s)}return t(n),i.forEach(t),nc(e,s)}function ic(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(a=>{n(a,null),i.push(a)});const o=xx(e);for(const a in o){const s=o[a];s&&(n(a,wx(e,a,s)),i.push(a))}return i}const Ax={provider:"",aliases:{},not_found:{},...ec};function Zo(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function oc(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!Zo(e,Ax))return null;const i=n.icons;for(const a in i){const s=i[a];if(!a||typeof s.body!="string"||!Zo(s,Jo))return null}const o=n.aliases||Object.create(null);for(const a in o){const s=o[a],t=s.parent;if(!a||typeof t!="string"||!i[t]&&!o[t]||!Zo(s,Jo))return null}return n}const ac=Object.create(null);function Nx(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function kn(e,n){const i=ac[e]||(ac[e]=Object.create(null));return i[n]||(i[n]=Nx(e,n))}function sc(e,n){return oc(n)?ic(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Cx(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const tc=/^[a-z0-9]+(-[a-z0-9]+)*$/,Ii=(e,n,i,o="")=>{const a=e.split(":");if(e.slice(0,1)==="@"){if(a.length<2||a.length>3)return null;o=a.shift().slice(1)}if(a.length>3||!a.length)return null;if(a.length>1){const r=a.pop(),l=a.pop(),u={provider:a.length>0?a[0]:o,prefix:l,name:r};return n&&!Li(u)?null:u}const s=a[0],t=s.split("-");if(t.length>1){const r={provider:o,prefix:t.shift(),name:t.join("-")};return n&&!Li(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:s};return n&&!Li(r,i)?null:r}return null},Li=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Xn=!1;function rc(e){return typeof e=="boolean"&&(Xn=e),Xn}function lc(e){const n=typeof e=="string"?Ii(e,!0,Xn):e;if(n){const i=kn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function _x(e,n){const i=Ii(e,!0,Xn);if(!i)return!1;const o=kn(i.provider,i.prefix);return n?Cx(o,i.name,n):(o.missing.add(i.name),!0)}function Ex(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Xn&&!n&&!e.prefix){let a=!1;return oc(e)&&(e.prefix="",ic(e,(s,t)=>{_x(s,t)&&(a=!0)})),a}const i=e.prefix;if(!Li({prefix:i,name:"a"}))return!1;const o=kn(n,i);return!!sc(o,e)}const uc=Object.freeze({width:null,height:null}),dc=Object.freeze({...uc,...Pi}),kx=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Mx=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function cc(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(kx);if(o===null||!o.length)return e;const a=[];let s=o.shift(),t=Mx.test(s);for(;;){if(t){const r=parseFloat(s);isNaN(r)?a.push(s):a.push(Math.ceil(r*n*i)/i)}else a.push(s);if(s=o.shift(),s===void 0)return a.join("");t=!t}}function Tx(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const a=e.indexOf(">",o),s=e.indexOf("</"+n);if(a===-1||s===-1)break;const t=e.indexOf(">",s);if(t===-1)break;i+=e.slice(a+1,s).trim(),e=e.slice(0,o).trim()+e.slice(t+1)}return{defs:i,content:e}}function Px(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Ix(e,n,i){const o=Tx(e);return Px(o.defs,n+o.content+i)}const Lx=e=>e==="unset"||e==="undefined"||e==="none";function Bx(e,n){const i={...Yo,...e},o={...dc,...n},a={left:i.left,top:i.top,width:i.width,height:i.height};let s=i.body;[i,o].forEach(g=>{const v=[],p=g.hFlip,S=g.vFlip;let y=g.rotate;p?S?y+=2:(v.push("translate("+(a.width+a.left).toString()+" "+(0-a.top).toString()+")"),v.push("scale(-1 1)"),a.top=a.left=0):S&&(v.push("translate("+(0-a.left).toString()+" "+(a.height+a.top).toString()+")"),v.push("scale(1 -1)"),a.top=a.left=0);let x;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:x=a.height/2+a.top,v.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:v.unshift("rotate(180 "+(a.width/2+a.left).toString()+" "+(a.height/2+a.top).toString()+")");break;case 3:x=a.width/2+a.left,v.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}y%2===1&&(a.left!==a.top&&(x=a.left,a.left=a.top,a.top=x),a.width!==a.height&&(x=a.width,a.width=a.height,a.height=x)),v.length&&(s=Ix(s,'<g transform="'+v.join(" ")+'">',"</g>"))});const t=o.width,r=o.height,l=a.width,u=a.height;let d,b;t===null?(b=r===null?"1em":r==="auto"?u:r,d=cc(b,l/u)):(d=t==="auto"?l:t,b=r===null?cc(d,u/l):r==="auto"?u:r);const m={},f=(g,v)=>{Lx(v)||(m[g]=v.toString())};f("width",d),f("height",b);const h=[a.left,a.top,l,u];return m.viewBox=h.join(" "),{attributes:m,viewBox:h,body:s}}const Ox=/\sid="(\S+)"/g,Dx="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let qx=0;function Fx(e,n=Dx){const i=[];let o;for(;o=Ox.exec(e);)i.push(o[1]);if(!i.length)return e;const a="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(s=>{const t=typeof n=="function"?n(s):n+(qx++).toString(),r=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+t+a+"$3")}),e=e.replace(new RegExp(a,"g"),""),e}const Xo=Object.create(null);function Gx(e,n){Xo[e]=n}function Qo(e){return Xo[e]||Xo[""]}function Ro(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 ea=Object.create(null),Qn=["https://api.simplesvg.com","https://api.unisvg.com"],Bi=[];for(;Qn.length>0;)Qn.length===1||Math.random()>.5?Bi.push(Qn.shift()):Bi.push(Qn.pop());ea[""]=Ro({resources:["https://api.iconify.design"].concat(Bi)});function Kx(e,n){const i=Ro(n);return i===null?!1:(ea[e]=i,!0)}function na(e){return ea[e]}let bc=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function Hx(e,n){const i=na(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let a=0;i.resources.forEach(t=>{a=Math.max(a,t.length)});const s=n+".json?icons=";o=i.maxURL-a-i.path.length-s.length}return o}function Vx(e){return e===404}const zx=(e,n,i)=>{const o=[],a=Hx(e,n),s="icons";let t={type:s,provider:e,prefix:n,icons:[]},r=0;return i.forEach((l,u)=>{r+=l.length+1,r>=a&&u>0&&(o.push(t),t={type:s,provider:e,prefix:n,icons:[]},r=l.length),t.icons.push(l)}),o.push(t),o};function jx(e){if(typeof e=="string"){const n=na(e);if(n)return n.path}return"/"}const Ux={prepare:zx,send:(e,n,i)=>{if(!bc){i("abort",424);return}let o=jx(n.provider);switch(n.type){case"icons":{const s=n.prefix,r=n.icons.join(","),l=new URLSearchParams({icons:r});o+=s+".json?"+l.toString();break}case"custom":{const s=n.uri;o+=s.slice(0,1)==="/"?s.slice(1):s;break}default:i("abort",400);return}let a=503;bc(e+o).then(s=>{const t=s.status;if(t!==200){setTimeout(()=>{i(Vx(t)?"abort":"next",t)});return}return a=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?i("abort",s):i("next",a)});return}setTimeout(()=>{i("success",s)})}).catch(()=>{i("next",a)})}};function mc(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(a=>a.id!==n))})}function Wx(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,a=e.prefix;n.forEach(s=>{const t=s.icons,r=t.pending.length;t.pending=t.pending.filter(l=>{if(l.prefix!==a)return!0;const u=l.name;if(e.icons[u])t.loaded.push({provider:o,prefix:a,name:u});else if(e.missing.has(u))t.missing.push({provider:o,prefix:a,name:u});else return i=!0,!0;return!1}),t.pending.length!==r&&(i||mc([e],s.id),s.callback(t.loaded.slice(0),t.missing.slice(0),t.pending.slice(0),s.abort))})}))}let $x=0;function Yx(e,n,i){const o=$x++,a=mc.bind(null,i,o);if(!n.pending.length)return a;const s={id:o,icons:n,callback:e,abort:a};return i.forEach(t=>{(t.loaderCallbacks||(t.loaderCallbacks=[])).push(s)}),a}function Jx(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((a,s)=>a.provider!==s.provider?a.provider.localeCompare(s.provider):a.prefix!==s.prefix?a.prefix.localeCompare(s.prefix):a.name.localeCompare(s.name));let o={provider:"",prefix:"",name:""};return e.forEach(a=>{if(o.name===a.name&&o.prefix===a.prefix&&o.provider===a.provider)return;o=a;const s=a.provider,t=a.prefix,r=a.name,l=i[s]||(i[s]=Object.create(null)),u=l[t]||(l[t]=kn(s,t));let d;r in u.icons?d=n.loaded:t===""||u.missing.has(r)?d=n.missing:d=n.pending;const b={provider:s,prefix:t,name:r};d.push(b)}),n}function Zx(e,n=!0,i=!1){const o=[];return e.forEach(a=>{const s=typeof a=="string"?Ii(a,n,i):a;s&&o.push(s)}),o}const Xx={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Qx(e,n,i,o){const a=e.resources.length,s=e.random?Math.floor(Math.random()*a):e.index;let t;if(e.random){let A=e.resources.slice(0);for(t=[];A.length>1;){const N=Math.floor(Math.random()*A.length);t.push(A[N]),A=A.slice(0,N).concat(A.slice(N+1))}t=t.concat(A)}else t=e.resources.slice(s).concat(e.resources.slice(0,s));const r=Date.now();let l="pending",u=0,d,b=null,m=[],f=[];typeof o=="function"&&f.push(o);function h(){b&&(clearTimeout(b),b=null)}function g(){l==="pending"&&(l="aborted"),h(),m.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),m=[]}function v(A,N){N&&(f=[]),typeof A=="function"&&f.push(A)}function p(){return{startTime:r,payload:n,status:l,queriesSent:u,queriesPending:m.length,subscribe:v,abort:g}}function S(){l="failed",f.forEach(A=>{A(void 0,d)})}function y(){m.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),m=[]}function x(A,N,E){const _=N!=="success";switch(m=m.filter(P=>P!==A),l){case"pending":break;case"failed":if(_||!e.dataAfterTimeout)return;break;default:return}if(N==="abort"){d=E,S();return}if(_){d=E,m.length||(t.length?w():S());return}if(h(),y(),!e.random){const P=e.resources.indexOf(A.resource);P!==-1&&P!==e.index&&(e.index=P)}l="completed",f.forEach(P=>{P(E)})}function w(){if(l!=="pending")return;h();const A=t.shift();if(A===void 0){if(m.length){b=setTimeout(()=>{h(),l==="pending"&&(y(),S())},e.timeout);return}S();return}const N={status:"pending",resource:A,callback:(E,_)=>{x(N,E,_)}};m.push(N),u++,b=setTimeout(w,e.rotate),i(A,n,N.callback)}return setTimeout(w),p}function fc(e){const n={...Xx,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function a(r,l,u){const d=Qx(n,r,l,(b,m)=>{o(),u&&u(b,m)});return i.push(d),d}function s(r){return i.find(l=>r(l))||null}return{query:a,find:s,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function vc(){}const ia=Object.create(null);function Rx(e){if(!ia[e]){const n=na(e);if(!n)return;const i=fc(n),o={config:n,redundancy:i};ia[e]=o}return ia[e]}function e1(e,n,i){let o,a;if(typeof e=="string"){const s=Qo(e);if(!s)return i(void 0,424),vc;a=s.send;const t=Rx(e);t&&(o=t.redundancy)}else{const s=Ro(e);if(s){o=fc(s);const t=e.resources?e.resources[0]:"",r=Qo(t);r&&(a=r.send)}}return!o||!a?(i(void 0,424),vc):o.query(n,a,i)().abort}function hc(){}function n1(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Wx(e)}))}function i1(e){const n=[],i=[];return e.forEach(o=>{(o.match(tc)?n:i).push(o)}),{valid:n,invalid:i}}function Rn(e,n,i){function o(){const a=e.pendingIcons;n.forEach(s=>{a&&a.delete(s),e.icons[s]||e.missing.add(s)})}if(i&&typeof i=="object")try{if(!sc(e,i).length){o();return}}catch(a){console.error(a)}o(),n1(e)}function pc(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function o1(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,a=e.iconsToLoad;if(delete e.iconsToLoad,!a||!a.length)return;const s=e.loadIcon;if(e.loadIcons&&(a.length>1||!s)){pc(e.loadIcons(a,o,i),d=>{Rn(e,a,d)});return}if(s){a.forEach(d=>{const b=s(d,o,i);pc(b,m=>{const f=m?{prefix:o,icons:{[d]:m}}:null;Rn(e,[d],f)})});return}const{valid:t,invalid:r}=i1(a);if(r.length&&Rn(e,r,null),!t.length)return;const l=o.match(tc)?Qo(i):null;if(!l){Rn(e,t,null);return}l.prepare(i,o,t).forEach(d=>{e1(i,d,b=>{Rn(e,d.icons,b)})})}))}const a1=(e,n)=>{const i=Zx(e,!0,rc()),o=Jx(i);if(!o.pending.length){let l=!0;return n&&setTimeout(()=>{l&&n(o.loaded,o.missing,o.pending,hc)}),()=>{l=!1}}const a=Object.create(null),s=[];let t,r;return o.pending.forEach(l=>{const{provider:u,prefix:d}=l;if(d===r&&u===t)return;t=u,r=d,s.push(kn(u,d));const b=a[u]||(a[u]=Object.create(null));b[d]||(b[d]=[])}),o.pending.forEach(l=>{const{provider:u,prefix:d,name:b}=l,m=kn(u,d),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(b)||(f.add(b),a[u][d].push(b))}),s.forEach(l=>{const u=a[l.provider][l.prefix];u.length&&o1(l,u)}),n?Yx(n,o,s):hc};function s1(e,n){const i={...e};for(const o in n){const a=n[o],s=typeof a;o in uc?(a===null||a&&(s==="string"||s==="number"))&&(i[o]=a):s===typeof i[o]&&(i[o]=o==="rotate"?a%4:a)}return i}const t1=/[\s,]+/;function r1(e,n){n.split(t1).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function l1(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(a){for(;a<0;)a+=4;return a%4}if(i===""){const a=parseInt(e);return isNaN(a)?0:o(a)}else if(i!==e){let a=0;switch(i){case"%":a=25;break;case"deg":a=90}if(a){let s=parseFloat(e.slice(0,e.length-i.length));return isNaN(s)?0:(s=s/a,s%1===0?o(s):0)}}return n}function u1(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 d1(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function c1(e){return"data:image/svg+xml,"+d1(e)}function b1(e){return'url("'+c1(e)+'")'}let ei;function m1(){try{ei=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){ei=null}}function f1(e){return ei===void 0&&m1(),ei?ei.createHTML(e):e}const gc={...dc,inline:!1},v1={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},h1={display:"inline-block"},oa={backgroundColor:"currentColor"},yc={backgroundColor:"transparent"},xc={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Sc={WebkitMask:oa,mask:oa,background:yc};for(const e in Sc){const n=Sc[e];for(const i in xc)n[e+i]=xc[i]}const p1={...gc,inline:!0};function wc(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const g1=(e,n,i)=>{const o=n.inline?p1:gc,a=s1(o,n),s=n.mode||"svg",t={},r=n.style||{},l={...s==="svg"?v1:{}};if(i){const v=Ii(i,!1,!0);if(v){const p=["iconify"],S=["provider","prefix"];for(const y of S)v[y]&&p.push("iconify--"+v[y]);l.className=p.join(" ")}}for(let v in n){const p=n[v];if(p!==void 0)switch(v){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":l.ref=p;break;case"className":l[v]=(l[v]?l[v]+" ":"")+p;break;case"inline":case"hFlip":case"vFlip":a[v]=p===!0||p==="true"||p===1;break;case"flip":typeof p=="string"&&r1(a,p);break;case"color":t.color=p;break;case"rotate":typeof p=="string"?a[v]=l1(p):typeof p=="number"&&(a[v]=p);break;case"ariaHidden":case"aria-hidden":p!==!0&&p!=="true"&&delete l["aria-hidden"];break;default:o[v]===void 0&&(l[v]=p)}}const u=Bx(e,a),d=u.attributes;if(a.inline&&(t.verticalAlign="-0.125em"),s==="svg"){l.style={...t,...r},Object.assign(l,d);let v=0,p=n.id;return typeof p=="string"&&(p=p.replace(/-/g,"_")),l.dangerouslySetInnerHTML={__html:f1(Fx(u.body,p?()=>p+"ID"+v++:"iconifyReact"))},C.createElement("svg",l)}const{body:b,width:m,height:f}=e,h=s==="mask"||(s==="bg"?!1:b.indexOf("currentColor")!==-1),g=u1(b,{...d,width:m+"",height:f+""});return l.style={...t,"--svg":b1(g),width:wc(d.width),height:wc(d.height),...h1,...h?oa:yc,...r},C.createElement("span",l)};if(rc(!0),Gx("",Ux),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"||!Ex(o))&&console.error(i)}catch(a){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 a=n[i];if(typeof a!="object"||!a||a.resources===void 0)continue;Kx(i,a)||console.error(o)}catch(a){console.error(o)}}}}function Ac(e){const[n,i]=C.useState(!!e.ssr),[o,a]=C.useState({});function s(f){if(f){const h=e.icon;if(typeof h=="object")return{name:"",data:h};const g=lc(h);if(g)return{name:h,data:g}}return{name:""}}const[t,r]=C.useState(s(!!e.ssr));function l(){const f=o.callback;f&&(f(),a({}))}function u(f){if(JSON.stringify(t)!==JSON.stringify(f))return l(),r(f),!0}function d(){var f;const h=e.icon;if(typeof h=="object"){u({name:"",data:h});return}const g=lc(h);if(u({name:h,data:g}))if(g===void 0){const v=a1([h],d);a({callback:v})}else g&&((f=e.onLoad)===null||f===void 0||f.call(e,h))}C.useEffect(()=>(i(!0),l),[]),C.useEffect(()=>{n&&d()},[e.icon,n]);const{name:b,data:m}=t;return m?g1({...Yo,...m},e,b):e.children?e.children:e.fallback?e.fallback:C.createElement("span",{})}const Nc=C.forwardRef((e,n)=>Ac({...e,_ref:n}));C.forwardRef((e,n)=>Ac({inline:!0,...e,_ref:n}));function se({icon:e,iconClass:n}){return c.jsx(c.Fragment,{children:c.jsx(Nc,{icon:e,className:n})})}function aa({element:e,validationData:n,placeholder:i}){var b;const{register:o=()=>({}),setValue:a,isReadOnly:s,watch:t,getValues:r}=n||{},[l,u]=C.useState(()=>{const m=r==null?void 0:r(e.id);return Array.isArray(m)?m:[]}),d=C.useMemo(()=>l==null?void 0:l.map(m=>m.label).join(", "),[l]);return C.useEffect(()=>{o(e.id)},[e.id,o]),C.useEffect(()=>{if(!t)return;const m=t(f=>{const h=f[e.id];h!==void 0&&u(Array.isArray(h)?h:[])});return()=>{var f;return(f=m.unsubscribe)==null?void 0:f.call(m)}},[t,e.id]),c.jsx("div",{className:"custom-select",children:c.jsx(le.Listbox,{value:l||[],onChange:m=>{u(m),a==null||a(e.id,m)},multiple:!0,disabled:s,by:"value",children:c.jsxs("div",{className:"custom-select__wrapper",children:[c.jsxs(le.Listbox.Button,{className:"custom-select__control field-control",disabled:s,children:[c.jsx("span",{className:"custom-select__value",children:(l==null?void 0:l.length)>0?d:c.jsx("span",{className:"custom-select__placeholder",children:i!=null?i:" Select options"})}),c.jsx("span",{className:"custom-select__icon",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{as:C.Fragment,leave:"custom-select__transition",children:c.jsx(le.Listbox.Options,{anchor:"bottom start",className:"custom-select__options",children:(b=e==null?void 0:e.options)==null?void 0:b.map((m,f)=>c.jsx(le.Listbox.Option,{value:m,className:({active:h})=>`custom-select__option ${h?"custom-select__option--active":""}`,children:({selected:h})=>c.jsxs("div",{className:"custom-select__option-row",children:[c.jsx("span",{className:`custom-select__option-label ${h?"custom-select__option--selected":""}`,children:m.label}),h&&c.jsx("span",{className:"custom-select__check",children:"✓"})]})},f))})})]})})})}const y1=["jpg","jpeg","png","gif","bmp","webp","svg","image"],x1=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return y1.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"},S1={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 Cc({fileUrl:e,fileName:n,removeFile:i}){const[o,a]=C.useState(!1),[s,t]=C.useState("unknown"),[r,l]=C.useState(null);C.useEffect(()=>{e&&t(x1(e))},[e]),C.useEffect(()=>{if(s==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),h=new ArrayBuffer(f.length),g=new Uint8Array(h);for(let S=0;S<f.length;S++)g[S]=f.charCodeAt(S);const v=new Blob([h],{type:"application/pdf"}),p=URL.createObjectURL(v);return l(p),()=>URL.revokeObjectURL(p)}catch(f){console.error("Error creating blob URL:",f)}else l(null)},[e,s]);const u=()=>{s==="image"||s==="pdf"?a(!0):window.open(r||e,"_blank")},d=()=>a(!1),b=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,h="download"){if(!f)return;if(f.startsWith("data:")){const v=document.createElement("a");v.href=f,v.download=h,document.body.appendChild(v),v.click(),document.body.removeChild(v);return}const g=document.createElement("a");g.href=f,g.setAttribute("download",h),document.body.appendChild(g),g.click(),document.body.removeChild(g)}return c.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[c.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${b}`,children:[s==="image"&&c.jsx("div",{className:"flex items-center justify-center ",children:c.jsx(se,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),s!=="image"&&c.jsx(se,{icon:S1[s],iconClass:"text-4xl"}),c.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:b})]}),c.jsxs("div",{className:"flex gap-x-1 items-center",children:[c.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${b}`,children:c.jsx(se,{icon:"streamline-flex:download-tray-solid"})}),i&&c.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:c.jsx(se,{icon:"lets-icons:trash-duotone"})})]}),o&&c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:d,children:c.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:[c.jsx("button",{onClick:d,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),s==="image"?c.jsx("img",{src:e,alt:b,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):s==="pdf"?c.jsx("iframe",{src:r||e,title:b,className:"w-full h-[80vh] rounded border"}):null]})})]})}const Se=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},_c=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},w1=5*1024*1024;function A1({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:a=null,accept:s=[]}){const{uploadUrl:t}=C.useContext(Ce),r=C.useRef(null),[l,u]=C.useState(a),[d,b]=C.useState(!1);C.useEffect(()=>{u(a)},[a]);const m=C.useMemo(()=>s==null?void 0:s.map(x=>x.value).join(", "),[s]),f=C.useMemo(()=>s==null?void 0:s.map(x=>x.label).join(", "),[s]),h=C.useCallback(async x=>{var N,E;const w=Se("token"),A=((N=Se("orgData"))==null?void 0:N.id)||Se("organizationId");try{const{data:_}=await mn.post(t,{...x,service:"FORM",organizationId:A||""},{headers:{Authorization:`Bearer ${w}`}});return(E=_==null?void 0:_.data)==null?void 0:E.url}catch(_){throw console.error("File upload error:",_),new Error("Failed to upload file to server")}},[t]),g=C.useCallback(x=>new Promise((w,A)=>{const N=new FileReader;N.onloadend=async()=>{try{const E=N.result.replace(/^data:.*;base64,/,""),_=t?await h({base64:E,ext:`.${x.name.split(".").pop()}`,fileName:x.name}):N.result;w({base64:_,type:x.type,name:x.name})}catch(E){A(E)}},N.onerror=()=>A(new Error("File read failed")),N.readAsDataURL(x)}),[t,h]),v=C.useCallback(x=>{var A;const w=m?(A=m.split(","))==null?void 0:A.map(N=>N.trim()):[];for(const N of x){if(N.size>w1)return Pe.toast.error(`File "${N.name}" exceeds 5MB limit (${(N.size/1024/1024).toFixed(2)}MB)`),!1;if(w.length&&!w.some(E=>N.type===E||N.name.toLowerCase().endsWith(E.replace("*",""))))return Pe.toast.error(`File "${N.name}" is not an allowed type. Allowed: ${f||"any"}`),!1}return!0},[m,f]),p=C.useCallback(async x=>{const w=Array.from(x.target.files||[]);if(!(!w.length||d)){if(!v(w)){r.current&&(r.current.value="");return}try{b(!0);const A=await Promise.all(w==null?void 0:w.map(g)),N=o&&l?[...l,...A]:A;u(N),e(N),Pe.toast.success(`Successfully uploaded ${w.length} file(s)`)}catch(A){console.error("Upload error:",A),Pe.toast.error("Failed to upload file(s). Please try again.")}finally{b(!1),r.current&&(r.current.value="")}}},[d,v,g,e,o,l]),S=C.useCallback(x=>{d||(r.current&&(r.current.value=""),u(w=>{const A=x===void 0?null:(w==null?void 0:w.filter((N,E)=>E!==x))||null;return e(A),A}),i==null||i())},[i,e,d]),y=l&&l.length>0;return c.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&c.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative",children:[c.jsx("input",{ref:r,type:"file",onChange:p,disabled:n||d,multiple:o,accept:m||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
|
|
1
|
+
(function(xe,c){typeof exports=="object"&&typeof module!="undefined"?c(exports,require("react/jsx-runtime"),require("react"),require("uuid"),require("react-datepicker"),require("@headlessui/react"),require("sonner"),require("axios"),require("react-currency-input-field"),require("react-dom"),require("react-hook-form"),require("@hookform/resolvers"),require("yup"),require("papaparse"),require("xlsx"),require("react-router-dom")):typeof define=="function"&&define.amd?define(["exports","react/jsx-runtime","react","uuid","react-datepicker","@headlessui/react","sonner","axios","react-currency-input-field","react-dom","react-hook-form","@hookform/resolvers","yup","papaparse","xlsx","react-router-dom"],c):(xe=typeof globalThis!="undefined"?globalThis:xe||self,c(xe.FormBuilder={},xe.jsxRuntime,xe.React,xe.uuid,xe.DatePicker,xe.react,xe.sonner,xe.axios,xe.CurrencyInput,xe.ReactDOM,xe.reactHookForm,xe.resolvers,xe.yup,xe.Papa,xe.XLSX,xe.reactRouterDom))})(this,function(xe,c,C,_e,bx,le,Pe,mn,Pi,mx,Xe,Yd,fx,vx,hx,px){"use strict";function Jd(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=Jd(fx),Zd=Jd(hx),Ce=C.createContext(void 0),Xd={title:"",description:"",id:_e.v4(),questionData:[],disabled:!1,isHidden:!1},Qd=({children:e,onChange:n,onLogAction:i})=>{const[o,a]=C.useState(!0),[s,t]=C.useState({}),[r,l]=C.useState({}),[u,d]=C.useState([Xd]),[b,m]=C.useState(()=>{try{const q=sessionStorage.getItem("editor_past");return q?JSON.parse(q):[]}catch(q){return[]}}),[f,h]=C.useState(()=>{try{const q=sessionStorage.getItem("editor_future");return q?JSON.parse(q):[]}catch(q){return[]}});C.useEffect(()=>{n&&n(u)},[u,n]),C.useEffect(()=>{sessionStorage.setItem("editor_past",JSON.stringify(b))},[b]),C.useEffect(()=>{sessionStorage.setItem("editor_future",JSON.stringify(f))},[f]);const g=C.useRef(Date.now()),v=C.useCallback(q=>{d(F=>{const W=typeof q=="function"?q(F):q;if(JSON.stringify(F)!==JSON.stringify(W)){const z=Date.now();m(V=>V.length>0&&JSON.stringify(V[V.length-1])===JSON.stringify(F)?V:z-g.current<800&&V.length>0?(g.current=z,V):(g.current=z,[...V,F])),h([])}return W})},[]),p=C.useCallback(()=>{if(b.length===0)return;const q=b[b.length-1],F=b.slice(0,b.length-1);m(F),h([u,...f]),d(q),i==null||i("UNDO",null)},[b,f,u,i]),S=C.useCallback(()=>{if(f.length===0)return;const q=f[0],F=f.slice(1);h(F),m([...b,u]),d(q),i==null||i("REDO",null)},[b,f,u,i]),y=u,x=b.length>0,w=f.length>0,[A,N]=C.useState(!1),[E,_]=C.useState(null),[P,k]=C.useState([0]),[M,L]=C.useState(""),T=C.useCallback(()=>{},[]),O=C.useCallback(()=>{const q=_e.v4();v(F=>[...F,{...Xd,id:q}]),_(q),k([y.length]),i==null||i("ADD_SECTION",{sectionId:q})},[y,i,v]),B=C.useCallback(q=>{v(F=>F.filter(W=>W.id!==q)),_(null),i==null||i("REMOVE_SECTION",{sectionId:q})},[i,v]),K=C.useCallback((q,F)=>{const W=y.find(V=>V.id===F),z=W==null?void 0:W.questionData.find(V=>V.id===q);z&&(v(V=>V==null?void 0:V.map(Q=>Q.id===F?{...Q,questionData:Q.questionData.filter(j=>z.type==="grid"?j.gridId!==z.id&&j.id!==z.id:j.id!==q)}:Q)),i==null||i("REMOVE_ELEMENT",{sectionId:F,elementId:q}))},[y,v,i]),G=C.useCallback((q,F)=>{const W=y.find(j=>j.id===F);if(!W)return;const z=W.questionData.findIndex(j=>j.id===q);if(z===-1)return;const V=W.questionData[z],Q=(j,X={})=>({...JSON.parse(JSON.stringify(j)),id:_e.v4(),...X});v(j=>j==null?void 0:j.map(X=>{var ne;if(X.id!==F)return X;const $=[...X.questionData];if(V.type==="grid"){const ee=(ne=$==null?void 0:$.map((fe,Ee)=>({e:fe,i:Ee})).filter(({e:fe})=>fe.id===V.id||fe.gridId===V.id))==null?void 0:ne.map(({i:fe})=>fe),ae=ee.length?Math.max(...ee)+1:z+1,re=_e.v4(),be=Q(V,{});be.id=re;const ce=$.filter(fe=>fe.gridId===V.id),he=ce==null?void 0:ce.map(fe=>Q(fe,{gridId:re})),me=[...$.slice(0,ae),be,...he,...$.slice(ae)];return{...X,questionData:me}}else if(V.gridId){const{gridId:ee,gridPosition:ae,...re}=V,be=Q(re,{}),ce=$.reduce((me,fe,Ee)=>fe.id===V.gridId||fe.gridId===V.gridId?Ee:me,z),he=[...$.slice(0,ce+1),be,...$.slice(ce+1)];return{...X,questionData:he}}else{const ee=Q(V,{}),ae=[...$.slice(0,z+1),ee,...$.slice(z+1)];return{...X,questionData:ae}}})),i==null||i("DUPLICATE_ELEMENT",{sectionId:F,elementId:q})},[y,v,i]),I=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,questionData:q}:z)),i==null||i("UPDATE_ELEMENT_POSITION",{sectionId:F})},[v,i]),Y=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,questionData:[...z.questionData,q]}:z)),i==null||i("ADD_ELEMENT",{sectionId:F,element:q})},[v,i]),Z=C.useCallback((q,F,W)=>{v(z=>z==null?void 0:z.map(V=>V.id===F?{...V,questionData:[...V.questionData.slice(0,W),q,...V.questionData.slice(W)]}:V)),i==null||i("ADD_ELEMENT_IN_POSITION",{sectionId:F,element:q,index:W})},[v,i]),J=C.useCallback((q,F,W)=>{v(z=>z==null?void 0:z.map(V=>{var Q;return V.id===W?{...V,questionData:(Q=V.questionData)==null?void 0:Q.map(j=>{var X;return j.type==="grid"&&j.gridData?{...j,gridData:(X=j.gridData)==null?void 0:X.map(($,ne)=>ne===q?{...$,...F}:$).concat(q>=j.gridData.length?{...F}:[])}:j})}:V})),i==null||i("UPDATE_GRID_ELEMENT",{sectionId:W,gridIndex:q,element:F})},[v,i]),R=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>{var V;return z.id===F?{...z,questionData:(V=z.questionData)==null?void 0:V.map(Q=>Q.id===q.id?{...Q,...q}:Q)}:z})),i==null||i("UPDATE_ELEMENT",{sectionId:F,value:q})},[v,i]),D=C.useCallback(q=>{const{draggedId:F,sectionId:W,targetIndex:z,targetId:V,targetGridId:Q,targetCol:j}=q;v(X=>X.map($=>{if($.id!==W)return $;const ne=[...$.questionData],ee=ne.findIndex(re=>re.id===F);if(ee===-1)return $;const ae={...ne[ee]};if(Q!==void 0&&j!==void 0){if(ae.type==="grid")return $;const re=ne.findIndex(ce=>{var he;return ce.id!==F&&ce.gridId===Q&&((he=ce.gridPosition)==null?void 0:he.col)===j});let be=ne.map(ce=>ce.id===F?{...ce,gridId:Q,gridPosition:{col:j}}:ce);return re!==-1&&(be=be.map((ce,he)=>{if(he!==re)return ce;const me={...ce};return delete me.gridId,delete me.gridPosition,me})),{...$,questionData:be}}if(ae.gridId&&z!==void 0&&Q===void 0){const re={...ae};delete re.gridId,delete re.gridPosition;const be=ne.filter(he=>he.id!==F),ce=Math.min(z,be.length);return be.splice(ce,0,re),{...$,questionData:be}}if(!ae.gridId&&z!==void 0&&Q===void 0&&!V){ne.splice(ee,1);const re=Math.min(z,ne.length);return ne.splice(re,0,ae),{...$,questionData:ne}}if(V){const re=ne.findIndex(be=>be.id===V);return re===-1?$:(ne.splice(ee,1),ne.splice(re,0,ae),{...$,questionData:ne})}return $})),i==null||i("MOVE_ELEMENT",q)},[v,i]),H=C.useCallback((q,F)=>{v(W=>W==null?void 0:W.map(z=>z.id===F?{...z,...q}:z)),i==null||i("UPDATE_SECTION",{sectionId:F,value:q})},[v,i]),U=C.useMemo(()=>({formData:y,setFormData:v,handleDragStop:T,removeElement:K,elementData:r,setElementData:l,updateElementPosition:I,addElement:Y,addElementInPosition:Z,updateElement:R,addSection:O,removeSection:B,updateSection:H,isDragging:A,setIsDragging:N,selectedSection:E,setSelectedSection:_,activeSections:P,setActiveSections:k,updateGridElement:J,answerData:s,setAnswerData:t,uploadUrl:M,setUploadUrl:L,duplicateElement:G,moveElement:D,showPreview:o,setShowPreview:a,undo:p,redo:S,canUndo:x,canRedo:w}),[y,T,K,r,I,Y,Z,R,O,B,H,A,E,P,J,s,M,G,D,o,p,S,x,w]);return c.jsx(Ce.Provider,{value:U,children:e})};function Rd(e){var n,i,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e)){var a=e.length;for(n=0;n<a;n++)e[n]&&(i=Rd(e[n]))&&(o&&(o+=" "),o+=i)}else for(i in e)e[i]&&(o&&(o+=" "),o+=i);return o}function ue(){for(var e,n,i=0,o="",a=arguments.length;i<a;i++)(e=arguments[i])&&(n=Rd(e))&&(o&&(o+=" "),o+=n);return o}function gx({type:e="calendar",className:n}){return c.jsx(c.Fragment,{children:e==="calendar"?c.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[c.jsx("path",{d:"M6.66406 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13.3359 1.66675V4.16675",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M2.91406 7.57495H17.0807",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.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"}),c.jsx("path",{d:"M13.0762 11.4167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M13.0762 13.9167H13.0836",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9.99803 11.4167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M9.99803 13.9167H10.0055",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6.91209 11.4167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),c.jsx("path",{d:"M6.91209 13.9167H6.91957",stroke:"#292D32",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})]}):c.jsxs("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,children:[c.jsx("path",{d:"M10 6.66663V10.8333",stroke:"#535862",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),c.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"}),c.jsx("path",{d:"M7.5 1.66663H12.5",stroke:"#535862",strokeWidth:"1.5",strokeMiterlimit:"10",strokeLinecap:"round",strokeLinejoin:"round"}),c.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:a,placeholder:s="Select date",minDate:t,maxDate:r,showYearDropdown:l})=>{const u=e?new Date(e):null,[d,b]=C.useState(u);C.useEffect(()=>{const f=e?new Date(e):null;(f&&d&&f.getTime()!==d.getTime()||!f&&d||f&&!d)&&b(f)},[e]),C.useEffect(()=>{n&&n(a,d)},[d,n,a]);const m=f=>{b(f)};return c.jsx("div",{className:"builder_date__picker",children:c.jsx(bx,{showIcon:!0,icon:c.jsx(gx,{className:"react-datepicker__calendar-icon"}),showPopperArrow:!1,dateFormat:o,disabled:i,selected:d,onChange:m,className:"field-control",portalId:"root-portal",placeholderText:s,minDate:t,maxDate:r,showYearDropdown:l,scrollableYearDropdown:!0,yearDropdownItemNumber:40})})};function yx({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:a}=n||{};let s;return a&&(s=a()[e.id]),C.useEffect(()=>{i(e.id)},[e.id]),c.jsx(Wo,{name:e.id,value:s,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})}function $o({element:e,validationData:n}){var o;const{register:i=()=>({})}=n||{};return c.jsx("div",{children:c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ue("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly,inputMode:(e==null?void 0:e.inputMode)||void 0,"aria-invalid":!!((o=n==null?void 0:n.errors)!=null&&o[e==null?void 0:e.id]),pattern:(e==null?void 0:e.pattern)||void 0})})}function xx(e,n){const i=e.icons,o=e.aliases||Object.create(null),a=Object.create(null);function s(t){if(i[t])return a[t]=[];if(!(t in a)){a[t]=null;const r=o[t]&&o[t].parent,l=r&&s(r);l&&(a[t]=[r].concat(l))}return a[t]}return Object.keys(i).concat(Object.keys(o)).forEach(s),a}const ec=Object.freeze({left:0,top:0,width:16,height:16}),Ii=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Yo=Object.freeze({...ec,...Ii}),Jo=Object.freeze({...Yo,body:"",hidden:!1});function Sx(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 nc(e,n){const i=Sx(e,n);for(const o in Jo)o in Ii?o in e&&!(o in i)&&(i[o]=Ii[o]):o in n?i[o]=n[o]:o in e&&(i[o]=e[o]);return i}function wx(e,n,i){const o=e.icons,a=e.aliases||Object.create(null);let s={};function t(r){s=nc(o[r]||a[r],s)}return t(n),i.forEach(t),nc(e,s)}function ic(e,n){const i=[];if(typeof e!="object"||typeof e.icons!="object")return i;e.not_found instanceof Array&&e.not_found.forEach(a=>{n(a,null),i.push(a)});const o=xx(e);for(const a in o){const s=o[a];s&&(n(a,wx(e,a,s)),i.push(a))}return i}const Ax={provider:"",aliases:{},not_found:{},...ec};function Zo(e,n){for(const i in n)if(i in e&&typeof e[i]!=typeof n[i])return!1;return!0}function oc(e){if(typeof e!="object"||e===null)return null;const n=e;if(typeof n.prefix!="string"||!e.icons||typeof e.icons!="object"||!Zo(e,Ax))return null;const i=n.icons;for(const a in i){const s=i[a];if(!a||typeof s.body!="string"||!Zo(s,Jo))return null}const o=n.aliases||Object.create(null);for(const a in o){const s=o[a],t=s.parent;if(!a||typeof t!="string"||!i[t]&&!o[t]||!Zo(s,Jo))return null}return n}const ac=Object.create(null);function Nx(e,n){return{provider:e,prefix:n,icons:Object.create(null),missing:new Set}}function kn(e,n){const i=ac[e]||(ac[e]=Object.create(null));return i[n]||(i[n]=Nx(e,n))}function sc(e,n){return oc(n)?ic(n,(i,o)=>{o?e.icons[i]=o:e.missing.add(i)}):[]}function Cx(e,n,i){try{if(typeof i.body=="string")return e.icons[n]={...i},!0}catch(o){}return!1}const tc=/^[a-z0-9]+(-[a-z0-9]+)*$/,Li=(e,n,i,o="")=>{const a=e.split(":");if(e.slice(0,1)==="@"){if(a.length<2||a.length>3)return null;o=a.shift().slice(1)}if(a.length>3||!a.length)return null;if(a.length>1){const r=a.pop(),l=a.pop(),u={provider:a.length>0?a[0]:o,prefix:l,name:r};return n&&!Bi(u)?null:u}const s=a[0],t=s.split("-");if(t.length>1){const r={provider:o,prefix:t.shift(),name:t.join("-")};return n&&!Bi(r)?null:r}if(i&&o===""){const r={provider:o,prefix:"",name:s};return n&&!Bi(r,i)?null:r}return null},Bi=(e,n)=>e?!!((n&&e.prefix===""||e.prefix)&&e.name):!1;let Xn=!1;function rc(e){return typeof e=="boolean"&&(Xn=e),Xn}function lc(e){const n=typeof e=="string"?Li(e,!0,Xn):e;if(n){const i=kn(n.provider,n.prefix),o=n.name;return i.icons[o]||(i.missing.has(o)?null:void 0)}}function _x(e,n){const i=Li(e,!0,Xn);if(!i)return!1;const o=kn(i.provider,i.prefix);return n?Cx(o,i.name,n):(o.missing.add(i.name),!0)}function Ex(e,n){if(typeof e!="object")return!1;if(typeof n!="string"&&(n=e.provider||""),Xn&&!n&&!e.prefix){let a=!1;return oc(e)&&(e.prefix="",ic(e,(s,t)=>{_x(s,t)&&(a=!0)})),a}const i=e.prefix;if(!Bi({prefix:i,name:"a"}))return!1;const o=kn(n,i);return!!sc(o,e)}const uc=Object.freeze({width:null,height:null}),dc=Object.freeze({...uc,...Ii}),kx=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Mx=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function cc(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(kx);if(o===null||!o.length)return e;const a=[];let s=o.shift(),t=Mx.test(s);for(;;){if(t){const r=parseFloat(s);isNaN(r)?a.push(s):a.push(Math.ceil(r*n*i)/i)}else a.push(s);if(s=o.shift(),s===void 0)return a.join("");t=!t}}function Tx(e,n="defs"){let i="";const o=e.indexOf("<"+n);for(;o>=0;){const a=e.indexOf(">",o),s=e.indexOf("</"+n);if(a===-1||s===-1)break;const t=e.indexOf(">",s);if(t===-1)break;i+=e.slice(a+1,s).trim(),e=e.slice(0,o).trim()+e.slice(t+1)}return{defs:i,content:e}}function Px(e,n){return e?"<defs>"+e+"</defs>"+n:n}function Ix(e,n,i){const o=Tx(e);return Px(o.defs,n+o.content+i)}const Lx=e=>e==="unset"||e==="undefined"||e==="none";function Bx(e,n){const i={...Yo,...e},o={...dc,...n},a={left:i.left,top:i.top,width:i.width,height:i.height};let s=i.body;[i,o].forEach(g=>{const v=[],p=g.hFlip,S=g.vFlip;let y=g.rotate;p?S?y+=2:(v.push("translate("+(a.width+a.left).toString()+" "+(0-a.top).toString()+")"),v.push("scale(-1 1)"),a.top=a.left=0):S&&(v.push("translate("+(0-a.left).toString()+" "+(a.height+a.top).toString()+")"),v.push("scale(1 -1)"),a.top=a.left=0);let x;switch(y<0&&(y-=Math.floor(y/4)*4),y=y%4,y){case 1:x=a.height/2+a.top,v.unshift("rotate(90 "+x.toString()+" "+x.toString()+")");break;case 2:v.unshift("rotate(180 "+(a.width/2+a.left).toString()+" "+(a.height/2+a.top).toString()+")");break;case 3:x=a.width/2+a.left,v.unshift("rotate(-90 "+x.toString()+" "+x.toString()+")");break}y%2===1&&(a.left!==a.top&&(x=a.left,a.left=a.top,a.top=x),a.width!==a.height&&(x=a.width,a.width=a.height,a.height=x)),v.length&&(s=Ix(s,'<g transform="'+v.join(" ")+'">',"</g>"))});const t=o.width,r=o.height,l=a.width,u=a.height;let d,b;t===null?(b=r===null?"1em":r==="auto"?u:r,d=cc(b,l/u)):(d=t==="auto"?l:t,b=r===null?cc(d,u/l):r==="auto"?u:r);const m={},f=(g,v)=>{Lx(v)||(m[g]=v.toString())};f("width",d),f("height",b);const h=[a.left,a.top,l,u];return m.viewBox=h.join(" "),{attributes:m,viewBox:h,body:s}}const Ox=/\sid="(\S+)"/g,Dx="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let qx=0;function Fx(e,n=Dx){const i=[];let o;for(;o=Ox.exec(e);)i.push(o[1]);if(!i.length)return e;const a="suffix"+(Math.random()*16777216|Date.now()).toString(16);return i.forEach(s=>{const t=typeof n=="function"?n(s):n+(qx++).toString(),r=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");e=e.replace(new RegExp('([#;"])('+r+')([")]|\\.[a-z])',"g"),"$1"+t+a+"$3")}),e=e.replace(new RegExp(a,"g"),""),e}const Xo=Object.create(null);function Gx(e,n){Xo[e]=n}function Qo(e){return Xo[e]||Xo[""]}function Ro(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 ea=Object.create(null),Qn=["https://api.simplesvg.com","https://api.unisvg.com"],Oi=[];for(;Qn.length>0;)Qn.length===1||Math.random()>.5?Oi.push(Qn.shift()):Oi.push(Qn.pop());ea[""]=Ro({resources:["https://api.iconify.design"].concat(Oi)});function Kx(e,n){const i=Ro(n);return i===null?!1:(ea[e]=i,!0)}function na(e){return ea[e]}let bc=(()=>{let e;try{if(e=fetch,typeof e=="function")return e}catch(n){}})();function Hx(e,n){const i=na(e);if(!i)return 0;let o;if(!i.maxURL)o=0;else{let a=0;i.resources.forEach(t=>{a=Math.max(a,t.length)});const s=n+".json?icons=";o=i.maxURL-a-i.path.length-s.length}return o}function Vx(e){return e===404}const zx=(e,n,i)=>{const o=[],a=Hx(e,n),s="icons";let t={type:s,provider:e,prefix:n,icons:[]},r=0;return i.forEach((l,u)=>{r+=l.length+1,r>=a&&u>0&&(o.push(t),t={type:s,provider:e,prefix:n,icons:[]},r=l.length),t.icons.push(l)}),o.push(t),o};function jx(e){if(typeof e=="string"){const n=na(e);if(n)return n.path}return"/"}const Ux={prepare:zx,send:(e,n,i)=>{if(!bc){i("abort",424);return}let o=jx(n.provider);switch(n.type){case"icons":{const s=n.prefix,r=n.icons.join(","),l=new URLSearchParams({icons:r});o+=s+".json?"+l.toString();break}case"custom":{const s=n.uri;o+=s.slice(0,1)==="/"?s.slice(1):s;break}default:i("abort",400);return}let a=503;bc(e+o).then(s=>{const t=s.status;if(t!==200){setTimeout(()=>{i(Vx(t)?"abort":"next",t)});return}return a=501,s.json()}).then(s=>{if(typeof s!="object"||s===null){setTimeout(()=>{s===404?i("abort",s):i("next",a)});return}setTimeout(()=>{i("success",s)})}).catch(()=>{i("next",a)})}};function mc(e,n){e.forEach(i=>{const o=i.loaderCallbacks;o&&(i.loaderCallbacks=o.filter(a=>a.id!==n))})}function Wx(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,a=e.prefix;n.forEach(s=>{const t=s.icons,r=t.pending.length;t.pending=t.pending.filter(l=>{if(l.prefix!==a)return!0;const u=l.name;if(e.icons[u])t.loaded.push({provider:o,prefix:a,name:u});else if(e.missing.has(u))t.missing.push({provider:o,prefix:a,name:u});else return i=!0,!0;return!1}),t.pending.length!==r&&(i||mc([e],s.id),s.callback(t.loaded.slice(0),t.missing.slice(0),t.pending.slice(0),s.abort))})}))}let $x=0;function Yx(e,n,i){const o=$x++,a=mc.bind(null,i,o);if(!n.pending.length)return a;const s={id:o,icons:n,callback:e,abort:a};return i.forEach(t=>{(t.loaderCallbacks||(t.loaderCallbacks=[])).push(s)}),a}function Jx(e){const n={loaded:[],missing:[],pending:[]},i=Object.create(null);e.sort((a,s)=>a.provider!==s.provider?a.provider.localeCompare(s.provider):a.prefix!==s.prefix?a.prefix.localeCompare(s.prefix):a.name.localeCompare(s.name));let o={provider:"",prefix:"",name:""};return e.forEach(a=>{if(o.name===a.name&&o.prefix===a.prefix&&o.provider===a.provider)return;o=a;const s=a.provider,t=a.prefix,r=a.name,l=i[s]||(i[s]=Object.create(null)),u=l[t]||(l[t]=kn(s,t));let d;r in u.icons?d=n.loaded:t===""||u.missing.has(r)?d=n.missing:d=n.pending;const b={provider:s,prefix:t,name:r};d.push(b)}),n}function Zx(e,n=!0,i=!1){const o=[];return e.forEach(a=>{const s=typeof a=="string"?Li(a,n,i):a;s&&o.push(s)}),o}const Xx={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function Qx(e,n,i,o){const a=e.resources.length,s=e.random?Math.floor(Math.random()*a):e.index;let t;if(e.random){let A=e.resources.slice(0);for(t=[];A.length>1;){const N=Math.floor(Math.random()*A.length);t.push(A[N]),A=A.slice(0,N).concat(A.slice(N+1))}t=t.concat(A)}else t=e.resources.slice(s).concat(e.resources.slice(0,s));const r=Date.now();let l="pending",u=0,d,b=null,m=[],f=[];typeof o=="function"&&f.push(o);function h(){b&&(clearTimeout(b),b=null)}function g(){l==="pending"&&(l="aborted"),h(),m.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),m=[]}function v(A,N){N&&(f=[]),typeof A=="function"&&f.push(A)}function p(){return{startTime:r,payload:n,status:l,queriesSent:u,queriesPending:m.length,subscribe:v,abort:g}}function S(){l="failed",f.forEach(A=>{A(void 0,d)})}function y(){m.forEach(A=>{A.status==="pending"&&(A.status="aborted")}),m=[]}function x(A,N,E){const _=N!=="success";switch(m=m.filter(P=>P!==A),l){case"pending":break;case"failed":if(_||!e.dataAfterTimeout)return;break;default:return}if(N==="abort"){d=E,S();return}if(_){d=E,m.length||(t.length?w():S());return}if(h(),y(),!e.random){const P=e.resources.indexOf(A.resource);P!==-1&&P!==e.index&&(e.index=P)}l="completed",f.forEach(P=>{P(E)})}function w(){if(l!=="pending")return;h();const A=t.shift();if(A===void 0){if(m.length){b=setTimeout(()=>{h(),l==="pending"&&(y(),S())},e.timeout);return}S();return}const N={status:"pending",resource:A,callback:(E,_)=>{x(N,E,_)}};m.push(N),u++,b=setTimeout(w,e.rotate),i(A,n,N.callback)}return setTimeout(w),p}function fc(e){const n={...Xx,...e};let i=[];function o(){i=i.filter(r=>r().status==="pending")}function a(r,l,u){const d=Qx(n,r,l,(b,m)=>{o(),u&&u(b,m)});return i.push(d),d}function s(r){return i.find(l=>r(l))||null}return{query:a,find:s,setIndex:r=>{n.index=r},getIndex:()=>n.index,cleanup:o}}function vc(){}const ia=Object.create(null);function Rx(e){if(!ia[e]){const n=na(e);if(!n)return;const i=fc(n),o={config:n,redundancy:i};ia[e]=o}return ia[e]}function e1(e,n,i){let o,a;if(typeof e=="string"){const s=Qo(e);if(!s)return i(void 0,424),vc;a=s.send;const t=Rx(e);t&&(o=t.redundancy)}else{const s=Ro(e);if(s){o=fc(s);const t=e.resources?e.resources[0]:"",r=Qo(t);r&&(a=r.send)}}return!o||!a?(i(void 0,424),vc):o.query(n,a,i)().abort}function hc(){}function n1(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,Wx(e)}))}function i1(e){const n=[],i=[];return e.forEach(o=>{(o.match(tc)?n:i).push(o)}),{valid:n,invalid:i}}function Rn(e,n,i){function o(){const a=e.pendingIcons;n.forEach(s=>{a&&a.delete(s),e.icons[s]||e.missing.add(s)})}if(i&&typeof i=="object")try{if(!sc(e,i).length){o();return}}catch(a){console.error(a)}o(),n1(e)}function pc(e,n){e instanceof Promise?e.then(i=>{n(i)}).catch(()=>{n(null)}):n(e)}function o1(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,a=e.iconsToLoad;if(delete e.iconsToLoad,!a||!a.length)return;const s=e.loadIcon;if(e.loadIcons&&(a.length>1||!s)){pc(e.loadIcons(a,o,i),d=>{Rn(e,a,d)});return}if(s){a.forEach(d=>{const b=s(d,o,i);pc(b,m=>{const f=m?{prefix:o,icons:{[d]:m}}:null;Rn(e,[d],f)})});return}const{valid:t,invalid:r}=i1(a);if(r.length&&Rn(e,r,null),!t.length)return;const l=o.match(tc)?Qo(i):null;if(!l){Rn(e,t,null);return}l.prepare(i,o,t).forEach(d=>{e1(i,d,b=>{Rn(e,d.icons,b)})})}))}const a1=(e,n)=>{const i=Zx(e,!0,rc()),o=Jx(i);if(!o.pending.length){let l=!0;return n&&setTimeout(()=>{l&&n(o.loaded,o.missing,o.pending,hc)}),()=>{l=!1}}const a=Object.create(null),s=[];let t,r;return o.pending.forEach(l=>{const{provider:u,prefix:d}=l;if(d===r&&u===t)return;t=u,r=d,s.push(kn(u,d));const b=a[u]||(a[u]=Object.create(null));b[d]||(b[d]=[])}),o.pending.forEach(l=>{const{provider:u,prefix:d,name:b}=l,m=kn(u,d),f=m.pendingIcons||(m.pendingIcons=new Set);f.has(b)||(f.add(b),a[u][d].push(b))}),s.forEach(l=>{const u=a[l.provider][l.prefix];u.length&&o1(l,u)}),n?Yx(n,o,s):hc};function s1(e,n){const i={...e};for(const o in n){const a=n[o],s=typeof a;o in uc?(a===null||a&&(s==="string"||s==="number"))&&(i[o]=a):s===typeof i[o]&&(i[o]=o==="rotate"?a%4:a)}return i}const t1=/[\s,]+/;function r1(e,n){n.split(t1).forEach(i=>{switch(i.trim()){case"horizontal":e.hFlip=!0;break;case"vertical":e.vFlip=!0;break}})}function l1(e,n=0){const i=e.replace(/^-?[0-9.]*/,"");function o(a){for(;a<0;)a+=4;return a%4}if(i===""){const a=parseInt(e);return isNaN(a)?0:o(a)}else if(i!==e){let a=0;switch(i){case"%":a=25;break;case"deg":a=90}if(a){let s=parseFloat(e.slice(0,e.length-i.length));return isNaN(s)?0:(s=s/a,s%1===0?o(s):0)}}return n}function u1(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 d1(e){return e.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function c1(e){return"data:image/svg+xml,"+d1(e)}function b1(e){return'url("'+c1(e)+'")'}let ei;function m1(){try{ei=window.trustedTypes.createPolicy("iconify",{createHTML:e=>e})}catch(e){ei=null}}function f1(e){return ei===void 0&&m1(),ei?ei.createHTML(e):e}const gc={...dc,inline:!1},v1={xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},h1={display:"inline-block"},oa={backgroundColor:"currentColor"},yc={backgroundColor:"transparent"},xc={Image:"var(--svg)",Repeat:"no-repeat",Size:"100% 100%"},Sc={WebkitMask:oa,mask:oa,background:yc};for(const e in Sc){const n=Sc[e];for(const i in xc)n[e+i]=xc[i]}const p1={...gc,inline:!0};function wc(e){return e+(e.match(/^[-0-9.]+$/)?"px":"")}const g1=(e,n,i)=>{const o=n.inline?p1:gc,a=s1(o,n),s=n.mode||"svg",t={},r=n.style||{},l={...s==="svg"?v1:{}};if(i){const v=Li(i,!1,!0);if(v){const p=["iconify"],S=["provider","prefix"];for(const y of S)v[y]&&p.push("iconify--"+v[y]);l.className=p.join(" ")}}for(let v in n){const p=n[v];if(p!==void 0)switch(v){case"icon":case"style":case"children":case"onLoad":case"mode":case"ssr":case"fallback":break;case"_ref":l.ref=p;break;case"className":l[v]=(l[v]?l[v]+" ":"")+p;break;case"inline":case"hFlip":case"vFlip":a[v]=p===!0||p==="true"||p===1;break;case"flip":typeof p=="string"&&r1(a,p);break;case"color":t.color=p;break;case"rotate":typeof p=="string"?a[v]=l1(p):typeof p=="number"&&(a[v]=p);break;case"ariaHidden":case"aria-hidden":p!==!0&&p!=="true"&&delete l["aria-hidden"];break;default:o[v]===void 0&&(l[v]=p)}}const u=Bx(e,a),d=u.attributes;if(a.inline&&(t.verticalAlign="-0.125em"),s==="svg"){l.style={...t,...r},Object.assign(l,d);let v=0,p=n.id;return typeof p=="string"&&(p=p.replace(/-/g,"_")),l.dangerouslySetInnerHTML={__html:f1(Fx(u.body,p?()=>p+"ID"+v++:"iconifyReact"))},C.createElement("svg",l)}const{body:b,width:m,height:f}=e,h=s==="mask"||(s==="bg"?!1:b.indexOf("currentColor")!==-1),g=u1(b,{...d,width:m+"",height:f+""});return l.style={...t,"--svg":b1(g),width:wc(d.width),height:wc(d.height),...h1,...h?oa:yc,...r},C.createElement("span",l)};if(rc(!0),Gx("",Ux),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"||!Ex(o))&&console.error(i)}catch(a){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 a=n[i];if(typeof a!="object"||!a||a.resources===void 0)continue;Kx(i,a)||console.error(o)}catch(a){console.error(o)}}}}function Ac(e){const[n,i]=C.useState(!!e.ssr),[o,a]=C.useState({});function s(f){if(f){const h=e.icon;if(typeof h=="object")return{name:"",data:h};const g=lc(h);if(g)return{name:h,data:g}}return{name:""}}const[t,r]=C.useState(s(!!e.ssr));function l(){const f=o.callback;f&&(f(),a({}))}function u(f){if(JSON.stringify(t)!==JSON.stringify(f))return l(),r(f),!0}function d(){var f;const h=e.icon;if(typeof h=="object"){u({name:"",data:h});return}const g=lc(h);if(u({name:h,data:g}))if(g===void 0){const v=a1([h],d);a({callback:v})}else g&&((f=e.onLoad)===null||f===void 0||f.call(e,h))}C.useEffect(()=>(i(!0),l),[]),C.useEffect(()=>{n&&d()},[e.icon,n]);const{name:b,data:m}=t;return m?g1({...Yo,...m},e,b):e.children?e.children:e.fallback?e.fallback:C.createElement("span",{})}const Nc=C.forwardRef((e,n)=>Ac({...e,_ref:n}));C.forwardRef((e,n)=>Ac({inline:!0,...e,_ref:n}));function se({icon:e,iconClass:n}){return c.jsx(c.Fragment,{children:c.jsx(Nc,{icon:e,className:n})})}function aa({element:e,validationData:n,placeholder:i}){var b;const{register:o=()=>({}),setValue:a,isReadOnly:s,watch:t,getValues:r}=n||{},[l,u]=C.useState(()=>{const m=r==null?void 0:r(e.id);return Array.isArray(m)?m:[]}),d=C.useMemo(()=>l==null?void 0:l.map(m=>m.label).join(", "),[l]);return C.useEffect(()=>{o(e.id)},[e.id,o]),C.useEffect(()=>{if(!t)return;const m=t(f=>{const h=f[e.id];h!==void 0&&u(Array.isArray(h)?h:[])});return()=>{var f;return(f=m.unsubscribe)==null?void 0:f.call(m)}},[t,e.id]),c.jsx("div",{className:"custom-select",children:c.jsx(le.Listbox,{value:l||[],onChange:m=>{u(m),a==null||a(e.id,m)},multiple:!0,disabled:s,by:"value",children:c.jsxs("div",{className:"custom-select__wrapper",children:[c.jsxs(le.Listbox.Button,{className:"custom-select__control field-control",disabled:s,children:[c.jsx("span",{className:"custom-select__value",children:(l==null?void 0:l.length)>0?d:c.jsx("span",{className:"custom-select__placeholder",children:i!=null?i:" Select options"})}),c.jsx("span",{className:"custom-select__icon",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{as:C.Fragment,leave:"custom-select__transition",children:c.jsx(le.Listbox.Options,{anchor:"bottom start",className:"custom-select__options",children:(b=e==null?void 0:e.options)==null?void 0:b.map((m,f)=>c.jsx(le.Listbox.Option,{value:m,className:({active:h})=>`custom-select__option ${h?"custom-select__option--active":""}`,children:({selected:h})=>c.jsxs("div",{className:"custom-select__option-row",children:[c.jsx("span",{className:`custom-select__option-label ${h?"custom-select__option--selected":""}`,children:m.label}),h&&c.jsx("span",{className:"custom-select__check",children:"✓"})]})},f))})})]})})})}const y1=["jpg","jpeg","png","gif","bmp","webp","svg","image"],x1=(e="")=>{var i;const n=((i=e.split(".").pop())==null?void 0:i.toLowerCase())||"";return y1.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"},S1={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 Cc({fileUrl:e,fileName:n,removeFile:i}){const[o,a]=C.useState(!1),[s,t]=C.useState("unknown"),[r,l]=C.useState(null);C.useEffect(()=>{e&&t(x1(e))},[e]),C.useEffect(()=>{if(s==="pdf"&&(e!=null&&e.startsWith("data:")))try{const f=atob(e.split(",")[1]),h=new ArrayBuffer(f.length),g=new Uint8Array(h);for(let S=0;S<f.length;S++)g[S]=f.charCodeAt(S);const v=new Blob([h],{type:"application/pdf"}),p=URL.createObjectURL(v);return l(p),()=>URL.revokeObjectURL(p)}catch(f){console.error("Error creating blob URL:",f)}else l(null)},[e,s]);const u=()=>{s==="image"||s==="pdf"?a(!0):window.open(r||e,"_blank")},d=()=>a(!1),b=n||(e==null?void 0:e.split("/").pop())||"Unknown file";function m(f,h="download"){if(!f)return;if(f.startsWith("data:")){const v=document.createElement("a");v.href=f,v.download=h,document.body.appendChild(v),v.click(),document.body.removeChild(v);return}const g=document.createElement("a");g.href=f,g.setAttribute("download",h),document.body.appendChild(g),g.click(),document.body.removeChild(g)}return c.jsxs("div",{className:"mt-2 field-control !py-1 !bg-gray-50 !flex justify-between gap-x-8 items-center",children:[c.jsxs("div",{onClick:u,className:"!flex items-center rounded cursor-pointer gap-x-3",title:`Click to preview ${b}`,children:[s==="image"&&c.jsx("div",{className:"flex items-center justify-center ",children:c.jsx(se,{iconClass:"text-4xl",icon:"fluent-color:image-48"})}),s!=="image"&&c.jsx(se,{icon:S1[s],iconClass:"text-4xl"}),c.jsx("span",{className:"text-sm font-semibold text-center text-gray-700 truncate max-w-[300px]",children:b})]}),c.jsxs("div",{className:"flex gap-x-1 items-center",children:[c.jsx("button",{type:"button",className:"p-2",onClick:()=>m(r||e,n),title:`Download ${b}`,children:c.jsx(se,{icon:"streamline-flex:download-tray-solid"})}),i&&c.jsx("button",{type:"button",className:"p-2 text-lg text-red-500",onClick:i,children:c.jsx(se,{icon:"lets-icons:trash-duotone"})})]}),o&&c.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black bg-opacity-50",onClick:d,children:c.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:[c.jsx("button",{onClick:d,className:"absolute text-2xl font-bold text-gray-700 top-2 right-2","aria-label":"Close preview",children:"×"}),s==="image"?c.jsx("img",{src:e,alt:b,className:"max-w-full max-h-[80vh] mx-auto object-contain",crossOrigin:"anonymous"}):s==="pdf"?c.jsx("iframe",{src:r||e,title:b,className:"w-full h-[80vh] rounded border"}):null]})})]})}const Se=e=>{const n=typeof window!="undefined"?localStorage.getItem(e):"";try{return JSON.parse(n)}catch(i){return n}},_c=(e,n)=>{const i=typeof n!="string"?JSON.stringify(n):n;return localStorage.setItem(e,i)},w1=5*1024*1024;function A1({onFileLoaded:e,disabled:n=!1,handleDeleteFile:i,multiple:o=!1,list:a=null,accept:s=[]}){const{uploadUrl:t}=C.useContext(Ce),r=C.useRef(null),[l,u]=C.useState(a),[d,b]=C.useState(!1);C.useEffect(()=>{u(a)},[a]);const m=C.useMemo(()=>s==null?void 0:s.map(x=>x.value).join(", "),[s]),f=C.useMemo(()=>s==null?void 0:s.map(x=>x.label).join(", "),[s]),h=C.useCallback(async x=>{var N,E;const w=Se("token"),A=((N=Se("orgData"))==null?void 0:N.id)||Se("organizationId");try{const{data:_}=await mn.post(t,{...x,service:"FORM",organizationId:A||""},{headers:{Authorization:`Bearer ${w}`}});return(E=_==null?void 0:_.data)==null?void 0:E.url}catch(_){throw console.error("File upload error:",_),new Error("Failed to upload file to server")}},[t]),g=C.useCallback(x=>new Promise((w,A)=>{const N=new FileReader;N.onloadend=async()=>{try{const E=N.result.replace(/^data:.*;base64,/,""),_=t?await h({base64:E,ext:`.${x.name.split(".").pop()}`,fileName:x.name}):N.result;w({base64:_,type:x.type,name:x.name})}catch(E){A(E)}},N.onerror=()=>A(new Error("File read failed")),N.readAsDataURL(x)}),[t,h]),v=C.useCallback(x=>{var A;const w=m?(A=m.split(","))==null?void 0:A.map(N=>N.trim()):[];for(const N of x){if(N.size>w1)return Pe.toast.error(`File "${N.name}" exceeds 5MB limit (${(N.size/1024/1024).toFixed(2)}MB)`),!1;if(w.length&&!w.some(E=>N.type===E||N.name.toLowerCase().endsWith(E.replace("*",""))))return Pe.toast.error(`File "${N.name}" is not an allowed type. Allowed: ${f||"any"}`),!1}return!0},[m,f]),p=C.useCallback(async x=>{const w=Array.from(x.target.files||[]);if(!(!w.length||d)){if(!v(w)){r.current&&(r.current.value="");return}try{b(!0);const A=await Promise.all(w==null?void 0:w.map(g)),N=o&&l?[...l,...A]:A;u(N),e(N),Pe.toast.success(`Successfully uploaded ${w.length} file(s)`)}catch(A){console.error("Upload error:",A),Pe.toast.error("Failed to upload file(s). Please try again.")}finally{b(!1),r.current&&(r.current.value="")}}},[d,v,g,e,o,l]),S=C.useCallback(x=>{d||(r.current&&(r.current.value=""),u(w=>{const A=x===void 0?null:(w==null?void 0:w.filter((N,E)=>E!==x))||null;return e(A),A}),i==null||i())},[i,e,d]),y=l&&l.length>0;return c.jsxs("div",{className:"flex flex-col items-start gap-2",children:[!n&&c.jsxs("div",{className:"!flex field-control !py-0 !px-0 relative",children:[c.jsx("input",{ref:r,type:"file",onChange:p,disabled:n||d,multiple:o,accept:m||"",className:`w-full text-sm text-gray-500 file:mr-4 flex-1 file:px-4 !py-1 !pl-1\r
|
|
2
2
|
file:rounded-[6px] file:py-[6px] file:border-0\r
|
|
3
3
|
file:text-sm file:font-semibold\r
|
|
4
4
|
file:bg-blue-50 file:text-blue-700\r
|
|
5
|
-
hover:file:bg-blue-100 disabled:opacity-50 disabled:cursor-not-allowed`}),y&&c.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-50",onClick:()=>S(),disabled:d,"aria-label":"Remove all files",children:c.jsx(se,{icon:"lets-icons:trash-duotone"})})]}),y&&c.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full",children:[d&&c.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/60 rounded",children:c.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-600 font-medium",children:[c.jsx("span",{className:"animate-spin h-4 w-4 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof l=="object"&&(l==null?void 0:l.map((x,w)=>c.jsx(Cc,{fileUrl:x.base64,fileName:x.name,removeFile:()=>S(w)},`${x.name}-${w}`)))]})]})}function N1({element:e,validationData:n}){var d;const[i,o]=C.useState((d=e==null?void 0:e.value)!=null?d:null),{register:a=()=>({}),setValue:s,isReadOnly:t,watch:r}=n||{};C.useEffect(()=>{a(e.id)},[e.id,a]),C.useEffect(()=>{if(r){const b=r(m=>{o(m[e.id])});return()=>{var m;return(m=b.unsubscribe)==null?void 0:m.call(b)}}},[r,e.id]);const l=C.useCallback(b=>{s==null||s(e.id,b),o(b)},[e.id,s]),u=()=>{s==null||s(e.id,null),o(null)};return c.jsxs("div",{children:[!t&&c.jsx(A1,{onFileLoaded:l,disabled:t,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles}),t&&c.jsx(c.Fragment,{children:i?c.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((b,m)=>c.jsx("div",{children:c.jsx(Cc,{fileUrl:b.base64,fileName:b.name})},m))}):c.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function C1({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:ue("field-control",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}const te=({label:e,name:n,register:i,errors:o,className:a,type:s="text",placeholder:t="",isFloating:r,setValue:l,value:u,trigger:d,prefix:b,disabled:m,watch:f,min:h,max:g,description:v,onChange:p})=>{var y,x,w,A;const S=i?{...i(n)}:{};if(s==="amount")return c.jsxs("div",{className:"space-y-1.5 relative",children:[c.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}),c.jsx(
|
|
5
|
+
hover:file:bg-blue-100 disabled:opacity-50 disabled:cursor-not-allowed`}),y&&c.jsx("button",{type:"button",className:"p-2 text-lg text-red-500 hover:text-red-600 transition-colors disabled:opacity-50",onClick:()=>S(),disabled:d,"aria-label":"Remove all files",children:c.jsx(se,{icon:"lets-icons:trash-duotone"})})]}),y&&c.jsxs("div",{className:"relative grid gap-y-1 flex-1 w-full",children:[d&&c.jsx("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-white/60 rounded",children:c.jsxs("div",{className:"flex items-center gap-2 text-sm text-blue-600 font-medium",children:[c.jsx("span",{className:"animate-spin h-4 w-4 border-2 border-blue-500 border-t-transparent rounded-full"}),"Uploading..."]})}),typeof l=="object"&&(l==null?void 0:l.map((x,w)=>c.jsx(Cc,{fileUrl:x.base64,fileName:x.name,removeFile:()=>S(w)},`${x.name}-${w}`)))]})]})}function N1({element:e,validationData:n}){var d;const[i,o]=C.useState((d=e==null?void 0:e.value)!=null?d:null),{register:a=()=>({}),setValue:s,isReadOnly:t,watch:r}=n||{};C.useEffect(()=>{a(e.id)},[e.id,a]),C.useEffect(()=>{if(r){const b=r(m=>{o(m[e.id])});return()=>{var m;return(m=b.unsubscribe)==null?void 0:m.call(b)}}},[r,e.id]);const l=C.useCallback(b=>{s==null||s(e.id,b),o(b)},[e.id,s]),u=()=>{s==null||s(e.id,null),o(null)};return c.jsxs("div",{children:[!t&&c.jsx(A1,{onFileLoaded:l,disabled:t,multiple:e==null?void 0:e.isMultiple,handleDeleteFile:u,list:i,accept:e==null?void 0:e.acceptedFiles}),t&&c.jsx(c.Fragment,{children:i?c.jsx("div",{className:"relative grid gap-y-1 flex-1 w-full",children:typeof i=="object"&&Array.isArray(i)&&i.map((b,m)=>c.jsx("div",{children:c.jsx(Cc,{fileUrl:b.base64,fileName:b.name})},m))}):c.jsx("span",{className:"field-control !bg-gray-50 w-full !text-gray-400 !text-sm !italic ",children:"No File Uploaded"})})]})}function C1({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:ue("field-control",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}const te=({label:e,name:n,register:i,errors:o,className:a,type:s="text",placeholder:t="",isFloating:r,setValue:l,value:u,trigger:d,prefix:b,disabled:m,watch:f,min:h,max:g,description:v,onChange:p})=>{var y,x,w,A;const S=i?{...i(n)}:{};if(s==="amount")return c.jsxs("div",{className:"space-y-1.5 relative",children:[c.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}),c.jsx(Pi,{onValueChange:N=>{l(n,N!=null?N:null),i&&i(n),d&&d(n)},placeholder:t,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}`,decimalsLimit:2,value:u,prefix:b,disabled:m}),(o==null?void 0:o[n])&&c.jsx("p",{className:"mt-1 text-sm text-red-600",children:(y=o[n])==null?void 0:y.message})]});if(["checkbox","radio"].includes(s)){const N=(f==null?void 0:f(n))||null;let E=!1;return N&&(N!=null&&N.length&&s==="checkbox"?E=N==null?void 0:N.includes(u):E=N==u),c.jsxs("div",{className:"space-y-1",children:[c.jsxs("label",{className:`flex gap-3 cursor-pointer select-none ${v?"items-start":"items-center"}`,children:[c.jsx("input",{...S,type:s,value:u||"",disabled:m,className:"peer sr-only"}),c.jsx("div",{className:`
|
|
6
6
|
w-[18px] h-[18px] flex items-center justify-center
|
|
7
7
|
border rounded-md transition-all duration-200
|
|
8
8
|
${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
peer-checked:border-[#7F56D9]
|
|
11
11
|
peer-disabled:opacity-60
|
|
12
12
|
peer-disabled:cursor-not-allowed
|
|
13
|
-
`,children:E&&c.jsx(se,{icon:"meteor-icons:check",iconClass:"w-3.5 h-3.5 text-white"})}),c.jsxs("div",{children:[c.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),v&&c.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:v})]})]}),(o==null?void 0:o[n])&&c.jsx("p",{className:"ml-8 text-sm text-red-600",children:(x=o[n])==null?void 0:x.message})]})}return s==="textarea"?c.jsxs("div",{className:"space-y-1.5 relative",children:[c.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}),c.jsx("textarea",{...S,onChange:N=>{var E;(E=S.onChange)==null||E.call(S,N),p==null||p(N)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${a}`,placeholder:t,disabled:m}),(o==null?void 0:o[n])&&c.jsx("p",{className:"mt-1 text-sm text-red-600",children:(w=o[n])==null?void 0:w.message})]}):c.jsxs("div",{className:" relative w-full",children:[e&&c.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}),c.jsx("input",{...S,onChange:N=>{var E;(E=S.onChange)==null||E.call(S,N),p==null||p(N)},type:s,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${a}`,placeholder:r?"":t,disabled:m,min:h,max:g}),(o==null?void 0:o[n])&&c.jsx("p",{className:"mt-1 text-sm text-red-600",children:(A=o[n])==null?void 0:A.message})]})};function _1({element:e,validationData:n}){var a;const{register:i=()=>({}),watch:o}=n||{};return c.jsx("div",{className:ue("grid gap-y-[6px]",e.customClass),children:(a=e==null?void 0:e.options)==null?void 0:a.map(s=>c.jsx("div",{children:c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:s==null?void 0:s.label,register:i,name:e.id,value:s.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},s.id))})}function E1({element:e,state:n}){return c.jsx("div",{children:"SectionInput"})}function k1({element:e,validationData:n}){var a;const{register:i=()=>({}),watch:o}=n||{};return c.jsx("div",{className:ue("grid gap-y-[6px]",e.customClass),children:(a=e==null?void 0:e.options)==null?void 0:a.map(s=>c.jsx("div",{children:c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:s==null?void 0:s.label,register:i,name:e.id,value:s.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},s.id))})}const Mn=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:a,name:s,label:t,value:r,trigger:l,isMultiple:u,isFloatingLabel:d,subText:b,labelClass:m="text-[10px]",loading:f,disabled:h})=>{const[g,v]=C.useState(u?[]:null),p=C.useRef(!1),S=C.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(A=>{var N;return typeof w.value=="object"?((N=w.value)==null?void 0:N.id)===(A==null?void 0:A.id):w.value===A})):[]:e.find(w=>{var A;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((A=w.value)==null?void 0:A.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]);C.useEffect(()=>{if(p.current){p.current=!1;return}if(u&&Array.isArray(S)&&Array.isArray(g)){const w=g==null?void 0:g.map(N=>N.value),A=S==null?void 0:S.map(N=>N.value);JSON.stringify(w)!==JSON.stringify(A)&&v(S)}else(S==null?void 0:S.value)!==(g==null?void 0:g.value)&&v(S)},[S,u]);const y=C.useCallback(w=>{var A;if(p.current=!0,v(w),a){const N=u?Array.isArray(w)?w==null?void 0:w.map(E=>E.value):[]:(A=w==null?void 0:w.value)!=null?A:null;a(s,N),l==null||l(s)}o&&!p.current&&o(s)},[a,s,l,o,u]),x=C.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 c.jsxs("div",{className:"relative",children:[!d&&t&&c.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:t}),d&&t&&c.jsx("label",{className:ue("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:t}),c.jsx(le.Listbox,{value:g,onChange:y,multiple:u,disabled:h||f,children:c.jsxs("div",{className:"relative",children:[c.jsxs(le.Listbox.Button,{className:"field-control",disabled:h||f,children:[c.jsx("span",{className:ue("block text-sm text-left truncate",{"opacity-60":!g||f}),children:x}),c.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{anchor:"bottom start",className:"select-button-options",children:e.length===0?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,A)=>{var N;return c.jsx(le.Listbox.Option,{value:w,className:({active:E})=>ue("select-option",{active:E}),children:({selected:E})=>c.jsx("div",{className:ue("option-text",{selected:E}),children:w.label})},((N=w.value)==null?void 0:N.id)||w.value||A)})})})]})}),!i&&b&&c.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:b}),(i==null?void 0:i.message)&&c.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function Oi({options:e=[],apiUrl:n,value:i,defaultValue:o,onGetValue:a,readOnly:s,name:t,customClass:r}){const[l,u]=C.useState(""),[d,b]=C.useState([]),[m,f]=C.useState(!1);C.useEffect(()=>{(async()=>{var w,A;if(n){f(!0);try{const N=Se("token"),E=N?{headers:{Authorization:`Bearer ${N}`}}:{};let P=(await mn.get(n,E)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(w=P.data)!=null&&w.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(A=P.data)!=null&&A.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const k=P.map(M=>typeof M=="string"?{label:M,value:M}:{label:M.label||M.name||String(M.id||M.value),value:String(M.value||M.id||M.name)});b(k)}}catch(N){console.error("Failed to fetch options",N)}finally{f(!1)}}})()},[n]);const h=n?d:e,g=C.useMemo(()=>{const x=i!=null?i:o;return x==null||x===""?null:h.find(w=>String(w.value)===String(x)||String(w.label)===String(x))||null},[i,o,h]),[v,p]=C.useState(g);C.useEffect(()=>{if(i!==void 0)if(i===null||i==="")p(null);else{const x=h.find(w=>String(w.value)===String(i)||String(w.label)===String(i))||null;p(x)}},[i,h]);const S=C.useMemo(()=>{if(l==="")return h;const x=l.toLowerCase();return h.filter(w=>w.label.toLowerCase().includes(x))},[l,h]),y=C.useCallback(x=>{p(x),a(t,x)},[t,a]);return c.jsx("div",{className:"relative w-full",children:c.jsxs(le.Combobox,{value:v,onChange:y,disabled:s,children:[c.jsxs("div",{className:"relative",children:[c.jsx(le.ComboboxInput,{className:`field-control ${r}`,displayValue:x=>(x==null?void 0:x.label)||"",onChange:x=>u(x.target.value),placeholder:"Select an option..."}),c.jsx(le.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:c.jsx(se,{icon:"octicon:chevron-down-12"})})]}),c.jsx(le.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",children:m?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):S.length===0?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):S==null?void 0:S.map(x=>c.jsx(le.ComboboxOption,{value:x,className:({active:w,selected:A})=>ue("select-option",{active:w,selected:A}),children:({selected:w})=>c.jsx("div",{className:ue("option-text",{selected:w}),children:x.label})},x.value))})]})})}function M1({element:e,validationData:n}){var r,l;const{register:i=()=>({}),trigger:o,setValue:a,watch:s}=n||{};let t;return s&&(t=s()[e.id]),C.useEffect(()=>{i(e.id)},[e.id,i]),c.jsx(c.Fragment,{children:e.selectType==="list"?c.jsx(Mn,{options:(r=e==null?void 0:e.options)!=null?r:[],register:i,name:e.id,setValue:a,trigger:o,value:t,className:ue("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):c.jsx(Oi,{name:e.id,options:(l=e==null?void 0:e.options)!=null?l:[],defaultValue:t,onGetValue:a,readOnly:n==null?void 0:n.isReadOnly})})}function T1({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("textarea",{placeholder:e.placeholder,rows:4,className:ue("field-control resize-none",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}function sa(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,a,s){try{return Promise.resolve(function(t,r){try{var l=(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:a}))).then(function(u){return s.shouldUseNativeValidation&&Yd.validateFieldsNatively({},s),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return l&&l.then?l.then(void 0,r):l}(0,function(t){if(!t.inner)throw t;return{values:{},errors:Yd.toNestErrors((r=t,l=!s.shouldUseNativeValidation&&s.criteriaMode==="all",(r.inner||[]).reduce(function(u,d){if(u[d.path]||(u[d.path]={message:d.message,type:d.type}),l){var b=u[d.path].types,m=b&&b[d.type];u[d.path]=Ze.appendErrors(d.path,l,u,d.type,m?[].concat(m,d.message):d.message)}return u},{})),s)};var r,l}))}catch(t){return Promise.reject(t)}}}const P1=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:a,btnClass:s=""})=>{const t=ue("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return c.jsx("div",{className:t,children:e==null?void 0:e.map(r=>{const l=a===r.key,u=i[r.key]||0,d=ue("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"}`,s),b=ue({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":l,"border-transparent text-gray-400 ":!l}),m=u>0&&c.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 c.jsxs("button",{onClick:()=>o(r.key),className:ue(d,b),"aria-selected":l,role:"tab",type:"button",children:[r.title,m]},r.key)})})},Di=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}]}]`),I1={...{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:""},Tn=(e,n=e)=>({label:e,value:n,id:_e.v4()}),ve=e=>({...I1,...e}),L1=Di==null?void 0:Di.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),B1=[ve({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),ve({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),ve({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),ve({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Tn("Placeholder 1","placeholder_1")]}),ve({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",options:[Tn("Placeholder 1","placeholder_1")]}),ve({type:"validateInput",label:"Validate",icon:"iconoir:www",inputLabel:"Validate Input Label",inputType:"validateInput",url:"https://api.example.com/validate?value={value}",method:"GET",responseType:"string"}),ve({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),ve({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),ve({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}),ve({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),ve({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),ve({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",options:[Tn("Checkbox Option","")]}),ve({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),ve({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Tn("Radio Option","")]}),ve({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),ve({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[]}),ve({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:L1,showState:!1}),ve({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),ve({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:_e.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),ve({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),ve({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),ve({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),ve({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"}]}),ve({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),ve({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Tn("Option 1","option_1"),Tn("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""})],O1=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","validateInput","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix","polling"],dateAndTime:["date"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),D1=[{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"}],q1=["amount"],F1=["text","number"],G1=["text","number","amount","date","password"],K1=["amount"],qi=["grid","section","divider","spacer","basicText"],H1=["radio","select","checkbox","multiselect","matrix","polling"],V1=["validateInput"],z1=["tableInput"],ta=["basicText"],j1=[{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"}];function U1({value:e=[],onChange:n,onGetValue:i}){const[o,a]=C.useState((e==null?void 0:e.length)>0?e:[{value:""}]);C.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&a(e)},[e]);function s(l,u){const d=[...o];d[u]={...d[u],value:l},a(d),n&&n(d)}function t(){const l=[...o,{value:""}];a(l),n&&n(l)}function r(l){const u=o.filter((d,b)=>b!==l);a(u),n&&n(u)}return C.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),c.jsxs("div",{className:"]",children:[c.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[c.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:c.jsx("div",{className:"px-2 py-2",children:c.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((l,u)=>c.jsx("div",{className:"grid text-sm border-b border-gray-100",children:c.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[c.jsx("span",{className:"flex-1",children:c.jsx(Ti,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:l.value,onValueChange:d=>s(d,u),allowNegativeValue:!1})}),c.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),c.jsx("div",{className:"mt-1 flex justify-end",children:c.jsx("button",{type:"button",onClick:t,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const W1=()=>c.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:c.jsxs("ul",{children:[c.jsxs("li",{className:"text-xs",children:["API URL example format: ",c.jsx("code",{children:"https://example.com/validation?value={value}"})]}),c.jsxs("li",{className:"text-xs",children:[c.jsx("span",{className:"block mb-1",children:" Response example format:"}),c.jsx("pre",{className:"bg-white p-2 rounded-md",children:c.jsxs("code",{children:["{ ",c.jsx("br",{}),' "data": { ',c.jsx("br",{}),' "status": true, ',c.jsx("br",{}),' "description": "John Doe" ',c.jsx("br",{})," } ",c.jsx("br",{}),"}"]})})]})]})}),$1=()=>c.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:c.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Method:"})," ",c.jsx("code",{children:"GET"})]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Response format:"}),c.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:c.jsx("code",{children:`{
|
|
13
|
+
`,children:E&&c.jsx(se,{icon:"meteor-icons:check",iconClass:"w-3.5 h-3.5 text-white"})}),c.jsxs("div",{children:[c.jsx("span",{className:"text-sm leading-none block font-medium text-[#344054] font-onest",children:e}),v&&c.jsx("span",{className:"text-xs font-medium leading-none text-[#5c6c86] font-onest",children:v})]})]}),(o==null?void 0:o[n])&&c.jsx("p",{className:"ml-8 text-sm text-red-600",children:(x=o[n])==null?void 0:x.message})]})}return s==="textarea"?c.jsxs("div",{className:"space-y-1.5 relative",children:[c.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}),c.jsx("textarea",{...S,onChange:N=>{var E;(E=S.onChange)==null||E.call(S,N),p==null||p(N)},className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${a}`,placeholder:t,disabled:m}),(o==null?void 0:o[n])&&c.jsx("p",{className:"mt-1 text-sm text-red-600",children:(w=o[n])==null?void 0:w.message})]}):c.jsxs("div",{className:" relative w-full",children:[e&&c.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}),c.jsx("input",{...S,onChange:N=>{var E;(E=S.onChange)==null||E.call(S,N),p==null||p(N)},type:s,className:`field-control ${o!=null&&o[n]?"border-red-300":"border-[#D0D5DD]"} ${a}`,placeholder:r?"":t,disabled:m,min:h,max:g}),(o==null?void 0:o[n])&&c.jsx("p",{className:"mt-1 text-sm text-red-600",children:(A=o[n])==null?void 0:A.message})]})};function _1({element:e,validationData:n}){var a;const{register:i=()=>({}),watch:o}=n||{};return c.jsx("div",{className:ue("grid gap-y-[6px]",e.customClass),children:(a=e==null?void 0:e.options)==null?void 0:a.map(s=>c.jsx("div",{children:c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:s==null?void 0:s.label,register:i,name:e.id,value:s.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},s.id))})}function E1({element:e,state:n}){return c.jsx("div",{children:"SectionInput"})}function k1({element:e,validationData:n}){var a;const{register:i=()=>({}),watch:o}=n||{};return c.jsx("div",{className:ue("grid gap-y-[6px]",e.customClass),children:(a=e==null?void 0:e.options)==null?void 0:a.map(s=>c.jsx("div",{children:c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:s==null?void 0:s.label,register:i,name:e.id,value:s.value,disabled:n==null?void 0:n.isReadOnly,watch:o})},s.id))})}const Mn=({options:e=[],placeholder:n="Select",errors:i,register:o,setValue:a,name:s,label:t,value:r,trigger:l,isMultiple:u,isFloatingLabel:d,subText:b,labelClass:m="text-[10px]",loading:f,disabled:h})=>{const[g,v]=C.useState(u?[]:null),p=C.useRef(!1),S=C.useMemo(()=>!r||!e||e.length===0?u?[]:null:u?Array.isArray(r)?e.filter(w=>r.some(A=>{var N;return typeof w.value=="object"?((N=w.value)==null?void 0:N.id)===(A==null?void 0:A.id):w.value===A})):[]:e.find(w=>{var A;return typeof w.value=="string"&&typeof r=="string"?w.value.toLowerCase()===r.toLowerCase():typeof w.value=="object"&&typeof r=="object"?((A=w.value)==null?void 0:A.id)===(r==null?void 0:r.id):w.value===r})||null,[r,e,u]);C.useEffect(()=>{if(p.current){p.current=!1;return}if(u&&Array.isArray(S)&&Array.isArray(g)){const w=g==null?void 0:g.map(N=>N.value),A=S==null?void 0:S.map(N=>N.value);JSON.stringify(w)!==JSON.stringify(A)&&v(S)}else(S==null?void 0:S.value)!==(g==null?void 0:g.value)&&v(S)},[S,u]);const y=C.useCallback(w=>{var A;if(p.current=!0,v(w),a){const N=u?Array.isArray(w)?w==null?void 0:w.map(E=>E.value):[]:(A=w==null?void 0:w.value)!=null?A:null;a(s,N),l==null||l(s)}o&&!p.current&&o(s)},[a,s,l,o,u]),x=C.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 c.jsxs("div",{className:"relative",children:[!d&&t&&c.jsx("label",{className:"block text-sm text-[#686878] darks:text-white/70 mb-2",children:t}),d&&t&&c.jsx("label",{className:ue("z-[40] absolute bg-white py-[2px] px-1 -top-[10px] left-3",m),children:t}),c.jsx(le.Listbox,{value:g,onChange:y,multiple:u,disabled:h||f,children:c.jsxs("div",{className:"relative",children:[c.jsxs(le.Listbox.Button,{className:"field-control",disabled:h||f,children:[c.jsx("span",{className:ue("block text-sm text-left truncate",{"opacity-60":!g||f}),children:x}),c.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{anchor:"bottom start",className:"select-button-options",children:e.length===0?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No options available"}):e==null?void 0:e.map((w,A)=>{var N;return c.jsx(le.Listbox.Option,{value:w,className:({active:E})=>ue("select-option",{active:E}),children:({selected:E})=>c.jsx("div",{className:ue("option-text",{selected:E}),children:w.label})},((N=w.value)==null?void 0:N.id)||w.value||A)})})})]})}),!i&&b&&c.jsx("p",{className:"text-[10px] text-[#98A2B3] mt-[6px]",children:b}),(i==null?void 0:i.message)&&c.jsx("span",{className:"text-sm text-red-500",children:i.message})]})};function ni({options:e=[],apiUrl:n,value:i,defaultValue:o,onGetValue:a,readOnly:s,name:t,customClass:r}){const[l,u]=C.useState(""),[d,b]=C.useState([]),[m,f]=C.useState(!1);C.useEffect(()=>{(async()=>{var w,A;if(n){f(!0);try{const N=Se("token"),E=N?{headers:{Authorization:`Bearer ${N}`}}:{};let P=(await mn.get(n,E)).data;if(P&&!Array.isArray(P)&&(P.data&&Array.isArray(P.data)?P=P.data:(w=P.data)!=null&&w.data&&Array.isArray(P.data.data)?P=P.data.data:P.results&&Array.isArray(P.results)?P=P.results:(A=P.data)!=null&&A.results&&Array.isArray(P.data.results)?P=P.data.results:P.items&&Array.isArray(P.items)&&(P=P.items)),Array.isArray(P)){const k=P.map(M=>typeof M=="string"?{label:M,value:M}:{label:M.label||M.name||String(M.id||M.value),value:String(M.value||M.id||M.name)});b(k)}}catch(N){console.error("Failed to fetch options",N)}finally{f(!1)}}})()},[n]);const h=n?d:e,g=C.useMemo(()=>{const x=i!=null?i:o;return x==null||x===""?null:h.find(w=>String(w.value)===String(x)||String(w.label)===String(x))||null},[i,o,h]),[v,p]=C.useState(g);C.useEffect(()=>{if(i!==void 0)if(i===null||i==="")p(null);else{const x=h.find(w=>String(w.value)===String(i)||String(w.label)===String(i))||null;p(x)}},[i,h]);const S=C.useMemo(()=>{if(l==="")return h;const x=l.toLowerCase();return h.filter(w=>w.label.toLowerCase().includes(x))},[l,h]),y=C.useCallback(x=>{p(x),a(t,x)},[t,a]);return c.jsx("div",{className:"relative w-full",children:c.jsxs(le.Combobox,{value:v,onChange:y,disabled:s,children:[c.jsxs("div",{className:"relative",children:[c.jsx(le.ComboboxInput,{className:`field-control ${r}`,displayValue:x=>(x==null?void 0:x.label)||"",onChange:x=>u(x.target.value),placeholder:m?"Loading...":s?"":"Select an option..."}),!s&&c.jsx(le.ComboboxButton,{className:"absolute inset-y-0 right-0 flex items-center px-2 text-gray-400 hover:text-gray-600",children:m?c.jsxs("svg",{className:"animate-spin h-4 w-4",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",children:[c.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),c.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"})]}):c.jsx(se,{icon:"octicon:chevron-down-12"})})]}),c.jsx(le.ComboboxOptions,{anchor:"bottom start",className:"select-options__combo",children:m?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"Loading..."}):S.length===0?c.jsx("div",{className:"px-3 py-2 text-sm text-gray-500",children:"No results found."}):S==null?void 0:S.map(x=>c.jsx(le.ComboboxOption,{value:x,className:({active:w,selected:A})=>ue("select-option",{active:w,selected:A}),children:({selected:w})=>c.jsx("div",{className:ue("option-text",{selected:w}),children:x.label})},x.value))})]})})}function M1({element:e,validationData:n}){var r,l;const{register:i=()=>({}),trigger:o,setValue:a,watch:s}=n||{};let t;return s&&(t=s()[e.id]),C.useEffect(()=>{i(e.id)},[e.id,i]),c.jsx(c.Fragment,{children:e.selectType==="list"?c.jsx(Mn,{options:(r=e==null?void 0:e.options)!=null?r:[],register:i,name:e.id,setValue:a,trigger:o,value:t,className:ue("field-control",e==null?void 0:e.customClass),disabled:n==null?void 0:n.isReadOnly}):c.jsx(ni,{name:e.id,options:(l=e==null?void 0:e.options)!=null?l:[],defaultValue:t,onGetValue:a,readOnly:n==null?void 0:n.isReadOnly})})}function T1({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("textarea",{placeholder:e.placeholder,rows:4,className:ue("field-control resize-none",e==null?void 0:e.customClass),...i(e.id),disabled:n==null?void 0:n.isReadOnly})}function sa(e,n,i){return n===void 0&&(n={}),i===void 0&&(i={}),function(o,a,s){try{return Promise.resolve(function(t,r){try{var l=(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:a}))).then(function(u){return s.shouldUseNativeValidation&&Yd.validateFieldsNatively({},s),{values:i.raw?o:u,errors:{}}}))}catch(u){return r(u)}return l&&l.then?l.then(void 0,r):l}(0,function(t){if(!t.inner)throw t;return{values:{},errors:Yd.toNestErrors((r=t,l=!s.shouldUseNativeValidation&&s.criteriaMode==="all",(r.inner||[]).reduce(function(u,d){if(u[d.path]||(u[d.path]={message:d.message,type:d.type}),l){var b=u[d.path].types,m=b&&b[d.type];u[d.path]=Xe.appendErrors(d.path,l,u,d.type,m?[].concat(m,d.message):d.message)}return u},{})),s)};var r,l}))}catch(t){return Promise.reject(t)}}}const P1=({tabs:e,className:n="",count:i={},setActiveTab:o,activeTab:a,btnClass:s=""})=>{const t=ue("flex gap-x-3 mb-8 w-full no-scrollbar overflow-x-auto border-b-2 border-[#EAECF0] darks:border-gray-500",n);return c.jsx("div",{className:t,children:e==null?void 0:e.map(r=>{const l=a===r.key,u=i[r.key]||0,d=ue("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"}`,s),b=ue({"border-gray-500 border-primary border-primary-500 text-primary text-primary-500":l,"border-transparent text-gray-400 ":!l}),m=u>0&&c.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 c.jsxs("button",{onClick:()=>o(r.key),className:ue(d,b),"aria-selected":l,role:"tab",type:"button",children:[r.title,m]},r.key)})})},Di=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}]}]`),I1={...{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:""},Tn=(e,n=e)=>({label:e,value:n,id:_e.v4()}),ve=e=>({...I1,...e}),L1=Di==null?void 0:Di.map(e=>({label:e.name,value:e.name,id:e.code||e.name})),B1=[ve({type:"basicText",label:"Basic Text",icon:"majesticons:text",inputLabel:"",inputType:"basicText"}),ve({type:"textField",label:"Text Input",icon:"fluent:text-16-filled",inputLabel:"Text Label",inputType:"text"}),ve({type:"longText",label:"Long Text",icon:"dashicons:text",inputLabel:"Long Text Label",inputType:"text"}),ve({type:"selectField",label:"List",icon:"tabler:select",inputLabel:"Select Text Label",inputType:"select",selectType:"list",options:[Tn("Placeholder 1","placeholder_1")]}),ve({type:"multiSelect",label:"Multi List",icon:"fluent-mdl2:multi-select",inputLabel:"Select Text Label",inputType:"select",options:[Tn("Placeholder 1","placeholder_1")]}),ve({type:"validateInput",label:"Validate",icon:"iconoir:www",inputLabel:"Validate Input Label",inputType:"validateInput",url:"https://api.example.com/validate?value={value}",method:"GET",responseType:"string"}),ve({type:"numberField",label:"Number",icon:"octicon:number-16",inputLabel:"Number Label",inputType:"number",inputMode:"decimal"}),ve({type:"amountField",label:"Amount",icon:"carbon:currency",inputLabel:"Enter amount",inputType:"amount",prefix:null}),ve({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}),ve({type:"url",label:"Link",icon:"iconamoon:link",inputLabel:"Url Link",inputType:"url"}),ve({type:"password",label:"Password",icon:"ic:round-password",inputLabel:"Password Label",inputType:"password"}),ve({type:"checkbox",label:"Checkbox",icon:"mingcute:checkbox-line",inputLabel:"Checkbox Label",inputType:"checkbox",options:[Tn("Checkbox Option","")]}),ve({type:"phoneField",label:"Phone",icon:"fluent-mdl2:add-phone",inputLabel:"Phone Label",inputType:"tel",pattern:"^\\+?[0-9]{7,15}$"}),ve({type:"radio",label:"Radio",icon:"ri:checkbox-circle-line",inputLabel:"Radio Label",inputType:"radio",options:[Tn("Radio Option","")]}),ve({type:"email",label:"Email",icon:"mdi:email-outline",inputLabel:"Email Label",inputType:"email"}),ve({type:"file",label:"File",icon:"ion:attach-sharp",inputLabel:"File Label",inputType:"file",isMultiple:!1,acceptedFiles:[]}),ve({type:"country",label:"Country",icon:"fluent:globe-16-regular",inputLabel:"Select Country",inputType:"country",options:L1,showState:!1}),ve({type:"rating",label:"Ratings",icon:"streamline-ultimate:rating-star-ribbon",inputLabel:"Rating Label",inputType:"rating"}),ve({type:"dataGrid",label:"Table",icon:"carbon:data-table",inputLabel:"Table Label",inputType:"dataGrid",value:[],dataColumns:[{id:_e.v4(),field:"",headerName:"",width:150,editable:!0,type:"text",validate:!1}]}),ve({type:"divider",label:"Divider",icon:"pixel:divider",inputLabel:"",inputType:"divider"}),ve({type:"spacer",label:"Spacer",icon:"fluent-mdl2:spacer",inputLabel:"",inputType:"spacer"}),ve({type:"grid",label:"Grid",icon:"cuida:grid-outline",inputLabel:"",inputType:"grid",columns:2}),ve({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"}]}),ve({type:"calculatedField",label:"Calculated Field",icon:"material-symbols:functions",inputLabel:"Calculated Label",inputType:"calculatedField",formula:""}),ve({type:"polling",label:"Polling",icon:"mdi:poll",inputLabel:"Poll Label",inputType:"polling",options:[Tn("Option 1","option_1"),Tn("Option 2","option_2")],fetchExternalResults:!1,externalApiUrl:""})],O1=Object.freeze({textFields:["basicText","textField","longText","numberField","amountField","password","phoneField","email","validateInput","url"],selectionFields:["selectField","multiSelect","cascadeSelect","radio","checkbox","country","rating","matrix","polling"],dateAndTime:["date"],fileAndMedia:["file"],layoutAndDisplay:["divider","spacer","grid","section"],advancedData:["dataGrid","tableInput","calculatedField"]}),D1=[{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"}],q1=["amount"],F1=["text","number"],G1=["text","number","amount","date","password"],K1=["amount"],qi=["grid","section","divider","spacer","basicText"],H1=["radio","select","checkbox","multiselect","matrix","polling"],V1=["validateInput"],z1=["tableInput"],ta=["basicText"],j1=[{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"}];function U1({value:e=[],onChange:n,onGetValue:i}){const[o,a]=C.useState((e==null?void 0:e.length)>0?e:[{value:""}]);C.useEffect(()=>{(e==null?void 0:e.length)>0&&JSON.stringify(e)!==JSON.stringify(o)&&a(e)},[e]);function s(l,u){const d=[...o];d[u]={...d[u],value:l},a(d),n&&n(d)}function t(){const l=[...o,{value:""}];a(l),n&&n(l)}function r(l){const u=o.filter((d,b)=>b!==l);a(u),n&&n(u)}return C.useEffect(()=>{i&&i(JSON.stringify({values:o}))},[i,o]),c.jsxs("div",{className:"]",children:[c.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden",children:[c.jsx("div",{className:"grid text-sm font-bold border-b border-gray-100 bg-gray-50",children:c.jsx("div",{className:"px-2 py-2",children:c.jsx("span",{className:"",children:"Add Denominations"})})}),o==null?void 0:o.map((l,u)=>c.jsx("div",{className:"grid text-sm border-b border-gray-100",children:c.jsxs("div",{className:"flex items-center gap-x-4 px-2 py-1",children:[c.jsx("span",{className:"flex-1",children:c.jsx(Pi,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,defaultValue:l.value,onValueChange:d=>s(d,u),allowNegativeValue:!1})}),c.jsx("button",{onClick:()=>r(u),className:"text-red-500 hover:text-red-700 px-2",type:"button","aria-label":"Remove row",children:"×"})]})},u+"index"))]}),c.jsx("div",{className:"mt-1 flex justify-end",children:c.jsx("button",{type:"button",onClick:t,className:"font-semibold !text-blue-700 text-sm rounded outline-0 focus:outline-0",children:"+ Add"})})]})}const W1=()=>c.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700",children:c.jsxs("ul",{children:[c.jsxs("li",{className:"text-xs",children:["API URL example format: ",c.jsx("code",{children:"https://example.com/validation?value={value}"})]}),c.jsxs("li",{className:"text-xs",children:[c.jsx("span",{className:"block mb-1",children:" Response example format:"}),c.jsx("pre",{className:"bg-white p-2 rounded-md",children:c.jsxs("code",{children:["{ ",c.jsx("br",{}),' "data": { ',c.jsx("br",{}),' "status": true, ',c.jsx("br",{}),' "description": "John Doe" ',c.jsx("br",{})," } ",c.jsx("br",{}),"}"]})})]})]})}),$1=()=>c.jsx("blockquote",{className:"bg-gray-100 p-4 rounded-md text-gray-700 text-sm space-y-3",children:c.jsxs("ul",{className:"list-disc list-inside space-y-1",children:[c.jsxs("li",{children:[c.jsx("strong",{children:"Method:"})," ",c.jsx("code",{children:"GET"})]}),c.jsxs("li",{children:[c.jsx("strong",{children:"Response format:"}),c.jsx("pre",{className:"bg-white p-2 mt-1 rounded-md overflow-auto text-xs",children:c.jsx("code",{children:`{
|
|
14
14
|
"data": [
|
|
15
15
|
{ "label": "Option 1", "value": "1" },
|
|
16
16
|
{ "label": "Option 2", "value": "2" }
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
"data": [
|
|
24
24
|
{ "name": "Document Name", "id": "documentMainId", ...restObject },
|
|
25
25
|
]
|
|
26
|
-
}`})})]})})}),Z1=()=>c.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:c.jsxs("ul",{children:[c.jsxs("li",{className:"text-xs",children:["Method: GET ",c.jsx("br",{}),"URL format:"," ",c.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),c.jsxs("li",{className:"text-xs",children:[c.jsx("span",{className:"block mb-1",children:" Response example format:"}),c.jsx("pre",{className:"p-2 bg-white rounded-md",children:c.jsxs("code",{children:["{ ",c.jsx("br",{}),' "data": { ',c.jsx("br",{}),' "status": true, ',c.jsx("br",{}),' "isSigned": true ',c.jsx("br",{})," } ",c.jsx("br",{}),"}"]})})]})]})});function X1(e){return e.flatMap(n=>{var i;return(i=n.questionData)!=null?i:[]})}const ua=["text","number","boolean"],Mc=["equals","not_equals","contains","not_contains"],Q1=["greater","less"];function R1({register:e,setValue:n,trigger:i,watch:o,id:a}){const{formData:s}=C.useContext(Ce),t=o("visibilityDependentFields")||[],r=C.useMemo(()=>{var u;return(u=X1(s).filter(d=>d.id!==a))==null?void 0:u.map(d=>{const b=t.find(m=>m.id===d.id);return{id:d.id,value:d.id,label:d.inputLabel,sectionId:d.sectionId,fieldType:(b==null?void 0:b.fieldType)||"text",operator:(b==null?void 0:b.operator)||"equals",fieldValue:(b==null?void 0:b.fieldValue)!==void 0?b.fieldValue:""}})},[s,t,a]),l=(u,d,b)=>{const m=t==null?void 0:t.map((f,h)=>h===u?{...f,[d]:b}:f);n("visibilityDependentFields",m)};return c.jsxs("div",{className:"visibility-editor",children:[c.jsx("label",{className:"label",children:"Select Dependent Fields"}),c.jsx(aa,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}}),t.length>0&&c.jsx("div",{className:"py-1 bg-gray-100 rounded dependent-fields",children:t==null?void 0:t.map((u,d)=>{var b,m;return c.jsxs("div",{className:"dependent-field",children:[c.jsx("input",{type:"text",value:u.label,readOnly:!0,disabled:!0,className:"field-label"}),c.jsx("div",{className:"field-listbox min-w-[100px]",children:c.jsx(le.Listbox,{value:u.fieldType,onChange:f=>l(d,"fieldType",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldType}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:ua==null?void 0:ua.map(f=>c.jsx(le.Listbox.Option,{value:f,className:"listbox-option",children:f},f))})})]})})}),c.jsx("div",{className:"field-listbox min-w-[100px]",children:c.jsx(le.Listbox,{value:u.operator,onChange:f=>l(d,"operator",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.operator.replace("_"," ")}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:(b=u.fieldType==="number"?[...Mc,...Q1]:Mc)==null?void 0:b.map(f=>c.jsx(le.Listbox.Option,{value:f,className:"listbox-option",children:f.replace("_"," ")},f))})})]})})}),u.fieldType!=="boolean"?c.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:f=>l(d,"fieldValue",f.target.value),placeholder:"Value",className:"field-value"}):c.jsx("div",{className:"field-listbox",children:c.jsx(le.Listbox,{value:(m=u.fieldValue)!=null?m:"",onChange:f=>l(d,"fieldValue",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsxs(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:[c.jsx(le.Listbox.Option,{value:!0,className:"listbox-option",children:"True"}),c.jsx(le.Listbox.Option,{value:!1,className:"listbox-option",children:"False"})]})})]})})})]},u.id)})})]})}function Tc(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,a;for(;(a=i.exec(e))!==null;){const t=e.slice(o,a.index);t&&n.push({type:"operator",value:t}),n.push({type:"field",id:a[2],display:a[1]}),o=a.index+a[0].length}const s=e.slice(o);return s&&n.push({type:"operator",value:s}),n}function eS(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function nS({value:e,onChange:n,fields:i,placeholder:o}){const[a,s]=C.useState(()=>Tc(e)),[t,r]=C.useState(null),[l,u]=C.useState(!1),[d,b]=C.useState(""),[m,f]=C.useState(null),h=C.useRef(null),g=C.useRef(null),v=C.useRef(new Map);C.useEffect(()=>{const _=Tc(e);s(_)},[]);const p=C.useCallback(_=>{n(eS(_))},[n]),S=(_,P)=>{const k=[...a];k[_]={type:"operator",value:P},s(k),p(k)},y=_=>{const P=a.filter((k,M)=>M!==_);s(P),p(P)},x=_=>{f(_),b(""),u(!0)},w=(_,P)=>{const k=P!==void 0?P:m!=null?m:a.length,M=[...a],L=M.slice(0,k),T=M.slice(k),O=[...L,{type:"field",id:_.id,display:_.display},...T],B=A(O);s(B),p(B),u(!1),f(null)};function A(_){const P=[];if(_.length===0)return[{type:"operator",value:""}];_[0].type==="field"&&P.push({type:"operator",value:""});for(let k=0;k<_.length;k++)P.push(_[k]),_[k].type==="field"&&(k+1>=_.length||_[k+1].type==="field")&&P.push({type:"operator",value:""});return P}const N=i.filter(_=>_.display.toLowerCase().includes(d.toLowerCase())),E=a.every(_=>_.type==="operator"&&_.value.trim()==="");return c.jsxs("div",{className:"relative",ref:g,children:[c.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 _=[...a].reverse().findIndex(k=>k.type==="operator");if(_!==-1){const k=a.length-1-_;(P=v.current.get(k))==null||P.focus()}},children:[E&&c.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),a.map((_,P)=>_.type==="field"?c.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:[_.display,c.jsx("button",{type:"button",onMouseDown:k=>{k.preventDefault(),y(P)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${_.display}`,children:"×"})]},P):c.jsx("input",{ref:k=>{k?v.current.set(P,k):v.current.delete(P)},type:"text",value:_.value,onChange:k=>S(P,k.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(_.value.length*9+8,t===P?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${P}`},P)),c.jsx("button",{type:"button",onMouseDown:_=>{_.preventDefault(),x(a.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:c.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!E&&c.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:[c.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),a.map(_=>_.type==="field"?`[${_.display}]`:_.value).join("")]}),l&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),c.jsxs("div",{ref:h,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:[c.jsx("div",{className:"p-2 border-b border-gray-100",children:c.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:d,onChange:_=>b(_.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:_=>{_.key==="Escape"&&u(!1),_.key==="Enter"&&N.length>0&&w(N[0])}})}),c.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[N.length===0&&c.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),N.map(_=>c.jsxs("div",{onMouseDown:P=>{P.preventDefault(),w(_)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[c.jsx("span",{className:"font-medium text-gray-800",children:_.display}),c.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[_.id.slice(0,8),"..."]})]},_.id))]})]})]}),i.length>0&&c.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(_=>c.jsxs("button",{type:"button",onMouseDown:P=>{P.preventDefault(),w(_,a.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:["+ ",_.display]},_.id))})]})}const iS=ie.object().shape({inputLabel: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().typeError("Expecting a number").nullable(),minLength:ie.number().typeError("Expecting a number").nullable(),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(),isHidden:ie.boolean(),visibilityDependentFields:ie.array().nullable(),isMultiple:ie.boolean(),acceptedFiles:ie.array(),showState:ie.boolean(),formula:ie.string().nullable(),fetchExternalResults:ie.boolean(),externalApiUrl:ie.string().nullable()}),oS=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],aS=({isOpen:e,onClose:n,element:i})=>{var W;const o=oS.filter(z=>!qi.includes(i.inputType)||z.key!=="validation"),{updateElement:a,formData:s}=C.useContext(Ce),[t,r]=C.useState("basic"),[l,u]=C.useState(!1),[d,b]=C.useState("manual"),m=((W=s==null?void 0:s.flatMap(z=>z.questionData||[]))==null?void 0:W.length)||0,f=C.useMemo(()=>(s==null?void 0:s.flatMap(z=>z.questionData||[]).filter(z=>{var V;return z.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((V=z.type)==null?void 0:V.toLowerCase())}).map(z=>({id:z.id,display:z.inputLabel||z.label||"Unnamed"})))||[],[m,i==null?void 0:i.id]),h=Se("config"),{register:g,handleSubmit:v,control:p,setValue:S,watch:y,trigger:x,formState:{errors:w,isSubmitting:A,isValid:N},reset:E}=Ze.useForm({resolver:sa(iS),defaultValues:{...i,options:i.options||[]}}),_=y(),{fields:P,append:k,remove:M}=Ze.useFieldArray({control:p,name:"options"}),{fields:L,append:T,remove:O}=Ze.useFieldArray({control:p,name:"options1"}),{fields:B,append:K,remove:G}=Ze.useFieldArray({control:p,name:"dataColumns"});C.useEffect(()=>{e||E()},[e,E]);const I=z=>{a(z,i.sectionId),n()},Z={headers:{Authorization:`Bearer ${Se("token")}`}},J=C.useCallback(async()=>{var z,V,Q;if(!_.apiUrl||!/^https?:\/\//.test(_.apiUrl)){Pe.toast.info("Please provide a valid API URL");return}try{u(!0);const{status:j,data:X}=await mn.get(_.apiUrl,Z);if(j!==200||!X){Pe.toast.error("Unexpected response from server.");return}const $=X.data||X.record||X.result;if(!Array.isArray($)){Pe.toast.error("Expected an array in response (data, record, or result).");return}((z=i.type)==null?void 0:z.toLowerCase())==="datagrid"?S("dataColumns",la($)):S("options",ra($))}catch(j){const X=((Q=(V=j==null?void 0:j.response)==null?void 0:V.data)==null?void 0:Q.message)||(j==null?void 0:j.message)||"Unable to load options";Pe.toast.error(X)}finally{u(!1)}},[i.type,S,_.apiUrl]),R=["manual","api","sheet"];function D(){d==="api"&&J()}const H=()=>{var z,V;return c.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[c.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:R==null?void 0:R.map(Q=>c.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[c.jsx("input",{type:"radio",name:"optionType",onChange:j=>b(j.target.value),value:Q})," ",c.jsxs("span",{children:[Q," options"]})]},Q))}),d==="api"&&c.jsxs("div",{className:"mb-4",children:[c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[c.jsx(te,{watch:y,label:"Load Options from Api",name:"apiUrl",errors:w,register:g,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),l&&c.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"})]}),c.jsx("button",{onClick:D,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),c.jsx($1,{})]}),d==="sheet"&&c.jsx("div",{className:"mb-4",children:c.jsx(kc,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:S,name:"options"})}),c.jsxs("div",{children:[c.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((z=i==null?void 0:i.type)==null?void 0:z.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),P==null?void 0:P.map((Q,j)=>c.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Label":"",name:`options.${j}.label`,register:g,errors:w,element:i,placeholder:"Label",onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options.${j}.value`,ne,{shouldValidate:!0,shouldDirty:!0})}})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Value":"",name:`options.${j}.value`,register:g,errors:w,element:i,placeholder:"Value"})}),c.jsx("button",{disabled:P.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>M(j),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]},Q.id))," ",c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>k({label:"",value:"",id:_e.v4()}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&c.jsxs(c.Fragment,{children:[c.jsx("hr",{className:"my-5"}),c.jsxs("div",{children:[" ",c.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((V=i==null?void 0:i.type)==null?void 0:V.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),L==null?void 0:L.map((Q,j)=>c.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Label":"",name:`options1.${j}.label`,register:g,errors:w,element:i,placeholder:"Label",onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options1.${j}.value`,ne,{shouldValidate:!0,shouldDirty:!0})}})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Value":"",name:`options1.${j}.value`,register:g,errors:w,element:i,placeholder:"Value"})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Key":"",name:`options1.${j}.key`,register:g,errors:w,element:i,placeholder:"Key"})}),c.jsx("button",{disabled:L.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(j),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]},Q.id)),c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",key:"",id:_e.v4()}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},U=()=>c.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[c.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:R==null?void 0:R.map(z=>c.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[c.jsx("input",{type:"radio",name:"optionType",onChange:V=>b(V.target.value),value:z,checked:z===d})," ",c.jsxs("span",{children:[z," options"]})]},z))}),d==="api"&&c.jsxs("div",{className:"mb-4",children:[c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[c.jsx(te,{watch:y,label:"Load Columns from Api",name:"apiUrl",errors:w,register:g,className:"!w-full",placeholder:"https://example.com/columns"}),l&&c.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"})]})," ",c.jsx("button",{onClick:D,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),c.jsx(Y1,{})]}),d==="sheet"&&c.jsx("div",{className:"mb-4",children:c.jsx(kc,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:S,name:"dataColumns"})}),c.jsx("div",{className:"grid gap-y-3",children:B==null?void 0:B.map((z,V)=>{var Q,j;return c.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:[c.jsxs("div",{className:"flex items-center gap-x-4",children:[c.jsx("div",{className:"min-w-[140px]",children:c.jsx(Mn,{label:V===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:g,name:`dataColumns.${V}.type`,setValue:S,trigger:x,value:_.dataColumns[V].type})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:V===0?"Display header":"",name:`dataColumns.${V}.headerName`,register:g,onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`dataColumns.${V}.field`,ne,{shouldValidate:!0,shouldDirty:!0})},errors:w,element:i,placeholder:"header"})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:V===0?"Field key":"",name:`dataColumns.${V}.field`,register:g,errors:w,element:i,placeholder:"fieldKey",disabled:!0})}),c.jsx("button",{disabled:B.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>G(V),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]}),((j=(Q=_.dataColumns)==null?void 0:Q[V])==null?void 0:j.type)==="select"&&c.jsx("div",{className:"flex items-center gap-x-4",children:c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Options API URL",name:`dataColumns.${V}.optionsUrl`,register:g,errors:w,element:i,placeholder:"https://api.example.com/options"})})})]},z.id)})}),c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>K({headerName:"",field:"",editable:!0,id:_e.v4(),type:"text",validate:!1}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),q=C.useCallback(async()=>{const z=Se("token"),{status:V,data:Q}=await mn.get(_.url,{headers:{Authorization:`Bearer ${z}`}});V===200&&S("options",(Q==null?void 0:Q.data)||Q)},[S,_.url]);C.useEffect(()=>{i.type==="document"&&_.url&&q()},[_.url,i.type,q]);const F=c.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:z=>z.stopPropagation(),onPointerDown:z=>z.stopPropagation(),onDragStart:z=>{z.preventDefault(),z.stopPropagation()},children:c.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:[c.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:c.jsx(se,{icon:"tabler:x",iconClass:"text-xl"})}),c.jsx("div",{className:"w-full pt-4",children:c.jsx(P1,{tabs:o,setActiveTab:r,activeTab:t,className:"justify-start !text-left",btnClass:" !text-left"})}),c.jsxs("form",{onSubmit:v(I),className:"w-full flex-1 flex flex-col",children:[c.jsxs("div",{className:"flex-1",children:[" ",c.jsxs("div",{className:" max-h-[70vh] overflow-y-auto flex-1",children:[t==="basic"&&c.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ta.includes(i.inputType)&&c.jsx(c.Fragment,{children:c.jsx(te,{watch:y,label:"Value",name:"value",register:g,errors:w,element:i})}),!ta.includes(i.inputType)&&!qi.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsx(te,{watch:y,label:"Label",name:"inputLabel",register:g,errors:w,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&c.jsx(te,{watch:y,label:"Child Label",name:"childLabel",register:g,errors:w,element:i})]}),G1.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Placeholder",name:"placeholder",register:g,errors:w,element:i}),q1.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Prefix",name:"prefix",register:g,errors:w,element:i}),V1.includes(i.inputType)&&c.jsxs("div",{className:"grid gap-y-4",children:[c.jsx(W1,{}),c.jsx(te,{watch:y,label:"Api Url",name:"url",register:g,errors:w,element:i}),c.jsx(Mn,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:g,name:"method",setValue:S,trigger:x,value:y("method")}),c.jsx(Mn,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:g,name:"responseType",setValue:S,trigger:x,value:y("responseType")})]}),z1.includes(i.inputType)&&c.jsx(U1,{onChange:z=>{S("denominators",z)},value:y("denominators")}),!ta.includes(i.inputType)&&!qi.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Short Description",name:"description",register:g,errors:w,element:i}),i.type.toLowerCase()==="date"&&c.jsxs(c.Fragment,{children:[c.jsx(Mn,{label:"Date Format",options:D1,register:g,name:"dateFormat",setValue:S,trigger:x,value:y("dateFormat")}),c.jsx(te,{watch:y,label:"Allow Range",name:"canHaveDateRange",register:g,errors:w,element:i,type:"checkbox",value:_.canHaveDateRange}),(_==null?void 0:_.canHaveDateRange)&&c.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[c.jsx(Wo,{name:"minDate",value:_==null?void 0:_.minDate,onGetValue:S,placeholder:"Select min date"}),c.jsx(Wo,{name:"maxDate",value:_==null?void 0:_.minDate,onGetValue:S,placeholder:"Select max date",minDate:_==null?void 0:_.minDate})]}),c.jsx(te,{watch:y,label:"Allow Year Picker",name:"allowYearPicker",register:g,errors:w,element:i,type:"checkbox",value:_.allowYearPicker})]}),i.type.toLowerCase()==="country"&&c.jsx(te,{watch:y,label:"Allow States",name:"showState",register:g,errors:w,element:i,type:"checkbox",value:_.showState}),i.type.toLowerCase()==="selectfield"&&c.jsx(Mn,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:g,name:"selectType",setValue:S,trigger:x,value:y("selectType")}),i.type.toLowerCase()==="grid"&&c.jsx(te,{watch:y,label:"Number of columns (max: 4)",name:"columns",register:g,errors:w,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&c.jsxs("div",{className:"grid gap-y-6",children:[c.jsxs("div",{className:"grid gap-y-1",children:[c.jsx(te,{watch:y,label:"Document Options Url",name:"url",register:g,errors:w,element:i})," ",c.jsx(J1,{})]}),c.jsxs("div",{className:"grid gap-y-1",children:[c.jsx(te,{watch:y,label:"Document Validation Url",name:"validationUrl",register:g,errors:w,element:i}),c.jsx(Z1,{})]}),c.jsx("div",{className:"grid gap-y-1",children:c.jsx(te,{watch:y,label:"Signature Page Url",name:"signatureLink",register:g,errors:w,element:i})})]}),i.type.toLowerCase()==="datagrid"&&U(),i.type.toLowerCase()==="file"&&c.jsxs(c.Fragment,{children:[c.jsx(te,{watch:y,label:"Allow Multiple Uploads",name:"isMultiple",register:g,errors:w,element:i,type:"checkbox",value:_.isMultiple}),c.jsx(aa,{element:{options:j1,id:"acceptedFiles",value:_==null?void 0:_.acceptedFiles},validationData:{register:g,setValue:S,trigger:x,watch:y},placeholder:"Choose file types"})]}),H1.includes(i.inputType)&&H(),c.jsxs("div",{children:[c.jsx("div",{className:"w-[150px] mb-4",children:c.jsx(te,{watch:y,label:"Toggle Visibility",name:"isHidden",register:g,errors:w,element:i,type:"checkbox",value:_.isHidden})})," ",_.isHidden&&c.jsx(R1,{register:g,setValue:S,trigger:x,watch:y,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&c.jsxs("div",{className:"grid gap-y-2 mb-4",children:[c.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),c.jsx(nS,{value:y("formula")||"",onChange:z=>S("formula",z,{shouldValidate:!0,shouldDirty:!0}),fields:f,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&c.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[c.jsx(te,{watch:y,label:"Fetch results from external API",name:"fetchExternalResults",register:g,errors:w,element:i,type:"checkbox",value:_.fetchExternalResults}),_.fetchExternalResults&&c.jsx(te,{watch:y,label:"External API URL (returns options results)",name:"externalApiUrl",register:g,errors:w,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!qi.includes(i.type.toLowerCase())&&t==="validation"&&c.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Required",name:"isRequired",register:g,errors:w,element:i,type:"checkbox",value:_.isRequired})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"requiredMessage",register:g,errors:w,element:i})})]}),F1.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Min Length",name:"minLength",register:g,errors:w,element:i,type:"number"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"minLengthMessage",register:g,errors:w,element:i})})]}),c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Max Length",name:"maxLength",register:g,errors:w,element:i,type:"number"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"maxLengthMessage",register:g,errors:w,element:i})})]})]}),K1.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Min Amount",name:"minAmount",register:g,errors:w,element:i,type:"amount"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"minAmountMessage",register:g,errors:w,element:i})})]}),c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Max Amount",name:"maxAmount",register:g,errors:w,element:i,type:"amount"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"maxAmountMessage",register:g,errors:w,element:i})})]})]})]})]})]}),c.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 mt-10 border-t",children:[c.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"}),c.jsx("button",{type:"submit",disabled:!N||A,style:{background:(h==null?void 0:h.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!N||A?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!N||A?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50 editor_option__save`,children:A?"Saving...":"Save"})]})]})]})});return document.body?mx.createPortal(F,document.body):F},da=C.memo(({state:e,element:n,children:i})=>{var d,b;const[o,a]=C.useState(!1),{removeElement:s,duplicateElement:t,updateElement:r}=C.useContext(Ce),l=C.useMemo(()=>{var m;return(m=n==null?void 0:n.acceptedFiles)==null?void 0:m.map(f=>f.label).join(", ")},[n]),u=C.useCallback(()=>{s(n.id,n.sectionId)},[n.id,n.sectionId,s]);return c.jsxs("div",{className:"w-full min-w-0",children:[o&&c.jsx(aS,{isOpen:o,onClose:()=>a(!1),element:n}),c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsxs("span",{children:[" ",n.inputLabel&&c.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",l&&c.jsxs("span",{className:"text-gray-400 text-xs",children:["(",l==null?void 0:l.toLowerCase(),")"]})]})]}),e==="edit"&&c.jsxs("span",{className:"flex items-center gap-x-3",children:[((d=n.type)==null?void 0:d.toLowerCase())!=="spacer"&&((b=n.type)==null?void 0:b.toLowerCase())!=="divider"&&c.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[c.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:m=>r({...n,isRequired:m.target.checked},n.sectionId),className:"cursor-pointer"}),c.jsx("span",{className:"mt-0.5",children:"Required"})]}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>t(n==null?void 0:n.id,n.sectionId),title:"Duplicate",children:c.jsx(se,{icon:"tabler:copy",iconClass:"text-base"})}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>a(!0),title:"Edit",children:c.jsx(se,{icon:"circum:edit",iconClass:"text-base"})}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:u,title:"Remove",children:c.jsx(se,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i]})});da.displayName="ElementContainer";function sS({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:a,watch:s,isReadOnly:t}=n||{};let r;return s&&(r=s()[e.id]),c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:a,value:r,prefix:e.prefix,disabled:t,watch:s})}function tS(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 rS=({imageUrl:e})=>{const[n,i]=C.useState(!1),o=()=>{i(!0)},a=()=>{i(!1)};return c.jsxs("div",{children:[c.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&&c.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:a,children:c.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:s=>s.stopPropagation(),children:[c.jsx("span",{className:"close",onClick:a,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),c.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})};function lS({element:e,validationData:n}){var A;const{register:i=()=>({}),setValue:o,watch:a}=n||{},[s,t]=C.useState(),[r,l]=C.useState(!1),[u,d]=C.useState(!1),[b,m]=C.useState(""),f=a&&a(e==null?void 0:e.id);C.useEffect(()=>{t(f)},[f]);const[h,g]=C.useState("");C.useEffect(()=>{i(e.id)},[e.id,i]);const{url:v,method:p,responseType:S}=e||{},x={headers:{Authorization:`Bearer ${Se("token")}`}},w=C.useCallback(async N=>{var E,_,P,k,M,L,T,O,B,K,G;if(!(!v||!p)){l(!0);try{let I;if(p.toLowerCase()==="get"){const Y=`${v}?value=${N}`;I=await mn.get(Y,x)}else if(p.toLowerCase()==="post")I=await mn.post(v,{value:N},x);else throw new Error("Unsupported HTTP method");I.status===200&&((((_=(E=I==null?void 0:I.data)==null?void 0:E.data)==null?void 0:_.status)||((P=I==null?void 0:I.data)==null?void 0:P.status))===!0?(d(!0),S==="string"?m(((M=(k=I==null?void 0:I.data)==null?void 0:k.data)==null?void 0:M.description)||((L=I==null?void 0:I.data)==null?void 0:L.description)||"Validation successful"):g(((O=(T=I==null?void 0:I.data)==null?void 0:T.data)==null?void 0:O.description)||((B=I==null?void 0:I.data)==null?void 0:B.description)||{})):(console.error("Invalid input:",N),m("Unable to validate input"),d(!1)))}catch(I){console.error("Error validating input:",I),m(((G=(K=I==null?void 0:I.response)==null?void 0:K.data)==null?void 0:G.message)||"Unable to validate input"),d(!1)}finally{l(!1)}}},[p,S,v]);return C.useEffect(()=>{if(s){const N=setTimeout(()=>{w(s)},700);return()=>clearTimeout(N)}},[w,s]),c.jsxs("div",{children:[c.jsxs("div",{className:"relative flex items-center",children:[c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ue("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),onChange:N=>{t(N.target.value),o(e==null?void 0:e.id,N.target.value)},disabled:n==null?void 0:n.isReadOnly}),c.jsxs("span",{className:"absolute right-0",children:[r&&c.jsxs("span",{children:[" ",c.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:[c.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),c.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&&c.jsx("span",{className:"block pr-3 text-lg text-green-600",children:c.jsx(se,{icon:"gg:check-o"})})]})]}),b&&S==="string"&&c.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:b}),S==="object"&&c.jsx("div",{className:"grid grid-cols-2 gap-6 mt-2 text-sm text-gray-600",children:(A=Object.entries(h))==null?void 0:A.map(([N,E])=>c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("span",{className:"font-semibold",children:[N,":"]}),tS(E)?c.jsx(rS,{imageUrl:E}):c.jsx("span",{children:String(E)})]},N))})]})}function uS({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[a,s]=C.useState([...i]);function t(u,d){s(b=>{const m=[...b];return m[d]={...m[d],value:u},m})}function r(u,d){return parseFloat(u)*parseFloat(d)||0}const l=C.useMemo(()=>a.reduce((u,d)=>{const b=r(d.key,d.value);return u+b},0),[a]);return C.useEffect(()=>{e&&e(a)},[a]),C.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((d,b)=>({key:d.value,value:Array.isArray(i)&&i[b]?i[b].value:""}));s(u)}},[i,o]),c.jsx("div",{className:"mt-2",children:c.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[c.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[c.jsx("div",{className:"border-r px-4 py-2",children:c.jsx("span",{className:"",children:"Denomination"})}),c.jsx("div",{className:"border-r px-4 py-2",children:c.jsx("span",{children:"Quantity"})}),c.jsx("div",{className:"px-4 py-2",children:c.jsx("span",{children:"Sub total"})})]}),a==null?void 0:a.map((u,d)=>{var b,m;return c.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[c.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:c.jsx("span",{className:"",children:(b=parseFloat(u.key))==null?void 0:b.toLocaleString()})}),c.jsx("div",{className:"border-r px-4 py-1",children:c.jsx("span",{children:c.jsx(Ti,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>t(f,d),disabled:n,allowNegativeValue:!1})})}),c.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:c.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},d+"index")}),c.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[c.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),c.jsx("div",{className:"px-4 py-3",children:l==null?void 0:l.toLocaleString()})]})]})})}function dS({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:a}=n||{},s=a&&a(e==null?void 0:e.id)||[];return C.useEffect(()=>{i(e.id)},[e.id,i]),c.jsx("div",{children:c.jsx(uS,{onGetTotal:t=>{o&&o(e.id,t)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:s,readOnly:e==null?void 0:e.isReadOnly})})}function cS({element:e}){return c.jsx("div",{className:ue("py-6",e==null?void 0:e.customClass)})}function bS({element:e}){return c.jsx("div",{children:c.jsx("hr",{className:ue("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function mS({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("div",{children:c.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function fS({element:e,state:n}){return c.jsx(c.Fragment,{children:c.jsx("div",{className:e==null?void 0:e.customClass,children:(e==null?void 0:e.value)||n==="edit"&&c.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function vS({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:a,deleteRow:s}){return c.jsxs("tr",{children:[n.map(t=>{var f;const r=e[t.field],l=t.editable&&!i,{isValidating:u,result:d}=a(e.id,t.field);let b="border-gray-300";t.validate&&((d==null?void 0:d.isValid)===!1?b="border-red-500 bg-red-50":(d==null?void 0:d.isValid)===!0&&(b="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${b}`;return c.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:l?c.jsxs("div",{className:"relative",children:[t.type==="number"?c.jsx(Ti,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:h=>o(h,e.id,t.field)}):t.type==="checkbox"?c.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(h=>{const g=h==="yes",v=`radio-${e.id}-${String(t.field)}-${h}`;return c.jsxs("label",{htmlFor:v,className:"flex items-center gap-1 cursor-pointer",children:[c.jsx("input",{id:v,type:"radio",name:`boolean-${e.id}-${String(t.field)}`,checked:r===g,onChange:()=>o(g,e.id,t.field)}),c.jsx("span",{className:"text-sm",children:g?"Yes":"No"})]},h)})}):t.type==="select"?c.jsx(Oi,{name:String(t.field),options:t.options||[],apiUrl:t.optionsUrl,value:r,onGetValue:(h,g)=>o((g==null?void 0:g.value)||"",e.id,t.field),customClass:"!border-none"}):c.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:h=>o(h.target.value,e.id,t.field),className:m}),u&&c.jsx("div",{className:"absolute right-1 top-1",children:c.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):t.validate&&d?c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("span",{children:[String(r!=null?r:"")," ",d.data&&`[${d.data}]`]}),d.isValid?c.jsx("span",{className:"text-xs text-green-600",children:"✓"}):c.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=d.error)!=null?f:"",children:"✗"})]}):t.type==="checkbox"?c.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):c.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(t.id))}),!i&&c.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:c.jsx("button",{type:"button",onClick:()=>s(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:c.jsx(se,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const hS=C.memo(vS);function pS({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[a,s]=C.useState(e),t=Se("config"),r=C.useRef(a);r.current=a,C.useEffect(()=>{s(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const l=C.useCallback((m,f,h)=>{const g=r.current.map(v=>v.id===f?{...v,[h]:m}:v);s(g),n==null||n(g)},[n]),u=C.useCallback(()=>{const m=_e.v4(),f=o.reduce((g,v)=>(g[v.field]=v.field==="id"?m:"",g),{}),h=[...r.current,{id:m,...f}];s(h),n==null||n(h)},[o,n]),d=C.useCallback(m=>{const f=r.current.filter(h=>h.id!==m);s(f),n==null||n(f)},[n]),b=C.useCallback(()=>({isValidating:!1,result:void 0}),[]);return c.jsxs("div",{className:"mt-3 rounded",children:[c.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:c.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,f)=>{var h;return c.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(h=m.headerName)!=null?h:String(m.field),m.validate&&c.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${f}`)}),!i&&c.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),c.jsx("tbody",{children:a.length>0?a.map(m=>c.jsx(hS,{row:m,columns:o,isReadOnly:i,handleCellChange:l,getValidationStatus:b,deleteRow:d},m.id)):c.jsx("tr",{children:c.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&c.jsx("div",{className:"flex justify-center mt-2",children:c.jsx("button",{onClick:u,type:"button",style:{color:(t==null?void 0:t.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function gS({element:e,validationData:n}){var f;const{register:i=()=>({}),setValue:o,watch:a,isReadOnly:s}=n||{},t=a&&a(e==null?void 0:e.id)||{},r=Array.isArray(t)?t:(f=t==null?void 0:t.rows)!=null?f:[];C.useEffect(()=>{i(e.id)},[e.id,i]);const l=C.useRef(""),u=C.useRef(e==null?void 0:e.id),d=C.useRef(e==null?void 0:e.dataColumns),b=C.useRef(o);u.current=e==null?void 0:e.id,d.current=e==null?void 0:e.dataColumns,b.current=o;const m=C.useCallback(h=>{var v;const g=JSON.stringify(h);g!==l.current&&(l.current=g,(v=b.current)==null||v.call(b,u.current,{rows:h,columns:d.current}))},[]);return c.jsx(pS,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:s})}const Pc=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:a,setValue:s,name:t,label:r,value:l,trigger:u,isMultiple:d=!1,isFloatingLabel:b=!1,subText:m,labelClass:f="",loading:h,disabled:g})=>{const[v,p]=C.useState(d?[]:null),S=ue("custom-select__control",e),y=C.useMemo(()=>n,[n]);return C.useEffect(()=>{const x=n==null?void 0:n.find(w=>{var A;return typeof w.value=="string"&&typeof l=="string"?w.value.toLowerCase()===l.toLowerCase():typeof w.value=="object"&&typeof l=="object"?((A=w.value)==null?void 0:A.id)===(l==null?void 0:l.id):w.value===l});p(x||null)},[l,n]),C.useEffect(()=>{v&&s&&a&&(s(t,v==null?void 0:v.value),a(t),u==null||u(t))},[t,v]),c.jsxs("div",{className:"custom-select",children:[r&&!b&&c.jsx("label",{className:"custom-select__label",children:r}),b&&r&&c.jsx("label",{className:ue("custom-select__floating-label",f),children:r}),c.jsx(le.Listbox,{value:v,onChange:p,multiple:d,disabled:g,children:c.jsxs("div",{className:"custom-select__wrapper",children:[c.jsxs(le.Listbox.Button,{className:S,disabled:g,children:[h?c.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):c.jsx("span",{className:"custom-select__value",children:(v==null?void 0:v.label)||c.jsx("span",{className:"custom-select__placeholder",children:i})}),c.jsx("span",{className:"custom-select__icon",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{as:C.Fragment,leave:"custom-select__transition",children:c.jsx(le.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:y==null?void 0:y.map((x,w)=>c.jsx(le.Listbox.Option,{value:x,className:({active:A})=>ue("custom-select__option",A&&"custom-select__option--active"),children:({selected:A})=>c.jsx("span",{className:ue("custom-select__option-label",A&&"custom-select__option--selected"),children:x.label})},w))})})]})}),m&&!o&&c.jsx("p",{className:"custom-select__subtext",children:m}),o&&c.jsx("span",{className:"custom-select__error",children:o.message})]})},yS=({element:e,validationData:n})=>{var g;const{register:i=()=>({}),trigger:o,setValue:a,watch:s,isReadOnly:t}=n||{},r=(g=e==null?void 0:e.id)!=null?g:"cascadeValue",[l,u]=C.useState(""),[d,b]=C.useState(""),m=(v,p)=>{const S=v&&p?`${v}_${p}`:"";a==null||a(r,S),o==null||o(r)},f=(v,p)=>{v==="first"?(u(p),b(""),m(p,"")):(b(p),m(l,p))};C.useEffect(()=>{if(s){const v=s(r);if(v!=null&&v.includes("_")){const[p,S]=v.split("_");u(p),b(S)}}},[s,r]);const h=C.useMemo(()=>{var v;return(v=e.options1)==null?void 0:v.filter(p=>p.key===l)},[e.options1,l]);return!e.options||!e.options1?null:c.jsxs("div",{children:[c.jsx("input",{type:"hidden",...i(r)}),c.jsx("div",{className:"relative",children:c.jsx(Pc,{setValue:(v,p)=>f("first",p),options:e.options,name:`${r}`,register:i,value:l})}),l&&c.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&c.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),c.jsx(Pc,{setValue:(v,p)=>f("second",p),options:h,name:`${r}`,register:i,value:d})]})]})},xS=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:a=24,className:s="",element:t,validationData:r})=>{var p;const{register:l=()=>({}),trigger:u,setValue:d,watch:b,isReadOnly:m}=r||{},f=(p=b==null?void 0:b(t.id))!=null?p:0,[h,g]=C.useState(null);C.useEffect(()=>{f==null&&(d==null||d(t.id,e))},[]);const v=S=>{if(!i&&!m){const y=S+1;d==null||d(t.id,y),u==null||u(t.id),o==null||o(y)}};return c.jsxs("div",{className:`flex gap-1 ${s}`,children:[c.jsx("input",{type:"hidden",...l(t.id)}),Array.from({length:n},(S,y)=>{const x=h!==null?y<=h:y<f;return c.jsx(Nc,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:a,height:a,onMouseEnter:()=>!(i||m)&&g(y),onMouseLeave:()=>!(i||m)&&g(null),onClick:()=>v(y)},y)})]})};function SS({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],a=(e==null?void 0:e.options1)||[];return c.jsx("div",{className:ue("w-full overflow-x-auto",e.customClass),children:c.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),a.map(s=>c.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:s.label},s.id||s.value))]})}),c.jsx("tbody",{children:o.map(s=>c.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[c.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:s.label}),a.map(t=>c.jsx("td",{className:"p-3 text-center align-middle",children:c.jsx("input",{type:"radio",value:t.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-50",...i(`${e.id}.${s.value}`)})},t.id||t.value))]},s.id||s.value))})]})})}function Ic({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:a,isReadOnly:s,watch:t}=n||{},r=(t==null?void 0:t(e.id))||"",{country:l,state:u}=C.useMemo(()=>{var h;if(typeof r=="string"&&r.includes(",")){const[g,v]=(h=r.split(","))==null?void 0:h.map(p=>p.trim());return{country:v,state:g}}return{country:r,state:""}},[r]),d=C.useRef(r),b=C.useMemo(()=>{var h,g;return l?((g=(h=Di.find(v=>v.name===l))==null?void 0:h.states)==null?void 0:g.map(v=>({label:v.name,value:v.name})))||[]:[]},[l]),m=(h,g)=>{const p=(g==null?void 0:g.value)||"";o&&p!==d.current&&(o(e.id,p),a==null||a(e.id),d.current=p)},f=(h,g)=>{const v=(g==null?void 0:g.value)||"",p=v?`${v}, ${l}`:l;o&&p!==d.current&&(o(e.id,p),a==null||a(e.id),d.current=p)};return C.useEffect(()=>{d.current=r},[r]),c.jsxs("div",{className:"grid gap-y-6",children:[c.jsx("input",{type:"hidden",...i(e.id)}),c.jsx(Oi,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:s,defaultValue:l},`country-${l}`),b.length>0&&e.showState&&c.jsxs("div",{children:[c.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),c.jsx(Oi,{options:b,onGetValue:f,name:`${e.id}-state`,readOnly:s,defaultValue:u},`state-${u}`)]})]})}function wS({element:e,validationData:n}){const{register:i=()=>({}),isReadOnly:o}=n||{},{validationUrl:a,documentObj:s,signatureLink:t}=e,r=C.useMemo(()=>Se("config"),[]),[l,u]=C.useState(!1),[d,b]=C.useState(!1),m=C.useCallback(async()=>{var f,h;if(!(!a||!s))try{b(!0);const v={headers:{Authorization:`Bearer ${Se("token")}`}},{data:p}=await mn.get(`${a}/${s}`,v),S=!!((h=(f=p==null?void 0:p.data)==null?void 0:f.isSigned)!=null?h:p!=null&&p.isSigned);return u(S),S}catch(g){console.error("Failed to check sign status",g)}finally{b(!1)}},[a,s]);return C.useEffect(()=>{let f=null;return!l&&s&&a&&(async()=>{await m()||(f=setInterval(async()=>{await m()&&f&&clearInterval(f)},2e3))})(),()=>{f&&clearInterval(f)}},[m,l,s,a]),c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:ue("field-control",e.customClass),...i(e.id),disabled:o}),c.jsx("a",{href:l?"#":t,children:c.jsxs("button",{type:"button",onClick:m,disabled:d||l,style:{background:(r==null?void 0:r.buttonColor)||"#333"},className:ue("flex items-center gap-x-1 rounded-lg border border-gray-200 bg-gray-200 px-3 py-[10px] text-sm text-white",{"!opacity-60":d}),children:[c.jsx(se,{icon:d?"solar:refresh-outline":l?"solar:check-circle-bold":"solar:pen-2-line-duotone",iconClass:d?"animate-spin":""}),d?"Checking...":l?"Signed":"Sign"]})})]})}const ca=[{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 AS({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:a,name:s,value:t,error:r,disabled:l,readOnly:u,horizontal:d,description:b,validate:m,onChange:f,onError:h}){const[g,v]=C.useState(""),[p,S]=C.useState(null),[y,x]=C.useState(""),w=C.useMemo(()=>{var M;return(M=ca==null?void 0:ca.slice().sort((L,T)=>L.label.localeCompare(T.label)))==null?void 0:M.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=C.useMemo(()=>g?w.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(g.toLowerCase())):w,[g,w]),N=(p==null?void 0:p.min)||10,E=(p==null?void 0:p.max)||10,_=()=>y?`${(p==null?void 0:p.phone)||"+234"}-${y}`:"",P=M=>{if(!M)return{code:"+234",number:""};const L=M.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};C.useEffect(()=>{if(t){const M=P(t);S(w.find(L=>L.phone===M.code)||w[0]),x(M.number)}},[t,w]);const k=C.useMemo(()=>{if(r)return r;const M=y.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":M>0&&M<N?`Minimum length is ${N}`:M>E?`Maximum length is ${E}`:""},[r,y,N,E,o]);return C.useEffect(()=>{f==null||f(_()),h==null||h(k||null)},[y,p,k]),c.jsxs("div",{className:`relative formGroup ${k&&!u?"has-error":""} ${d?"flex":""} ${!k&&y.length>0&&!u?"is-valid":""}`,children:[e&&c.jsxs("label",{htmlFor:s,className:`${i} ${d?"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&&c.jsx("span",{className:"text-red-500",children:"*"}),a&&c.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),c.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[c.jsx(se,{icon:"lucide:phone-call"}),c.jsx(le.Combobox,{value:p,onChange:S,children:c.jsxs("div",{className:"relative",children:[c.jsx(le.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=>v(M.target.value)}),c.jsx(le.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:c.jsx(se,{icon:"lucide:chevron-down"})}),c.jsx(le.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((M,L)=>c.jsxs(le.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${L}`))})]})}),c.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[c.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:l,readOnly:u,onChange:M=>{const L=M.target.value.replace(/\D/g,"");x(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:E,minLength:N}),c.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!k&&y.length>0&&!u&&c.jsx("span",{className:"text-green-500",children:c.jsx(se,{icon:"bi:check-lg"})})})]})]}),b&&c.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:b})]})}function NS({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:a,isReadOnly:s,setError:t,clearErrors:r}=n||{};let l;return C.useEffect(()=>{i(e.id)},[e.id,i]),a&&(l=a()[e.id]),c.jsx(AS,{placeholder:e.placeholder,label:"",name:e.id,value:l,readOnly:s,disabled:s,onError:u=>{u?t==null||t(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function CS({element:e,validationData:n}){var u;const{register:i=()=>({}),watch:o}=n||{};let a="";o&&(a=(u=o()[e.id])!=null?u:"");const s=a.trim(),t=/^https?:\/\//i.test(s),r=s?t?s:`https://${s}`:"",l=!t;return c.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&c.jsxs("div",{className:"relative",children:[l&&c.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://"}),c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:ue("field-control",l&&"!pl-16",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly})]}),s?c.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:c.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:r,children:s})}):(n==null?void 0:n.isReadOnly)&&c.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function _S({element:e,validationData:n}){var l;const{watch:i,setValue:o}=n||{},a=(e==null?void 0:e.formula)||"",s=C.useMemo(()=>{const d=(a.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(a.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const h=/@\[.*?\]\((.*?)\)/.exec(f);return h?h[1]:""}).filter(Boolean);return Array.from(new Set([...d,...m]))},[a]),t=i?i(s):[],r=C.useMemo(()=>{if(!a)return"";let u=a,d=!1;if(s.forEach((b,m)=>{const f=t[m],h=Number(f);(isNaN(h)||f===void 0||f===null||f==="")&&(d=!0),u=u.replace(new RegExp(`\\{\\{${b}\\}\\}`,"g"),String(h||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${b}\\)`,"g"),String(h||0))}),d)return"";try{const b=u.replace(/[^0-9+\-*/().\s]/g,"");if(!b)return"";const m=new Function(`return ${b}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(b){return"Error"}},[a,s,t]);return C.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),c.jsx("div",{children:c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:ue("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((l=n==null?void 0:n.errors)!=null&&l[e==null?void 0:e.id])})})}function ES({element:e,validationData:n,state:i}){var f;const{register:o,watch:a,setValue:s}=n||{},[t,r]=C.useState({}),[l,u]=C.useState(0),d=a?a(e.id):null,b=!!(d||i&&i!=="edit");C.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const h=async()=>{try{const v=await fetch(e.externalApiUrl);if(!v.ok)return;const p=await v.json();let S={};Array.isArray(p)?p.forEach(x=>{const w=x.value||x.id||x.option,A=x.count||x.votes||x.value||0;w&&(S[w]=Number(A))}):typeof p=="object"&&(S=p),r(S);const y=Object.values(S).reduce((x,w)=>x+Number(w),0);u(y)}catch(v){console.error("Failed to fetch polling results",v)}};h();const g=setInterval(h,1e4);return()=>clearInterval(g)},[e.fetchExternalResults,e.externalApiUrl]),C.useEffect(()=>{e.fetchExternalResults||(d?(r({[d]:1}),u(1)):(r({}),u(0)))},[d,e.fetchExternalResults]);const m=h=>{n!=null&&n.isReadOnly||s&&s(e.id,h,{shouldValidate:!0,shouldDirty:!0})};return c.jsxs("div",{className:"w-full",children:[c.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(h=>{const g=t[h.value]||0,v=l>0?Math.round(g/l*100):0,p=d===h.value;return c.jsxs("div",{onClick:()=>m(h.value),className:ue("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",p?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[b&&c.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${v}%`}}),c.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[c.jsx("div",{className:ue("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",p?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:p&&c.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),c.jsx("span",{className:ue("font-medium text-sm",p?"text-blue-900":"text-gray-700"),children:h.label||h.name||h.option||h.value||"Unknown Option"})]}),b&&c.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[c.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[v,"%"]}),p&&c.jsx(se,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),c.jsx("input",{type:"radio",value:h.value,className:"hidden",...o?o(e.id):{}})]},h.id||h.value)})}),b&&c.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[c.jsxs("span",{children:[l," ",l===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const Lc={textField:$o,longText:T1,selectField:M1,multiSelect:aa,numberField:$o,amountField:sS,date:yx,password:C1,checkbox:k1,radio:_1,email:$o,file:N1,dataGrid:gS,section:E1,validateInput:lS,tableInput:dS,spacer:cS,divider:bS,header:mS,basicText:fS,phoneField:NS,cascadeSelect:yS,rating:xS,matrix:SS,country:Ic,bank:Ic,document:wS,url:CS,calculatedField:_S,polling:ES},Bc="edit",kS=(e,n)=>{var o;const i=Lc[e.type];return i?c.jsx(da,{element:e,state:Bc,children:c.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&c.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),c.jsx(i,{element:e,state:Bc,sectionId:n})]})}):c.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:c.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},Fi=({col:e,children:n,customClass:i})=>c.jsx("div",{className:ue("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),MS=({element:e,sectionId:n,children:i,customClass:o,state:a,draggedElementId:s})=>{const{formData:t,addElement:r,setIsDragging:l,moveElement:u,isDragging:d,removeElement:b}=C.useContext(Ce),m=C.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,h]=C.useState(null);C.useEffect(()=>{const x=()=>{h(null),l(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[l]);const g=C.useCallback((x,w)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",h(w)},[]),v=C.useCallback((x,w)=>{x.preventDefault(),x.stopPropagation(),h(w)},[]),p=C.useCallback((x,w)=>{const A=x.relatedTarget;A&&x.currentTarget.contains(A)||h(N=>N===w?null:N)},[]),S=C.useCallback((x,w)=>{var E;x.preventDefault(),x.stopPropagation(),l(!1),h(null);const A=w+1,N=x.dataTransfer.getData("elementId");if(N){u({draggedId:N,sectionId:n,targetGridId:e.id,targetCol:A});return}try{const _=x.dataTransfer.getData("properties");if(!_)return;const P=JSON.parse(_);if((P==null?void 0:P.type)==="grid")return;const k=t.find(T=>T.id===n),M=(E=k==null?void 0:k.questionData)==null?void 0:E.find(T=>{var O;return T.gridId===e.id&&((O=T.gridPosition)==null?void 0:O.col)===A});M&&b(M.id,n);const L={...P,id:_e.v4(),sectionId:n,gridId:e.id,gridPosition:{col:A}};r(L,n)}catch(_){console.error("Drop failed in grid:",_),l(!1)}},[r,e.id,t,n,l,u]),y=(x,w,A)=>{var O,B,K;const N=x+1,E=(B=(O=t.find(G=>G.id===n))==null?void 0:O.questionData)==null?void 0:B.find(G=>{var I;return G.gridId===e.id&&((I=G.gridPosition)==null?void 0:I.col)===N}),_=(K=E==null?void 0:E.id)!=null?K:null,P=Array.isArray(i)&&i.find(G=>{var I;return((I=G==null?void 0:G.props)==null?void 0:I.col)===N}),k=d&&f===x,M=!!P,L=d&&!!s,T=M&&_&&A==="edit"?{draggable:!0,onDragStart:G=>{G.stopPropagation(),G.dataTransfer.setData("elementId",_),G.dataTransfer.setData("properties",_),G.dataTransfer.effectAllowed="move",l(!0)},onDragEnd:()=>{h(null),l(!1)}}:{};return c.jsx("div",{className:"min-w-0",children:c.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:G=>S(G,x),onDragEnter:G=>v(G,x),onDragOver:G=>g(G,x),onDragLeave:G=>p(G,x),className:ue("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",A==="edit"?"py-3 ":"",M&&A==="edit"&&"cursor-grab active:cursor-grabbing border-none",w,!L&&!k&&"bg-white border-gray-200 text-gray-300",L&&!k&&!M&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",L&&!k&&M&&"bg-white border-orange-200 border-dashed",k&&!M&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",k&&M&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[M&&A==="edit"&&c.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:c.jsx(se,{icon:"ph:dots-six-bold"})}),k&&!M&&c.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:[c.jsx(se,{icon:"ph:plus-bold"}),"Drop here"]}),k&&M&&c.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"}),c.jsx("div",{className:ue("w-full select-none min-w-0",k&&"opacity-50 pointer-events-none"),children:P||c.jsx("span",{className:"flex items-center justify-center text-gray-300",children:A==="edit"&&c.jsx(se,{icon:"ph:plus-bold"})})})]})},x)};return c.jsx("div",{className:"relative w-full",children:c.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,w)=>y(w,o,a))})})},Gi=C.memo(MS),TS="edit";function ba({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[a,s]=C.useState(!1),t=a?52:o?28:4;return c.jsx("div",{onDragEnter:r=>{r.preventDefault(),s(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),s(!0)},onDragLeave:()=>s(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),s(!1),n(r,e)},onDragEnd:()=>{s(!1),i()},style:{height:`${t}px`},className:ue("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",a?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:a&&c.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[c.jsx(se,{icon:"octicon:plus-16"}),"Drop here"]})})}function PS({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:a,addElementInPosition:s,moveElement:t}=C.useContext(Ce),[r,l]=C.useState(null),u=C.useMemo(()=>{var p;return((p=i.find(S=>S.id===n))==null?void 0:p.questionData)||[]},[i,n]),d=C.useCallback((p,S)=>{p.dataTransfer.setData("elementId",S),p.dataTransfer.setData("properties",S),p.dataTransfer.effectAllowed="move",l(S),a(!0)},[a]),b=C.useCallback(()=>{l(null),a(!1)},[a]);C.useEffect(()=>{!o&&r&&l(null)},[o,r]);const m=C.useCallback(p=>{p.preventDefault(),p.stopPropagation();const S=p.dataTransfer.getData("elementId"),y=p.currentTarget.id;if(!S||!y||S===y){b();return}const x=u.find(A=>A.id===S),w=u.findIndex(A=>A.id===y);x!=null&&x.gridId&&w!==-1?t({draggedId:S,sectionId:n,targetIndex:w}):t({draggedId:S,sectionId:n,targetId:y}),l(null),a(!1)},[n,t,a,b,u]),f=C.useCallback((p,S)=>{p.preventDefault(),p.stopPropagation(),a(!1);const y=p.dataTransfer.getData("elementId");if(y){t({draggedId:y,sectionId:n,targetIndex:S}),l(null);return}try{const x=JSON.parse(p.dataTransfer.getData("properties"));if((x==null?void 0:x.type)==="section")return;const w={...x,id:_e.v4(),sectionId:n};s(w,n,S),l(null)}catch(x){console.error("Drop error:",x)}},[s,n,a,t]),h=C.useCallback((p,S=!1)=>c.jsx("div",{id:p.id,draggable:!0,onDragStart:y=>d(y,p.id),onDragOver:S?void 0:y=>{y.preventDefault(),y.stopPropagation()},onDrop:S?void 0:m,onDragEnd:b,className:ue("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===p.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:kS(p,n)},p.id),[r,m,n,d,b]),g=C.useMemo(()=>(e==null?void 0:e.reduce((p,S)=>(S.gridId&&(p[S.gridId]=p[S.gridId]||[],p[S.gridId].push(S)),p),{}))||{},[e]);if(!(e!=null&&e.length))return c.jsx("div",{onDragOver:p=>p.preventDefault(),onDrop:p=>f(p,0),onDragEnd:b,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 v=e.filter(p=>!p.gridId);return c.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[c.jsx(ba,{index:0,isDragging:o,onDrop:f,onDragEnd:b}),v.map(p=>{const S=u.findIndex(y=>y.id===p.id);if(p.type==="grid"){const y=g[p.id]||[],x=r===p.id,w=!!r&&!x;return c.jsxs("div",{className:"flex flex-col gap-0",children:[c.jsx("div",{id:p.id,draggable:!0,onDragStart:A=>d(A,p.id),onDragOver:A=>{A.preventDefault(),A.stopPropagation()},onDrop:m,onDragEnd:b,className:ue("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",x?"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:c.jsx(da,{element:p,state:"edit",children:c.jsx(Gi,{element:p,sectionId:n,state:TS,draggedElementId:r,children:y==null?void 0:y.map(A=>{var N;return c.jsx(Fi,{col:(N=A.gridPosition)==null?void 0:N.col,children:h(A,!0)},A.id)})})})}),c.jsx(ba,{index:S+1,isDragging:o,onDrop:f,onDragEnd:b})]},p.id)}return c.jsxs("div",{className:"flex flex-col gap-0",children:[h(p),c.jsx(ba,{index:S+1,isDragging:o,onDrop:f,onDragEnd:b})]},p.id)})]})}const IS=C.memo(PS),LS=ie.object({title:ie.string(),description:ie.string(),disabled:ie.boolean().default(!1),isHidden:ie.boolean().default(!1)}).required(),ma=Se("config"),BS=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=C.useContext(Ce),{register:a,handleSubmit:s,watch:t,formState:{errors:r,isSubmitting:l,isValid:u},reset:d}=Ze.useForm({resolver:sa(LS),defaultValues:i});if(C.useEffect(()=>{e||d()},[e,d]),!e)return null;const b=f=>{o(f,i.id),n()},m=t();return c.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:c.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[c.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[c.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),c.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:c.jsx(se,{icon:"tabler:x"})})]}),c.jsxs("form",{onSubmit:s(b),className:"w-full",children:[c.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[c.jsx(te,{label:"Title",name:"title",register:a,errors:r,watch:t}),c.jsx(te,{label:"Description",name:"description",register:a,errors:r,watch:t,type:"textarea"}),c.jsx(te,{label:"Disable Section",name:"disabled",register:a,errors:r,watch:t,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),c.jsx(te,{label:"Hide Section",name:"isHidden",register:a,errors:r,watch:t,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"})]}),c.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[c.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"}),c.jsx("button",{type:"submit",disabled:!u||l,style:{background:(ma==null?void 0:ma.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||l?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||l?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50`,children:l?"Saving...":"Save"})]})]})]})})},OS=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?c.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:c.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[c.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[c.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),c.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:c.jsx(se,{icon:"tabler:x"})})]}),c.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(a=>c.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(a),n()},children:[c.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:a.name}),a.description&&c.jsx("p",{className:"text-sm text-[#475467]",children:a.description})]},a.id)):c.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,DS=[{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"}]}]}],qS=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:a,toggleSection:s,handleSectionEdit:t,removeSection:r,formDataLength:l,onDragOver:u,setIsDragging:d,onReorderSection:b})=>{var h,g;const m=C.useRef(null),f=C.useRef((h=e.questionData)==null?void 0:h.length);return C.useEffect(()=>{var v;e.questionData.length>f.current&&m.current&&requestAnimationFrame(()=>{var p;(p=m.current)==null||p.scrollTo({top:m.current.scrollHeight,behavior:"smooth"})}),f.current=(v=e.questionData)==null?void 0:v.length},[(g=e.questionData)==null?void 0:g.length]),c.jsx("div",{ref:m,onDragOver:v=>{v.dataTransfer.types.includes("sectionid")&&v.preventDefault()},onDrop:v=>{const p=v.dataTransfer.getData("sectionid");p&&(v.preventDefault(),v.stopPropagation(),b&&b(p,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:c.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
|
|
26
|
+
}`})})]})})}),Z1=()=>c.jsx("blockquote",{className:"p-4 text-gray-700 bg-gray-100 rounded-md",children:c.jsxs("ul",{children:[c.jsxs("li",{className:"text-xs",children:["Method: GET ",c.jsx("br",{}),"URL format:"," ",c.jsx("code",{children:"https://example.com/validation/{documentId}"})]}),c.jsxs("li",{className:"text-xs",children:[c.jsx("span",{className:"block mb-1",children:" Response example format:"}),c.jsx("pre",{className:"p-2 bg-white rounded-md",children:c.jsxs("code",{children:["{ ",c.jsx("br",{}),' "data": { ',c.jsx("br",{}),' "status": true, ',c.jsx("br",{}),' "isSigned": true ',c.jsx("br",{})," } ",c.jsx("br",{}),"}"]})})]})]})});function X1(e){return e.flatMap(n=>{var i;return(i=n.questionData)!=null?i:[]})}const ua=["text","number","boolean"],Mc=["equals","not_equals","contains","not_contains"],Q1=["greater","less"];function R1({register:e,setValue:n,trigger:i,watch:o,id:a}){const{formData:s}=C.useContext(Ce),t=o("visibilityDependentFields")||[],r=C.useMemo(()=>{var u;return(u=X1(s).filter(d=>d.id!==a))==null?void 0:u.map(d=>{const b=t.find(m=>m.id===d.id);return{id:d.id,value:d.id,label:d.inputLabel,sectionId:d.sectionId,fieldType:(b==null?void 0:b.fieldType)||"text",operator:(b==null?void 0:b.operator)||"equals",fieldValue:(b==null?void 0:b.fieldValue)!==void 0?b.fieldValue:""}})},[s,t,a]),l=(u,d,b)=>{const m=t==null?void 0:t.map((f,h)=>h===u?{...f,[d]:b}:f);n("visibilityDependentFields",m)};return c.jsxs("div",{className:"visibility-editor",children:[c.jsx("label",{className:"label",children:"Select Dependent Fields"}),c.jsx(aa,{element:{options:r,id:"visibilityDependentFields",value:o("visibilityDependentFields")},validationData:{register:e,setValue:n,trigger:i,watch:o}}),t.length>0&&c.jsx("div",{className:"py-1 bg-gray-100 rounded dependent-fields",children:t==null?void 0:t.map((u,d)=>{var b,m;return c.jsxs("div",{className:"dependent-field",children:[c.jsx("input",{type:"text",value:u.label,readOnly:!0,disabled:!0,className:"field-label"}),c.jsx("div",{className:"field-listbox min-w-[100px]",children:c.jsx(le.Listbox,{value:u.fieldType,onChange:f=>l(d,"fieldType",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldType}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:ua==null?void 0:ua.map(f=>c.jsx(le.Listbox.Option,{value:f,className:"listbox-option",children:f},f))})})]})})}),c.jsx("div",{className:"field-listbox min-w-[100px]",children:c.jsx(le.Listbox,{value:u.operator,onChange:f=>l(d,"operator",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.operator.replace("_"," ")}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsx(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:(b=u.fieldType==="number"?[...Mc,...Q1]:Mc)==null?void 0:b.map(f=>c.jsx(le.Listbox.Option,{value:f,className:"listbox-option",children:f.replace("_"," ")},f))})})]})})}),u.fieldType!=="boolean"?c.jsx("input",{type:u.fieldType,value:u.fieldValue||"",onChange:f=>l(d,"fieldValue",f.target.value),placeholder:"Value",className:"field-value"}):c.jsx("div",{className:"field-listbox",children:c.jsx(le.Listbox,{value:(m=u.fieldValue)!=null?m:"",onChange:f=>l(d,"fieldValue",f),children:c.jsxs("div",{className:"listbox-wrapper",children:[c.jsx(le.Listbox.Button,{className:"listbox-button",children:u.fieldValue===!0?"True":u.fieldValue===!1?"False":"Select value"}),c.jsx(le.Transition,{as:C.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0",children:c.jsxs(le.Listbox.Options,{className:"listbox-options ",anchor:"bottom",children:[c.jsx(le.Listbox.Option,{value:!0,className:"listbox-option",children:"True"}),c.jsx(le.Listbox.Option,{value:!1,className:"listbox-option",children:"False"})]})})]})})})]},u.id)})})]})}function Tc(e){const n=[],i=/@\[([^\]]+)\]\(([^)]+)\)/g;let o=0,a;for(;(a=i.exec(e))!==null;){const t=e.slice(o,a.index);t&&n.push({type:"operator",value:t}),n.push({type:"field",id:a[2],display:a[1]}),o=a.index+a[0].length}const s=e.slice(o);return s&&n.push({type:"operator",value:s}),n}function eS(e){return e.map(n=>n.type==="field"?`@[${n.display}](${n.id})`:n.value).join("")}function nS({value:e,onChange:n,fields:i,placeholder:o}){const[a,s]=C.useState(()=>Tc(e)),[t,r]=C.useState(null),[l,u]=C.useState(!1),[d,b]=C.useState(""),[m,f]=C.useState(null),h=C.useRef(null),g=C.useRef(null),v=C.useRef(new Map);C.useEffect(()=>{const _=Tc(e);s(_)},[]);const p=C.useCallback(_=>{n(eS(_))},[n]),S=(_,P)=>{const k=[...a];k[_]={type:"operator",value:P},s(k),p(k)},y=_=>{const P=a.filter((k,M)=>M!==_);s(P),p(P)},x=_=>{f(_),b(""),u(!0)},w=(_,P)=>{const k=P!==void 0?P:m!=null?m:a.length,M=[...a],L=M.slice(0,k),T=M.slice(k),O=[...L,{type:"field",id:_.id,display:_.display},...T],B=A(O);s(B),p(B),u(!1),f(null)};function A(_){const P=[];if(_.length===0)return[{type:"operator",value:""}];_[0].type==="field"&&P.push({type:"operator",value:""});for(let k=0;k<_.length;k++)P.push(_[k]),_[k].type==="field"&&(k+1>=_.length||_[k+1].type==="field")&&P.push({type:"operator",value:""});return P}const N=i.filter(_=>_.display.toLowerCase().includes(d.toLowerCase())),E=a.every(_=>_.type==="operator"&&_.value.trim()==="");return c.jsxs("div",{className:"relative",ref:g,children:[c.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 _=[...a].reverse().findIndex(k=>k.type==="operator");if(_!==-1){const k=a.length-1-_;(P=v.current.get(k))==null||P.focus()}},children:[E&&c.jsx("span",{className:"text-gray-400 text-sm pointer-events-none select-none",children:o||"Build your formula..."}),a.map((_,P)=>_.type==="field"?c.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:[_.display,c.jsx("button",{type:"button",onMouseDown:k=>{k.preventDefault(),y(P)},className:"text-blue-400 hover:text-blue-700 leading-none ml-0.5","aria-label":`Remove ${_.display}`,children:"×"})]},P):c.jsx("input",{ref:k=>{k?v.current.set(P,k):v.current.delete(P)},type:"text",value:_.value,onChange:k=>S(P,k.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(_.value.length*9+8,t===P?40:14)}px`,minWidth:"14px",maxWidth:"200px"},placeholder:"","aria-label":`Operator at position ${P}`},P)),c.jsx("button",{type:"button",onMouseDown:_=>{_.preventDefault(),x(a.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:c.jsx("span",{className:"text-base leading-none",children:"@"})})]}),!E&&c.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:[c.jsx("span",{className:"font-sans font-semibold text-blue-500 uppercase tracking-wide mr-1",children:"Preview:"}),a.map(_=>_.type==="field"?`[${_.display}]`:_.value).join("")]}),l&&c.jsxs(c.Fragment,{children:[c.jsx("div",{className:"fixed inset-0 z-40",onMouseDown:()=>u(!1)}),c.jsxs("div",{ref:h,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:[c.jsx("div",{className:"p-2 border-b border-gray-100",children:c.jsx("input",{autoFocus:!0,type:"text",placeholder:"Search fields...",value:d,onChange:_=>b(_.target.value),className:"w-full text-sm px-2 py-1 border border-gray-200 rounded outline-none focus:border-blue-300",onKeyDown:_=>{_.key==="Escape"&&u(!1),_.key==="Enter"&&N.length>0&&w(N[0])}})}),c.jsxs("div",{className:"max-h-48 overflow-y-auto",children:[N.length===0&&c.jsx("p",{className:"text-xs text-gray-400 text-center py-3",children:"No matching fields"}),N.map(_=>c.jsxs("div",{onMouseDown:P=>{P.preventDefault(),w(_)},className:"px-3 py-2 text-sm cursor-pointer flex items-center justify-between hover:bg-blue-50 group",children:[c.jsx("span",{className:"font-medium text-gray-800",children:_.display}),c.jsxs("span",{className:"text-xs text-gray-400 font-mono group-hover:text-blue-400",children:[_.id.slice(0,8),"..."]})]},_.id))]})]})]}),i.length>0&&c.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1.5",children:i.map(_=>c.jsxs("button",{type:"button",onMouseDown:P=>{P.preventDefault(),w(_,a.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:["+ ",_.display]},_.id))})]})}const iS=ie.object().shape({inputLabel: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().typeError("Expecting a number").nullable(),minLength:ie.number().typeError("Expecting a number").nullable(),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(),isHidden:ie.boolean(),visibilityDependentFields:ie.array().nullable(),isMultiple:ie.boolean(),acceptedFiles:ie.array(),showState:ie.boolean(),formula:ie.string().nullable(),fetchExternalResults:ie.boolean(),externalApiUrl:ie.string().nullable()}),oS=[{title:"Configurations",key:"basic"},{title:"Validations",key:"validation"}],aS=({isOpen:e,onClose:n,element:i})=>{var W;const o=oS.filter(z=>!qi.includes(i.inputType)||z.key!=="validation"),{updateElement:a,formData:s}=C.useContext(Ce),[t,r]=C.useState("basic"),[l,u]=C.useState(!1),[d,b]=C.useState("manual"),m=((W=s==null?void 0:s.flatMap(z=>z.questionData||[]))==null?void 0:W.length)||0,f=C.useMemo(()=>(s==null?void 0:s.flatMap(z=>z.questionData||[]).filter(z=>{var V;return z.id!==(i==null?void 0:i.id)&&!["spacer","divider","section","grid"].includes((V=z.type)==null?void 0:V.toLowerCase())}).map(z=>({id:z.id,display:z.inputLabel||z.label||"Unnamed"})))||[],[m,i==null?void 0:i.id]),h=Se("config"),{register:g,handleSubmit:v,control:p,setValue:S,watch:y,trigger:x,formState:{errors:w,isSubmitting:A,isValid:N},reset:E}=Xe.useForm({resolver:sa(iS),defaultValues:{...i,options:i.options||[]}}),_=y(),{fields:P,append:k,remove:M}=Xe.useFieldArray({control:p,name:"options"}),{fields:L,append:T,remove:O}=Xe.useFieldArray({control:p,name:"options1"}),{fields:B,append:K,remove:G}=Xe.useFieldArray({control:p,name:"dataColumns"});C.useEffect(()=>{e||E()},[e,E]);const I=z=>{a(z,i.sectionId),n()},Z={headers:{Authorization:`Bearer ${Se("token")}`}},J=C.useCallback(async()=>{var z,V,Q;if(!_.apiUrl||!/^https?:\/\//.test(_.apiUrl)){Pe.toast.info("Please provide a valid API URL");return}try{u(!0);const{status:j,data:X}=await mn.get(_.apiUrl,Z);if(j!==200||!X){Pe.toast.error("Unexpected response from server.");return}const $=X.data||X.record||X.result;if(!Array.isArray($)){Pe.toast.error("Expected an array in response (data, record, or result).");return}((z=i.type)==null?void 0:z.toLowerCase())==="datagrid"?S("dataColumns",la($)):S("options",ra($))}catch(j){const X=((Q=(V=j==null?void 0:j.response)==null?void 0:V.data)==null?void 0:Q.message)||(j==null?void 0:j.message)||"Unable to load options";Pe.toast.error(X)}finally{u(!1)}},[i.type,S,_.apiUrl]),R=["manual","api","sheet"];function D(){d==="api"&&J()}const H=()=>{var z,V;return c.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[c.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:R==null?void 0:R.map(Q=>c.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[c.jsx("input",{type:"radio",name:"optionType",onChange:j=>b(j.target.value),value:Q})," ",c.jsxs("span",{children:[Q," options"]})]},Q))}),d==="api"&&c.jsxs("div",{className:"mb-4",children:[c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[c.jsx(te,{watch:y,label:"Load Options from Api",name:"apiUrl",errors:w,register:g,className:"!w-full",placeholder:"https://example.com/options",isFloating:!0}),l&&c.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"})]}),c.jsx("button",{onClick:D,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),c.jsx($1,{})]}),d==="sheet"&&c.jsx("div",{className:"mb-4",children:c.jsx(kc,{type:i.type,label:"Load options form sheet (csv, xlsx)",setValue:S,name:"options"})}),c.jsxs("div",{children:[c.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((z=i==null?void 0:i.type)==null?void 0:z.toLowerCase())==="matrix"?"Rows Options":"Parent Options"}),P==null?void 0:P.map((Q,j)=>c.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Label":"",name:`options.${j}.label`,register:g,errors:w,element:i,placeholder:"Label",onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options.${j}.value`,ne,{shouldValidate:!0,shouldDirty:!0})}})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Value":"",name:`options.${j}.value`,register:g,errors:w,element:i,placeholder:"Value"})}),c.jsx("button",{disabled:P.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>M(j),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]},Q.id))," ",c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>k({label:"",value:"",id:_e.v4()}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]}),["cascadeselect","matrix"].includes(i.type.toLowerCase())&&c.jsxs(c.Fragment,{children:[c.jsx("hr",{className:"my-5"}),c.jsxs("div",{children:[" ",c.jsx("h3",{className:"mb-4 text-sm text-gray-500 font-semibold",children:((V=i==null?void 0:i.type)==null?void 0:V.toLowerCase())==="matrix"?"Columns Options":"Child Options"}),L==null?void 0:L.map((Q,j)=>c.jsxs("div",{className:"flex items-center mb-1 gap-x-4 last:mb-0",children:[c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Label":"",name:`options1.${j}.label`,register:g,errors:w,element:i,placeholder:"Label",onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`options1.${j}.value`,ne,{shouldValidate:!0,shouldDirty:!0})}})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Value":"",name:`options1.${j}.value`,register:g,errors:w,element:i,placeholder:"Value"})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:j===0?"Key":"",name:`options1.${j}.key`,register:g,errors:w,element:i,placeholder:"Key"})}),c.jsx("button",{disabled:L.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>O(j),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]},Q.id)),c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>T({label:"",value:"",key:"",id:_e.v4()}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add Option"]})]})]})]})]})},U=()=>c.jsxs("div",{className:"flex flex-col justify-start gap-y-1",children:[c.jsx("div",{className:"flex items-center mb-4 gap-x-5",children:R==null?void 0:R.map(z=>c.jsxs("label",{className:"items-center text-base capitalize gap-x-3",children:[c.jsx("input",{type:"radio",name:"optionType",onChange:V=>b(V.target.value),value:z,checked:z===d})," ",c.jsxs("span",{children:[z," options"]})]},z))}),d==="api"&&c.jsxs("div",{className:"mb-4",children:[c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("div",{className:"relative flex items-center w-full mb-2",children:[c.jsx(te,{watch:y,label:"Load Columns from Api",name:"apiUrl",errors:w,register:g,className:"!w-full",placeholder:"https://example.com/columns"}),l&&c.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"})]})," ",c.jsx("button",{onClick:D,className:"px-3 py-1 text-xs text-white bg-gray-600 rounded",type:"button",children:"Load"})]}),c.jsx(Y1,{})]}),d==="sheet"&&c.jsx("div",{className:"mb-4",children:c.jsx(kc,{type:i.type,label:"Load columns form sheet (csv, xlsx)",setValue:S,name:"dataColumns"})}),c.jsx("div",{className:"grid gap-y-3",children:B==null?void 0:B.map((z,V)=>{var Q,j;return c.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:[c.jsxs("div",{className:"flex items-center gap-x-4",children:[c.jsx("div",{className:"min-w-[140px]",children:c.jsx(Mn,{label:V===0?"Type":"",options:[{label:"Text",value:"text"},{label:"Number",value:"number"},{label:"Checkbox",value:"checkbox"},{label:"Select",value:"select"}],register:g,name:`dataColumns.${V}.type`,setValue:S,trigger:x,value:_.dataColumns[V].type})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:V===0?"Display header":"",name:`dataColumns.${V}.headerName`,register:g,onChange:X=>{const ne=X.target.value.toLowerCase().trim().replace(/[\s-]+/g,"_").replace(/[^a-z0-9_]/g,"");S(`dataColumns.${V}.field`,ne,{shouldValidate:!0,shouldDirty:!0})},errors:w,element:i,placeholder:"header"})}),c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:V===0?"Field key":"",name:`dataColumns.${V}.field`,register:g,errors:w,element:i,placeholder:"fieldKey",disabled:!0})}),c.jsx("button",{disabled:B.length===1,type:"button",className:"outline-none hover:opacity-80 disabled:opacity-40 disabled:cursor-not-allowed",onClick:()=>G(V),children:c.jsx(se,{icon:"iconamoon:sign-times-fill"})})]}),((j=(Q=_.dataColumns)==null?void 0:Q[V])==null?void 0:j.type)==="select"&&c.jsx("div",{className:"flex items-center gap-x-4",children:c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Options API URL",name:`dataColumns.${V}.optionsUrl`,register:g,errors:w,element:i,placeholder:"https://api.example.com/options"})})})]},z.id)})}),c.jsxs("div",{children:[" ",c.jsxs("button",{type:"button",className:"flex items-center mt-2 text-sm font-medium text-gray-700 gap-x-1",onClick:()=>K({headerName:"",field:"",editable:!0,id:_e.v4(),type:"text",validate:!1}),children:[c.jsx(se,{icon:"qlementine-icons:plus-16"})," Add column"]})]})]}),q=C.useCallback(async()=>{const z=Se("token"),{status:V,data:Q}=await mn.get(_.url,{headers:{Authorization:`Bearer ${z}`}});V===200&&S("options",(Q==null?void 0:Q.data)||Q)},[S,_.url]);C.useEffect(()=>{i.type==="document"&&_.url&&q()},[_.url,i.type,q]);const F=c.jsx("div",{className:"fixed inset-0 bg-gray-800/40 backdrop-blur-sm flex items-center justify-end z-[999] cursor-default",onMouseDown:z=>z.stopPropagation(),onPointerDown:z=>z.stopPropagation(),onDragStart:z=>{z.preventDefault(),z.stopPropagation()},children:c.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:[c.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:c.jsx(se,{icon:"tabler:x",iconClass:"text-xl"})}),c.jsx("div",{className:"w-full pt-4",children:c.jsx(P1,{tabs:o,setActiveTab:r,activeTab:t,className:"justify-start !text-left",btnClass:" !text-left"})}),c.jsxs("form",{onSubmit:v(I),className:"w-full flex-1 flex flex-col",children:[c.jsxs("div",{className:"flex-1",children:[" ",c.jsxs("div",{className:" max-h-[70vh] overflow-y-auto flex-1",children:[t==="basic"&&c.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[ta.includes(i.inputType)&&c.jsx(c.Fragment,{children:c.jsx(te,{watch:y,label:"Value",name:"value",register:g,errors:w,element:i})}),!ta.includes(i.inputType)&&!qi.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsx(te,{watch:y,label:"Label",name:"inputLabel",register:g,errors:w,element:i})," ",i.type.toLowerCase()==="cascadeselect"&&c.jsx(te,{watch:y,label:"Child Label",name:"childLabel",register:g,errors:w,element:i})]}),G1.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Placeholder",name:"placeholder",register:g,errors:w,element:i}),q1.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Prefix",name:"prefix",register:g,errors:w,element:i}),V1.includes(i.inputType)&&c.jsxs("div",{className:"grid gap-y-4",children:[c.jsx(W1,{}),c.jsx(te,{watch:y,label:"Api Url",name:"url",register:g,errors:w,element:i}),c.jsx(Mn,{label:"Api Method",options:[{label:"GET",value:"GET"},{label:"POST",value:"POST"}],register:g,name:"method",setValue:S,trigger:x,value:y("method")}),c.jsx(Mn,{label:"Api Response type",options:[{label:"String",value:"string"},{label:"Object",value:"object"}],register:g,name:"responseType",setValue:S,trigger:x,value:y("responseType")})]}),z1.includes(i.inputType)&&c.jsx(U1,{onChange:z=>{S("denominators",z)},value:y("denominators")}),!ta.includes(i.inputType)&&!qi.includes(i.inputType)&&c.jsx(te,{watch:y,label:"Short Description",name:"description",register:g,errors:w,element:i}),i.type.toLowerCase()==="date"&&c.jsxs(c.Fragment,{children:[c.jsx(Mn,{label:"Date Format",options:D1,register:g,name:"dateFormat",setValue:S,trigger:x,value:y("dateFormat")}),c.jsx(te,{watch:y,label:"Allow Range",name:"canHaveDateRange",register:g,errors:w,element:i,type:"checkbox",value:_.canHaveDateRange}),(_==null?void 0:_.canHaveDateRange)&&c.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[c.jsx(Wo,{name:"minDate",value:_==null?void 0:_.minDate,onGetValue:S,placeholder:"Select min date"}),c.jsx(Wo,{name:"maxDate",value:_==null?void 0:_.minDate,onGetValue:S,placeholder:"Select max date",minDate:_==null?void 0:_.minDate})]}),c.jsx(te,{watch:y,label:"Allow Year Picker",name:"allowYearPicker",register:g,errors:w,element:i,type:"checkbox",value:_.allowYearPicker})]}),i.type.toLowerCase()==="country"&&c.jsx(te,{watch:y,label:"Allow States",name:"showState",register:g,errors:w,element:i,type:"checkbox",value:_.showState}),i.type.toLowerCase()==="selectfield"&&c.jsx(Mn,{label:"Select Type",options:[{label:"List",value:"list"},{label:"Combobox",value:"Combobox"}],register:g,name:"selectType",setValue:S,trigger:x,value:y("selectType")}),i.type.toLowerCase()==="grid"&&c.jsx(te,{watch:y,label:"Number of columns (max: 4)",name:"columns",register:g,errors:w,element:i,max:4,min:1}),i.type.toLowerCase()==="document"&&c.jsxs("div",{className:"grid gap-y-6",children:[c.jsxs("div",{className:"grid gap-y-1",children:[c.jsx(te,{watch:y,label:"Document Options Url",name:"url",register:g,errors:w,element:i})," ",c.jsx(J1,{})]}),c.jsxs("div",{className:"grid gap-y-1",children:[c.jsx(te,{watch:y,label:"Document Validation Url",name:"validationUrl",register:g,errors:w,element:i}),c.jsx(Z1,{})]}),c.jsx("div",{className:"grid gap-y-1",children:c.jsx(te,{watch:y,label:"Signature Page Url",name:"signatureLink",register:g,errors:w,element:i})})]}),i.type.toLowerCase()==="datagrid"&&U(),i.type.toLowerCase()==="file"&&c.jsxs(c.Fragment,{children:[c.jsx(te,{watch:y,label:"Allow Multiple Uploads",name:"isMultiple",register:g,errors:w,element:i,type:"checkbox",value:_.isMultiple}),c.jsx(aa,{element:{options:j1,id:"acceptedFiles",value:_==null?void 0:_.acceptedFiles},validationData:{register:g,setValue:S,trigger:x,watch:y},placeholder:"Choose file types"})]}),H1.includes(i.inputType)&&H(),c.jsxs("div",{children:[c.jsx("div",{className:"w-[150px] mb-4",children:c.jsx(te,{watch:y,label:"Toggle Visibility",name:"isHidden",register:g,errors:w,element:i,type:"checkbox",value:_.isHidden})})," ",_.isHidden&&c.jsx(R1,{register:g,setValue:S,trigger:x,watch:y,id:i==null?void 0:i.id})]}),i.type.toLowerCase()==="calculatedfield"&&c.jsxs("div",{className:"grid gap-y-2 mb-4",children:[c.jsx("label",{className:"block text-sm font-medium text-[#344054] font-onest",children:"Formula"}),c.jsx(nS,{value:y("formula")||"",onChange:z=>S("formula",z,{shouldValidate:!0,shouldDirty:!0}),fields:f,placeholder:"Build your formula..."})]}),i.type.toLowerCase()==="polling"&&c.jsxs("div",{className:"grid gap-y-4 mb-4 mt-2",children:[c.jsx(te,{watch:y,label:"Fetch results from external API",name:"fetchExternalResults",register:g,errors:w,element:i,type:"checkbox",value:_.fetchExternalResults}),_.fetchExternalResults&&c.jsx(te,{watch:y,label:"External API URL (returns options results)",name:"externalApiUrl",register:g,errors:w,element:i,placeholder:"https://api.example.com/poll/results"})]})]}),!qi.includes(i.type.toLowerCase())&&t==="validation"&&c.jsxs("div",{className:"z-10 flex flex-col w-full gap-5 px-6",children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Required",name:"isRequired",register:g,errors:w,element:i,type:"checkbox",value:_.isRequired})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"requiredMessage",register:g,errors:w,element:i})})]}),F1.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Min Length",name:"minLength",register:g,errors:w,element:i,type:"number"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"minLengthMessage",register:g,errors:w,element:i})})]}),c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Max Length",name:"maxLength",register:g,errors:w,element:i,type:"number"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"maxLengthMessage",register:g,errors:w,element:i})})]})]}),K1.includes(i.inputType)&&c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Min Amount",name:"minAmount",register:g,errors:w,element:i,type:"amount"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"minAmountMessage",register:g,errors:w,element:i})})]}),c.jsxs("div",{className:"flex items-center gap-x-6",children:[c.jsx("div",{className:"w-[150px]",children:c.jsx(te,{watch:y,label:"Max Amount",name:"maxAmount",register:g,errors:w,element:i,type:"amount"})})," ",c.jsx("div",{className:"flex-1",children:c.jsx(te,{watch:y,label:"Error message text",name:"maxAmountMessage",register:g,errors:w,element:i})})]})]})]})]})]}),c.jsxs("div",{className:"sticky flex w-full gap-3 px-6 pt-8 pb-10 mt-10 border-t",children:[c.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"}),c.jsx("button",{type:"submit",disabled:!N||A,style:{background:(h==null?void 0:h.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!N||A?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!N||A?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50 editor_option__save`,children:A?"Saving...":"Save"})]})]})]})});return document.body?mx.createPortal(F,document.body):F},da=C.memo(({state:e,element:n,children:i})=>{var d,b;const[o,a]=C.useState(!1),{removeElement:s,duplicateElement:t,updateElement:r}=C.useContext(Ce),l=C.useMemo(()=>{var m;return(m=n==null?void 0:n.acceptedFiles)==null?void 0:m.map(f=>f.label).join(", ")},[n]),u=C.useCallback(()=>{s(n.id,n.sectionId)},[n.id,n.sectionId,s]);return c.jsxs("div",{className:"w-full min-w-0",children:[o&&c.jsx(aS,{isOpen:o,onClose:()=>a(!1),element:n}),c.jsxs("div",{className:"flex items-center justify-between mb-2",children:[c.jsxs("span",{children:[" ",n.inputLabel&&c.jsxs("label",{className:"text-sm font-medium input_label",children:[n.inputLabel," ",l&&c.jsxs("span",{className:"text-gray-400 text-xs",children:["(",l==null?void 0:l.toLowerCase(),")"]})]})]}),e==="edit"&&c.jsxs("span",{className:"flex items-center gap-x-3",children:[((d=n.type)==null?void 0:d.toLowerCase())!=="spacer"&&((b=n.type)==null?void 0:b.toLowerCase())!=="divider"&&c.jsxs("label",{className:"flex items-center gap-1 text-xs cursor-pointer text-gray-500 mr-2 hover:text-gray-700 select-none",children:[c.jsx("input",{type:"checkbox",checked:n.isRequired||!1,onChange:m=>r({...n,isRequired:m.target.checked},n.sectionId),className:"cursor-pointer"}),c.jsx("span",{className:"mt-0.5",children:"Required"})]}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 py-1 text-gray-600",onClick:()=>t(n==null?void 0:n.id,n.sectionId),title:"Duplicate",children:c.jsx(se,{icon:"tabler:copy",iconClass:"text-base"})}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:()=>a(!0),title:"Edit",children:c.jsx(se,{icon:"circum:edit",iconClass:"text-base"})}),c.jsx("button",{type:"button",className:"text-sm outline-none hover:opacity-80 text-gray-600 py-1",onClick:u,title:"Remove",children:c.jsx(se,{icon:"iconamoon:trash",iconClass:"text-base"})})]})]}),i]})});da.displayName="ElementContainer";function sS({element:e,validationData:n}){const{register:i=()=>({}),trigger:o,setValue:a,watch:s,isReadOnly:t}=n||{};let r;return s&&(r=s()[e.id]),c.jsx(te,{placeholder:e.placeholder,type:e.inputType,label:"",name:e.id,register:i,trigger:o,setValue:a,value:r,prefix:e.prefix,disabled:t,watch:s})}function tS(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 rS=({imageUrl:e})=>{const[n,i]=C.useState(!1),o=()=>{i(!0)},a=()=>{i(!1)};return c.jsxs("div",{children:[c.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&&c.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:a,children:c.jsxs("div",{className:"modal-content",style:{position:"relative",backgroundColor:"white",padding:"20px",borderRadius:"8px",width:"90vw"},onClick:s=>s.stopPropagation(),children:[c.jsx("span",{className:"close",onClick:a,style:{position:"absolute",top:"10px",right:"10px",fontSize:"24px",cursor:"pointer"},children:"×"}),c.jsx("img",{src:e||"/place.png",alt:"Full Image",style:{maxWidth:"90%",maxHeight:"90vh",objectFit:"contain"}})]})})]})};function lS({element:e,validationData:n}){var A;const{register:i=()=>({}),setValue:o,watch:a}=n||{},[s,t]=C.useState(),[r,l]=C.useState(!1),[u,d]=C.useState(!1),[b,m]=C.useState(""),f=a&&a(e==null?void 0:e.id);C.useEffect(()=>{t(f)},[f]);const[h,g]=C.useState("");C.useEffect(()=>{i(e.id)},[e.id,i]);const{url:v,method:p,responseType:S}=e||{},x={headers:{Authorization:`Bearer ${Se("token")}`}},w=C.useCallback(async N=>{var E,_,P,k,M,L,T,O,B,K,G;if(!(!v||!p)){l(!0);try{let I;if(p.toLowerCase()==="get"){const Y=`${v}?value=${N}`;I=await mn.get(Y,x)}else if(p.toLowerCase()==="post")I=await mn.post(v,{value:N},x);else throw new Error("Unsupported HTTP method");I.status===200&&((((_=(E=I==null?void 0:I.data)==null?void 0:E.data)==null?void 0:_.status)||((P=I==null?void 0:I.data)==null?void 0:P.status))===!0?(d(!0),S==="string"?m(((M=(k=I==null?void 0:I.data)==null?void 0:k.data)==null?void 0:M.description)||((L=I==null?void 0:I.data)==null?void 0:L.description)||"Validation successful"):g(((O=(T=I==null?void 0:I.data)==null?void 0:T.data)==null?void 0:O.description)||((B=I==null?void 0:I.data)==null?void 0:B.description)||{})):(console.error("Invalid input:",N),m("Unable to validate input"),d(!1)))}catch(I){console.error("Error validating input:",I),m(((G=(K=I==null?void 0:I.response)==null?void 0:K.data)==null?void 0:G.message)||"Unable to validate input"),d(!1)}finally{l(!1)}}},[p,S,v]);return C.useEffect(()=>{if(s){const N=setTimeout(()=>{w(s)},700);return()=>clearTimeout(N)}},[w,s]),c.jsxs("div",{children:[c.jsxs("div",{className:"relative flex items-center",children:[c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"",type:(e==null?void 0:e.inputType)||"text",className:ue("field-control",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),onChange:N=>{t(N.target.value),o(e==null?void 0:e.id,N.target.value)},disabled:n==null?void 0:n.isReadOnly}),c.jsxs("span",{className:"absolute right-0",children:[r&&c.jsxs("span",{children:[" ",c.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:[c.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),c.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&&c.jsx("span",{className:"block pr-3 text-lg text-green-600",children:c.jsx(se,{icon:"gg:check-o"})})]})]}),b&&S==="string"&&c.jsx("span",{className:`${u?"text-green-600":"text-red-600"} text-sm`,children:b}),S==="object"&&c.jsx("div",{className:"grid grid-cols-2 gap-6 mt-2 text-sm text-gray-600",children:(A=Object.entries(h))==null?void 0:A.map(([N,E])=>c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsxs("span",{className:"font-semibold",children:[N,":"]}),tS(E)?c.jsx(rS,{imageUrl:E}):c.jsx("span",{children:String(E)})]},N))})]})}function uS({onGetTotal:e,readOnly:n,defaultValue:i,denominators:o}){const[a,s]=C.useState([...i]);function t(u,d){s(b=>{const m=[...b];return m[d]={...m[d],value:u},m})}function r(u,d){return parseFloat(u)*parseFloat(d)||0}const l=C.useMemo(()=>a.reduce((u,d)=>{const b=r(d.key,d.value);return u+b},0),[a]);return C.useEffect(()=>{e&&e(a)},[a]),C.useEffect(()=>{if(o!=null&&o.length){const u=o==null?void 0:o.map((d,b)=>({key:d.value,value:Array.isArray(i)&&i[b]?i[b].value:""}));s(u)}},[i,o]),c.jsx("div",{className:"mt-2",children:c.jsxs("div",{className:"border border-gray-200 rounded-lg overflow-hidden text-gray-700",children:[c.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold border-b border-gray-100 bg-gray-50",children:[c.jsx("div",{className:"border-r px-4 py-2",children:c.jsx("span",{className:"",children:"Denomination"})}),c.jsx("div",{className:"border-r px-4 py-2",children:c.jsx("span",{children:"Quantity"})}),c.jsx("div",{className:"px-4 py-2",children:c.jsx("span",{children:"Sub total"})})]}),a==null?void 0:a.map((u,d)=>{var b,m;return c.jsxs("div",{className:"grid grid-cols-3 text-sm border-b border-gray-100",children:[c.jsx("div",{className:"border-r px-4 py-2 flex items-center",children:c.jsx("span",{className:"",children:(b=parseFloat(u.key))==null?void 0:b.toLocaleString()})}),c.jsx("div",{className:"border-r px-4 py-1",children:c.jsx("span",{children:c.jsx(Pi,{id:"input-example",className:"border border-gray-100 rounded w-full px-3 py-1 outline-none",decimalsLimit:6,value:u.value,onValueChange:f=>t(f,d),disabled:n,allowNegativeValue:!1})})}),c.jsx("div",{className:"px-4 py-2 flex justify-between items-center",children:c.jsx("span",{children:(m=r(u.key,u.value))==null?void 0:m.toLocaleString()})})]},d+"index")}),c.jsxs("div",{className:"grid grid-cols-3 text-sm font-bold bg-gray-50",children:[c.jsx("div",{className:"border-r px-4 py-3 col-span-2 text-right",children:"Total"}),c.jsx("div",{className:"px-4 py-3",children:l==null?void 0:l.toLocaleString()})]})]})})}function dS({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,getValues:a}=n||{},s=a&&a(e==null?void 0:e.id)||[];return C.useEffect(()=>{i(e.id)},[e.id,i]),c.jsx("div",{children:c.jsx(uS,{onGetTotal:t=>{o&&o(e.id,t)},denominators:(e==null?void 0:e.denominators)||[],defaultValue:s,readOnly:e==null?void 0:e.isReadOnly})})}function cS({element:e}){return c.jsx("div",{className:ue("py-6",e==null?void 0:e.customClass)})}function bS({element:e}){return c.jsx("div",{children:c.jsx("hr",{className:ue("border-gray-200 my-4",e==null?void 0:e.customClass)})})}function mS({element:e,validationData:n}){const{register:i=()=>({})}=n||{};return c.jsx("div",{children:c.jsx("input",{placeholder:"Enter text",type:"text",className:"field-control",...i(e==null?void 0:e.id)})})}function fS({element:e,state:n}){return c.jsx(c.Fragment,{children:c.jsx("div",{className:e==null?void 0:e.customClass,children:(e==null?void 0:e.value)||n==="edit"&&c.jsx("span",{className:"text-gray-400",children:"Provide text"})})})}function vS({row:e,columns:n,isReadOnly:i,handleCellChange:o,getValidationStatus:a,deleteRow:s}){return c.jsxs("tr",{children:[n.map(t=>{var f;const r=e[t.field],l=t.editable&&!i,{isValidating:u,result:d}=a(e.id,t.field);let b="border-gray-300";t.validate&&((d==null?void 0:d.isValid)===!1?b="border-red-500 bg-red-50":(d==null?void 0:d.isValid)===!0&&(b="border-green-500 bg-green-50"));const m=`w-full py-1 rounded outline-none ${b}`;return c.jsx("td",{className:"px-3 py-1 border-b border-r last:border-r-0",children:l?c.jsxs("div",{className:"relative",children:[t.type==="number"?c.jsx(Pi,{value:r,decimalsLimit:6,allowNegativeValue:!1,className:m,onValueChange:h=>o(h,e.id,t.field)}):t.type==="checkbox"?c.jsx("div",{className:"flex items-center gap-x-4",children:["yes","no"].map(h=>{const g=h==="yes",v=`radio-${e.id}-${String(t.field)}-${h}`;return c.jsxs("label",{htmlFor:v,className:"flex items-center gap-1 cursor-pointer",children:[c.jsx("input",{id:v,type:"radio",name:`boolean-${e.id}-${String(t.field)}`,checked:r===g,onChange:()=>o(g,e.id,t.field)}),c.jsx("span",{className:"text-sm",children:g?"Yes":"No"})]},h)})}):t.type==="select"?c.jsx(ni,{name:String(t.field),options:t.options||[],apiUrl:t.optionsUrl,value:r,onGetValue:(h,g)=>o((g==null?void 0:g.value)||"",e.id,t.field),customClass:"!border-none !p-0"}):c.jsx("input",{type:"text",value:String(r!=null?r:""),onChange:h=>o(h.target.value,e.id,t.field),className:m}),u&&c.jsx("div",{className:"absolute right-1 top-1",children:c.jsx("div",{className:"w-4 h-4 border-2 border-blue-500 rounded-full border-t-transparent animate-spin"})})]}):t.validate&&d?c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsxs("span",{children:[String(r!=null?r:"")," ",d.data&&`[${d.data}]`]}),d.isValid?c.jsx("span",{className:"text-xs text-green-600",children:"✓"}):c.jsx("span",{className:"text-xs text-red-600 cursor-help",title:(f=d.error)!=null?f:"",children:"✗"})]}):t.type==="select"?c.jsx(ni,{name:String(t.field),options:t.options||[],apiUrl:t.optionsUrl,value:r,onGetValue:()=>{},readOnly:!0,customClass:"!border-none !bg-transparent !p-0 !text-gray-700 pointer-events-none"}):t.type==="checkbox"?c.jsx("span",{className:"block py-1 text-gray-700",children:r===!0?"Yes":r===!1?"No":""}):c.jsx("span",{className:"block py-1 text-gray-700",children:String(r!=null?r:"")})},String(t.id))}),!i&&c.jsx("td",{className:"px-3 py-1 text-center border sticky right-0 bg-gray-50 z-10",children:c.jsx("button",{type:"button",onClick:()=>s(e.id),className:"text-red-500 hover:text-red-700","aria-label":"Delete row",children:c.jsx(se,{icon:"lets-icons:trash-duotone",iconClass:"text-xl"})})})]})}const hS=C.memo(vS);function pS({value:e=[],onChange:n,isReadOnly:i=!1,columns:o}){const[a,s]=C.useState(e),t=Se("config"),r=C.useRef(a);r.current=a,C.useEffect(()=>{s(m=>JSON.stringify(m)!==JSON.stringify(e)?e:m)},[e]);const l=C.useCallback((m,f,h)=>{const g=r.current.map(v=>v.id===f?{...v,[h]:m}:v);s(g),n==null||n(g)},[n]),u=C.useCallback(()=>{const m=_e.v4(),f=o.reduce((g,v)=>(g[v.field]=v.field==="id"?m:"",g),{}),h=[...r.current,{id:m,...f}];s(h),n==null||n(h)},[o,n]),d=C.useCallback(m=>{const f=r.current.filter(h=>h.id!==m);s(f),n==null||n(f)},[n]),b=C.useCallback(()=>({isValidating:!1,result:void 0}),[]);return c.jsxs("div",{className:"mt-3 rounded",children:[c.jsx("div",{className:"w-full max-w-full overflow-x-auto border rounded-lg",children:c.jsxs("table",{className:"min-w-max w-full text-sm border-collapse table-auto",children:[c.jsx("thead",{children:c.jsxs("tr",{className:"bg-gray-100",children:[o.map((m,f)=>{var h;return c.jsxs("th",{className:"px-3 py-2 text-xs font-semibold text-left text-gray-600 border-b whitespace-nowrap",children:[(h=m.headerName)!=null?h:String(m.field),m.validate&&c.jsx("span",{className:"ml-1 text-blue-600",children:"*"})]},`${String(m.id)}-${f}`)}),!i&&c.jsx("th",{className:"w-10 px-2 py-2 border sticky right-0 bg-gray-100 z-10"})]})}),c.jsx("tbody",{children:a.length>0?a.map(m=>c.jsx(hS,{row:m,columns:o,isReadOnly:i,handleCellChange:l,getValidationStatus:b,deleteRow:d},m.id)):c.jsx("tr",{children:c.jsx("td",{colSpan:o.length+(i?0:1),className:"p-2 text-xs text-center text-gray-400",children:"No data available"})})})]})}),!i&&c.jsx("div",{className:"flex justify-center mt-2",children:c.jsx("button",{onClick:u,type:"button",style:{color:(t==null?void 0:t.buttonColor)||"#333"},className:"px-2 py-1 mb-3 text-xs text-gray-600 font-medium",children:"+ Add Row"})})]})}function gS({element:e,validationData:n}){var f;const{register:i=()=>({}),setValue:o,watch:a,isReadOnly:s}=n||{},t=a&&a(e==null?void 0:e.id)||{},r=Array.isArray(t)?t:(f=t==null?void 0:t.rows)!=null?f:[];C.useEffect(()=>{i(e.id)},[e.id,i]);const l=C.useRef(""),u=C.useRef(e==null?void 0:e.id),d=C.useRef(e==null?void 0:e.dataColumns),b=C.useRef(o);u.current=e==null?void 0:e.id,d.current=e==null?void 0:e.dataColumns,b.current=o;const m=C.useCallback(h=>{var v;const g=JSON.stringify(h);g!==l.current&&(l.current=g,(v=b.current)==null||v.call(b,u.current,{rows:h,columns:d.current}))},[]);return c.jsx(pS,{value:r,onChange:m,columns:e==null?void 0:e.dataColumns,isReadOnly:s})}const Pc=({className:e="",options:n=[],placeholder:i="Select",errors:o,register:a,setValue:s,name:t,label:r,value:l,trigger:u,isMultiple:d=!1,isFloatingLabel:b=!1,subText:m,labelClass:f="",loading:h,disabled:g})=>{const[v,p]=C.useState(d?[]:null),S=ue("custom-select__control",e),y=C.useMemo(()=>n,[n]);return C.useEffect(()=>{const x=n==null?void 0:n.find(w=>{var A;return typeof w.value=="string"&&typeof l=="string"?w.value.toLowerCase()===l.toLowerCase():typeof w.value=="object"&&typeof l=="object"?((A=w.value)==null?void 0:A.id)===(l==null?void 0:l.id):w.value===l});p(x||null)},[l,n]),C.useEffect(()=>{v&&s&&a&&(s(t,v==null?void 0:v.value),a(t),u==null||u(t))},[t,v]),c.jsxs("div",{className:"custom-select",children:[r&&!b&&c.jsx("label",{className:"custom-select__label",children:r}),b&&r&&c.jsx("label",{className:ue("custom-select__floating-label",f),children:r}),c.jsx(le.Listbox,{value:v,onChange:p,multiple:d,disabled:g,children:c.jsxs("div",{className:"custom-select__wrapper",children:[c.jsxs(le.Listbox.Button,{className:S,disabled:g,children:[h?c.jsx("span",{className:"custom-select__loading",children:"Fetching data..."}):c.jsx("span",{className:"custom-select__value",children:(v==null?void 0:v.label)||c.jsx("span",{className:"custom-select__placeholder",children:i})}),c.jsx("span",{className:"custom-select__icon",children:c.jsx(se,{icon:"lucide:chevron-down"})})]}),c.jsx(le.Transition,{as:C.Fragment,leave:"custom-select__transition",children:c.jsx(le.Listbox.Options,{className:"custom-select__options",anchor:"bottom",children:y==null?void 0:y.map((x,w)=>c.jsx(le.Listbox.Option,{value:x,className:({active:A})=>ue("custom-select__option",A&&"custom-select__option--active"),children:({selected:A})=>c.jsx("span",{className:ue("custom-select__option-label",A&&"custom-select__option--selected"),children:x.label})},w))})})]})}),m&&!o&&c.jsx("p",{className:"custom-select__subtext",children:m}),o&&c.jsx("span",{className:"custom-select__error",children:o.message})]})},yS=({element:e,validationData:n})=>{var g;const{register:i=()=>({}),trigger:o,setValue:a,watch:s,isReadOnly:t}=n||{},r=(g=e==null?void 0:e.id)!=null?g:"cascadeValue",[l,u]=C.useState(""),[d,b]=C.useState(""),m=(v,p)=>{const S=v&&p?`${v}_${p}`:"";a==null||a(r,S),o==null||o(r)},f=(v,p)=>{v==="first"?(u(p),b(""),m(p,"")):(b(p),m(l,p))};C.useEffect(()=>{if(s){const v=s(r);if(v!=null&&v.includes("_")){const[p,S]=v.split("_");u(p),b(S)}}},[s,r]);const h=C.useMemo(()=>{var v;return(v=e.options1)==null?void 0:v.filter(p=>p.key===l)},[e.options1,l]);return!e.options||!e.options1?null:c.jsxs("div",{children:[c.jsx("input",{type:"hidden",...i(r)}),c.jsx("div",{className:"relative",children:c.jsx(Pc,{setValue:(v,p)=>f("first",p),options:e.options,name:`${r}`,register:i,value:l})}),l&&c.jsxs("div",{className:"mt-4",children:[(e==null?void 0:e.childLabel)&&c.jsx("label",{className:"block text-sm text-[#686878] darks:!text-white/70 mb-2",children:e==null?void 0:e.childLabel}),c.jsx(Pc,{setValue:(v,p)=>f("second",p),options:h,name:`${r}`,register:i,value:d})]})]})},xS=({value:e=0,max:n=5,readOnly:i=!1,onChange:o,size:a=24,className:s="",element:t,validationData:r})=>{var p;const{register:l=()=>({}),trigger:u,setValue:d,watch:b,isReadOnly:m}=r||{},f=(p=b==null?void 0:b(t.id))!=null?p:0,[h,g]=C.useState(null);C.useEffect(()=>{f==null&&(d==null||d(t.id,e))},[]);const v=S=>{if(!i&&!m){const y=S+1;d==null||d(t.id,y),u==null||u(t.id),o==null||o(y)}};return c.jsxs("div",{className:`flex gap-1 ${s}`,children:[c.jsx("input",{type:"hidden",...l(t.id)}),Array.from({length:n},(S,y)=>{const x=h!==null?y<=h:y<f;return c.jsx(Nc,{icon:x?"mdi:star":"mdi:star-outline",className:`cursor-pointer transition-colors ${x?"text-yellow-400":"text-gray-300"}`,width:a,height:a,onMouseEnter:()=>!(i||m)&&g(y),onMouseLeave:()=>!(i||m)&&g(null),onClick:()=>v(y)},y)})]})};function SS({element:e,validationData:n}){const{register:i=()=>({})}=n||{},o=(e==null?void 0:e.options)||[],a=(e==null?void 0:e.options1)||[];return c.jsx("div",{className:ue("w-full overflow-x-auto",e.customClass),children:c.jsxs("table",{className:"w-full text-left border-collapse min-w-[600px] mb-2",children:[c.jsx("thead",{children:c.jsxs("tr",{children:[c.jsx("th",{className:"p-3 border-b bg-gray-50/50"}),a.map(s=>c.jsx("th",{className:"p-3 font-medium text-center border-b text-xs text-gray-700 w-[12%]",children:s.label},s.id||s.value))]})}),c.jsx("tbody",{children:o.map(s=>c.jsxs("tr",{className:"border-b last:border-0 hover:bg-gray-50/30",children:[c.jsx("td",{className:"p-3 text-gray-700 min-w-[150px] text-sm",children:s.label}),a.map(t=>c.jsx("td",{className:"p-3 text-center align-middle",children:c.jsx("input",{type:"radio",value:t.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-50",...i(`${e.id}.${s.value}`)})},t.id||t.value))]},s.id||s.value))})]})})}function Ic({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,trigger:a,isReadOnly:s,watch:t}=n||{},r=(t==null?void 0:t(e.id))||"",{country:l,state:u}=C.useMemo(()=>{var h;if(typeof r=="string"&&r.includes(",")){const[g,v]=(h=r.split(","))==null?void 0:h.map(p=>p.trim());return{country:v,state:g}}return{country:r,state:""}},[r]),d=C.useRef(r),b=C.useMemo(()=>{var h,g;return l?((g=(h=Di.find(v=>v.name===l))==null?void 0:h.states)==null?void 0:g.map(v=>({label:v.name,value:v.name})))||[]:[]},[l]),m=(h,g)=>{const p=(g==null?void 0:g.value)||"";o&&p!==d.current&&(o(e.id,p),a==null||a(e.id),d.current=p)},f=(h,g)=>{const v=(g==null?void 0:g.value)||"",p=v?`${v}, ${l}`:l;o&&p!==d.current&&(o(e.id,p),a==null||a(e.id),d.current=p)};return C.useEffect(()=>{d.current=r},[r]),c.jsxs("div",{className:"grid gap-y-6",children:[c.jsx("input",{type:"hidden",...i(e.id)}),c.jsx(ni,{options:e.options,onGetValue:m,name:`${e.id}-country`,readOnly:s,defaultValue:l},`country-${l}`),b.length>0&&e.showState&&c.jsxs("div",{children:[c.jsx("label",{className:"block text-sm font-medium mb-1.5 input_label",children:"State"}),c.jsx(ni,{options:b,onGetValue:f,name:`${e.id}-state`,readOnly:s,defaultValue:u},`state-${u}`)]})]})}function wS({element:e,validationData:n}){const{register:i=()=>({}),isReadOnly:o}=n||{},{validationUrl:a,documentObj:s,signatureLink:t}=e,r=C.useMemo(()=>Se("config"),[]),[l,u]=C.useState(!1),[d,b]=C.useState(!1),m=C.useCallback(async()=>{var f,h;if(!(!a||!s))try{b(!0);const v={headers:{Authorization:`Bearer ${Se("token")}`}},{data:p}=await mn.get(`${a}/${s}`,v),S=!!((h=(f=p==null?void 0:p.data)==null?void 0:f.isSigned)!=null?h:p!=null&&p.isSigned);return u(S),S}catch(g){console.error("Failed to check sign status",g)}finally{b(!1)}},[a,s]);return C.useEffect(()=>{let f=null;return!l&&s&&a&&(async()=>{await m()||(f=setInterval(async()=>{await m()&&f&&clearInterval(f)},2e3))})(),()=>{f&&clearInterval(f)}},[m,l,s,a]),c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsx("input",{placeholder:e.placeholder,type:e.inputType,className:ue("field-control",e.customClass),...i(e.id),disabled:o}),c.jsx("a",{href:l?"#":t,children:c.jsxs("button",{type:"button",onClick:m,disabled:d||l,style:{background:(r==null?void 0:r.buttonColor)||"#333"},className:ue("flex items-center gap-x-1 rounded-lg border border-gray-200 bg-gray-200 px-3 py-[10px] text-sm text-white",{"!opacity-60":d}),children:[c.jsx(se,{icon:d?"solar:refresh-outline":l?"solar:check-circle-bold":"solar:pen-2-line-duotone",iconClass:d?"animate-spin":""}),d?"Checking...":l?"Signed":"Sign"]})})]})}const ca=[{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 AS({label:e,placeholder:n,classLabel:i,isRequired:o,isOptional:a,name:s,value:t,error:r,disabled:l,readOnly:u,horizontal:d,description:b,validate:m,onChange:f,onError:h}){const[g,v]=C.useState(""),[p,S]=C.useState(null),[y,x]=C.useState(""),w=C.useMemo(()=>{var M;return(M=ca==null?void 0:ca.slice().sort((L,T)=>L.label.localeCompare(T.label)))==null?void 0:M.map(L=>({...L,phone:`+${L.phone}`}))},[]),A=C.useMemo(()=>g?w.filter(M=>`${M.label} ${M.phone}`.toLowerCase().includes(g.toLowerCase())):w,[g,w]),N=(p==null?void 0:p.min)||10,E=(p==null?void 0:p.max)||10,_=()=>y?`${(p==null?void 0:p.phone)||"+234"}-${y}`:"",P=M=>{if(!M)return{code:"+234",number:""};const L=M.split(/[-\s]/);return{code:L[0],number:L.slice(1).join(" ")}};C.useEffect(()=>{if(t){const M=P(t);S(w.find(L=>L.phone===M.code)||w[0]),x(M.number)}},[t,w]);const k=C.useMemo(()=>{if(r)return r;const M=y.length;return o&&M===0?"Phone number is required":M>0&&!/^\d+$/.test(y)?"Phone number must contain only digits":M>0&&M<N?`Minimum length is ${N}`:M>E?`Maximum length is ${E}`:""},[r,y,N,E,o]);return C.useEffect(()=>{f==null||f(_()),h==null||h(k||null)},[y,p,k]),c.jsxs("div",{className:`relative formGroup ${k&&!u?"has-error":""} ${d?"flex":""} ${!k&&y.length>0&&!u?"is-valid":""}`,children:[e&&c.jsxs("label",{htmlFor:s,className:`${i} ${d?"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&&c.jsx("span",{className:"text-red-500",children:"*"}),a&&c.jsx("span",{className:"text-[#98A2B3]",children:"(Optional)"})]}),c.jsxs("div",{className:"relative !flex items-center input-control text-[#667085] !py-0 field-control",children:[c.jsx(se,{icon:"lucide:phone-call"}),c.jsx(le.Combobox,{value:p,onChange:S,children:c.jsxs("div",{className:"relative",children:[c.jsx(le.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=>v(M.target.value)}),c.jsx(le.Combobox.Button,{className:"absolute inset-y-0 right-0 flex items-center pr-2",children:c.jsx(se,{icon:"lucide:chevron-down"})}),c.jsx(le.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((M,L)=>c.jsxs(le.Combobox.Option,{value:M,className:"px-4 py-2 cursor-pointer hover:bg-gray-100",children:[M.phone," - ",M.label]},`${M.code}+ ${L}`))})]})}),c.jsxs("div",{className:"relative flex items-center flex-1 z-[1]",children:[c.jsx("input",{type:"tel",inputMode:"numeric",value:y,disabled:l,readOnly:u,onChange:M=>{const L=M.target.value.replace(/\D/g,"");x(L)},placeholder:n,className:"w-full px-3 outline-none",maxLength:E,minLength:N}),c.jsx("div",{className:"absolute flex text-xl -translate-y-1/2 top-1/2 right-4",children:!k&&y.length>0&&!u&&c.jsx("span",{className:"text-green-500",children:c.jsx(se,{icon:"bi:check-lg"})})})]})]}),b&&c.jsx("span",{className:"block text-[#475467] font-light leading-4 text-xs mt-2",children:b})]})}function NS({element:e,validationData:n}){const{register:i=()=>({}),setValue:o,watch:a,isReadOnly:s,setError:t,clearErrors:r}=n||{};let l;return C.useEffect(()=>{i(e.id)},[e.id,i]),a&&(l=a()[e.id]),c.jsx(AS,{placeholder:e.placeholder,label:"",name:e.id,value:l,readOnly:s,disabled:s,onError:u=>{u?t==null||t(e.id,{type:"manual",message:u}):r==null||r(e.id)},onChange:u=>{u&&(o==null||o(e.id,u))}})}function CS({element:e,validationData:n}){var u;const{register:i=()=>({}),watch:o}=n||{};let a="";o&&(a=(u=o()[e.id])!=null?u:"");const s=a.trim(),t=/^https?:\/\//i.test(s),r=s?t?s:`https://${s}`:"",l=!t;return c.jsxs("div",{children:[!(n!=null&&n.isReadOnly)&&c.jsxs("div",{className:"relative",children:[l&&c.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://"}),c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Enter Url link",type:"text",className:ue("field-control",l&&"!pl-16",e==null?void 0:e.customClass),...i(e==null?void 0:e.id),disabled:n==null?void 0:n.isReadOnly})]}),s?c.jsx("div",{className:n!=null&&n.isReadOnly?"field-control !bg-gray-50 mt-1":"mt-1 text-xs",children:c.jsx("a",{title:"Visit link",target:"_blank",rel:"noopener noreferrer",className:"hover:underline text-blue-700 break-all",href:r,children:s})}):(n==null?void 0:n.isReadOnly)&&c.jsx("div",{className:"field-control !bg-gray-50 mt-1 text-gray-400 text-sm",children:"No link provided"})]})}function _S({element:e,validationData:n}){var l;const{watch:i,setValue:o}=n||{},a=(e==null?void 0:e.formula)||"",s=C.useMemo(()=>{const d=(a.match(/\{\{([^{}]+)\}\}/g)||[]).map(f=>f.replace(/[{}]/g,"")),m=(a.match(/@\[.*?\]\((.*?)\)/g)||[]).map(f=>{const h=/@\[.*?\]\((.*?)\)/.exec(f);return h?h[1]:""}).filter(Boolean);return Array.from(new Set([...d,...m]))},[a]),t=i?i(s):[],r=C.useMemo(()=>{if(!a)return"";let u=a,d=!1;if(s.forEach((b,m)=>{const f=t[m],h=Number(f);(isNaN(h)||f===void 0||f===null||f==="")&&(d=!0),u=u.replace(new RegExp(`\\{\\{${b}\\}\\}`,"g"),String(h||0)),u=u.replace(new RegExp(`@\\[.*?\\]\\(${b}\\)`,"g"),String(h||0))}),d)return"";try{const b=u.replace(/[^0-9+\-*/().\s]/g,"");if(!b)return"";const m=new Function(`return ${b}`)();return!isNaN(m)&&m!==null?Number.isInteger(m)?m:Number(m.toFixed(2)):""}catch(b){return"Error"}},[a,s,t]);return C.useEffect(()=>{o&&r!=="Error"&&r!==""&&o(e.id,r,{shouldValidate:!0,shouldDirty:!0})},[r,e.id,o]),c.jsx("div",{children:c.jsx("input",{placeholder:(e==null?void 0:e.placeholder)||"Calculated result",type:"text",className:ue("field-control bg-gray-100 cursor-not-allowed",e==null?void 0:e.customClass),value:r,readOnly:!0,disabled:!0,"aria-invalid":!!((l=n==null?void 0:n.errors)!=null&&l[e==null?void 0:e.id])})})}function ES({element:e,validationData:n,state:i}){var f;const{register:o,watch:a,setValue:s}=n||{},[t,r]=C.useState({}),[l,u]=C.useState(0),d=a?a(e.id):null,b=!!(d||i&&i!=="edit");C.useEffect(()=>{if(!e.fetchExternalResults||!e.externalApiUrl)return;const h=async()=>{try{const v=await fetch(e.externalApiUrl);if(!v.ok)return;const p=await v.json();let S={};Array.isArray(p)?p.forEach(x=>{const w=x.value||x.id||x.option,A=x.count||x.votes||x.value||0;w&&(S[w]=Number(A))}):typeof p=="object"&&(S=p),r(S);const y=Object.values(S).reduce((x,w)=>x+Number(w),0);u(y)}catch(v){console.error("Failed to fetch polling results",v)}};h();const g=setInterval(h,1e4);return()=>clearInterval(g)},[e.fetchExternalResults,e.externalApiUrl]),C.useEffect(()=>{e.fetchExternalResults||(d?(r({[d]:1}),u(1)):(r({}),u(0)))},[d,e.fetchExternalResults]);const m=h=>{n!=null&&n.isReadOnly||s&&s(e.id,h,{shouldValidate:!0,shouldDirty:!0})};return c.jsxs("div",{className:"w-full",children:[c.jsx("div",{className:"grid gap-y-3",children:(f=e.options)==null?void 0:f.map(h=>{const g=t[h.value]||0,v=l>0?Math.round(g/l*100):0,p=d===h.value;return c.jsxs("div",{onClick:()=>m(h.value),className:ue("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",p?"border-blue-500 ring-1 ring-blue-500":"border-gray-200"),children:[b&&c.jsx("div",{className:"absolute top-0 left-0 bottom-0 bg-blue-100/60 transition-all duration-1000 ease-out",style:{width:`${v}%`}}),c.jsxs("div",{className:"relative z-10 flex items-center gap-3",children:[c.jsx("div",{className:ue("flex-shrink-0 w-5 h-5 rounded-full border flex items-center justify-center transition-colors",p?"border-blue-500 bg-blue-500":"border-gray-300 bg-white"),children:p&&c.jsx("div",{className:"w-2 h-2 bg-white rounded-full"})}),c.jsx("span",{className:ue("font-medium text-sm",p?"text-blue-900":"text-gray-700"),children:h.label||h.name||h.option||h.value||"Unknown Option"})]}),b&&c.jsxs("div",{className:"relative z-10 flex items-center gap-2",children:[c.jsxs("span",{className:"text-sm font-semibold text-gray-700",children:[v,"%"]}),p&&c.jsx(se,{icon:"material-symbols:check-circle",iconClass:"text-blue-500 text-lg"})]}),c.jsx("input",{type:"radio",value:h.value,className:"hidden",...o?o(e.id):{}})]},h.id||h.value)})}),b&&c.jsxs("div",{className:"mt-3 text-xs text-gray-500 text-right flex justify-between items-center",children:[c.jsxs("span",{children:[l," ",l===1?"vote":"votes"," total"]}),e.fetchExternalResults&&e.externalApiUrl&&c.jsxs("span",{className:"flex items-center gap-1",children:[c.jsx("span",{className:"w-2 h-2 rounded-full bg-green-500 animate-pulse"})," Live"]})]})]})}const Lc={textField:$o,longText:T1,selectField:M1,multiSelect:aa,numberField:$o,amountField:sS,date:yx,password:C1,checkbox:k1,radio:_1,email:$o,file:N1,dataGrid:gS,section:E1,validateInput:lS,tableInput:dS,spacer:cS,divider:bS,header:mS,basicText:fS,phoneField:NS,cascadeSelect:yS,rating:xS,matrix:SS,country:Ic,bank:Ic,document:wS,url:CS,calculatedField:_S,polling:ES},Bc="edit",kS=(e,n)=>{var o;const i=Lc[e.type];return i?c.jsx(da,{element:e,state:Bc,children:c.jsxs("div",{className:"relative w-full",children:[((o=e.type)==null?void 0:o.toLowerCase())!=="grid"&&c.jsx("div",{className:"absolute top-0 left-0 z-20 w-full h-full"}),c.jsx(i,{element:e,state:Bc,sectionId:n})]})}):c.jsx("div",{className:"flex items-center justify-center p-4 text-red-500 bg-red-50 border border-red-200 rounded-md",children:c.jsxs("span",{className:"text-sm font-medium",children:["Unsupported element type: ",e.type]})})},Fi=({col:e,children:n,customClass:i})=>c.jsx("div",{className:ue("w-full bg-white min-w-0",i),style:{gridColumn:e},children:n}),MS=({element:e,sectionId:n,children:i,customClass:o,state:a,draggedElementId:s})=>{const{formData:t,addElement:r,setIsDragging:l,moveElement:u,isDragging:d,removeElement:b}=C.useContext(Ce),m=C.useMemo(()=>Array.from({length:e.columns}),[e.columns]),[f,h]=C.useState(null);C.useEffect(()=>{const x=()=>{h(null),l(!1)};return document.addEventListener("dragend",x),()=>document.removeEventListener("dragend",x)},[l]);const g=C.useCallback((x,w)=>{x.preventDefault(),x.stopPropagation(),x.dataTransfer.dropEffect="move",h(w)},[]),v=C.useCallback((x,w)=>{x.preventDefault(),x.stopPropagation(),h(w)},[]),p=C.useCallback((x,w)=>{const A=x.relatedTarget;A&&x.currentTarget.contains(A)||h(N=>N===w?null:N)},[]),S=C.useCallback((x,w)=>{var E;x.preventDefault(),x.stopPropagation(),l(!1),h(null);const A=w+1,N=x.dataTransfer.getData("elementId");if(N){u({draggedId:N,sectionId:n,targetGridId:e.id,targetCol:A});return}try{const _=x.dataTransfer.getData("properties");if(!_)return;const P=JSON.parse(_);if((P==null?void 0:P.type)==="grid")return;const k=t.find(T=>T.id===n),M=(E=k==null?void 0:k.questionData)==null?void 0:E.find(T=>{var O;return T.gridId===e.id&&((O=T.gridPosition)==null?void 0:O.col)===A});M&&b(M.id,n);const L={...P,id:_e.v4(),sectionId:n,gridId:e.id,gridPosition:{col:A}};r(L,n)}catch(_){console.error("Drop failed in grid:",_),l(!1)}},[r,e.id,t,n,l,u]),y=(x,w,A)=>{var O,B,K;const N=x+1,E=(B=(O=t.find(G=>G.id===n))==null?void 0:O.questionData)==null?void 0:B.find(G=>{var I;return G.gridId===e.id&&((I=G.gridPosition)==null?void 0:I.col)===N}),_=(K=E==null?void 0:E.id)!=null?K:null,P=Array.isArray(i)&&i.find(G=>{var I;return((I=G==null?void 0:G.props)==null?void 0:I.col)===N}),k=d&&f===x,M=!!P,L=d&&!!s,T=M&&_&&A==="edit"?{draggable:!0,onDragStart:G=>{G.stopPropagation(),G.dataTransfer.setData("elementId",_),G.dataTransfer.setData("properties",_),G.dataTransfer.effectAllowed="move",l(!0)},onDragEnd:()=>{h(null),l(!1)}}:{};return c.jsx("div",{className:"min-w-0",children:c.jsxs("div",{id:`grid-cell-${e.id}-${x}`,...T,onDrop:G=>S(G,x),onDragEnter:G=>v(G,x),onDragOver:G=>g(G,x),onDragLeave:G=>p(G,x),className:ue("relative border rounded-lg min-h-[110px] min-w-0","flex items-center justify-center","transition-all duration-200 ease-in-out",A==="edit"?"py-3 ":"",M&&A==="edit"&&"cursor-grab active:cursor-grabbing border-none",w,!L&&!k&&"bg-white border-gray-200 text-gray-300",L&&!k&&!M&&"bg-blue-50 border-blue-200 border-dashed text-blue-300",L&&!k&&M&&"bg-white border-orange-200 border-dashed",k&&!M&&"bg-blue-100 border-blue-400 border-dashed shadow-inner scale-[1.01] text-blue-500",k&&M&&"bg-orange-50 border-orange-400 border-dashed shadow-inner scale-[1.01] text-orange-500"),children:[M&&A==="edit"&&c.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:c.jsx(se,{icon:"ph:dots-six-bold"})}),k&&!M&&c.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:[c.jsx(se,{icon:"ph:plus-bold"}),"Drop here"]}),k&&M&&c.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"}),c.jsx("div",{className:ue("w-full select-none min-w-0",k&&"opacity-50 pointer-events-none"),children:P||c.jsx("span",{className:"flex items-center justify-center text-gray-300",children:A==="edit"&&c.jsx(se,{icon:"ph:plus-bold"})})})]})},x)};return c.jsx("div",{className:"relative w-full",children:c.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,w)=>y(w,o,a))})})},Gi=C.memo(MS),TS="edit";function ba({index:e,onDrop:n,onDragEnd:i,isDragging:o}){const[a,s]=C.useState(!1),t=a?52:o?28:4;return c.jsx("div",{onDragEnter:r=>{r.preventDefault(),s(!0)},onDragOver:r=>{r.preventDefault(),r.stopPropagation(),s(!0)},onDragLeave:()=>s(!1),onDrop:r=>{r.preventDefault(),r.stopPropagation(),s(!1),n(r,e)},onDragEnd:()=>{s(!1),i()},style:{height:`${t}px`},className:ue("w-full rounded-md flex items-center justify-center","transition-all duration-150 ease-in-out overflow-hidden",a?"bg-blue-50 border-2 border-blue-300 border-dashed":o?"border-2 border-blue-200 border-dashed":"border-2 border-transparent"),children:a&&c.jsxs("span",{className:"flex items-center gap-1 text-blue-500 text-xs font-medium select-none pointer-events-none",children:[c.jsx(se,{icon:"octicon:plus-16"}),"Drop here"]})})}function PS({elementData:e,sectionId:n}){const{formData:i,isDragging:o,setIsDragging:a,addElementInPosition:s,moveElement:t}=C.useContext(Ce),[r,l]=C.useState(null),u=C.useMemo(()=>{var p;return((p=i.find(S=>S.id===n))==null?void 0:p.questionData)||[]},[i,n]),d=C.useCallback((p,S)=>{p.dataTransfer.setData("elementId",S),p.dataTransfer.setData("properties",S),p.dataTransfer.effectAllowed="move",l(S),a(!0)},[a]),b=C.useCallback(()=>{l(null),a(!1)},[a]);C.useEffect(()=>{!o&&r&&l(null)},[o,r]);const m=C.useCallback(p=>{p.preventDefault(),p.stopPropagation();const S=p.dataTransfer.getData("elementId"),y=p.currentTarget.id;if(!S||!y||S===y){b();return}const x=u.find(A=>A.id===S),w=u.findIndex(A=>A.id===y);x!=null&&x.gridId&&w!==-1?t({draggedId:S,sectionId:n,targetIndex:w}):t({draggedId:S,sectionId:n,targetId:y}),l(null),a(!1)},[n,t,a,b,u]),f=C.useCallback((p,S)=>{p.preventDefault(),p.stopPropagation(),a(!1);const y=p.dataTransfer.getData("elementId");if(y){t({draggedId:y,sectionId:n,targetIndex:S}),l(null);return}try{const x=JSON.parse(p.dataTransfer.getData("properties"));if((x==null?void 0:x.type)==="section")return;const w={...x,id:_e.v4(),sectionId:n};s(w,n,S),l(null)}catch(x){console.error("Drop error:",x)}},[s,n,a,t]),h=C.useCallback((p,S=!1)=>c.jsx("div",{id:p.id,draggable:!0,onDragStart:y=>d(y,p.id),onDragOver:S?void 0:y=>{y.preventDefault(),y.stopPropagation()},onDrop:S?void 0:m,onDragEnd:b,className:ue("cursor-grab active:cursor-grabbing border p-4 w-full rounded-lg","transition-all duration-200 ease-in-out",r===p.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:kS(p,n)},p.id),[r,m,n,d,b]),g=C.useMemo(()=>(e==null?void 0:e.reduce((p,S)=>(S.gridId&&(p[S.gridId]=p[S.gridId]||[],p[S.gridId].push(S)),p),{}))||{},[e]);if(!(e!=null&&e.length))return c.jsx("div",{onDragOver:p=>p.preventDefault(),onDrop:p=>f(p,0),onDragEnd:b,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 v=e.filter(p=>!p.gridId);return c.jsxs("div",{className:"relative flex flex-col w-full h-full gap-2",children:[c.jsx(ba,{index:0,isDragging:o,onDrop:f,onDragEnd:b}),v.map(p=>{const S=u.findIndex(y=>y.id===p.id);if(p.type==="grid"){const y=g[p.id]||[],x=r===p.id,w=!!r&&!x;return c.jsxs("div",{className:"flex flex-col gap-0",children:[c.jsx("div",{id:p.id,draggable:!0,onDragStart:A=>d(A,p.id),onDragOver:A=>{A.preventDefault(),A.stopPropagation()},onDrop:m,onDragEnd:b,className:ue("w-full p-4 border rounded-lg cursor-grab active:cursor-grabbing","transition-all duration-200 ease-in-out",x?"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:c.jsx(da,{element:p,state:"edit",children:c.jsx(Gi,{element:p,sectionId:n,state:TS,draggedElementId:r,children:y==null?void 0:y.map(A=>{var N;return c.jsx(Fi,{col:(N=A.gridPosition)==null?void 0:N.col,children:h(A,!0)},A.id)})})})}),c.jsx(ba,{index:S+1,isDragging:o,onDrop:f,onDragEnd:b})]},p.id)}return c.jsxs("div",{className:"flex flex-col gap-0",children:[h(p),c.jsx(ba,{index:S+1,isDragging:o,onDrop:f,onDragEnd:b})]},p.id)})]})}const IS=C.memo(PS),LS=ie.object({title:ie.string(),description:ie.string(),disabled:ie.boolean().default(!1),isHidden:ie.boolean().default(!1)}).required(),ma=Se("config"),BS=({isOpen:e,onClose:n,section:i})=>{const{updateSection:o}=C.useContext(Ce),{register:a,handleSubmit:s,watch:t,formState:{errors:r,isSubmitting:l,isValid:u},reset:d}=Xe.useForm({resolver:sa(LS),defaultValues:i});if(C.useEffect(()=>{e||d()},[e,d]),!e)return null;const b=f=>{o(f,i.id),n()},m=t();return c.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:c.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[c.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 mb-6",children:[c.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Update Section Information"}),c.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:c.jsx(se,{icon:"tabler:x"})})]}),c.jsxs("form",{onSubmit:s(b),className:"w-full",children:[c.jsxs("div",{className:"w-full px-6 flex flex-col gap-5 z-10",children:[c.jsx(te,{label:"Title",name:"title",register:a,errors:r,watch:t}),c.jsx(te,{label:"Description",name:"description",register:a,errors:r,watch:t,type:"textarea"}),c.jsx(te,{label:"Disable Section",name:"disabled",register:a,errors:r,watch:t,type:"checkbox",value:m.disabled,description:"Disables all fields in this section"}),c.jsx(te,{label:"Hide Section",name:"isHidden",register:a,errors:r,watch:t,type:"checkbox",value:m.isHidden,description:"Hides this section from the form"})]}),c.jsxs("div",{className:"w-full px-6 pt-8 pb-6 flex gap-3 mt-4",children:[c.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"}),c.jsx("button",{type:"submit",disabled:!u||l,style:{background:(ma==null?void 0:ma.buttonColor)||"#333"},className:`flex-1 px-4 py-2.5 ${!u||l?"bg-[#F2F4F7]":"bg-[#2563EB]"} ${!u||l?"text-[#98A2B3]":"text-white"} rounded-lg shadow-xs font-semibold font-onest disabled:opacity-50`,children:l?"Saving...":"Save"})]})]})]})})},OS=({isOpen:e,onClose:n,templates:i,onSelect:o})=>e?c.jsx("div",{className:"fixed inset-0 bg-black/30 flex items-center justify-center z-[999] cursor-default no-drag select-none",children:c.jsxs("div",{className:"min-w-[600px] bg-white rounded-xl shadow-xl relative flex flex-col items-center",children:[c.jsxs("div",{className:"w-full px-6 pt-6 pb-5 flex flex-col items-start gap-4 z-10 border-b",children:[c.jsx("h2",{className:"text-lg font-semibold text-[#475467] font-onest",children:"Select a Template"}),c.jsx("button",{onClick:n,className:"absolute right-4 top-4 p-2 text-[#98A2B3] hover:bg-gray-50 rounded-lg",children:c.jsx(se,{icon:"tabler:x"})})]}),c.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(a=>c.jsxs("div",{className:"p-4 border rounded-lg cursor-pointer hover:border-blue-500 hover:shadow-md transition-all",onClick:()=>{o(a),n()},children:[c.jsx("h3",{className:"font-semibold text-[#344054] mb-1",children:a.name}),a.description&&c.jsx("p",{className:"text-sm text-[#475467]",children:a.description})]},a.id)):c.jsx("p",{className:"text-sm text-gray-500",children:"No templates available."})})]})}):null,DS=[{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"}]}]}],qS=({section:e,index:n,selectedSection:i,setSelectedSection:o,activeSections:a,toggleSection:s,handleSectionEdit:t,removeSection:r,formDataLength:l,onDragOver:u,setIsDragging:d,onReorderSection:b})=>{var h,g;const m=C.useRef(null),f=C.useRef((h=e.questionData)==null?void 0:h.length);return C.useEffect(()=>{var v;e.questionData.length>f.current&&m.current&&requestAnimationFrame(()=>{var p;(p=m.current)==null||p.scrollTo({top:m.current.scrollHeight,behavior:"smooth"})}),f.current=(v=e.questionData)==null?void 0:v.length},[(g=e.questionData)==null?void 0:g.length]),c.jsx("div",{ref:m,onDragOver:v=>{v.dataTransfer.types.includes("sectionid")&&v.preventDefault()},onDrop:v=>{const p=v.dataTransfer.getData("sectionid");p&&(v.preventDefault(),v.stopPropagation(),b&&b(p,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:c.jsxs("div",{className:` border border-gray-200 rounded-lg px-4 transition-colors duration-200
|
|
27
27
|
${i===e.id?" border-blue-200 bg-gray-100":"bg-white"} ${a.includes(n)?"min-h-[300px] pb-6 ":""}`,children:[c.jsxs("div",{className:"flex items-center justify-between",children:[c.jsxs("div",{draggable:!0,onDragStart:v=>{v.dataTransfer.setData("sectionid",e.id),v.dataTransfer.effectAllowed="move",d(!0)},onDragEnd:()=>d(!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:[c.jsx(se,{icon:"material-symbols:drag-indicator",iconClass:"text-gray-400 text-lg"}),c.jsx("h2",{className:"font-medium",children:e.title||"Section title"})]}),c.jsxs("div",{className:"flex items-center gap-x-2",children:[c.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>t(e),children:c.jsx(se,{icon:"fluent:edit-28-regular"})}),l>1&&c.jsx("button",{type:"button",className:"p-1 text-xs border rounded-lg",onClick:()=>r(e.id),children:c.jsx(se,{icon:"lets-icons:trash-duotone-line"})}),c.jsx("button",{type:"button",className:"p-1 text-xs rounded-lg",onClick:()=>s(n),children:c.jsx(se,{icon:a.includes(n)?"fa6-solid:chevron-up":"fa6-solid:chevron-down",iconClass:"text-base"})})]})]}),(e==null?void 0:e.description)&&a.includes(n)&&c.jsx("p",{className:"mt-2 text-sm text-gray-600",children:e==null?void 0:e.description}),a.includes(n)&&c.jsxs("div",{className:"h-full mt-4 transition-all duration-200",id:e.id,onDragOver:u,onDragEnd:()=>d(!1),onClick:()=>o(e.id),children:[c.jsx("hr",{className:"group-last:hidden"}),c.jsx("div",{className:"h-full mt-4 gap-y-6 ",children:c.jsx(IS,{elementData:e.questionData,sectionId:e.id})})]})]})},e.id)},FS=({onAddTemplate:e,templates:n})=>{const i=[...DS,...n||[]],[o,a]=C.useState(!1),[s,t]=C.useState(!1),r=C.useRef(null),l=C.useRef(null),{removeSection:u,addSection:d,formData:b,setIsDragging:m,setSelectedSection:f,selectedSection:h,activeSections:g,setActiveSections:v,setFormData:p}=C.useContext(Ce),S=C.useRef((b==null?void 0:b.length)||0);C.useEffect(()=>{var _;f(((_=b[0])==null?void 0:_.id)||null)},[]),C.useEffect(()=>{(b==null?void 0:b.length)>S.current&&l.current&&requestAnimationFrame(()=>{var _;(_=l.current)==null||_.scrollTo({top:l.current.scrollHeight,behavior:"smooth"})}),S.current=(b==null?void 0:b.length)||0},[b==null?void 0:b.length]);const y=C.useCallback(_=>{_.preventDefault(),_.dataTransfer.dropEffect="move",l.current&&(l.current.scrollTop=l.current.scrollHeight)},[]),x=C.useCallback((_,P)=>{p(k=>{const M=k.findIndex(B=>B.id===_),L=k.findIndex(B=>B.id===P);if(M===-1||L===-1||M===L)return k;const T=[...k],[O]=T.splice(M,1);return T.splice(L,0,O),T})},[p]);function w(_){g.includes(_)?v(P=>P.filter(k=>k!==_)):v(P=>[...P,_])}function A(_){r.current=_,a(!0)}const N=_=>{const P=(k,M={})=>({...JSON.parse(JSON.stringify(k)),...M});if(_.sections&&Array.isArray(_.sections)){const M=_.sections.filter(Boolean).map(T=>{var K;const O=_e.v4(),B=(K=T.questionData)==null?void 0:K.map(G=>P(G,{id:_e.v4(),sectionId:O}));if(B){const G=new Map;T.questionData.forEach((I,Y)=>{G.set(I.id,B[Y].id)}),B.forEach(I=>{I.gridId&&G.has(I.gridId)&&(I.gridId=G.get(I.gridId))})}return P(T,{id:O,questionData:B||[]})});b.length===1&&b[0].title===""&&b[0].description===""&&(!b[0].questionData||b[0].questionData.length===0)?(p(M),M.length>0&&f(M[0].id)):p(T=>[...T,...M])}},E=Se("config");return c.jsxs("div",{ref:l,className:"relative flex flex-col h-full pb-5 mx-auto gap-x-4 ",children:[o&&c.jsx(BS,{isOpen:o,onClose:()=>a(!1),section:r.current}),c.jsxs("div",{id:"section-container",className:"relative flex flex-col flex-1 w-full gap-y-3 container overflow-y-auto",children:[b==null?void 0:b.map((_,P)=>c.jsx(qS,{section:_,index:P,selectedSection:h,setSelectedSection:f,activeSections:g,toggleSection:w,handleSectionEdit:A,removeSection:u,formDataLength:b.length,onDragOver:y,setIsDragging:m,onReorderSection:x},_.id)),c.jsxs("div",{className:"flex justify-center gap-x-4",children:[c.jsxs("button",{type:"button",onClick:()=>d(),style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"text-sm font-medium",children:["+ Add section"," "]}),e||i!=null&&i.length?c.jsx("button",{type:"button",onClick:()=>{i!=null&&i.length?t(!0):e&&e()},style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"text-sm font-medium",children:"+ Add existing template"}):null]})]}),s&&c.jsx(OS,{isOpen:s,onClose:()=>t(!1),templates:i,onSelect:N})]})},GS=()=>{const{formData:e,uploadUrl:n}=C.useContext(Ce),[i,o]=C.useState("multi"),a=Se("config");return c.jsxs("div",{className:"flex flex-col h-full w-full",children:[c.jsx("div",{className:"flex justify-center p-3 border-b border-gray-100 bg-gray-50/50",children:c.jsxs("div",{className:"flex bg-gray-200 p-1 rounded-lg text-sm font-medium",children:[c.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"}),c.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"})]})}),c.jsx("div",{className:"flex-1 overflow-y-auto w-full relative",children:c.jsx(ga,{form_data:e,ignoreValidation:!0,config:a,uploadUrl:n,renderType:i,onGetValues:s=>console.log(s)})})]})},fa=({loadingClass:e})=>{const n=ue("h-full w-full min-h-[300px] flex justify-center items-center",e);return C.useEffect(()=>{const i=Se("config"),o=(i==null?void 0:i.loaderColor)||"#333";document.documentElement.style.setProperty("--loader-color",o)},[]),c.jsx("div",{className:n,children:c.jsx("span",{className:"loader"})})},KS=C.lazy(()=>Promise.resolve().then(()=>DP));function HS({questionData:e,uploadUrl:n,onAddTemplate:i,templates:o,viewMode:a="canvas"}){const{setFormData:s,addSection:t,setUploadUrl:r,showPreview:l,formData:u}=C.useContext(Ce);C.useEffect(()=>{e&&e.length>0&&s(e)},[e,s]),C.useEffect(()=>{r(n)},[n,r]);const d=C.useCallback(b=>{b.preventDefault();try{const m=JSON.parse(b.dataTransfer.getData("properties"));if((m==null?void 0:m.type)==="section"){t();return}}catch(m){console.error("Drop error:",m)}},[]);return c.jsxs("div",{className:"flex gap-x-6 h-full",children:[c.jsx("div",{onDragOver:b=>b.preventDefault(),onDrop:b=>d(b),className:" h-full overflow-y-auto no-scrollbar max-h-[calc(100vh-80px)] flex-1 form_builder",children:a==="canvas"?c.jsx(FS,{onAddTemplate:i,templates:o}):c.jsx(C.Suspense,{fallback:c.jsx(fa,{loadingClass:"!w-full !h-full"}),children:c.jsx(KS,{formData:u})})}),a==="canvas"&&c.jsx(le.Transition,{show:l,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:c.jsx("div",{className:"px-2 shadow_box min-w-0 bg-white border border-gray-100 rounded-lg container",children:c.jsx(GS,{})})})]})}const va=[{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"}],VS=()=>{const[e,n]=C.useState(""),{setIsDragging:i,addElement:o,selectedSection:a}=C.useContext(Ce),s=C.useCallback((f,h)=>{if(!a){Pe.toast.error("Please select a section to add an element.");return}f.dataTransfer.setData("properties",JSON.stringify(h)),f.dataTransfer.effectAllowed="move",i(!0)},[i,a]);function t(f){if(!a){Pe.toast.error("Please select a section to add an element.");return}const h={...f,id:_e.v4(),sectionId:a};o(h,a)}const r=Se("config")||{},l=r.elementColor,u=r.elementBgColor,d=r.elementBorderColor,b=B1.filter(f=>f.label.toLowerCase().includes(e.toLowerCase())),m=va==null?void 0:va.map(f=>({title:f.title,elements:b.filter(h=>{var g;return(g=O1[f.key])==null?void 0:g.includes(h.type)})})).filter(f=>f.elements.length>0);return c.jsxs("div",{className:"pt-4 flex flex-col gap-y-6",children:[c.jsx("div",{className:"px-5",children:c.jsx("input",{className:"field-control",placeholder:"Search",value:e,onChange:f=>n(f.target.value),name:"search",id:"search"})}),c.jsx("div",{className:"flex-1 overflow-y-auto no-scrollbar max-h-[calc(100vh-100px)]",children:c.jsx("ul",{className:"grid gap-y-5 mt-3 px-5 ",children:m==null?void 0:m.map((f,h)=>{var g;return c.jsxs("li",{children:[c.jsx("h4",{className:"mb-2 text-[11px] font-bold text-gray-500 uppercase",children:f.title}),c.jsx("ul",{className:"grid grid-cols-2 gap-y-3 gap-x-4 mb-3",children:(g=f.elements)==null?void 0:g.map(v=>c.jsx("li",{onDragStart:p=>s(p,v),onDragEnd:()=>i(!1),onClick:()=>t(v),style:{borderColor:d,backgroundColor:u},className:`cursor-move text-[#475467] flex justify-between items-center \r
|
|
28
28
|
border-[1.5px] border-[#98A2B3] rounded-lg py-2 px-2 shadow-custom\r
|
|
29
29
|
hover:shadow-lg transition-all duration-200\r
|
|
30
|
-
active:opacity-50 element_class`,draggable:!0,children:c.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[c.jsx("span",{style:{color:l},children:c.jsx(se,{icon:v.icon,iconClass:"w-6 h-6"})}),c.jsx("span",{style:{color:l},className:"text-xs font-medium text-center",children:v.label})]})},v.type))})]},h)})})})]})},zS=C.memo(VS),Xe=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:a="",iconPosition:s="left",iconClass:t="text-[20px]",loadingClass:r="",link:l="",div:u=!1,type:d="button",style:b,onClick:m})=>{const f=ue("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),h=()=>i?c.jsxs(c.Fragment,{children:[c.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:[c.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),c.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..."]}):c.jsxs("span",{className:"flex items-center",children:[a&&s==="left"&&c.jsx("span",{className:`mr-[6px] ${t}`,children:c.jsx(se,{icon:a})}),e&&c.jsx("span",{children:e}),a&&s==="right"&&c.jsx("span",{className:`ml-[6px] ${t}`,children:c.jsx(se,{icon:a})})]});return u?c.jsx("div",{className:f,children:h()}):l?c.jsx(px.Link,{to:l,className:f,children:h()}):c.jsx("button",{disabled:n,type:d,className:f,"data-testid":"btn",onClick:m,style:b,children:h()})};function jS(){return c.jsx("div",{children:c.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),c.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),c.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const US=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=C.useContext(Ce);if(!e)return null;const a=Se("config");return c.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:[c.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:c.jsx(jS,{})})," ",c.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:c.jsx(ga,{form_data:i,ignoreValidation:!0,config:a,uploadUrl:o})})]})};function WS(){return c.jsx("div",{children:c.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),c.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function $S({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:a,saveLoading:s,publishLoading:t,onTitleChange:r,viewMode:l,setViewMode:u}){const{formData:d,setShowPreview:b,showPreview:m,undo:f,redo:h,canUndo:g,canRedo:v}=C.useContext(Ce),[p,S]=C.useState(!1),[y,x]=C.useState(!1),[w,A]=C.useState(e||""),N=Se("config");function E(){localStorage.setItem("formData",JSON.stringify(d)),i==null||i(d)}function _(){localStorage.setItem("formData",JSON.stringify(d)),o==null||o(d)}function P(){x(!1),r&&w!==e&&r(w.trim())}return c.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[c.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&c.jsx("button",{type:"button",onClick:()=>n(),style:{color:(N==null?void 0:N.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:c.jsx(WS,{})})," ",y?c.jsx("input",{type:"text",value:w,onChange:k=>A(k.target.value),onBlur:P,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):c.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>x(!0),children:w||"Untitled"})]}),p&&c.jsx(US,{isOpen:p,onClose:()=>S(!1),element:void 0}),c.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&c.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[c.jsxs("button",{type:"button",style:{color:(N==null?void 0:N.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${l==="canvas"?"bg-gray-100 font-medium":"bg-white text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[c.jsx(se,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),c.jsxs("button",{type:"button",style:{color:(N==null?void 0:N.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${l==="flow"?"bg-gray-100 font-medium":"bg-white text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[c.jsx(se,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),c.jsx(Xe,{onClick:f,text:"",btnClass:`!px-2 bg-transparent undo ${g?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(N==null?void 0:N.buttonColor)||"#333"},isDisabled:!g}),c.jsx(Xe,{onClick:h,text:"",btnClass:`!px-2 bg-transparent redo ${v?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(N==null?void 0:N.buttonColor)||"#333"},isDisabled:!v}),c.jsx(Xe,{onClick:()=>b(k=>!k),text:m?"Hide Preview":"Preview",btnClass:"px-2 bg-transparent font-medium text-sm form_preview",icon:m?"iconamoon:eye-off-duotone":"solar:eye-bold-duotone",iconClass:"text-base",style:{color:(N==null?void 0:N.buttonColor)||"#333"},isDisabled:a,isLoading:a}),c.jsx(Xe,{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:(N==null?void 0:N.buttonColor)||"#333"},isDisabled:s,isLoading:s}),c.jsx(Xe,{onClick:_,text:"Publish",style:{background:(N==null?void 0:N.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:t,isLoading:t})]})]})}function YS({onSubmit:e,onChange:n,onLogAction:i,questionData:o,title:a,goBackUrl:s,loading:t,onPublish:r,previewLoading:l,saveLoading:u,publishLoading:d,onTitleChange:b,uploadUrl:m,onAddTemplate:f,templates:h}){const[g,v]=C.useState("canvas");return c.jsxs(Qd,{onChange:n,onLogAction:i,children:[c.jsx(Pe.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),c.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:c.jsxs("div",{className:"flex flex-1 ",children:[g==="canvas"&&c.jsx("div",{children:c.jsx("div",{className:"w-[250px] h-screen border-r border-[#E4E7EC] bg-white ",children:c.jsx(zS,{})})}),c.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${g==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[c.jsx("div",{className:" h-[70px]",children:c.jsx($S,{title:a,goBackUrl:s,onSubmit:e,onPublish:r,previewLoading:l,saveLoading:u,publishLoading:d,onTitleChange:b,viewMode:g,setViewMode:v})}),c.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:t?c.jsx(fa,{loadingClass:"!w-full !h-[800px]"}):c.jsx(HS,{questionData:o,uploadUrl:m,onAddTemplate:f,templates:h,viewMode:g})})]})]})})]})}const JS=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:a,config:s={buttonColor:"#333"},title:t,loading:r,goBackUrl:l,onPublish:u,previewLoading:d,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:h,onAddTemplate:g,templates:v})=>(C.useEffect(()=>{s&&_c("config",s)},[s]),c.jsx(YS,{onSubmit:e,onChange:n,onLogAction:i,onPublish:u,questionData:o,isReadOnly:a,title:t,goBackUrl:l,loading:r,previewLoading:d,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:h,onAddTemplate:g,templates:v})),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}`},ZS=(e,n=!1)=>({textField:ie.string().nullable(),longText:ie.string().nullable(),numberField:ie.number().nullable().transform(o=>isNaN(o)?null:o),amountField:ie.number().nullable().transform(o=>isNaN(o)?null:o),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,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:ie.date().nullable().transform((o,a)=>n&&a===""?null:o).typeError("Invalid date"),url:ie.string().nullable().test("url-format",rn.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||ie.mixed().nullable(),XS=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||rn.required):e.required(i||rn.required):e,QS=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:a})=>{let s=e;return n&&(s=s.min(n,o||rn.minLength(n))),i&&(s=s.max(i,a||rn.maxLength(i))),s},RS=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:a})=>{let s=e;return n&&(s=s.min(parseFloat(String(n)),o||rn.minAmount(n))),i&&(s=s.max(parseFloat(String(i)),a||rn.maxAmount(i))),s},ha=(e,n)=>{if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const a=n==null?void 0:n[o.id],s=o.fieldValue,t=a;switch(o.operator){case"equals":return String(s).toLowerCase()===String(t).toLowerCase();case"not_equals":return String(s).toLowerCase()!==String(t).toLowerCase();case"greater":return Number(t)>Number(s);case"less":return Number(t)<Number(s);case"contains":return String(t).toLowerCase().includes(String(s).toLowerCase());case"not_contains":return!String(t).toLowerCase().includes(String(s).toLowerCase());default:return!0}}):!0};function ew({formData:e,isReadOnly:n,answerData:i}){const o={};return e.forEach(({questionData:a})=>{a==null||a.forEach(s=>{if(!ha(s,i))return;const{id:t,type:r,isRequired:l,requiredMessage:u,isDisabled:d}=s;let b=ZS(r,n);b=XS(b,d||n?!1:l,u),r==="textField"||r==="longText"||r==="email"||r==="url"?b=QS(b,s):(r==="numberField"||r==="amountField")&&(b=RS(b,s)),o[t]=b})}),ie.object().shape(o)}const Pn=({element:e,validationData:n})=>{const i=Lc[e.type],{answerData:o}=C.useContext(Ce),a=C.useMemo(()=>{var t;return(t=e==null?void 0:e.acceptedFiles)==null?void 0:t.map(r=>r.label).join(", ")},[e]),s=C.useMemo(()=>ha(e,o),[o,e]);return i?c.jsxs("div",{className:`${s?"":"invisible h-0"} min-w-0 w-full`,children:[c.jsxs("div",{className:"mb-1.5 min-w-0",children:[e.inputLabel&&c.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",a&&c.jsxs("span",{className:"text-gray-400 text-xs",children:["(",a==null?void 0:a.toLowerCase(),")"]})]}),e.description&&c.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),c.jsx(i,{element:e,state:"edit",validationData:{...n,isReadOnly:n.isReadOnly||e.isDisabled}})]}):null},In=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function nw({form_data:e,options:n}){const i=(a,s)=>c.jsx("div",{className:"min-w-0",children:c.jsx(Gi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:s==null?void 0:s.map(t=>{var r,l,u;return c.jsxs(Fi,{col:(r=t.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[c.jsx(Pn,{element:t,validationData:In(t,n)}),((u=(l=n==null?void 0:n.errors)==null?void 0:l[t.id])==null?void 0:u.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[t.id].message})]},t.id)})})},a.id),o=a=>{var s,t;return c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[c.jsx(Pn,{element:a,validationData:In(a,n)}),((t=(s=n==null?void 0:n.errors)==null?void 0:s[a.id])==null?void 0:t.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[a.id].message})]},a.id)};return c.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(a=>{var t,r;const s=new Map;return(t=a.questionData)==null||t.forEach(l=>{l.gridId&&(s.has(l.gridId)||s.set(l.gridId,[]),s.get(l.gridId).push(l))}),c.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(a.title||a.description)&&c.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[a.title&&c.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:a.title}),a.description&&c.jsx("p",{className:"text-sm",children:a.description})]}),c.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=a.questionData)==null?void 0:r.map(l=>l.gridId?null:l.type==="grid"?i(l,s.get(l.id)||[]):o(l))})]},a.id)})})}function iw({form_data:e,options:n,current:i}){var o;return c.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(o=e[i].questionData)==null?void 0:o.map(a=>{var s,t;if(a.type==="grid"){const r=e[i].questionData.filter(l=>l.gridId===a.id);return c.jsx("div",{className:"min-w-0",children:c.jsx(Gi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:r==null?void 0:r.map(l=>{var u,d,b;return c.jsxs(Fi,{col:(u=l.gridPosition)==null?void 0:u.col,customClass:"p-0",children:[c.jsx(Pn,{element:l,validationData:In(l,n)}),c.jsx("div",{className:"mt-1 text-xs text-red-600",children:(b=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:b.message})]},l.id)})})},a.id)}return a.gridId?null:c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[c.jsx(Pn,{element:a,validationData:In(a,n)}),c.jsx("div",{className:"mt-1 text-xs text-red-600",children:(t=(s=n==null?void 0:n.errors)==null?void 0:s[a.id])==null?void 0:t.message})]},a.id)})})}const pa=Se("config");function ow({element:e,options:n,onNext:i,onPrev:o,isFirst:a,isLast:s,isReadOnly:t}){if(!e)return c.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=d=>{d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),i())},l=d=>{var b;return c.jsx("div",{className:"min-w-0 w-full",children:c.jsx(Gi,{element:d,customClass:"p-0 min-h-[60px] border-none w-full",children:(b=d.gridChildren)==null?void 0:b.map(m=>{var f,h,g;return c.jsxs(Fi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[c.jsx(Pn,{element:m,validationData:In(m,n)}),((g=(h=n==null?void 0:n.errors)==null?void 0:h[m.id])==null?void 0:g.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[m.id].message})]},m.id)})})},d.id)},u=d=>{var b,m;return c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0 w-full",d.elementClass),children:[c.jsx(Pn,{element:d,validationData:In(d,n)}),((m=(b=n==null?void 0:n.errors)==null?void 0:b[d.id])==null?void 0:m.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[d.id].message})]},d.id)};return c.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:c.jsxs(le.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:[c.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?l(e):u(e)}),!t&&c.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[c.jsx(Xe,{type:"button",text:s?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(pa==null?void 0:pa.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${s?"submit_btn":"continue_btn next_btn text-sm"}`}),!s&&c.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!a&&c.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-medium text-sm ml-auto flex items-center gap-1 transition-colors",children:[c.jsx(se,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function aw(e){return e.reduce((n,i)=>(n[i.id]=i.value,n),{})}const sw=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:a,isReadOnly:s=!1,renderType:t="multi",children:r,hideFooter:l=!1,uploadUrl:u})=>{var H,U,q,F,W,z,V,Q;const{setAnswerData:d,setUploadUrl:b}=C.useContext(Ce),[m,f]=C.useState(0),[h,g]=C.useState(0),v=C.useMemo(()=>e.filter(j=>!j.isHidden).map(j=>{var $;return j.isDisabled||j.disabled?{...j,questionData:($=j.questionData)==null?void 0:$.map(ne=>({...ne,isDisabled:!0}))}:j}),[e]),p=(H=v==null?void 0:v.length)!=null?H:0,S=Se("config"),y=C.useCallback(async(j,X,$)=>{const ne=ew({formData:v,isReadOnly:s,answerData:j});return sa(ne)(j,X,$)},[v,s]),x=Ze.useForm({resolver:y,mode:"onSubmit",defaultValues:{}}),{register:w,setValue:A,control:N,handleSubmit:E,reset:_,getValues:P,watch:k,formState:{errors:M,isSubmitting:L},trigger:T,setError:O,clearErrors:B}=x,K=Ze.useWatch({control:N}),G=C.useMemo(()=>K,[JSON.stringify(K)]),I=C.useMemo(()=>{if(t!=="conversational")return[];const j=[];return v.forEach(X=>{var $;($=X.questionData)==null||$.forEach(ne=>{var ee;if(ha(ne,G))if(ne.type==="grid"){const ae=(ee=X.questionData)==null?void 0:ee.filter(re=>re.gridId===ne.id);j.push({...ne,gridChildren:ae})}else ne.gridId||j.push(ne)})}),j},[v,G,t]),Y=C.useCallback(j=>{a&&a(j)},[a]);C.useEffect(()=>{b(u)},[b,u]),C.useEffect(()=>{if(!(v!=null&&v.length)||!a)return;const j=v.flatMap(X=>{var $;return($=X.questionData)==null?void 0:$.map(ne=>({id:ne.id,value:G[ne.id]||"",sectionId:X.id,type:ne.type,metaData:{prefix:ne.prefix,dateFormat:ne.dateFormat}}))});Y(j),d(G)},[G,v,Y,a,d]),C.useEffect(()=>{n!=null&&n.length&&_(aw(n))},[n,_]);const Z=C.useCallback(j=>{const X=v.flatMap($=>{var ne;return(ne=$.questionData)==null?void 0:ne.map(ee=>({id:ee.id,value:j[ee.id]||"",sectionId:$.id,type:ee.type,metaData:{prefix:ee.prefix,dateFormat:ee.dateFormat}}))});Object.keys(M).length>0||o==null||o(X)},[M,v,o]),J=C.useCallback(async()=>{var j,X;if(t==="conversational"){if(!i){const $=I[h];if(!$)return;const ne=$.gridChildren?$.gridChildren.map(ae=>ae.id):[$.id];if(!await T(ne))return}h<I.length-1?g($=>$+1):E(Z)();return}if(!i){const $=(X=(j=v==null?void 0:v[m])==null?void 0:j.questionData)==null?void 0:X.map(ee=>ee.id);if(!await T($))return}f($=>$+1)},[m,h,I,v,i,T,t,E,Z]),R=C.useCallback(()=>{if(t==="conversational"){g(j=>Math.max(0,j-1));return}f(j=>j-1)},[t]),D=C.useMemo(()=>({register:w,setValue:A,watch:k,errors:M,trigger:T,isSubmitting:L,isReadOnly:s,getValues:P,setError:O,clearErrors:B}),[w,A,k,M,T,L,s,P,O,B]);return c.jsxs(Ze.FormProvider,{...x,children:[c.jsx(Pe.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),c.jsxs("form",{onSubmit:E(Z),className:"container h-full mx-auto",children:[c.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:c.jsxs("div",{className:"multi_section__box min-w-0",children:[t==="multi"&&(((U=v==null?void 0:v[m])==null?void 0:U.title)||((q=v==null?void 0:v[m])==null?void 0:q.description))&&c.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((F=v[m])==null?void 0:F.title)&&c.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(W=v[m])==null?void 0:W.title}),((z=v[m])==null?void 0:z.description)&&c.jsx("p",{className:"text-sm",children:(V=v[m])==null?void 0:V.description})]}),t==="multi"?c.jsx(iw,{form_data:v,options:D,current:m}):t==="conversational"?c.jsx(ow,{element:I[h],options:D,onNext:J,onPrev:R,isFirst:h===0,isLast:h===I.length-1,isReadOnly:s}):c.jsx(nw,{form_data:v,options:D})]},t==="conversational"?`conv-${h}`:(Q=v==null?void 0:v[m])==null?void 0:Q.id)}),!l&&t!=="conversational"&&c.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:t==="multi"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[c.jsxs("div",{children:[" ",m>0&&c.jsxs("button",{type:"button",onClick:R,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[c.jsx(se,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),m<p-1&&c.jsx(Xe,{type:"button",text:"Next",onClick:J,style:{background:(S==null?void 0:S.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"})]}),(m===p-1||s)&&!i&&(r!=null?r:c.jsx(Xe,{isDisabled:L||Object.keys(M).length>0,isLoading:L,type:"submit",text:"Submit",style:{background:(S==null?void 0:S.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&&(r!=null?r:c.jsx(Xe,{isDisabled:L||Object.keys(M).length>0,isLoading:L,type:"submit",text:"Submit",style:{background:(S==null?void 0:S.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"}))}),t==="conversational"&&I.length>0&&c.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:c.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(h+1)/I.length*100}%`,background:(S==null?void 0:S.buttonColor)||"#2563EB"}})})]})]})},tw=C.memo(sw);function ga({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:a=!1,loading:s=!1,config:t={buttonColor:"#333"},renderType:r,children:l,hideFooter:u,onGetValues:d,uploadUrl:b}){C.useEffect(()=>{t&&_c("config",t)},[t]);const m=C.useCallback(f=>{d&&d(f)},[d]);return s?c.jsx(fa,{}):n?c.jsxs("div",{className:"w-full h-full min-w-0",children:[c.jsx("div",{id:"root-portal"}),c.jsx(Qd,{children:c.jsx(tw,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:a,renderType:r,hideFooter:u,onGetValues:m,uploadUrl:b,children:l})})]}):c.jsx("div",{children:c.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function we(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=we(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var rw={value:()=>{}};function Ki(){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 Hi(i)}function Hi(e){this._=e}function lw(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",a=i.indexOf(".");if(a>=0&&(o=i.slice(a+1),i=i.slice(0,a)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}Hi.prototype=Ki.prototype={constructor:Hi,on:function(e,n){var i=this._,o=lw(e+"",i),a,s=-1,t=o.length;if(arguments.length<2){for(;++s<t;)if((a=(e=o[s]).type)&&(a=uw(i[a],e.name)))return a;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++s<t;)if(a=(e=o[s]).type)i[a]=Oc(i[a],e.name,n);else if(n==null)for(a in i)i[a]=Oc(i[a],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new Hi(e)},call:function(e,n){if((a=arguments.length-2)>0)for(var i=new Array(a),o=0,a,s;o<a;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(s=this._[e],o=0,a=s.length;o<a;++o)s[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],a=0,s=o.length;a<s;++a)o[a].value.apply(n,i)}};function uw(e,n){for(var i=0,o=e.length,a;i<o;++i)if((a=e[i]).name===n)return a.value}function Oc(e,n,i){for(var o=0,a=e.length;o<a;++o)if(e[o].name===n){e[o]=rw,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var ya="http://www.w3.org/1999/xhtml";const Dc={svg:"http://www.w3.org/2000/svg",xhtml:ya,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vi(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Dc.hasOwnProperty(n)?{space:Dc[n],local:e}:e}function dw(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===ya&&n.documentElement.namespaceURI===ya?n.createElement(e):n.createElementNS(i,e)}}function cw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function qc(e){var n=Vi(e);return(n.local?cw:dw)(n)}function bw(){}function xa(e){return e==null?bw:function(){return this.querySelector(e)}}function mw(e){typeof e!="function"&&(e=xa(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=new Array(t),l,u,d=0;d<t;++d)(l=s[d])&&(u=e.call(l,l.__data__,d,s))&&("__data__"in l&&(u.__data__=l.__data__),r[d]=u);return new Ie(o,this._parents)}function fw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function vw(){return[]}function Fc(e){return e==null?vw:function(){return this.querySelectorAll(e)}}function hw(e){return function(){return fw(e.apply(this,arguments))}}function pw(e){typeof e=="function"?e=hw(e):e=Fc(e);for(var n=this._groups,i=n.length,o=[],a=[],s=0;s<i;++s)for(var t=n[s],r=t.length,l,u=0;u<r;++u)(l=t[u])&&(o.push(e.call(l,l.__data__,u,t)),a.push(l));return new Ie(o,a)}function Gc(e){return function(){return this.matches(e)}}function Kc(e){return function(n){return n.matches(e)}}var gw=Array.prototype.find;function yw(e){return function(){return gw.call(this.children,e)}}function xw(){return this.firstElementChild}function Sw(e){return this.select(e==null?xw:yw(typeof e=="function"?e:Kc(e)))}var ww=Array.prototype.filter;function Aw(){return Array.from(this.children)}function Nw(e){return function(){return ww.call(this.children,e)}}function Cw(e){return this.selectAll(e==null?Aw:Nw(typeof e=="function"?e:Kc(e)))}function _w(e){typeof e!="function"&&(e=Gc(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=[],l,u=0;u<t;++u)(l=s[u])&&e.call(l,l.__data__,u,s)&&r.push(l);return new Ie(o,this._parents)}function Hc(e){return new Array(e.length)}function Ew(){return new Ie(this._enter||this._groups.map(Hc),this._parents)}function zi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}zi.prototype={constructor:zi,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 kw(e){return function(){return e}}function Mw(e,n,i,o,a,s){for(var t=0,r,l=n.length,u=s.length;t<u;++t)(r=n[t])?(r.__data__=s[t],o[t]=r):i[t]=new zi(e,s[t]);for(;t<l;++t)(r=n[t])&&(a[t]=r)}function Tw(e,n,i,o,a,s,t){var r,l,u=new Map,d=n.length,b=s.length,m=new Array(d),f;for(r=0;r<d;++r)(l=n[r])&&(m[r]=f=t.call(l,l.__data__,r,n)+"",u.has(f)?a[r]=l:u.set(f,l));for(r=0;r<b;++r)f=t.call(e,s[r],r,s)+"",(l=u.get(f))?(o[r]=l,l.__data__=s[r],u.delete(f)):i[r]=new zi(e,s[r]);for(r=0;r<d;++r)(l=n[r])&&u.get(m[r])===l&&(a[r]=l)}function Pw(e){return e.__data__}function Iw(e,n){if(!arguments.length)return Array.from(this,Pw);var i=n?Tw:Mw,o=this._parents,a=this._groups;typeof e!="function"&&(e=kw(e));for(var s=a.length,t=new Array(s),r=new Array(s),l=new Array(s),u=0;u<s;++u){var d=o[u],b=a[u],m=b.length,f=Lw(e.call(d,d&&d.__data__,u,o)),h=f.length,g=r[u]=new Array(h),v=t[u]=new Array(h),p=l[u]=new Array(m);i(d,b,g,v,p,f,n);for(var S=0,y=0,x,w;S<h;++S)if(x=g[S]){for(S>=y&&(y=S+1);!(w=v[y])&&++y<h;);x._next=w||null}}return t=new Ie(t,o),t._enter=r,t._exit=l,t}function Lw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Bw(){return new Ie(this._exit||this._groups.map(Hc),this._parents)}function Ow(e,n,i){var o=this.enter(),a=this,s=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(a=n(a),a&&(a=a.selection())),i==null?s.remove():i(s),o&&a?o.merge(a).order():a}function Dw(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,a=i.length,s=o.length,t=Math.min(a,s),r=new Array(a),l=0;l<t;++l)for(var u=i[l],d=o[l],b=u.length,m=r[l]=new Array(b),f,h=0;h<b;++h)(f=u[h]||d[h])&&(m[h]=f);for(;l<a;++l)r[l]=i[l];return new Ie(r,this._parents)}function qw(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],a=o.length-1,s=o[a],t;--a>=0;)(t=o[a])&&(s&&t.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(t,s),s=t);return this}function Fw(e){e||(e=Gw);function n(b,m){return b&&m?e(b.__data__,m.__data__):!b-!m}for(var i=this._groups,o=i.length,a=new Array(o),s=0;s<o;++s){for(var t=i[s],r=t.length,l=a[s]=new Array(r),u,d=0;d<r;++d)(u=t[d])&&(l[d]=u);l.sort(n)}return new Ie(a,this._parents).order()}function Gw(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Kw(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hw(){return Array.from(this)}function Vw(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],a=0,s=o.length;a<s;++a){var t=o[a];if(t)return t}return null}function zw(){let e=0;for(const n of this)++e;return e}function jw(){return!this.node()}function Uw(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var a=n[i],s=0,t=a.length,r;s<t;++s)(r=a[s])&&e.call(r,r.__data__,s,a);return this}function Ww(e){return function(){this.removeAttribute(e)}}function $w(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Yw(e,n){return function(){this.setAttribute(e,n)}}function Jw(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function Zw(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function Xw(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 Qw(e,n){var i=Vi(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?$w:Ww:typeof n=="function"?i.local?Xw:Zw:i.local?Jw:Yw)(i,n))}function Vc(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Rw(e){return function(){this.style.removeProperty(e)}}function eA(e,n,i){return function(){this.style.setProperty(e,n,i)}}function nA(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function iA(e,n,i){return arguments.length>1?this.each((n==null?Rw:typeof n=="function"?nA:eA)(e,n,i==null?"":i)):Ln(this.node(),e)}function Ln(e,n){return e.style.getPropertyValue(n)||Vc(e).getComputedStyle(e,null).getPropertyValue(n)}function oA(e){return function(){delete this[e]}}function aA(e,n){return function(){this[e]=n}}function sA(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function tA(e,n){return arguments.length>1?this.each((n==null?oA:typeof n=="function"?sA:aA)(e,n)):this.node()[e]}function zc(e){return e.trim().split(/^|\s+/)}function Sa(e){return e.classList||new jc(e)}function jc(e){this._node=e,this._names=zc(e.getAttribute("class")||"")}jc.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 Uc(e,n){for(var i=Sa(e),o=-1,a=n.length;++o<a;)i.add(n[o])}function Wc(e,n){for(var i=Sa(e),o=-1,a=n.length;++o<a;)i.remove(n[o])}function rA(e){return function(){Uc(this,e)}}function lA(e){return function(){Wc(this,e)}}function uA(e,n){return function(){(n.apply(this,arguments)?Uc:Wc)(this,e)}}function dA(e,n){var i=zc(e+"");if(arguments.length<2){for(var o=Sa(this.node()),a=-1,s=i.length;++a<s;)if(!o.contains(i[a]))return!1;return!0}return this.each((typeof n=="function"?uA:n?rA:lA)(i,n))}function cA(){this.textContent=""}function bA(e){return function(){this.textContent=e}}function mA(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function fA(e){return arguments.length?this.each(e==null?cA:(typeof e=="function"?mA:bA)(e)):this.node().textContent}function vA(){this.innerHTML=""}function hA(e){return function(){this.innerHTML=e}}function pA(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function gA(e){return arguments.length?this.each(e==null?vA:(typeof e=="function"?pA:hA)(e)):this.node().innerHTML}function yA(){this.nextSibling&&this.parentNode.appendChild(this)}function xA(){return this.each(yA)}function SA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function wA(){return this.each(SA)}function AA(e){var n=typeof e=="function"?e:qc(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function NA(){return null}function CA(e,n){var i=typeof e=="function"?e:qc(e),o=n==null?NA:typeof n=="function"?n:xa(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function _A(){var e=this.parentNode;e&&e.removeChild(this)}function EA(){return this.each(_A)}function kA(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function MA(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function TA(e){return this.select(e?MA:kA)}function PA(e){return arguments.length?this.property("__data__",e):this.node().__data__}function IA(e){return function(n){e.call(this,n,this.__data__)}}function LA(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 BA(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,a=n.length,s;i<a;++i)s=n[i],(!e.type||s.type===e.type)&&s.name===e.name?this.removeEventListener(s.type,s.listener,s.options):n[++o]=s;++o?n.length=o:delete this.__on}}}function OA(e,n,i){return function(){var o=this.__on,a,s=IA(n);if(o){for(var t=0,r=o.length;t<r;++t)if((a=o[t]).type===e.type&&a.name===e.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=s,a.options=i),a.value=n;return}}this.addEventListener(e.type,s,i),a={type:e.type,name:e.name,value:n,listener:s,options:i},o?o.push(a):this.__on=[a]}}function DA(e,n,i){var o=LA(e+""),a,s=o.length,t;if(arguments.length<2){var r=this.node().__on;if(r){for(var l=0,u=r.length,d;l<u;++l)for(a=0,d=r[l];a<s;++a)if((t=o[a]).type===d.type&&t.name===d.name)return d.value}return}for(r=n?OA:BA,a=0;a<s;++a)this.each(r(o[a],n,i));return this}function $c(e,n,i){var o=Vc(e),a=o.CustomEvent;typeof a=="function"?a=new a(n,i):(a=o.document.createEvent("Event"),i?(a.initEvent(n,i.bubbles,i.cancelable),a.detail=i.detail):a.initEvent(n,!1,!1)),e.dispatchEvent(a)}function qA(e,n){return function(){return $c(this,e,n)}}function FA(e,n){return function(){return $c(this,e,n.apply(this,arguments))}}function GA(e,n){return this.each((typeof n=="function"?FA:qA)(e,n))}function*KA(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],a=0,s=o.length,t;a<s;++a)(t=o[a])&&(yield t)}var Yc=[null];function Ie(e,n){this._groups=e,this._parents=n}function ni(){return new Ie([[document.documentElement]],Yc)}function HA(){return this}Ie.prototype=ni.prototype={constructor:Ie,select:mw,selectAll:pw,selectChild:Sw,selectChildren:Cw,filter:_w,data:Iw,enter:Ew,exit:Bw,join:Ow,merge:Dw,selection:HA,order:qw,sort:Fw,call:Kw,nodes:Hw,node:Vw,size:zw,empty:jw,each:Uw,attr:Qw,style:iA,property:tA,classed:dA,text:fA,html:gA,raise:xA,lower:wA,append:AA,insert:CA,remove:EA,clone:TA,datum:PA,on:DA,dispatch:GA,[Symbol.iterator]:KA};function Le(e){return typeof e=="string"?new Ie([[document.querySelector(e)]],[document.documentElement]):new Ie([[e]],Yc)}function VA(e){let n;for(;n=e.sourceEvent;)e=n;return e}function qe(e,n){if(e=VA(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 a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}}return[e.pageX,e.pageY]}const zA={passive:!1},ii={capture:!0,passive:!1};function wa(e){e.stopImmediatePropagation()}function Bn(e){e.preventDefault(),e.stopImmediatePropagation()}function Jc(e){var n=e.document.documentElement,i=Le(e).on("dragstart.drag",Bn,ii);"onselectstart"in n?i.on("selectstart.drag",Bn,ii):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Zc(e,n){var i=e.document.documentElement,o=Le(e).on("dragstart.drag",null);n&&(o.on("click.drag",Bn,ii),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 ji=e=>()=>e;function Aa(e,{sourceEvent:n,subject:i,target:o,identifier:a,active:s,x:t,y:r,dx:l,dy:u,dispatch:d}){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:a,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:t,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}Aa.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jA(e){return!e.ctrlKey&&!e.button}function UA(){return this.parentNode}function WA(e,n){return n==null?{x:e.x,y:e.y}:n}function $A(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xc(){var e=jA,n=UA,i=WA,o=$A,a={},s=Ki("start","drag","end"),t=0,r,l,u,d,b=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",v).on("touchmove.drag",p,zA).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,w){if(!(d||!e.call(this,x,w))){var A=y(this,n.call(this,x,w),x,w,"mouse");A&&(Le(x.view).on("mousemove.drag",h,ii).on("mouseup.drag",g,ii),Jc(x.view),wa(x),u=!1,r=x.clientX,l=x.clientY,A("start",x))}}function h(x){if(Bn(x),!u){var w=x.clientX-r,A=x.clientY-l;u=w*w+A*A>b}a.mouse("drag",x)}function g(x){Le(x.view).on("mousemove.drag mouseup.drag",null),Zc(x.view,u),Bn(x),a.mouse("end",x)}function v(x,w){if(e.call(this,x,w)){var A=x.changedTouches,N=n.call(this,x,w),E=A.length,_,P;for(_=0;_<E;++_)(P=y(this,N,x,w,A[_].identifier,A[_]))&&(wa(x),P("start",x,A[_]))}}function p(x){var w=x.changedTouches,A=w.length,N,E;for(N=0;N<A;++N)(E=a[w[N].identifier])&&(Bn(x),E("drag",x,w[N]))}function S(x){var w=x.changedTouches,A=w.length,N,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),N=0;N<A;++N)(E=a[w[N].identifier])&&(wa(x),E("end",x,w[N]))}function y(x,w,A,N,E,_){var P=s.copy(),k=qe(_||A,w),M,L,T;if((T=i.call(x,new Aa("beforestart",{sourceEvent:A,target:m,identifier:E,active:t,x:k[0],y:k[1],dx:0,dy:0,dispatch:P}),N))!=null)return M=T.x-k[0]||0,L=T.y-k[1]||0,function O(B,K,G){var I=k,Y;switch(B){case"start":a[E]=O,Y=t++;break;case"end":delete a[E],--t;case"drag":k=qe(G||K,w),Y=t;break}P.call(B,x,new Aa(B,{sourceEvent:K,subject:T,target:m,identifier:E,active:Y,x:k[0]+M,y:k[1]+L,dx:k[0]-I[0],dy:k[1]-I[1],dispatch:P}),N)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:ji(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:ji(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:ji(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:ji(!!x),m):o},m.on=function(){var x=s.on.apply(s,arguments);return x===s?m:x},m.clickDistance=function(x){return arguments.length?(b=(x=+x)*x,m):Math.sqrt(b)},m}function Na(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Qc(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function oi(){}var ai=.7,Ui=1/ai,On="\\s*([+-]?\\d+)\\s*",si="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",Ue="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YA=/^#([0-9a-f]{3,8})$/,JA=new RegExp(`^rgb\\(${On},${On},${On}\\)$`),ZA=new RegExp(`^rgb\\(${Ue},${Ue},${Ue}\\)$`),XA=new RegExp(`^rgba\\(${On},${On},${On},${si}\\)$`),QA=new RegExp(`^rgba\\(${Ue},${Ue},${Ue},${si}\\)$`),RA=new RegExp(`^hsl\\(${si},${Ue},${Ue}\\)$`),eN=new RegExp(`^hsla\\(${si},${Ue},${Ue},${si}\\)$`),Rc={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};Na(oi,fn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:eb,formatHex:eb,formatHex8:nN,formatHsl:iN,formatRgb:nb,toString:nb});function eb(){return this.rgb().formatHex()}function nN(){return this.rgb().formatHex8()}function iN(){return tb(this).formatHsl()}function nb(){return this.rgb().formatRgb()}function fn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=YA.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?ib(n):i===3?new ke(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Wi(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Wi(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=JA.exec(e))?new ke(n[1],n[2],n[3],1):(n=ZA.exec(e))?new ke(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=XA.exec(e))?Wi(n[1],n[2],n[3],n[4]):(n=QA.exec(e))?Wi(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=RA.exec(e))?sb(n[1],n[2]/100,n[3]/100,1):(n=eN.exec(e))?sb(n[1],n[2]/100,n[3]/100,n[4]):Rc.hasOwnProperty(e)?ib(Rc[e]):e==="transparent"?new ke(NaN,NaN,NaN,0):null}function ib(e){return new ke(e>>16&255,e>>8&255,e&255,1)}function Wi(e,n,i,o){return o<=0&&(e=n=i=NaN),new ke(e,n,i,o)}function oN(e){return e instanceof oi||(e=fn(e)),e?(e=e.rgb(),new ke(e.r,e.g,e.b,e.opacity)):new ke}function Ca(e,n,i,o){return arguments.length===1?oN(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}Na(ke,Ca,Qc(oi,{brighter(e){return e=e==null?Ui:Math.pow(Ui,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?ai:Math.pow(ai,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),$i(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:ob,formatHex:ob,formatHex8:aN,formatRgb:ab,toString:ab}));function ob(){return`#${hn(this.r)}${hn(this.g)}${hn(this.b)}`}function aN(){return`#${hn(this.r)}${hn(this.g)}${hn(this.b)}${hn((isNaN(this.opacity)?1:this.opacity)*255)}`}function ab(){const e=$i(this.opacity);return`${e===1?"rgb(":"rgba("}${vn(this.r)}, ${vn(this.g)}, ${vn(this.b)}${e===1?")":`, ${e})`}`}function $i(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 hn(e){return e=vn(e),(e<16?"0":"")+e.toString(16)}function sb(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Fe(e,n,i,o)}function tb(e){if(e instanceof Fe)return new Fe(e.h,e.s,e.l,e.opacity);if(e instanceof oi||(e=fn(e)),!e)return new Fe;if(e instanceof Fe)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,a=Math.min(n,i,o),s=Math.max(n,i,o),t=NaN,r=s-a,l=(s+a)/2;return r?(n===s?t=(i-o)/r+(i<o)*6:i===s?t=(o-n)/r+2:t=(n-i)/r+4,r/=l<.5?s+a:2-s-a,t*=60):r=l>0&&l<1?0:t,new Fe(t,r,l,e.opacity)}function sN(e,n,i,o){return arguments.length===1?tb(e):new Fe(e,n,i,o==null?1:o)}function Fe(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Na(Fe,sN,Qc(oi,{brighter(e){return e=e==null?Ui:Math.pow(Ui,e),new Fe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?ai:Math.pow(ai,e),new Fe(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,a=2*i-o;return new ke(_a(e>=240?e-240:e+120,a,o),_a(e,a,o),_a(e<120?e+240:e-120,a,o),this.opacity)},clamp(){return new Fe(rb(this.h),Yi(this.s),Yi(this.l),$i(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=$i(this.opacity);return`${e===1?"hsl(":"hsla("}${rb(this.h)}, ${Yi(this.s)*100}%, ${Yi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function rb(e){return e=(e||0)%360,e<0?e+360:e}function Yi(e){return Math.max(0,Math.min(1,e||0))}function _a(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 Ea=e=>()=>e;function tN(e,n){return function(i){return e+i*n}}function rN(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 lN(e){return(e=+e)==1?lb:function(n,i){return i-n?rN(n,i,e):Ea(isNaN(n)?i:n)}}function lb(e,n){var i=n-e;return i?tN(e,i):Ea(isNaN(e)?n:e)}const Ji=function e(n){var i=lN(n);function o(a,s){var t=i((a=Ca(a)).r,(s=Ca(s)).r),r=i(a.g,s.g),l=i(a.b,s.b),u=lb(a.opacity,s.opacity);return function(d){return a.r=t(d),a.g=r(d),a.b=l(d),a.opacity=u(d),a+""}}return o.gamma=e,o}(1);function uN(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),a;return function(s){for(a=0;a<i;++a)o[a]=e[a]*(1-s)+n[a]*s;return o}}function dN(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cN(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,a=new Array(o),s=new Array(i),t;for(t=0;t<o;++t)a[t]=ti(e[t],n[t]);for(;t<i;++t)s[t]=n[t];return function(r){for(t=0;t<o;++t)s[t]=a[t](r);return s}}function bN(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function We(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function mN(e,n){var i={},o={},a;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(a in n)a in e?i[a]=ti(e[a],n[a]):o[a]=n[a];return function(s){for(a in i)o[a]=i[a](s);return o}}var ka=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ma=new RegExp(ka.source,"g");function fN(e){return function(){return e}}function vN(e){return function(n){return e(n)+""}}function ub(e,n){var i=ka.lastIndex=Ma.lastIndex=0,o,a,s,t=-1,r=[],l=[];for(e=e+"",n=n+"";(o=ka.exec(e))&&(a=Ma.exec(n));)(s=a.index)>i&&(s=n.slice(i,s),r[t]?r[t]+=s:r[++t]=s),(o=o[0])===(a=a[0])?r[t]?r[t]+=a:r[++t]=a:(r[++t]=null,l.push({i:t,x:We(o,a)})),i=Ma.lastIndex;return i<n.length&&(s=n.slice(i),r[t]?r[t]+=s:r[++t]=s),r.length<2?l[0]?vN(l[0].x):fN(n):(n=l.length,function(u){for(var d=0,b;d<n;++d)r[(b=l[d]).i]=b.x(u);return r.join("")})}function ti(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ea(n):(i==="number"?We:i==="string"?(o=fn(n))?(n=o,Ji):ub:n instanceof fn?Ji:n instanceof Date?bN:dN(n)?uN:Array.isArray(n)?cN:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?mN:We)(e,n)}var db=180/Math.PI,Ta={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cb(e,n,i,o,a,s){var t,r,l;return(t=Math.sqrt(e*e+n*n))&&(e/=t,n/=t),(l=e*i+n*o)&&(i-=e*l,o-=n*l),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,l/=r),e*o<n*i&&(e=-e,n=-n,l=-l,t=-t),{translateX:a,translateY:s,rotate:Math.atan2(n,e)*db,skewX:Math.atan(l)*db,scaleX:t,scaleY:r}}var Zi;function hN(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Ta:cb(n.a,n.b,n.c,n.d,n.e,n.f)}function pN(e){return e==null||(Zi||(Zi=document.createElementNS("http://www.w3.org/2000/svg","g")),Zi.setAttribute("transform",e),!(e=Zi.transform.baseVal.consolidate()))?Ta:(e=e.matrix,cb(e.a,e.b,e.c,e.d,e.e,e.f))}function bb(e,n,i,o){function a(u){return u.length?u.pop()+" ":""}function s(u,d,b,m,f,h){if(u!==b||d!==m){var g=f.push("translate(",null,n,null,i);h.push({i:g-4,x:We(u,b)},{i:g-2,x:We(d,m)})}else(b||m)&&f.push("translate("+b+n+m+i)}function t(u,d,b,m){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),m.push({i:b.push(a(b)+"rotate(",null,o)-2,x:We(u,d)})):d&&b.push(a(b)+"rotate("+d+o)}function r(u,d,b,m){u!==d?m.push({i:b.push(a(b)+"skewX(",null,o)-2,x:We(u,d)}):d&&b.push(a(b)+"skewX("+d+o)}function l(u,d,b,m,f,h){if(u!==b||d!==m){var g=f.push(a(f)+"scale(",null,",",null,")");h.push({i:g-4,x:We(u,b)},{i:g-2,x:We(d,m)})}else(b!==1||m!==1)&&f.push(a(f)+"scale("+b+","+m+")")}return function(u,d){var b=[],m=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,b,m),t(u.rotate,d.rotate,b,m),r(u.skewX,d.skewX,b,m),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,b,m),u=d=null,function(f){for(var h=-1,g=m.length,v;++h<g;)b[(v=m[h]).i]=v.x(f);return b.join("")}}}var gN=bb(hN,"px, ","px)","deg)"),yN=bb(pN,", ",")",")"),xN=1e-12;function mb(e){return((e=Math.exp(e))+1/e)/2}function SN(e){return((e=Math.exp(e))-1/e)/2}function wN(e){return((e=Math.exp(2*e))-1)/(e+1)}const Xi=function e(n,i,o){function a(s,t){var r=s[0],l=s[1],u=s[2],d=t[0],b=t[1],m=t[2],f=d-r,h=b-l,g=f*f+h*h,v,p;if(g<xN)p=Math.log(m/u)/n,v=function(N){return[r+N*f,l+N*h,u*Math.exp(n*N*p)]};else{var S=Math.sqrt(g),y=(m*m-u*u+o*g)/(2*u*i*S),x=(m*m-u*u-o*g)/(2*m*i*S),w=Math.log(Math.sqrt(y*y+1)-y),A=Math.log(Math.sqrt(x*x+1)-x);p=(A-w)/n,v=function(N){var E=N*p,_=mb(w),P=u/(i*S)*(_*wN(n*E+w)-SN(w));return[r+P*f,l+P*h,u*_/mb(n*E+w)]}}return v.duration=p*1e3*n/Math.SQRT2,v}return a.rho=function(s){var t=Math.max(.001,+s),r=t*t,l=r*r;return e(t,r,l)},a}(Math.SQRT2,2,4);var Dn=0,ri=0,li=0,fb=1e3,Qi,ui,Ri=0,pn=0,eo=0,di=typeof performance=="object"&&performance.now?performance:Date,vb=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Pa(){return pn||(vb(AN),pn=di.now()+eo)}function AN(){pn=0}function no(){this._call=this._time=this._next=null}no.prototype=hb.prototype={constructor:no,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?Pa():+i)+(n==null?0:+n),!this._next&&ui!==this&&(ui?ui._next=this:Qi=this,ui=this),this._call=e,this._time=i,Ia()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ia())}};function hb(e,n,i){var o=new no;return o.restart(e,n,i),o}function NN(){Pa(),++Dn;for(var e=Qi,n;e;)(n=pn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Dn}function pb(){pn=(Ri=di.now())+eo,Dn=ri=0;try{NN()}finally{Dn=0,_N(),pn=0}}function CN(){var e=di.now(),n=e-Ri;n>fb&&(eo-=n,Ri=e)}function _N(){for(var e,n=Qi,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:Qi=i);ui=e,Ia(o)}function Ia(e){if(!Dn){ri&&(ri=clearTimeout(ri));var n=e-pn;n>24?(e<1/0&&(ri=setTimeout(pb,e-di.now()-eo)),li&&(li=clearInterval(li))):(li||(Ri=di.now(),li=setInterval(CN,fb)),Dn=1,vb(pb))}}function gb(e,n,i){var o=new no;return n=n==null?0:+n,o.restart(a=>{o.stop(),e(a+n)},n,i),o}var EN=Ki("start","end","cancel","interrupt"),kN=[],yb=0,xb=1,La=2,io=3,Sb=4,Ba=5,oo=6;function ao(e,n,i,o,a,s){var t=e.__transition;if(!t)e.__transition={};else if(i in t)return;MN(e,i,{name:n,index:o,group:a,on:EN,tween:kN,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:yb})}function Oa(e,n){var i=Ge(e,n);if(i.state>yb)throw new Error("too late; already scheduled");return i}function $e(e,n){var i=Ge(e,n);if(i.state>io)throw new Error("too late; already running");return i}function Ge(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function MN(e,n,i){var o=e.__transition,a;o[n]=i,i.timer=hb(s,0,i.time);function s(u){i.state=xb,i.timer.restart(t,i.delay,i.time),i.delay<=u&&t(u-i.delay)}function t(u){var d,b,m,f;if(i.state!==xb)return l();for(d in o)if(f=o[d],f.name===i.name){if(f.state===io)return gb(t);f.state===Sb?(f.state=oo,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[d]):+d<n&&(f.state=oo,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[d])}if(gb(function(){i.state===io&&(i.state=Sb,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=La,i.on.call("start",e,e.__data__,i.index,i.group),i.state===La){for(i.state=io,a=new Array(m=i.tween.length),d=0,b=-1;d<m;++d)(f=i.tween[d].value.call(e,e.__data__,i.index,i.group))&&(a[++b]=f);a.length=b+1}}function r(u){for(var d=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(l),i.state=Ba,1),b=-1,m=a.length;++b<m;)a[b].call(e,d);i.state===Ba&&(i.on.call("end",e,e.__data__,i.index,i.group),l())}function l(){i.state=oo,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function so(e,n){var i=e.__transition,o,a,s=!0,t;if(i){n=n==null?null:n+"";for(t in i){if((o=i[t]).name!==n){s=!1;continue}a=o.state>La&&o.state<Ba,o.state=oo,o.timer.stop(),o.on.call(a?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[t]}s&&delete e.__transition}}function TN(e){return this.each(function(){so(this,e)})}function PN(e,n){var i,o;return function(){var a=$e(this,e),s=a.tween;if(s!==i){o=i=s;for(var t=0,r=o.length;t<r;++t)if(o[t].name===n){o=o.slice(),o.splice(t,1);break}}a.tween=o}}function IN(e,n,i){var o,a;if(typeof i!="function")throw new Error;return function(){var s=$e(this,e),t=s.tween;if(t!==o){a=(o=t).slice();for(var r={name:n,value:i},l=0,u=a.length;l<u;++l)if(a[l].name===n){a[l]=r;break}l===u&&a.push(r)}s.tween=a}}function LN(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=Ge(this.node(),i).tween,a=0,s=o.length,t;a<s;++a)if((t=o[a]).name===e)return t.value;return null}return this.each((n==null?PN:IN)(i,e,n))}function Da(e,n,i){var o=e._id;return e.each(function(){var a=$e(this,o);(a.value||(a.value={}))[n]=i.apply(this,arguments)}),function(a){return Ge(a,o).value[n]}}function wb(e,n){var i;return(typeof n=="number"?We:n instanceof fn?Ji:(i=fn(n))?(n=i,Ji):ub)(e,n)}function BN(e){return function(){this.removeAttribute(e)}}function ON(e){return function(){this.removeAttributeNS(e.space,e.local)}}function DN(e,n,i){var o,a=i+"",s;return function(){var t=this.getAttribute(e);return t===a?null:t===o?s:s=n(o=t,i)}}function qN(e,n,i){var o,a=i+"",s;return function(){var t=this.getAttributeNS(e.space,e.local);return t===a?null:t===o?s:s=n(o=t,i)}}function FN(e,n,i){var o,a,s;return function(){var t,r=i(this),l;return r==null?void this.removeAttribute(e):(t=this.getAttribute(e),l=r+"",t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r)))}}function GN(e,n,i){var o,a,s;return function(){var t,r=i(this),l;return r==null?void this.removeAttributeNS(e.space,e.local):(t=this.getAttributeNS(e.space,e.local),l=r+"",t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r)))}}function KN(e,n){var i=Vi(e),o=i==="transform"?yN:wb;return this.attrTween(e,typeof n=="function"?(i.local?GN:FN)(i,o,Da(this,"attr."+e,n)):n==null?(i.local?ON:BN)(i):(i.local?qN:DN)(i,o,n))}function HN(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function VN(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function zN(e,n){var i,o;function a(){var s=n.apply(this,arguments);return s!==o&&(i=(o=s)&&VN(e,s)),i}return a._value=n,a}function jN(e,n){var i,o;function a(){var s=n.apply(this,arguments);return s!==o&&(i=(o=s)&&HN(e,s)),i}return a._value=n,a}function UN(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=Vi(e);return this.tween(i,(o.local?zN:jN)(o,n))}function WN(e,n){return function(){Oa(this,e).delay=+n.apply(this,arguments)}}function $N(e,n){return n=+n,function(){Oa(this,e).delay=n}}function YN(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?WN:$N)(n,e)):Ge(this.node(),n).delay}function JN(e,n){return function(){$e(this,e).duration=+n.apply(this,arguments)}}function ZN(e,n){return n=+n,function(){$e(this,e).duration=n}}function XN(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?JN:ZN)(n,e)):Ge(this.node(),n).duration}function QN(e,n){if(typeof n!="function")throw new Error;return function(){$e(this,e).ease=n}}function RN(e){var n=this._id;return arguments.length?this.each(QN(n,e)):Ge(this.node(),n).ease}function eC(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;$e(this,e).ease=i}}function nC(e){if(typeof e!="function")throw new Error;return this.each(eC(this._id,e))}function iC(e){typeof e!="function"&&(e=Gc(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=[],l,u=0;u<t;++u)(l=s[u])&&e.call(l,l.__data__,u,s)&&r.push(l);return new Qe(o,this._parents,this._name,this._id)}function oC(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,a=i.length,s=Math.min(o,a),t=new Array(o),r=0;r<s;++r)for(var l=n[r],u=i[r],d=l.length,b=t[r]=new Array(d),m,f=0;f<d;++f)(m=l[f]||u[f])&&(b[f]=m);for(;r<o;++r)t[r]=n[r];return new Qe(t,this._parents,this._name,this._id)}function aC(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 sC(e,n,i){var o,a,s=aC(n)?Oa:$e;return function(){var t=s(this,e),r=t.on;r!==o&&(a=(o=r).copy()).on(n,i),t.on=a}}function tC(e,n){var i=this._id;return arguments.length<2?Ge(this.node(),i).on.on(e):this.each(sC(i,e,n))}function rC(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function lC(){return this.on("end.remove",rC(this._id))}function uC(e){var n=this._name,i=this._id;typeof e!="function"&&(e=xa(e));for(var o=this._groups,a=o.length,s=new Array(a),t=0;t<a;++t)for(var r=o[t],l=r.length,u=s[t]=new Array(l),d,b,m=0;m<l;++m)(d=r[m])&&(b=e.call(d,d.__data__,m,r))&&("__data__"in d&&(b.__data__=d.__data__),u[m]=b,ao(u[m],n,i,m,u,Ge(d,i)));return new Qe(s,this._parents,n,i)}function dC(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Fc(e));for(var o=this._groups,a=o.length,s=[],t=[],r=0;r<a;++r)for(var l=o[r],u=l.length,d,b=0;b<u;++b)if(d=l[b]){for(var m=e.call(d,d.__data__,b,l),f,h=Ge(d,i),g=0,v=m.length;g<v;++g)(f=m[g])&&ao(f,n,i,g,m,h);s.push(m),t.push(d)}return new Qe(s,t,n,i)}var cC=ni.prototype.constructor;function bC(){return new cC(this._groups,this._parents)}function mC(e,n){var i,o,a;return function(){var s=Ln(this,e),t=(this.style.removeProperty(e),Ln(this,e));return s===t?null:s===i&&t===o?a:a=n(i=s,o=t)}}function Ab(e){return function(){this.style.removeProperty(e)}}function fC(e,n,i){var o,a=i+"",s;return function(){var t=Ln(this,e);return t===a?null:t===o?s:s=n(o=t,i)}}function vC(e,n,i){var o,a,s;return function(){var t=Ln(this,e),r=i(this),l=r+"";return r==null&&(l=r=(this.style.removeProperty(e),Ln(this,e))),t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r))}}function hC(e,n){var i,o,a,s="style."+n,t="end."+s,r;return function(){var l=$e(this,e),u=l.on,d=l.value[s]==null?r||(r=Ab(n)):void 0;(u!==i||a!==d)&&(o=(i=u).copy()).on(t,a=d),l.on=o}}function pC(e,n,i){var o=(e+="")=="transform"?gN:wb;return n==null?this.styleTween(e,mC(e,o)).on("end.style."+e,Ab(e)):typeof n=="function"?this.styleTween(e,vC(e,o,Da(this,"style."+e,n))).each(hC(this._id,e)):this.styleTween(e,fC(e,o,n),i).on("end.style."+e,null)}function gC(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function yC(e,n,i){var o,a;function s(){var t=n.apply(this,arguments);return t!==a&&(o=(a=t)&&gC(e,t,i)),o}return s._value=n,s}function xC(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,yC(e,n,i==null?"":i))}function SC(e){return function(){this.textContent=e}}function wC(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function AC(e){return this.tween("text",typeof e=="function"?wC(Da(this,"text",e)):SC(e==null?"":e+""))}function NC(e){return function(n){this.textContent=e.call(this,n)}}function CC(e){var n,i;function o(){var a=e.apply(this,arguments);return a!==i&&(n=(i=a)&&NC(a)),n}return o._value=e,o}function _C(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,CC(e))}function EC(){for(var e=this._name,n=this._id,i=Nb(),o=this._groups,a=o.length,s=0;s<a;++s)for(var t=o[s],r=t.length,l,u=0;u<r;++u)if(l=t[u]){var d=Ge(l,n);ao(l,e,i,u,t,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Qe(o,this._parents,e,i)}function kC(){var e,n,i=this,o=i._id,a=i.size();return new Promise(function(s,t){var r={value:t},l={value:function(){--a===0&&s()}};i.each(function(){var u=$e(this,o),d=u.on;d!==e&&(n=(e=d).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(l)),u.on=n}),a===0&&s()})}var MC=0;function Qe(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function Nb(){return++MC}var Re=ni.prototype;Qe.prototype={constructor:Qe,select:uC,selectAll:dC,selectChild:Re.selectChild,selectChildren:Re.selectChildren,filter:iC,merge:oC,selection:bC,transition:EC,call:Re.call,nodes:Re.nodes,node:Re.node,size:Re.size,empty:Re.empty,each:Re.each,on:tC,attr:KN,attrTween:UN,style:pC,styleTween:xC,text:AC,textTween:_C,remove:lC,tween:LN,delay:YN,duration:XN,ease:RN,easeVarying:nC,end:kC,[Symbol.iterator]:Re[Symbol.iterator]};function TC(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var PC={time:null,delay:0,duration:250,ease:TC};function IC(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 LC(e){var n,i;e instanceof Qe?(n=e._id,e=e._name):(n=Nb(),(i=PC).time=Pa(),e=e==null?null:e+"");for(var o=this._groups,a=o.length,s=0;s<a;++s)for(var t=o[s],r=t.length,l,u=0;u<r;++u)(l=t[u])&&ao(l,e,n,u,t,i||IC(l,n));return new Qe(o,this._parents,e,n)}ni.prototype.interrupt=TN,ni.prototype.transition=LC;const to=e=>()=>e;function BC(e,{sourceEvent:n,target:i,transform:o,dispatch:a}){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:a}})}function en(e,n,i){this.k=e,this.x=n,this.y=i}en.prototype={constructor:en,scale:function(e){return e===1?this:new en(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new en(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 ro=new en(1,0,0);Cb.prototype=en.prototype;function Cb(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ro;return e.__zoom}function qa(e){e.stopImmediatePropagation()}function ci(e){e.preventDefault(),e.stopImmediatePropagation()}function OC(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function DC(){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 _b(){return this.__zoom||ro}function qC(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function FC(){return navigator.maxTouchPoints||"ontouchstart"in this}function GC(e,n,i){var o=e.invertX(n[0][0])-i[0][0],a=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],t=e.invertY(n[1][1])-i[1][1];return e.translate(a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a),t>s?(s+t)/2:Math.min(0,s)||Math.max(0,t))}function Eb(){var e=OC,n=DC,i=GC,o=qC,a=FC,s=[0,1/0],t=[[-1/0,-1/0],[1/0,1/0]],r=250,l=Xi,u=Ki("start","zoom","end"),d,b,m,f=500,h=150,g=0,v=10;function p(T){T.property("__zoom",_b).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",P).filter(a).on("touchstart.zoom",k).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}p.transform=function(T,O,B,K){var G=T.selection?T.selection():T;G.property("__zoom",_b),T!==G?w(T,O,B,K):G.interrupt().each(function(){A(this,arguments).event(K).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},p.scaleBy=function(T,O,B,K){p.scaleTo(T,function(){var G=this.__zoom.k,I=typeof O=="function"?O.apply(this,arguments):O;return G*I},B,K)},p.scaleTo=function(T,O,B,K){p.transform(T,function(){var G=n.apply(this,arguments),I=this.__zoom,Y=B==null?x(G):typeof B=="function"?B.apply(this,arguments):B,Z=I.invert(Y),J=typeof O=="function"?O.apply(this,arguments):O;return i(y(S(I,J),Y,Z),G,t)},B,K)},p.translateBy=function(T,O,B,K){p.transform(T,function(){return i(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof B=="function"?B.apply(this,arguments):B),n.apply(this,arguments),t)},null,K)},p.translateTo=function(T,O,B,K,G){p.transform(T,function(){var I=n.apply(this,arguments),Y=this.__zoom,Z=K==null?x(I):typeof K=="function"?K.apply(this,arguments):K;return i(ro.translate(Z[0],Z[1]).scale(Y.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof B=="function"?-B.apply(this,arguments):-B),I,t)},K,G)};function S(T,O){return O=Math.max(s[0],Math.min(s[1],O)),O===T.k?T:new en(O,T.x,T.y)}function y(T,O,B){var K=O[0]-B[0]*T.k,G=O[1]-B[1]*T.k;return K===T.x&&G===T.y?T:new en(T.k,K,G)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function w(T,O,B,K){T.on("start.zoom",function(){A(this,arguments).event(K).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(K).end()}).tween("zoom",function(){var G=this,I=arguments,Y=A(G,I).event(K),Z=n.apply(G,I),J=B==null?x(Z):typeof B=="function"?B.apply(G,I):B,R=Math.max(Z[1][0]-Z[0][0],Z[1][1]-Z[0][1]),D=G.__zoom,H=typeof O=="function"?O.apply(G,I):O,U=l(D.invert(J).concat(R/D.k),H.invert(J).concat(R/H.k));return function(q){if(q===1)q=H;else{var F=U(q),W=R/F[2];q=new en(W,J[0]-F[0]*W,J[1]-F[1]*W)}Y.zoom(null,q)}})}function A(T,O,B){return!B&&T.__zooming||new N(T,O)}function N(T,O){this.that=T,this.args=O,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,O),this.taps=0}N.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,O){return this.mouse&&T!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var O=Le(this.that).datum();u.call(T,this.that,new BC(T,{sourceEvent:this.sourceEvent,target:p,transform:this.that.__zoom,dispatch:u}),O)}};function E(T,...O){if(!e.apply(this,arguments))return;var B=A(this,O).event(T),K=this.__zoom,G=Math.max(s[0],Math.min(s[1],K.k*Math.pow(2,o.apply(this,arguments)))),I=qe(T);if(B.wheel)(B.mouse[0][0]!==I[0]||B.mouse[0][1]!==I[1])&&(B.mouse[1]=K.invert(B.mouse[0]=I)),clearTimeout(B.wheel);else{if(K.k===G)return;B.mouse=[I,K.invert(I)],so(this),B.start()}ci(T),B.wheel=setTimeout(Y,h),B.zoom("mouse",i(y(S(K,G),B.mouse[0],B.mouse[1]),B.extent,t));function Y(){B.wheel=null,B.end()}}function _(T,...O){if(m||!e.apply(this,arguments))return;var B=T.currentTarget,K=A(this,O,!0).event(T),G=Le(T.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",R,!0),I=qe(T,B),Y=T.clientX,Z=T.clientY;Jc(T.view),qa(T),K.mouse=[I,this.__zoom.invert(I)],so(this),K.start();function J(D){if(ci(D),!K.moved){var H=D.clientX-Y,U=D.clientY-Z;K.moved=H*H+U*U>g}K.event(D).zoom("mouse",i(y(K.that.__zoom,K.mouse[0]=qe(D,B),K.mouse[1]),K.extent,t))}function R(D){G.on("mousemove.zoom mouseup.zoom",null),Zc(D.view,K.moved),ci(D),K.event(D).end()}}function P(T,...O){if(e.apply(this,arguments)){var B=this.__zoom,K=qe(T.changedTouches?T.changedTouches[0]:T,this),G=B.invert(K),I=B.k*(T.shiftKey?.5:2),Y=i(y(S(B,I),K,G),n.apply(this,O),t);ci(T),r>0?Le(this).transition().duration(r).call(w,Y,K,T):Le(this).call(p.transform,Y,K,T)}}function k(T,...O){if(e.apply(this,arguments)){var B=T.touches,K=B.length,G=A(this,O,T.changedTouches.length===K).event(T),I,Y,Z,J;for(qa(T),Y=0;Y<K;++Y)Z=B[Y],J=qe(Z,this),J=[J,this.__zoom.invert(J),Z.identifier],G.touch0?!G.touch1&&G.touch0[2]!==J[2]&&(G.touch1=J,G.taps=0):(G.touch0=J,I=!0,G.taps=1+!!d);d&&(d=clearTimeout(d)),I&&(G.taps<2&&(b=J[0],d=setTimeout(function(){d=null},f)),so(this),G.start())}}function M(T,...O){if(this.__zooming){var B=A(this,O).event(T),K=T.changedTouches,G=K.length,I,Y,Z,J;for(ci(T),I=0;I<G;++I)Y=K[I],Z=qe(Y,this),B.touch0&&B.touch0[2]===Y.identifier?B.touch0[0]=Z:B.touch1&&B.touch1[2]===Y.identifier&&(B.touch1[0]=Z);if(Y=B.that.__zoom,B.touch1){var R=B.touch0[0],D=B.touch0[1],H=B.touch1[0],U=B.touch1[1],q=(q=H[0]-R[0])*q+(q=H[1]-R[1])*q,F=(F=U[0]-D[0])*F+(F=U[1]-D[1])*F;Y=S(Y,Math.sqrt(q/F)),Z=[(R[0]+H[0])/2,(R[1]+H[1])/2],J=[(D[0]+U[0])/2,(D[1]+U[1])/2]}else if(B.touch0)Z=B.touch0[0],J=B.touch0[1];else return;B.zoom("touch",i(y(Y,Z,J),B.extent,t))}}function L(T,...O){if(this.__zooming){var B=A(this,O).event(T),K=T.changedTouches,G=K.length,I,Y;for(qa(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),I=0;I<G;++I)Y=K[I],B.touch0&&B.touch0[2]===Y.identifier?delete B.touch0:B.touch1&&B.touch1[2]===Y.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(Y=qe(Y,this),Math.hypot(b[0]-Y[0],b[1]-Y[1])<v)){var Z=Le(this).on("dblclick.zoom");Z&&Z.apply(this,arguments)}}}return p.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:to(+T),p):o},p.filter=function(T){return arguments.length?(e=typeof T=="function"?T:to(!!T),p):e},p.touchable=function(T){return arguments.length?(a=typeof T=="function"?T:to(!!T),p):a},p.extent=function(T){return arguments.length?(n=typeof T=="function"?T:to([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),p):n},p.scaleExtent=function(T){return arguments.length?(s[0]=+T[0],s[1]=+T[1],p):[s[0],s[1]]},p.translateExtent=function(T){return arguments.length?(t[0][0]=+T[0][0],t[1][0]=+T[1][0],t[0][1]=+T[0][1],t[1][1]=+T[1][1],p):[[t[0][0],t[0][1]],[t[1][0],t[1][1]]]},p.constrain=function(T){return arguments.length?(i=T,p):i},p.duration=function(T){return arguments.length?(r=+T,p):r},p.interpolate=function(T){return arguments.length?(l=T,p):l},p.on=function(){var T=u.on.apply(u,arguments);return T===u?p:T},p.clickDistance=function(T){return arguments.length?(g=(T=+T)*T,p):Math.sqrt(g)},p.tapDistance=function(T){return arguments.length?(v=+T,p):v},p}const Be={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.`},bi=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],kb=["Enter"," ","Escape"],Mb={"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 qn;(function(e){e.Strict="strict",e.Loose="loose"})(qn||(qn={}));var gn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(gn||(gn={}));var mi;(function(e){e.Partial="partial",e.Full="full"})(mi||(mi={}));const Tb={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 Fn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Fn||(Fn={}));var oe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(oe||(oe={}));const Pb={[oe.Left]:oe.Right,[oe.Right]:oe.Left,[oe.Top]:oe.Bottom,[oe.Bottom]:oe.Top};function Ib(e){return e===null?null:e?"valid":"invalid"}const Lb=e=>"id"in e&&"source"in e&&"target"in e,KC=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Fa=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),fi=(e,n=[0,0])=>{var r;const{width:i,height:o}=nn(e),a=(r=e.origin)!=null?r:n,s=i*a[0],t=o*a[1];return{x:e.position.x-s,y:e.position.y-t}},HC=(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,a)=>{const s=typeof a=="string";let t=!n.nodeLookup&&!s?a:void 0;n.nodeLookup&&(t=s?n.nodeLookup.get(a):Fa(a)?a:n.nodeLookup.get(a.id));const r=t?co(t,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return lo(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return uo(i)},vi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(a=>{(n.filter===void 0||n.filter(a))&&(i=lo(i,co(a)),o=!0)}),o?uo(i):{x:0,y:0,width:0,height:0}},Ga=(e,n,[i,o,a]=[0,0,1],s=!1,t=!1)=>{var m,f,h,g,v,p;const r=(n.x-i)/a,l=(n.y-o)/a,u=n.width/a,d=n.height/a,b=[];for(const S of e.values()){const{measured:y,selectable:x=!0,hidden:w=!1}=S;if(t&&!x||w)continue;const A=(h=(f=(m=y.width)!=null?m:S.width)!=null?f:S.initialWidth)!=null?h:0,N=(p=(v=(g=y.height)!=null?g:S.height)!=null?v:S.initialHeight)!=null?p:0,{x:E,y:_}=S.internals.positionAbsolute,P=Fb(r,l,u,d,E,_,A,N),k=A*N,M=s&&P>0;(!S.internals.handleBounds||M||P>=k||S.dragging)&&b.push(S)}return b},VC=(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 zC(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(a=>a.id)):null;return e.forEach(a=>{a.measured.width&&a.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!a.hidden)&&(!o||o.has(a.id))&&i.set(a.id,a)}),i}async function jC({nodes:e,width:n,height:i,panZoom:o,minZoom:a,maxZoom:s},t){var d,b,m;if(e.size===0)return!0;const r=zC(e,t),l=vi(r),u=Va(l,n,i,(d=t==null?void 0:t.minZoom)!=null?d:a,(b=t==null?void 0:t.maxZoom)!=null?b:s,(m=t==null?void 0:t.padding)!=null?m:.1);return await o.setViewport(u,{duration:t==null?void 0:t.duration,ease:t==null?void 0:t.ease,interpolate:t==null?void 0:t.interpolate}),!0}function Bb({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:a,onError:s}){var f,h,g;const t=i.get(e),r=t.parentId?i.get(t.parentId):void 0,{x:l,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},d=(f=t.origin)!=null?f:o;let b=t.extent||a;if(t.extent==="parent"&&!t.expandParent)if(!r)s==null||s("005",Be.error005());else{const v=r.measured.width,p=r.measured.height;v&&p&&(b=[[l,u],[l+v,u+p]])}else r&&xn(t.extent)&&(b=[[t.extent[0][0]+l,t.extent[0][1]+u],[t.extent[1][0]+l,t.extent[1][1]+u]]);const m=xn(b)?yn(n,b,t.measured):n;return(t.measured.width===void 0||t.measured.height===void 0)&&(s==null||s("015",Be.error015())),{position:{x:m.x-l+((h=t.measured.width)!=null?h:0)*d[0],y:m.y-u+((g=t.measured.height)!=null?g:0)*d[1]},positionAbsolute:m}}async function UC({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:a}){const s=new Set(e.map(m=>m.id)),t=[];for(const m of i){if(m.deletable===!1)continue;const f=s.has(m.id),h=!f&&m.parentId&&t.find(g=>g.id===m.parentId);(f||h)&&t.push(m)}const r=new Set(n.map(m=>m.id)),l=o.filter(m=>m.deletable!==!1),d=VC(t,l);for(const m of l)r.has(m.id)&&!d.find(h=>h.id===m.id)&&d.push(m);if(!a)return{edges:d,nodes:t};const b=await a({nodes:t,edges:d});return typeof b=="boolean"?b?{edges:d,nodes:t}:{edges:[],nodes:[]}:b}const Gn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),yn=(e={x:0,y:0},n,i)=>{var o,a;return{x:Gn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Gn(e.y,n[0][1],n[1][1]-((a=i==null?void 0:i.height)!=null?a:0))}};function Ob(e,n,i){const{width:o,height:a}=nn(i),{x:s,y:t}=i.internals.positionAbsolute;return yn(e,[[s,t],[s+o,t+a]],n)}const Db=(e,n,i)=>e<n?Gn(Math.abs(e-n),1,n)/n:e>i?-Gn(Math.abs(e-i),1,n)/n:0,Ka=(e,n,i=15,o=40)=>{const a=Db(e.x,o,n.width-o)*i,s=Db(e.y,o,n.height-o)*i;return[a,s]},lo=(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)}),Ha=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),uo=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),hi=(e,n=[0,0])=>{var a,s,t,r,l,u,d,b;const{x:i,y:o}=Fa(e)?e.internals.positionAbsolute:fi(e,n);return{x:i,y:o,width:(r=(t=(s=(a=e.measured)==null?void 0:a.width)!=null?s:e.width)!=null?t:e.initialWidth)!=null?r:0,height:(b=(d=(u=(l=e.measured)==null?void 0:l.height)!=null?u:e.height)!=null?d:e.initialHeight)!=null?b:0}},co=(e,n=[0,0])=>{var a,s,t,r,l,u,d,b;const{x:i,y:o}=Fa(e)?e.internals.positionAbsolute:fi(e,n);return{x:i,y:o,x2:i+((r=(t=(s=(a=e.measured)==null?void 0:a.width)!=null?s:e.width)!=null?t:e.initialWidth)!=null?r:0),y2:o+((b=(d=(u=(l=e.measured)==null?void 0:l.height)!=null?u:e.height)!=null?d:e.initialHeight)!=null?b:0)}},qb=(e,n)=>uo(lo(Ha(e),Ha(n))),Fb=(e,n,i,o,a,s,t,r)=>{const l=Math.max(0,Math.min(e+i,a+t)-Math.max(e,a)),u=Math.max(0,Math.min(n+o,s+r)-Math.max(n,s));return Math.ceil(l*u)},bo=(e,n)=>Fb(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),Gb=e=>Ke(e.width)&&Ke(e.height)&&Ke(e.x)&&Ke(e.y),Ke=e=>!isNaN(e)&&isFinite(e),Kb=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},pi=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),gi=({x:e,y:n},[i,o,a],s=!1,t=[1,1])=>{const r={x:(e-i)/a,y:(n-o)/a};return s?pi(r,t):r},Kn=({x:e,y:n},[i,o,a])=>({x:e*a+i,y:n*a+o});function Hn(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 WC(e,n,i){var o,a,s,t,r,l,u,d;if(typeof e=="string"||typeof e=="number"){const b=Hn(e,i),m=Hn(e,n);return{top:b,right:m,bottom:b,left:m,x:m*2,y:b*2}}if(typeof e=="object"){const b=Hn((a=(o=e.top)!=null?o:e.y)!=null?a:0,i),m=Hn((t=(s=e.bottom)!=null?s:e.y)!=null?t:0,i),f=Hn((l=(r=e.left)!=null?r:e.x)!=null?l:0,n),h=Hn((d=(u=e.right)!=null?u:e.x)!=null?d:0,n);return{top:b,right:h,bottom:m,left:f,x:f+h,y:b+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $C(e,n,i,o,a,s){const{x:t,y:r}=Kn(e,[n,i,o]),{x:l,y:u}=Kn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),d=a-l,b=s-u;return{left:Math.floor(t),top:Math.floor(r),right:Math.floor(d),bottom:Math.floor(b)}}const Va=(e,n,i,o,a,s)=>{const t=WC(s,n,i),r=(n-t.x)/e.width,l=(i-t.y)/e.height,u=Math.min(r,l),d=Gn(u,o,a),b=e.x+e.width/2,m=e.y+e.height/2,f=n/2-b*d,h=i/2-m*d,g=$C(e,f,h,d,n,i),v={left:Math.min(g.left-t.left,0),top:Math.min(g.top-t.top,0),right:Math.min(g.right-t.right,0),bottom:Math.min(g.bottom-t.bottom,0)};return{x:f-v.left+v.right,y:h-v.top+v.bottom,zoom:d}},yi=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function xn(e){return e!=null&&e!=="parent"}function nn(e){var n,i,o,a,s,t,r,l;return{width:(a=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?a:0,height:(l=(r=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?r:e.initialHeight)!=null?l:0}}function Hb(e){var n,i,o,a,s,t;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((t=(s=(a=e.measured)==null?void 0:a.height)!=null?s:e.height)!=null?t:e.initialHeight)!==void 0}function Vb(e,n={width:0,height:0},i,o,a){var r,l;const s={...e},t=o.get(i);if(t){const u=t.origin||a;s.x+=t.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],s.y+=t.internals.positionAbsolute.y-((l=n.height)!=null?l:0)*u[1]}return s}function zb(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function YC(){let e,n;return{promise:new Promise((o,a)=>{e=o,n=a}),resolve:e,reject:n}}function JC(e){return{...Mb,...e||{}}}function xi(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:a}){var d,b;const{x:s,y:t}=He(e),r=gi({x:s-((d=a==null?void 0:a.left)!=null?d:0),y:t-((b=a==null?void 0:a.top)!=null?b:0)},o),{x:l,y:u}=i?pi(r,n):r;return{xSnapped:l,ySnapped:u,...r}}const za=e=>({width:e.offsetWidth,height:e.offsetHeight}),jb=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},ZC=["INPUT","SELECT","TEXTAREA"];function Ub(e){var o,a;const n=((a=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:a[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:ZC.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Wb=e=>"clientX"in e,He=(e,n)=>{var s,t,r,l;const i=Wb(e),o=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,a=i?e.clientY:(t=e.touches)==null?void 0:t[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:a-((l=n==null?void 0:n.top)!=null?l:0)}},$b=(e,n,i,o,a)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(t=>{const r=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:a,position:t.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...za(t)}})};function Yb({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:a,sourceControlY:s,targetControlX:t,targetControlY:r}){const l=e*.125+a*.375+t*.375+i*.125,u=n*.125+s*.375+r*.375+o*.125,d=Math.abs(l-e),b=Math.abs(u-n);return[l,u,d,b]}function mo(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Jb({pos:e,x1:n,y1:i,x2:o,y2:a,c:s}){switch(e){case oe.Left:return[n-mo(n-o,s),i];case oe.Right:return[n+mo(o-n,s),i];case oe.Top:return[n,i-mo(i-a,s)];case oe.Bottom:return[n,i+mo(a-i,s)]}}function Zb({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top,curvature:t=.25}){const[r,l]=Jb({pos:i,x1:e,y1:n,x2:o,y2:a,c:t}),[u,d]=Jb({pos:s,x1:o,y1:a,x2:e,y2:n,c:t}),[b,m,f,h]=Yb({sourceX:e,sourceY:n,targetX:o,targetY:a,sourceControlX:r,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${n} C${r},${l} ${u},${d} ${o},${a}`,b,m,f,h]}function Xb({sourceX:e,sourceY:n,targetX:i,targetY:o}){const a=Math.abs(i-e)/2,s=i<e?i+a:i-a,t=Math.abs(o-n)/2,r=o<n?o+t:o-t;return[s,r,a,t]}function XC({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:a=!1,zIndexMode:s="basic"}){if(s==="manual")return o;const t=a&&i?o+1e3:o,r=Math.max(e.parentId||a&&e.selected?e.internals.z:0,n.parentId||a&&n.selected?n.internals.z:0);return t+r}function QC({sourceNode:e,targetNode:n,width:i,height:o,transform:a}){const s=lo(co(e),co(n));s.x===s.x2&&(s.x2+=1),s.y===s.y2&&(s.y2+=1);const t={x:-a[0]/a[2],y:-a[1]/a[2],width:i/a[2],height:o/a[2]};return bo(t,uo(s))>0}const RC=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,e_=(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)),n_=(e,n,i={})=>{var s;if(!e.source||!e.target)return(s=i.onError)==null||s.call(i,"006",Be.error006()),n;const o=i.getEdgeId||RC;let a;return Lb(e)?a={...e}:a={...e,id:o(e)},e_(a,n)?n:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,n.concat(a))};function Qb({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[a,s,t,r]=Xb({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,a,s,t,r]}const Rb={[oe.Left]:{x:-1,y:0},[oe.Right]:{x:1,y:0},[oe.Top]:{x:0,y:-1},[oe.Bottom]:{x:0,y:1}},i_=({source:e,sourcePosition:n=oe.Bottom,target:i})=>n===oe.Left||n===oe.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},em=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function o_({source:e,sourcePosition:n=oe.Bottom,target:i,targetPosition:o=oe.Top,center:a,offset:s,stepPosition:t}){var E,_,P,k;const r=Rb[n],l=Rb[o],u={x:e.x+r.x*s,y:e.y+r.y*s},d={x:i.x+l.x*s,y:i.y+l.y*s},b=i_({source:u,sourcePosition:n,target:d}),m=b.x!==0?"x":"y",f=b[m];let h=[],g,v;const p={x:0,y:0},S={x:0,y:0},[,,y,x]=Xb({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*l[m]===-1){m==="x"?(g=(E=a.x)!=null?E:u.x+(d.x-u.x)*t,v=(_=a.y)!=null?_:(u.y+d.y)/2):(g=(P=a.x)!=null?P:(u.x+d.x)/2,v=(k=a.y)!=null?k:u.y+(d.y-u.y)*t);const M=[{x:g,y:u.y},{x:g,y:d.y}],L=[{x:u.x,y:v},{x:d.x,y:v}];r[m]===f?h=m==="x"?M:L:h=m==="x"?L:M}else{const M=[{x:u.x,y:d.y}],L=[{x:d.x,y:u.y}];if(m==="x"?h=r.x===f?L:M:h=r.y===f?M:L,n===o){const G=Math.abs(e[m]-i[m]);if(G<=s){const I=Math.min(s-1,s-G);r[m]===f?p[m]=(u[m]>e[m]?-1:1)*I:S[m]=(d[m]>i[m]?-1:1)*I}}if(n!==o){const G=m==="x"?"y":"x",I=r[m]===l[G],Y=u[G]>d[G],Z=u[G]<d[G];(r[m]===1&&(!I&&Y||I&&Z)||r[m]!==1&&(!I&&Z||I&&Y))&&(h=m==="x"?M:L)}const T={x:u.x+p.x,y:u.y+p.y},O={x:d.x+S.x,y:d.y+S.y},B=Math.max(Math.abs(T.x-h[0].x),Math.abs(O.x-h[0].x)),K=Math.max(Math.abs(T.y-h[0].y),Math.abs(O.y-h[0].y));B>=K?(g=(T.x+O.x)/2,v=h[0].y):(g=h[0].x,v=(T.y+O.y)/2)}const w={x:u.x+p.x,y:u.y+p.y},A={x:d.x+S.x,y:d.y+S.y};return[[e,...w.x!==h[0].x||w.y!==h[0].y?[w]:[],...h,...A.x!==h[h.length-1].x||A.y!==h[h.length-1].y?[A]:[],i],g,v,y,x]}function a_(e,n,i,o){const a=Math.min(em(e,n)/2,em(n,i)/2,o),{x:s,y:t}=n;if(e.x===s&&s===i.x||e.y===t&&t===i.y)return`L${s} ${t}`;if(e.y===t){const u=e.x<i.x?-1:1,d=e.y<i.y?1:-1;return`L ${s+a*u},${t}Q ${s},${t} ${s},${t+a*d}`}const r=e.x<i.x?1:-1,l=e.y<i.y?-1:1;return`L ${s},${t+a*l}Q ${s},${t} ${s+a*r},${t}`}function ja({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top,borderRadius:t=5,centerX:r,centerY:l,offset:u=20,stepPosition:d=.5}){const[b,m,f,h,g]=o_({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:a},targetPosition:s,center:{x:r,y:l},offset:u,stepPosition:d});let v=`M${b[0].x} ${b[0].y}`;for(let p=1;p<b.length-1;p++)v+=a_(b[p-1],b[p],b[p+1],t);return v+=`L${b[b.length-1].x} ${b[b.length-1].y}`,[v,m,f,h,g]}function nm(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function s_(e){var b,m,f,h,g;const{sourceNode:n,targetNode:i}=e;if(!nm(n)||!nm(i))return null;const o=n.internals.handleBounds||im(n.handles),a=i.internals.handleBounds||im(i.handles),s=om((b=o==null?void 0:o.source)!=null?b:[],e.sourceHandle),t=om(e.connectionMode===qn.Strict?(m=a==null?void 0:a.target)!=null?m:[]:((f=a==null?void 0:a.target)!=null?f:[]).concat((h=a==null?void 0:a.source)!=null?h:[]),e.targetHandle);if(!s||!t)return(g=e.onError)==null||g.call(e,"008",Be.error008(s?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(s==null?void 0:s.position)||oe.Bottom,l=(t==null?void 0:t.position)||oe.Top,u=Sn(n,s,r),d=Sn(i,t,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:r,targetPosition:l}}function im(e){var o,a;if(!e)return null;const n=[],i=[];for(const s of e)s.width=(o=s.width)!=null?o:1,s.height=(a=s.height)!=null?a:1,s.type==="source"?n.push(s):s.type==="target"&&i.push(s);return{source:n,target:i}}function Sn(e,n,i=oe.Left,o=!1){var u,d,b;const a=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,s=((d=n==null?void 0:n.y)!=null?d:0)+e.internals.positionAbsolute.y,{width:t,height:r}=n!=null?n:nn(e);if(o)return{x:a+t/2,y:s+r/2};switch((b=n==null?void 0:n.position)!=null?b:i){case oe.Top:return{x:a+t/2,y:s};case oe.Right:return{x:a+t,y:s+r/2};case oe.Bottom:return{x:a+t/2,y:s+r};case oe.Left:return{x:a,y:s+r/2}}}function om(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function Ua(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function t_(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:a}){const s=new Set;return e.reduce((t,r)=>([r.markerStart||o,r.markerEnd||a].forEach(l=>{if(l&&typeof l=="object"){const u=Ua(l,n);s.has(u)||(t.push({id:u,color:l.color||i,...l}),s.add(u))}}),t),[]).sort((t,r)=>t.id.localeCompare(r.id))}const am=1e3,r_=10,Wa={nodeOrigin:[0,0],nodeExtent:bi,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},l_={...Wa,checkEquality:!0};function $a(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function u_(e,n,i){const o=$a(Wa,i);for(const a of e.values())if(a.parentId)Za(a,e,n,o);else{const s=fi(a,o.nodeOrigin),t=xn(a.extent)?a.extent:o.nodeExtent,r=yn(s,t,nn(a));a.internals.positionAbsolute=r}}function d_(e,n){var a,s;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const t of e.handles){const r={id:t.id,width:(a=t.width)!=null?a:1,height:(s=t.height)!=null?s:1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type==="source"?i.push(r):t.type==="target"&&o.push(r)}return{source:i,target:o}}function Ya(e){return e==="manual"}function Ja(e,n,i,o={}){var d,b,m;const a=$a(l_,o),s={i:0},t=new Map(n),r=a!=null&&a.elevateNodesOnSelect&&!Ya(a.zIndexMode)?am:0;let l=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let h=t.get(f.id);if(a.checkEquality&&f===(h==null?void 0:h.internals.userNode))n.set(f.id,h);else{const g=fi(f,a.nodeOrigin),v=xn(f.extent)?f.extent:a.nodeExtent,p=yn(g,v,nn(f));h={...a.defaults,...f,measured:{width:(d=f.measured)==null?void 0:d.width,height:(b=f.measured)==null?void 0:b.height},internals:{positionAbsolute:p,handleBounds:d_(f,h),z:sm(f,r,a.zIndexMode),userNode:f}},n.set(f.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(l=!1),f.parentId&&Za(h,n,i,o,s),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function c_(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 Za(e,n,i,o,a){const{elevateNodesOnSelect:s,nodeOrigin:t,nodeExtent:r,zIndexMode:l}=$a(Wa,o),u=e.parentId,d=n.get(u);if(!d){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}c_(e,i),a&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++a.i,d.internals.z=d.internals.z+a.i*r_),a&&d.internals.rootParentIndex!==void 0&&(a.i=d.internals.rootParentIndex);const b=s&&!Ya(l)?am:0,{x:m,y:f,z:h}=b_(e,d,t,r,b,l),{positionAbsolute:g}=e.internals,v=m!==g.x||f!==g.y;(v||h!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:m,y:f}:g,z:h}})}function sm(e,n,i){const o=Ke(e.zIndex)?e.zIndex:0;return Ya(i)?o:o+(e.selected?n:0)}function b_(e,n,i,o,a,s){var h;const{x:t,y:r}=n.internals.positionAbsolute,l=nn(e),u=fi(e,i),d=xn(e.extent)?yn(u,e.extent,l):u;let b=yn({x:t+d.x,y:r+d.y},o,l);e.extent==="parent"&&(b=Ob(b,l,n));const m=sm(e,a,s),f=(h=n.internals.z)!=null?h:0;return{x:b.x,y:b.y,z:f>=m?f+1:m}}function Xa(e,n,i,o=[0,0]){var t,r;const a=[],s=new Map;for(const l of e){const u=n.get(l.parentId);if(!u)continue;const d=(r=(t=s.get(l.parentId))==null?void 0:t.expandedRect)!=null?r:hi(u),b=qb(d,l.rect);s.set(l.parentId,{expandedRect:b,parent:u})}return s.size>0&&s.forEach(({expandedRect:l,parent:u},d)=>{var x,w;const b=u.internals.positionAbsolute,m=nn(u),f=(x=u.origin)!=null?x:o,h=l.x<b.x?Math.round(Math.abs(b.x-l.x)):0,g=l.y<b.y?Math.round(Math.abs(b.y-l.y)):0,v=Math.max(m.width,Math.round(l.width)),p=Math.max(m.height,Math.round(l.height)),S=(v-m.width)*f[0],y=(p-m.height)*f[1];(h>0||g>0||S||y)&&(a.push({id:d,type:"position",position:{x:u.position.x-h+S,y:u.position.y-g+y}}),(w=i.get(d))==null||w.forEach(A=>{e.some(N=>N.id===A.id)||a.push({id:A.id,type:"position",position:{x:A.position.x+h,y:A.position.y+g}})})),(m.width<l.width||m.height<l.height||h||g)&&a.push({id:d,type:"dimensions",setAttributes:!0,dimensions:{width:v+(h?f[0]*h-S:0),height:p+(g?f[1]*g-y:0)}})}),a}function m_(e,n,i,o,a,s,t){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let l=!1;if(!r)return{changes:[],updatedInternals:l};const u=[],d=window.getComputedStyle(r),{m22:b}=new window.DOMMatrixReadOnly(d.transform),m=[];for(const f of e.values()){const h=n.get(f.id);if(!h)continue;if(h.hidden){n.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),l=!0;continue}const g=za(f.nodeElement),v=h.measured.width!==g.width||h.measured.height!==g.height;if(!!(g.width&&g.height&&(v||!h.internals.handleBounds||f.force))){const S=f.nodeElement.getBoundingClientRect(),y=xn(h.extent)?h.extent:s;let{positionAbsolute:x}=h.internals;h.parentId&&h.extent==="parent"?x=Ob(x,g,n.get(h.parentId)):y&&(x=yn(x,y,g));const w={...h,measured:g,internals:{...h.internals,positionAbsolute:x,handleBounds:{source:$b("source",f.nodeElement,S,b,h.id),target:$b("target",f.nodeElement,S,b,h.id)}}};n.set(h.id,w),h.parentId&&Za(w,n,i,{nodeOrigin:a,zIndexMode:t}),l=!0,v&&(u.push({id:h.id,type:"dimensions",dimensions:g}),h.expandParent&&h.parentId&&m.push({id:h.id,parentId:h.parentId,rect:hi(w,a)}))}}if(m.length>0){const f=Xa(m,n,i,a);u.push(...f)}return{changes:u,updatedInternals:l}}async function f_({delta:e,panZoom:n,transform:i,translateExtent:o,width:a,height:s}){if(!n||!e.x&&!e.y)return!1;const t=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[a,s]],o);return!!t&&(t.x!==i[0]||t.y!==i[1]||t.k!==i[2])}function tm(e,n,i,o,a,s){let t=a;const r=o.get(t)||new Map;o.set(t,r.set(i,n)),t=`${a}-${e}`;const l=o.get(t)||new Map;if(o.set(t,l.set(i,n)),s){t=`${a}-${e}-${s}`;const u=o.get(t)||new Map;o.set(t,u.set(i,n))}}function rm(e,n,i){e.clear(),n.clear();for(const o of i){const{source:a,target:s,sourceHandle:t=null,targetHandle:r=null}=o,l={edgeId:o.id,source:a,target:s,sourceHandle:t,targetHandle:r},u=`${a}-${t}--${s}-${r}`,d=`${s}-${r}--${a}-${t}`;tm("source",l,d,e,a,t),tm("target",l,u,e,s,r),n.set(o.id,o)}}function lm(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:lm(i,n):!1}function um(e,n,i){var a;let o=e;do{if((a=o==null?void 0:o.matches)!=null&&a.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function v_(e,n,i,o){var s,t;const a=new Map;for(const[r,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!lm(l,e))&&(l.draggable||n&&typeof l.draggable=="undefined")){const u=e.get(r);u&&a.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:(s=u.measured.width)!=null?s:0,height:(t=u.measured.height)!=null?t:0}})}return a}function Qa({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var t,r,l;const a=[];for(const[u,d]of n){const b=(t=i.get(u))==null?void 0:t.internals.userNode;b&&a.push({...b,position:d.position,dragging:o})}if(!e)return[a[0],a];const s=(r=i.get(e))==null?void 0:r.internals.userNode;return[s?{...s,position:((l=n.get(e))==null?void 0:l.position)||s.position,dragging:o}:a[0],a]}function h_({dragItems:e,snapGrid:n,x:i,y:o}){const a=e.values().next().value;if(!a)return null;const s={x:i-a.distance.x,y:o-a.distance.y},t=pi(s,n);return{x:t.x-s.x,y:t.y-s.y}}function p_({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:a}){let s={x:null,y:null},t=0,r=new Map,l=!1,u={x:0,y:0},d=null,b=!1,m=null,f=!1,h=!1,g=null;function v({noDragClassName:S,handleSelector:y,domNode:x,isSelectable:w,nodeId:A,nodeClickDistance:N=0}){m=Le(x);function E({x:M,y:L}){const{nodeLookup:T,nodeExtent:O,snapGrid:B,snapToGrid:K,nodeOrigin:G,onNodeDrag:I,onSelectionDrag:Y,onError:Z,updateNodePositions:J}=n();s={x:M,y:L};let R=!1;const D=r.size>1,H=D&&O?Ha(vi(r)):null,U=D&&K?h_({dragItems:r,snapGrid:B,x:M,y:L}):null;for(const[q,F]of r){if(!T.has(q))continue;let W={x:M-F.distance.x,y:L-F.distance.y};K&&(W=U?{x:Math.round(W.x+U.x),y:Math.round(W.y+U.y)}:pi(W,B));let z=null;if(D&&O&&!F.extent&&H){const{positionAbsolute:j}=F.internals,X=j.x-H.x+O[0][0],$=j.x+F.measured.width-H.x2+O[1][0],ne=j.y-H.y+O[0][1],ee=j.y+F.measured.height-H.y2+O[1][1];z=[[X,ne],[$,ee]]}const{position:V,positionAbsolute:Q}=Bb({nodeId:q,nextPosition:W,nodeLookup:T,nodeExtent:z||O,nodeOrigin:G,onError:Z});R=R||F.position.x!==V.x||F.position.y!==V.y,F.position=V,F.internals.positionAbsolute=Q}if(h=h||R,!!R&&(J(r,!0),g&&(o||I||!A&&Y))){const[q,F]=Qa({nodeId:A,dragItems:r,nodeLookup:T});o==null||o(g,r,q,F),I==null||I(g,q,F),A||Y==null||Y(g,F)}}async function _(){var G,I;if(!d)return;const{transform:M,panBy:L,autoPanSpeed:T,autoPanOnNodeDrag:O}=n();if(!O){l=!1,cancelAnimationFrame(t);return}const[B,K]=Ka(u,d,T);(B!==0||K!==0)&&(s.x=((G=s.x)!=null?G:0)-B/M[2],s.y=((I=s.y)!=null?I:0)-K/M[2],await L({x:B,y:K})&&E(s)),t=requestAnimationFrame(_)}function P(M){var D;const{nodeLookup:L,multiSelectionActive:T,nodesDraggable:O,transform:B,snapGrid:K,snapToGrid:G,selectNodesOnDrag:I,onNodeDragStart:Y,onSelectionDragStart:Z,unselectNodesAndEdges:J}=n();b=!0,(!I||!w)&&!T&&A&&((D=L.get(A))!=null&&D.selected||J()),w&&I&&A&&(e==null||e(A));const R=xi(M.sourceEvent,{transform:B,snapGrid:K,snapToGrid:G,containerBounds:d});if(s=R,r=v_(L,O,R,A),r.size>0&&(i||Y||!A&&Z)){const[H,U]=Qa({nodeId:A,dragItems:r,nodeLookup:L});i==null||i(M.sourceEvent,r,H,U),Y==null||Y(M.sourceEvent,H,U),A||Z==null||Z(M.sourceEvent,U)}}const k=Xc().clickDistance(N).on("start",M=>{const{domNode:L,nodeDragThreshold:T,transform:O,snapGrid:B,snapToGrid:K}=n();d=(L==null?void 0:L.getBoundingClientRect())||null,f=!1,h=!1,g=M.sourceEvent,T===0&&P(M),s=xi(M.sourceEvent,{transform:O,snapGrid:B,snapToGrid:K,containerBounds:d}),u=He(M.sourceEvent,d)}).on("drag",M=>{const{autoPanOnNodeDrag:L,transform:T,snapGrid:O,snapToGrid:B,nodeDragThreshold:K,nodeLookup:G}=n(),I=xi(M.sourceEvent,{transform:T,snapGrid:O,snapToGrid:B,containerBounds:d});if(g=M.sourceEvent,(M.sourceEvent.type==="touchmove"&&M.sourceEvent.touches.length>1||A&&!G.has(A))&&(f=!0),!f){if(!l&&L&&b&&(l=!0,_()),!b){const Y=He(M.sourceEvent,d),Z=Y.x-u.x,J=Y.y-u.y;Math.sqrt(Z*Z+J*J)>K&&P(M)}(s.x!==I.xSnapped||s.y!==I.ySnapped)&&r&&b&&(u=He(M.sourceEvent,d),E(I))}}).on("end",M=>{if(!b||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(l=!1,b=!1,cancelAnimationFrame(t),r.size>0){const{nodeLookup:L,updateNodePositions:T,onNodeDragStop:O,onSelectionDragStop:B}=n();if(h&&(T(r,!1),h=!1),a||O||!A&&B){const[K,G]=Qa({nodeId:A,dragItems:r,nodeLookup:L,dragging:!1});a==null||a(M.sourceEvent,r,K,G),O==null||O(M.sourceEvent,K,G),A||B==null||B(M.sourceEvent,G)}}}).filter(M=>{const L=M.target;return!M.button&&(!S||!um(L,`.${S}`,x))&&(!y||um(L,y,x))});m.call(k)}function p(){m==null||m.on(".drag",null)}return{update:v,destroy:p}}function g_(e,n,i){const o=[],a={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())bo(a,hi(s))>0&&o.push(s);return o}const y_=250;function x_(e,n,i,o){var r,l,u,d,b;let a=[],s=1/0;const t=g_(e,i,n+y_);for(const m of t){const f=[...(l=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?l:[],...(d=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?d:[]];for(const h of f){if(o.nodeId===h.nodeId&&o.type===h.type&&o.id===h.id)continue;const{x:g,y:v}=Sn(m,h,h.position,!0),p=Math.sqrt(Math.pow(g-e.x,2)+Math.pow(v-e.y,2));p>n||(p<s?(a=[{...h,x:g,y:v}],s=p):p===s&&a.push({...h,x:g,y:v}))}}if(!a.length)return null;if(a.length>1){const m=o.type==="source"?"target":"source";return(b=a.find(f=>f.type===m))!=null?b:a[0]}return a[0]}function dm(e,n,i,o,a,s=!1){var u,d,b,m,f,h;const t=o.get(e);if(!t)return null;const r=a==="strict"?(u=t.internals.handleBounds)==null?void 0:u[n]:[...(b=(d=t.internals.handleBounds)==null?void 0:d.source)!=null?b:[],...(f=(m=t.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],l=(h=i?r==null?void 0:r.find(g=>g.id===i):r==null?void 0:r[0])!=null?h:null;return l&&s?{...l,...Sn(t,l,l.position,!0)}:l}function cm(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function S_(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const bm=()=>!0;function w_(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:a,edgeUpdaterType:s,isTarget:t,domNode:r,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:b,panBy:m,cancelConnection:f,onConnectStart:h,onConnect:g,onConnectEnd:v,isValidConnection:p=bm,onReconnectEnd:S,updateConnection:y,getTransform:x,getFromHandle:w,autoPanSpeed:A,dragThreshold:N=1,handleDomNode:E}){const _=jb(e.target);let P=0,k;const{x:M,y:L}=He(e),T=cm(s,E),O=r==null?void 0:r.getBoundingClientRect();let B=!1;if(!O||!T)return;const K=dm(a,T,o,l,n);if(!K)return;let G=He(e,O),I=!1,Y=null,Z=!1,J=null;function R(){if(!d||!O)return;const[V,Q]=Ka(G,O,A);m({x:V,y:Q}),P=requestAnimationFrame(R)}const D={...K,nodeId:a,type:T,position:K.position},H=l.get(a);let q={inProgress:!0,isValid:null,from:Sn(H,D,oe.Left,!0),fromHandle:D,fromPosition:D.position,fromNode:H,to:G,toHandle:null,toPosition:Pb[D.position],toNode:null,pointer:G};function F(){B=!0,y(q),h==null||h(e,{nodeId:a,handleId:o,handleType:T})}N===0&&F();function W(V){if(!B){const{x:ee,y:ae}=He(V),re=ee-M,be=ae-L;if(!(re*re+be*be>N*N))return;F()}if(!w()||!D){z(V);return}const Q=x();G=He(V,O),k=x_(gi(G,Q,!1,[1,1]),i,l,D),I||(R(),I=!0);const j=mm(V,{handle:k,connectionMode:n,fromNodeId:a,fromHandleId:o,fromType:t?"target":"source",isValidConnection:p,doc:_,lib:u,flowId:b,nodeLookup:l});J=j.handleDomNode,Y=j.connection,Z=S_(!!k,j.isValid);const X=l.get(a),$=X?Sn(X,D,oe.Left,!0):q.from,ne={...q,from:$,isValid:Z,to:j.toHandle&&Z?Kn({x:j.toHandle.x,y:j.toHandle.y},Q):G,toHandle:j.toHandle,toPosition:Z&&j.toHandle?j.toHandle.position:Pb[D.position],toNode:j.toHandle?l.get(j.toHandle.nodeId):null,pointer:G};y(ne),q=ne}function z(V){if(!("touches"in V&&V.touches.length>0)){if(B){(k||J)&&Y&&Z&&(g==null||g(Y));const{inProgress:Q,...j}=q,X={...j,toPosition:q.toHandle?q.toPosition:null};v==null||v(V,X),s&&(S==null||S(V,X))}f(),cancelAnimationFrame(P),I=!1,Z=!1,Y=null,J=null,_.removeEventListener("mousemove",W),_.removeEventListener("mouseup",z),_.removeEventListener("touchmove",W),_.removeEventListener("touchend",z)}}_.addEventListener("mousemove",W),_.addEventListener("mouseup",z),_.addEventListener("touchmove",W),_.addEventListener("touchend",z)}function mm(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:a,fromType:s,doc:t,lib:r,flowId:l,isValidConnection:u=bm,nodeLookup:d}){const b=s==="target",m=n?t.querySelector(`.${r}-flow__handle[data-id="${l}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:h}=He(e),g=t.elementFromPoint(f,h),v=g!=null&&g.classList.contains(`${r}-flow__handle`)?g:m,p={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const S=cm(void 0,v),y=v.getAttribute("data-nodeid"),x=v.getAttribute("data-handleid"),w=v.classList.contains("connectable"),A=v.classList.contains("connectableend");if(!y||!S)return p;const N={source:b?y:o,sourceHandle:b?x:a,target:b?o:y,targetHandle:b?a:x};p.connection=N;const _=w&&A&&(i===qn.Strict?b&&S==="source"||!b&&S==="target":y!==o||x!==a);p.isValid=_&&u(N),p.toHandle=dm(y,S,x,d,i,!0)}return p}const Ra={onPointerDown:w_,isValid:mm};function A_({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const a=Le(e);function s({translateExtent:r,width:l,height:u,zoomStep:d=1,pannable:b=!0,zoomable:m=!0,inversePan:f=!1}){const h=y=>{if(y.sourceEvent.type!=="wheel"||!n)return;const x=i(),w=y.sourceEvent.ctrlKey&&yi()?10:1,A=-y.sourceEvent.deltaY*(y.sourceEvent.deltaMode===1?.05:y.sourceEvent.deltaMode?1:.002)*d,N=x[2]*Math.pow(2,A*w);n.scaleTo(N)};let g=[0,0];const v=y=>{var x,w;(y.sourceEvent.type==="mousedown"||y.sourceEvent.type==="touchstart")&&(g=[(x=y.sourceEvent.clientX)!=null?x:y.sourceEvent.touches[0].clientX,(w=y.sourceEvent.clientY)!=null?w:y.sourceEvent.touches[0].clientY])},p=y=>{var P,k;const x=i();if(y.sourceEvent.type!=="mousemove"&&y.sourceEvent.type!=="touchmove"||!n)return;const w=[(P=y.sourceEvent.clientX)!=null?P:y.sourceEvent.touches[0].clientX,(k=y.sourceEvent.clientY)!=null?k:y.sourceEvent.touches[0].clientY],A=[w[0]-g[0],w[1]-g[1]];g=w;const N=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),E={x:x[0]-A[0]*N,y:x[1]-A[1]*N},_=[[0,0],[l,u]];n.setViewportConstrained({x:E.x,y:E.y,zoom:x[2]},_,r)},S=Eb().on("start",v).on("zoom",b?p:null).on("zoom.wheel",m?h:null);a.call(S,{})}function t(){a.on("zoom",null)}return{update:s,destroy:t,pointer:qe}}const fo=e=>({x:e.x,y:e.y,zoom:e.k}),es=({x:e,y:n,zoom:i})=>ro.translate(e,n).scale(i),Vn=(e,n)=>e.target.closest(`.${n}`),fm=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),N_=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ns=(e,n=0,i=N_,o=()=>{})=>{const a=typeof n=="number"&&n>0;return a||o(),a?e.transition().duration(n).ease(i).on("end",o):e},vm=e=>{const n=e.ctrlKey&&yi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function C_({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:a,panOnScrollSpeed:s,zoomOnPinch:t,onPanZoomStart:r,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(Vn(d,n))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const b=i.property("__zoom").k||1;if(d.ctrlKey&&t){const v=qe(d),p=vm(d),S=b*Math.pow(2,p);o.scaleTo(i,S,v,d);return}const m=d.deltaMode===1?20:1;let f=a===gn.Vertical?0:d.deltaX*m,h=a===gn.Horizontal?0:d.deltaY*m;!yi()&&d.shiftKey&&a!==gn.Vertical&&(f=d.deltaY*m,h=0),o.translateBy(i,-(f/b)*s,-(h/b)*s,{internal:!0});const g=fo(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l==null||l(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(d,g))}}function __({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,a){const s=o.type==="wheel",t=!n&&s&&!o.ctrlKey,r=Vn(o,e);if(o.ctrlKey&&s&&r&&o.preventDefault(),t||r)return null;o.preventDefault(),i.call(this,o,a)}}function E_({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var s,t,r;if((s=o.sourceEvent)!=null&&s.internal)return;const a=fo(o.transform);e.mouseButton=((t=o.sourceEvent)==null?void 0:t.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=a,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,a))}}function k_({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:a}){return s=>{var t,r,l;e.usedRightMouseButton=!!(i&&fm(n,(t=e.mouseButton)!=null?t:0)),(r=s.sourceEvent)!=null&&r.sync||o([s.transform.x,s.transform.y,s.transform.k]),a&&!((l=s.sourceEvent)!=null&&l.internal)&&(a==null||a(s.sourceEvent,fo(s.transform)))}}function M_({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:a,onPaneContextMenu:s}){return t=>{var r,l;if(!((r=t.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,s&&fm(n,(l=e.mouseButton)!=null?l:0)&&!e.usedRightMouseButton&&t.sourceEvent&&s(t.sourceEvent),e.usedRightMouseButton=!1,o(!1),a)){const u=fo(t.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{a==null||a(t.sourceEvent,u)},i?150:0)}}}function T_({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:a,zoomOnDoubleClick:s,userSelectionActive:t,noWheelClassName:r,noPanClassName:l,lib:u,connectionInProgress:d}){return b=>{var v;const m=e||n,f=i&&b.ctrlKey,h=b.type==="wheel";if(b.button===1&&b.type==="mousedown"&&(Vn(b,`${u}-flow__node`)||Vn(b,`${u}-flow__edge`)))return!0;if(!o&&!m&&!a&&!s&&!i||t||d&&!h||Vn(b,r)&&h||Vn(b,l)&&(!h||a&&h&&!e)||!i&&b.ctrlKey&&h)return!1;if(!i&&b.type==="touchstart"&&((v=b.touches)==null?void 0:v.length)>1)return b.preventDefault(),!1;if(!m&&!a&&!f&&h||!o&&(b.type==="mousedown"||b.type==="touchstart")||Array.isArray(o)&&!o.includes(b.button)&&b.type==="mousedown")return!1;const g=Array.isArray(o)&&o.includes(b.button)||!b.button||b.button<=1;return(!b.ctrlKey||h)&&g}}function P_({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:a,onPanZoom:s,onPanZoomStart:t,onPanZoomEnd:r,onDraggingChange:l}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),b=Eb().scaleExtent([n,i]).translateExtent(o),m=Le(e).call(b);S({x:a.x,y:a.y,zoom:Gn(a.zoom,n,i)},[[0,0],[d.width,d.height]],o);const f=m.on("wheel.zoom"),h=m.on("dblclick.zoom");b.wheelDelta(vm);async function g(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ti:Xi).transform(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}function v({noWheelClassName:k,noPanClassName:M,onPaneContextMenu:L,userSelectionActive:T,panOnScroll:O,panOnDrag:B,panOnScrollMode:K,panOnScrollSpeed:G,preventScrolling:I,zoomOnPinch:Y,zoomOnScroll:Z,zoomOnDoubleClick:J,zoomActivationKeyPressed:R,lib:D,onTransformChange:H,connectionInProgress:U,paneClickDistance:q,selectionOnDrag:F}){T&&!u.isZoomingOrPanning&&p();const W=O&&!R&&!T;b.clickDistance(F?1/0:!Ke(q)||q<0?0:q);const z=W?C_({zoomPanValues:u,noWheelClassName:k,d3Selection:m,d3Zoom:b,panOnScrollMode:K,panOnScrollSpeed:G,zoomOnPinch:Y,onPanZoomStart:t,onPanZoom:s,onPanZoomEnd:r}):__({noWheelClassName:k,preventScrolling:I,d3ZoomHandler:f});m.on("wheel.zoom",z,{passive:!1});const V=E_({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:t});b.on("start",V);const Q=k_({zoomPanValues:u,panOnDrag:B,onPaneContextMenu:!!L,onPanZoom:s,onTransformChange:H});b.on("zoom",Q);const j=M_({zoomPanValues:u,panOnDrag:B,panOnScroll:O,onPaneContextMenu:L,onPanZoomEnd:r,onDraggingChange:l});b.on("end",j);const X=T_({zoomActivationKeyPressed:R,panOnDrag:B,zoomOnScroll:Z,panOnScroll:O,zoomOnDoubleClick:J,zoomOnPinch:Y,userSelectionActive:T,noPanClassName:M,noWheelClassName:k,lib:D,connectionInProgress:U});b.filter(X),J?m.on("dblclick.zoom",h):m.on("dblclick.zoom",null)}function p(){b.on("zoom",null)}async function S(k,M,L){const T=es(k),O=b==null?void 0:b.constrain()(T,M,L);return O&&await g(O),O}async function y(k,M){const L=es(k);return await g(L,M),L}function x(k){if(m){const M=es(k),L=m.property("__zoom");(L.k!==k.zoom||L.x!==k.x||L.y!==k.y)&&(b==null||b.transform(m,M,null,{sync:!0}))}}function w(){const k=m?Cb(m.node()):{x:0,y:0,k:1};return{x:k.x,y:k.y,zoom:k.k}}async function A(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ti:Xi).scaleTo(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}async function N(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ti:Xi).scaleBy(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}function E(k){b==null||b.scaleExtent(k)}function _(k){b==null||b.translateExtent(k)}function P(k){const M=!Ke(k)||k<0?0:k;b==null||b.clickDistance(M)}return{update:v,destroy:p,setViewport:y,setViewportConstrained:S,getViewport:w,scaleTo:A,scaleBy:N,setScaleExtent:E,setTranslateExtent:_,syncViewport:x,setClickDistance:P}}var zn;(function(e){e.Line="line",e.Handle="handle"})(zn||(zn={}));function I_({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:a,affectsY:s}){const t=e-n,r=i-o,l=[t>0?1:t<0?-1:0,r>0?1:r<0?-1:0];return t&&a&&(l[0]=l[0]*-1),r&&s&&(l[1]=l[1]*-1),l}function hm(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),a=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:a}}function un(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function vo(e,n,i){return Math.max(0,n-e,e-i)}function pm(e,n){return e?!n:n}function L_(e,n,i,o,a,s,t,r){let{affectsX:l,affectsY:u}=n;const{isHorizontal:d,isVertical:b}=n,m=d&&b,{xSnapped:f,ySnapped:h}=i,{minWidth:g,maxWidth:v,minHeight:p,maxHeight:S}=o,{x:y,y:x,width:w,height:A,aspectRatio:N}=e;let E=Math.floor(d?f-e.pointerX:0),_=Math.floor(b?h-e.pointerY:0);const P=w+(l?-E:E),k=A+(u?-_:_),M=-s[0]*w,L=-s[1]*A;let T=vo(P,g,v),O=vo(k,p,S);if(t){let G=0,I=0;l&&E<0?G=un(y+E+M,t[0][0]):!l&&E>0&&(G=dn(y+P+M,t[1][0])),u&&_<0?I=un(x+_+L,t[0][1]):!u&&_>0&&(I=dn(x+k+L,t[1][1])),T=Math.max(T,G),O=Math.max(O,I)}if(r){let G=0,I=0;l&&E>0?G=dn(y+E,r[0][0]):!l&&E<0&&(G=un(y+P,r[1][0])),u&&_>0?I=dn(x+_,r[0][1]):!u&&_<0&&(I=un(x+k,r[1][1])),T=Math.max(T,G),O=Math.max(O,I)}if(a){if(d){const G=vo(P/N,p,S)*N;if(T=Math.max(T,G),t){let I=0;!l&&!u||l&&!u&&m?I=dn(x+L+P/N,t[1][1])*N:I=un(x+L+(l?E:-E)/N,t[0][1])*N,T=Math.max(T,I)}if(r){let I=0;!l&&!u||l&&!u&&m?I=un(x+P/N,r[1][1])*N:I=dn(x+(l?E:-E)/N,r[0][1])*N,T=Math.max(T,I)}}if(b){const G=vo(k*N,g,v)/N;if(O=Math.max(O,G),t){let I=0;!l&&!u||u&&!l&&m?I=dn(y+k*N+M,t[1][0])/N:I=un(y+(u?_:-_)*N+M,t[0][0])/N,O=Math.max(O,I)}if(r){let I=0;!l&&!u||u&&!l&&m?I=un(y+k*N,r[1][0])/N:I=dn(y+(u?_:-_)*N,r[0][0])/N,O=Math.max(O,I)}}}_=_+(_<0?O:-O),E=E+(E<0?T:-T),a&&(m?P>k*N?_=(pm(l,u)?-E:E)/N:E=(pm(l,u)?-_:_)*N:d?(_=E/N,u=l):(E=_*N,l=u));const B=l?y+E:y,K=u?x+_:x;return{width:w+(l?-E:E),height:A+(u?-_:_),x:s[0]*E*(l?-1:1)+B,y:s[1]*_*(u?-1:1)+K}}const gm={width:0,height:0,x:0,y:0},B_={...gm,pointerX:0,pointerY:0,aspectRatio:1};function O_(e,n,i){var u,d;const o=n.position.x+e.position.x,a=n.position.y+e.position.y,s=(u=e.measured.width)!=null?u:0,t=(d=e.measured.height)!=null?d:0,r=i[0]*s,l=i[1]*t;return[[o-r,a-l],[o+s-r,a+t-l]]}function D_({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:a}){const s=Le(e);let t={controlDirection:hm("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:d,keepAspectRatio:b,resizeDirection:m,onResizeStart:f,onResize:h,onResizeEnd:g,shouldResize:v}){let p={...gm},S={...B_};t={boundaries:d,resizeDirection:m,keepAspectRatio:b,controlDirection:hm(u)};let y,x=null,w=[],A,N,E,_=!1;const P=Xc().on("start",k=>{var Y,Z,J,R,D,H;const{nodeLookup:M,transform:L,snapGrid:T,snapToGrid:O,nodeOrigin:B,paneDomNode:K}=i();if(y=M.get(n),!y)return;x=(Y=K==null?void 0:K.getBoundingClientRect())!=null?Y:null;const{xSnapped:G,ySnapped:I}=xi(k.sourceEvent,{transform:L,snapGrid:T,snapToGrid:O,containerBounds:x});p={width:(Z=y.measured.width)!=null?Z:0,height:(J=y.measured.height)!=null?J:0,x:(R=y.position.x)!=null?R:0,y:(D=y.position.y)!=null?D:0},S={...p,pointerX:G,pointerY:I,aspectRatio:p.width/p.height},A=void 0,N=xn(y.extent)?y.extent:void 0,y.parentId&&(y.extent==="parent"||y.expandParent)&&(A=M.get(y.parentId)),A&&y.extent==="parent"&&(N=[[0,0],[A.measured.width,A.measured.height]]),w=[],E=void 0;for(const[U,q]of M)if(q.parentId===n&&(w.push({id:U,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){const F=O_(q,y,(H=q.origin)!=null?H:B);E?E=[[Math.min(F[0][0],E[0][0]),Math.min(F[0][1],E[0][1])],[Math.max(F[1][0],E[1][0]),Math.max(F[1][1],E[1][1])]]:E=F}f==null||f(k,{...p})}).on("drag",k=>{var $,ne,ee;const{transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O}=i(),B=xi(k.sourceEvent,{transform:M,snapGrid:L,snapToGrid:T,containerBounds:x}),K=[];if(!y)return;const{x:G,y:I,width:Y,height:Z}=p,J={},R=($=y.origin)!=null?$:O,{width:D,height:H,x:U,y:q}=L_(S,t.controlDirection,B,t.boundaries,t.keepAspectRatio,R,N,E),F=D!==Y,W=H!==Z,z=U!==G&&F,V=q!==I&&W;if(!z&&!V&&!F&&!W)return;if((z||V||R[0]===1||R[1]===1)&&(J.x=z?U:p.x,J.y=V?q:p.y,p.x=J.x,p.y=J.y,w.length>0)){const ae=U-G,re=q-I;for(const be of w)be.position={x:be.position.x-ae+R[0]*(D-Y),y:be.position.y-re+R[1]*(H-Z)},K.push(be)}if((F||W)&&(J.width=F&&(!t.resizeDirection||t.resizeDirection==="horizontal")?D:p.width,J.height=W&&(!t.resizeDirection||t.resizeDirection==="vertical")?H:p.height,p.width=J.width,p.height=J.height),A&&y.expandParent){const ae=R[0]*((ne=J.width)!=null?ne:0);J.x&&J.x<ae&&(p.x=ae,S.x=S.x-(J.x-ae));const re=R[1]*((ee=J.height)!=null?ee:0);J.y&&J.y<re&&(p.y=re,S.y=S.y-(J.y-re))}const Q=I_({width:p.width,prevWidth:Y,height:p.height,prevHeight:Z,affectsX:t.controlDirection.affectsX,affectsY:t.controlDirection.affectsY}),j={...p,direction:Q};(v==null?void 0:v(k,j))!==!1&&(_=!0,h==null||h(k,j),o(J,K))}).on("end",k=>{_&&(g==null||g(k,{...p}),a==null||a({...p}),_=!1)});s.call(P)}function l(){s.on(".drag",null)}return{update:r,destroy:l}}var ho=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function ym(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var po={exports:{}},is={},go={exports:{}},os={};/**
|
|
30
|
+
active:opacity-50 element_class`,draggable:!0,children:c.jsxs("span",{className:"flex flex-col items-center justify-center w-full gap-2",children:[c.jsx("span",{style:{color:l},children:c.jsx(se,{icon:v.icon,iconClass:"w-6 h-6"})}),c.jsx("span",{style:{color:l},className:"text-xs font-medium text-center",children:v.label})]})},v.type))})]},h)})})})]})},zS=C.memo(VS),Ue=({text:e="",isDisabled:n=!1,isLoading:i=!1,btnClass:o="bg-primary-500 text-white",icon:a="",iconPosition:s="left",iconClass:t="text-[20px]",loadingClass:r="",link:l="",div:u=!1,type:d="button",style:b,onClick:m})=>{const f=ue("btn inline-flex justify-center",{"pointer-events-none":i,"opacity-40 cursor-not-allowed":n},o),h=()=>i?c.jsxs(c.Fragment,{children:[c.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:[c.jsx("circle",{className:"opacity-25",cx:"12",cy:"12",r:"10",stroke:"currentColor",strokeWidth:"4"}),c.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..."]}):c.jsxs("span",{className:"flex items-center",children:[a&&s==="left"&&c.jsx("span",{className:`mr-[6px] ${t}`,children:c.jsx(se,{icon:a})}),e&&c.jsx("span",{children:e}),a&&s==="right"&&c.jsx("span",{className:`ml-[6px] ${t}`,children:c.jsx(se,{icon:a})})]});return u?c.jsx("div",{className:f,children:h()}):l?c.jsx(px.Link,{to:l,className:f,children:h()}):c.jsx("button",{disabled:n,type:d,className:f,"data-testid":"btn",onClick:m,style:b,children:h()})};function jS(){return c.jsx("div",{children:c.jsxs("svg",{width:"36",height:"36",viewBox:"0 0 36 36",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",fill:"#D5D7DA"}),c.jsx("rect",{x:"0.5",y:"0.5",width:"35",height:"35",rx:"7.5",stroke:"#E9EAEB"}),c.jsx("path",{d:"M22.5 14L14.5 22M14.5 14L22.5 22",stroke:"#414651",strokeWidth:"1.66667",strokeLinecap:"round",strokeLinejoin:"round"})]})})}const US=({isOpen:e,onClose:n})=>{const{formData:i,uploadUrl:o}=C.useContext(Ce);if(!e)return null;const a=Se("config");return c.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:[c.jsx("button",{type:"button",onClick:n,className:"absolute text-sm top-3 right-4","aria-label":"close",children:c.jsx(jS,{})})," ",c.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:c.jsx(ga,{form_data:i,ignoreValidation:!0,config:a,uploadUrl:o})})]})};function WS(){return c.jsx("div",{children:c.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[c.jsx("rect",{width:"24",height:"24",rx:"6",fill:"currentColor"}),c.jsx("path",{d:"M14 16L10 12L14 8",stroke:"white",strokeWidth:"1.39167",strokeLinecap:"round",strokeLinejoin:"round"})]})})}function $S({title:e,goBackUrl:n,onSubmit:i,onPublish:o,previewLoading:a,saveLoading:s,publishLoading:t,onTitleChange:r,viewMode:l,setViewMode:u,onShowVersion:d}){const{formData:b,setShowPreview:m,showPreview:f,undo:h,redo:g,canUndo:v,canRedo:p}=C.useContext(Ce),[S,y]=C.useState(!1),[x,w]=C.useState(!1),[A,N]=C.useState(e||""),E=Se("config");function _(){localStorage.setItem("formData",JSON.stringify(b)),i==null||i(b)}function P(){localStorage.setItem("formData",JSON.stringify(b)),o==null||o(b)}function k(){w(!1),r&&A!==e&&r(A.trim())}return c.jsxs("div",{className:"px-[30px] py-3 flex justify-between items-center bg-[#F9F9FB] top_bar border-b h-full",children:[c.jsxs("span",{className:"flex items-center gap-x-2",children:[n&&c.jsx("button",{type:"button",onClick:()=>n(),style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:"flex items-center gap-x-3",children:c.jsx(WS,{})})," ",x?c.jsx("input",{type:"text",value:A,onChange:M=>N(M.target.value),onBlur:k,autoFocus:!0,className:"w-48 px-2 py-1 text-sm font-semibold outline-gray-100 input form_title"}):c.jsx("h1",{title:"Click to edit",className:"text-base font-semibold cursor-pointer form_title",onClick:()=>w(!0),children:A||"Untitled"})]}),S&&c.jsx(US,{isOpen:S,onClose:()=>y(!1),element:void 0}),c.jsxs("div",{className:"flex justify-end text-xs gap-x-3 items-center",children:[u&&c.jsxs("div",{className:"flex border border-gray-300 rounded-lg overflow-hidden h-[36px] text-sm font-medium shadow-sm mr-2",children:[c.jsxs("button",{type:"button",style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 transition-colors canvas_view ${l==="canvas"?"bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("canvas"),children:[c.jsx(se,{icon:"mdi:view-dashboard-outline",iconClass:"text-base"})," ","Builder"]}),c.jsxs("button",{type:"button",style:{color:(E==null?void 0:E.buttonColor)||"#333"},className:`px-3 flex items-center gap-1.5 border-l border-gray-300 transition-colors flow_view ${l==="flow"?" bg-white font-medium":"bg-gray-100 text-gray-500 hover:bg-gray-50"}`,onClick:()=>u("flow"),children:[c.jsx(se,{icon:"mdi:sitemap-outline",iconClass:"text-base"})," Flow"]})]}),c.jsx(Ue,{onClick:h,text:"",btnClass:`!px-2 bg-transparent undo ${v?"":"opacity-50"}`,icon:"material-symbols:undo",iconClass:"text-xl !mr-0",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:!v}),c.jsx(Ue,{onClick:g,text:"",btnClass:`!px-2 bg-transparent redo ${p?"":"opacity-50"}`,icon:"material-symbols:redo",iconClass:"text-xl !mr-0",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:!p}),d&&c.jsx(Ue,{onClick:d,text:"Versions",btnClass:"px-2 bg-transparent font-medium text-sm",icon:"tabler:history",iconClass:"text-xl",style:{color:(E==null?void 0:E.buttonColor)||"#333"}}),c.jsx(Ue,{onClick:()=>m(M=>!M),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:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:a,isLoading:a}),c.jsx(Ue,{onClick:_,text:"Save",btnClass:"px-2 bg-transparent font-medium text-sm form_save__btn",icon:"lets-icons:save-duotone",iconClass:"text-base",style:{color:(E==null?void 0:E.buttonColor)||"#333"},isDisabled:s,isLoading:s}),c.jsx(Ue,{onClick:P,text:"Publish",style:{background:(E==null?void 0:E.buttonColor)||"#333"},btnClass:"border-[#98A2B3] font-medium text-sm py-2 px-6 text-white rounded-lg form_publish__btn",isDisabled:t,isLoading:t})]})]})}function YS({onSubmit:e,onChange:n,onLogAction:i,questionData:o,title:a,goBackUrl:s,loading:t,onPublish:r,previewLoading:l,saveLoading:u,publishLoading:d,onTitleChange:b,uploadUrl:m,onAddTemplate:f,templates:h,onShowVersion:g}){const[v,p]=C.useState("canvas");return c.jsxs(Qd,{onChange:n,onLogAction:i,children:[c.jsx(Pe.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),c.jsx("div",{className:"w-full h-full bg-[#F8F9FC] flex flex-col",children:c.jsxs("div",{className:"flex flex-1 ",children:[v==="canvas"&&c.jsx("div",{children:c.jsx("div",{className:"w-[250px] h-screen border-r border-[#E4E7EC] bg-white ",children:c.jsx(zS,{})})}),c.jsxs("div",{className:`flex-1 h-full max-h-full z-[1] ${v==="canvas"?"w-[calc(100%-250px)]":"w-full"}`,children:[c.jsx("div",{className:" h-[70px]",children:c.jsx($S,{title:a,goBackUrl:s,onSubmit:e,onPublish:r,previewLoading:l,saveLoading:u,publishLoading:d,onTitleChange:b,viewMode:v,setViewMode:p,onShowVersion:g})}),c.jsx("div",{className:"p-6 h-[calc(100vh-70px)]",children:t?c.jsx(fa,{loadingClass:"!w-full !h-[800px]"}):c.jsx(HS,{questionData:o,uploadUrl:m,onAddTemplate:f,templates:h,viewMode:v})})]})]})})]})}const JS=({onSubmit:e,onChange:n,onLogAction:i,questionData:o,isReadOnly:a,config:s={buttonColor:"#333"},title:t,loading:r,goBackUrl:l,onPublish:u,previewLoading:d,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:h,onAddTemplate:g,templates:v,onShowVersion:p})=>(C.useEffect(()=>{s&&_c("config",s)},[s]),c.jsx(YS,{onSubmit:e,onChange:n,onLogAction:i,onPublish:u,questionData:o,isReadOnly:a,title:t,goBackUrl:l,loading:r,previewLoading:d,saveLoading:b,publishLoading:m,onTitleChange:f,uploadUrl:h,onAddTemplate:g,templates:v,onShowVersion:p})),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}`},ZS=(e,n=!1)=>({textField:ie.string().nullable(),longText:ie.string().nullable(),numberField:ie.number().nullable().transform(o=>isNaN(o)?null:o),amountField:ie.number().nullable().transform(o=>isNaN(o)?null:o),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,o=>!o||o.trim()===""?!0:/^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$/.test(o)),date:ie.date().nullable().transform((o,a)=>n&&a===""?null:o).typeError("Invalid date"),url:ie.string().nullable().test("url-format",rn.url,o=>!o||o.trim()===""?!0:/^(https?:\/\/)?([a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(\/.*)?$/.test(o))})[e]||ie.mixed().nullable(),XS=(e,n,i)=>n?e.type==="boolean"?e.oneOf([!0],i||rn.required):e.required(i||rn.required):e,QS=(e,{minLength:n,maxLength:i,minLengthMessage:o,maxLengthMessage:a})=>{let s=e;return n&&(s=s.min(n,o||rn.minLength(n))),i&&(s=s.max(i,a||rn.maxLength(i))),s},RS=(e,{minAmount:n,maxAmount:i,minAmountMessage:o,maxAmountMessage:a})=>{let s=e;return n&&(s=s.min(parseFloat(String(n)),o||rn.minAmount(n))),i&&(s=s.max(parseFloat(String(i)),a||rn.maxAmount(i))),s},ha=(e,n)=>{if(!e.isHidden)return!0;const i=e.visibilityDependentFields||[];return i.length?i.every(o=>{const a=n==null?void 0:n[o.id],s=o.fieldValue,t=a;switch(o.operator){case"equals":return String(s).toLowerCase()===String(t).toLowerCase();case"not_equals":return String(s).toLowerCase()!==String(t).toLowerCase();case"greater":return Number(t)>Number(s);case"less":return Number(t)<Number(s);case"contains":return String(t).toLowerCase().includes(String(s).toLowerCase());case"not_contains":return!String(t).toLowerCase().includes(String(s).toLowerCase());default:return!0}}):!0};function ew({formData:e,isReadOnly:n,answerData:i}){const o={};return e.forEach(({questionData:a})=>{a==null||a.forEach(s=>{if(!ha(s,i))return;const{id:t,type:r,isRequired:l,requiredMessage:u,isDisabled:d}=s;let b=ZS(r,n);b=XS(b,d||n?!1:l,u),r==="textField"||r==="longText"||r==="email"||r==="url"?b=QS(b,s):(r==="numberField"||r==="amountField")&&(b=RS(b,s)),o[t]=b})}),ie.object().shape(o)}const Pn=({element:e,validationData:n})=>{const i=Lc[e.type],{answerData:o}=C.useContext(Ce),a=C.useMemo(()=>{var t;return(t=e==null?void 0:e.acceptedFiles)==null?void 0:t.map(r=>r.label).join(", ")},[e]),s=C.useMemo(()=>ha(e,o),[o,e]);return i?c.jsxs("div",{className:`${s?"":"invisible h-0"} min-w-0 w-full`,children:[c.jsxs("div",{className:"mb-1.5 min-w-0",children:[e.inputLabel&&c.jsxs("label",{className:"block text-sm font-medium input_label",children:[e.inputLabel," ",a&&c.jsxs("span",{className:"text-gray-400 text-xs",children:["(",a==null?void 0:a.toLowerCase(),")"]})]}),e.description&&c.jsxs("small",{className:"block text-gray-400 mt-0.5 text-xs",children:[" ",e.description]})]}),c.jsx(i,{element:e,state:"edit",validationData:{...n,isReadOnly:n.isReadOnly||e.isDisabled}})]}):null},In=(e,n)=>e!=null&&e.allowEdit?{...n,isReadOnly:!1}:n;function nw({form_data:e,options:n}){const i=(a,s)=>c.jsx("div",{className:"min-w-0",children:c.jsx(Gi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:s==null?void 0:s.map(t=>{var r,l,u;return c.jsxs(Fi,{col:(r=t.gridPosition)==null?void 0:r.col,customClass:"p-0",children:[c.jsx(Pn,{element:t,validationData:In(t,n)}),((u=(l=n==null?void 0:n.errors)==null?void 0:l[t.id])==null?void 0:u.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[t.id].message})]},t.id)})})},a.id),o=a=>{var s,t;return c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[c.jsx(Pn,{element:a,validationData:In(a,n)}),((t=(s=n==null?void 0:n.errors)==null?void 0:s[a.id])==null?void 0:t.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[a.id].message})]},a.id)};return c.jsx("div",{className:"grid gap-y-10",children:e==null?void 0:e.map(a=>{var t,r;const s=new Map;return(t=a.questionData)==null||t.forEach(l=>{l.gridId&&(s.has(l.gridId)||s.set(l.gridId,[]),s.get(l.gridId).push(l))}),c.jsxs("div",{className:"pb-6 section_box min-w-0",children:[(a.title||a.description)&&c.jsxs("div",{className:"py-4 border-b border-gray-100 mb-7 section_box__title",children:[a.title&&c.jsx("h2",{className:"text-lg font-semibold mb-[4px]",children:a.title}),a.description&&c.jsx("p",{className:"text-sm",children:a.description})]}),c.jsx("div",{className:"grid gap-y-6 section_box__content min-w-0",children:(r=a.questionData)==null?void 0:r.map(l=>l.gridId?null:l.type==="grid"?i(l,s.get(l.id)||[]):o(l))})]},a.id)})})}function iw({form_data:e,options:n,current:i}){var o;return c.jsx("div",{className:"grid gap-y-3 multi_section__content min-w-0",children:(o=e[i].questionData)==null?void 0:o.map(a=>{var s,t;if(a.type==="grid"){const r=e[i].questionData.filter(l=>l.gridId===a.id);return c.jsx("div",{className:"min-w-0",children:c.jsx(Gi,{element:a,customClass:"p-0 min-h-[60px] border-none",children:r==null?void 0:r.map(l=>{var u,d,b;return c.jsxs(Fi,{col:(u=l.gridPosition)==null?void 0:u.col,customClass:"p-0",children:[c.jsx(Pn,{element:l,validationData:In(l,n)}),c.jsx("div",{className:"mt-1 text-xs text-red-600",children:(b=(d=n==null?void 0:n.errors)==null?void 0:d[l.id])==null?void 0:b.message})]},l.id)})})},a.id)}return a.gridId?null:c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0",a.elementClass),children:[c.jsx(Pn,{element:a,validationData:In(a,n)}),c.jsx("div",{className:"mt-1 text-xs text-red-600",children:(t=(s=n==null?void 0:n.errors)==null?void 0:s[a.id])==null?void 0:t.message})]},a.id)})})}const pa=Se("config");function ow({element:e,options:n,onNext:i,onPrev:o,isFirst:a,isLast:s,isReadOnly:t}){if(!e)return c.jsx("div",{className:"flex items-center justify-center min-h-[500px] text-gray-500",children:"No questions available."});const r=d=>{d.key==="Enter"&&!d.shiftKey&&(d.preventDefault(),i())},l=d=>{var b;return c.jsx("div",{className:"min-w-0 w-full",children:c.jsx(Gi,{element:d,customClass:"p-0 min-h-[60px] border-none w-full",children:(b=d.gridChildren)==null?void 0:b.map(m=>{var f,h,g;return c.jsxs(Fi,{col:(f=m.gridPosition)==null?void 0:f.col,customClass:"p-0",children:[c.jsx(Pn,{element:m,validationData:In(m,n)}),((g=(h=n==null?void 0:n.errors)==null?void 0:h[m.id])==null?void 0:g.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[m.id].message})]},m.id)})})},d.id)},u=d=>{var b,m;return c.jsxs("div",{className:ue("group relative grid gap-y-[6px] min-w-0 w-full",d.elementClass),children:[c.jsx(Pn,{element:d,validationData:In(d,n)}),((m=(b=n==null?void 0:n.errors)==null?void 0:b[d.id])==null?void 0:m.message)&&c.jsx("div",{className:"mt-1 text-xs text-red-600",children:n.errors[d.id].message})]},d.id)};return c.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:c.jsxs(le.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:[c.jsx("div",{className:"text-left w-full mb-8",children:e.type==="grid"?l(e):u(e)}),!t&&c.jsxs("div",{className:"flex items-center gap-4 mt-8",children:[c.jsx(Ue,{type:"button",text:s?n!=null&&n.isSubmitting?"Submitting...":"Submit":"OK",onClick:i,style:{background:(pa==null?void 0:pa.buttonColor)||"#333"},btnClass:`text-gray-700 border-[#98A2B3] !font-medium !py-[10px] px-10 bg-blue-600 text-white rounded-lg ${s?"submit_btn":"continue_btn next_btn text-sm"}`}),!s&&c.jsx("span",{className:"text-xs text-gray-400 font-medium hidden sm:inline-block",children:"press Enter ↵"}),!a&&c.jsxs("button",{type:"button",onClick:o,className:"text-gray-400 hover:text-gray-600 font-medium text-sm ml-auto flex items-center gap-1 transition-colors",children:[c.jsx(se,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]})]},e.id)})}function aw(e){return e.reduce((n,i)=>(n[i.id]=i.value,n),{})}const sw=({form_data:e,answerData:n=[],ignoreValidation:i=!1,onSubmitData:o,onGetValues:a,isReadOnly:s=!1,renderType:t="multi",children:r,hideFooter:l=!1,uploadUrl:u})=>{var H,U,q,F,W,z,V,Q;const{setAnswerData:d,setUploadUrl:b}=C.useContext(Ce),[m,f]=C.useState(0),[h,g]=C.useState(0),v=C.useMemo(()=>e.filter(j=>!j.isHidden).map(j=>{var $;return j.isDisabled||j.disabled?{...j,questionData:($=j.questionData)==null?void 0:$.map(ne=>({...ne,isDisabled:!0}))}:j}),[e]),p=(H=v==null?void 0:v.length)!=null?H:0,S=Se("config"),y=C.useCallback(async(j,X,$)=>{const ne=ew({formData:v,isReadOnly:s,answerData:j});return sa(ne)(j,X,$)},[v,s]),x=Xe.useForm({resolver:y,mode:"onSubmit",defaultValues:{}}),{register:w,setValue:A,control:N,handleSubmit:E,reset:_,getValues:P,watch:k,formState:{errors:M,isSubmitting:L},trigger:T,setError:O,clearErrors:B}=x,K=Xe.useWatch({control:N}),G=C.useMemo(()=>K,[JSON.stringify(K)]),I=C.useMemo(()=>{if(t!=="conversational")return[];const j=[];return v.forEach(X=>{var $;($=X.questionData)==null||$.forEach(ne=>{var ee;if(ha(ne,G))if(ne.type==="grid"){const ae=(ee=X.questionData)==null?void 0:ee.filter(re=>re.gridId===ne.id);j.push({...ne,gridChildren:ae})}else ne.gridId||j.push(ne)})}),j},[v,G,t]),Y=C.useCallback(j=>{a&&a(j)},[a]);C.useEffect(()=>{b(u)},[b,u]),C.useEffect(()=>{if(!(v!=null&&v.length)||!a)return;const j=v.flatMap(X=>{var $;return($=X.questionData)==null?void 0:$.map(ne=>({id:ne.id,value:G[ne.id]||"",sectionId:X.id,type:ne.type,metaData:{prefix:ne.prefix,dateFormat:ne.dateFormat}}))});Y(j),d(G)},[G,v,Y,a,d]),C.useEffect(()=>{n!=null&&n.length&&_(aw(n))},[n,_]);const Z=C.useCallback(j=>{const X=v.flatMap($=>{var ne;return(ne=$.questionData)==null?void 0:ne.map(ee=>({id:ee.id,value:j[ee.id]||"",sectionId:$.id,type:ee.type,metaData:{prefix:ee.prefix,dateFormat:ee.dateFormat}}))});Object.keys(M).length>0||o==null||o(X)},[M,v,o]),J=C.useCallback(async()=>{var j,X;if(t==="conversational"){if(!i){const $=I[h];if(!$)return;const ne=$.gridChildren?$.gridChildren.map(ae=>ae.id):[$.id];if(!await T(ne))return}h<I.length-1?g($=>$+1):E(Z)();return}if(!i){const $=(X=(j=v==null?void 0:v[m])==null?void 0:j.questionData)==null?void 0:X.map(ee=>ee.id);if(!await T($))return}f($=>$+1)},[m,h,I,v,i,T,t,E,Z]),R=C.useCallback(()=>{if(t==="conversational"){g(j=>Math.max(0,j-1));return}f(j=>j-1)},[t]),D=C.useMemo(()=>({register:w,setValue:A,watch:k,errors:M,trigger:T,isSubmitting:L,isReadOnly:s,getValues:P,setError:O,clearErrors:B}),[w,A,k,M,T,L,s,P,O,B]);return c.jsxs(Xe.FormProvider,{...x,children:[c.jsx(Pe.Toaster,{position:"top-right",richColors:!0,closeButton:!0}),c.jsxs("form",{onSubmit:E(Z),className:"container h-full mx-auto",children:[c.jsx("div",{className:"relative flex flex-col w-full min-w-0 py-4 gap-y-12",children:c.jsxs("div",{className:"multi_section__box min-w-0",children:[t==="multi"&&(((U=v==null?void 0:v[m])==null?void 0:U.title)||((q=v==null?void 0:v[m])==null?void 0:q.description))&&c.jsxs("div",{className:"py-4 mb-4 border-b border-gray-100 multi_section__title",children:[((F=v[m])==null?void 0:F.title)&&c.jsx("h2",{className:"text-lg font-semibold mb-[6px]",children:(W=v[m])==null?void 0:W.title}),((z=v[m])==null?void 0:z.description)&&c.jsx("p",{className:"text-sm",children:(V=v[m])==null?void 0:V.description})]}),t==="multi"?c.jsx(iw,{form_data:v,options:D,current:m}):t==="conversational"?c.jsx(ow,{element:I[h],options:D,onNext:J,onPrev:R,isFirst:h===0,isLast:h===I.length-1,isReadOnly:s}):c.jsx(nw,{form_data:v,options:D})]},t==="conversational"?`conv-${h}`:(Q=v==null?void 0:v[m])==null?void 0:Q.id)}),!l&&t!=="conversational"&&c.jsx("footer",{className:"flex items-center justify-end gap-4 footer flex-wrap",children:t==="multi"?c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"flex gap-x-4 justify-between navigation_container w-full",children:[c.jsxs("div",{children:[" ",m>0&&c.jsxs("button",{type:"button",onClick:R,className:"text-gray-400 hover:text-gray-600 font-medium text-sm flex items-center gap-1 transition-colors back_btn",children:[c.jsx(se,{icon:"material-symbols:arrow-upward-rounded",iconClass:"text-lg"}),"Back"]})]}),m<p-1&&c.jsx(Ue,{type:"button",text:"Next",onClick:J,style:{background:(S==null?void 0:S.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"})]}),(m===p-1||s)&&!i&&(r!=null?r:c.jsx(Ue,{isDisabled:L||Object.keys(M).length>0,isLoading:L,type:"submit",text:"Submit",style:{background:(S==null?void 0:S.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&&(r!=null?r:c.jsx(Ue,{isDisabled:L||Object.keys(M).length>0,isLoading:L,type:"submit",text:"Submit",style:{background:(S==null?void 0:S.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"}))}),t==="conversational"&&I.length>0&&c.jsx("div",{className:"fixed bottom-0 left-0 w-full h-1.5 bg-gray-200",children:c.jsx("div",{className:"h-full bg-blue-600 transition-all duration-500 ease-out",style:{width:`${(h+1)/I.length*100}%`,background:(S==null?void 0:S.buttonColor)||"#2563EB"}})})]})]})},tw=C.memo(sw);function ga({answerData:e,form_data:n,ignoreValidation:i,onSubmit:o,isReadOnly:a=!1,loading:s=!1,config:t={buttonColor:"#333"},renderType:r,children:l,hideFooter:u,onGetValues:d,uploadUrl:b}){C.useEffect(()=>{t&&_c("config",t)},[t]);const m=C.useCallback(f=>{d&&d(f)},[d]);return s?c.jsx(fa,{}):n?c.jsxs("div",{className:"w-full h-full min-w-0",children:[c.jsx("div",{id:"root-portal"}),c.jsx(Qd,{children:c.jsx(tw,{form_data:n,answerData:e,ignoreValidation:i,onSubmitData:o,isReadOnly:a,renderType:r,hideFooter:u,onGetValues:m,uploadUrl:b,children:l})})]}):c.jsx("div",{children:c.jsx("p",{className:"p-6 text-sm text-gray-400",children:"Error: No form data available."})})}function we(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=we(e[i]))!==""&&(n+=(n&&" ")+o);else for(let i in e)e[i]&&(n+=(n&&" ")+i);return n}var rw={value:()=>{}};function Ki(){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 Hi(i)}function Hi(e){this._=e}function lw(e,n){return e.trim().split(/^|\s+/).map(function(i){var o="",a=i.indexOf(".");if(a>=0&&(o=i.slice(a+1),i=i.slice(0,a)),i&&!n.hasOwnProperty(i))throw new Error("unknown type: "+i);return{type:i,name:o}})}Hi.prototype=Ki.prototype={constructor:Hi,on:function(e,n){var i=this._,o=lw(e+"",i),a,s=-1,t=o.length;if(arguments.length<2){for(;++s<t;)if((a=(e=o[s]).type)&&(a=uw(i[a],e.name)))return a;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++s<t;)if(a=(e=o[s]).type)i[a]=Oc(i[a],e.name,n);else if(n==null)for(a in i)i[a]=Oc(i[a],e.name,null);return this},copy:function(){var e={},n=this._;for(var i in n)e[i]=n[i].slice();return new Hi(e)},call:function(e,n){if((a=arguments.length-2)>0)for(var i=new Array(a),o=0,a,s;o<a;++o)i[o]=arguments[o+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(s=this._[e],o=0,a=s.length;o<a;++o)s[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],a=0,s=o.length;a<s;++a)o[a].value.apply(n,i)}};function uw(e,n){for(var i=0,o=e.length,a;i<o;++i)if((a=e[i]).name===n)return a.value}function Oc(e,n,i){for(var o=0,a=e.length;o<a;++o)if(e[o].name===n){e[o]=rw,e=e.slice(0,o).concat(e.slice(o+1));break}return i!=null&&e.push({name:n,value:i}),e}var ya="http://www.w3.org/1999/xhtml";const Dc={svg:"http://www.w3.org/2000/svg",xhtml:ya,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Vi(e){var n=e+="",i=n.indexOf(":");return i>=0&&(n=e.slice(0,i))!=="xmlns"&&(e=e.slice(i+1)),Dc.hasOwnProperty(n)?{space:Dc[n],local:e}:e}function dw(e){return function(){var n=this.ownerDocument,i=this.namespaceURI;return i===ya&&n.documentElement.namespaceURI===ya?n.createElement(e):n.createElementNS(i,e)}}function cw(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function qc(e){var n=Vi(e);return(n.local?cw:dw)(n)}function bw(){}function xa(e){return e==null?bw:function(){return this.querySelector(e)}}function mw(e){typeof e!="function"&&(e=xa(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=new Array(t),l,u,d=0;d<t;++d)(l=s[d])&&(u=e.call(l,l.__data__,d,s))&&("__data__"in l&&(u.__data__=l.__data__),r[d]=u);return new Ie(o,this._parents)}function fw(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function vw(){return[]}function Fc(e){return e==null?vw:function(){return this.querySelectorAll(e)}}function hw(e){return function(){return fw(e.apply(this,arguments))}}function pw(e){typeof e=="function"?e=hw(e):e=Fc(e);for(var n=this._groups,i=n.length,o=[],a=[],s=0;s<i;++s)for(var t=n[s],r=t.length,l,u=0;u<r;++u)(l=t[u])&&(o.push(e.call(l,l.__data__,u,t)),a.push(l));return new Ie(o,a)}function Gc(e){return function(){return this.matches(e)}}function Kc(e){return function(n){return n.matches(e)}}var gw=Array.prototype.find;function yw(e){return function(){return gw.call(this.children,e)}}function xw(){return this.firstElementChild}function Sw(e){return this.select(e==null?xw:yw(typeof e=="function"?e:Kc(e)))}var ww=Array.prototype.filter;function Aw(){return Array.from(this.children)}function Nw(e){return function(){return ww.call(this.children,e)}}function Cw(e){return this.selectAll(e==null?Aw:Nw(typeof e=="function"?e:Kc(e)))}function _w(e){typeof e!="function"&&(e=Gc(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=[],l,u=0;u<t;++u)(l=s[u])&&e.call(l,l.__data__,u,s)&&r.push(l);return new Ie(o,this._parents)}function Hc(e){return new Array(e.length)}function Ew(){return new Ie(this._enter||this._groups.map(Hc),this._parents)}function zi(e,n){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=n}zi.prototype={constructor:zi,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 kw(e){return function(){return e}}function Mw(e,n,i,o,a,s){for(var t=0,r,l=n.length,u=s.length;t<u;++t)(r=n[t])?(r.__data__=s[t],o[t]=r):i[t]=new zi(e,s[t]);for(;t<l;++t)(r=n[t])&&(a[t]=r)}function Tw(e,n,i,o,a,s,t){var r,l,u=new Map,d=n.length,b=s.length,m=new Array(d),f;for(r=0;r<d;++r)(l=n[r])&&(m[r]=f=t.call(l,l.__data__,r,n)+"",u.has(f)?a[r]=l:u.set(f,l));for(r=0;r<b;++r)f=t.call(e,s[r],r,s)+"",(l=u.get(f))?(o[r]=l,l.__data__=s[r],u.delete(f)):i[r]=new zi(e,s[r]);for(r=0;r<d;++r)(l=n[r])&&u.get(m[r])===l&&(a[r]=l)}function Pw(e){return e.__data__}function Iw(e,n){if(!arguments.length)return Array.from(this,Pw);var i=n?Tw:Mw,o=this._parents,a=this._groups;typeof e!="function"&&(e=kw(e));for(var s=a.length,t=new Array(s),r=new Array(s),l=new Array(s),u=0;u<s;++u){var d=o[u],b=a[u],m=b.length,f=Lw(e.call(d,d&&d.__data__,u,o)),h=f.length,g=r[u]=new Array(h),v=t[u]=new Array(h),p=l[u]=new Array(m);i(d,b,g,v,p,f,n);for(var S=0,y=0,x,w;S<h;++S)if(x=g[S]){for(S>=y&&(y=S+1);!(w=v[y])&&++y<h;);x._next=w||null}}return t=new Ie(t,o),t._enter=r,t._exit=l,t}function Lw(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Bw(){return new Ie(this._exit||this._groups.map(Hc),this._parents)}function Ow(e,n,i){var o=this.enter(),a=this,s=this.exit();return typeof e=="function"?(o=e(o),o&&(o=o.selection())):o=o.append(e+""),n!=null&&(a=n(a),a&&(a=a.selection())),i==null?s.remove():i(s),o&&a?o.merge(a).order():a}function Dw(e){for(var n=e.selection?e.selection():e,i=this._groups,o=n._groups,a=i.length,s=o.length,t=Math.min(a,s),r=new Array(a),l=0;l<t;++l)for(var u=i[l],d=o[l],b=u.length,m=r[l]=new Array(b),f,h=0;h<b;++h)(f=u[h]||d[h])&&(m[h]=f);for(;l<a;++l)r[l]=i[l];return new Ie(r,this._parents)}function qw(){for(var e=this._groups,n=-1,i=e.length;++n<i;)for(var o=e[n],a=o.length-1,s=o[a],t;--a>=0;)(t=o[a])&&(s&&t.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(t,s),s=t);return this}function Fw(e){e||(e=Gw);function n(b,m){return b&&m?e(b.__data__,m.__data__):!b-!m}for(var i=this._groups,o=i.length,a=new Array(o),s=0;s<o;++s){for(var t=i[s],r=t.length,l=a[s]=new Array(r),u,d=0;d<r;++d)(u=t[d])&&(l[d]=u);l.sort(n)}return new Ie(a,this._parents).order()}function Gw(e,n){return e<n?-1:e>n?1:e>=n?0:NaN}function Kw(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Hw(){return Array.from(this)}function Vw(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],a=0,s=o.length;a<s;++a){var t=o[a];if(t)return t}return null}function zw(){let e=0;for(const n of this)++e;return e}function jw(){return!this.node()}function Uw(e){for(var n=this._groups,i=0,o=n.length;i<o;++i)for(var a=n[i],s=0,t=a.length,r;s<t;++s)(r=a[s])&&e.call(r,r.__data__,s,a);return this}function Ww(e){return function(){this.removeAttribute(e)}}function $w(e){return function(){this.removeAttributeNS(e.space,e.local)}}function Yw(e,n){return function(){this.setAttribute(e,n)}}function Jw(e,n){return function(){this.setAttributeNS(e.space,e.local,n)}}function Zw(e,n){return function(){var i=n.apply(this,arguments);i==null?this.removeAttribute(e):this.setAttribute(e,i)}}function Xw(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 Qw(e,n){var i=Vi(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?$w:Ww:typeof n=="function"?i.local?Xw:Zw:i.local?Jw:Yw)(i,n))}function Vc(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function Rw(e){return function(){this.style.removeProperty(e)}}function eA(e,n,i){return function(){this.style.setProperty(e,n,i)}}function nA(e,n,i){return function(){var o=n.apply(this,arguments);o==null?this.style.removeProperty(e):this.style.setProperty(e,o,i)}}function iA(e,n,i){return arguments.length>1?this.each((n==null?Rw:typeof n=="function"?nA:eA)(e,n,i==null?"":i)):Ln(this.node(),e)}function Ln(e,n){return e.style.getPropertyValue(n)||Vc(e).getComputedStyle(e,null).getPropertyValue(n)}function oA(e){return function(){delete this[e]}}function aA(e,n){return function(){this[e]=n}}function sA(e,n){return function(){var i=n.apply(this,arguments);i==null?delete this[e]:this[e]=i}}function tA(e,n){return arguments.length>1?this.each((n==null?oA:typeof n=="function"?sA:aA)(e,n)):this.node()[e]}function zc(e){return e.trim().split(/^|\s+/)}function Sa(e){return e.classList||new jc(e)}function jc(e){this._node=e,this._names=zc(e.getAttribute("class")||"")}jc.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 Uc(e,n){for(var i=Sa(e),o=-1,a=n.length;++o<a;)i.add(n[o])}function Wc(e,n){for(var i=Sa(e),o=-1,a=n.length;++o<a;)i.remove(n[o])}function rA(e){return function(){Uc(this,e)}}function lA(e){return function(){Wc(this,e)}}function uA(e,n){return function(){(n.apply(this,arguments)?Uc:Wc)(this,e)}}function dA(e,n){var i=zc(e+"");if(arguments.length<2){for(var o=Sa(this.node()),a=-1,s=i.length;++a<s;)if(!o.contains(i[a]))return!1;return!0}return this.each((typeof n=="function"?uA:n?rA:lA)(i,n))}function cA(){this.textContent=""}function bA(e){return function(){this.textContent=e}}function mA(e){return function(){var n=e.apply(this,arguments);this.textContent=n==null?"":n}}function fA(e){return arguments.length?this.each(e==null?cA:(typeof e=="function"?mA:bA)(e)):this.node().textContent}function vA(){this.innerHTML=""}function hA(e){return function(){this.innerHTML=e}}function pA(e){return function(){var n=e.apply(this,arguments);this.innerHTML=n==null?"":n}}function gA(e){return arguments.length?this.each(e==null?vA:(typeof e=="function"?pA:hA)(e)):this.node().innerHTML}function yA(){this.nextSibling&&this.parentNode.appendChild(this)}function xA(){return this.each(yA)}function SA(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function wA(){return this.each(SA)}function AA(e){var n=typeof e=="function"?e:qc(e);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function NA(){return null}function CA(e,n){var i=typeof e=="function"?e:qc(e),o=n==null?NA:typeof n=="function"?n:xa(n);return this.select(function(){return this.insertBefore(i.apply(this,arguments),o.apply(this,arguments)||null)})}function _A(){var e=this.parentNode;e&&e.removeChild(this)}function EA(){return this.each(_A)}function kA(){var e=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function MA(){var e=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(e,this.nextSibling):e}function TA(e){return this.select(e?MA:kA)}function PA(e){return arguments.length?this.property("__data__",e):this.node().__data__}function IA(e){return function(n){e.call(this,n,this.__data__)}}function LA(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 BA(e){return function(){var n=this.__on;if(n){for(var i=0,o=-1,a=n.length,s;i<a;++i)s=n[i],(!e.type||s.type===e.type)&&s.name===e.name?this.removeEventListener(s.type,s.listener,s.options):n[++o]=s;++o?n.length=o:delete this.__on}}}function OA(e,n,i){return function(){var o=this.__on,a,s=IA(n);if(o){for(var t=0,r=o.length;t<r;++t)if((a=o[t]).type===e.type&&a.name===e.name){this.removeEventListener(a.type,a.listener,a.options),this.addEventListener(a.type,a.listener=s,a.options=i),a.value=n;return}}this.addEventListener(e.type,s,i),a={type:e.type,name:e.name,value:n,listener:s,options:i},o?o.push(a):this.__on=[a]}}function DA(e,n,i){var o=LA(e+""),a,s=o.length,t;if(arguments.length<2){var r=this.node().__on;if(r){for(var l=0,u=r.length,d;l<u;++l)for(a=0,d=r[l];a<s;++a)if((t=o[a]).type===d.type&&t.name===d.name)return d.value}return}for(r=n?OA:BA,a=0;a<s;++a)this.each(r(o[a],n,i));return this}function $c(e,n,i){var o=Vc(e),a=o.CustomEvent;typeof a=="function"?a=new a(n,i):(a=o.document.createEvent("Event"),i?(a.initEvent(n,i.bubbles,i.cancelable),a.detail=i.detail):a.initEvent(n,!1,!1)),e.dispatchEvent(a)}function qA(e,n){return function(){return $c(this,e,n)}}function FA(e,n){return function(){return $c(this,e,n.apply(this,arguments))}}function GA(e,n){return this.each((typeof n=="function"?FA:qA)(e,n))}function*KA(){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var o=e[n],a=0,s=o.length,t;a<s;++a)(t=o[a])&&(yield t)}var Yc=[null];function Ie(e,n){this._groups=e,this._parents=n}function ii(){return new Ie([[document.documentElement]],Yc)}function HA(){return this}Ie.prototype=ii.prototype={constructor:Ie,select:mw,selectAll:pw,selectChild:Sw,selectChildren:Cw,filter:_w,data:Iw,enter:Ew,exit:Bw,join:Ow,merge:Dw,selection:HA,order:qw,sort:Fw,call:Kw,nodes:Hw,node:Vw,size:zw,empty:jw,each:Uw,attr:Qw,style:iA,property:tA,classed:dA,text:fA,html:gA,raise:xA,lower:wA,append:AA,insert:CA,remove:EA,clone:TA,datum:PA,on:DA,dispatch:GA,[Symbol.iterator]:KA};function Le(e){return typeof e=="string"?new Ie([[document.querySelector(e)]],[document.documentElement]):new Ie([[e]],Yc)}function VA(e){let n;for(;n=e.sourceEvent;)e=n;return e}function qe(e,n){if(e=VA(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 a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}}return[e.pageX,e.pageY]}const zA={passive:!1},oi={capture:!0,passive:!1};function wa(e){e.stopImmediatePropagation()}function Bn(e){e.preventDefault(),e.stopImmediatePropagation()}function Jc(e){var n=e.document.documentElement,i=Le(e).on("dragstart.drag",Bn,oi);"onselectstart"in n?i.on("selectstart.drag",Bn,oi):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function Zc(e,n){var i=e.document.documentElement,o=Le(e).on("dragstart.drag",null);n&&(o.on("click.drag",Bn,oi),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 ji=e=>()=>e;function Aa(e,{sourceEvent:n,subject:i,target:o,identifier:a,active:s,x:t,y:r,dx:l,dy:u,dispatch:d}){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:a,enumerable:!0,configurable:!0},active:{value:s,enumerable:!0,configurable:!0},x:{value:t,enumerable:!0,configurable:!0},y:{value:r,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}Aa.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jA(e){return!e.ctrlKey&&!e.button}function UA(){return this.parentNode}function WA(e,n){return n==null?{x:e.x,y:e.y}:n}function $A(){return navigator.maxTouchPoints||"ontouchstart"in this}function Xc(){var e=jA,n=UA,i=WA,o=$A,a={},s=Ki("start","drag","end"),t=0,r,l,u,d,b=0;function m(x){x.on("mousedown.drag",f).filter(o).on("touchstart.drag",v).on("touchmove.drag",p,zA).on("touchend.drag touchcancel.drag",S).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function f(x,w){if(!(d||!e.call(this,x,w))){var A=y(this,n.call(this,x,w),x,w,"mouse");A&&(Le(x.view).on("mousemove.drag",h,oi).on("mouseup.drag",g,oi),Jc(x.view),wa(x),u=!1,r=x.clientX,l=x.clientY,A("start",x))}}function h(x){if(Bn(x),!u){var w=x.clientX-r,A=x.clientY-l;u=w*w+A*A>b}a.mouse("drag",x)}function g(x){Le(x.view).on("mousemove.drag mouseup.drag",null),Zc(x.view,u),Bn(x),a.mouse("end",x)}function v(x,w){if(e.call(this,x,w)){var A=x.changedTouches,N=n.call(this,x,w),E=A.length,_,P;for(_=0;_<E;++_)(P=y(this,N,x,w,A[_].identifier,A[_]))&&(wa(x),P("start",x,A[_]))}}function p(x){var w=x.changedTouches,A=w.length,N,E;for(N=0;N<A;++N)(E=a[w[N].identifier])&&(Bn(x),E("drag",x,w[N]))}function S(x){var w=x.changedTouches,A=w.length,N,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),N=0;N<A;++N)(E=a[w[N].identifier])&&(wa(x),E("end",x,w[N]))}function y(x,w,A,N,E,_){var P=s.copy(),k=qe(_||A,w),M,L,T;if((T=i.call(x,new Aa("beforestart",{sourceEvent:A,target:m,identifier:E,active:t,x:k[0],y:k[1],dx:0,dy:0,dispatch:P}),N))!=null)return M=T.x-k[0]||0,L=T.y-k[1]||0,function O(B,K,G){var I=k,Y;switch(B){case"start":a[E]=O,Y=t++;break;case"end":delete a[E],--t;case"drag":k=qe(G||K,w),Y=t;break}P.call(B,x,new Aa(B,{sourceEvent:K,subject:T,target:m,identifier:E,active:Y,x:k[0]+M,y:k[1]+L,dx:k[0]-I[0],dy:k[1]-I[1],dispatch:P}),N)}}return m.filter=function(x){return arguments.length?(e=typeof x=="function"?x:ji(!!x),m):e},m.container=function(x){return arguments.length?(n=typeof x=="function"?x:ji(x),m):n},m.subject=function(x){return arguments.length?(i=typeof x=="function"?x:ji(x),m):i},m.touchable=function(x){return arguments.length?(o=typeof x=="function"?x:ji(!!x),m):o},m.on=function(){var x=s.on.apply(s,arguments);return x===s?m:x},m.clickDistance=function(x){return arguments.length?(b=(x=+x)*x,m):Math.sqrt(b)},m}function Na(e,n,i){e.prototype=n.prototype=i,i.constructor=e}function Qc(e,n){var i=Object.create(e.prototype);for(var o in n)i[o]=n[o];return i}function ai(){}var si=.7,Ui=1/si,On="\\s*([+-]?\\d+)\\s*",ti="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",We="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",YA=/^#([0-9a-f]{3,8})$/,JA=new RegExp(`^rgb\\(${On},${On},${On}\\)$`),ZA=new RegExp(`^rgb\\(${We},${We},${We}\\)$`),XA=new RegExp(`^rgba\\(${On},${On},${On},${ti}\\)$`),QA=new RegExp(`^rgba\\(${We},${We},${We},${ti}\\)$`),RA=new RegExp(`^hsl\\(${ti},${We},${We}\\)$`),eN=new RegExp(`^hsla\\(${ti},${We},${We},${ti}\\)$`),Rc={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};Na(ai,fn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:eb,formatHex:eb,formatHex8:nN,formatHsl:iN,formatRgb:nb,toString:nb});function eb(){return this.rgb().formatHex()}function nN(){return this.rgb().formatHex8()}function iN(){return tb(this).formatHsl()}function nb(){return this.rgb().formatRgb()}function fn(e){var n,i;return e=(e+"").trim().toLowerCase(),(n=YA.exec(e))?(i=n[1].length,n=parseInt(n[1],16),i===6?ib(n):i===3?new ke(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):i===8?Wi(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):i===4?Wi(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=JA.exec(e))?new ke(n[1],n[2],n[3],1):(n=ZA.exec(e))?new ke(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=XA.exec(e))?Wi(n[1],n[2],n[3],n[4]):(n=QA.exec(e))?Wi(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=RA.exec(e))?sb(n[1],n[2]/100,n[3]/100,1):(n=eN.exec(e))?sb(n[1],n[2]/100,n[3]/100,n[4]):Rc.hasOwnProperty(e)?ib(Rc[e]):e==="transparent"?new ke(NaN,NaN,NaN,0):null}function ib(e){return new ke(e>>16&255,e>>8&255,e&255,1)}function Wi(e,n,i,o){return o<=0&&(e=n=i=NaN),new ke(e,n,i,o)}function oN(e){return e instanceof ai||(e=fn(e)),e?(e=e.rgb(),new ke(e.r,e.g,e.b,e.opacity)):new ke}function Ca(e,n,i,o){return arguments.length===1?oN(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}Na(ke,Ca,Qc(ai,{brighter(e){return e=e==null?Ui:Math.pow(Ui,e),new ke(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?si:Math.pow(si,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),$i(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:ob,formatHex:ob,formatHex8:aN,formatRgb:ab,toString:ab}));function ob(){return`#${hn(this.r)}${hn(this.g)}${hn(this.b)}`}function aN(){return`#${hn(this.r)}${hn(this.g)}${hn(this.b)}${hn((isNaN(this.opacity)?1:this.opacity)*255)}`}function ab(){const e=$i(this.opacity);return`${e===1?"rgb(":"rgba("}${vn(this.r)}, ${vn(this.g)}, ${vn(this.b)}${e===1?")":`, ${e})`}`}function $i(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 hn(e){return e=vn(e),(e<16?"0":"")+e.toString(16)}function sb(e,n,i,o){return o<=0?e=n=i=NaN:i<=0||i>=1?e=n=NaN:n<=0&&(e=NaN),new Fe(e,n,i,o)}function tb(e){if(e instanceof Fe)return new Fe(e.h,e.s,e.l,e.opacity);if(e instanceof ai||(e=fn(e)),!e)return new Fe;if(e instanceof Fe)return e;e=e.rgb();var n=e.r/255,i=e.g/255,o=e.b/255,a=Math.min(n,i,o),s=Math.max(n,i,o),t=NaN,r=s-a,l=(s+a)/2;return r?(n===s?t=(i-o)/r+(i<o)*6:i===s?t=(o-n)/r+2:t=(n-i)/r+4,r/=l<.5?s+a:2-s-a,t*=60):r=l>0&&l<1?0:t,new Fe(t,r,l,e.opacity)}function sN(e,n,i,o){return arguments.length===1?tb(e):new Fe(e,n,i,o==null?1:o)}function Fe(e,n,i,o){this.h=+e,this.s=+n,this.l=+i,this.opacity=+o}Na(Fe,sN,Qc(ai,{brighter(e){return e=e==null?Ui:Math.pow(Ui,e),new Fe(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?si:Math.pow(si,e),new Fe(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,a=2*i-o;return new ke(_a(e>=240?e-240:e+120,a,o),_a(e,a,o),_a(e<120?e+240:e-120,a,o),this.opacity)},clamp(){return new Fe(rb(this.h),Yi(this.s),Yi(this.l),$i(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=$i(this.opacity);return`${e===1?"hsl(":"hsla("}${rb(this.h)}, ${Yi(this.s)*100}%, ${Yi(this.l)*100}%${e===1?")":`, ${e})`}`}}));function rb(e){return e=(e||0)%360,e<0?e+360:e}function Yi(e){return Math.max(0,Math.min(1,e||0))}function _a(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 Ea=e=>()=>e;function tN(e,n){return function(i){return e+i*n}}function rN(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 lN(e){return(e=+e)==1?lb:function(n,i){return i-n?rN(n,i,e):Ea(isNaN(n)?i:n)}}function lb(e,n){var i=n-e;return i?tN(e,i):Ea(isNaN(e)?n:e)}const Ji=function e(n){var i=lN(n);function o(a,s){var t=i((a=Ca(a)).r,(s=Ca(s)).r),r=i(a.g,s.g),l=i(a.b,s.b),u=lb(a.opacity,s.opacity);return function(d){return a.r=t(d),a.g=r(d),a.b=l(d),a.opacity=u(d),a+""}}return o.gamma=e,o}(1);function uN(e,n){n||(n=[]);var i=e?Math.min(n.length,e.length):0,o=n.slice(),a;return function(s){for(a=0;a<i;++a)o[a]=e[a]*(1-s)+n[a]*s;return o}}function dN(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function cN(e,n){var i=n?n.length:0,o=e?Math.min(i,e.length):0,a=new Array(o),s=new Array(i),t;for(t=0;t<o;++t)a[t]=ri(e[t],n[t]);for(;t<i;++t)s[t]=n[t];return function(r){for(t=0;t<o;++t)s[t]=a[t](r);return s}}function bN(e,n){var i=new Date;return e=+e,n=+n,function(o){return i.setTime(e*(1-o)+n*o),i}}function $e(e,n){return e=+e,n=+n,function(i){return e*(1-i)+n*i}}function mN(e,n){var i={},o={},a;(e===null||typeof e!="object")&&(e={}),(n===null||typeof n!="object")&&(n={});for(a in n)a in e?i[a]=ri(e[a],n[a]):o[a]=n[a];return function(s){for(a in i)o[a]=i[a](s);return o}}var ka=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ma=new RegExp(ka.source,"g");function fN(e){return function(){return e}}function vN(e){return function(n){return e(n)+""}}function ub(e,n){var i=ka.lastIndex=Ma.lastIndex=0,o,a,s,t=-1,r=[],l=[];for(e=e+"",n=n+"";(o=ka.exec(e))&&(a=Ma.exec(n));)(s=a.index)>i&&(s=n.slice(i,s),r[t]?r[t]+=s:r[++t]=s),(o=o[0])===(a=a[0])?r[t]?r[t]+=a:r[++t]=a:(r[++t]=null,l.push({i:t,x:$e(o,a)})),i=Ma.lastIndex;return i<n.length&&(s=n.slice(i),r[t]?r[t]+=s:r[++t]=s),r.length<2?l[0]?vN(l[0].x):fN(n):(n=l.length,function(u){for(var d=0,b;d<n;++d)r[(b=l[d]).i]=b.x(u);return r.join("")})}function ri(e,n){var i=typeof n,o;return n==null||i==="boolean"?Ea(n):(i==="number"?$e:i==="string"?(o=fn(n))?(n=o,Ji):ub:n instanceof fn?Ji:n instanceof Date?bN:dN(n)?uN:Array.isArray(n)?cN:typeof n.valueOf!="function"&&typeof n.toString!="function"||isNaN(n)?mN:$e)(e,n)}var db=180/Math.PI,Ta={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function cb(e,n,i,o,a,s){var t,r,l;return(t=Math.sqrt(e*e+n*n))&&(e/=t,n/=t),(l=e*i+n*o)&&(i-=e*l,o-=n*l),(r=Math.sqrt(i*i+o*o))&&(i/=r,o/=r,l/=r),e*o<n*i&&(e=-e,n=-n,l=-l,t=-t),{translateX:a,translateY:s,rotate:Math.atan2(n,e)*db,skewX:Math.atan(l)*db,scaleX:t,scaleY:r}}var Zi;function hN(e){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return n.isIdentity?Ta:cb(n.a,n.b,n.c,n.d,n.e,n.f)}function pN(e){return e==null||(Zi||(Zi=document.createElementNS("http://www.w3.org/2000/svg","g")),Zi.setAttribute("transform",e),!(e=Zi.transform.baseVal.consolidate()))?Ta:(e=e.matrix,cb(e.a,e.b,e.c,e.d,e.e,e.f))}function bb(e,n,i,o){function a(u){return u.length?u.pop()+" ":""}function s(u,d,b,m,f,h){if(u!==b||d!==m){var g=f.push("translate(",null,n,null,i);h.push({i:g-4,x:$e(u,b)},{i:g-2,x:$e(d,m)})}else(b||m)&&f.push("translate("+b+n+m+i)}function t(u,d,b,m){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),m.push({i:b.push(a(b)+"rotate(",null,o)-2,x:$e(u,d)})):d&&b.push(a(b)+"rotate("+d+o)}function r(u,d,b,m){u!==d?m.push({i:b.push(a(b)+"skewX(",null,o)-2,x:$e(u,d)}):d&&b.push(a(b)+"skewX("+d+o)}function l(u,d,b,m,f,h){if(u!==b||d!==m){var g=f.push(a(f)+"scale(",null,",",null,")");h.push({i:g-4,x:$e(u,b)},{i:g-2,x:$e(d,m)})}else(b!==1||m!==1)&&f.push(a(f)+"scale("+b+","+m+")")}return function(u,d){var b=[],m=[];return u=e(u),d=e(d),s(u.translateX,u.translateY,d.translateX,d.translateY,b,m),t(u.rotate,d.rotate,b,m),r(u.skewX,d.skewX,b,m),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,b,m),u=d=null,function(f){for(var h=-1,g=m.length,v;++h<g;)b[(v=m[h]).i]=v.x(f);return b.join("")}}}var gN=bb(hN,"px, ","px)","deg)"),yN=bb(pN,", ",")",")"),xN=1e-12;function mb(e){return((e=Math.exp(e))+1/e)/2}function SN(e){return((e=Math.exp(e))-1/e)/2}function wN(e){return((e=Math.exp(2*e))-1)/(e+1)}const Xi=function e(n,i,o){function a(s,t){var r=s[0],l=s[1],u=s[2],d=t[0],b=t[1],m=t[2],f=d-r,h=b-l,g=f*f+h*h,v,p;if(g<xN)p=Math.log(m/u)/n,v=function(N){return[r+N*f,l+N*h,u*Math.exp(n*N*p)]};else{var S=Math.sqrt(g),y=(m*m-u*u+o*g)/(2*u*i*S),x=(m*m-u*u-o*g)/(2*m*i*S),w=Math.log(Math.sqrt(y*y+1)-y),A=Math.log(Math.sqrt(x*x+1)-x);p=(A-w)/n,v=function(N){var E=N*p,_=mb(w),P=u/(i*S)*(_*wN(n*E+w)-SN(w));return[r+P*f,l+P*h,u*_/mb(n*E+w)]}}return v.duration=p*1e3*n/Math.SQRT2,v}return a.rho=function(s){var t=Math.max(.001,+s),r=t*t,l=r*r;return e(t,r,l)},a}(Math.SQRT2,2,4);var Dn=0,li=0,ui=0,fb=1e3,Qi,di,Ri=0,pn=0,eo=0,ci=typeof performance=="object"&&performance.now?performance:Date,vb=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function Pa(){return pn||(vb(AN),pn=ci.now()+eo)}function AN(){pn=0}function no(){this._call=this._time=this._next=null}no.prototype=hb.prototype={constructor:no,restart:function(e,n,i){if(typeof e!="function")throw new TypeError("callback is not a function");i=(i==null?Pa():+i)+(n==null?0:+n),!this._next&&di!==this&&(di?di._next=this:Qi=this,di=this),this._call=e,this._time=i,Ia()},stop:function(){this._call&&(this._call=null,this._time=1/0,Ia())}};function hb(e,n,i){var o=new no;return o.restart(e,n,i),o}function NN(){Pa(),++Dn;for(var e=Qi,n;e;)(n=pn-e._time)>=0&&e._call.call(void 0,n),e=e._next;--Dn}function pb(){pn=(Ri=ci.now())+eo,Dn=li=0;try{NN()}finally{Dn=0,_N(),pn=0}}function CN(){var e=ci.now(),n=e-Ri;n>fb&&(eo-=n,Ri=e)}function _N(){for(var e,n=Qi,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:Qi=i);di=e,Ia(o)}function Ia(e){if(!Dn){li&&(li=clearTimeout(li));var n=e-pn;n>24?(e<1/0&&(li=setTimeout(pb,e-ci.now()-eo)),ui&&(ui=clearInterval(ui))):(ui||(Ri=ci.now(),ui=setInterval(CN,fb)),Dn=1,vb(pb))}}function gb(e,n,i){var o=new no;return n=n==null?0:+n,o.restart(a=>{o.stop(),e(a+n)},n,i),o}var EN=Ki("start","end","cancel","interrupt"),kN=[],yb=0,xb=1,La=2,io=3,Sb=4,Ba=5,oo=6;function ao(e,n,i,o,a,s){var t=e.__transition;if(!t)e.__transition={};else if(i in t)return;MN(e,i,{name:n,index:o,group:a,on:EN,tween:kN,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:yb})}function Oa(e,n){var i=Ge(e,n);if(i.state>yb)throw new Error("too late; already scheduled");return i}function Ye(e,n){var i=Ge(e,n);if(i.state>io)throw new Error("too late; already running");return i}function Ge(e,n){var i=e.__transition;if(!i||!(i=i[n]))throw new Error("transition not found");return i}function MN(e,n,i){var o=e.__transition,a;o[n]=i,i.timer=hb(s,0,i.time);function s(u){i.state=xb,i.timer.restart(t,i.delay,i.time),i.delay<=u&&t(u-i.delay)}function t(u){var d,b,m,f;if(i.state!==xb)return l();for(d in o)if(f=o[d],f.name===i.name){if(f.state===io)return gb(t);f.state===Sb?(f.state=oo,f.timer.stop(),f.on.call("interrupt",e,e.__data__,f.index,f.group),delete o[d]):+d<n&&(f.state=oo,f.timer.stop(),f.on.call("cancel",e,e.__data__,f.index,f.group),delete o[d])}if(gb(function(){i.state===io&&(i.state=Sb,i.timer.restart(r,i.delay,i.time),r(u))}),i.state=La,i.on.call("start",e,e.__data__,i.index,i.group),i.state===La){for(i.state=io,a=new Array(m=i.tween.length),d=0,b=-1;d<m;++d)(f=i.tween[d].value.call(e,e.__data__,i.index,i.group))&&(a[++b]=f);a.length=b+1}}function r(u){for(var d=u<i.duration?i.ease.call(null,u/i.duration):(i.timer.restart(l),i.state=Ba,1),b=-1,m=a.length;++b<m;)a[b].call(e,d);i.state===Ba&&(i.on.call("end",e,e.__data__,i.index,i.group),l())}function l(){i.state=oo,i.timer.stop(),delete o[n];for(var u in o)return;delete e.__transition}}function so(e,n){var i=e.__transition,o,a,s=!0,t;if(i){n=n==null?null:n+"";for(t in i){if((o=i[t]).name!==n){s=!1;continue}a=o.state>La&&o.state<Ba,o.state=oo,o.timer.stop(),o.on.call(a?"interrupt":"cancel",e,e.__data__,o.index,o.group),delete i[t]}s&&delete e.__transition}}function TN(e){return this.each(function(){so(this,e)})}function PN(e,n){var i,o;return function(){var a=Ye(this,e),s=a.tween;if(s!==i){o=i=s;for(var t=0,r=o.length;t<r;++t)if(o[t].name===n){o=o.slice(),o.splice(t,1);break}}a.tween=o}}function IN(e,n,i){var o,a;if(typeof i!="function")throw new Error;return function(){var s=Ye(this,e),t=s.tween;if(t!==o){a=(o=t).slice();for(var r={name:n,value:i},l=0,u=a.length;l<u;++l)if(a[l].name===n){a[l]=r;break}l===u&&a.push(r)}s.tween=a}}function LN(e,n){var i=this._id;if(e+="",arguments.length<2){for(var o=Ge(this.node(),i).tween,a=0,s=o.length,t;a<s;++a)if((t=o[a]).name===e)return t.value;return null}return this.each((n==null?PN:IN)(i,e,n))}function Da(e,n,i){var o=e._id;return e.each(function(){var a=Ye(this,o);(a.value||(a.value={}))[n]=i.apply(this,arguments)}),function(a){return Ge(a,o).value[n]}}function wb(e,n){var i;return(typeof n=="number"?$e:n instanceof fn?Ji:(i=fn(n))?(n=i,Ji):ub)(e,n)}function BN(e){return function(){this.removeAttribute(e)}}function ON(e){return function(){this.removeAttributeNS(e.space,e.local)}}function DN(e,n,i){var o,a=i+"",s;return function(){var t=this.getAttribute(e);return t===a?null:t===o?s:s=n(o=t,i)}}function qN(e,n,i){var o,a=i+"",s;return function(){var t=this.getAttributeNS(e.space,e.local);return t===a?null:t===o?s:s=n(o=t,i)}}function FN(e,n,i){var o,a,s;return function(){var t,r=i(this),l;return r==null?void this.removeAttribute(e):(t=this.getAttribute(e),l=r+"",t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r)))}}function GN(e,n,i){var o,a,s;return function(){var t,r=i(this),l;return r==null?void this.removeAttributeNS(e.space,e.local):(t=this.getAttributeNS(e.space,e.local),l=r+"",t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r)))}}function KN(e,n){var i=Vi(e),o=i==="transform"?yN:wb;return this.attrTween(e,typeof n=="function"?(i.local?GN:FN)(i,o,Da(this,"attr."+e,n)):n==null?(i.local?ON:BN)(i):(i.local?qN:DN)(i,o,n))}function HN(e,n){return function(i){this.setAttribute(e,n.call(this,i))}}function VN(e,n){return function(i){this.setAttributeNS(e.space,e.local,n.call(this,i))}}function zN(e,n){var i,o;function a(){var s=n.apply(this,arguments);return s!==o&&(i=(o=s)&&VN(e,s)),i}return a._value=n,a}function jN(e,n){var i,o;function a(){var s=n.apply(this,arguments);return s!==o&&(i=(o=s)&&HN(e,s)),i}return a._value=n,a}function UN(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=Vi(e);return this.tween(i,(o.local?zN:jN)(o,n))}function WN(e,n){return function(){Oa(this,e).delay=+n.apply(this,arguments)}}function $N(e,n){return n=+n,function(){Oa(this,e).delay=n}}function YN(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?WN:$N)(n,e)):Ge(this.node(),n).delay}function JN(e,n){return function(){Ye(this,e).duration=+n.apply(this,arguments)}}function ZN(e,n){return n=+n,function(){Ye(this,e).duration=n}}function XN(e){var n=this._id;return arguments.length?this.each((typeof e=="function"?JN:ZN)(n,e)):Ge(this.node(),n).duration}function QN(e,n){if(typeof n!="function")throw new Error;return function(){Ye(this,e).ease=n}}function RN(e){var n=this._id;return arguments.length?this.each(QN(n,e)):Ge(this.node(),n).ease}function eC(e,n){return function(){var i=n.apply(this,arguments);if(typeof i!="function")throw new Error;Ye(this,e).ease=i}}function nC(e){if(typeof e!="function")throw new Error;return this.each(eC(this._id,e))}function iC(e){typeof e!="function"&&(e=Gc(e));for(var n=this._groups,i=n.length,o=new Array(i),a=0;a<i;++a)for(var s=n[a],t=s.length,r=o[a]=[],l,u=0;u<t;++u)(l=s[u])&&e.call(l,l.__data__,u,s)&&r.push(l);return new Qe(o,this._parents,this._name,this._id)}function oC(e){if(e._id!==this._id)throw new Error;for(var n=this._groups,i=e._groups,o=n.length,a=i.length,s=Math.min(o,a),t=new Array(o),r=0;r<s;++r)for(var l=n[r],u=i[r],d=l.length,b=t[r]=new Array(d),m,f=0;f<d;++f)(m=l[f]||u[f])&&(b[f]=m);for(;r<o;++r)t[r]=n[r];return new Qe(t,this._parents,this._name,this._id)}function aC(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 sC(e,n,i){var o,a,s=aC(n)?Oa:Ye;return function(){var t=s(this,e),r=t.on;r!==o&&(a=(o=r).copy()).on(n,i),t.on=a}}function tC(e,n){var i=this._id;return arguments.length<2?Ge(this.node(),i).on.on(e):this.each(sC(i,e,n))}function rC(e){return function(){var n=this.parentNode;for(var i in this.__transition)if(+i!==e)return;n&&n.removeChild(this)}}function lC(){return this.on("end.remove",rC(this._id))}function uC(e){var n=this._name,i=this._id;typeof e!="function"&&(e=xa(e));for(var o=this._groups,a=o.length,s=new Array(a),t=0;t<a;++t)for(var r=o[t],l=r.length,u=s[t]=new Array(l),d,b,m=0;m<l;++m)(d=r[m])&&(b=e.call(d,d.__data__,m,r))&&("__data__"in d&&(b.__data__=d.__data__),u[m]=b,ao(u[m],n,i,m,u,Ge(d,i)));return new Qe(s,this._parents,n,i)}function dC(e){var n=this._name,i=this._id;typeof e!="function"&&(e=Fc(e));for(var o=this._groups,a=o.length,s=[],t=[],r=0;r<a;++r)for(var l=o[r],u=l.length,d,b=0;b<u;++b)if(d=l[b]){for(var m=e.call(d,d.__data__,b,l),f,h=Ge(d,i),g=0,v=m.length;g<v;++g)(f=m[g])&&ao(f,n,i,g,m,h);s.push(m),t.push(d)}return new Qe(s,t,n,i)}var cC=ii.prototype.constructor;function bC(){return new cC(this._groups,this._parents)}function mC(e,n){var i,o,a;return function(){var s=Ln(this,e),t=(this.style.removeProperty(e),Ln(this,e));return s===t?null:s===i&&t===o?a:a=n(i=s,o=t)}}function Ab(e){return function(){this.style.removeProperty(e)}}function fC(e,n,i){var o,a=i+"",s;return function(){var t=Ln(this,e);return t===a?null:t===o?s:s=n(o=t,i)}}function vC(e,n,i){var o,a,s;return function(){var t=Ln(this,e),r=i(this),l=r+"";return r==null&&(l=r=(this.style.removeProperty(e),Ln(this,e))),t===l?null:t===o&&l===a?s:(a=l,s=n(o=t,r))}}function hC(e,n){var i,o,a,s="style."+n,t="end."+s,r;return function(){var l=Ye(this,e),u=l.on,d=l.value[s]==null?r||(r=Ab(n)):void 0;(u!==i||a!==d)&&(o=(i=u).copy()).on(t,a=d),l.on=o}}function pC(e,n,i){var o=(e+="")=="transform"?gN:wb;return n==null?this.styleTween(e,mC(e,o)).on("end.style."+e,Ab(e)):typeof n=="function"?this.styleTween(e,vC(e,o,Da(this,"style."+e,n))).each(hC(this._id,e)):this.styleTween(e,fC(e,o,n),i).on("end.style."+e,null)}function gC(e,n,i){return function(o){this.style.setProperty(e,n.call(this,o),i)}}function yC(e,n,i){var o,a;function s(){var t=n.apply(this,arguments);return t!==a&&(o=(a=t)&&gC(e,t,i)),o}return s._value=n,s}function xC(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,yC(e,n,i==null?"":i))}function SC(e){return function(){this.textContent=e}}function wC(e){return function(){var n=e(this);this.textContent=n==null?"":n}}function AC(e){return this.tween("text",typeof e=="function"?wC(Da(this,"text",e)):SC(e==null?"":e+""))}function NC(e){return function(n){this.textContent=e.call(this,n)}}function CC(e){var n,i;function o(){var a=e.apply(this,arguments);return a!==i&&(n=(i=a)&&NC(a)),n}return o._value=e,o}function _C(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,CC(e))}function EC(){for(var e=this._name,n=this._id,i=Nb(),o=this._groups,a=o.length,s=0;s<a;++s)for(var t=o[s],r=t.length,l,u=0;u<r;++u)if(l=t[u]){var d=Ge(l,n);ao(l,e,i,u,t,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Qe(o,this._parents,e,i)}function kC(){var e,n,i=this,o=i._id,a=i.size();return new Promise(function(s,t){var r={value:t},l={value:function(){--a===0&&s()}};i.each(function(){var u=Ye(this,o),d=u.on;d!==e&&(n=(e=d).copy(),n._.cancel.push(r),n._.interrupt.push(r),n._.end.push(l)),u.on=n}),a===0&&s()})}var MC=0;function Qe(e,n,i,o){this._groups=e,this._parents=n,this._name=i,this._id=o}function Nb(){return++MC}var Re=ii.prototype;Qe.prototype={constructor:Qe,select:uC,selectAll:dC,selectChild:Re.selectChild,selectChildren:Re.selectChildren,filter:iC,merge:oC,selection:bC,transition:EC,call:Re.call,nodes:Re.nodes,node:Re.node,size:Re.size,empty:Re.empty,each:Re.each,on:tC,attr:KN,attrTween:UN,style:pC,styleTween:xC,text:AC,textTween:_C,remove:lC,tween:LN,delay:YN,duration:XN,ease:RN,easeVarying:nC,end:kC,[Symbol.iterator]:Re[Symbol.iterator]};function TC(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var PC={time:null,delay:0,duration:250,ease:TC};function IC(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 LC(e){var n,i;e instanceof Qe?(n=e._id,e=e._name):(n=Nb(),(i=PC).time=Pa(),e=e==null?null:e+"");for(var o=this._groups,a=o.length,s=0;s<a;++s)for(var t=o[s],r=t.length,l,u=0;u<r;++u)(l=t[u])&&ao(l,e,n,u,t,i||IC(l,n));return new Qe(o,this._parents,e,n)}ii.prototype.interrupt=TN,ii.prototype.transition=LC;const to=e=>()=>e;function BC(e,{sourceEvent:n,target:i,transform:o,dispatch:a}){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:a}})}function en(e,n,i){this.k=e,this.x=n,this.y=i}en.prototype={constructor:en,scale:function(e){return e===1?this:new en(this.k*e,this.x,this.y)},translate:function(e,n){return e===0&n===0?this:new en(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 ro=new en(1,0,0);Cb.prototype=en.prototype;function Cb(e){for(;!e.__zoom;)if(!(e=e.parentNode))return ro;return e.__zoom}function qa(e){e.stopImmediatePropagation()}function bi(e){e.preventDefault(),e.stopImmediatePropagation()}function OC(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function DC(){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 _b(){return this.__zoom||ro}function qC(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function FC(){return navigator.maxTouchPoints||"ontouchstart"in this}function GC(e,n,i){var o=e.invertX(n[0][0])-i[0][0],a=e.invertX(n[1][0])-i[1][0],s=e.invertY(n[0][1])-i[0][1],t=e.invertY(n[1][1])-i[1][1];return e.translate(a>o?(o+a)/2:Math.min(0,o)||Math.max(0,a),t>s?(s+t)/2:Math.min(0,s)||Math.max(0,t))}function Eb(){var e=OC,n=DC,i=GC,o=qC,a=FC,s=[0,1/0],t=[[-1/0,-1/0],[1/0,1/0]],r=250,l=Xi,u=Ki("start","zoom","end"),d,b,m,f=500,h=150,g=0,v=10;function p(T){T.property("__zoom",_b).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",_).on("dblclick.zoom",P).filter(a).on("touchstart.zoom",k).on("touchmove.zoom",M).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}p.transform=function(T,O,B,K){var G=T.selection?T.selection():T;G.property("__zoom",_b),T!==G?w(T,O,B,K):G.interrupt().each(function(){A(this,arguments).event(K).start().zoom(null,typeof O=="function"?O.apply(this,arguments):O).end()})},p.scaleBy=function(T,O,B,K){p.scaleTo(T,function(){var G=this.__zoom.k,I=typeof O=="function"?O.apply(this,arguments):O;return G*I},B,K)},p.scaleTo=function(T,O,B,K){p.transform(T,function(){var G=n.apply(this,arguments),I=this.__zoom,Y=B==null?x(G):typeof B=="function"?B.apply(this,arguments):B,Z=I.invert(Y),J=typeof O=="function"?O.apply(this,arguments):O;return i(y(S(I,J),Y,Z),G,t)},B,K)},p.translateBy=function(T,O,B,K){p.transform(T,function(){return i(this.__zoom.translate(typeof O=="function"?O.apply(this,arguments):O,typeof B=="function"?B.apply(this,arguments):B),n.apply(this,arguments),t)},null,K)},p.translateTo=function(T,O,B,K,G){p.transform(T,function(){var I=n.apply(this,arguments),Y=this.__zoom,Z=K==null?x(I):typeof K=="function"?K.apply(this,arguments):K;return i(ro.translate(Z[0],Z[1]).scale(Y.k).translate(typeof O=="function"?-O.apply(this,arguments):-O,typeof B=="function"?-B.apply(this,arguments):-B),I,t)},K,G)};function S(T,O){return O=Math.max(s[0],Math.min(s[1],O)),O===T.k?T:new en(O,T.x,T.y)}function y(T,O,B){var K=O[0]-B[0]*T.k,G=O[1]-B[1]*T.k;return K===T.x&&G===T.y?T:new en(T.k,K,G)}function x(T){return[(+T[0][0]+ +T[1][0])/2,(+T[0][1]+ +T[1][1])/2]}function w(T,O,B,K){T.on("start.zoom",function(){A(this,arguments).event(K).start()}).on("interrupt.zoom end.zoom",function(){A(this,arguments).event(K).end()}).tween("zoom",function(){var G=this,I=arguments,Y=A(G,I).event(K),Z=n.apply(G,I),J=B==null?x(Z):typeof B=="function"?B.apply(G,I):B,R=Math.max(Z[1][0]-Z[0][0],Z[1][1]-Z[0][1]),D=G.__zoom,H=typeof O=="function"?O.apply(G,I):O,U=l(D.invert(J).concat(R/D.k),H.invert(J).concat(R/H.k));return function(q){if(q===1)q=H;else{var F=U(q),W=R/F[2];q=new en(W,J[0]-F[0]*W,J[1]-F[1]*W)}Y.zoom(null,q)}})}function A(T,O,B){return!B&&T.__zooming||new N(T,O)}function N(T,O){this.that=T,this.args=O,this.active=0,this.sourceEvent=null,this.extent=n.apply(T,O),this.taps=0}N.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,O){return this.mouse&&T!=="mouse"&&(this.mouse[1]=O.invert(this.mouse[0])),this.touch0&&T!=="touch"&&(this.touch0[1]=O.invert(this.touch0[0])),this.touch1&&T!=="touch"&&(this.touch1[1]=O.invert(this.touch1[0])),this.that.__zoom=O,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(T){var O=Le(this.that).datum();u.call(T,this.that,new BC(T,{sourceEvent:this.sourceEvent,target:p,transform:this.that.__zoom,dispatch:u}),O)}};function E(T,...O){if(!e.apply(this,arguments))return;var B=A(this,O).event(T),K=this.__zoom,G=Math.max(s[0],Math.min(s[1],K.k*Math.pow(2,o.apply(this,arguments)))),I=qe(T);if(B.wheel)(B.mouse[0][0]!==I[0]||B.mouse[0][1]!==I[1])&&(B.mouse[1]=K.invert(B.mouse[0]=I)),clearTimeout(B.wheel);else{if(K.k===G)return;B.mouse=[I,K.invert(I)],so(this),B.start()}bi(T),B.wheel=setTimeout(Y,h),B.zoom("mouse",i(y(S(K,G),B.mouse[0],B.mouse[1]),B.extent,t));function Y(){B.wheel=null,B.end()}}function _(T,...O){if(m||!e.apply(this,arguments))return;var B=T.currentTarget,K=A(this,O,!0).event(T),G=Le(T.view).on("mousemove.zoom",J,!0).on("mouseup.zoom",R,!0),I=qe(T,B),Y=T.clientX,Z=T.clientY;Jc(T.view),qa(T),K.mouse=[I,this.__zoom.invert(I)],so(this),K.start();function J(D){if(bi(D),!K.moved){var H=D.clientX-Y,U=D.clientY-Z;K.moved=H*H+U*U>g}K.event(D).zoom("mouse",i(y(K.that.__zoom,K.mouse[0]=qe(D,B),K.mouse[1]),K.extent,t))}function R(D){G.on("mousemove.zoom mouseup.zoom",null),Zc(D.view,K.moved),bi(D),K.event(D).end()}}function P(T,...O){if(e.apply(this,arguments)){var B=this.__zoom,K=qe(T.changedTouches?T.changedTouches[0]:T,this),G=B.invert(K),I=B.k*(T.shiftKey?.5:2),Y=i(y(S(B,I),K,G),n.apply(this,O),t);bi(T),r>0?Le(this).transition().duration(r).call(w,Y,K,T):Le(this).call(p.transform,Y,K,T)}}function k(T,...O){if(e.apply(this,arguments)){var B=T.touches,K=B.length,G=A(this,O,T.changedTouches.length===K).event(T),I,Y,Z,J;for(qa(T),Y=0;Y<K;++Y)Z=B[Y],J=qe(Z,this),J=[J,this.__zoom.invert(J),Z.identifier],G.touch0?!G.touch1&&G.touch0[2]!==J[2]&&(G.touch1=J,G.taps=0):(G.touch0=J,I=!0,G.taps=1+!!d);d&&(d=clearTimeout(d)),I&&(G.taps<2&&(b=J[0],d=setTimeout(function(){d=null},f)),so(this),G.start())}}function M(T,...O){if(this.__zooming){var B=A(this,O).event(T),K=T.changedTouches,G=K.length,I,Y,Z,J;for(bi(T),I=0;I<G;++I)Y=K[I],Z=qe(Y,this),B.touch0&&B.touch0[2]===Y.identifier?B.touch0[0]=Z:B.touch1&&B.touch1[2]===Y.identifier&&(B.touch1[0]=Z);if(Y=B.that.__zoom,B.touch1){var R=B.touch0[0],D=B.touch0[1],H=B.touch1[0],U=B.touch1[1],q=(q=H[0]-R[0])*q+(q=H[1]-R[1])*q,F=(F=U[0]-D[0])*F+(F=U[1]-D[1])*F;Y=S(Y,Math.sqrt(q/F)),Z=[(R[0]+H[0])/2,(R[1]+H[1])/2],J=[(D[0]+U[0])/2,(D[1]+U[1])/2]}else if(B.touch0)Z=B.touch0[0],J=B.touch0[1];else return;B.zoom("touch",i(y(Y,Z,J),B.extent,t))}}function L(T,...O){if(this.__zooming){var B=A(this,O).event(T),K=T.changedTouches,G=K.length,I,Y;for(qa(T),m&&clearTimeout(m),m=setTimeout(function(){m=null},f),I=0;I<G;++I)Y=K[I],B.touch0&&B.touch0[2]===Y.identifier?delete B.touch0:B.touch1&&B.touch1[2]===Y.identifier&&delete B.touch1;if(B.touch1&&!B.touch0&&(B.touch0=B.touch1,delete B.touch1),B.touch0)B.touch0[1]=this.__zoom.invert(B.touch0[0]);else if(B.end(),B.taps===2&&(Y=qe(Y,this),Math.hypot(b[0]-Y[0],b[1]-Y[1])<v)){var Z=Le(this).on("dblclick.zoom");Z&&Z.apply(this,arguments)}}}return p.wheelDelta=function(T){return arguments.length?(o=typeof T=="function"?T:to(+T),p):o},p.filter=function(T){return arguments.length?(e=typeof T=="function"?T:to(!!T),p):e},p.touchable=function(T){return arguments.length?(a=typeof T=="function"?T:to(!!T),p):a},p.extent=function(T){return arguments.length?(n=typeof T=="function"?T:to([[+T[0][0],+T[0][1]],[+T[1][0],+T[1][1]]]),p):n},p.scaleExtent=function(T){return arguments.length?(s[0]=+T[0],s[1]=+T[1],p):[s[0],s[1]]},p.translateExtent=function(T){return arguments.length?(t[0][0]=+T[0][0],t[1][0]=+T[1][0],t[0][1]=+T[0][1],t[1][1]=+T[1][1],p):[[t[0][0],t[0][1]],[t[1][0],t[1][1]]]},p.constrain=function(T){return arguments.length?(i=T,p):i},p.duration=function(T){return arguments.length?(r=+T,p):r},p.interpolate=function(T){return arguments.length?(l=T,p):l},p.on=function(){var T=u.on.apply(u,arguments);return T===u?p:T},p.clickDistance=function(T){return arguments.length?(g=(T=+T)*T,p):Math.sqrt(g)},p.tapDistance=function(T){return arguments.length?(v=+T,p):v},p}const Be={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.`},mi=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],kb=["Enter"," ","Escape"],Mb={"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 qn;(function(e){e.Strict="strict",e.Loose="loose"})(qn||(qn={}));var gn;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(gn||(gn={}));var fi;(function(e){e.Partial="partial",e.Full="full"})(fi||(fi={}));const Tb={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 Fn;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(Fn||(Fn={}));var oe;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(oe||(oe={}));const Pb={[oe.Left]:oe.Right,[oe.Right]:oe.Left,[oe.Top]:oe.Bottom,[oe.Bottom]:oe.Top};function Ib(e){return e===null?null:e?"valid":"invalid"}const Lb=e=>"id"in e&&"source"in e&&"target"in e,KC=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Fa=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),vi=(e,n=[0,0])=>{var r;const{width:i,height:o}=nn(e),a=(r=e.origin)!=null?r:n,s=i*a[0],t=o*a[1];return{x:e.position.x-s,y:e.position.y-t}},HC=(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,a)=>{const s=typeof a=="string";let t=!n.nodeLookup&&!s?a:void 0;n.nodeLookup&&(t=s?n.nodeLookup.get(a):Fa(a)?a:n.nodeLookup.get(a.id));const r=t?co(t,n.nodeOrigin):{x:0,y:0,x2:0,y2:0};return lo(o,r)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return uo(i)},hi=(e,n={})=>{let i={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return e.forEach(a=>{(n.filter===void 0||n.filter(a))&&(i=lo(i,co(a)),o=!0)}),o?uo(i):{x:0,y:0,width:0,height:0}},Ga=(e,n,[i,o,a]=[0,0,1],s=!1,t=!1)=>{var m,f,h,g,v,p;const r=(n.x-i)/a,l=(n.y-o)/a,u=n.width/a,d=n.height/a,b=[];for(const S of e.values()){const{measured:y,selectable:x=!0,hidden:w=!1}=S;if(t&&!x||w)continue;const A=(h=(f=(m=y.width)!=null?m:S.width)!=null?f:S.initialWidth)!=null?h:0,N=(p=(v=(g=y.height)!=null?g:S.height)!=null?v:S.initialHeight)!=null?p:0,{x:E,y:_}=S.internals.positionAbsolute,P=Fb(r,l,u,d,E,_,A,N),k=A*N,M=s&&P>0;(!S.internals.handleBounds||M||P>=k||S.dragging)&&b.push(S)}return b},VC=(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 zC(e,n){const i=new Map,o=n!=null&&n.nodes?new Set(n.nodes.map(a=>a.id)):null;return e.forEach(a=>{a.measured.width&&a.measured.height&&((n==null?void 0:n.includeHiddenNodes)||!a.hidden)&&(!o||o.has(a.id))&&i.set(a.id,a)}),i}async function jC({nodes:e,width:n,height:i,panZoom:o,minZoom:a,maxZoom:s},t){var d,b,m;if(e.size===0)return!0;const r=zC(e,t),l=hi(r),u=Va(l,n,i,(d=t==null?void 0:t.minZoom)!=null?d:a,(b=t==null?void 0:t.maxZoom)!=null?b:s,(m=t==null?void 0:t.padding)!=null?m:.1);return await o.setViewport(u,{duration:t==null?void 0:t.duration,ease:t==null?void 0:t.ease,interpolate:t==null?void 0:t.interpolate}),!0}function Bb({nodeId:e,nextPosition:n,nodeLookup:i,nodeOrigin:o=[0,0],nodeExtent:a,onError:s}){var f,h,g;const t=i.get(e),r=t.parentId?i.get(t.parentId):void 0,{x:l,y:u}=r?r.internals.positionAbsolute:{x:0,y:0},d=(f=t.origin)!=null?f:o;let b=t.extent||a;if(t.extent==="parent"&&!t.expandParent)if(!r)s==null||s("005",Be.error005());else{const v=r.measured.width,p=r.measured.height;v&&p&&(b=[[l,u],[l+v,u+p]])}else r&&xn(t.extent)&&(b=[[t.extent[0][0]+l,t.extent[0][1]+u],[t.extent[1][0]+l,t.extent[1][1]+u]]);const m=xn(b)?yn(n,b,t.measured):n;return(t.measured.width===void 0||t.measured.height===void 0)&&(s==null||s("015",Be.error015())),{position:{x:m.x-l+((h=t.measured.width)!=null?h:0)*d[0],y:m.y-u+((g=t.measured.height)!=null?g:0)*d[1]},positionAbsolute:m}}async function UC({nodesToRemove:e=[],edgesToRemove:n=[],nodes:i,edges:o,onBeforeDelete:a}){const s=new Set(e.map(m=>m.id)),t=[];for(const m of i){if(m.deletable===!1)continue;const f=s.has(m.id),h=!f&&m.parentId&&t.find(g=>g.id===m.parentId);(f||h)&&t.push(m)}const r=new Set(n.map(m=>m.id)),l=o.filter(m=>m.deletable!==!1),d=VC(t,l);for(const m of l)r.has(m.id)&&!d.find(h=>h.id===m.id)&&d.push(m);if(!a)return{edges:d,nodes:t};const b=await a({nodes:t,edges:d});return typeof b=="boolean"?b?{edges:d,nodes:t}:{edges:[],nodes:[]}:b}const Gn=(e,n=0,i=1)=>Math.min(Math.max(e,n),i),yn=(e={x:0,y:0},n,i)=>{var o,a;return{x:Gn(e.x,n[0][0],n[1][0]-((o=i==null?void 0:i.width)!=null?o:0)),y:Gn(e.y,n[0][1],n[1][1]-((a=i==null?void 0:i.height)!=null?a:0))}};function Ob(e,n,i){const{width:o,height:a}=nn(i),{x:s,y:t}=i.internals.positionAbsolute;return yn(e,[[s,t],[s+o,t+a]],n)}const Db=(e,n,i)=>e<n?Gn(Math.abs(e-n),1,n)/n:e>i?-Gn(Math.abs(e-i),1,n)/n:0,Ka=(e,n,i=15,o=40)=>{const a=Db(e.x,o,n.width-o)*i,s=Db(e.y,o,n.height-o)*i;return[a,s]},lo=(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)}),Ha=({x:e,y:n,width:i,height:o})=>({x:e,y:n,x2:e+i,y2:n+o}),uo=({x:e,y:n,x2:i,y2:o})=>({x:e,y:n,width:i-e,height:o-n}),pi=(e,n=[0,0])=>{var a,s,t,r,l,u,d,b;const{x:i,y:o}=Fa(e)?e.internals.positionAbsolute:vi(e,n);return{x:i,y:o,width:(r=(t=(s=(a=e.measured)==null?void 0:a.width)!=null?s:e.width)!=null?t:e.initialWidth)!=null?r:0,height:(b=(d=(u=(l=e.measured)==null?void 0:l.height)!=null?u:e.height)!=null?d:e.initialHeight)!=null?b:0}},co=(e,n=[0,0])=>{var a,s,t,r,l,u,d,b;const{x:i,y:o}=Fa(e)?e.internals.positionAbsolute:vi(e,n);return{x:i,y:o,x2:i+((r=(t=(s=(a=e.measured)==null?void 0:a.width)!=null?s:e.width)!=null?t:e.initialWidth)!=null?r:0),y2:o+((b=(d=(u=(l=e.measured)==null?void 0:l.height)!=null?u:e.height)!=null?d:e.initialHeight)!=null?b:0)}},qb=(e,n)=>uo(lo(Ha(e),Ha(n))),Fb=(e,n,i,o,a,s,t,r)=>{const l=Math.max(0,Math.min(e+i,a+t)-Math.max(e,a)),u=Math.max(0,Math.min(n+o,s+r)-Math.max(n,s));return Math.ceil(l*u)},bo=(e,n)=>Fb(e.x,e.y,e.width,e.height,n.x,n.y,n.width,n.height),Gb=e=>Ke(e.width)&&Ke(e.height)&&Ke(e.x)&&Ke(e.y),Ke=e=>!isNaN(e)&&isFinite(e),Kb=(e,n)=>(i,o)=>{process.env.NODE_ENV==="development"&&console.warn(`[${e}]: ${o} Help: ${n}error#${i}`)},gi=(e,n=[1,1])=>({x:n[0]*Math.round(e.x/n[0]),y:n[1]*Math.round(e.y/n[1])}),yi=({x:e,y:n},[i,o,a],s=!1,t=[1,1])=>{const r={x:(e-i)/a,y:(n-o)/a};return s?gi(r,t):r},Kn=({x:e,y:n},[i,o,a])=>({x:e*a+i,y:n*a+o});function Hn(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 WC(e,n,i){var o,a,s,t,r,l,u,d;if(typeof e=="string"||typeof e=="number"){const b=Hn(e,i),m=Hn(e,n);return{top:b,right:m,bottom:b,left:m,x:m*2,y:b*2}}if(typeof e=="object"){const b=Hn((a=(o=e.top)!=null?o:e.y)!=null?a:0,i),m=Hn((t=(s=e.bottom)!=null?s:e.y)!=null?t:0,i),f=Hn((l=(r=e.left)!=null?r:e.x)!=null?l:0,n),h=Hn((d=(u=e.right)!=null?u:e.x)!=null?d:0,n);return{top:b,right:h,bottom:m,left:f,x:f+h,y:b+m}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function $C(e,n,i,o,a,s){const{x:t,y:r}=Kn(e,[n,i,o]),{x:l,y:u}=Kn({x:e.x+e.width,y:e.y+e.height},[n,i,o]),d=a-l,b=s-u;return{left:Math.floor(t),top:Math.floor(r),right:Math.floor(d),bottom:Math.floor(b)}}const Va=(e,n,i,o,a,s)=>{const t=WC(s,n,i),r=(n-t.x)/e.width,l=(i-t.y)/e.height,u=Math.min(r,l),d=Gn(u,o,a),b=e.x+e.width/2,m=e.y+e.height/2,f=n/2-b*d,h=i/2-m*d,g=$C(e,f,h,d,n,i),v={left:Math.min(g.left-t.left,0),top:Math.min(g.top-t.top,0),right:Math.min(g.right-t.right,0),bottom:Math.min(g.bottom-t.bottom,0)};return{x:f-v.left+v.right,y:h-v.top+v.bottom,zoom:d}},xi=()=>{var e;return typeof navigator!="undefined"&&((e=navigator==null?void 0:navigator.userAgent)==null?void 0:e.indexOf("Mac"))>=0};function xn(e){return e!=null&&e!=="parent"}function nn(e){var n,i,o,a,s,t,r,l;return{width:(a=(o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!=null?a:0,height:(l=(r=(t=(s=e.measured)==null?void 0:s.height)!=null?t:e.height)!=null?r:e.initialHeight)!=null?l:0}}function Hb(e){var n,i,o,a,s,t;return((o=(i=(n=e.measured)==null?void 0:n.width)!=null?i:e.width)!=null?o:e.initialWidth)!==void 0&&((t=(s=(a=e.measured)==null?void 0:a.height)!=null?s:e.height)!=null?t:e.initialHeight)!==void 0}function Vb(e,n={width:0,height:0},i,o,a){var r,l;const s={...e},t=o.get(i);if(t){const u=t.origin||a;s.x+=t.internals.positionAbsolute.x-((r=n.width)!=null?r:0)*u[0],s.y+=t.internals.positionAbsolute.y-((l=n.height)!=null?l:0)*u[1]}return s}function zb(e,n){if(e.size!==n.size)return!1;for(const i of e)if(!n.has(i))return!1;return!0}function YC(){let e,n;return{promise:new Promise((o,a)=>{e=o,n=a}),resolve:e,reject:n}}function JC(e){return{...Mb,...e||{}}}function Si(e,{snapGrid:n=[0,0],snapToGrid:i=!1,transform:o,containerBounds:a}){var d,b;const{x:s,y:t}=He(e),r=yi({x:s-((d=a==null?void 0:a.left)!=null?d:0),y:t-((b=a==null?void 0:a.top)!=null?b:0)},o),{x:l,y:u}=i?gi(r,n):r;return{xSnapped:l,ySnapped:u,...r}}const za=e=>({width:e.offsetWidth,height:e.offsetHeight}),jb=e=>{var n;return((n=e==null?void 0:e.getRootNode)==null?void 0:n.call(e))||(window==null?void 0:window.document)},ZC=["INPUT","SELECT","TEXTAREA"];function Ub(e){var o,a;const n=((a=(o=e.composedPath)==null?void 0:o.call(e))==null?void 0:a[0])||e.target;return(n==null?void 0:n.nodeType)!==1?!1:ZC.includes(n.nodeName)||n.hasAttribute("contenteditable")||!!n.closest(".nokey")}const Wb=e=>"clientX"in e,He=(e,n)=>{var s,t,r,l;const i=Wb(e),o=i?e.clientX:(s=e.touches)==null?void 0:s[0].clientX,a=i?e.clientY:(t=e.touches)==null?void 0:t[0].clientY;return{x:o-((r=n==null?void 0:n.left)!=null?r:0),y:a-((l=n==null?void 0:n.top)!=null?l:0)}},$b=(e,n,i,o,a)=>{const s=n.querySelectorAll(`.${e}`);return!s||!s.length?null:Array.from(s).map(t=>{const r=t.getBoundingClientRect();return{id:t.getAttribute("data-handleid"),type:e,nodeId:a,position:t.getAttribute("data-handlepos"),x:(r.left-i.left)/o,y:(r.top-i.top)/o,...za(t)}})};function Yb({sourceX:e,sourceY:n,targetX:i,targetY:o,sourceControlX:a,sourceControlY:s,targetControlX:t,targetControlY:r}){const l=e*.125+a*.375+t*.375+i*.125,u=n*.125+s*.375+r*.375+o*.125,d=Math.abs(l-e),b=Math.abs(u-n);return[l,u,d,b]}function mo(e,n){return e>=0?.5*e:n*25*Math.sqrt(-e)}function Jb({pos:e,x1:n,y1:i,x2:o,y2:a,c:s}){switch(e){case oe.Left:return[n-mo(n-o,s),i];case oe.Right:return[n+mo(o-n,s),i];case oe.Top:return[n,i-mo(i-a,s)];case oe.Bottom:return[n,i+mo(a-i,s)]}}function Zb({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top,curvature:t=.25}){const[r,l]=Jb({pos:i,x1:e,y1:n,x2:o,y2:a,c:t}),[u,d]=Jb({pos:s,x1:o,y1:a,x2:e,y2:n,c:t}),[b,m,f,h]=Yb({sourceX:e,sourceY:n,targetX:o,targetY:a,sourceControlX:r,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${e},${n} C${r},${l} ${u},${d} ${o},${a}`,b,m,f,h]}function Xb({sourceX:e,sourceY:n,targetX:i,targetY:o}){const a=Math.abs(i-e)/2,s=i<e?i+a:i-a,t=Math.abs(o-n)/2,r=o<n?o+t:o-t;return[s,r,a,t]}function XC({sourceNode:e,targetNode:n,selected:i=!1,zIndex:o=0,elevateOnSelect:a=!1,zIndexMode:s="basic"}){if(s==="manual")return o;const t=a&&i?o+1e3:o,r=Math.max(e.parentId||a&&e.selected?e.internals.z:0,n.parentId||a&&n.selected?n.internals.z:0);return t+r}function QC({sourceNode:e,targetNode:n,width:i,height:o,transform:a}){const s=lo(co(e),co(n));s.x===s.x2&&(s.x2+=1),s.y===s.y2&&(s.y2+=1);const t={x:-a[0]/a[2],y:-a[1]/a[2],width:i/a[2],height:o/a[2]};return bo(t,uo(s))>0}const RC=({source:e,sourceHandle:n,target:i,targetHandle:o})=>`xy-edge__${e}${n||""}-${i}${o||""}`,e_=(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)),n_=(e,n,i={})=>{var s;if(!e.source||!e.target)return(s=i.onError)==null||s.call(i,"006",Be.error006()),n;const o=i.getEdgeId||RC;let a;return Lb(e)?a={...e}:a={...e,id:o(e)},e_(a,n)?n:(a.sourceHandle===null&&delete a.sourceHandle,a.targetHandle===null&&delete a.targetHandle,n.concat(a))};function Qb({sourceX:e,sourceY:n,targetX:i,targetY:o}){const[a,s,t,r]=Xb({sourceX:e,sourceY:n,targetX:i,targetY:o});return[`M ${e},${n}L ${i},${o}`,a,s,t,r]}const Rb={[oe.Left]:{x:-1,y:0},[oe.Right]:{x:1,y:0},[oe.Top]:{x:0,y:-1},[oe.Bottom]:{x:0,y:1}},i_=({source:e,sourcePosition:n=oe.Bottom,target:i})=>n===oe.Left||n===oe.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},em=(e,n)=>Math.sqrt(Math.pow(n.x-e.x,2)+Math.pow(n.y-e.y,2));function o_({source:e,sourcePosition:n=oe.Bottom,target:i,targetPosition:o=oe.Top,center:a,offset:s,stepPosition:t}){var E,_,P,k;const r=Rb[n],l=Rb[o],u={x:e.x+r.x*s,y:e.y+r.y*s},d={x:i.x+l.x*s,y:i.y+l.y*s},b=i_({source:u,sourcePosition:n,target:d}),m=b.x!==0?"x":"y",f=b[m];let h=[],g,v;const p={x:0,y:0},S={x:0,y:0},[,,y,x]=Xb({sourceX:e.x,sourceY:e.y,targetX:i.x,targetY:i.y});if(r[m]*l[m]===-1){m==="x"?(g=(E=a.x)!=null?E:u.x+(d.x-u.x)*t,v=(_=a.y)!=null?_:(u.y+d.y)/2):(g=(P=a.x)!=null?P:(u.x+d.x)/2,v=(k=a.y)!=null?k:u.y+(d.y-u.y)*t);const M=[{x:g,y:u.y},{x:g,y:d.y}],L=[{x:u.x,y:v},{x:d.x,y:v}];r[m]===f?h=m==="x"?M:L:h=m==="x"?L:M}else{const M=[{x:u.x,y:d.y}],L=[{x:d.x,y:u.y}];if(m==="x"?h=r.x===f?L:M:h=r.y===f?M:L,n===o){const G=Math.abs(e[m]-i[m]);if(G<=s){const I=Math.min(s-1,s-G);r[m]===f?p[m]=(u[m]>e[m]?-1:1)*I:S[m]=(d[m]>i[m]?-1:1)*I}}if(n!==o){const G=m==="x"?"y":"x",I=r[m]===l[G],Y=u[G]>d[G],Z=u[G]<d[G];(r[m]===1&&(!I&&Y||I&&Z)||r[m]!==1&&(!I&&Z||I&&Y))&&(h=m==="x"?M:L)}const T={x:u.x+p.x,y:u.y+p.y},O={x:d.x+S.x,y:d.y+S.y},B=Math.max(Math.abs(T.x-h[0].x),Math.abs(O.x-h[0].x)),K=Math.max(Math.abs(T.y-h[0].y),Math.abs(O.y-h[0].y));B>=K?(g=(T.x+O.x)/2,v=h[0].y):(g=h[0].x,v=(T.y+O.y)/2)}const w={x:u.x+p.x,y:u.y+p.y},A={x:d.x+S.x,y:d.y+S.y};return[[e,...w.x!==h[0].x||w.y!==h[0].y?[w]:[],...h,...A.x!==h[h.length-1].x||A.y!==h[h.length-1].y?[A]:[],i],g,v,y,x]}function a_(e,n,i,o){const a=Math.min(em(e,n)/2,em(n,i)/2,o),{x:s,y:t}=n;if(e.x===s&&s===i.x||e.y===t&&t===i.y)return`L${s} ${t}`;if(e.y===t){const u=e.x<i.x?-1:1,d=e.y<i.y?1:-1;return`L ${s+a*u},${t}Q ${s},${t} ${s},${t+a*d}`}const r=e.x<i.x?1:-1,l=e.y<i.y?-1:1;return`L ${s},${t+a*l}Q ${s},${t} ${s+a*r},${t}`}function ja({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top,borderRadius:t=5,centerX:r,centerY:l,offset:u=20,stepPosition:d=.5}){const[b,m,f,h,g]=o_({source:{x:e,y:n},sourcePosition:i,target:{x:o,y:a},targetPosition:s,center:{x:r,y:l},offset:u,stepPosition:d});let v=`M${b[0].x} ${b[0].y}`;for(let p=1;p<b.length-1;p++)v+=a_(b[p-1],b[p],b[p+1],t);return v+=`L${b[b.length-1].x} ${b[b.length-1].y}`,[v,m,f,h,g]}function nm(e){var n;return e&&!!(e.internals.handleBounds||(n=e.handles)!=null&&n.length)&&!!(e.measured.width||e.width||e.initialWidth)}function s_(e){var b,m,f,h,g;const{sourceNode:n,targetNode:i}=e;if(!nm(n)||!nm(i))return null;const o=n.internals.handleBounds||im(n.handles),a=i.internals.handleBounds||im(i.handles),s=om((b=o==null?void 0:o.source)!=null?b:[],e.sourceHandle),t=om(e.connectionMode===qn.Strict?(m=a==null?void 0:a.target)!=null?m:[]:((f=a==null?void 0:a.target)!=null?f:[]).concat((h=a==null?void 0:a.source)!=null?h:[]),e.targetHandle);if(!s||!t)return(g=e.onError)==null||g.call(e,"008",Be.error008(s?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const r=(s==null?void 0:s.position)||oe.Bottom,l=(t==null?void 0:t.position)||oe.Top,u=Sn(n,s,r),d=Sn(i,t,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:r,targetPosition:l}}function im(e){var o,a;if(!e)return null;const n=[],i=[];for(const s of e)s.width=(o=s.width)!=null?o:1,s.height=(a=s.height)!=null?a:1,s.type==="source"?n.push(s):s.type==="target"&&i.push(s);return{source:n,target:i}}function Sn(e,n,i=oe.Left,o=!1){var u,d,b;const a=((u=n==null?void 0:n.x)!=null?u:0)+e.internals.positionAbsolute.x,s=((d=n==null?void 0:n.y)!=null?d:0)+e.internals.positionAbsolute.y,{width:t,height:r}=n!=null?n:nn(e);if(o)return{x:a+t/2,y:s+r/2};switch((b=n==null?void 0:n.position)!=null?b:i){case oe.Top:return{x:a+t/2,y:s};case oe.Right:return{x:a+t,y:s+r/2};case oe.Bottom:return{x:a+t/2,y:s+r};case oe.Left:return{x:a,y:s+r/2}}}function om(e,n){return e&&(n?e.find(i=>i.id===n):e[0])||null}function Ua(e,n){return e?typeof e=="string"?e:`${n?`${n}__`:""}${Object.keys(e).sort().map(o=>`${o}=${e[o]}`).join("&")}`:""}function t_(e,{id:n,defaultColor:i,defaultMarkerStart:o,defaultMarkerEnd:a}){const s=new Set;return e.reduce((t,r)=>([r.markerStart||o,r.markerEnd||a].forEach(l=>{if(l&&typeof l=="object"){const u=Ua(l,n);s.has(u)||(t.push({id:u,color:l.color||i,...l}),s.add(u))}}),t),[]).sort((t,r)=>t.id.localeCompare(r.id))}const am=1e3,r_=10,Wa={nodeOrigin:[0,0],nodeExtent:mi,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},l_={...Wa,checkEquality:!0};function $a(e,n){const i={...e};for(const o in n)n[o]!==void 0&&(i[o]=n[o]);return i}function u_(e,n,i){const o=$a(Wa,i);for(const a of e.values())if(a.parentId)Za(a,e,n,o);else{const s=vi(a,o.nodeOrigin),t=xn(a.extent)?a.extent:o.nodeExtent,r=yn(s,t,nn(a));a.internals.positionAbsolute=r}}function d_(e,n){var a,s;if(!e.handles)return e.measured?n==null?void 0:n.internals.handleBounds:void 0;const i=[],o=[];for(const t of e.handles){const r={id:t.id,width:(a=t.width)!=null?a:1,height:(s=t.height)!=null?s:1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type==="source"?i.push(r):t.type==="target"&&o.push(r)}return{source:i,target:o}}function Ya(e){return e==="manual"}function Ja(e,n,i,o={}){var d,b,m;const a=$a(l_,o),s={i:0},t=new Map(n),r=a!=null&&a.elevateNodesOnSelect&&!Ya(a.zIndexMode)?am:0;let l=e.length>0,u=!1;n.clear(),i.clear();for(const f of e){let h=t.get(f.id);if(a.checkEquality&&f===(h==null?void 0:h.internals.userNode))n.set(f.id,h);else{const g=vi(f,a.nodeOrigin),v=xn(f.extent)?f.extent:a.nodeExtent,p=yn(g,v,nn(f));h={...a.defaults,...f,measured:{width:(d=f.measured)==null?void 0:d.width,height:(b=f.measured)==null?void 0:b.height},internals:{positionAbsolute:p,handleBounds:d_(f,h),z:sm(f,r,a.zIndexMode),userNode:f}},n.set(f.id,h)}(h.measured===void 0||h.measured.width===void 0||h.measured.height===void 0)&&!h.hidden&&(l=!1),f.parentId&&Za(h,n,i,o,s),u||(u=(m=f.selected)!=null?m:!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function c_(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 Za(e,n,i,o,a){const{elevateNodesOnSelect:s,nodeOrigin:t,nodeExtent:r,zIndexMode:l}=$a(Wa,o),u=e.parentId,d=n.get(u);if(!d){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}c_(e,i),a&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++a.i,d.internals.z=d.internals.z+a.i*r_),a&&d.internals.rootParentIndex!==void 0&&(a.i=d.internals.rootParentIndex);const b=s&&!Ya(l)?am:0,{x:m,y:f,z:h}=b_(e,d,t,r,b,l),{positionAbsolute:g}=e.internals,v=m!==g.x||f!==g.y;(v||h!==e.internals.z)&&n.set(e.id,{...e,internals:{...e.internals,positionAbsolute:v?{x:m,y:f}:g,z:h}})}function sm(e,n,i){const o=Ke(e.zIndex)?e.zIndex:0;return Ya(i)?o:o+(e.selected?n:0)}function b_(e,n,i,o,a,s){var h;const{x:t,y:r}=n.internals.positionAbsolute,l=nn(e),u=vi(e,i),d=xn(e.extent)?yn(u,e.extent,l):u;let b=yn({x:t+d.x,y:r+d.y},o,l);e.extent==="parent"&&(b=Ob(b,l,n));const m=sm(e,a,s),f=(h=n.internals.z)!=null?h:0;return{x:b.x,y:b.y,z:f>=m?f+1:m}}function Xa(e,n,i,o=[0,0]){var t,r;const a=[],s=new Map;for(const l of e){const u=n.get(l.parentId);if(!u)continue;const d=(r=(t=s.get(l.parentId))==null?void 0:t.expandedRect)!=null?r:pi(u),b=qb(d,l.rect);s.set(l.parentId,{expandedRect:b,parent:u})}return s.size>0&&s.forEach(({expandedRect:l,parent:u},d)=>{var x,w;const b=u.internals.positionAbsolute,m=nn(u),f=(x=u.origin)!=null?x:o,h=l.x<b.x?Math.round(Math.abs(b.x-l.x)):0,g=l.y<b.y?Math.round(Math.abs(b.y-l.y)):0,v=Math.max(m.width,Math.round(l.width)),p=Math.max(m.height,Math.round(l.height)),S=(v-m.width)*f[0],y=(p-m.height)*f[1];(h>0||g>0||S||y)&&(a.push({id:d,type:"position",position:{x:u.position.x-h+S,y:u.position.y-g+y}}),(w=i.get(d))==null||w.forEach(A=>{e.some(N=>N.id===A.id)||a.push({id:A.id,type:"position",position:{x:A.position.x+h,y:A.position.y+g}})})),(m.width<l.width||m.height<l.height||h||g)&&a.push({id:d,type:"dimensions",setAttributes:!0,dimensions:{width:v+(h?f[0]*h-S:0),height:p+(g?f[1]*g-y:0)}})}),a}function m_(e,n,i,o,a,s,t){const r=o==null?void 0:o.querySelector(".xyflow__viewport");let l=!1;if(!r)return{changes:[],updatedInternals:l};const u=[],d=window.getComputedStyle(r),{m22:b}=new window.DOMMatrixReadOnly(d.transform),m=[];for(const f of e.values()){const h=n.get(f.id);if(!h)continue;if(h.hidden){n.set(h.id,{...h,internals:{...h.internals,handleBounds:void 0}}),l=!0;continue}const g=za(f.nodeElement),v=h.measured.width!==g.width||h.measured.height!==g.height;if(!!(g.width&&g.height&&(v||!h.internals.handleBounds||f.force))){const S=f.nodeElement.getBoundingClientRect(),y=xn(h.extent)?h.extent:s;let{positionAbsolute:x}=h.internals;h.parentId&&h.extent==="parent"?x=Ob(x,g,n.get(h.parentId)):y&&(x=yn(x,y,g));const w={...h,measured:g,internals:{...h.internals,positionAbsolute:x,handleBounds:{source:$b("source",f.nodeElement,S,b,h.id),target:$b("target",f.nodeElement,S,b,h.id)}}};n.set(h.id,w),h.parentId&&Za(w,n,i,{nodeOrigin:a,zIndexMode:t}),l=!0,v&&(u.push({id:h.id,type:"dimensions",dimensions:g}),h.expandParent&&h.parentId&&m.push({id:h.id,parentId:h.parentId,rect:pi(w,a)}))}}if(m.length>0){const f=Xa(m,n,i,a);u.push(...f)}return{changes:u,updatedInternals:l}}async function f_({delta:e,panZoom:n,transform:i,translateExtent:o,width:a,height:s}){if(!n||!e.x&&!e.y)return!1;const t=await n.setViewportConstrained({x:i[0]+e.x,y:i[1]+e.y,zoom:i[2]},[[0,0],[a,s]],o);return!!t&&(t.x!==i[0]||t.y!==i[1]||t.k!==i[2])}function tm(e,n,i,o,a,s){let t=a;const r=o.get(t)||new Map;o.set(t,r.set(i,n)),t=`${a}-${e}`;const l=o.get(t)||new Map;if(o.set(t,l.set(i,n)),s){t=`${a}-${e}-${s}`;const u=o.get(t)||new Map;o.set(t,u.set(i,n))}}function rm(e,n,i){e.clear(),n.clear();for(const o of i){const{source:a,target:s,sourceHandle:t=null,targetHandle:r=null}=o,l={edgeId:o.id,source:a,target:s,sourceHandle:t,targetHandle:r},u=`${a}-${t}--${s}-${r}`,d=`${s}-${r}--${a}-${t}`;tm("source",l,d,e,a,t),tm("target",l,u,e,s,r),n.set(o.id,o)}}function lm(e,n){if(!e.parentId)return!1;const i=n.get(e.parentId);return i?i.selected?!0:lm(i,n):!1}function um(e,n,i){var a;let o=e;do{if((a=o==null?void 0:o.matches)!=null&&a.call(o,n))return!0;if(o===i)return!1;o=o==null?void 0:o.parentElement}while(o);return!1}function v_(e,n,i,o){var s,t;const a=new Map;for(const[r,l]of e)if((l.selected||l.id===o)&&(!l.parentId||!lm(l,e))&&(l.draggable||n&&typeof l.draggable=="undefined")){const u=e.get(r);u&&a.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:(s=u.measured.width)!=null?s:0,height:(t=u.measured.height)!=null?t:0}})}return a}function Qa({nodeId:e,dragItems:n,nodeLookup:i,dragging:o=!0}){var t,r,l;const a=[];for(const[u,d]of n){const b=(t=i.get(u))==null?void 0:t.internals.userNode;b&&a.push({...b,position:d.position,dragging:o})}if(!e)return[a[0],a];const s=(r=i.get(e))==null?void 0:r.internals.userNode;return[s?{...s,position:((l=n.get(e))==null?void 0:l.position)||s.position,dragging:o}:a[0],a]}function h_({dragItems:e,snapGrid:n,x:i,y:o}){const a=e.values().next().value;if(!a)return null;const s={x:i-a.distance.x,y:o-a.distance.y},t=gi(s,n);return{x:t.x-s.x,y:t.y-s.y}}function p_({onNodeMouseDown:e,getStoreItems:n,onDragStart:i,onDrag:o,onDragStop:a}){let s={x:null,y:null},t=0,r=new Map,l=!1,u={x:0,y:0},d=null,b=!1,m=null,f=!1,h=!1,g=null;function v({noDragClassName:S,handleSelector:y,domNode:x,isSelectable:w,nodeId:A,nodeClickDistance:N=0}){m=Le(x);function E({x:M,y:L}){const{nodeLookup:T,nodeExtent:O,snapGrid:B,snapToGrid:K,nodeOrigin:G,onNodeDrag:I,onSelectionDrag:Y,onError:Z,updateNodePositions:J}=n();s={x:M,y:L};let R=!1;const D=r.size>1,H=D&&O?Ha(hi(r)):null,U=D&&K?h_({dragItems:r,snapGrid:B,x:M,y:L}):null;for(const[q,F]of r){if(!T.has(q))continue;let W={x:M-F.distance.x,y:L-F.distance.y};K&&(W=U?{x:Math.round(W.x+U.x),y:Math.round(W.y+U.y)}:gi(W,B));let z=null;if(D&&O&&!F.extent&&H){const{positionAbsolute:j}=F.internals,X=j.x-H.x+O[0][0],$=j.x+F.measured.width-H.x2+O[1][0],ne=j.y-H.y+O[0][1],ee=j.y+F.measured.height-H.y2+O[1][1];z=[[X,ne],[$,ee]]}const{position:V,positionAbsolute:Q}=Bb({nodeId:q,nextPosition:W,nodeLookup:T,nodeExtent:z||O,nodeOrigin:G,onError:Z});R=R||F.position.x!==V.x||F.position.y!==V.y,F.position=V,F.internals.positionAbsolute=Q}if(h=h||R,!!R&&(J(r,!0),g&&(o||I||!A&&Y))){const[q,F]=Qa({nodeId:A,dragItems:r,nodeLookup:T});o==null||o(g,r,q,F),I==null||I(g,q,F),A||Y==null||Y(g,F)}}async function _(){var G,I;if(!d)return;const{transform:M,panBy:L,autoPanSpeed:T,autoPanOnNodeDrag:O}=n();if(!O){l=!1,cancelAnimationFrame(t);return}const[B,K]=Ka(u,d,T);(B!==0||K!==0)&&(s.x=((G=s.x)!=null?G:0)-B/M[2],s.y=((I=s.y)!=null?I:0)-K/M[2],await L({x:B,y:K})&&E(s)),t=requestAnimationFrame(_)}function P(M){var D;const{nodeLookup:L,multiSelectionActive:T,nodesDraggable:O,transform:B,snapGrid:K,snapToGrid:G,selectNodesOnDrag:I,onNodeDragStart:Y,onSelectionDragStart:Z,unselectNodesAndEdges:J}=n();b=!0,(!I||!w)&&!T&&A&&((D=L.get(A))!=null&&D.selected||J()),w&&I&&A&&(e==null||e(A));const R=Si(M.sourceEvent,{transform:B,snapGrid:K,snapToGrid:G,containerBounds:d});if(s=R,r=v_(L,O,R,A),r.size>0&&(i||Y||!A&&Z)){const[H,U]=Qa({nodeId:A,dragItems:r,nodeLookup:L});i==null||i(M.sourceEvent,r,H,U),Y==null||Y(M.sourceEvent,H,U),A||Z==null||Z(M.sourceEvent,U)}}const k=Xc().clickDistance(N).on("start",M=>{const{domNode:L,nodeDragThreshold:T,transform:O,snapGrid:B,snapToGrid:K}=n();d=(L==null?void 0:L.getBoundingClientRect())||null,f=!1,h=!1,g=M.sourceEvent,T===0&&P(M),s=Si(M.sourceEvent,{transform:O,snapGrid:B,snapToGrid:K,containerBounds:d}),u=He(M.sourceEvent,d)}).on("drag",M=>{const{autoPanOnNodeDrag:L,transform:T,snapGrid:O,snapToGrid:B,nodeDragThreshold:K,nodeLookup:G}=n(),I=Si(M.sourceEvent,{transform:T,snapGrid:O,snapToGrid:B,containerBounds:d});if(g=M.sourceEvent,(M.sourceEvent.type==="touchmove"&&M.sourceEvent.touches.length>1||A&&!G.has(A))&&(f=!0),!f){if(!l&&L&&b&&(l=!0,_()),!b){const Y=He(M.sourceEvent,d),Z=Y.x-u.x,J=Y.y-u.y;Math.sqrt(Z*Z+J*J)>K&&P(M)}(s.x!==I.xSnapped||s.y!==I.ySnapped)&&r&&b&&(u=He(M.sourceEvent,d),E(I))}}).on("end",M=>{if(!b||f){f&&r.size>0&&n().updateNodePositions(r,!1);return}if(l=!1,b=!1,cancelAnimationFrame(t),r.size>0){const{nodeLookup:L,updateNodePositions:T,onNodeDragStop:O,onSelectionDragStop:B}=n();if(h&&(T(r,!1),h=!1),a||O||!A&&B){const[K,G]=Qa({nodeId:A,dragItems:r,nodeLookup:L,dragging:!1});a==null||a(M.sourceEvent,r,K,G),O==null||O(M.sourceEvent,K,G),A||B==null||B(M.sourceEvent,G)}}}).filter(M=>{const L=M.target;return!M.button&&(!S||!um(L,`.${S}`,x))&&(!y||um(L,y,x))});m.call(k)}function p(){m==null||m.on(".drag",null)}return{update:v,destroy:p}}function g_(e,n,i){const o=[],a={x:e.x-i,y:e.y-i,width:i*2,height:i*2};for(const s of n.values())bo(a,pi(s))>0&&o.push(s);return o}const y_=250;function x_(e,n,i,o){var r,l,u,d,b;let a=[],s=1/0;const t=g_(e,i,n+y_);for(const m of t){const f=[...(l=(r=m.internals.handleBounds)==null?void 0:r.source)!=null?l:[],...(d=(u=m.internals.handleBounds)==null?void 0:u.target)!=null?d:[]];for(const h of f){if(o.nodeId===h.nodeId&&o.type===h.type&&o.id===h.id)continue;const{x:g,y:v}=Sn(m,h,h.position,!0),p=Math.sqrt(Math.pow(g-e.x,2)+Math.pow(v-e.y,2));p>n||(p<s?(a=[{...h,x:g,y:v}],s=p):p===s&&a.push({...h,x:g,y:v}))}}if(!a.length)return null;if(a.length>1){const m=o.type==="source"?"target":"source";return(b=a.find(f=>f.type===m))!=null?b:a[0]}return a[0]}function dm(e,n,i,o,a,s=!1){var u,d,b,m,f,h;const t=o.get(e);if(!t)return null;const r=a==="strict"?(u=t.internals.handleBounds)==null?void 0:u[n]:[...(b=(d=t.internals.handleBounds)==null?void 0:d.source)!=null?b:[],...(f=(m=t.internals.handleBounds)==null?void 0:m.target)!=null?f:[]],l=(h=i?r==null?void 0:r.find(g=>g.id===i):r==null?void 0:r[0])!=null?h:null;return l&&s?{...l,...Sn(t,l,l.position,!0)}:l}function cm(e,n){return e||(n!=null&&n.classList.contains("target")?"target":n!=null&&n.classList.contains("source")?"source":null)}function S_(e,n){let i=null;return n?i=!0:e&&!n&&(i=!1),i}const bm=()=>!0;function w_(e,{connectionMode:n,connectionRadius:i,handleId:o,nodeId:a,edgeUpdaterType:s,isTarget:t,domNode:r,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:b,panBy:m,cancelConnection:f,onConnectStart:h,onConnect:g,onConnectEnd:v,isValidConnection:p=bm,onReconnectEnd:S,updateConnection:y,getTransform:x,getFromHandle:w,autoPanSpeed:A,dragThreshold:N=1,handleDomNode:E}){const _=jb(e.target);let P=0,k;const{x:M,y:L}=He(e),T=cm(s,E),O=r==null?void 0:r.getBoundingClientRect();let B=!1;if(!O||!T)return;const K=dm(a,T,o,l,n);if(!K)return;let G=He(e,O),I=!1,Y=null,Z=!1,J=null;function R(){if(!d||!O)return;const[V,Q]=Ka(G,O,A);m({x:V,y:Q}),P=requestAnimationFrame(R)}const D={...K,nodeId:a,type:T,position:K.position},H=l.get(a);let q={inProgress:!0,isValid:null,from:Sn(H,D,oe.Left,!0),fromHandle:D,fromPosition:D.position,fromNode:H,to:G,toHandle:null,toPosition:Pb[D.position],toNode:null,pointer:G};function F(){B=!0,y(q),h==null||h(e,{nodeId:a,handleId:o,handleType:T})}N===0&&F();function W(V){if(!B){const{x:ee,y:ae}=He(V),re=ee-M,be=ae-L;if(!(re*re+be*be>N*N))return;F()}if(!w()||!D){z(V);return}const Q=x();G=He(V,O),k=x_(yi(G,Q,!1,[1,1]),i,l,D),I||(R(),I=!0);const j=mm(V,{handle:k,connectionMode:n,fromNodeId:a,fromHandleId:o,fromType:t?"target":"source",isValidConnection:p,doc:_,lib:u,flowId:b,nodeLookup:l});J=j.handleDomNode,Y=j.connection,Z=S_(!!k,j.isValid);const X=l.get(a),$=X?Sn(X,D,oe.Left,!0):q.from,ne={...q,from:$,isValid:Z,to:j.toHandle&&Z?Kn({x:j.toHandle.x,y:j.toHandle.y},Q):G,toHandle:j.toHandle,toPosition:Z&&j.toHandle?j.toHandle.position:Pb[D.position],toNode:j.toHandle?l.get(j.toHandle.nodeId):null,pointer:G};y(ne),q=ne}function z(V){if(!("touches"in V&&V.touches.length>0)){if(B){(k||J)&&Y&&Z&&(g==null||g(Y));const{inProgress:Q,...j}=q,X={...j,toPosition:q.toHandle?q.toPosition:null};v==null||v(V,X),s&&(S==null||S(V,X))}f(),cancelAnimationFrame(P),I=!1,Z=!1,Y=null,J=null,_.removeEventListener("mousemove",W),_.removeEventListener("mouseup",z),_.removeEventListener("touchmove",W),_.removeEventListener("touchend",z)}}_.addEventListener("mousemove",W),_.addEventListener("mouseup",z),_.addEventListener("touchmove",W),_.addEventListener("touchend",z)}function mm(e,{handle:n,connectionMode:i,fromNodeId:o,fromHandleId:a,fromType:s,doc:t,lib:r,flowId:l,isValidConnection:u=bm,nodeLookup:d}){const b=s==="target",m=n?t.querySelector(`.${r}-flow__handle[data-id="${l}-${n==null?void 0:n.nodeId}-${n==null?void 0:n.id}-${n==null?void 0:n.type}"]`):null,{x:f,y:h}=He(e),g=t.elementFromPoint(f,h),v=g!=null&&g.classList.contains(`${r}-flow__handle`)?g:m,p={handleDomNode:v,isValid:!1,connection:null,toHandle:null};if(v){const S=cm(void 0,v),y=v.getAttribute("data-nodeid"),x=v.getAttribute("data-handleid"),w=v.classList.contains("connectable"),A=v.classList.contains("connectableend");if(!y||!S)return p;const N={source:b?y:o,sourceHandle:b?x:a,target:b?o:y,targetHandle:b?a:x};p.connection=N;const _=w&&A&&(i===qn.Strict?b&&S==="source"||!b&&S==="target":y!==o||x!==a);p.isValid=_&&u(N),p.toHandle=dm(y,S,x,d,i,!0)}return p}const Ra={onPointerDown:w_,isValid:mm};function A_({domNode:e,panZoom:n,getTransform:i,getViewScale:o}){const a=Le(e);function s({translateExtent:r,width:l,height:u,zoomStep:d=1,pannable:b=!0,zoomable:m=!0,inversePan:f=!1}){const h=y=>{if(y.sourceEvent.type!=="wheel"||!n)return;const x=i(),w=y.sourceEvent.ctrlKey&&xi()?10:1,A=-y.sourceEvent.deltaY*(y.sourceEvent.deltaMode===1?.05:y.sourceEvent.deltaMode?1:.002)*d,N=x[2]*Math.pow(2,A*w);n.scaleTo(N)};let g=[0,0];const v=y=>{var x,w;(y.sourceEvent.type==="mousedown"||y.sourceEvent.type==="touchstart")&&(g=[(x=y.sourceEvent.clientX)!=null?x:y.sourceEvent.touches[0].clientX,(w=y.sourceEvent.clientY)!=null?w:y.sourceEvent.touches[0].clientY])},p=y=>{var P,k;const x=i();if(y.sourceEvent.type!=="mousemove"&&y.sourceEvent.type!=="touchmove"||!n)return;const w=[(P=y.sourceEvent.clientX)!=null?P:y.sourceEvent.touches[0].clientX,(k=y.sourceEvent.clientY)!=null?k:y.sourceEvent.touches[0].clientY],A=[w[0]-g[0],w[1]-g[1]];g=w;const N=o()*Math.max(x[2],Math.log(x[2]))*(f?-1:1),E={x:x[0]-A[0]*N,y:x[1]-A[1]*N},_=[[0,0],[l,u]];n.setViewportConstrained({x:E.x,y:E.y,zoom:x[2]},_,r)},S=Eb().on("start",v).on("zoom",b?p:null).on("zoom.wheel",m?h:null);a.call(S,{})}function t(){a.on("zoom",null)}return{update:s,destroy:t,pointer:qe}}const fo=e=>({x:e.x,y:e.y,zoom:e.k}),es=({x:e,y:n,zoom:i})=>ro.translate(e,n).scale(i),Vn=(e,n)=>e.target.closest(`.${n}`),fm=(e,n)=>n===2&&Array.isArray(e)&&e.includes(2),N_=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ns=(e,n=0,i=N_,o=()=>{})=>{const a=typeof n=="number"&&n>0;return a||o(),a?e.transition().duration(n).ease(i).on("end",o):e},vm=e=>{const n=e.ctrlKey&&xi()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*n};function C_({zoomPanValues:e,noWheelClassName:n,d3Selection:i,d3Zoom:o,panOnScrollMode:a,panOnScrollSpeed:s,zoomOnPinch:t,onPanZoomStart:r,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(Vn(d,n))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const b=i.property("__zoom").k||1;if(d.ctrlKey&&t){const v=qe(d),p=vm(d),S=b*Math.pow(2,p);o.scaleTo(i,S,v,d);return}const m=d.deltaMode===1?20:1;let f=a===gn.Vertical?0:d.deltaX*m,h=a===gn.Horizontal?0:d.deltaY*m;!xi()&&d.shiftKey&&a!==gn.Vertical&&(f=d.deltaY*m,h=0),o.translateBy(i,-(f/b)*s,-(h/b)*s,{internal:!0});const g=fo(i.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(l==null||l(d,g),e.panScrollTimeout=setTimeout(()=>{u==null||u(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,r==null||r(d,g))}}function __({noWheelClassName:e,preventScrolling:n,d3ZoomHandler:i}){return function(o,a){const s=o.type==="wheel",t=!n&&s&&!o.ctrlKey,r=Vn(o,e);if(o.ctrlKey&&s&&r&&o.preventDefault(),t||r)return null;o.preventDefault(),i.call(this,o,a)}}function E_({zoomPanValues:e,onDraggingChange:n,onPanZoomStart:i}){return o=>{var s,t,r;if((s=o.sourceEvent)!=null&&s.internal)return;const a=fo(o.transform);e.mouseButton=((t=o.sourceEvent)==null?void 0:t.button)||0,e.isZoomingOrPanning=!0,e.prevViewport=a,((r=o.sourceEvent)==null?void 0:r.type)==="mousedown"&&n(!0),i&&(i==null||i(o.sourceEvent,a))}}function k_({zoomPanValues:e,panOnDrag:n,onPaneContextMenu:i,onTransformChange:o,onPanZoom:a}){return s=>{var t,r,l;e.usedRightMouseButton=!!(i&&fm(n,(t=e.mouseButton)!=null?t:0)),(r=s.sourceEvent)!=null&&r.sync||o([s.transform.x,s.transform.y,s.transform.k]),a&&!((l=s.sourceEvent)!=null&&l.internal)&&(a==null||a(s.sourceEvent,fo(s.transform)))}}function M_({zoomPanValues:e,panOnDrag:n,panOnScroll:i,onDraggingChange:o,onPanZoomEnd:a,onPaneContextMenu:s}){return t=>{var r,l;if(!((r=t.sourceEvent)!=null&&r.internal)&&(e.isZoomingOrPanning=!1,s&&fm(n,(l=e.mouseButton)!=null?l:0)&&!e.usedRightMouseButton&&t.sourceEvent&&s(t.sourceEvent),e.usedRightMouseButton=!1,o(!1),a)){const u=fo(t.transform);e.prevViewport=u,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{a==null||a(t.sourceEvent,u)},i?150:0)}}}function T_({zoomActivationKeyPressed:e,zoomOnScroll:n,zoomOnPinch:i,panOnDrag:o,panOnScroll:a,zoomOnDoubleClick:s,userSelectionActive:t,noWheelClassName:r,noPanClassName:l,lib:u,connectionInProgress:d}){return b=>{var v;const m=e||n,f=i&&b.ctrlKey,h=b.type==="wheel";if(b.button===1&&b.type==="mousedown"&&(Vn(b,`${u}-flow__node`)||Vn(b,`${u}-flow__edge`)))return!0;if(!o&&!m&&!a&&!s&&!i||t||d&&!h||Vn(b,r)&&h||Vn(b,l)&&(!h||a&&h&&!e)||!i&&b.ctrlKey&&h)return!1;if(!i&&b.type==="touchstart"&&((v=b.touches)==null?void 0:v.length)>1)return b.preventDefault(),!1;if(!m&&!a&&!f&&h||!o&&(b.type==="mousedown"||b.type==="touchstart")||Array.isArray(o)&&!o.includes(b.button)&&b.type==="mousedown")return!1;const g=Array.isArray(o)&&o.includes(b.button)||!b.button||b.button<=1;return(!b.ctrlKey||h)&&g}}function P_({domNode:e,minZoom:n,maxZoom:i,translateExtent:o,viewport:a,onPanZoom:s,onPanZoomStart:t,onPanZoomEnd:r,onDraggingChange:l}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),b=Eb().scaleExtent([n,i]).translateExtent(o),m=Le(e).call(b);S({x:a.x,y:a.y,zoom:Gn(a.zoom,n,i)},[[0,0],[d.width,d.height]],o);const f=m.on("wheel.zoom"),h=m.on("dblclick.zoom");b.wheelDelta(vm);async function g(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ri:Xi).transform(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}function v({noWheelClassName:k,noPanClassName:M,onPaneContextMenu:L,userSelectionActive:T,panOnScroll:O,panOnDrag:B,panOnScrollMode:K,panOnScrollSpeed:G,preventScrolling:I,zoomOnPinch:Y,zoomOnScroll:Z,zoomOnDoubleClick:J,zoomActivationKeyPressed:R,lib:D,onTransformChange:H,connectionInProgress:U,paneClickDistance:q,selectionOnDrag:F}){T&&!u.isZoomingOrPanning&&p();const W=O&&!R&&!T;b.clickDistance(F?1/0:!Ke(q)||q<0?0:q);const z=W?C_({zoomPanValues:u,noWheelClassName:k,d3Selection:m,d3Zoom:b,panOnScrollMode:K,panOnScrollSpeed:G,zoomOnPinch:Y,onPanZoomStart:t,onPanZoom:s,onPanZoomEnd:r}):__({noWheelClassName:k,preventScrolling:I,d3ZoomHandler:f});m.on("wheel.zoom",z,{passive:!1});const V=E_({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:t});b.on("start",V);const Q=k_({zoomPanValues:u,panOnDrag:B,onPaneContextMenu:!!L,onPanZoom:s,onTransformChange:H});b.on("zoom",Q);const j=M_({zoomPanValues:u,panOnDrag:B,panOnScroll:O,onPaneContextMenu:L,onPanZoomEnd:r,onDraggingChange:l});b.on("end",j);const X=T_({zoomActivationKeyPressed:R,panOnDrag:B,zoomOnScroll:Z,panOnScroll:O,zoomOnDoubleClick:J,zoomOnPinch:Y,userSelectionActive:T,noPanClassName:M,noWheelClassName:k,lib:D,connectionInProgress:U});b.filter(X),J?m.on("dblclick.zoom",h):m.on("dblclick.zoom",null)}function p(){b.on("zoom",null)}async function S(k,M,L){const T=es(k),O=b==null?void 0:b.constrain()(T,M,L);return O&&await g(O),O}async function y(k,M){const L=es(k);return await g(L,M),L}function x(k){if(m){const M=es(k),L=m.property("__zoom");(L.k!==k.zoom||L.x!==k.x||L.y!==k.y)&&(b==null||b.transform(m,M,null,{sync:!0}))}}function w(){const k=m?Cb(m.node()):{x:0,y:0,k:1};return{x:k.x,y:k.y,zoom:k.k}}async function A(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ri:Xi).scaleTo(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}async function N(k,M){return m?new Promise(L=>{b==null||b.interpolate((M==null?void 0:M.interpolate)==="linear"?ri:Xi).scaleBy(ns(m,M==null?void 0:M.duration,M==null?void 0:M.ease,()=>L(!0)),k)}):!1}function E(k){b==null||b.scaleExtent(k)}function _(k){b==null||b.translateExtent(k)}function P(k){const M=!Ke(k)||k<0?0:k;b==null||b.clickDistance(M)}return{update:v,destroy:p,setViewport:y,setViewportConstrained:S,getViewport:w,scaleTo:A,scaleBy:N,setScaleExtent:E,setTranslateExtent:_,syncViewport:x,setClickDistance:P}}var zn;(function(e){e.Line="line",e.Handle="handle"})(zn||(zn={}));function I_({width:e,prevWidth:n,height:i,prevHeight:o,affectsX:a,affectsY:s}){const t=e-n,r=i-o,l=[t>0?1:t<0?-1:0,r>0?1:r<0?-1:0];return t&&a&&(l[0]=l[0]*-1),r&&s&&(l[1]=l[1]*-1),l}function hm(e){const n=e.includes("right")||e.includes("left"),i=e.includes("bottom")||e.includes("top"),o=e.includes("left"),a=e.includes("top");return{isHorizontal:n,isVertical:i,affectsX:o,affectsY:a}}function un(e,n){return Math.max(0,n-e)}function dn(e,n){return Math.max(0,e-n)}function vo(e,n,i){return Math.max(0,n-e,e-i)}function pm(e,n){return e?!n:n}function L_(e,n,i,o,a,s,t,r){let{affectsX:l,affectsY:u}=n;const{isHorizontal:d,isVertical:b}=n,m=d&&b,{xSnapped:f,ySnapped:h}=i,{minWidth:g,maxWidth:v,minHeight:p,maxHeight:S}=o,{x:y,y:x,width:w,height:A,aspectRatio:N}=e;let E=Math.floor(d?f-e.pointerX:0),_=Math.floor(b?h-e.pointerY:0);const P=w+(l?-E:E),k=A+(u?-_:_),M=-s[0]*w,L=-s[1]*A;let T=vo(P,g,v),O=vo(k,p,S);if(t){let G=0,I=0;l&&E<0?G=un(y+E+M,t[0][0]):!l&&E>0&&(G=dn(y+P+M,t[1][0])),u&&_<0?I=un(x+_+L,t[0][1]):!u&&_>0&&(I=dn(x+k+L,t[1][1])),T=Math.max(T,G),O=Math.max(O,I)}if(r){let G=0,I=0;l&&E>0?G=dn(y+E,r[0][0]):!l&&E<0&&(G=un(y+P,r[1][0])),u&&_>0?I=dn(x+_,r[0][1]):!u&&_<0&&(I=un(x+k,r[1][1])),T=Math.max(T,G),O=Math.max(O,I)}if(a){if(d){const G=vo(P/N,p,S)*N;if(T=Math.max(T,G),t){let I=0;!l&&!u||l&&!u&&m?I=dn(x+L+P/N,t[1][1])*N:I=un(x+L+(l?E:-E)/N,t[0][1])*N,T=Math.max(T,I)}if(r){let I=0;!l&&!u||l&&!u&&m?I=un(x+P/N,r[1][1])*N:I=dn(x+(l?E:-E)/N,r[0][1])*N,T=Math.max(T,I)}}if(b){const G=vo(k*N,g,v)/N;if(O=Math.max(O,G),t){let I=0;!l&&!u||u&&!l&&m?I=dn(y+k*N+M,t[1][0])/N:I=un(y+(u?_:-_)*N+M,t[0][0])/N,O=Math.max(O,I)}if(r){let I=0;!l&&!u||u&&!l&&m?I=un(y+k*N,r[1][0])/N:I=dn(y+(u?_:-_)*N,r[0][0])/N,O=Math.max(O,I)}}}_=_+(_<0?O:-O),E=E+(E<0?T:-T),a&&(m?P>k*N?_=(pm(l,u)?-E:E)/N:E=(pm(l,u)?-_:_)*N:d?(_=E/N,u=l):(E=_*N,l=u));const B=l?y+E:y,K=u?x+_:x;return{width:w+(l?-E:E),height:A+(u?-_:_),x:s[0]*E*(l?-1:1)+B,y:s[1]*_*(u?-1:1)+K}}const gm={width:0,height:0,x:0,y:0},B_={...gm,pointerX:0,pointerY:0,aspectRatio:1};function O_(e,n,i){var u,d;const o=n.position.x+e.position.x,a=n.position.y+e.position.y,s=(u=e.measured.width)!=null?u:0,t=(d=e.measured.height)!=null?d:0,r=i[0]*s,l=i[1]*t;return[[o-r,a-l],[o+s-r,a+t-l]]}function D_({domNode:e,nodeId:n,getStoreItems:i,onChange:o,onEnd:a}){const s=Le(e);let t={controlDirection:hm("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:d,keepAspectRatio:b,resizeDirection:m,onResizeStart:f,onResize:h,onResizeEnd:g,shouldResize:v}){let p={...gm},S={...B_};t={boundaries:d,resizeDirection:m,keepAspectRatio:b,controlDirection:hm(u)};let y,x=null,w=[],A,N,E,_=!1;const P=Xc().on("start",k=>{var Y,Z,J,R,D,H;const{nodeLookup:M,transform:L,snapGrid:T,snapToGrid:O,nodeOrigin:B,paneDomNode:K}=i();if(y=M.get(n),!y)return;x=(Y=K==null?void 0:K.getBoundingClientRect())!=null?Y:null;const{xSnapped:G,ySnapped:I}=Si(k.sourceEvent,{transform:L,snapGrid:T,snapToGrid:O,containerBounds:x});p={width:(Z=y.measured.width)!=null?Z:0,height:(J=y.measured.height)!=null?J:0,x:(R=y.position.x)!=null?R:0,y:(D=y.position.y)!=null?D:0},S={...p,pointerX:G,pointerY:I,aspectRatio:p.width/p.height},A=void 0,N=xn(y.extent)?y.extent:void 0,y.parentId&&(y.extent==="parent"||y.expandParent)&&(A=M.get(y.parentId)),A&&y.extent==="parent"&&(N=[[0,0],[A.measured.width,A.measured.height]]),w=[],E=void 0;for(const[U,q]of M)if(q.parentId===n&&(w.push({id:U,position:{...q.position},extent:q.extent}),q.extent==="parent"||q.expandParent)){const F=O_(q,y,(H=q.origin)!=null?H:B);E?E=[[Math.min(F[0][0],E[0][0]),Math.min(F[0][1],E[0][1])],[Math.max(F[1][0],E[1][0]),Math.max(F[1][1],E[1][1])]]:E=F}f==null||f(k,{...p})}).on("drag",k=>{var $,ne,ee;const{transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O}=i(),B=Si(k.sourceEvent,{transform:M,snapGrid:L,snapToGrid:T,containerBounds:x}),K=[];if(!y)return;const{x:G,y:I,width:Y,height:Z}=p,J={},R=($=y.origin)!=null?$:O,{width:D,height:H,x:U,y:q}=L_(S,t.controlDirection,B,t.boundaries,t.keepAspectRatio,R,N,E),F=D!==Y,W=H!==Z,z=U!==G&&F,V=q!==I&&W;if(!z&&!V&&!F&&!W)return;if((z||V||R[0]===1||R[1]===1)&&(J.x=z?U:p.x,J.y=V?q:p.y,p.x=J.x,p.y=J.y,w.length>0)){const ae=U-G,re=q-I;for(const be of w)be.position={x:be.position.x-ae+R[0]*(D-Y),y:be.position.y-re+R[1]*(H-Z)},K.push(be)}if((F||W)&&(J.width=F&&(!t.resizeDirection||t.resizeDirection==="horizontal")?D:p.width,J.height=W&&(!t.resizeDirection||t.resizeDirection==="vertical")?H:p.height,p.width=J.width,p.height=J.height),A&&y.expandParent){const ae=R[0]*((ne=J.width)!=null?ne:0);J.x&&J.x<ae&&(p.x=ae,S.x=S.x-(J.x-ae));const re=R[1]*((ee=J.height)!=null?ee:0);J.y&&J.y<re&&(p.y=re,S.y=S.y-(J.y-re))}const Q=I_({width:p.width,prevWidth:Y,height:p.height,prevHeight:Z,affectsX:t.controlDirection.affectsX,affectsY:t.controlDirection.affectsY}),j={...p,direction:Q};(v==null?void 0:v(k,j))!==!1&&(_=!0,h==null||h(k,j),o(J,K))}).on("end",k=>{_&&(g==null||g(k,{...p}),a==null||a({...p}),_=!1)});s.call(P)}function l(){s.on(".drag",null)}return{update:r,destroy:l}}var ho=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{};function ym(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var po={exports:{}},is={},go={exports:{}},os={};/**
|
|
31
31
|
* @license React
|
|
32
32
|
* use-sync-external-store-shim.production.js
|
|
33
33
|
*
|
|
@@ -59,10 +59,10 @@
|
|
|
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 Cm;function K_(){return Cm||(Cm=1,process.env.NODE_ENV!=="production"&&function(){function e(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=C,i=Am(),o=typeof Object.is=="function"?Object.is:e,a=i.useSyncExternalStore,s=n.useRef,t=n.useEffect,r=n.useMemo,l=n.useDebugValue;ss.useSyncExternalStoreWithSelector=function(u,d,b,m,f){var h=s(null);if(h.current===null){var g={hasValue:!1,value:null};h.current=g}else g=h.current;h=r(function(){function p(A){if(!S){if(S=!0,y=A,A=m(A),f!==void 0&&g.hasValue){var N=g.value;if(f(N,A))return x=N}return x=A}if(N=x,o(y,A))return N;var E=m(A);return f!==void 0&&f(N,E)?(y=A,N):(y=A,x=E)}var S=!1,y,x,w=b===void 0?null:b;return[function(){return p(d())},w===null?void 0:function(){return p(w())}]},[d,b,m,f]);var v=a(u,h[0],h[1]);return t(function(){g.hasValue=!0,g.value=v},[v]),l(v),v},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ss}var _m;function H_(){return _m||(_m=1,process.env.NODE_ENV==="production"?po.exports=G_():po.exports=K_()),po.exports}var V_=H_();const z_=ym(V_),j_={},Em=e=>{let n;const i=new Set,o=(d,b)=>{const m=typeof d=="function"?d(n):d;if(!Object.is(m,n)){const f=n;n=(b!=null?b:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(h=>h(n,f))}},a=()=>n,l={setState:o,getState:a,getInitialState:()=>u,subscribe:d=>(i.add(d),()=>i.delete(d)),destroy:()=>{(j_?"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,a,l);return l},U_=e=>e?Em(e):Em,{useDebugValue:W_}=C,{useSyncExternalStoreWithSelector:$_}=z_,Y_=e=>e;function km(e,n=Y_,i){const o=$_(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return W_(o),o}const Mm=(e,n)=>{const i=U_(e),o=(a,s=n)=>km(i,a,s);return Object.assign(o,i),o},J_=(e,n)=>e?Mm(e,n):Mm;function pe(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,a]of e)if(!Object.is(a,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 yo=C.createContext(null),Z_=yo.Provider,Tm=Be.error001("react");function de(e,n){const i=C.useContext(yo);if(i===null)throw new Error(Tm);return km(i,e,n)}function ge(){const e=C.useContext(yo);if(e===null)throw new Error(Tm);return C.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Pm={display:"none"},X_={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Im="react-flow__node-desc",Lm="react-flow__edge-desc",Q_="react-flow__aria-live",R_=e=>e.ariaLiveMessage,eE=e=>e.ariaLabelConfig;function nE({rfId:e}){const n=de(R_);return c.jsx("div",{id:`${Q_}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:X_,children:n})}function iE({rfId:e,disableKeyboardA11y:n}){const i=de(eE);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${Im}-${e}`,style:Pm,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${Lm}-${e}`,style:Pm,children:i["edge.a11yDescription.default"]}),!n&&c.jsx(nE,{rfId:e})]})}const xo=C.forwardRef(({position:e="top-left",children:n,className:i,style:o,...a},s)=>{const t=`${e}`.split("-");return c.jsx("div",{className:we(["react-flow__panel",i,...t]),style:o,ref:s,...a,children:n})});xo.displayName="Panel";const Bm=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function oE({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:c.jsx(xo,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Bm}`,children:c.jsx("a",{href:Bm,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const aE=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}},So=e=>e.id;function sE(e,n){return pe(e.selectedNodes.map(So),n.selectedNodes.map(So))&&pe(e.selectedEdges.map(So),n.selectedEdges.map(So))}function tE({onSelectionChange:e}){const n=ge(),{selectedNodes:i,selectedEdges:o}=de(aE,sE);return C.useEffect(()=>{const a={nodes:i,edges:o};e==null||e(a),n.getState().onSelectionChangeHandlers.forEach(s=>s(a))},[i,o,e]),null}const rE=e=>!!e.onSelectionChangeHandlers;function lE({onSelectionChange:e}){const n=de(rE);return e||n?c.jsx(tE,{onSelectionChange:e}):null}const Om=[0,0],uE={x:0,y:0,zoom:1},Dm=[...["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"],dE=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}),qm={translateExtent:
|
|
62
|
+
*/var Cm;function K_(){return Cm||(Cm=1,process.env.NODE_ENV!=="production"&&function(){function e(u,d){return u===d&&(u!==0||1/u===1/d)||u!==u&&d!==d}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var n=C,i=Am(),o=typeof Object.is=="function"?Object.is:e,a=i.useSyncExternalStore,s=n.useRef,t=n.useEffect,r=n.useMemo,l=n.useDebugValue;ss.useSyncExternalStoreWithSelector=function(u,d,b,m,f){var h=s(null);if(h.current===null){var g={hasValue:!1,value:null};h.current=g}else g=h.current;h=r(function(){function p(A){if(!S){if(S=!0,y=A,A=m(A),f!==void 0&&g.hasValue){var N=g.value;if(f(N,A))return x=N}return x=A}if(N=x,o(y,A))return N;var E=m(A);return f!==void 0&&f(N,E)?(y=A,N):(y=A,x=E)}var S=!1,y,x,w=b===void 0?null:b;return[function(){return p(d())},w===null?void 0:function(){return p(w())}]},[d,b,m,f]);var v=a(u,h[0],h[1]);return t(function(){g.hasValue=!0,g.value=v},[v]),l(v),v},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__!="undefined"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()),ss}var _m;function H_(){return _m||(_m=1,process.env.NODE_ENV==="production"?po.exports=G_():po.exports=K_()),po.exports}var V_=H_();const z_=ym(V_),j_={},Em=e=>{let n;const i=new Set,o=(d,b)=>{const m=typeof d=="function"?d(n):d;if(!Object.is(m,n)){const f=n;n=(b!=null?b:typeof m!="object"||m===null)?m:Object.assign({},n,m),i.forEach(h=>h(n,f))}},a=()=>n,l={setState:o,getState:a,getInitialState:()=>u,subscribe:d=>(i.add(d),()=>i.delete(d)),destroy:()=>{(j_?"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,a,l);return l},U_=e=>e?Em(e):Em,{useDebugValue:W_}=C,{useSyncExternalStoreWithSelector:$_}=z_,Y_=e=>e;function km(e,n=Y_,i){const o=$_(e.subscribe,e.getState,e.getServerState||e.getInitialState,n,i);return W_(o),o}const Mm=(e,n)=>{const i=U_(e),o=(a,s=n)=>km(i,a,s);return Object.assign(o,i),o},J_=(e,n)=>e?Mm(e,n):Mm;function pe(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,a]of e)if(!Object.is(a,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 yo=C.createContext(null),Z_=yo.Provider,Tm=Be.error001("react");function de(e,n){const i=C.useContext(yo);if(i===null)throw new Error(Tm);return km(i,e,n)}function ge(){const e=C.useContext(yo);if(e===null)throw new Error(Tm);return C.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const Pm={display:"none"},X_={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Im="react-flow__node-desc",Lm="react-flow__edge-desc",Q_="react-flow__aria-live",R_=e=>e.ariaLiveMessage,eE=e=>e.ariaLabelConfig;function nE({rfId:e}){const n=de(R_);return c.jsx("div",{id:`${Q_}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:X_,children:n})}function iE({rfId:e,disableKeyboardA11y:n}){const i=de(eE);return c.jsxs(c.Fragment,{children:[c.jsx("div",{id:`${Im}-${e}`,style:Pm,children:n?i["node.a11yDescription.default"]:i["node.a11yDescription.keyboardDisabled"]}),c.jsx("div",{id:`${Lm}-${e}`,style:Pm,children:i["edge.a11yDescription.default"]}),!n&&c.jsx(nE,{rfId:e})]})}const xo=C.forwardRef(({position:e="top-left",children:n,className:i,style:o,...a},s)=>{const t=`${e}`.split("-");return c.jsx("div",{className:we(["react-flow__panel",i,...t]),style:o,ref:s,...a,children:n})});xo.displayName="Panel";const Bm=`https://reactflow.dev${process.env.NODE_ENV==="production"?"?utm_source=attribution":"/attribution"}`;function oE({proOptions:e,position:n="bottom-right"}){return e!=null&&e.hideAttribution?null:c.jsx(xo,{position:n,className:"react-flow__attribution","data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${Bm}`,children:c.jsx("a",{href:Bm,target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const aE=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}},So=e=>e.id;function sE(e,n){return pe(e.selectedNodes.map(So),n.selectedNodes.map(So))&&pe(e.selectedEdges.map(So),n.selectedEdges.map(So))}function tE({onSelectionChange:e}){const n=ge(),{selectedNodes:i,selectedEdges:o}=de(aE,sE);return C.useEffect(()=>{const a={nodes:i,edges:o};e==null||e(a),n.getState().onSelectionChangeHandlers.forEach(s=>s(a))},[i,o,e]),null}const rE=e=>!!e.onSelectionChangeHandlers;function lE({onSelectionChange:e}){const n=de(rE);return e||n?c.jsx(tE,{onSelectionChange:e}):null}const Om=[0,0],uE={x:0,y:0,zoom:1},Dm=[...["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"],dE=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}),qm={translateExtent:mi,nodeOrigin:Om,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function cE(e){const{setNodes:n,setEdges:i,setMinZoom:o,setMaxZoom:a,setTranslateExtent:s,setNodeExtent:t,reset:r,setDefaultNodesAndEdges:l}=de(dE,pe),u=ge();C.useEffect(()=>(l(e.defaultNodes,e.defaultEdges),()=>{d.current=qm,r()}),[]);const d=C.useRef(qm);return C.useEffect(()=>{for(const b of Dm){const m=e[b],f=d.current[b];m!==f&&typeof e[b]!="undefined"&&(b==="nodes"?n(m):b==="edges"?i(m):b==="minZoom"?o(m):b==="maxZoom"?a(m):b==="translateExtent"?s(m):b==="nodeExtent"?t(m):b==="ariaLabelConfig"?u.setState({ariaLabelConfig:JC(m)}):b==="fitView"?u.setState({fitViewQueued:m}):b==="fitViewOptions"?u.setState({fitViewOptions:m}):u.setState({[b]:m}))}d.current=e},Dm.map(b=>e[b])),null}function Fm(){return typeof window=="undefined"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function bE(e){var o;const[n,i]=C.useState(e==="system"?null:e);return C.useEffect(()=>{if(e!=="system"){i(e);return}const a=Fm(),s=()=>i(a!=null&&a.matches?"dark":"light");return s(),a==null||a.addEventListener("change",s),()=>{a==null||a.removeEventListener("change",s)}},[e]),n!==null?n:(o=Fm())!=null&&o.matches?"dark":"light"}const Gm=typeof document!="undefined"?document:null;function wi(e=null,n={target:Gm,actInsideInputWithModifier:!0}){const[i,o]=C.useState(!1),a=C.useRef(!1),s=C.useRef(new Set([])),[t,r]=C.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(b=>typeof b=="string").map(b=>b.replace("+",`
|
|
63
63
|
`).replace(`
|
|
64
64
|
|
|
65
65
|
`,`
|
|
66
66
|
+`).split(`
|
|
67
|
-
`)),d=u.reduce((b,m)=>b.concat(...m),[]);return[u,d]}return[[],[]]},[e]);return C.useEffect(()=>{var d,b;const l=(d=n==null?void 0:n.target)!=null?d:Gm,u=(b=n==null?void 0:n.actInsideInputWithModifier)!=null?b:!0;if(e!==null){const m=g=>{var S,y;if(a.current=g.ctrlKey||g.metaKey||g.shiftKey||g.altKey,(!a.current||a.current&&!u)&&Ub(g))return!1;const p=Hm(g.code,r);if(s.current.add(g[p]),Km(t,s.current,!1)){const x=((y=(S=g.composedPath)==null?void 0:S.call(g))==null?void 0:y[0])||g.target,w=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(a.current||!w)&&g.preventDefault(),o(!0)}},f=g=>{const v=Hm(g.code,r);Km(t,s.current,!0)?(o(!1),s.current.clear()):s.current.delete(g[v]),g.key==="Meta"&&s.current.clear(),a.current=!1},h=()=>{s.current.clear(),o(!1)};return l==null||l.addEventListener("keydown",m),l==null||l.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",m),l==null||l.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),i}function Km(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(a=>n.has(a)))}function Hm(e,n){return n.includes(e)?"code":"key"}const mE=()=>{const e=ge();return C.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,l,u;const{transform:[o,a,s],panZoom:t}=e.getState();return t?(await t.setViewport({x:(r=n.x)!=null?r:o,y:(l=n.y)!=null?l:a,zoom:(u=n.zoom)!=null?u:s},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:a,minZoom:s,maxZoom:t,panZoom:r}=e.getState(),l=Va(n,o,a,s,t,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(l,{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:a,snapToGrid:s,domNode:t}=e.getState();if(!t)return n;const{x:r,y:l}=t.getBoundingClientRect(),u={x:n.x-r,y:n.y-l},d=(m=i.snapGrid)!=null?m:a,b=(f=i.snapToGrid)!=null?f:s;return gi(u,o,b,d)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:a,y:s}=o.getBoundingClientRect(),t=Kn(n,i);return{x:t.x+a,y:t.y+s}}}),[])};function Vm(e,n){const i=[],o=new Map,a=[];for(const s of e)if(s.type==="add"){a.push(s);continue}else if(s.type==="remove"||s.type==="replace")o.set(s.id,[s]);else{const t=o.get(s.id);t?t.push(s):o.set(s.id,[s])}for(const s of n){const t=o.get(s.id);if(!t){i.push(s);continue}if(t[0].type==="remove")continue;if(t[0].type==="replace"){i.push({...t[0].item});continue}const r={...s};for(const l of t)fE(l,r);i.push(r)}return a.length&&a.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function fE(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 zm(e,n){return Vm(e,n)}function jm(e,n){return Vm(e,n)}function wn(e,n){return{id:e,type:"select",selected:n}}function jn(e,n=new Set,i=!1){const o=[];for(const[a,s]of e){const t=n.has(a);!(s.selected===void 0&&!t)&&s.selected!==t&&(i&&(s.selected=t),o.push(wn(s.id,t)))}return o}function Um({items:e=[],lookup:n}){var a,s;const i=[],o=new Map(e.map(t=>[t.id,t]));for(const[t,r]of e.entries()){const l=n.get(r.id),u=(s=(a=l==null?void 0:l.internals)==null?void 0:a.userNode)!=null?s:l;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:t})}for(const[t]of n)o.get(t)===void 0&&i.push({id:t,type:"remove"});return i}function Wm(e){return{id:e.id,type:"remove"}}const vE=Kb("React Flow","https://reactflow.dev/");function hE(e,n,i={}){var o;return n_(e,n,{...i,onError:(o=i.onError)!=null?o:vE})}const $m=e=>KC(e),pE=e=>Lb(e);function Ym(e){return C.forwardRef(e)}const gE=typeof window!="undefined"?C.useLayoutEffect:C.useEffect;function Jm(e){const[n,i]=C.useState(BigInt(0)),[o]=C.useState(()=>yE(()=>i(a=>a+BigInt(1))));return gE(()=>{const a=o.get();a.length&&(e(a),o.reset())},[n]),o}function yE(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Zm=C.createContext(null);function xE({children:e}){const n=ge(),i=C.useCallback(r=>{const{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:b,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:h}=n.getState();let g=l;for(const p of r)g=typeof p=="function"?p(g):p;let v=Um({items:g,lookup:m});for(const p of h.values())v=p(v);d&&u(g),v.length>0?b==null||b(v):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:p,nodes:S,setNodes:y}=n.getState();p&&y(S)})},[]),o=Jm(i),a=C.useCallback(r=>{const{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:b,edgeLookup:m}=n.getState();let f=l;for(const h of r)f=typeof h=="function"?h(f):h;d?u(f):b&&b(Um({items:f,lookup:m}))},[]),s=Jm(a),t=C.useMemo(()=>({nodeQueue:o,edgeQueue:s}),[]);return c.jsx(Zm.Provider,{value:t,children:e})}function SE(){const e=C.useContext(Zm);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const wE=e=>!!e.panZoom;function ts(){const e=mE(),n=ge(),i=SE(),o=de(wE),a=C.useMemo(()=>{const s=b=>n.getState().nodeLookup.get(b),t=b=>{i.nodeQueue.push(b)},r=b=>{i.edgeQueue.push(b)},l=b=>{var p,S,y,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),h=$m(b)?b:m.get(b.id),g=h.parentId?Vb(h.position,h.measured,h.parentId,m,f):h.position,v={...h,position:g,width:(S=(p=h.measured)==null?void 0:p.width)!=null?S:h.width,height:(x=(y=h.measured)==null?void 0:y.height)!=null?x:h.height};return hi(v)},u=(b,m,f={replace:!1})=>{t(h=>h.map(g=>{if(g.id===b){const v=typeof m=="function"?m(g):m;return f.replace&&$m(v)?v:{...g,...v}}return g}))},d=(b,m,f={replace:!1})=>{r(h=>h.map(g=>{if(g.id===b){const v=typeof m=="function"?m(g):m;return f.replace&&pE(v)?v:{...g,...v}}return g}))};return{getNodes:()=>n.getState().nodes.map(b=>({...b})),getNode:b=>{var m;return(m=s(b))==null?void 0:m.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:b=[]}=n.getState();return b.map(m=>({...m}))},getEdge:b=>n.getState().edgeLookup.get(b),setNodes:t,setEdges:r,addNodes:b=>{const m=Array.isArray(b)?b:[b];i.nodeQueue.push(f=>[...f,...m])},addEdges:b=>{const m=Array.isArray(b)?b:[b];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:b=[],edges:m=[],transform:f}=n.getState(),[h,g,v]=f;return{nodes:b.map(p=>({...p})),edges:m.map(p=>({...p})),viewport:{x:h,y:g,zoom:v}}},deleteElements:async({nodes:b=[],edges:m=[]})=>{const{nodes:f,edges:h,onNodesDelete:g,onEdgesDelete:v,triggerNodeChanges:p,triggerEdgeChanges:S,onDelete:y,onBeforeDelete:x}=n.getState(),{nodes:w,edges:A}=await UC({nodesToRemove:b,edgesToRemove:m,nodes:f,edges:h,onBeforeDelete:x}),N=A.length>0,E=w.length>0;if(N){const _=A.map(Wm);v==null||v(A),S(_)}if(E){const _=w.map(Wm);g==null||g(w),p(_)}return(E||N)&&(y==null||y({nodes:w,edges:A})),{deletedNodes:w,deletedEdges:A}},getIntersectingNodes:(b,m=!0,f)=>{const h=Gb(b),g=h?b:l(b),v=f!==void 0;return g?(f||n.getState().nodes).filter(p=>{const S=n.getState().nodeLookup.get(p.id);if(S&&!h&&(p.id===b.id||!S.internals.positionAbsolute))return!1;const y=hi(v?p:S),x=bo(y,g);return m&&x>0||x>=y.width*y.height||x>=g.width*g.height}):[]},isNodeIntersecting:(b,m,f=!0)=>{const g=Gb(b)?b:l(b);if(!g)return!1;const v=bo(g,m);return f&&v>0||v>=m.width*m.height||v>=g.width*g.height},updateNode:u,updateNodeData:(b,m,f={replace:!1})=>{u(b,h=>{const g=typeof m=="function"?m(h):m;return f.replace?{...h,data:g}:{...h,data:{...h.data,...g}}},f)},updateEdge:d,updateEdgeData:(b,m,f={replace:!1})=>{d(b,h=>{const g=typeof m=="function"?m(h):m;return f.replace?{...h,data:g}:{...h,data:{...h.data,...g}}},f)},getNodesBounds:b=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return HC(b,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:b,id:m,nodeId:f})=>{var h,g;return Array.from((g=(h=n.getState().connectionLookup.get(`${f}-${b}${m?`-${m}`:""}`))==null?void 0:h.values())!=null?g:[])},getNodeConnections:({type:b,handleId:m,nodeId:f})=>{var h,g;return Array.from((g=(h=n.getState().connectionLookup.get(`${f}${b?m?`-${b}-${m}`:`-${b}`:""}`))==null?void 0:h.values())!=null?g:[])},fitView:async b=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:YC();return n.setState({fitViewQueued:!0,fitViewOptions:b,fitViewResolver:m}),i.nodeQueue.push(h=>[...h]),m.promise}}},[]);return C.useMemo(()=>({...a,...e,viewportInitialized:o}),[o])}const Xm=e=>e.selected,AE=typeof window!="undefined"?window:void 0;function NE({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ge(),{deleteElements:o}=ts(),a=Si(e,{actInsideInputWithModifier:!1}),s=Si(n,{target:AE});C.useEffect(()=>{if(a){const{edges:t,nodes:r}=i.getState();o({nodes:r.filter(Xm),edges:t.filter(Xm)}),i.setState({nodesSelectionActive:!1})}},[a]),C.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function CE(e){const n=ge();C.useEffect(()=>{const i=()=>{var a,s,t,r,l;if(!e.current||!((t=(s=(a=e.current).checkVisibility)==null?void 0:s.call(a))==null||t))return!1;const o=za(e.current);(o.height===0||o.width===0)&&((l=(r=n.getState()).onError)==null||l.call(r,"004",Be.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 wo={position:"absolute",width:"100%",height:"100%",top:0,left:0},_E=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function EE({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:a=.5,panOnScrollMode:s=gn.Free,zoomOnDoubleClick:t=!0,panOnDrag:r=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:b,zoomActivationKeyCode:m,preventScrolling:f=!0,children:h,noWheelClassName:g,noPanClassName:v,onViewportChange:p,isControlledViewport:S,paneClickDistance:y,selectionOnDrag:x}){const w=ge(),A=C.useRef(null),{userSelectionActive:N,lib:E,connectionInProgress:_}=de(_E,pe),P=Si(m),k=C.useRef();CE(A);const M=C.useCallback(L=>{p==null||p({x:L[0],y:L[1],zoom:L[2]}),S||w.setState({transform:L})},[p,S]);return C.useEffect(()=>{if(A.current){k.current=P_({domNode:A.current,minZoom:d,maxZoom:b,translateExtent:u,viewport:l,onDraggingChange:B=>w.setState(K=>K.paneDragging===B?K:{paneDragging:B}),onPanZoomStart:(B,K)=>{const{onViewportChangeStart:G,onMoveStart:I}=w.getState();I==null||I(B,K),G==null||G(K)},onPanZoom:(B,K)=>{const{onViewportChange:G,onMove:I}=w.getState();I==null||I(B,K),G==null||G(K)},onPanZoomEnd:(B,K)=>{const{onViewportChangeEnd:G,onMoveEnd:I}=w.getState();I==null||I(B,K),G==null||G(K)}});const{x:L,y:T,zoom:O}=k.current.getViewport();return w.setState({panZoom:k.current,transform:[L,T,O],domNode:A.current.closest(".react-flow")}),()=>{var B;(B=k.current)==null||B.destroy()}}},[]),C.useEffect(()=>{var L;(L=k.current)==null||L.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:a,panOnScrollMode:s,zoomOnDoubleClick:t,panOnDrag:r,zoomActivationKeyPressed:P,preventScrolling:f,noPanClassName:v,userSelectionActive:N,noWheelClassName:g,lib:E,onTransformChange:M,connectionInProgress:_,selectionOnDrag:x,paneClickDistance:y})},[e,n,i,o,a,s,t,r,P,f,v,N,g,E,M,_,x,y]),c.jsx("div",{className:"react-flow__renderer",ref:A,style:wo,children:h})}const kE=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ME(){const{userSelectionActive:e,userSelectionRect:n}=de(kE,pe);return e&&n?c.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 rs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},TE=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function PE({isSelecting:e,selectionKeyPressed:n,selectionMode:i=mi.Full,panOnDrag:o,autoPanOnSelection:a,paneClickDistance:s,selectionOnDrag:t,onSelectionStart:r,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:b,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:h,children:g}){const v=C.useRef(0),p=ge(),{userSelectionActive:S,elementsSelectable:y,dragging:x,panBy:w,autoPanSpeed:A}=de(TE,pe),N=y&&(e||S),E=C.useRef(null),_=C.useRef(),P=C.useRef(new Set),k=C.useRef(new Set),M=C.useRef(!1),L=C.useRef(!1),T=C.useRef({x:0,y:0}),O=C.useRef(!1),B=F=>{if(L.current||M.current||p.getState().connection.inProgress){L.current=!1,M.current=!1;return}u==null||u(F),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},K=F=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){F.preventDefault();return}d==null||d(F)},G=b?F=>b(F):void 0,I=F=>{L.current&&(F.stopPropagation(),L.current=!1)},Y=F=>{var ee,ae;const{domNode:W,transform:z}=p.getState();if(_.current=W==null?void 0:W.getBoundingClientRect(),!_.current)return;const V=F.target===E.current;if(!V&&!!F.target.closest(".nokey")||!e||!(t&&V||n)||F.button!==0||!F.isPrimary)return;(ae=(ee=F.target)==null?void 0:ee.setPointerCapture)==null||ae.call(ee,F.pointerId),L.current=!1;const{x:X,y:$}=He(F.nativeEvent,_.current),ne=gi({x:X,y:$},z);p.setState({userSelectionRect:{width:0,height:0,startX:ne.x,startY:ne.y,x:X,y:$}}),V||(F.stopPropagation(),F.preventDefault())};function Z(F,W){var Ee,je;const{userSelectionRect:z}=p.getState();if(!z)return;const{transform:V,nodeLookup:Q,edgeLookup:j,connectionLookup:X,triggerNodeChanges:$,triggerEdgeChanges:ne,defaultEdgeOptions:ee}=p.getState(),ae={x:z.startX,y:z.startY},{x:re,y:be}=Kn(ae,V),ce={startX:ae.x,startY:ae.y,x:F<re?F:re,y:W<be?W:be,width:Math.abs(F-re),height:Math.abs(W-be)},he=P.current,me=k.current;P.current=new Set(Ga(Q,ce,V,i===mi.Partial,!0).map(Ne=>Ne.id)),k.current=new Set;const fe=(Ee=ee==null?void 0:ee.selectable)!=null?Ee:!0;for(const Ne of P.current){const Te=X.get(Ne);if(Te)for(const{edgeId:En}of Te.values()){const sn=j.get(En);sn&&((je=sn.selectable)!=null?je:fe)&&k.current.add(En)}}if(!zb(he,P.current)){const Ne=jn(Q,P.current,!0);$(Ne)}if(!zb(me,k.current)){const Ne=jn(j,k.current);ne(Ne)}p.setState({userSelectionRect:ce,userSelectionActive:!0,nodesSelectionActive:!1})}function J(){if(!a||!_.current)return;const[F,W]=Ka(T.current,_.current,A);w({x:F,y:W}).then(z=>{if(!L.current||!z){v.current=requestAnimationFrame(J);return}const{x:V,y:Q}=T.current;Z(V,Q),v.current=requestAnimationFrame(J)})}const R=()=>{cancelAnimationFrame(v.current),v.current=0,O.current=!1};C.useEffect(()=>()=>R(),[]);const D=F=>{const{userSelectionRect:W,transform:z,resetSelectedElements:V}=p.getState();if(!_.current||!W)return;const{x:Q,y:j}=He(F.nativeEvent,_.current);T.current={x:Q,y:j};const X=Kn({x:W.startX,y:W.startY},z);if(!L.current){const $=n?0:s;if(Math.hypot(Q-X.x,j-X.y)<=$)return;V(),r==null||r(F)}L.current=!0,O.current||(J(),O.current=!0),Z(Q,j)},H=F=>{var W,z;if(!N){F.target===E.current&&p.getState().connection.inProgress&&(M.current=!0);return}F.button===0&&((z=(W=F.target)==null?void 0:W.releasePointerCapture)==null||z.call(W,F.pointerId),!S&&F.target===E.current&&p.getState().userSelectionRect&&(B==null||B(F)),p.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(l==null||l(F),p.setState({nodesSelectionActive:P.current.size>0})),R())},U=F=>{var W,z;(z=(W=F.target)==null?void 0:W.releasePointerCapture)==null||z.call(W,F.pointerId),R()},q=o===!0||Array.isArray(o)&&o.includes(0);return c.jsxs("div",{className:we(["react-flow__pane",{draggable:q,dragging:x,selection:e}]),onClick:N?void 0:rs(B,E),onContextMenu:rs(K,E),onWheel:rs(G,E),onPointerEnter:N?void 0:m,onPointerMove:N?D:f,onPointerUp:H,onPointerCancel:N?U:void 0,onPointerDownCapture:N?Y:void 0,onClickCapture:N?I:void 0,onPointerLeave:h,ref:E,style:wo,children:[g,c.jsx(ME,{})]})}function ls({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:a,unselectNodesAndEdges:s,multiSelectionActive:t,nodeLookup:r,onError:l}=n.getState(),u=r.get(e);if(!u){l==null||l("012",Be.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&t)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=o==null?void 0:o.current)==null?void 0:d.blur()})):a([e])}function Qm({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:a,isSelectable:s,nodeClickDistance:t}){const r=ge(),[l,u]=C.useState(!1),d=C.useRef();return C.useEffect(()=>{d.current=p_({getStoreItems:()=>r.getState(),onNodeMouseDown:b=>{ls({id:b,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),C.useEffect(()=>{if(!(n||!e.current||!d.current))return d.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:s,nodeId:a,nodeClickDistance:t}),()=>{var b;(b=d.current)==null||b.destroy()}},[i,o,n,s,e,a,t]),l}const IE=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Rm(){const e=ge();return C.useCallback(i=>{const{nodeExtent:o,snapToGrid:a,snapGrid:s,nodesDraggable:t,onError:r,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=e.getState(),b=new Map,m=IE(t),f=a?s[0]:5,h=a?s[1]:5,g=i.direction.x*f*i.factor,v=i.direction.y*h*i.factor;for(const[,p]of u){if(!m(p))continue;let S={x:p.internals.positionAbsolute.x+g,y:p.internals.positionAbsolute.y+v};a&&(S=pi(S,s));const{position:y,positionAbsolute:x}=Bb({nodeId:p.id,nextPosition:S,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:r});p.position=y,p.internals.positionAbsolute=x,b.set(p.id,p)}l(b)},[])}const us=C.createContext(null),LE=us.Provider;us.Consumer;const ef=()=>C.useContext(us),BE=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),nf=C.createContext(null);function OE({children:e}){const n=de(BE,pe);return c.jsx(nf.Provider,{value:n,children:e})}function DE(){const e=C.useContext(nf);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const qE={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},FE=(e,n,i)=>o=>{const{connectionClickStartHandle:a,connectionMode:s,connection:t}=o,{fromHandle:r,toHandle:l,isValid:u}=t;if(!r&&!a)return qE;const d=(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===n&&(l==null?void 0:l.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:d,clickConnecting:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.id)===n&&(a==null?void 0:a.type)===i,isPossibleEndHandle:s===qn.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:!!a,valid:d&&u}};function GE({type:e="source",position:n=oe.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:a=!0,isConnectableEnd:s=!0,id:t,onConnect:r,children:l,className:u,onMouseDown:d,onTouchStart:b,...m},f){var O,B;const h=t||null,g=e==="target",v=ge(),p=ef(),{connectOnClick:S,noPanClassName:y,rfId:x}=DE(),{connectingFrom:w,connectingTo:A,clickConnecting:N,isPossibleEndHandle:E,connectionInProcess:_,clickConnectionInProcess:P,valid:k}=de(FE(p,h,e),pe);p||(B=(O=v.getState()).onError)==null||B.call(O,"010",Be.error010());const M=K=>{const{defaultEdgeOptions:G,onConnect:I,hasDefaultEdges:Y}=v.getState(),Z={...G,...K};if(Y){const{edges:J,setEdges:R,onError:D}=v.getState();R(hE(Z,J,{onError:D}))}I==null||I(Z),r==null||r(Z)},L=K=>{if(!p)return;const G=Wb(K.nativeEvent);if(a&&(G&&K.button===0||!G)){const I=v.getState();Ra.onPointerDown(K.nativeEvent,{handleDomNode:K.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:g,handleId:h,nodeId:p,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...Y)=>{var Z,J;return(J=(Z=v.getState()).onConnectEnd)==null?void 0:J.call(Z,...Y)},updateConnection:I.updateConnection,onConnect:M,isValidConnection:i||((...Y)=>{var Z,J,R;return(R=(J=(Z=v.getState()).isValidConnection)==null?void 0:J.call(Z,...Y))!=null?R:!0}),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}G?d==null||d(K):b==null||b(K)},T=K=>{const{onClickConnectStart:G,onClickConnectEnd:I,connectionClickStartHandle:Y,connectionMode:Z,isValidConnection:J,lib:R,rfId:D,nodeLookup:H,connection:U}=v.getState();if(!p||!Y&&!a)return;if(!Y){G==null||G(K.nativeEvent,{nodeId:p,handleId:h,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:p,type:e,id:h}});return}const q=jb(K.target),F=i||J,{connection:W,isValid:z}=Ra.isValid(K.nativeEvent,{handle:{nodeId:p,id:h,type:e},connectionMode:Z,fromNodeId:Y.nodeId,fromHandleId:Y.id||null,fromType:Y.type,isValidConnection:F,flowId:D,doc:q,lib:R,nodeLookup:H});z&&W&&M(W);const V=structuredClone(U);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,I==null||I(K,V),v.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":h,"data-nodeid":p,"data-handlepos":n,"data-id":`${x}-${p}-${h}-${e}`,className:we(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",y,u,{source:!g,target:g,connectable:o,connectablestart:a,connectableend:s,clickconnecting:N,connectingfrom:w,connectingto:A,valid:k,connectionindicator:o&&(!_||E)&&(_||P?s:a)}]),onMouseDown:L,onTouchStart:L,onClick:S?T:void 0,ref:f,...m,children:l})}const Un=C.memo(Ym(GE));function KE({data:e,isConnectable:n,sourcePosition:i=oe.Bottom}){return c.jsxs(c.Fragment,{children:[e==null?void 0:e.label,c.jsx(Un,{type:"source",position:i,isConnectable:n})]})}function HE({data:e,isConnectable:n,targetPosition:i=oe.Top,sourcePosition:o=oe.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(Un,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,c.jsx(Un,{type:"source",position:o,isConnectable:n})]})}function VE(){return null}function zE({data:e,isConnectable:n,targetPosition:i=oe.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(Un,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Ao={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},of={input:KE,default:HE,output:zE,group:VE};function jE(e){var n,i,o,a,s,t,r,l,u,d;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:(t=(a=e.height)!=null?a:e.initialHeight)!=null?t:(s=e.style)==null?void 0:s.height}:{width:(l=e.width)!=null?l:(r=e.style)==null?void 0:r.width,height:(d=e.height)!=null?d:(u=e.style)==null?void 0:u.height}}const UE=e=>{const{width:n,height:i,x:o,y:a}=vi(e.nodeLookup,{filter:s=>!!s.selected});return{width:Ke(n)?n:null,height:Ke(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${a}px)`}};function WE({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=ge(),{width:a,height:s,transformString:t,userSelectionActive:r}=de(UE,pe),l=Rm(),u=C.useRef(null);C.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const d=!r&&a!==null&&s!==null;if(Qm({nodeRef:u,disabled:!d}),!d)return null;const b=e?f=>{const h=o.getState().nodes.filter(g=>g.selected);e(f,h)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(Ao,f.key)&&(f.preventDefault(),l({direction:Ao[f.key],factor:f.shiftKey?4:1}))};return c.jsx("div",{className:we(["react-flow__nodesselection","react-flow__container",n]),style:{transform:t},children:c.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:b,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:a,height:s}})})}const af=typeof window!="undefined"?window:void 0,$E=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function sf({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:t,paneClickDistance:r,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:b,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:h,panActivationKeyCode:g,zoomActivationKeyCode:v,elementsSelectable:p,zoomOnScroll:S,zoomOnPinch:y,panOnScroll:x,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:N,panOnDrag:E,autoPanOnSelection:_,defaultViewport:P,translateExtent:k,minZoom:M,maxZoom:L,preventScrolling:T,onSelectionContextMenu:O,noWheelClassName:B,noPanClassName:K,disableKeyboardA11y:G,onViewportChange:I,isControlledViewport:Y}){const{nodesSelectionActive:Z,userSelectionActive:J}=de($E,pe),R=Si(u,{target:af}),D=Si(g,{target:af}),H=D||E,U=D||x,q=d&&H!==!0,F=R||J||q;return NE({deleteKeyCode:l,multiSelectionKeyCode:h}),c.jsx(EE,{onPaneContextMenu:s,elementsSelectable:p,zoomOnScroll:S,zoomOnPinch:y,panOnScroll:U,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:N,panOnDrag:!R&&H,defaultViewport:P,translateExtent:k,minZoom:M,maxZoom:L,zoomActivationKeyCode:v,preventScrolling:T,noWheelClassName:B,noPanClassName:K,onViewportChange:I,isControlledViewport:Y,paneClickDistance:r,selectionOnDrag:q,children:c.jsxs(PE,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:t,panOnDrag:H,autoPanOnSelection:_,isSelecting:!!F,selectionMode:b,selectionKeyPressed:R,paneClickDistance:r,selectionOnDrag:q,children:[e,Z&&c.jsx(WE,{onSelectionContextMenu:O,noPanClassName:K,disableKeyboardA11y:G})]})})}sf.displayName="FlowRenderer";const YE=C.memo(sf),JE=e=>n=>e?Ga(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 ZE(e){return de(C.useCallback(JE(e),[e]),pe)}const XE=e=>e.updateNodeInternals;function QE(){const e=de(XE),[n]=C.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(a=>{const s=a.target.getAttribute("data-id");o.set(s,{id:s,nodeElement:a.target,force:!0})}),e(o)}));return C.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function RE({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const a=ge(),s=C.useRef(null),t=C.useRef(null),r=C.useRef(e.sourcePosition),l=C.useRef(e.targetPosition),u=C.useRef(n),d=i&&!!e.internals.handleBounds;return C.useEffect(()=>{s.current&&!e.hidden&&(!d||t.current!==s.current)&&(t.current&&(o==null||o.unobserve(t.current)),o==null||o.observe(s.current),t.current=s.current)},[d,e.hidden]),C.useEffect(()=>()=>{t.current&&(o==null||o.unobserve(t.current),t.current=null)},[]),C.useEffect(()=>{if(s.current){const b=u.current!==n,m=r.current!==e.sourcePosition,f=l.current!==e.targetPosition;(b||m||f)&&(u.current=n,r.current=e.sourcePosition,l.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function ek({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:a,onContextMenu:s,onDoubleClick:t,nodesDraggable:r,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:b,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:h,rfId:g,nodeTypes:v,nodeClickDistance:p,onError:S}){var F,W,z;const{node:y,internals:x,isParent:w}=de(V=>{const Q=V.nodeLookup.get(e),j=V.parentLookup.has(e);return{node:Q,internals:Q.internals,isParent:j}},pe);let A=y.type||"default",N=(v==null?void 0:v[A])||of[A];N===void 0&&(S==null||S("003",Be.error003(A)),A="default",N=(v==null?void 0:v.default)||of.default);const E=!!(y.draggable||r&&typeof y.draggable=="undefined"),_=!!(y.selectable||l&&typeof y.selectable=="undefined"),P=!!(y.connectable||u&&typeof y.connectable=="undefined"),k=!!(y.focusable||d&&typeof y.focusable=="undefined"),M=ge(),L=Hb(y),T=RE({node:y,nodeType:A,hasDimensions:L,resizeObserver:b}),O=Qm({nodeRef:T,disabled:y.hidden||!E,noDragClassName:m,handleSelector:y.dragHandle,nodeId:e,isSelectable:_,nodeClickDistance:p}),B=Rm();if(y.hidden)return null;const K=nn(y),G=jE(y),I=_||E||n||i||o||a,Y=i?V=>i(V,{...x.userNode}):void 0,Z=o?V=>o(V,{...x.userNode}):void 0,J=a?V=>a(V,{...x.userNode}):void 0,R=s?V=>s(V,{...x.userNode}):void 0,D=t?V=>t(V,{...x.userNode}):void 0,H=V=>{const{selectNodesOnDrag:Q,nodeDragThreshold:j}=M.getState();_&&(!Q||!E||j>0)&&ls({id:e,store:M,nodeRef:T}),n&&n(V,{...x.userNode})},U=V=>{if(!(Ub(V.nativeEvent)||h)){if(kb.includes(V.key)&&_){const Q=V.key==="Escape";ls({id:e,store:M,unselect:Q,nodeRef:T})}else if(E&&y.selected&&Object.prototype.hasOwnProperty.call(Ao,V.key)){V.preventDefault();const{ariaLabelConfig:Q}=M.getState();M.setState({ariaLiveMessage:Q["node.a11yDescription.ariaLiveMessage"]({direction:V.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),B({direction:Ao[V.key],factor:V.shiftKey?4:1})}}},q=()=>{var ee;if(h||!((ee=T.current)!=null&&ee.matches(":focus-visible")))return;const{transform:V,width:Q,height:j,autoPanOnNodeFocus:X,setCenter:$}=M.getState();if(!X)return;Ga(new Map([[e,y]]),{x:0,y:0,width:Q,height:j},V,!0).length>0||$(y.position.x+K.width/2,y.position.y+K.height/2,{zoom:V[2]})};return c.jsx("div",{className:we(["react-flow__node",`react-flow__node-${A}`,{[f]:E},y.className,{selected:y.selected,selectable:_,parent:w,draggable:E,dragging:O}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:I?"all":"none",visibility:L?"visible":"hidden",...y.style,...G},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Y,onMouseMove:Z,onMouseLeave:J,onContextMenu:R,onClick:H,onDoubleClick:D,onKeyDown:k?U:void 0,tabIndex:k?0:void 0,onFocus:k?q:void 0,role:(F=y.ariaRole)!=null?F:k?"group":void 0,"aria-roledescription":"node","aria-describedby":h?void 0:`${Im}-${g}`,"aria-label":y.ariaLabel,...y.domAttributes,children:c.jsx(LE,{value:e,children:c.jsx(N,{id:e,data:y.data,type:A,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(W=y.selected)!=null?W:!1,selectable:_,draggable:E,deletable:(z=y.deletable)!=null?z:!0,isConnectable:P,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:O,dragHandle:y.dragHandle,zIndex:x.z,parentId:y.parentId,...K})})})}var nk=C.memo(ek);const ik=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function tf(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:a,onError:s}=de(ik,pe),t=ZE(e.onlyRenderVisibleElements),r=QE();return c.jsx("div",{className:"react-flow__nodes",style:wo,children:t.map(l=>c.jsx(nk,{id:l,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:a,nodeClickDistance:e.nodeClickDistance,onError:s},l))})}tf.displayName="NodeRenderer";const ok=C.memo(tf);function ak(e){return de(C.useCallback(i=>{if(!e)return i.edges.map(a=>a.id);const o=[];if(i.width&&i.height)for(const a of i.edges){const s=i.nodeLookup.get(a.source),t=i.nodeLookup.get(a.target);s&&t&&QC({sourceNode:s,targetNode:t,width:i.width,height:i.height,transform:i.transform})&&o.push(a.id)}return o},[e]),pe)}const sk=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},tk=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},rf={[Fn.Arrow]:sk,[Fn.ArrowClosed]:tk};function rk(e){const n=ge();return C.useMemo(()=>{var a,s;return Object.prototype.hasOwnProperty.call(rf,e)?rf[e]:((s=(a=n.getState()).onError)==null||s.call(a,"009",Be.error009(e)),null)},[e])}const lk=({id:e,type:n,color:i,width:o=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:t,orient:r="auto-start-reverse"})=>{const l=rk(n);return l?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:r,refX:"0",refY:"0",children:c.jsx(l,{color:i,strokeWidth:t})}):null},lf=({defaultColor:e,rfId:n})=>{const i=de(s=>s.edges),o=de(s=>s.defaultEdgeOptions),a=C.useMemo(()=>t_(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return a.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:a.map(s=>c.jsx(lk,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};lf.displayName="MarkerDefinitions";var uk=C.memo(lf);function uf({x:e,y:n,label:i,labelStyle:o,labelShowBg:a=!0,labelBgStyle:s,labelBgPadding:t=[2,4],labelBgBorderRadius:r=2,children:l,className:u,...d}){const[b,m]=C.useState({x:1,y:0,width:0,height:0}),f=we(["react-flow__edge-textwrapper",u]),h=C.useRef(null);return C.useEffect(()=>{if(h.current){const g=h.current.getBBox();m({x:g.x,y:g.y,width:g.width,height:g.height})}},[i]),i?c.jsxs("g",{transform:`translate(${e-b.width/2} ${n-b.height/2})`,className:f,visibility:b.width?"visible":"hidden",...d,children:[a&&c.jsx("rect",{width:b.width+2*t[0],x:-t[0],y:-t[1],height:b.height+2*t[1],className:"react-flow__edge-textbg",style:s,rx:r,ry:r}),c.jsx("text",{className:"react-flow__edge-text",y:b.height/2,dy:"0.3em",ref:h,style:o,children:i}),l]}):null}uf.displayName="EdgeText";const dk=C.memo(uf);function No({path:e,labelX:n,labelY:i,label:o,labelStyle:a,labelShowBg:s,labelBgStyle:t,labelBgPadding:r,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...d,d:e,fill:"none",className:we(["react-flow__edge-path",d.className])}),u?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&Ke(n)&&Ke(i)?c.jsx(dk,{x:n,y:i,label:o,labelStyle:a,labelShowBg:s,labelBgStyle:t,labelBgPadding:r,labelBgBorderRadius:l}):null]})}function df({pos:e,x1:n,y1:i,x2:o,y2:a}){return e===oe.Left||e===oe.Right?[.5*(n+o),i]:[n,.5*(i+a)]}function cf({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top}){const[t,r]=df({pos:i,x1:e,y1:n,x2:o,y2:a}),[l,u]=df({pos:s,x1:o,y1:a,x2:e,y2:n}),[d,b,m,f]=Yb({sourceX:e,sourceY:n,targetX:o,targetY:a,sourceControlX:t,sourceControlY:r,targetControlX:l,targetControlY:u});return[`M${e},${n} C${t},${r} ${l},${u} ${o},${a}`,d,b,m,f]}function bf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,sourcePosition:t,targetPosition:r,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:p})=>{const[S,y,x]=cf({sourceX:i,sourceY:o,sourcePosition:t,targetX:a,targetY:s,targetPosition:r}),w=e.isInternal?void 0:n;return c.jsx(No,{id:w,path:S,labelX:y,labelY:x,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:p})})}const ck=bf({isInternal:!1}),mf=bf({isInternal:!0});ck.displayName="SimpleBezierEdge",mf.displayName="SimpleBezierEdgeInternal";function ff(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,sourcePosition:f=oe.Bottom,targetPosition:h=oe.Top,markerEnd:g,markerStart:v,pathOptions:p,interactionWidth:S})=>{const[y,x,w]=ja({sourceX:i,sourceY:o,sourcePosition:f,targetX:a,targetY:s,targetPosition:h,borderRadius:p==null?void 0:p.borderRadius,offset:p==null?void 0:p.offset,stepPosition:p==null?void 0:p.stepPosition}),A=e.isInternal?void 0:n;return c.jsx(No,{id:A,path:y,labelX:x,labelY:w,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:g,markerStart:v,interactionWidth:S})})}const vf=ff({isInternal:!1}),hf=ff({isInternal:!0});vf.displayName="SmoothStepEdge",hf.displayName="SmoothStepEdgeInternal";function pf(e){return C.memo(({id:n,...i})=>{var a;const o=e.isInternal?void 0:n;return c.jsx(vf,{...i,id:o,pathOptions:C.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(a=i.pathOptions)==null?void 0:a.offset])})})}const bk=pf({isInternal:!1}),gf=pf({isInternal:!0});bk.displayName="StepEdge",gf.displayName="StepEdgeInternal";function yf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:h,interactionWidth:g})=>{const[v,p,S]=Qb({sourceX:i,sourceY:o,targetX:a,targetY:s}),y=e.isInternal?void 0:n;return c.jsx(No,{id:y,path:v,labelX:p,labelY:S,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:h,interactionWidth:g})})}const mk=yf({isInternal:!1}),xf=yf({isInternal:!0});mk.displayName="StraightEdge",xf.displayName="StraightEdgeInternal";function Sf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,sourcePosition:t=oe.Bottom,targetPosition:r=oe.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,pathOptions:p,interactionWidth:S})=>{const[y,x,w]=Zb({sourceX:i,sourceY:o,sourcePosition:t,targetX:a,targetY:s,targetPosition:r,curvature:p==null?void 0:p.curvature}),A=e.isInternal?void 0:n;return c.jsx(No,{id:A,path:y,labelX:x,labelY:w,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:S})})}const fk=Sf({isInternal:!1}),wf=Sf({isInternal:!0});fk.displayName="BezierEdge",wf.displayName="BezierEdgeInternal";const Af={default:wf,straight:xf,step:gf,smoothstep:hf,simplebezier:mf},Nf={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},vk=(e,n,i)=>i===oe.Left?e-n:i===oe.Right?e+n:e,hk=(e,n,i)=>i===oe.Top?e-n:i===oe.Bottom?e+n:e,Cf="react-flow__edgeupdater";function _f({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:a,onMouseEnter:s,onMouseOut:t,type:r}){return c.jsx("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:t,className:we([Cf,`${Cf}-${r}`]),cx:vk(n,o,e),cy:hk(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function pk({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:a,targetX:s,targetY:t,sourcePosition:r,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:b,setReconnecting:m,setUpdateHover:f}){const h=ge(),g=(x,w)=>{if(x.button!==0)return;const{autoPanOnConnect:A,domNode:N,connectionMode:E,connectionRadius:_,lib:P,onConnectStart:k,cancelConnection:M,nodeLookup:L,rfId:T,panBy:O,updateConnection:B}=h.getState(),K=w.type==="target",G=(Z,J)=>{m(!1),b==null||b(Z,i,w.type,J)},I=Z=>u==null?void 0:u(i,Z),Y=(Z,J)=>{m(!0),d==null||d(x,i,w.type),k==null||k(Z,J)};Ra.onPointerDown(x.nativeEvent,{autoPanOnConnect:A,connectionMode:E,connectionRadius:_,domNode:N,handleId:w.id,nodeId:w.nodeId,nodeLookup:L,isTarget:K,edgeUpdaterType:w.type,lib:P,flowId:T,cancelConnection:M,panBy:O,isValidConnection:(...Z)=>{var J,R,D;return(D=(R=(J=h.getState()).isValidConnection)==null?void 0:R.call(J,...Z))!=null?D:!0},onConnect:I,onConnectStart:Y,onConnectEnd:(...Z)=>{var J,R;return(R=(J=h.getState()).onConnectEnd)==null?void 0:R.call(J,...Z)},onReconnectEnd:G,updateConnection:B,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},v=x=>{var w;return g(x,{nodeId:i.target,id:(w=i.targetHandle)!=null?w:null,type:"target"})},p=x=>{var w;return g(x,{nodeId:i.source,id:(w=i.sourceHandle)!=null?w:null,type:"source"})},S=()=>f(!0),y=()=>f(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(_f,{position:r,centerX:o,centerY:a,radius:n,onMouseDown:v,onMouseEnter:S,onMouseOut:y,type:"source"}),(e===!0||e==="target")&&c.jsx(_f,{position:l,centerX:s,centerY:t,radius:n,onMouseDown:p,onMouseEnter:S,onMouseOut:y,type:"target"})]})}function gk({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:a,onDoubleClick:s,onContextMenu:t,onMouseEnter:r,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,rfId:h,edgeTypes:g,noPanClassName:v,onError:p,disableKeyboardA11y:S}){var Q,j;let y=de(X=>X.edgeLookup.get(e));const x=de(X=>X.defaultEdgeOptions);y=x?{...x,...y}:y;let w=y.type||"default",A=(g==null?void 0:g[w])||Af[w];A===void 0&&(p==null||p("011",Be.error011(w)),w="default",A=(g==null?void 0:g.default)||Af.default);const N=!!(y.focusable||n&&typeof y.focusable=="undefined"),E=typeof b!="undefined"&&(y.reconnectable||i&&typeof y.reconnectable=="undefined"),_=!!(y.selectable||o&&typeof y.selectable=="undefined"),P=C.useRef(null),[k,M]=C.useState(!1),[L,T]=C.useState(!1),O=ge(),{zIndex:B=y.zIndex,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J}=de(C.useCallback(X=>{const $=X.nodeLookup.get(y.source),ne=X.nodeLookup.get(y.target);if(!$||!ne)return Nf;const ee=s_({id:e,sourceNode:$,targetNode:ne,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:X.connectionMode,onError:p}),ae=XC({selected:y.selected,zIndex:y.zIndex,sourceNode:$,targetNode:ne,elevateOnSelect:X.elevateEdgesOnSelect,zIndexMode:X.zIndexMode});return{...ee||Nf,zIndex:ae}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),pe),R=C.useMemo(()=>y.markerStart?`url('#${Ua(y.markerStart,h)}')`:void 0,[y.markerStart,h]),D=C.useMemo(()=>y.markerEnd?`url('#${Ua(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||K===null||G===null||I===null||Y===null)return null;const H=X=>{var ae;const{addSelectedEdges:$,unselectNodesAndEdges:ne,multiSelectionActive:ee}=O.getState();_&&(O.setState({nodesSelectionActive:!1}),y.selected&&ee?(ne({nodes:[],edges:[y]}),(ae=P.current)==null||ae.blur()):$([e])),a&&a(X,y)},U=s?X=>{s(X,{...y})}:void 0,q=t?X=>{t(X,{...y})}:void 0,F=r?X=>{r(X,{...y})}:void 0,W=l?X=>{l(X,{...y})}:void 0,z=u?X=>{u(X,{...y})}:void 0,V=X=>{var $;if(!S&&kb.includes(X.key)&&_){const{unselectNodesAndEdges:ne,addSelectedEdges:ee}=O.getState();X.key==="Escape"?(($=P.current)==null||$.blur(),ne({edges:[y]})):ee([e])}};return c.jsx("svg",{style:{zIndex:B},children:c.jsxs("g",{className:we(["react-flow__edge",`react-flow__edge-${w}`,y.className,v,{selected:y.selected,animated:y.animated,inactive:!_&&!a,updating:k,selectable:_}]),onClick:H,onDoubleClick:U,onContextMenu:q,onMouseEnter:F,onMouseMove:W,onMouseLeave:z,onKeyDown:N?V:void 0,tabIndex:N?0:void 0,role:(Q=y.ariaRole)!=null?Q:N?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":y.ariaLabel===null?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":N?`${Lm}-${h}`:void 0,ref:P,...y.domAttributes,children:[!L&&c.jsx(A,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:_,deletable:(j=y.deletable)!=null?j:!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:R,markerEnd:D,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),E&&c.jsx(pk,{edge:y,isReconnectable:E,reconnectRadius:d,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J,setUpdateHover:M,setReconnecting:T})]})})}var yk=C.memo(gk);const xk=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Ef({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:a,onReconnect:s,onEdgeContextMenu:t,onEdgeMouseEnter:r,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:b,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:h,disableKeyboardA11y:g}){const{edgesFocusable:v,edgesReconnectable:p,elementsSelectable:S,onError:y}=de(xk,pe),x=ak(n);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(uk,{defaultColor:e,rfId:i}),x.map(w=>c.jsx(yk,{id:w,edgesFocusable:v,edgesReconnectable:p,elementsSelectable:S,noPanClassName:a,onReconnect:s,onContextMenu:t,onMouseEnter:r,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:b,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:h,rfId:i,onError:y,edgeTypes:o,disableKeyboardA11y:g},w))]})}Ef.displayName="EdgeRenderer";const Sk=C.memo(Ef),wk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Ak({children:e}){const n=de(wk);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Nk(e){const n=ts(),i=C.useRef(!1);C.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Ck=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function _k(e){const n=de(Ck),i=ge();return C.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Ek(e){return e.connection.inProgress?{...e.connection,to:gi(e.connection.to,e.transform)}:{...e.connection}}function kk(e){return Ek}function Mk(e){const n=kk();return de(n,pe)}const Tk=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Pk({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:a,width:s,height:t,isValid:r,inProgress:l}=de(Tk,pe);return!(s&&a&&l)?null:c.jsx("svg",{style:e,width:s,height:t,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:we(["react-flow__connection",Ib(r)]),children:c.jsx(kf,{style:n,type:i,CustomComponent:o,isValid:r})})})}const kf=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:a,from:s,fromNode:t,fromHandle:r,fromPosition:l,to:u,toNode:d,toHandle:b,toPosition:m,pointer:f}=Mk();if(!a)return;if(i)return c.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:t,fromHandle:r,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:m,connectionStatus:Ib(o),toNode:d,toHandle:b,pointer:f});let h="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[h]=Zb(g);break;case ln.SimpleBezier:[h]=cf(g);break;case ln.Step:[h]=ja({...g,borderRadius:0});break;case ln.SmoothStep:[h]=ja(g);break;default:[h]=Qb(g)}return c.jsx("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};kf.displayName="ConnectionLine";const Ik={};function Mf(e=Ik){const n=C.useRef(e),i=ge();C.useEffect(()=>{var o,a;if(process.env.NODE_ENV==="development"){const s=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const t of s)if(n.current[t]!==e[t]){(a=(o=i.getState()).onError)==null||a.call(o,"002",Be.error002());break}n.current=e}},[e])}function Lk(){const e=ge(),n=C.useRef(!1);C.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const a=document.querySelector(".react-flow__pane");a&&window.getComputedStyle(a).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Be.error013("react"))),n.current=!0}},[])}function Tf({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:b,onSelectionStart:m,onSelectionEnd:f,connectionLineType:h,connectionLineStyle:g,connectionLineComponent:v,connectionLineContainerStyle:p,selectionKeyCode:S,selectionOnDrag:y,selectionMode:x,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:N,deleteKeyCode:E,onlyRenderVisibleElements:_,elementsSelectable:P,defaultViewport:k,translateExtent:M,minZoom:L,maxZoom:T,preventScrolling:O,defaultMarkerColor:B,zoomOnScroll:K,zoomOnPinch:G,panOnScroll:I,panOnScrollSpeed:Y,panOnScrollMode:Z,zoomOnDoubleClick:J,panOnDrag:R,autoPanOnSelection:D,onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:q,onPaneMouseLeave:F,onPaneScroll:W,onPaneContextMenu:z,paneClickDistance:V,nodeClickDistance:Q,onEdgeContextMenu:j,onEdgeMouseEnter:X,onEdgeMouseMove:$,onEdgeMouseLeave:ne,reconnectRadius:ee,onReconnect:ae,onReconnectStart:re,onReconnectEnd:be,noDragClassName:ce,noWheelClassName:he,noPanClassName:me,disableKeyboardA11y:fe,nodeExtent:Ee,rfId:je,viewport:Ne,onViewportChange:Te}){return Mf(e),Mf(n),Lk(),Nk(i),_k(Ne),c.jsx(YE,{onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:q,onPaneMouseLeave:F,onPaneContextMenu:z,onPaneScroll:W,paneClickDistance:V,deleteKeyCode:E,selectionKeyCode:S,selectionOnDrag:y,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:N,elementsSelectable:P,zoomOnScroll:K,zoomOnPinch:G,zoomOnDoubleClick:J,panOnScroll:I,panOnScrollSpeed:Y,panOnScrollMode:Z,panOnDrag:R,autoPanOnSelection:D,defaultViewport:k,translateExtent:M,minZoom:L,maxZoom:T,onSelectionContextMenu:b,preventScrolling:O,noDragClassName:ce,noWheelClassName:he,noPanClassName:me,disableKeyboardA11y:fe,onViewportChange:Te,isControlledViewport:!!Ne,children:c.jsxs(Ak,{children:[c.jsx(Sk,{edgeTypes:n,onEdgeClick:a,onEdgeDoubleClick:t,onReconnect:ae,onReconnectStart:re,onReconnectEnd:be,onlyRenderVisibleElements:_,onEdgeContextMenu:j,onEdgeMouseEnter:X,onEdgeMouseMove:$,onEdgeMouseLeave:ne,reconnectRadius:ee,defaultMarkerColor:B,noPanClassName:me,disableKeyboardA11y:fe,rfId:je}),c.jsx(Pk,{style:g,type:h,component:v,containerStyle:p}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(ok,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:s,onNodeMouseEnter:r,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:Q,onlyRenderVisibleElements:_,noPanClassName:me,noDragClassName:ce,disableKeyboardA11y:fe,nodeExtent:Ee,rfId:je}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}Tf.displayName="GraphView";const Bk=C.memo(Tf),Ok=Kb("React Flow","https://reactflow.dev/"),Pf=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:b,zIndexMode:m="basic"}={})=>{var N,E,_;const f=new Map,h=new Map,g=new Map,v=new Map,p=(N=o!=null?o:n)!=null?N:[],S=(E=i!=null?i:e)!=null?E:[],y=d!=null?d:[0,0],x=b!=null?b:bi;rm(g,v,p);const{nodesInitialized:w}=Ja(S,f,h,{nodeOrigin:y,nodeExtent:x,zIndexMode:m});let A=[0,0,1];if(t&&a&&s){const P=vi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:k,y:M,zoom:L}=Va(P,a,s,l,u,(_=r==null?void 0:r.padding)!=null?_:.1);A=[k,M,L]}return{rfId:"1",width:a!=null?a:0,height:s!=null?s:0,transform:A,nodes:S,nodesInitialized:w,nodeLookup:f,parentLookup:h,edges:p,edgeLookup:v,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:bi,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:qn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:y,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:t!=null?t:!1,fitViewOptions:r,fitViewResolver:null,connection:{...Tb},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ok,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Mb,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Dk=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:b,zIndexMode:m})=>J_((f,h)=>{async function g(){const{nodeLookup:v,panZoom:p,fitViewOptions:S,fitViewResolver:y,width:x,height:w,minZoom:A,maxZoom:N}=h();p&&(await jC({nodes:v,width:x,height:w,panZoom:p,minZoom:A,maxZoom:N},S),y==null||y.resolve(!0),f({fitViewResolver:null}))}return{...Pf({nodes:e,edges:n,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:b,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:v=>{const{nodeLookup:p,parentLookup:S,nodeOrigin:y,elevateNodesOnSelect:x,fitViewQueued:w,zIndexMode:A,nodesSelectionActive:N}=h(),{nodesInitialized:E,hasSelectedNodes:_}=Ja(v,p,S,{nodeOrigin:y,nodeExtent:b,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:A}),P=N&&_;w&&E?(g(),f({nodes:v,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:P})):f({nodes:v,nodesInitialized:E,nodesSelectionActive:P})},setEdges:v=>{const{connectionLookup:p,edgeLookup:S}=h();rm(p,S,v),f({edges:v})},setDefaultNodesAndEdges:(v,p)=>{if(v){const{setNodes:S}=h();S(v),f({hasDefaultNodes:!0})}if(p){const{setEdges:S}=h();S(p),f({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:p,nodeLookup:S,parentLookup:y,domNode:x,nodeOrigin:w,nodeExtent:A,debug:N,fitViewQueued:E,zIndexMode:_}=h(),{changes:P,updatedInternals:k}=m_(v,S,y,x,w,A,_);k&&(u_(S,y,{nodeOrigin:w,nodeExtent:A,zIndexMode:_}),E?(g(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(P==null?void 0:P.length)>0&&(N&&console.log("React Flow: trigger node changes",P),p==null||p(P)))},updateNodePositions:(v,p=!1)=>{var _,P;const S=[];let y=[];const{nodeLookup:x,triggerNodeChanges:w,connection:A,updateConnection:N,onNodesChangeMiddlewareMap:E}=h();for(const[k,M]of v){const L=x.get(k),T=!!(L!=null&&L.expandParent&&(L!=null&&L.parentId)&&(M!=null&&M.position)),O={id:k,type:"position",position:T?{x:Math.max(0,M.position.x),y:Math.max(0,M.position.y)}:M.position,dragging:p};if(L&&A.inProgress&&A.fromNode.id===L.id){const B=Sn(L,A.fromHandle,oe.Left,!0);N({...A,from:B})}T&&L.parentId&&S.push({id:k,parentId:L.parentId,rect:{...M.internals.positionAbsolute,width:(_=M.measured.width)!=null?_:0,height:(P=M.measured.height)!=null?P:0}}),y.push(O)}if(S.length>0){const{parentLookup:k,nodeOrigin:M}=h(),L=Xa(S,x,k,M);y.push(...L)}for(const k of E.values())y=k(y);w(y)},triggerNodeChanges:v=>{const{onNodesChange:p,setNodes:S,nodes:y,hasDefaultNodes:x,debug:w}=h();if(v!=null&&v.length){if(x){const A=zm(v,y);S(A)}w&&console.log("React Flow: trigger node changes",v),p==null||p(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:p,setEdges:S,edges:y,hasDefaultEdges:x,debug:w}=h();if(v!=null&&v.length){if(x){const A=jm(v,y);S(A)}w&&console.log("React Flow: trigger edge changes",v),p==null||p(v)}},addSelectedNodes:v=>{const{multiSelectionActive:p,edgeLookup:S,nodeLookup:y,triggerNodeChanges:x,triggerEdgeChanges:w}=h();if(p){const A=v.map(N=>wn(N,!0));x(A);return}x(jn(y,new Set([...v]),!0)),w(jn(S))},addSelectedEdges:v=>{const{multiSelectionActive:p,edgeLookup:S,nodeLookup:y,triggerNodeChanges:x,triggerEdgeChanges:w}=h();if(p){const A=v.map(N=>wn(N,!0));w(A);return}w(jn(S,new Set([...v]))),x(jn(y,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:p}={})=>{const{edges:S,nodes:y,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:A}=h(),N=v||y,E=p||S,_=[];for(const k of N){if(!k.selected)continue;const M=x.get(k.id);M&&(M.selected=!1),_.push(wn(k.id,!1))}const P=[];for(const k of E)k.selected&&P.push(wn(k.id,!1));w(_),A(P)},setMinZoom:v=>{const{panZoom:p,maxZoom:S}=h();p==null||p.setScaleExtent([v,S]),f({minZoom:v})},setMaxZoom:v=>{const{panZoom:p,minZoom:S}=h();p==null||p.setScaleExtent([S,v]),f({maxZoom:v})},setTranslateExtent:v=>{var p;(p=h().panZoom)==null||p.setTranslateExtent(v),f({translateExtent:v})},resetSelectedElements:()=>{const{edges:v,nodes:p,triggerNodeChanges:S,triggerEdgeChanges:y,elementsSelectable:x}=h();if(!x)return;const w=p.reduce((N,E)=>E.selected?[...N,wn(E.id,!1)]:N,[]),A=v.reduce((N,E)=>E.selected?[...N,wn(E.id,!1)]:N,[]);S(w),y(A)},setNodeExtent:v=>{const{nodes:p,nodeLookup:S,parentLookup:y,nodeOrigin:x,elevateNodesOnSelect:w,nodeExtent:A,zIndexMode:N}=h();v[0][0]===A[0][0]&&v[0][1]===A[0][1]&&v[1][0]===A[1][0]&&v[1][1]===A[1][1]||(Ja(p,S,y,{nodeOrigin:x,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!1,zIndexMode:N}),f({nodeExtent:v}))},panBy:v=>{const{transform:p,width:S,height:y,panZoom:x,translateExtent:w}=h();return f_({delta:v,panZoom:x,transform:p,translateExtent:w,width:S,height:y})},setCenter:async(v,p,S)=>{const{width:y,height:x,maxZoom:w,panZoom:A}=h();if(!A)return!1;const N=typeof(S==null?void 0:S.zoom)!="undefined"?S.zoom:w;return await A.setViewport({x:y/2-v*N,y:x/2-p*N,zoom:N},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{f({connection:{...Tb}})},updateConnection:v=>{f({connection:v})},reset:()=>f({...Pf()})}},Object.is);function qk({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:a,initialHeight:s,initialMinZoom:t,initialMaxZoom:r,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:b,zIndexMode:m,children:f}){const[h]=C.useState(()=>Dk({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:u,minZoom:t,maxZoom:r,fitViewOptions:l,nodeOrigin:d,nodeExtent:b,zIndexMode:m}));return c.jsx(Z_,{value:h,children:c.jsx(xE,{children:c.jsx(OE,{children:f})})})}function Fk({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:a,width:s,height:t,fitView:r,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:b,nodeExtent:m,zIndexMode:f}){return C.useContext(yo)?c.jsx(c.Fragment,{children:e}):c.jsx(qk,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:a,initialWidth:s,initialHeight:t,fitView:r,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:b,nodeExtent:m,zIndexMode:f,children:e})}const Gk={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Kk({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:a,nodeTypes:s,edgeTypes:t,onNodeClick:r,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:b,onMoveEnd:m,onConnect:f,onConnectStart:h,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:p,onNodeMouseEnter:S,onNodeMouseMove:y,onNodeMouseLeave:x,onNodeContextMenu:w,onNodeDoubleClick:A,onNodeDragStart:N,onNodeDrag:E,onNodeDragStop:_,onNodesDelete:P,onEdgesDelete:k,onDelete:M,onSelectionChange:L,onSelectionDragStart:T,onSelectionDrag:O,onSelectionDragStop:B,onSelectionContextMenu:K,onSelectionStart:G,onSelectionEnd:I,onBeforeDelete:Y,connectionMode:Z,connectionLineType:J=ln.Bezier,connectionLineStyle:R,connectionLineComponent:D,connectionLineContainerStyle:H,deleteKeyCode:U="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:F=!1,selectionMode:W=mi.Full,panActivationKeyCode:z="Space",multiSelectionKeyCode:V=yi()?"Meta":"Control",zoomActivationKeyCode:Q=yi()?"Meta":"Control",snapToGrid:j,snapGrid:X,onlyRenderVisibleElements:$=!1,selectNodesOnDrag:ne,nodesDraggable:ee,autoPanOnNodeFocus:ae,nodesConnectable:re,nodesFocusable:be,nodeOrigin:ce=Om,edgesFocusable:he,edgesReconnectable:me,elementsSelectable:fe=!0,defaultViewport:Ee=uE,minZoom:je=.5,maxZoom:Ne=2,translateExtent:Te=bi,preventScrolling:En=!0,nodeExtent:sn,defaultMarkerColor:Wd="#b1b1b7",zoomOnScroll:jo=!0,zoomOnPinch:Je=!0,panOnScroll:tn=!1,panOnScrollSpeed:qP=.5,panOnScrollMode:FP=gn.Free,zoomOnDoubleClick:GP=!0,panOnDrag:KP=!0,onPaneClick:HP,onPaneMouseEnter:VP,onPaneMouseMove:zP,onPaneMouseLeave:jP,onPaneScroll:UP,onPaneContextMenu:WP,paneClickDistance:$P=1,nodeClickDistance:YP=0,children:JP,onReconnect:ZP,onReconnectStart:XP,onReconnectEnd:QP,onEdgeContextMenu:RP,onEdgeDoubleClick:eI,onEdgeMouseEnter:nI,onEdgeMouseMove:iI,onEdgeMouseLeave:oI,reconnectRadius:aI=10,onNodesChange:sI,onEdgesChange:tI,noDragClassName:rI="nodrag",noWheelClassName:lI="nowheel",noPanClassName:sx="nopan",fitView:tx,fitViewOptions:rx,connectOnClick:uI,attributionPosition:dI,proOptions:cI,defaultEdgeOptions:bI,elevateNodesOnSelect:mI=!0,elevateEdgesOnSelect:fI=!1,disableKeyboardA11y:lx=!1,autoPanOnConnect:vI,autoPanOnNodeDrag:hI,autoPanOnSelection:pI=!0,autoPanSpeed:gI,connectionRadius:yI,isValidConnection:xI,onError:SI,style:wI,id:ux,nodeDragThreshold:AI,connectionDragThreshold:NI,viewport:CI,onViewportChange:_I,width:EI,height:kI,colorMode:MI="light",debug:TI,onScroll:Uo,ariaLabelConfig:PI,zIndexMode:dx="basic",...II},LI){const $d=ux||"1",BI=bE(MI),OI=C.useCallback(cx=>{cx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Uo==null||Uo(cx)},[Uo]);return c.jsx("div",{"data-testid":"rf__wrapper",...II,onScroll:OI,style:{...wI,...Gk},ref:LI,className:we(["react-flow",a,BI]),id:ux,role:"application",children:c.jsxs(Fk,{nodes:e,edges:n,width:EI,height:kI,fitView:tx,fitViewOptions:rx,minZoom:je,maxZoom:Ne,nodeOrigin:ce,nodeExtent:sn,zIndexMode:dx,children:[c.jsx(cE,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:h,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:p,nodesDraggable:ee,autoPanOnNodeFocus:ae,nodesConnectable:re,nodesFocusable:be,edgesFocusable:he,edgesReconnectable:me,elementsSelectable:fe,elevateNodesOnSelect:mI,elevateEdgesOnSelect:fI,minZoom:je,maxZoom:Ne,nodeExtent:sn,onNodesChange:sI,onEdgesChange:tI,snapToGrid:j,snapGrid:X,connectionMode:Z,translateExtent:Te,connectOnClick:uI,defaultEdgeOptions:bI,fitView:tx,fitViewOptions:rx,onNodesDelete:P,onEdgesDelete:k,onDelete:M,onNodeDragStart:N,onNodeDrag:E,onNodeDragStop:_,onSelectionDrag:O,onSelectionDragStart:T,onSelectionDragStop:B,onMove:d,onMoveStart:b,onMoveEnd:m,noPanClassName:sx,nodeOrigin:ce,rfId:$d,autoPanOnConnect:vI,autoPanOnNodeDrag:hI,autoPanSpeed:gI,onError:SI,connectionRadius:yI,isValidConnection:xI,selectNodesOnDrag:ne,nodeDragThreshold:AI,connectionDragThreshold:NI,onBeforeDelete:Y,debug:TI,ariaLabelConfig:PI,zIndexMode:dx}),c.jsx(Bk,{onInit:u,onNodeClick:r,onEdgeClick:l,onNodeMouseEnter:S,onNodeMouseMove:y,onNodeMouseLeave:x,onNodeContextMenu:w,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:t,connectionLineType:J,connectionLineStyle:R,connectionLineComponent:D,connectionLineContainerStyle:H,selectionKeyCode:q,selectionOnDrag:F,selectionMode:W,deleteKeyCode:U,multiSelectionKeyCode:V,panActivationKeyCode:z,zoomActivationKeyCode:Q,onlyRenderVisibleElements:$,defaultViewport:Ee,translateExtent:Te,minZoom:je,maxZoom:Ne,preventScrolling:En,zoomOnScroll:jo,zoomOnPinch:Je,zoomOnDoubleClick:GP,panOnScroll:tn,panOnScrollSpeed:qP,panOnScrollMode:FP,panOnDrag:KP,autoPanOnSelection:pI,onPaneClick:HP,onPaneMouseEnter:VP,onPaneMouseMove:zP,onPaneMouseLeave:jP,onPaneScroll:UP,onPaneContextMenu:WP,paneClickDistance:$P,nodeClickDistance:YP,onSelectionContextMenu:K,onSelectionStart:G,onSelectionEnd:I,onReconnect:ZP,onReconnectStart:XP,onReconnectEnd:QP,onEdgeContextMenu:RP,onEdgeDoubleClick:eI,onEdgeMouseEnter:nI,onEdgeMouseMove:iI,onEdgeMouseLeave:oI,reconnectRadius:aI,defaultMarkerColor:Wd,noDragClassName:rI,noWheelClassName:lI,noPanClassName:sx,rfId:$d,disableKeyboardA11y:lx,nodeExtent:sn,viewport:CI,onViewportChange:_I}),c.jsx(lE,{onSelectionChange:L}),JP,c.jsx(oE,{proOptions:cI,position:dI}),c.jsx(iE,{rfId:$d,disableKeyboardA11y:lx})]})})}var Hk=Ym(Kk);function Vk(e){const[n,i]=C.useState(e),o=C.useCallback(a=>i(s=>zm(a,s)),[]);return[n,i,o]}function zk(e){const[n,i]=C.useState(e),o=C.useCallback(a=>i(s=>jm(a,s)),[]);return[n,i,o]}function jk({dimensions:e,lineWidth:n,variant:i,className:o}){return c.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:we(["react-flow__background-pattern",i,o])})}function Uk({radius:e,className:n}){return c.jsx("circle",{cx:e,cy:e,r:e,className:we(["react-flow__background-pattern","dots",n])})}var cn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(cn||(cn={}));const Wk={[cn.Dots]:1,[cn.Lines]:1,[cn.Cross]:6},$k=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function If({id:e,variant:n=cn.Dots,gap:i=20,size:o,lineWidth:a=1,offset:s=0,color:t,bgColor:r,style:l,className:u,patternClassName:d}){const b=C.useRef(null),{transform:m,patternId:f}=de($k,pe),h=o||Wk[n],g=n===cn.Dots,v=n===cn.Cross,p=Array.isArray(i)?i:[i,i],S=[p[0]*m[2]||1,p[1]*m[2]||1],y=h*m[2],x=Array.isArray(s)?s:[s,s],w=v?[y,y]:S,A=[x[0]*m[2]||1+w[0]/2,x[1]*m[2]||1+w[1]/2],N=`${f}${e||""}`;return c.jsxs("svg",{className:we(["react-flow__background",u]),style:{...l,...wo,"--xy-background-color-props":r,"--xy-background-pattern-color-props":t},ref:b,"data-testid":"rf__background",children:[c.jsx("pattern",{id:N,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:g?c.jsx(Uk,{radius:y/2,className:d}):c.jsx(jk,{dimensions:w,lineWidth:a,variant:n,className:d})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}If.displayName="Background";const Yk=C.memo(If);function Jk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Zk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Xk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.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 Qk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 Rk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 Co({children:e,className:n,...i}){return c.jsx("button",{type:"button",className:we(["react-flow__controls-button",n]),...i,children:e})}const eM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Lf({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:t,onFitView:r,onInteractiveChange:l,className:u,children:d,position:b="bottom-left",orientation:m="vertical","aria-label":f}){const h=ge(),{isInteractive:g,minZoomReached:v,maxZoomReached:p,ariaLabelConfig:S}=de(eM,pe),{zoomIn:y,zoomOut:x,fitView:w}=ts(),A=()=>{y(),s==null||s()},N=()=>{x(),t==null||t()},E=()=>{w(a),r==null||r()},_=()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)},P=m==="horizontal"?"horizontal":"vertical";return c.jsxs(xo,{className:we(["react-flow__controls",P,u]),position:b,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:S["controls.ariaLabel"],children:[n&&c.jsxs(c.Fragment,{children:[c.jsx(Co,{onClick:A,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:p,children:c.jsx(Jk,{})}),c.jsx(Co,{onClick:N,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:v,children:c.jsx(Zk,{})})]}),i&&c.jsx(Co,{className:"react-flow__controls-fitview",onClick:E,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:c.jsx(Xk,{})}),o&&c.jsx(Co,{className:"react-flow__controls-interactive",onClick:_,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:g?c.jsx(Rk,{}):c.jsx(Qk,{})}),d]})}Lf.displayName="Controls";const nM=C.memo(Lf);function iM({id:e,x:n,y:i,width:o,height:a,style:s,color:t,strokeColor:r,strokeWidth:l,className:u,borderRadius:d,shapeRendering:b,selected:m,onClick:f}){const{background:h,backgroundColor:g}=s||{},v=t||h||g;return c.jsx("rect",{className:we(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:d,ry:d,width:o,height:a,style:{fill:v,stroke:r,strokeWidth:l},shapeRendering:b,onClick:f?p=>f(p,e):void 0})}const oM=C.memo(iM),aM=e=>e.nodes.map(n=>n.id),ds=e=>e instanceof Function?e:()=>e;function sM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a,nodeComponent:s=oM,onClick:t}){const r=de(aM,pe),l=ds(n),u=ds(e),d=ds(i),b=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:r.map(m=>c.jsx(rM,{id:m,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:a,NodeComponent:s,onClick:t,shapeRendering:b},m))})}function tM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:a,nodeStrokeWidth:s,shapeRendering:t,NodeComponent:r,onClick:l}){const{node:u,x:d,y:b,width:m,height:f}=de(h=>{const g=h.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const v=g.internals.userNode,{x:p,y:S}=g.internals.positionAbsolute,{width:y,height:x}=nn(v);return{node:v,x:p,y:S,width:y,height:x}},pe);return!u||u.hidden||!Hb(u)?null:c.jsx(r,{x:d,y:b,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:a,strokeColor:i(u),strokeWidth:s,shapeRendering:t,onClick:l,id:u.id})}const rM=C.memo(tM);var lM=C.memo(sM);const uM=200,dM=150,cM=e=>!e.hidden,bM=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?qb(vi(e.nodeLookup,{filter:cM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},mM="react-flow__minimap-desc";function Bf({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:t,nodeComponent:r,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:b,position:m="bottom-right",onClick:f,onNodeClick:h,pannable:g=!1,zoomable:v=!1,ariaLabel:p,inversePan:S,zoomStep:y=1,offsetScale:x=5}){var j,X;const w=ge(),A=C.useRef(null),{boundingRect:N,viewBB:E,rfId:_,panZoom:P,translateExtent:k,flowWidth:M,flowHeight:L,ariaLabelConfig:T}=de(bM,pe),O=(j=e==null?void 0:e.width)!=null?j:uM,B=(X=e==null?void 0:e.height)!=null?X:dM,K=N.width/O,G=N.height/B,I=Math.max(K,G),Y=I*O,Z=I*B,J=x*I,R=N.x-(Y-N.width)/2-J,D=N.y-(Z-N.height)/2-J,H=Y+J*2,U=Z+J*2,q=`${mM}-${_}`,F=C.useRef(0),W=C.useRef();F.current=I,C.useEffect(()=>{if(A.current&&P)return W.current=A_({domNode:A.current,panZoom:P,getTransform:()=>w.getState().transform,getViewScale:()=>F.current}),()=>{var $;($=W.current)==null||$.destroy()}},[P]),C.useEffect(()=>{var $;($=W.current)==null||$.update({translateExtent:k,width:M,height:L,inversePan:S,pannable:g,zoomStep:y,zoomable:v})},[g,v,S,y,k,M,L]);const z=f?$=>{var ae;const[ne,ee]=((ae=W.current)==null?void 0:ae.pointer($))||[0,0];f($,{x:ne,y:ee})}:void 0,V=h?C.useCallback(($,ne)=>{const ee=w.getState().nodeLookup.get(ne).internals.userNode;h($,ee)},[]):void 0,Q=p!=null?p:T["minimap.ariaLabel"];return c.jsx(xo,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof b=="number"?b*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 t=="number"?t:void 0},className:we(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:O,height:B,viewBox:`${R} ${D} ${H} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":q,ref:A,onClick:z,children:[Q&&c.jsx("title",{id:q,children:Q}),c.jsx(lM,{onClick:V,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:t,nodeComponent:r}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${R-J},${D-J}h${H+J*2}v${U+J*2}h${-H-J*2}z
|
|
68
|
-
M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Bf.displayName="MiniMap";const fM=C.memo(Bf),vM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,hM={[zn.Line]:"right",[zn.Handle]:"bottom-right"};function pM({nodeId:e,position:n,variant:i=zn.Handle,className:o,style:a=void 0,children:s,color:t,minWidth:r=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:b=!1,resizeDirection:m,autoScale:f=!0,shouldResize:h,onResizeStart:g,onResize:v,onResizeEnd:p}){const S=ef(),y=typeof e=="string"?e:S,x=ge(),w=C.useRef(null),A=i===zn.Handle,N=de(C.useCallback(vM(A&&f),[A,f]),pe),E=C.useRef(null),_=n!=null?n:hM[i];C.useEffect(()=>{if(!(!w.current||!y))return E.current||(E.current=D_({domNode:w.current,nodeId:y,getStoreItems:()=>{const{nodeLookup:k,transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O,domNode:B}=x.getState();return{nodeLookup:k,transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O,paneDomNode:B}},onChange:(k,M)=>{var Y,Z,J,R,D,H,U;const{triggerNodeChanges:L,nodeLookup:T,parentLookup:O,nodeOrigin:B}=x.getState(),K=[],G={x:k.x,y:k.y},I=T.get(y);if(I&&I.expandParent&&I.parentId){const q=(Y=I.origin)!=null?Y:B,F=(J=(Z=k.width)!=null?Z:I.measured.width)!=null?J:0,W=(D=(R=k.height)!=null?R:I.measured.height)!=null?D:0,z={id:I.id,parentId:I.parentId,rect:{width:F,height:W,...Vb({x:(H=k.x)!=null?H:I.position.x,y:(U=k.y)!=null?U:I.position.y},{width:F,height:W},I.parentId,T,q)}},V=Xa([z],T,O,B);K.push(...V),G.x=k.x?Math.max(q[0]*F,k.x):void 0,G.y=k.y?Math.max(q[1]*W,k.y):void 0}if(G.x!==void 0&&G.y!==void 0){const q={id:y,type:"position",position:{...G}};K.push(q)}if(k.width!==void 0&&k.height!==void 0){const F={id:y,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:k.width,height:k.height}};K.push(F)}for(const q of M){const F={...q,type:"position"};K.push(F)}L(K)},onEnd:({width:k,height:M})=>{const L={id:y,type:"dimensions",resizing:!1,dimensions:{width:k,height:M}};x.getState().triggerNodeChanges([L])}})),E.current.update({controlPosition:_,boundaries:{minWidth:r,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:b,resizeDirection:m,onResizeStart:g,onResize:v,onResizeEnd:p,shouldResize:h}),()=>{var k;(k=E.current)==null||k.destroy()}},[_,r,l,u,d,b,g,v,p,h]);const P=_.split("-");return c.jsx("div",{className:we(["react-flow__resize-control","nodrag",...P,i,o]),ref:w,style:{...a,scale:N,...t&&{[A?"backgroundColor":"borderColor"]:t}},children:s})}C.memo(pM);function cs(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bs,Of;function gM(){if(Of)return bs;Of=1;function e(){this.__data__=[],this.size=0}return bs=e,bs}var ms,Df;function Wn(){if(Df)return ms;Df=1;function e(n,i){return n===i||n!==n&&i!==i}return ms=e,ms}var fs,qf;function _o(){if(qf)return fs;qf=1;var e=Wn();function n(i,o){for(var a=i.length;a--;)if(e(i[a][0],o))return a;return-1}return fs=n,fs}var vs,Ff;function yM(){if(Ff)return vs;Ff=1;var e=_o(),n=Array.prototype,i=n.splice;function o(a){var s=this.__data__,t=e(s,a);if(t<0)return!1;var r=s.length-1;return t==r?s.pop():i.call(s,t,1),--this.size,!0}return vs=o,vs}var hs,Gf;function xM(){if(Gf)return hs;Gf=1;var e=_o();function n(i){var o=this.__data__,a=e(o,i);return a<0?void 0:o[a][1]}return hs=n,hs}var ps,Kf;function SM(){if(Kf)return ps;Kf=1;var e=_o();function n(i){return e(this.__data__,i)>-1}return ps=n,ps}var gs,Hf;function wM(){if(Hf)return gs;Hf=1;var e=_o();function n(i,o){var a=this.__data__,s=e(a,i);return s<0?(++this.size,a.push([i,o])):a[s][1]=o,this}return gs=n,gs}var ys,Vf;function Eo(){if(Vf)return ys;Vf=1;var e=gM(),n=yM(),i=xM(),o=SM(),a=wM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,ys=s,ys}var xs,zf;function AM(){if(zf)return xs;zf=1;var e=Eo();function n(){this.__data__=new e,this.size=0}return xs=n,xs}var Ss,jf;function NM(){if(jf)return Ss;jf=1;function e(n){var i=this.__data__,o=i.delete(n);return this.size=i.size,o}return Ss=e,Ss}var ws,Uf;function CM(){if(Uf)return ws;Uf=1;function e(n){return this.__data__.get(n)}return ws=e,ws}var As,Wf;function _M(){if(Wf)return As;Wf=1;function e(n){return this.__data__.has(n)}return As=e,As}var Ns,$f;function Yf(){if($f)return Ns;$f=1;var e=typeof ho=="object"&&ho&&ho.Object===Object&&ho;return Ns=e,Ns}var Cs,Jf;function Ve(){if(Jf)return Cs;Jf=1;var e=Yf(),n=typeof self=="object"&&self&&self.Object===Object&&self,i=e||n||Function("return this")();return Cs=i,Cs}var _s,Zf;function $n(){if(Zf)return _s;Zf=1;var e=Ve(),n=e.Symbol;return _s=n,_s}var Es,Xf;function EM(){if(Xf)return Es;Xf=1;var e=$n(),n=Object.prototype,i=n.hasOwnProperty,o=n.toString,a=e?e.toStringTag:void 0;function s(t){var r=i.call(t,a),l=t[a];try{t[a]=void 0;var u=!0}catch(b){}var d=o.call(t);return u&&(r?t[a]=l:delete t[a]),d}return Es=s,Es}var ks,Qf;function kM(){if(Qf)return ks;Qf=1;var e=Object.prototype,n=e.toString;function i(o){return n.call(o)}return ks=i,ks}var Ms,Rf;function An(){if(Rf)return Ms;Rf=1;var e=$n(),n=EM(),i=kM(),o="[object Null]",a="[object Undefined]",s=e?e.toStringTag:void 0;function t(r){return r==null?r===void 0?a:o:s&&s in Object(r)?n(r):i(r)}return Ms=t,Ms}var Ts,ev;function Oe(){if(ev)return Ts;ev=1;function e(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}return Ts=e,Ts}var Ps,nv;function wi(){if(nv)return Ps;nv=1;var e=An(),n=Oe(),i="[object AsyncFunction]",o="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function t(r){if(!n(r))return!1;var l=e(r);return l==o||l==a||l==i||l==s}return Ps=t,Ps}var Is,iv;function MM(){if(iv)return Is;iv=1;var e=Ve(),n=e["__core-js_shared__"];return Is=n,Is}var Ls,ov;function TM(){if(ov)return Ls;ov=1;var e=MM(),n=function(){var o=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function i(o){return!!n&&n in o}return Ls=i,Ls}var Bs,av;function sv(){if(av)return Bs;av=1;var e=Function.prototype,n=e.toString;function i(o){if(o!=null){try{return n.call(o)}catch(a){}try{return o+""}catch(a){}}return""}return Bs=i,Bs}var Os,tv;function PM(){if(tv)return Os;tv=1;var e=wi(),n=TM(),i=Oe(),o=sv(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,t=Function.prototype,r=Object.prototype,l=t.toString,u=r.hasOwnProperty,d=RegExp("^"+l.call(u).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function b(m){if(!i(m)||n(m))return!1;var f=e(m)?d:s;return f.test(o(m))}return Os=b,Os}var Ds,rv;function IM(){if(rv)return Ds;rv=1;function e(n,i){return n==null?void 0:n[i]}return Ds=e,Ds}var qs,lv;function Nn(){if(lv)return qs;lv=1;var e=PM(),n=IM();function i(o,a){var s=n(o,a);return e(s)?s:void 0}return qs=i,qs}var Fs,uv;function Gs(){if(uv)return Fs;uv=1;var e=Nn(),n=Ve(),i=e(n,"Map");return Fs=i,Fs}var Ks,dv;function ko(){if(dv)return Ks;dv=1;var e=Nn(),n=e(Object,"create");return Ks=n,Ks}var Hs,cv;function LM(){if(cv)return Hs;cv=1;var e=ko();function n(){this.__data__=e?e(null):{},this.size=0}return Hs=n,Hs}var Vs,bv;function BM(){if(bv)return Vs;bv=1;function e(n){var i=this.has(n)&&delete this.__data__[n];return this.size-=i?1:0,i}return Vs=e,Vs}var zs,mv;function OM(){if(mv)return zs;mv=1;var e=ko(),n="__lodash_hash_undefined__",i=Object.prototype,o=i.hasOwnProperty;function a(s){var t=this.__data__;if(e){var r=t[s];return r===n?void 0:r}return o.call(t,s)?t[s]:void 0}return zs=a,zs}var js,fv;function DM(){if(fv)return js;fv=1;var e=ko(),n=Object.prototype,i=n.hasOwnProperty;function o(a){var s=this.__data__;return e?s[a]!==void 0:i.call(s,a)}return js=o,js}var Us,vv;function qM(){if(vv)return Us;vv=1;var e=ko(),n="__lodash_hash_undefined__";function i(o,a){var s=this.__data__;return this.size+=this.has(o)?0:1,s[o]=e&&a===void 0?n:a,this}return Us=i,Us}var Ws,hv;function FM(){if(hv)return Ws;hv=1;var e=LM(),n=BM(),i=OM(),o=DM(),a=qM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,Ws=s,Ws}var $s,pv;function GM(){if(pv)return $s;pv=1;var e=FM(),n=Eo(),i=Gs();function o(){this.size=0,this.__data__={hash:new e,map:new(i||n),string:new e}}return $s=o,$s}var Ys,gv;function KM(){if(gv)return Ys;gv=1;function e(n){var i=typeof n;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?n!=="__proto__":n===null}return Ys=e,Ys}var Js,yv;function Mo(){if(yv)return Js;yv=1;var e=KM();function n(i,o){var a=i.__data__;return e(o)?a[typeof o=="string"?"string":"hash"]:a.map}return Js=n,Js}var Zs,xv;function HM(){if(xv)return Zs;xv=1;var e=Mo();function n(i){var o=e(this,i).delete(i);return this.size-=o?1:0,o}return Zs=n,Zs}var Xs,Sv;function VM(){if(Sv)return Xs;Sv=1;var e=Mo();function n(i){return e(this,i).get(i)}return Xs=n,Xs}var Qs,wv;function zM(){if(wv)return Qs;wv=1;var e=Mo();function n(i){return e(this,i).has(i)}return Qs=n,Qs}var Rs,Av;function jM(){if(Av)return Rs;Av=1;var e=Mo();function n(i,o){var a=e(this,i),s=a.size;return a.set(i,o),this.size+=a.size==s?0:1,this}return Rs=n,Rs}var et,Nv;function nt(){if(Nv)return et;Nv=1;var e=GM(),n=HM(),i=VM(),o=zM(),a=jM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,et=s,et}var it,Cv;function UM(){if(Cv)return it;Cv=1;var e=Eo(),n=Gs(),i=nt(),o=200;function a(s,t){var r=this.__data__;if(r instanceof e){var l=r.__data__;if(!n||l.length<o-1)return l.push([s,t]),this.size=++r.size,this;r=this.__data__=new i(l)}return r.set(s,t),this.size=r.size,this}return it=a,it}var ot,_v;function To(){if(_v)return ot;_v=1;var e=Eo(),n=AM(),i=NM(),o=CM(),a=_M(),s=UM();function t(r){var l=this.__data__=new e(r);this.size=l.size}return t.prototype.clear=n,t.prototype.delete=i,t.prototype.get=o,t.prototype.has=a,t.prototype.set=s,ot=t,ot}var at,Ev;function st(){if(Ev)return at;Ev=1;function e(n,i){for(var o=-1,a=n==null?0:n.length;++o<a&&i(n[o],o,n)!==!1;);return n}return at=e,at}var tt,kv;function Mv(){if(kv)return tt;kv=1;var e=Nn(),n=function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch(o){}}();return tt=n,tt}var rt,Tv;function Po(){if(Tv)return rt;Tv=1;var e=Mv();function n(i,o,a){o=="__proto__"&&e?e(i,o,{configurable:!0,enumerable:!0,value:a,writable:!0}):i[o]=a}return rt=n,rt}var lt,Pv;function Io(){if(Pv)return lt;Pv=1;var e=Po(),n=Wn(),i=Object.prototype,o=i.hasOwnProperty;function a(s,t,r){var l=s[t];(!(o.call(s,t)&&n(l,r))||r===void 0&&!(t in s))&&e(s,t,r)}return lt=a,lt}var ut,Iv;function Ai(){if(Iv)return ut;Iv=1;var e=Io(),n=Po();function i(o,a,s,t){var r=!s;s||(s={});for(var l=-1,u=a.length;++l<u;){var d=a[l],b=t?t(s[d],o[d],d,s,o):void 0;b===void 0&&(b=o[d]),r?n(s,d,b):e(s,d,b)}return s}return ut=i,ut}var dt,Lv;function WM(){if(Lv)return dt;Lv=1;function e(n,i){for(var o=-1,a=Array(n);++o<n;)a[o]=i(o);return a}return dt=e,dt}var ct,Bv;function Ye(){if(Bv)return ct;Bv=1;function e(n){return n!=null&&typeof n=="object"}return ct=e,ct}var bt,Ov;function $M(){if(Ov)return bt;Ov=1;var e=An(),n=Ye(),i="[object Arguments]";function o(a){return n(a)&&e(a)==i}return bt=o,bt}var mt,Dv;function Ni(){if(Dv)return mt;Dv=1;var e=$M(),n=Ye(),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,s=e(function(){return arguments}())?e:function(t){return n(t)&&o.call(t,"callee")&&!a.call(t,"callee")};return mt=s,mt}var ft,qv;function Ae(){if(qv)return ft;qv=1;var e=Array.isArray;return ft=e,ft}var Ci={exports:{}},vt,Fv;function YM(){if(Fv)return vt;Fv=1;function e(){return!1}return vt=e,vt}Ci.exports;var Gv;function Yn(){return Gv||(Gv=1,function(e,n){var i=Ve(),o=YM(),a=n&&!n.nodeType&&n,s=a&&!0&&e&&!e.nodeType&&e,t=s&&s.exports===a,r=t?i.Buffer:void 0,l=r?r.isBuffer:void 0,u=l||o;e.exports=u}(Ci,Ci.exports)),Ci.exports}var ht,Kv;function Lo(){if(Kv)return ht;Kv=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function i(o,a){var s=typeof o;return a=a==null?e:a,!!a&&(s=="number"||s!="symbol"&&n.test(o))&&o>-1&&o%1==0&&o<a}return ht=i,ht}var pt,Hv;function gt(){if(Hv)return pt;Hv=1;var e=9007199254740991;function n(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return pt=n,pt}var yt,Vv;function JM(){if(Vv)return yt;Vv=1;var e=An(),n=gt(),i=Ye(),o="[object Arguments]",a="[object Array]",s="[object Boolean]",t="[object Date]",r="[object Error]",l="[object Function]",u="[object Map]",d="[object Number]",b="[object Object]",m="[object RegExp]",f="[object Set]",h="[object String]",g="[object WeakMap]",v="[object ArrayBuffer]",p="[object DataView]",S="[object Float32Array]",y="[object Float64Array]",x="[object Int8Array]",w="[object Int16Array]",A="[object Int32Array]",N="[object Uint8Array]",E="[object Uint8ClampedArray]",_="[object Uint16Array]",P="[object Uint32Array]",k={};k[S]=k[y]=k[x]=k[w]=k[A]=k[N]=k[E]=k[_]=k[P]=!0,k[o]=k[a]=k[v]=k[s]=k[p]=k[t]=k[r]=k[l]=k[u]=k[d]=k[b]=k[m]=k[f]=k[h]=k[g]=!1;function M(L){return i(L)&&n(L.length)&&!!k[e(L)]}return yt=M,yt}var xt,zv;function Bo(){if(zv)return xt;zv=1;function e(n){return function(i){return n(i)}}return xt=e,xt}var _i={exports:{}};_i.exports;var jv;function St(){return jv||(jv=1,function(e,n){var i=Yf(),o=n&&!n.nodeType&&n,a=o&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===o,t=s&&i.process,r=function(){try{var l=a&&a.require&&a.require("util").types;return l||t&&t.binding&&t.binding("util")}catch(u){}}();e.exports=r}(_i,_i.exports)),_i.exports}var wt,Uv;function Ei(){if(Uv)return wt;Uv=1;var e=JM(),n=Bo(),i=St(),o=i&&i.isTypedArray,a=o?n(o):e;return wt=a,wt}var At,Wv;function $v(){if(Wv)return At;Wv=1;var e=WM(),n=Ni(),i=Ae(),o=Yn(),a=Lo(),s=Ei(),t=Object.prototype,r=t.hasOwnProperty;function l(u,d){var b=i(u),m=!b&&n(u),f=!b&&!m&&o(u),h=!b&&!m&&!f&&s(u),g=b||m||f||h,v=g?e(u.length,String):[],p=v.length;for(var S in u)(d||r.call(u,S))&&!(g&&(S=="length"||f&&(S=="offset"||S=="parent")||h&&(S=="buffer"||S=="byteLength"||S=="byteOffset")||a(S,p)))&&v.push(S);return v}return At=l,At}var Nt,Yv;function Oo(){if(Yv)return Nt;Yv=1;var e=Object.prototype;function n(i){var o=i&&i.constructor,a=typeof o=="function"&&o.prototype||e;return i===a}return Nt=n,Nt}var Ct,Jv;function Zv(){if(Jv)return Ct;Jv=1;function e(n,i){return function(o){return n(i(o))}}return Ct=e,Ct}var _t,Xv;function ZM(){if(Xv)return _t;Xv=1;var e=Zv(),n=e(Object.keys,Object);return _t=n,_t}var Et,Qv;function kt(){if(Qv)return Et;Qv=1;var e=Oo(),n=ZM(),i=Object.prototype,o=i.hasOwnProperty;function a(s){if(!e(s))return n(s);var t=[];for(var r in Object(s))o.call(s,r)&&r!="constructor"&&t.push(r);return t}return Et=a,Et}var Mt,Rv;function on(){if(Rv)return Mt;Rv=1;var e=wi(),n=gt();function i(o){return o!=null&&n(o.length)&&!e(o)}return Mt=i,Mt}var Tt,eh;function bn(){if(eh)return Tt;eh=1;var e=$v(),n=kt(),i=on();function o(a){return i(a)?e(a):n(a)}return Tt=o,Tt}var Pt,nh;function XM(){if(nh)return Pt;nh=1;var e=Ai(),n=bn();function i(o,a){return o&&e(a,n(a),o)}return Pt=i,Pt}var It,ih;function QM(){if(ih)return It;ih=1;function e(n){var i=[];if(n!=null)for(var o in Object(n))i.push(o);return i}return It=e,It}var Lt,oh;function RM(){if(oh)return Lt;oh=1;var e=Oe(),n=Oo(),i=QM(),o=Object.prototype,a=o.hasOwnProperty;function s(t){if(!e(t))return i(t);var r=n(t),l=[];for(var u in t)u=="constructor"&&(r||!a.call(t,u))||l.push(u);return l}return Lt=s,Lt}var Bt,ah;function Cn(){if(ah)return Bt;ah=1;var e=$v(),n=RM(),i=on();function o(a){return i(a)?e(a,!0):n(a)}return Bt=o,Bt}var Ot,sh;function e2(){if(sh)return Ot;sh=1;var e=Ai(),n=Cn();function i(o,a){return o&&e(a,n(a),o)}return Ot=i,Ot}var ki={exports:{}};ki.exports;var th;function rh(){return th||(th=1,function(e,n){var i=Ve(),o=n&&!n.nodeType&&n,a=o&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===o,t=s?i.Buffer:void 0,r=t?t.allocUnsafe:void 0;function l(u,d){if(d)return u.slice();var b=u.length,m=r?r(b):new u.constructor(b);return u.copy(m),m}e.exports=l}(ki,ki.exports)),ki.exports}var Dt,lh;function uh(){if(lh)return Dt;lh=1;function e(n,i){var o=-1,a=n.length;for(i||(i=Array(a));++o<a;)i[o]=n[o];return i}return Dt=e,Dt}var qt,dh;function ch(){if(dh)return qt;dh=1;function e(n,i){for(var o=-1,a=n==null?0:n.length,s=0,t=[];++o<a;){var r=n[o];i(r,o,n)&&(t[s++]=r)}return t}return qt=e,qt}var Ft,bh;function mh(){if(bh)return Ft;bh=1;function e(){return[]}return Ft=e,Ft}var Gt,fh;function Kt(){if(fh)return Gt;fh=1;var e=ch(),n=mh(),i=Object.prototype,o=i.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return t==null?[]:(t=Object(t),e(a(t),function(r){return o.call(t,r)}))}:n;return Gt=s,Gt}var Ht,vh;function n2(){if(vh)return Ht;vh=1;var e=Ai(),n=Kt();function i(o,a){return e(o,n(o),a)}return Ht=i,Ht}var Vt,hh;function zt(){if(hh)return Vt;hh=1;function e(n,i){for(var o=-1,a=i.length,s=n.length;++o<a;)n[s+o]=i[o];return n}return Vt=e,Vt}var jt,ph;function Do(){if(ph)return jt;ph=1;var e=Zv(),n=e(Object.getPrototypeOf,Object);return jt=n,jt}var Ut,gh;function yh(){if(gh)return Ut;gh=1;var e=zt(),n=Do(),i=Kt(),o=mh(),a=Object.getOwnPropertySymbols,s=a?function(t){for(var r=[];t;)e(r,i(t)),t=n(t);return r}:o;return Ut=s,Ut}var Wt,xh;function i2(){if(xh)return Wt;xh=1;var e=Ai(),n=yh();function i(o,a){return e(o,n(o),a)}return Wt=i,Wt}var $t,Sh;function wh(){if(Sh)return $t;Sh=1;var e=zt(),n=Ae();function i(o,a,s){var t=a(o);return n(o)?t:e(t,s(o))}return $t=i,$t}var Yt,Ah;function Nh(){if(Ah)return Yt;Ah=1;var e=wh(),n=Kt(),i=bn();function o(a){return e(a,i,n)}return Yt=o,Yt}var Jt,Ch;function o2(){if(Ch)return Jt;Ch=1;var e=wh(),n=yh(),i=Cn();function o(a){return e(a,i,n)}return Jt=o,Jt}var Zt,_h;function a2(){if(_h)return Zt;_h=1;var e=Nn(),n=Ve(),i=e(n,"DataView");return Zt=i,Zt}var Xt,Eh;function s2(){if(Eh)return Xt;Eh=1;var e=Nn(),n=Ve(),i=e(n,"Promise");return Xt=i,Xt}var Qt,kh;function Mh(){if(kh)return Qt;kh=1;var e=Nn(),n=Ve(),i=e(n,"Set");return Qt=i,Qt}var Rt,Th;function t2(){if(Th)return Rt;Th=1;var e=Nn(),n=Ve(),i=e(n,"WeakMap");return Rt=i,Rt}var er,Ph;function Jn(){if(Ph)return er;Ph=1;var e=a2(),n=Gs(),i=s2(),o=Mh(),a=t2(),s=An(),t=sv(),r="[object Map]",l="[object Object]",u="[object Promise]",d="[object Set]",b="[object WeakMap]",m="[object DataView]",f=t(e),h=t(n),g=t(i),v=t(o),p=t(a),S=s;return(e&&S(new e(new ArrayBuffer(1)))!=m||n&&S(new n)!=r||i&&S(i.resolve())!=u||o&&S(new o)!=d||a&&S(new a)!=b)&&(S=function(y){var x=s(y),w=x==l?y.constructor:void 0,A=w?t(w):"";if(A)switch(A){case f:return m;case h:return r;case g:return u;case v:return d;case p:return b}return x}),er=S,er}var nr,Ih;function r2(){if(Ih)return nr;Ih=1;var e=Object.prototype,n=e.hasOwnProperty;function i(o){var a=o.length,s=new o.constructor(a);return a&&typeof o[0]=="string"&&n.call(o,"index")&&(s.index=o.index,s.input=o.input),s}return nr=i,nr}var ir,Lh;function Bh(){if(Lh)return ir;Lh=1;var e=Ve(),n=e.Uint8Array;return ir=n,ir}var or,Oh;function ar(){if(Oh)return or;Oh=1;var e=Bh();function n(i){var o=new i.constructor(i.byteLength);return new e(o).set(new e(i)),o}return or=n,or}var sr,Dh;function l2(){if(Dh)return sr;Dh=1;var e=ar();function n(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.byteLength)}return sr=n,sr}var tr,qh;function u2(){if(qh)return tr;qh=1;var e=/\w*$/;function n(i){var o=new i.constructor(i.source,e.exec(i));return o.lastIndex=i.lastIndex,o}return tr=n,tr}var rr,Fh;function d2(){if(Fh)return rr;Fh=1;var e=$n(),n=e?e.prototype:void 0,i=n?n.valueOf:void 0;function o(a){return i?Object(i.call(a)):{}}return rr=o,rr}var lr,Gh;function Kh(){if(Gh)return lr;Gh=1;var e=ar();function n(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.length)}return lr=n,lr}var ur,Hh;function c2(){if(Hh)return ur;Hh=1;var e=ar(),n=l2(),i=u2(),o=d2(),a=Kh(),s="[object Boolean]",t="[object Date]",r="[object Map]",l="[object Number]",u="[object RegExp]",d="[object Set]",b="[object String]",m="[object Symbol]",f="[object ArrayBuffer]",h="[object DataView]",g="[object Float32Array]",v="[object Float64Array]",p="[object Int8Array]",S="[object Int16Array]",y="[object Int32Array]",x="[object Uint8Array]",w="[object Uint8ClampedArray]",A="[object Uint16Array]",N="[object Uint32Array]";function E(_,P,k){var M=_.constructor;switch(P){case f:return e(_);case s:case t:return new M(+_);case h:return n(_,k);case g:case v:case p:case S:case y:case x:case w:case A:case N:return a(_,k);case r:return new M;case l:case b:return new M(_);case u:return i(_);case d:return new M;case m:return o(_)}}return ur=E,ur}var dr,Vh;function zh(){if(Vh)return dr;Vh=1;var e=Oe(),n=Object.create,i=function(){function o(){}return function(a){if(!e(a))return{};if(n)return n(a);o.prototype=a;var s=new o;return o.prototype=void 0,s}}();return dr=i,dr}var cr,jh;function Uh(){if(jh)return cr;jh=1;var e=zh(),n=Do(),i=Oo();function o(a){return typeof a.constructor=="function"&&!i(a)?e(n(a)):{}}return cr=o,cr}var br,Wh;function b2(){if(Wh)return br;Wh=1;var e=Jn(),n=Ye(),i="[object Map]";function o(a){return n(a)&&e(a)==i}return br=o,br}var mr,$h;function m2(){if($h)return mr;$h=1;var e=b2(),n=Bo(),i=St(),o=i&&i.isMap,a=o?n(o):e;return mr=a,mr}var fr,Yh;function f2(){if(Yh)return fr;Yh=1;var e=Jn(),n=Ye(),i="[object Set]";function o(a){return n(a)&&e(a)==i}return fr=o,fr}var vr,Jh;function v2(){if(Jh)return vr;Jh=1;var e=f2(),n=Bo(),i=St(),o=i&&i.isSet,a=o?n(o):e;return vr=a,vr}var hr,Zh;function Xh(){if(Zh)return hr;Zh=1;var e=To(),n=st(),i=Io(),o=XM(),a=e2(),s=rh(),t=uh(),r=n2(),l=i2(),u=Nh(),d=o2(),b=Jn(),m=r2(),f=c2(),h=Uh(),g=Ae(),v=Yn(),p=m2(),S=Oe(),y=v2(),x=bn(),w=Cn(),A=1,N=2,E=4,_="[object Arguments]",P="[object Array]",k="[object Boolean]",M="[object Date]",L="[object Error]",T="[object Function]",O="[object GeneratorFunction]",B="[object Map]",K="[object Number]",G="[object Object]",I="[object RegExp]",Y="[object Set]",Z="[object String]",J="[object Symbol]",R="[object WeakMap]",D="[object ArrayBuffer]",H="[object DataView]",U="[object Float32Array]",q="[object Float64Array]",F="[object Int8Array]",W="[object Int16Array]",z="[object Int32Array]",V="[object Uint8Array]",Q="[object Uint8ClampedArray]",j="[object Uint16Array]",X="[object Uint32Array]",$={};$[_]=$[P]=$[D]=$[H]=$[k]=$[M]=$[U]=$[q]=$[F]=$[W]=$[z]=$[B]=$[K]=$[G]=$[I]=$[Y]=$[Z]=$[J]=$[V]=$[Q]=$[j]=$[X]=!0,$[L]=$[T]=$[R]=!1;function ne(ee,ae,re,be,ce,he){var me,fe=ae&A,Ee=ae&N,je=ae&E;if(re&&(me=ce?re(ee,be,ce,he):re(ee)),me!==void 0)return me;if(!S(ee))return ee;var Ne=g(ee);if(Ne){if(me=m(ee),!fe)return t(ee,me)}else{var Te=b(ee),En=Te==T||Te==O;if(v(ee))return s(ee,fe);if(Te==G||Te==_||En&&!ce){if(me=Ee||En?{}:h(ee),!fe)return Ee?l(ee,a(me,ee)):r(ee,o(me,ee))}else{if(!$[Te])return ce?ee:{};me=f(ee,Te,fe)}}he||(he=new e);var sn=he.get(ee);if(sn)return sn;he.set(ee,me),y(ee)?ee.forEach(function(Je){me.add(ne(Je,ae,re,Je,ee,he))}):p(ee)&&ee.forEach(function(Je,tn){me.set(tn,ne(Je,ae,re,tn,ee,he))});var Wd=je?Ee?d:u:Ee?w:x,jo=Ne?void 0:Wd(ee);return n(jo||ee,function(Je,tn){jo&&(tn=Je,Je=ee[tn]),i(me,tn,ne(Je,ae,re,tn,ee,he))}),me}return hr=ne,hr}var pr,Qh;function h2(){if(Qh)return pr;Qh=1;var e=Xh(),n=4;function i(o){return e(o,n)}return pr=i,pr}var gr,Rh;function yr(){if(Rh)return gr;Rh=1;function e(n){return function(){return n}}return gr=e,gr}var xr,ep;function p2(){if(ep)return xr;ep=1;function e(n){return function(i,o,a){for(var s=-1,t=Object(i),r=a(i),l=r.length;l--;){var u=r[n?l:++s];if(o(t[u],u,t)===!1)break}return i}}return xr=e,xr}var Sr,np;function wr(){if(np)return Sr;np=1;var e=p2(),n=e();return Sr=n,Sr}var Ar,ip;function Nr(){if(ip)return Ar;ip=1;var e=wr(),n=bn();function i(o,a){return o&&e(o,a,n)}return Ar=i,Ar}var Cr,op;function g2(){if(op)return Cr;op=1;var e=on();function n(i,o){return function(a,s){if(a==null)return a;if(!e(a))return i(a,s);for(var t=a.length,r=o?t:-1,l=Object(a);(o?r--:++r<t)&&s(l[r],r,l)!==!1;);return a}}return Cr=n,Cr}var _r,ap;function qo(){if(ap)return _r;ap=1;var e=Nr(),n=g2(),i=n(e);return _r=i,_r}var Er,sp;function _n(){if(sp)return Er;sp=1;function e(n){return n}return Er=e,Er}var kr,tp;function rp(){if(tp)return kr;tp=1;var e=_n();function n(i){return typeof i=="function"?i:e}return kr=n,kr}var Mr,lp;function up(){if(lp)return Mr;lp=1;var e=st(),n=qo(),i=rp(),o=Ae();function a(s,t){var r=o(s)?e:n;return r(s,i(t))}return Mr=a,Mr}var Tr,dp;function cp(){return dp||(dp=1,Tr=up()),Tr}var Pr,bp;function y2(){if(bp)return Pr;bp=1;var e=qo();function n(i,o){var a=[];return e(i,function(s,t,r){o(s,t,r)&&a.push(s)}),a}return Pr=n,Pr}var Ir,mp;function x2(){if(mp)return Ir;mp=1;var e="__lodash_hash_undefined__";function n(i){return this.__data__.set(i,e),this}return Ir=n,Ir}var Lr,fp;function S2(){if(fp)return Lr;fp=1;function e(n){return this.__data__.has(n)}return Lr=e,Lr}var Br,vp;function hp(){if(vp)return Br;vp=1;var e=nt(),n=x2(),i=S2();function o(a){var s=-1,t=a==null?0:a.length;for(this.__data__=new e;++s<t;)this.add(a[s])}return o.prototype.add=o.prototype.push=n,o.prototype.has=i,Br=o,Br}var Or,pp;function w2(){if(pp)return Or;pp=1;function e(n,i){for(var o=-1,a=n==null?0:n.length;++o<a;)if(i(n[o],o,n))return!0;return!1}return Or=e,Or}var Dr,gp;function yp(){if(gp)return Dr;gp=1;function e(n,i){return n.has(i)}return Dr=e,Dr}var qr,xp;function Sp(){if(xp)return qr;xp=1;var e=hp(),n=w2(),i=yp(),o=1,a=2;function s(t,r,l,u,d,b){var m=l&o,f=t.length,h=r.length;if(f!=h&&!(m&&h>f))return!1;var g=b.get(t),v=b.get(r);if(g&&v)return g==r&&v==t;var p=-1,S=!0,y=l&a?new e:void 0;for(b.set(t,r),b.set(r,t);++p<f;){var x=t[p],w=r[p];if(u)var A=m?u(w,x,p,r,t,b):u(x,w,p,t,r,b);if(A!==void 0){if(A)continue;S=!1;break}if(y){if(!n(r,function(N,E){if(!i(y,E)&&(x===N||d(x,N,l,u,b)))return y.push(E)})){S=!1;break}}else if(!(x===w||d(x,w,l,u,b))){S=!1;break}}return b.delete(t),b.delete(r),S}return qr=s,qr}var Fr,wp;function A2(){if(wp)return Fr;wp=1;function e(n){var i=-1,o=Array(n.size);return n.forEach(function(a,s){o[++i]=[s,a]}),o}return Fr=e,Fr}var Gr,Ap;function Kr(){if(Ap)return Gr;Ap=1;function e(n){var i=-1,o=Array(n.size);return n.forEach(function(a){o[++i]=a}),o}return Gr=e,Gr}var Hr,Np;function N2(){if(Np)return Hr;Np=1;var e=$n(),n=Bh(),i=Wn(),o=Sp(),a=A2(),s=Kr(),t=1,r=2,l="[object Boolean]",u="[object Date]",d="[object Error]",b="[object Map]",m="[object Number]",f="[object RegExp]",h="[object Set]",g="[object String]",v="[object Symbol]",p="[object ArrayBuffer]",S="[object DataView]",y=e?e.prototype:void 0,x=y?y.valueOf:void 0;function w(A,N,E,_,P,k,M){switch(E){case S:if(A.byteLength!=N.byteLength||A.byteOffset!=N.byteOffset)return!1;A=A.buffer,N=N.buffer;case p:return!(A.byteLength!=N.byteLength||!k(new n(A),new n(N)));case l:case u:case m:return i(+A,+N);case d:return A.name==N.name&&A.message==N.message;case f:case g:return A==N+"";case b:var L=a;case h:var T=_&t;if(L||(L=s),A.size!=N.size&&!T)return!1;var O=M.get(A);if(O)return O==N;_|=r,M.set(A,N);var B=o(L(A),L(N),_,P,k,M);return M.delete(A),B;case v:if(x)return x.call(A)==x.call(N)}return!1}return Hr=w,Hr}var Vr,Cp;function C2(){if(Cp)return Vr;Cp=1;var e=Nh(),n=1,i=Object.prototype,o=i.hasOwnProperty;function a(s,t,r,l,u,d){var b=r&n,m=e(s),f=m.length,h=e(t),g=h.length;if(f!=g&&!b)return!1;for(var v=f;v--;){var p=m[v];if(!(b?p in t:o.call(t,p)))return!1}var S=d.get(s),y=d.get(t);if(S&&y)return S==t&&y==s;var x=!0;d.set(s,t),d.set(t,s);for(var w=b;++v<f;){p=m[v];var A=s[p],N=t[p];if(l)var E=b?l(N,A,p,t,s,d):l(A,N,p,s,t,d);if(!(E===void 0?A===N||u(A,N,r,l,d):E)){x=!1;break}w||(w=p=="constructor")}if(x&&!w){var _=s.constructor,P=t.constructor;_!=P&&"constructor"in s&&"constructor"in t&&!(typeof _=="function"&&_ instanceof _&&typeof P=="function"&&P instanceof P)&&(x=!1)}return d.delete(s),d.delete(t),x}return Vr=a,Vr}var zr,_p;function _2(){if(_p)return zr;_p=1;var e=To(),n=Sp(),i=N2(),o=C2(),a=Jn(),s=Ae(),t=Yn(),r=Ei(),l=1,u="[object Arguments]",d="[object Array]",b="[object Object]",m=Object.prototype,f=m.hasOwnProperty;function h(g,v,p,S,y,x){var w=s(g),A=s(v),N=w?d:a(g),E=A?d:a(v);N=N==u?b:N,E=E==u?b:E;var _=N==b,P=E==b,k=N==E;if(k&&t(g)){if(!t(v))return!1;w=!0,_=!1}if(k&&!_)return x||(x=new e),w||r(g)?n(g,v,p,S,y,x):i(g,v,N,p,S,y,x);if(!(p&l)){var M=_&&f.call(g,"__wrapped__"),L=P&&f.call(v,"__wrapped__");if(M||L){var T=M?g.value():g,O=L?v.value():v;return x||(x=new e),y(T,O,p,S,x)}}return k?(x||(x=new e),o(g,v,p,S,y,x)):!1}return zr=h,zr}var jr,Ep;function kp(){if(Ep)return jr;Ep=1;var e=_2(),n=Ye();function i(o,a,s,t,r){return o===a?!0:o==null||a==null||!n(o)&&!n(a)?o!==o&&a!==a:e(o,a,s,t,i,r)}return jr=i,jr}var Ur,Mp;function E2(){if(Mp)return Ur;Mp=1;var e=To(),n=kp(),i=1,o=2;function a(s,t,r,l){var u=r.length,d=u,b=!l;if(s==null)return!d;for(s=Object(s);u--;){var m=r[u];if(b&&m[2]?m[1]!==s[m[0]]:!(m[0]in s))return!1}for(;++u<d;){m=r[u];var f=m[0],h=s[f],g=m[1];if(b&&m[2]){if(h===void 0&&!(f in s))return!1}else{var v=new e;if(l)var p=l(h,g,f,s,t,v);if(!(p===void 0?n(g,h,i|o,l,v):p))return!1}}return!0}return Ur=a,Ur}var Wr,Tp;function Pp(){if(Tp)return Wr;Tp=1;var e=Oe();function n(i){return i===i&&!e(i)}return Wr=n,Wr}var $r,Ip;function k2(){if(Ip)return $r;Ip=1;var e=Pp(),n=bn();function i(o){for(var a=n(o),s=a.length;s--;){var t=a[s],r=o[t];a[s]=[t,r,e(r)]}return a}return $r=i,$r}var Yr,Lp;function Bp(){if(Lp)return Yr;Lp=1;function e(n,i){return function(o){return o==null?!1:o[n]===i&&(i!==void 0||n in Object(o))}}return Yr=e,Yr}var Jr,Op;function M2(){if(Op)return Jr;Op=1;var e=E2(),n=k2(),i=Bp();function o(a){var s=n(a);return s.length==1&&s[0][2]?i(s[0][0],s[0][1]):function(t){return t===a||e(t,a,s)}}return Jr=o,Jr}var Zr,Dp;function Zn(){if(Dp)return Zr;Dp=1;var e=An(),n=Ye(),i="[object Symbol]";function o(a){return typeof a=="symbol"||n(a)&&e(a)==i}return Zr=o,Zr}var Xr,qp;function Qr(){if(qp)return Xr;qp=1;var e=Ae(),n=Zn(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;function a(s,t){if(e(s))return!1;var r=typeof s;return r=="number"||r=="symbol"||r=="boolean"||s==null||n(s)?!0:o.test(s)||!i.test(s)||t!=null&&s in Object(t)}return Xr=a,Xr}var Rr,Fp;function T2(){if(Fp)return Rr;Fp=1;var e=nt(),n="Expected a function";function i(o,a){if(typeof o!="function"||a!=null&&typeof a!="function")throw new TypeError(n);var s=function(){var t=arguments,r=a?a.apply(this,t):t[0],l=s.cache;if(l.has(r))return l.get(r);var u=o.apply(this,t);return s.cache=l.set(r,u)||l,u};return s.cache=new(i.Cache||e),s}return i.Cache=e,Rr=i,Rr}var el,Gp;function P2(){if(Gp)return el;Gp=1;var e=T2(),n=500;function i(o){var a=e(o,function(t){return s.size===n&&s.clear(),t}),s=a.cache;return a}return el=i,el}var nl,Kp;function I2(){if(Kp)return nl;Kp=1;var e=P2(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=e(function(a){var s=[];return a.charCodeAt(0)===46&&s.push(""),a.replace(n,function(t,r,l,u){s.push(l?u.replace(i,"$1"):r||t)}),s});return nl=o,nl}var il,Hp;function Fo(){if(Hp)return il;Hp=1;function e(n,i){for(var o=-1,a=n==null?0:n.length,s=Array(a);++o<a;)s[o]=i(n[o],o,n);return s}return il=e,il}var ol,Vp;function L2(){if(Vp)return ol;Vp=1;var e=$n(),n=Fo(),i=Ae(),o=Zn(),a=e?e.prototype:void 0,s=a?a.toString:void 0;function t(r){if(typeof r=="string")return r;if(i(r))return n(r,t)+"";if(o(r))return s?s.call(r):"";var l=r+"";return l=="0"&&1/r==-1/0?"-0":l}return ol=t,ol}var al,zp;function jp(){if(zp)return al;zp=1;var e=L2();function n(i){return i==null?"":e(i)}return al=n,al}var sl,Up;function Go(){if(Up)return sl;Up=1;var e=Ae(),n=Qr(),i=I2(),o=jp();function a(s,t){return e(s)?s:n(s,t)?[s]:i(o(s))}return sl=a,sl}var tl,Wp;function Mi(){if(Wp)return tl;Wp=1;var e=Zn();function n(i){if(typeof i=="string"||e(i))return i;var o=i+"";return o=="0"&&1/i==-1/0?"-0":o}return tl=n,tl}var rl,$p;function Ko(){if($p)return rl;$p=1;var e=Go(),n=Mi();function i(o,a){a=e(a,o);for(var s=0,t=a.length;o!=null&&s<t;)o=o[n(a[s++])];return s&&s==t?o:void 0}return rl=i,rl}var ll,Yp;function B2(){if(Yp)return ll;Yp=1;var e=Ko();function n(i,o,a){var s=i==null?void 0:e(i,o);return s===void 0?a:s}return ll=n,ll}var ul,Jp;function O2(){if(Jp)return ul;Jp=1;function e(n,i){return n!=null&&i in Object(n)}return ul=e,ul}var dl,Zp;function Xp(){if(Zp)return dl;Zp=1;var e=Go(),n=Ni(),i=Ae(),o=Lo(),a=gt(),s=Mi();function t(r,l,u){l=e(l,r);for(var d=-1,b=l.length,m=!1;++d<b;){var f=s(l[d]);if(!(m=r!=null&&u(r,f)))break;r=r[f]}return m||++d!=b?m:(b=r==null?0:r.length,!!b&&a(b)&&o(f,b)&&(i(r)||n(r)))}return dl=t,dl}var cl,Qp;function Rp(){if(Qp)return cl;Qp=1;var e=O2(),n=Xp();function i(o,a){return o!=null&&n(o,a,e)}return cl=i,cl}var bl,eg;function D2(){if(eg)return bl;eg=1;var e=kp(),n=B2(),i=Rp(),o=Qr(),a=Pp(),s=Bp(),t=Mi(),r=1,l=2;function u(d,b){return o(d)&&a(b)?s(t(d),b):function(m){var f=n(m,d);return f===void 0&&f===b?i(m,d):e(b,f,r|l)}}return bl=u,bl}var ml,ng;function ig(){if(ng)return ml;ng=1;function e(n){return function(i){return i==null?void 0:i[n]}}return ml=e,ml}var fl,og;function q2(){if(og)return fl;og=1;var e=Ko();function n(i){return function(o){return e(o,i)}}return fl=n,fl}var vl,ag;function F2(){if(ag)return vl;ag=1;var e=ig(),n=q2(),i=Qr(),o=Mi();function a(s){return i(s)?e(o(s)):n(s)}return vl=a,vl}var hl,sg;function an(){if(sg)return hl;sg=1;var e=M2(),n=D2(),i=_n(),o=Ae(),a=F2();function s(t){return typeof t=="function"?t:t==null?i:typeof t=="object"?o(t)?n(t[0],t[1]):e(t):a(t)}return hl=s,hl}var pl,tg;function rg(){if(tg)return pl;tg=1;var e=ch(),n=y2(),i=an(),o=Ae();function a(s,t){var r=o(s)?e:n;return r(s,i(t,3))}return pl=a,pl}var gl,lg;function G2(){if(lg)return gl;lg=1;var e=Object.prototype,n=e.hasOwnProperty;function i(o,a){return o!=null&&n.call(o,a)}return gl=i,gl}var yl,ug;function dg(){if(ug)return yl;ug=1;var e=G2(),n=Xp();function i(o,a){return o!=null&&n(o,a,e)}return yl=i,yl}var xl,cg;function K2(){if(cg)return xl;cg=1;var e=kt(),n=Jn(),i=Ni(),o=Ae(),a=on(),s=Yn(),t=Oo(),r=Ei(),l="[object Map]",u="[object Set]",d=Object.prototype,b=d.hasOwnProperty;function m(f){if(f==null)return!0;if(a(f)&&(o(f)||typeof f=="string"||typeof f.splice=="function"||s(f)||r(f)||i(f)))return!f.length;var h=n(f);if(h==l||h==u)return!f.size;if(t(f))return!e(f).length;for(var g in f)if(b.call(f,g))return!1;return!0}return xl=m,xl}var Sl,bg;function mg(){if(bg)return Sl;bg=1;function e(n){return n===void 0}return Sl=e,Sl}var wl,fg;function vg(){if(fg)return wl;fg=1;var e=qo(),n=on();function i(o,a){var s=-1,t=n(o)?Array(o.length):[];return e(o,function(r,l,u){t[++s]=a(r,l,u)}),t}return wl=i,wl}var Al,hg;function pg(){if(hg)return Al;hg=1;var e=Fo(),n=an(),i=vg(),o=Ae();function a(s,t){var r=o(s)?e:i;return r(s,n(t,3))}return Al=a,Al}var Nl,gg;function H2(){if(gg)return Nl;gg=1;function e(n,i,o,a){var s=-1,t=n==null?0:n.length;for(a&&t&&(o=n[++s]);++s<t;)o=i(o,n[s],s,n);return o}return Nl=e,Nl}var Cl,yg;function V2(){if(yg)return Cl;yg=1;function e(n,i,o,a,s){return s(n,function(t,r,l){o=a?(a=!1,t):i(o,t,r,l)}),o}return Cl=e,Cl}var _l,xg;function Sg(){if(xg)return _l;xg=1;var e=H2(),n=qo(),i=an(),o=V2(),a=Ae();function s(t,r,l){var u=a(t)?e:o,d=arguments.length<3;return u(t,i(r,4),l,d,n)}return _l=s,_l}var El,wg;function z2(){if(wg)return El;wg=1;var e=An(),n=Ae(),i=Ye(),o="[object String]";function a(s){return typeof s=="string"||!n(s)&&i(s)&&e(s)==o}return El=a,El}var kl,Ag;function j2(){if(Ag)return kl;Ag=1;var e=ig(),n=e("length");return kl=n,kl}var Ml,Ng;function U2(){if(Ng)return Ml;Ng=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=n+i+o,s="\\ufe0e\\ufe0f",t="\\u200d",r=RegExp("["+t+e+a+s+"]");function l(u){return r.test(u)}return Ml=l,Ml}var Tl,Cg;function W2(){if(Cg)return Tl;Cg=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=n+i+o,s="\\ufe0e\\ufe0f",t="["+e+"]",r="["+a+"]",l="\\ud83c[\\udffb-\\udfff]",u="(?:"+r+"|"+l+")",d="[^"+e+"]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",m="[\\ud800-\\udbff][\\udc00-\\udfff]",f="\\u200d",h=u+"?",g="["+s+"]?",v="(?:"+f+"(?:"+[d,b,m].join("|")+")"+g+h+")*",p=g+h+v,S="(?:"+[d+r+"?",r,b,m,t].join("|")+")",y=RegExp(l+"(?="+l+")|"+S+p,"g");function x(w){for(var A=y.lastIndex=0;y.test(w);)++A;return A}return Tl=x,Tl}var Pl,_g;function $2(){if(_g)return Pl;_g=1;var e=j2(),n=U2(),i=W2();function o(a){return n(a)?i(a):e(a)}return Pl=o,Pl}var Il,Eg;function Y2(){if(Eg)return Il;Eg=1;var e=kt(),n=Jn(),i=on(),o=z2(),a=$2(),s="[object Map]",t="[object Set]";function r(l){if(l==null)return 0;if(i(l))return o(l)?a(l):l.length;var u=n(l);return u==s||u==t?l.size:e(l).length}return Il=r,Il}var Ll,kg;function J2(){if(kg)return Ll;kg=1;var e=st(),n=zh(),i=Nr(),o=an(),a=Do(),s=Ae(),t=Yn(),r=wi(),l=Oe(),u=Ei();function d(b,m,f){var h=s(b),g=h||t(b)||u(b);if(m=o(m,4),f==null){var v=b&&b.constructor;g?f=h?new v:[]:l(b)?f=r(v)?n(a(b)):{}:f={}}return(g?e:i)(b,function(p,S,y){return m(f,p,S,y)}),f}return Ll=d,Ll}var Bl,Mg;function Z2(){if(Mg)return Bl;Mg=1;var e=$n(),n=Ni(),i=Ae(),o=e?e.isConcatSpreadable:void 0;function a(s){return i(s)||n(s)||!!(o&&s&&s[o])}return Bl=a,Bl}var Ol,Tg;function Dl(){if(Tg)return Ol;Tg=1;var e=zt(),n=Z2();function i(o,a,s,t,r){var l=-1,u=o.length;for(s||(s=n),r||(r=[]);++l<u;){var d=o[l];a>0&&s(d)?a>1?i(d,a-1,s,t,r):e(r,d):t||(r[r.length]=d)}return r}return Ol=i,Ol}var ql,Pg;function X2(){if(Pg)return ql;Pg=1;function e(n,i,o){switch(o.length){case 0:return n.call(i);case 1:return n.call(i,o[0]);case 2:return n.call(i,o[0],o[1]);case 3:return n.call(i,o[0],o[1],o[2])}return n.apply(i,o)}return ql=e,ql}var Fl,Ig;function Lg(){if(Ig)return Fl;Ig=1;var e=X2(),n=Math.max;function i(o,a,s){return a=n(a===void 0?o.length-1:a,0),function(){for(var t=arguments,r=-1,l=n(t.length-a,0),u=Array(l);++r<l;)u[r]=t[a+r];r=-1;for(var d=Array(a+1);++r<a;)d[r]=t[r];return d[a]=s(u),e(o,this,d)}}return Fl=i,Fl}var Gl,Bg;function Q2(){if(Bg)return Gl;Bg=1;var e=yr(),n=Mv(),i=_n(),o=n?function(a,s){return n(a,"toString",{configurable:!0,enumerable:!1,value:e(s),writable:!0})}:i;return Gl=o,Gl}var Kl,Og;function R2(){if(Og)return Kl;Og=1;var e=800,n=16,i=Date.now;function o(a){var s=0,t=0;return function(){var r=i(),l=n-(r-t);if(t=r,l>0){if(++s>=e)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return Kl=o,Kl}var Hl,Dg;function qg(){if(Dg)return Hl;Dg=1;var e=Q2(),n=R2(),i=n(e);return Hl=i,Hl}var Vl,Fg;function Ho(){if(Fg)return Vl;Fg=1;var e=_n(),n=Lg(),i=qg();function o(a,s){return i(n(a,s,e),a+"")}return Vl=o,Vl}var zl,Gg;function Kg(){if(Gg)return zl;Gg=1;function e(n,i,o,a){for(var s=n.length,t=o+(a?1:-1);a?t--:++t<s;)if(i(n[t],t,n))return t;return-1}return zl=e,zl}var jl,Hg;function eT(){if(Hg)return jl;Hg=1;function e(n){return n!==n}return jl=e,jl}var Ul,Vg;function nT(){if(Vg)return Ul;Vg=1;function e(n,i,o){for(var a=o-1,s=n.length;++a<s;)if(n[a]===i)return a;return-1}return Ul=e,Ul}var Wl,zg;function iT(){if(zg)return Wl;zg=1;var e=Kg(),n=eT(),i=nT();function o(a,s,t){return s===s?i(a,s,t):e(a,n,t)}return Wl=o,Wl}var $l,jg;function oT(){if(jg)return $l;jg=1;var e=iT();function n(i,o){var a=i==null?0:i.length;return!!a&&e(i,o,0)>-1}return $l=n,$l}var Yl,Ug;function aT(){if(Ug)return Yl;Ug=1;function e(n,i,o){for(var a=-1,s=n==null?0:n.length;++a<s;)if(o(i,n[a]))return!0;return!1}return Yl=e,Yl}var Jl,Wg;function sT(){if(Wg)return Jl;Wg=1;function e(){}return Jl=e,Jl}var Zl,$g;function tT(){if($g)return Zl;$g=1;var e=Mh(),n=sT(),i=Kr(),o=1/0,a=e&&1/i(new e([,-0]))[1]==o?function(s){return new e(s)}:n;return Zl=a,Zl}var Xl,Yg;function rT(){if(Yg)return Xl;Yg=1;var e=hp(),n=oT(),i=aT(),o=yp(),a=tT(),s=Kr(),t=200;function r(l,u,d){var b=-1,m=n,f=l.length,h=!0,g=[],v=g;if(d)h=!1,m=i;else if(f>=t){var p=u?null:a(l);if(p)return s(p);h=!1,m=o,v=new e}else v=u?[]:g;e:for(;++b<f;){var S=l[b],y=u?u(S):S;if(S=d||S!==0?S:0,h&&y===y){for(var x=v.length;x--;)if(v[x]===y)continue e;u&&v.push(y),g.push(S)}else m(v,y,d)||(v!==g&&v.push(y),g.push(S))}return g}return Xl=r,Xl}var Ql,Jg;function Zg(){if(Jg)return Ql;Jg=1;var e=on(),n=Ye();function i(o){return n(o)&&e(o)}return Ql=i,Ql}var Rl,Xg;function lT(){if(Xg)return Rl;Xg=1;var e=Dl(),n=Ho(),i=rT(),o=Zg(),a=n(function(s){return i(e(s,1,o,!0))});return Rl=a,Rl}var eu,Qg;function uT(){if(Qg)return eu;Qg=1;var e=Fo();function n(i,o){return e(o,function(a){return i[a]})}return eu=n,eu}var nu,Rg;function ey(){if(Rg)return nu;Rg=1;var e=uT(),n=bn();function i(o){return o==null?[]:e(o,n(o))}return nu=i,nu}var iu,ny;function De(){if(ny)return iu;ny=1;var e;if(typeof cs=="function")try{e={clone:h2(),constant:yr(),each:cp(),filter:rg(),has:dg(),isArray:Ae(),isEmpty:K2(),isFunction:wi(),isUndefined:mg(),keys:bn(),map:pg(),reduce:Sg(),size:Y2(),transform:J2(),union:lT(),values:ey()}}catch(n){}return e||(e=window._),iu=e,iu}var ou,iy;function au(){if(iy)return ou;iy=1;var e=De();ou=a;var n="\0",i="\0",o="";function a(d){this._isDirected=e.has(d,"directed")?d.directed:!0,this._isMultigraph=e.has(d,"multigraph")?d.multigraph:!1,this._isCompound=e.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[i]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return e.isFunction(d)||(d=e.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return e.keys(this._nodes)},a.prototype.sources=function(){var d=this;return e.filter(this.nodes(),function(b){return e.isEmpty(d._in[b])})},a.prototype.sinks=function(){var d=this;return e.filter(this.nodes(),function(b){return e.isEmpty(d._out[b])})},a.prototype.setNodes=function(d,b){var m=arguments,f=this;return e.each(d,function(h){m.length>1?f.setNode(h,b):f.setNode(h)}),this},a.prototype.setNode=function(d,b){return e.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=b),this):(this._nodes[d]=arguments.length>1?b:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=i,this._children[d]={},this._children[i][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return e.has(this._nodes,d)},a.prototype.removeNode=function(d){var b=this;if(e.has(this._nodes,d)){var m=function(f){b.removeEdge(b._edgeObjs[f])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],e.each(this.children(d),function(f){b.setParent(f)}),delete this._children[d]),e.each(e.keys(this._in[d]),m),delete this._in[d],delete this._preds[d],e.each(e.keys(this._out[d]),m),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,b){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(b))b=i;else{b+="";for(var m=b;!e.isUndefined(m);m=this.parent(m))if(m===d)throw new Error("Setting "+b+" as parent of "+d+" would create a cycle");this.setNode(b)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=b,this._children[b][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var b=this._parent[d];if(b!==i)return b}},a.prototype.children=function(d){if(e.isUndefined(d)&&(d=i),this._isCompound){var b=this._children[d];if(b)return e.keys(b)}else{if(d===i)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var b=this._preds[d];if(b)return e.keys(b)},a.prototype.successors=function(d){var b=this._sucs[d];if(b)return e.keys(b)},a.prototype.neighbors=function(d){var b=this.predecessors(d);if(b)return e.union(b,this.successors(d))},a.prototype.isLeaf=function(d){var b;return this.isDirected()?b=this.successors(d):b=this.neighbors(d),b.length===0},a.prototype.filterNodes=function(d){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var m=this;e.each(this._nodes,function(g,v){d(v)&&b.setNode(v,g)}),e.each(this._edgeObjs,function(g){b.hasNode(g.v)&&b.hasNode(g.w)&&b.setEdge(g,m.edge(g))});var f={};function h(g){var v=m.parent(g);return v===void 0||b.hasNode(v)?(f[g]=v,v):v in f?f[v]:h(v)}return this._isCompound&&e.each(b.nodes(),function(g){b.setParent(g,h(g))}),b},a.prototype.setDefaultEdgeLabel=function(d){return e.isFunction(d)||(d=e.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return e.values(this._edgeObjs)},a.prototype.setPath=function(d,b){var m=this,f=arguments;return e.reduce(d,function(h,g){return f.length>1?m.setEdge(h,g,b):m.setEdge(h,g),g}),this},a.prototype.setEdge=function(){var d,b,m,f,h=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,b=g.w,m=g.name,arguments.length===2&&(f=arguments[1],h=!0)):(d=g,b=arguments[1],m=arguments[3],arguments.length>2&&(f=arguments[2],h=!0)),d=""+d,b=""+b,e.isUndefined(m)||(m=""+m);var v=r(this._isDirected,d,b,m);if(e.has(this._edgeLabels,v))return h&&(this._edgeLabels[v]=f),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(b),this._edgeLabels[v]=h?f:this._defaultEdgeLabelFn(d,b,m);var p=l(this._isDirected,d,b,m);return d=p.v,b=p.w,Object.freeze(p),this._edgeObjs[v]=p,s(this._preds[b],d),s(this._sucs[d],b),this._in[b][v]=p,this._out[d][v]=p,this._edgeCount++,this},a.prototype.edge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m);return this._edgeLabels[f]},a.prototype.hasEdge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m);return e.has(this._edgeLabels,f)},a.prototype.removeEdge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m),h=this._edgeObjs[f];return h&&(d=h.v,b=h.w,delete this._edgeLabels[f],delete this._edgeObjs[f],t(this._preds[b],d),t(this._sucs[d],b),delete this._in[b][f],delete this._out[d][f],this._edgeCount--),this},a.prototype.inEdges=function(d,b){var m=this._in[d];if(m){var f=e.values(m);return b?e.filter(f,function(h){return h.v===b}):f}},a.prototype.outEdges=function(d,b){var m=this._out[d];if(m){var f=e.values(m);return b?e.filter(f,function(h){return h.w===b}):f}},a.prototype.nodeEdges=function(d,b){var m=this.inEdges(d,b);if(m)return m.concat(this.outEdges(d,b))};function s(d,b){d[b]?d[b]++:d[b]=1}function t(d,b){--d[b]||delete d[b]}function r(d,b,m,f){var h=""+b,g=""+m;if(!d&&h>g){var v=h;h=g,g=v}return h+o+g+o+(e.isUndefined(f)?n:f)}function l(d,b,m,f){var h=""+b,g=""+m;if(!d&&h>g){var v=h;h=g,g=v}var p={v:h,w:g};return f&&(p.name=f),p}function u(d,b){return r(d,b.v,b.w,b.name)}return ou}var su,oy;function dT(){return oy||(oy=1,su="2.1.8"),su}var tu,ay;function cT(){return ay||(ay=1,tu={Graph:au(),version:dT()}),tu}var ru,sy;function bT(){if(sy)return ru;sy=1;var e=De(),n=au();ru={write:i,read:s};function i(t){var r={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return e.isUndefined(t.graph())||(r.value=e.clone(t.graph())),r}function o(t){return e.map(t.nodes(),function(r){var l=t.node(r),u=t.parent(r),d={v:r};return e.isUndefined(l)||(d.value=l),e.isUndefined(u)||(d.parent=u),d})}function a(t){return e.map(t.edges(),function(r){var l=t.edge(r),u={v:r.v,w:r.w};return e.isUndefined(r.name)||(u.name=r.name),e.isUndefined(l)||(u.value=l),u})}function s(t){var r=new n(t.options).setGraph(t.value);return e.each(t.nodes,function(l){r.setNode(l.v,l.value),l.parent&&r.setParent(l.v,l.parent)}),e.each(t.edges,function(l){r.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),r}return ru}var lu,ty;function mT(){if(ty)return lu;ty=1;var e=De();lu=n;function n(i){var o={},a=[],s;function t(r){e.has(o,r)||(o[r]=!0,s.push(r),e.each(i.successors(r),t),e.each(i.predecessors(r),t))}return e.each(i.nodes(),function(r){s=[],t(r),s.length&&a.push(s)}),a}return lu}var uu,ry;function ly(){if(ry)return uu;ry=1;var e=De();uu=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(i){return i.key})},n.prototype.has=function(i){return e.has(this._keyIndices,i)},n.prototype.priority=function(i){var o=this._keyIndices[i];if(o!==void 0)return this._arr[o].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(i,o){var a=this._keyIndices;if(i=String(i),!e.has(a,i)){var s=this._arr,t=s.length;return a[i]=t,s.push({key:i,priority:o}),this._decrease(t),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key},n.prototype.decrease=function(i,o){var a=this._keyIndices[i];if(o>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[a].priority+" New: "+o);this._arr[a].priority=o,this._decrease(a)},n.prototype._heapify=function(i){var o=this._arr,a=2*i,s=a+1,t=i;a<o.length&&(t=o[a].priority<o[t].priority?a:t,s<o.length&&(t=o[s].priority<o[t].priority?s:t),t!==i&&(this._swap(i,t),this._heapify(t)))},n.prototype._decrease=function(i){for(var o=this._arr,a=o[i].priority,s;i!==0&&(s=i>>1,!(o[s].priority<a));)this._swap(i,s),i=s},n.prototype._swap=function(i,o){var a=this._arr,s=this._keyIndices,t=a[i],r=a[o];a[i]=r,a[o]=t,s[r.key]=i,s[t.key]=o},uu}var du,uy;function dy(){if(uy)return du;uy=1;var e=De(),n=ly();du=o;var i=e.constant(1);function o(s,t,r,l){return a(s,String(t),r||i,l||function(u){return s.outEdges(u)})}function a(s,t,r,l){var u={},d=new n,b,m,f=function(h){var g=h.v!==b?h.v:h.w,v=u[g],p=r(h),S=m.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+p);S<v.distance&&(v.distance=S,v.predecessor=b,d.decrease(g,S))};for(s.nodes().forEach(function(h){var g=h===t?0:Number.POSITIVE_INFINITY;u[h]={distance:g},d.add(h,g)});d.size()>0&&(b=d.removeMin(),m=u[b],m.distance!==Number.POSITIVE_INFINITY);)l(b).forEach(f);return u}return du}var cu,cy;function fT(){if(cy)return cu;cy=1;var e=dy(),n=De();cu=i;function i(o,a,s){return n.transform(o.nodes(),function(t,r){t[r]=e(o,r,a,s)},{})}return cu}var bu,by;function my(){if(by)return bu;by=1;var e=De();bu=n;function n(i){var o=0,a=[],s={},t=[];function r(l){var u=s[l]={onStack:!0,lowlink:o,index:o++};if(a.push(l),i.successors(l).forEach(function(m){e.has(s,m)?s[m].onStack&&(u.lowlink=Math.min(u.lowlink,s[m].index)):(r(m),u.lowlink=Math.min(u.lowlink,s[m].lowlink))}),u.lowlink===u.index){var d=[],b;do b=a.pop(),s[b].onStack=!1,d.push(b);while(l!==b);t.push(d)}}return i.nodes().forEach(function(l){e.has(s,l)||r(l)}),t}return bu}var mu,fy;function vT(){if(fy)return mu;fy=1;var e=De(),n=my();mu=i;function i(o){return e.filter(n(o),function(a){return a.length>1||a.length===1&&o.hasEdge(a[0],a[0])})}return mu}var fu,vy;function hT(){if(vy)return fu;vy=1;var e=De();fu=i;var n=e.constant(1);function i(a,s,t){return o(a,s||n,t||function(r){return a.outEdges(r)})}function o(a,s,t){var r={},l=a.nodes();return l.forEach(function(u){r[u]={},r[u][u]={distance:0},l.forEach(function(d){u!==d&&(r[u][d]={distance:Number.POSITIVE_INFINITY})}),t(u).forEach(function(d){var b=d.v===u?d.w:d.v,m=s(d);r[u][b]={distance:m,predecessor:u}})}),l.forEach(function(u){var d=r[u];l.forEach(function(b){var m=r[b];l.forEach(function(f){var h=m[u],g=d[f],v=m[f],p=h.distance+g.distance;p<v.distance&&(v.distance=p,v.predecessor=g.predecessor)})})}),r}return fu}var vu,hy;function py(){if(hy)return vu;hy=1;var e=De();vu=n,n.CycleException=i;function n(o){var a={},s={},t=[];function r(l){if(e.has(s,l))throw new i;e.has(a,l)||(s[l]=!0,a[l]=!0,e.each(o.predecessors(l),r),delete s[l],t.push(l))}if(e.each(o.sinks(),r),e.size(a)!==o.nodeCount())throw new i;return t}function i(){}return i.prototype=new Error,vu}var hu,gy;function pT(){if(gy)return hu;gy=1;var e=py();hu=n;function n(i){try{e(i)}catch(o){if(o instanceof e.CycleException)return!1;throw o}return!0}return hu}var pu,yy;function xy(){if(yy)return pu;yy=1;var e=De();pu=n;function n(o,a,s){e.isArray(a)||(a=[a]);var t=(o.isDirected()?o.successors:o.neighbors).bind(o),r=[],l={};return e.each(a,function(u){if(!o.hasNode(u))throw new Error("Graph does not have node: "+u);i(o,u,s==="post",l,t,r)}),r}function i(o,a,s,t,r,l){e.has(t,a)||(t[a]=!0,s||l.push(a),e.each(r(a),function(u){i(o,u,s,t,r,l)}),s&&l.push(a))}return pu}var gu,Sy;function gT(){if(Sy)return gu;Sy=1;var e=xy();gu=n;function n(i,o){return e(i,o,"post")}return gu}var yu,wy;function yT(){if(wy)return yu;wy=1;var e=xy();yu=n;function n(i,o){return e(i,o,"pre")}return yu}var xu,Ay;function xT(){if(Ay)return xu;Ay=1;var e=De(),n=au(),i=ly();xu=o;function o(a,s){var t=new n,r={},l=new i,u;function d(m){var f=m.v===u?m.w:m.v,h=l.priority(f);if(h!==void 0){var g=s(m);g<h&&(r[f]=u,l.decrease(f,g))}}if(a.nodeCount()===0)return t;e.each(a.nodes(),function(m){l.add(m,Number.POSITIVE_INFINITY),t.setNode(m)}),l.decrease(a.nodes()[0],0);for(var b=!1;l.size()>0;){if(u=l.removeMin(),e.has(r,u))t.setEdge(u,r[u]);else{if(b)throw new Error("Input graph is not connected: "+a);b=!0}a.nodeEdges(u).forEach(d)}return t}return xu}var Su,Ny;function ST(){return Ny||(Ny=1,Su={components:mT(),dijkstra:dy(),dijkstraAll:fT(),findCycles:vT(),floydWarshall:hT(),isAcyclic:pT(),postorder:gT(),preorder:yT(),prim:xT(),tarjan:my(),topsort:py()}),Su}var wu,Cy;function wT(){if(Cy)return wu;Cy=1;var e=cT();return wu={Graph:e.Graph,json:bT(),alg:ST(),version:e.version},wu}var Au,_y;function ze(){if(_y)return Au;_y=1;var e;if(typeof cs=="function")try{e=wT()}catch(n){}return e||(e=window.graphlib),Au=e,Au}var Nu,Ey;function AT(){if(Ey)return Nu;Ey=1;var e=Xh(),n=1,i=4;function o(a){return e(a,n|i)}return Nu=o,Nu}var Cu,ky;function Vo(){if(ky)return Cu;ky=1;var e=Wn(),n=on(),i=Lo(),o=Oe();function a(s,t,r){if(!o(r))return!1;var l=typeof t;return(l=="number"?n(r)&&i(t,r.length):l=="string"&&t in r)?e(r[t],s):!1}return Cu=a,Cu}var _u,My;function NT(){if(My)return _u;My=1;var e=Ho(),n=Wn(),i=Vo(),o=Cn(),a=Object.prototype,s=a.hasOwnProperty,t=e(function(r,l){r=Object(r);var u=-1,d=l.length,b=d>2?l[2]:void 0;for(b&&i(l[0],l[1],b)&&(d=1);++u<d;)for(var m=l[u],f=o(m),h=-1,g=f.length;++h<g;){var v=f[h],p=r[v];(p===void 0||n(p,a[v])&&!s.call(r,v))&&(r[v]=m[v])}return r});return _u=t,_u}var Eu,Ty;function CT(){if(Ty)return Eu;Ty=1;var e=an(),n=on(),i=bn();function o(a){return function(s,t,r){var l=Object(s);if(!n(s)){var u=e(t,3);s=i(s),t=function(b){return u(l[b],b,l)}}var d=a(s,t,r);return d>-1?l[u?s[d]:d]:void 0}}return Eu=o,Eu}var ku,Py;function _T(){if(Py)return ku;Py=1;var e=/\s/;function n(i){for(var o=i.length;o--&&e.test(i.charAt(o)););return o}return ku=n,ku}var Mu,Iy;function ET(){if(Iy)return Mu;Iy=1;var e=_T(),n=/^\s+/;function i(o){return o&&o.slice(0,e(o)+1).replace(n,"")}return Mu=i,Mu}var Tu,Ly;function kT(){if(Ly)return Tu;Ly=1;var e=ET(),n=Oe(),i=Zn(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,t=/^0o[0-7]+$/i,r=parseInt;function l(u){if(typeof u=="number")return u;if(i(u))return o;if(n(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=n(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=e(u);var b=s.test(u);return b||t.test(u)?r(u.slice(2),b?2:8):a.test(u)?o:+u}return Tu=l,Tu}var Pu,By;function Oy(){if(By)return Pu;By=1;var e=kT(),n=1/0,i=17976931348623157e292;function o(a){if(!a)return a===0?a:0;if(a=e(a),a===n||a===-n){var s=a<0?-1:1;return s*i}return a===a?a:0}return Pu=o,Pu}var Iu,Dy;function MT(){if(Dy)return Iu;Dy=1;var e=Oy();function n(i){var o=e(i),a=o%1;return o===o?a?o-a:o:0}return Iu=n,Iu}var Lu,qy;function TT(){if(qy)return Lu;qy=1;var e=Kg(),n=an(),i=MT(),o=Math.max;function a(s,t,r){var l=s==null?0:s.length;if(!l)return-1;var u=r==null?0:i(r);return u<0&&(u=o(l+u,0)),e(s,n(t,3),u)}return Lu=a,Lu}var Bu,Fy;function PT(){if(Fy)return Bu;Fy=1;var e=CT(),n=TT(),i=e(n);return Bu=i,Bu}var Ou,Gy;function Ky(){if(Gy)return Ou;Gy=1;var e=Dl();function n(i){var o=i==null?0:i.length;return o?e(i,1):[]}return Ou=n,Ou}var Du,Hy;function IT(){if(Hy)return Du;Hy=1;var e=wr(),n=rp(),i=Cn();function o(a,s){return a==null?a:e(a,n(s),i)}return Du=o,Du}var qu,Vy;function LT(){if(Vy)return qu;Vy=1;function e(n){var i=n==null?0:n.length;return i?n[i-1]:void 0}return qu=e,qu}var Fu,zy;function BT(){if(zy)return Fu;zy=1;var e=Po(),n=Nr(),i=an();function o(a,s){var t={};return s=i(s,3),n(a,function(r,l,u){e(t,l,s(r,l,u))}),t}return Fu=o,Fu}var Gu,jy;function Ku(){if(jy)return Gu;jy=1;var e=Zn();function n(i,o,a){for(var s=-1,t=i.length;++s<t;){var r=i[s],l=o(r);if(l!=null&&(u===void 0?l===l&&!e(l):a(l,u)))var u=l,d=r}return d}return Gu=n,Gu}var Hu,Uy;function OT(){if(Uy)return Hu;Uy=1;function e(n,i){return n>i}return Hu=e,Hu}var Vu,Wy;function DT(){if(Wy)return Vu;Wy=1;var e=Ku(),n=OT(),i=_n();function o(a){return a&&a.length?e(a,i,n):void 0}return Vu=o,Vu}var zu,$y;function Yy(){if($y)return zu;$y=1;var e=Po(),n=Wn();function i(o,a,s){(s!==void 0&&!n(o[a],s)||s===void 0&&!(a in o))&&e(o,a,s)}return zu=i,zu}var ju,Jy;function qT(){if(Jy)return ju;Jy=1;var e=An(),n=Do(),i=Ye(),o="[object Object]",a=Function.prototype,s=Object.prototype,t=a.toString,r=s.hasOwnProperty,l=t.call(Object);function u(d){if(!i(d)||e(d)!=o)return!1;var b=n(d);if(b===null)return!0;var m=r.call(b,"constructor")&&b.constructor;return typeof m=="function"&&m instanceof m&&t.call(m)==l}return ju=u,ju}var Uu,Zy;function Xy(){if(Zy)return Uu;Zy=1;function e(n,i){if(!(i==="constructor"&&typeof n[i]=="function")&&i!="__proto__")return n[i]}return Uu=e,Uu}var Wu,Qy;function FT(){if(Qy)return Wu;Qy=1;var e=Ai(),n=Cn();function i(o){return e(o,n(o))}return Wu=i,Wu}var $u,Ry;function GT(){if(Ry)return $u;Ry=1;var e=Yy(),n=rh(),i=Kh(),o=uh(),a=Uh(),s=Ni(),t=Ae(),r=Zg(),l=Yn(),u=wi(),d=Oe(),b=qT(),m=Ei(),f=Xy(),h=FT();function g(v,p,S,y,x,w,A){var N=f(v,S),E=f(p,S),_=A.get(E);if(_){e(v,S,_);return}var P=w?w(N,E,S+"",v,p,A):void 0,k=P===void 0;if(k){var M=t(E),L=!M&&l(E),T=!M&&!L&&m(E);P=E,M||L||T?t(N)?P=N:r(N)?P=o(N):L?(k=!1,P=n(E,!0)):T?(k=!1,P=i(E,!0)):P=[]:b(E)||s(E)?(P=N,s(N)?P=h(N):(!d(N)||u(N))&&(P=a(E))):k=!1}k&&(A.set(E,P),x(P,E,y,w,A),A.delete(E)),e(v,S,P)}return $u=g,$u}var Yu,e0;function KT(){if(e0)return Yu;e0=1;var e=To(),n=Yy(),i=wr(),o=GT(),a=Oe(),s=Cn(),t=Xy();function r(l,u,d,b,m){l!==u&&i(u,function(f,h){if(m||(m=new e),a(f))o(l,u,h,d,r,b,m);else{var g=b?b(t(l,h),f,h+"",l,u,m):void 0;g===void 0&&(g=f),n(l,h,g)}},s)}return Yu=r,Yu}var Ju,n0;function HT(){if(n0)return Ju;n0=1;var e=Ho(),n=Vo();function i(o){return e(function(a,s){var t=-1,r=s.length,l=r>1?s[r-1]:void 0,u=r>2?s[2]:void 0;for(l=o.length>3&&typeof l=="function"?(r--,l):void 0,u&&n(s[0],s[1],u)&&(l=r<3?void 0:l,r=1),a=Object(a);++t<r;){var d=s[t];d&&o(a,d,t,l)}return a})}return Ju=i,Ju}var Zu,i0;function VT(){if(i0)return Zu;i0=1;var e=KT(),n=HT(),i=n(function(o,a,s){e(o,a,s)});return Zu=i,Zu}var Xu,o0;function a0(){if(o0)return Xu;o0=1;function e(n,i){return n<i}return Xu=e,Xu}var Qu,s0;function zT(){if(s0)return Qu;s0=1;var e=Ku(),n=a0(),i=_n();function o(a){return a&&a.length?e(a,i,n):void 0}return Qu=o,Qu}var Ru,t0;function jT(){if(t0)return Ru;t0=1;var e=Ku(),n=an(),i=a0();function o(a,s){return a&&a.length?e(a,n(s,2),i):void 0}return Ru=o,Ru}var ed,r0;function UT(){if(r0)return ed;r0=1;var e=Ve(),n=function(){return e.Date.now()};return ed=n,ed}var nd,l0;function WT(){if(l0)return nd;l0=1;var e=Io(),n=Go(),i=Lo(),o=Oe(),a=Mi();function s(t,r,l,u){if(!o(t))return t;r=n(r,t);for(var d=-1,b=r.length,m=b-1,f=t;f!=null&&++d<b;){var h=a(r[d]),g=l;if(h==="__proto__"||h==="constructor"||h==="prototype")return t;if(d!=m){var v=f[h];g=u?u(v,h,f):void 0,g===void 0&&(g=o(v)?v:i(r[d+1])?[]:{})}e(f,h,g),f=f[h]}return t}return nd=s,nd}var id,u0;function $T(){if(u0)return id;u0=1;var e=Ko(),n=WT(),i=Go();function o(a,s,t){for(var r=-1,l=s.length,u={};++r<l;){var d=s[r],b=e(a,d);t(b,d)&&n(u,i(d,a),b)}return u}return id=o,id}var od,d0;function YT(){if(d0)return od;d0=1;var e=$T(),n=Rp();function i(o,a){return e(o,a,function(s,t){return n(o,t)})}return od=i,od}var ad,c0;function JT(){if(c0)return ad;c0=1;var e=Ky(),n=Lg(),i=qg();function o(a){return i(n(a,void 0,e),a+"")}return ad=o,ad}var sd,b0;function ZT(){if(b0)return sd;b0=1;var e=YT(),n=JT(),i=n(function(o,a){return o==null?{}:e(o,a)});return sd=i,sd}var td,m0;function XT(){if(m0)return td;m0=1;var e=Math.ceil,n=Math.max;function i(o,a,s,t){for(var r=-1,l=n(e((a-o)/(s||1)),0),u=Array(l);l--;)u[t?l:++r]=o,o+=s;return u}return td=i,td}var rd,f0;function QT(){if(f0)return rd;f0=1;var e=XT(),n=Vo(),i=Oy();function o(a){return function(s,t,r){return r&&typeof r!="number"&&n(s,t,r)&&(t=r=void 0),s=i(s),t===void 0?(t=s,s=0):t=i(t),r=r===void 0?s<t?1:-1:i(r),e(s,t,r,a)}}return rd=o,rd}var ld,v0;function RT(){if(v0)return ld;v0=1;var e=QT(),n=e();return ld=n,ld}var ud,h0;function eP(){if(h0)return ud;h0=1;function e(n,i){var o=n.length;for(n.sort(i);o--;)n[o]=n[o].value;return n}return ud=e,ud}var dd,p0;function nP(){if(p0)return dd;p0=1;var e=Zn();function n(i,o){if(i!==o){var a=i!==void 0,s=i===null,t=i===i,r=e(i),l=o!==void 0,u=o===null,d=o===o,b=e(o);if(!u&&!b&&!r&&i>o||r&&l&&d&&!u&&!b||s&&l&&d||!a&&d||!t)return 1;if(!s&&!r&&!b&&i<o||b&&a&&t&&!s&&!r||u&&a&&t||!l&&t||!d)return-1}return 0}return dd=n,dd}var cd,g0;function iP(){if(g0)return cd;g0=1;var e=nP();function n(i,o,a){for(var s=-1,t=i.criteria,r=o.criteria,l=t.length,u=a.length;++s<l;){var d=e(t[s],r[s]);if(d){if(s>=u)return d;var b=a[s];return d*(b=="desc"?-1:1)}}return i.index-o.index}return cd=n,cd}var bd,y0;function oP(){if(y0)return bd;y0=1;var e=Fo(),n=Ko(),i=an(),o=vg(),a=eP(),s=Bo(),t=iP(),r=_n(),l=Ae();function u(d,b,m){b.length?b=e(b,function(g){return l(g)?function(v){return n(v,g.length===1?g[0]:g)}:g}):b=[r];var f=-1;b=e(b,s(i));var h=o(d,function(g,v,p){var S=e(b,function(y){return y(g)});return{criteria:S,index:++f,value:g}});return a(h,function(g,v){return t(g,v,m)})}return bd=u,bd}var md,x0;function aP(){if(x0)return md;x0=1;var e=Dl(),n=oP(),i=Ho(),o=Vo(),a=i(function(s,t){if(s==null)return[];var r=t.length;return r>1&&o(s,t[0],t[1])?t=[]:r>2&&o(t[0],t[1],t[2])&&(t=[t[0]]),n(s,e(t,1),[])});return md=a,md}var fd,S0;function sP(){if(S0)return fd;S0=1;var e=jp(),n=0;function i(o){var a=++n;return e(o)+a}return fd=i,fd}var vd,w0;function tP(){if(w0)return vd;w0=1;function e(n,i,o){for(var a=-1,s=n.length,t=i.length,r={};++a<s;){var l=a<t?i[a]:void 0;o(r,n[a],l)}return r}return vd=e,vd}var hd,A0;function rP(){if(A0)return hd;A0=1;var e=Io(),n=tP();function i(o,a){return n(o||[],a||[],e)}return hd=i,hd}var pd,N0;function ye(){if(N0)return pd;N0=1;var e;if(typeof cs=="function")try{e={cloneDeep:AT(),constant:yr(),defaults:NT(),each:cp(),filter:rg(),find:PT(),flatten:Ky(),forEach:up(),forIn:IT(),has:dg(),isUndefined:mg(),last:LT(),map:pg(),mapValues:BT(),max:DT(),merge:VT(),min:zT(),minBy:jT(),now:UT(),pick:ZT(),range:RT(),reduce:Sg(),sortBy:aP(),uniqueId:sP(),values:ey(),zipObject:rP()}}catch(n){}return e||(e=window._),pd=e,pd}var gd,C0;function lP(){if(C0)return gd;C0=1,gd=e;function e(){var o={};o._next=o._prev=o,this._sentinel=o}e.prototype.dequeue=function(){var o=this._sentinel,a=o._prev;if(a!==o)return n(a),a},e.prototype.enqueue=function(o){var a=this._sentinel;o._prev&&o._next&&n(o),o._next=a._next,a._next._prev=o,a._next=o,o._prev=a},e.prototype.toString=function(){for(var o=[],a=this._sentinel,s=a._prev;s!==a;)o.push(JSON.stringify(s,i)),s=s._prev;return"["+o.join(", ")+"]"};function n(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function i(o,a){if(o!=="_next"&&o!=="_prev")return a}return gd}var yd,_0;function uP(){if(_0)return yd;_0=1;var e=ye(),n=ze().Graph,i=lP();yd=a;var o=e.constant(1);function a(u,d){if(u.nodeCount()<=1)return[];var b=r(u,d||o),m=s(b.graph,b.buckets,b.zeroIdx);return e.flatten(e.map(m,function(f){return u.outEdges(f.v,f.w)}),!0)}function s(u,d,b){for(var m=[],f=d[d.length-1],h=d[0],g;u.nodeCount();){for(;g=h.dequeue();)t(u,d,b,g);for(;g=f.dequeue();)t(u,d,b,g);if(u.nodeCount()){for(var v=d.length-2;v>0;--v)if(g=d[v].dequeue(),g){m=m.concat(t(u,d,b,g,!0));break}}}return m}function t(u,d,b,m,f){var h=f?[]:void 0;return e.forEach(u.inEdges(m.v),function(g){var v=u.edge(g),p=u.node(g.v);f&&h.push({v:g.v,w:g.w}),p.out-=v,l(d,b,p)}),e.forEach(u.outEdges(m.v),function(g){var v=u.edge(g),p=g.w,S=u.node(p);S.in-=v,l(d,b,S)}),u.removeNode(m.v),h}function r(u,d){var b=new n,m=0,f=0;e.forEach(u.nodes(),function(v){b.setNode(v,{v,in:0,out:0})}),e.forEach(u.edges(),function(v){var p=b.edge(v.v,v.w)||0,S=d(v),y=p+S;b.setEdge(v.v,v.w,y),f=Math.max(f,b.node(v.v).out+=S),m=Math.max(m,b.node(v.w).in+=S)});var h=e.range(f+m+3).map(function(){return new i}),g=m+1;return e.forEach(b.nodes(),function(v){l(h,g,b.node(v))}),{graph:b,buckets:h,zeroIdx:g}}function l(u,d,b){b.out?b.in?u[b.out-b.in+d].enqueue(b):u[u.length-1].enqueue(b):u[0].enqueue(b)}return yd}var xd,E0;function dP(){if(E0)return xd;E0=1;var e=ye(),n=uP();xd={run:i,undo:a};function i(s){var t=s.graph().acyclicer==="greedy"?n(s,r(s)):o(s);e.forEach(t,function(l){var u=s.edge(l);s.removeEdge(l),u.forwardName=l.name,u.reversed=!0,s.setEdge(l.w,l.v,u,e.uniqueId("rev"))});function r(l){return function(u){return l.edge(u).weight}}}function o(s){var t=[],r={},l={};function u(d){e.has(l,d)||(l[d]=!0,r[d]=!0,e.forEach(s.outEdges(d),function(b){e.has(r,b.w)?t.push(b):u(b.w)}),delete r[d])}return e.forEach(s.nodes(),u),t}function a(s){e.forEach(s.edges(),function(t){var r=s.edge(t);if(r.reversed){s.removeEdge(t);var l=r.forwardName;delete r.reversed,delete r.forwardName,s.setEdge(t.w,t.v,r,l)}})}return xd}var Sd,k0;function Me(){if(k0)return Sd;k0=1;var e=ye(),n=ze().Graph;Sd={addDummyNode:i,simplify:o,asNonCompoundGraph:a,successorWeights:s,predecessorWeights:t,intersectRect:r,buildLayerMatrix:l,normalizeRanks:u,removeEmptyRanks:d,addBorderNode:b,maxRank:m,partition:f,time:h,notime:g};function i(v,p,S,y){var x;do x=e.uniqueId(y);while(v.hasNode(x));return S.dummy=p,v.setNode(x,S),x}function o(v){var p=new n().setGraph(v.graph());return e.forEach(v.nodes(),function(S){p.setNode(S,v.node(S))}),e.forEach(v.edges(),function(S){var y=p.edge(S.v,S.w)||{weight:0,minlen:1},x=v.edge(S);p.setEdge(S.v,S.w,{weight:y.weight+x.weight,minlen:Math.max(y.minlen,x.minlen)})}),p}function a(v){var p=new n({multigraph:v.isMultigraph()}).setGraph(v.graph());return e.forEach(v.nodes(),function(S){v.children(S).length||p.setNode(S,v.node(S))}),e.forEach(v.edges(),function(S){p.setEdge(S,v.edge(S))}),p}function s(v){var p=e.map(v.nodes(),function(S){var y={};return e.forEach(v.outEdges(S),function(x){y[x.w]=(y[x.w]||0)+v.edge(x).weight}),y});return e.zipObject(v.nodes(),p)}function t(v){var p=e.map(v.nodes(),function(S){var y={};return e.forEach(v.inEdges(S),function(x){y[x.v]=(y[x.v]||0)+v.edge(x).weight}),y});return e.zipObject(v.nodes(),p)}function r(v,p){var S=v.x,y=v.y,x=p.x-S,w=p.y-y,A=v.width/2,N=v.height/2;if(!x&&!w)throw new Error("Not possible to find intersection inside of the rectangle");var E,_;return Math.abs(w)*A>Math.abs(x)*N?(w<0&&(N=-N),E=N*x/w,_=N):(x<0&&(A=-A),E=A,_=A*w/x),{x:S+E,y:y+_}}function l(v){var p=e.map(e.range(m(v)+1),function(){return[]});return e.forEach(v.nodes(),function(S){var y=v.node(S),x=y.rank;e.isUndefined(x)||(p[x][y.order]=S)}),p}function u(v){var p=e.min(e.map(v.nodes(),function(S){return v.node(S).rank}));e.forEach(v.nodes(),function(S){var y=v.node(S);e.has(y,"rank")&&(y.rank-=p)})}function d(v){var p=e.min(e.map(v.nodes(),function(w){return v.node(w).rank})),S=[];e.forEach(v.nodes(),function(w){var A=v.node(w).rank-p;S[A]||(S[A]=[]),S[A].push(w)});var y=0,x=v.graph().nodeRankFactor;e.forEach(S,function(w,A){e.isUndefined(w)&&A%x!==0?--y:y&&e.forEach(w,function(N){v.node(N).rank+=y})})}function b(v,p,S,y){var x={width:0,height:0};return arguments.length>=4&&(x.rank=S,x.order=y),i(v,"border",x,p)}function m(v){return e.max(e.map(v.nodes(),function(p){var S=v.node(p).rank;if(!e.isUndefined(S))return S}))}function f(v,p){var S={lhs:[],rhs:[]};return e.forEach(v,function(y){p(y)?S.lhs.push(y):S.rhs.push(y)}),S}function h(v,p){var S=e.now();try{return p()}finally{console.log(v+" time: "+(e.now()-S)+"ms")}}function g(v,p){return p()}return Sd}var wd,M0;function cP(){if(M0)return wd;M0=1;var e=ye(),n=Me();wd={run:i,undo:a};function i(s){s.graph().dummyChains=[],e.forEach(s.edges(),function(t){o(s,t)})}function o(s,t){var r=t.v,l=s.node(r).rank,u=t.w,d=s.node(u).rank,b=t.name,m=s.edge(t),f=m.labelRank;if(d!==l+1){s.removeEdge(t);var h,g,v;for(v=0,++l;l<d;++v,++l)m.points=[],g={width:0,height:0,edgeLabel:m,edgeObj:t,rank:l},h=n.addDummyNode(s,"edge",g,"_d"),l===f&&(g.width=m.width,g.height=m.height,g.dummy="edge-label",g.labelpos=m.labelpos),s.setEdge(r,h,{weight:m.weight},b),v===0&&s.graph().dummyChains.push(h),r=h;s.setEdge(r,u,{weight:m.weight},b)}}function a(s){e.forEach(s.graph().dummyChains,function(t){var r=s.node(t),l=r.edgeLabel,u;for(s.setEdge(r.edgeObj,l);r.dummy;)u=s.successors(t)[0],s.removeNode(t),l.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(l.x=r.x,l.y=r.y,l.width=r.width,l.height=r.height),t=u,r=s.node(t)})}return wd}var Ad,T0;function zo(){if(T0)return Ad;T0=1;var e=ye();Ad={longestPath:n,slack:i};function n(o){var a={};function s(t){var r=o.node(t);if(e.has(a,t))return r.rank;a[t]=!0;var l=e.min(e.map(o.outEdges(t),function(u){return s(u.w)-o.edge(u).minlen}));return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),r.rank=l}e.forEach(o.sources(),s)}function i(o,a){return o.node(a.w).rank-o.node(a.v).rank-o.edge(a).minlen}return Ad}var Nd,P0;function I0(){if(P0)return Nd;P0=1;var e=ye(),n=ze().Graph,i=zo().slack;Nd=o;function o(r){var l=new n({directed:!1}),u=r.nodes()[0],d=r.nodeCount();l.setNode(u,{});for(var b,m;a(l,r)<d;)b=s(l,r),m=l.hasNode(b.v)?i(r,b):-i(r,b),t(l,r,m);return l}function a(r,l){function u(d){e.forEach(l.nodeEdges(d),function(b){var m=b.v,f=d===m?b.w:m;!r.hasNode(f)&&!i(l,b)&&(r.setNode(f,{}),r.setEdge(d,f,{}),u(f))})}return e.forEach(r.nodes(),u),r.nodeCount()}function s(r,l){return e.minBy(l.edges(),function(u){if(r.hasNode(u.v)!==r.hasNode(u.w))return i(l,u)})}function t(r,l,u){e.forEach(r.nodes(),function(d){l.node(d).rank+=u})}return Nd}var Cd,L0;function bP(){if(L0)return Cd;L0=1;var e=ye(),n=I0(),i=zo().slack,o=zo().longestPath,a=ze().alg.preorder,s=ze().alg.postorder,t=Me().simplify;Cd=r,r.initLowLimValues=b,r.initCutValues=l,r.calcCutValue=d,r.leaveEdge=f,r.enterEdge=h,r.exchangeEdges=g;function r(y){y=t(y),o(y);var x=n(y);b(x),l(x,y);for(var w,A;w=f(x);)A=h(x,y,w),g(x,y,w,A)}function l(y,x){var w=s(y,y.nodes());w=w.slice(0,w.length-1),e.forEach(w,function(A){u(y,x,A)})}function u(y,x,w){var A=y.node(w),N=A.parent;y.edge(w,N).cutvalue=d(y,x,w)}function d(y,x,w){var A=y.node(w),N=A.parent,E=!0,_=x.edge(w,N),P=0;return _||(E=!1,_=x.edge(N,w)),P=_.weight,e.forEach(x.nodeEdges(w),function(k){var M=k.v===w,L=M?k.w:k.v;if(L!==N){var T=M===E,O=x.edge(k).weight;if(P+=T?O:-O,p(y,w,L)){var B=y.edge(w,L).cutvalue;P+=T?-B:B}}}),P}function b(y,x){arguments.length<2&&(x=y.nodes()[0]),m(y,{},1,x)}function m(y,x,w,A,N){var E=w,_=y.node(A);return x[A]=!0,e.forEach(y.neighbors(A),function(P){e.has(x,P)||(w=m(y,x,w,P,A))}),_.low=E,_.lim=w++,N?_.parent=N:delete _.parent,w}function f(y){return e.find(y.edges(),function(x){return y.edge(x).cutvalue<0})}function h(y,x,w){var A=w.v,N=w.w;x.hasEdge(A,N)||(A=w.w,N=w.v);var E=y.node(A),_=y.node(N),P=E,k=!1;E.lim>_.lim&&(P=_,k=!0);var M=e.filter(x.edges(),function(L){return k===S(y,y.node(L.v),P)&&k!==S(y,y.node(L.w),P)});return e.minBy(M,function(L){return i(x,L)})}function g(y,x,w,A){var N=w.v,E=w.w;y.removeEdge(N,E),y.setEdge(A.v,A.w,{}),b(y),l(y,x),v(y,x)}function v(y,x){var w=e.find(y.nodes(),function(N){return!x.node(N).parent}),A=a(y,w);A=A.slice(1),e.forEach(A,function(N){var E=y.node(N).parent,_=x.edge(N,E),P=!1;_||(_=x.edge(E,N),P=!0),x.node(N).rank=x.node(E).rank+(P?_.minlen:-_.minlen)})}function p(y,x,w){return y.hasEdge(x,w)}function S(y,x,w){return w.low<=x.lim&&x.lim<=w.lim}return Cd}var _d,B0;function mP(){if(B0)return _d;B0=1;var e=zo(),n=e.longestPath,i=I0(),o=bP();_d=a;function a(l){switch(l.graph().ranker){case"network-simplex":r(l);break;case"tight-tree":t(l);break;case"longest-path":s(l);break;default:r(l)}}var s=n;function t(l){n(l),i(l)}function r(l){o(l)}return _d}var Ed,O0;function fP(){if(O0)return Ed;O0=1;var e=ye();Ed=n;function n(a){var s=o(a);e.forEach(a.graph().dummyChains,function(t){for(var r=a.node(t),l=r.edgeObj,u=i(a,s,l.v,l.w),d=u.path,b=u.lca,m=0,f=d[m],h=!0;t!==l.w;){if(r=a.node(t),h){for(;(f=d[m])!==b&&a.node(f).maxRank<r.rank;)m++;f===b&&(h=!1)}if(!h){for(;m<d.length-1&&a.node(f=d[m+1]).minRank<=r.rank;)m++;f=d[m]}a.setParent(t,f),t=a.successors(t)[0]}})}function i(a,s,t,r){var l=[],u=[],d=Math.min(s[t].low,s[r].low),b=Math.max(s[t].lim,s[r].lim),m,f;m=t;do m=a.parent(m),l.push(m);while(m&&(s[m].low>d||b>s[m].lim));for(f=m,m=r;(m=a.parent(m))!==f;)u.push(m);return{path:l.concat(u.reverse()),lca:f}}function o(a){var s={},t=0;function r(l){var u=t;e.forEach(a.children(l),r),s[l]={low:u,lim:t++}}return e.forEach(a.children(),r),s}return Ed}var kd,D0;function vP(){if(D0)return kd;D0=1;var e=ye(),n=Me();kd={run:i,cleanup:t};function i(r){var l=n.addDummyNode(r,"root",{},"_root"),u=a(r),d=e.max(e.values(u))-1,b=2*d+1;r.graph().nestingRoot=l,e.forEach(r.edges(),function(f){r.edge(f).minlen*=b});var m=s(r)+1;e.forEach(r.children(),function(f){o(r,l,b,m,d,u,f)}),r.graph().nodeRankFactor=b}function o(r,l,u,d,b,m,f){var h=r.children(f);if(!h.length){f!==l&&r.setEdge(l,f,{weight:0,minlen:u});return}var g=n.addBorderNode(r,"_bt"),v=n.addBorderNode(r,"_bb"),p=r.node(f);r.setParent(g,f),p.borderTop=g,r.setParent(v,f),p.borderBottom=v,e.forEach(h,function(S){o(r,l,u,d,b,m,S);var y=r.node(S),x=y.borderTop?y.borderTop:S,w=y.borderBottom?y.borderBottom:S,A=y.borderTop?d:2*d,N=x!==w?1:b-m[f]+1;r.setEdge(g,x,{weight:A,minlen:N,nestingEdge:!0}),r.setEdge(w,v,{weight:A,minlen:N,nestingEdge:!0})}),r.parent(f)||r.setEdge(l,g,{weight:0,minlen:b+m[f]})}function a(r){var l={};function u(d,b){var m=r.children(d);m&&m.length&&e.forEach(m,function(f){u(f,b+1)}),l[d]=b}return e.forEach(r.children(),function(d){u(d,1)}),l}function s(r){return e.reduce(r.edges(),function(l,u){return l+r.edge(u).weight},0)}function t(r){var l=r.graph();r.removeNode(l.nestingRoot),delete l.nestingRoot,e.forEach(r.edges(),function(u){var d=r.edge(u);d.nestingEdge&&r.removeEdge(u)})}return kd}var Md,q0;function hP(){if(q0)return Md;q0=1;var e=ye(),n=Me();Md=i;function i(a){function s(t){var r=a.children(t),l=a.node(t);if(r.length&&e.forEach(r,s),e.has(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(var u=l.minRank,d=l.maxRank+1;u<d;++u)o(a,"borderLeft","_bl",t,l,u),o(a,"borderRight","_br",t,l,u)}}e.forEach(a.children(),s)}function o(a,s,t,r,l,u){var d={width:0,height:0,rank:u,borderType:s},b=l[s][u-1],m=n.addDummyNode(a,"border",d,t);l[s][u]=m,a.setParent(m,r),b&&a.setEdge(b,m,{weight:1})}return Md}var Td,F0;function pP(){if(F0)return Td;F0=1;var e=ye();Td={adjust:n,undo:i};function n(u){var d=u.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&o(u)}function i(u){var d=u.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(u),(d==="lr"||d==="rl")&&(r(u),o(u))}function o(u){e.forEach(u.nodes(),function(d){a(u.node(d))}),e.forEach(u.edges(),function(d){a(u.edge(d))})}function a(u){var d=u.width;u.width=u.height,u.height=d}function s(u){e.forEach(u.nodes(),function(d){t(u.node(d))}),e.forEach(u.edges(),function(d){var b=u.edge(d);e.forEach(b.points,t),e.has(b,"y")&&t(b)})}function t(u){u.y=-u.y}function r(u){e.forEach(u.nodes(),function(d){l(u.node(d))}),e.forEach(u.edges(),function(d){var b=u.edge(d);e.forEach(b.points,l),e.has(b,"x")&&l(b)})}function l(u){var d=u.x;u.x=u.y,u.y=d}return Td}var Pd,G0;function gP(){if(G0)return Pd;G0=1;var e=ye();Pd=n;function n(i){var o={},a=e.filter(i.nodes(),function(u){return!i.children(u).length}),s=e.max(e.map(a,function(u){return i.node(u).rank})),t=e.map(e.range(s+1),function(){return[]});function r(u){if(!e.has(o,u)){o[u]=!0;var d=i.node(u);t[d.rank].push(u),e.forEach(i.successors(u),r)}}var l=e.sortBy(a,function(u){return i.node(u).rank});return e.forEach(l,r),t}return Pd}var Id,K0;function yP(){if(K0)return Id;K0=1;var e=ye();Id=n;function n(o,a){for(var s=0,t=1;t<a.length;++t)s+=i(o,a[t-1],a[t]);return s}function i(o,a,s){for(var t=e.zipObject(s,e.map(s,function(m,f){return f})),r=e.flatten(e.map(a,function(m){return e.sortBy(e.map(o.outEdges(m),function(f){return{pos:t[f.w],weight:o.edge(f).weight}}),"pos")}),!0),l=1;l<s.length;)l<<=1;var u=2*l-1;l-=1;var d=e.map(new Array(u),function(){return 0}),b=0;return e.forEach(r.forEach(function(m){var f=m.pos+l;d[f]+=m.weight;for(var h=0;f>0;)f%2&&(h+=d[f+1]),f=f-1>>1,d[f]+=m.weight;b+=m.weight*h})),b}return Id}var Ld,H0;function xP(){if(H0)return Ld;H0=1;var e=ye();Ld=n;function n(i,o){return e.map(o,function(a){var s=i.inEdges(a);if(s.length){var t=e.reduce(s,function(r,l){var u=i.edge(l),d=i.node(l.v);return{sum:r.sum+u.weight*d.order,weight:r.weight+u.weight}},{sum:0,weight:0});return{v:a,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:a}})}return Ld}var Bd,V0;function SP(){if(V0)return Bd;V0=1;var e=ye();Bd=n;function n(a,s){var t={};e.forEach(a,function(l,u){var d=t[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:u};e.isUndefined(l.barycenter)||(d.barycenter=l.barycenter,d.weight=l.weight)}),e.forEach(s.edges(),function(l){var u=t[l.v],d=t[l.w];!e.isUndefined(u)&&!e.isUndefined(d)&&(d.indegree++,u.out.push(t[l.w]))});var r=e.filter(t,function(l){return!l.indegree});return i(r)}function i(a){var s=[];function t(u){return function(d){d.merged||(e.isUndefined(d.barycenter)||e.isUndefined(u.barycenter)||d.barycenter>=u.barycenter)&&o(u,d)}}function r(u){return function(d){d.in.push(u),--d.indegree===0&&a.push(d)}}for(;a.length;){var l=a.pop();s.push(l),e.forEach(l.in.reverse(),t(l)),e.forEach(l.out,r(l))}return e.map(e.filter(s,function(u){return!u.merged}),function(u){return e.pick(u,["vs","i","barycenter","weight"])})}function o(a,s){var t=0,r=0;a.weight&&(t+=a.barycenter*a.weight,r+=a.weight),s.weight&&(t+=s.barycenter*s.weight,r+=s.weight),a.vs=s.vs.concat(a.vs),a.barycenter=t/r,a.weight=r,a.i=Math.min(s.i,a.i),s.merged=!0}return Bd}var Od,z0;function wP(){if(z0)return Od;z0=1;var e=ye(),n=Me();Od=i;function i(s,t){var r=n.partition(s,function(g){return e.has(g,"barycenter")}),l=r.lhs,u=e.sortBy(r.rhs,function(g){return-g.i}),d=[],b=0,m=0,f=0;l.sort(a(!!t)),f=o(d,u,f),e.forEach(l,function(g){f+=g.vs.length,d.push(g.vs),b+=g.barycenter*g.weight,m+=g.weight,f=o(d,u,f)});var h={vs:e.flatten(d,!0)};return m&&(h.barycenter=b/m,h.weight=m),h}function o(s,t,r){for(var l;t.length&&(l=e.last(t)).i<=r;)t.pop(),s.push(l.vs),r++;return r}function a(s){return function(t,r){return t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:s?r.i-t.i:t.i-r.i}}return Od}var Dd,j0;function AP(){if(j0)return Dd;j0=1;var e=ye(),n=xP(),i=SP(),o=wP();Dd=a;function a(r,l,u,d){var b=r.children(l),m=r.node(l),f=m?m.borderLeft:void 0,h=m?m.borderRight:void 0,g={};f&&(b=e.filter(b,function(w){return w!==f&&w!==h}));var v=n(r,b);e.forEach(v,function(w){if(r.children(w.v).length){var A=a(r,w.v,u,d);g[w.v]=A,e.has(A,"barycenter")&&t(w,A)}});var p=i(v,u);s(p,g);var S=o(p,d);if(f&&(S.vs=e.flatten([f,S.vs,h],!0),r.predecessors(f).length)){var y=r.node(r.predecessors(f)[0]),x=r.node(r.predecessors(h)[0]);e.has(S,"barycenter")||(S.barycenter=0,S.weight=0),S.barycenter=(S.barycenter*S.weight+y.order+x.order)/(S.weight+2),S.weight+=2}return S}function s(r,l){e.forEach(r,function(u){u.vs=e.flatten(u.vs.map(function(d){return l[d]?l[d].vs:d}),!0)})}function t(r,l){e.isUndefined(r.barycenter)?(r.barycenter=l.barycenter,r.weight=l.weight):(r.barycenter=(r.barycenter*r.weight+l.barycenter*l.weight)/(r.weight+l.weight),r.weight+=l.weight)}return Dd}var qd,U0;function NP(){if(U0)return qd;U0=1;var e=ye(),n=ze().Graph;qd=i;function i(a,s,t){var r=o(a),l=new n({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(u){return a.node(u)});return e.forEach(a.nodes(),function(u){var d=a.node(u),b=a.parent(u);(d.rank===s||d.minRank<=s&&s<=d.maxRank)&&(l.setNode(u),l.setParent(u,b||r),e.forEach(a[t](u),function(m){var f=m.v===u?m.w:m.v,h=l.edge(f,u),g=e.isUndefined(h)?0:h.weight;l.setEdge(f,u,{weight:a.edge(m).weight+g})}),e.has(d,"minRank")&&l.setNode(u,{borderLeft:d.borderLeft[s],borderRight:d.borderRight[s]}))}),l}function o(a){for(var s;a.hasNode(s=e.uniqueId("_root")););return s}return qd}var Fd,W0;function CP(){if(W0)return Fd;W0=1;var e=ye();Fd=n;function n(i,o,a){var s={},t;e.forEach(a,function(r){for(var l=i.parent(r),u,d;l;){if(u=i.parent(l),u?(d=s[u],s[u]=l):(d=t,t=l),d&&d!==l){o.setEdge(d,l);return}l=u}})}return Fd}var Gd,$0;function _P(){if($0)return Gd;$0=1;var e=ye(),n=gP(),i=yP(),o=AP(),a=NP(),s=CP(),t=ze().Graph,r=Me();Gd=l;function l(m){var f=r.maxRank(m),h=u(m,e.range(1,f+1),"inEdges"),g=u(m,e.range(f-1,-1,-1),"outEdges"),v=n(m);b(m,v);for(var p=Number.POSITIVE_INFINITY,S,y=0,x=0;x<4;++y,++x){d(y%2?h:g,y%4>=2),v=r.buildLayerMatrix(m);var w=i(m,v);w<p&&(x=0,S=e.cloneDeep(v),p=w)}b(m,S)}function u(m,f,h){return e.map(f,function(g){return a(m,g,h)})}function d(m,f){var h=new t;e.forEach(m,function(g){var v=g.graph().root,p=o(g,v,h,f);e.forEach(p.vs,function(S,y){g.node(S).order=y}),s(g,h,p.vs)})}function b(m,f){e.forEach(f,function(h){e.forEach(h,function(g,v){m.node(g).order=v})})}return Gd}var Kd,Y0;function EP(){if(Y0)return Kd;Y0=1;var e=ye(),n=ze().Graph,i=Me();Kd={positionX:h,findType1Conflicts:o,findType2Conflicts:a,addConflict:t,hasConflict:r,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:m,findSmallestWidthAlignment:b,balance:f};function o(p,S){var y={};function x(w,A){var N=0,E=0,_=w.length,P=e.last(A);return e.forEach(A,function(k,M){var L=s(p,k),T=L?p.node(L).order:_;(L||k===P)&&(e.forEach(A.slice(E,M+1),function(O){e.forEach(p.predecessors(O),function(B){var K=p.node(B),G=K.order;(G<N||T<G)&&!(K.dummy&&p.node(O).dummy)&&t(y,B,O)})}),E=M+1,N=T)}),A}return e.reduce(S,x),y}function a(p,S){var y={};function x(A,N,E,_,P){var k;e.forEach(e.range(N,E),function(M){k=A[M],p.node(k).dummy&&e.forEach(p.predecessors(k),function(L){var T=p.node(L);T.dummy&&(T.order<_||T.order>P)&&t(y,L,k)})})}function w(A,N){var E=-1,_,P=0;return e.forEach(N,function(k,M){if(p.node(k).dummy==="border"){var L=p.predecessors(k);L.length&&(_=p.node(L[0]).order,x(N,P,M,E,_),P=M,E=_)}x(N,P,N.length,_,A.length)}),N}return e.reduce(S,w),y}function s(p,S){if(p.node(S).dummy)return e.find(p.predecessors(S),function(y){return p.node(y).dummy})}function t(p,S,y){if(S>y){var x=S;S=y,y=x}var w=p[S];w||(p[S]=w={}),w[y]=!0}function r(p,S,y){if(S>y){var x=S;S=y,y=x}return e.has(p[S],y)}function l(p,S,y,x){var w={},A={},N={};return e.forEach(S,function(E){e.forEach(E,function(_,P){w[_]=_,A[_]=_,N[_]=P})}),e.forEach(S,function(E){var _=-1;e.forEach(E,function(P){var k=x(P);if(k.length){k=e.sortBy(k,function(B){return N[B]});for(var M=(k.length-1)/2,L=Math.floor(M),T=Math.ceil(M);L<=T;++L){var O=k[L];A[P]===P&&_<N[O]&&!r(y,P,O)&&(A[O]=P,A[P]=w[P]=w[O],_=N[O])}}})}),{root:w,align:A}}function u(p,S,y,x,w){var A={},N=d(p,S,y,w),E=w?"borderLeft":"borderRight";function _(M,L){for(var T=N.nodes(),O=T.pop(),B={};O;)B[O]?M(O):(B[O]=!0,T.push(O),T=T.concat(L(O))),O=T.pop()}function P(M){A[M]=N.inEdges(M).reduce(function(L,T){return Math.max(L,A[T.v]+N.edge(T))},0)}function k(M){var L=N.outEdges(M).reduce(function(O,B){return Math.min(O,A[B.w]-N.edge(B))},Number.POSITIVE_INFINITY),T=p.node(M);L!==Number.POSITIVE_INFINITY&&T.borderType!==E&&(A[M]=Math.max(A[M],L))}return _(P,N.predecessors.bind(N)),_(k,N.successors.bind(N)),e.forEach(x,function(M){A[M]=A[y[M]]}),A}function d(p,S,y,x){var w=new n,A=p.graph(),N=g(A.nodesep,A.edgesep,x);return e.forEach(S,function(E){var _;e.forEach(E,function(P){var k=y[P];if(w.setNode(k),_){var M=y[_],L=w.edge(M,k);w.setEdge(M,k,Math.max(N(p,P,_),L||0))}_=P})}),w}function b(p,S){return e.minBy(e.values(S),function(y){var x=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY;return e.forIn(y,function(A,N){var E=v(p,N)/2;x=Math.max(A+E,x),w=Math.min(A-E,w)}),x-w})}function m(p,S){var y=e.values(S),x=e.min(y),w=e.max(y);e.forEach(["u","d"],function(A){e.forEach(["l","r"],function(N){var E=A+N,_=p[E],P;if(_!==S){var k=e.values(_);P=N==="l"?x-e.min(k):w-e.max(k),P&&(p[E]=e.mapValues(_,function(M){return M+P}))}})})}function f(p,S){return e.mapValues(p.ul,function(y,x){if(S)return p[S.toLowerCase()][x];var w=e.sortBy(e.map(p,x));return(w[1]+w[2])/2})}function h(p){var S=i.buildLayerMatrix(p),y=e.merge(o(p,S),a(p,S)),x={},w;e.forEach(["u","d"],function(N){w=N==="u"?S:e.values(S).reverse(),e.forEach(["l","r"],function(E){E==="r"&&(w=e.map(w,function(M){return e.values(M).reverse()}));var _=(N==="u"?p.predecessors:p.successors).bind(p),P=l(p,w,y,_),k=u(p,w,P.root,P.align,E==="r");E==="r"&&(k=e.mapValues(k,function(M){return-M})),x[N+E]=k})});var A=b(p,x);return m(x,A),f(x,p.graph().align)}function g(p,S,y){return function(x,w,A){var N=x.node(w),E=x.node(A),_=0,P;if(_+=N.width/2,e.has(N,"labelpos"))switch(N.labelpos.toLowerCase()){case"l":P=-N.width/2;break;case"r":P=N.width/2;break}if(P&&(_+=y?P:-P),P=0,_+=(N.dummy?S:p)/2,_+=(E.dummy?S:p)/2,_+=E.width/2,e.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":P=E.width/2;break;case"r":P=-E.width/2;break}return P&&(_+=y?P:-P),P=0,_}}function v(p,S){return p.node(S).width}return Kd}var Hd,J0;function kP(){if(J0)return Hd;J0=1;var e=ye(),n=Me(),i=EP().positionX;Hd=o;function o(s){s=n.asNonCompoundGraph(s),a(s),e.forEach(i(s),function(t,r){s.node(r).x=t})}function a(s){var t=n.buildLayerMatrix(s),r=s.graph().ranksep,l=0;e.forEach(t,function(u){var d=e.max(e.map(u,function(b){return s.node(b).height}));e.forEach(u,function(b){s.node(b).y=l+d/2}),l+=d+r})}return Hd}var Vd,Z0;function MP(){if(Z0)return Vd;Z0=1;var e=ye(),n=dP(),i=cP(),o=mP(),a=Me().normalizeRanks,s=fP(),t=Me().removeEmptyRanks,r=vP(),l=hP(),u=pP(),d=_P(),b=kP(),m=Me(),f=ze().Graph;Vd=h;function h(D,H){var U=H&&H.debugTiming?m.time:m.notime;U("layout",function(){var q=U(" buildLayoutGraph",function(){return _(D)});U(" runLayout",function(){g(q,U)}),U(" updateInputGraph",function(){v(D,q)})})}function g(D,H){H(" makeSpaceForEdgeLabels",function(){P(D)}),H(" removeSelfEdges",function(){I(D)}),H(" acyclic",function(){n.run(D)}),H(" nestingGraph.run",function(){r.run(D)}),H(" rank",function(){o(m.asNonCompoundGraph(D))}),H(" injectEdgeLabelProxies",function(){k(D)}),H(" removeEmptyRanks",function(){t(D)}),H(" nestingGraph.cleanup",function(){r.cleanup(D)}),H(" normalizeRanks",function(){a(D)}),H(" assignRankMinMax",function(){M(D)}),H(" removeEdgeLabelProxies",function(){L(D)}),H(" normalize.run",function(){i.run(D)}),H(" parentDummyChains",function(){s(D)}),H(" addBorderSegments",function(){l(D)}),H(" order",function(){d(D)}),H(" insertSelfEdges",function(){Y(D)}),H(" adjustCoordinateSystem",function(){u.adjust(D)}),H(" position",function(){b(D)}),H(" positionSelfEdges",function(){Z(D)}),H(" removeBorderNodes",function(){G(D)}),H(" normalize.undo",function(){i.undo(D)}),H(" fixupEdgeLabelCoords",function(){B(D)}),H(" undoCoordinateSystem",function(){u.undo(D)}),H(" translateGraph",function(){T(D)}),H(" assignNodeIntersects",function(){O(D)}),H(" reversePoints",function(){K(D)}),H(" acyclic.undo",function(){n.undo(D)})}function v(D,H){e.forEach(D.nodes(),function(U){var q=D.node(U),F=H.node(U);q&&(q.x=F.x,q.y=F.y,H.children(U).length&&(q.width=F.width,q.height=F.height))}),e.forEach(D.edges(),function(U){var q=D.edge(U),F=H.edge(U);q.points=F.points,e.has(F,"x")&&(q.x=F.x,q.y=F.y)}),D.graph().width=H.graph().width,D.graph().height=H.graph().height}var p=["nodesep","edgesep","ranksep","marginx","marginy"],S={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],N={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function _(D){var H=new f({multigraph:!0,compound:!0}),U=R(D.graph());return H.setGraph(e.merge({},S,J(U,p),e.pick(U,y))),e.forEach(D.nodes(),function(q){var F=R(D.node(q));H.setNode(q,e.defaults(J(F,x),w)),H.setParent(q,D.parent(q))}),e.forEach(D.edges(),function(q){var F=R(D.edge(q));H.setEdge(q,e.merge({},N,J(F,A),e.pick(F,E)))}),H}function P(D){var H=D.graph();H.ranksep/=2,e.forEach(D.edges(),function(U){var q=D.edge(U);q.minlen*=2,q.labelpos.toLowerCase()!=="c"&&(H.rankdir==="TB"||H.rankdir==="BT"?q.width+=q.labeloffset:q.height+=q.labeloffset)})}function k(D){e.forEach(D.edges(),function(H){var U=D.edge(H);if(U.width&&U.height){var q=D.node(H.v),F=D.node(H.w),W={rank:(F.rank-q.rank)/2+q.rank,e:H};m.addDummyNode(D,"edge-proxy",W,"_ep")}})}function M(D){var H=0;e.forEach(D.nodes(),function(U){var q=D.node(U);q.borderTop&&(q.minRank=D.node(q.borderTop).rank,q.maxRank=D.node(q.borderBottom).rank,H=e.max(H,q.maxRank))}),D.graph().maxRank=H}function L(D){e.forEach(D.nodes(),function(H){var U=D.node(H);U.dummy==="edge-proxy"&&(D.edge(U.e).labelRank=U.rank,D.removeNode(H))})}function T(D){var H=Number.POSITIVE_INFINITY,U=0,q=Number.POSITIVE_INFINITY,F=0,W=D.graph(),z=W.marginx||0,V=W.marginy||0;function Q(j){var X=j.x,$=j.y,ne=j.width,ee=j.height;H=Math.min(H,X-ne/2),U=Math.max(U,X+ne/2),q=Math.min(q,$-ee/2),F=Math.max(F,$+ee/2)}e.forEach(D.nodes(),function(j){Q(D.node(j))}),e.forEach(D.edges(),function(j){var X=D.edge(j);e.has(X,"x")&&Q(X)}),H-=z,q-=V,e.forEach(D.nodes(),function(j){var X=D.node(j);X.x-=H,X.y-=q}),e.forEach(D.edges(),function(j){var X=D.edge(j);e.forEach(X.points,function($){$.x-=H,$.y-=q}),e.has(X,"x")&&(X.x-=H),e.has(X,"y")&&(X.y-=q)}),W.width=U-H+z,W.height=F-q+V}function O(D){e.forEach(D.edges(),function(H){var U=D.edge(H),q=D.node(H.v),F=D.node(H.w),W,z;U.points?(W=U.points[0],z=U.points[U.points.length-1]):(U.points=[],W=F,z=q),U.points.unshift(m.intersectRect(q,W)),U.points.push(m.intersectRect(F,z))})}function B(D){e.forEach(D.edges(),function(H){var U=D.edge(H);if(e.has(U,"x"))switch((U.labelpos==="l"||U.labelpos==="r")&&(U.width-=U.labeloffset),U.labelpos){case"l":U.x-=U.width/2+U.labeloffset;break;case"r":U.x+=U.width/2+U.labeloffset;break}})}function K(D){e.forEach(D.edges(),function(H){var U=D.edge(H);U.reversed&&U.points.reverse()})}function G(D){e.forEach(D.nodes(),function(H){if(D.children(H).length){var U=D.node(H),q=D.node(U.borderTop),F=D.node(U.borderBottom),W=D.node(e.last(U.borderLeft)),z=D.node(e.last(U.borderRight));U.width=Math.abs(z.x-W.x),U.height=Math.abs(F.y-q.y),U.x=W.x+U.width/2,U.y=q.y+U.height/2}}),e.forEach(D.nodes(),function(H){D.node(H).dummy==="border"&&D.removeNode(H)})}function I(D){e.forEach(D.edges(),function(H){if(H.v===H.w){var U=D.node(H.v);U.selfEdges||(U.selfEdges=[]),U.selfEdges.push({e:H,label:D.edge(H)}),D.removeEdge(H)}})}function Y(D){var H=m.buildLayerMatrix(D);e.forEach(H,function(U){var q=0;e.forEach(U,function(F,W){var z=D.node(F);z.order=W+q,e.forEach(z.selfEdges,function(V){m.addDummyNode(D,"selfedge",{width:V.label.width,height:V.label.height,rank:z.rank,order:W+ ++q,e:V.e,label:V.label},"_se")}),delete z.selfEdges})})}function Z(D){e.forEach(D.nodes(),function(H){var U=D.node(H);if(U.dummy==="selfedge"){var q=D.node(U.e.v),F=q.x+q.width/2,W=q.y,z=U.x-F,V=q.height/2;D.setEdge(U.e,U.label),D.removeNode(H),U.label.points=[{x:F+2*z/3,y:W-V},{x:F+5*z/6,y:W-V},{x:F+z,y:W},{x:F+5*z/6,y:W+V},{x:F+2*z/3,y:W+V}],U.label.x=U.x,U.label.y=U.y}})}function J(D,H){return e.mapValues(e.pick(D,H),Number)}function R(D){var H={};return e.forEach(D,function(U,q){H[q.toLowerCase()]=U}),H}return Vd}var zd,X0;function TP(){if(X0)return zd;X0=1;var e=ye(),n=Me(),i=ze().Graph;zd={debugOrdering:o};function o(a){var s=n.buildLayerMatrix(a),t=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(a.nodes(),function(r){t.setNode(r,{label:r}),t.setParent(r,"layer"+a.node(r).rank)}),e.forEach(a.edges(),function(r){t.setEdge(r.v,r.w,{},r.name)}),e.forEach(s,function(r,l){var u="layer"+l;t.setNode(u,{rank:"same"}),e.reduce(r,function(d,b){return t.setEdge(d,b,{style:"invis"}),b})}),t}return zd}var jd,Q0;function PP(){return Q0||(Q0=1,jd="0.8.5"),jd}var Ud,R0;function IP(){return R0||(R0=1,Ud={graphlib:ze(),layout:MP(),debug:TP(),util:{time:Me().time,notime:Me().notime},version:PP()}),Ud}var LP=IP();const ex=ym(LP),nx=280,ix=80,ox=(e,n,i="TB")=>{const o=new ex.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const a=i==="LR";return o.setGraph({rankdir:i}),e.forEach(t=>{o.setNode(t.id,{width:nx,height:ix})}),n.forEach(t=>{o.setEdge(t.source,t.target)}),ex.layout(o),{nodes:e.map(t=>{const r=o.node(t.id);return{...t,targetPosition:a?oe.Left:oe.Top,sourcePosition:a?oe.Right:oe.Bottom,position:{x:r.x-nx/2,y:r.y-ix/2}}}),edges:n}},ax=[{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"}],BP={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 c.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:[c.jsx(Un,{type:"target",position:n||oe.Left,className:"w-2 h-2 !bg-gray-300 border-none"}),c.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[c.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&c.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),c.jsxs("div",{className:"p-3 flex items-start gap-3",children:[c.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:c.jsx(se,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),c.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),c.jsx(Un,{type:"source",position:i||oe.Right,className:"w-2 h-2 !bg-gray-300 border-none"})]})}};function OP({formData:e}){const{nodes:n,edges:i}=C.useMemo(()=>{const u=[],d=[];let b=null,m=0;return e==null||e.forEach(f=>{var g;const h=ax[m%ax.length];m++,(g=f.questionData)==null||g.forEach(v=>{const p=v.id;u.push({id:p,type:"customField",data:{label:v.inputLabel,type:v.type,sectionTitle:f.title||"Untitled Section",isHidden:v.isHidden,colorScheme:h},position:{x:0,y:0}}),b&&!v.isHidden&&d.push({id:`e-${b}-${p}`,source:b,target:p,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Fn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),v.isHidden||(b=p)})}),e==null||e.forEach(f=>{var h;(h=f.questionData)==null||h.forEach(g=>{var v;g.isHidden&&((v=g.visibilityDependentFields)==null?void 0:v.length)>0&&g.visibilityDependentFields.forEach(p=>{d.push({id:`e-cond-${p.id}-${g.id}`,source:p.id,target:g.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:Fn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),ox(u,d,"LR")},[e]),[o,a,s]=Vk(n),[t,r,l]=zk(i);return C.useEffect(()=>{if(!n||!i)return;const{nodes:u,edges:d}=ox(n,i);a(u),r(d)},[n,i,a,r]),c.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:c.jsxs(Hk,{nodes:o,edges:t,onNodesChange:s,onEdgesChange:l,nodeTypes:BP,fitView:!0,minZoom:.2,attributionPosition:"bottom-right",children:[c.jsx(Yk,{color:"#e2e8f0",gap:16}),c.jsx(nM,{}),c.jsx(fM,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const DP=Object.freeze(Object.defineProperty({__proto__:null,default:OP},Symbol.toStringTag,{value:"Module"}));xe.FormBuilder=JS,xe.FormViewer=ga,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
|
|
67
|
+
`)),d=u.reduce((b,m)=>b.concat(...m),[]);return[u,d]}return[[],[]]},[e]);return C.useEffect(()=>{var d,b;const l=(d=n==null?void 0:n.target)!=null?d:Gm,u=(b=n==null?void 0:n.actInsideInputWithModifier)!=null?b:!0;if(e!==null){const m=g=>{var S,y;if(a.current=g.ctrlKey||g.metaKey||g.shiftKey||g.altKey,(!a.current||a.current&&!u)&&Ub(g))return!1;const p=Hm(g.code,r);if(s.current.add(g[p]),Km(t,s.current,!1)){const x=((y=(S=g.composedPath)==null?void 0:S.call(g))==null?void 0:y[0])||g.target,w=(x==null?void 0:x.nodeName)==="BUTTON"||(x==null?void 0:x.nodeName)==="A";n.preventDefault!==!1&&(a.current||!w)&&g.preventDefault(),o(!0)}},f=g=>{const v=Hm(g.code,r);Km(t,s.current,!0)?(o(!1),s.current.clear()):s.current.delete(g[v]),g.key==="Meta"&&s.current.clear(),a.current=!1},h=()=>{s.current.clear(),o(!1)};return l==null||l.addEventListener("keydown",m),l==null||l.addEventListener("keyup",f),window.addEventListener("blur",h),window.addEventListener("contextmenu",h),()=>{l==null||l.removeEventListener("keydown",m),l==null||l.removeEventListener("keyup",f),window.removeEventListener("blur",h),window.removeEventListener("contextmenu",h)}}},[e,o]),i}function Km(e,n,i){return e.filter(o=>i||o.length===n.size).some(o=>o.every(a=>n.has(a)))}function Hm(e,n){return n.includes(e)?"code":"key"}const mE=()=>{const e=ge();return C.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,l,u;const{transform:[o,a,s],panZoom:t}=e.getState();return t?(await t.setViewport({x:(r=n.x)!=null?r:o,y:(l=n.y)!=null?l:a,zoom:(u=n.zoom)!=null?u:s},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:a,minZoom:s,maxZoom:t,panZoom:r}=e.getState(),l=Va(n,o,a,s,t,(u=i==null?void 0:i.padding)!=null?u:.1);return r?(await r.setViewport(l,{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:a,snapToGrid:s,domNode:t}=e.getState();if(!t)return n;const{x:r,y:l}=t.getBoundingClientRect(),u={x:n.x-r,y:n.y-l},d=(m=i.snapGrid)!=null?m:a,b=(f=i.snapToGrid)!=null?f:s;return yi(u,o,b,d)},flowToScreenPosition:n=>{const{transform:i,domNode:o}=e.getState();if(!o)return n;const{x:a,y:s}=o.getBoundingClientRect(),t=Kn(n,i);return{x:t.x+a,y:t.y+s}}}),[])};function Vm(e,n){const i=[],o=new Map,a=[];for(const s of e)if(s.type==="add"){a.push(s);continue}else if(s.type==="remove"||s.type==="replace")o.set(s.id,[s]);else{const t=o.get(s.id);t?t.push(s):o.set(s.id,[s])}for(const s of n){const t=o.get(s.id);if(!t){i.push(s);continue}if(t[0].type==="remove")continue;if(t[0].type==="replace"){i.push({...t[0].item});continue}const r={...s};for(const l of t)fE(l,r);i.push(r)}return a.length&&a.forEach(s=>{s.index!==void 0?i.splice(s.index,0,{...s.item}):i.push({...s.item})}),i}function fE(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 zm(e,n){return Vm(e,n)}function jm(e,n){return Vm(e,n)}function wn(e,n){return{id:e,type:"select",selected:n}}function jn(e,n=new Set,i=!1){const o=[];for(const[a,s]of e){const t=n.has(a);!(s.selected===void 0&&!t)&&s.selected!==t&&(i&&(s.selected=t),o.push(wn(s.id,t)))}return o}function Um({items:e=[],lookup:n}){var a,s;const i=[],o=new Map(e.map(t=>[t.id,t]));for(const[t,r]of e.entries()){const l=n.get(r.id),u=(s=(a=l==null?void 0:l.internals)==null?void 0:a.userNode)!=null?s:l;u!==void 0&&u!==r&&i.push({id:r.id,item:r,type:"replace"}),u===void 0&&i.push({item:r,type:"add",index:t})}for(const[t]of n)o.get(t)===void 0&&i.push({id:t,type:"remove"});return i}function Wm(e){return{id:e.id,type:"remove"}}const vE=Kb("React Flow","https://reactflow.dev/");function hE(e,n,i={}){var o;return n_(e,n,{...i,onError:(o=i.onError)!=null?o:vE})}const $m=e=>KC(e),pE=e=>Lb(e);function Ym(e){return C.forwardRef(e)}const gE=typeof window!="undefined"?C.useLayoutEffect:C.useEffect;function Jm(e){const[n,i]=C.useState(BigInt(0)),[o]=C.useState(()=>yE(()=>i(a=>a+BigInt(1))));return gE(()=>{const a=o.get();a.length&&(e(a),o.reset())},[n]),o}function yE(e){let n=[];return{get:()=>n,reset:()=>{n=[]},push:i=>{n.push(i),e()}}}const Zm=C.createContext(null);function xE({children:e}){const n=ge(),i=C.useCallback(r=>{const{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:b,nodeLookup:m,fitViewQueued:f,onNodesChangeMiddlewareMap:h}=n.getState();let g=l;for(const p of r)g=typeof p=="function"?p(g):p;let v=Um({items:g,lookup:m});for(const p of h.values())v=p(v);d&&u(g),v.length>0?b==null||b(v):f&&window.requestAnimationFrame(()=>{const{fitViewQueued:p,nodes:S,setNodes:y}=n.getState();p&&y(S)})},[]),o=Jm(i),a=C.useCallback(r=>{const{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:b,edgeLookup:m}=n.getState();let f=l;for(const h of r)f=typeof h=="function"?h(f):h;d?u(f):b&&b(Um({items:f,lookup:m}))},[]),s=Jm(a),t=C.useMemo(()=>({nodeQueue:o,edgeQueue:s}),[]);return c.jsx(Zm.Provider,{value:t,children:e})}function SE(){const e=C.useContext(Zm);if(!e)throw new Error("useBatchContext must be used within a BatchProvider");return e}const wE=e=>!!e.panZoom;function ts(){const e=mE(),n=ge(),i=SE(),o=de(wE),a=C.useMemo(()=>{const s=b=>n.getState().nodeLookup.get(b),t=b=>{i.nodeQueue.push(b)},r=b=>{i.edgeQueue.push(b)},l=b=>{var p,S,y,x;const{nodeLookup:m,nodeOrigin:f}=n.getState(),h=$m(b)?b:m.get(b.id),g=h.parentId?Vb(h.position,h.measured,h.parentId,m,f):h.position,v={...h,position:g,width:(S=(p=h.measured)==null?void 0:p.width)!=null?S:h.width,height:(x=(y=h.measured)==null?void 0:y.height)!=null?x:h.height};return pi(v)},u=(b,m,f={replace:!1})=>{t(h=>h.map(g=>{if(g.id===b){const v=typeof m=="function"?m(g):m;return f.replace&&$m(v)?v:{...g,...v}}return g}))},d=(b,m,f={replace:!1})=>{r(h=>h.map(g=>{if(g.id===b){const v=typeof m=="function"?m(g):m;return f.replace&&pE(v)?v:{...g,...v}}return g}))};return{getNodes:()=>n.getState().nodes.map(b=>({...b})),getNode:b=>{var m;return(m=s(b))==null?void 0:m.internals.userNode},getInternalNode:s,getEdges:()=>{const{edges:b=[]}=n.getState();return b.map(m=>({...m}))},getEdge:b=>n.getState().edgeLookup.get(b),setNodes:t,setEdges:r,addNodes:b=>{const m=Array.isArray(b)?b:[b];i.nodeQueue.push(f=>[...f,...m])},addEdges:b=>{const m=Array.isArray(b)?b:[b];i.edgeQueue.push(f=>[...f,...m])},toObject:()=>{const{nodes:b=[],edges:m=[],transform:f}=n.getState(),[h,g,v]=f;return{nodes:b.map(p=>({...p})),edges:m.map(p=>({...p})),viewport:{x:h,y:g,zoom:v}}},deleteElements:async({nodes:b=[],edges:m=[]})=>{const{nodes:f,edges:h,onNodesDelete:g,onEdgesDelete:v,triggerNodeChanges:p,triggerEdgeChanges:S,onDelete:y,onBeforeDelete:x}=n.getState(),{nodes:w,edges:A}=await UC({nodesToRemove:b,edgesToRemove:m,nodes:f,edges:h,onBeforeDelete:x}),N=A.length>0,E=w.length>0;if(N){const _=A.map(Wm);v==null||v(A),S(_)}if(E){const _=w.map(Wm);g==null||g(w),p(_)}return(E||N)&&(y==null||y({nodes:w,edges:A})),{deletedNodes:w,deletedEdges:A}},getIntersectingNodes:(b,m=!0,f)=>{const h=Gb(b),g=h?b:l(b),v=f!==void 0;return g?(f||n.getState().nodes).filter(p=>{const S=n.getState().nodeLookup.get(p.id);if(S&&!h&&(p.id===b.id||!S.internals.positionAbsolute))return!1;const y=pi(v?p:S),x=bo(y,g);return m&&x>0||x>=y.width*y.height||x>=g.width*g.height}):[]},isNodeIntersecting:(b,m,f=!0)=>{const g=Gb(b)?b:l(b);if(!g)return!1;const v=bo(g,m);return f&&v>0||v>=m.width*m.height||v>=g.width*g.height},updateNode:u,updateNodeData:(b,m,f={replace:!1})=>{u(b,h=>{const g=typeof m=="function"?m(h):m;return f.replace?{...h,data:g}:{...h,data:{...h.data,...g}}},f)},updateEdge:d,updateEdgeData:(b,m,f={replace:!1})=>{d(b,h=>{const g=typeof m=="function"?m(h):m;return f.replace?{...h,data:g}:{...h,data:{...h.data,...g}}},f)},getNodesBounds:b=>{const{nodeLookup:m,nodeOrigin:f}=n.getState();return HC(b,{nodeLookup:m,nodeOrigin:f})},getHandleConnections:({type:b,id:m,nodeId:f})=>{var h,g;return Array.from((g=(h=n.getState().connectionLookup.get(`${f}-${b}${m?`-${m}`:""}`))==null?void 0:h.values())!=null?g:[])},getNodeConnections:({type:b,handleId:m,nodeId:f})=>{var h,g;return Array.from((g=(h=n.getState().connectionLookup.get(`${f}${b?m?`-${b}-${m}`:`-${b}`:""}`))==null?void 0:h.values())!=null?g:[])},fitView:async b=>{var f;const m=(f=n.getState().fitViewResolver)!=null?f:YC();return n.setState({fitViewQueued:!0,fitViewOptions:b,fitViewResolver:m}),i.nodeQueue.push(h=>[...h]),m.promise}}},[]);return C.useMemo(()=>({...a,...e,viewportInitialized:o}),[o])}const Xm=e=>e.selected,AE=typeof window!="undefined"?window:void 0;function NE({deleteKeyCode:e,multiSelectionKeyCode:n}){const i=ge(),{deleteElements:o}=ts(),a=wi(e,{actInsideInputWithModifier:!1}),s=wi(n,{target:AE});C.useEffect(()=>{if(a){const{edges:t,nodes:r}=i.getState();o({nodes:r.filter(Xm),edges:t.filter(Xm)}),i.setState({nodesSelectionActive:!1})}},[a]),C.useEffect(()=>{i.setState({multiSelectionActive:s})},[s])}function CE(e){const n=ge();C.useEffect(()=>{const i=()=>{var a,s,t,r,l;if(!e.current||!((t=(s=(a=e.current).checkVisibility)==null?void 0:s.call(a))==null||t))return!1;const o=za(e.current);(o.height===0||o.width===0)&&((l=(r=n.getState()).onError)==null||l.call(r,"004",Be.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 wo={position:"absolute",width:"100%",height:"100%",top:0,left:0},_E=e=>({userSelectionActive:e.userSelectionActive,lib:e.lib,connectionInProgress:e.connection.inProgress});function EE({onPaneContextMenu:e,zoomOnScroll:n=!0,zoomOnPinch:i=!0,panOnScroll:o=!1,panOnScrollSpeed:a=.5,panOnScrollMode:s=gn.Free,zoomOnDoubleClick:t=!0,panOnDrag:r=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:b,zoomActivationKeyCode:m,preventScrolling:f=!0,children:h,noWheelClassName:g,noPanClassName:v,onViewportChange:p,isControlledViewport:S,paneClickDistance:y,selectionOnDrag:x}){const w=ge(),A=C.useRef(null),{userSelectionActive:N,lib:E,connectionInProgress:_}=de(_E,pe),P=wi(m),k=C.useRef();CE(A);const M=C.useCallback(L=>{p==null||p({x:L[0],y:L[1],zoom:L[2]}),S||w.setState({transform:L})},[p,S]);return C.useEffect(()=>{if(A.current){k.current=P_({domNode:A.current,minZoom:d,maxZoom:b,translateExtent:u,viewport:l,onDraggingChange:B=>w.setState(K=>K.paneDragging===B?K:{paneDragging:B}),onPanZoomStart:(B,K)=>{const{onViewportChangeStart:G,onMoveStart:I}=w.getState();I==null||I(B,K),G==null||G(K)},onPanZoom:(B,K)=>{const{onViewportChange:G,onMove:I}=w.getState();I==null||I(B,K),G==null||G(K)},onPanZoomEnd:(B,K)=>{const{onViewportChangeEnd:G,onMoveEnd:I}=w.getState();I==null||I(B,K),G==null||G(K)}});const{x:L,y:T,zoom:O}=k.current.getViewport();return w.setState({panZoom:k.current,transform:[L,T,O],domNode:A.current.closest(".react-flow")}),()=>{var B;(B=k.current)==null||B.destroy()}}},[]),C.useEffect(()=>{var L;(L=k.current)==null||L.update({onPaneContextMenu:e,zoomOnScroll:n,zoomOnPinch:i,panOnScroll:o,panOnScrollSpeed:a,panOnScrollMode:s,zoomOnDoubleClick:t,panOnDrag:r,zoomActivationKeyPressed:P,preventScrolling:f,noPanClassName:v,userSelectionActive:N,noWheelClassName:g,lib:E,onTransformChange:M,connectionInProgress:_,selectionOnDrag:x,paneClickDistance:y})},[e,n,i,o,a,s,t,r,P,f,v,N,g,E,M,_,x,y]),c.jsx("div",{className:"react-flow__renderer",ref:A,style:wo,children:h})}const kE=e=>({userSelectionActive:e.userSelectionActive,userSelectionRect:e.userSelectionRect});function ME(){const{userSelectionActive:e,userSelectionRect:n}=de(kE,pe);return e&&n?c.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 rs=(e,n)=>i=>{i.target===n.current&&(e==null||e(i))},TE=e=>({userSelectionActive:e.userSelectionActive,elementsSelectable:e.elementsSelectable,dragging:e.paneDragging,panBy:e.panBy,autoPanSpeed:e.autoPanSpeed});function PE({isSelecting:e,selectionKeyPressed:n,selectionMode:i=fi.Full,panOnDrag:o,autoPanOnSelection:a,paneClickDistance:s,selectionOnDrag:t,onSelectionStart:r,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:b,onPaneMouseEnter:m,onPaneMouseMove:f,onPaneMouseLeave:h,children:g}){const v=C.useRef(0),p=ge(),{userSelectionActive:S,elementsSelectable:y,dragging:x,panBy:w,autoPanSpeed:A}=de(TE,pe),N=y&&(e||S),E=C.useRef(null),_=C.useRef(),P=C.useRef(new Set),k=C.useRef(new Set),M=C.useRef(!1),L=C.useRef(!1),T=C.useRef({x:0,y:0}),O=C.useRef(!1),B=F=>{if(L.current||M.current||p.getState().connection.inProgress){L.current=!1,M.current=!1;return}u==null||u(F),p.getState().resetSelectedElements(),p.setState({nodesSelectionActive:!1})},K=F=>{if(Array.isArray(o)&&(o!=null&&o.includes(2))){F.preventDefault();return}d==null||d(F)},G=b?F=>b(F):void 0,I=F=>{L.current&&(F.stopPropagation(),L.current=!1)},Y=F=>{var ee,ae;const{domNode:W,transform:z}=p.getState();if(_.current=W==null?void 0:W.getBoundingClientRect(),!_.current)return;const V=F.target===E.current;if(!V&&!!F.target.closest(".nokey")||!e||!(t&&V||n)||F.button!==0||!F.isPrimary)return;(ae=(ee=F.target)==null?void 0:ee.setPointerCapture)==null||ae.call(ee,F.pointerId),L.current=!1;const{x:X,y:$}=He(F.nativeEvent,_.current),ne=yi({x:X,y:$},z);p.setState({userSelectionRect:{width:0,height:0,startX:ne.x,startY:ne.y,x:X,y:$}}),V||(F.stopPropagation(),F.preventDefault())};function Z(F,W){var Ee,je;const{userSelectionRect:z}=p.getState();if(!z)return;const{transform:V,nodeLookup:Q,edgeLookup:j,connectionLookup:X,triggerNodeChanges:$,triggerEdgeChanges:ne,defaultEdgeOptions:ee}=p.getState(),ae={x:z.startX,y:z.startY},{x:re,y:be}=Kn(ae,V),ce={startX:ae.x,startY:ae.y,x:F<re?F:re,y:W<be?W:be,width:Math.abs(F-re),height:Math.abs(W-be)},he=P.current,me=k.current;P.current=new Set(Ga(Q,ce,V,i===fi.Partial,!0).map(Ne=>Ne.id)),k.current=new Set;const fe=(Ee=ee==null?void 0:ee.selectable)!=null?Ee:!0;for(const Ne of P.current){const Te=X.get(Ne);if(Te)for(const{edgeId:En}of Te.values()){const sn=j.get(En);sn&&((je=sn.selectable)!=null?je:fe)&&k.current.add(En)}}if(!zb(he,P.current)){const Ne=jn(Q,P.current,!0);$(Ne)}if(!zb(me,k.current)){const Ne=jn(j,k.current);ne(Ne)}p.setState({userSelectionRect:ce,userSelectionActive:!0,nodesSelectionActive:!1})}function J(){if(!a||!_.current)return;const[F,W]=Ka(T.current,_.current,A);w({x:F,y:W}).then(z=>{if(!L.current||!z){v.current=requestAnimationFrame(J);return}const{x:V,y:Q}=T.current;Z(V,Q),v.current=requestAnimationFrame(J)})}const R=()=>{cancelAnimationFrame(v.current),v.current=0,O.current=!1};C.useEffect(()=>()=>R(),[]);const D=F=>{const{userSelectionRect:W,transform:z,resetSelectedElements:V}=p.getState();if(!_.current||!W)return;const{x:Q,y:j}=He(F.nativeEvent,_.current);T.current={x:Q,y:j};const X=Kn({x:W.startX,y:W.startY},z);if(!L.current){const $=n?0:s;if(Math.hypot(Q-X.x,j-X.y)<=$)return;V(),r==null||r(F)}L.current=!0,O.current||(J(),O.current=!0),Z(Q,j)},H=F=>{var W,z;if(!N){F.target===E.current&&p.getState().connection.inProgress&&(M.current=!0);return}F.button===0&&((z=(W=F.target)==null?void 0:W.releasePointerCapture)==null||z.call(W,F.pointerId),!S&&F.target===E.current&&p.getState().userSelectionRect&&(B==null||B(F)),p.setState({userSelectionActive:!1,userSelectionRect:null}),L.current&&(l==null||l(F),p.setState({nodesSelectionActive:P.current.size>0})),R())},U=F=>{var W,z;(z=(W=F.target)==null?void 0:W.releasePointerCapture)==null||z.call(W,F.pointerId),R()},q=o===!0||Array.isArray(o)&&o.includes(0);return c.jsxs("div",{className:we(["react-flow__pane",{draggable:q,dragging:x,selection:e}]),onClick:N?void 0:rs(B,E),onContextMenu:rs(K,E),onWheel:rs(G,E),onPointerEnter:N?void 0:m,onPointerMove:N?D:f,onPointerUp:H,onPointerCancel:N?U:void 0,onPointerDownCapture:N?Y:void 0,onClickCapture:N?I:void 0,onPointerLeave:h,ref:E,style:wo,children:[g,c.jsx(ME,{})]})}function ls({id:e,store:n,unselect:i=!1,nodeRef:o}){const{addSelectedNodes:a,unselectNodesAndEdges:s,multiSelectionActive:t,nodeLookup:r,onError:l}=n.getState(),u=r.get(e);if(!u){l==null||l("012",Be.error012(e));return}n.setState({nodesSelectionActive:!1}),u.selected?(i||u.selected&&t)&&(s({nodes:[u],edges:[]}),requestAnimationFrame(()=>{var d;return(d=o==null?void 0:o.current)==null?void 0:d.blur()})):a([e])}function Qm({nodeRef:e,disabled:n=!1,noDragClassName:i,handleSelector:o,nodeId:a,isSelectable:s,nodeClickDistance:t}){const r=ge(),[l,u]=C.useState(!1),d=C.useRef();return C.useEffect(()=>{d.current=p_({getStoreItems:()=>r.getState(),onNodeMouseDown:b=>{ls({id:b,store:r,nodeRef:e})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),C.useEffect(()=>{if(!(n||!e.current||!d.current))return d.current.update({noDragClassName:i,handleSelector:o,domNode:e.current,isSelectable:s,nodeId:a,nodeClickDistance:t}),()=>{var b;(b=d.current)==null||b.destroy()}},[i,o,n,s,e,a,t]),l}const IE=e=>n=>n.selected&&(n.draggable||e&&typeof n.draggable=="undefined");function Rm(){const e=ge();return C.useCallback(i=>{const{nodeExtent:o,snapToGrid:a,snapGrid:s,nodesDraggable:t,onError:r,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=e.getState(),b=new Map,m=IE(t),f=a?s[0]:5,h=a?s[1]:5,g=i.direction.x*f*i.factor,v=i.direction.y*h*i.factor;for(const[,p]of u){if(!m(p))continue;let S={x:p.internals.positionAbsolute.x+g,y:p.internals.positionAbsolute.y+v};a&&(S=gi(S,s));const{position:y,positionAbsolute:x}=Bb({nodeId:p.id,nextPosition:S,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:r});p.position=y,p.internals.positionAbsolute=x,b.set(p.id,p)}l(b)},[])}const us=C.createContext(null),LE=us.Provider;us.Consumer;const ef=()=>C.useContext(us),BE=e=>({connectOnClick:e.connectOnClick,noPanClassName:e.noPanClassName,rfId:e.rfId}),nf=C.createContext(null);function OE({children:e}){const n=de(BE,pe);return c.jsx(nf.Provider,{value:n,children:e})}function DE(){const e=C.useContext(nf);if(!e)throw new Error("useHandleConfig must be used within a HandleConfigProvider");return e}const qE={connectingFrom:!1,connectingTo:!1,clickConnecting:!1,isPossibleEndHandle:!0,connectionInProcess:!1,clickConnectionInProcess:!1,valid:!1},FE=(e,n,i)=>o=>{const{connectionClickStartHandle:a,connectionMode:s,connection:t}=o,{fromHandle:r,toHandle:l,isValid:u}=t;if(!r&&!a)return qE;const d=(l==null?void 0:l.nodeId)===e&&(l==null?void 0:l.id)===n&&(l==null?void 0:l.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:d,clickConnecting:(a==null?void 0:a.nodeId)===e&&(a==null?void 0:a.id)===n&&(a==null?void 0:a.type)===i,isPossibleEndHandle:s===qn.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:!!a,valid:d&&u}};function GE({type:e="source",position:n=oe.Top,isValidConnection:i,isConnectable:o=!0,isConnectableStart:a=!0,isConnectableEnd:s=!0,id:t,onConnect:r,children:l,className:u,onMouseDown:d,onTouchStart:b,...m},f){var O,B;const h=t||null,g=e==="target",v=ge(),p=ef(),{connectOnClick:S,noPanClassName:y,rfId:x}=DE(),{connectingFrom:w,connectingTo:A,clickConnecting:N,isPossibleEndHandle:E,connectionInProcess:_,clickConnectionInProcess:P,valid:k}=de(FE(p,h,e),pe);p||(B=(O=v.getState()).onError)==null||B.call(O,"010",Be.error010());const M=K=>{const{defaultEdgeOptions:G,onConnect:I,hasDefaultEdges:Y}=v.getState(),Z={...G,...K};if(Y){const{edges:J,setEdges:R,onError:D}=v.getState();R(hE(Z,J,{onError:D}))}I==null||I(Z),r==null||r(Z)},L=K=>{if(!p)return;const G=Wb(K.nativeEvent);if(a&&(G&&K.button===0||!G)){const I=v.getState();Ra.onPointerDown(K.nativeEvent,{handleDomNode:K.currentTarget,autoPanOnConnect:I.autoPanOnConnect,connectionMode:I.connectionMode,connectionRadius:I.connectionRadius,domNode:I.domNode,nodeLookup:I.nodeLookup,lib:I.lib,isTarget:g,handleId:h,nodeId:p,flowId:I.rfId,panBy:I.panBy,cancelConnection:I.cancelConnection,onConnectStart:I.onConnectStart,onConnectEnd:(...Y)=>{var Z,J;return(J=(Z=v.getState()).onConnectEnd)==null?void 0:J.call(Z,...Y)},updateConnection:I.updateConnection,onConnect:M,isValidConnection:i||((...Y)=>{var Z,J,R;return(R=(J=(Z=v.getState()).isValidConnection)==null?void 0:J.call(Z,...Y))!=null?R:!0}),getTransform:()=>v.getState().transform,getFromHandle:()=>v.getState().connection.fromHandle,autoPanSpeed:I.autoPanSpeed,dragThreshold:I.connectionDragThreshold})}G?d==null||d(K):b==null||b(K)},T=K=>{const{onClickConnectStart:G,onClickConnectEnd:I,connectionClickStartHandle:Y,connectionMode:Z,isValidConnection:J,lib:R,rfId:D,nodeLookup:H,connection:U}=v.getState();if(!p||!Y&&!a)return;if(!Y){G==null||G(K.nativeEvent,{nodeId:p,handleId:h,handleType:e}),v.setState({connectionClickStartHandle:{nodeId:p,type:e,id:h}});return}const q=jb(K.target),F=i||J,{connection:W,isValid:z}=Ra.isValid(K.nativeEvent,{handle:{nodeId:p,id:h,type:e},connectionMode:Z,fromNodeId:Y.nodeId,fromHandleId:Y.id||null,fromType:Y.type,isValidConnection:F,flowId:D,doc:q,lib:R,nodeLookup:H});z&&W&&M(W);const V=structuredClone(U);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,I==null||I(K,V),v.setState({connectionClickStartHandle:null})};return c.jsx("div",{"data-handleid":h,"data-nodeid":p,"data-handlepos":n,"data-id":`${x}-${p}-${h}-${e}`,className:we(["react-flow__handle",`react-flow__handle-${n}`,"nodrag",y,u,{source:!g,target:g,connectable:o,connectablestart:a,connectableend:s,clickconnecting:N,connectingfrom:w,connectingto:A,valid:k,connectionindicator:o&&(!_||E)&&(_||P?s:a)}]),onMouseDown:L,onTouchStart:L,onClick:S?T:void 0,ref:f,...m,children:l})}const Un=C.memo(Ym(GE));function KE({data:e,isConnectable:n,sourcePosition:i=oe.Bottom}){return c.jsxs(c.Fragment,{children:[e==null?void 0:e.label,c.jsx(Un,{type:"source",position:i,isConnectable:n})]})}function HE({data:e,isConnectable:n,targetPosition:i=oe.Top,sourcePosition:o=oe.Bottom}){return c.jsxs(c.Fragment,{children:[c.jsx(Un,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label,c.jsx(Un,{type:"source",position:o,isConnectable:n})]})}function VE(){return null}function zE({data:e,isConnectable:n,targetPosition:i=oe.Top}){return c.jsxs(c.Fragment,{children:[c.jsx(Un,{type:"target",position:i,isConnectable:n}),e==null?void 0:e.label]})}const Ao={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},of={input:KE,default:HE,output:zE,group:VE};function jE(e){var n,i,o,a,s,t,r,l,u,d;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:(t=(a=e.height)!=null?a:e.initialHeight)!=null?t:(s=e.style)==null?void 0:s.height}:{width:(l=e.width)!=null?l:(r=e.style)==null?void 0:r.width,height:(d=e.height)!=null?d:(u=e.style)==null?void 0:u.height}}const UE=e=>{const{width:n,height:i,x:o,y:a}=hi(e.nodeLookup,{filter:s=>!!s.selected});return{width:Ke(n)?n:null,height:Ke(i)?i:null,userSelectionActive:e.userSelectionActive,transformString:`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]}) translate(${o}px,${a}px)`}};function WE({onSelectionContextMenu:e,noPanClassName:n,disableKeyboardA11y:i}){const o=ge(),{width:a,height:s,transformString:t,userSelectionActive:r}=de(UE,pe),l=Rm(),u=C.useRef(null);C.useEffect(()=>{var f;i||(f=u.current)==null||f.focus({preventScroll:!0})},[i]);const d=!r&&a!==null&&s!==null;if(Qm({nodeRef:u,disabled:!d}),!d)return null;const b=e?f=>{const h=o.getState().nodes.filter(g=>g.selected);e(f,h)}:void 0,m=f=>{Object.prototype.hasOwnProperty.call(Ao,f.key)&&(f.preventDefault(),l({direction:Ao[f.key],factor:f.shiftKey?4:1}))};return c.jsx("div",{className:we(["react-flow__nodesselection","react-flow__container",n]),style:{transform:t},children:c.jsx("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:b,tabIndex:i?void 0:-1,onKeyDown:i?void 0:m,style:{width:a,height:s}})})}const af=typeof window!="undefined"?window:void 0,$E=e=>({nodesSelectionActive:e.nodesSelectionActive,userSelectionActive:e.userSelectionActive});function sf({children:e,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:t,paneClickDistance:r,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:b,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:h,panActivationKeyCode:g,zoomActivationKeyCode:v,elementsSelectable:p,zoomOnScroll:S,zoomOnPinch:y,panOnScroll:x,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:N,panOnDrag:E,autoPanOnSelection:_,defaultViewport:P,translateExtent:k,minZoom:M,maxZoom:L,preventScrolling:T,onSelectionContextMenu:O,noWheelClassName:B,noPanClassName:K,disableKeyboardA11y:G,onViewportChange:I,isControlledViewport:Y}){const{nodesSelectionActive:Z,userSelectionActive:J}=de($E,pe),R=wi(u,{target:af}),D=wi(g,{target:af}),H=D||E,U=D||x,q=d&&H!==!0,F=R||J||q;return NE({deleteKeyCode:l,multiSelectionKeyCode:h}),c.jsx(EE,{onPaneContextMenu:s,elementsSelectable:p,zoomOnScroll:S,zoomOnPinch:y,panOnScroll:U,panOnScrollSpeed:w,panOnScrollMode:A,zoomOnDoubleClick:N,panOnDrag:!R&&H,defaultViewport:P,translateExtent:k,minZoom:M,maxZoom:L,zoomActivationKeyCode:v,preventScrolling:T,noWheelClassName:B,noPanClassName:K,onViewportChange:I,isControlledViewport:Y,paneClickDistance:r,selectionOnDrag:q,children:c.jsxs(PE,{onSelectionStart:m,onSelectionEnd:f,onPaneClick:n,onPaneMouseEnter:i,onPaneMouseMove:o,onPaneMouseLeave:a,onPaneContextMenu:s,onPaneScroll:t,panOnDrag:H,autoPanOnSelection:_,isSelecting:!!F,selectionMode:b,selectionKeyPressed:R,paneClickDistance:r,selectionOnDrag:q,children:[e,Z&&c.jsx(WE,{onSelectionContextMenu:O,noPanClassName:K,disableKeyboardA11y:G})]})})}sf.displayName="FlowRenderer";const YE=C.memo(sf),JE=e=>n=>e?Ga(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 ZE(e){return de(C.useCallback(JE(e),[e]),pe)}const XE=e=>e.updateNodeInternals;function QE(){const e=de(XE),[n]=C.useState(()=>typeof ResizeObserver=="undefined"?null:new ResizeObserver(i=>{const o=new Map;i.forEach(a=>{const s=a.target.getAttribute("data-id");o.set(s,{id:s,nodeElement:a.target,force:!0})}),e(o)}));return C.useEffect(()=>()=>{n==null||n.disconnect()},[n]),n}function RE({node:e,nodeType:n,hasDimensions:i,resizeObserver:o}){const a=ge(),s=C.useRef(null),t=C.useRef(null),r=C.useRef(e.sourcePosition),l=C.useRef(e.targetPosition),u=C.useRef(n),d=i&&!!e.internals.handleBounds;return C.useEffect(()=>{s.current&&!e.hidden&&(!d||t.current!==s.current)&&(t.current&&(o==null||o.unobserve(t.current)),o==null||o.observe(s.current),t.current=s.current)},[d,e.hidden]),C.useEffect(()=>()=>{t.current&&(o==null||o.unobserve(t.current),t.current=null)},[]),C.useEffect(()=>{if(s.current){const b=u.current!==n,m=r.current!==e.sourcePosition,f=l.current!==e.targetPosition;(b||m||f)&&(u.current=n,r.current=e.sourcePosition,l.current=e.targetPosition,a.getState().updateNodeInternals(new Map([[e.id,{id:e.id,nodeElement:s.current,force:!0}]])))}},[e.id,n,e.sourcePosition,e.targetPosition]),s}function ek({id:e,onClick:n,onMouseEnter:i,onMouseMove:o,onMouseLeave:a,onContextMenu:s,onDoubleClick:t,nodesDraggable:r,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:b,noDragClassName:m,noPanClassName:f,disableKeyboardA11y:h,rfId:g,nodeTypes:v,nodeClickDistance:p,onError:S}){var F,W,z;const{node:y,internals:x,isParent:w}=de(V=>{const Q=V.nodeLookup.get(e),j=V.parentLookup.has(e);return{node:Q,internals:Q.internals,isParent:j}},pe);let A=y.type||"default",N=(v==null?void 0:v[A])||of[A];N===void 0&&(S==null||S("003",Be.error003(A)),A="default",N=(v==null?void 0:v.default)||of.default);const E=!!(y.draggable||r&&typeof y.draggable=="undefined"),_=!!(y.selectable||l&&typeof y.selectable=="undefined"),P=!!(y.connectable||u&&typeof y.connectable=="undefined"),k=!!(y.focusable||d&&typeof y.focusable=="undefined"),M=ge(),L=Hb(y),T=RE({node:y,nodeType:A,hasDimensions:L,resizeObserver:b}),O=Qm({nodeRef:T,disabled:y.hidden||!E,noDragClassName:m,handleSelector:y.dragHandle,nodeId:e,isSelectable:_,nodeClickDistance:p}),B=Rm();if(y.hidden)return null;const K=nn(y),G=jE(y),I=_||E||n||i||o||a,Y=i?V=>i(V,{...x.userNode}):void 0,Z=o?V=>o(V,{...x.userNode}):void 0,J=a?V=>a(V,{...x.userNode}):void 0,R=s?V=>s(V,{...x.userNode}):void 0,D=t?V=>t(V,{...x.userNode}):void 0,H=V=>{const{selectNodesOnDrag:Q,nodeDragThreshold:j}=M.getState();_&&(!Q||!E||j>0)&&ls({id:e,store:M,nodeRef:T}),n&&n(V,{...x.userNode})},U=V=>{if(!(Ub(V.nativeEvent)||h)){if(kb.includes(V.key)&&_){const Q=V.key==="Escape";ls({id:e,store:M,unselect:Q,nodeRef:T})}else if(E&&y.selected&&Object.prototype.hasOwnProperty.call(Ao,V.key)){V.preventDefault();const{ariaLabelConfig:Q}=M.getState();M.setState({ariaLiveMessage:Q["node.a11yDescription.ariaLiveMessage"]({direction:V.key.replace("Arrow","").toLowerCase(),x:~~x.positionAbsolute.x,y:~~x.positionAbsolute.y})}),B({direction:Ao[V.key],factor:V.shiftKey?4:1})}}},q=()=>{var ee;if(h||!((ee=T.current)!=null&&ee.matches(":focus-visible")))return;const{transform:V,width:Q,height:j,autoPanOnNodeFocus:X,setCenter:$}=M.getState();if(!X)return;Ga(new Map([[e,y]]),{x:0,y:0,width:Q,height:j},V,!0).length>0||$(y.position.x+K.width/2,y.position.y+K.height/2,{zoom:V[2]})};return c.jsx("div",{className:we(["react-flow__node",`react-flow__node-${A}`,{[f]:E},y.className,{selected:y.selected,selectable:_,parent:w,draggable:E,dragging:O}]),ref:T,style:{zIndex:x.z,transform:`translate(${x.positionAbsolute.x}px,${x.positionAbsolute.y}px)`,pointerEvents:I?"all":"none",visibility:L?"visible":"hidden",...y.style,...G},"data-id":e,"data-testid":`rf__node-${e}`,onMouseEnter:Y,onMouseMove:Z,onMouseLeave:J,onContextMenu:R,onClick:H,onDoubleClick:D,onKeyDown:k?U:void 0,tabIndex:k?0:void 0,onFocus:k?q:void 0,role:(F=y.ariaRole)!=null?F:k?"group":void 0,"aria-roledescription":"node","aria-describedby":h?void 0:`${Im}-${g}`,"aria-label":y.ariaLabel,...y.domAttributes,children:c.jsx(LE,{value:e,children:c.jsx(N,{id:e,data:y.data,type:A,positionAbsoluteX:x.positionAbsolute.x,positionAbsoluteY:x.positionAbsolute.y,selected:(W=y.selected)!=null?W:!1,selectable:_,draggable:E,deletable:(z=y.deletable)!=null?z:!0,isConnectable:P,sourcePosition:y.sourcePosition,targetPosition:y.targetPosition,dragging:O,dragHandle:y.dragHandle,zIndex:x.z,parentId:y.parentId,...K})})})}var nk=C.memo(ek);const ik=e=>({nodesDraggable:e.nodesDraggable,nodesConnectable:e.nodesConnectable,nodesFocusable:e.nodesFocusable,elementsSelectable:e.elementsSelectable,onError:e.onError});function tf(e){const{nodesDraggable:n,nodesConnectable:i,nodesFocusable:o,elementsSelectable:a,onError:s}=de(ik,pe),t=ZE(e.onlyRenderVisibleElements),r=QE();return c.jsx("div",{className:"react-flow__nodes",style:wo,children:t.map(l=>c.jsx(nk,{id:l,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:a,nodeClickDistance:e.nodeClickDistance,onError:s},l))})}tf.displayName="NodeRenderer";const ok=C.memo(tf);function ak(e){return de(C.useCallback(i=>{if(!e)return i.edges.map(a=>a.id);const o=[];if(i.width&&i.height)for(const a of i.edges){const s=i.nodeLookup.get(a.source),t=i.nodeLookup.get(a.target);s&&t&&QC({sourceNode:s,targetNode:t,width:i.width,height:i.height,transform:i.transform})&&o.push(a.id)}return o},[e]),pe)}const sk=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e}};return c.jsx("polyline",{className:"arrow",style:i,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},tk=({color:e="none",strokeWidth:n=1})=>{const i={strokeWidth:n,...e&&{stroke:e,fill:e}};return c.jsx("polyline",{className:"arrowclosed",style:i,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},rf={[Fn.Arrow]:sk,[Fn.ArrowClosed]:tk};function rk(e){const n=ge();return C.useMemo(()=>{var a,s;return Object.prototype.hasOwnProperty.call(rf,e)?rf[e]:((s=(a=n.getState()).onError)==null||s.call(a,"009",Be.error009(e)),null)},[e])}const lk=({id:e,type:n,color:i,width:o=12.5,height:a=12.5,markerUnits:s="strokeWidth",strokeWidth:t,orient:r="auto-start-reverse"})=>{const l=rk(n);return l?c.jsx("marker",{className:"react-flow__arrowhead",id:e,markerWidth:`${o}`,markerHeight:`${a}`,viewBox:"-10 -10 20 20",markerUnits:s,orient:r,refX:"0",refY:"0",children:c.jsx(l,{color:i,strokeWidth:t})}):null},lf=({defaultColor:e,rfId:n})=>{const i=de(s=>s.edges),o=de(s=>s.defaultEdgeOptions),a=C.useMemo(()=>t_(i,{id:n,defaultColor:e,defaultMarkerStart:o==null?void 0:o.markerStart,defaultMarkerEnd:o==null?void 0:o.markerEnd}),[i,o,n,e]);return a.length?c.jsx("svg",{className:"react-flow__marker","aria-hidden":"true",children:c.jsx("defs",{children:a.map(s=>c.jsx(lk,{id:s.id,type:s.type,color:s.color,width:s.width,height:s.height,markerUnits:s.markerUnits,strokeWidth:s.strokeWidth,orient:s.orient},s.id))})}):null};lf.displayName="MarkerDefinitions";var uk=C.memo(lf);function uf({x:e,y:n,label:i,labelStyle:o,labelShowBg:a=!0,labelBgStyle:s,labelBgPadding:t=[2,4],labelBgBorderRadius:r=2,children:l,className:u,...d}){const[b,m]=C.useState({x:1,y:0,width:0,height:0}),f=we(["react-flow__edge-textwrapper",u]),h=C.useRef(null);return C.useEffect(()=>{if(h.current){const g=h.current.getBBox();m({x:g.x,y:g.y,width:g.width,height:g.height})}},[i]),i?c.jsxs("g",{transform:`translate(${e-b.width/2} ${n-b.height/2})`,className:f,visibility:b.width?"visible":"hidden",...d,children:[a&&c.jsx("rect",{width:b.width+2*t[0],x:-t[0],y:-t[1],height:b.height+2*t[1],className:"react-flow__edge-textbg",style:s,rx:r,ry:r}),c.jsx("text",{className:"react-flow__edge-text",y:b.height/2,dy:"0.3em",ref:h,style:o,children:i}),l]}):null}uf.displayName="EdgeText";const dk=C.memo(uf);function No({path:e,labelX:n,labelY:i,label:o,labelStyle:a,labelShowBg:s,labelBgStyle:t,labelBgPadding:r,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return c.jsxs(c.Fragment,{children:[c.jsx("path",{...d,d:e,fill:"none",className:we(["react-flow__edge-path",d.className])}),u?c.jsx("path",{d:e,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&Ke(n)&&Ke(i)?c.jsx(dk,{x:n,y:i,label:o,labelStyle:a,labelShowBg:s,labelBgStyle:t,labelBgPadding:r,labelBgBorderRadius:l}):null]})}function df({pos:e,x1:n,y1:i,x2:o,y2:a}){return e===oe.Left||e===oe.Right?[.5*(n+o),i]:[n,.5*(i+a)]}function cf({sourceX:e,sourceY:n,sourcePosition:i=oe.Bottom,targetX:o,targetY:a,targetPosition:s=oe.Top}){const[t,r]=df({pos:i,x1:e,y1:n,x2:o,y2:a}),[l,u]=df({pos:s,x1:o,y1:a,x2:e,y2:n}),[d,b,m,f]=Yb({sourceX:e,sourceY:n,targetX:o,targetY:a,sourceControlX:t,sourceControlY:r,targetControlX:l,targetControlY:u});return[`M${e},${n} C${t},${r} ${l},${u} ${o},${a}`,d,b,m,f]}function bf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,sourcePosition:t,targetPosition:r,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:p})=>{const[S,y,x]=cf({sourceX:i,sourceY:o,sourcePosition:t,targetX:a,targetY:s,targetPosition:r}),w=e.isInternal?void 0:n;return c.jsx(No,{id:w,path:S,labelX:y,labelY:x,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:p})})}const ck=bf({isInternal:!1}),mf=bf({isInternal:!0});ck.displayName="SimpleBezierEdge",mf.displayName="SimpleBezierEdgeInternal";function ff(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,sourcePosition:f=oe.Bottom,targetPosition:h=oe.Top,markerEnd:g,markerStart:v,pathOptions:p,interactionWidth:S})=>{const[y,x,w]=ja({sourceX:i,sourceY:o,sourcePosition:f,targetX:a,targetY:s,targetPosition:h,borderRadius:p==null?void 0:p.borderRadius,offset:p==null?void 0:p.offset,stepPosition:p==null?void 0:p.stepPosition}),A=e.isInternal?void 0:n;return c.jsx(No,{id:A,path:y,labelX:x,labelY:w,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:g,markerStart:v,interactionWidth:S})})}const vf=ff({isInternal:!1}),hf=ff({isInternal:!0});vf.displayName="SmoothStepEdge",hf.displayName="SmoothStepEdgeInternal";function pf(e){return C.memo(({id:n,...i})=>{var a;const o=e.isInternal?void 0:n;return c.jsx(vf,{...i,id:o,pathOptions:C.useMemo(()=>{var s;return{borderRadius:0,offset:(s=i.pathOptions)==null?void 0:s.offset}},[(a=i.pathOptions)==null?void 0:a.offset])})})}const bk=pf({isInternal:!1}),gf=pf({isInternal:!0});bk.displayName="StepEdge",gf.displayName="StepEdgeInternal";function yf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:h,interactionWidth:g})=>{const[v,p,S]=Qb({sourceX:i,sourceY:o,targetX:a,targetY:s}),y=e.isInternal?void 0:n;return c.jsx(No,{id:y,path:v,labelX:p,labelY:S,label:t,labelStyle:r,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:b,style:m,markerEnd:f,markerStart:h,interactionWidth:g})})}const mk=yf({isInternal:!1}),xf=yf({isInternal:!0});mk.displayName="StraightEdge",xf.displayName="StraightEdgeInternal";function Sf(e){return C.memo(({id:n,sourceX:i,sourceY:o,targetX:a,targetY:s,sourcePosition:t=oe.Bottom,targetPosition:r=oe.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,pathOptions:p,interactionWidth:S})=>{const[y,x,w]=Zb({sourceX:i,sourceY:o,sourcePosition:t,targetX:a,targetY:s,targetPosition:r,curvature:p==null?void 0:p.curvature}),A=e.isInternal?void 0:n;return c.jsx(No,{id:A,path:y,labelX:x,labelY:w,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:b,labelBgPadding:m,labelBgBorderRadius:f,style:h,markerEnd:g,markerStart:v,interactionWidth:S})})}const fk=Sf({isInternal:!1}),wf=Sf({isInternal:!0});fk.displayName="BezierEdge",wf.displayName="BezierEdgeInternal";const Af={default:wf,straight:xf,step:gf,smoothstep:hf,simplebezier:mf},Nf={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null,zIndex:void 0},vk=(e,n,i)=>i===oe.Left?e-n:i===oe.Right?e+n:e,hk=(e,n,i)=>i===oe.Top?e-n:i===oe.Bottom?e+n:e,Cf="react-flow__edgeupdater";function _f({position:e,centerX:n,centerY:i,radius:o=10,onMouseDown:a,onMouseEnter:s,onMouseOut:t,type:r}){return c.jsx("circle",{onMouseDown:a,onMouseEnter:s,onMouseOut:t,className:we([Cf,`${Cf}-${r}`]),cx:vk(n,o,e),cy:hk(i,o,e),r:o,stroke:"transparent",fill:"transparent"})}function pk({isReconnectable:e,reconnectRadius:n,edge:i,sourceX:o,sourceY:a,targetX:s,targetY:t,sourcePosition:r,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:b,setReconnecting:m,setUpdateHover:f}){const h=ge(),g=(x,w)=>{if(x.button!==0)return;const{autoPanOnConnect:A,domNode:N,connectionMode:E,connectionRadius:_,lib:P,onConnectStart:k,cancelConnection:M,nodeLookup:L,rfId:T,panBy:O,updateConnection:B}=h.getState(),K=w.type==="target",G=(Z,J)=>{m(!1),b==null||b(Z,i,w.type,J)},I=Z=>u==null?void 0:u(i,Z),Y=(Z,J)=>{m(!0),d==null||d(x,i,w.type),k==null||k(Z,J)};Ra.onPointerDown(x.nativeEvent,{autoPanOnConnect:A,connectionMode:E,connectionRadius:_,domNode:N,handleId:w.id,nodeId:w.nodeId,nodeLookup:L,isTarget:K,edgeUpdaterType:w.type,lib:P,flowId:T,cancelConnection:M,panBy:O,isValidConnection:(...Z)=>{var J,R,D;return(D=(R=(J=h.getState()).isValidConnection)==null?void 0:R.call(J,...Z))!=null?D:!0},onConnect:I,onConnectStart:Y,onConnectEnd:(...Z)=>{var J,R;return(R=(J=h.getState()).onConnectEnd)==null?void 0:R.call(J,...Z)},onReconnectEnd:G,updateConnection:B,getTransform:()=>h.getState().transform,getFromHandle:()=>h.getState().connection.fromHandle,dragThreshold:h.getState().connectionDragThreshold,handleDomNode:x.currentTarget})},v=x=>{var w;return g(x,{nodeId:i.target,id:(w=i.targetHandle)!=null?w:null,type:"target"})},p=x=>{var w;return g(x,{nodeId:i.source,id:(w=i.sourceHandle)!=null?w:null,type:"source"})},S=()=>f(!0),y=()=>f(!1);return c.jsxs(c.Fragment,{children:[(e===!0||e==="source")&&c.jsx(_f,{position:r,centerX:o,centerY:a,radius:n,onMouseDown:v,onMouseEnter:S,onMouseOut:y,type:"source"}),(e===!0||e==="target")&&c.jsx(_f,{position:l,centerX:s,centerY:t,radius:n,onMouseDown:p,onMouseEnter:S,onMouseOut:y,type:"target"})]})}function gk({id:e,edgesFocusable:n,edgesReconnectable:i,elementsSelectable:o,onClick:a,onDoubleClick:s,onContextMenu:t,onMouseEnter:r,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,rfId:h,edgeTypes:g,noPanClassName:v,onError:p,disableKeyboardA11y:S}){var Q,j;let y=de(X=>X.edgeLookup.get(e));const x=de(X=>X.defaultEdgeOptions);y=x?{...x,...y}:y;let w=y.type||"default",A=(g==null?void 0:g[w])||Af[w];A===void 0&&(p==null||p("011",Be.error011(w)),w="default",A=(g==null?void 0:g.default)||Af.default);const N=!!(y.focusable||n&&typeof y.focusable=="undefined"),E=typeof b!="undefined"&&(y.reconnectable||i&&typeof y.reconnectable=="undefined"),_=!!(y.selectable||o&&typeof y.selectable=="undefined"),P=C.useRef(null),[k,M]=C.useState(!1),[L,T]=C.useState(!1),O=ge(),{zIndex:B=y.zIndex,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J}=de(C.useCallback(X=>{const $=X.nodeLookup.get(y.source),ne=X.nodeLookup.get(y.target);if(!$||!ne)return Nf;const ee=s_({id:e,sourceNode:$,targetNode:ne,sourceHandle:y.sourceHandle||null,targetHandle:y.targetHandle||null,connectionMode:X.connectionMode,onError:p}),ae=XC({selected:y.selected,zIndex:y.zIndex,sourceNode:$,targetNode:ne,elevateOnSelect:X.elevateEdgesOnSelect,zIndexMode:X.zIndexMode});return{...ee||Nf,zIndex:ae}},[y.source,y.target,y.sourceHandle,y.targetHandle,y.selected,y.zIndex]),pe),R=C.useMemo(()=>y.markerStart?`url('#${Ua(y.markerStart,h)}')`:void 0,[y.markerStart,h]),D=C.useMemo(()=>y.markerEnd?`url('#${Ua(y.markerEnd,h)}')`:void 0,[y.markerEnd,h]);if(y.hidden||K===null||G===null||I===null||Y===null)return null;const H=X=>{var ae;const{addSelectedEdges:$,unselectNodesAndEdges:ne,multiSelectionActive:ee}=O.getState();_&&(O.setState({nodesSelectionActive:!1}),y.selected&&ee?(ne({nodes:[],edges:[y]}),(ae=P.current)==null||ae.blur()):$([e])),a&&a(X,y)},U=s?X=>{s(X,{...y})}:void 0,q=t?X=>{t(X,{...y})}:void 0,F=r?X=>{r(X,{...y})}:void 0,W=l?X=>{l(X,{...y})}:void 0,z=u?X=>{u(X,{...y})}:void 0,V=X=>{var $;if(!S&&kb.includes(X.key)&&_){const{unselectNodesAndEdges:ne,addSelectedEdges:ee}=O.getState();X.key==="Escape"?(($=P.current)==null||$.blur(),ne({edges:[y]})):ee([e])}};return c.jsx("svg",{style:{zIndex:B},children:c.jsxs("g",{className:we(["react-flow__edge",`react-flow__edge-${w}`,y.className,v,{selected:y.selected,animated:y.animated,inactive:!_&&!a,updating:k,selectable:_}]),onClick:H,onDoubleClick:U,onContextMenu:q,onMouseEnter:F,onMouseMove:W,onMouseLeave:z,onKeyDown:N?V:void 0,tabIndex:N?0:void 0,role:(Q=y.ariaRole)!=null?Q:N?"group":"img","aria-roledescription":"edge","data-id":e,"data-testid":`rf__edge-${e}`,"aria-label":y.ariaLabel===null?void 0:y.ariaLabel||`Edge from ${y.source} to ${y.target}`,"aria-describedby":N?`${Lm}-${h}`:void 0,ref:P,...y.domAttributes,children:[!L&&c.jsx(A,{id:e,source:y.source,target:y.target,type:y.type,selected:y.selected,animated:y.animated,selectable:_,deletable:(j=y.deletable)!=null?j:!0,label:y.label,labelStyle:y.labelStyle,labelShowBg:y.labelShowBg,labelBgStyle:y.labelBgStyle,labelBgPadding:y.labelBgPadding,labelBgBorderRadius:y.labelBgBorderRadius,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J,data:y.data,style:y.style,sourceHandleId:y.sourceHandle,targetHandleId:y.targetHandle,markerStart:R,markerEnd:D,pathOptions:"pathOptions"in y?y.pathOptions:void 0,interactionWidth:y.interactionWidth}),E&&c.jsx(pk,{edge:y,isReconnectable:E,reconnectRadius:d,onReconnect:b,onReconnectStart:m,onReconnectEnd:f,sourceX:K,sourceY:G,targetX:I,targetY:Y,sourcePosition:Z,targetPosition:J,setUpdateHover:M,setReconnecting:T})]})})}var yk=C.memo(gk);const xk=e=>({edgesFocusable:e.edgesFocusable,edgesReconnectable:e.edgesReconnectable,elementsSelectable:e.elementsSelectable,connectionMode:e.connectionMode,onError:e.onError});function Ef({defaultMarkerColor:e,onlyRenderVisibleElements:n,rfId:i,edgeTypes:o,noPanClassName:a,onReconnect:s,onEdgeContextMenu:t,onEdgeMouseEnter:r,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:b,onEdgeDoubleClick:m,onReconnectStart:f,onReconnectEnd:h,disableKeyboardA11y:g}){const{edgesFocusable:v,edgesReconnectable:p,elementsSelectable:S,onError:y}=de(xk,pe),x=ak(n);return c.jsxs("div",{className:"react-flow__edges",children:[c.jsx(uk,{defaultColor:e,rfId:i}),x.map(w=>c.jsx(yk,{id:w,edgesFocusable:v,edgesReconnectable:p,elementsSelectable:S,noPanClassName:a,onReconnect:s,onContextMenu:t,onMouseEnter:r,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:b,onDoubleClick:m,onReconnectStart:f,onReconnectEnd:h,rfId:i,onError:y,edgeTypes:o,disableKeyboardA11y:g},w))]})}Ef.displayName="EdgeRenderer";const Sk=C.memo(Ef),wk=e=>`translate(${e.transform[0]}px,${e.transform[1]}px) scale(${e.transform[2]})`;function Ak({children:e}){const n=de(wk);return c.jsx("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:n},children:e})}function Nk(e){const n=ts(),i=C.useRef(!1);C.useEffect(()=>{!i.current&&n.viewportInitialized&&e&&(setTimeout(()=>e(n),1),i.current=!0)},[e,n.viewportInitialized])}const Ck=e=>{var n;return(n=e.panZoom)==null?void 0:n.syncViewport};function _k(e){const n=de(Ck),i=ge();return C.useEffect(()=>{e&&(n==null||n(e),i.setState({transform:[e.x,e.y,e.zoom]}))},[e,n]),null}function Ek(e){return e.connection.inProgress?{...e.connection,to:yi(e.connection.to,e.transform)}:{...e.connection}}function kk(e){return Ek}function Mk(e){const n=kk();return de(n,pe)}const Tk=e=>({nodesConnectable:e.nodesConnectable,isValid:e.connection.isValid,inProgress:e.connection.inProgress,width:e.width,height:e.height});function Pk({containerStyle:e,style:n,type:i,component:o}){const{nodesConnectable:a,width:s,height:t,isValid:r,inProgress:l}=de(Tk,pe);return!(s&&a&&l)?null:c.jsx("svg",{style:e,width:s,height:t,className:"react-flow__connectionline react-flow__container",children:c.jsx("g",{className:we(["react-flow__connection",Ib(r)]),children:c.jsx(kf,{style:n,type:i,CustomComponent:o,isValid:r})})})}const kf=({style:e,type:n=ln.Bezier,CustomComponent:i,isValid:o})=>{const{inProgress:a,from:s,fromNode:t,fromHandle:r,fromPosition:l,to:u,toNode:d,toHandle:b,toPosition:m,pointer:f}=Mk();if(!a)return;if(i)return c.jsx(i,{connectionLineType:n,connectionLineStyle:e,fromNode:t,fromHandle:r,fromX:s.x,fromY:s.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:m,connectionStatus:Ib(o),toNode:d,toHandle:b,pointer:f});let h="";const g={sourceX:s.x,sourceY:s.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:m};switch(n){case ln.Bezier:[h]=Zb(g);break;case ln.SimpleBezier:[h]=cf(g);break;case ln.Step:[h]=ja({...g,borderRadius:0});break;case ln.SmoothStep:[h]=ja(g);break;default:[h]=Qb(g)}return c.jsx("path",{d:h,fill:"none",className:"react-flow__connection-path",style:e})};kf.displayName="ConnectionLine";const Ik={};function Mf(e=Ik){const n=C.useRef(e),i=ge();C.useEffect(()=>{var o,a;if(process.env.NODE_ENV==="development"){const s=new Set([...Object.keys(n.current),...Object.keys(e)]);for(const t of s)if(n.current[t]!==e[t]){(a=(o=i.getState()).onError)==null||a.call(o,"002",Be.error002());break}n.current=e}},[e])}function Lk(){const e=ge(),n=C.useRef(!1);C.useEffect(()=>{var i,o;if(process.env.NODE_ENV==="development"&&!n.current){const a=document.querySelector(".react-flow__pane");a&&window.getComputedStyle(a).zIndex!=="1"&&((o=(i=e.getState()).onError)==null||o.call(i,"013",Be.error013("react"))),n.current=!0}},[])}function Tf({nodeTypes:e,edgeTypes:n,onInit:i,onNodeClick:o,onEdgeClick:a,onNodeDoubleClick:s,onEdgeDoubleClick:t,onNodeMouseEnter:r,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:b,onSelectionStart:m,onSelectionEnd:f,connectionLineType:h,connectionLineStyle:g,connectionLineComponent:v,connectionLineContainerStyle:p,selectionKeyCode:S,selectionOnDrag:y,selectionMode:x,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:N,deleteKeyCode:E,onlyRenderVisibleElements:_,elementsSelectable:P,defaultViewport:k,translateExtent:M,minZoom:L,maxZoom:T,preventScrolling:O,defaultMarkerColor:B,zoomOnScroll:K,zoomOnPinch:G,panOnScroll:I,panOnScrollSpeed:Y,panOnScrollMode:Z,zoomOnDoubleClick:J,panOnDrag:R,autoPanOnSelection:D,onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:q,onPaneMouseLeave:F,onPaneScroll:W,onPaneContextMenu:z,paneClickDistance:V,nodeClickDistance:Q,onEdgeContextMenu:j,onEdgeMouseEnter:X,onEdgeMouseMove:$,onEdgeMouseLeave:ne,reconnectRadius:ee,onReconnect:ae,onReconnectStart:re,onReconnectEnd:be,noDragClassName:ce,noWheelClassName:he,noPanClassName:me,disableKeyboardA11y:fe,nodeExtent:Ee,rfId:je,viewport:Ne,onViewportChange:Te}){return Mf(e),Mf(n),Lk(),Nk(i),_k(Ne),c.jsx(YE,{onPaneClick:H,onPaneMouseEnter:U,onPaneMouseMove:q,onPaneMouseLeave:F,onPaneContextMenu:z,onPaneScroll:W,paneClickDistance:V,deleteKeyCode:E,selectionKeyCode:S,selectionOnDrag:y,selectionMode:x,onSelectionStart:m,onSelectionEnd:f,multiSelectionKeyCode:w,panActivationKeyCode:A,zoomActivationKeyCode:N,elementsSelectable:P,zoomOnScroll:K,zoomOnPinch:G,zoomOnDoubleClick:J,panOnScroll:I,panOnScrollSpeed:Y,panOnScrollMode:Z,panOnDrag:R,autoPanOnSelection:D,defaultViewport:k,translateExtent:M,minZoom:L,maxZoom:T,onSelectionContextMenu:b,preventScrolling:O,noDragClassName:ce,noWheelClassName:he,noPanClassName:me,disableKeyboardA11y:fe,onViewportChange:Te,isControlledViewport:!!Ne,children:c.jsxs(Ak,{children:[c.jsx(Sk,{edgeTypes:n,onEdgeClick:a,onEdgeDoubleClick:t,onReconnect:ae,onReconnectStart:re,onReconnectEnd:be,onlyRenderVisibleElements:_,onEdgeContextMenu:j,onEdgeMouseEnter:X,onEdgeMouseMove:$,onEdgeMouseLeave:ne,reconnectRadius:ee,defaultMarkerColor:B,noPanClassName:me,disableKeyboardA11y:fe,rfId:je}),c.jsx(Pk,{style:g,type:h,component:v,containerStyle:p}),c.jsx("div",{className:"react-flow__edgelabel-renderer"}),c.jsx(ok,{nodeTypes:e,onNodeClick:o,onNodeDoubleClick:s,onNodeMouseEnter:r,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:Q,onlyRenderVisibleElements:_,noPanClassName:me,noDragClassName:ce,disableKeyboardA11y:fe,nodeExtent:Ee,rfId:je}),c.jsx("div",{className:"react-flow__viewport-portal"})]})})}Tf.displayName="GraphView";const Bk=C.memo(Tf),Ok=Kb("React Flow","https://reactflow.dev/"),Pf=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:b,zIndexMode:m="basic"}={})=>{var N,E,_;const f=new Map,h=new Map,g=new Map,v=new Map,p=(N=o!=null?o:n)!=null?N:[],S=(E=i!=null?i:e)!=null?E:[],y=d!=null?d:[0,0],x=b!=null?b:mi;rm(g,v,p);const{nodesInitialized:w}=Ja(S,f,h,{nodeOrigin:y,nodeExtent:x,zIndexMode:m});let A=[0,0,1];if(t&&a&&s){const P=hi(f,{filter:T=>!!((T.width||T.initialWidth)&&(T.height||T.initialHeight))}),{x:k,y:M,zoom:L}=Va(P,a,s,l,u,(_=r==null?void 0:r.padding)!=null?_:.1);A=[k,M,L]}return{rfId:"1",width:a!=null?a:0,height:s!=null?s:0,transform:A,nodes:S,nodesInitialized:w,nodeLookup:f,parentLookup:h,edges:p,edgeLookup:v,connectionLookup:g,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:i!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:mi,nodeExtent:x,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:qn.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:y,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:t!=null?t:!1,fitViewOptions:r,fitViewResolver:null,connection:{...Tb},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:Ok,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Mb,zIndexMode:m,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},Dk=({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:b,zIndexMode:m})=>J_((f,h)=>{async function g(){const{nodeLookup:v,panZoom:p,fitViewOptions:S,fitViewResolver:y,width:x,height:w,minZoom:A,maxZoom:N}=h();p&&(await jC({nodes:v,width:x,height:w,panZoom:p,minZoom:A,maxZoom:N},S),y==null||y.resolve(!0),f({fitViewResolver:null}))}return{...Pf({nodes:e,edges:n,width:a,height:s,fitView:t,fitViewOptions:r,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:b,defaultNodes:i,defaultEdges:o,zIndexMode:m}),setNodes:v=>{const{nodeLookup:p,parentLookup:S,nodeOrigin:y,elevateNodesOnSelect:x,fitViewQueued:w,zIndexMode:A,nodesSelectionActive:N}=h(),{nodesInitialized:E,hasSelectedNodes:_}=Ja(v,p,S,{nodeOrigin:y,nodeExtent:b,elevateNodesOnSelect:x,checkEquality:!0,zIndexMode:A}),P=N&&_;w&&E?(g(),f({nodes:v,nodesInitialized:E,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:P})):f({nodes:v,nodesInitialized:E,nodesSelectionActive:P})},setEdges:v=>{const{connectionLookup:p,edgeLookup:S}=h();rm(p,S,v),f({edges:v})},setDefaultNodesAndEdges:(v,p)=>{if(v){const{setNodes:S}=h();S(v),f({hasDefaultNodes:!0})}if(p){const{setEdges:S}=h();S(p),f({hasDefaultEdges:!0})}},updateNodeInternals:v=>{const{triggerNodeChanges:p,nodeLookup:S,parentLookup:y,domNode:x,nodeOrigin:w,nodeExtent:A,debug:N,fitViewQueued:E,zIndexMode:_}=h(),{changes:P,updatedInternals:k}=m_(v,S,y,x,w,A,_);k&&(u_(S,y,{nodeOrigin:w,nodeExtent:A,zIndexMode:_}),E?(g(),f({fitViewQueued:!1,fitViewOptions:void 0})):f({}),(P==null?void 0:P.length)>0&&(N&&console.log("React Flow: trigger node changes",P),p==null||p(P)))},updateNodePositions:(v,p=!1)=>{var _,P;const S=[];let y=[];const{nodeLookup:x,triggerNodeChanges:w,connection:A,updateConnection:N,onNodesChangeMiddlewareMap:E}=h();for(const[k,M]of v){const L=x.get(k),T=!!(L!=null&&L.expandParent&&(L!=null&&L.parentId)&&(M!=null&&M.position)),O={id:k,type:"position",position:T?{x:Math.max(0,M.position.x),y:Math.max(0,M.position.y)}:M.position,dragging:p};if(L&&A.inProgress&&A.fromNode.id===L.id){const B=Sn(L,A.fromHandle,oe.Left,!0);N({...A,from:B})}T&&L.parentId&&S.push({id:k,parentId:L.parentId,rect:{...M.internals.positionAbsolute,width:(_=M.measured.width)!=null?_:0,height:(P=M.measured.height)!=null?P:0}}),y.push(O)}if(S.length>0){const{parentLookup:k,nodeOrigin:M}=h(),L=Xa(S,x,k,M);y.push(...L)}for(const k of E.values())y=k(y);w(y)},triggerNodeChanges:v=>{const{onNodesChange:p,setNodes:S,nodes:y,hasDefaultNodes:x,debug:w}=h();if(v!=null&&v.length){if(x){const A=zm(v,y);S(A)}w&&console.log("React Flow: trigger node changes",v),p==null||p(v)}},triggerEdgeChanges:v=>{const{onEdgesChange:p,setEdges:S,edges:y,hasDefaultEdges:x,debug:w}=h();if(v!=null&&v.length){if(x){const A=jm(v,y);S(A)}w&&console.log("React Flow: trigger edge changes",v),p==null||p(v)}},addSelectedNodes:v=>{const{multiSelectionActive:p,edgeLookup:S,nodeLookup:y,triggerNodeChanges:x,triggerEdgeChanges:w}=h();if(p){const A=v.map(N=>wn(N,!0));x(A);return}x(jn(y,new Set([...v]),!0)),w(jn(S))},addSelectedEdges:v=>{const{multiSelectionActive:p,edgeLookup:S,nodeLookup:y,triggerNodeChanges:x,triggerEdgeChanges:w}=h();if(p){const A=v.map(N=>wn(N,!0));w(A);return}w(jn(S,new Set([...v]))),x(jn(y,new Set,!0))},unselectNodesAndEdges:({nodes:v,edges:p}={})=>{const{edges:S,nodes:y,nodeLookup:x,triggerNodeChanges:w,triggerEdgeChanges:A}=h(),N=v||y,E=p||S,_=[];for(const k of N){if(!k.selected)continue;const M=x.get(k.id);M&&(M.selected=!1),_.push(wn(k.id,!1))}const P=[];for(const k of E)k.selected&&P.push(wn(k.id,!1));w(_),A(P)},setMinZoom:v=>{const{panZoom:p,maxZoom:S}=h();p==null||p.setScaleExtent([v,S]),f({minZoom:v})},setMaxZoom:v=>{const{panZoom:p,minZoom:S}=h();p==null||p.setScaleExtent([S,v]),f({maxZoom:v})},setTranslateExtent:v=>{var p;(p=h().panZoom)==null||p.setTranslateExtent(v),f({translateExtent:v})},resetSelectedElements:()=>{const{edges:v,nodes:p,triggerNodeChanges:S,triggerEdgeChanges:y,elementsSelectable:x}=h();if(!x)return;const w=p.reduce((N,E)=>E.selected?[...N,wn(E.id,!1)]:N,[]),A=v.reduce((N,E)=>E.selected?[...N,wn(E.id,!1)]:N,[]);S(w),y(A)},setNodeExtent:v=>{const{nodes:p,nodeLookup:S,parentLookup:y,nodeOrigin:x,elevateNodesOnSelect:w,nodeExtent:A,zIndexMode:N}=h();v[0][0]===A[0][0]&&v[0][1]===A[0][1]&&v[1][0]===A[1][0]&&v[1][1]===A[1][1]||(Ja(p,S,y,{nodeOrigin:x,nodeExtent:v,elevateNodesOnSelect:w,checkEquality:!1,zIndexMode:N}),f({nodeExtent:v}))},panBy:v=>{const{transform:p,width:S,height:y,panZoom:x,translateExtent:w}=h();return f_({delta:v,panZoom:x,transform:p,translateExtent:w,width:S,height:y})},setCenter:async(v,p,S)=>{const{width:y,height:x,maxZoom:w,panZoom:A}=h();if(!A)return!1;const N=typeof(S==null?void 0:S.zoom)!="undefined"?S.zoom:w;return await A.setViewport({x:y/2-v*N,y:x/2-p*N,zoom:N},{duration:S==null?void 0:S.duration,ease:S==null?void 0:S.ease,interpolate:S==null?void 0:S.interpolate}),!0},cancelConnection:()=>{f({connection:{...Tb}})},updateConnection:v=>{f({connection:v})},reset:()=>f({...Pf()})}},Object.is);function qk({initialNodes:e,initialEdges:n,defaultNodes:i,defaultEdges:o,initialWidth:a,initialHeight:s,initialMinZoom:t,initialMaxZoom:r,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:b,zIndexMode:m,children:f}){const[h]=C.useState(()=>Dk({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,width:a,height:s,fitView:u,minZoom:t,maxZoom:r,fitViewOptions:l,nodeOrigin:d,nodeExtent:b,zIndexMode:m}));return c.jsx(Z_,{value:h,children:c.jsx(xE,{children:c.jsx(OE,{children:f})})})}function Fk({children:e,nodes:n,edges:i,defaultNodes:o,defaultEdges:a,width:s,height:t,fitView:r,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:b,nodeExtent:m,zIndexMode:f}){return C.useContext(yo)?c.jsx(c.Fragment,{children:e}):c.jsx(qk,{initialNodes:n,initialEdges:i,defaultNodes:o,defaultEdges:a,initialWidth:s,initialHeight:t,fitView:r,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:b,nodeExtent:m,zIndexMode:f,children:e})}const Gk={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function Kk({nodes:e,edges:n,defaultNodes:i,defaultEdges:o,className:a,nodeTypes:s,edgeTypes:t,onNodeClick:r,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:b,onMoveEnd:m,onConnect:f,onConnectStart:h,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:p,onNodeMouseEnter:S,onNodeMouseMove:y,onNodeMouseLeave:x,onNodeContextMenu:w,onNodeDoubleClick:A,onNodeDragStart:N,onNodeDrag:E,onNodeDragStop:_,onNodesDelete:P,onEdgesDelete:k,onDelete:M,onSelectionChange:L,onSelectionDragStart:T,onSelectionDrag:O,onSelectionDragStop:B,onSelectionContextMenu:K,onSelectionStart:G,onSelectionEnd:I,onBeforeDelete:Y,connectionMode:Z,connectionLineType:J=ln.Bezier,connectionLineStyle:R,connectionLineComponent:D,connectionLineContainerStyle:H,deleteKeyCode:U="Backspace",selectionKeyCode:q="Shift",selectionOnDrag:F=!1,selectionMode:W=fi.Full,panActivationKeyCode:z="Space",multiSelectionKeyCode:V=xi()?"Meta":"Control",zoomActivationKeyCode:Q=xi()?"Meta":"Control",snapToGrid:j,snapGrid:X,onlyRenderVisibleElements:$=!1,selectNodesOnDrag:ne,nodesDraggable:ee,autoPanOnNodeFocus:ae,nodesConnectable:re,nodesFocusable:be,nodeOrigin:ce=Om,edgesFocusable:he,edgesReconnectable:me,elementsSelectable:fe=!0,defaultViewport:Ee=uE,minZoom:je=.5,maxZoom:Ne=2,translateExtent:Te=mi,preventScrolling:En=!0,nodeExtent:sn,defaultMarkerColor:Wd="#b1b1b7",zoomOnScroll:jo=!0,zoomOnPinch:Ze=!0,panOnScroll:tn=!1,panOnScrollSpeed:qP=.5,panOnScrollMode:FP=gn.Free,zoomOnDoubleClick:GP=!0,panOnDrag:KP=!0,onPaneClick:HP,onPaneMouseEnter:VP,onPaneMouseMove:zP,onPaneMouseLeave:jP,onPaneScroll:UP,onPaneContextMenu:WP,paneClickDistance:$P=1,nodeClickDistance:YP=0,children:JP,onReconnect:ZP,onReconnectStart:XP,onReconnectEnd:QP,onEdgeContextMenu:RP,onEdgeDoubleClick:eI,onEdgeMouseEnter:nI,onEdgeMouseMove:iI,onEdgeMouseLeave:oI,reconnectRadius:aI=10,onNodesChange:sI,onEdgesChange:tI,noDragClassName:rI="nodrag",noWheelClassName:lI="nowheel",noPanClassName:sx="nopan",fitView:tx,fitViewOptions:rx,connectOnClick:uI,attributionPosition:dI,proOptions:cI,defaultEdgeOptions:bI,elevateNodesOnSelect:mI=!0,elevateEdgesOnSelect:fI=!1,disableKeyboardA11y:lx=!1,autoPanOnConnect:vI,autoPanOnNodeDrag:hI,autoPanOnSelection:pI=!0,autoPanSpeed:gI,connectionRadius:yI,isValidConnection:xI,onError:SI,style:wI,id:ux,nodeDragThreshold:AI,connectionDragThreshold:NI,viewport:CI,onViewportChange:_I,width:EI,height:kI,colorMode:MI="light",debug:TI,onScroll:Uo,ariaLabelConfig:PI,zIndexMode:dx="basic",...II},LI){const $d=ux||"1",BI=bE(MI),OI=C.useCallback(cx=>{cx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Uo==null||Uo(cx)},[Uo]);return c.jsx("div",{"data-testid":"rf__wrapper",...II,onScroll:OI,style:{...wI,...Gk},ref:LI,className:we(["react-flow",a,BI]),id:ux,role:"application",children:c.jsxs(Fk,{nodes:e,edges:n,width:EI,height:kI,fitView:tx,fitViewOptions:rx,minZoom:je,maxZoom:Ne,nodeOrigin:ce,nodeExtent:sn,zIndexMode:dx,children:[c.jsx(cE,{nodes:e,edges:n,defaultNodes:i,defaultEdges:o,onConnect:f,onConnectStart:h,onConnectEnd:g,onClickConnectStart:v,onClickConnectEnd:p,nodesDraggable:ee,autoPanOnNodeFocus:ae,nodesConnectable:re,nodesFocusable:be,edgesFocusable:he,edgesReconnectable:me,elementsSelectable:fe,elevateNodesOnSelect:mI,elevateEdgesOnSelect:fI,minZoom:je,maxZoom:Ne,nodeExtent:sn,onNodesChange:sI,onEdgesChange:tI,snapToGrid:j,snapGrid:X,connectionMode:Z,translateExtent:Te,connectOnClick:uI,defaultEdgeOptions:bI,fitView:tx,fitViewOptions:rx,onNodesDelete:P,onEdgesDelete:k,onDelete:M,onNodeDragStart:N,onNodeDrag:E,onNodeDragStop:_,onSelectionDrag:O,onSelectionDragStart:T,onSelectionDragStop:B,onMove:d,onMoveStart:b,onMoveEnd:m,noPanClassName:sx,nodeOrigin:ce,rfId:$d,autoPanOnConnect:vI,autoPanOnNodeDrag:hI,autoPanSpeed:gI,onError:SI,connectionRadius:yI,isValidConnection:xI,selectNodesOnDrag:ne,nodeDragThreshold:AI,connectionDragThreshold:NI,onBeforeDelete:Y,debug:TI,ariaLabelConfig:PI,zIndexMode:dx}),c.jsx(Bk,{onInit:u,onNodeClick:r,onEdgeClick:l,onNodeMouseEnter:S,onNodeMouseMove:y,onNodeMouseLeave:x,onNodeContextMenu:w,onNodeDoubleClick:A,nodeTypes:s,edgeTypes:t,connectionLineType:J,connectionLineStyle:R,connectionLineComponent:D,connectionLineContainerStyle:H,selectionKeyCode:q,selectionOnDrag:F,selectionMode:W,deleteKeyCode:U,multiSelectionKeyCode:V,panActivationKeyCode:z,zoomActivationKeyCode:Q,onlyRenderVisibleElements:$,defaultViewport:Ee,translateExtent:Te,minZoom:je,maxZoom:Ne,preventScrolling:En,zoomOnScroll:jo,zoomOnPinch:Ze,zoomOnDoubleClick:GP,panOnScroll:tn,panOnScrollSpeed:qP,panOnScrollMode:FP,panOnDrag:KP,autoPanOnSelection:pI,onPaneClick:HP,onPaneMouseEnter:VP,onPaneMouseMove:zP,onPaneMouseLeave:jP,onPaneScroll:UP,onPaneContextMenu:WP,paneClickDistance:$P,nodeClickDistance:YP,onSelectionContextMenu:K,onSelectionStart:G,onSelectionEnd:I,onReconnect:ZP,onReconnectStart:XP,onReconnectEnd:QP,onEdgeContextMenu:RP,onEdgeDoubleClick:eI,onEdgeMouseEnter:nI,onEdgeMouseMove:iI,onEdgeMouseLeave:oI,reconnectRadius:aI,defaultMarkerColor:Wd,noDragClassName:rI,noWheelClassName:lI,noPanClassName:sx,rfId:$d,disableKeyboardA11y:lx,nodeExtent:sn,viewport:CI,onViewportChange:_I}),c.jsx(lE,{onSelectionChange:L}),JP,c.jsx(oE,{proOptions:cI,position:dI}),c.jsx(iE,{rfId:$d,disableKeyboardA11y:lx})]})})}var Hk=Ym(Kk);function Vk(e){const[n,i]=C.useState(e),o=C.useCallback(a=>i(s=>zm(a,s)),[]);return[n,i,o]}function zk(e){const[n,i]=C.useState(e),o=C.useCallback(a=>i(s=>jm(a,s)),[]);return[n,i,o]}function jk({dimensions:e,lineWidth:n,variant:i,className:o}){return c.jsx("path",{strokeWidth:n,d:`M${e[0]/2} 0 V${e[1]} M0 ${e[1]/2} H${e[0]}`,className:we(["react-flow__background-pattern",i,o])})}function Uk({radius:e,className:n}){return c.jsx("circle",{cx:e,cy:e,r:e,className:we(["react-flow__background-pattern","dots",n])})}var cn;(function(e){e.Lines="lines",e.Dots="dots",e.Cross="cross"})(cn||(cn={}));const Wk={[cn.Dots]:1,[cn.Lines]:1,[cn.Cross]:6},$k=e=>({transform:e.transform,patternId:`pattern-${e.rfId}`});function If({id:e,variant:n=cn.Dots,gap:i=20,size:o,lineWidth:a=1,offset:s=0,color:t,bgColor:r,style:l,className:u,patternClassName:d}){const b=C.useRef(null),{transform:m,patternId:f}=de($k,pe),h=o||Wk[n],g=n===cn.Dots,v=n===cn.Cross,p=Array.isArray(i)?i:[i,i],S=[p[0]*m[2]||1,p[1]*m[2]||1],y=h*m[2],x=Array.isArray(s)?s:[s,s],w=v?[y,y]:S,A=[x[0]*m[2]||1+w[0]/2,x[1]*m[2]||1+w[1]/2],N=`${f}${e||""}`;return c.jsxs("svg",{className:we(["react-flow__background",u]),style:{...l,...wo,"--xy-background-color-props":r,"--xy-background-pattern-color-props":t},ref:b,"data-testid":"rf__background",children:[c.jsx("pattern",{id:N,x:m[0]%S[0],y:m[1]%S[1],width:S[0],height:S[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${A[0]},-${A[1]})`,children:g?c.jsx(Uk,{radius:y/2,className:d}):c.jsx(jk,{dimensions:w,lineWidth:a,variant:n,className:d})}),c.jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${N})`})]})}If.displayName="Background";const Yk=C.memo(If);function Jk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:c.jsx("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function Zk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:c.jsx("path",{d:"M0 0h32v4.2H0z"})})}function Xk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:c.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 Qk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 Rk(){return c.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:c.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 Co({children:e,className:n,...i}){return c.jsx("button",{type:"button",className:we(["react-flow__controls-button",n]),...i,children:e})}const eM=e=>({isInteractive:e.nodesDraggable||e.nodesConnectable||e.elementsSelectable,minZoomReached:e.transform[2]<=e.minZoom,maxZoomReached:e.transform[2]>=e.maxZoom,ariaLabelConfig:e.ariaLabelConfig});function Lf({style:e,showZoom:n=!0,showFitView:i=!0,showInteractive:o=!0,fitViewOptions:a,onZoomIn:s,onZoomOut:t,onFitView:r,onInteractiveChange:l,className:u,children:d,position:b="bottom-left",orientation:m="vertical","aria-label":f}){const h=ge(),{isInteractive:g,minZoomReached:v,maxZoomReached:p,ariaLabelConfig:S}=de(eM,pe),{zoomIn:y,zoomOut:x,fitView:w}=ts(),A=()=>{y(),s==null||s()},N=()=>{x(),t==null||t()},E=()=>{w(a),r==null||r()},_=()=>{h.setState({nodesDraggable:!g,nodesConnectable:!g,elementsSelectable:!g}),l==null||l(!g)},P=m==="horizontal"?"horizontal":"vertical";return c.jsxs(xo,{className:we(["react-flow__controls",P,u]),position:b,style:e,"data-testid":"rf__controls","aria-label":f!=null?f:S["controls.ariaLabel"],children:[n&&c.jsxs(c.Fragment,{children:[c.jsx(Co,{onClick:A,className:"react-flow__controls-zoomin",title:S["controls.zoomIn.ariaLabel"],"aria-label":S["controls.zoomIn.ariaLabel"],disabled:p,children:c.jsx(Jk,{})}),c.jsx(Co,{onClick:N,className:"react-flow__controls-zoomout",title:S["controls.zoomOut.ariaLabel"],"aria-label":S["controls.zoomOut.ariaLabel"],disabled:v,children:c.jsx(Zk,{})})]}),i&&c.jsx(Co,{className:"react-flow__controls-fitview",onClick:E,title:S["controls.fitView.ariaLabel"],"aria-label":S["controls.fitView.ariaLabel"],children:c.jsx(Xk,{})}),o&&c.jsx(Co,{className:"react-flow__controls-interactive",onClick:_,title:S["controls.interactive.ariaLabel"],"aria-label":S["controls.interactive.ariaLabel"],children:g?c.jsx(Rk,{}):c.jsx(Qk,{})}),d]})}Lf.displayName="Controls";const nM=C.memo(Lf);function iM({id:e,x:n,y:i,width:o,height:a,style:s,color:t,strokeColor:r,strokeWidth:l,className:u,borderRadius:d,shapeRendering:b,selected:m,onClick:f}){const{background:h,backgroundColor:g}=s||{},v=t||h||g;return c.jsx("rect",{className:we(["react-flow__minimap-node",{selected:m},u]),x:n,y:i,rx:d,ry:d,width:o,height:a,style:{fill:v,stroke:r,strokeWidth:l},shapeRendering:b,onClick:f?p=>f(p,e):void 0})}const oM=C.memo(iM),aM=e=>e.nodes.map(n=>n.id),ds=e=>e instanceof Function?e:()=>e;function sM({nodeStrokeColor:e,nodeColor:n,nodeClassName:i="",nodeBorderRadius:o=5,nodeStrokeWidth:a,nodeComponent:s=oM,onClick:t}){const r=de(aM,pe),l=ds(n),u=ds(e),d=ds(i),b=typeof window=="undefined"||window.chrome?"crispEdges":"geometricPrecision";return c.jsx(c.Fragment,{children:r.map(m=>c.jsx(rM,{id:m,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:a,NodeComponent:s,onClick:t,shapeRendering:b},m))})}function tM({id:e,nodeColorFunc:n,nodeStrokeColorFunc:i,nodeClassNameFunc:o,nodeBorderRadius:a,nodeStrokeWidth:s,shapeRendering:t,NodeComponent:r,onClick:l}){const{node:u,x:d,y:b,width:m,height:f}=de(h=>{const g=h.nodeLookup.get(e);if(!g)return{node:void 0,x:0,y:0,width:0,height:0};const v=g.internals.userNode,{x:p,y:S}=g.internals.positionAbsolute,{width:y,height:x}=nn(v);return{node:v,x:p,y:S,width:y,height:x}},pe);return!u||u.hidden||!Hb(u)?null:c.jsx(r,{x:d,y:b,width:m,height:f,style:u.style,selected:!!u.selected,className:o(u),color:n(u),borderRadius:a,strokeColor:i(u),strokeWidth:s,shapeRendering:t,onClick:l,id:u.id})}const rM=C.memo(tM);var lM=C.memo(sM);const uM=200,dM=150,cM=e=>!e.hidden,bM=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?qb(hi(e.nodeLookup,{filter:cM}),n):n,rfId:e.rfId,panZoom:e.panZoom,translateExtent:e.translateExtent,flowWidth:e.width,flowHeight:e.height,ariaLabelConfig:e.ariaLabelConfig}},mM="react-flow__minimap-desc";function Bf({style:e,className:n,nodeStrokeColor:i,nodeColor:o,nodeClassName:a="",nodeBorderRadius:s=5,nodeStrokeWidth:t,nodeComponent:r,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:b,position:m="bottom-right",onClick:f,onNodeClick:h,pannable:g=!1,zoomable:v=!1,ariaLabel:p,inversePan:S,zoomStep:y=1,offsetScale:x=5}){var j,X;const w=ge(),A=C.useRef(null),{boundingRect:N,viewBB:E,rfId:_,panZoom:P,translateExtent:k,flowWidth:M,flowHeight:L,ariaLabelConfig:T}=de(bM,pe),O=(j=e==null?void 0:e.width)!=null?j:uM,B=(X=e==null?void 0:e.height)!=null?X:dM,K=N.width/O,G=N.height/B,I=Math.max(K,G),Y=I*O,Z=I*B,J=x*I,R=N.x-(Y-N.width)/2-J,D=N.y-(Z-N.height)/2-J,H=Y+J*2,U=Z+J*2,q=`${mM}-${_}`,F=C.useRef(0),W=C.useRef();F.current=I,C.useEffect(()=>{if(A.current&&P)return W.current=A_({domNode:A.current,panZoom:P,getTransform:()=>w.getState().transform,getViewScale:()=>F.current}),()=>{var $;($=W.current)==null||$.destroy()}},[P]),C.useEffect(()=>{var $;($=W.current)==null||$.update({translateExtent:k,width:M,height:L,inversePan:S,pannable:g,zoomStep:y,zoomable:v})},[g,v,S,y,k,M,L]);const z=f?$=>{var ae;const[ne,ee]=((ae=W.current)==null?void 0:ae.pointer($))||[0,0];f($,{x:ne,y:ee})}:void 0,V=h?C.useCallback(($,ne)=>{const ee=w.getState().nodeLookup.get(ne).internals.userNode;h($,ee)},[]):void 0,Q=p!=null?p:T["minimap.ariaLabel"];return c.jsx(xo,{position:m,style:{...e,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof b=="number"?b*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 t=="number"?t:void 0},className:we(["react-flow__minimap",n]),"data-testid":"rf__minimap",children:c.jsxs("svg",{width:O,height:B,viewBox:`${R} ${D} ${H} ${U}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":q,ref:A,onClick:z,children:[Q&&c.jsx("title",{id:q,children:Q}),c.jsx(lM,{onClick:V,nodeColor:o,nodeStrokeColor:i,nodeBorderRadius:s,nodeClassName:a,nodeStrokeWidth:t,nodeComponent:r}),c.jsx("path",{className:"react-flow__minimap-mask",d:`M${R-J},${D-J}h${H+J*2}v${U+J*2}h${-H-J*2}z
|
|
68
|
+
M${E.x},${E.y}h${E.width}v${E.height}h${-E.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}Bf.displayName="MiniMap";const fM=C.memo(Bf),vM=e=>n=>e?`${Math.max(1/n.transform[2],1)}`:void 0,hM={[zn.Line]:"right",[zn.Handle]:"bottom-right"};function pM({nodeId:e,position:n,variant:i=zn.Handle,className:o,style:a=void 0,children:s,color:t,minWidth:r=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:b=!1,resizeDirection:m,autoScale:f=!0,shouldResize:h,onResizeStart:g,onResize:v,onResizeEnd:p}){const S=ef(),y=typeof e=="string"?e:S,x=ge(),w=C.useRef(null),A=i===zn.Handle,N=de(C.useCallback(vM(A&&f),[A,f]),pe),E=C.useRef(null),_=n!=null?n:hM[i];C.useEffect(()=>{if(!(!w.current||!y))return E.current||(E.current=D_({domNode:w.current,nodeId:y,getStoreItems:()=>{const{nodeLookup:k,transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O,domNode:B}=x.getState();return{nodeLookup:k,transform:M,snapGrid:L,snapToGrid:T,nodeOrigin:O,paneDomNode:B}},onChange:(k,M)=>{var Y,Z,J,R,D,H,U;const{triggerNodeChanges:L,nodeLookup:T,parentLookup:O,nodeOrigin:B}=x.getState(),K=[],G={x:k.x,y:k.y},I=T.get(y);if(I&&I.expandParent&&I.parentId){const q=(Y=I.origin)!=null?Y:B,F=(J=(Z=k.width)!=null?Z:I.measured.width)!=null?J:0,W=(D=(R=k.height)!=null?R:I.measured.height)!=null?D:0,z={id:I.id,parentId:I.parentId,rect:{width:F,height:W,...Vb({x:(H=k.x)!=null?H:I.position.x,y:(U=k.y)!=null?U:I.position.y},{width:F,height:W},I.parentId,T,q)}},V=Xa([z],T,O,B);K.push(...V),G.x=k.x?Math.max(q[0]*F,k.x):void 0,G.y=k.y?Math.max(q[1]*W,k.y):void 0}if(G.x!==void 0&&G.y!==void 0){const q={id:y,type:"position",position:{...G}};K.push(q)}if(k.width!==void 0&&k.height!==void 0){const F={id:y,type:"dimensions",resizing:!0,setAttributes:m?m==="horizontal"?"width":"height":!0,dimensions:{width:k.width,height:k.height}};K.push(F)}for(const q of M){const F={...q,type:"position"};K.push(F)}L(K)},onEnd:({width:k,height:M})=>{const L={id:y,type:"dimensions",resizing:!1,dimensions:{width:k,height:M}};x.getState().triggerNodeChanges([L])}})),E.current.update({controlPosition:_,boundaries:{minWidth:r,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:b,resizeDirection:m,onResizeStart:g,onResize:v,onResizeEnd:p,shouldResize:h}),()=>{var k;(k=E.current)==null||k.destroy()}},[_,r,l,u,d,b,g,v,p,h]);const P=_.split("-");return c.jsx("div",{className:we(["react-flow__resize-control","nodrag",...P,i,o]),ref:w,style:{...a,scale:N,...t&&{[A?"backgroundColor":"borderColor"]:t}},children:s})}C.memo(pM);function cs(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var bs,Of;function gM(){if(Of)return bs;Of=1;function e(){this.__data__=[],this.size=0}return bs=e,bs}var ms,Df;function Wn(){if(Df)return ms;Df=1;function e(n,i){return n===i||n!==n&&i!==i}return ms=e,ms}var fs,qf;function _o(){if(qf)return fs;qf=1;var e=Wn();function n(i,o){for(var a=i.length;a--;)if(e(i[a][0],o))return a;return-1}return fs=n,fs}var vs,Ff;function yM(){if(Ff)return vs;Ff=1;var e=_o(),n=Array.prototype,i=n.splice;function o(a){var s=this.__data__,t=e(s,a);if(t<0)return!1;var r=s.length-1;return t==r?s.pop():i.call(s,t,1),--this.size,!0}return vs=o,vs}var hs,Gf;function xM(){if(Gf)return hs;Gf=1;var e=_o();function n(i){var o=this.__data__,a=e(o,i);return a<0?void 0:o[a][1]}return hs=n,hs}var ps,Kf;function SM(){if(Kf)return ps;Kf=1;var e=_o();function n(i){return e(this.__data__,i)>-1}return ps=n,ps}var gs,Hf;function wM(){if(Hf)return gs;Hf=1;var e=_o();function n(i,o){var a=this.__data__,s=e(a,i);return s<0?(++this.size,a.push([i,o])):a[s][1]=o,this}return gs=n,gs}var ys,Vf;function Eo(){if(Vf)return ys;Vf=1;var e=gM(),n=yM(),i=xM(),o=SM(),a=wM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,ys=s,ys}var xs,zf;function AM(){if(zf)return xs;zf=1;var e=Eo();function n(){this.__data__=new e,this.size=0}return xs=n,xs}var Ss,jf;function NM(){if(jf)return Ss;jf=1;function e(n){var i=this.__data__,o=i.delete(n);return this.size=i.size,o}return Ss=e,Ss}var ws,Uf;function CM(){if(Uf)return ws;Uf=1;function e(n){return this.__data__.get(n)}return ws=e,ws}var As,Wf;function _M(){if(Wf)return As;Wf=1;function e(n){return this.__data__.has(n)}return As=e,As}var Ns,$f;function Yf(){if($f)return Ns;$f=1;var e=typeof ho=="object"&&ho&&ho.Object===Object&&ho;return Ns=e,Ns}var Cs,Jf;function Ve(){if(Jf)return Cs;Jf=1;var e=Yf(),n=typeof self=="object"&&self&&self.Object===Object&&self,i=e||n||Function("return this")();return Cs=i,Cs}var _s,Zf;function $n(){if(Zf)return _s;Zf=1;var e=Ve(),n=e.Symbol;return _s=n,_s}var Es,Xf;function EM(){if(Xf)return Es;Xf=1;var e=$n(),n=Object.prototype,i=n.hasOwnProperty,o=n.toString,a=e?e.toStringTag:void 0;function s(t){var r=i.call(t,a),l=t[a];try{t[a]=void 0;var u=!0}catch(b){}var d=o.call(t);return u&&(r?t[a]=l:delete t[a]),d}return Es=s,Es}var ks,Qf;function kM(){if(Qf)return ks;Qf=1;var e=Object.prototype,n=e.toString;function i(o){return n.call(o)}return ks=i,ks}var Ms,Rf;function An(){if(Rf)return Ms;Rf=1;var e=$n(),n=EM(),i=kM(),o="[object Null]",a="[object Undefined]",s=e?e.toStringTag:void 0;function t(r){return r==null?r===void 0?a:o:s&&s in Object(r)?n(r):i(r)}return Ms=t,Ms}var Ts,ev;function Oe(){if(ev)return Ts;ev=1;function e(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}return Ts=e,Ts}var Ps,nv;function Ai(){if(nv)return Ps;nv=1;var e=An(),n=Oe(),i="[object AsyncFunction]",o="[object Function]",a="[object GeneratorFunction]",s="[object Proxy]";function t(r){if(!n(r))return!1;var l=e(r);return l==o||l==a||l==i||l==s}return Ps=t,Ps}var Is,iv;function MM(){if(iv)return Is;iv=1;var e=Ve(),n=e["__core-js_shared__"];return Is=n,Is}var Ls,ov;function TM(){if(ov)return Ls;ov=1;var e=MM(),n=function(){var o=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return o?"Symbol(src)_1."+o:""}();function i(o){return!!n&&n in o}return Ls=i,Ls}var Bs,av;function sv(){if(av)return Bs;av=1;var e=Function.prototype,n=e.toString;function i(o){if(o!=null){try{return n.call(o)}catch(a){}try{return o+""}catch(a){}}return""}return Bs=i,Bs}var Os,tv;function PM(){if(tv)return Os;tv=1;var e=Ai(),n=TM(),i=Oe(),o=sv(),a=/[\\^$.*+?()[\]{}|]/g,s=/^\[object .+?Constructor\]$/,t=Function.prototype,r=Object.prototype,l=t.toString,u=r.hasOwnProperty,d=RegExp("^"+l.call(u).replace(a,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function b(m){if(!i(m)||n(m))return!1;var f=e(m)?d:s;return f.test(o(m))}return Os=b,Os}var Ds,rv;function IM(){if(rv)return Ds;rv=1;function e(n,i){return n==null?void 0:n[i]}return Ds=e,Ds}var qs,lv;function Nn(){if(lv)return qs;lv=1;var e=PM(),n=IM();function i(o,a){var s=n(o,a);return e(s)?s:void 0}return qs=i,qs}var Fs,uv;function Gs(){if(uv)return Fs;uv=1;var e=Nn(),n=Ve(),i=e(n,"Map");return Fs=i,Fs}var Ks,dv;function ko(){if(dv)return Ks;dv=1;var e=Nn(),n=e(Object,"create");return Ks=n,Ks}var Hs,cv;function LM(){if(cv)return Hs;cv=1;var e=ko();function n(){this.__data__=e?e(null):{},this.size=0}return Hs=n,Hs}var Vs,bv;function BM(){if(bv)return Vs;bv=1;function e(n){var i=this.has(n)&&delete this.__data__[n];return this.size-=i?1:0,i}return Vs=e,Vs}var zs,mv;function OM(){if(mv)return zs;mv=1;var e=ko(),n="__lodash_hash_undefined__",i=Object.prototype,o=i.hasOwnProperty;function a(s){var t=this.__data__;if(e){var r=t[s];return r===n?void 0:r}return o.call(t,s)?t[s]:void 0}return zs=a,zs}var js,fv;function DM(){if(fv)return js;fv=1;var e=ko(),n=Object.prototype,i=n.hasOwnProperty;function o(a){var s=this.__data__;return e?s[a]!==void 0:i.call(s,a)}return js=o,js}var Us,vv;function qM(){if(vv)return Us;vv=1;var e=ko(),n="__lodash_hash_undefined__";function i(o,a){var s=this.__data__;return this.size+=this.has(o)?0:1,s[o]=e&&a===void 0?n:a,this}return Us=i,Us}var Ws,hv;function FM(){if(hv)return Ws;hv=1;var e=LM(),n=BM(),i=OM(),o=DM(),a=qM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,Ws=s,Ws}var $s,pv;function GM(){if(pv)return $s;pv=1;var e=FM(),n=Eo(),i=Gs();function o(){this.size=0,this.__data__={hash:new e,map:new(i||n),string:new e}}return $s=o,$s}var Ys,gv;function KM(){if(gv)return Ys;gv=1;function e(n){var i=typeof n;return i=="string"||i=="number"||i=="symbol"||i=="boolean"?n!=="__proto__":n===null}return Ys=e,Ys}var Js,yv;function Mo(){if(yv)return Js;yv=1;var e=KM();function n(i,o){var a=i.__data__;return e(o)?a[typeof o=="string"?"string":"hash"]:a.map}return Js=n,Js}var Zs,xv;function HM(){if(xv)return Zs;xv=1;var e=Mo();function n(i){var o=e(this,i).delete(i);return this.size-=o?1:0,o}return Zs=n,Zs}var Xs,Sv;function VM(){if(Sv)return Xs;Sv=1;var e=Mo();function n(i){return e(this,i).get(i)}return Xs=n,Xs}var Qs,wv;function zM(){if(wv)return Qs;wv=1;var e=Mo();function n(i){return e(this,i).has(i)}return Qs=n,Qs}var Rs,Av;function jM(){if(Av)return Rs;Av=1;var e=Mo();function n(i,o){var a=e(this,i),s=a.size;return a.set(i,o),this.size+=a.size==s?0:1,this}return Rs=n,Rs}var et,Nv;function nt(){if(Nv)return et;Nv=1;var e=GM(),n=HM(),i=VM(),o=zM(),a=jM();function s(t){var r=-1,l=t==null?0:t.length;for(this.clear();++r<l;){var u=t[r];this.set(u[0],u[1])}}return s.prototype.clear=e,s.prototype.delete=n,s.prototype.get=i,s.prototype.has=o,s.prototype.set=a,et=s,et}var it,Cv;function UM(){if(Cv)return it;Cv=1;var e=Eo(),n=Gs(),i=nt(),o=200;function a(s,t){var r=this.__data__;if(r instanceof e){var l=r.__data__;if(!n||l.length<o-1)return l.push([s,t]),this.size=++r.size,this;r=this.__data__=new i(l)}return r.set(s,t),this.size=r.size,this}return it=a,it}var ot,_v;function To(){if(_v)return ot;_v=1;var e=Eo(),n=AM(),i=NM(),o=CM(),a=_M(),s=UM();function t(r){var l=this.__data__=new e(r);this.size=l.size}return t.prototype.clear=n,t.prototype.delete=i,t.prototype.get=o,t.prototype.has=a,t.prototype.set=s,ot=t,ot}var at,Ev;function st(){if(Ev)return at;Ev=1;function e(n,i){for(var o=-1,a=n==null?0:n.length;++o<a&&i(n[o],o,n)!==!1;);return n}return at=e,at}var tt,kv;function Mv(){if(kv)return tt;kv=1;var e=Nn(),n=function(){try{var i=e(Object,"defineProperty");return i({},"",{}),i}catch(o){}}();return tt=n,tt}var rt,Tv;function Po(){if(Tv)return rt;Tv=1;var e=Mv();function n(i,o,a){o=="__proto__"&&e?e(i,o,{configurable:!0,enumerable:!0,value:a,writable:!0}):i[o]=a}return rt=n,rt}var lt,Pv;function Io(){if(Pv)return lt;Pv=1;var e=Po(),n=Wn(),i=Object.prototype,o=i.hasOwnProperty;function a(s,t,r){var l=s[t];(!(o.call(s,t)&&n(l,r))||r===void 0&&!(t in s))&&e(s,t,r)}return lt=a,lt}var ut,Iv;function Ni(){if(Iv)return ut;Iv=1;var e=Io(),n=Po();function i(o,a,s,t){var r=!s;s||(s={});for(var l=-1,u=a.length;++l<u;){var d=a[l],b=t?t(s[d],o[d],d,s,o):void 0;b===void 0&&(b=o[d]),r?n(s,d,b):e(s,d,b)}return s}return ut=i,ut}var dt,Lv;function WM(){if(Lv)return dt;Lv=1;function e(n,i){for(var o=-1,a=Array(n);++o<n;)a[o]=i(o);return a}return dt=e,dt}var ct,Bv;function Je(){if(Bv)return ct;Bv=1;function e(n){return n!=null&&typeof n=="object"}return ct=e,ct}var bt,Ov;function $M(){if(Ov)return bt;Ov=1;var e=An(),n=Je(),i="[object Arguments]";function o(a){return n(a)&&e(a)==i}return bt=o,bt}var mt,Dv;function Ci(){if(Dv)return mt;Dv=1;var e=$M(),n=Je(),i=Object.prototype,o=i.hasOwnProperty,a=i.propertyIsEnumerable,s=e(function(){return arguments}())?e:function(t){return n(t)&&o.call(t,"callee")&&!a.call(t,"callee")};return mt=s,mt}var ft,qv;function Ae(){if(qv)return ft;qv=1;var e=Array.isArray;return ft=e,ft}var _i={exports:{}},vt,Fv;function YM(){if(Fv)return vt;Fv=1;function e(){return!1}return vt=e,vt}_i.exports;var Gv;function Yn(){return Gv||(Gv=1,function(e,n){var i=Ve(),o=YM(),a=n&&!n.nodeType&&n,s=a&&!0&&e&&!e.nodeType&&e,t=s&&s.exports===a,r=t?i.Buffer:void 0,l=r?r.isBuffer:void 0,u=l||o;e.exports=u}(_i,_i.exports)),_i.exports}var ht,Kv;function Lo(){if(Kv)return ht;Kv=1;var e=9007199254740991,n=/^(?:0|[1-9]\d*)$/;function i(o,a){var s=typeof o;return a=a==null?e:a,!!a&&(s=="number"||s!="symbol"&&n.test(o))&&o>-1&&o%1==0&&o<a}return ht=i,ht}var pt,Hv;function gt(){if(Hv)return pt;Hv=1;var e=9007199254740991;function n(i){return typeof i=="number"&&i>-1&&i%1==0&&i<=e}return pt=n,pt}var yt,Vv;function JM(){if(Vv)return yt;Vv=1;var e=An(),n=gt(),i=Je(),o="[object Arguments]",a="[object Array]",s="[object Boolean]",t="[object Date]",r="[object Error]",l="[object Function]",u="[object Map]",d="[object Number]",b="[object Object]",m="[object RegExp]",f="[object Set]",h="[object String]",g="[object WeakMap]",v="[object ArrayBuffer]",p="[object DataView]",S="[object Float32Array]",y="[object Float64Array]",x="[object Int8Array]",w="[object Int16Array]",A="[object Int32Array]",N="[object Uint8Array]",E="[object Uint8ClampedArray]",_="[object Uint16Array]",P="[object Uint32Array]",k={};k[S]=k[y]=k[x]=k[w]=k[A]=k[N]=k[E]=k[_]=k[P]=!0,k[o]=k[a]=k[v]=k[s]=k[p]=k[t]=k[r]=k[l]=k[u]=k[d]=k[b]=k[m]=k[f]=k[h]=k[g]=!1;function M(L){return i(L)&&n(L.length)&&!!k[e(L)]}return yt=M,yt}var xt,zv;function Bo(){if(zv)return xt;zv=1;function e(n){return function(i){return n(i)}}return xt=e,xt}var Ei={exports:{}};Ei.exports;var jv;function St(){return jv||(jv=1,function(e,n){var i=Yf(),o=n&&!n.nodeType&&n,a=o&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===o,t=s&&i.process,r=function(){try{var l=a&&a.require&&a.require("util").types;return l||t&&t.binding&&t.binding("util")}catch(u){}}();e.exports=r}(Ei,Ei.exports)),Ei.exports}var wt,Uv;function ki(){if(Uv)return wt;Uv=1;var e=JM(),n=Bo(),i=St(),o=i&&i.isTypedArray,a=o?n(o):e;return wt=a,wt}var At,Wv;function $v(){if(Wv)return At;Wv=1;var e=WM(),n=Ci(),i=Ae(),o=Yn(),a=Lo(),s=ki(),t=Object.prototype,r=t.hasOwnProperty;function l(u,d){var b=i(u),m=!b&&n(u),f=!b&&!m&&o(u),h=!b&&!m&&!f&&s(u),g=b||m||f||h,v=g?e(u.length,String):[],p=v.length;for(var S in u)(d||r.call(u,S))&&!(g&&(S=="length"||f&&(S=="offset"||S=="parent")||h&&(S=="buffer"||S=="byteLength"||S=="byteOffset")||a(S,p)))&&v.push(S);return v}return At=l,At}var Nt,Yv;function Oo(){if(Yv)return Nt;Yv=1;var e=Object.prototype;function n(i){var o=i&&i.constructor,a=typeof o=="function"&&o.prototype||e;return i===a}return Nt=n,Nt}var Ct,Jv;function Zv(){if(Jv)return Ct;Jv=1;function e(n,i){return function(o){return n(i(o))}}return Ct=e,Ct}var _t,Xv;function ZM(){if(Xv)return _t;Xv=1;var e=Zv(),n=e(Object.keys,Object);return _t=n,_t}var Et,Qv;function kt(){if(Qv)return Et;Qv=1;var e=Oo(),n=ZM(),i=Object.prototype,o=i.hasOwnProperty;function a(s){if(!e(s))return n(s);var t=[];for(var r in Object(s))o.call(s,r)&&r!="constructor"&&t.push(r);return t}return Et=a,Et}var Mt,Rv;function on(){if(Rv)return Mt;Rv=1;var e=Ai(),n=gt();function i(o){return o!=null&&n(o.length)&&!e(o)}return Mt=i,Mt}var Tt,eh;function bn(){if(eh)return Tt;eh=1;var e=$v(),n=kt(),i=on();function o(a){return i(a)?e(a):n(a)}return Tt=o,Tt}var Pt,nh;function XM(){if(nh)return Pt;nh=1;var e=Ni(),n=bn();function i(o,a){return o&&e(a,n(a),o)}return Pt=i,Pt}var It,ih;function QM(){if(ih)return It;ih=1;function e(n){var i=[];if(n!=null)for(var o in Object(n))i.push(o);return i}return It=e,It}var Lt,oh;function RM(){if(oh)return Lt;oh=1;var e=Oe(),n=Oo(),i=QM(),o=Object.prototype,a=o.hasOwnProperty;function s(t){if(!e(t))return i(t);var r=n(t),l=[];for(var u in t)u=="constructor"&&(r||!a.call(t,u))||l.push(u);return l}return Lt=s,Lt}var Bt,ah;function Cn(){if(ah)return Bt;ah=1;var e=$v(),n=RM(),i=on();function o(a){return i(a)?e(a,!0):n(a)}return Bt=o,Bt}var Ot,sh;function e2(){if(sh)return Ot;sh=1;var e=Ni(),n=Cn();function i(o,a){return o&&e(a,n(a),o)}return Ot=i,Ot}var Mi={exports:{}};Mi.exports;var th;function rh(){return th||(th=1,function(e,n){var i=Ve(),o=n&&!n.nodeType&&n,a=o&&!0&&e&&!e.nodeType&&e,s=a&&a.exports===o,t=s?i.Buffer:void 0,r=t?t.allocUnsafe:void 0;function l(u,d){if(d)return u.slice();var b=u.length,m=r?r(b):new u.constructor(b);return u.copy(m),m}e.exports=l}(Mi,Mi.exports)),Mi.exports}var Dt,lh;function uh(){if(lh)return Dt;lh=1;function e(n,i){var o=-1,a=n.length;for(i||(i=Array(a));++o<a;)i[o]=n[o];return i}return Dt=e,Dt}var qt,dh;function ch(){if(dh)return qt;dh=1;function e(n,i){for(var o=-1,a=n==null?0:n.length,s=0,t=[];++o<a;){var r=n[o];i(r,o,n)&&(t[s++]=r)}return t}return qt=e,qt}var Ft,bh;function mh(){if(bh)return Ft;bh=1;function e(){return[]}return Ft=e,Ft}var Gt,fh;function Kt(){if(fh)return Gt;fh=1;var e=ch(),n=mh(),i=Object.prototype,o=i.propertyIsEnumerable,a=Object.getOwnPropertySymbols,s=a?function(t){return t==null?[]:(t=Object(t),e(a(t),function(r){return o.call(t,r)}))}:n;return Gt=s,Gt}var Ht,vh;function n2(){if(vh)return Ht;vh=1;var e=Ni(),n=Kt();function i(o,a){return e(o,n(o),a)}return Ht=i,Ht}var Vt,hh;function zt(){if(hh)return Vt;hh=1;function e(n,i){for(var o=-1,a=i.length,s=n.length;++o<a;)n[s+o]=i[o];return n}return Vt=e,Vt}var jt,ph;function Do(){if(ph)return jt;ph=1;var e=Zv(),n=e(Object.getPrototypeOf,Object);return jt=n,jt}var Ut,gh;function yh(){if(gh)return Ut;gh=1;var e=zt(),n=Do(),i=Kt(),o=mh(),a=Object.getOwnPropertySymbols,s=a?function(t){for(var r=[];t;)e(r,i(t)),t=n(t);return r}:o;return Ut=s,Ut}var Wt,xh;function i2(){if(xh)return Wt;xh=1;var e=Ni(),n=yh();function i(o,a){return e(o,n(o),a)}return Wt=i,Wt}var $t,Sh;function wh(){if(Sh)return $t;Sh=1;var e=zt(),n=Ae();function i(o,a,s){var t=a(o);return n(o)?t:e(t,s(o))}return $t=i,$t}var Yt,Ah;function Nh(){if(Ah)return Yt;Ah=1;var e=wh(),n=Kt(),i=bn();function o(a){return e(a,i,n)}return Yt=o,Yt}var Jt,Ch;function o2(){if(Ch)return Jt;Ch=1;var e=wh(),n=yh(),i=Cn();function o(a){return e(a,i,n)}return Jt=o,Jt}var Zt,_h;function a2(){if(_h)return Zt;_h=1;var e=Nn(),n=Ve(),i=e(n,"DataView");return Zt=i,Zt}var Xt,Eh;function s2(){if(Eh)return Xt;Eh=1;var e=Nn(),n=Ve(),i=e(n,"Promise");return Xt=i,Xt}var Qt,kh;function Mh(){if(kh)return Qt;kh=1;var e=Nn(),n=Ve(),i=e(n,"Set");return Qt=i,Qt}var Rt,Th;function t2(){if(Th)return Rt;Th=1;var e=Nn(),n=Ve(),i=e(n,"WeakMap");return Rt=i,Rt}var er,Ph;function Jn(){if(Ph)return er;Ph=1;var e=a2(),n=Gs(),i=s2(),o=Mh(),a=t2(),s=An(),t=sv(),r="[object Map]",l="[object Object]",u="[object Promise]",d="[object Set]",b="[object WeakMap]",m="[object DataView]",f=t(e),h=t(n),g=t(i),v=t(o),p=t(a),S=s;return(e&&S(new e(new ArrayBuffer(1)))!=m||n&&S(new n)!=r||i&&S(i.resolve())!=u||o&&S(new o)!=d||a&&S(new a)!=b)&&(S=function(y){var x=s(y),w=x==l?y.constructor:void 0,A=w?t(w):"";if(A)switch(A){case f:return m;case h:return r;case g:return u;case v:return d;case p:return b}return x}),er=S,er}var nr,Ih;function r2(){if(Ih)return nr;Ih=1;var e=Object.prototype,n=e.hasOwnProperty;function i(o){var a=o.length,s=new o.constructor(a);return a&&typeof o[0]=="string"&&n.call(o,"index")&&(s.index=o.index,s.input=o.input),s}return nr=i,nr}var ir,Lh;function Bh(){if(Lh)return ir;Lh=1;var e=Ve(),n=e.Uint8Array;return ir=n,ir}var or,Oh;function ar(){if(Oh)return or;Oh=1;var e=Bh();function n(i){var o=new i.constructor(i.byteLength);return new e(o).set(new e(i)),o}return or=n,or}var sr,Dh;function l2(){if(Dh)return sr;Dh=1;var e=ar();function n(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.byteLength)}return sr=n,sr}var tr,qh;function u2(){if(qh)return tr;qh=1;var e=/\w*$/;function n(i){var o=new i.constructor(i.source,e.exec(i));return o.lastIndex=i.lastIndex,o}return tr=n,tr}var rr,Fh;function d2(){if(Fh)return rr;Fh=1;var e=$n(),n=e?e.prototype:void 0,i=n?n.valueOf:void 0;function o(a){return i?Object(i.call(a)):{}}return rr=o,rr}var lr,Gh;function Kh(){if(Gh)return lr;Gh=1;var e=ar();function n(i,o){var a=o?e(i.buffer):i.buffer;return new i.constructor(a,i.byteOffset,i.length)}return lr=n,lr}var ur,Hh;function c2(){if(Hh)return ur;Hh=1;var e=ar(),n=l2(),i=u2(),o=d2(),a=Kh(),s="[object Boolean]",t="[object Date]",r="[object Map]",l="[object Number]",u="[object RegExp]",d="[object Set]",b="[object String]",m="[object Symbol]",f="[object ArrayBuffer]",h="[object DataView]",g="[object Float32Array]",v="[object Float64Array]",p="[object Int8Array]",S="[object Int16Array]",y="[object Int32Array]",x="[object Uint8Array]",w="[object Uint8ClampedArray]",A="[object Uint16Array]",N="[object Uint32Array]";function E(_,P,k){var M=_.constructor;switch(P){case f:return e(_);case s:case t:return new M(+_);case h:return n(_,k);case g:case v:case p:case S:case y:case x:case w:case A:case N:return a(_,k);case r:return new M;case l:case b:return new M(_);case u:return i(_);case d:return new M;case m:return o(_)}}return ur=E,ur}var dr,Vh;function zh(){if(Vh)return dr;Vh=1;var e=Oe(),n=Object.create,i=function(){function o(){}return function(a){if(!e(a))return{};if(n)return n(a);o.prototype=a;var s=new o;return o.prototype=void 0,s}}();return dr=i,dr}var cr,jh;function Uh(){if(jh)return cr;jh=1;var e=zh(),n=Do(),i=Oo();function o(a){return typeof a.constructor=="function"&&!i(a)?e(n(a)):{}}return cr=o,cr}var br,Wh;function b2(){if(Wh)return br;Wh=1;var e=Jn(),n=Je(),i="[object Map]";function o(a){return n(a)&&e(a)==i}return br=o,br}var mr,$h;function m2(){if($h)return mr;$h=1;var e=b2(),n=Bo(),i=St(),o=i&&i.isMap,a=o?n(o):e;return mr=a,mr}var fr,Yh;function f2(){if(Yh)return fr;Yh=1;var e=Jn(),n=Je(),i="[object Set]";function o(a){return n(a)&&e(a)==i}return fr=o,fr}var vr,Jh;function v2(){if(Jh)return vr;Jh=1;var e=f2(),n=Bo(),i=St(),o=i&&i.isSet,a=o?n(o):e;return vr=a,vr}var hr,Zh;function Xh(){if(Zh)return hr;Zh=1;var e=To(),n=st(),i=Io(),o=XM(),a=e2(),s=rh(),t=uh(),r=n2(),l=i2(),u=Nh(),d=o2(),b=Jn(),m=r2(),f=c2(),h=Uh(),g=Ae(),v=Yn(),p=m2(),S=Oe(),y=v2(),x=bn(),w=Cn(),A=1,N=2,E=4,_="[object Arguments]",P="[object Array]",k="[object Boolean]",M="[object Date]",L="[object Error]",T="[object Function]",O="[object GeneratorFunction]",B="[object Map]",K="[object Number]",G="[object Object]",I="[object RegExp]",Y="[object Set]",Z="[object String]",J="[object Symbol]",R="[object WeakMap]",D="[object ArrayBuffer]",H="[object DataView]",U="[object Float32Array]",q="[object Float64Array]",F="[object Int8Array]",W="[object Int16Array]",z="[object Int32Array]",V="[object Uint8Array]",Q="[object Uint8ClampedArray]",j="[object Uint16Array]",X="[object Uint32Array]",$={};$[_]=$[P]=$[D]=$[H]=$[k]=$[M]=$[U]=$[q]=$[F]=$[W]=$[z]=$[B]=$[K]=$[G]=$[I]=$[Y]=$[Z]=$[J]=$[V]=$[Q]=$[j]=$[X]=!0,$[L]=$[T]=$[R]=!1;function ne(ee,ae,re,be,ce,he){var me,fe=ae&A,Ee=ae&N,je=ae&E;if(re&&(me=ce?re(ee,be,ce,he):re(ee)),me!==void 0)return me;if(!S(ee))return ee;var Ne=g(ee);if(Ne){if(me=m(ee),!fe)return t(ee,me)}else{var Te=b(ee),En=Te==T||Te==O;if(v(ee))return s(ee,fe);if(Te==G||Te==_||En&&!ce){if(me=Ee||En?{}:h(ee),!fe)return Ee?l(ee,a(me,ee)):r(ee,o(me,ee))}else{if(!$[Te])return ce?ee:{};me=f(ee,Te,fe)}}he||(he=new e);var sn=he.get(ee);if(sn)return sn;he.set(ee,me),y(ee)?ee.forEach(function(Ze){me.add(ne(Ze,ae,re,Ze,ee,he))}):p(ee)&&ee.forEach(function(Ze,tn){me.set(tn,ne(Ze,ae,re,tn,ee,he))});var Wd=je?Ee?d:u:Ee?w:x,jo=Ne?void 0:Wd(ee);return n(jo||ee,function(Ze,tn){jo&&(tn=Ze,Ze=ee[tn]),i(me,tn,ne(Ze,ae,re,tn,ee,he))}),me}return hr=ne,hr}var pr,Qh;function h2(){if(Qh)return pr;Qh=1;var e=Xh(),n=4;function i(o){return e(o,n)}return pr=i,pr}var gr,Rh;function yr(){if(Rh)return gr;Rh=1;function e(n){return function(){return n}}return gr=e,gr}var xr,ep;function p2(){if(ep)return xr;ep=1;function e(n){return function(i,o,a){for(var s=-1,t=Object(i),r=a(i),l=r.length;l--;){var u=r[n?l:++s];if(o(t[u],u,t)===!1)break}return i}}return xr=e,xr}var Sr,np;function wr(){if(np)return Sr;np=1;var e=p2(),n=e();return Sr=n,Sr}var Ar,ip;function Nr(){if(ip)return Ar;ip=1;var e=wr(),n=bn();function i(o,a){return o&&e(o,a,n)}return Ar=i,Ar}var Cr,op;function g2(){if(op)return Cr;op=1;var e=on();function n(i,o){return function(a,s){if(a==null)return a;if(!e(a))return i(a,s);for(var t=a.length,r=o?t:-1,l=Object(a);(o?r--:++r<t)&&s(l[r],r,l)!==!1;);return a}}return Cr=n,Cr}var _r,ap;function qo(){if(ap)return _r;ap=1;var e=Nr(),n=g2(),i=n(e);return _r=i,_r}var Er,sp;function _n(){if(sp)return Er;sp=1;function e(n){return n}return Er=e,Er}var kr,tp;function rp(){if(tp)return kr;tp=1;var e=_n();function n(i){return typeof i=="function"?i:e}return kr=n,kr}var Mr,lp;function up(){if(lp)return Mr;lp=1;var e=st(),n=qo(),i=rp(),o=Ae();function a(s,t){var r=o(s)?e:n;return r(s,i(t))}return Mr=a,Mr}var Tr,dp;function cp(){return dp||(dp=1,Tr=up()),Tr}var Pr,bp;function y2(){if(bp)return Pr;bp=1;var e=qo();function n(i,o){var a=[];return e(i,function(s,t,r){o(s,t,r)&&a.push(s)}),a}return Pr=n,Pr}var Ir,mp;function x2(){if(mp)return Ir;mp=1;var e="__lodash_hash_undefined__";function n(i){return this.__data__.set(i,e),this}return Ir=n,Ir}var Lr,fp;function S2(){if(fp)return Lr;fp=1;function e(n){return this.__data__.has(n)}return Lr=e,Lr}var Br,vp;function hp(){if(vp)return Br;vp=1;var e=nt(),n=x2(),i=S2();function o(a){var s=-1,t=a==null?0:a.length;for(this.__data__=new e;++s<t;)this.add(a[s])}return o.prototype.add=o.prototype.push=n,o.prototype.has=i,Br=o,Br}var Or,pp;function w2(){if(pp)return Or;pp=1;function e(n,i){for(var o=-1,a=n==null?0:n.length;++o<a;)if(i(n[o],o,n))return!0;return!1}return Or=e,Or}var Dr,gp;function yp(){if(gp)return Dr;gp=1;function e(n,i){return n.has(i)}return Dr=e,Dr}var qr,xp;function Sp(){if(xp)return qr;xp=1;var e=hp(),n=w2(),i=yp(),o=1,a=2;function s(t,r,l,u,d,b){var m=l&o,f=t.length,h=r.length;if(f!=h&&!(m&&h>f))return!1;var g=b.get(t),v=b.get(r);if(g&&v)return g==r&&v==t;var p=-1,S=!0,y=l&a?new e:void 0;for(b.set(t,r),b.set(r,t);++p<f;){var x=t[p],w=r[p];if(u)var A=m?u(w,x,p,r,t,b):u(x,w,p,t,r,b);if(A!==void 0){if(A)continue;S=!1;break}if(y){if(!n(r,function(N,E){if(!i(y,E)&&(x===N||d(x,N,l,u,b)))return y.push(E)})){S=!1;break}}else if(!(x===w||d(x,w,l,u,b))){S=!1;break}}return b.delete(t),b.delete(r),S}return qr=s,qr}var Fr,wp;function A2(){if(wp)return Fr;wp=1;function e(n){var i=-1,o=Array(n.size);return n.forEach(function(a,s){o[++i]=[s,a]}),o}return Fr=e,Fr}var Gr,Ap;function Kr(){if(Ap)return Gr;Ap=1;function e(n){var i=-1,o=Array(n.size);return n.forEach(function(a){o[++i]=a}),o}return Gr=e,Gr}var Hr,Np;function N2(){if(Np)return Hr;Np=1;var e=$n(),n=Bh(),i=Wn(),o=Sp(),a=A2(),s=Kr(),t=1,r=2,l="[object Boolean]",u="[object Date]",d="[object Error]",b="[object Map]",m="[object Number]",f="[object RegExp]",h="[object Set]",g="[object String]",v="[object Symbol]",p="[object ArrayBuffer]",S="[object DataView]",y=e?e.prototype:void 0,x=y?y.valueOf:void 0;function w(A,N,E,_,P,k,M){switch(E){case S:if(A.byteLength!=N.byteLength||A.byteOffset!=N.byteOffset)return!1;A=A.buffer,N=N.buffer;case p:return!(A.byteLength!=N.byteLength||!k(new n(A),new n(N)));case l:case u:case m:return i(+A,+N);case d:return A.name==N.name&&A.message==N.message;case f:case g:return A==N+"";case b:var L=a;case h:var T=_&t;if(L||(L=s),A.size!=N.size&&!T)return!1;var O=M.get(A);if(O)return O==N;_|=r,M.set(A,N);var B=o(L(A),L(N),_,P,k,M);return M.delete(A),B;case v:if(x)return x.call(A)==x.call(N)}return!1}return Hr=w,Hr}var Vr,Cp;function C2(){if(Cp)return Vr;Cp=1;var e=Nh(),n=1,i=Object.prototype,o=i.hasOwnProperty;function a(s,t,r,l,u,d){var b=r&n,m=e(s),f=m.length,h=e(t),g=h.length;if(f!=g&&!b)return!1;for(var v=f;v--;){var p=m[v];if(!(b?p in t:o.call(t,p)))return!1}var S=d.get(s),y=d.get(t);if(S&&y)return S==t&&y==s;var x=!0;d.set(s,t),d.set(t,s);for(var w=b;++v<f;){p=m[v];var A=s[p],N=t[p];if(l)var E=b?l(N,A,p,t,s,d):l(A,N,p,s,t,d);if(!(E===void 0?A===N||u(A,N,r,l,d):E)){x=!1;break}w||(w=p=="constructor")}if(x&&!w){var _=s.constructor,P=t.constructor;_!=P&&"constructor"in s&&"constructor"in t&&!(typeof _=="function"&&_ instanceof _&&typeof P=="function"&&P instanceof P)&&(x=!1)}return d.delete(s),d.delete(t),x}return Vr=a,Vr}var zr,_p;function _2(){if(_p)return zr;_p=1;var e=To(),n=Sp(),i=N2(),o=C2(),a=Jn(),s=Ae(),t=Yn(),r=ki(),l=1,u="[object Arguments]",d="[object Array]",b="[object Object]",m=Object.prototype,f=m.hasOwnProperty;function h(g,v,p,S,y,x){var w=s(g),A=s(v),N=w?d:a(g),E=A?d:a(v);N=N==u?b:N,E=E==u?b:E;var _=N==b,P=E==b,k=N==E;if(k&&t(g)){if(!t(v))return!1;w=!0,_=!1}if(k&&!_)return x||(x=new e),w||r(g)?n(g,v,p,S,y,x):i(g,v,N,p,S,y,x);if(!(p&l)){var M=_&&f.call(g,"__wrapped__"),L=P&&f.call(v,"__wrapped__");if(M||L){var T=M?g.value():g,O=L?v.value():v;return x||(x=new e),y(T,O,p,S,x)}}return k?(x||(x=new e),o(g,v,p,S,y,x)):!1}return zr=h,zr}var jr,Ep;function kp(){if(Ep)return jr;Ep=1;var e=_2(),n=Je();function i(o,a,s,t,r){return o===a?!0:o==null||a==null||!n(o)&&!n(a)?o!==o&&a!==a:e(o,a,s,t,i,r)}return jr=i,jr}var Ur,Mp;function E2(){if(Mp)return Ur;Mp=1;var e=To(),n=kp(),i=1,o=2;function a(s,t,r,l){var u=r.length,d=u,b=!l;if(s==null)return!d;for(s=Object(s);u--;){var m=r[u];if(b&&m[2]?m[1]!==s[m[0]]:!(m[0]in s))return!1}for(;++u<d;){m=r[u];var f=m[0],h=s[f],g=m[1];if(b&&m[2]){if(h===void 0&&!(f in s))return!1}else{var v=new e;if(l)var p=l(h,g,f,s,t,v);if(!(p===void 0?n(g,h,i|o,l,v):p))return!1}}return!0}return Ur=a,Ur}var Wr,Tp;function Pp(){if(Tp)return Wr;Tp=1;var e=Oe();function n(i){return i===i&&!e(i)}return Wr=n,Wr}var $r,Ip;function k2(){if(Ip)return $r;Ip=1;var e=Pp(),n=bn();function i(o){for(var a=n(o),s=a.length;s--;){var t=a[s],r=o[t];a[s]=[t,r,e(r)]}return a}return $r=i,$r}var Yr,Lp;function Bp(){if(Lp)return Yr;Lp=1;function e(n,i){return function(o){return o==null?!1:o[n]===i&&(i!==void 0||n in Object(o))}}return Yr=e,Yr}var Jr,Op;function M2(){if(Op)return Jr;Op=1;var e=E2(),n=k2(),i=Bp();function o(a){var s=n(a);return s.length==1&&s[0][2]?i(s[0][0],s[0][1]):function(t){return t===a||e(t,a,s)}}return Jr=o,Jr}var Zr,Dp;function Zn(){if(Dp)return Zr;Dp=1;var e=An(),n=Je(),i="[object Symbol]";function o(a){return typeof a=="symbol"||n(a)&&e(a)==i}return Zr=o,Zr}var Xr,qp;function Qr(){if(qp)return Xr;qp=1;var e=Ae(),n=Zn(),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;function a(s,t){if(e(s))return!1;var r=typeof s;return r=="number"||r=="symbol"||r=="boolean"||s==null||n(s)?!0:o.test(s)||!i.test(s)||t!=null&&s in Object(t)}return Xr=a,Xr}var Rr,Fp;function T2(){if(Fp)return Rr;Fp=1;var e=nt(),n="Expected a function";function i(o,a){if(typeof o!="function"||a!=null&&typeof a!="function")throw new TypeError(n);var s=function(){var t=arguments,r=a?a.apply(this,t):t[0],l=s.cache;if(l.has(r))return l.get(r);var u=o.apply(this,t);return s.cache=l.set(r,u)||l,u};return s.cache=new(i.Cache||e),s}return i.Cache=e,Rr=i,Rr}var el,Gp;function P2(){if(Gp)return el;Gp=1;var e=T2(),n=500;function i(o){var a=e(o,function(t){return s.size===n&&s.clear(),t}),s=a.cache;return a}return el=i,el}var nl,Kp;function I2(){if(Kp)return nl;Kp=1;var e=P2(),n=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=e(function(a){var s=[];return a.charCodeAt(0)===46&&s.push(""),a.replace(n,function(t,r,l,u){s.push(l?u.replace(i,"$1"):r||t)}),s});return nl=o,nl}var il,Hp;function Fo(){if(Hp)return il;Hp=1;function e(n,i){for(var o=-1,a=n==null?0:n.length,s=Array(a);++o<a;)s[o]=i(n[o],o,n);return s}return il=e,il}var ol,Vp;function L2(){if(Vp)return ol;Vp=1;var e=$n(),n=Fo(),i=Ae(),o=Zn(),a=e?e.prototype:void 0,s=a?a.toString:void 0;function t(r){if(typeof r=="string")return r;if(i(r))return n(r,t)+"";if(o(r))return s?s.call(r):"";var l=r+"";return l=="0"&&1/r==-1/0?"-0":l}return ol=t,ol}var al,zp;function jp(){if(zp)return al;zp=1;var e=L2();function n(i){return i==null?"":e(i)}return al=n,al}var sl,Up;function Go(){if(Up)return sl;Up=1;var e=Ae(),n=Qr(),i=I2(),o=jp();function a(s,t){return e(s)?s:n(s,t)?[s]:i(o(s))}return sl=a,sl}var tl,Wp;function Ti(){if(Wp)return tl;Wp=1;var e=Zn();function n(i){if(typeof i=="string"||e(i))return i;var o=i+"";return o=="0"&&1/i==-1/0?"-0":o}return tl=n,tl}var rl,$p;function Ko(){if($p)return rl;$p=1;var e=Go(),n=Ti();function i(o,a){a=e(a,o);for(var s=0,t=a.length;o!=null&&s<t;)o=o[n(a[s++])];return s&&s==t?o:void 0}return rl=i,rl}var ll,Yp;function B2(){if(Yp)return ll;Yp=1;var e=Ko();function n(i,o,a){var s=i==null?void 0:e(i,o);return s===void 0?a:s}return ll=n,ll}var ul,Jp;function O2(){if(Jp)return ul;Jp=1;function e(n,i){return n!=null&&i in Object(n)}return ul=e,ul}var dl,Zp;function Xp(){if(Zp)return dl;Zp=1;var e=Go(),n=Ci(),i=Ae(),o=Lo(),a=gt(),s=Ti();function t(r,l,u){l=e(l,r);for(var d=-1,b=l.length,m=!1;++d<b;){var f=s(l[d]);if(!(m=r!=null&&u(r,f)))break;r=r[f]}return m||++d!=b?m:(b=r==null?0:r.length,!!b&&a(b)&&o(f,b)&&(i(r)||n(r)))}return dl=t,dl}var cl,Qp;function Rp(){if(Qp)return cl;Qp=1;var e=O2(),n=Xp();function i(o,a){return o!=null&&n(o,a,e)}return cl=i,cl}var bl,eg;function D2(){if(eg)return bl;eg=1;var e=kp(),n=B2(),i=Rp(),o=Qr(),a=Pp(),s=Bp(),t=Ti(),r=1,l=2;function u(d,b){return o(d)&&a(b)?s(t(d),b):function(m){var f=n(m,d);return f===void 0&&f===b?i(m,d):e(b,f,r|l)}}return bl=u,bl}var ml,ng;function ig(){if(ng)return ml;ng=1;function e(n){return function(i){return i==null?void 0:i[n]}}return ml=e,ml}var fl,og;function q2(){if(og)return fl;og=1;var e=Ko();function n(i){return function(o){return e(o,i)}}return fl=n,fl}var vl,ag;function F2(){if(ag)return vl;ag=1;var e=ig(),n=q2(),i=Qr(),o=Ti();function a(s){return i(s)?e(o(s)):n(s)}return vl=a,vl}var hl,sg;function an(){if(sg)return hl;sg=1;var e=M2(),n=D2(),i=_n(),o=Ae(),a=F2();function s(t){return typeof t=="function"?t:t==null?i:typeof t=="object"?o(t)?n(t[0],t[1]):e(t):a(t)}return hl=s,hl}var pl,tg;function rg(){if(tg)return pl;tg=1;var e=ch(),n=y2(),i=an(),o=Ae();function a(s,t){var r=o(s)?e:n;return r(s,i(t,3))}return pl=a,pl}var gl,lg;function G2(){if(lg)return gl;lg=1;var e=Object.prototype,n=e.hasOwnProperty;function i(o,a){return o!=null&&n.call(o,a)}return gl=i,gl}var yl,ug;function dg(){if(ug)return yl;ug=1;var e=G2(),n=Xp();function i(o,a){return o!=null&&n(o,a,e)}return yl=i,yl}var xl,cg;function K2(){if(cg)return xl;cg=1;var e=kt(),n=Jn(),i=Ci(),o=Ae(),a=on(),s=Yn(),t=Oo(),r=ki(),l="[object Map]",u="[object Set]",d=Object.prototype,b=d.hasOwnProperty;function m(f){if(f==null)return!0;if(a(f)&&(o(f)||typeof f=="string"||typeof f.splice=="function"||s(f)||r(f)||i(f)))return!f.length;var h=n(f);if(h==l||h==u)return!f.size;if(t(f))return!e(f).length;for(var g in f)if(b.call(f,g))return!1;return!0}return xl=m,xl}var Sl,bg;function mg(){if(bg)return Sl;bg=1;function e(n){return n===void 0}return Sl=e,Sl}var wl,fg;function vg(){if(fg)return wl;fg=1;var e=qo(),n=on();function i(o,a){var s=-1,t=n(o)?Array(o.length):[];return e(o,function(r,l,u){t[++s]=a(r,l,u)}),t}return wl=i,wl}var Al,hg;function pg(){if(hg)return Al;hg=1;var e=Fo(),n=an(),i=vg(),o=Ae();function a(s,t){var r=o(s)?e:i;return r(s,n(t,3))}return Al=a,Al}var Nl,gg;function H2(){if(gg)return Nl;gg=1;function e(n,i,o,a){var s=-1,t=n==null?0:n.length;for(a&&t&&(o=n[++s]);++s<t;)o=i(o,n[s],s,n);return o}return Nl=e,Nl}var Cl,yg;function V2(){if(yg)return Cl;yg=1;function e(n,i,o,a,s){return s(n,function(t,r,l){o=a?(a=!1,t):i(o,t,r,l)}),o}return Cl=e,Cl}var _l,xg;function Sg(){if(xg)return _l;xg=1;var e=H2(),n=qo(),i=an(),o=V2(),a=Ae();function s(t,r,l){var u=a(t)?e:o,d=arguments.length<3;return u(t,i(r,4),l,d,n)}return _l=s,_l}var El,wg;function z2(){if(wg)return El;wg=1;var e=An(),n=Ae(),i=Je(),o="[object String]";function a(s){return typeof s=="string"||!n(s)&&i(s)&&e(s)==o}return El=a,El}var kl,Ag;function j2(){if(Ag)return kl;Ag=1;var e=ig(),n=e("length");return kl=n,kl}var Ml,Ng;function U2(){if(Ng)return Ml;Ng=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=n+i+o,s="\\ufe0e\\ufe0f",t="\\u200d",r=RegExp("["+t+e+a+s+"]");function l(u){return r.test(u)}return Ml=l,Ml}var Tl,Cg;function W2(){if(Cg)return Tl;Cg=1;var e="\\ud800-\\udfff",n="\\u0300-\\u036f",i="\\ufe20-\\ufe2f",o="\\u20d0-\\u20ff",a=n+i+o,s="\\ufe0e\\ufe0f",t="["+e+"]",r="["+a+"]",l="\\ud83c[\\udffb-\\udfff]",u="(?:"+r+"|"+l+")",d="[^"+e+"]",b="(?:\\ud83c[\\udde6-\\uddff]){2}",m="[\\ud800-\\udbff][\\udc00-\\udfff]",f="\\u200d",h=u+"?",g="["+s+"]?",v="(?:"+f+"(?:"+[d,b,m].join("|")+")"+g+h+")*",p=g+h+v,S="(?:"+[d+r+"?",r,b,m,t].join("|")+")",y=RegExp(l+"(?="+l+")|"+S+p,"g");function x(w){for(var A=y.lastIndex=0;y.test(w);)++A;return A}return Tl=x,Tl}var Pl,_g;function $2(){if(_g)return Pl;_g=1;var e=j2(),n=U2(),i=W2();function o(a){return n(a)?i(a):e(a)}return Pl=o,Pl}var Il,Eg;function Y2(){if(Eg)return Il;Eg=1;var e=kt(),n=Jn(),i=on(),o=z2(),a=$2(),s="[object Map]",t="[object Set]";function r(l){if(l==null)return 0;if(i(l))return o(l)?a(l):l.length;var u=n(l);return u==s||u==t?l.size:e(l).length}return Il=r,Il}var Ll,kg;function J2(){if(kg)return Ll;kg=1;var e=st(),n=zh(),i=Nr(),o=an(),a=Do(),s=Ae(),t=Yn(),r=Ai(),l=Oe(),u=ki();function d(b,m,f){var h=s(b),g=h||t(b)||u(b);if(m=o(m,4),f==null){var v=b&&b.constructor;g?f=h?new v:[]:l(b)?f=r(v)?n(a(b)):{}:f={}}return(g?e:i)(b,function(p,S,y){return m(f,p,S,y)}),f}return Ll=d,Ll}var Bl,Mg;function Z2(){if(Mg)return Bl;Mg=1;var e=$n(),n=Ci(),i=Ae(),o=e?e.isConcatSpreadable:void 0;function a(s){return i(s)||n(s)||!!(o&&s&&s[o])}return Bl=a,Bl}var Ol,Tg;function Dl(){if(Tg)return Ol;Tg=1;var e=zt(),n=Z2();function i(o,a,s,t,r){var l=-1,u=o.length;for(s||(s=n),r||(r=[]);++l<u;){var d=o[l];a>0&&s(d)?a>1?i(d,a-1,s,t,r):e(r,d):t||(r[r.length]=d)}return r}return Ol=i,Ol}var ql,Pg;function X2(){if(Pg)return ql;Pg=1;function e(n,i,o){switch(o.length){case 0:return n.call(i);case 1:return n.call(i,o[0]);case 2:return n.call(i,o[0],o[1]);case 3:return n.call(i,o[0],o[1],o[2])}return n.apply(i,o)}return ql=e,ql}var Fl,Ig;function Lg(){if(Ig)return Fl;Ig=1;var e=X2(),n=Math.max;function i(o,a,s){return a=n(a===void 0?o.length-1:a,0),function(){for(var t=arguments,r=-1,l=n(t.length-a,0),u=Array(l);++r<l;)u[r]=t[a+r];r=-1;for(var d=Array(a+1);++r<a;)d[r]=t[r];return d[a]=s(u),e(o,this,d)}}return Fl=i,Fl}var Gl,Bg;function Q2(){if(Bg)return Gl;Bg=1;var e=yr(),n=Mv(),i=_n(),o=n?function(a,s){return n(a,"toString",{configurable:!0,enumerable:!1,value:e(s),writable:!0})}:i;return Gl=o,Gl}var Kl,Og;function R2(){if(Og)return Kl;Og=1;var e=800,n=16,i=Date.now;function o(a){var s=0,t=0;return function(){var r=i(),l=n-(r-t);if(t=r,l>0){if(++s>=e)return arguments[0]}else s=0;return a.apply(void 0,arguments)}}return Kl=o,Kl}var Hl,Dg;function qg(){if(Dg)return Hl;Dg=1;var e=Q2(),n=R2(),i=n(e);return Hl=i,Hl}var Vl,Fg;function Ho(){if(Fg)return Vl;Fg=1;var e=_n(),n=Lg(),i=qg();function o(a,s){return i(n(a,s,e),a+"")}return Vl=o,Vl}var zl,Gg;function Kg(){if(Gg)return zl;Gg=1;function e(n,i,o,a){for(var s=n.length,t=o+(a?1:-1);a?t--:++t<s;)if(i(n[t],t,n))return t;return-1}return zl=e,zl}var jl,Hg;function eT(){if(Hg)return jl;Hg=1;function e(n){return n!==n}return jl=e,jl}var Ul,Vg;function nT(){if(Vg)return Ul;Vg=1;function e(n,i,o){for(var a=o-1,s=n.length;++a<s;)if(n[a]===i)return a;return-1}return Ul=e,Ul}var Wl,zg;function iT(){if(zg)return Wl;zg=1;var e=Kg(),n=eT(),i=nT();function o(a,s,t){return s===s?i(a,s,t):e(a,n,t)}return Wl=o,Wl}var $l,jg;function oT(){if(jg)return $l;jg=1;var e=iT();function n(i,o){var a=i==null?0:i.length;return!!a&&e(i,o,0)>-1}return $l=n,$l}var Yl,Ug;function aT(){if(Ug)return Yl;Ug=1;function e(n,i,o){for(var a=-1,s=n==null?0:n.length;++a<s;)if(o(i,n[a]))return!0;return!1}return Yl=e,Yl}var Jl,Wg;function sT(){if(Wg)return Jl;Wg=1;function e(){}return Jl=e,Jl}var Zl,$g;function tT(){if($g)return Zl;$g=1;var e=Mh(),n=sT(),i=Kr(),o=1/0,a=e&&1/i(new e([,-0]))[1]==o?function(s){return new e(s)}:n;return Zl=a,Zl}var Xl,Yg;function rT(){if(Yg)return Xl;Yg=1;var e=hp(),n=oT(),i=aT(),o=yp(),a=tT(),s=Kr(),t=200;function r(l,u,d){var b=-1,m=n,f=l.length,h=!0,g=[],v=g;if(d)h=!1,m=i;else if(f>=t){var p=u?null:a(l);if(p)return s(p);h=!1,m=o,v=new e}else v=u?[]:g;e:for(;++b<f;){var S=l[b],y=u?u(S):S;if(S=d||S!==0?S:0,h&&y===y){for(var x=v.length;x--;)if(v[x]===y)continue e;u&&v.push(y),g.push(S)}else m(v,y,d)||(v!==g&&v.push(y),g.push(S))}return g}return Xl=r,Xl}var Ql,Jg;function Zg(){if(Jg)return Ql;Jg=1;var e=on(),n=Je();function i(o){return n(o)&&e(o)}return Ql=i,Ql}var Rl,Xg;function lT(){if(Xg)return Rl;Xg=1;var e=Dl(),n=Ho(),i=rT(),o=Zg(),a=n(function(s){return i(e(s,1,o,!0))});return Rl=a,Rl}var eu,Qg;function uT(){if(Qg)return eu;Qg=1;var e=Fo();function n(i,o){return e(o,function(a){return i[a]})}return eu=n,eu}var nu,Rg;function ey(){if(Rg)return nu;Rg=1;var e=uT(),n=bn();function i(o){return o==null?[]:e(o,n(o))}return nu=i,nu}var iu,ny;function De(){if(ny)return iu;ny=1;var e;if(typeof cs=="function")try{e={clone:h2(),constant:yr(),each:cp(),filter:rg(),has:dg(),isArray:Ae(),isEmpty:K2(),isFunction:Ai(),isUndefined:mg(),keys:bn(),map:pg(),reduce:Sg(),size:Y2(),transform:J2(),union:lT(),values:ey()}}catch(n){}return e||(e=window._),iu=e,iu}var ou,iy;function au(){if(iy)return ou;iy=1;var e=De();ou=a;var n="\0",i="\0",o="";function a(d){this._isDirected=e.has(d,"directed")?d.directed:!0,this._isMultigraph=e.has(d,"multigraph")?d.multigraph:!1,this._isCompound=e.has(d,"compound")?d.compound:!1,this._label=void 0,this._defaultNodeLabelFn=e.constant(void 0),this._defaultEdgeLabelFn=e.constant(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[i]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}a.prototype._nodeCount=0,a.prototype._edgeCount=0,a.prototype.isDirected=function(){return this._isDirected},a.prototype.isMultigraph=function(){return this._isMultigraph},a.prototype.isCompound=function(){return this._isCompound},a.prototype.setGraph=function(d){return this._label=d,this},a.prototype.graph=function(){return this._label},a.prototype.setDefaultNodeLabel=function(d){return e.isFunction(d)||(d=e.constant(d)),this._defaultNodeLabelFn=d,this},a.prototype.nodeCount=function(){return this._nodeCount},a.prototype.nodes=function(){return e.keys(this._nodes)},a.prototype.sources=function(){var d=this;return e.filter(this.nodes(),function(b){return e.isEmpty(d._in[b])})},a.prototype.sinks=function(){var d=this;return e.filter(this.nodes(),function(b){return e.isEmpty(d._out[b])})},a.prototype.setNodes=function(d,b){var m=arguments,f=this;return e.each(d,function(h){m.length>1?f.setNode(h,b):f.setNode(h)}),this},a.prototype.setNode=function(d,b){return e.has(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=b),this):(this._nodes[d]=arguments.length>1?b:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=i,this._children[d]={},this._children[i][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)},a.prototype.node=function(d){return this._nodes[d]},a.prototype.hasNode=function(d){return e.has(this._nodes,d)},a.prototype.removeNode=function(d){var b=this;if(e.has(this._nodes,d)){var m=function(f){b.removeEdge(b._edgeObjs[f])};delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],e.each(this.children(d),function(f){b.setParent(f)}),delete this._children[d]),e.each(e.keys(this._in[d]),m),delete this._in[d],delete this._preds[d],e.each(e.keys(this._out[d]),m),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this},a.prototype.setParent=function(d,b){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e.isUndefined(b))b=i;else{b+="";for(var m=b;!e.isUndefined(m);m=this.parent(m))if(m===d)throw new Error("Setting "+b+" as parent of "+d+" would create a cycle");this.setNode(b)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=b,this._children[b][d]=!0,this},a.prototype._removeFromParentsChildList=function(d){delete this._children[this._parent[d]][d]},a.prototype.parent=function(d){if(this._isCompound){var b=this._parent[d];if(b!==i)return b}},a.prototype.children=function(d){if(e.isUndefined(d)&&(d=i),this._isCompound){var b=this._children[d];if(b)return e.keys(b)}else{if(d===i)return this.nodes();if(this.hasNode(d))return[]}},a.prototype.predecessors=function(d){var b=this._preds[d];if(b)return e.keys(b)},a.prototype.successors=function(d){var b=this._sucs[d];if(b)return e.keys(b)},a.prototype.neighbors=function(d){var b=this.predecessors(d);if(b)return e.union(b,this.successors(d))},a.prototype.isLeaf=function(d){var b;return this.isDirected()?b=this.successors(d):b=this.neighbors(d),b.length===0},a.prototype.filterNodes=function(d){var b=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});b.setGraph(this.graph());var m=this;e.each(this._nodes,function(g,v){d(v)&&b.setNode(v,g)}),e.each(this._edgeObjs,function(g){b.hasNode(g.v)&&b.hasNode(g.w)&&b.setEdge(g,m.edge(g))});var f={};function h(g){var v=m.parent(g);return v===void 0||b.hasNode(v)?(f[g]=v,v):v in f?f[v]:h(v)}return this._isCompound&&e.each(b.nodes(),function(g){b.setParent(g,h(g))}),b},a.prototype.setDefaultEdgeLabel=function(d){return e.isFunction(d)||(d=e.constant(d)),this._defaultEdgeLabelFn=d,this},a.prototype.edgeCount=function(){return this._edgeCount},a.prototype.edges=function(){return e.values(this._edgeObjs)},a.prototype.setPath=function(d,b){var m=this,f=arguments;return e.reduce(d,function(h,g){return f.length>1?m.setEdge(h,g,b):m.setEdge(h,g),g}),this},a.prototype.setEdge=function(){var d,b,m,f,h=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,b=g.w,m=g.name,arguments.length===2&&(f=arguments[1],h=!0)):(d=g,b=arguments[1],m=arguments[3],arguments.length>2&&(f=arguments[2],h=!0)),d=""+d,b=""+b,e.isUndefined(m)||(m=""+m);var v=r(this._isDirected,d,b,m);if(e.has(this._edgeLabels,v))return h&&(this._edgeLabels[v]=f),this;if(!e.isUndefined(m)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(b),this._edgeLabels[v]=h?f:this._defaultEdgeLabelFn(d,b,m);var p=l(this._isDirected,d,b,m);return d=p.v,b=p.w,Object.freeze(p),this._edgeObjs[v]=p,s(this._preds[b],d),s(this._sucs[d],b),this._in[b][v]=p,this._out[d][v]=p,this._edgeCount++,this},a.prototype.edge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m);return this._edgeLabels[f]},a.prototype.hasEdge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m);return e.has(this._edgeLabels,f)},a.prototype.removeEdge=function(d,b,m){var f=arguments.length===1?u(this._isDirected,arguments[0]):r(this._isDirected,d,b,m),h=this._edgeObjs[f];return h&&(d=h.v,b=h.w,delete this._edgeLabels[f],delete this._edgeObjs[f],t(this._preds[b],d),t(this._sucs[d],b),delete this._in[b][f],delete this._out[d][f],this._edgeCount--),this},a.prototype.inEdges=function(d,b){var m=this._in[d];if(m){var f=e.values(m);return b?e.filter(f,function(h){return h.v===b}):f}},a.prototype.outEdges=function(d,b){var m=this._out[d];if(m){var f=e.values(m);return b?e.filter(f,function(h){return h.w===b}):f}},a.prototype.nodeEdges=function(d,b){var m=this.inEdges(d,b);if(m)return m.concat(this.outEdges(d,b))};function s(d,b){d[b]?d[b]++:d[b]=1}function t(d,b){--d[b]||delete d[b]}function r(d,b,m,f){var h=""+b,g=""+m;if(!d&&h>g){var v=h;h=g,g=v}return h+o+g+o+(e.isUndefined(f)?n:f)}function l(d,b,m,f){var h=""+b,g=""+m;if(!d&&h>g){var v=h;h=g,g=v}var p={v:h,w:g};return f&&(p.name=f),p}function u(d,b){return r(d,b.v,b.w,b.name)}return ou}var su,oy;function dT(){return oy||(oy=1,su="2.1.8"),su}var tu,ay;function cT(){return ay||(ay=1,tu={Graph:au(),version:dT()}),tu}var ru,sy;function bT(){if(sy)return ru;sy=1;var e=De(),n=au();ru={write:i,read:s};function i(t){var r={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:o(t),edges:a(t)};return e.isUndefined(t.graph())||(r.value=e.clone(t.graph())),r}function o(t){return e.map(t.nodes(),function(r){var l=t.node(r),u=t.parent(r),d={v:r};return e.isUndefined(l)||(d.value=l),e.isUndefined(u)||(d.parent=u),d})}function a(t){return e.map(t.edges(),function(r){var l=t.edge(r),u={v:r.v,w:r.w};return e.isUndefined(r.name)||(u.name=r.name),e.isUndefined(l)||(u.value=l),u})}function s(t){var r=new n(t.options).setGraph(t.value);return e.each(t.nodes,function(l){r.setNode(l.v,l.value),l.parent&&r.setParent(l.v,l.parent)}),e.each(t.edges,function(l){r.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),r}return ru}var lu,ty;function mT(){if(ty)return lu;ty=1;var e=De();lu=n;function n(i){var o={},a=[],s;function t(r){e.has(o,r)||(o[r]=!0,s.push(r),e.each(i.successors(r),t),e.each(i.predecessors(r),t))}return e.each(i.nodes(),function(r){s=[],t(r),s.length&&a.push(s)}),a}return lu}var uu,ry;function ly(){if(ry)return uu;ry=1;var e=De();uu=n;function n(){this._arr=[],this._keyIndices={}}return n.prototype.size=function(){return this._arr.length},n.prototype.keys=function(){return this._arr.map(function(i){return i.key})},n.prototype.has=function(i){return e.has(this._keyIndices,i)},n.prototype.priority=function(i){var o=this._keyIndices[i];if(o!==void 0)return this._arr[o].priority},n.prototype.min=function(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key},n.prototype.add=function(i,o){var a=this._keyIndices;if(i=String(i),!e.has(a,i)){var s=this._arr,t=s.length;return a[i]=t,s.push({key:i,priority:o}),this._decrease(t),!0}return!1},n.prototype.removeMin=function(){this._swap(0,this._arr.length-1);var i=this._arr.pop();return delete this._keyIndices[i.key],this._heapify(0),i.key},n.prototype.decrease=function(i,o){var a=this._keyIndices[i];if(o>this._arr[a].priority)throw new Error("New priority is greater than current priority. Key: "+i+" Old: "+this._arr[a].priority+" New: "+o);this._arr[a].priority=o,this._decrease(a)},n.prototype._heapify=function(i){var o=this._arr,a=2*i,s=a+1,t=i;a<o.length&&(t=o[a].priority<o[t].priority?a:t,s<o.length&&(t=o[s].priority<o[t].priority?s:t),t!==i&&(this._swap(i,t),this._heapify(t)))},n.prototype._decrease=function(i){for(var o=this._arr,a=o[i].priority,s;i!==0&&(s=i>>1,!(o[s].priority<a));)this._swap(i,s),i=s},n.prototype._swap=function(i,o){var a=this._arr,s=this._keyIndices,t=a[i],r=a[o];a[i]=r,a[o]=t,s[r.key]=i,s[t.key]=o},uu}var du,uy;function dy(){if(uy)return du;uy=1;var e=De(),n=ly();du=o;var i=e.constant(1);function o(s,t,r,l){return a(s,String(t),r||i,l||function(u){return s.outEdges(u)})}function a(s,t,r,l){var u={},d=new n,b,m,f=function(h){var g=h.v!==b?h.v:h.w,v=u[g],p=r(h),S=m.distance+p;if(p<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+p);S<v.distance&&(v.distance=S,v.predecessor=b,d.decrease(g,S))};for(s.nodes().forEach(function(h){var g=h===t?0:Number.POSITIVE_INFINITY;u[h]={distance:g},d.add(h,g)});d.size()>0&&(b=d.removeMin(),m=u[b],m.distance!==Number.POSITIVE_INFINITY);)l(b).forEach(f);return u}return du}var cu,cy;function fT(){if(cy)return cu;cy=1;var e=dy(),n=De();cu=i;function i(o,a,s){return n.transform(o.nodes(),function(t,r){t[r]=e(o,r,a,s)},{})}return cu}var bu,by;function my(){if(by)return bu;by=1;var e=De();bu=n;function n(i){var o=0,a=[],s={},t=[];function r(l){var u=s[l]={onStack:!0,lowlink:o,index:o++};if(a.push(l),i.successors(l).forEach(function(m){e.has(s,m)?s[m].onStack&&(u.lowlink=Math.min(u.lowlink,s[m].index)):(r(m),u.lowlink=Math.min(u.lowlink,s[m].lowlink))}),u.lowlink===u.index){var d=[],b;do b=a.pop(),s[b].onStack=!1,d.push(b);while(l!==b);t.push(d)}}return i.nodes().forEach(function(l){e.has(s,l)||r(l)}),t}return bu}var mu,fy;function vT(){if(fy)return mu;fy=1;var e=De(),n=my();mu=i;function i(o){return e.filter(n(o),function(a){return a.length>1||a.length===1&&o.hasEdge(a[0],a[0])})}return mu}var fu,vy;function hT(){if(vy)return fu;vy=1;var e=De();fu=i;var n=e.constant(1);function i(a,s,t){return o(a,s||n,t||function(r){return a.outEdges(r)})}function o(a,s,t){var r={},l=a.nodes();return l.forEach(function(u){r[u]={},r[u][u]={distance:0},l.forEach(function(d){u!==d&&(r[u][d]={distance:Number.POSITIVE_INFINITY})}),t(u).forEach(function(d){var b=d.v===u?d.w:d.v,m=s(d);r[u][b]={distance:m,predecessor:u}})}),l.forEach(function(u){var d=r[u];l.forEach(function(b){var m=r[b];l.forEach(function(f){var h=m[u],g=d[f],v=m[f],p=h.distance+g.distance;p<v.distance&&(v.distance=p,v.predecessor=g.predecessor)})})}),r}return fu}var vu,hy;function py(){if(hy)return vu;hy=1;var e=De();vu=n,n.CycleException=i;function n(o){var a={},s={},t=[];function r(l){if(e.has(s,l))throw new i;e.has(a,l)||(s[l]=!0,a[l]=!0,e.each(o.predecessors(l),r),delete s[l],t.push(l))}if(e.each(o.sinks(),r),e.size(a)!==o.nodeCount())throw new i;return t}function i(){}return i.prototype=new Error,vu}var hu,gy;function pT(){if(gy)return hu;gy=1;var e=py();hu=n;function n(i){try{e(i)}catch(o){if(o instanceof e.CycleException)return!1;throw o}return!0}return hu}var pu,yy;function xy(){if(yy)return pu;yy=1;var e=De();pu=n;function n(o,a,s){e.isArray(a)||(a=[a]);var t=(o.isDirected()?o.successors:o.neighbors).bind(o),r=[],l={};return e.each(a,function(u){if(!o.hasNode(u))throw new Error("Graph does not have node: "+u);i(o,u,s==="post",l,t,r)}),r}function i(o,a,s,t,r,l){e.has(t,a)||(t[a]=!0,s||l.push(a),e.each(r(a),function(u){i(o,u,s,t,r,l)}),s&&l.push(a))}return pu}var gu,Sy;function gT(){if(Sy)return gu;Sy=1;var e=xy();gu=n;function n(i,o){return e(i,o,"post")}return gu}var yu,wy;function yT(){if(wy)return yu;wy=1;var e=xy();yu=n;function n(i,o){return e(i,o,"pre")}return yu}var xu,Ay;function xT(){if(Ay)return xu;Ay=1;var e=De(),n=au(),i=ly();xu=o;function o(a,s){var t=new n,r={},l=new i,u;function d(m){var f=m.v===u?m.w:m.v,h=l.priority(f);if(h!==void 0){var g=s(m);g<h&&(r[f]=u,l.decrease(f,g))}}if(a.nodeCount()===0)return t;e.each(a.nodes(),function(m){l.add(m,Number.POSITIVE_INFINITY),t.setNode(m)}),l.decrease(a.nodes()[0],0);for(var b=!1;l.size()>0;){if(u=l.removeMin(),e.has(r,u))t.setEdge(u,r[u]);else{if(b)throw new Error("Input graph is not connected: "+a);b=!0}a.nodeEdges(u).forEach(d)}return t}return xu}var Su,Ny;function ST(){return Ny||(Ny=1,Su={components:mT(),dijkstra:dy(),dijkstraAll:fT(),findCycles:vT(),floydWarshall:hT(),isAcyclic:pT(),postorder:gT(),preorder:yT(),prim:xT(),tarjan:my(),topsort:py()}),Su}var wu,Cy;function wT(){if(Cy)return wu;Cy=1;var e=cT();return wu={Graph:e.Graph,json:bT(),alg:ST(),version:e.version},wu}var Au,_y;function ze(){if(_y)return Au;_y=1;var e;if(typeof cs=="function")try{e=wT()}catch(n){}return e||(e=window.graphlib),Au=e,Au}var Nu,Ey;function AT(){if(Ey)return Nu;Ey=1;var e=Xh(),n=1,i=4;function o(a){return e(a,n|i)}return Nu=o,Nu}var Cu,ky;function Vo(){if(ky)return Cu;ky=1;var e=Wn(),n=on(),i=Lo(),o=Oe();function a(s,t,r){if(!o(r))return!1;var l=typeof t;return(l=="number"?n(r)&&i(t,r.length):l=="string"&&t in r)?e(r[t],s):!1}return Cu=a,Cu}var _u,My;function NT(){if(My)return _u;My=1;var e=Ho(),n=Wn(),i=Vo(),o=Cn(),a=Object.prototype,s=a.hasOwnProperty,t=e(function(r,l){r=Object(r);var u=-1,d=l.length,b=d>2?l[2]:void 0;for(b&&i(l[0],l[1],b)&&(d=1);++u<d;)for(var m=l[u],f=o(m),h=-1,g=f.length;++h<g;){var v=f[h],p=r[v];(p===void 0||n(p,a[v])&&!s.call(r,v))&&(r[v]=m[v])}return r});return _u=t,_u}var Eu,Ty;function CT(){if(Ty)return Eu;Ty=1;var e=an(),n=on(),i=bn();function o(a){return function(s,t,r){var l=Object(s);if(!n(s)){var u=e(t,3);s=i(s),t=function(b){return u(l[b],b,l)}}var d=a(s,t,r);return d>-1?l[u?s[d]:d]:void 0}}return Eu=o,Eu}var ku,Py;function _T(){if(Py)return ku;Py=1;var e=/\s/;function n(i){for(var o=i.length;o--&&e.test(i.charAt(o)););return o}return ku=n,ku}var Mu,Iy;function ET(){if(Iy)return Mu;Iy=1;var e=_T(),n=/^\s+/;function i(o){return o&&o.slice(0,e(o)+1).replace(n,"")}return Mu=i,Mu}var Tu,Ly;function kT(){if(Ly)return Tu;Ly=1;var e=ET(),n=Oe(),i=Zn(),o=NaN,a=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,t=/^0o[0-7]+$/i,r=parseInt;function l(u){if(typeof u=="number")return u;if(i(u))return o;if(n(u)){var d=typeof u.valueOf=="function"?u.valueOf():u;u=n(d)?d+"":d}if(typeof u!="string")return u===0?u:+u;u=e(u);var b=s.test(u);return b||t.test(u)?r(u.slice(2),b?2:8):a.test(u)?o:+u}return Tu=l,Tu}var Pu,By;function Oy(){if(By)return Pu;By=1;var e=kT(),n=1/0,i=17976931348623157e292;function o(a){if(!a)return a===0?a:0;if(a=e(a),a===n||a===-n){var s=a<0?-1:1;return s*i}return a===a?a:0}return Pu=o,Pu}var Iu,Dy;function MT(){if(Dy)return Iu;Dy=1;var e=Oy();function n(i){var o=e(i),a=o%1;return o===o?a?o-a:o:0}return Iu=n,Iu}var Lu,qy;function TT(){if(qy)return Lu;qy=1;var e=Kg(),n=an(),i=MT(),o=Math.max;function a(s,t,r){var l=s==null?0:s.length;if(!l)return-1;var u=r==null?0:i(r);return u<0&&(u=o(l+u,0)),e(s,n(t,3),u)}return Lu=a,Lu}var Bu,Fy;function PT(){if(Fy)return Bu;Fy=1;var e=CT(),n=TT(),i=e(n);return Bu=i,Bu}var Ou,Gy;function Ky(){if(Gy)return Ou;Gy=1;var e=Dl();function n(i){var o=i==null?0:i.length;return o?e(i,1):[]}return Ou=n,Ou}var Du,Hy;function IT(){if(Hy)return Du;Hy=1;var e=wr(),n=rp(),i=Cn();function o(a,s){return a==null?a:e(a,n(s),i)}return Du=o,Du}var qu,Vy;function LT(){if(Vy)return qu;Vy=1;function e(n){var i=n==null?0:n.length;return i?n[i-1]:void 0}return qu=e,qu}var Fu,zy;function BT(){if(zy)return Fu;zy=1;var e=Po(),n=Nr(),i=an();function o(a,s){var t={};return s=i(s,3),n(a,function(r,l,u){e(t,l,s(r,l,u))}),t}return Fu=o,Fu}var Gu,jy;function Ku(){if(jy)return Gu;jy=1;var e=Zn();function n(i,o,a){for(var s=-1,t=i.length;++s<t;){var r=i[s],l=o(r);if(l!=null&&(u===void 0?l===l&&!e(l):a(l,u)))var u=l,d=r}return d}return Gu=n,Gu}var Hu,Uy;function OT(){if(Uy)return Hu;Uy=1;function e(n,i){return n>i}return Hu=e,Hu}var Vu,Wy;function DT(){if(Wy)return Vu;Wy=1;var e=Ku(),n=OT(),i=_n();function o(a){return a&&a.length?e(a,i,n):void 0}return Vu=o,Vu}var zu,$y;function Yy(){if($y)return zu;$y=1;var e=Po(),n=Wn();function i(o,a,s){(s!==void 0&&!n(o[a],s)||s===void 0&&!(a in o))&&e(o,a,s)}return zu=i,zu}var ju,Jy;function qT(){if(Jy)return ju;Jy=1;var e=An(),n=Do(),i=Je(),o="[object Object]",a=Function.prototype,s=Object.prototype,t=a.toString,r=s.hasOwnProperty,l=t.call(Object);function u(d){if(!i(d)||e(d)!=o)return!1;var b=n(d);if(b===null)return!0;var m=r.call(b,"constructor")&&b.constructor;return typeof m=="function"&&m instanceof m&&t.call(m)==l}return ju=u,ju}var Uu,Zy;function Xy(){if(Zy)return Uu;Zy=1;function e(n,i){if(!(i==="constructor"&&typeof n[i]=="function")&&i!="__proto__")return n[i]}return Uu=e,Uu}var Wu,Qy;function FT(){if(Qy)return Wu;Qy=1;var e=Ni(),n=Cn();function i(o){return e(o,n(o))}return Wu=i,Wu}var $u,Ry;function GT(){if(Ry)return $u;Ry=1;var e=Yy(),n=rh(),i=Kh(),o=uh(),a=Uh(),s=Ci(),t=Ae(),r=Zg(),l=Yn(),u=Ai(),d=Oe(),b=qT(),m=ki(),f=Xy(),h=FT();function g(v,p,S,y,x,w,A){var N=f(v,S),E=f(p,S),_=A.get(E);if(_){e(v,S,_);return}var P=w?w(N,E,S+"",v,p,A):void 0,k=P===void 0;if(k){var M=t(E),L=!M&&l(E),T=!M&&!L&&m(E);P=E,M||L||T?t(N)?P=N:r(N)?P=o(N):L?(k=!1,P=n(E,!0)):T?(k=!1,P=i(E,!0)):P=[]:b(E)||s(E)?(P=N,s(N)?P=h(N):(!d(N)||u(N))&&(P=a(E))):k=!1}k&&(A.set(E,P),x(P,E,y,w,A),A.delete(E)),e(v,S,P)}return $u=g,$u}var Yu,e0;function KT(){if(e0)return Yu;e0=1;var e=To(),n=Yy(),i=wr(),o=GT(),a=Oe(),s=Cn(),t=Xy();function r(l,u,d,b,m){l!==u&&i(u,function(f,h){if(m||(m=new e),a(f))o(l,u,h,d,r,b,m);else{var g=b?b(t(l,h),f,h+"",l,u,m):void 0;g===void 0&&(g=f),n(l,h,g)}},s)}return Yu=r,Yu}var Ju,n0;function HT(){if(n0)return Ju;n0=1;var e=Ho(),n=Vo();function i(o){return e(function(a,s){var t=-1,r=s.length,l=r>1?s[r-1]:void 0,u=r>2?s[2]:void 0;for(l=o.length>3&&typeof l=="function"?(r--,l):void 0,u&&n(s[0],s[1],u)&&(l=r<3?void 0:l,r=1),a=Object(a);++t<r;){var d=s[t];d&&o(a,d,t,l)}return a})}return Ju=i,Ju}var Zu,i0;function VT(){if(i0)return Zu;i0=1;var e=KT(),n=HT(),i=n(function(o,a,s){e(o,a,s)});return Zu=i,Zu}var Xu,o0;function a0(){if(o0)return Xu;o0=1;function e(n,i){return n<i}return Xu=e,Xu}var Qu,s0;function zT(){if(s0)return Qu;s0=1;var e=Ku(),n=a0(),i=_n();function o(a){return a&&a.length?e(a,i,n):void 0}return Qu=o,Qu}var Ru,t0;function jT(){if(t0)return Ru;t0=1;var e=Ku(),n=an(),i=a0();function o(a,s){return a&&a.length?e(a,n(s,2),i):void 0}return Ru=o,Ru}var ed,r0;function UT(){if(r0)return ed;r0=1;var e=Ve(),n=function(){return e.Date.now()};return ed=n,ed}var nd,l0;function WT(){if(l0)return nd;l0=1;var e=Io(),n=Go(),i=Lo(),o=Oe(),a=Ti();function s(t,r,l,u){if(!o(t))return t;r=n(r,t);for(var d=-1,b=r.length,m=b-1,f=t;f!=null&&++d<b;){var h=a(r[d]),g=l;if(h==="__proto__"||h==="constructor"||h==="prototype")return t;if(d!=m){var v=f[h];g=u?u(v,h,f):void 0,g===void 0&&(g=o(v)?v:i(r[d+1])?[]:{})}e(f,h,g),f=f[h]}return t}return nd=s,nd}var id,u0;function $T(){if(u0)return id;u0=1;var e=Ko(),n=WT(),i=Go();function o(a,s,t){for(var r=-1,l=s.length,u={};++r<l;){var d=s[r],b=e(a,d);t(b,d)&&n(u,i(d,a),b)}return u}return id=o,id}var od,d0;function YT(){if(d0)return od;d0=1;var e=$T(),n=Rp();function i(o,a){return e(o,a,function(s,t){return n(o,t)})}return od=i,od}var ad,c0;function JT(){if(c0)return ad;c0=1;var e=Ky(),n=Lg(),i=qg();function o(a){return i(n(a,void 0,e),a+"")}return ad=o,ad}var sd,b0;function ZT(){if(b0)return sd;b0=1;var e=YT(),n=JT(),i=n(function(o,a){return o==null?{}:e(o,a)});return sd=i,sd}var td,m0;function XT(){if(m0)return td;m0=1;var e=Math.ceil,n=Math.max;function i(o,a,s,t){for(var r=-1,l=n(e((a-o)/(s||1)),0),u=Array(l);l--;)u[t?l:++r]=o,o+=s;return u}return td=i,td}var rd,f0;function QT(){if(f0)return rd;f0=1;var e=XT(),n=Vo(),i=Oy();function o(a){return function(s,t,r){return r&&typeof r!="number"&&n(s,t,r)&&(t=r=void 0),s=i(s),t===void 0?(t=s,s=0):t=i(t),r=r===void 0?s<t?1:-1:i(r),e(s,t,r,a)}}return rd=o,rd}var ld,v0;function RT(){if(v0)return ld;v0=1;var e=QT(),n=e();return ld=n,ld}var ud,h0;function eP(){if(h0)return ud;h0=1;function e(n,i){var o=n.length;for(n.sort(i);o--;)n[o]=n[o].value;return n}return ud=e,ud}var dd,p0;function nP(){if(p0)return dd;p0=1;var e=Zn();function n(i,o){if(i!==o){var a=i!==void 0,s=i===null,t=i===i,r=e(i),l=o!==void 0,u=o===null,d=o===o,b=e(o);if(!u&&!b&&!r&&i>o||r&&l&&d&&!u&&!b||s&&l&&d||!a&&d||!t)return 1;if(!s&&!r&&!b&&i<o||b&&a&&t&&!s&&!r||u&&a&&t||!l&&t||!d)return-1}return 0}return dd=n,dd}var cd,g0;function iP(){if(g0)return cd;g0=1;var e=nP();function n(i,o,a){for(var s=-1,t=i.criteria,r=o.criteria,l=t.length,u=a.length;++s<l;){var d=e(t[s],r[s]);if(d){if(s>=u)return d;var b=a[s];return d*(b=="desc"?-1:1)}}return i.index-o.index}return cd=n,cd}var bd,y0;function oP(){if(y0)return bd;y0=1;var e=Fo(),n=Ko(),i=an(),o=vg(),a=eP(),s=Bo(),t=iP(),r=_n(),l=Ae();function u(d,b,m){b.length?b=e(b,function(g){return l(g)?function(v){return n(v,g.length===1?g[0]:g)}:g}):b=[r];var f=-1;b=e(b,s(i));var h=o(d,function(g,v,p){var S=e(b,function(y){return y(g)});return{criteria:S,index:++f,value:g}});return a(h,function(g,v){return t(g,v,m)})}return bd=u,bd}var md,x0;function aP(){if(x0)return md;x0=1;var e=Dl(),n=oP(),i=Ho(),o=Vo(),a=i(function(s,t){if(s==null)return[];var r=t.length;return r>1&&o(s,t[0],t[1])?t=[]:r>2&&o(t[0],t[1],t[2])&&(t=[t[0]]),n(s,e(t,1),[])});return md=a,md}var fd,S0;function sP(){if(S0)return fd;S0=1;var e=jp(),n=0;function i(o){var a=++n;return e(o)+a}return fd=i,fd}var vd,w0;function tP(){if(w0)return vd;w0=1;function e(n,i,o){for(var a=-1,s=n.length,t=i.length,r={};++a<s;){var l=a<t?i[a]:void 0;o(r,n[a],l)}return r}return vd=e,vd}var hd,A0;function rP(){if(A0)return hd;A0=1;var e=Io(),n=tP();function i(o,a){return n(o||[],a||[],e)}return hd=i,hd}var pd,N0;function ye(){if(N0)return pd;N0=1;var e;if(typeof cs=="function")try{e={cloneDeep:AT(),constant:yr(),defaults:NT(),each:cp(),filter:rg(),find:PT(),flatten:Ky(),forEach:up(),forIn:IT(),has:dg(),isUndefined:mg(),last:LT(),map:pg(),mapValues:BT(),max:DT(),merge:VT(),min:zT(),minBy:jT(),now:UT(),pick:ZT(),range:RT(),reduce:Sg(),sortBy:aP(),uniqueId:sP(),values:ey(),zipObject:rP()}}catch(n){}return e||(e=window._),pd=e,pd}var gd,C0;function lP(){if(C0)return gd;C0=1,gd=e;function e(){var o={};o._next=o._prev=o,this._sentinel=o}e.prototype.dequeue=function(){var o=this._sentinel,a=o._prev;if(a!==o)return n(a),a},e.prototype.enqueue=function(o){var a=this._sentinel;o._prev&&o._next&&n(o),o._next=a._next,a._next._prev=o,a._next=o,o._prev=a},e.prototype.toString=function(){for(var o=[],a=this._sentinel,s=a._prev;s!==a;)o.push(JSON.stringify(s,i)),s=s._prev;return"["+o.join(", ")+"]"};function n(o){o._prev._next=o._next,o._next._prev=o._prev,delete o._next,delete o._prev}function i(o,a){if(o!=="_next"&&o!=="_prev")return a}return gd}var yd,_0;function uP(){if(_0)return yd;_0=1;var e=ye(),n=ze().Graph,i=lP();yd=a;var o=e.constant(1);function a(u,d){if(u.nodeCount()<=1)return[];var b=r(u,d||o),m=s(b.graph,b.buckets,b.zeroIdx);return e.flatten(e.map(m,function(f){return u.outEdges(f.v,f.w)}),!0)}function s(u,d,b){for(var m=[],f=d[d.length-1],h=d[0],g;u.nodeCount();){for(;g=h.dequeue();)t(u,d,b,g);for(;g=f.dequeue();)t(u,d,b,g);if(u.nodeCount()){for(var v=d.length-2;v>0;--v)if(g=d[v].dequeue(),g){m=m.concat(t(u,d,b,g,!0));break}}}return m}function t(u,d,b,m,f){var h=f?[]:void 0;return e.forEach(u.inEdges(m.v),function(g){var v=u.edge(g),p=u.node(g.v);f&&h.push({v:g.v,w:g.w}),p.out-=v,l(d,b,p)}),e.forEach(u.outEdges(m.v),function(g){var v=u.edge(g),p=g.w,S=u.node(p);S.in-=v,l(d,b,S)}),u.removeNode(m.v),h}function r(u,d){var b=new n,m=0,f=0;e.forEach(u.nodes(),function(v){b.setNode(v,{v,in:0,out:0})}),e.forEach(u.edges(),function(v){var p=b.edge(v.v,v.w)||0,S=d(v),y=p+S;b.setEdge(v.v,v.w,y),f=Math.max(f,b.node(v.v).out+=S),m=Math.max(m,b.node(v.w).in+=S)});var h=e.range(f+m+3).map(function(){return new i}),g=m+1;return e.forEach(b.nodes(),function(v){l(h,g,b.node(v))}),{graph:b,buckets:h,zeroIdx:g}}function l(u,d,b){b.out?b.in?u[b.out-b.in+d].enqueue(b):u[u.length-1].enqueue(b):u[0].enqueue(b)}return yd}var xd,E0;function dP(){if(E0)return xd;E0=1;var e=ye(),n=uP();xd={run:i,undo:a};function i(s){var t=s.graph().acyclicer==="greedy"?n(s,r(s)):o(s);e.forEach(t,function(l){var u=s.edge(l);s.removeEdge(l),u.forwardName=l.name,u.reversed=!0,s.setEdge(l.w,l.v,u,e.uniqueId("rev"))});function r(l){return function(u){return l.edge(u).weight}}}function o(s){var t=[],r={},l={};function u(d){e.has(l,d)||(l[d]=!0,r[d]=!0,e.forEach(s.outEdges(d),function(b){e.has(r,b.w)?t.push(b):u(b.w)}),delete r[d])}return e.forEach(s.nodes(),u),t}function a(s){e.forEach(s.edges(),function(t){var r=s.edge(t);if(r.reversed){s.removeEdge(t);var l=r.forwardName;delete r.reversed,delete r.forwardName,s.setEdge(t.w,t.v,r,l)}})}return xd}var Sd,k0;function Me(){if(k0)return Sd;k0=1;var e=ye(),n=ze().Graph;Sd={addDummyNode:i,simplify:o,asNonCompoundGraph:a,successorWeights:s,predecessorWeights:t,intersectRect:r,buildLayerMatrix:l,normalizeRanks:u,removeEmptyRanks:d,addBorderNode:b,maxRank:m,partition:f,time:h,notime:g};function i(v,p,S,y){var x;do x=e.uniqueId(y);while(v.hasNode(x));return S.dummy=p,v.setNode(x,S),x}function o(v){var p=new n().setGraph(v.graph());return e.forEach(v.nodes(),function(S){p.setNode(S,v.node(S))}),e.forEach(v.edges(),function(S){var y=p.edge(S.v,S.w)||{weight:0,minlen:1},x=v.edge(S);p.setEdge(S.v,S.w,{weight:y.weight+x.weight,minlen:Math.max(y.minlen,x.minlen)})}),p}function a(v){var p=new n({multigraph:v.isMultigraph()}).setGraph(v.graph());return e.forEach(v.nodes(),function(S){v.children(S).length||p.setNode(S,v.node(S))}),e.forEach(v.edges(),function(S){p.setEdge(S,v.edge(S))}),p}function s(v){var p=e.map(v.nodes(),function(S){var y={};return e.forEach(v.outEdges(S),function(x){y[x.w]=(y[x.w]||0)+v.edge(x).weight}),y});return e.zipObject(v.nodes(),p)}function t(v){var p=e.map(v.nodes(),function(S){var y={};return e.forEach(v.inEdges(S),function(x){y[x.v]=(y[x.v]||0)+v.edge(x).weight}),y});return e.zipObject(v.nodes(),p)}function r(v,p){var S=v.x,y=v.y,x=p.x-S,w=p.y-y,A=v.width/2,N=v.height/2;if(!x&&!w)throw new Error("Not possible to find intersection inside of the rectangle");var E,_;return Math.abs(w)*A>Math.abs(x)*N?(w<0&&(N=-N),E=N*x/w,_=N):(x<0&&(A=-A),E=A,_=A*w/x),{x:S+E,y:y+_}}function l(v){var p=e.map(e.range(m(v)+1),function(){return[]});return e.forEach(v.nodes(),function(S){var y=v.node(S),x=y.rank;e.isUndefined(x)||(p[x][y.order]=S)}),p}function u(v){var p=e.min(e.map(v.nodes(),function(S){return v.node(S).rank}));e.forEach(v.nodes(),function(S){var y=v.node(S);e.has(y,"rank")&&(y.rank-=p)})}function d(v){var p=e.min(e.map(v.nodes(),function(w){return v.node(w).rank})),S=[];e.forEach(v.nodes(),function(w){var A=v.node(w).rank-p;S[A]||(S[A]=[]),S[A].push(w)});var y=0,x=v.graph().nodeRankFactor;e.forEach(S,function(w,A){e.isUndefined(w)&&A%x!==0?--y:y&&e.forEach(w,function(N){v.node(N).rank+=y})})}function b(v,p,S,y){var x={width:0,height:0};return arguments.length>=4&&(x.rank=S,x.order=y),i(v,"border",x,p)}function m(v){return e.max(e.map(v.nodes(),function(p){var S=v.node(p).rank;if(!e.isUndefined(S))return S}))}function f(v,p){var S={lhs:[],rhs:[]};return e.forEach(v,function(y){p(y)?S.lhs.push(y):S.rhs.push(y)}),S}function h(v,p){var S=e.now();try{return p()}finally{console.log(v+" time: "+(e.now()-S)+"ms")}}function g(v,p){return p()}return Sd}var wd,M0;function cP(){if(M0)return wd;M0=1;var e=ye(),n=Me();wd={run:i,undo:a};function i(s){s.graph().dummyChains=[],e.forEach(s.edges(),function(t){o(s,t)})}function o(s,t){var r=t.v,l=s.node(r).rank,u=t.w,d=s.node(u).rank,b=t.name,m=s.edge(t),f=m.labelRank;if(d!==l+1){s.removeEdge(t);var h,g,v;for(v=0,++l;l<d;++v,++l)m.points=[],g={width:0,height:0,edgeLabel:m,edgeObj:t,rank:l},h=n.addDummyNode(s,"edge",g,"_d"),l===f&&(g.width=m.width,g.height=m.height,g.dummy="edge-label",g.labelpos=m.labelpos),s.setEdge(r,h,{weight:m.weight},b),v===0&&s.graph().dummyChains.push(h),r=h;s.setEdge(r,u,{weight:m.weight},b)}}function a(s){e.forEach(s.graph().dummyChains,function(t){var r=s.node(t),l=r.edgeLabel,u;for(s.setEdge(r.edgeObj,l);r.dummy;)u=s.successors(t)[0],s.removeNode(t),l.points.push({x:r.x,y:r.y}),r.dummy==="edge-label"&&(l.x=r.x,l.y=r.y,l.width=r.width,l.height=r.height),t=u,r=s.node(t)})}return wd}var Ad,T0;function zo(){if(T0)return Ad;T0=1;var e=ye();Ad={longestPath:n,slack:i};function n(o){var a={};function s(t){var r=o.node(t);if(e.has(a,t))return r.rank;a[t]=!0;var l=e.min(e.map(o.outEdges(t),function(u){return s(u.w)-o.edge(u).minlen}));return(l===Number.POSITIVE_INFINITY||l===void 0||l===null)&&(l=0),r.rank=l}e.forEach(o.sources(),s)}function i(o,a){return o.node(a.w).rank-o.node(a.v).rank-o.edge(a).minlen}return Ad}var Nd,P0;function I0(){if(P0)return Nd;P0=1;var e=ye(),n=ze().Graph,i=zo().slack;Nd=o;function o(r){var l=new n({directed:!1}),u=r.nodes()[0],d=r.nodeCount();l.setNode(u,{});for(var b,m;a(l,r)<d;)b=s(l,r),m=l.hasNode(b.v)?i(r,b):-i(r,b),t(l,r,m);return l}function a(r,l){function u(d){e.forEach(l.nodeEdges(d),function(b){var m=b.v,f=d===m?b.w:m;!r.hasNode(f)&&!i(l,b)&&(r.setNode(f,{}),r.setEdge(d,f,{}),u(f))})}return e.forEach(r.nodes(),u),r.nodeCount()}function s(r,l){return e.minBy(l.edges(),function(u){if(r.hasNode(u.v)!==r.hasNode(u.w))return i(l,u)})}function t(r,l,u){e.forEach(r.nodes(),function(d){l.node(d).rank+=u})}return Nd}var Cd,L0;function bP(){if(L0)return Cd;L0=1;var e=ye(),n=I0(),i=zo().slack,o=zo().longestPath,a=ze().alg.preorder,s=ze().alg.postorder,t=Me().simplify;Cd=r,r.initLowLimValues=b,r.initCutValues=l,r.calcCutValue=d,r.leaveEdge=f,r.enterEdge=h,r.exchangeEdges=g;function r(y){y=t(y),o(y);var x=n(y);b(x),l(x,y);for(var w,A;w=f(x);)A=h(x,y,w),g(x,y,w,A)}function l(y,x){var w=s(y,y.nodes());w=w.slice(0,w.length-1),e.forEach(w,function(A){u(y,x,A)})}function u(y,x,w){var A=y.node(w),N=A.parent;y.edge(w,N).cutvalue=d(y,x,w)}function d(y,x,w){var A=y.node(w),N=A.parent,E=!0,_=x.edge(w,N),P=0;return _||(E=!1,_=x.edge(N,w)),P=_.weight,e.forEach(x.nodeEdges(w),function(k){var M=k.v===w,L=M?k.w:k.v;if(L!==N){var T=M===E,O=x.edge(k).weight;if(P+=T?O:-O,p(y,w,L)){var B=y.edge(w,L).cutvalue;P+=T?-B:B}}}),P}function b(y,x){arguments.length<2&&(x=y.nodes()[0]),m(y,{},1,x)}function m(y,x,w,A,N){var E=w,_=y.node(A);return x[A]=!0,e.forEach(y.neighbors(A),function(P){e.has(x,P)||(w=m(y,x,w,P,A))}),_.low=E,_.lim=w++,N?_.parent=N:delete _.parent,w}function f(y){return e.find(y.edges(),function(x){return y.edge(x).cutvalue<0})}function h(y,x,w){var A=w.v,N=w.w;x.hasEdge(A,N)||(A=w.w,N=w.v);var E=y.node(A),_=y.node(N),P=E,k=!1;E.lim>_.lim&&(P=_,k=!0);var M=e.filter(x.edges(),function(L){return k===S(y,y.node(L.v),P)&&k!==S(y,y.node(L.w),P)});return e.minBy(M,function(L){return i(x,L)})}function g(y,x,w,A){var N=w.v,E=w.w;y.removeEdge(N,E),y.setEdge(A.v,A.w,{}),b(y),l(y,x),v(y,x)}function v(y,x){var w=e.find(y.nodes(),function(N){return!x.node(N).parent}),A=a(y,w);A=A.slice(1),e.forEach(A,function(N){var E=y.node(N).parent,_=x.edge(N,E),P=!1;_||(_=x.edge(E,N),P=!0),x.node(N).rank=x.node(E).rank+(P?_.minlen:-_.minlen)})}function p(y,x,w){return y.hasEdge(x,w)}function S(y,x,w){return w.low<=x.lim&&x.lim<=w.lim}return Cd}var _d,B0;function mP(){if(B0)return _d;B0=1;var e=zo(),n=e.longestPath,i=I0(),o=bP();_d=a;function a(l){switch(l.graph().ranker){case"network-simplex":r(l);break;case"tight-tree":t(l);break;case"longest-path":s(l);break;default:r(l)}}var s=n;function t(l){n(l),i(l)}function r(l){o(l)}return _d}var Ed,O0;function fP(){if(O0)return Ed;O0=1;var e=ye();Ed=n;function n(a){var s=o(a);e.forEach(a.graph().dummyChains,function(t){for(var r=a.node(t),l=r.edgeObj,u=i(a,s,l.v,l.w),d=u.path,b=u.lca,m=0,f=d[m],h=!0;t!==l.w;){if(r=a.node(t),h){for(;(f=d[m])!==b&&a.node(f).maxRank<r.rank;)m++;f===b&&(h=!1)}if(!h){for(;m<d.length-1&&a.node(f=d[m+1]).minRank<=r.rank;)m++;f=d[m]}a.setParent(t,f),t=a.successors(t)[0]}})}function i(a,s,t,r){var l=[],u=[],d=Math.min(s[t].low,s[r].low),b=Math.max(s[t].lim,s[r].lim),m,f;m=t;do m=a.parent(m),l.push(m);while(m&&(s[m].low>d||b>s[m].lim));for(f=m,m=r;(m=a.parent(m))!==f;)u.push(m);return{path:l.concat(u.reverse()),lca:f}}function o(a){var s={},t=0;function r(l){var u=t;e.forEach(a.children(l),r),s[l]={low:u,lim:t++}}return e.forEach(a.children(),r),s}return Ed}var kd,D0;function vP(){if(D0)return kd;D0=1;var e=ye(),n=Me();kd={run:i,cleanup:t};function i(r){var l=n.addDummyNode(r,"root",{},"_root"),u=a(r),d=e.max(e.values(u))-1,b=2*d+1;r.graph().nestingRoot=l,e.forEach(r.edges(),function(f){r.edge(f).minlen*=b});var m=s(r)+1;e.forEach(r.children(),function(f){o(r,l,b,m,d,u,f)}),r.graph().nodeRankFactor=b}function o(r,l,u,d,b,m,f){var h=r.children(f);if(!h.length){f!==l&&r.setEdge(l,f,{weight:0,minlen:u});return}var g=n.addBorderNode(r,"_bt"),v=n.addBorderNode(r,"_bb"),p=r.node(f);r.setParent(g,f),p.borderTop=g,r.setParent(v,f),p.borderBottom=v,e.forEach(h,function(S){o(r,l,u,d,b,m,S);var y=r.node(S),x=y.borderTop?y.borderTop:S,w=y.borderBottom?y.borderBottom:S,A=y.borderTop?d:2*d,N=x!==w?1:b-m[f]+1;r.setEdge(g,x,{weight:A,minlen:N,nestingEdge:!0}),r.setEdge(w,v,{weight:A,minlen:N,nestingEdge:!0})}),r.parent(f)||r.setEdge(l,g,{weight:0,minlen:b+m[f]})}function a(r){var l={};function u(d,b){var m=r.children(d);m&&m.length&&e.forEach(m,function(f){u(f,b+1)}),l[d]=b}return e.forEach(r.children(),function(d){u(d,1)}),l}function s(r){return e.reduce(r.edges(),function(l,u){return l+r.edge(u).weight},0)}function t(r){var l=r.graph();r.removeNode(l.nestingRoot),delete l.nestingRoot,e.forEach(r.edges(),function(u){var d=r.edge(u);d.nestingEdge&&r.removeEdge(u)})}return kd}var Md,q0;function hP(){if(q0)return Md;q0=1;var e=ye(),n=Me();Md=i;function i(a){function s(t){var r=a.children(t),l=a.node(t);if(r.length&&e.forEach(r,s),e.has(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(var u=l.minRank,d=l.maxRank+1;u<d;++u)o(a,"borderLeft","_bl",t,l,u),o(a,"borderRight","_br",t,l,u)}}e.forEach(a.children(),s)}function o(a,s,t,r,l,u){var d={width:0,height:0,rank:u,borderType:s},b=l[s][u-1],m=n.addDummyNode(a,"border",d,t);l[s][u]=m,a.setParent(m,r),b&&a.setEdge(b,m,{weight:1})}return Md}var Td,F0;function pP(){if(F0)return Td;F0=1;var e=ye();Td={adjust:n,undo:i};function n(u){var d=u.graph().rankdir.toLowerCase();(d==="lr"||d==="rl")&&o(u)}function i(u){var d=u.graph().rankdir.toLowerCase();(d==="bt"||d==="rl")&&s(u),(d==="lr"||d==="rl")&&(r(u),o(u))}function o(u){e.forEach(u.nodes(),function(d){a(u.node(d))}),e.forEach(u.edges(),function(d){a(u.edge(d))})}function a(u){var d=u.width;u.width=u.height,u.height=d}function s(u){e.forEach(u.nodes(),function(d){t(u.node(d))}),e.forEach(u.edges(),function(d){var b=u.edge(d);e.forEach(b.points,t),e.has(b,"y")&&t(b)})}function t(u){u.y=-u.y}function r(u){e.forEach(u.nodes(),function(d){l(u.node(d))}),e.forEach(u.edges(),function(d){var b=u.edge(d);e.forEach(b.points,l),e.has(b,"x")&&l(b)})}function l(u){var d=u.x;u.x=u.y,u.y=d}return Td}var Pd,G0;function gP(){if(G0)return Pd;G0=1;var e=ye();Pd=n;function n(i){var o={},a=e.filter(i.nodes(),function(u){return!i.children(u).length}),s=e.max(e.map(a,function(u){return i.node(u).rank})),t=e.map(e.range(s+1),function(){return[]});function r(u){if(!e.has(o,u)){o[u]=!0;var d=i.node(u);t[d.rank].push(u),e.forEach(i.successors(u),r)}}var l=e.sortBy(a,function(u){return i.node(u).rank});return e.forEach(l,r),t}return Pd}var Id,K0;function yP(){if(K0)return Id;K0=1;var e=ye();Id=n;function n(o,a){for(var s=0,t=1;t<a.length;++t)s+=i(o,a[t-1],a[t]);return s}function i(o,a,s){for(var t=e.zipObject(s,e.map(s,function(m,f){return f})),r=e.flatten(e.map(a,function(m){return e.sortBy(e.map(o.outEdges(m),function(f){return{pos:t[f.w],weight:o.edge(f).weight}}),"pos")}),!0),l=1;l<s.length;)l<<=1;var u=2*l-1;l-=1;var d=e.map(new Array(u),function(){return 0}),b=0;return e.forEach(r.forEach(function(m){var f=m.pos+l;d[f]+=m.weight;for(var h=0;f>0;)f%2&&(h+=d[f+1]),f=f-1>>1,d[f]+=m.weight;b+=m.weight*h})),b}return Id}var Ld,H0;function xP(){if(H0)return Ld;H0=1;var e=ye();Ld=n;function n(i,o){return e.map(o,function(a){var s=i.inEdges(a);if(s.length){var t=e.reduce(s,function(r,l){var u=i.edge(l),d=i.node(l.v);return{sum:r.sum+u.weight*d.order,weight:r.weight+u.weight}},{sum:0,weight:0});return{v:a,barycenter:t.sum/t.weight,weight:t.weight}}else return{v:a}})}return Ld}var Bd,V0;function SP(){if(V0)return Bd;V0=1;var e=ye();Bd=n;function n(a,s){var t={};e.forEach(a,function(l,u){var d=t[l.v]={indegree:0,in:[],out:[],vs:[l.v],i:u};e.isUndefined(l.barycenter)||(d.barycenter=l.barycenter,d.weight=l.weight)}),e.forEach(s.edges(),function(l){var u=t[l.v],d=t[l.w];!e.isUndefined(u)&&!e.isUndefined(d)&&(d.indegree++,u.out.push(t[l.w]))});var r=e.filter(t,function(l){return!l.indegree});return i(r)}function i(a){var s=[];function t(u){return function(d){d.merged||(e.isUndefined(d.barycenter)||e.isUndefined(u.barycenter)||d.barycenter>=u.barycenter)&&o(u,d)}}function r(u){return function(d){d.in.push(u),--d.indegree===0&&a.push(d)}}for(;a.length;){var l=a.pop();s.push(l),e.forEach(l.in.reverse(),t(l)),e.forEach(l.out,r(l))}return e.map(e.filter(s,function(u){return!u.merged}),function(u){return e.pick(u,["vs","i","barycenter","weight"])})}function o(a,s){var t=0,r=0;a.weight&&(t+=a.barycenter*a.weight,r+=a.weight),s.weight&&(t+=s.barycenter*s.weight,r+=s.weight),a.vs=s.vs.concat(a.vs),a.barycenter=t/r,a.weight=r,a.i=Math.min(s.i,a.i),s.merged=!0}return Bd}var Od,z0;function wP(){if(z0)return Od;z0=1;var e=ye(),n=Me();Od=i;function i(s,t){var r=n.partition(s,function(g){return e.has(g,"barycenter")}),l=r.lhs,u=e.sortBy(r.rhs,function(g){return-g.i}),d=[],b=0,m=0,f=0;l.sort(a(!!t)),f=o(d,u,f),e.forEach(l,function(g){f+=g.vs.length,d.push(g.vs),b+=g.barycenter*g.weight,m+=g.weight,f=o(d,u,f)});var h={vs:e.flatten(d,!0)};return m&&(h.barycenter=b/m,h.weight=m),h}function o(s,t,r){for(var l;t.length&&(l=e.last(t)).i<=r;)t.pop(),s.push(l.vs),r++;return r}function a(s){return function(t,r){return t.barycenter<r.barycenter?-1:t.barycenter>r.barycenter?1:s?r.i-t.i:t.i-r.i}}return Od}var Dd,j0;function AP(){if(j0)return Dd;j0=1;var e=ye(),n=xP(),i=SP(),o=wP();Dd=a;function a(r,l,u,d){var b=r.children(l),m=r.node(l),f=m?m.borderLeft:void 0,h=m?m.borderRight:void 0,g={};f&&(b=e.filter(b,function(w){return w!==f&&w!==h}));var v=n(r,b);e.forEach(v,function(w){if(r.children(w.v).length){var A=a(r,w.v,u,d);g[w.v]=A,e.has(A,"barycenter")&&t(w,A)}});var p=i(v,u);s(p,g);var S=o(p,d);if(f&&(S.vs=e.flatten([f,S.vs,h],!0),r.predecessors(f).length)){var y=r.node(r.predecessors(f)[0]),x=r.node(r.predecessors(h)[0]);e.has(S,"barycenter")||(S.barycenter=0,S.weight=0),S.barycenter=(S.barycenter*S.weight+y.order+x.order)/(S.weight+2),S.weight+=2}return S}function s(r,l){e.forEach(r,function(u){u.vs=e.flatten(u.vs.map(function(d){return l[d]?l[d].vs:d}),!0)})}function t(r,l){e.isUndefined(r.barycenter)?(r.barycenter=l.barycenter,r.weight=l.weight):(r.barycenter=(r.barycenter*r.weight+l.barycenter*l.weight)/(r.weight+l.weight),r.weight+=l.weight)}return Dd}var qd,U0;function NP(){if(U0)return qd;U0=1;var e=ye(),n=ze().Graph;qd=i;function i(a,s,t){var r=o(a),l=new n({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(function(u){return a.node(u)});return e.forEach(a.nodes(),function(u){var d=a.node(u),b=a.parent(u);(d.rank===s||d.minRank<=s&&s<=d.maxRank)&&(l.setNode(u),l.setParent(u,b||r),e.forEach(a[t](u),function(m){var f=m.v===u?m.w:m.v,h=l.edge(f,u),g=e.isUndefined(h)?0:h.weight;l.setEdge(f,u,{weight:a.edge(m).weight+g})}),e.has(d,"minRank")&&l.setNode(u,{borderLeft:d.borderLeft[s],borderRight:d.borderRight[s]}))}),l}function o(a){for(var s;a.hasNode(s=e.uniqueId("_root")););return s}return qd}var Fd,W0;function CP(){if(W0)return Fd;W0=1;var e=ye();Fd=n;function n(i,o,a){var s={},t;e.forEach(a,function(r){for(var l=i.parent(r),u,d;l;){if(u=i.parent(l),u?(d=s[u],s[u]=l):(d=t,t=l),d&&d!==l){o.setEdge(d,l);return}l=u}})}return Fd}var Gd,$0;function _P(){if($0)return Gd;$0=1;var e=ye(),n=gP(),i=yP(),o=AP(),a=NP(),s=CP(),t=ze().Graph,r=Me();Gd=l;function l(m){var f=r.maxRank(m),h=u(m,e.range(1,f+1),"inEdges"),g=u(m,e.range(f-1,-1,-1),"outEdges"),v=n(m);b(m,v);for(var p=Number.POSITIVE_INFINITY,S,y=0,x=0;x<4;++y,++x){d(y%2?h:g,y%4>=2),v=r.buildLayerMatrix(m);var w=i(m,v);w<p&&(x=0,S=e.cloneDeep(v),p=w)}b(m,S)}function u(m,f,h){return e.map(f,function(g){return a(m,g,h)})}function d(m,f){var h=new t;e.forEach(m,function(g){var v=g.graph().root,p=o(g,v,h,f);e.forEach(p.vs,function(S,y){g.node(S).order=y}),s(g,h,p.vs)})}function b(m,f){e.forEach(f,function(h){e.forEach(h,function(g,v){m.node(g).order=v})})}return Gd}var Kd,Y0;function EP(){if(Y0)return Kd;Y0=1;var e=ye(),n=ze().Graph,i=Me();Kd={positionX:h,findType1Conflicts:o,findType2Conflicts:a,addConflict:t,hasConflict:r,verticalAlignment:l,horizontalCompaction:u,alignCoordinates:m,findSmallestWidthAlignment:b,balance:f};function o(p,S){var y={};function x(w,A){var N=0,E=0,_=w.length,P=e.last(A);return e.forEach(A,function(k,M){var L=s(p,k),T=L?p.node(L).order:_;(L||k===P)&&(e.forEach(A.slice(E,M+1),function(O){e.forEach(p.predecessors(O),function(B){var K=p.node(B),G=K.order;(G<N||T<G)&&!(K.dummy&&p.node(O).dummy)&&t(y,B,O)})}),E=M+1,N=T)}),A}return e.reduce(S,x),y}function a(p,S){var y={};function x(A,N,E,_,P){var k;e.forEach(e.range(N,E),function(M){k=A[M],p.node(k).dummy&&e.forEach(p.predecessors(k),function(L){var T=p.node(L);T.dummy&&(T.order<_||T.order>P)&&t(y,L,k)})})}function w(A,N){var E=-1,_,P=0;return e.forEach(N,function(k,M){if(p.node(k).dummy==="border"){var L=p.predecessors(k);L.length&&(_=p.node(L[0]).order,x(N,P,M,E,_),P=M,E=_)}x(N,P,N.length,_,A.length)}),N}return e.reduce(S,w),y}function s(p,S){if(p.node(S).dummy)return e.find(p.predecessors(S),function(y){return p.node(y).dummy})}function t(p,S,y){if(S>y){var x=S;S=y,y=x}var w=p[S];w||(p[S]=w={}),w[y]=!0}function r(p,S,y){if(S>y){var x=S;S=y,y=x}return e.has(p[S],y)}function l(p,S,y,x){var w={},A={},N={};return e.forEach(S,function(E){e.forEach(E,function(_,P){w[_]=_,A[_]=_,N[_]=P})}),e.forEach(S,function(E){var _=-1;e.forEach(E,function(P){var k=x(P);if(k.length){k=e.sortBy(k,function(B){return N[B]});for(var M=(k.length-1)/2,L=Math.floor(M),T=Math.ceil(M);L<=T;++L){var O=k[L];A[P]===P&&_<N[O]&&!r(y,P,O)&&(A[O]=P,A[P]=w[P]=w[O],_=N[O])}}})}),{root:w,align:A}}function u(p,S,y,x,w){var A={},N=d(p,S,y,w),E=w?"borderLeft":"borderRight";function _(M,L){for(var T=N.nodes(),O=T.pop(),B={};O;)B[O]?M(O):(B[O]=!0,T.push(O),T=T.concat(L(O))),O=T.pop()}function P(M){A[M]=N.inEdges(M).reduce(function(L,T){return Math.max(L,A[T.v]+N.edge(T))},0)}function k(M){var L=N.outEdges(M).reduce(function(O,B){return Math.min(O,A[B.w]-N.edge(B))},Number.POSITIVE_INFINITY),T=p.node(M);L!==Number.POSITIVE_INFINITY&&T.borderType!==E&&(A[M]=Math.max(A[M],L))}return _(P,N.predecessors.bind(N)),_(k,N.successors.bind(N)),e.forEach(x,function(M){A[M]=A[y[M]]}),A}function d(p,S,y,x){var w=new n,A=p.graph(),N=g(A.nodesep,A.edgesep,x);return e.forEach(S,function(E){var _;e.forEach(E,function(P){var k=y[P];if(w.setNode(k),_){var M=y[_],L=w.edge(M,k);w.setEdge(M,k,Math.max(N(p,P,_),L||0))}_=P})}),w}function b(p,S){return e.minBy(e.values(S),function(y){var x=Number.NEGATIVE_INFINITY,w=Number.POSITIVE_INFINITY;return e.forIn(y,function(A,N){var E=v(p,N)/2;x=Math.max(A+E,x),w=Math.min(A-E,w)}),x-w})}function m(p,S){var y=e.values(S),x=e.min(y),w=e.max(y);e.forEach(["u","d"],function(A){e.forEach(["l","r"],function(N){var E=A+N,_=p[E],P;if(_!==S){var k=e.values(_);P=N==="l"?x-e.min(k):w-e.max(k),P&&(p[E]=e.mapValues(_,function(M){return M+P}))}})})}function f(p,S){return e.mapValues(p.ul,function(y,x){if(S)return p[S.toLowerCase()][x];var w=e.sortBy(e.map(p,x));return(w[1]+w[2])/2})}function h(p){var S=i.buildLayerMatrix(p),y=e.merge(o(p,S),a(p,S)),x={},w;e.forEach(["u","d"],function(N){w=N==="u"?S:e.values(S).reverse(),e.forEach(["l","r"],function(E){E==="r"&&(w=e.map(w,function(M){return e.values(M).reverse()}));var _=(N==="u"?p.predecessors:p.successors).bind(p),P=l(p,w,y,_),k=u(p,w,P.root,P.align,E==="r");E==="r"&&(k=e.mapValues(k,function(M){return-M})),x[N+E]=k})});var A=b(p,x);return m(x,A),f(x,p.graph().align)}function g(p,S,y){return function(x,w,A){var N=x.node(w),E=x.node(A),_=0,P;if(_+=N.width/2,e.has(N,"labelpos"))switch(N.labelpos.toLowerCase()){case"l":P=-N.width/2;break;case"r":P=N.width/2;break}if(P&&(_+=y?P:-P),P=0,_+=(N.dummy?S:p)/2,_+=(E.dummy?S:p)/2,_+=E.width/2,e.has(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":P=E.width/2;break;case"r":P=-E.width/2;break}return P&&(_+=y?P:-P),P=0,_}}function v(p,S){return p.node(S).width}return Kd}var Hd,J0;function kP(){if(J0)return Hd;J0=1;var e=ye(),n=Me(),i=EP().positionX;Hd=o;function o(s){s=n.asNonCompoundGraph(s),a(s),e.forEach(i(s),function(t,r){s.node(r).x=t})}function a(s){var t=n.buildLayerMatrix(s),r=s.graph().ranksep,l=0;e.forEach(t,function(u){var d=e.max(e.map(u,function(b){return s.node(b).height}));e.forEach(u,function(b){s.node(b).y=l+d/2}),l+=d+r})}return Hd}var Vd,Z0;function MP(){if(Z0)return Vd;Z0=1;var e=ye(),n=dP(),i=cP(),o=mP(),a=Me().normalizeRanks,s=fP(),t=Me().removeEmptyRanks,r=vP(),l=hP(),u=pP(),d=_P(),b=kP(),m=Me(),f=ze().Graph;Vd=h;function h(D,H){var U=H&&H.debugTiming?m.time:m.notime;U("layout",function(){var q=U(" buildLayoutGraph",function(){return _(D)});U(" runLayout",function(){g(q,U)}),U(" updateInputGraph",function(){v(D,q)})})}function g(D,H){H(" makeSpaceForEdgeLabels",function(){P(D)}),H(" removeSelfEdges",function(){I(D)}),H(" acyclic",function(){n.run(D)}),H(" nestingGraph.run",function(){r.run(D)}),H(" rank",function(){o(m.asNonCompoundGraph(D))}),H(" injectEdgeLabelProxies",function(){k(D)}),H(" removeEmptyRanks",function(){t(D)}),H(" nestingGraph.cleanup",function(){r.cleanup(D)}),H(" normalizeRanks",function(){a(D)}),H(" assignRankMinMax",function(){M(D)}),H(" removeEdgeLabelProxies",function(){L(D)}),H(" normalize.run",function(){i.run(D)}),H(" parentDummyChains",function(){s(D)}),H(" addBorderSegments",function(){l(D)}),H(" order",function(){d(D)}),H(" insertSelfEdges",function(){Y(D)}),H(" adjustCoordinateSystem",function(){u.adjust(D)}),H(" position",function(){b(D)}),H(" positionSelfEdges",function(){Z(D)}),H(" removeBorderNodes",function(){G(D)}),H(" normalize.undo",function(){i.undo(D)}),H(" fixupEdgeLabelCoords",function(){B(D)}),H(" undoCoordinateSystem",function(){u.undo(D)}),H(" translateGraph",function(){T(D)}),H(" assignNodeIntersects",function(){O(D)}),H(" reversePoints",function(){K(D)}),H(" acyclic.undo",function(){n.undo(D)})}function v(D,H){e.forEach(D.nodes(),function(U){var q=D.node(U),F=H.node(U);q&&(q.x=F.x,q.y=F.y,H.children(U).length&&(q.width=F.width,q.height=F.height))}),e.forEach(D.edges(),function(U){var q=D.edge(U),F=H.edge(U);q.points=F.points,e.has(F,"x")&&(q.x=F.x,q.y=F.y)}),D.graph().width=H.graph().width,D.graph().height=H.graph().height}var p=["nodesep","edgesep","ranksep","marginx","marginy"],S={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},y=["acyclicer","ranker","rankdir","align"],x=["width","height"],w={width:0,height:0},A=["minlen","weight","width","height","labeloffset"],N={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function _(D){var H=new f({multigraph:!0,compound:!0}),U=R(D.graph());return H.setGraph(e.merge({},S,J(U,p),e.pick(U,y))),e.forEach(D.nodes(),function(q){var F=R(D.node(q));H.setNode(q,e.defaults(J(F,x),w)),H.setParent(q,D.parent(q))}),e.forEach(D.edges(),function(q){var F=R(D.edge(q));H.setEdge(q,e.merge({},N,J(F,A),e.pick(F,E)))}),H}function P(D){var H=D.graph();H.ranksep/=2,e.forEach(D.edges(),function(U){var q=D.edge(U);q.minlen*=2,q.labelpos.toLowerCase()!=="c"&&(H.rankdir==="TB"||H.rankdir==="BT"?q.width+=q.labeloffset:q.height+=q.labeloffset)})}function k(D){e.forEach(D.edges(),function(H){var U=D.edge(H);if(U.width&&U.height){var q=D.node(H.v),F=D.node(H.w),W={rank:(F.rank-q.rank)/2+q.rank,e:H};m.addDummyNode(D,"edge-proxy",W,"_ep")}})}function M(D){var H=0;e.forEach(D.nodes(),function(U){var q=D.node(U);q.borderTop&&(q.minRank=D.node(q.borderTop).rank,q.maxRank=D.node(q.borderBottom).rank,H=e.max(H,q.maxRank))}),D.graph().maxRank=H}function L(D){e.forEach(D.nodes(),function(H){var U=D.node(H);U.dummy==="edge-proxy"&&(D.edge(U.e).labelRank=U.rank,D.removeNode(H))})}function T(D){var H=Number.POSITIVE_INFINITY,U=0,q=Number.POSITIVE_INFINITY,F=0,W=D.graph(),z=W.marginx||0,V=W.marginy||0;function Q(j){var X=j.x,$=j.y,ne=j.width,ee=j.height;H=Math.min(H,X-ne/2),U=Math.max(U,X+ne/2),q=Math.min(q,$-ee/2),F=Math.max(F,$+ee/2)}e.forEach(D.nodes(),function(j){Q(D.node(j))}),e.forEach(D.edges(),function(j){var X=D.edge(j);e.has(X,"x")&&Q(X)}),H-=z,q-=V,e.forEach(D.nodes(),function(j){var X=D.node(j);X.x-=H,X.y-=q}),e.forEach(D.edges(),function(j){var X=D.edge(j);e.forEach(X.points,function($){$.x-=H,$.y-=q}),e.has(X,"x")&&(X.x-=H),e.has(X,"y")&&(X.y-=q)}),W.width=U-H+z,W.height=F-q+V}function O(D){e.forEach(D.edges(),function(H){var U=D.edge(H),q=D.node(H.v),F=D.node(H.w),W,z;U.points?(W=U.points[0],z=U.points[U.points.length-1]):(U.points=[],W=F,z=q),U.points.unshift(m.intersectRect(q,W)),U.points.push(m.intersectRect(F,z))})}function B(D){e.forEach(D.edges(),function(H){var U=D.edge(H);if(e.has(U,"x"))switch((U.labelpos==="l"||U.labelpos==="r")&&(U.width-=U.labeloffset),U.labelpos){case"l":U.x-=U.width/2+U.labeloffset;break;case"r":U.x+=U.width/2+U.labeloffset;break}})}function K(D){e.forEach(D.edges(),function(H){var U=D.edge(H);U.reversed&&U.points.reverse()})}function G(D){e.forEach(D.nodes(),function(H){if(D.children(H).length){var U=D.node(H),q=D.node(U.borderTop),F=D.node(U.borderBottom),W=D.node(e.last(U.borderLeft)),z=D.node(e.last(U.borderRight));U.width=Math.abs(z.x-W.x),U.height=Math.abs(F.y-q.y),U.x=W.x+U.width/2,U.y=q.y+U.height/2}}),e.forEach(D.nodes(),function(H){D.node(H).dummy==="border"&&D.removeNode(H)})}function I(D){e.forEach(D.edges(),function(H){if(H.v===H.w){var U=D.node(H.v);U.selfEdges||(U.selfEdges=[]),U.selfEdges.push({e:H,label:D.edge(H)}),D.removeEdge(H)}})}function Y(D){var H=m.buildLayerMatrix(D);e.forEach(H,function(U){var q=0;e.forEach(U,function(F,W){var z=D.node(F);z.order=W+q,e.forEach(z.selfEdges,function(V){m.addDummyNode(D,"selfedge",{width:V.label.width,height:V.label.height,rank:z.rank,order:W+ ++q,e:V.e,label:V.label},"_se")}),delete z.selfEdges})})}function Z(D){e.forEach(D.nodes(),function(H){var U=D.node(H);if(U.dummy==="selfedge"){var q=D.node(U.e.v),F=q.x+q.width/2,W=q.y,z=U.x-F,V=q.height/2;D.setEdge(U.e,U.label),D.removeNode(H),U.label.points=[{x:F+2*z/3,y:W-V},{x:F+5*z/6,y:W-V},{x:F+z,y:W},{x:F+5*z/6,y:W+V},{x:F+2*z/3,y:W+V}],U.label.x=U.x,U.label.y=U.y}})}function J(D,H){return e.mapValues(e.pick(D,H),Number)}function R(D){var H={};return e.forEach(D,function(U,q){H[q.toLowerCase()]=U}),H}return Vd}var zd,X0;function TP(){if(X0)return zd;X0=1;var e=ye(),n=Me(),i=ze().Graph;zd={debugOrdering:o};function o(a){var s=n.buildLayerMatrix(a),t=new i({compound:!0,multigraph:!0}).setGraph({});return e.forEach(a.nodes(),function(r){t.setNode(r,{label:r}),t.setParent(r,"layer"+a.node(r).rank)}),e.forEach(a.edges(),function(r){t.setEdge(r.v,r.w,{},r.name)}),e.forEach(s,function(r,l){var u="layer"+l;t.setNode(u,{rank:"same"}),e.reduce(r,function(d,b){return t.setEdge(d,b,{style:"invis"}),b})}),t}return zd}var jd,Q0;function PP(){return Q0||(Q0=1,jd="0.8.5"),jd}var Ud,R0;function IP(){return R0||(R0=1,Ud={graphlib:ze(),layout:MP(),debug:TP(),util:{time:Me().time,notime:Me().notime},version:PP()}),Ud}var LP=IP();const ex=ym(LP),nx=280,ix=80,ox=(e,n,i="TB")=>{const o=new ex.graphlib.Graph;o.setDefaultEdgeLabel(()=>({}));const a=i==="LR";return o.setGraph({rankdir:i}),e.forEach(t=>{o.setNode(t.id,{width:nx,height:ix})}),n.forEach(t=>{o.setEdge(t.source,t.target)}),ex.layout(o),{nodes:e.map(t=>{const r=o.node(t.id);return{...t,targetPosition:a?oe.Left:oe.Top,sourcePosition:a?oe.Right:oe.Bottom,position:{x:r.x-nx/2,y:r.y-ix/2}}}),edges:n}},ax=[{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"}],BP={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 c.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:[c.jsx(Un,{type:"target",position:n||oe.Left,className:"w-2 h-2 !bg-gray-300 border-none"}),c.jsxs("div",{className:`${o.bg} border-b ${o.border} px-3 py-2 flex items-center justify-between`,children:[c.jsx("span",{className:`text-xs font-bold ${o.text} uppercase tracking-wide`,children:e.sectionTitle}),e.isHidden&&c.jsx("span",{className:"bg-yellow-100 text-yellow-800 text-[10px] px-2 py-0.5 rounded-full font-medium",children:"Conditional"})]}),c.jsxs("div",{className:"p-3 flex items-start gap-3",children:[c.jsx("div",{className:`mt-1 ${o.iconText} ${o.iconBg} p-1.5 rounded-md flex-shrink-0`,children:c.jsx(se,{icon:"material-symbols:space-dashboard-outline",iconClass:"text-lg"})}),c.jsxs("div",{className:"flex-1 min-w-0",children:[c.jsx("h4",{className:"text-sm font-semibold text-gray-800 truncate",title:e.label,children:e.label||"Untitled Field"}),c.jsx("p",{className:"text-xs text-gray-500 mt-0.5 truncate uppercase tracking-wider font-medium text-[10px]",children:e.type})]})]}),c.jsx(Un,{type:"source",position:i||oe.Right,className:"w-2 h-2 !bg-gray-300 border-none"})]})}};function OP({formData:e}){const{nodes:n,edges:i}=C.useMemo(()=>{const u=[],d=[];let b=null,m=0;return e==null||e.forEach(f=>{var g;const h=ax[m%ax.length];m++,(g=f.questionData)==null||g.forEach(v=>{const p=v.id;u.push({id:p,type:"customField",data:{label:v.inputLabel,type:v.type,sectionTitle:f.title||"Untitled Section",isHidden:v.isHidden,colorScheme:h},position:{x:0,y:0}}),b&&!v.isHidden&&d.push({id:`e-${b}-${p}`,source:b,target:p,type:"smoothstep",animated:!0,style:{stroke:"#cbd5e1",strokeWidth:2},markerEnd:{type:Fn.ArrowClosed,width:20,height:20,color:"#cbd5e1"}}),v.isHidden||(b=p)})}),e==null||e.forEach(f=>{var h;(h=f.questionData)==null||h.forEach(g=>{var v;g.isHidden&&((v=g.visibilityDependentFields)==null?void 0:v.length)>0&&g.visibilityDependentFields.forEach(p=>{d.push({id:`e-cond-${p.id}-${g.id}`,source:p.id,target:g.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:Fn.ArrowClosed,width:20,height:20,color:"#f59e0b"}})})})}),ox(u,d,"LR")},[e]),[o,a,s]=Vk(n),[t,r,l]=zk(i);return C.useEffect(()=>{if(!n||!i)return;const{nodes:u,edges:d}=ox(n,i);a(u),r(d)},[n,i,a,r]),c.jsx("div",{className:"w-full h-full bg-white rounded-lg border border-gray-200 overflow-hidden shadow-sm",children:c.jsxs(Hk,{nodes:o,edges:t,onNodesChange:s,onEdgesChange:l,nodeTypes:BP,fitView:!0,minZoom:.2,attributionPosition:"bottom-right",children:[c.jsx(Yk,{color:"#e2e8f0",gap:16}),c.jsx(nM,{}),c.jsx(fM,{nodeStrokeColor:"#e2e8f0",nodeColor:"#f8fafc",maskColor:"rgba(240, 240, 240, 0.6)"})]})})}const DP=Object.freeze(Object.defineProperty({__proto__:null,default:OP},Symbol.toStringTag,{value:"Module"}));xe.FormBuilder=JS,xe.FormViewer=ga,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
|