dbgate-web 5.5.5 → 5.5.6

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.
@@ -96,5 +96,5 @@ var o=e("./oop"),r=function(){var e,t,n={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:
96
96
  * https://www.chartjs.org
97
97
  * (c) 2022 chartjs-adapter-moment Contributors
98
98
  * Released under the MIT license
99
- */adapters._date.override("function"==typeof moment?{_id:"moment",formats:function(){return FORMATS},parse:function(e,t){return"string"==typeof e&&"string"==typeof t?e=moment(e,t):e instanceof moment||(e=moment(e)),e.isValid()?e.valueOf():null},format:function(e,t){return moment(e).format(t)},add:function(e,t,n){return moment(e).add(t,n).valueOf()},diff:function(e,t,n){return moment(e).diff(moment(t),n)},startOf:function(e,t,n){return e=moment(e),"isoWeek"===t?(n=Math.trunc(Math.min(Math.max(0,n),6)),e.isoWeekday(n).startOf("day").valueOf()):e.startOf(t).valueOf()},endOf:function(e,t){return moment(e).endOf(t).valueOf()}}:{}),Chart$1.register(...registerables);var Chart=Chart$1;function create_fragment$2i(e){let t,n,o,r=[e[2]],i={};for(let e=0;e<r.length;e+=1)i=assign(i,r[e]);return{c(){t=element("canvas"),set_attributes(t,i)},m(r,i){insert(r,t,i),e[9](t),n||(o=action_destroyer(contextMenu.call(null,t,e[1])),n=!0)},p(e,[n]){set_attributes(t,i=get_spread_update(r,[4&n&&e[2]]))},i:noop$3,o:noop$3,d(r){r&&detach(t),e[9](null),n=!1,o()}}}const getCurrentEditor$i=()=>getActiveComponent("ChartCore");function instance$2f(e,t,n){const o=["data","title","type","options","activator","exportChart"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t,{title:s}=t,{type:c="line"}=t,{options:l={}}=t;const u=createActivator("ChartCore",!0);let d,p=null;onMount((()=>{p=new Chart(d,{type:c,data:a,options:_.cloneDeep(l)})})),afterUpdate((()=>{p&&(p.data=a,p.type=c,p.options=_.cloneDeep(l),p.update())})),onDestroy((()=>{p=null})),registerMenu({command:"chart.export",tag:"export"});const m=getContextMenu();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"data"in e&&n(3,a=e.data),"title"in e&&n(4,s=e.title),"type"in e&&n(5,c=e.type),"options"in e&&n(6,l=e.options)},[d,m,r,a,s,c,l,u,function(){return i(this,void 0,void 0,(function*(){saveFileToDisk((e=>i(this,void 0,void 0,(function*(){yield apiCall("files/export-chart",{title:s,filePath:e,config:{type:c,data:a,options:l},image:d.toDataURL()})}))))}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{d=e,n(0,d)}))}]}registerCommand({id:"chart.export",category:"Chart",toolbarName:"Export",name:"Export chart",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$i().exportChart(),testEnabled:()=>null!=getCurrentEditor$i()}),Chart.register(plugin);class ChartCore extends SvelteComponent{constructor(e){super(),init(this,e,instance$2f,create_fragment$2i,safe_not_equal,{data:3,title:4,type:5,options:6,activator:7,exportChart:8})}get activator(){return this.$$.ctx[7]}get exportChart(){return this.$$.ctx[8]}}function create_if_block$1b(e){let t,n,o=`${e[0].chartType}|${e[1]}|${e[2]}`,r=create_key_block$5(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){7&n&&safe_not_equal(o,o=`${e[0].chartType}|${e[1]}|${e[2]}`)?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$5(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$5(e){let t,n;return t=new ChartCore({props:{width:e[1],height:e[2],data:e[3][0],type:e[0].chartType,title:e[0].chartTitle,options:{...e[3][1],plugins:e[3][2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.width=e[1]),4&n&&(o.height=e[2]),8&n&&(o.data=e[3][0]),1&n&&(o.type=e[0].chartType),1&n&&(o.title=e[0].chartTitle),8&n&&(o.options={...e[3][1],plugins:e[3][2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2h(e){let t,n,o,r=e[3]&&create_if_block$1b(e);return{c(){t=element("div"),r&&r.c(),attr(t,"class","wrapper svelte-3ovaru"),add_render_callback((()=>e[10].call(t)))},m(i,a){insert(i,t,a),r&&r.m(t,null),n=add_iframe_resize_listener(t,e[10].bind(t)),o=!0},p(e,[n]){e[3]?r?(r.p(e,n),8&n&&transition_in(r,1)):(r=create_if_block$1b(e),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){e&&detach(t),r&&r.d(),n()}}}function getTimeAxis(e){const t=[];for(const n of e){const e=moment(n);if(!e.isValid())return null;const o=e.toISOString();if(o<"1850-01-01T00:00:00"||o>"2150-01-01T00:00:00")return null;t.push(e)}return t}function getLabels(e,t,n){return t?"line"===n?t.map((e=>e.toDate())):t.map((e=>e.format("D. M. YYYY"))):e}function getOptions(e,t){const n={scales:{}};return e&&"line"===t&&(n.scales={x:{type:"time",distribution:"linear",time:{tooltipFormat:"D. M. YYYY HH:mm",displayFormats:{millisecond:"HH:mm:ss.SSS",second:"HH:mm:ss",minute:"HH:mm",hour:"D.M hA",day:"D. M.",week:"D. M. YYYY",month:"MM-YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}}}}),n}function getPlugins(e){const t={};return e&&(t.title={display:!0,text:e}),t.zoom={zoom:{wheel:{enabled:!0},pinch:{enabled:!0},drag:{enabled:!0,modifierKey:"shift"},mode:"x"},pan:{enabled:!0,mode:"x"}},t}function createChartData(e,t,n,o,r,i,a,s,c,l){if(!(e&&t&&n&&e.rows&&0!=n.length))return null;const u="dark"==(null==l?void 0:l.themeType)?presetDarkPalettes:presetPalettes,d=randomcolor({count:_.max([e.rows.length,n.length,1]),seed:o});let p=null,m=null;const f=e.rows.map((e=>e[t])),h=getTimeAxis(f),g={labels:getLabels(f,h,r),datasets:n.map(((t,n)=>{const o=c[t];if("line"==r||"bar"==r){const e=s[t];e?(p=u[e][4]+"80",m=u[e][7]):(p=d[n]+"80",m=d[n])}else p=d;return{label:o||t,data:e.rows.map((e=>e[t])),backgroundColor:p,borderColor:m,borderWidth:1,fill:0!=a}}))};return[g,getOptions(h,r),getPlugins(i)]}function instance$2e(e,t,n){let o,r,i,a,s,c;component_subscribe(e,currentThemeDefinition,(e=>n(9,s=e)));let{data:l}=t;const{values:u}=getFormContext();let d,p;return component_subscribe(e,u,(e=>n(0,c=e))),e.$$set=e=>{"data"in e&&n(5,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(8,o=extractDataColumns(c)),257&e.$$.dirty&&n(7,r=extractDataColumnColors(c,o)),257&e.$$.dirty&&n(6,i=extractDataColumnLabels(c,o)),993&e.$$.dirty&&n(3,a=createChartData(l,c.labelColumn,o,c.colorSeed||"5",c.chartType,c.chartTitle,c.fillLineChart,r,i,s))},[c,d,p,a,u,l,i,r,o,s,function(){d=this.clientWidth,p=this.clientHeight,n(1,d),n(2,p)}]}class DataChart extends SvelteComponent{constructor(e){super(),init(this,e,instance$2e,create_fragment$2h,safe_not_equal,{data:5})}}function get_each_context$r(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_each_block$r(e){let t,n,o,r,i,a,s;function c(){return e[6](e[7])}return n=new FontIcon({props:{icon:e[7]==e[0]?"icon check":"icon invisible-box"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"style",r=`background:${e[3](e[7],3,e[2])}`),attr(t,"class","item svelte-1vl91lb"),toggle_class(t,"disabled",e[1]),toggle_class(t,"selected",e[7]==e[0])},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!0,a||(s=listen(t,"click",c),a=!0)},p(o,a){e=o;const s={};1&a&&(s.icon=e[7]==e[0]?"icon check":"icon invisible-box"),n.$set(s),(!i||4&a&&r!==(r=`background:${e[3](e[7],3,e[2])}`))&&attr(t,"style",r),(!i||2&a)&&toggle_class(t,"disabled",e[1]),(!i||1&a)&&toggle_class(t,"selected",e[7]==e[0])},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function create_fragment$2g(e){let t,n,o,r,i,a,s;o=new FontIcon({props:{icon:e[0]?"icon palette":"icon no-color"}});let c=_.keys(presetPrimaryColors),l=[];for(let t=0;t<c.length;t+=1)l[t]=create_each_block$r(get_each_context$r(e,c,t));const u=e=>transition_out(l[e],1,1,(()=>{l[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space();for(let e=0;e<l.length;e+=1)l[e].c();attr(n,"class","item svelte-1vl91lb"),toggle_class(n,"disabled",e[1]),toggle_class(n,"selected",!e[0]),attr(t,"class","container svelte-1vl91lb")},m(c,u){insert(c,t,u),append(t,n),mount_component(o,n,null),append(t,r);for(let e=0;e<l.length;e+=1)l[e]&&l[e].m(t,null);i=!0,a||(s=listen(n,"click",e[5]),a=!0)},p(e,[r]){const a={};if(1&r&&(a.icon=e[0]?"icon palette":"icon no-color"),o.$set(a),(!i||2&r)&&toggle_class(n,"disabled",e[1]),(!i||1&r)&&toggle_class(n,"selected",!e[0]),31&r){let n;for(c=_.keys(presetPrimaryColors),n=0;n<c.length;n+=1){const o=get_each_context$r(e,c,n);l[n]?(l[n].p(o,r),transition_in(l[n],1)):(l[n]=create_each_block$r(o),l[n].c(),transition_in(l[n],1),l[n].m(t,null))}for(group_outros(),n=c.length;n<l.length;n+=1)u(n);check_outros()}},i(e){if(!i){transition_in(o.$$.fragment,e);for(let e=0;e<c.length;e+=1)transition_in(l[e]);i=!0}},o(e){transition_out(o.$$.fragment,e),l=l.filter(Boolean);for(let e=0;e<l.length;e+=1)transition_out(l[e]);i=!1},d(e){e&&detach(t),destroy_component(o),destroy_each(l,e),a=!1,s()}}}function instance$2d(e,t,n){let o;component_subscribe(e,currentThemeDefinition,(e=>n(2,o=e)));let{value:r}=t,{disabled:i=!1}=t;const a=createEventDispatcher();return e.$$set=e=>{"value"in e&&n(0,r=e.value),"disabled"in e&&n(1,i=e.disabled)},[r,i,o,function(e,t,n){return("dark"==(null==n?void 0:n.themeType)?presetDarkPalettes:presetPalettes)[e][t]},a,()=>{a("change",null)},e=>{i||a("change",e)}]}class ColorSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$2d,create_fragment$2g,safe_not_equal,{value:0,disabled:1})}}function create_else_block$w(e){let t,n;const o=[{isNative:!0},{disabled:e[5]},e[10],{label:e[3]},{name:e[4]},{options:[{value:"",label:e[0]},..._.keys(presetPrimaryColors).map(e[12])]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=1081&n?get_spread_update(o,[o[0],32&n&&{disabled:e[5]},1024&n&&get_spread_object(e[10]),8&n&&{label:e[3]},16&n&&{name:e[4]},1&n&&{options:[{value:"",label:e[0]},..._.keys(presetPrimaryColors).map(e[12])]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1a(e){let t,n,o;const r=[{type:"text"},{label:e[3]},e[2]];var i=e[7];function a(e){let t={$$slots:{default:[create_default_slot$T]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=12&o?get_spread_update(r,[r[0],8&o&&{label:e[3]},4&o&&get_spread_object(e[2])]):{};if(8304&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[7])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_default_slot$T(e){let t,n;return t=new ColorSelector({props:{value:e[6]&&e[6][e[4]],disabled:e[5]}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};80&n&&(o.value=e[6]&&e[6][e[4]]),32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2f(e){let t,n,o,r;const i=[create_if_block$1a,create_else_block$w],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$2c(e,t,n){const o=["emptyLabel","useSelector","templateProps","label","name","disabled"];let r,i=compute_rest_props(t,o),{emptyLabel:a}=t,{useSelector:s=!1}=t,{templateProps:c={}}=t,{label:l}=t,{name:u}=t,{disabled:d=!1}=t;const{template:p}=getFormContext(),{values:m,setFieldValue:f}=getFormContext();component_subscribe(e,m,(e=>n(6,r=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(10,i=compute_rest_props(t,o)),"emptyLabel"in e&&n(0,a=e.emptyLabel),"useSelector"in e&&n(1,s=e.useSelector),"templateProps"in e&&n(2,c=e.templateProps),"label"in e&&n(3,l=e.label),"name"in e&&n(4,u=e.name),"disabled"in e&&n(5,d=e.disabled)},[a,s,c,l,u,d,r,p,m,f,i,e=>{f(u,e.detail)},e=>({value:e,label:_.startCase(e)})]}class FormColorField extends SvelteComponent{constructor(e){super(),init(this,e,instance$2c,create_fragment$2f,safe_not_equal,{emptyLabel:0,useSelector:1,templateProps:2,label:3,name:4,disabled:5})}}function get_each_context$q(e,t,n){const o=e.slice();return o[18]=t[n],o}function create_if_block_4$e(e){let t,n;return t=new FormCheckboxField({props:{label:"Fill",name:"fillLineChart",defaultValue:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5$6(e){let t,n,o,r,i,a,s,c,l,u,d,p,m;t=new FormSelectField({props:{label:"Chart type",name:"chartType",isNative:!0,options:[{value:"bar",label:"Bar"},{value:"line",label:"Line"},{value:"pie",label:"Pie"},{value:"polarArea",label:"Polar area"}]}}),o=new FormTextField({props:{label:"Chart title",name:"chartTitle"}}),i=new FormSelectField({props:{label:"Truncate from",name:"truncateFrom",isNative:!0,options:[{value:"begin",label:"Begin"},{value:"end",label:"End (most recent data for datetime)"}]}}),s=new FormTextField({props:{label:"Truncate limit",name:"truncateLimit"}}),l=new FormCheckboxField({props:{label:"Show relative values",name:"showRelativeValues"}});let f="line"==e[3].chartType&&create_if_block_4$e();return p=new FormTextField({props:{label:"Color set",name:"colorSeed"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),f&&f.c(),d=space(),create_component(p.$$.fragment)},m(e,h){mount_component(t,e,h),insert(e,n,h),mount_component(o,e,h),insert(e,r,h),mount_component(i,e,h),insert(e,a,h),mount_component(s,e,h),insert(e,c,h),mount_component(l,e,h),insert(e,u,h),f&&f.m(e,h),insert(e,d,h),mount_component(p,e,h),m=!0},p(e,t){"line"==e[3].chartType?f?8&t&&transition_in(f,1):(f=create_if_block_4$e(),f.c(),transition_in(f,1),f.m(d.parentNode,d)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){m||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(f),transition_in(p.$$.fragment,e),m=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(f),transition_out(p.$$.fragment,e),m=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),f&&f.d(e),e&&detach(d),destroy_component(p,e)}}}function create_default_slot_4$6(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[8],$$slots:{default:[create_default_slot_5$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.width=e[8]),2097160&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$h(e){let t,n;return t=new FormSelectField({props:{label:"Label column",name:"labelColumn",isNative:!0,options:e[4].map(func$d)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.options=e[4].map(func$d)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$o(e){let t,n,o,r;return t=new FormColorField({props:{label:"Color",name:`dataColumnColor_${e[18]}`,emptyLabel:"Random"}}),o=new FormTextField({props:{label:"Label",name:`dataColumnLabel_${e[18]}`}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16&n&&(r.name=`dataColumnColor_${e[18]}`),t.$set(r);const i={};16&n&&(i.name=`dataColumnLabel_${e[18]}`),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_each_block$q(e,t){let n,o,r,i,a;o=new FormCheckboxField({props:{label:t[18],name:`dataColumn_${t[18]}`}});let s=t[2][`dataColumn_${t[18]}`]&&create_if_block_2$o(t);return{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),r=space(),s&&s.c(),i=empty(),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),insert(e,r,t),s&&s.m(e,t),insert(e,i,t),a=!0},p(e,n){t=e;const r={};16&n&&(r.label=t[18]),16&n&&(r.name=`dataColumn_${t[18]}`),o.$set(r),t[2][`dataColumn_${t[18]}`]?s?(s.p(t,n),20&n&&transition_in(s,1)):(s=create_if_block_2$o(t),s.c(),transition_in(s,1),s.m(i.parentNode,i)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){a||(transition_in(o.$$.fragment,e),transition_in(s),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s),a=!1},d(e){e&&detach(n),destroy_component(o,e),e&&detach(r),s&&s.d(e),e&&detach(i)}}}function create_default_slot_3$d(e){let t,n,o,r=[],i=new Map,a=e[4].length>0&&create_if_block_3$h(e),s=e[4];const c=e=>e[18];for(let t=0;t<s.length;t+=1){let n=get_each_context$q(e,s,t),o=c(n);i.set(o,r[t]=create_each_block$q(o,n))}return{c(){a&&a.c(),t=space();for(let e=0;e<r.length;e+=1)r[e].c();n=empty()},m(e,i){a&&a.m(e,i),insert(e,t,i);for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,i);insert(e,n,i),o=!0},p(e,o){e[4].length>0?a?(a.p(e,o),16&o&&transition_in(a,1)):(a=create_if_block_3$h(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros()),20&o&&(s=e[4],group_outros(),r=update_keyed_each(r,o,c,1,e,s,i,n.parentNode,outro_and_destroy_block,create_each_block$q,n,get_each_context$q),check_outros())},i(e){if(!o){transition_in(a);for(let e=0;e<s.length;e+=1)transition_in(r[e]);o=!0}},o(e){transition_out(a);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){a&&a.d(e),e&&detach(t);for(let t=0;t<r.length;t+=1)r[t].d(e);e&&detach(n)}}}function create_default_slot_2$q(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[8],$$slots:{default:[create_default_slot_3$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.width=e[8]),2097172&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$x(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Style",name:"style",height:"40%",$$slots:{default:[create_default_slot_4$6]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Data",name:"data",$$slots:{default:[create_default_slot_2$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};2097416&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2097428&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create__1_slot$e(e){let t,n,o;return n=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_1$x]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-1r4fguo"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2097436&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_else_block$v(e){let t,n;return t=new DataChart({props:{data:e[0]||e[7]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};129&n&&(o.data=e[0]||e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$H(e){let t,n;return t=new ErrorInfo({props:{message:e[6],alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.message=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$19(e){let t,n;return t=new ErrorInfo({props:{message:e[5],alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.message=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$d(e){let t,n,o,r;const i=[create_if_block$19,create_if_block_1$H,create_else_block$v],a=[];function s(e,t){return e[5]?0:e[6]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$S(e){let t,n,o;function r(t){e[13](t)}let i={initialValue:"300px",$$slots:{2:[create__2_slot$d],1:[create__1_slot$e]},$$scope:{ctx:e}};return void 0!==e[8]&&(i.size=e[8]),t=new HorizontalSplitter({props:i}),binding_callbacks.push((()=>bind$2(t,"size",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};2097661&o&&(r.$$scope={dirty:o,ctx:e}),!n&&256&o&&(n=!0,r.size=e[8],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_fragment$2e(e){let t,n;return t=new FormProviderCore({props:{values:e[1],template:FormFieldTemplateTiny,$$slots:{default:[create_default_slot$S]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};2&n&&(o.values=e[1]),2097661&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$d=e=>({value:e,label:e});function instance$2b(e,t,n){let o,r,i,a=noop$3,s=()=>(a(),a=subscribe(u,(e=>n(3,i=e))),u);component_subscribe(e,extensions,(e=>n(12,r=e))),e.$$.on_destroy.push((()=>a()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:l}=t,{configStore:u}=t;s();let{conid:d}=t,{database:p}=t,{sql:m}=t,f=[],h=null,g=null,_=null;const $=()=>c(void 0,void 0,void 0,(function*(){const e=yield getConnectionInfo({conid:d});if(!e)return;return lib$5.findEngineDriver(e,r)}));let b;return e.$$set=e=>{"data"in e&&n(0,l=e.data),"configStore"in e&&s(n(1,u=e.configStore)),"conid"in e&&n(9,d=e.conid),"database"in e&&n(10,p=e.database),"sql"in e&&n(11,m=e.sql)},e.$$.update=()=>{8&e.$$.dirty&&n(2,o=i),7680&e.$$.dirty&&m&&d&&p&&c(void 0,void 0,void 0,(function*(){const e=yield $();if(e)try{n(5,h=null);const t=yield loadChartStructure(e,d,p,m);n(4,f=t)}catch(e){console.error(e),n(5,h=e.message)}})),1&e.$$.dirty&&l&&n(4,f=l.structure.columns.map((e=>e.columnName))),7684&e.$$.dirty&&o.labelColumn&&m&&d&&p&&c(void 0,void 0,void 0,(function*(){const e=yield $();if(e)try{n(6,g=null);const t=yield loadChartData(e,d,p,m,o);if(!t)return;const{columns:r,rows:i}=t;n(7,_={structure:r,rows:i})}catch(e){console.error(e),n(6,g=e.message)}}))},[l,u,o,i,f,h,g,_,b,d,p,m,r,function(e){b=e,n(8,b)}]}class ChartEditor extends SvelteComponent{constructor(e){super(),init(this,e,instance$2b,create_fragment$2e,safe_not_equal,{data:0,configStore:1,conid:9,database:10,sql:11})}}function create_else_block$u(e){let t,n;return t=new ChartEditor({props:{data:e[2].value&&e[2].value.data,configStore:e[6],sql:e[2].value&&e[2].value.sql,conid:e[0],database:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.data=e[2].value&&e[2].value.data),4&n&&(o.sql=e[2].value&&e[2].value.sql),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$G(e){let t,n;return t=new ErrorInfo({props:{message:e[3].errorMessage}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.message=e[3].errorMessage),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$18(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2d(e){let t,n,o,r;const i=[create_if_block$18,create_if_block_1$G,create_else_block$u],a=[];function s(e,t){return e[3].isLoading?0:e[3].errorMessage?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const getCurrentEditor$h=()=>getActiveComponent("ChartTab");function instance$2a(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t;const c=createActivator("ChartTab",!0);const{editorState:l,editorValue:u,setEditorData:d}=useEditorData({tabid:i,onInitialData:e=>{m({type:"reset",value:e})}});component_subscribe(e,l,(e=>n(3,r=e)));const[p,m]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,p,(e=>n(2,o=e)));const f=e=>m({type:"compute",compute:t=>Object.assign(Object.assign({},t),{config:_.isFunction(e)?e(t.config):e})}),h=derived(p,(e=>e.value&&e.value.config||{})),g=Object.assign(Object.assign({},h),{update:f,set:f});return registerMenu({command:"chart.save"},{command:"chart.saveAs"},{placeTag:"export"},{divider:!0},{command:"chart.undo"},{command:"chart.redo"}),e.$$set=e=>{"tabid"in e&&n(7,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},e.$$.update=()=>{4&e.$$.dirty&&d(o.value),4&e.$$.dirty&&invalidateCommands()},[a,s,o,r,l,p,g,i,c,function(){return r.value||""},function(){return o.canUndo},function(){m({type:"undo"})},function(){return o.canRedo},function(){m({type:"redo"})}]}registerFileCommands({idPrefix:"chart",category:"Chart",getCurrentEditor:getCurrentEditor$h,folder:"charts",format:"json",fileExtension:"chart",undoRedo:!0});class ChartTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$2a,create_fragment$2d,safe_not_equal,{tabid:7,conid:0,database:1,activator:8,getData:9,canUndo:10,undo:11,canRedo:12,redo:13})}get activator(){return this.$$.ctx[8]}get getData(){return this.$$.ctx[9]}get canUndo(){return this.$$.ctx[10]}get undo(){return this.$$.ctx[11]}get canRedo(){return this.$$.ctx[12]}get redo(){return this.$$.ctx[13]}}var ChartTab$1=Object.freeze({__proto__:null,default:ChartTab});function create_fragment$2c(e){let t,n,o={value:e[2].value||"",menu:createMenu$5(),mode:"markdown"};return t=new AceEditor({props:o}),e[15](t),t.$on("input",e[16]),t.$on("focus",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[15](null),destroy_component(t,n)}}}const getCurrentEditor$g=()=>getActiveComponent("MarkdownEditorTab");function createMenu$5(){return[{command:"markdown.preview"},{divider:!0},{command:"markdown.toggleComment"},{divider:!0},{command:"markdown.save"},{command:"markdown.saveAs"},{divider:!0},{command:"markdown.find"},{command:"markdown.replace"}]}function instance$29(e,t,n){let o,r,i;component_subscribe(e,openedTabs,(e=>n(18,o=e)));var a,s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:c}=t;const l=getContext("tabVisible");component_subscribe(e,l,(e=>n(14,i=e)));const u=createActivator("MarkdownEditorTab",!1);let d;const{editorState:p,editorValue:m,setEditorData:f,saveToStorage:h}=useEditorData({tabid:c});component_subscribe(e,p,(e=>n(2,r=e)));return e.$$set=e=>{"tabid"in e&&n(6,c=e.tabid)},e.$$.update=()=>{24578&e.$$.dirty&&i&&d&&(null===n(13,a=null==d?void 0:d.getEditor())||void 0===a||a.focus())},[u,d,r,l,p,f,c,function(){return r.value||""},function(){d.getEditor().execCommand("togglecomment")},function(){d.getEditor().execCommand("find")},function(){d.getEditor().execCommand("replace")},function(){return c},function(){return s(this,void 0,void 0,(function*(){yield h();const e=(o||[]).find((e=>e.props&&e.props.sourceTabId==c&&null==e.closedTime));if(e)setSelectedTab(e.tabid);else{openNewTab({title:(o||[]).find((e=>e.tabid==c)).title,icon:"img preview",tabComponent:"MarkdownPreviewTab",props:{sourceTabId:c}})}}))},a,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{d=e,n(1,d)}))},e=>f(e.detail),()=>{u.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"markdown",category:"Markdown",getCurrentEditor:getCurrentEditor$g,folder:"markdown",format:"text",fileExtension:"md",toggleComment:!0,findReplace:!0}),registerCommand({id:"markdown.preview",category:"Markdown",name:"Preview",icon:"icon run",toolbar:!0,isRelatedToTab:!0,keyText:"F5 | CtrlOrCommand+Enter",testEnabled:()=>null!=getCurrentEditor$g(),onClick:()=>getCurrentEditor$g().preview()});class MarkdownEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$29,create_fragment$2c,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11,preview:12})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}get preview(){return this.$$.ctx[12]}}var MarkdownEditorTab$1=Object.freeze({__proto__:null,default:MarkdownEditorTab});function create_else_block$t(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$17(e){let t,n;return t=new LoadingInfo({props:{message:"Loading markdown page"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2b(e){let t,n,o,r;const i=[create_if_block$17,create_else_block$t],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const allowAddToFavorites$2=e=>!0;function instance$28(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{savedFile:r}=t,i=!1,a=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,i=!0);const e=yield apiCall("files/load",{folder:"markdown",file:r,format:"text"});n(1,a=e),n(0,i=!1)}))})),e.$$set=e=>{"savedFile"in e&&n(2,r=e.savedFile)},[i,a,r]}class MarkdownViewTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$28,create_fragment$2b,safe_not_equal,{savedFile:2})}}var MarkdownViewTab$1=Object.freeze({__proto__:null,default:MarkdownViewTab,allowAddToFavorites:allowAddToFavorites$2});function create_else_block$s(e){let t,n,o=e[0],r=create_key_block$4(e);return{c(){t=element("div"),r.c(),attr(t,"class","svelte-skjeqm")},m(e,o){insert(e,t,o),r.m(t,null),n=!0},p(e,n){1&n&&safe_not_equal(o,o=e[0])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$4(e),r.c(),transition_in(r,1),r.m(t,null)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_if_block$16(e){let t,n,o;return n=new LoadingInfo({props:{message:"Loading markdown page"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_key_block$4(e){let t,n;return t=new Markdown({props:{source:e[0]||""}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.source=e[0]||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2a(e){let t,n,o,r;const i=[create_if_block$16,create_else_block$s],a=[];function s(e,t){return e[1].isLoading?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$27(e,t,n){let o,r,{sourceTabId:i}=t;const a=getContext("tabVisible");component_subscribe(e,a,(e=>n(5,o=e)));let s=null;const{initialLoad:c,editorState:l}=useEditorData({tabid:i,onInitialData:e=>{console.log("onInitialData",e),n(0,s=e)}});return component_subscribe(e,l,(e=>n(1,r=e))),e.$$set=e=>{"sourceTabId"in e&&n(4,i=e.sourceTabId)},e.$$.update=()=>{32&e.$$.dirty&&o&&c()},[s,r,a,l,i,o]}class MarkdownPreviewTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$27,create_fragment$2a,safe_not_equal,{sourceTabId:4})}}var MarkdownPreviewTab$1=Object.freeze({__proto__:null,default:MarkdownPreviewTab});function create_fragment$29(e){let t,n;const o=[e[2],{data:e[0]},{icon:e[0].icon||"img favorite"},{title:e[0].title},{menu:e[1]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[3]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=7&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{data:e[0]},1&n&&{icon:e[0].icon||"img favorite"},1&n&&{title:e[0].title},2&n&&{menu:e[1]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$3=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const extractKey$7=e=>e.file;function openFavorite(e){return __awaiter$3(this,void 0,void 0,(function*(){const{icon:t,tabComponent:n,title:o,props:r,tabdata:i}=e;let a=i;if(r.savedFile){const e=yield apiCall("files/load",{folder:r.savedFolder,file:r.savedFile,format:r.savedFormat});a=Object.assign(Object.assign({},i),{editor:e})}openNewTab({title:o,icon:t||"img favorite",props:r,tabComponent:n},a)}))}function instance$26(e,t,n){const o=["data"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t;const s=getElectron(),c=()=>{showModal(FavoriteModal,{editingData:a})},l=()=>i(void 0,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:"favorites",file:a.file,format:"text"});openNewTab({icon:"icon favorite",title:a.title,tabComponent:"FavoriteEditorTab",props:{savedFile:a.file,savedFormat:"text",savedFolder:"favorites"}},{editor:JSON.stringify(JSON.parse(e),null,2)})})),u=()=>{copyTextToClipboard(`${document.location.origin}#favorite=${a.urlPath}`)},d=()=>{showModal(ConfirmModal,{message:`Really delete favorite ${a.title}?`,onConfirm:()=>{apiCall("files/delete",{file:a.file,folder:"favorites"})}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"data"in e&&n(0,a=e.data)},[a,function(){return[{text:"Delete",onClick:d},{text:"Edit",onClick:c},{text:"Edit JSON definition",onClick:l},!s&&a.urlPath&&{text:"Copy link",onClick:u}]},r,()=>openFavorite(a)]}class FavoriteFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$26,create_fragment$29,safe_not_equal,{data:0})}}var favoriteFileAppObject=Object.freeze({__proto__:null,default:FavoriteFileAppObject,extractKey:extractKey$7,openFavorite:openFavorite});function create_fragment$28(e){let t,n,o={value:e[2].value||"",menu:createMenu$4(),mode:"json"};return t=new AceEditor({props:o}),e[16](t),t.$on("input",e[17]),t.$on("focus",e[18]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[16](null),destroy_component(t,n)}}}const getCurrentEditor$f=()=>getActiveComponent("FavoriteEditorTab");function createMenu$4(){return[{command:"favoriteJsonEditor.save"},{command:"favoriteJsonEditor.preview"},{divider:!0},{command:"favoriteJsonEditor.find"},{command:"favoriteJsonEditor.replace"}]}function instance$25(e,t,n){let o,r;var i;let{tabid:a}=t,{savedFile:s}=t;const c=getContext("tabVisible");component_subscribe(e,c,(e=>n(15,r=e)));const l=createActivator("FavoriteEditorTab",!1);let u;function d(){return o.value||""}const{editorState:p,editorValue:m,setEditorData:f}=useEditorData({tabid:a});component_subscribe(e,p,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid),"savedFile"in e&&n(7,s=e.savedFile)},e.$$.update=()=>{49154&e.$$.dirty&&r&&u&&(null===n(14,i=null==u?void 0:u.getEditor())||void 0===i||i.focus())},[l,u,o,c,p,f,a,s,d,function(){u.getEditor().execCommand("find")},function(){u.getEditor().execCommand("replace")},function(){return a},function(){try{openFavorite(JSON.parse(d()))}catch(e){showModal(ErrorMessageModal,{message:e.message,title:"Error parsing JSON"})}},function(){try{const e=JSON.parse(d());apiCall("files/save",{file:s,folder:"favorites",format:"json",data:e})}catch(e){showModal(ErrorMessageModal,{message:e.message,title:"Error parsing JSON"})}},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{u=e,n(1,u)}))},e=>f(e.detail),()=>{l.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"favoriteJsonEditor",category:"Favorite JSON editor",getCurrentEditor:getCurrentEditor$f,folder:null,format:null,fileExtension:null,save:!1,findReplace:!0}),registerCommand({id:"favoriteJsonEditor.save",group:"save",name:"Save",category:"Favorite JSON editor",testEnabled:()=>null!=getCurrentEditor$f(),onClick:()=>getCurrentEditor$f().save()}),registerCommand({id:"favoriteJsonEditor.preview",name:"Preview",category:"Favorite JSON editor",keyText:"F5 | CtrlOrCommand+Enter",testEnabled:()=>null!=getCurrentEditor$f(),onClick:()=>getCurrentEditor$f().preview()});class FavoriteEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$25,create_fragment$28,safe_not_equal,{tabid:6,savedFile:7,activator:0,getData:8,find:9,replace:10,getTabId:11,preview:12,save:13})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}get preview(){return this.$$.ctx[12]}get save(){return this.$$.ctx[13]}}var FavoriteEditorTab$1=Object.freeze({__proto__:null,default:FavoriteEditorTab});function moveDrag(e,t){if(!t)return;const[n,o,r]=t;let i=null,a=null,s=null,c=null;const l=t=>{if(0!=t.button)return;const o=window.getComputedStyle(e).zoom,r=e.getBoundingClientRect();s=r.left*o,c=r.top*o,i=t.clientX,a=t.clientY,document.addEventListener("mousemove",u,!0),document.addEventListener("mouseup",d,!0),n(t.clientX-s,t.clientY-c)},u=t=>{window.getComputedStyle(e).zoom,t.preventDefault();const n=t.clientX-i;i=t.clientX;const r=t.clientY-a;a=t.clientY,o(n,r,t.clientX-s,t.clientY-c)},d=t=>{window.getComputedStyle(e).zoom,t.preventDefault(),i=null,a=null,document.removeEventListener("mousemove",u,!0),document.removeEventListener("mouseup",d,!0),r(t.clientX-s,t.clientY-c)};return e.addEventListener("mousedown",l),{destroy(){e.removeEventListener("mousedown",l),null==i&&null==a||(document.removeEventListener("mousemove",u,!0),document.removeEventListener("mouseup",d,!0))}}}function create_if_block_2$n(e){let t,n,o,r;n=new FontIcon({props:{icon:"img sort-asc"}});let i=e[1]>=0&&create_if_block_3$g(e);return{c(){t=element("span"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","icon")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,n){e[1]>=0?i?i.p(e,n):(i=create_if_block_3$g(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_if_block_3$g(e){let t,n,o=e[1]+1+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","color-icon-green order-index")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&o!==(o=e[1]+1+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$15(e){let t,n,o,r;n=new FontIcon({props:{icon:"img sort-desc"}});let i=e[1]>=0&&create_if_block_1$F(e);return{c(){t=element("span"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","icon")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,n){e[1]>=0?i?i.p(e,n):(i=create_if_block_1$F(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_if_block_1$F(e){let t,n,o=e[1]+1+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","color-icon-green order-index")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&o!==(o=e[1]+1+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_fragment$27(e){let t,n,o,r="ASC"==e[0]&&create_if_block_2$n(e),i="DESC"==e[0]&&create_if_block$15(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,[o]){"ASC"==e[0]?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_2$n(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),"DESC"==e[0]?i?(i.p(e,o),1&o&&transition_in(i,1)):(i=create_if_block$15(e),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function instance$24(e,t,n){let{order:o}=t,{orderIndex:r}=t;return e.$$set=e=>{"order"in e&&n(0,o=e.order),"orderIndex"in e&&n(1,r=e.orderIndex)},[o,r]}class SortOrderIcon extends SvelteComponent{constructor(e){super(),init(this,e,instance$24,create_fragment$27,safe_not_equal,{order:0,orderIndex:1})}}function create_if_block_11$4(e){let t,n,o,r;return n=new FontIcon({props:{icon:e[11]?plusExpandIcon(e[12]):"icon invisible-box"}}),n.$on("click",e[24]),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","expandColumnIcon"),attr(t,"style",o=`margin-right: ${5+10*e[13]}px`)},m(e,o){insert(e,t,o),mount_component(n,t,null),r=!0},p(e,i){const a={};6144&i[0]&&(a.icon=e[11]?plusExpandIcon(e[12]):"icon invisible-box"),n.$set(a),(!r||8192&i[0]&&o!==(o=`margin-right: ${5+10*e[13]}px`))&&attr(t,"style",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_10$4(e){let t,n;return t=new CheckboxField({props:{checked:e[9]?.isColumnChecked?e[9]?.isColumnChecked(e[3],e[1]):!!(e[2].columns||[]).find(e[25])}}),t.$on("change",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};526&n[0]&&(o.checked=e[9]?.isColumnChecked?e[9]?.isColumnChecked(e[3],e[1]):!!(e[2].columns||[]).find(e[25])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$4(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_8$4(e){let t,n;return t=new FontIcon({props:{icon:"img sort-asc"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$5(e){let t,n;return t=new FontIcon({props:{icon:"img sort-desc"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$9(e){let t,n;return t=new FontIcon({props:{icon:"img group"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$a(e){let t,n;const o=[e[16]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new SortOrderIcon({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=65536&n[0]?get_spread_update(o,[get_spread_object(e[16])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$d(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$E(e){let t,n,o,r,i=e[2]?.style?.showDataType&&e[1]?.dataType&&create_if_block_3$f(e),a=e[2]?.style?.showNullability&&create_if_block_2$m(e);return{c(){t=element("div"),n=space(),i&&i.c(),o=space(),a&&a.c(),r=empty(),attr(t,"class","space svelte-1s00ucb")},m(e,s){insert(e,t,s),insert(e,n,s),i&&i.m(e,s),insert(e,o,s),a&&a.m(e,s),insert(e,r,s)},p(e,t){e[2]?.style?.showDataType&&e[1]?.dataType?i?i.p(e,t):(i=create_if_block_3$f(e),i.c(),i.m(o.parentNode,o)):i&&(i.d(1),i=null),e[2]?.style?.showNullability?a?a.p(e,t):(a=create_if_block_2$m(e),a.c(),a.m(r.parentNode,r)):a&&(a.d(1),a=null)},d(e){e&&detach(t),e&&detach(n),i&&i.d(e),e&&detach(o),a&&a.d(e),e&&detach(r)}}}function create_if_block_3$f(e){let t,n,o=(e[1]?.displayedDataType||e[1]?.dataType).toLowerCase()+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-2")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t[0]&&o!==(o=(e[1]?.displayedDataType||e[1]?.dataType).toLowerCase()+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$m(e){let t,n,o=e[1]?.notNull?"NOT NULL":"NULL";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-2")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t[0]&&o!==(o=e[1]?.notNull?"NOT NULL":"NULL")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$14(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon arrow-right"}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","icon-button svelte-1s00ucb")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"mousedown",e[27]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$26(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=e[9]?.isColumnFiltered&&e[9]?.isColumnFiltered(e[3],e[1].columnName),b=e[17]&&e[9]?.addDesignerForeignKey&&e[9]?.canAddDesignerForeignKey&&e[9]?.canAddDesignerForeignKey(e[3],e[1].columnName),v=e[10]&&create_if_block_11$4(e),y=e[9]?.allowColumnOperations&&create_if_block_10$4(e);const x=[e[1],{columnName:e[9]?.getColumnDisplayName?e[9]?.getColumnDisplayName(e[1]):e[1].columnName},{foreignKey:e[17]},{forceIcon:!0},{iconOverride:e[15]}];let w={};for(let e=0;e<x.length;e+=1)w=assign(w,x[e]);r=new ColumnLabel({props:w});let C=e[18]?.filter&&create_if_block_9$4(),k=e[18]?.sortOrder>0&&create_if_block_8$4(),S=e[18]?.sortOrder<0&&create_if_block_7$5(),T=e[18]?.isGrouped&&create_if_block_6$9(),A=e[16]&&create_if_block_5$a(e),E=$&&create_if_block_4$d(),O=(e[2]?.style?.showNullability||e[2]?.style?.showDataType)&&create_if_block_1$E(e),I=b&&create_if_block$14(e);return{c(){t=element("div"),v&&v.c(),n=space(),y&&y.c(),o=space(),create_component(r.$$.fragment),i=space(),C&&C.c(),a=space(),k&&k.c(),s=space(),S&&S.c(),c=space(),T&&T.c(),l=space(),A&&A.c(),u=space(),E&&E.c(),d=space(),O&&O.c(),p=space(),I&&I.c(),attr(t,"class","line svelte-1s00ucb"),attr(t,"draggable",m=!!e[9]?.allowCreateRefByDrag),toggle_class(t,"canSelectColumns",e[9]?.canSelectColumns),toggle_class(t,"isDragSource",e[19]&&e[19].designerId==e[3]&&e[19].columnName==e[1].columnName),toggle_class(t,"isDragTarget",e[20]&&e[20].designerId==e[3]&&e[20].columnName==e[1].columnName)},m(m,$){insert(m,t,$),v&&v.m(t,null),append(t,n),y&&y.m(t,null),append(t,o),mount_component(r,t,null),append(t,i),C&&C.m(t,null),append(t,a),k&&k.m(t,null),append(t,s),S&&S.m(t,null),append(t,c),T&&T.m(t,null),append(t,l),A&&A.m(t,null),append(t,u),E&&E.m(t,null),append(t,d),O&&O.m(t,null),append(t,p),I&&I.m(t,null),e[28](t),h=!0,g||(_=[listen(t,"dragstart",e[29]),listen(t,"dragend",e[30]),listen(t,"dragover",e[31]),listen(t,"drop",e[32]),listen(t,"mousedown",e[33]),action_destroyer(f=contextMenu.call(null,t,e[9]?.canSelectColumns?e[21]:"__no_menu"))],g=!0)},p(e,i){e[10]?v?(v.p(e,i),1024&i[0]&&transition_in(v,1)):(v=create_if_block_11$4(e),v.c(),transition_in(v,1),v.m(t,n)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[9]?.allowColumnOperations?y?(y.p(e,i),512&i[0]&&transition_in(y,1)):(y=create_if_block_10$4(e),y.c(),transition_in(y,1),y.m(t,o)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros());const g=164354&i[0]?get_spread_update(x,[2&i[0]&&get_spread_object(e[1]),514&i[0]&&{columnName:e[9]?.getColumnDisplayName?e[9]?.getColumnDisplayName(e[1]):e[1].columnName},131072&i[0]&&{foreignKey:e[17]},x[3],32768&i[0]&&{iconOverride:e[15]}]):{};r.$set(g),e[18]?.filter?C?262144&i[0]&&transition_in(C,1):(C=create_if_block_9$4(),C.c(),transition_in(C,1),C.m(t,a)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),e[18]?.sortOrder>0?k?262144&i[0]&&transition_in(k,1):(k=create_if_block_8$4(),k.c(),transition_in(k,1),k.m(t,s)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),e[18]?.sortOrder<0?S?262144&i[0]&&transition_in(S,1):(S=create_if_block_7$5(),S.c(),transition_in(S,1),S.m(t,c)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),e[18]?.isGrouped?T?262144&i[0]&&transition_in(T,1):(T=create_if_block_6$9(),T.c(),transition_in(T,1),T.m(t,l)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[16]?A?(A.p(e,i),65536&i[0]&&transition_in(A,1)):(A=create_if_block_5$a(e),A.c(),transition_in(A,1),A.m(t,u)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),522&i[0]&&($=e[9]?.isColumnFiltered&&e[9]?.isColumnFiltered(e[3],e[1].columnName)),$?E?522&i[0]&&transition_in(E,1):(E=create_if_block_4$d(),E.c(),transition_in(E,1),E.m(t,d)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[2]?.style?.showNullability||e[2]?.style?.showDataType?O?O.p(e,i):(O=create_if_block_1$E(e),O.c(),O.m(t,p)):O&&(O.d(1),O=null),131594&i[0]&&(b=e[17]&&e[9]?.addDesignerForeignKey&&e[9]?.canAddDesignerForeignKey&&e[9]?.canAddDesignerForeignKey(e[3],e[1].columnName)),b?I?(I.p(e,i),131594&i[0]&&transition_in(I,1)):(I=create_if_block$14(e),I.c(),transition_in(I,1),I.m(t,null)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),(!h||512&i[0]&&m!==(m=!!e[9]?.allowCreateRefByDrag))&&attr(t,"draggable",m),f&&is_function(f.update)&&512&i[0]&&f.update.call(null,e[9]?.canSelectColumns?e[21]:"__no_menu"),(!h||512&i[0])&&toggle_class(t,"canSelectColumns",e[9]?.canSelectColumns),(!h||524298&i[0])&&toggle_class(t,"isDragSource",e[19]&&e[19].designerId==e[3]&&e[19].columnName==e[1].columnName),(!h||1048586&i[0])&&toggle_class(t,"isDragTarget",e[20]&&e[20].designerId==e[3]&&e[20].columnName==e[1].columnName)},i(e){h||(transition_in(v),transition_in(y),transition_in(r.$$.fragment,e),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(I),h=!0)},o(e){transition_out(v),transition_out(y),transition_out(r.$$.fragment,e),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(I),h=!1},d(n){n&&detach(t),v&&v.d(),y&&y.d(),destroy_component(r),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d(),I&&I.d(),e[28](null),g=!1,run_all(_)}}}function instance$23(e,t,n){let o,r,i,a,s,c,l=noop$3,u=()=>(l(),l=subscribe(b,(e=>n(19,s=e))),b),d=noop$3,p=()=>(d(),d=subscribe(v,(e=>n(20,c=e))),v);e.$$.on_destroy.push((()=>l())),e.$$.on_destroy.push((()=>d()));let{column:m}=t,{table:f}=t,{designer:h}=t,{designerId:g}=t,{onChangeColumn:_}=t,{domLine:$}=t,{sourceDragColumn$:b}=t;u();let{targetDragColumn$:v}=t;p();let{onCreateReference:y}=t,{onAddReferenceByColumn:x}=t,{onSelectColumn:w}=t,{settings:C}=t,{nestingSupported:k=null}=t,{isExpandable:S=!1}=t,{isExpanded:T=!1}=t,{expandLevel:A=0}=t,{toggleExpanded:E=null}=t;return e.$$set=e=>{"column"in e&&n(1,m=e.column),"table"in e&&n(22,f=e.table),"designer"in e&&n(2,h=e.designer),"designerId"in e&&n(3,g=e.designerId),"onChangeColumn"in e&&n(4,_=e.onChangeColumn),"domLine"in e&&n(0,$=e.domLine),"sourceDragColumn$"in e&&u(n(5,b=e.sourceDragColumn$)),"targetDragColumn$"in e&&p(n(6,v=e.targetDragColumn$)),"onCreateReference"in e&&n(7,y=e.onCreateReference),"onAddReferenceByColumn"in e&&n(23,x=e.onAddReferenceByColumn),"onSelectColumn"in e&&n(8,w=e.onSelectColumn),"settings"in e&&n(9,C=e.settings),"nestingSupported"in e&&n(10,k=e.nestingSupported),"isExpandable"in e&&n(11,S=e.isExpandable),"isExpanded"in e&&n(12,T=e.isExpanded),"expandLevel"in e&&n(13,A=e.expandLevel),"toggleExpanded"in e&&n(14,E=e.toggleExpanded)},e.$$.update=()=>{14&e.$$.dirty[0]&&n(18,o=(h.columns||[]).find((e=>e.designerId==g&&e.columnName==m.columnName))),4194306&e.$$.dirty[0]&&n(17,r=lib$5.findForeignKeyForColumn(f,m)),522&e.$$.dirty[0]&&n(16,i=(null==C?void 0:C.getSortOrderProps)?null==C?void 0:C.getSortOrderProps(g,m.columnName):null),522&e.$$.dirty[0]&&n(15,a=(null==C?void 0:C.getColumnIconOverride)?null==C?void 0:C.getColumnIconOverride(g,m.columnName):null)},[$,m,h,g,_,b,v,y,w,C,k,S,T,A,E,a,i,r,o,s,c,function(){if(null==C?void 0:C.columnMenu)return null==C?void 0:C.columnMenu({designer:h,designerId:g,column:m,foreignKey:r});const e=e=>{_(Object.assign(Object.assign({},m),{designerId:g}),(t=>Object.assign(Object.assign({},t),{sortOrder:e})))};return[(null==C?void 0:C.allowColumnOperations)&&[{text:"Sort ascending",onClick:()=>e(1)},{text:"Sort descending",onClick:()=>e(-1)},{text:"Unsort",onClick:()=>e(0)}],r&&{text:"Add reference",onClick:()=>{x(g,r)}}]},f,x,()=>{E(!T)},e=>e.designerId==g&&e.columnName==m.columnName&&e.isOutput,e=>{C?.setColumnChecked?C?.setColumnChecked(g,m,e.target.checked):e.target.checked?_({...m,designerId:g},(e=>({...e,isOutput:!0}))):_({...m,designerId:g},(e=>({...e,isOutput:!1})))},()=>C?.addDesignerForeignKey(g,m.columnName),function(e){binding_callbacks[e?"unshift":"push"]((()=>{$=e,n(0,$)}))},e=>{if(!C?.allowCreateRefByDrag)return;const t={...m,designerId:g};b.set(t),e.dataTransfer.setData("designer_column_drag_data",JSON.stringify(t))},e=>{b.set(null),v.set(null)},e=>{s&&(e.preventDefault(),v.set({...m,designerId:g}))},e=>{var t=e.dataTransfer.getData("designer_column_drag_data");e.preventDefault(),t&&(y(s,c),b.set(null),v.set(null))},e=>w({...m,designerId:g})]}class ColumnLine extends SvelteComponent{constructor(e){super(),init(this,e,instance$23,create_fragment$26,safe_not_equal,{column:1,table:22,designer:2,designerId:3,onChangeColumn:4,domLine:0,sourceDragColumn$:5,targetDragColumn$:6,onCreateReference:7,onAddReferenceByColumn:23,onSelectColumn:8,settings:9,nestingSupported:10,isExpandable:11,isExpanded:12,expandLevel:13,toggleExpanded:14},null,[-1,-1])}}class DomTableRef{constructor(e,t,n,o){this.domTable=t[""],this.domWrapper=n,this.table=e,this.designerId=e.designerId,this.domRefs=t,this.settings=o}getRect(){if(!this.domWrapper)return null;if(!this.domTable)return null;const e=this.domWrapper.getBoundingClientRect(),t=this.domTable.getBoundingClientRect();return{left:t.left-e.left,top:t.top-e.top,right:t.right-e.left,bottom:t.bottom-e.top}}getColumnY(e){var t,n,o;let r=this.domRefs[e];for(;null==r&&(null===(t=this.settings)||void 0===t?void 0:t.getParentColumnName)&&(null===(n=this.settings)||void 0===n?void 0:n.getParentColumnName(e));)e=null===(o=this.settings)||void 0===o?void 0:o.getParentColumnName(e),r=this.domRefs[e];const i=this.getRect();if(!r)return i.top+12;const a=r.getBoundingClientRect(),s=this.domWrapper.getBoundingClientRect();let c=(a.top+a.bottom)/2-s.top;return c<i.top&&(c=i.top),c>i.bottom&&(c=i.bottom),c}}function get_each_context$p(e,t,n){const o=e.slice();return o[66]=t[n],o[67]=t,o[68]=n,o}function create_if_block_6$8(e){let t,n;return t=new CheckboxField({props:{checked:!!e[12]?.isTableChecked&&e[12]?.isTableChecked(e[13])}}),t.$on("change",e[52]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};12288&n[0]&&(o.checked=!!e[12]?.isTableChecked&&e[12]?.isTableChecked(e[13])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$9(e){let t,n;return t=new FontIcon({props:{icon:e[25]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};33554432&n[0]&&(o.icon=e[25]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$c(e){let t,n;return t=new FontIcon({props:{icon:"icon database",title:e[24].database}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n[0]&&(o.title=e[24].database),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$e(e){let t,n;return t=new FontIcon({props:{icon:"icon parent-filter",title:"Filter parent rows"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$l(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-w5ultk")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[53]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block_1$D(e){let t,n;return t=new DataFilterControl({props:{filterBehaviour:lib$5.stringFilterBehaviour,filter:e[12]?.getMutliColumnFilter(e[13]),setFilter:e[55],placeholder:"Data filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};12288&n[0]&&(o.filter=e[12]?.getMutliColumnFilter(e[13])),12288&n[0]&&(o.setFilter=e[55]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$p(e,t){let n,o,r,i;function a(...e){return t[57](t[66],...e)}function s(e){t[58](e,t[66])}let c={nestingSupported:!!t[12]?.isColumnExpandable&&t[14].find(t[56]),isExpandable:t[12]?.isColumnExpandable&&t[12]?.isColumnExpandable(t[66]),isExpanded:t[12]?.isColumnExpanded&&t[12]?.isColumnExpanded(t[66]),expandLevel:t[12]?.columnExpandLevel?t[12]?.columnExpandLevel(t[66]):0,toggleExpanded:a,column:t[66],table:t[0],designer:t[10],designerId:t[13],onChangeColumn:t[7],onSelectColumn:t[6],sourceDragColumn$:t[8],targetDragColumn$:t[9],onCreateReference:t[4],onAddReferenceByColumn:t[5],settings:t[12]};return void 0!==t[17][t[66].columnName]&&(c.domLine=t[17][t[66].columnName]),o=new ColumnLine({props:c}),binding_callbacks.push((()=>bind$2(o,"domLine",s))),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),i=!0},p(e,n){t=e;const i={};20480&n[0]&&(i.nestingSupported=!!t[12]?.isColumnExpandable&&t[14].find(t[56])),2101248&n[0]&&(i.isExpandable=t[12]?.isColumnExpandable&&t[12]?.isColumnExpandable(t[66])),2101248&n[0]&&(i.isExpanded=t[12]?.isColumnExpanded&&t[12]?.isColumnExpanded(t[66])),2101248&n[0]&&(i.expandLevel=t[12]?.columnExpandLevel?t[12]?.columnExpandLevel(t[66]):0),2101248&n[0]&&(i.toggleExpanded=a),2097152&n[0]&&(i.column=t[66]),1&n[0]&&(i.table=t[0]),1024&n[0]&&(i.designer=t[10]),8192&n[0]&&(i.designerId=t[13]),128&n[0]&&(i.onChangeColumn=t[7]),64&n[0]&&(i.onSelectColumn=t[6]),256&n[0]&&(i.sourceDragColumn$=t[8]),512&n[0]&&(i.targetDragColumn$=t[9]),16&n[0]&&(i.onCreateReference=t[4]),32&n[0]&&(i.onAddReferenceByColumn=t[5]),4096&n[0]&&(i.settings=t[12]),!r&&2228224&n[0]&&(r=!0,i.domLine=t[17][t[66].columnName],add_flush_callback((()=>r=!1))),o.$set(i)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_if_block$13(e){let t,n,o,r,i,a,s;return{c(){t=element("div"),n=space(),o=element("div"),r=space(),i=element("div"),a=space(),s=element("div"),attr(t,"class","selection-marker lt svelte-w5ultk"),attr(o,"class","selection-marker rt svelte-w5ultk"),attr(i,"class","selection-marker lb svelte-w5ultk"),attr(s,"class","selection-marker rb svelte-w5ultk")},m(e,c){insert(e,t,c),insert(e,n,c),insert(e,o,c),insert(e,r,c),insert(e,i,c),insert(e,a,c),insert(e,s,c)},d(e){e&&detach(t),e&&detach(n),e&&detach(o),e&&detach(r),e&&detach(i),e&&detach(a),e&&detach(s)}}}function create_fragment$25(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w=(e[18]||e[27])+"",C=[],k=new Map,S=e[12]?.canCheckTables&&create_if_block_6$8(e),T=e[25]&&create_if_block_5$9(e),A=e[24]&&create_if_block_4$c(e),E=e[23]&&create_if_block_3$e(),O=e[12]?.showTableCloseButton&&create_if_block_2$l(e),I=e[12]?.getMutliColumnFilter&&e[12]?.setMutliColumnFilter&&create_if_block_1$D(e),N=e[21]||[];const D=e=>e[66].columnName;for(let t=0;t<N.length;t+=1){let n=get_each_context$p(e,N,t),o=D(n);k.set(o,C[t]=create_each_block$p(o,n))}let M=e[0]?.isSelectedTable&&create_if_block$13();return{c(){t=element("div"),n=element("div"),o=element("div"),S&&S.c(),r=space(),T&&T.c(),i=space(),a=text$1(w),s=space(),A&&A.c(),c=space(),E&&E.c(),l=space(),O&&O.c(),m=space(),I&&I.c(),f=space(),h=element("div");for(let e=0;e<C.length;e+=1)C[e].c();g=space(),M&&M.c(),attr(n,"class","header svelte-w5ultk"),attr(n,"style",u=e[32](e[28],e[0])),toggle_class(n,"isGrayed",e[22]),toggle_class(n,"isTable","tables"==e[26]),toggle_class(n,"isView","views"==e[26]),toggle_class(n,"isCollection","collections"==e[26]),attr(h,"class","columns svelte-w5ultk"),toggle_class(h,"scroll",e[12]?.allowScrollColumns),attr(t,"class","wrapper svelte-w5ultk"),attr(t,"style",_=`left: ${e[15]?e[15].left:e[20]}px; top:${e[15]?e[15].top:e[19]}px`),toggle_class(t,"canSelectColumns",e[12]?.canSelectColumns),toggle_class(t,"isSelectedTable",e[0]?.isSelectedTable)},m(u,_){insert(u,t,_),append(t,n),append(n,o),S&&S.m(o,null),append(o,r),T&&T.m(o,null),append(o,i),append(o,a),append(o,s),A&&A.m(o,null),append(o,c),E&&E.m(o,null),append(n,l),O&&O.m(n,null),append(t,m),I&&I.m(t,null),append(t,f),append(t,h);for(let e=0;e<C.length;e+=1)C[e]&&C[e].m(h,null);append(t,g),M&&M.m(t,null),e[60](t),v=!0,y||(x=[action_destroyer(d=moveDrag.call(null,n,e[12]?.canSelectColumns?[e[29],e[30],e[31]]:null)),action_destroyer(p=contextMenu.call(null,n,e[12]?.canSelectColumns?e[33]:"__no_menu")),listen(n,"click",(function(){is_function(e[12]?.onClickTableHeader?e[54]:null)&&(e[12]?.onClickTableHeader?e[54]:null).apply(this,arguments)})),listen(h,"scroll",e[59]),listen(t,"mousedown",e[61]),action_destroyer($=contextMenu.call(null,t,e[12]?.canSelectColumns?"__no_menu":e[33])),action_destroyer(b=moveDrag.call(null,t,e[12]?.canSelectColumns?null:[e[29],e[30],e[31]]))],y=!0)},p(s,l){e=s,e[12]?.canCheckTables?S?(S.p(e,l),4096&l[0]&&transition_in(S,1)):(S=create_if_block_6$8(e),S.c(),transition_in(S,1),S.m(o,r)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),e[25]?T?(T.p(e,l),33554432&l[0]&&transition_in(T,1)):(T=create_if_block_5$9(e),T.c(),transition_in(T,1),T.m(o,i)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),(!v||134479872&l[0])&&w!==(w=(e[18]||e[27])+"")&&set_data(a,w),e[24]?A?(A.p(e,l),16777216&l[0]&&transition_in(A,1)):(A=create_if_block_4$c(e),A.c(),transition_in(A,1),A.m(o,c)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[23]?E?8388608&l[0]&&transition_in(E,1):(E=create_if_block_3$e(),E.c(),transition_in(E,1),E.m(o,null)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[12]?.showTableCloseButton?O?(O.p(e,l),4096&l[0]&&transition_in(O,1)):(O=create_if_block_2$l(e),O.c(),transition_in(O,1),O.m(n,null)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),(!v||268435457&l[0]&&u!==(u=e[32](e[28],e[0])))&&attr(n,"style",u),d&&is_function(d.update)&&4096&l[0]&&d.update.call(null,e[12]?.canSelectColumns?[e[29],e[30],e[31]]:null),p&&is_function(p.update)&&4096&l[0]&&p.update.call(null,e[12]?.canSelectColumns?e[33]:"__no_menu"),(!v||4194304&l[0])&&toggle_class(n,"isGrayed",e[22]),(!v||67108864&l[0])&&toggle_class(n,"isTable","tables"==e[26]),(!v||67108864&l[0])&&toggle_class(n,"isView","views"==e[26]),(!v||67108864&l[0])&&toggle_class(n,"isCollection","collections"==e[26]),e[12]?.getMutliColumnFilter&&e[12]?.setMutliColumnFilter?I?(I.p(e,l),4096&l[0]&&transition_in(I,1)):(I=create_if_block_1$D(e),I.c(),transition_in(I,1),I.m(t,f)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),2258929&l[0]&&(N=e[21]||[],group_outros(),C=update_keyed_each(C,l,D,1,e,N,k,h,outro_and_destroy_block,create_each_block$p,null,get_each_context$p),check_outros()),(!v||4096&l[0])&&toggle_class(h,"scroll",e[12]?.allowScrollColumns),e[0]?.isSelectedTable?M||(M=create_if_block$13(),M.c(),M.m(t,null)):M&&(M.d(1),M=null),(!v||1605632&l[0]&&_!==(_=`left: ${e[15]?e[15].left:e[20]}px; top:${e[15]?e[15].top:e[19]}px`))&&attr(t,"style",_),$&&is_function($.update)&&4096&l[0]&&$.update.call(null,e[12]?.canSelectColumns?"__no_menu":e[33]),b&&is_function(b.update)&&4096&l[0]&&b.update.call(null,e[12]?.canSelectColumns?null:[e[29],e[30],e[31]]),(!v||4096&l[0])&&toggle_class(t,"canSelectColumns",e[12]?.canSelectColumns),(!v||1&l[0])&&toggle_class(t,"isSelectedTable",e[0]?.isSelectedTable)},i(e){if(!v){transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(O),transition_in(I);for(let e=0;e<N.length;e+=1)transition_in(C[e]);v=!0}},o(e){transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(O),transition_out(I);for(let e=0;e<C.length;e+=1)transition_out(C[e]);v=!1},d(n){n&&detach(t),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d(),I&&I.d();for(let e=0;e<C.length;e+=1)C[e].d();M&&M.d(),e[60](null),y=!1,run_all(x)}}}function instance$22(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h;component_subscribe(e,currentThemeDefinition,(e=>n(28,h=e)));let g,{conid:_}=t,{database:$}=t,{table:b}=t,{zoomKoef:v}=t,{onChangeTable:y}=t,{onBringToFront:x}=t,{onSelectTable:w}=t,{onRemoveTable:C}=t,{onAddAllReferences:k}=t,{onCreateReference:S}=t,{onAddReferenceByColumn:T}=t,{onSelectColumn:A}=t,{onChangeColumn:E}=t,{onChangeTableColor:O}=t,{isMultipleTableSelection:I}=t,{onMoveStart:N}=t,{onMove:D}=t,{onMoveEnd:M}=t,{sourceDragColumn$:R}=t,{targetDragColumn$:L}=t,{domCanvas:F}=t,{designer:P}=t,{onMoveReferences:j}=t,{settings:B}=t,{columnFilter:q}=t,W=null;const z={};function H(e,t,n){if(!e)return[];const o=[];for(const r of e)if(lib$5.filterName(t,r.columnName))o.push(Object.assign(Object.assign({},r),{expandLevel:n})),r.isExpanded&&o.push(...H(r.getChildColumns?r.getChildColumns():null,t,n+1));else if(r.isExpanded){const e=H(r.getChildColumns?r.getChildColumns():null,t,n+1);e.length>0&&(o.push(Object.assign(Object.assign({},r),{expandLevel:n})),o.push(...e))}return o}function U(){n(15,W={left:c,top:l})}function V(e,t){n(15,W.left+=e/v,W),n(15,W.top+=t/v,W)}function G(){const e=W;return n(15,W=null),e}const Y=()=>{showModal(InputTextModal,{value:r||"",label:"New alias",header:"Set table alias",onConfirm:e=>{y(Object.assign(Object.assign({},b),{alias:e}))}})};return e.$$set=e=>{"conid"in e&&n(34,_=e.conid),"database"in e&&n(35,$=e.database),"table"in e&&n(0,b=e.table),"zoomKoef"in e&&n(36,v=e.zoomKoef),"onChangeTable"in e&&n(37,y=e.onChangeTable),"onBringToFront"in e&&n(1,x=e.onBringToFront),"onSelectTable"in e&&n(2,w=e.onSelectTable),"onRemoveTable"in e&&n(3,C=e.onRemoveTable),"onAddAllReferences"in e&&n(38,k=e.onAddAllReferences),"onCreateReference"in e&&n(4,S=e.onCreateReference),"onAddReferenceByColumn"in e&&n(5,T=e.onAddReferenceByColumn),"onSelectColumn"in e&&n(6,A=e.onSelectColumn),"onChangeColumn"in e&&n(7,E=e.onChangeColumn),"onChangeTableColor"in e&&n(39,O=e.onChangeTableColor),"isMultipleTableSelection"in e&&n(40,I=e.isMultipleTableSelection),"onMoveStart"in e&&n(41,N=e.onMoveStart),"onMove"in e&&n(42,D=e.onMove),"onMoveEnd"in e&&n(43,M=e.onMoveEnd),"sourceDragColumn$"in e&&n(8,R=e.sourceDragColumn$),"targetDragColumn$"in e&&n(9,L=e.targetDragColumn$),"domCanvas"in e&&n(44,F=e.domCanvas),"designer"in e&&n(10,P=e.designer),"onMoveReferences"in e&&n(11,j=e.onMoveReferences),"settings"in e&&n(12,B=e.settings),"columnFilter"in e&&n(45,q=e.columnFilter)},e.$$.update=()=>{1&e.$$.dirty[0]&&n(27,o=null==b?void 0:b.pureName),1&e.$$.dirty[0]&&n(18,r=null==b?void 0:b.alias),1025&e.$$.dirty[0]&&n(14,i=(null==b?void 0:b.columns).filter((e=>function(e,t,n){var o,r,i,a,s,c,l,u;if(!(null==B?void 0:B.customizeStyle))return!0;switch((null==n?void 0:n.filterColumns)||"all"){case"primaryKey":return null===(r=null===(o=null==e?void 0:e.primaryKey)||void 0===o?void 0:o.columns)||void 0===r?void 0:r.find((e=>e.columnName==(null==t?void 0:t.columnName)));case"allKeys":return(null===(a=null===(i=null==e?void 0:e.primaryKey)||void 0===i?void 0:i.columns)||void 0===a?void 0:a.find((e=>e.columnName==(null==t?void 0:t.columnName))))||(null===(s=null==e?void 0:e.foreignKeys)||void 0===s?void 0:s.find((e=>e.columns.find((e=>e.columnName==(null==t?void 0:t.columnName))))));case"keysAndNotNull":return(null==t?void 0:t.notNull)||(null===(l=null===(c=null==e?void 0:e.primaryKey)||void 0===c?void 0:c.columns)||void 0===l?void 0:l.find((e=>e.columnName==(null==t?void 0:t.columnName))))||(null===(u=null==e?void 0:e.foreignKeys)||void 0===u?void 0:u.find((e=>e.columns.find((e=>e.columnName==(null==t?void 0:t.columnName))))));case"notNull":return null==t?void 0:t.notNull}return!0}(b,e,null==P?void 0:P.style)))),1&e.$$.dirty[0]&&n(13,a=null==b?void 0:b.designerId),1&e.$$.dirty[0]&&n(26,s=null==b?void 0:b.objectTypeField),1&e.$$.dirty[0]&&n(20,c=null==b?void 0:b.left),1&e.$$.dirty[0]&&n(19,l=null==b?void 0:b.top),12288&e.$$.dirty[0]&&n(25,u=(null==B?void 0:B.getMainTableIcon)?null==B?void 0:B.getMainTableIcon(a):null),12288&e.$$.dirty[0]&&n(24,d=(null==B?void 0:B.tableSpecificDb)?null==B?void 0:B.tableSpecificDb(a):null),12288&e.$$.dirty[0]&&n(23,p=!!(null==B?void 0:B.hasFilterParentRowsFlag)&&(null==B?void 0:B.hasFilterParentRowsFlag(a))),12288&e.$$.dirty[0]&&n(22,m=!!(null==B?void 0:B.isGrayedTable)&&(null==B?void 0:B.isGrayedTable(a))),16384&e.$$.dirty[0]|16384&e.$$.dirty[1]&&n(21,f=H(i,q,0))},[b,x,w,C,S,T,A,E,R,L,P,j,B,a,i,W,g,z,r,l,c,f,m,p,d,u,s,o,h,function(){(null==B?void 0:B.canSelectTables)?N():U()},function(e,t){(null==B?void 0:B.canSelectTables)?D(e,t):(V(e,t),tick().then(j))},function(){if(null==B?void 0:B.canSelectTables)M();else{const e=G();y(Object.assign(Object.assign({},b),{left:e.left,top:e.top})),tick().then(j)}},function(e,t,n=3){if(!(null==t?void 0:t.tableColor))return null;const o=("dark"==(null==e?void 0:e.themeType)?presetDarkPalettes:presetPalettes)[null==t?void 0:t.tableColor];return o?`background: ${o[n]}`:null},function(){return(null==B?void 0:B.tableMenu)?null==B?void 0:B.tableMenu({designer:P,designerId:a,onRemoveTable:C}):[{text:"Remove",onClick:()=>C({designerId:a})},{divider:!0},(null==B?void 0:B.allowTableAlias)&&!I&&[{text:"Set table alias",onClick:Y},r&&{text:"Remove table alias",onClick:()=>y(Object.assign(Object.assign({},b),{alias:null}))}],(null==B?void 0:B.allowAddAllReferences)&&!I&&{text:"Add references",onClick:()=>k(b)},(null==B?void 0:B.allowChangeColor)&&{text:"Change color",onClick:()=>O(b)},(null==B?void 0:B.allowDefineVirtualReferences)&&!I&&{text:"Define virtual foreign key",onClick:()=>(e=>{showModal(VirtualForeignKeyEditorModal,{schemaName:e.schemaName,pureName:e.pureName,conid:_,database:$})})(b)},(null==B?void 0:B.appendTableSystemMenu)&&!I&&[{divider:!0},createDatabaseObjectMenu(Object.assign(Object.assign({},b),{conid:_,database:$}))]]},_,$,v,y,k,O,I,N,D,M,F,q,function(){return null==b?void 0:b.isSelectedTable},function(){return a},U,V,G,function(){const e=Object.assign({},z);return e[""]=g,new DomTableRef(b,e,F,B)},e=>{B?.setTableChecked&&B?.setTableChecked(a,e.target.checked)},()=>C(b),()=>B?.onClickTableHeader(a),e=>B?.setMutliColumnFilter(a,e),e=>B?.isColumnExpandable(e),(e,t)=>B?.toggleExpandedColumn(e,t),function(t,o){e.$$.not_equal(z[o.columnName],t)&&(z[o.columnName]=t,n(17,z))},()=>tick().then(j),function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(16,g)}))},e=>{0==e.button&&(e.stopPropagation(),x(b),B?.canSelectTables&&!b?.isSelectedTable&&w(b,isCtrlOrCommandKey(e)))}]}class DesignerTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$22,create_fragment$25,safe_not_equal,{conid:34,database:35,table:0,zoomKoef:36,onChangeTable:37,onBringToFront:1,onSelectTable:2,onRemoveTable:3,onAddAllReferences:38,onCreateReference:4,onAddReferenceByColumn:5,onSelectColumn:6,onChangeColumn:7,onChangeTableColor:39,isMultipleTableSelection:40,onMoveStart:41,onMove:42,onMoveEnd:43,sourceDragColumn$:8,targetDragColumn$:9,domCanvas:44,designer:10,onMoveReferences:11,settings:12,columnFilter:45,isSelected:46,getDesignerId:47,moveStart:48,move:49,moveEnd:50,getDomTable:51},null,[-1,-1,-1])}get isSelected(){return this.$$.ctx[46]}get getDesignerId(){return this.$$.ctx[47]}get moveStart(){return this.$$.ctx[48]}get move(){return this.$$.ctx[49]}get moveEnd(){return this.$$.ctx[50]}get getDomTable(){return this.$$.ctx[51]}}class DesignerComponent{constructor(){this.subComponents=[],this.tables=[],this.nonPrimaryReferences=[]}get primaryTable(){return this.tables[0]}get nonPrimaryTables(){return this.tables.slice(1)}get nonPrimaryTablesAndReferences(){return _.zip(this.nonPrimaryTables,this.nonPrimaryReferences)}get myAndParentTables(){return[...this.parentTables,...this.tables]}get parentTables(){return this.parentComponent?this.parentComponent.myAndParentTables:[]}get thisAndSubComponentsTables(){return[...this.tables,..._.flatten(this.subComponents.map((e=>e.thisAndSubComponentsTables)))]}}class DesignerComponentCreator{constructor(e){for(this.designer=e,this.components=[],this.toAdd=[...e.tables];this.toAdd.length>0;){const e=this.parseComponent(null);this.components.push(e)}}parseComponent(e){if(null==e&&(e=findPrimaryTable(this.toAdd)),!e)return null;_.remove(this.toAdd,(t=>t==e));const t=new DesignerComponent;for(t.tables.push(e);;){let e=!1;for(const n of this.toAdd){const o=findConnectingReference(this.designer,t.tables,[n],referenceIsJoin);if(o){t.tables.push(n),t.nonPrimaryReferences.push(o),_.remove(this.toAdd,(e=>e==n)),e=!0;break}}if(!e)break}for(;;){let e=!1;for(const n of this.toAdd){const o=findConnectingReference(this.designer,t.tables,[n],referenceIsExists);if(o){const r=this.parseComponent(n);t.subComponents.push(r),r.parentComponent=t,r.parentReference=o,e=!0;break}}if(!e)break}return t}}class DesignerQueryDumper{constructor(e,t){this.designer=e,this.components=t}get topLevelTables(){return _.flatten(this.components.map((e=>e.tables)))}dumpComponent(e){const t={commandType:"select",from:{name:e.primaryTable,alias:e.primaryTable.alias,relations:[]}};for(const[n,o]of e.nonPrimaryTablesAndReferences)t.from.relations.push({name:n,alias:n.alias,joinType:o.joinType,conditions:getReferenceConditions(o,this.designer)});for(const n of e.subComponents){const e=this.dumpComponent(n);e.selectAll=!0,t.where=lib$2.mergeConditions(t.where,{conditionType:"WHERE NOT EXISTS"==n.parentReference.joinType?"notExists":"exists",subQuery:e})}if(e.parentReference){t.where=lib$2.mergeConditions(t.where,{conditionType:"and",conditions:getReferenceConditions(e.parentReference,this.designer)});for(const n of this.designer.references||[])referenceIsCrossJoin(n)&&referenceIsConnecting(n,e.tables,e.myAndParentTables)&&(t.where=lib$2.mergeConditions(t.where,{conditionType:"and",conditions:getReferenceConditions(n,this.designer)}));this.addConditions(t,e.tables)}return t}buildConditionFromFilterField(e,t,n){const o=[];for(const r of this.designer.columns||[])if(r[t]){if(!r.isCustomExpression){const t=(this.designer.tables||[]).find((e=>e.designerId==r.designerId));if(!t)continue;if(!e.find((e=>e.designerId==t.designerId)))continue}try{const e=lib.parseFilter(r[t],findDesignerFilterBehaviour(r,this.designer));e&&o.push(_.cloneDeepWith(e,(e=>{if("placeholder"==e.exprType)return n?n(r):this.getColumnExpression(r)})))}catch(e){continue}}return 0==o.length?null:1==o.length?o[0]:{conditionType:"and",conditions:o}}addConditionsCore(e,t,n,o,r){const i=_.compact(n.map((e=>this.buildConditionFromFilterField(t,e,r))));0!=i.length&&(0!=i.length?e[o]=lib$2.mergeConditions(e[o],{conditionType:"or",conditions:i}):e[o]=lib$2.mergeConditions(e[o],i[0]))}addConditions(e,t){var n;const o=(null===(n=this.designer.settings)||void 0===n?void 0:n.additionalFilterCount)||0,r=["filter",..._.range(o).map((e=>`additionalFilter${e+1}`))];this.addConditionsCore(e,t,r,"where")}addGroupConditions(e,t,n){var o;const r=(null===(o=this.designer.settings)||void 0===o?void 0:o.additionalGroupFilterCount)||0,i=["groupFilter",..._.range(r).map((e=>`additionalGroupFilter${e+1}`))];this.addConditionsCore(e,t,i,"having",(e=>this.getColumnResultField(e,n)))}getColumnExpression(e){const t=findQuerySource(this.designer,e.designerId),{columnName:n,isCustomExpression:o,customExpression:r}=e;return o?{exprType:"raw",sql:r}:{exprType:"column",columnName:n,source:t}}getColumnResultField(e,t){const{columnName:n}=e;let{alias:o}=e;const r=this.getColumnExpression(e);if(t&&!e.isGrouped){const t=null==e.aggregate||"---"==e.aggregate?"MAX":e.aggregate;return o||(o=`${t}(${n})`),{exprType:"call",func:"COUNT DISTINCT"==t?"COUNT":t,argsPrefix:"COUNT DISTINCT"==t?"DISTINCT":null,alias:o,args:[r]}}return Object.assign(Object.assign({},r),{alias:o})}run(){let e=null;for(const t of this.components){const n=this.dumpComponent(t);e=null==e?n:mergeSelectsFromDesigner(e,n)}const t=this.topLevelTables;for(const n of this.designer.references||[])referenceIsCrossJoin(n)&&referenceIsConnecting(n,t,t)&&(e.where=lib$2.mergeConditions(e.where,{conditionType:"and",conditions:getReferenceConditions(n,this.designer)}));const n=(this.designer.columns||[]).filter((e=>t.find((t=>t.designerId==e.designerId))||e.isCustomExpression&&e.customExpression)),o=!!n.find((e=>e.isGrouped||e.aggregate&&"---"!=e.aggregate)),r=n.filter((e=>e.isOutput));0==r.length?e.selectAll=!0:e.columns=r.map((e=>this.getColumnResultField(e,o)));const i=n.filter((e=>e.isGrouped));i.length>0&&(e.groupBy=i.map((e=>this.getColumnExpression(e))));const a=_.sortBy(n.filter((e=>e.sortOrder)),(e=>Math.abs(e.sortOrder)));return a.length>0&&(e.orderBy=a.map((e=>Object.assign(Object.assign({},this.getColumnExpression(e)),{direction:e.sortOrder<0?"DESC":"ASC"})))),this.addConditions(e,t),this.addGroupConditions(e,t,o),e}}function referenceIsConnecting(e,t,n){return t.find((t=>t.designerId==e.sourceId))&&n.find((t=>t.designerId==e.targetId))||t.find((t=>t.designerId==e.targetId))&&n.find((t=>t.designerId==e.sourceId))}function referenceIsJoin(e){return["INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL OUTER JOIN"].includes(e.joinType)}function referenceIsExists(e){return["WHERE EXISTS","WHERE NOT EXISTS"].includes(e.joinType)}function referenceIsCrossJoin(e){return!e.joinType||"CROSS JOIN"==e.joinType}function findConnectingReference(e,t,n,o){for(const r of e.references||[])if(o(r)&&referenceIsConnecting(r,t,n))return r;return null}function findQuerySource(e,t){const n=e.tables.find((e=>e.designerId==t));return n?{name:n,alias:n.alias}:null}function mergeSelectsFromDesigner(e,t){return{commandType:"select",from:Object.assign(Object.assign({},e.from),{relations:[...e.from.relations,{joinType:"CROSS JOIN",name:t.from.name,alias:t.from.alias},...t.from.relations]}),where:lib$2.mergeConditions(e.where,t.where)}}function findPrimaryTable(e){return _.minBy(e,(e=>e.top))}function getReferenceConditions(e,t){const n=t.tables.find((t=>t.designerId==e.sourceId)),o=t.tables.find((t=>t.designerId==e.targetId));return e.columns.map((e=>({conditionType:"binary",operator:"=",left:{exprType:"column",columnName:e.source,source:{name:n,alias:n.alias}},right:{exprType:"column",columnName:e.target,source:{name:o,alias:o.alias}}})))}function generateDesignedQuery(e,t){var n;if(!findPrimaryTable(e.tables))return"";const o=new DesignerComponentCreator(e),r=new DesignerQueryDumper(e,o.components).run();r.distinct=!!(null===(n=null==e?void 0:e.settings)||void 0===n?void 0:n.isDistinct);const i=t.createDumper();return lib$2.dumpSqlSelect(i,r),i.s}function isConnectedByReference(e,t,n,o){if(!e.references)return!1;const r=new DesignerComponentCreator(Object.assign(Object.assign({},e),{references:o?e.references.filter((e=>e.designerId!=o.designerId)):e.references})).components.map((e=>e.thisAndSubComponentsTables));return r.find((e=>e.find((e=>e.designerId==t.designerId))))==r.find((e=>e.find((e=>e.designerId==n.designerId))))}function findDesignerFilterBehaviour({designerId:e,columnName:t},n){const o=(n.tables||[]).find((t=>t.designerId==e));if(o){const e=(o.columns||[]).find((e=>e.columnName==t));if(e){const{dataType:t}=e;return lib$5.detectSqlFilterBehaviour(t)}}return"string"}function cleanupDesignColumns(e){return(e||[]).filter((e=>e.isOutput||e.isGrouped||e.alias||e.aggregate&&"---"!=e.aggregate||e.sortOrder||e.filter))}function sortByStart(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function sortByEnd(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function hasOverlap(e,t){return t[1]>e[0]&&t[0]<e[1]}function union(...e){if(!e.length)return[];e=e.sort(sortByStart);const t=[];let[n,o]=e[0];for(let r=1,i=e.length;r<i;r++){const[i,a]=e[r];o<i&&(t.push([n,o]),n=i),o<a&&(o=a)}return[...t,[n,o]]}function difference(e,t){return hasOverlap(e,t)?t[0]>e[0]&&t[1]<e[1]?[[e[0],t[0]],[t[1],e[1]]]:t[0]<=e[0]&&t[1]>=e[1]?null:t[0]>e[0]?[[e[0],t[0]]]:[[t[1],e[1]]]:[e]}function arrayDifference(e,t){const n=union(...e),o=union(...t);if(!n.length)return[];if(!o.length)return n;const r=[];for(let e=0,t=n.length;e<t;e++){let[t,i]=n[e],a=!0;for(let e=0,n=o.length;e<n;e++){const n=o[e];if(n[1]<=t)continue;if(n[0]>=i)break;const s=difference([t,i],n);if(!s){a=!1;break}[t,i]=s[s.length-1],s.length>1&&r.push(s[0])}a&&r.push([t,i])}return r}function intersection(...e){e.sort(sortByStart);const[t,n]=[e[e.length-1][0],e.sort(sortByEnd)[0][1]];for(let o=0,r=e.length;o<r-1;o++){const[r,i]=e[o+1];if(r>n||i<t)return null}return[t,n]}function intersectLineLine(e,t,n,o){const r=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===r)return null;const i=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/r,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/r;return i<0||i>1||a<0||a>1?null:{x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},r={x:n.right,y:n.top},i={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,r))&&s.push(c),(c=intersectLineLine(e,t,r,a))&&s.push(c),(c=intersectLineLine(e,t,a,i))&&s.push(c),(c=intersectLineLine(e,t,i,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let r=e-n,i=t-o;return Math.sqrt(r*r+i*i)}const o=e.left,r=e.top,i=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=i<s,m=u<r,f=a<c;return f&&d?n(o,a,l,c):d&&m?n(o,r,l,u):m&&p?n(i,r,s,u):p&&f?n(i,a,s,c):d?o-l:p?s-i:m?r-u:f?c-a:0}function rectanglesHaveIntersection(e,t){const n=intersection([e.left,e.right],[t.left,t.right]),o=intersection([e.top,e.bottom],[t.top,t.bottom]);return!!n&&!!o}class Vector2D{constructor(e,t){this.x=e,this.y=t}static random(){return new Vector2D(10*(Math.random()-.5),10*(Math.random()-.5))}add(e){return new Vector2D(this.x+e.x,this.y+e.y)}subtract(e){return new Vector2D(this.x-e.x,this.y-e.y)}multiply(e){return new Vector2D(this.x*e,this.y*e)}divide(e){return new Vector2D(this.x/e||0,this.y/e||0)}magnitude(){return Math.sqrt(this.x*this.x+this.y*this.y)}normal(e){return new Vector2D(-this.y,this.x)}normalise(){return this.divide(this.magnitude())}}function solveOverlapsInIntervalArray(e,t,n){const o=arrayDifference([[-1/0,1/0]],n),r=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)r.push(n[1]-t/2);else if(n[0]>e)r.push(n[0]+t/2);else{let o=e;o-t/2<n[0]&&(o=n[0]+t/2),o+t/2>n[1]&&(o=n[1]-t/2),r.push(o)}}return _.minBy(r,(t=>Math.abs(t-e)))}const MIN_NODE_DISTANCE=50,SPRING_LENGTH=100,SPRINGY_STEPS=50,GRAVITY_X=.005,GRAVITY_Y=.01,REPULSION=1e3,MAX_FORCE_SIZE=100,NODE_MARGIN=30,NODE_SPACE_TREE=60,GRAVITY_EXPONENT=1.05;class GraphNode{constructor(e,t,n,o,r){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=r,this.neightboors=[]}initialize(){this.radius=Math.sqrt(this.width*this.width/4+this.height*this.height/4)}}class GraphEdge{constructor(e,t,n){this.graph=e,this.source=t,this.target=n}}class GraphDefinition{constructor(){this.nodes={},this.edges=[]}addNode(e,t,n,o){this.nodes[e]=new GraphNode(this,e,t,n,o)}addEdge(e,t){const n=this.nodes[e],o=this.nodes[t];n&&o&&!this.edges.find((e=>e.source==n&&e.target==o||e.target==n&&e.source==o))&&this.edges.push(new GraphEdge(this,n,o))}initialize(){for(const e of Object.values(this.nodes)){for(const t of this.edges)t.source!=e||e.neightboors.includes(t.target)||e.neightboors.push(t.target),t.target!=e||e.neightboors.includes(t.source)||e.neightboors.push(t.source);e.initialize()}}detectCentreNode(){if(_.values(this.nodes).find((e=>e.fixedPosition)))return null;const e=[];for(const t of _.values(this.nodes)){let n=!0;for(const e of _.values(this.nodes))if(t!=e&&!t.neightboors.includes(e)){n=!1;break}n&&e.push(t)}return 1==e.length?e[0]:null}}class LayoutNode{constructor(e,t,n){this.node=e,this.x=t,this.y=n,this.left=t-e.width/2,this.top=n-e.height/2,this.right=t+e.width/2,this.bottom=n+e.height/2,this.position=new Vector2D(t,n),this.rangeXPadded=[this.left-NODE_MARGIN,this.right+NODE_MARGIN],this.rangeYPadded=[this.top-NODE_MARGIN,this.bottom+NODE_MARGIN]}translate(e,t,n=!1){return this.node.fixedPosition&&!n?this:new LayoutNode(this.node,this.x+e,this.y+t)}distanceTo(e){return rectangleDistance(this,e)}hasPaddedIntersect(e){const t=intersection(this.rangeXPadded,e.rangeXPadded),n=intersection(this.rangeYPadded,e.rangeYPadded);return t&&t[1]-t[0]>.1&&n&&n[1]-n[0]>.1}}class ForceAlgorithmStep{constructor(e){this.layout=e,this.nodeForces={}}applyForce(e,t){t.magnitude()>MAX_FORCE_SIZE&&(t=t.normalise().multiply(MAX_FORCE_SIZE)),e.node.designerId in this.nodeForces?this.nodeForces[e.node.designerId]=this.nodeForces[e.node.designerId].add(t):this.nodeForces[e.node.designerId]=t}applyCoulombsLaw(){for(const e of _.values(this.layout.nodes))for(const t of _.values(this.layout.nodes)){if(e.node.designerId==t.node.designerId)continue;const n=e.position.subtract(t.position).normalise(),o=e.distanceTo(t)+MIN_NODE_DISTANCE;this.applyForce(e,n.multiply(.5*REPULSION/(o*o))),this.applyForce(t,n.multiply(-.5*REPULSION/(o*o)))}}applyHooksLaw(){for(const t of this.layout.edges){const n=t.target.position.subtract(t.source.position),o=SPRING_LENGTH-t.length;var e=n.normalise();this.applyForce(t.source,e.multiply(-.5*o)),this.applyForce(t.target,e.multiply(.5*o))}}applyGravity(){for(const e of _.values(this.layout.nodes))this.applyForce(e,new Vector2D(-Math.pow(Math.abs(e.position.x),GRAVITY_EXPONENT)*Math.sign(e.position.x)*GRAVITY_X,-Math.pow(Math.abs(e.position.y),GRAVITY_EXPONENT)*Math.sign(e.position.y)*GRAVITY_Y))}moveNode(e){const t=this.nodeForces[e.node.designerId];return t?e.translate(t.x,t.y):e}}class LayoutEdge{}function addNodeNeighboors(e,t,n){const o=_.sortBy(e,[e=>e.neightboors.length,e=>e.height,e=>e.designerId]);for(const e of o)n.has(e.designerId)||(n.add(e.designerId),t.push(e),addNodeNeighboors(e.neightboors,t,n));return t}class GraphLayout{constructor(e){this.graph=e,this.nodes={},this.edges=[]}static createCircle(e,t={x:0,y:0}){const n=new GraphLayout(e);if(_.isEmpty(e.nodes))return n;const o=new Set,r=[],i=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=i&&!e.fixedPosition)),r,o);const a=_.max(r.map((e=>e.radius))),s=r.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/r.length;for(const e of r)n.nodes[e.designerId]=new LayoutNode(e,t.x+Math.sin(c)*s,t.y+Math.cos(c)*s),c+=l;for(const t of _.values(e.nodes).filter((e=>e.fixedPosition)))n.nodes[t.designerId]=new LayoutNode(t,t.fixedPosition.x,t.fixedPosition.y);return i&&(n.nodes[i.designerId]=new LayoutNode(i,t.x,t.y)),n.fillEdges(),n}static createTree(e,t){const n=new GraphLayout(e),o=e.nodes[t];if(!o)return n;const r=new LayoutNode(o,o.width/2+NODE_MARGIN,o.height/2+NODE_MARGIN);n.nodes[t]=r,n.createTreeLevel([o],r.right+NODE_SPACE_TREE);let i=_.max(_.values(n.nodes).map((e=>e.right)));const a=_.values(e.nodes).filter((e=>!n.nodes[e.designerId]));for(const e of a){i+=NODE_SPACE_TREE;const t=new LayoutNode(e,i+e.width/2,NODE_MARGIN+e.height/2);n.nodes[e.designerId]=t,i+=e.width}return n}createTreeLevel(e,t){let n=NODE_MARGIN,o=0;const r=[];for(const i of e)for(const e of i.neightboors){if(e.designerId in this.nodes)continue;r.push(e);const i=new LayoutNode(e,t+e.width/2,n+e.height/2);this.nodes[e.designerId]=i,n+=e.height+NODE_MARGIN,i.right>o&&(o=i.right)}r.length>0&&this.createTreeLevel(r,o+NODE_SPACE_TREE)}fillEdges(){this.edges=this.graph.edges.map((e=>{const t=new LayoutEdge;t.edge=e;const n=this.nodes[e.source.designerId],o=this.nodes[e.target.designerId];return t.length=n.distanceTo(o),t.source=n,t.target=o,t}))}changePositions(e,t=!0){const n=new GraphLayout(this.graph);return n.nodes=_.mapValues(this.nodes,e),t&&n.fillEdges(),n}fixViewBox(){const e=_.min(_.values(this.nodes).map((e=>e.left))),t=_.min(_.values(this.nodes).map((e=>e.top)));return this.changePositions((n=>n.translate(50-e,50-t,!0)))}springyStep(){const e=new ForceAlgorithmStep(this);return e.applyHooksLaw(),e.applyCoulombsLaw(),e.applyGravity(),this.changePositions((t=>e.moveNode(t)))}springyAlg(){let e=this;for(let t=0;t<SPRINGY_STEPS;t++)e=e.springyStep();return e}solveOverlaps(){const e=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),t=new GraphLayout(this.graph);for(const n of e){const e=_.values(t.nodes);if(e.find((e=>e.hasPaddedIntersect(n)))){const o=union(...e.filter((e=>intersection(e.rangeYPadded,n.rangeYPadded))).map((e=>e.rangeXPadded))),r=union(...e.filter((e=>intersection(e.rangeXPadded,n.rangeXPadded))).map((e=>e.rangeYPadded))),i=solveOverlapsInIntervalArray(n.x,n.node.width+2*NODE_MARGIN,o),a=solveOverlapsInIntervalArray(n.y,n.node.height+2*NODE_MARGIN,r),s=Math.abs(i-n.x)<Math.abs(a-n.y)?new LayoutNode(n.node,i,n.y):new LayoutNode(n.node,n.x,a);t.nodes[n.node.designerId]=s}else t.nodes[n.node.designerId]=n}return t.fillEdges(),t}print(){for(const e of _.values(this.nodes))console.log({designerId:e.node.designerId,left:e.left,top:e.top,right:e.right,bottom:e.bottom})}}function create_default_slot$R(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[3]}}),r.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot$6(e){let t;return{c(){t=text$1(e[0])},m(e,n){insert(e,t,n)},p(e,n){1&n&&set_data(t,e[0])},d(e){e&&detach(t)}}}function create_fragment$24(e){let t,n;const o=[e[4]];let r={$$slots:{header:[create_header_slot$6],default:[create_default_slot$R]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$21(e,t,n){let o;const r=["color","header","text","onChange"];let i=compute_rest_props(t,r),{color:a}=t,{header:s}=t,{text:c}=t,{onChange:l}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,r)),"color"in e&&n(5,a=e.color),"header"in e&&n(0,s=e.header),"text"in e&&n(1,c=e.text),"onChange"in e&&n(2,l=e.onChange)},e.$$.update=()=>{32&e.$$.dirty&&n(3,o=a)},[s,c,l,o,i,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$21,create_fragment$24,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function create_if_block$12(e){let t,n,o,r,i;function a(e,t){return e[3]?create_if_block_1$C:create_else_block$r}let s=a(e),c=s(e);return{c(){t=element("div"),c.c(),attr(t,"class","wrapper svelte-uqb2wg"),attr(t,"draggable",n=!!e[3]),attr(t,"title",o=e[3]?"Drag this column to other column for creating JOIN":"Drag column here for creating JOIN")},m(n,o){insert(n,t,o),c.m(t,null),r||(i=[listen(t,"dragstart",e[5]),listen(t,"dragend",e[6]),listen(t,"dragover",e[7]),listen(t,"drop",e[8])],r=!0)},p(e,r){s===(s=a(e))&&c?c.p(e,r):(c.d(1),c=s(e),c&&(c.c(),c.m(t,null))),8&r&&n!==(n=!!e[3])&&attr(t,"draggable",n),8&r&&o!==(o=e[3]?"Drag this column to other column for creating JOIN":"Drag column here for creating JOIN")&&attr(t,"title",o)},d(e){e&&detach(t),c.d(),r=!1,run_all(i)}}}function create_else_block$r(e){let t;return{c(){t=text$1("Drag & drop column here")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_if_block_1$C(e){let t,n=e[3].columnName+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){8&o&&n!==(n=e[3].columnName+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_fragment$23(e){let t,n=e[2]?.allowCreateRefByDrag&&create_if_block$12(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[2]?.allowCreateRefByDrag?n?n.p(e,o):(n=create_if_block$12(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}function instance$20(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(a,(e=>n(4,o=e))),a);e.$$.on_destroy.push((()=>r()));let{sourceDragColumn$:a}=t;i();let s,{targetDragColumn$:c}=t,{settings:l}=t;return e.$$set=e=>{"sourceDragColumn$"in e&&i(n(0,a=e.sourceDragColumn$)),"targetDragColumn$"in e&&n(1,c=e.targetDragColumn$),"settings"in e&&n(2,l=e.settings)},[a,c,l,s,o,e=>{if(!l?.allowCreateRefByDrag)return;if(!s)return;const t={...s};a.set(t),e.dataTransfer.setData("designer_column_drag_data",JSON.stringify(t))},e=>{a.set(null),c.set(null)},e=>{o&&e.preventDefault()},e=>{var t=e.dataTransfer.getData("designer_column_drag_data");e.preventDefault(),t&&(n(3,s=o),a.set(null),c.set(null))}]}class DragColumnMemory extends SvelteComponent{constructor(e){super(),init(this,e,instance$20,create_fragment$23,safe_not_equal,{sourceDragColumn$:0,targetDragColumn$:1,settings:2})}}function get_each_context$o(e,t,n){const o=e.slice();return o[73]=t[n],o[74]=t,o[75]=n,o}function get_each_context_1$3(e,t,n){const o=e.slice();return o[76]=t[n],o[77]=t,o[78]=n,o}function create_if_block_2$k(e){let t;return{c(){t=element("div"),t.textContent="Drag & drop tables or views from left panel here",attr(t,"class","empty svelte-1tqsb1")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block_1$3(e,t){let n,o,r,i,a=t[76];const s=()=>t[56](o,a),c=()=>t[56](null,a);var l=t[4];function u(e){return{props:{domTables:e[7],reference:e[76],onChangeReference:e[27],onRemoveReference:e[28],designer:e[0],settings:e[3]}}}return l&&(o=construct_svelte_component(l,u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),r=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,r,t),i=!0},p(e,n){a!==(t=e)[76]&&(c(),a=t[76],s());const i={};if(128&n[0]&&(i.domTables=t[7]),262144&n[0]&&(i.reference=t[76]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),16&n[0]&&l!==(l=t[4])){if(o){group_outros();const e=o;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}l?(o=construct_svelte_component(l,u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,r.parentNode,r)):o=null}else l&&o.$set(i)},i(e){i||(o&&transition_in(o.$$.fragment,e),i=!0)},o(e){o&&transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),c(),e&&detach(r),o&&destroy_component(o,e)}}}function create_each_block$o(e,t){let n,o,r,i=t[73];const a=()=>t[57](o,i),s=()=>t[57](null,i);let c={onCreateReference:t[29],onSelectColumn:t[33],onChangeColumn:t[34],onAddReferenceByColumn:t[30],onAddAllReferences:t[31],onChangeTableColor:t[32],onMoveReferences:t[42],columnFilter:t[5],table:t[73],conid:t[1],database:t[2],zoomKoef:t[15],isMultipleTableSelection:t[16],onChangeTable:t[23],onBringToFront:t[24],onSelectTable:t[25],onRemoveTable:t[26],onMoveStart:t[36],onMove:t[37],onMoveEnd:t[38],domCanvas:t[9],designer:t[0],sourceDragColumn$:t[19],targetDragColumn$:t[20],settings:t[3]};return o=new DesignerTable({props:c}),a(),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){i!==(t=e)[73]&&(s(),i=t[73],a());const r={};32&n[0]&&(r.columnFilter=t[5]),256&n[0]&&(r.table=t[73]),2&n[0]&&(r.conid=t[1]),4&n[0]&&(r.database=t[2]),32768&n[0]&&(r.zoomKoef=t[15]),65536&n[0]&&(r.isMultipleTableSelection=t[16]),512&n[0]&&(r.domCanvas=t[9]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),s(),destroy_component(o,e)}}}function create_if_block_1$B(e){let t,n,o;return{c(){t=svg_element("svg"),n=svg_element("polyline"),attr(n,"points",o=`\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[13].y}\n ${e[13].x},${e[13].y}\n ${e[13].x},${e[12].y}\n ${e[12].x},${e[12].y}\n `),attr(n,"class","svelte-1tqsb1"),attr(t,"class","drag-rect svelte-1tqsb1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){12288&t[0]&&o!==(o=`\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[13].y}\n ${e[13].x},${e[13].y}\n ${e[13].x},${e[12].y}\n ${e[12].x},${e[12].y}\n `)&&attr(n,"points",o)},d(e){e&&detach(t)}}}function create_if_block$11(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[60](t)}n=new DragColumnMemory({props:{settings:e[3],sourceDragColumn$:e[19],targetDragColumn$:e[20]}});let p={placeholder:"Filter columns"};function m(t){e[61](t)}void 0!==e[5]&&(p.value=e[5]),i=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(i,"value",d)));let f={};return void 0!==e[5]&&(f.filter=e[5]),c=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(c,"filter",m))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","searchbox svelte-1tqsb1"),attr(t,"class","panel svelte-1tqsb1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,s),mount_component(c,r,null),u=!0},p(e,t){const o={};8&t[0]&&(o.settings=e[3]),n.$set(o);const r={};!a&&32&t[0]&&(a=!0,r.value=e[5],add_flush_callback((()=>a=!1))),i.$set(r);const s={};!l&&32&t[0]&&(l=!0,s.filter=e[5],add_flush_callback((()=>l=!1))),c.$set(s)},i(e){u||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(c)}}}function create_fragment$22(e){let t,n,o,r,i,a,s,c,l,u,d,p=[],m=new Map,f=[],h=new Map,g=!(e[8]?.length>0)&&create_if_block_2$k(),_=e[18]||[];const $=e=>e[76].designerId;for(let t=0;t<_.length;t+=1){let n=get_each_context_1$3(e,_,t),o=$(n);m.set(o,p[t]=create_each_block_1$3(o,n))}let b=e[8]||[];const v=e=>e[73].designerId;for(let t=0;t<b.length;t+=1){let n=get_each_context$o(e,b,t),o=v(n);h.set(o,f[t]=create_each_block$o(o,n))}let y=e[12]&&e[13]&&create_if_block_1$B(e),x=e[8]?.length>0&&create_if_block$11(e);return{c(){t=element("div"),g&&g.c(),n=space(),o=element("div");for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<f.length;e+=1)f[e].c();i=space(),y&&y.c(),c=space(),x&&x.c(),attr(o,"class","canvas svelte-1tqsb1"),attr(o,"style",a=`width:${e[10]}px;height:${e[11]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `),attr(t,"class","wrapper noselect svelte-1tqsb1")},m(a,m){insert(a,t,m),g&&g.m(t,null),append(t,n),append(t,o);for(let e=0;e<p.length;e+=1)p[e]&&p[e].m(o,null);append(o,r);for(let e=0;e<f.length;e+=1)f[e]&&f[e].m(o,null);append(o,i),y&&y.m(o,null),e[58](o),append(t,c),x&&x.m(t,null),l=!0,u||(d=[listen(o,"dragover",dragover_handler),listen(o,"drop",e[35]),listen(o,"mousedown",e[59]),action_destroyer(s=moveDrag.call(null,o,e[3]?.canSelectTables?[e[39],e[40],e[41]]:null)),action_destroyer(contextMenu.call(null,t,e[43]))],u=!0)},p(e,c){e[8]?.length>0?g&&(g.d(1),g=null):g||(g=create_if_block_2$k(),g.c(),g.m(t,n)),402931865&c[0]&&(_=e[18]||[],group_outros(),p=update_keyed_each(p,c,$,1,e,_,m,o,outro_and_destroy_block,create_each_block_1$3,r,get_each_context_1$3),check_outros()),1738113903&c[0]|2287&c[1]&&(b=e[8]||[],group_outros(),f=update_keyed_each(f,c,v,1,e,b,h,o,outro_and_destroy_block,create_each_block$o,i,get_each_context$o),check_outros()),e[12]&&e[13]?y?y.p(e,c):(y=create_if_block_1$B(e),y.c(),y.m(o,null)):y&&(y.d(1),y=null),(!l||3081&c[0]&&a!==(a=`width:${e[10]}px;height:${e[11]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `))&&attr(o,"style",a),s&&is_function(s.update)&&8&c[0]&&s.update.call(null,e[3]?.canSelectTables?[e[39],e[40],e[41]]:null),e[8]?.length>0?x?(x.p(e,c),256&c[0]&&transition_in(x,1)):(x=create_if_block$11(e),x.c(),transition_in(x,1),x.m(t,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){if(!l){for(let e=0;e<_.length;e+=1)transition_in(p[e]);for(let e=0;e<b.length;e+=1)transition_in(f[e]);transition_in(x),l=!0}},o(e){for(let e=0;e<p.length;e+=1)transition_out(p[e]);for(let e=0;e<f.length;e+=1)transition_out(f[e]);transition_out(x),l=!1},d(n){n&&detach(t),g&&g.d();for(let e=0;e<p.length;e+=1)p[e].d();for(let e=0;e<f.length;e+=1)f[e].d();y&&y.d(),e[58](null),x&&x.d(),u=!1,run_all(d)}}}const getCurrentEditor$e=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$e())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$e().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$e().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$e())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1$(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,currentThemeDefinition,(e=>n(62,l=e))),e.$$.on_destroy.push((()=>p()));var m,f,h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{value:g}=t,{onChange:$}=t,{conid:b}=t,{database:v}=t,{menu:y}=t,{settings:x}=t,{referenceComponent:w}=t;const C=createActivator("Designer",!0);let k,S,T=3e3,A=3e3,E=null,O=null;const I=writable(null),N=writable(null),D=(null==x?void 0:x.updateFromDbInfo)?useDatabaseInfo({conid:b,database:v}):null;component_subscribe(e,D,(e=>n(55,d=e)));const M={},R={};let L;function F(){n(7,L=_.pickBy(_.mapValues(M,(e=>null==e?void 0:e.getDomTable()))))}function P(e){const t=_.min(e.map((e=>e.left))),n=_.min(e.map((e=>e.top)));if(t<0||n<0){const o=t<0?-t:0,r=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+r})))}return e}function j(e="auto"){"auto"==e&&D&&(e=o),(null==x?void 0:x.updateFromDbInfo)&&e&&$((t=>{let n=t.tables||[];for(const o of t.tables||[]){const t=(e.tables||[]).find((e=>e.pureName==o.pureName&&e.schemaName==o.schemaName));jsonStableStringify(_.pick(t,["columns","primaryKey","foreignKeys"]))!=jsonStableStringify(_.pick(o,["columns","primaryKey","foreignKeys"]))&&(n=n.map((e=>e==o?Object.assign(Object.assign({},o),_.pick(t,["columns","primaryKey","foreignKeys"])):e)))}let o=null==t?void 0:t.references;if(null==x?void 0:x.useDatabaseReferences){o=[];for(const e of n)for(const t of e.foreignKeys){const r=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));r&&o.push({designerId:v1_1$6(),sourceId:e.designerId,targetId:r.designerId,joinType:"",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))})}}return Object.assign(Object.assign({},t),{tables:n,references:o})}),!0)}function B(e,t=void 0,n=void 0){$(e,t,n),tick().then(H)}const q=(e,t,n)=>{var o;const r=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!r)return;const i=[];for(const t of r.foreignKeys||[]){if(![...n.tables,...i].find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName))){const n=e.tables.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));n&&i.push(n)}}for(const t of r.dependencies||[]){if(![...n.tables,...i].find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName))){const n=e.tables.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));n&&i.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...i.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$6()}`,needsArrange:!0})))]})},W=(e,t)=>{const n=(t||[]).map((e=>e.alias||e.pureName));if(!n.includes(e.pureName))return null;let o=2;for(;n.includes(`${e.pureName}${o}`);)o+=1;return`${e.pureName}${o}`};function z(e){for(const t of _.values(M)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function H(){for(const e of Object.values(R))e&&e.recomputePosition()}function U(e=!1,t=!0,n={x:0,y:0}){const o=new GraphDefinition;for(const e of(null==g?void 0:g.tables)||[]){const n=L[e.designerId];if(!n)continue;const r=n.getRect();o.addNode(e.designerId,r.right-r.left,r.bottom-r.top,t||e.needsArrange?null:{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2})}for(const e of(null==x?void 0:x.sortAutoLayoutReferences)?null==x?void 0:x.sortAutoLayoutReferences(null==g?void 0:g.references):null==g?void 0:g.references)o.addEdge(e.sourceId,e.targetId);let r;switch(o.initialize(),null==x?void 0:x.arrangeAlg){case"springy":r=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();break;case"tree":r=GraphLayout.createTree(o,null==g?void 0:g.rootDesignerId)}r&&B((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=r.nodes[e.designerId];return t?Object.assign(Object.assign({},e),{needsArrange:!1,left:t.left,top:t.top}):Object.assign(Object.assign({},e),{needsArrange:!1})}))})),e,{isCalledFromArrange:!0})}const V=(e,t)=>()=>{B((n=>Object.assign(Object.assign({},n),{style:Object.assign(Object.assign({},null==n?void 0:n.style),{[e]:t})})))};return e.$$set=e=>{"value"in e&&n(0,g=e.value),"onChange"in e&&n(44,$=e.onChange),"conid"in e&&n(1,b=e.conid),"database"in e&&n(2,v=e.database),"menu"in e&&n(45,y=e.menu),"settings"in e&&n(3,x=e.settings),"referenceComponent"in e&&n(4,w=e.referenceComponent)},e.$$.update=()=>{var t;25165824&e.$$.dirty[1]&&n(53,o=d?lib$5.extendDatabaseInfoFromApps(d,u):null),1&e.$$.dirty[0]&&n(8,r=null==g?void 0:g.tables),1&e.$$.dirty[0]&&n(18,i=null==g?void 0:g.references),9&e.$$.dirty[0]|3145728&e.$$.dirty[1]&&n(15,a=(null==x?void 0:x.customizeStyle)&&(null===n(51,m=null==g?void 0:g.style)||void 0===m?void 0:m.zoomKoef)?null===n(52,f=null==g?void 0:g.style)||void 0===f?void 0:f.zoomKoef:1),256&e.$$.dirty[0]&&n(16,c=r.filter((e=>e.isSelectedTable)).length>=2),64&e.$$.dirty[0]&&F(),4194304&e.$$.dirty[1]&&o&&j(o),384&e.$$.dirty[0]&&function(e,t){h(this,void 0,void 0,(function*(){yield tick();const e=_.values(t).map((e=>e.getRect())),o=e.length>0?_.max(e.map((e=>e.right))):0,r=e.length>0?_.max(e.map((e=>e.bottom))):0;n(10,T=Math.max(3e3,o+50)),n(11,A=Math.max(3e3,r+50))}))}(0,L),1&e.$$.dirty[0]|4194304&e.$$.dirty[1]&&o&&(null==g?void 0:g.autoLayout)&&(t=o,h(void 0,void 0,void 0,(function*(){t&&(B((e=>{for(const n of(null==e?void 0:e.tables)||[])n.autoAddReferences&&(e=q(t,n,e));return Object.assign(Object.assign({},e),{autoLayout:!1,tables:((null==e?void 0:e.tables)||[]).map((e=>Object.assign(Object.assign({},e),{autoAddReferences:!1})))})})),j(),yield tick(),U())}))),32&e.$$.dirty[0]&&tick().then((()=>{H(),F()}))},n(17,s=useUsedApps()),p(),p=subscribe(s,(e=>n(54,u=e))),[g,b,v,x,w,S,M,L,r,k,T,A,E,O,R,a,c,s,i,I,N,D,B,e=>{B((t=>Object.assign(Object.assign({},t),{tables:P((t.tables||[]).map((t=>t.designerId==e.designerId?e:t)))})))},e=>{B((t=>Object.assign(Object.assign({},t),{tables:[...(t.tables||[]).filter((t=>t.designerId!=e.designerId)),e]})),!0)},(e,t)=>{B((n=>Object.assign(Object.assign({},n),{tables:(n.tables||[]).map((n=>n.designerId==e.designerId?Object.assign(Object.assign({},n),{isSelectedTable:!0}):Object.assign(Object.assign({},n),{isSelectedTable:!!t&&n.isSelectedTable})))})),!0)},e=>{c&&(null==x?void 0:x.useDatabaseReferences)&&(null==x?void 0:x.canSelectTables)?(B((e=>Object.assign(Object.assign({},e),{tables:(e.tables||[]).filter((e=>!e.isSelectedTable))}))),j()):B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).filter((t=>t.designerId!=e.designerId)),references:(t.references||[]).filter((t=>t.sourceId!=e.designerId&&t.targetId!=e.designerId)),columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId))})),void 0,{removeTables:!0})},e=>{B((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).map((t=>t.designerId==e.designerId?e:t))})))},e=>{B((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).filter((t=>t.designerId!=e.designerId))})))},(e,t)=>{B((n=>{const o=(n.references||[]).find((n=>n.sourceId==e.designerId&&n.targetId==t.designerId||n.sourceId==t.designerId&&n.targetId==e.designerId));return Object.assign(Object.assign({},n),{references:o?n.references.map((n=>n==o?Object.assign(Object.assign({},o),{columns:[...o.columns,o.sourceId==e.designerId?{source:e.columnName,target:t.columnName}:{source:t.columnName,target:e.columnName}]}):n)):[...n.references||[],{designerId:v1_1$6(),sourceId:e.designerId,targetId:t.designerId,joinType:isConnectedByReference(n,e,t,null)?"CROSS JOIN":"INNER JOIN",columns:[{source:e.columnName,target:t.columnName}]}]})}))},(e,t)=>h(void 0,void 0,void 0,(function*(){const n=yield getTableInfo({conid:b,database:v,pureName:t.refTableName,schemaName:t.refSchemaName}),o=`${n.pureName}-${v1_1$6()}`;B((r=>{const i=(r.tables||[]).find((t=>t.designerId==e));if(!i)return r;const a=W(n,r.tables);return a&&!(null==x?void 0:x.allowTableAlias)?r:Object.assign(Object.assign({},r),{tables:[...r.tables||[],Object.assign(Object.assign({},n),{left:i.left+300,top:i.top+50,designerId:o,alias:a})],references:(null==x?void 0:x.allowCreateRefByDrag)?[...r.references||[],{designerId:v1_1$6(),sourceId:i.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:r.references})})),j()})),e=>h(void 0,void 0,void 0,(function*(){var t;if(!o)return;const n=o;if(!n)return;B((t=>q(n,e,t))),j(),yield tick();const r=null===(t=L[e.designerId])||void 0===t?void 0:t.getRect();U(!0,!1,r?{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2}:null)})),e=>{showModal(ChooseColorModal,{onChange:e=>{B((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>t.isSelectedTable?Object.assign(Object.assign({},t),{tableColor:e}):t))})))}})},e=>{B((t=>Object.assign(Object.assign({},t),{columns:(t.columns||[]).find((t=>t.designerId==e.designerId&&t.columnName==e.columnName))?t.columns:[...cleanupDesignColumns(t.columns),_.pick(e,["designerId","columnName"])]})),!0)},(e,t)=>{B((n=>{const o=(n||{}).columns||[],r=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return r?Object.assign(Object.assign({},n),{columns:o.map((e=>e==r?t(r):e))}):Object.assign(Object.assign({},n),{columns:[...cleanupDesignColumns(o),t(_.pick(e,["designerId","columnName"]))]})}))},e=>{var t=e.dataTransfer.getData("app_object_drag_data");if(e.preventDefault(),!t)return;const n=e.target.getBoundingClientRect();var o=JSON.parse(t);const{objectTypeField:r}=o;"tables"!=r&&"views"!=r&&"collections"!=r||(o.designerId=`${o.pureName}-${v1_1$6()}`,o.left=e.clientX-n.left,o.top=e.clientY-n.top,B((e=>{const t=(null==x?void 0:x.useDatabaseReferences)?[]:_.compact([...(o.foreignKeys||[]).map((t=>{const n=((e||{}).tables||[]).filter((e=>t.refTableName==e.pureName&&t.refSchemaName==e.schemaName));return 1==n.length?Object.assign(Object.assign({},t),{sourceId:o.designerId,targetId:n[0].designerId}):null})),..._.flatten(((e||{}).tables||[]).map((e=>(e.foreignKeys||[]).map((t=>t.refTableName==o.pureName&&t.refSchemaName==o.schemaName?Object.assign(Object.assign({},t),{sourceId:e.designerId,targetId:o.designerId}):null)))))]),n=W(o,null==e?void 0:e.tables);return n&&!(null==x?void 0:x.allowTableAlias)?e:Object.assign(Object.assign({},e),{tables:[...(e||{}).tables||[],Object.assign(Object.assign({},o),{alias:n})],references:1==t.length?[...(e||{}).references||[],{designerId:`${null==e?void 0:e.pureName}-${v1_1$6()}`,sourceId:t[0].sourceId,targetId:t[0].targetId,joinType:"INNER JOIN",columns:t[0].columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:(e||{}).references})})),j())},()=>{z((e=>e.moveStart()))},(e,t)=>{z((n=>n.move(e,t))),tick().then(H)},()=>{const e={};z((t=>{e[t.getDesignerId()]=t.moveEnd()})),B((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>{const n=e[t.designerId];return n?Object.assign(Object.assign({},t),{left:n.left,top:n.top}):t}))}))),tick().then(H)},(e,t)=>{n(12,E={x:e/a,y:t/a})},(e,t,o,r)=>{n(13,O={x:o/a,y:r/a})},(e,t)=>{if(E&&O){const e={left:Math.min(E.x,O.x),right:Math.max(E.x,O.x),top:Math.min(E.y,O.y),bottom:Math.max(E.y,O.y)};B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=L[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(12,E=null),n(13,O=null)},H,function(){var e,t,n,o,r,i;return[y,(null==x?void 0:x.customizeStyle)&&[{divider:!0},{text:"Column properties",submenu:[{text:"Nullability: "+((null===(e=null==g?void 0:g.style)||void 0===e?void 0:e.showNullability)?"YES":"NO"),onClick:V("showNullability",!(null===(t=null==g?void 0:g.style)||void 0===t?void 0:t.showNullability))},{text:"Data type: "+((null===(n=null==g?void 0:g.style)||void 0===n?void 0:n.showDataType)?"YES":"NO"),onClick:V("showDataType",!(null===(o=null==g?void 0:g.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(r=null==g?void 0:g.style)||void 0===r?void 0:r.filterColumns)||"all")}`,submenu:[{text:"All",onClick:V("filterColumns",null)},{text:"Primary Key",onClick:V("filterColumns","primaryKey")},{text:"All Keys",onClick:V("filterColumns","allKeys")},{text:"Not Null",onClick:V("filterColumns","notNull")},{text:"Keys And Not Null",onClick:V("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(i=null==g?void 0:g.style)||void 0===i?void 0:i.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:V("zoomKoef",.1)},{text:"15 %",onClick:V("zoomKoef",.15)},{text:"20 %",onClick:V("zoomKoef",.2)},{text:"40 %",onClick:V("zoomKoef",.4)},{text:"60 %",onClick:V("zoomKoef",.6)},{text:"80 %",onClick:V("zoomKoef",.8)},{text:"100 %",onClick:V("zoomKoef",1)},{text:"120 %",onClick:V("zoomKoef",1.2)},{text:"140 %",onClick:V("zoomKoef",1.4)},{text:"160 %",onClick:V("zoomKoef",1.6)},{text:"180 %",onClick:V("zoomKoef",1.8)},{text:"200 %",onClick:V("zoomKoef",2)}]}]]},$,y,C,function(){return!!(null==x?void 0:x.arrangeAlg)},function(){return null==x?void 0:x.canExport},U,function(){return h(this,void 0,void 0,(function*(){const e=["global.css","build/bundle.css"];let t="";for(const n of e){const e=yield fetch(n),o=yield e.text();t&&(t+="\n"),t+=o}(null==l?void 0:l.themeCss)&&(t&&(t+="\n"),t+=null==l?void 0:l.themeCss),saveFileToDisk((e=>h(this,void 0,void 0,(function*(){yield apiCall("files/export-diagram",{filePath:e,html:k.outerHTML,css:t,themeType:null==l?void 0:l.themeType,themeClassName:null==l?void 0:l.themeClassName})}))))}))},m,f,o,u,d,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{R[t.designerId]=e,n(14,R)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{M[t.designerId]=e,n(6,M)}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{k=e,n(9,k)}))},e=>{0==e.button&&x?.canSelectTables&&B((e=>({...e,tables:(e.tables||[]).map((e=>({...e,isSelectedTable:!1})))})),!0)},function(e){S=e,n(5,S)},function(e){S=e,n(5,S)}]}class Designer extends SvelteComponent{constructor(e){super(),init(this,e,instance$1$,create_fragment$22,safe_not_equal,{value:0,onChange:44,conid:1,database:2,menu:45,settings:3,referenceComponent:4,activator:46,canArrange:47,canExport:48,arrange:49,exportDiagram:50},null,[-1,-1,-1])}get activator(){return this.$$.ctx[46]}get canArrange(){return this.$$.ctx[47]}get canExport(){return this.$$.ctx[48]}get arrange(){return this.$$.ctx[49]}get exportDiagram(){return this.$$.ctx[50]}}function get_each_context$n(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$10(e){let t,n,o,r,i,a,s,c,l,u,d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"",p=e[5],m=[];for(let t=0;t<p.length;t+=1)m[t]=create_each_block$n(get_each_context$n(e,p,t));return{c(){t=svg_element("svg"),n=svg_element("polyline");for(let e=0;e<m.length;e+=1)m[e].c();r=space(),i=element("div"),a=element("div"),s=text$1(d),attr(n,"points",o=`\n ${e[2].x},${e[2].y}\n ${e[2].x+e[7]*e[4].dirsrc},${e[2].y}\n ${e[3].x+e[7]*e[4].dirdst},${e[3].y}\n ${e[3].x},${e[3].y}\n `),attr(n,"class","svelte-1k22hy3"),attr(t,"class","svelte-1k22hy3"),attr(a,"class","text svelte-1k22hy3"),attr(i,"class","wrapper svelte-1k22hy3"),attr(i,"style",c=`left: ${(e[2].x+e[7]*e[4].dirsrc+e[3].x+e[7]*e[4].dirdst)/2-16}px;\n top: ${(e[2].y+e[3].y)/2-16}px`)},m(o,c){insert(o,t,c),append(t,n);for(let e=0;e<m.length;e+=1)m[e]&&m[e].m(t,null);insert(o,r,c),insert(o,i,c),append(i,a),append(a,s),l||(u=action_destroyer(contextMenu.call(null,i,e[8])),l=!0)},p(e,r){if(156&r&&o!==(o=`\n ${e[2].x},${e[2].y}\n ${e[2].x+e[7]*e[4].dirsrc},${e[2].y}\n ${e[3].x+e[7]*e[4].dirdst},${e[3].y}\n ${e[3].x},${e[3].y}\n `)&&attr(n,"points",o),124&r){let n;for(p=e[5],n=0;n<p.length;n+=1){const o=get_each_context$n(e,p,n);m[n]?m[n].p(o,r):(m[n]=create_each_block$n(o),m[n].c(),m[n].m(t,null))}for(;n<m.length;n+=1)m[n].d(1);m.length=p.length}3&r&&d!==(d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"")&&set_data(s,d),156&r&&c!==(c=`left: ${(e[2].x+e[7]*e[4].dirsrc+e[3].x+e[7]*e[4].dirdst)/2-16}px;\n top: ${(e[2].y+e[3].y)/2-16}px`)&&attr(i,"style",c)},d(e){e&&detach(t),destroy_each(m,e),e&&detach(r),e&&detach(i),l=!1,u()}}}function create_each_block$n(e){let t,n,o,r;return{c(){t=svg_element("polyline"),o=svg_element("polyline"),attr(t,"points",n=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[16][0]}\n ${e[2].x-e[6]*e[4].dirsrc},${e[16][0]}\n`),attr(t,"class","svelte-1k22hy3"),attr(o,"points",r=`\n ${e[3].x},${e[3].y}\n ${e[3].x},${e[16][1]}\n ${e[3].x-e[6]*e[4].dirdst},${e[16][1]}\n`),attr(o,"class","svelte-1k22hy3")},m(e,n){insert(e,t,n),insert(e,o,n)},p(e,i){116&i&&n!==(n=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[16][0]}\n ${e[2].x-e[6]*e[4].dirsrc},${e[16][0]}\n`)&&attr(t,"points",n),120&i&&r!==(r=`\n ${e[3].x},${e[3].y}\n ${e[3].x},${e[16][1]}\n ${e[3].x-e[6]*e[4].dirdst},${e[16][1]}\n`)&&attr(o,"points",r)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$21(e){let t,n=e[2]&&e[3]&&e[4]&&create_if_block$10(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[2]&&e[3]&&e[4]?n?n.p(e,o):(n=create_if_block$10(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}const BUSWI=10,EXTWI=25;function instance$1_(e,t,n){let o,r;var i,a;let s,{reference:c}=t,{onRemoveReference:l}=t,{onChangeReference:u}=t,{designer:d}=t,{domTables:p}=t,{settings:m}=t,f=null,h=null,g=[];function $(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=c,l=p[t],u=p[r];if(!l||!u)return null;const d=l.getRect(),m=u.getRect();if(!d||!m)return null;const $=[];$.push({xsrc:d.left-o,dirsrc:-1,xdst:m.left-o,dirdst:-1}),$.push({xsrc:d.left-o,dirsrc:-1,xdst:m.right+o,dirdst:1}),$.push({xsrc:d.right+o,dirsrc:1,xdst:m.left-o,dirdst:-1}),$.push({xsrc:d.right+o,dirsrc:1,xdst:m.right+o,dirdst:1}),n(4,s=_.minBy($,(e=>Math.abs(e.xsrc-e.xdst))));let b=_.mean(i.map((e=>l.getColumnY(e.source)))),v=_.mean(i.map((e=>u.getColumnY(e.target))));0==i.length&&(b=l.getColumnY(""),v=u.getColumnY("")),n(2,f={x:s.xsrc,y:b}),n(3,h={x:s.xdst,y:v}),n(5,g=i.map(((e,t)=>[l.getColumnY(e.source),u.getColumnY(e.target)])))}return e.$$set=e=>{"reference"in e&&n(0,c=e.reference),"onRemoveReference"in e&&n(9,l=e.onRemoveReference),"onChangeReference"in e&&n(10,u=e.onChangeReference),"designer"in e&&n(11,d=e.designer),"domTables"in e&&n(12,p=e.domTables),"settings"in e&&n(1,m=e.settings)},e.$$.update=()=>{16386&e.$$.dirty&&n(6,o=(null===n(14,i=null==m?void 0:m.referencePaintSettings)||void 0===i?void 0:i.buswi)||BUSWI),32770&e.$$.dirty&&n(7,r=(null===n(15,a=null==m?void 0:m.referencePaintSettings)||void 0===a?void 0:a.extwi)||EXTWI),4096&e.$$.dirty&&$()},[c,m,f,h,s,g,o,r,function(){if(null==m?void 0:m.referenceMenu)return null==m?void 0:m.referenceMenu({designer:d,reference:c,onChangeReference:u,onRemoveReference:l})},l,u,d,p,$,i,a]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1_,create_fragment$21,safe_not_equal,{reference:0,onRemoveReference:9,onChangeReference:10,designer:11,domTables:12,settings:1,recomputePosition:13})}get recomputePosition(){return this.$$.ctx[13]}}function create_fragment$20(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,allowScrollColumns:!0,canSelectColumns:!0,referenceMenu:e[1],createReferenceText:e[2]}},{referenceComponent:QueryDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),0,0]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1Z(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t),({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>{const r=isConnectedByReference(e,{designerId:t?.sourceId},{designerId:t?.targetId},t),i=e=>{n({...t,joinType:e})};return[{text:"Remove",onClick:()=>o(t)},!r&&[{divider:!0},{onClick:()=>i("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>i("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>i("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>i("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>i("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>i("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>i("WHERE NOT EXISTS"),text:"Set WHERE NOT EXISTS"}]]},e=>_.snakeCase(e?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")]}class QueryDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Z,create_fragment$20,safe_not_equal,{})}}function create_else_block$q(e){let t,n=e[25].columnName+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){33554432&o&&n!==(n=e[25].columnName+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_4$b(e){let t,n;return t=new TextField({props:{style:"min-width:calc(100% - 9px)",value:e[25].customExpression}}),t.$on("input",(function(...t){return e[23](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].customExpression),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__8_slot(e){let t,n,o,r;const i=[create_if_block_4$b,create_else_block$q],a=[];function s(e,t){return e[25].isCustomExpression?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create__0_slot$2(e){let t,n;return t=new CheckboxField({props:{checked:e[25].isOutput}}),t.$on("change",(function(...t){return e[22](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.checked=e[25].isOutput),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$d(e){let t,n;return t=new TextField({props:{style:"min-width:calc(100% - 9px)",value:e[25].alias}}),t.$on("input",(function(...t){return e[21](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].alias),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$c(e){let t,n;return t=new CheckboxField({props:{checked:e[25].isGrouped}}),t.$on("change",(function(...t){return e[20](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.checked=e[25].isGrouped),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$d(e){let t,n;return t=new SelectField({props:{isNative:!0,style:"min-width:calc(100% - 9px)",value:e[25].aggregate,options:["---","MIN","MAX","COUNT","COUNT DISTINCT","SUM","AVG"].map(func_1$b)}}),t.$on("change",(function(...t){return e[19](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].aggregate),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$3(e){let t,n,o=!e[25].isGrouped&&create_if_block_3$d(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[25].isGrouped?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),33554432&n&&transition_in(o,1)):(o=create_if_block_3$d(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__4_slot$2(e){let t,n;return t=new SelectField({props:{isNative:!0,style:"min-width:calc(100% - 9px)",value:e[25].sortOrder?.toString(),options:[{label:"---",value:"0"},{label:"1st, ascending",value:"1"},{label:"1st, descending",value:"-1"},{label:"2nd, ascending",value:"2"},{label:"2nd, descending",value:"-2"},{label:"3rd, ascending",value:"3"},{label:"3rd, descending",value:"-3"},{label:"4th, ascending",value:"4"},{label:"4th, descending",value:"-4"},{label:"5th, ascending",value:"5"},{label:"5th, descending",value:"-5"},{label:"6th, ascending",value:"6"},{label:"6th, descending",value:"-6"},{label:"7th, ascending",value:"7"},{label:"7th, descending",value:"-7"},{label:"8th, ascending",value:"8"},{label:"8th, descending",value:"-8"},{label:"9th, ascending",value:"9"},{label:"9th, descending",value:"-9"},{label:"10th, ascending",value:"10"},{label:"10th, descending",value:"-10"}]}}),t.$on("change",(function(...t){return e[18](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].sortOrder?.toString()),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__5_slot$1(e){let t,n;function o(...t){return e[17](e[25],e[26],...t)}return t=new DataFilterControl({props:{filterBehaviour:findDesignerFilterBehaviour(e[25],e[0]),filter:e[25][e[26]],setFilter:o}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};33554433&r&&(i.filterBehaviour=findDesignerFilterBehaviour(e[25],e[0])),100663296&r&&(i.filter=e[25][e[26]]),100663296&r&&(i.setFilter=o),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$p(e){let t,n;return t=new FontIcon({props:{icon:"icon delete"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$w(e){let t,n;return t=new FontIcon({props:{icon:"icon arrow-up"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$Q(e){let t,n;return t=new FontIcon({props:{icon:"icon arrow-down"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__7_slot(e){let t,n,o,r,i,a,s;return n=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_2$p]},$$scope:{ctx:e}}}),n.$on("click",(function(){return e[14](e[25])})),r=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_1$w]},$$scope:{ctx:e}}}),r.$on("click",(function(){return e[15](e[25])})),a=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot$Q]},$$scope:{ctx:e}}}),a.$on("click",(function(){return e[16](e[25])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),attr(t,"class","flex")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),mount_component(r,t,null),append(t,i),mount_component(a,t,null),s=!0},p(t,o){e=t;const i={};134217728&o&&(i.$$scope={dirty:o,ctx:e}),n.$set(i);const s={};134217728&o&&(s.$$scope={dirty:o,ctx:e}),r.$set(s);const c={};134217728&o&&(c.$$scope={dirty:o,ctx:e}),a.$set(c)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(a)}}}function create_if_block_2$j(e){let t,n;return t=new FormStyledButton({props:{value:"Remove OR condition",style:"width:200px"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$A(e){let t,n;return t=new FormStyledButton({props:{value:"Add group OR condition",style:"width:200px"}}),t.$on("click",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$$(e){let t,n;return t=new FormStyledButton({props:{value:"Remove group OR condition",style:"width:200px"}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1$(e){let t,n,o,r,i,a,s,c,l,u;n=new TableControl({props:{rows:e[1]||[],columns:[{fieldName:"columnName",slot:8,header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[24]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5,props:{filterField:"filter"}},..._.range(e[3]?.additionalFilterCount||0).map(func_3$6),e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:5,props:{filterField:"groupFilter"}},..._.range(e[2]&&e[3]?.additionalGroupFilterCount||0).map(func_4$1),{fieldName:"actions",header:"",slot:7}],$$slots:{7:[create__7_slot,({row:e})=>({25:e}),({row:e})=>e?33554432:0],5:[create__5_slot$1,({row:e,filterField:t})=>({25:e,26:t}),({row:e,filterField:t})=>(e?33554432:0)|(t?67108864:0)],4:[create__4_slot$2,({row:e})=>({25:e}),({row:e})=>e?33554432:0],3:[create__3_slot$3,({row:e})=>({25:e}),({row:e})=>e?33554432:0],2:[create__2_slot$c,({row:e})=>({25:e}),({row:e})=>e?33554432:0],1:[create__1_slot$d,({row:e})=>({25:e}),({row:e})=>e?33554432:0],0:[create__0_slot$2,({row:e})=>({25:e}),({row:e})=>e?33554432:0],8:[create__8_slot,({row:e})=>({25:e}),({row:e})=>e?33554432:0]},$$scope:{ctx:e}}}),r=new FormStyledButton({props:{value:"Add custom expression",style:"width:200px"}}),r.$on("click",e[8]),a=new FormStyledButton({props:{value:"Add OR condition",style:"width:200px"}}),a.$on("click",e[9]);let d=e[3]?.additionalFilterCount>0&&create_if_block_2$j(e),p=e[2]&&create_if_block_1$A(e),m=e[2]&&e[3]?.additionalGroupFilterCount>0&&create_if_block$$(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),s=space(),d&&d.c(),c=space(),p&&p.c(),l=space(),m&&m.c(),attr(t,"class","wrapper svelte-ch62af")},m(e,f){insert(e,t,f),mount_component(n,t,null),append(t,o),mount_component(r,t,null),append(t,i),mount_component(a,t,null),append(t,s),d&&d.m(t,null),append(t,c),p&&p.m(t,null),append(t,l),m&&m.m(t,null),u=!0},p(e,[o]){const r={};2&o&&(r.rows=e[1]||[]),28&o&&(r.columns=[{fieldName:"columnName",slot:8,header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[24]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5,props:{filterField:"filter"}},..._.range(e[3]?.additionalFilterCount||0).map(func_3$6),e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:5,props:{filterField:"groupFilter"}},..._.range(e[2]&&e[3]?.additionalGroupFilterCount||0).map(func_4$1),{fieldName:"actions",header:"",slot:7}]),234881025&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r),e[3]?.additionalFilterCount>0?d?(d.p(e,o),8&o&&transition_in(d,1)):(d=create_if_block_2$j(e),d.c(),transition_in(d,1),d.m(t,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),e[2]?p?(p.p(e,o),4&o&&transition_in(p,1)):(p=create_if_block_1$A(e),p.c(),transition_in(p,1),p.m(t,l)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),e[2]&&e[3]?.additionalGroupFilterCount>0?m?(m.p(e,o),12&o&&transition_in(m,1)):(m=create_if_block$$(e),m.c(),transition_in(m,1),m.m(t,null)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){u||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(d),transition_in(p),transition_in(m),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(d),transition_out(p),transition_out(m),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(a),d&&d.d(),p&&p.d(),m&&m.d()}}}function getTableDisplayName(e,t){const n=(t||[]).find((t=>t.designerId==e.designerId));return n?n.alias||n.pureName:""}const func_1$b=e=>({label:e,value:e}),func_3$6=e=>({fieldName:`additionalFilter${e+1}`,header:`OR Filter ${e+2}`,slot:5,props:{filterField:`additionalFilter${e+1}`}}),func_4$1=e=>({fieldName:`additionalGroupFilter${e+1}`,header:`OR group filter ${e+2}`,slot:5,props:{filterField:`additionalGroupFilter${e+1}`}});function instance$1Y(e,t,n){let o,r,i,a,{value:s}=t,{onChange:c}=t;const l=e=>{c((t=>({...t,columns:(t.columns||[]).map((t=>t.designerId==e.designerId&&t.columnName==e.columnName?e:t))})))},u=e=>{c((t=>({...t,columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId||t.columnName!=e.columnName))})))},d=(e,t)=>{c((n=>{const o=_.findIndex(n.columns||[],(t=>e.designerId==t.designerId&&e.columnName==t.columnName));if(o>=0&&o+t>=0&&o+t<n.columns?.length){let e=[...n.columns];const r=e[o+t];return e[o+t]=e[o],e[o]=r,{...n,columns:e}}return n}))};return e.$$set=e=>{"value"in e&&n(0,s=e.value),"onChange"in e&&n(13,c=e.onChange)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=s?.columns),1&e.$$.dirty&&n(4,r=s?.tables),1&e.$$.dirty&&n(3,i=s?.settings),2&e.$$.dirty&&n(2,a=!!(o||[]).find((e=>e.isGrouped)))},[s,o,a,i,r,l,u,d,()=>{c((e=>({...e,columns:[...e.columns||[],{isCustomExpression:!0,isOutput:!0,designerId:v1_1$6()}]})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalFilterCount:(e?.settings?.additionalFilterCount??0)+1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalFilterCount:(e?.settings?.additionalFilterCount??1)-1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalGroupFilterCount:(e?.settings?.additionalGroupFilterCount??0)+1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalGroupFilterCount:(e?.settings?.additionalGroupFilterCount??1)-1}})))},c,e=>u(e),e=>d(e,-1),e=>d(e,1),(e,t,n)=>{l({...e,[t]:n})},(e,t)=>{l({...e,sortOrder:parseInt(t.detail)})},(e,t)=>{l({...e,aggregate:t.detail})},(e,t)=>{t.target.checked?l({...e,isGrouped:!0}):l({...e,isGrouped:!1})},(e,t)=>{l({...e,alias:t.target.value})},(e,t)=>{t.target.checked?l({...e,isOutput:!0}):l({...e,isOutput:!1})},(e,t)=>{l({...e,customExpression:t.target.value})},e=>getTableDisplayName(e,r)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Y,create_fragment$1$,safe_not_equal,{value:0,onChange:13})}}function create__1_slot$c(e){let t,n;return t=new QueryDesigner({props:{value:e[3].value||{},conid:e[0],database:e[1],engine:e[4]&&e[4].engine,onChange:e[10],menu:e[13]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.value=e[3].value||{}),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.engine=e[4]&&e[4].engine),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`session-info-${e[2]}`:null,executeNumber:e[5],showProcedure:!0,showLine:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`session-info-${e[2]}`:null),32&n[0]&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$b(e){let t,n;return t=new ResultTabs({props:{tabs:[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}],sessionId:e[2],executeNumber:e[5],$$slots:{0:[create__0_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};216&n[0]&&(o.tabs=[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}]),4&n[0]&&(o.sessionId=e[2]),32&n[0]&&(o.executeNumber=e[5]),36&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$P(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$b],1:[create__1_slot$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$a(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),i=new ToolStripCommandButton({props:{command:"designer.openSql"}}),s=new ToolStripSaveButton({props:{idPrefix:"designer"}}),l=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[14],label:"Export result"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1_(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$a],default:[create_default_slot$P]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$d=()=>getActiveComponent("QueryDesignTab");function instance$1X(e,t,n){let o,r,i,a,s,c,l,u,d=noop$3,p=noop$3;component_subscribe(e,extensions,(e=>n(32,l=e))),e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:f}=t,{conid:h}=t,{database:g}=t,{initialArgs:$}=t;const b=useTimerLabel();let v=!1,y=0,x=!1,w=null,C="";const k=createActivator("QueryDesignTab",!0);let S;onMount((()=>{S=setInterval((()=>{w&&apiCall("sessions/ping",{sesid:w})}),15e3)})),onDestroy((()=>{clearInterval(S)}));const T=()=>{n(29,v=!1),b.stop()},A=()=>{n(2,w=null),T()},E=(e,t)=>M({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:O,editorValue:I,setEditorData:N}=useEditorData({tabid:f,onInitialData:e=>{M({type:"reset",value:e})}});component_subscribe(e,O,(e=>n(34,a=e)));const[D,M]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,D,(e=>n(3,s=e)));const R=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,f=e.tabid),"conid"in e&&n(0,h=e.conid),"database"in e&&n(1,g=e.database),"initialArgs"in e&&n(16,$=e.initialArgs)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:h})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,r=lib$5.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,i=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,T),apiOn(`session-closed-${e}`,A),()=>{apiOff(`session-done-${e}`,T),apiOff(`session-closed-${e}`,A)}):()=>{};var e}))),d(),d=subscribe(i,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(f,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&N(s.value),1073741832&e.$$.dirty[0]&&((e,t)=>{if(!t||!e)return;const o=generateDesignedQuery(e,t);n(7,C=sqlFormatter.format(o))})(s.value,r)},[h,g,w,s,u,y,x,C,i,o,E,O,D,function(){var e,t;return[{command:"designer.execute"},{command:"designer.kill"},{command:"designer.openSql"},{divider:!0},{command:"designer.save"},{command:"designer.saveAs"},{divider:!0},{command:"designer.undo"},{command:"designer.redo"},{divider:!0},{text:"Remove duplicates: "+((null===(t=null===(e=a.value)||void 0===e?void 0:e.settings)||void 0===t?void 0:t.isDistinct)?"YES":"NO"),onClick:()=>{var e,t,n;E(Object.assign(Object.assign({},a.value),{settings:Object.assign(Object.assign({},null===(e=a.value)||void 0===e?void 0:e.settings),{isDistinct:!(null===(n=null===(t=a.value)||void 0===t?void 0:t.settings)||void 0===n?void 0:n.isDistinct)})}),!1)}}]},R,f,$,k,function(){return!!w},function(){return v},function(){return f},function(){return m(this,void 0,void 0,(function*(){if(v)return;n(5,y++,y),n(6,x=!0);let e=w;if(!e){e=(yield apiCall("sessions/create",{conid:h,database:g})).sesid,n(2,w=e)}n(29,v=!0),b.start(),yield apiCall("sessions/execute-query",{sesid:e,sql:C})}))},function(){return m(this,void 0,void 0,(function*(){yield apiCall("sessions/kill",{sesid:w}),n(2,w=null),n(29,v=!1),b.stop()}))},function(){return a.value||""},function(){return s.canUndo},function(){M({type:"undo"})},function(){return s.canRedo},function(){M({type:"redo"})},function(){newQuery({initialData:C})},v,r,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$d(),onClick:()=>getCurrentEditor$d().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$d,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1X,create_fragment$1_,safe_not_equal,{tabid:15,conid:0,database:1,initialArgs:16,activator:17,canKill:18,isBusy:19,getTabId:20,execute:21,kill:22,getData:23,canUndo:24,undo:25,canRedo:26,redo:27,openSql:28},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get canKill(){return this.$$.ctx[18]}get isBusy(){return this.$$.ctx[19]}get getTabId(){return this.$$.ctx[20]}get execute(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}get getData(){return this.$$.ctx[23]}get canUndo(){return this.$$.ctx[24]}get undo(){return this.$$.ctx[25]}get canRedo(){return this.$$.ctx[26]}get redo(){return this.$$.ctx[27]}get openSql(){return this.$$.ctx[28]}}var QueryDesignTab$1=Object.freeze({__proto__:null,default:QueryDesignTab});function create_default_slot$O(e){let t,n,o,r,i,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),r=new TextField({props:c}),binding_callbacks.push((()=>bind$2(r,"value",s))),r.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),mount_component(r,o,null),a=!0},p(e,t){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),r.$set(n)},i(e){a||(transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_fragment$1Z(e){let t,n;const o=[e[2],{simple:!0}];let r={$$slots:{default:[create_default_slot$O]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1W(e,t,n){const o=["onChange"];let r,i=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,i=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[r,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&r)return a(r),void closeCurrentModal();let t="";e.ctrlKey&&(t+="Ctrl+"),e.shiftKey&&(t+="Shift+"),e.metaKey&&(t+="Command+"),e.altKey&&(t+="Alt+"),"Control"!=e.key&&"Alt"!=e.key&&"Shift"!=e.key&&"Meta"!=e.key&&(t+=_.upperFirst(e.key)),n(0,r=t)},i,a,function(e){r=e,n(0,r)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1W,create_fragment$1Z,safe_not_equal,{onChange:3})}}function create_default_slot_1$v(e){let t,n,o,r,i,a,s,c,l;return t=new FormTextField({props:{label:"Category",name:"category",disabled:!0}}),o=new FormTextField({props:{label:"Name",name:"name",disabled:!0}}),a=new FormTextField({props:{label:"Keyboard shortcut",name:"keyText",templateProps:{noMargin:!0},focused:!0}}),c=new FormStyledButton({props:{type:"button",value:"Keyboard"}}),c.$on("click",e[3]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),insert(e,i,u),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p:noop$3,i(e){l||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),e&&detach(i),destroy_component(a),destroy_component(c)}}}function create_header_slot$5(e){let t;return{c(){t=text$1("Configure commmand")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$4(e){let t,n,o,r,i,a;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[5]),o=new FormStyledButton({props:{type:"button",value:"Reset"}}),o.$on("click",e[6]),i=new FormStyledButton({props:{type:"button",value:"Close"}}),i.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot$N(e){let t,n;const o=[e[4]];let r={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$v]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1Y(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$slots:{default:[create_default_slot$N]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};147&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1V(e,t,n){const o=["command"];let r,i=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,r=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,r,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},i,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...r,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(r,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1V,create_fragment$1Y,safe_not_equal,{command:0})}}function create_fragment$1X(e){let t,n,o,r,i,a,s,c,l,u,d;function p(t){e[3](t)}let m={placeholder:"Search in commands (by category, name, shortcut or id)"};function f(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind$2(o,"value",p)));let h={showDisabled:!0};return void 0!==e[0]&&(h.filter=e[0]),a=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind$2(a,"filter",f))),u=new TableControl({props:{clickable:!0,rows:e[1].filter(e[5]),columns:[{header:"Category",fieldName:"category"},{header:"Name",fieldName:"name"},{header:"Keyboard shortcut",fieldName:"keyText",isHighlighted:func_1$a},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),create_component(a.$$.fragment),c=space(),l=element("div"),create_component(u.$$.fragment),attr(n,"class","flex"),attr(l,"class","table-wrapper svelte-1d8o0gh"),attr(t,"class","wrapper svelte-1d8o0gh")},m(e,r){insert(e,t,r),append(t,n),mount_component(o,n,null),append(n,i),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),o.$set(n);const i={};!s&&1&t&&(s=!0,i.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(i);const c={};3&t&&(c.rows=e[1].filter(e[5])),u.$set(c)},i(e){d||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(u)}}}const matchingProps$4=[],func_1$a=e=>e.customKeyboardShortcut;function instance$1U(e,t,n){let o,r,i;component_subscribe(e,commandsCustomized,(e=>n(2,r=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(r),["category","name"]))},[i,o,r,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},e=>lib$5.filterName(i,e.category,e.name,e.keyText,e.id),e=>showModal(CommandModal,{command:e.detail})]}class CommandListTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1U,create_fragment$1X,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1W(e){let t,n,o={value:e[2].value||"",menu:createMenu$3(),mode:"yaml"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}const getCurrentEditor$c=()=>getActiveComponent("YamlEditorTab");function createMenu$3(){return[{command:"yaml.toggleComment"},{divider:!0},{command:"yaml.save"},{command:"yaml.saveAs"},{divider:!0},{command:"yaml.find"},{command:"yaml.replace"}]}function instance$1T(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("YamlEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"yaml",category:"Yaml",getCurrentEditor:getCurrentEditor$c,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1T,create_fragment$1W,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var YamlEditorTab$1=Object.freeze({__proto__:null,default:YamlEditorTab});function create_default_slot$M(e){let t,n,o={value:e[3].value||"",menu:createMenu$2(),mode:"json"};return t=new AceEditor({props:o}),e[15](t),t.$on("input",e[16]),t.$on("focus",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.value=e[3].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[15](null),destroy_component(t,n)}}}function create_toolstrip_slot$9(e){let t,n;return t=new ToolStripSaveButton({props:{idPrefix:"json"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1V(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$9],default:[create_default_slot$M]},$$scope:{ctx:e}}}),e[18](t),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};2097166&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[18](null),destroy_component(t,n)}}}const getCurrentEditor$b=()=>getActiveComponent("JsonEditorTab");function createMenu$2(){return[{command:"json.toggleComment"},{divider:!0},{command:"json.save"},{command:"json.saveAs"},{divider:!0},{command:"json.find"},{command:"json.replace"}]}function instance$1S(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(14,r=e)));const c=createActivator("JsonEditorTab",!1);let l,u;const{editorState:d,editorValue:p,setEditorData:m,saveToStorage:f}=useEditorData({tabid:a});component_subscribe(e,d,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(7,a=e.tabid)},e.$$.update=()=>{24578&e.$$.dirty&&r&&l&&(null===n(13,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,u,o,s,d,m,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>m(e.detail),()=>{c.activate(),u?.activate(),invalidateCommands()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{u=e,n(2,u)}))}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$b,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1S,create_fragment$1V,safe_not_equal,{tabid:7,activator:0,getData:8,toggleComment:9,find:10,replace:11,getTabId:12})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[8]}get toggleComment(){return this.$$.ctx[9]}get find(){return this.$$.ctx[10]}get replace(){return this.$$.ctx[11]}get getTabId(){return this.$$.ctx[12]}}var JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$b(e){let t,n,o={value:e[4].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[22](t),t.$on("input",e[23]),t.$on("focus",e[24]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.value=e[4].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[22](null),destroy_component(t,n)}}}function create_if_block$_(e){let t,n,o=e[2],r=create_key_block$3(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){4&n&&safe_not_equal(o,o=e[2])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$3(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$3(e){let t,n;return t=new JslDataGrid({props:{jslid:e[2],supportsReload:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.jslid=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$a(e){let t,n,o=e[2]&&create_if_block$_(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$_(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot$L(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:e[2],$$slots:{2:[create__2_slot$a],1:[create__1_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.isSplitter=e[2]),1073741854&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$8(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),i=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1U(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$8],default:[create_default_slot$L]},$$scope:{ctx:e}}}),e[25](t),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1073741854&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[25](null),destroy_component(t,n)}}}const getCurrentEditor$a=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1R(e,t,n){let o,r;var i,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:s}=t,{archiveFolder:c}=t,{archiveFile:l}=t,u=null;const d=getContext("tabVisible");component_subscribe(e,d,(e=>n(21,r=e)));const p=createActivator("JsonLinesEditorTab",!1);let m,f;const h=(e,t)=>a(void 0,void 0,void 0,(function*(){yield apiCall("archive/save-text",{folder:e,file:t,text:o.value||""}),changeTab(s,(n=>Object.assign(Object.assign({},n),{title:t,props:{archiveFile:t,archiveFolder:e},archiveFile:t,archiveFolder:e}))),n(9,l=t),n(8,c=e)})),{editorState:g,editorValue:_,setEditorData:$,saveToStorage:b}=useEditorData({tabid:s});component_subscribe(e,g,(e=>n(4,o=e)));return e.$$set=e=>{"tabid"in e&&n(10,s=e.tabid),"archiveFolder"in e&&n(8,c=e.archiveFolder),"archiveFile"in e&&n(9,l=e.archiveFile)},e.$$.update=()=>{3145730&e.$$.dirty&&r&&m&&(null===n(20,i=null==m?void 0:m.getEditor())||void 0===i||i.focus())},[p,m,u,f,o,d,g,$,c,l,s,function(){return o.value||""},function(){m.getEditor().execCommand("find")},function(){m.getEditor().execCommand("replace")},function(){return s},function(){return!!u},function(){n(2,u=null)},function(){showModal(SaveArchiveModal,{folder:c,file:l,onSave:h})},function(){return a(this,void 0,void 0,(function*(){const e=v1_1$6();yield apiCall("jsldata/save-text",{jslid:e,text:o.value||""}),openNewTab({title:"Preview #",icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:e}},void 0,{forceNewTab:!0})}))},function(){return a(this,void 0,void 0,(function*(){n(2,u=v1_1$6()),yield apiCall("jsldata/save-text",{jslid:u,text:o.value||""})}))},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>$(e.detail),()=>{p.activate(),f?.activate(),invalidateCommands()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(3,f)}))}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$a,folder:null,format:"text",fileExtension:"jsonl",save:!1,findReplace:!0}),registerCommand({id:"jsonl.save",group:"save",category:"JSON Lines editor",name:"Save",toolbar:!0,isRelatedToTab:!0,icon:"icon save",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$a())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$a().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1R,create_fragment$1U,safe_not_equal,{tabid:10,archiveFolder:8,archiveFile:9,activator:0,getData:11,find:12,replace:13,getTabId:14,isPreview:15,closePreview:16,save:17,previewMewTab:18,preview:19})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[11]}get find(){return this.$$.ctx[12]}get replace(){return this.$$.ctx[13]}get getTabId(){return this.$$.ctx[14]}get isPreview(){return this.$$.ctx[15]}get closePreview(){return this.$$.ctx[16]}get save(){return this.$$.ctx[17]}get previewMewTab(){return this.$$.ctx[18]}get preview(){return this.$$.ctx[19]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff$1(){}function buildValues$1(e,t,n,o,r){for(var i,a=[];t;)a.push(t),i=t.previousComponent,delete t.previousComponent,t=i;a.reverse();for(var s=0,c=a.length,l=0,u=0;s<c;s++){var d=a[s];if(d.removed){if(d.value=e.join(o.slice(u,u+d.count)),u+=d.count,s&&a[s-1].added){var p=a[s-1];a[s-1]=a[s],a[s]=p}}else{if(!d.added&&r){var m=n.slice(l,l+d.count);m=m.map((function(e,t){var n=o[u+t];return n.length>e.length?n:e})),d.value=e.join(m)}else d.value=e.join(n.slice(l,l+d.count));l+=d.count,d.added||(u+=d.count)}}var f=a[c-1];return c>1&&"string"==typeof f.value&&(f.added||f.removed)&&e.equals("",f.value)&&(a[c-2].value+=f.value,a.pop()),a}Diff$1.prototype={diff:function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=o.callback;"function"==typeof o&&(r=o,o={}),this.options=o;var i=this;function a(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,c=e.length,l=1,u=s+c;o.maxEditLength&&(u=Math.min(u,o.maxEditLength));var d=null!==(n=o.timeout)&&void 0!==n?n:1/0,p=Date.now()+d,m=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(m[0],t,e,0);if(m[0].oldPos+1>=c&&f+1>=s)return a([{value:this.join(t),count:t.length}]);var h=-1/0,g=1/0;function _(){for(var n=Math.max(h,-l);n<=Math.min(g,l);n+=2){var o=void 0,r=m[n-1],u=m[n+1];r&&(m[n-1]=void 0);var d=!1;if(u){var p=u.oldPos-n;d=u&&0<=p&&p<s}var _=r&&r.oldPos+1<c;if(d||_){if(o=!_||d&&r.oldPos+1<u.oldPos?i.addToPath(u,!0,void 0,0):i.addToPath(r,void 0,!0,1),f=i.extractCommon(o,t,e,n),o.oldPos+1>=c&&f+1>=s)return a(buildValues$1(i,o.lastComponent,t,e,i.useLongestToken));m[n]=o,o.oldPos+1>=c&&(g=Math.min(g,n-1)),f+1>=s&&(h=Math.max(h,n+1))}else m[n]=void 0}l++}if(r)!function e(){setTimeout((function(){if(l>u||Date.now()>p)return r();_()||e()}),0)}();else for(;l<=u&&Date.now()<=p;){var $=_();if($)return $}},addToPath:function(e,t,n,o){var r=e.lastComponent;return r&&r.added===t&&r.removed===n?{oldPos:e.oldPos+o,lastComponent:{count:r.count+1,added:t,removed:n,previousComponent:r.previousComponent}}:{oldPos:e.oldPos+o,lastComponent:{count:1,added:t,removed:n,previousComponent:r}}},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.oldPos,s=a-o,c=0;s+1<r&&a+1<i&&this.equals(t[s+1],n[a+1]);)s++,a++,c++;return c&&(e.lastComponent={count:c,previousComponent:e.lastComponent}),e.oldPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var extendedWordChars$1=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace$1=/\S/,wordDiff$1=new Diff$1;wordDiff$1.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace$1.test(e)&&!reWhitespace$1.test(t)},wordDiff$1.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars$1.test(t[n])&&extendedWordChars$1.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff$1=new Diff$1;function diffLines(e,t,n){return lineDiff$1.diff(e,t,n)}lineDiff$1.tokenize=function(e){this.options.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff$1=new Diff$1;sentenceDiff$1.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff$1=new Diff$1;function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}cssDiff$1.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString$1=Object.prototype.toString,jsonDiff$1=new Diff$1;function canonicalize$1(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString$1.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize$1(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof$1(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize$1(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff$1.useLongestToken=!0,jsonDiff$1.tokenize=lineDiff$1.tokenize,jsonDiff$1.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize$1(e,null,null,r),r," ")},jsonDiff$1.equals=function(e,t){return Diff$1.prototype.equals.call(jsonDiff$1,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff$1=new Diff$1,LineType;function structuredPatch(e,t,n,o,r,i,a){a||(a={}),void 0===a.context&&(a.context=4);var s=diffLines(n,o,a);if(s){s.push({value:"",lines:[]});for(var c=[],l=0,u=0,d=[],p=1,m=1,f=function(e){var t=s[e],r=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=r,t.added||t.removed){var i;if(!l){var f=s[e-1];l=p,u=m,f&&(d=a.context>0?g(f.lines.slice(-a.context)):[],l-=d.length,u-=d.length)}(i=d).push.apply(i,_toConsumableArray(r.map((function(e){return(t.added?"+":"-")+e})))),t.added?m+=r.length:p+=r.length}else{if(l)if(r.length<=2*a.context&&e<s.length-2){var h;(h=d).push.apply(h,_toConsumableArray(g(r)))}else{var _,$=Math.min(r.length,a.context);(_=d).push.apply(_,_toConsumableArray(g(r.slice(0,$))));var b={oldStart:l,oldLines:p-l+$,newStart:u,newLines:m-u+$,lines:d};if(e>=s.length-2&&r.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==r.length&&d.length>b.oldLines;!v&&x&&n.length>0&&d.splice(b.oldLines,0,"\"),(v||x)&&y||d.push("\")}c.push(b),l=0,u=0,d=[]}p+=r.length,m+=r.length}},h=0;h<s.length;h++)f(h);return{oldFileName:e,newFileName:t,oldHeader:r,newHeader:i,hunks:c}}function g(e){return e.map((function(e){return" "+e}))}}function formatPatch(e){if(Array.isArray(e))return e.map(formatPatch).join("\n");var t=[];e.oldFileName==e.newFileName&&t.push("Index: "+e.oldFileName),t.push("==================================================================="),t.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),t.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var n=0;n<e.hunks.length;n++){var o=e.hunks[n];0===o.oldLines&&(o.oldStart-=1),0===o.newLines&&(o.newStart-=1),t.push("@@ -"+o.oldStart+","+o.oldLines+" +"+o.newStart+","+o.newLines+" @@"),t.push.apply(t,o.lines)}return t.join("\n")+"\n"}function createTwoFilesPatch(e,t,n,o,r,i,a){return formatPatch(structuredPatch(e,t,n,o,r,i,a))}arrayDiff$1.tokenize=function(e){return e.slice()},arrayDiff$1.join=arrayDiff$1.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));const OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},DiffStyleType={WORD:"word",CHAR:"char"};var ColorSchemeType;!function(e){e.AUTO="auto",e.DARK="dark",e.LIGHT="light"}(ColorSchemeType||(ColorSchemeType={}));const specials=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],regex=RegExp("["+specials.join("\\")+"]","g");function escapeForRegExp(e){return e.replace(regex,"\\$&")}function unifyPath(e){return e?e.replace(/\\/g,"/"):e}function hashCode(e){let t,n,o,r=0;for(t=0,o=e.length;t<o;t++)n=e.charCodeAt(t),r=(r<<5)-r+n,r|=0;return r}function getExtension(e,t){const n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce(((t,n)=>t||e.startsWith(n)),!1)}const baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){const o=void 0!==n?[...baseDiffFilenamePrefixes,n]:baseDiffFilenamePrefixes,r=t?new RegExp(`^${escapeForRegExp(t)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,i=""]=r.exec(e)||[],a=o.find((e=>0===i.indexOf(e)));return(a?i.slice(a.length):i).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function getSrcFilename(e,t){return getFilename(e,"---",t)}function getDstFilename(e,t){return getFilename(e,"+++",t)}function parse$1(e,t={}){const n=[];let o=null,r=null,i=null,a=null,s=null,c=null,l=null;const u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,f=/^new mode (\d{6})/,h=/^deleted file mode (\d{6})/,g=/^new file mode (\d{6})/,_=/^copy from "?(.+)"?/,$=/^copy to "?(.+)"?/,b=/^rename from "?(.+)"?/,v=/^rename to "?(.+)"?/,y=/^similarity index (\d+)%/,x=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,C=/^Binary files (.*) and (.*) differ/,k=/^GIT binary patch/,S=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,T=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,A=/^new file mode (\d{6})/,E=/^deleted file mode (\d{6}),(\d{6})/,O=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function I(){null!==r&&null!==o&&(o.blocks.push(r),r=null)}function N(){null!==o&&(o.oldName||null===c||(o.oldName=c),o.newName||null===l||(o.newName=l),o.newName&&(n.push(o),o=null)),c=null,l=null}function D(){I(),N(),o={blocks:[],deletedLines:0,addedLines:0}}function M(e){let t;I(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,i=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,i=parseInt(t[1],10),a=parseInt(t[2],10),s=parseInt(t[3],10)):(e.startsWith(p)&&console.error("Failed to parse lines, starting in 0!"),i=0,s=0,o.isCombined=!1)),r={lines:[],oldStartLine:i,oldStartLine2:a,newStartLine:s,header:e}}return O.forEach(((e,a)=>{if(!e||e.startsWith("*"))return;let I;const N=O[a-1],R=O[a+1],L=O[a+2];if(e.startsWith("diff --git")||e.startsWith("diff --combined")){D();if((I=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(c=getFilename(I[1],void 0,t.dstPrefix),l=getFilename(I[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");return void(o.isGitDiff=!0)}if(e.startsWith("Binary files")&&!(null==o?void 0:o.isGitDiff)){D();if((I=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(e))&&(c=getFilename(I[1],void 0,t.dstPrefix),l=getFilename(I[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");return void(o.isBinary=!0)}if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&R.startsWith(d)&&L.startsWith(p))&&D(),null==o?void 0:o.isTooBig)return;if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength)){o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],r=null;return void M("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed")}if(e.startsWith(u)&&R.startsWith(d)||e.startsWith(d)&&N.startsWith(u)){if(o&&!o.oldName&&e.startsWith("--- ")&&(I=getSrcFilename(e,t.srcPrefix)))return o.oldName=I,void(o.language=getExtension(o.oldName,o.language));if(o&&!o.newName&&e.startsWith("+++ ")&&(I=getDstFilename(e,t.dstPrefix)))return o.newName=I,void(o.language=getExtension(o.newName,o.language))}if(o&&(e.startsWith(p)||o.isGitDiff&&o.oldName&&o.newName&&!r))return void M(e);if(r&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))return void function(e){if(null===o||null===r||null===i||null===s)return;const t={content:e},n=o.isCombined?["+ "," +","++"]:["+"],a=o.isCombined?["- "," -","--"]:["-"];startsWithAny(e,n)?(o.addedLines++,t.type=LineType.INSERT,t.oldNumber=void 0,t.newNumber=s++):startsWithAny(e,a)?(o.deletedLines++,t.type=LineType.DELETE,t.oldNumber=i++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=i++,t.newNumber=s++),r.lines.push(t)}(e);const F=!function(e,t){let n=t;for(;n<O.length-3;){if(e.startsWith("diff"))return!1;if(O[n].startsWith(u)&&O[n+1].startsWith(d)&&O[n+2].startsWith(p))return!0;n++}return!1}(e,a);if(null===o)throw new Error("Where is my file !!!");(I=m.exec(e))?o.oldMode=I[1]:(I=f.exec(e))?o.newMode=I[1]:(I=h.exec(e))?(o.deletedFileMode=I[1],o.isDeleted=!0):(I=g.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=_.exec(e))?(F&&(o.oldName=I[1]),o.isCopy=!0):(I=$.exec(e))?(F&&(o.newName=I[1]),o.isCopy=!0):(I=b.exec(e))?(F&&(o.oldName=I[1]),o.isRename=!0):(I=v.exec(e))?(F&&(o.newName=I[1]),o.isRename=!0):(I=C.exec(e))?(o.isBinary=!0,o.oldName=getFilename(I[1],void 0,t.srcPrefix),o.newName=getFilename(I[2],void 0,t.dstPrefix),M("Binary file")):k.test(e)?(o.isBinary=!0,M(e)):(I=y.exec(e))?o.unchangedPercentage=parseInt(I[1],10):(I=x.exec(e))?o.changedPercentage=parseInt(I[1],10):(I=w.exec(e))?(o.checksumBefore=I[1],o.checksumAfter=I[2],I[3]&&(o.mode=I[3])):(I=S.exec(e))?(o.checksumBefore=[I[2],I[3]],o.checksumAfter=I[1]):(I=T.exec(e))?(o.oldMode=[I[2],I[3]],o.newMode=I[1]):(I=A.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=E.exec(e))&&(o.deletedFileMode=I[1],o.isDeleted=!0)})),I(),N(),n}function Diff(){}function buildValues(e,t,n,o,r){for(var i=0,a=t.length,s=0,c=0;i<a;i++){var l=t[i];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,i&&t[i-1].added){var u=t[i-1];t[i-1]=t[i],t[i]=u}}else{if(!l.added&&r){var d=n.slice(s,s+l.count);d=d.map((function(e,t){var n=o[c+t];return n.length>e.length?n:e})),l.value=e.join(d)}else l.value=e.join(n.slice(s,s+l.count));s+=l.count,l.added||(c+=l.count)}}var p=t[a-1];return a>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}function clonePath(e){return{newPos:e.newPos,components:e.components.slice(0)}}Diff.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var r=this;function i(e){return o?(setTimeout((function(){o(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,c=1,l=a+s;n.maxEditLength&&(l=Math.min(l,n.maxEditLength));var u=[{newPos:-1,components:[]}],d=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=a&&d+1>=s)return i([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*c;n<=c;n+=2){var o=void 0,l=u[n-1],d=u[n+1],p=(d?d.newPos:0)-n;l&&(u[n-1]=void 0);var m=l&&l.newPos+1<a,f=d&&0<=p&&p<s;if(m||f){if(!m||f&&l.newPos<d.newPos?(o=clonePath(d),r.pushComponent(o.components,void 0,!0)):((o=l).newPos++,r.pushComponent(o.components,!0,void 0)),p=r.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return i(buildValues(r,o.components,t,e,r.useLongestToken));u[n]=o}else u[n]=void 0}c++}if(o)!function e(){setTimeout((function(){if(c>l)return o();p()||e()}),0)}();else for(;c<=l;){var m=p();if(m)return m}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.newPos,s=a-o,c=0;a+1<r&&s+1<i&&this.equals(t[a+1],n[s+1]);)a++,s++,c++;return c&&e.components.push({count:c}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var characterDiff=new Diff;function diffChars(e,t,n){return characterDiff.diff(e,t,n)}var extendedWordChars=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace=/\S/,wordDiff=new Diff;function diffWordsWithSpace(e,t,n){return wordDiff.diff(e,t,n)}wordDiff.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace.test(e)&&!reWhitespace.test(t)},wordDiff.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars.test(t[n])&&extendedWordChars.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff=new Diff;lineDiff.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff=new Diff;sentenceDiff.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff=new Diff;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}cssDiff.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff.useLongestToken=!0,jsonDiff.tokenize=lineDiff.tokenize,jsonDiff.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,r),r," ")},jsonDiff.equals=function(e,t){return Diff.prototype.equals.call(jsonDiff,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff=new Diff;function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;const n=[];let o,r;for(o=0;o<=t.length;o++)n[o]=[o];for(r=0;r<=e.length;r++)n[0][r]=r;for(o=1;o<=t.length;o++)for(r=1;r<=e.length;r++)t.charAt(o-1)===e.charAt(r-1)?n[o][r]=n[o-1][r-1]:n[o][r]=Math.min(n[o-1][r-1]+1,Math.min(n[o][r-1]+1,n[o-1][r]+1));return n[t.length][e.length]}function newDistanceFn(e){return(t,n)=>{const o=e(t).trim(),r=e(n).trim();return levenshtein(o,r)/(o.length+r.length)}}function newMatcherFn(e){return function t(n,o,r=0,i=new Map){const a=function(t,n,o=new Map){let r,i=1/0;for(let a=0;a<t.length;++a)for(let s=0;s<n.length;++s){const c=JSON.stringify([t[a],n[s]]);let l;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<i&&(i=l,r={indexA:a,indexB:s,score:i})}return r}(n,o,i);if(!a||n.length+o.length<3)return[[n,o]];const s=n.slice(0,a.indexA),c=o.slice(0,a.indexB),l=[n[a.indexA]],u=[o[a.indexB]],d=a.indexA+1,p=a.indexB+1,m=n.slice(d),f=o.slice(p),h=t(s,c,r+1,i),g=t(l,u,r+1,i),_=t(m,f,r+1,i);let $=g;return(a.indexA>0||a.indexB>0)&&($=h.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e};const CSSLineClass={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},defaultRenderConfig={matching:LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:DiffStyleType.WORD,colorScheme:ColorSchemeType.LIGHT},separator="/",distance=newDistanceFn((e=>e.value)),matcher=newMatcherFn(distance);function isDevNullName(e){return-1!==e.indexOf("dev/null")}function removeInsElements(e){return e.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function removeDelElements(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function toCSSClass(e){switch(e){case LineType.CONTEXT:return CSSLineClass.CONTEXT;case LineType.INSERT:return CSSLineClass.INSERTS;case LineType.DELETE:return CSSLineClass.DELETES}}function colorSchemeToCss(e){switch(e){case ColorSchemeType.DARK:return"d2h-dark-color-scheme";case ColorSchemeType.AUTO:return"d2h-auto-color-scheme";case ColorSchemeType.LIGHT:default:return"d2h-light-color-scheme"}}function prefixLength(e){return e?2:1}function escapeForHtml(e){return e.slice(0).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")}function deconstructLine(e,t,n=!0){const o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){const t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;{const e=[],o=[],r=t.split(separator),i=n.split(separator);let a=0,s=r.length-1,c=i.length-1;for(;a<s&&a<c&&r[a]===i[a];)e.push(i[a]),a+=1;for(;s>a&&c>a&&r[s]===i[c];)o.unshift(i[c]),s-=1,c-=1;const l=e.join(separator),u=o.join(separator),d=r.slice(a,s+1).join(separator),p=i.slice(a,c+1).join(separator);return l.length&&u.length?l+separator+"{"+d+" → "+p+"}"+separator+u:l.length?l+separator+"{"+d+" → "+p+"}":u.length?"{"+d+" → "+p+"}"+separator+u:t+" → "+n}}function getHtmlId(e){return`d2h-${hashCode(filenameDiff(e)).toString().slice(-6)}`}function getFileIcon(e){let t="file-changed";return e.isRename||e.isCopy?t="file-renamed":e.isNew?t="file-added":e.isDeleted?t="file-deleted":e.newName!==e.oldName&&(t="file-renamed"),t}function diffHighlight(e,t,n,o={}){const{matching:r,maxLineLengthHighlight:i,matchWordsThreshold:a,diffStyle:s}=Object.assign(Object.assign({},defaultRenderConfig),o),c=deconstructLine(e,n,!1),l=deconstructLine(t,n,!1);if(c.content.length>i||l.content.length>i)return{oldLine:{prefix:c.prefix,content:escapeForHtml(c.content)},newLine:{prefix:l.prefix,content:escapeForHtml(l.content)}};const u="char"===s?diffChars(c.content,l.content):diffWordsWithSpace(c.content,l.content),d=[];if("word"===s&&"words"===r){const e=u.filter((e=>e.removed)),t=u.filter((e=>e.added));matcher(t,e).forEach((e=>{if(1===e[0].length&&1===e[1].length){distance(e[0][0],e[1][0])<a&&(d.push(e[0][0]),d.push(e[1][0]))}}))}const p=u.reduce(((e,t)=>{const n=t.added?"ins":t.removed?"del":null,o=d.indexOf(t)>-1?' class="d2h-change"':"",r=escapeForHtml(t.value);return null!==n?`${e}<${n}${o}>${r}</${n}>`:`${e}${r}`}),"");return{oldLine:{prefix:c.prefix,content:removeInsElements(p)},newLine:{prefix:l.prefix,content:removeDelElements(p)}}}const baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon",defaultFileListRendererConfig={colorScheme:defaultRenderConfig.colorScheme};class FileListRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultFileListRendererConfig),t)}render(e){const t=e.map((e=>this.hoganUtils.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:this.hoganUtils.template(iconsBaseTemplatesPath$2,getFileIcon(e))}))).join("\n");return this.hoganUtils.render(baseTemplatesPath$2,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),filesNumber:e.length,files:t})}}const defaultLineByLineRendererConfig=Object.assign(Object.assign({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag";class LineByLineRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultLineByLineRendererConfig),t)}render(e){const t=e.map((e=>{let t;return t=e.blocks.length?this.generateFileHtml(e):this.generateEmptyDiff(),this.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";const n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})}generateEmptyDiff(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})}generateFileHtml(e){const t=newMatcherFn(newDistanceFn((t=>deconstructLine(t.content,e.isCombined).content)));return e.blocks.map((n=>{let o=this.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?n.header:escapeForHtml(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach((([n,r,i])=>{if(r.length&&i.length&&!n.length)this.applyRematchMatching(r,i,t).map((([t,n])=>{const{left:r,right:i}=this.processChangedLines(e,e.isCombined,t,n);o+=r,o+=i}));else if(n.length)n.forEach((t=>{const{prefix:n,content:r}=deconstructLine(t.content,e.isCombined);o+=this.generateSingleLineHtml(e,{type:CSSLineClass.CONTEXT,prefix:n,content:r,oldNumber:t.oldNumber,newNumber:t.newNumber})}));else if(r.length||i.length){const{left:t,right:n}=this.processChangedLines(e,e.isCombined,r,i);o+=t,o+=n}else console.error("Unknown state reached while processing groups of lines",n,r,i)})),o})).join("\n")}applyLineGroupping(e){const t=[];let n=[],o=[];for(let r=0;r<e.lines.length;r++){const i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t}applyRematchMatching(e,t,n){const o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((e=>e.content.length))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]}processChangedLines(e,t,n,o){const r={right:"",left:""},i=Math.max(n.length,o.length);for(let a=0;a<i;a++){const i=n[a],s=o[a],c=void 0!==i&&void 0!==s?diffHighlight(i.content,s.content,t,this.config):void 0,l=void 0!==i&&void 0!==i.oldNumber?Object.assign(Object.assign({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:Object.assign(Object.assign({},deconstructLine(i.content,t)),{type:toCSSClass(i.type)})),{oldNumber:i.oldNumber,newNumber:i.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?Object.assign(Object.assign({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:Object.assign(Object.assign({},deconstructLine(s.content,t)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,{left:d,right:p}=this.generateLineHtml(e,l,u);r.left+=d,r.right+=p}return r}generateLineHtml(e,t,n){return{left:this.generateSingleLineHtml(e,t),right:this.generateSingleLineHtml(e,n)}}generateSingleLineHtml(e,t){if(void 0===t)return"";const n=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:t.oldNumber||"",newNumber:t.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:t.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===t.prefix?"&nbsp;":t.prefix,content:t.content,lineNumber:n,line:t,file:e})}}const defaultSideBySideRendererConfig=Object.assign(Object.assign({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag";class SideBySideRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultSideBySideRendererConfig),t)}render(e){const t=e.map((e=>{let t;return t=e.blocks.length?this.generateFileHtml(e):this.generateEmptyDiff(),this.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";const n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}}generateFileHtml(e){const t=newMatcherFn(newDistanceFn((t=>deconstructLine(t.content,e.isCombined).content)));return e.blocks.map((n=>{const o={left:this.makeHeaderHtml(n.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach((([n,r,i])=>{if(r.length&&i.length&&!n.length)this.applyRematchMatching(r,i,t).map((([t,n])=>{const{left:r,right:i}=this.processChangedLines(e.isCombined,t,n);o.left+=r,o.right+=i}));else if(n.length)n.forEach((t=>{const{prefix:n,content:r}=deconstructLine(t.content,e.isCombined),{left:i,right:a}=this.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:n,content:r,number:t.oldNumber},{type:CSSLineClass.CONTEXT,prefix:n,content:r,number:t.newNumber});o.left+=i,o.right+=a}));else if(r.length||i.length){const{left:t,right:n}=this.processChangedLines(e.isCombined,r,i);o.left+=t,o.right+=n}else console.error("Unknown state reached while processing groups of lines",n,r,i)})),o})).reduce(((e,t)=>({left:e.left+t.left,right:e.right+t.right})),{left:"",right:""})}applyLineGroupping(e){const t=[];let n=[],o=[];for(let r=0;r<e.lines.length;r++){const i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t}applyRematchMatching(e,t,n){const o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((e=>e.content.length))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]}makeHeaderHtml(e,t){return this.hoganUtils.render(genericTemplatesPath,"block-header",{CSSLineClass:CSSLineClass,blockHeader:(null==t?void 0:t.isTooBig)?e:escapeForHtml(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})}processChangedLines(e,t,n){const o={right:"",left:""},r=Math.max(t.length,n.length);for(let i=0;i<r;i++){const r=t[i],a=n[i],s=void 0!==r&&void 0!==a?diffHighlight(r.content,a.content,e,this.config):void 0,c=void 0!==r&&void 0!==r.oldNumber?Object.assign(Object.assign({},void 0!==s?{prefix:s.oldLine.prefix,content:s.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:Object.assign(Object.assign({},deconstructLine(r.content,e)),{type:toCSSClass(r.type)})),{number:r.oldNumber}):void 0,l=void 0!==a&&void 0!==a.newNumber?Object.assign(Object.assign({},void 0!==s?{prefix:s.newLine.prefix,content:s.newLine.content,type:CSSLineClass.INSERT_CHANGES}:Object.assign(Object.assign({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.newNumber}):void 0,{left:u,right:d}=this.generateLineHtml(c,l);o.left+=u,o.right+=d}return o}generateLineHtml(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}}generateSingleHtml(e){const t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||`${CSSLineClass.CONTEXT} d2h-emptyplaceholder`,lineClass:void 0!==e?t:`${t} d2h-code-side-emptyplaceholder`,contentClass:void 0!==e?n:`${n} d2h-code-side-emptyplaceholder`,prefix:" "===(null==e?void 0:e.prefix)?"&nbsp;":null==e?void 0:e.prefix,content:null==e?void 0:e.content,lineNumber:null==e?void 0:e.number})}}var compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,r=/\r/g,i=/\\/g,a=/\u2028/,s=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function l(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function u(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var o=1,r=e.length;o<r;o++)if(t.charAt(n+o)!=e.charAt(o))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,o){var r=n.length,i=0,a=null,s=null,d="",p=[],m=!1,f=0,h=0,g="{{",_="}}";function $(){d.length>0&&(p.push({tag:"_t",text:new String(d)}),d="")}function b(n,o){if($(),n&&function(){for(var n=!0,o=h;o<p.length;o++)if(!(n=e.tags[p[o].tag]<e.tags._v||"_t"==p[o].tag&&null===p[o].text.match(t)))return!1;return n}())for(var r,i=h;i<p.length;i++)p[i].text&&((r=p[i+1])&&">"==r.tag&&(r.indent=p[i].text.toString()),p.splice(i,1));else o||p.push({tag:"\n"});m=!1,h=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),r=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=r[0],_=r[r.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),f=0;f<r;f++)0==i?u(g,n,f)?(--f,$(),i=1):"\n"==n.charAt(f)?b(m):d+=n.charAt(f):1==i?(f+=g.length-1,"="==(a=(s=e.tags[n.charAt(f+1)])?n.charAt(f+1):"_v")?(f=v(n,f),i=0):(s&&f++,i=2),m=f):u(_,n,f)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:f+_.length}),d="",f+=_.length-1,i=0,"{"==a&&("}}"==_?f++:c(p[p.length-1]))):d+=n.charAt(f);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,r){var i,a=[],s=null,c=null;for(i=o[o.length-1];t.length>0;){if(c=t.shift(),i&&"<"==i.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,r))o.push(c),c.nodes=p(t,c.tag,o,r);else{if("/"==c.tag){if(0===o.length)throw new Error("Closing tag without opener: /"+c.n);if(s=o.pop(),c.n!=s.n&&!f(c.n,s.n,r))throw new Error("Nesting error: "+s.n+" vs. "+c.n);return s.end=c.i,a}"\n"==c.tag&&(c.last=0==t.length||"\n"==t[0].tag)}a.push(c)}if(o.length>0)throw new Error("missing closing tag: "+o.pop().n);return a}function m(e,t){for(var n=0,o=t.length;n<o;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var o=0,r=n.length;o<r;o++)if(n[o].c==e&&n[o].o==t)return!0}function h(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+h(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+_(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,o){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+h(t)+"}"};var g=0;function _(e){return e.replace(i,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(r,"\\r").replace(a,"\\u2028").replace(s,"\\u2029")}function $(e){return~e.indexOf(".")?"d":"f"}function b(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+_(n)+'",c,p,"'+(e.indent||"")+'"));',n}function v(e,t){t.code+="t.b(t.t(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'}function y(e){return"t.b("+e+");"}e.generate=function(t,n,o){g=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),o.asString?this.stringify(r,n,o):this.makeTemplate(r,n,o)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var o=this.makePartials(e);return o.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(o,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":b,"<":function(t,n){var o={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,o);var r=n.partials[b(t,n)];r.subs=o.subs,r.partials=o.partials},$:function(t,n){var o={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,o),n.subs[t.n]=o.code,n.inPartial||(n.code+='t.sub("'+_(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=y('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=y('"'+_(e.text)+'"')},"{":v,"&":v},e.walk=function(t,n){for(var o,r=0,i=t.length;r<i;r++)(o=e.codegen[t[r].tag])&&o(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var o=e.cacheKey(t,n),r=this.cache[o];if(r){var i=r.partials;for(var a in i)delete i[a].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=r}}(e)}(compiler);var template={};!function(e){!function(e){function t(e,t,n){var o;return t&&"object"==typeof t&&(void 0!==t[e]?o=t[e]:n&&t.get&&"function"==typeof t.get&&(o=t.get(e))),o}e.Template=function(e,t,n,o){e=e||{},this.r=e.code||this.r,this.c=n,this.options=o||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),s.test(e)?e.replace(n,"&amp;").replace(o,"&lt;").replace(r,"&gt;").replace(i,"&#39;").replace(a,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],o=t[n.name];if(n.instance&&n.base==o)return n.instance;if("string"==typeof o){if(!this.c)throw new Error("No compiler available.");o=this.c.compile(o,this.options)}if(!o)return null;if(this.partials[e].base=o,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);o=function(e,t,n,o,r,i){function a(){}function s(){}var c;a.prototype=e,s.prototype=e.subs;var l=new a;for(c in l.subs=new s,l.subsText={},l.buf="",o=o||{},l.stackSubs=o,l.subsText=i,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in r=r||{},l.stackPartials=r,n)r[c]||(r[c]=n[c]);for(c in r)l.partials[c]=r[c];return l}(o,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=o,o},rp:function(e,t,n,o){var r=this.ep(e,n);return r?r.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var r=0;r<o.length;r++)e.push(o[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,r,i,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,r,i,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,r){var i,a=e.split("."),s=this.f(a[0],n,o,r),c=this.options.modelGet,u=null;if("."===e&&l(n[n.length-2]))s=n[n.length-1];else for(var d=1;d<a.length;d++)void 0!==(i=t(a[d],s,c))?(u=s,s=i):s="";return!(r&&!s)&&(r||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,r){for(var i=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(i=t(e,n[c],s))){a=!0;break}return a?(r||"function"!=typeof i||(i=this.mv(i,n,o)),i):!r&&""},ls:function(e,t,n,o,r){var i=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=i,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,o,r,i,a){var s,c=t[t.length-1],l=e.call(c);return"function"==typeof l?!!o||(s=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(l,c,n,s.substring(r,i),a)):l},mv:function(e,t,n){var o=t[t.length-1],r=e.call(o);return"function"==typeof r?this.ct(c(r.call(o)),o,n):r},sub:function(e,t,n,o){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,r=/>/g,i=/\'/g,a=/\"/g,s=/[&<>\"\']/;function c(e){return String(null==e?"":e)}var l=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(e)}(template);var Hogan=compiler;Hogan.Template=template.Template,Hogan.template=Hogan.Template;var hogan=Hogan;const defaultTemplates={};defaultTemplates["file-summary-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<li class="d2h-file-list-line">'),o.b("\n"+n),o.b(' <span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <a href="#'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-name">'),o.b(o.v(o.f("fileName",e,t,0))),o.b("</a>"),o.b("\n"+n),o.b(' <span class="d2h-file-stats">'),o.b("\n"+n),o.b(' <span class="d2h-lines-added">'),o.b(o.v(o.f("addedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(' <span class="d2h-lines-deleted">'),o.b(o.v(o.f("deletedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b("</li>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}}),defaultTemplates["file-summary-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-file-list-wrapper '),o.b(o.v(o.f("colorScheme",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-list-header">'),o.b("\n"+n),o.b(' <span class="d2h-file-list-title">Files changed ('),o.b(o.v(o.f("filesNumber",e,t,0))),o.b(")</span>"),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-show">show</a>'),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <ol class="d2h-file-list">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("files",e,t,0))),o.b("\n"+n),o.b(" </ol>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-block-header"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('"></td>'),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.s(o.f("blockHeader",e,t,1),e,t,0,156,173,"{{ }}")&&(o.rs(e,t,(function(e,t,n){n.b(n.t(n.f("blockHeader",e,t,0)))})),e.pop()),o.s(o.f("blockHeader",e,t,1),e,t,1,0,0,"")||o.b("&nbsp;"),o.b("</div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-empty-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" File without changes"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-file-path"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <span class="d2h-file-name">'),o.b(o.v(o.f("fileDiffName",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(o.rp("<fileTag1",e,t," ")),o.b("</span>"),o.b("\n"+n),o.b('<label class="d2h-file-collapse">'),o.b("\n"+n),o.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),o.b("\n"+n),o.b(" Viewed"),o.b("\n"+n),o.b("</label>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}}),defaultTemplates["generic-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("lineNumber",e,t,0))),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.s(o.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-prefix">'),o.b(o.t(o.f("prefix",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("prefix",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-prefix">&nbsp;</span>'),o.b("\n"+n)),o.s(o.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-ctn">'),o.b(o.t(o.f("content",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("content",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-ctn"><br></span>'),o.b("\n"+n)),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-wrapper '),o.b(o.v(o.f("colorScheme",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("content",e,t,0))),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),o.b("\n"+n),o.b(' width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),o.b("\n"+n),o.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("diffs",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-numbers"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="line-num1">'),o.b(o.v(o.f("oldNumber",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b('<div class="line-num2">'),o.b(o.v(o.f("newNumber",e,t,0))),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["side-by-side-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-files-diff">'),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.left",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.right",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),o.fl()},partials:{},subs:{}});class HoganJsUtils{constructor({compiledTemplates:e={},rawTemplates:t={}}){const n=Object.entries(t).reduce(((e,[t,n])=>{const o=hogan.compile(n,{asString:!1});return Object.assign(Object.assign({},e),{[t]:o})}),{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},defaultTemplates),e),n)}static compile(e){return hogan.compile(e,{asString:!1})}render(e,t,n,o,r){const i=this.templateKey(e,t);try{return this.preCompiledTemplates[i].render(n,o,r)}catch(e){throw new Error(`Could not find template to render '${i}'`)}}template(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]}templateKey(e,t){return`${e}-${t}`}}const defaultDiff2HtmlConfig=Object.assign(Object.assign(Object.assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t={}){return parse$1(e,Object.assign(Object.assign({},defaultDiff2HtmlConfig),t))}function html(e,t={}){const n=Object.assign(Object.assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,r=new HoganJsUtils(n),{colorScheme:i}=n,a={colorScheme:i};return(n.drawFileList?new FileListRenderer(r,a).render(o):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(r,n).render(o):new LineByLineRenderer(r,n).render(o))}function create_fragment$1T(e){let t;return{c(){t=element("div"),attr(t,"class","root svelte-ym7rtz")},m(n,o){insert(n,t,o),t.innerHTML=e[0]},p(e,[n]){1&n&&(t.innerHTML=e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$1Q(e,t,n){let o,r,i,{leftText:a}=t,{rightText:s}=t,{leftTitle:c}=t,{rightTitle:l}=t;return e.$$set=e=>{"leftText"in e&&n(1,a=e.leftText),"rightText"in e&&n(2,s=e.rightText),"leftTitle"in e&&n(3,c=e.leftTitle),"rightTitle"in e&&n(4,l=e.rightTitle)},e.$$.update=()=>{30&e.$$.dirty&&n(6,o=createTwoFilesPatch(c,l,a,s,"","")),64&e.$$.dirty&&n(5,r=parse(o)),32&e.$$.dirty&&n(0,i=html(r,{drawFileList:!1}))},[i,a,s,c,l,r,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Q,create_fragment$1T,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$Z(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$K]},$$scope:{ctx:e}}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};187&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$K(e){let t,n,o,r,i,a,s,c,l,u;return t=new FontIcon({props:{icon:e[0]}}),l=new FontIcon({props:{icon:e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"}}),{c(){create_component(t.$$.fragment),n=space(),o=element("span"),r=text$1(e[1]),i=text$1(" ("),a=text$1(e[4]),s=text$1(")"),c=space(),create_component(l.$$.fragment),attr(o,"class","switch svelte-1muj49d")},m(e,d){mount_component(t,e,d),insert(e,n,d),insert(e,o,d),append(o,r),append(o,i),append(o,a),append(o,s),insert(e,c,d),mount_component(l,e,d),u=!0},p(e,n){const o={};1&n&&(o.icon=e[0]),t.$set(o),(!u||2&n)&&set_data(r,e[1]),(!u||16&n)&&set_data(a,e[4]);const i={};40&n&&(i.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(i)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1S(e){let t,n,o=e[4]>0&&create_if_block$Z(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$Z(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1P(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>r()));let{icon:a}=t,{label:s}=t,{values:c}=t;i();let{field:l}=t,{count:u}=t;return e.$$set=e=>{"icon"in e&&n(0,a=e.icon),"label"in e&&n(1,s=e.label),"values"in e&&i(n(2,c=e.values)),"field"in e&&n(3,l=e.field),"count"in e&&n(4,u=e.count)},[a,s,c,l,u,o,()=>{set_store_value(c,o={...o,[l]:!o[l]},o)}]}class RowsFilterSwitcher extends SvelteComponent{constructor(e){super(),init(this,e,instance$1P,create_fragment$1S,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function get_each_context$m(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$p(e){let t,n;return t=new FormDatabaseSelect({props:{conidName:"sourceConid",name:"sourceDatabase",label:"Source database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$Y(e){let t,n;return t=new FormSelectField({props:{name:"sourceDatabase",label:"Source DB model",templateProps:{noMargin:!0},isNative:!0,options:(e[13]||[]).map(func$c),notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n[0]&&(o.options=(e[13]||[]).map(func$c)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$c(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon arrow-right-bold"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Deploy (experimental)"),attr(t,"class","arrow svelte-lmwisg")},m(e,i){insert(e,t,i),mount_component(n,t,null),insert(e,o,i),r=!0},p:noop$3,i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o)}}}function create_each_block$m(e){let t,n;function o(...t){return e[36](e[46],...t)}return t=new RowsFilterSwitcher({props:{icon:lib$5.DbDiffCompareDefs[e[46]].icon,label:lib$5.DbDiffCompareDefs[e[46]].plural,values:e[15],field:"hide_"+e[46],count:filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};96&r[0]&&(i.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$o(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w,C,k,S,T,A,E,O,I;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const N=[create_if_block$Y,create_else_block$p],D=[];function M(e,t){return"__model"==e[6]?.sourceConid?0:1}function R(t){e[35](t)}a=M(e),s=D[a]=N[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$c]},$$scope:{ctx:e}}}),u.$on("click",e[0]),m=new FormConnectionSelect({props:{name:"targetConid",label:"Target server",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),g=new FormDatabaseSelect({props:{conidName:"targetConid",name:"targetDatabase",label:"Target database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}});let L={placeholder:"Search tables or objects"};void 0!==e[2]&&(L.value=e[2]),v=new SearchInput({props:L}),binding_callbacks.push((()=>bind$2(v,"value",R))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$9),e[6],"added").length}}),k=new RowsFilterSwitcher({props:{icon:"img minus",label:"Removed",values:e[15],field:"hideRemoved",count:filterDiffRowsByFlag(e[5].filter(func_2$3),e[6],"removed").length}}),T=new RowsFilterSwitcher({props:{icon:"img changed",label:"Changed",values:e[15],field:"hideChanged",count:filterDiffRowsByFlag(e[5].filter(func_3$5),e[6],"changed").length}}),E=new RowsFilterSwitcher({props:{icon:"img equal",label:"Equal",values:e[15],field:"hideEqual",count:filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length}});let F=_.keys(lib$5.DbDiffCompareDefs),P=[];for(let t=0;t<F.length;t+=1)P[t]=create_each_block$m(get_each_context$m(e,F,t));const j=e=>transition_out(P[e],1,1,(()=>{P[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),f=space(),h=element("div"),create_component(g.$$.fragment),$=space(),b=element("div"),create_component(v.$$.fragment),x=space(),create_component(w.$$.fragment),C=space(),create_component(k.$$.fragment),S=space(),create_component(T.$$.fragment),A=space(),create_component(E.$$.fragment),O=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(i,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(h,"class","col-3"),attr(t,"class","topbar svelte-lmwisg"),attr(b,"class","filters svelte-lmwisg")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),D[a].m(i,null),append(t,c),append(t,l),mount_component(u,l,null),append(t,d),append(t,p),mount_component(m,p,null),append(t,f),append(t,h),mount_component(g,h,null),insert(e,$,s),insert(e,b,s),mount_component(v,b,null),append(b,x),mount_component(w,b,null),append(b,C),mount_component(k,b,null),append(b,S),mount_component(T,b,null),append(b,A),mount_component(E,b,null),append(b,O);for(let e=0;e<P.length;e+=1)P[e]&&P[e].m(b,null);I=!0},p(e,t){let n=a;a=M(e),a===n?D[a].p(e,t):(group_outros(),transition_out(D[n],1,1,(()=>{D[n]=null})),check_outros(),s=D[a],s?s.p(e,t):(s=D[a]=N[a](e),s.c()),transition_in(s,1),s.m(i,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const r={};!y&&4&t[0]&&(y=!0,r.value=e[2],add_flush_callback((()=>y=!1))),v.$set(r);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$9),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$3),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$5),e[6],"changed").length),T.$set(d);const p={};if(96&t[0]&&(p.count=filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length),E.$set(p),32864&t[0]){let n;for(F=_.keys(lib$5.DbDiffCompareDefs),n=0;n<F.length;n+=1){const o=get_each_context$m(e,F,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$m(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=F.length;n<P.length;n+=1)j(n);check_outros()}},i(e){if(!I){transition_in(o.$$.fragment,e),transition_in(s),transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(g.$$.fragment,e),transition_in(v.$$.fragment,e),transition_in(w.$$.fragment,e),transition_in(k.$$.fragment,e),transition_in(T.$$.fragment,e),transition_in(E.$$.fragment,e);for(let e=0;e<F.length;e+=1)transition_in(P[e]);I=!0}},o(e){transition_out(o.$$.fragment,e),transition_out(s),transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(g.$$.fragment,e),transition_out(v.$$.fragment,e),transition_out(w.$$.fragment,e),transition_out(k.$$.fragment,e),transition_out(T.$$.fragment,e),transition_out(E.$$.fragment,e),P=P.filter(Boolean);for(let e=0;e<P.length;e+=1)transition_out(P[e]);I=!1},d(e){e&&detach(t),destroy_component(o),D[a].d(),destroy_component(u),destroy_component(m),destroy_component(g),e&&detach($),e&&detach(b),destroy_component(v),destroy_component(w),destroy_component(k),destroy_component(T),destroy_component(E),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,r,i;function a(...t){return e[37](e[45],...t)}return{c(){t=element("input"),attr(t,"type","checkbox"),attr(t,"slot","1"),t.disabled=n="equal"==e[45].state,t.checked=o=!!e[6][`isChecked_${e[45].identifier}`]},m(e,n){insert(e,t,n),r||(i=listen(t,"change",a),r=!0)},p(r,i){e=r,16384&i[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&i[0]|16384&i[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),r=!1,i()}}}function create_default_slot_1$u(e){let t,n;return t=new FontIcon({props:{icon:"icon check-all"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_3(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot_1$u]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot_1(e){let t,n,o,r,i=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!r||16384&n[1])&&i!==(i=e[45].typeName+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,r,i,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$o]},$$scope:{ctx:e}}});let l={rows:e[4],selectable:!0,disableFocusOutline:!0,columns:[{fieldName:"isChecked",header:"",width:"50px",slot:1,headerSlot:2},{fieldName:"type",header:"Type",width:"100px",slot:3},{fieldName:"sourceSchemaName",header:"Schema"},{fieldName:"sourcePureName",header:"Name"},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetSchemaName",header:"Schema"},{fieldName:"targetPureName",header:"Name"}],$$slots:{3:[create__3_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],2:[create__2_slot_3],1:[create__1_slot_3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}};return void 0!==e[1]&&(l.selectedIndex=e[1]),i=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind$2(i,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(r,"class","tableWrapper svelte-lmwisg"),attr(t,"slot","1"),attr(t,"class","flexcol svelte-lmwisg")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};16&t[0]&&(r.rows=e[4]),64&t[0]|278528&t[1]&&(r.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,r.selectedIndex=e[1],add_flush_callback((()=>a=!1))),i.$set(r)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function create__1_slot_1$2(e){let t,n;return t=new DiffView({props:{leftTitle:e[4][e[1]]?.target?.pureName,rightTitle:e[4][e[1]]?.source?.pureName,leftText:lib$5.getCreateObjectScript(e[4][e[1]]?.target,e[3]),rightText:lib$5.getCreateObjectScript(e[4][e[1]]?.source,e[3])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};18&n[0]&&(o.leftTitle=e[4][e[1]]?.target?.pureName),18&n[0]&&(o.rightTitle=e[4][e[1]]?.source?.pureName),26&n[0]&&(o.leftText=lib$5.getCreateObjectScript(e[4][e[1]]?.target,e[3])),26&n[0]&&(o.rightText=lib$5.getCreateObjectScript(e[4][e[1]]?.source,e[3])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_2(e){let t,n;return t=new SqlEditor({props:{readOnly:!0,value:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.value=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$a(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","1"),t.checked=n=!!e[45].sourceNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].sourceNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__2_slot_1$2(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","2"),t.checked=n=!!e[45].targetNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].targetNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__3_slot$2(e){let t,n;return t=new ScrollableTableControl({props:{rows:e[9],disableFocusOutline:!0,columns:[{fieldName:"sourceColumnName",header:"Name",width:"100px"},{fieldName:"sourceDataType",header:"Type"},{fieldName:"sourceNotNull",header:"Not null",slot:1},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetColumnName",header:"Schema"},{fieldName:"targetDataType",header:"Name"},{fieldName:"targetNotNull",header:"Not null",slot:2}],$$slots:{2:[create__2_slot_1$2,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],1:[create__1_slot$a,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n[0]&&(o.rows=e[9]),278528&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$9(e){let t,n;return t=new TabControl({props:{tabs:[{label:"DDL",slot:1},{label:"Synchronize script",slot:2},{label:"Columns",slot:3}],$$slots:{3:[create__3_slot$2],2:[create__2_slot_2],1:[create__1_slot_1$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};794&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$J(e){let t,n,o,r,i;return n=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$9],1:[create__1_slot_2]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-lmwisg")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=action_destroyer(contextMenu.call(null,t,e[16])),r=!0)},p(e,t){const o={};9086&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_toolstrip_slot$7(e){let t,n,o,r,i,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),i=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p:noop$3,i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1R(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$7],default:[create_default_slot$J]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9086&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$9=()=>getActiveComponent("CompareModelTab");function stateOrder(e){switch(e){case"added":return 1;case"changed":return 2;case"removed":return 3;case"equal":return 4}return 5}function getAlterObjectScript(e,t,n,o,r,i){if(!t&&!n||!i)return{sql:""};if("tables"==e)return lib$5.getAlterTableScript(t,n,o,r,r,i);const a=i.createDumper();return t&&a.dropSqlObject(t),n&&a.createSqlObject(n),{sql:a.s}}function filterDiffRowsByFlag(e,t,n=null){let o=e;"added"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideAdded)||"added"!=e.state))),"removed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideRemoved)||"removed"!=e.state))),"changed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideChanged)||"changed"!=e.state))),"equal"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideEqual)||"equal"!=e.state)));for(const e of _.keys(lib$5.DbDiffCompareDefs))n!=e&&t&&t[`hide_${e}`]&&(o=o.filter((t=>t.objectTypeField!=e)));return o}function filterDiffRows(e,t,n){let o=e.filter((e=>lib$5.filterName(n,e.sourcePureName,e.targetPureName)));return o=filterDiffRowsByFlag(e,t),o}registerCommand({id:"compareModels.reportDiff",category:"Compare models",toolbarName:"Report",name:"Report diff",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().showReport(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().swap(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().deploy(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().refreshModels(),testEnabled:()=>null!=getCurrentEditor$9()});const func$c=e=>({label:e.name,value:`archive:${e.name}`}),func_1$9=e=>"added"==e.state,func_2$3=e=>"removed"==e.state,func_3$5=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1O(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3;component_subscribe(e,extensions,(e=>n(31,$=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S()));var T,A,E,O,I,N=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:D}=t,M=0,R="";const L=createActivator("CompareModelTab",!0);const{editorState:F,editorValue:P,setEditorData:j}=useEditorData({tabid:D}),B=Object.assign(Object.assign({},P),{update:j,set:j});component_subscribe(e,B,(e=>n(6,g=e))),registerMenu({command:"compareModels.deploy"},{divider:!0},{command:"compareModels.refresh"},{command:"compareModels.swap"},{divider:!0},{command:"compareModels.reportDiff"});const q=getContextMenu();return e.$$set=e=>{"tabid"in e&&n(17,D=e.tabid)},e.$$.update=()=>{64&e.$$.dirty[0]&&n(29,o="__model"==(null==g?void 0:g.sourceConid)?lib$5.modelCompareDbDiffOptions:{}),64&e.$$.dirty[0]&&(n(12,r=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(r,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,i=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(i,(e=>n(33,v=e)))),8&e.$$.dirty[1]&&n(27,a=lib$5.generateDbPairingId(y)),4&e.$$.dirty[1]&&n(28,s=lib$5.generateDbPairingId(v)),64&e.$$.dirty[0]&&(n(10,c=useConnectionInfo({conid:null==g?void 0:g.targetConid})),w(),w=subscribe(c,(e=>n(32,b=e)))),3&e.$$.dirty[1]&&n(3,l=lib$5.findEngineDriver(b,$)),939524096&e.$$.dirty[0]&&n(30,u=lib$5.matchPairedObjects(a,s,o)),1744830472&e.$$.dirty[0]&&n(5,d=_.sortBy(lib$5.computeDbDiffRows(a,u,o,l),(e=>stateOrder(e.state)))),100&e.$$.dirty[0]&&n(4,p=filterDiffRows(d,g,R)),549453850&e.$$.dirty[0]&&n(9,m=lib$5.computeTableDiffColumns(null===n(22,T=p[M])||void 0===T?void 0:T.source,null===n(23,A=p[M])||void 0===A?void 0:A.target,o,l)),922746906&e.$$.dirty[0]&&n(8,f=getAlterObjectScript(null===n(24,E=p[M])||void 0===E?void 0:E.objectTypeField,null===n(25,O=p[M])||void 0===O?void 0:O.target,null===n(26,I=p[M])||void 0===I?void 0:I.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(D,(e=>Object.assign(Object.assign({},e),{title:`${(null==g?void 0:g.sourceDatabase)||"???"}=>${(null==g?void 0:g.targetDatabase)||"???"}`,props:Object.assign(Object.assign({},e.props),{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})})))},n(7,h=useArchiveFolders()),S(),S=subscribe(h,(e=>n(13,x=e))),[function(){const e=function(){const e=lib$5.DatabaseAnalyser.createEmptyStructure(),t=lib$5.DatabaseAnalyser.createEmptyStructure();for(const n of p.filter((e=>g[`isChecked_${e.identifier}`])))n.source&&e[n.objectTypeField].push(n.source),n.target&&t[n.objectTypeField].push(n.target);return lib$5.getAlterDatabaseScript(t,e,o,s,a,l).sql}();showModal(ConfirmSqlModal,{sql:e,onConfirm:()=>{!function(e){N(this,void 0,void 0,(function*(){const t=null==g?void 0:g.targetConid,n=null==g?void 0:g.targetDatabase,o=yield apiCall("database-connections/run-script",{conid:t,database:n,sql:e,useTransaction:!0}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when saving",message:r}):(set_store_value(B,g=_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))),g),yield apiCall("database-connections/sync-model",{conid:t,database:n}),showSnackbarSuccess("Saved to database"))}))}(e)},engine:l.engine})},M,R,l,p,d,g,h,f,m,c,i,r,x,function(){const e=p.some((e=>g[`isChecked_${e.identifier}`]));set_store_value(B,g=e?_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))):Object.assign(Object.assign({},g),_.fromPairs(p.filter((e=>"equal"!=e.state)).map((e=>[`isChecked_${e.identifier}`,!0])))),g)},B,q,D,L,function(){return N(this,void 0,void 0,(function*(){saveFileToDisk((e=>N(this,void 0,void 0,(function*(){yield apiCall("database-connections/generate-db-diff-report",{filePath:e,sourceConid:null==g?void 0:g.sourceConid,sourceDatabase:null==g?void 0:g.sourceDatabase,targetConid:null==g?void 0:g.targetConid,targetDatabase:null==g?void 0:g.targetDatabase})}))))}))},function(){set_store_value(B,g=Object.assign(Object.assign({},g),{sourceConid:null==g?void 0:g.targetConid,sourceDatabase:null==g?void 0:g.targetDatabase,targetConid:null==g?void 0:g.sourceConid,targetDatabase:null==g?void 0:g.sourceDatabase}),g)},function(){apiCall("database-connections/sync-model",{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase}),apiCall("database-connections/sync-model",{conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})},T,A,E,O,I,a,s,o,u,$,b,v,y,function(e){R=e,n(2,R)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){M=e,n(1,M)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1O,create_fragment$1R,safe_not_equal,{tabid:17,activator:18,showReport:19,swap:20,refreshModels:21,deploy:0},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get showReport(){return this.$$.ctx[19]}get swap(){return this.$$.ctx[20]}get refreshModels(){return this.$$.ctx[21]}get deploy(){return this.$$.ctx[0]}}var CompareModelTab$1=Object.freeze({__proto__:null,default:CompareModelTab});function create_else_block$o(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$X(e){let t,n;return t=new LoadingInfo({props:{message:"Loading changelog"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1Q(e){let t,n,o,r;const i=[create_if_block$X,create_else_block$o],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1N(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r=!1,i=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,r=!0);const e=yield apiCall("config/changelog");n(1,i=e),n(0,r=!1)}))})),[r,i]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1N,create_fragment$1Q,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$z(e){let t,n;return{c(){t=svg_element("polyline"),attr(t,"points",n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `),attr(t,"class","svelte-j16aco")},m(e,n){insert(e,t,n)},p(e,o){3&o&&n!==(n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `)&&attr(t,"points",n)},d(e){e&&detach(t)}}}function create_if_block$W(e){let t,n,o,r;return{c(){t=svg_element("g"),n=svg_element("polygon"),attr(n,"transform",o=`rotate(${180+180*e[3]/Math.PI})`),attr(n,"points",`\n 0,0\n ${arwi},${arhi/2}\n ${arwi},${-arhi/2}\n `),attr(n,"class","svelte-j16aco"),attr(t,"transform",r=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,i){8&i&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&i&&r!==(r=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",r)},d(e){e&&detach(t)}}}function create_fragment$1P(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$z(e),r=e[2]&&create_if_block$W(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),r&&r.c(),attr(t,"class","svelte-j16aco")},m(e,i){insert(e,t,i),o&&o.m(t,null),append(t,n),r&&r.m(t,null)},p(e,[i]){e[0]&&e[1]?o?o.p(e,i):(o=create_if_block_1$z(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?r?r.p(e,i):(r=create_if_block$W(e),r.c(),r.m(t,null)):r&&(r.d(1),r=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),r&&r.d()}}}const arwi=12,arhi=12;function instance$1M(e,t,n){let{reference:o}=t,{onRemoveReference:r}=t,{onChangeReference:i}=t,{designer:a}=t,{domTables:s}=t,{settings:c}=t,l=null,u=null,d=null,p=0;function m(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=o,c=s[t],m=s[r];if(!c||!m)return null;const f=c.getRect(),h=m.getRect();if(!f||!h)return null;n(0,l={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(1,u={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(2,d=intersectLineBox(l,u,h)[0]),n(3,p=Math.atan2(u.y-l.y,u.x-l.x))}return e.$$set=e=>{"reference"in e&&n(4,o=e.reference),"onRemoveReference"in e&&n(5,r=e.onRemoveReference),"onChangeReference"in e&&n(6,i=e.onChangeReference),"designer"in e&&n(7,a=e.designer),"domTables"in e&&n(8,s=e.domTables),"settings"in e&&n(9,c=e.settings)},e.$$.update=()=>{256&e.$$.dirty&&m()},[l,u,d,p,o,r,i,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1P,safe_not_equal,{reference:4,onRemoveReference:5,onChangeReference:6,designer:7,domTables:8,settings:9,recomputePosition:10})}get recomputePosition(){return this.$$.ctx[10]}}function create_fragment$1O(e){let t,n;const o=[e[0],{settings:{updateFromDbInfo:!0,useDatabaseReferences:!0,allowAddAllReferences:!0,canExport:!0,canSelectTables:!0,allowChangeColor:!0,appendTableSystemMenu:!0,customizeStyle:!0,allowDefineVirtualReferences:!0,arrangeAlg:"springy"}},{referenceComponent:DiagramDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1L(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class DiagramDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1O,safe_not_equal,{})}}function create__1_slot$9(e){let t,n;return t=new DiagramDesigner({props:{value:e[2].value||{},conid:e[0],database:e[1],onChange:e[3],menu:createMenu}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||{}),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$I(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:!1,$$slots:{1:[create__1_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$6(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),i=new ToolStripCommandButton({props:{command:"diagram.export"}}),s=new ToolStripCommandButton({props:{command:"diagram.undo"}}),l=new ToolStripCommandButton({props:{command:"diagram.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1N(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$6],default:[create_default_slot$I]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$8=()=>getActiveComponent("DiagramTab");function createMenu(){return[{command:"diagram.save"},{command:"diagram.saveAs"},{command:"designer.arrange"},{command:"diagram.export"},{divider:!0},{command:"diagram.undo"},{command:"diagram.redo"}]}function instance$1K(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:i,onInitialData:e=>{f({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,r=e)));const[m,f]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"initialArgs"in e&&n(7,c=e.initialArgs)},e.$$.update=()=>{4&e.$$.dirty&&p(o.value)},[a,s,o,(e,t)=>{f({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,i,c,l,function(){return i},function(){return r.value||""},function(){return o.canUndo},function(){f({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){f({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$8,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1N,safe_not_equal,{tabid:6,conid:0,database:1,initialArgs:7,activator:8,getTabId:9,getData:10,canUndo:11,undo:12,canRedo:13,redo:14})}get activator(){return this.$$.ctx[8]}get getTabId(){return this.$$.ctx[9]}get getData(){return this.$$.ctx[10]}get canUndo(){return this.$$.ctx[11]}get undo(){return this.$$.ctx[12]}get canRedo(){return this.$$.ctx[13]}get redo(){return this.$$.ctx[14]}}var DiagramTab$1=Object.freeze({__proto__:null,default:DiagramTab});function create_fragment$1M(e){let t,n,o;function r(t){e[8](t)}let i={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$b)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(i.selectedIndex=e[2]),t=new ScrollableTableControl({props:i}),binding_callbacks.push((()=>bind$2(t,"selectedIndex",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const r={};1&o&&(r.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$b)]),2&o&&(r.rows=e[1]),8&o&&(r.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,r.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const func$b=e=>({fieldName:e.name,header:e.name});function instance$1J(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r,{conid:i}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const f=createRef(null);function h(){return o(this,void 0,void 0,(function*(){if(!m)if(d)p=!0;else{d=!0;try{const e=yield apiCall("database-connections/load-key-table-range",{conid:i,database:a,key:s.key,cursor:u,count:10}),t=[...l];for(const n of e.items)s.keyColumn&&t.find((e=>e[s.keyColumn]==n[s.keyColumn]))||t.push(Object.assign({rowNumber:t.length+1},n));n(1,l=t),u=e.cursor,n(3,m=0==u)}finally{d=!1}p&&(p=!1,yield tick(),h())}}))}return onMount((()=>{h()})),e.$$set=e=>{"conid"in e&&n(5,i=e.conid),"database"in e&&n(6,a=e.database),"keyInfo"in e&&n(0,s=e.keyInfo),"onChangeSelected"in e&&n(7,c=e.onChangeSelected)},e.$$.update=()=>{134&e.$$.dirty&&c&&l[r]&&f.get()!=r&&(f.set(r),c(l[r])),e.$$.dirty},[s,l,r,m,h,i,a,c,function(e){r=e,n(2,r)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1M,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$y(e){let t,n;return t=new AceEditor({props:{readOnly:!e[2],value:e[1]&&e[1][e[0].name]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.readOnly=!e[2]),3&n&&(o.value=e[1]&&e[1][e[0].name]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$V(e){let t,n,o,r;return o=new JSONTree({props:{value:lib$5.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"},expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-ouq9eo"),attr(t,"class","outer svelte-ouq9eo")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};3&t&&(n.value=lib$5.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1L(e){let t,n,o,r,i,a,s,c,l,u=_.startCase(e[0].name)+"";i=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),i.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$y(e),p="json"==e[3]&&create_if_block$V(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),r=space(),create_component(i.$$.fragment),a=space(),s=element("div"),d&&d.c(),c=space(),p&&p.c(),attr(n,"class","colname svelte-ouq9eo"),attr(t,"class","colnamewrap svelte-ouq9eo"),attr(s,"class","colvalue svelte-ouq9eo")},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(t,r),mount_component(i,t,null),insert(e,a,u),insert(e,s,u),d&&d.m(s,null),append(s,c),p&&p.m(s,null),l=!0},p(e,[t]){(!l||1&t)&&u!==(u=_.startCase(e[0].name)+"")&&set_data(o,u);const n={};8&t&&(n.value=e[3]),i.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$y(e),d.c(),transition_in(d,1),d.m(s,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"json"==e[3]?p?(p.p(e,t),8&t&&transition_in(p,1)):(p=create_if_block$V(e),p.c(),transition_in(p,1),p.m(s,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(i.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(i),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1I(e,t,n){let o="text",{column:r}=t,{item:i}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,r=e.column),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[r,i,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...i,[r.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1L,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$l(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$l(e){let t,n;return t=new DbKeyValueDetail({props:{item:e[1],column:e[3],onChangeItem:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.item=e[1]),1&n&&(o.column=e[3]),4&n&&(o.onChangeItem=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1K(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$l(get_each_context$l(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null);n=!0},p(e,[n]){if(7&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$l(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$l(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function instance$1H(e,t,n){let{dbKeyFields:o}=t,{item:r}=t,{onChangeItem:i=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,i=e.onChangeItem)},[o,r,i]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1H,create_fragment$1K,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$t(e){let t,n,o;return n=new DbKeyItemDetail({props:{dbKeyFields:e[0].keyType.dbKeyFields,item:e[1],onChangeItem:e[7]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container svelte-tt47mf")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};1&t&&(o.dbKeyFields=e[0].keyType.dbKeyFields),2&t&&(o.item=e[1]),2&t&&(o.onChangeItem=e[7]),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_header_slot$4(e){let t;return{c(){t=text$1("Add item")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$3(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[6]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$H(e){let t,n;const o=[e[3]];let r={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$t]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1J(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$H]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};523&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1G(e,t,n){const o=["keyInfo","label","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{keyInfo:a}=t,{label:s}=t,{onConfirm:c}=t,l={};const u=()=>i(void 0,void 0,void 0,(function*(){(yield c(l))&&closeCurrentModal()}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"keyInfo"in e&&n(0,a=e.keyInfo),"label"in e&&n(4,s=e.label),"onConfirm"in e&&n(5,c=e.onConfirm)},[a,l,u,r,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1J,safe_not_equal,{keyInfo:0,label:4,onConfirm:5})}}function create_catch_block$2(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$2(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y=e[19].type+"";r=new FontIcon({props:{icon:lib$5.getIconForRedisType(e[19].type),padRight:!0}}),l=new TextField({props:{value:e[0],readOnly:!0}}),d=new FormStyledButton({props:{value:`TTL:${e[19].ttl}`}}),d.$on("click",(function(){return e[14](e[19])}));let x="string"==e[19].type&&create_if_block_2$i(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$x(e);h=new FormStyledButton({props:{value:"Refresh"}}),h.$on("click",e[7]);const C=[create_if_block$U,create_else_block$n],k=[];function S(e,t){return e[19].keyType?.dbKeyFields&&e[19].keyType?.showItemList?0:1}return $=S(e),b=k[$]=C[$](e),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(y),s=space(),c=element("div"),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment),p=space(),x&&x.c(),m=space(),w&&w.c(),f=space(),create_component(h.$$.fragment),g=space(),_=element("div"),b.c(),attr(o,"class","type svelte-1awjfxf"),attr(c,"class","key-name svelte-1awjfxf"),attr(n,"class","top-panel svelte-1awjfxf"),attr(_,"class","content svelte-1awjfxf"),attr(t,"class","container svelte-1awjfxf")},m(e,b){insert(e,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(n,s),append(n,c),mount_component(l,c,null),append(n,u),mount_component(d,n,null),append(n,p),x&&x.m(n,null),append(n,m),w&&w.m(n,null),append(n,f),mount_component(h,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const i={};23&o&&(i.icon=lib$5.getIconForRedisType(e[19].type)),r.$set(i),(!v||23&o)&&y!==(y=e[19].type+"")&&set_data(a,y);const s={};1&o&&(s.value=e[0]),l.$set(s);const c={};23&o&&(c.value=`TTL:${e[19].ttl}`),d.$set(c),"string"==e[19].type?x?(x.p(e,o),23&o&&transition_in(x,1)):(x=create_if_block_2$i(e),x.c(),transition_in(x,1),x.m(n,m)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros()),e[19].keyType?.addMethod&&e[19].keyType?.showItemList?w?(w.p(e,o),23&o&&transition_in(w,1)):(w=create_if_block_1$x(e),w.c(),transition_in(w,1),w.m(n,f)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros());let u=$;$=S(e),$===u?k[$].p(e,o):(group_outros(),transition_out(k[u],1,1,(()=>{k[u]=null})),check_outros(),b=k[$],b?b.p(e,o):(b=k[$]=C[$](e),b.c()),transition_in(b,1),b.m(_,null))},i(e){v||(transition_in(r.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(h.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(h.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(h),k[$].d()}}}function create_if_block_2$i(e){let t,n;return t=new FormStyledButton({props:{value:"Save",disabled:!e[5]}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=!e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$x(e){let t,n;return t=new FormStyledButton({props:{value:"Add item"}}),t.$on("click",(function(){return e[15](e[19])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$n(e){let t,n;return t=new AceEditor({props:{value:e[5]||e[19].value}}),t.$on("input",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};55&n&&(o.value=e[5]||e[19].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$U(e){let t,n;return t=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$8],1:[create__1_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1048607&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$8(e){let t,n;return t=new DbKeyTableControl({props:{conid:e[1],database:e[2],keyInfo:e[19],onChangeSelected:e[16]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),4&n&&(o.database=e[2]),23&n&&(o.keyInfo=e[19]),8&n&&(o.onChangeSelected=e[16]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$8(e){let t,n;return t=new DbKeyItemDetail({props:{dbKeyFields:e[19].keyType.dbKeyFields,item:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};23&n&&(o.dbKeyFields=e[19].keyType.dbKeyFields),8&n&&(o.item=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block$2(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1I(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$2,then:create_then_block$2,catch:create_catch_block$2,value:19,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,23&o&&n!==(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const matchingProps$2=["conid","database","isDefaultBrowser"],allowAddToFavorites$1=e=>!1;function getKeyText(e){const t=e.split(":");return t.length>1?t[t.length-1]:e}function instance$1F(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:i}=t,{conid:a}=t,{database:s}=t,{key:c}=t,{isDefaultBrowser:l=!1}=t;const u=createActivator("DbKeyDetailTab",!0);let d,p=0,m=null;function f(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=parseInt(t);_.isNumber(n)&&(n<0?yield apiCall("database-connections/call-method",{conid:a,database:s,method:"persist",args:[e.key]}):yield apiCall("database-connections/call-method",{conid:a,database:s,method:"expire",args:[e.key,n]}),h())}))})}function h(){n(5,m=null),n(4,p+=1)}function g(e){return r(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/call-method",{conid:a,database:s,method:e.keyType.addMethod,args:[e.key,...e.keyType.dbKeyFields.map((e=>t[e.name]))]});return n.errorMessage?(showModal(ErrorMessageModal,{message:n.errorMessage}),!1):(h(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,i=e.tabid),"conid"in e&&n(1,a=e.conid),"database"in e&&n(2,s=e.database),"key"in e&&n(0,c=e.key),"isDefaultBrowser"in e&&n(11,l=e.isDefaultBrowser)},e.$$.update=()=>{8198&e.$$.dirty&&n(0,c=o[`${a}:${s}`]),1025&e.$$.dirty&&changeTab(i,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,f,h,function(){return r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),h()}))},g,i,l,u,o,e=>f(e),e=>g(e),e=>{n(3,d=e)},e=>{n(5,m=e.detail)}]}class DbKeyDetailTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1I,safe_not_equal,{tabid:10,conid:1,database:2,key:0,isDefaultBrowser:11,activator:12})}get activator(){return this.$$.ctx[12]}}var DbKeyDetailTab$1=Object.freeze({__proto__:null,default:DbKeyDetailTab,matchingProps:matchingProps$2,allowAddToFavorites:allowAddToFavorites$1});function create_else_block$m(e){let t,n;return t=new LoadingInfo({props:{message:"Loading data..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$T(e){let t,n;return t=new JslDataGrid({props:{jslid:e[0],listenInitializeFile:!0,onCustomGridRefresh:e[2],focusOnVisible:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.jslid=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$G(e){let t,n,o,r;const i=[create_if_block$T,create_else_block$m],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$5(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),i=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1H(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$G]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262145&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps$1=["conid","database","pureName","sql"],getCurrentEditor$7=()=>getActiveComponent("QueryDataTab");function instance$1E(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const s=createActivator("QueryDataTab",!0);let c,{sql:l}=t,{pureName:u}=t,{schemaName:d}=t,{conid:p}=t,{database:m}=t,f=!1;function h(e,t,o){return a(this,void 0,void 0,(function*(){const r=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=r.jslid),f=!0}))}const g=createQuickExportHandlerRef();function _(){f=!1,invalidateCommands()}return onDestroy((()=>{c&&f&&apiCall("sessions/stop-loading-reader",{jslid:c})})),e.$$set=e=>{"sql"in e&&n(5,l=e.sql),"pureName"in e&&n(6,u=e.pureName),"schemaName"in e&&n(7,d=e.schemaName),"conid"in e&&n(8,p=e.conid),"database"in e&&n(9,m=e.database)},e.$$.update=()=>{800&e.$$.dirty&&h(p,m,l),1&e.$$.dirty&&(n(1,o=useEffect((()=>{return(e=c)?(apiOn(`session-jslid-done-${e}`,_),()=>{apiOff(`session-initialize-file-${e}`,_)}):()=>{};var e}))),i(),i=subscribe(o,(e=>n(12,r=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),h(p,m,l)},g,s,l,u,d,p,m,function(){return f},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),f=!1,invalidateCommands())},r]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor$7().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1H,safe_not_equal,{activator:4,sql:5,pureName:6,schemaName:7,conid:8,database:9,isLoading:10,stopLoading:11})}get activator(){return this.$$.ctx[4]}get isLoading(){return this.$$.ctx[10]}get stopLoading(){return this.$$.ctx[11]}}var QueryDataTab$1=Object.freeze({__proto__:null,default:QueryDataTab,matchingProps:matchingProps$1});function create_default_slot$F(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1G(e){let t,n,o,r,i;const a=[e[6],{value:e[3][e[0]]||e[2]},{readOnly:!0},{disabled:e[1]}];let s={};for(let e=0;e<a.length;e+=1)s=assign(s,a[e]);return n=new TextField({props:s}),n.$on("click",e[5]),r=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$F]},$$scope:{ctx:e}}}),r.$on("click",e[5]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,[t]){const o=79&t?get_spread_update(a,[64&t&&get_spread_object(e[6]),13&t&&{value:e[3][e[0]]||e[2]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const i={};2&t&&(i.disabled=e[1]),512&t&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function instance$1D(e,t,n){const o=["name","disabled","defaultFileName"];let r,i=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{name:s}=t,{disabled:c=!1}=t,{defaultFileName:l=""}=t;const{values:u,setFieldValue:d}=getFormContext();return component_subscribe(e,u,(e=>n(3,r=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,i=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled),"defaultFileName"in e&&n(2,l=e.defaultFileName)},[s,c,l,r,u,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:u[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&d(s,n)}))},i]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1G,safe_not_equal,{name:0,disabled:1,defaultFileName:2})}}function create_default_slot$E(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormElectronFileSelectorRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1F(e){let t,n,o;const r=[{type:"select"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$E]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1C(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1F,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$k(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$k(e){let t,n,o,r,i,a,s,c,l,u,d,p,m=e[8].label+"";return{c(){t=element("div"),n=element("input"),a=space(),s=element("label"),c=text$1(m),u=space(),attr(n,"type","radio"),n.checked=o=e[1]?e[1](e[3][e[0]],e[8]):e[3][e[0]]==e[8].value,n.value=r=e[8].value,attr(n,"id",i=e[8].id),attr(s,"for",l=e[8].id)},m(o,r){insert(o,t,r),append(t,n),append(t,a),append(t,s),append(s,c),append(t,u),d||(p=listen(n,"change",e[5]),d=!0)},p(e,t){15&t&&o!==(o=e[1]?e[1](e[3][e[0]],e[8]):e[3][e[0]]==e[8].value)&&(n.checked=o),4&t&&r!==(r=e[8].value)&&(n.value=r),4&t&&i!==(i=e[8].id)&&attr(n,"id",i),4&t&&m!==(m=e[8].label+"")&&set_data(c,m),4&t&&l!==(l=e[8].id)&&attr(s,"for",l)},d(e){e&&detach(t),d=!1,p()}}}function create_fragment$1E(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$k(get_each_context$k(e,n,t));return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,n){for(let t=0;t<o.length;t+=1)o[t]&&o[t].m(e,n);insert(e,t,n)},p(e,[r]){if(47&r){let i;for(n=e[2],i=0;i<n.length;i+=1){const a=get_each_context$k(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$k(a),o[i].c(),o[i].m(t.parentNode,t))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1B(e,t,n){let o,r,{options:i=[]}=t,{name:a}=t,{matchValueToOption:s=null}=t;const{values:c,setFieldValue:l}=getFormContext();return component_subscribe(e,c,(e=>n(3,r=e))),e.$$set=e=>{"options"in e&&n(6,i=e.options),"name"in e&&n(0,a=e.name),"matchValueToOption"in e&&n(1,s=e.matchValueToOption)},e.$$.update=()=>{64&e.$$.dirty&&n(2,o=i.map((e=>Object.assign(Object.assign({},e),{id:v1_1$6()}))))},[a,s,o,r,c,function(e){l(a,e.currentTarget.value)},i]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1B,create_fragment$1E,safe_not_equal,{options:6,name:0,matchValueToOption:1})}}function create_if_block_28(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:e[5]||!e[14]||e[11].includes("databaseFile")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||!e[14]||e[11].includes("databaseFile")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_27(e){let t,n,o;return n=new FormRadioGroupField({props:{disabled:e[5]||e[11].includes("useDatabaseUrl"),name:"useDatabaseUrl",matchValueToOption:func_2$2,options:[{label:"Fill database connection details",value:"",default:!0},{label:"Use database URL",value:"1"}]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","radio svelte-1toqt3y")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("useDatabaseUrl")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_26(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[1]?.databaseUrlPlaceholder,disabled:e[5]||e[11].includes("databaseUrl")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.placeholder=e[1]?.databaseUrlPlaceholder),2080&n&&(o.disabled=e[5]||e[11].includes("databaseUrl")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_25(e){let t,n,o=e[4],r=create_key_block$2(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){16&n&&safe_not_equal(o,o=e[4])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$2(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$2(e){let t,n;return t=new FormSelectField({props:{label:e[1]?.authTypeLabel??"Authentication",name:"authType",isNative:!0,disabled:e[5],defaultValue:e[1]?.defaultAuthTypeName,options:e[4].map(func_3$4)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.label=e[1]?.authTypeLabel??"Authentication"),32&n&&(o.disabled=e[5]),2&n&&(o.defaultValue=e[1]?.defaultAuthTypeName),16&n&&(o.options=e[4].map(func_3$4)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_24(e){let t,n;return t=new FormTextField({props:{label:"Endpoint",name:"endpoint",disabled:e[5]||e[11].includes("endpoint")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("endpoint")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_23(e){let t,n;return t=new FormTextField({props:{label:"Key",name:"endpointKey",disabled:e[5]||e[11].includes("endpointKey")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("endpointKey")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_22(e){let t,n;return t=new FormTextField({props:{label:"Client library path",name:"clientLibraryPath",disabled:e[5]||e[11].includes("clientLibraryPath")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("clientLibraryPath")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_19(e){let t,n,o,r,i,a,s,c=e[1]?.showConnectionField("port",e[2],e[0]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[5]||e[11].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_21(e),d=l&&create_if_block_20();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),u&&u.c(),i=space(),d&&d.c(),a=empty(),attr(n,"class","col-9 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),u&&u.m(t,null),insert(e,i,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};2080&n&&(r.disabled=e[5]||e[11].includes("server")),o.$set(r),7&n&&(c=e[1]?.showConnectionField("port",e[2],e[0])),c?u?(u.p(e,n),7&n&&transition_in(u,1)):(u=create_if_block_21(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(o.$$.fragment,e),transition_in(u),transition_in(d),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u),transition_out(d),s=!1},d(e){e&&detach(t),destroy_component(o),u&&u.d(),e&&detach(i),d&&d.d(e),e&&detach(a)}}}function create_if_block_21(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[5]||e[11].includes("port"),templateProps:{noMargin:!0},placeholder:e[1]?.defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("port")),2&t&&(o.placeholder=e[1]?.defaultPort),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_20(e){let t,n,o,r;return n=new FontIcon({props:{icon:"img warn",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead"),attr(t,"class","row svelte-1toqt3y")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_18(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"sid"==e[2].serviceNameType?"SID":"Service name",name:"serviceName",disabled:e[5],templateProps:{noMargin:!0}}}),a=new FormSelectField({props:{label:"Choose type",isNative:!0,name:"serviceNameType",defaultValue:"serviceName",disabled:e[5],templateProps:{noMargin:!0},options:[{value:"serviceName",label:"Service name"},{value:"sid",label:"SID"}]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-9 mr-1"),attr(i,"class","col-3"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};4&t&&(n.label="sid"==e[2].serviceNameType?"SID":"Service name"),32&t&&(n.disabled=e[5]),o.$set(n);const r={};32&t&&(r.disabled=e[5]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_17$1(e){let t,n;return t=new FormTextField({props:{label:"Socket path",name:"socketPath",disabled:e[5]||e[11].includes("socketPath"),placeholder:e[1]?.defaultSocketPath}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("socketPath")),2&n&&(o.placeholder=e[1]?.defaultSocketPath),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_14$1(e){let t,n,o,r=e[8]&&create_if_block_16$1(e),i=e[7]&&create_if_block_15$1(e);return{c(){t=element("div"),r&&r.c(),n=space(),i&&i.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),i&&i.m(t,null),o=!0},p(e,o){e[8]?r?(r.p(e,o),256&o&&transition_in(r,1)):(r=create_if_block_16$1(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[7]?i?(i.p(e,o),128&o&&transition_in(i,1)):(i=create_if_block_15$1(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){e&&detach(t),r&&r.d(),i&&i.d()}}}function create_if_block_16$1(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[5]||e[11].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("user")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_15$1(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[5]||e[11].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("password")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_13$3(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[5]||e[11].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("user")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_12$3(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[5]||e[11].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("password")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_11$3(e){let t,n;return t=new FormDropDownTextField({props:{label:"AWS Region",name:"awsRegion",menu:e[23]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.menu=e[23]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$3(e){let t,n,o;return n=new FormTextField({props:{label:"Access Key ID",name:"accessKeyId",disabled:e[5]||e[11].includes("accessKeyId"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("accessKeyId")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_9$3(e){let t,n,o;return n=new FormPasswordField({props:{label:"Secret access key",name:"secretAccessKey",disabled:e[5]||e[11].includes("secretAccessKey"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("secretAccessKey")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_8$3(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",disabled:e[5],options:[{value:"saveEncrypted",label:"Save and encrypt"},{value:"saveRaw",label:"Save raw (UNSAFE!!)"},{value:"askPassword",label:"Don't save, ask for password"},{value:"askUser",label:"Don't save, ask for login and password"}]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$4(e){let t,n;return t=new FormTextField({props:{label:"Key separator",name:"treeKeySeparator",disabled:e[5],placeholder:":"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$7(e){let t,n;return t=new FormTextField({props:{label:"Domain (specify to use NTLM authentication)",name:"windowsDomain",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$8(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$a(e){let t,n;return t=new FormCheckboxField({props:{label:"Trust server certificate",name:"trustServerCertificate",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$c(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$h(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[10]}`,name:"singleDatabase",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1024&n&&(o.label=`Use only database ${e[10]}`),32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$w(e){let t,n;return t=new FormCheckboxField({props:{label:"Use schemas separately (use this if you have many large schemas)",name:"useSeparateSchemas",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$S(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0},disabled:e[5]}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0},disabled:e[5]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};32&t&&(n.disabled=e[5]),o.$set(n);const r={};32&t&&(r.disabled=e[5]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_fragment$1D(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w,C,k,S,T,A,E,O,I=e[1]?.showConnectionField("databaseFile",e[2],e[0]),N=e[1]?.showConnectionField("useDatabaseUrl",e[2],e[0]),D=e[1]?.showConnectionField("databaseUrl",e[2],e[0]),M=e[4]&&e[1]?.showConnectionField("authType",e[2],e[0]),R=e[1]?.showConnectionField("endpoint",e[2],e[0]),L=e[1]?.showConnectionField("endpointKey",e[2],e[0]),F=e[1]?.showConnectionField("clientLibraryPath",e[2],e[0]),P=e[1]?.showConnectionField("server",e[2],e[0]),j=e[1]?.showConnectionField("serviceName",e[2],e[0]),B=e[1]?.showConnectionField("socketPath",e[2],e[0]),q=e[1]?.showConnectionField("awsRegion",e[2],e[0]),W=e[1]?.showConnectionField("accessKeyId",e[2],e[0]),z=e[1]?.showConnectionField("secretAccessKey",e[2],e[0]),H=!e[11].includes("password")&&e[6],U=e[1]?.showConnectionField("treeKeySeparator",e[2],e[0]),V=e[1]?.showConnectionField("windowsDomain",e[2],e[0]),G=e[1]?.showConnectionField("isReadOnly",e[2],e[0]),Y=e[1]?.showConnectionField("trustServerCertificate",e[2],e[0]),K=e[1]?.showConnectionField("defaultDatabase",e[2],e[0]),Q=e[10]&&e[1]?.showConnectionField("singleDatabase",e[2],e[0]),J=e[1]?.showConnectionField("useSeparateSchemas",e[2],e[0]);t=new FormSelectField({props:{label:"Connection type",name:"engine",isNative:!0,disabled:e[5],options:[{label:"(select connection type)",value:""},..._.sortBy(e[3].drivers.filter(e[22]).map(func_1$8),"label")]}});let Z=I&&create_if_block_28(e),X=N&&create_if_block_27(e),ee=D&&create_if_block_26(e),te=M&&create_if_block_25(e),ne=R&&create_if_block_24(e),oe=L&&create_if_block_23(e),re=F&&create_if_block_22(e),ie=P&&create_if_block_19(e),ae=j&&create_if_block_18(e),se=B&&create_if_block_17$1(e),ce=e[8]&&e[7]&&create_if_block_14$1(e),le=e[8]&&!e[7]&&create_if_block_13$3(e),ue=!e[8]&&e[7]&&create_if_block_12$3(e),de=q&&create_if_block_11$3(e),pe=W&&create_if_block_10$3(e),me=z&&create_if_block_9$3(e),fe=H&&create_if_block_8$3(e),he=U&&create_if_block_7$4(e),ge=V&&create_if_block_6$7(e),_e=G&&create_if_block_5$8(e),$e=Y&&create_if_block_4$a(e),be=K&&create_if_block_3$c(e),ve=Q&&create_if_block_2$h(e),ye=J&&create_if_block_1$w(e),xe=e[1]&&create_if_block$S(e);return{c(){create_component(t.$$.fragment),n=space(),Z&&Z.c(),o=space(),X&&X.c(),r=space(),ee&&ee.c(),i=space(),te&&te.c(),a=space(),ne&&ne.c(),s=space(),oe&&oe.c(),c=space(),re&&re.c(),l=space(),ie&&ie.c(),u=space(),ae&&ae.c(),d=space(),se&&se.c(),p=space(),ce&&ce.c(),m=space(),le&&le.c(),f=space(),ue&&ue.c(),h=space(),de&&de.c(),g=space(),$=element("div"),pe&&pe.c(),b=space(),me&&me.c(),v=space(),fe&&fe.c(),y=space(),he&&he.c(),x=space(),ge&&ge.c(),w=space(),_e&&_e.c(),C=space(),$e&&$e.c(),k=space(),be&&be.c(),S=space(),ve&&ve.c(),T=space(),ye&&ye.c(),A=space(),xe&&xe.c(),E=empty(),attr($,"class","row svelte-1toqt3y")},m(e,_){mount_component(t,e,_),insert(e,n,_),Z&&Z.m(e,_),insert(e,o,_),X&&X.m(e,_),insert(e,r,_),ee&&ee.m(e,_),insert(e,i,_),te&&te.m(e,_),insert(e,a,_),ne&&ne.m(e,_),insert(e,s,_),oe&&oe.m(e,_),insert(e,c,_),re&&re.m(e,_),insert(e,l,_),ie&&ie.m(e,_),insert(e,u,_),ae&&ae.m(e,_),insert(e,d,_),se&&se.m(e,_),insert(e,p,_),ce&&ce.m(e,_),insert(e,m,_),le&&le.m(e,_),insert(e,f,_),ue&&ue.m(e,_),insert(e,h,_),de&&de.m(e,_),insert(e,g,_),insert(e,$,_),pe&&pe.m($,null),append($,b),me&&me.m($,null),insert(e,v,_),fe&&fe.m(e,_),insert(e,y,_),he&&he.m(e,_),insert(e,x,_),ge&&ge.m(e,_),insert(e,w,_),_e&&_e.m(e,_),insert(e,C,_),$e&&$e.m(e,_),insert(e,k,_),be&&be.m(e,_),insert(e,S,_),ve&&ve.m(e,_),insert(e,T,_),ye&&ye.m(e,_),insert(e,A,_),xe&&xe.m(e,_),insert(e,E,_),O=!0},p(e,[n]){const v={};32&n&&(v.disabled=e[5]),8&n&&(v.options=[{label:"(select connection type)",value:""},..._.sortBy(e[3].drivers.filter(e[22]).map(func_1$8),"label")]),t.$set(v),7&n&&(I=e[1]?.showConnectionField("databaseFile",e[2],e[0])),I?Z?(Z.p(e,n),7&n&&transition_in(Z,1)):(Z=create_if_block_28(e),Z.c(),transition_in(Z,1),Z.m(o.parentNode,o)):Z&&(group_outros(),transition_out(Z,1,1,(()=>{Z=null})),check_outros()),7&n&&(N=e[1]?.showConnectionField("useDatabaseUrl",e[2],e[0])),N?X?(X.p(e,n),7&n&&transition_in(X,1)):(X=create_if_block_27(e),X.c(),transition_in(X,1),X.m(r.parentNode,r)):X&&(group_outros(),transition_out(X,1,1,(()=>{X=null})),check_outros()),7&n&&(D=e[1]?.showConnectionField("databaseUrl",e[2],e[0])),D?ee?(ee.p(e,n),7&n&&transition_in(ee,1)):(ee=create_if_block_26(e),ee.c(),transition_in(ee,1),ee.m(i.parentNode,i)):ee&&(group_outros(),transition_out(ee,1,1,(()=>{ee=null})),check_outros()),23&n&&(M=e[4]&&e[1]?.showConnectionField("authType",e[2],e[0])),M?te?(te.p(e,n),23&n&&transition_in(te,1)):(te=create_if_block_25(e),te.c(),transition_in(te,1),te.m(a.parentNode,a)):te&&(group_outros(),transition_out(te,1,1,(()=>{te=null})),check_outros()),7&n&&(R=e[1]?.showConnectionField("endpoint",e[2],e[0])),R?ne?(ne.p(e,n),7&n&&transition_in(ne,1)):(ne=create_if_block_24(e),ne.c(),transition_in(ne,1),ne.m(s.parentNode,s)):ne&&(group_outros(),transition_out(ne,1,1,(()=>{ne=null})),check_outros()),7&n&&(L=e[1]?.showConnectionField("endpointKey",e[2],e[0])),L?oe?(oe.p(e,n),7&n&&transition_in(oe,1)):(oe=create_if_block_23(e),oe.c(),transition_in(oe,1),oe.m(c.parentNode,c)):oe&&(group_outros(),transition_out(oe,1,1,(()=>{oe=null})),check_outros()),7&n&&(F=e[1]?.showConnectionField("clientLibraryPath",e[2],e[0])),F?re?(re.p(e,n),7&n&&transition_in(re,1)):(re=create_if_block_22(e),re.c(),transition_in(re,1),re.m(l.parentNode,l)):re&&(group_outros(),transition_out(re,1,1,(()=>{re=null})),check_outros()),7&n&&(P=e[1]?.showConnectionField("server",e[2],e[0])),P?ie?(ie.p(e,n),7&n&&transition_in(ie,1)):(ie=create_if_block_19(e),ie.c(),transition_in(ie,1),ie.m(u.parentNode,u)):ie&&(group_outros(),transition_out(ie,1,1,(()=>{ie=null})),check_outros()),7&n&&(j=e[1]?.showConnectionField("serviceName",e[2],e[0])),j?ae?(ae.p(e,n),7&n&&transition_in(ae,1)):(ae=create_if_block_18(e),ae.c(),transition_in(ae,1),ae.m(d.parentNode,d)):ae&&(group_outros(),transition_out(ae,1,1,(()=>{ae=null})),check_outros()),7&n&&(B=e[1]?.showConnectionField("socketPath",e[2],e[0])),B?se?(se.p(e,n),7&n&&transition_in(se,1)):(se=create_if_block_17$1(e),se.c(),transition_in(se,1),se.m(p.parentNode,p)):se&&(group_outros(),transition_out(se,1,1,(()=>{se=null})),check_outros()),e[8]&&e[7]?ce?(ce.p(e,n),384&n&&transition_in(ce,1)):(ce=create_if_block_14$1(e),ce.c(),transition_in(ce,1),ce.m(m.parentNode,m)):ce&&(group_outros(),transition_out(ce,1,1,(()=>{ce=null})),check_outros()),e[8]&&!e[7]?le?(le.p(e,n),384&n&&transition_in(le,1)):(le=create_if_block_13$3(e),le.c(),transition_in(le,1),le.m(f.parentNode,f)):le&&(group_outros(),transition_out(le,1,1,(()=>{le=null})),check_outros()),!e[8]&&e[7]?ue?(ue.p(e,n),384&n&&transition_in(ue,1)):(ue=create_if_block_12$3(e),ue.c(),transition_in(ue,1),ue.m(h.parentNode,h)):ue&&(group_outros(),transition_out(ue,1,1,(()=>{ue=null})),check_outros()),7&n&&(q=e[1]?.showConnectionField("awsRegion",e[2],e[0])),q?de?(de.p(e,n),7&n&&transition_in(de,1)):(de=create_if_block_11$3(e),de.c(),transition_in(de,1),de.m(g.parentNode,g)):de&&(group_outros(),transition_out(de,1,1,(()=>{de=null})),check_outros()),7&n&&(W=e[1]?.showConnectionField("accessKeyId",e[2],e[0])),W?pe?(pe.p(e,n),7&n&&transition_in(pe,1)):(pe=create_if_block_10$3(e),pe.c(),transition_in(pe,1),pe.m($,b)):pe&&(group_outros(),transition_out(pe,1,1,(()=>{pe=null})),check_outros()),7&n&&(z=e[1]?.showConnectionField("secretAccessKey",e[2],e[0])),z?me?(me.p(e,n),7&n&&transition_in(me,1)):(me=create_if_block_9$3(e),me.c(),transition_in(me,1),me.m($,null)):me&&(group_outros(),transition_out(me,1,1,(()=>{me=null})),check_outros()),2112&n&&(H=!e[11].includes("password")&&e[6]),H?fe?(fe.p(e,n),2112&n&&transition_in(fe,1)):(fe=create_if_block_8$3(e),fe.c(),transition_in(fe,1),fe.m(y.parentNode,y)):fe&&(group_outros(),transition_out(fe,1,1,(()=>{fe=null})),check_outros()),7&n&&(U=e[1]?.showConnectionField("treeKeySeparator",e[2],e[0])),U?he?(he.p(e,n),7&n&&transition_in(he,1)):(he=create_if_block_7$4(e),he.c(),transition_in(he,1),he.m(x.parentNode,x)):he&&(group_outros(),transition_out(he,1,1,(()=>{he=null})),check_outros()),7&n&&(V=e[1]?.showConnectionField("windowsDomain",e[2],e[0])),V?ge?(ge.p(e,n),7&n&&transition_in(ge,1)):(ge=create_if_block_6$7(e),ge.c(),transition_in(ge,1),ge.m(w.parentNode,w)):ge&&(group_outros(),transition_out(ge,1,1,(()=>{ge=null})),check_outros()),7&n&&(G=e[1]?.showConnectionField("isReadOnly",e[2],e[0])),G?_e?(_e.p(e,n),7&n&&transition_in(_e,1)):(_e=create_if_block_5$8(e),_e.c(),transition_in(_e,1),_e.m(C.parentNode,C)):_e&&(group_outros(),transition_out(_e,1,1,(()=>{_e=null})),check_outros()),7&n&&(Y=e[1]?.showConnectionField("trustServerCertificate",e[2],e[0])),Y?$e?($e.p(e,n),7&n&&transition_in($e,1)):($e=create_if_block_4$a(e),$e.c(),transition_in($e,1),$e.m(k.parentNode,k)):$e&&(group_outros(),transition_out($e,1,1,(()=>{$e=null})),check_outros()),7&n&&(K=e[1]?.showConnectionField("defaultDatabase",e[2],e[0])),K?be?(be.p(e,n),7&n&&transition_in(be,1)):(be=create_if_block_3$c(e),be.c(),transition_in(be,1),be.m(S.parentNode,S)):be&&(group_outros(),transition_out(be,1,1,(()=>{be=null})),check_outros()),1031&n&&(Q=e[10]&&e[1]?.showConnectionField("singleDatabase",e[2],e[0])),Q?ve?(ve.p(e,n),1031&n&&transition_in(ve,1)):(ve=create_if_block_2$h(e),ve.c(),transition_in(ve,1),ve.m(T.parentNode,T)):ve&&(group_outros(),transition_out(ve,1,1,(()=>{ve=null})),check_outros()),7&n&&(J=e[1]?.showConnectionField("useSeparateSchemas",e[2],e[0])),J?ye?(ye.p(e,n),7&n&&transition_in(ye,1)):(ye=create_if_block_1$w(e),ye.c(),transition_in(ye,1),ye.m(A.parentNode,A)):ye&&(group_outros(),transition_out(ye,1,1,(()=>{ye=null})),check_outros()),e[1]?xe?(xe.p(e,n),2&n&&transition_in(xe,1)):(xe=create_if_block$S(e),xe.c(),transition_in(xe,1),xe.m(E.parentNode,E)):xe&&(group_outros(),transition_out(xe,1,1,(()=>{xe=null})),check_outros())},i(e){O||(transition_in(t.$$.fragment,e),transition_in(Z),transition_in(X),transition_in(ee),transition_in(te),transition_in(ne),transition_in(oe),transition_in(re),transition_in(ie),transition_in(ae),transition_in(se),transition_in(ce),transition_in(le),transition_in(ue),transition_in(de),transition_in(pe),transition_in(me),transition_in(fe),transition_in(he),transition_in(ge),transition_in(_e),transition_in($e),transition_in(be),transition_in(ve),transition_in(ye),transition_in(xe),O=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(Z),transition_out(X),transition_out(ee),transition_out(te),transition_out(ne),transition_out(oe),transition_out(re),transition_out(ie),transition_out(ae),transition_out(se),transition_out(ce),transition_out(le),transition_out(ue),transition_out(de),transition_out(pe),transition_out(me),transition_out(fe),transition_out(he),transition_out(ge),transition_out(_e),transition_out($e),transition_out(be),transition_out(ve),transition_out(ye),transition_out(xe),O=!1},d(e){destroy_component(t,e),e&&detach(n),Z&&Z.d(e),e&&detach(o),X&&X.d(e),e&&detach(r),ee&&ee.d(e),e&&detach(i),te&&te.d(e),e&&detach(a),ne&&ne.d(e),e&&detach(s),oe&&oe.d(e),e&&detach(c),re&&re.d(e),e&&detach(l),ie&&ie.d(e),e&&detach(u),ae&&ae.d(e),e&&detach(d),se&&se.d(e),e&&detach(p),ce&&ce.d(e),e&&detach(m),le&&le.d(e),e&&detach(f),ue&&ue.d(e),e&&detach(h),de&&de.d(e),e&&detach(g),e&&detach($),pe&&pe.d(),me&&me.d(),e&&detach(v),fe&&fe.d(e),e&&detach(y),he&&he.d(e),e&&detach(x),ge&&ge.d(e),e&&detach(w),_e&&_e.d(e),e&&detach(C),$e&&$e.d(e),e&&detach(k),be&&be.d(e),e&&detach(S),ve&&ve.d(e),e&&detach(T),ye&&ye.d(e),e&&detach(A),xe&&xe.d(e),e&&detach(E)}}}const func_1$8=e=>({value:e.engine,label:e.title}),func_2$2=(e,t)=>!!t.value==!!e,func_3$4=e=>({value:e.name,label:e.title});function instance$1A(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x=noop$3,w=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(19,_=e))),component_subscribe(e,openedConnections,(e=>n(20,$=e))),component_subscribe(e,extensions,(e=>n(3,v=e))),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w()));const{values:C}=getFormContext();component_subscribe(e,C,(e=>n(2,g=e)));const k=getElectron(),S=["us-east-1","us-east-2","us-west-1","us-west-2","af-south-1","ap-east-1","ap-south-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-southeast-1","ap-southeast-2","ap-southeast-3","ca-central-1","cn-north-1","cn-northwest-1","eu-central-1","eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-south-1","eu-south-2","me-south-1","me-central-1","sa-east-1"];return e.$$.update=()=>{4&e.$$.dirty&&n(18,o=g.authType),4&e.$$.dirty&&n(16,r=g.engine),4&e.$$.dirty&&g.useDatabaseUrl,65536&e.$$.dirty&&(n(12,i=useAuthTypes({engine:r})),w(),w=subscribe(i,(e=>n(4,y=e)))),262160&e.$$.dirty&&n(17,a=y&&y.find((e=>e.name==o))),131072&e.$$.dirty&&n(11,s=(a?a.disabledFields:null)||[]),65544&e.$$.dirty&&n(1,c=v.drivers.find((e=>e.engine==r))),4&e.$$.dirty&&n(10,l=g.defaultDatabase),2097152&e.$$.dirty&&n(0,d={config:b}),7&e.$$.dirty&&n(8,p=(null==c?void 0:c.showConnectionField("user",g,d))&&"askUser"!=g.passwordMode),7&e.$$.dirty&&n(7,m=(null==c?void 0:c.showConnectionField("password",g,d))&&"askPassword"!=g.passwordMode&&"askUser"!=g.passwordMode),7&e.$$.dirty&&n(6,f=null==c?void 0:c.showConnectionField("password",g,d)),1572868&e.$$.dirty&&n(5,h=$.includes(g._id)||_.includes(g._id))},n(9,u=useConfig()),x(),x=subscribe(u,(e=>n(21,b=e))),[d,c,g,v,y,h,f,m,p,u,l,s,i,C,k,S,r,a,o,_,$,b,e=>!e.isElectronOnly||k,()=>S.map((e=>({text:e,onClick:()=>{set_store_value(C,g={...g,awsRegion:e},g)}})))]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1D,safe_not_equal,{})}}function create_if_block_5$7(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[1]||!e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$9(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};10&t&&(n.disabled=e[1]||!e[3]),o.$set(n);const r={};10&t&&(r.disabled=e[1]||!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_2$g(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_3$b,create_else_block_1$6],u=[];return o=function(e,t){return e[6]?0:1}(e),r=u[o]=l[o](e),s=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),r.c(),i=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-6 mr-1"),attr(a,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,r){insert(e,t,r),append(t,n),u[o].m(n,null),append(t,i),append(t,a),mount_component(s,a,null),c=!0},p(e,t){r.p(e,t);const n={};10&t&&(n.disabled=e[1]||!e[3]),s.$set(n)},i(e){c||(transition_in(r),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(r),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[o].d(),destroy_component(s)}}}function create_else_block_1$6(e){let t,n;return t=new FormTextField({props:{label:"Private key file (path on server)",name:"sshKeyfile",disabled:e[1]||!e[3],templateProps:{noMargin:!0},placeholder:e[4]?.defaultKeyfile}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),16&n&&(o.placeholder=e[4]?.defaultKeyfile),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$b(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:e[1]||!e[3],templateProps:{noMargin:!0},defaultFileName:e[4]?.defaultKeyfile}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),16&n&&(o.defaultFileName=e[4]?.defaultKeyfile),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$R(e){let t,n,o,r;const i=[create_if_block_1$v,create_else_block$l],a=[];function s(e,t){return e[4]&&e[4].sshAuthSock?0:1}return n=s(e),o=a[n]=i[n](e),{c(){t=element("div"),o.c(),attr(t,"class","ml-3 mb-3")},m(e,o){insert(e,t,o),a[n].m(t,null),r=!0},p(e,r){let c=n;n=s(e),n!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),o=a[n],o||(o=a[n]=i[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$l(e){let t,n,o;return t=new FontIcon({props:{icon:"img error"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent not found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_1$v(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_fragment$1C(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel",disabled:e[1]}}),i=new FormTextField({props:{label:"Host",name:"sshHost",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:e[1]||!e[3],templateProps:{noMargin:!0},placeholder:"22"}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:e[1]||!e[3]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,defaultSelectValue:"userPassword",disabled:e[1]||!e[3],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=(e[0].sshMode||"userPassword")&&create_if_block_5$7(e),v="userPassword"==(e[0].sshMode||"userPassword")&&create_if_block_4$9(e),y="keyFile"==e[0].sshMode&&create_if_block_2$g(e),x=e[3]&&"agent"==e[0].sshMode&&create_if_block$R(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),b&&b.c(),f=space(),v&&v.c(),h=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(r,"class","col-9 mr-1"),attr(s,"class","col-3"),attr(o,"class","row svelte-10d5vjg")},m(e,w){mount_component(t,e,w),insert(e,n,w),insert(e,o,w),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),mount_component(c,s,null),insert(e,l,w),mount_component(u,e,w),insert(e,d,w),mount_component(p,e,w),insert(e,m,w),b&&b.m(e,w),insert(e,f,w),v&&v.m(e,w),insert(e,h,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[n]){const o={};2&n&&(o.disabled=e[1]),t.$set(o);const r={};10&n&&(r.disabled=e[1]||!e[3]),i.$set(r);const a={};10&n&&(a.disabled=e[1]||!e[3]),c.$set(a);const s={};10&n&&(s.disabled=e[1]||!e[3]),u.$set(s);const l={};10&n&&(l.disabled=e[1]||!e[3]),p.$set(l),"userPassword"!=(e[0].sshMode||"userPassword")?b?(b.p(e,n),1&n&&transition_in(b,1)):(b=create_if_block_5$7(e),b.c(),transition_in(b,1),b.m(f.parentNode,f)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==(e[0].sshMode||"userPassword")?v?(v.p(e,n),1&n&&transition_in(v,1)):(v=create_if_block_4$9(e),v.c(),transition_in(v,1),v.m(h.parentNode,h)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),"keyFile"==e[0].sshMode?y?(y.p(e,n),1&n&&transition_in(y,1)):(y=create_if_block_2$g(e),y.c(),transition_in(y,1),y.m(g.parentNode,g)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),e[3]&&"agent"==e[0].sshMode?x?(x.p(e,n),9&n&&transition_in(x,1)):(x=create_if_block$R(e),x.c(),transition_in(x,1),x.m(_.parentNode,_)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){$||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(b),transition_in(v),transition_in(y),transition_in(x),$=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(b),transition_out(v),transition_out(y),transition_out(x),$=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(i),destroy_component(c),e&&detach(l),destroy_component(u,e),e&&detach(d),destroy_component(p,e),e&&detach(m),b&&b.d(e),e&&detach(f),v&&v.d(e),e&&detach(h),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1z(e,t,n){let o,r,i,a,s,c,l,u=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(7,s=e))),component_subscribe(e,openedConnections,(e=>n(8,c=e))),e.$$.on_destroy.push((()=>u()));const{values:d,setFieldValue:p}=getFormContext();component_subscribe(e,d,(e=>n(0,a=e)));const m=getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(3,o=a.useSshTunnel),385&e.$$.dirty&&n(1,i=c.includes(a._id)||s.includes(a._id))},n(2,r=usePlatformInfo()),u(),u=subscribe(r,(e=>n(4,l=e))),[a,i,r,o,l,d,m,s,c]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1C,safe_not_equal,{})}}function create_fragment$1B(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new FormCheckboxField({props:{label:"Use SSL",name:"useSsl",disabled:e[0]}}),o=new FormElectronFileSelector({props:{label:"CA Cert (optional)",name:"sslCaFile",disabled:e[0]||!e[1]||!e[3]}}),i=new FormElectronFileSelector({props:{label:"Certificate (optional)",name:"sslCertFile",disabled:e[0]||!e[1]||!e[3]}}),s=new FormPasswordField({props:{label:"Certificate key file password (optional)",name:"sslCertFilePassword",disabled:e[0]||!e[1]||!e[3]}}),l=new FormElectronFileSelector({props:{label:"Key file (optional)",name:"sslKeyFile",disabled:e[0]||!e[1]||!e[3]}}),d=new FormCheckboxField({props:{label:"Reject unauthorized",name:"sslRejectUnauthorized",disabled:e[0]||!e[1]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,[n]){const r={};1&n&&(r.disabled=e[0]),t.$set(r);const a={};3&n&&(a.disabled=e[0]||!e[1]||!e[3]),o.$set(a);const c={};3&n&&(c.disabled=e[0]||!e[1]||!e[3]),i.$set(c);const u={};3&n&&(u.disabled=e[0]||!e[1]||!e[3]),s.$set(u);const p={};3&n&&(p.disabled=e[0]||!e[1]||!e[3]),l.$set(p);const m={};3&n&&(m.disabled=e[0]||!e[1]),d.$set(m)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1y(e,t,n){let o,r,i,a,s;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(5,a=e))),component_subscribe(e,openedConnections,(e=>n(6,s=e)));const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(4,i=e)));const u=getElectron();return e.$$.update=()=>{16&e.$$.dirty&&n(1,o=i.useSsl),112&e.$$.dirty&&n(0,r=s.includes(i._id)||a.includes(i._id))},[r,o,c,u,i,a,s]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1B,safe_not_equal,{})}}function create_fragment$1A(e){let t,n,o,r;return t=new FormTextAreaField({props:{label:"Allowed databases, one per line",name:"allowedDatabases",disabled:e[0],rows:8}}),o=new FormTextField({props:{label:"Allowed databases regular expression",name:"allowedDatabasesRegex",disabled:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1&n&&(r.disabled=e[0]),t.$set(r);const i={};1&n&&(i.disabled=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$1x(e,t,n){let o,r,i,a;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(3,i=e))),component_subscribe(e,openedConnections,(e=>n(4,a=e)));const{values:s}=getFormContext();return component_subscribe(e,s,(e=>n(2,r=e))),e.$$.update=()=>{28&e.$$.dirty&&n(0,o=a.includes(r._id)||i.includes(r._id))},[o,s,r,i,a]}class ConnectionAdvancedDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1A,safe_not_equal,{})}}function create_if_block$Q(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block_4$8,create_if_block_6$6,create_else_block_1$5],d=[];function p(e,t){return e[0]?0:e[4]?1:2}o=p(e),r=d[o]=u[o](e);let m=!e[2]&&e[3]&&"connected"==e[3].msgtype&&create_if_block_3$a(e),f=!e[2]&&e[3]&&"error"==e[3].msgtype&&create_if_block_2$f(e),h=e[2]&&create_if_block_1$u();return{c(){t=element("div"),n=element("div"),r.c(),i=space(),a=element("div"),m&&m.c(),s=space(),f&&f.c(),c=space(),h&&h.c(),attr(n,"class","buttons svelte-1patgrk"),attr(a,"class","test-result svelte-1patgrk"),attr(t,"class","flex")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(t,i),append(t,a),m&&m.m(a,null),append(a,s),f&&f.m(a,null),append(a,c),h&&h.m(a,null),l=!0},p(e,t){let i=o;o=p(e),o===i?d[o].p(e,t):(group_outros(),transition_out(d[i],1,1,(()=>{d[i]=null})),check_outros(),r=d[o],r?r.p(e,t):(r=d[o]=u[o](e),r.c()),transition_in(r,1),r.m(n,null)),!e[2]&&e[3]&&"connected"==e[3].msgtype?m?(m.p(e,t),12&t&&transition_in(m,1)):(m=create_if_block_3$a(e),m.c(),transition_in(m,1),m.m(a,s)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[2]&&e[3]&&"error"==e[3].msgtype?f?(f.p(e,t),12&t&&transition_in(f,1)):(f=create_if_block_2$f(e),f.c(),transition_in(f,1),f.m(a,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[2]?h?4&t&&transition_in(h,1):(h=create_if_block_1$u(),h.c(),transition_in(h,1),h.m(a,null)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros())},i(e){l||(transition_in(r),transition_in(m),transition_in(f),transition_in(h),l=!0)},o(e){transition_out(r),transition_out(m),transition_out(f),transition_out(h),l=!1},d(e){e&&detach(t),d[o].d(),m&&m.d(),f&&f.d(),h&&h.d()}}}function create_else_block_1$5(e){let t,n,o,r,i,a,s;t=new FormButton({props:{value:"Connect"}}),t.$on("click",e[11]);const c=[create_if_block_7$3,create_else_block_2$1],l=[];function u(e,t){return e[2]?0:1}return o=u(e),r=l[o]=c[o](e),a=new FormButton({props:{value:"Save"}}),a.$on("click",e[10]),{c(){create_component(t.$$.fragment),n=space(),r.c(),i=space(),create_component(a.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),l[o].m(e,r),insert(e,i,r),mount_component(a,e,r),s=!0},p(e,t){let n=o;o=u(e),o===n?l[o].p(e,t):(group_outros(),transition_out(l[n],1,1,(()=>{l[n]=null})),check_outros(),r=l[o],r?r.p(e,t):(r=l[o]=c[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i))},i(e){s||(transition_in(t.$$.fragment,e),transition_in(r),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),l[o].d(e),e&&detach(i),destroy_component(a,e)}}}function create_if_block_6$6(e){let t,n;return t=new FormButton({props:{value:"Disconnect"}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$8(e){let t,n,o,r;const i=[create_if_block_5$6,create_else_block$k],a=[];function s(e,t){return e[2]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block_2$1(e){let t,n;return t=new FormButton({props:{value:"Test"}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$3(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[9]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$k(e){let t,n;return t=new FormButton({props:{value:"Test connection"}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$6(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[9]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$a(e){let t,n,o,r,i,a,s=e[3].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),r=space(),i=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||8&t)&&s!==(s=e[3].version+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block_2$f(e){let t,n,o,r,i,a,s,c,l=e[3].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[22],$$slots:{default:[create_default_slot_1$s]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","error-result svelte-1patgrk")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||8&t)&&l!==(l=e[3].error+"")&&set_data(i,l);const n={};8&t&&(n.onClick=e[22]),134217728&t&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_1$s(e){let t;return{c(){t=text$1("Show detail")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$u(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_default_slot$D(e){let t,n,o,r;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[5]?.showConnectionTab("sshTunnel",e[1])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[5]?.showConnectionTab("ssl",e[1])&&{label:"SSL",component:ConnectionSslFields},{label:"Advanced",component:ConnectionAdvancedDriverFields}]}});let i=e[5]&&create_if_block$Q(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","wrapper svelte-1patgrk")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};34&o&&(r.tabs=[{label:"General",component:ConnectionDriverFields},e[5]?.showConnectionTab("sshTunnel",e[1])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[5]?.showConnectionTab("ssl",e[1])&&{label:"SSL",component:ConnectionSslFields},{label:"Advanced",component:ConnectionAdvancedDriverFields}]),n.$set(r),e[5]?i?(i.p(e,o),32&o&&transition_in(i,1)):(i=create_if_block$Q(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_fragment$1z(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[7],$$slots:{default:[create_default_slot$D]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};134217791&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps=["conid"];function instance$1w(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(19,c=e))),component_subscribe(e,openedConnections,(e=>n(20,l=e))),component_subscribe(e,extensions,(e=>n(21,d=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let f,h,{connection:g}=t,{tabid:$}=t,{conid:b}=t,{connectionStore:v}=t,{onlyTestButton:y}=t;const x=v||writable(g||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,x,(e=>n(1,s=e)));const w=createRef(0);function C(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase","socketPath","serviceName"],t=e.filter((e=>null==r?void 0:r.showConnectionField(e,s,{config:u}))),n=_.difference(e,t);s.defaultDatabase||n.push("singleDatabase");let o=_.omit(s,n);return(null==r?void 0:r.beforeConnectionSave)&&(o=null==r?void 0:r.beforeConnectionSave(o)),(null==r?void 0:r.showConnectionTab("sshTunnel",s))?s.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==r?void 0:r.showConnectionTab("ssl",s))?s.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>m(void 0,void 0,void 0,(function*(){if(b){const e=yield apiCall("connections/get",{conid:b});e?set_store_value(x,s=e,s):showSnackbarError(`Connection not found: ${b}`)}}))));return e.$$set=e=>{"connection"in e&&n(13,g=e.connection),"tabid"in e&&n(14,$=e.tabid),"conid"in e&&n(15,b=e.conid),"connectionStore"in e&&n(16,v=e.connectionStore),"onlyTestButton"in e&&n(0,y=e.onlyTestButton)},e.$$.update=()=>{2&e.$$.dirty&&n(18,o=s.engine),2359296&e.$$.dirty&&n(5,r=d.drivers.find((e=>e.engine==o))),1572866&e.$$.dirty&&n(4,a=l.includes(s._id)||c.includes(s._id))},n(6,i=useConfig()),p(),p=subscribe(i,(e=>n(23,u=e))),[y,s,f,h,a,r,i,x,function(e){return m(this,void 0,void 0,(function*(){n(2,f=!0),w.update((e=>e+1));const t=w.get(),o=yield apiCall("connections/test",e.detail);w.get()==t&&(n(2,f=!1),n(3,h=o))}))},function(){w.update((e=>e+1)),n(2,f=!1)},function(){return m(this,void 0,void 0,(function*(){let e=C();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(x,s=Object.assign(Object.assign({},s),{_id:t._id,unsaved:!1}),s),changeTab($,(e=>Object.assign(Object.assign({},e),{title:lib$5.getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return m(this,void 0,void 0,(function*(){let e=C();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!0}));const t=yield apiCall("connections/save",e);set_store_value(x,s=Object.assign(Object.assign({},s),{unsaved:e.unsaved,_id:t._id}),s),openConnection(t)}))},function(){return m(this,void 0,void 0,(function*(){s.singleDatabase?disconnectDatabaseConnection(s._id,s.defaultDatabase):disconnectServerConnection(s._id)}))},g,$,b,v,function(e){return(null==r?void 0:r.beforeConnectionSave)?r.beforeConnectionSave(e):e},o,c,l,d,()=>showModal(ErrorMessageModal,{message:h.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1z,safe_not_equal,{connection:13,tabid:14,conid:15,connectionStore:16,onlyTestButton:0,changeConnectionBeforeSave:17})}get changeConnectionBeforeSave(){return this.$$.ctx[17]}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps});function create_if_block$P(e){let t,n;return t=new MapView({props:{geoJson:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.geoJson=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1y(e){let t,n,o=e[0]&&create_if_block$P(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$P(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1v(e,t,n){let o,{tabid:r}=t;return useEditorData({tabid:r,onInitialData:e=>{n(0,o=e)}}),e.$$set=e=>{"tabid"in e&&n(1,r=e.tabid)},[o,r]}class MapTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1y,safe_not_equal,{tabid:1})}}var MapTab$1=Object.freeze({__proto__:null,default:MapTab});function get_each_context$j(e,t,n){const o=e.slice();return o[43]=t[n],o[45]=n,o}function create_key_block_1(e){let t,n;return t=new SelectField({props:{value:e[43].baseColumnName,isNative:!0,notSelected:!0,options:(e[12]?.columns||[]).map(func$a)}}),t.$on("change",(function(...t){return e[38](e[45],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};256&o[0]&&(r.value=e[43].baseColumnName),4096&o[0]&&(r.options=(e[12]?.columns||[]).map(func$a)),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_key_block$1(e){let t,n;return t=new SelectField({props:{value:e[43].refColumnName,isNative:!0,notSelected:!0,options:(e[20]?.columns||e[21]?.columns||[]).map(func_1$7)}}),t.$on("change",(function(...t){return e[39](e[45],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};256&o[0]&&(r.value=e[43].refColumnName),3145728&o[0]&&(r.options=(e[20]?.columns||e[21]?.columns||[]).map(func_1$7)),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$j(e){let t,n,o,r,i,a,s,c,l=e[43].baseColumnName,u=e[43].refColumnName,d=create_key_block_1(e),p=create_key_block$1(e);return s=new FormStyledButton({props:{value:"Delete"}}),s.$on("click",(function(...t){return e[40](e[45],...t)})),{c(){t=element("div"),n=element("div"),d.c(),o=space(),r=element("div"),p.c(),i=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-5 mr-1"),attr(r,"class","col-5 ml-1"),attr(a,"class","col-2 button svelte-1ecnyiy"),attr(t,"class","row svelte-1ecnyiy")},m(e,l){insert(e,t,l),append(t,n),d.m(n,null),append(t,o),append(t,r),p.m(r,null),append(t,i),append(t,a),mount_component(s,a,null),c=!0},p(t,o){e=t,256&o[0]&&safe_not_equal(l,l=e[43].baseColumnName)?(group_outros(),transition_out(d,1,1,noop$3),check_outros(),d=create_key_block_1(e),d.c(),transition_in(d,1),d.m(n,null)):d.p(e,o),256&o[0]&&safe_not_equal(u,u=e[43].refColumnName)?(group_outros(),transition_out(p,1,1,noop$3),check_outros(),p=create_key_block$1(e),p.c(),transition_in(p,1),p.m(r,null)):p.p(e,o)},i(e){c||(transition_in(d),transition_in(p),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(d),transition_out(p),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),d.d(e),p.d(e),destroy_component(s)}}}function create_default_slot_1$r(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A,E,O,I,N,D,M,R,L,F,P,j,B,q,W,z,H=e[12]?.pureName+"",U=(e[5]||"(table not set)")+"";a=new TextField({props:{value:e[9],options:e[11]}}),a.$on("change",e[33]),p=new SelectField({props:{value:e[4],isNative:!0,notSelected:!0,options:e[11]}}),p.$on("change",e[34]),$=new SelectField({props:{value:e[2],isNative:!0,options:e[15]}}),$.$on("change",e[35]),C=new SelectField({props:{value:e[3],isNative:!0,options:e[13]}}),C.$on("change",e[36]),O=new SelectField({props:{value:lib$5.fullNameToString({pureName:e[5],schemaName:e[6]}),isNative:!0,notSelected:!0,options:e[10]}}),O.$on("change",e[37]);let V=e[8],G=[];for(let t=0;t<V.length;t+=1)G[t]=create_each_block$j(get_each_context$j(e,V,t));const Y=e=>transition_out(G[e],1,1,(()=>{G[e]=null}));return W=new FormStyledButton({props:{type:"button",value:"Add column"}}),W.$on("click",e[41]),{c(){t=element("div"),n=element("div"),o=element("div"),o.textContent="Join name",r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),l=element("div"),l.textContent="Base table",u=space(),d=element("div"),create_component(p.$$.fragment),m=space(),f=element("div"),h=element("div"),h.textContent="Connection",g=space(),_=element("div"),create_component($.$$.fragment),b=space(),v=element("div"),y=element("div"),y.textContent="Database",x=space(),w=element("div"),create_component(C.$$.fragment),k=space(),S=element("div"),T=element("div"),T.textContent="Referenced table",A=space(),E=element("div"),create_component(O.$$.fragment),I=space(),N=element("div"),D=element("div"),M=text$1("Base column - "),R=text$1(H),L=space(),F=element("div"),P=text$1("Ref column - "),j=text$1(U),B=space();for(let e=0;e<G.length;e+=1)G[e].c();q=space(),create_component(W.$$.fragment),attr(o,"class","label col-3 svelte-1ecnyiy"),attr(i,"class","col-9"),attr(n,"class","row svelte-1ecnyiy"),attr(l,"class","label col-3 svelte-1ecnyiy"),attr(d,"class","col-9"),attr(c,"class","row svelte-1ecnyiy"),attr(h,"class","label col-3 svelte-1ecnyiy"),attr(_,"class","col-9"),attr(f,"class","row svelte-1ecnyiy"),attr(y,"class","label col-3 svelte-1ecnyiy"),attr(w,"class","col-9"),attr(v,"class","row svelte-1ecnyiy"),attr(T,"class","label col-3 svelte-1ecnyiy"),attr(E,"class","col-9"),attr(S,"class","row svelte-1ecnyiy"),attr(D,"class","col-5 mr-1"),attr(F,"class","col-5 ml-1"),attr(N,"class","row svelte-1ecnyiy"),attr(t,"class","largeFormMarker")},m(e,H){insert(e,t,H),append(t,n),append(n,o),append(n,r),append(n,i),mount_component(a,i,null),append(t,s),append(t,c),append(c,l),append(c,u),append(c,d),mount_component(p,d,null),append(t,m),append(t,f),append(f,h),append(f,g),append(f,_),mount_component($,_,null),append(t,b),append(t,v),append(v,y),append(v,x),append(v,w),mount_component(C,w,null),append(t,k),append(t,S),append(S,T),append(S,A),append(S,E),mount_component(O,E,null),append(t,I),append(t,N),append(N,D),append(D,M),append(D,R),append(N,L),append(N,F),append(F,P),append(F,j),append(t,B);for(let e=0;e<G.length;e+=1)G[e]&&G[e].m(t,null);append(t,q),mount_component(W,t,null),z=!0},p(e,n){const o={};512&n[0]&&(o.value=e[9]),2048&n[0]&&(o.options=e[11]),a.$set(o);const r={};16&n[0]&&(r.value=e[4]),2048&n[0]&&(r.options=e[11]),p.$set(r);const i={};4&n[0]&&(i.value=e[2]),32768&n[0]&&(i.options=e[15]),$.$set(i);const s={};8&n[0]&&(s.value=e[3]),8192&n[0]&&(s.options=e[13]),C.$set(s);const c={};if(96&n[0]&&(c.value=lib$5.fullNameToString({pureName:e[5],schemaName:e[6]})),1024&n[0]&&(c.options=e[10]),O.$set(c),(!z||4096&n[0])&&H!==(H=e[12]?.pureName+"")&&set_data(R,H),(!z||32&n[0])&&U!==(U=(e[5]||"(table not set)")+"")&&set_data(j,U),3150080&n[0]){let o;for(V=e[8],o=0;o<V.length;o+=1){const r=get_each_context$j(e,V,o);G[o]?(G[o].p(r,n),transition_in(G[o],1)):(G[o]=create_each_block$j(r),G[o].c(),transition_in(G[o],1),G[o].m(t,q))}for(group_outros(),o=V.length;o<G.length;o+=1)Y(o);check_outros()}},i(e){if(!z){transition_in(a.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in($.$$.fragment,e),transition_in(C.$$.fragment,e),transition_in(O.$$.fragment,e);for(let e=0;e<V.length;e+=1)transition_in(G[e]);transition_in(W.$$.fragment,e),z=!0}},o(e){transition_out(a.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out($.$$.fragment,e),transition_out(C.$$.fragment,e),transition_out(O.$$.fragment,e),G=G.filter(Boolean);for(let e=0;e<G.length;e+=1)transition_out(G[e]);transition_out(W.$$.fragment,e),z=!1},d(e){e&&detach(t),destroy_component(a),destroy_component(p),destroy_component($),destroy_component(C),destroy_component(O),destroy_each(G,e),destroy_component(W)}}}function create_header_slot$3(e){let t;return{c(){t=text$1("Define custom join")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$2(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Save"}}),t.$on("click",e[32]),o=new FormStyledButton({props:{type:"button",value:"Close"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$C(e){let t,n;const o=[e[22]];let r={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$r]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=4194304&n[0]?get_spread_update(o,[get_spread_object(e[22])]):{};3194879&n[0]|32768&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1x(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};7389183&n[0]|32768&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$a=e=>({label:e.columnName,value:e.columnName}),func_1$7=e=>({label:e.columnName,value:e.columnName});function instance$1u(e,t,n){let o,r,i,a,s,c,l,u,d,p;const m=["conid","database","root","setConfig","config","editValue"];let f,h,g,$,b,v=compute_rest_props(t,m),y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));var S,T=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:A}=t,{database:E}=t,{root:O}=t,{setConfig:I}=t,{config:N}=t,{editValue:D=null}=t,M=(null==D?void 0:D.conid)||null,R=(null==D?void 0:D.database)||null,L=(null==D?void 0:D.columns)||[],F=(null==D?void 0:D.baseDesignerId)||O.designerId,P=(null==D?void 0:D.refTableName)||null,j=(null==D?void 0:D.refSchemaName)||null,B=(null==D?void 0:D.joinName)||"",q=[],W=[];return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(22,v=compute_rest_props(t,m)),"conid"in e&&n(23,A=e.conid),"database"in e&&n(24,E=e.database),"root"in e&&n(25,O=e.root),"setConfig"in e&&n(0,I=e.setConfig),"config"in e&&n(26,N=e.config),"editValue"in e&&n(1,D=e.editValue)},e.$$.update=()=>{25165836&e.$$.dirty[0]&&(n(19,o=useDatabaseInfo({conid:M||A,database:R||E})),w(),w=subscribe(o,(e=>n(7,g=e)))),25165932&e.$$.dirty[0]&&(n(18,r=useTableInfo({conid:M||A,database:R||E,schemaName:j,pureName:P})),C(),C=subscribe(r,(e=>n(20,$=e)))),25165932&e.$$.dirty[0]&&(n(17,i=useViewInfo({conid:M||A,database:R||E,schemaName:j,pureName:P})),k(),k=subscribe(i,(e=>n(21,b=e)))),128&e.$$.dirty[0]&&n(28,a=[..._.sortBy((null==g?void 0:g.tables)||[],["schemaName","pureName"]),..._.sortBy((null==g?void 0:g.views)||[],["schemaName","pureName"])]),1&e.$$.dirty[1]&&n(15,c=[{value:null,label:"The same as root"},..._.sortBy((h||[]).filter((e=>!e.unsaved)).map((e=>({value:e._id,label:lib$5.getConnectionLabel(e)}))),"label")]),8388612&e.$$.dirty[0]&&(n(14,l=useDatabaseList({conid:M||A})),y(),y=subscribe(l,(e=>n(30,f=e)))),1073741824&e.$$.dirty[0]&&n(13,u=[{value:null,label:"The same as root"},..._.sortBy((f||[]).map((e=>({value:e.name,label:e.name}))),"label")]),33554432&e.$$.dirty[0]&&n(29,d=O.getBaseTables()),671088656&e.$$.dirty[0]&&n(12,p=null===n(27,S=null==d?void 0:d.find((e=>e.node.designerId==F)))||void 0===S?void 0:S.table),805306368&e.$$.dirty[0]&&T(void 0,void 0,void 0,(function*(){yield tick(),n(11,W=d.map((e=>({label:lib$5.fullNameToLabel(e.table),value:e.node.designerId})))),n(10,q=a.map((e=>({label:lib$5.fullNameToLabel(e),value:lib$5.fullNameToString(e)}))))}))},n(16,s=useConnectionList()),x(),x=subscribe(s,(e=>n(31,h=e))),[I,D,M,R,F,P,j,g,L,B,q,W,p,u,l,c,s,i,r,o,$,b,v,A,E,O,N,S,a,d,f,h,()=>{I((e=>{const t=lib$1.createPerspectiveNodeConfig({pureName:P,schemaName:j});t.designerId=D?.refNodeDesignerId||v1_1$6(),t.conid=M,t.database=R,t.position=e.nodes.find((e=>e.designerId==D?.refNodeDesignerId))?.position,t.alias=B;const n={designerId:D?.referenceDesignerId||v1_1$6(),sourceId:F,targetId:t.designerId,columns:L.map((e=>({source:e.baseColumnName,target:e.refColumnName})))};return{...e,nodes:[...e.nodes.filter((e=>e.designerId!=D?.refNodeDesignerId)),t],references:[...e.references.filter((e=>e.designerId!=D?.referenceDesignerId)),n]}})),closeCurrentModal()},e=>{n(9,B=e.target.value)},e=>{e.detail&&n(4,F=e.detail)},e=>{n(2,M=e.detail)},e=>{n(3,R=e.detail)},e=>{if(e.detail){const t=lib$5.fullNameFromString(e.detail);n(5,P=t.pureName),n(6,j=t.schemaName);const o=g?.tables?.find((e=>e.pureName==P&&e.schemaName==j));n(8,L=o?.primaryKey?.columns?.map((e=>({refColumnName:e.columnName})))||[])}},(e,t)=>{t.detail&&n(8,L=L.map(((n,o)=>o==e?{...n,baseColumnName:t.detail}:n)))},(e,t)=>{t.detail&&n(8,L=L.map(((n,o)=>o==e?{...n,refColumnName:t.detail}:n)))},(e,t)=>{const o=[...L];o.splice(e,1),n(8,L=o)},()=>{n(8,L=[...L,{baseColumnName:"",refColumnName:""}])}]}class CustomJoinModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1x,safe_not_equal,{conid:23,database:24,root:25,setConfig:0,config:26,editValue:1},null,[-1,-1])}}function setPerspectiveSort(e,t,n,o){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[{columnName:n,order:o}]}):e))})}function addToPerspectiveSort(e,t,n,o){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[...(e.sort||[]).filter((e=>e.columnName!=n)),{columnName:n,order:o}]}):e))})}function clearPerspectiveSort(e,t){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[]}):e))})}function addToPerspectiveFilter(e,t,n,o=""){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{filters:Object.assign(Object.assign({},e.filters),{[n]:o})}):e))})}function setPerspectiveTableAlias(e,t,n){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{alias:n}):e))})}function getPerspectiveNodeMenu(e){var t,n,o,r;const{node:i,conid:a,database:s,root:c,config:l,setConfig:u,designerId:d}=e,p=null==i?void 0:i.customJoinConfig,m=null==i?void 0:i.filterInfo,f=(null===(t=null==i?void 0:i.parentNode)||void 0===t?void 0:t.designerId)||"",h=null==i?void 0:i.columnName,g=null===(o=null===(n=l.nodes)||void 0===n?void 0:n.find((e=>e.designerId==f)))||void 0===o?void 0:o.sort,$=null===(r=null==g?void 0:g.find((e=>e.columnName==h)))||void 0===r?void 0:r.order;(null==g?void 0:g.length)>1&&_.findIndex(g,(e=>e.columnName==h));const b=(null==g?void 0:g.length)>0,v=l.nodes.find((e=>e.designerId==d)),y=e=>{u((t=>setPerspectiveSort(t,f,h,e)),!0)},x=e=>{u((t=>addToPerspectiveSort(t,f,h,e)),!0)};return[(null==i?void 0:i.isSortable)&&{onClick:()=>y("ASC"),text:"Sort ascending"},(null==i?void 0:i.isSortable)&&{onClick:()=>y("DESC"),text:"Sort descending"},(null==i?void 0:i.isSortable)&&b&&!$&&{onClick:()=>x("ASC"),text:"Add to sort - ascending"},(null==i?void 0:i.isSortable)&&b&&!$&&{onClick:()=>x("DESC"),text:"Add to sort - descending"},(null==i?void 0:i.isSortable)&&$&&{onClick:()=>{u((e=>clearPerspectiveSort(e,f)),!0)},text:"Clear sort criteria"},{divider:!0},m&&{text:"Add to filter",onClick:()=>u((e=>addToPerspectiveFilter(e,f,h)))},p&&{text:"Remove custom join",onClick:()=>u((e=>Object.assign(Object.assign({},e),{nodes:(e.nodes||[]).filter((e=>e.designerId!=p.refNodeDesignerId)),references:(e.references||[]).filter((e=>e.designerId!=p.referenceDesignerId))})))},p&&{text:"Edit custom join",onClick:()=>showModal(CustomJoinModal,{config:l,setConfig:u,conid:a,database:s,root:c,editValue:p})},(null==i?void 0:i.supportsParentFilter)&&{text:i.isParentFilter?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{u((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==i?void 0:i.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!i.isParentFilter}):e))})),!0)}},v&&[{text:"Set alias",onClick:()=>{var e;showModal(InputTextModal,{value:(null===(e=null==i?void 0:i.nodeConfig)||void 0===e?void 0:e.alias)||"",label:"New alias",header:"Set alias",onConfirm:e=>{u((t=>setPerspectiveTableAlias(t,d,e)))}})}},(null==v?void 0:v.alias)&&{text:"Remove alias",onClick:()=>u((e=>setPerspectiveTableAlias(e,d,null)))}],v&&l.rootDesignerId!=d&&[{divider:!0},{text:"Set root",onClick:()=>__awaiter$m(this,void 0,void 0,(function*(){u((e=>Object.assign(Object.assign({},e),{rootDesignerId:d}))),yield tick(),l.isArranged&&runCommand("designer.arrange")}))}]]}function create_if_block_1$t(e){let t,n,o,r;return{c(){t=element("input"),attr(t,"type","checkbox"),t.checked=n=e[0].isSecondaryChecked},m(n,i){insert(n,t,i),o||(r=[listen(t,"click",click_handler_2),listen(t,"mousedown",mousedown_handler_1),listen(t,"change",e[10])],o=!0)},p(e,o){1&o&&n!==(n=e[0].isSecondaryChecked)&&(t.checked=n)},d(e){e&&detach(t),o=!1,run_all(r)}}}function create_if_block$O(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1w(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v=e[0].title+"",y=e[0].getFilter();o=new FontIcon({props:{icon:e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"}}),o.$on("click",e[8]);let x=e[0].secondaryCheckable&&create_if_block_1$t(e);u=new FontIcon({props:{icon:e[0].icon}}),h=new SortOrderIcon({props:{order:e[0].sortOrder,orderIndex:e[0].sortOrderIndex}});let w=y&&create_if_block$O();return{c(){t=element("div"),n=element("span"),create_component(o.$$.fragment),i=space(),a=element("input"),c=space(),x&&x.c(),l=space(),create_component(u.$$.fragment),d=space(),p=element("span"),m=text$1(v),f=space(),create_component(h.$$.fragment),g=space(),w&&w.c(),attr(n,"class","expandColumnIcon"),attr(n,"style",r=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`),attr(a,"type","checkbox"),a.checked=s=e[0].isChecked,attr(t,"class","row svelte-n2q9l8")},m(r,s){insert(r,t,s),append(t,n),mount_component(o,n,null),append(t,i),append(t,a),append(t,c),x&&x.m(t,null),append(t,l),mount_component(u,t,null),append(t,d),append(t,p),append(p,m),append(t,f),mount_component(h,t,null),append(t,g),w&&w.m(t,null),_=!0,$||(b=[listen(a,"click",click_handler_1),listen(a,"mousedown",mousedown_handler),listen(a,"change",e[9]),action_destroyer(contextMenu.call(null,t,e[2]))],$=!0)},p(e,[i]){const c={};1&i&&(c.icon=e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"),o.$set(c),(!_||3&i&&r!==(r=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`))&&attr(n,"style",r),(!_||1&i&&s!==(s=e[0].isChecked))&&(a.checked=s),e[0].secondaryCheckable?x?x.p(e,i):(x=create_if_block_1$t(e),x.c(),x.m(t,l)):x&&(x.d(1),x=null);const d={};1&i&&(d.icon=e[0].icon),u.$set(d),(!_||1&i)&&v!==(v=e[0].title+"")&&set_data(m,v);const p={};1&i&&(p.order=e[0].sortOrder),1&i&&(p.orderIndex=e[0].sortOrderIndex),h.$set(p),1&i&&(y=e[0].getFilter()),y?w?1&i&&transition_in(w,1):(w=create_if_block$O(),w.c(),transition_in(w,1),w.m(t,null)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros())},i(e){_||(transition_in(o.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(h.$$.fragment,e),transition_in(w),_=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(h.$$.fragment,e),transition_out(w),_=!1},d(e){e&&detach(t),destroy_component(o),x&&x.d(),destroy_component(u),destroy_component(h),w&&w.d(),$=!1,run_all(b)}}}const click_handler_1=e=>{e.stopPropagation()},mousedown_handler=e=>{e.stopPropagation()},click_handler_2=e=>{e.stopPropagation()},mousedown_handler_1=e=>{e.stopPropagation()};function instance$1t(e,t,n){let{conid:o}=t,{database:r}=t,{node:i}=t,{root:a}=t,{tempRoot:s}=t,{config:c}=t,{setConfig:l}=t;return e.$$set=e=>{"conid"in e&&n(3,o=e.conid),"database"in e&&n(4,r=e.database),"node"in e&&n(0,i=e.node),"root"in e&&n(5,a=e.root),"tempRoot"in e&&n(1,s=e.tempRoot),"config"in e&&n(6,c=e.config),"setConfig"in e&&n(7,l=e.setConfig)},[i,s,function(){return getPerspectiveNodeMenu({conid:o,database:r,node:i,root:a,config:c,setConfig:l,designerId:null==i?void 0:i.designerId})},o,r,a,c,l,()=>{i.toggleExpanded()},()=>{i.toggleChecked()},()=>{i.toggleSecondaryChecked()}]}class PerspectiveNodeRow extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1w,safe_not_equal,{conid:3,database:4,node:0,root:5,tempRoot:1,config:6,setConfig:7})}}function get_each_context$i(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$i(e){let t,n;return t=new PerspectiveNodeRow({props:{node:e[8],config:e[2],setConfig:e[3],root:e[0],tempRoot:e[1],conid:e[4],database:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};67&n&&(o.node=e[8]),4&n&&(o.config=e[2]),8&n&&(o.setConfig=e[3]),1&n&&(o.root=e[0]),2&n&&(o.tempRoot=e[1]),16&n&&(o.conid=e[4]),32&n&&(o.database=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1v(e){let t,n,o=e[7](e[1]??e[0],e[6]),r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$i(get_each_context$i(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(255&n){let a;for(o=e[7](e[1]??e[0],e[6]),a=0;a<o.length;a+=1){const i=get_each_context$i(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$i(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$1s(e,t,n){let{root:o}=t,{tempRoot:r}=t,{config:i}=t,{setConfig:a}=t,{conid:s}=t,{database:c}=t,{filter:l}=t;return e.$$set=e=>{"root"in e&&n(0,o=e.root),"tempRoot"in e&&n(1,r=e.tempRoot),"config"in e&&n(2,i=e.config),"setConfig"in e&&n(3,a=e.setConfig),"conid"in e&&n(4,s=e.conid),"database"in e&&n(5,c=e.database),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,function e(t,n){const o=[];for(const r of null==t?void 0:t.childNodes)if(lib$5.filterName(n,r.title))o.push(r),r.isExpanded&&o.push(...e(r,n));else if(r.isExpanded){const t=e(r,n);t.length>0&&(o.push(r),o.push(...t))}return o}]}class PerspectiveTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1v,safe_not_equal,{root:0,tempRoot:1,config:2,setConfig:3,conid:4,database:5,filter:6})}}function get_if_ctx(e){const t=e.slice(),n=lib$5.getAsImageSrc(t[0]);return t[6]=n,t}function create_if_block$N(e){let t,n,o,r,i;const a=[create_if_block_1$s,create_if_block_2$e,create_if_block_4$7,create_if_block_5$5,create_if_block_6$5,create_else_block_1$4],s=[];function c(e,n){return 1&n&&(t=null),"json"==e[4]?0:"image"==e[4]?1:"text"==e[4]?2:"forceText"==e[4]?3:(null==t&&(t=!(e[0]?.$oid||!_.isArray(e[0])&&!_.isPlainObject(e[0]))),t?4:5)}function l(e,t){return 1===t?get_if_ctx(e):e}return n=c(e,-1),o=s[n]=a[n](l(e,n)),{c(){o.c(),r=empty()},m(e,t){s[n].m(e,t),insert(e,r,t),i=!0},p(e,t){let i=n;n=c(e,t),n===i?s[n].p(l(e,n),t):(group_outros(),transition_out(s[i],1,1,(()=>{s[i]=null})),check_outros(),o=s[n],o?o.p(l(e,n),t):(o=s[n]=a[n](l(e,n)),o.c()),transition_in(o,1),o.m(r.parentNode,r))},i(e){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){s[n].d(e),e&&detach(r)}}}function create_else_block_1$4(e){let t,n;return t=new CellValue({props:{rowData:e[2],value:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.rowData=e[2]),1&n&&(o.value=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$5(e){let t,n;return t=new JSONTree({props:{value:e[0],slicedKeyCount:1,disableContextMenu:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.value=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$5(e){let t,n=e[5](e[0],!0)+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&n!==(n=e[5](e[0],!0)+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_4$7(e){let t,n=e[5](e[0],!1)+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&n!==(n=e[5](e[0],!1)+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_2$e(e){let t;function n(e,t){return e[6]?create_if_block_3$9:create_else_block$j}let o=n(e),r=o(e);return{c(){r.c(),t=empty()},m(e,n){r.m(e,n),insert(e,t,n)},p(e,i){o===(o=n(e))&&r?r.p(e,i):(r.d(1),r=o(e),r&&(r.c(),r.m(t.parentNode,t)))},i:noop$3,o:noop$3,d(e){r.d(e),e&&detach(t)}}}function create_if_block_1$s(e){let t,n;return t=new JSONTree({props:{value:lib$5.safeJsonParse(e[0],e[0]?.toString()),slicedKeyCount:1,disableContextMenu:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.value=lib$5.safeJsonParse(e[0],e[0]?.toString())),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$j(e){let t;return{c(){t=element("span"),t.textContent="(no image)",attr(t,"class","null svelte-1tkw7jt")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$9(e){let t,n;return{c(){t=element("img"),src_url_equal(t.src,n=e[6])||attr(t,"src",n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&!src_url_equal(t.src,n=e[6])&&attr(t,"src",n)},d(e){e&&detach(t)}}}function create_fragment$1u(e){let t,n,o=void 0!==e[0]&&create_if_block$N(e);return{c(){t=element("td"),o&&o.c(),attr(t,"rowspan",e[1]),attr(t,"data-column",e[3]),attr(t,"class","svelte-1tkw7jt"),toggle_class(t,"isEmpty",void 0===e[0])},m(e,r){insert(e,t,r),o&&o.m(t,null),n=!0},p(e,[r]){void 0!==e[0]?o?(o.p(e,r),1&r&&transition_in(o,1)):(o=create_if_block$N(e),o.c(),transition_in(o,1),o.m(t,null)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()),(!n||2&r)&&attr(t,"rowspan",e[1]),(!n||8&r)&&attr(t,"data-column",e[3]),(!n||1&r)&&toggle_class(t,"isEmpty",void 0===e[0])},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){e&&detach(t),o&&o.d()}}}function instance$1r(e,t,n){let{value:o}=t,{rowSpan:r}=t,{rowData:i}=t,{columnIndex:a}=t,{displayType:s}=t;return e.$$set=e=>{"value"in e&&n(0,o=e.value),"rowSpan"in e&&n(1,r=e.rowSpan),"rowData"in e&&n(2,i=e.rowData),"columnIndex"in e&&n(3,a=e.columnIndex),"displayType"in e&&n(4,s=e.displayType)},[o,r,i,a,s,function(e,t){return t&&"Buffer"==(null==e?void 0:e.type)&&_.isArray(e.data)?String.fromCharCode.apply(String,e.data):lib$5.stringifyCellValue(e,"gridCellIntent").value}]}class PerspectiveCell extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1u,safe_not_equal,{value:0,rowSpan:1,rowData:2,columnIndex:3,displayType:4})}}function create_fragment$1t(e){let t;return{c(){t=element("div"),t.innerHTML='<div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div>',attr(t,"class","lds-spinner svelte-bxata")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}class PerspectiveLoadingIndicator extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$1t,safe_not_equal,{})}}function create_if_block_2$d(e){let t,n,o,r,i,a,s,c,l,u=e[0].title+"";return a=new SortOrderIcon({props:{order:e[3],orderIndex:e[2]}}),{c(){t=element("th"),n=element("div"),o=element("div"),r=text$1(u),i=space(),create_component(a.$$.fragment),attr(o,"class","label svelte-uz4mu9"),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"rowspan",s=e[0].rowSpan),attr(t,"class","columnHeader svelte-uz4mu9"),attr(t,"data-column",c=e[0].columnIndex)},m(e,s){insert(e,t,s),append(t,n),append(n,o),append(o,r),append(n,i),mount_component(a,n,null),l=!0},p(e,n){(!l||1&n)&&u!==(u=e[0].title+"")&&set_data(r,u);const o={};8&n&&(o.order=e[3]),4&n&&(o.orderIndex=e[2]),a.$set(o),(!l||1&n&&s!==(s=e[0].rowSpan))&&attr(t,"rowspan",s),(!l||1&n&&c!==(c=e[0].columnIndex))&&attr(t,"data-column",c)},i(e){l||(transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(a)}}}function create_if_block$M(e){let t,n,o,r,i,a,s,c=e[0].getParentName(e[1])+"",l=e[0].getParentNode(e[1])?.isParentFilter,u=l&&create_if_block_1$r();return{c(){t=element("th"),n=element("div"),o=text$1(c),r=space(),u&&u.c(),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"colspan",i=e[0].getColSpan(e[1])),attr(t,"class","tableHeader svelte-uz4mu9"),attr(t,"data-tablenodedesignerid",a=e[0].getParentTableDesignerId(e[1]))},m(e,i){insert(e,t,i),append(t,n),append(n,o),append(n,r),u&&u.m(n,null),s=!0},p(e,r){(!s||3&r)&&c!==(c=e[0].getParentName(e[1])+"")&&set_data(o,c),3&r&&(l=e[0].getParentNode(e[1])?.isParentFilter),l?u?3&r&&transition_in(u,1):(u=create_if_block_1$r(),u.c(),transition_in(u,1),u.m(n,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),(!s||3&r&&i!==(i=e[0].getColSpan(e[1])))&&attr(t,"colspan",i),(!s||3&r&&a!==(a=e[0].getParentTableDesignerId(e[1])))&&attr(t,"data-tablenodedesignerid",a)},i(e){s||(transition_in(u),s=!0)},o(e){transition_out(u),s=!1},d(e){e&&detach(t),u&&u.d()}}}function create_if_block_1$r(e){let t,n,o;return n=new FontIcon({props:{icon:"img parent-filter"}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","icon svelte-uz4mu9")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$1s(e){let t,n,o,r=e[0].isVisible(e[1]),i=e[0].showParent(e[1]),a=r&&create_if_block_2$d(e),s=i&&create_if_block$M(e);return{c(){a&&a.c(),t=space(),s&&s.c(),n=empty()},m(e,r){a&&a.m(e,r),insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,[o]){3&o&&(r=e[0].isVisible(e[1])),r?a?(a.p(e,o),3&o&&transition_in(a,1)):(a=create_if_block_2$d(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros()),3&o&&(i=e[0].showParent(e[1])),i?s?(s.p(e,o),3&o&&transition_in(s,1)):(s=create_if_block$M(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){o||(transition_in(a),transition_in(s),o=!0)},o(e){transition_out(a),transition_out(s),o=!1},d(e){a&&a.d(e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function instance$1q(e,t,n){let o,r;var i,a;let{column:s}=t,{columnLevel:c}=t,{config:l}=t,{setConfig:u}=t;return e.$$set=e=>{"column"in e&&n(0,s=e.column),"columnLevel"in e&&n(1,c=e.columnLevel),"config"in e&&n(4,l=e.config),"setConfig"in e&&n(5,u=e.setConfig)},e.$$.update=()=>{65&e.$$.dirty&&n(3,o=null===n(6,i=s.dataNode)||void 0===i?void 0:i.sortOrder),129&e.$$.dirty&&n(2,r=null===n(7,a=s.dataNode)||void 0===a?void 0:a.sortOrderIndex)},[s,c,r,o,l,u,i,a]}class PerspectiveHeaderControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{column:0,columnLevel:1,config:4,setConfig:5})}}function get_each_context$h(e,t,n){const o=e.slice();return o[31]=t[n],o[33]=n,o}function get_each_context_1$2(e,t,n){const o=e.slice();return o[34]=t[n],o}function get_each_context_2$1(e,t,n){const o=e.slice();return o[37]=t[n],o}function get_each_context_3(e,t,n){const o=e.slice();return o[34]=t[n],o}function create_if_block_3$8(e){let t,n,o,r,i,a=_.range(e[4].columnLevelCount),s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block_2$1(get_each_context_2$1(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[4].rows,u=[];for(let t=0;t<l.length;t+=1)u[t]=create_each_block$h(get_each_context$h(e,l,t));const d=e=>transition_out(u[e],1,1,(()=>{u[e]=null}));return{c(){t=element("table"),n=element("thead");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),r=element("tbody");for(let e=0;e<u.length;e+=1)u[e].c();attr(n,"class","svelte-msvx43"),attr(t,"class","svelte-msvx43")},m(a,c){insert(a,t,c),append(t,n);for(let e=0;e<s.length;e+=1)s[e]&&s[e].m(n,null);append(t,o),append(t,r);for(let e=0;e<u.length;e+=1)u[e]&&u[e].m(r,null);e[19](t),i=!0},p(e,t){if(28&t[0]){let o;for(a=_.range(e[4].columnLevelCount),o=0;o<a.length;o+=1){const r=get_each_context_2$1(e,a,o);s[o]?(s[o].p(r,t),transition_in(s[o],1)):(s[o]=create_each_block_2$1(r),s[o].c(),transition_in(s[o],1),s[o].m(n,null))}for(group_outros(),o=a.length;o<s.length;o+=1)c(o);check_outros()}if(16&t[0]){let n;for(l=e[4].rows,n=0;n<l.length;n+=1){const o=get_each_context$h(e,l,n);u[n]?(u[n].p(o,t),transition_in(u[n],1)):(u[n]=create_each_block$h(o),u[n].c(),transition_in(u[n],1),u[n].m(r,null))}for(group_outros(),n=l.length;n<u.length;n+=1)d(n);check_outros()}},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);for(let e=0;e<l.length;e+=1)transition_in(u[e]);i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);u=u.filter(Boolean);for(let e=0;e<u.length;e+=1)transition_out(u[e]);i=!1},d(n){n&&detach(t),destroy_each(s,n),destroy_each(u,n),e[19](null)}}}function create_each_block_3(e){let t,n;return t=new PerspectiveHeaderControl({props:{column:e[34],columnLevel:e[37],setConfig:e[3],config:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n[0]&&(o.column=e[34]),16&n[0]&&(o.columnLevel=e[37]),8&n[0]&&(o.setConfig=e[3]),4&n[0]&&(o.config=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_2$1(e){let t,n,o,r=e[4].columns,i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block_3(get_each_context_3(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("tr");for(let e=0;e<i.length;e+=1)i[e].c();n=space()},m(e,r){insert(e,t,r);for(let e=0;e<i.length;e+=1)i[e]&&i[e].m(t,null);append(t,n),o=!0},p(e,o){if(28&o[0]){let s;for(r=e[4].columns,s=0;s<r.length;s+=1){const a=get_each_context_3(e,r,s);i[s]?(i[s].p(a,o),transition_in(i[s],1)):(i[s]=create_each_block_3(a),i[s].c(),transition_in(i[s],1),i[s].m(t,n))}for(group_outros(),s=r.length;s<i.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);o=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_if_block_4$6(e){let t,n;return t=new PerspectiveCell({props:{columnIndex:e[34].columnIndex,value:e[31].rowData[e[34].columnIndex],rowSpan:e[31].rowSpans[e[34].columnIndex],rowData:e[31].rowData,displayType:e[34].displayType}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n[0]&&(o.columnIndex=e[34].columnIndex),16&n[0]&&(o.value=e[31].rowData[e[34].columnIndex]),16&n[0]&&(o.rowSpan=e[31].rowSpans[e[34].columnIndex]),16&n[0]&&(o.rowData=e[31].rowData),16&n[0]&&(o.displayType=e[34].displayType),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$2(e){let t,n,o=!e[31].rowCellSkips[e[34].columnIndex]&&create_if_block_4$6(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[31].rowCellSkips[e[34].columnIndex]?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),16&n[0]&&transition_in(o,1)):(o=create_if_block_4$6(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_each_block$h(e){let t,n,o,r=e[4].columns,i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block_1$2(get_each_context_1$2(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("tr");for(let e=0;e<i.length;e+=1)i[e].c();n=space(),attr(t,"data-rowindex",e[33])},m(e,r){insert(e,t,r);for(let e=0;e<i.length;e+=1)i[e]&&i[e].m(t,null);append(t,n),o=!0},p(e,o){if(16&o[0]){let s;for(r=e[4].columns,s=0;s<r.length;s+=1){const a=get_each_context_1$2(e,r,s);i[s]?(i[s].p(a,o),transition_in(i[s],1)):(i[s]=create_each_block_1$2(a),i[s].c(),transition_in(i[s],1),i[s].m(t,n))}for(group_outros(),s=r.length;s<i.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);o=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_if_block_2$c(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[7]}}),o=new FormStyledButton({props:{value:"Reset filter"}}),o.$on("click",e[20]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};128&n[0]&&(o.message=e[7]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$q(e){let t,n,o;return n=new PerspectiveLoadingIndicator({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","loader svelte-msvx43")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$L(e){let t,n;return t=new StatusBarTabItem({props:{text:`${e[0]?.namedObject?.pureName} rows: ${e[8].toLocaleString()}`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};257&n[0]&&(o.text=`${e[0]?.namedObject?.pureName} rows: ${e[8].toLocaleString()}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1r(e){let t,n,o,r,i,a,s,c,l=e[4]&&create_if_block_3$8(e),u=e[7]&&create_if_block_2$c(e),d=e[9]&&create_if_block_1$q(),p=null!=e[8]&&create_if_block$L(e);return{c(){t=element("div"),l&&l.c(),n=space(),u&&u.c(),o=space(),d&&d.c(),r=space(),p&&p.c(),i=empty(),attr(t,"class","wrapper svelte-msvx43")},m(m,f){insert(m,t,f),l&&l.m(t,null),append(t,n),u&&u.m(t,null),append(t,o),d&&d.m(t,null),e[21](t),insert(m,r,f),p&&p.m(m,f),insert(m,i,f),a=!0,s||(c=[action_destroyer(resizeObserver.call(null,t,!0)),action_destroyer(contextMenu.call(null,t,e[10])),listen(t,"scroll",e[11])],s=!0)},p(e,r){e[4]?l?(l.p(e,r),16&r[0]&&transition_in(l,1)):(l=create_if_block_3$8(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[7]?u?(u.p(e,r),128&r[0]&&transition_in(u,1)):(u=create_if_block_2$c(e),u.c(),transition_in(u,1),u.m(t,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),e[9]?d?512&r[0]&&transition_in(d,1):(d=create_if_block_1$q(),d.c(),transition_in(d,1),d.m(t,null)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),null!=e[8]?p?(p.p(e,r),256&r[0]&&transition_in(p,1)):(p=create_if_block$L(e),p.c(),transition_in(p,1),p.m(i.parentNode,i)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){a||(transition_in(l),transition_in(u),transition_in(d),transition_in(p),a=!0)},o(e){transition_out(l),transition_out(u),transition_out(d),transition_out(p),a=!1},d(n){n&&detach(t),l&&l.d(),u&&u.d(),d&&d.d(),e[21](null),n&&detach(r),p&&p.d(n),n&&detach(i),s=!1,run_all(c)}}}const getCurrentEditor$6=()=>getActiveComponent("PerspectiveTable");function instance$1p(e,t,n){let o,r,i=noop$3,a=()=>(i(),i=subscribe(p,(e=>n(18,r=e))),p);e.$$.on_destroy.push((()=>i()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const c={tables:{text:"table",tabComponent:"TableDataTab",icon:"img table"},views:{text:"view",tabComponent:"ViewDataTab",icon:"img view"},collections:{text:"collection",tabComponent:"CollectionDataTab",icon:"img collection"}},l=debug("dbgate:PerspectiveTable"),u=createActivator("PerspectiveTable",!0,["Designer"]);let{root:d}=t,{loadedCounts:p}=t;a();let m,f,h,g,$,{config:b}=t,{setConfig:v}=t,{conid:y}=t,{database:x}=t,w=!1,C=!1;const k=createRef(0),S=createRef(!1);function T(e,t,n){return s(this,void 0,void 0,(function*(){l("load level data",n);const o=e.getNodeLoadProps(t);let{rows:r,incomplete:i}=yield e.dataProvider.loadData(Object.assign(Object.assign({},o),{topCount:n[e.designerId]||lib$1.PERSPECTIVE_PAGE_SIZE}));if(e.isRoot)t.push(...r),i&&t.push({incompleteRowsIndicator:[e.designerId]});else if(e.preloadedLevelData)r=_.compact(_.flatten(t.map((t=>t[e.fieldName]))));else{let n=null;for(const o of t){const t=r.filter((t=>e.matchChildRow(o,t)));o[e.fieldName]=t,t.length>0&&(n=o)}i&&n&&n[e.fieldName].push({incompleteRowsIndicator:[e.designerId]})}for(const t of e.childNodes)t.isExpandable&&(t.isCheckedNode||t.preloadedLevelData)&&(yield T(t,r,n))}))}function A(e,t){return s(this,void 0,void 0,(function*(){if(w)return void(C=!0);if(C=!1,!e)return;const o=[];n(9,w=!0);try{yield T(e,o,t),n(17,m=o),l("data rows",o),n(7,g=null),n(8,$=yield e.dataProvider.loadRowCount(d.getNodeLoadProps([])))}catch(e){console.error(e),n(7,g=e.message),n(17,m=null),n(8,$=null)}n(9,w=!1),C&&A(d,r)}))}function E(){return s(this,void 0,void 0,(function*(){if(!o)return;if(yield tick(),!h)return;if(!o)return;if(S.get())return;const e=function(){var e=h.querySelectorAll("tbody>tr");const t=f.getBoundingClientRect();function n(n){if(n<0||n>=e.length)return!1;const o=e[n].getBoundingClientRect();return n==e.length-1?t.bottom>=o.top:o.top<=t.bottom&&o.bottom>=t.bottom}const o=k.get();let r=0;for(;o-r>=0||o+r<e.length;){if(n(o-r))return k.set(o-r),o-r;if(n(o+r))return k.set(o+r),o+r;r+=1}return 0}(),t=_.keys(o.loadIndicatorsCounts).filter((t=>e+1>=o.loadIndicatorsCounts[t]));t.length>0&&(S.set(!0),l("load next",t),p.update((e=>{const n=Object.assign({},e);for(const e of t)n[e]=(n[e]||lib$1.PERSPECTIVE_PAGE_SIZE)+lib$1.PERSPECTIVE_PAGE_SIZE;return n})))}))}onMount((()=>{}));return e.$$set=e=>{"root"in e&&n(0,d=e.root),"loadedCounts"in e&&a(n(1,p=e.loadedCounts)),"config"in e&&n(2,b=e.config),"setConfig"in e&&n(3,v=e.setConfig),"conid"in e&&n(13,y=e.conid),"database"in e&&n(14,x=e.database)},e.$$.update=()=>{262145&e.$$.dirty[0]&&A(d,r),131073&e.$$.dirty[0]&&n(4,o=d&&m?new lib$1.PerspectiveDisplay(d,m):null),16&e.$$.dirty[0]&&(S.set(!1),E())},[d,p,b,v,o,f,h,g,$,w,function({targetElement:e,registerCloseHandler:t}){var n,r,i;const a=[],s=e.closest("td")||e.closest("th"),l=!!e.closest("th");if(s){const e=s.closest("tr"),u=s.getAttribute("data-column"),p=null===(n=null==o?void 0:o.columns)||void 0===n?void 0:n[u];p&&a.push(getPerspectiveNodeMenu({config:b,conid:y,database:x,node:p.dataNode,root:d,setConfig:v,designerId:null})),s.classList.add("highlight"),t((()=>{s.classList.remove("highlight")}));const m=s.getAttribute("data-tableNodeDesignerId"),f=null==d?void 0:d.findNodeByDesignerId(m);if(null==f?void 0:f.headerTableAttributes){const{pureName:e,schemaName:t,conid:n,database:o,objectTypeField:r}=null==f?void 0:f.headerTableAttributes;console.log("objectTypeField",r);const i=c[r];i&&a.push({text:`Open ${i.text} ${e}`,onClick:()=>{openNewTab({title:e,icon:i.icon,tabComponent:i.tabComponent,props:{schemaName:t,pureName:e,conid:n,database:o,objectTypeField:r}})}})}const h=e=>{v((t=>Object.assign(Object.assign({},t),{nodes:t.nodes.map((t=>{var n,o;return t.designerId==(null===(o=null===(n=null==p?void 0:p.dataNode)||void 0===n?void 0:n.parentNode)||void 0===o?void 0:o.designerId)?Object.assign(Object.assign({},t),{columnDisplays:Object.assign(Object.assign({},t.columnDisplays),{[p.dataNode.columnName]:e})}):t}))})))};if(l&&!(null==f?void 0:f.headerTableAttributes)&&a.push({text:`Change display (${_.startCase((null===(i=null===(r=b.nodes.find((e=>{var t,n;return e.designerId==(null===(n=null===(t=null==p?void 0:p.dataNode)||void 0===t?void 0:t.parentNode)||void 0===n?void 0:n.designerId)})))||void 0===r?void 0:r.columnDisplays)||void 0===i?void 0:i[p.dataNode.columnName])||"default")})`,submenu:[{text:"Default",onClick:()=>h("default")},{text:"JSON",onClick:()=>h("json")},{text:"Image",onClick:()=>h("image")},{text:"Text",onClick:()=>h("text")},{text:"Force Text",onClick:()=>h("forceText")}]}),null==f?void 0:f.supportsParentFilter){const e=null==f?void 0:f.isParentFilter;a.push({text:e?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{v((t=>Object.assign(Object.assign({},t),{nodes:t.nodes.map((t=>t.designerId==(null==f?void 0:f.designerId)?Object.assign(Object.assign({},t),{isParentFilter:!e}):t))})),!0)}})}const g=null==e?void 0:e.getAttribute("data-rowIndex");if(null!=g){const e=o.rows[g].rowData[u],{dataNode:t}=p;if(t.filterInfo&&(t instanceof lib$1.PerspectiveTableColumnNode||t instanceof lib$1.PerspectivePatternColumnNode)){const{table:n}=t,o=c[n.objectTypeField],r=lib.getFilterValueExpression(e,t instanceof lib$1.PerspectiveTableColumnNode?t.column.dataType:null);o&&a.push({text:"Open filtered grid",onClick:()=>{openNewTab({title:n.pureName,icon:o.icon,tabComponent:o.tabComponent,props:{schemaName:n.schemaName,pureName:n.pureName,conid:y,database:x,objectTypeField:n.objectTypeField}},{grid:{filters:{[t.columnName]:r}}},{forceNewTab:!0})}}),a.push({text:"Filter this value",onClick:()=>{v((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>{var n;return e.designerId==(null===(n=null==t?void 0:t.parentNode)||void 0===n?void 0:n.designerId)?Object.assign(Object.assign({},e),{filters:Object.assign(Object.assign({},e.filters),{[t.columnName]:r})}):e}))})))}})}}}return a.push([{divider:!0},{command:"perspective.refresh"},{command:"perspective.openJson"},{command:"perspective.customJoin"}]),a},E,u,y,x,function(){openJsonDocument(m)},function(){return null!=m},m,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{h=e,n(6,h)}))},()=>v((e=>({...e,filters:{},parentFilters:[]})),!0),function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(5,f)}))}]}registerCommand({id:"perspective.openJson",category:"Perspective",name:"Open JSON",isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$6())||void 0===e?void 0:e.openJsonEnabled()},onClick:()=>getCurrentEditor$6().openJson()});class PerspectiveTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,safe_not_equal,{activator:12,root:0,loadedCounts:1,config:2,setConfig:3,conid:13,database:14,openJson:15,openJsonEnabled:16},null,[-1,-1])}get activator(){return this.$$.ctx[12]}get openJson(){return this.$$.ctx[15]}get openJsonEnabled(){return this.$$.ctx[16]}}function create_default_slot$B(e){let t,n;return t=new FontIcon({props:{icon:"icon close"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1q(e){let t,n,o,r,i,a,s,c,l,u,d=e[0].columnName+"",p=e[0].pureName+"";return s=new InlineButton({props:{square:!0,narrow:!0,$$slots:{default:[create_default_slot$B]},$$scope:{ctx:e}}}),s.$on("click",(function(){is_function(e[3])&&e[3].apply(this,arguments)})),l=new DataFilterControl({props:{filterBehaviour:e[0].filterBehaviour,filter:e[1],setFilter:e[2],conid:e[4],database:e[5],driver:e[6],columnName:e[0].columnName,pureName:e[0].pureName,foreignKey:e[0].foreignKey,customCommandIcon:e[7],onCustomCommand:e[7]?e[8]:null,customCommandTooltip:"Filter parent rows"}}),{c(){t=element("div"),n=element("div"),o=text$1(d),r=text$1(" ("),i=text$1(p),a=text$1(")\n "),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),attr(n,"class","space-between"),attr(t,"class","m-1")},m(e,d){insert(e,t,d),append(t,n),append(n,o),append(n,r),append(n,i),append(n,a),mount_component(s,n,null),append(t,c),mount_component(l,t,null),u=!0},p(t,[n]){e=t,(!u||1&n)&&d!==(d=e[0].columnName+"")&&set_data(o,d),(!u||1&n)&&p!==(p=e[0].pureName+"")&&set_data(i,p);const r={};4096&n&&(r.$$scope={dirty:n,ctx:e}),s.$set(r);const a={};1&n&&(a.filterBehaviour=e[0].filterBehaviour),2&n&&(a.filter=e[1]),4&n&&(a.setFilter=e[2]),16&n&&(a.conid=e[4]),32&n&&(a.database=e[5]),64&n&&(a.driver=e[6]),1&n&&(a.columnName=e[0].columnName),1&n&&(a.pureName=e[0].pureName),1&n&&(a.foreignKey=e[0].foreignKey),128&n&&(a.customCommandIcon=e[7]),128&n&&(a.onCustomCommand=e[7]?e[8]:null),l.$set(a)},i(e){u||(transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(s),destroy_component(l)}}}function instance$1o(e,t,n){let o,{filterInfo:r}=t,{filter:i}=t,{onSetFilter:a}=t,{onRemoveFilter:s}=t,{conid:c}=t,{database:l}=t,{driver:u}=t,{config:d}=t,{setConfig:p}=t,{tableNode:m}=t;return e.$$set=e=>{"filterInfo"in e&&n(0,r=e.filterInfo),"filter"in e&&n(1,i=e.filter),"onSetFilter"in e&&n(2,a=e.onSetFilter),"onRemoveFilter"in e&&n(3,s=e.onRemoveFilter),"conid"in e&&n(4,c=e.conid),"database"in e&&n(5,l=e.database),"driver"in e&&n(6,u=e.driver),"config"in e&&n(9,d=e.config),"setConfig"in e&&n(10,p=e.setConfig),"tableNode"in e&&n(11,m=e.tableNode)},e.$$.update=()=>{2048&e.$$.dirty&&n(7,o=(null==m?void 0:m.supportsParentFilter)?(null==m?void 0:m.isParentFilter)?"icon parent-filter":"icon parent-filter-outline":null)},[r,i,a,s,c,l,u,o,function(){p((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==m?void 0:m.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!e.isParentFilter}):e))})),!0)},d,p,m]}class PerspectiveFiltersColumn extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{filterInfo:0,filter:1,onSetFilter:2,onRemoveFilter:3,conid:4,database:5,driver:6,config:9,setConfig:10,tableNode:11})}}function get_each_context$g(e,t,n){const o=e.slice();return o[11]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();o[14]=t[n];const r=o[3]?.findNodeByDesignerId(o[11].designerId);o[15]=r;const i=o[15]?.childNodes?.find((function(...t){return e[10](o[14],...t)}))?.filterInfo;return o[16]=i,o}function create_else_block$i(e){let t,n,o=e[1].nodes,r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$g(get_each_context$g(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=e[1].nodes,a=0;a<o.length;a+=1){const i=get_each_context$g(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$g(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_if_block$K(e){let t,n,o,r,i,a,s;return i=new FontIcon({props:{icon:"img info"}}),{c(){t=element("div"),n=element("div"),n.textContent="No Filters defined",o=space(),r=element("div"),create_component(i.$$.fragment),a=text$1(' Use context menu, command "Add to filter" in table or in tree'),attr(n,"class","mb-3 bold"),attr(t,"class","msg svelte-xvsamk")},m(e,c){insert(e,t,c),append(t,n),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),s=!0},p:noop$3,i(e){s||(transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(i)}}}function create_if_block_1$p(e){let t,n;function o(...t){return e[8](e[15],e[14],...t)}function r(...t){return e[9](e[15],e[14],...t)}return t=new PerspectiveFiltersColumn({props:{filterInfo:e[16],conid:e[4],database:e[5],driver:e[6],tableNode:e[15],config:e[1],setConfig:e[2],filter:e[11].filters[e[14]],onSetFilter:o,onRemoveFilter:r}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const a={};10&i&&(a.filterInfo=e[16]),16&i&&(a.conid=e[4]),32&i&&(a.database=e[5]),64&i&&(a.driver=e[6]),10&i&&(a.tableNode=e[15]),2&i&&(a.config=e[1]),4&i&&(a.setConfig=e[2]),2&i&&(a.filter=e[11].filters[e[14]]),14&i&&(a.onSetFilter=o),14&i&&(a.onRemoveFilter=r),t.$set(a)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$1(e){let t,n,o=e[16]&&create_if_block_1$p(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[16]?o?(o.p(e,n),10&n&&transition_in(o,1)):(o=create_if_block_1$p(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_each_block$g(e){let t,n,o=_.keys(e[11].filters),r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block_1$1(get_each_context_1$1(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=_.keys(e[11].filters),a=0;a<o.length;a+=1){const i=get_each_context_1$1(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block_1$1(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_default_slot$A(e){let t,n,o,r;const i=[create_if_block$K,create_else_block$i],a=[];function s(e,t){return 0==e[7]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$1p(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[0],isFlex:0==e[7],$$slots:{default:[create_default_slot$A]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.width=e[0]),128&n&&(o.isFlex=0==e[7]),524542&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1n(e,t,n){let o,{managerSize:r}=t,{config:i}=t,{setConfig:a}=t,{root:s}=t,{conid:c}=t,{database:l}=t,{driver:u}=t;return e.$$set=e=>{"managerSize"in e&&n(0,r=e.managerSize),"config"in e&&n(1,i=e.config),"setConfig"in e&&n(2,a=e.setConfig),"root"in e&&n(3,s=e.root),"conid"in e&&n(4,c=e.conid),"database"in e&&n(5,l=e.database),"driver"in e&&n(6,u=e.driver)},e.$$.update=()=>{2&e.$$.dirty&&n(7,o=_.sum(i.nodes.map((e=>_.keys(e.filters).length))))},[r,i,a,s,c,l,u,o,(e,t,n)=>a((o=>({...o,nodes:o.nodes.map((o=>o.designerId==e.designerId?{...o,filters:{...o.filters,[t]:n}}:o))}))),(e,t,n)=>a((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e.designerId?{...n,filters:_.omit(n.filters,[t])}:n))}))),(e,t)=>t.columnName==e]}class PerspectiveFilters extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1p,safe_not_equal,{managerSize:0,config:1,setConfig:2,root:3,conid:4,database:5,driver:6})}}function useMultipleDatabaseInfo(e){return derived(e.map((e=>useDatabaseInfo(e))),(t=>{let n={};for(let o=0;o<e.length;o++){const{conid:r,database:i}=e[o],a=t[o];n=Object.assign(Object.assign({},n),{[r]:Object.assign(Object.assign({},n[r]),{[i]:a})})}return n}))}function create_fragment$1o(e){let t,n;const o=[e[10],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowScrollColumns:!0,canSelectColumns:!0,canCheckTables:!0,allowTableAlias:!0,arrangeAlg:"tree",referenceMenu:func$9,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$3,isColumnChecked:e[13],setColumnChecked:e[14],isTableChecked:e[15],setTableChecked:e[16],getSortOrderProps:e[17],getColumnIconOverride:e[18],isColumnFiltered:e[19],getMainTableIcon:e[20],sortAutoLayoutReferences:e[21],referencePaintSettings:{buswi:10,extwi:10},canAddDesignerForeignKey:e[22],addDesignerForeignKey:e[23],tableSpecificDb:e[24],hasFilterParentRowsFlag:e[25],isGrayedTable:e[26],onClickTableHeader:e[7],isColumnExpandable:func_18,isColumnExpanded:func_19,columnExpandLevel:func_20,toggleExpandedColumn:func_21,getColumnDisplayName:func_22,getParentColumnName:lib$1.getPerspectiveParentColumnName,getMutliColumnFilter:e[27],setMutliColumnFilter:e[28]}},{referenceComponent:QueryDesignerReference},{value:e[8](e[0],e[1],e[2])},{onChange:e[9]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2047&n[0]?get_spread_update(o,[1024&n[0]&&get_spread_object(e[10]),253&n[0]&&{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowScrollColumns:!0,canSelectColumns:!0,canCheckTables:!0,allowTableAlias:!0,arrangeAlg:"tree",referenceMenu:func$9,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$3,isColumnChecked:e[13],setColumnChecked:e[14],isTableChecked:e[15],setTableChecked:e[16],getSortOrderProps:e[17],getColumnIconOverride:e[18],isColumnFiltered:e[19],getMainTableIcon:e[20],sortAutoLayoutReferences:e[21],referencePaintSettings:{buswi:10,extwi:10},canAddDesignerForeignKey:e[22],addDesignerForeignKey:e[23],tableSpecificDb:e[24],hasFilterParentRowsFlag:e[25],isGrayedTable:e[26],onClickTableHeader:e[7],isColumnExpandable:func_18,isColumnExpanded:func_19,columnExpandLevel:func_20,toggleExpandedColumn:func_21,getColumnDisplayName:func_22,getParentColumnName:lib$1.getPerspectiveParentColumnName,getMutliColumnFilter:e[27],setMutliColumnFilter:e[28]}},0,263&n[0]&&{value:e[8](e[0],e[1],e[2])},512&n[0]&&{onChange:e[9]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$9=({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>[{text:"Remove",onClick:()=>o(t)}],func_3$3=e=>e.isAutoGenerated?"FK":"Custom",func_18=e=>!!e.getChildColumns,func_19=e=>e.isExpanded,func_20=e=>e.expandLevel,func_21=(e,t)=>e.toggleExpanded(t),func_22=e=>e.shortName||e.columnName;function instance$1m(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(29,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{config:i}=t,{dbInfos:a}=t,{dataPatterns:s}=t,{root:c}=t,{conid:l}=t,{database:u}=t,{setConfig:d}=t,{onClickTableHeader:p=null}=t;function m(e,t,n){var o;return{columnName:n+e.name,shortName:e.name,getChildColumns:(null===(o=e.columns)||void 0===o?void 0:o.length)>0?()=>e.columns.map((o=>m(o,t,n+e.name+"::"))):null,isExpanded:t.expandedColumns.includes(n+e.name),toggleExpanded:t=>d((o=>Object.assign(Object.assign({},o),{nodes:o.nodes.map((o=>Object.assign(Object.assign({},o),{expandedColumns:t?[...o.expandedColumns||[],n+e.name]:(o.expandedColumns||[]).filter((t=>t!=n+e.name))})))})))}}function f(e,t,n){return Object.assign(Object.assign({},e),{tables:_.compact(e.nodes.map((e=>{var o,r,i,a,s,c;const d=null===(o=null==t?void 0:t[e.conid||l])||void 0===o?void 0:o[e.database||u],p=null===(r=null==d?void 0:d.tables)||void 0===r?void 0:r.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName)),f=null===(i=null==d?void 0:d.views)||void 0===i?void 0:i.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));let h=null===(a=null==d?void 0:d.collections)||void 0===a?void 0:a.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));if(h){const t=null==n?void 0:n[e.designerId];if(!t)return null;h=Object.assign(Object.assign({},h),{columns:(null==t?void 0:t.columns.map((t=>m(t,e,""))))||[]})}if(!p&&!f&&!h)return null;const{designerId:g}=e;return Object.assign(Object.assign({},p||f||h),{left:(null===(s=null==e?void 0:e.position)||void 0===s?void 0:s.x)||0,top:(null===(c=null==e?void 0:e.position)||void 0===c?void 0:c.y)||0,alias:e.alias,designerId:g})})))})}return e.$$set=e=>{n(10,t=assign(assign({},t),exclude_internal_props(e))),"config"in e&&n(0,i=e.config),"dbInfos"in e&&n(1,a=e.dbInfos),"dataPatterns"in e&&n(2,s=e.dataPatterns),"root"in e&&n(3,c=e.root),"conid"in e&&n(4,l=e.conid),"database"in e&&n(5,u=e.database),"setConfig"in e&&n(6,d=e.setConfig),"onClickTableHeader"in e&&n(7,p=e.onClickTableHeader)},e.$$.update=()=>{15&e.$$.dirty[0]&&function(e,t,n,o){r(this,void 0,void 0,(function*(){o&&e.nodes.find((e=>!e.position))&&lib$1.perspectiveNodesHaveStructure(e,t,n,l,u)&&e.nodes.every((e=>null==o?void 0:o.findNodeByDesignerId(e.designerId)))&&(yield tick(),runCommand("designer.arrange"))}))}(i,a,s,c)},t=exclude_internal_props(t),[i,a,s,c,l,u,d,p,f,function(e,t,n){d((t=>{var r,i,c;const d=_.isFunction(e)?e(f(t,a,s)):e;let p=t.isArranged;(null==n?void 0:n.isCalledFromArrange)&&(p=!0);const m=Object.assign(Object.assign({},t),{references:d.references,nodes:_.compact(t.nodes.map((e=>{var t,o,r;const i=null===(t=d.tables)||void 0===t?void 0:t.find((t=>t.designerId==e.designerId)),a=Object.assign({},e);return(null==n?void 0:n.isCalledFromArrange)&&(a.position={x:(null==i?void 0:i.left)||0,y:(null==i?void 0:i.top)||0}),!i&&(null==n?void 0:n.removeTables)?null:(!i||i.left==(null===(o=e.position)||void 0===o?void 0:o.x)&&i.top==(null===(r=e.position)||void 0===r?void 0:r.y)||((null==n?void 0:n.isCalledFromArrange)||(p=!1),a.position={x:i.left,y:i.top}),a)})))});for(const e of d.tables){if(m.nodes.find((t=>t.designerId==e.designerId)))continue;const t=lib$1.createPerspectiveNodeConfig(e);t.designerId=e.designerId,t.position={x:e.left,y:e.top},(null==o?void 0:o.name)!=u&&(t.database=null==o?void 0:o.name),(null===(r=null==o?void 0:o.connection)||void 0===r?void 0:r._id)!=l&&(t.conid=null===(i=null==o?void 0:o.connection)||void 0===i?void 0:i._id),p=!1,m.nodes.push(t)}return m.isArranged=p,m.nodes.find((e=>e.designerId==m.rootDesignerId))||(m.rootDesignerId=null===(c=m.nodes[0])||void 0===c?void 0:c.designerId),m}))},t,({designer:e,designerId:t,column:n,foreignKey:o})=>{const r=c?.findNodeByDesignerId(t),a=r?.childNodes?.find((e=>e.columnName==n.columnName));return getPerspectiveNodeMenu({config:i,setConfig:d,conid:l,database:u,root:c,node:a,designerId:t})},({designer:e,designerId:t,onRemoveTable:n})=>{const o=c?.findNodeByDesignerId(t);return[{text:"Remove",onClick:()=>n({designerId:t})},getPerspectiveNodeMenu({config:i,setConfig:d,conid:l,database:u,root:c,node:o,designerId:t})]},(e,t)=>i.nodes.find((t=>t.designerId==e))?.checkedColumns?.includes(t.columnName),(e,t,n)=>{d((o=>({...o,nodes:o.nodes.map((o=>o.designerId==e?{...o,checkedColumns:n?[...o.checkedColumns||[],t.columnName]:(o.checkedColumns||[]).filter((e=>e!=t.columnName))}:o))})))},e=>i.nodes?.find((t=>t.designerId==e))?.isNodeChecked,(e,t)=>{d((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e?{...n,isNodeChecked:t}:n))})))},(e,t)=>{const n=i.nodes.find((t=>t.designerId==e))?.sort,o=n?.find((e=>e.columnName==t))?.order;if(!o)return null;return{order:o,orderIndex:n.length>1?_.findIndex(n,(e=>e.columnName==t)):-1}},(e,t)=>{const n=s?.[e],o=n?.columns.find((e=>e.name==t));return o?.types?.includes("json")?"img json":null},(e,t)=>!!i.nodes.find((t=>t.designerId==e))?.filters?.[t],e=>{const t=c?.findNodeByDesignerId(e);if(!t)return null;const n=t?.level+1;return 1==n?`icon num-${n}`:n<=9?`icon num-${n}-outline`:"icon num-9-plus"},e=>_.sortBy(e,(e=>{const t=c?.findNodeByDesignerId(e.sourceId),n=c?.findNodeByDesignerId(e.targetId);if(!t||!n)return 1e4;t.level>n.level&&(e=lib$1.switchPerspectiveReferenceDirection(e));return _.findIndex(t.childNodes,(t=>t.columnName==e.columns[0].source))})),(e,t)=>{const n=c?.findNodeByDesignerId(e),o=n?.childNodes?.find((e=>e.columnName==t));return o?.isExpandable&&!o?.designerId&&!o?.isCircular},(e,t)=>{const n=c?.findNodeByDesignerId(e),o=n?.childNodes?.find((e=>e.columnName==t));o?.toggleCheckedNode(!0)},e=>{const t=i.nodes.find((t=>t.designerId==e));if(t?.conid||t?.database)return{conid:t.conid,database:t.database}},e=>!!i.nodes.find((t=>t.designerId==e))?.isParentFilter,e=>{const t=c?.findNodeByDesignerId(e);return!t||!!t?.hasUncheckedNodeInPath},e=>i.nodes.find((t=>t.designerId==e)).multiColumnFilter,(e,t)=>{d((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e?{...n,multiColumnFilter:t}:n))})))}]}class PerspectiveDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1o,safe_not_equal,{config:0,dbInfos:1,dataPatterns:2,root:3,conid:4,database:5,setConfig:6,onClickTableHeader:7},null,[-1,-1])}}function getPerspectiveDataPatternsFromCache(e,t,n,o){const r={};for(const o of t.nodes){const t=o.conid||e.conid,i=o.database||e.database,{schemaName:a,pureName:s}=o,c=n.dataPatterns.find((e=>e.conid==t&&e.database==i&&e.schemaName==a&&e.pureName==s));c&&(r[o.designerId]=c)}return r}function getPerspectiveDataPatterns(e,t,n,o,r){var i,a,s,c;return __awaiter$m(this,void 0,void 0,(function*(){const l={};for(const u of t.nodes){const t=u.conid||e.conid,d=u.database||e.database,{schemaName:p,pureName:m}=u,f=n.dataPatterns.find((e=>e.conid==t&&e.database==d&&e.schemaName==p&&e.pureName==m));if(f){l[u.designerId]=f;continue}const h=null===(i=null==o?void 0:o[t])||void 0===i?void 0:i[d];if(!h)continue;const g=null===(a=h.tables)||void 0===a?void 0:a.find((e=>e.pureName==m&&e.schemaName==p)),_=null===(s=h.views)||void 0===s?void 0:s.find((e=>e.pureName==m&&e.schemaName==p)),$=null===(c=h.collections)||void 0===c?void 0:c.find((e=>e.pureName==m&&e.schemaName==p));if(!g&&!_&&!$)continue;const b={databaseConfig:{conid:t,database:d},engineType:$?"docdb":"sqldb",schemaName:p,pureName:m,orderBy:(null==g?void 0:g.primaryKey)?null==g?void 0:g.primaryKey.columns.map((e=>({columnName:e.columnName,order:"ASC"}))):g||_?[{columnName:(g||_).columns[0].columnName,order:"ASC"}]:null,range:{offset:0,limit:10}},v=yield r.loadData(b);if(v.errorMessage){console.error("Error loading pattern for",m,":",v.errorMessage);continue}const y=lib$1.analyseDataPattern({conid:t,database:d,pureName:m,schemaName:p},v);n.dataPatterns.push(y),l[u.designerId]=y}return l}))}function usePerspectiveDataPatterns(e,t,n,o,r){const i=getPerspectiveDataPatternsFromCache(e,t,n),a=getPerspectiveDataPatterns(e,t,n,o,r),s=writable(i);return a.then((e=>s.set(e))),s}function create_if_block_1$o(e){let t,n,o,r,i,a,s,c,l=e[12].title+"";return o=new FontIcon({props:{icon:"img table"}}),s=new InlineButton({props:{$$slots:{default:[create_default_slot_5$5]},$$scope:{ctx:e}}}),s.$on("click",e[30]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","temp-root svelte-cmv30q")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4096&t[0])&&l!==(l=e[12].title+"")&&set_data(i,l);const n={};16&t[1]&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_5$5(e){let t;return{c(){t=text$1("Go up")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_4$5(e){let t,n,o,r,i,a;function s(t){e[31](t)}let c={placeholder:"Search column or table"};function l(t){e[32](t)}void 0!==e[11]&&(c.value=e[11]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind$2(t,"value",s)));let u={};return void 0!==e[11]&&(u.filter=e[11]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind$2(r,"filter",l))),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};!n&&2048&o[0]&&(n=!0,a.value=e[11],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2048&o[0]&&(i=!0,s.filter=e[11],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_if_block$J(e){let t,n;return t=new PerspectiveTree({props:{root:e[8],tempRoot:e[12],config:e[3],setConfig:e[4],conid:e[0],database:e[1],filter:e[11]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.root=e[8]),4096&n[0]&&(o.tempRoot=e[12]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),2048&n[0]&&(o.filter=e[11]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$b(e){let t,n,o=e[8]&&create_if_block$J(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[8]?o?(o.p(e,n),256&n[0]&&transition_in(o,1)):(o=create_if_block$J(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot_2$n(e){let t,n,o,r,i,a=e[12]&&e[12]!=e[8]&&create_if_block_1$o(e);return n=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_4$5]},$$scope:{ctx:e}}}),r=new ManagerInnerContainer({props:{width:e[7],$$slots:{default:[create_default_slot_3$b]},$$scope:{ctx:e}}}),{c(){a&&a.c(),t=space(),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,s){a&&a.m(e,s),insert(e,t,s),mount_component(n,e,s),insert(e,o,s),mount_component(r,e,s),i=!0},p(e,o){e[12]&&e[12]!=e[8]?a?(a.p(e,o),4352&o[0]&&transition_in(a,1)):(a=create_if_block_1$o(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros());const i={};2048&o[0]|16&o[1]&&(i.$$scope={dirty:o,ctx:e}),n.$set(i);const s={};128&o[0]&&(s.width=e[7]),6427&o[0]|16&o[1]&&(s.$$scope={dirty:o,ctx:e}),r.$set(s)},i(e){i||(transition_in(a),transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(a),transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){a&&a.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),destroy_component(r,e)}}}function create_default_slot_1$q(e){let t,n;return t=new PerspectiveFilters({props:{managerSize:e[7],config:e[3],setConfig:e[4],conid:e[0],database:e[1],driver:e[2],root:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[0]&&(o.managerSize=e[7]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),4&n[0]&&(o.driver=e[2]),256&n[0]&&(o.root=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$z(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Choose data",name:"perspectiveTree",height:"70%",$$slots:{default:[create_default_slot_2$n]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Filters",name:"tableFilters",$$slots:{default:[create_default_slot_1$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};6619&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};415&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create__1_slot_1$1(e){let t,n,o;return n=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$z]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-cmv30q"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};6623&t[0]|16&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__1_slot$7(e){let t,n;return t=new PerspectiveDesigner({props:{config:e[3],conid:e[0],database:e[1],setConfig:e[4],dbInfos:e[10],dataPatterns:e[9],root:e[8],onClickTableHeader:e[29]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.config=e[3]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.setConfig=e[4]),1024&n[0]&&(o.dbInfos=e[10]),512&n[0]&&(o.dataPatterns=e[9]),256&n[0]&&(o.root=e[8]),64&n[0]&&(o.onClickTableHeader=e[29]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_1$1(e){let t,n;return t=new PerspectiveTable({props:{root:e[8],loadedCounts:e[5],config:e[3],setConfig:e[4],conid:e[0],database:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.root=e[8]),32&n[0]&&(o.loadedCounts=e[5]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$7(e){let t,n;return t=new VerticalSplitter({props:{allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot_1$1],1:[create__1_slot$7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1915&n[0]|16&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1n(e){let t,n,o;function r(t){e[33](t)}let i={initialValue:e[15](),allowCollapseChild1:!0,$$slots:{2:[create__2_slot$7],1:[create__1_slot_1$1]},$$scope:{ctx:e}};return void 0!==e[7]&&(i.size=e[7]),t=new HorizontalSplitter({props:i}),binding_callbacks.push((()=>bind$2(t,"size",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};8191&o[0]|16&o[1]&&(r.$$scope={dirty:o,ctx:e}),!n&&128&o[0]&&(n=!0,r.size=e[7],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$5=()=>getActiveComponent("PerspectiveView");function instance$1l(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g=noop$3,$=noop$3;var b,v;e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),debug("dbgate:PerspectiveView");let y,x,{conid:w}=t,{database:C}=t,{driver:k}=t,{config:S}=t,{setConfig:T}=t,A=null,{loadedCounts:E}=t,{cache:O}=t;const I=createActivator("PerspectiveView",!0);let N=lib$1.extractPerspectiveDatabases({conid:w,database:C},S);return e.$$set=e=>{"conid"in e&&n(0,w=e.conid),"database"in e&&n(1,C=e.database),"driver"in e&&n(2,k=e.driver),"config"in e&&n(3,S=e.config),"setConfig"in e&&n(4,T=e.setConfig),"loadedCounts"in e&&n(5,E=e.loadedCounts),"cache"in e&&n(16,O=e.cache)},e.$$.update=()=>{if(128&e.$$.dirty[0]&&y&&setLocalStorage("perspectiveManagerWidth",y),2097163&e.$$.dirty[0]){const e=lib$1.extractPerspectiveDatabases({conid:w,database:C},S);jsonStableStringify(e)!=jsonStableStringify(N)&&n(21,N=e)}2097152&e.$$.dirty[0]&&(n(14,o=useMultipleDatabaseInfo(N)),$(),$=subscribe(o,(e=>n(10,h=e)))),67175435&e.$$.dirty[0]&&(n(13,i=usePerspectiveDataPatterns({conid:w,database:C},S,O,h,r)),g(),g=subscribe(i,(e=>n(9,f=e)))),524296&e.$$.dirty[0]&&n(27,a=null===n(19,b=null==S?void 0:S.nodes)||void 0===b?void 0:b.find((e=>e.designerId==(null==S?void 0:S.rootDesignerId)))),135267331&e.$$.dirty[0]&&n(28,s=a?null===n(20,v=null==h?void 0:h[a.conid||w])||void 0===v?void 0:v[a.database||C]:null),402653184&e.$$.dirty[0]&&n(25,c=null==s?void 0:s.tables.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),402653184&e.$$.dirty[0]&&n(24,l=null==s?void 0:s.views.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),402653184&e.$$.dirty[0]&&n(23,u=null==s?void 0:s.collections.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),67174912&e.$$.dirty[0]&&n(22,d=new lib$1.PerspectiveDataProvider(O,r,f)),62915611&e.$$.dirty[0]&&n(8,p=c||l||u?new lib$1.PerspectiveTableNode(c||l||u,h,S,T,d,{conid:w,database:C},null,S.rootDesignerId):null),320&e.$$.dirty[0]&&n(12,m=null==p?void 0:p.findNodeByDesignerId(A)),1563&e.$$.dirty[0]&&lib$1.shouldProcessPerspectiveDefaultColunns(S,h,f,w,C)&&T((e=>lib$1.processPerspectiveDefaultColunns(e,h,f,w,C)))},n(26,r=new lib$1.PerspectiveDataLoader(apiCall)),[w,C,k,S,T,E,A,y,p,f,h,x,m,i,o,function(){const e=getLocalStorage("perspectiveManagerWidth");return _.isNumber(e)&&e>30&&e<500?`${e}px`:"300px"},O,I,function(){p&&showModal(CustomJoinModal,{config:S,setConfig:T,conid:w,database:C,root:p})},b,v,N,d,u,l,c,r,a,s,e=>{sleep(100).then((()=>{n(6,A=e)}))},()=>{n(6,A=m?.parentNode?.designerId)},function(e){x=e,n(11,x)},function(e){x=e,n(11,x)},function(e){y=e,n(7,y)}]}registerCommand({id:"perspective.customJoin",category:"Perspective",name:"Custom join",keyText:"CtrlOrCommand+J",isRelatedToTab:!0,icon:"icon custom-join",testEnabled:()=>null!=getCurrentEditor$5(),onClick:()=>getCurrentEditor$5().defineCustomJoin()});class PerspectiveView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1l,create_fragment$1n,safe_not_equal,{conid:0,database:1,driver:2,config:3,setConfig:4,loadedCounts:5,cache:16,activator:17,defineCustomJoin:18},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get defineCustomJoin(){return this.$$.ctx[18]}}function create_else_block$h(e){let t,n;return t=new PerspectiveView({props:{conid:e[0],database:e[1],driver:e[5],config:e[2].value,setConfig:e[24],cache:e[4],loadedCounts:e[10]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),32&n&&(o.driver=e[5]),4&n&&(o.config=e[2].value),16&n&&(o.setConfig=e[24]),16&n&&(o.cache=e[4]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$I(e){let t,n;return t=new ErrorInfo({props:{message:"Invalid perspective format, please create new perspective",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$y(e){let t,n,o,r;const i=[create_if_block$I,create_else_block$h],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$4(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new ToolStripCommandButton({props:{command:"designer.arrange",buttonLabel:e[2].value?.isArranged?"(Arranged)":"Arrange"}}),o=new ToolStripCommandButton({props:{command:"perspective.refresh"}}),i=new ToolStripCommandButton({props:{command:"perspective.customJoin"}}),s=new ToolStripSaveButton({props:{idPrefix:"perspective"}}),l=new ToolStripCommandButton({props:{command:"perspective.undo"}}),d=new ToolStripCommandButton({props:{command:"perspective.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,n){const o={};4&n&&(o.buttonLabel=e[2].value?.isArranged?"(Arranged)":"Arrange"),t.$set(o)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function create_fragment$1m(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],default:[create_default_slot$y]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};268435519&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$4=()=>getActiveComponent("PerspectiveTab");registerCommand({id:"perspective.refresh",category:"Perspective",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",testEnabled:()=>null!=getCurrentEditor$4(),onClick:()=>getCurrentEditor$4().refresh()}),registerFileCommands({idPrefix:"perspective",category:"Perspective",getCurrentEditor:getCurrentEditor$4,folder:"perspectives",format:"json",fileExtension:"perspective",undoRedo:!0});const allowAddToFavorites=e=>!0;function instance$1k(e,t,n){let o,r,i,a,s,c,l=noop$3;component_subscribe(e,extensions,(e=>n(22,s=e))),e.$$.on_destroy.push((()=>l()));let u,{tabid:d}=t,{conid:p}=t,{database:m}=t,{schemaName:f}=t,{pureName:h}=t;const g=createActivator("PerspectiveTab",!0);const{editorState:$,editorValue:b,setEditorData:v}=useEditorData({tabid:d,onInitialData:e=>{e.nodes?x({type:"reset",value:e}):n(3,u=!0),invalidateCommands()}});component_subscribe(e,$,(e=>n(25,a=e)));const[y,x]=createUndoReducer(lib$1.createPerspectiveConfig(h?{schemaName:f,pureName:h}:null));component_subscribe(e,y,(e=>n(2,i=e)));let w=new lib$1.PerspectiveCache;const C=writable({});return e.$$set=e=>{"tabid"in e&&n(11,d=e.tabid),"conid"in e&&n(0,p=e.conid),"database"in e&&n(1,m=e.database),"schemaName"in e&&n(12,f=e.schemaName),"pureName"in e&&n(13,h=e.pureName)},e.$$.update=()=>{1&e.$$.dirty&&(n(6,o=useConnectionInfo({conid:p})),l(),l=subscribe(o,(e=>n(23,c=e)))),12582912&e.$$.dirty&&n(5,r=lib$5.findEngineDriver(c,s)),4&e.$$.dirty&&v(i.value)},[p,m,i,u,w,r,o,$,y,x,C,d,f,h,g,function(){return d},function(){return a.value||""},function(){return i.canUndo},function(){x({type:"undo"}),invalidateCommands()},function(){return i.canRedo},function(){x({type:"redo"}),invalidateCommands()},function(){n(4,w=new lib$1.PerspectiveCache),C.set({})},s,c,(e,t)=>{t&&w.clear(),x({type:"compute",compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()}]}class PerspectiveTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1m,safe_not_equal,{tabid:11,conid:0,database:1,schemaName:12,pureName:13,activator:14,getTabId:15,getData:16,canUndo:17,undo:18,canRedo:19,redo:20,refresh:21})}get activator(){return this.$$.ctx[14]}get getTabId(){return this.$$.ctx[15]}get getData(){return this.$$.ctx[16]}get canUndo(){return this.$$.ctx[17]}get undo(){return this.$$.ctx[18]}get canRedo(){return this.$$.ctx[19]}get redo(){return this.$$.ctx[20]}get refresh(){return this.$$.ctx[21]}}var PerspectiveTab$1=Object.freeze({__proto__:null,default:PerspectiveTab,allowAddToFavorites:allowAddToFavorites});function get_each_context$f(e,t,n){const o=e.slice();return o[9]=t[n],o[11]=n,o}function create_catch_block$1(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$1(e){let t,n,o;return n=new ObjectListControl({props:{collection:e[6].databases,hideDisplayName:!0,title:`Databases (${e[6].databases.length})`,emptyMessage:"No databases",columns:e[6].columns.map(func_1$6),$$slots:{2:[create__2_slot$6,({row:e,col:t})=>({7:e,8:t}),({row:e,col:t})=>(e?128:0)|(t?256:0)],1:[create__1_slot$6,({row:e,col:t})=>({7:e,8:t}),({row:e,col:t})=>(e?128:0)|(t?256:0)]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-yw1ll")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};3&t&&(o.collection=e[6].databases),3&t&&(o.title=`Databases (${e[6].databases.length})`),3&t&&(o.columns=e[6].columns.map(func_1$6)),4480&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__1_slot$6(e){let t,n=formatFileSize(e[7]?.[e[8].fieldName])+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){384&o&&n!==(n=formatFileSize(e[7]?.[e[8].fieldName])+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_if_block$H(e){let t;return{c(){t=element("span"),t.textContent="|",attr(t,"class","action-separator svelte-yw1ll")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$p(e){let t,n=e[9].header+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){256&o&&n!==(n=e[9].header+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block$f(e){let t,n,o,r=e[11]>0&&create_if_block$H();function i(){return e[5](e[9],e[7])}return n=new Link$1({props:{onClick:i,$$slots:{default:[create_default_slot_1$p]},$$scope:{ctx:e}}}),{c(){r&&r.c(),t=space(),create_component(n.$$.fragment)},m(e,i){r&&r.m(e,i),insert(e,t,i),mount_component(n,e,i),o=!0},p(t,o){e=t;const r={};384&o&&(r.onClick=i),4352&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){r&&r.d(e),e&&detach(t),destroy_component(n,e)}}}function create__2_slot$6(e){let t,n,o=e[8].actions,r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$f(get_each_context$f(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(388&n){let a;for(o=e[8].actions,a=0;a<o.length;a+=1){const i=get_each_context$f(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$f(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_pending_block$1(e){let t,n;return t=new LoadingInfo({props:{message:"Loading server details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$x(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$1,then:create_then_block$1,catch:create_catch_block$1,value:6,blocks:[,,,]};return handle_promise(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,o){e=t,r.ctx=e,3&o&&n!==(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}function create_toolstrip_slot$3(e){let t,n;return t=new ToolStripCommandButton({props:{command:"serverSummary.refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1l(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],default:[create_default_slot$x]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4099&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$3=()=>getActiveComponent("ServerSummaryTab");registerCommand({id:"serverSummary.refresh",category:"Server sumnmary",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",onClick:()=>getCurrentEditor$3().refresh(),testEnabled:()=>null!=getCurrentEditor$3()});const func_1$6=e=>({...e,slot:"bytes"==e.columnType?1:"actions"==e.columnType?2:null});function instance$1j(e,t,n){let{conid:o}=t,r=0;const i=createActivator("ServerSummaryTab",!0);function a(){n(1,r+=1)}async function s(e,t){const{command:n,openQuery:i,openTab:s,addDbProps:c}=e;if(n&&(await apiCall("server-connections/summary-command",{conid:o,refreshToken:r,command:n,row:t}),a()),i&&openNewTab({title:e.tabTitle||t.name,icon:"img query-data",tabComponent:"QueryDataTab",props:{conid:o,database:t.name,sql:i}}),s){const e={};c&&(e.conid=o,e.database=t.name),openNewTab({...s,props:{...s.props,...e}})}}return e.$$set=e=>{"conid"in e&&n(0,o=e.conid)},[o,r,s,i,a,(e,t)=>s(e,t)]}class ServerSummaryTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1j,create_fragment$1l,safe_not_equal,{conid:0,activator:3,refresh:4})}get activator(){return this.$$.ctx[3]}get refresh(){return this.$$.ctx[4]}}var ServerSummaryTab$1=Object.freeze({__proto__:null,default:ServerSummaryTab});function create_else_block_1$3(e){let t,n;return t=new ErrorInfo({props:{message:"Profiler not yet started",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$G(e){let t,n;return t=new VerticalSplitter({props:{allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot$5],1:[create__1_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777231&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_key_block(e){let t,n;return t=new JslDataGrid({props:{jslid:e[3],listenInitializeFile:!0,formatterFunction:e[0]?.profilerFormatterFunction}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.jslid=e[3]),1&n&&(o.formatterFunction=e[0]?.profilerFormatterFunction),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$5(e){let t,n,o=e[3],r=create_key_block(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){8&n&&safe_not_equal(o,o=e[3])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_else_block$g(e){let t,n;return t=new ChartCore({props:{title:"Profile data",data:e[2],options:{maintainAspectRatio:!1,scales:{x:{type:"time",distribution:"linear",time:{tooltipFormat:"D. M. YYYY HH:mm",displayFormats:{millisecond:"HH:mm:ss.SSS",second:"HH:mm:ss",minute:"HH:mm",hour:"D.M hA",day:"D. M.",week:"D. M. YYYY",month:"MM-YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}}}}}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.data=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$n(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading chart"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$5(e){let t,n,o,r;const i=[create_if_block_1$n,create_else_block$g],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$w(e){let t,n,o,r;const i=[create_if_block$G,create_else_block_1$3],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$2(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"profiler.start"}}),o=new ToolStripCommandButton({props:{command:"profiler.stop"}}),i=new ToolStripCommandButton({props:{command:"profiler.save"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1k(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],default:[create_default_slot$w]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16777231&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$2=()=>getActiveComponent("ProfilerTab");function instance$1i(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,extensions,(e=>n(17,a=e))),e.$$.on_destroy.push((()=>c()));const l=createActivator("ProfilerTab",!0);let u,d,p,m,{conid:f}=t,{database:h}=t,{engine:g}=t,{jslidLoad:_}=t,$=!1,b=!1;async function v(){n(1,b=!0);const e=randomcolor({count:r.profilerChartMeasures.length,seed:5}),t=await apiCall("jsldata/extract-timeline-chart",{jslid:i,timestampFunction:r.profilerTimestampFunction,aggregateFunction:r.profilerChartAggregateFunction,measures:r.profilerChartMeasures});n(2,m={...t,labels:t.labels.map((e=>new Date(e))),datasets:t.datasets.map(((t,n)=>({...t,borderColor:e[n]})))}),n(1,b=!1)}async function y(e,t){await apiCall("archive/save-jsl-data",{folder:e,file:t,jslid:i}),currentArchive.set(e),selectedWidget.set("archive")}return onMount((()=>{p=setInterval((()=>{d&&apiCall("sessions/ping",{sesid:d})}),15e3)})),onDestroy((()=>{clearInterval(p)})),e.$$set=e=>{"conid"in e&&n(6,f=e.conid),"database"in e&&n(7,h=e.database),"engine"in e&&n(8,g=e.engine),"jslidLoad"in e&&n(9,_=e.jslidLoad)},e.$$.update=()=>{64&e.$$.dirty&&(n(4,o=useConnectionInfo({conid:f})),c(),c=subscribe(o,(e=>n(18,s=e)))),393472&e.$$.dirty&&n(0,r=lib$5.findEngineDriver(g||s,a)),66048&e.$$.dirty&&n(3,i=u||_),513&e.$$.dirty&&_&&r&&v()},[r,b,m,i,o,l,f,h,g,_,async function(){$=!0;let e=d;if(!e){e=(await apiCall("sessions/create",{conid:f,database:h})).sesid,d=e}const t=await apiCall("sessions/start-profiler",{sesid:e});n(16,u=t.jslid),invalidateCommands()},function(){return f&&h&&!$},async function(){$=!1,await apiCall("sessions/stop-profiler",{sesid:d}),await apiCall("sessions/kill",{sesid:d}),d=null,invalidateCommands(),v()},function(){return f&&h&&$},function(){return!!u},function(){showModal(SaveArchiveModal,{onSave:y})},u,a,s]}registerCommand({id:"profiler.start",category:"Profiler",name:"Start profiling",icon:"icon play",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.startProfilingEnabled()},onClick:()=>getCurrentEditor$2().startProfiling()}),registerCommand({id:"profiler.stop",category:"Profiler",name:"Stop profiling",icon:"icon play-stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.stopProfilingEnabled()},onClick:()=>getCurrentEditor$2().stopProfiling()}),registerCommand({id:"profiler.save",category:"Profiler",name:"Save",icon:"icon save",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.saveEnabled()},onClick:()=>getCurrentEditor$2().save()});class ProfilerTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1k,safe_not_equal,{activator:5,conid:6,database:7,engine:8,jslidLoad:9,startProfiling:10,startProfilingEnabled:11,stopProfiling:12,stopProfilingEnabled:13,saveEnabled:14,save:15})}get activator(){return this.$$.ctx[5]}get startProfiling(){return this.$$.ctx[10]}get startProfilingEnabled(){return this.$$.ctx[11]}get stopProfiling(){return this.$$.ctx[12]}get stopProfilingEnabled(){return this.$$.ctx[13]}get saveEnabled(){return this.$$.ctx[14]}get save(){return this.$$.ctx[15]}}var ProfilerTab$1=Object.freeze({__proto__:null,default:ProfilerTab});function create_fragment$1j(e){let t,n,o,r,i,a,s;const c=e[2].default,l=create_slot(c,e,e[1],null);return{c(){t=element("div"),n=element("div"),o=element("span"),r=text$1(e[0]),i=space(),a=element("div"),l&&l.c(),attr(o,"class","title mr-1 svelte-1um34k6"),attr(n,"class","header svelte-1um34k6"),attr(a,"class","body svelte-1um34k6"),attr(t,"class","wrapper svelte-1um34k6")},m(e,c){insert(e,t,c),append(t,n),append(n,o),append(o,r),append(t,i),append(t,a),l&&l.m(a,null),s=!0},p(e,[t]){(!s||1&t)&&set_data(r,e[0]),l&&l.p&&(!s||2&t)&&update_slot_base(l,c,e,e[1],s?get_slot_changes(c,e[1],t,null):get_all_dirty_from_scope(e[1]),null)},i(e){s||(transition_in(l,e),s=!0)},o(e){transition_out(l,e),s=!1},d(e){e&&detach(t),l&&l.d(e)}}}function instance$1h(e,t,n){let{$$slots:o={},$$scope:r}=t,{title:i}=t;return e.$$set=e=>{"title"in e&&n(0,i=e.title),"$$scope"in e&&n(1,r=e.$$scope)},[i,r,o]}class ObjectConfigurationControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1h,create_fragment$1j,safe_not_equal,{title:0})}}function create_default_slot_9$1(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[5].value?.archiveFolder,options:e[12]?.map(func$8)||[]}}),t.$on("change",e[29]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.value=e[5].value?.archiveFolder),4096&n[0]&&(o.options=e[12]?.map(func$8)||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$2(e){let t,n;return t=new CheckboxField({props:{checked:e[5].value?.rollbackAfterFinish}}),t.$on("change",e[30]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.checked=e[5].value?.rollbackAfterFinish),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$3(e){let t,n;return t=new CheckboxField({props:{checked:e[5].value?.skipRowsWithUnresolvedRefs}}),t.$on("change",e[32]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.checked=e[5].value?.skipRowsWithUnresolvedRefs),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$3(e){let t,n,o,r,i,a;return t=new FormFieldTemplateLarge({props:{label:"Source archive",type:"combo",$$slots:{default:[create_default_slot_9$1]},$$scope:{ctx:e}}}),o=new FormFieldTemplateLarge({props:{label:"Dry run - no changes (rollback when finished)",type:"checkbox",labelProps:{onClick:e[31]},$$slots:{default:[create_default_slot_8$2]},$$scope:{ctx:e}}}),i=new FormFieldTemplateLarge({props:{label:"Skip rows with unresolved mandatory references",type:"checkbox",labelProps:{onClick:e[33]},$$slots:{default:[create_default_slot_7$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p(e,n){const r={};4128&n[0]|131072&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};32&n[0]&&(a.labelProps={onClick:e[31]}),32&n[0]|131072&n[1]&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const s={};32&n[0]&&(s.labelProps={onClick:e[33]}),32&n[0]|131072&n[1]&&(s.$$scope={dirty:n,ctx:e}),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot_5$4(e){let t;return{c(){t=text$1("Check all")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_4$4(e){let t;return{c(){t=text$1("Uncheck all")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__1_slot_1(e){let t,n;return t=new CheckboxField({props:{checked:e[47].isChecked}}),t.$on("change",(function(...t){return e[39](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o[1]&&(r.checked=e[47].isChecked),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_1(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[47].operation,disabled:!e[47].isChecked,options:[{label:"Copy row",value:"copy"},{label:"Lookup (find matching row)",value:"lookup"},{label:"Insert if not exists",value:"insertMissing"}]}}),t.$on("change",(function(...t){return e[38](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o[1]&&(r.value=e[47].operation),65536&o[1]&&(r.disabled=!e[47].isChecked),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$F(e){let t,n;function o(...t){return e[36](e[47],...t)}return t=new SelectField({props:{isNative:!0,value:e[47].matchColumn1,disabled:!e[47].isChecked,options:e[4]?.tables?.find(o)?.columns?.map(func_6$1)||[]}}),t.$on("change",(function(...t){return e[37](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};65536&r[1]&&(i.value=e[47].matchColumn1),65536&r[1]&&(i.disabled=!e[47].isChecked),16&r[0]|65536&r[1]&&(i.options=e[4]?.tables?.find(o)?.columns?.map(func_6$1)||[]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$1(e){let t,n,o="copy"!=e[47].operation&&create_if_block$F(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){"copy"!=e[47].operation?o?(o.p(e,n),65536&n[1]&&transition_in(o,1)):(o=create_if_block$F(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot_3$a(e){let t,n,o,r,i=e[47].file+"";return t=new FontIcon({props:{icon:"img archive"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,t){(!r||65536&t[1])&&i!==(i=e[47].file+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__4_slot$1(e){let t,n;function o(){return e[35](e[47])}return t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};32&r[0]|65536&r[1]&&(i.onClick=o),196608&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$m(e){let t,n,o,r,i=e[47].table+"";return t=new FontIcon({props:{icon:"img table"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,t){(!r||65536&t[1])&&i!==(i=e[47].table+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__5_slot(e){let t,n;function o(){return e[34](e[47])}return t=new Link$1({props:{menu:appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]}),onClick:o,$$slots:{default:[create_default_slot_2$m]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};3&r[0]|65536&r[1]&&(i.menu=appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]})),3&r[0]|65536&r[1]&&(i.onClick=o),196608&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$o(e){let t,n,o,r,i,a,s;return n=new Link$1({props:{onClick:e[16](!0),$$slots:{default:[create_default_slot_5$4]},$$scope:{ctx:e}}}),r=new Link$1({props:{onClick:e[16](!1),$$slots:{default:[create_default_slot_4$4]},$$scope:{ctx:e}}}),a=new TableControl({props:{rows:e[3],columns:[{header:"",fieldName:"isChecked",slot:1},{header:"Source file",fieldName:"file",slot:4},{header:"Target table",fieldName:"table",slot:5},{header:"Operation",fieldName:"operation",slot:2},{header:"Match column",fieldName:"matchColumn1",slot:3}],$$slots:{5:[create__5_slot,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],4:[create__4_slot$1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],3:[create__3_slot$1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],2:[create__2_slot_1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],1:[create__1_slot_1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n |\n "),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),attr(t,"class","mb-2")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),mount_component(r,t,null),insert(e,i,c),mount_component(a,e,c),s=!0},p(e,t){const o={};131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};131072&t[1]&&(i.$$scope={dirty:t,ctx:e}),r.$set(i);const s={};8&t[0]&&(s.rows=e[3]),51&t[0]|196608&t[1]&&(s.$$scope={dirty:t,ctx:e}),a.$set(s)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),e&&detach(i),destroy_component(a,e)}}}function create__1_slot$4(e){let t,n,o,r,i;return n=new ObjectConfigurationControl({props:{title:"Configuration",$$slots:{default:[create_default_slot_6$3]},$$scope:{ctx:e}}}),r=new ObjectConfigurationControl({props:{title:"Imported files",$$slots:{default:[create_default_slot_1$o]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","wrapper svelte-1p2rqwm")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,t){const o={};4128&t[0]|131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};59&t[0]|131072&t[1]&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function create__2_slot$4(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`runner-info-${e[2]}`:null,executeNumber:e[6],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`runner-info-${e[2]}`:null),64&n[0]&&(o.executeNumber=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$v(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$4],1:[create__1_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4223&n[0]|131072&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$1(e){let t,n,o,r;return t=new ToolStripCommandButton({props:{command:"dataDuplicator.run"}}),o=new ToolStripCommandButton({props:{command:"dataDuplicator.kill"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$1i(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$v]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4223&n[0]|131072&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$1=()=>getActiveComponent("DataDuplicatorTab");registerCommand({id:"dataDuplicator.run",category:"Data duplicator",name:"Import into DB",keyText:"F5 | CtrlOrCommand+Enter",toolbar:!0,isRelatedToTab:!0,icon:"icon run",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.canRun()},onClick:()=>getCurrentEditor$1().run()}),registerCommand({id:"dataDuplicator.kill",category:"Data duplicator",icon:"icon close",name:"Kill",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.canKill()},onClick:()=>getCurrentEditor$1().kill()});const func$8=e=>({label:e.name,value:e.name}),func_6$1=e=>({label:e.columnName,value:e.columnName});function instance$1g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g=noop$3,$=noop$3,b=noop$3,v=noop$3,y=noop$3;e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v())),e.$$.on_destroy.push((()=>y()));var x,w,C=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:k}=t,{database:S}=t,{tabid:T}=t,A=!1,E=null,O=0;const I=createActivator("DataDuplicatorTab",!0),N=useTimerLabel(),{editorState:D,editorValue:M,setEditorData:R}=useEditorData({tabid:T,onInitialData:e=>{invalidateCommands()}});function L(e){R((t=>Object.assign(Object.assign({},t),{tables:Object.assign(Object.assign({},null==t?void 0:t.tables),{[e.name]:e})})))}component_subscribe(e,D,(e=>n(5,d=e)));const F=()=>{n(25,A=!1),N.stop()};return e.$$set=e=>{"conid"in e&&n(0,k=e.conid),"database"in e&&n(1,S=e.database),"tabid"in e&&n(17,T=e.tabid)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(11,o=useConnectionInfo({conid:k})),b(),b=subscribe(o,(e=>n(40,m=e)))),3&e.$$.dirty[0]&&(n(10,r=useDatabaseInfo({conid:k,database:S})),g(),g=subscribe(r,(e=>n(4,u=e)))),8388640&e.$$.dirty[0]&&(n(8,a=useArchiveFiles({folder:null===n(23,x=null==d?void 0:d.value)||void 0===x?void 0:x.archiveFolder})),v(),v=subscribe(a,(e=>n(28,f=e)))),285212688&e.$$.dirty[0]&&n(26,s=_.sortBy(_.intersectionBy(null===n(24,w=null==u?void 0:u.tables)||void 0===w?void 0:w.map((e=>e.pureName)),null==f?void 0:f.map((e=>e.name)),(e=>_.toUpper(e))))),33685504&e.$$.dirty[0]&&changeTab(T,(e=>Object.assign(Object.assign({},e),{busy:A}))),67108912&e.$$.dirty[0]&&n(3,l=s.map((e=>{var t,n,o,r,i,a,s,c,l,p,m,f;const h=null===(n=null===(t=null==d?void 0:d.value)||void 0===t?void 0:t.tables)||void 0===n?void 0:n[e],g=null===(o=null==h?void 0:h.isChecked)||void 0===o||o,_=null!==(r=null==h?void 0:h.operation)&&void 0!==r?r:"copy",$=null===(i=null==u?void 0:u.tables)||void 0===i?void 0:i.find((t=>{var n;return(null===(n=t.pureName)||void 0===n?void 0:n.toUpperCase())==e.toUpperCase()})),b=null!==(p=null!==(a=null==h?void 0:h.matchColumn1)&&void 0!==a?a:null===(l=null===(c=null===(s=null==$?void 0:$.primaryKey)||void 0===s?void 0:s.columns)||void 0===c?void 0:c[0])||void 0===l?void 0:l.columnName)&&void 0!==p?p:null===(f=null===(m=null==$?void 0:$.columns)||void 0===m?void 0:m[0])||void 0===f?void 0:f.columnName;return{name:e,isChecked:g,operation:_,matchColumn1:b,file:e,table:(null==$?void 0:$.schemaName)?`${null==$?void 0:$.schemaName}.${null==$?void 0:$.pureName}`:null==$?void 0:$.pureName,schemaName:null==$?void 0:$.schemaName,pureName:null==$?void 0:$.pureName,tableInfo:$}}))),33554444&e.$$.dirty[0]&&invalidateCommands(),4&e.$$.dirty[0]&&(n(7,c=useEffect((()=>{return(e=E)?(apiOn(`runner-done-${e}`,F),()=>{apiOff(`runner-done-${e}`,F)}):()=>{};var e}))),$(),$=subscribe(c,(e=>n(27,p=e)))),e.$$.dirty[0]},n(9,i=useArchiveFolders()),y(),y=subscribe(i,(e=>n(12,h=e))),[k,S,E,l,u,d,O,c,a,i,r,o,h,D,R,L,e=>()=>{R((t=>{var n;const o=Object.assign({},null==t?void 0:t.tables);for(const r of s)o[r]=Object.assign(Object.assign({},null===(n=null==t?void 0:t.tables)||void 0===n?void 0:n[r]),{isChecked:e});return Object.assign(Object.assign({},t),{tables:o})}))},T,I,function(){return!!l.find((e=>e.isChecked))&&!A},function(){return C(this,void 0,void 0,(function*(){if(A)return;n(6,O+=1),n(25,A=!0);const e=yield function(e=!1){var t,n;const o=getCurrentConfig().allowShellScripting||e?new lib$5.ScriptWriter:new lib$5.ScriptWriterJson;return o.dataDuplicator({connection:extractShellConnection(m,S),archive:d.value.archiveFolder,items:l.filter((e=>e.isChecked)).map((e=>({name:e.name,operation:e.operation,matchColumns:_.compact([e.matchColumn1])}))),options:{rollbackAfterFinish:!!(null===(t=d.value)||void 0===t?void 0:t.rollbackAfterFinish),skipRowsWithUnresolvedRefs:!!(null===(n=d.value)||void 0===n?void 0:n.skipRowsWithUnresolvedRefs)}}),o.getScript()}();let t=E;t=(yield apiCall("runners/start",{script:e})).runid,n(2,E=t),N.start()}))},function(){return A},function(){apiCall("runners/cancel",{runid:E}),N.stop()},x,w,A,s,p,f,e=>{R((t=>({...t,archiveFolder:e.detail})))},e=>{R((t=>({...t,rollbackAfterFinish:e.target.checked})))},()=>{R((e=>({...e,rollbackAfterFinish:!d.value?.rollbackAfterFinish})))},e=>{R((t=>({...t,skipRowsWithUnresolvedRefs:e.target.checked})))},()=>{R((e=>({...e,skipRowsWithUnresolvedRefs:!d.value?.skipRowsWithUnresolvedRefs})))},e=>{openNewTab({title:e.pureName,icon:"img table",tabComponent:"TableDataTab",props:{schemaName:e.schemaName,pureName:e.pureName,conid:k,database:S,objectTypeField:"tables"}})},e=>{openNewTab({title:e.file,icon:"img archive",tooltip:`${d.value?.archiveFolder}\n${e.file}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e.file,archiveFolder:d.value?.archiveFolder}})},(e,t)=>t.pureName?.toUpperCase()==e.name.toUpperCase(),(e,t)=>{L({...e,matchColumn1:t.detail})},(e,t)=>{L({...e,operation:t.detail})},(e,t)=>{L({...e,isChecked:t.target.checked})}]}class DataDuplicatorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1i,safe_not_equal,{conid:0,database:1,tabid:17,activator:18,canRun:19,run:20,canKill:21,kill:22},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get canRun(){return this.$$.ctx[19]}get run(){return this.$$.ctx[20]}get canKill(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}}var DataDuplicatorTab$1=Object.freeze({__proto__:null,default:DataDuplicatorTab});function create_else_block$f(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$E(e){let t,n,o,r,i;return n=new TextField({props:{value:e[2]}}),n.$on("input",e[3]),r=new DropDownButton({props:{menu:e[4]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","wrapper svelte-1tssh5w")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,t){const o={};4&t&&(o.value=e[2]),n.$set(o);const i={};3&t&&(i.menu=e[4]),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function create_fragment$1h(e){let t,n,o,r;const i=[create_if_block$E,create_else_block$f],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$1f(e,t,n){let{tableInfo:o}=t,{onChange:r}=t,{value:i}=t;return e.$$set=e=>{"tableInfo"in e&&n(0,o=e.tableInfo),"onChange"in e&&n(1,r=e.onChange),"value"in e&&n(2,i=e.value)},[o,r,i,e=>r(e.target.value),()=>o.columns.map((e=>({text:e.columnName,onClick:()=>r(e.columnName)}))),e=>r(e.target.value)]}class ColumnMapColumnDropdown extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1h,safe_not_equal,{tableInfo:0,onChange:1,value:2})}}function create_if_block$D(e){let t;return{c(){t=element("div"),t.textContent="When no columns are defined in this mapping, source row is copied to target without any modifications",attr(t,"class","m-3")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__4_slot(e){let t,n;return t=new CheckboxField({props:{checked:!e[18].skip}}),t.$on("change",(function(...t){return e[15](e[17],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};262144&o&&(r.checked=!e[18].skip),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$3(e){let t,n;function o(...t){return e[14](e[17],...t)}return t=new ColumnMapColumnDropdown({props:{value:e[18].src,onChange:o,tableInfo:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};262144&r&&(i.value=e[18].src),131088&r&&(i.onChange=o),4&r&&(i.tableInfo=e[2]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$3(e){let t,n;function o(...t){return e[13](e[17],...t)}return t=new ColumnMapColumnDropdown({props:{value:e[18].dst,onChange:o,tableInfo:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};262144&r&&(i.value=e[18].dst),131088&r&&(i.onChange=o),8&r&&(i.tableInfo=e[3]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$l(e){let t;return{c(){t=text$1("Remove")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__3_slot(e){let t,n;function o(){return e[12](e[17])}return t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot_2$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};131088&r&&(i.onClick=o),524288&r&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$n(e){let t,n,o,r=0==e[6].length&&create_if_block$D();return n=new TableControl({props:{columns:[{fieldName:"use",header:"Use",slot:4},{fieldName:"src",header:"Source column",slot:1},{fieldName:"dst",header:"Target column",slot:2},{fieldName:"actions",header:"",slot:3}],rows:e[4]||[],emptyMessage:"No transform defined",$$slots:{3:[create__3_slot,({index:e})=>({17:e}),({index:e})=>e?131072:0],2:[create__2_slot$3,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)],1:[create__1_slot$3,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)],4:[create__4_slot,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)]},$$scope:{ctx:e}}}),{c(){r&&r.c(),t=space(),create_component(n.$$.fragment)},m(e,i){r&&r.m(e,i),insert(e,t,i),mount_component(n,e,i),o=!0},p(e,t){const o={};16&t&&(o.rows=e[4]||[]),917532&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){r&&r.d(e),e&&detach(t),destroy_component(n,e)}}}function create_header_slot$2(e){let t,n;return{c(){t=element("div"),n=text$1(e[0]),attr(t,"slot","header")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&set_data(n,e[0])},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,r,i,a,s,c;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Close"}}),o.$on("click",closeCurrentModal),i=new FormStyledButton({props:{type:"button",value:"Add column"}}),i.$on("click",e[10]),s=new FormStyledButton({props:{type:"button",value:"Reset",disabled:!e[5]}}),s.$on("click",e[11]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,t){const n={};32&t&&(n.disabled=!e[5]),s.$set(n)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$u(e){let t,n;const o=[e[7]];let r={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_1$n]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=128&n?get_spread_update(o,[get_spread_object(e[7])]):{};524351&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1g(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$u]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524479&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function equalValues(e,t){if(!e||!t)return!1;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].src!=t[n].src||e[n].dst!=t[n].dst||!!e[n].skip!=!!t[n].skip)return!1;return!0}function instance$1e(e,t,n){let o;const r=["header","onConfirm","sourceTableInfo","targetTableInfo","initialValue"];let i=compute_rest_props(t,r),{header:a="Configure columns"}=t,{onConfirm:s}=t,{sourceTableInfo:c}=t,{targetTableInfo:l}=t,{initialValue:u}=t;const d=c&&!l?c.columns.map((e=>({src:e.columnName,dst:e.columnName,skip:!1}))):l&&!c?l.columns.map((e=>({src:e.columnName,dst:e.columnName,skip:!1}))):[];let p=(null==u?void 0:u.length)>0?u:d;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,i=compute_rest_props(t,r)),"header"in e&&n(0,a=e.header),"onConfirm"in e&&n(1,s=e.onConfirm),"sourceTableInfo"in e&&n(2,c=e.sourceTableInfo),"targetTableInfo"in e&&n(3,l=e.targetTableInfo),"initialValue"in e&&n(8,u=e.initialValue)},e.$$.update=()=>{16&e.$$.dirty&&n(5,o=!equalValues(p,d))},[a,s,c,l,p,o,d,i,u,()=>{closeCurrentModal(),s(p&&0!=p.length&&o?p:null)},()=>{n(4,p=[...p||[],{}])},()=>{n(4,p=d)},e=>{n(4,p=p.filter(((t,n)=>n!=e)))},(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,dst:t.target.value,ignore:!1}:n))),(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,src:t,ignore:!1}:n))),(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,skip:!t.target.checked,ignore:!1}:n)))]}class ColumnMapModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1g,safe_not_equal,{header:0,onConfirm:1,sourceTableInfo:2,targetTableInfo:3,initialValue:8})}}function create_fragment$1f(e){let t,n;return t=new SelectField({props:{options:e[2],isNative:!0,value:e[1][`actionType_${e[0]}`]||e[2][0].value}}),t.$on("change",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.options=e[2]),7&n&&(o.value=e[1][`actionType_${e[0]}`]||e[2][0].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1d(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(6,i=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,r=e)));return e.$$set=e=>{"name"in e&&n(0,a=e.name),"targetDbinfo"in e&&n(5,s=e.targetDbinfo)},e.$$.update=()=>{99&e.$$.dirty&&n(2,o=getActionOptions(i,a,r))},[a,r,o,c,l,s,i,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1f,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$C(e){let t,n,o,r,i,a;return n=new FontIcon({props:{icon:"icon web"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","icon svelte-170ou0a"),attr(t,"title",o=e[1]&&e[1].fileName)},m(o,s){insert(o,t,s),mount_component(n,t,null),r=!0,i||(a=listen(t,"click",e[4]),i=!0)},p(e,n){(!r||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i=!1,a()}}}function create_fragment$1e(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$C(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),r=space(),i=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(i,"class","flex"),attr(t,"class","flex space-between")},m(m,f){insert(m,t,f),append(t,n),append(n,o),append(t,r),append(t,i),p&&p.m(i,null),append(i,a),append(i,s),mount_component(c,s,null),l=!0,u||(d=listen(s,"click",e[3]),u=!0)},p(e,[t]){(!l||1&t)&&set_data(o,e[0]),e[1]&&e[1].isDownload?p?(p.p(e,t),2&t&&transition_in(p,1)):(p=create_if_block$C(e),p.c(),transition_in(p,1),p.m(i,a)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(p),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(p),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),p&&p.d(),destroy_component(c),u=!1,d()}}}function instance$1c(e,t,n){let o,r,{name:i}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,r=e)));const c=e=>{s(`sourceFile_${i}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,i=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=r[`sourceFile_${i}`])},[i,o,a,()=>{s("sourceList",r.sourceList.filter((e=>e!=i)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},r]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1e,safe_not_equal,{name:0})}}function create_fragment$1d(e){let t,n,o,r,i,a,s,c;const l=[e[7],{options:e[2]},{isMulti:!0},{templateProps:{noMargin:!0}}];let u={};for(let e=0;e<l.length;e+=1)u=assign(u,l[e]);return n=new FormSelectField({props:u}),i=new FormStyledButton({props:{type:"button",value:"All files"}}),i.$on("click",e[9]),s=new FormStyledButton({props:{type:"button",value:"Remove all"}}),s.$on("click",e[10]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),mount_component(s,r,null),c=!0},p(e,[t]){const o=132&t?get_spread_update(l,[128&t&&get_spread_object(e[7]),4&t&&{options:e[2]},l[2],l[3]]):{};n.$set(o)},i(e){c||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(s)}}}function instance$1b(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));let{folderName:c}=t,{name:l}=t;const{setFieldValue:u,values:d}=getFormContext();component_subscribe(e,d,(e=>n(4,a=e)));return e.$$set=e=>{n(7,t=assign(assign({},t),exclude_internal_props(e))),"folderName"in e&&n(8,c=e.folderName),"name"in e&&n(0,l=e.name)},e.$$.update=()=>{256&e.$$.dirty&&(n(3,o=useArchiveFiles({folder:c})),s(),s=subscribe(o,(e=>n(1,i=e)))),2&e.$$.dirty&&n(2,r=(i||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,i,r,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...i&&i.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1d,safe_not_equal,{folderName:8,name:0})}}function create_if_block$B(e){let t,n;return t=new LoadingInfo({props:{message:"Anaysing input files"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1c(e){let t,n,o,r;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let i=e[0]&&create_if_block$B();return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[t]){e[0]?i?1&t&&transition_in(i,1):(i=create_if_block$B(),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function getFileFilters(e,t){const n=[],o=findFileFormat(e,t);return o&&n.push({name:o.name,extensions:[o.extension]}),n.push({name:"All Files",extensions:["*"]}),n}function instance$1a(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(4,r=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a=!1;const{values:s}=getFormContext();component_subscribe(e,s,(e=>n(3,o=e)));return[a,s,()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(r,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(r,t.map((t=>({fileName:t,shortName:e.parse(t).name}))),o,s)}finally{n(0,a=!1)}}}))]}class ElectronFilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1c,safe_not_equal,{})}}function create_else_block$e(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$A(e){let t,n;return t=new ElectronFilesInput({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1b(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block$A,create_else_block$e],d=[];return o=function(e,t){return e[0]?0:1}(e),r=d[o]=u[o](e),a=new FormStyledButton({props:{value:"Add web URL"}}),a.$on("click",e[2]),{c(){t=element("div"),n=element("div"),r.c(),i=space(),create_component(a.$$.fragment),s=space(),c=element("div"),c.textContent="Drag & drop imported files here",attr(n,"class","flex"),attr(c,"class","wrapper svelte-5j61hy"),attr(t,"class","main svelte-5j61hy")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(n,i),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(r),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(r),transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),d[o].d(),destroy_component(a)}}}function extractUrlName(e,t){const n=e.match(/\/([^/\?]+)($|\?)/);if(n){const e=n[1];return e.includes(".")?e.slice(0,e.indexOf(".")):e}return`url${t&&t.sourceList?t.sourceList.length+1:"1"}`}function instance$19(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(5,r=e)));let{setPreviewSource:i}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(r,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,i)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,i=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),i]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1b,safe_not_equal,{setPreviewSource:3})}}function create_if_block$z(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1a(e){let t,n,o=e[0].length>0&&create_if_block$z(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$z(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$18(e,t,n){let o,r;const i=["conidName","databaseName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t;const{values:p}=getFormContext();return component_subscribe(e,p,(e=>n(7,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useSchemaList({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,r=(_.isArray(a)?a:[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[r,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$1a,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$e(e,t,n){const o=e.slice();return o[15]=t[n],o}function create_if_block$y(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[15]}`}}),t.$on("click",(function(){return e[13](e[15])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$e(e){let t,n,o=e[2]&&e[2][e[15]]?.length>0&&create_if_block$y(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]&&e[2][e[15]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$y(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_fragment$19(e){let t,n,o,r,i,a,s;const c=[e[8],{name:e[0]},{options:e[3]},{isMulti:!0},{templateProps:{noMargin:!0}}];let l={};for(let e=0;e<c.length;e+=1)l=assign(l,c[e]);n=new FormSelectField({props:l});let u=["tables","views","matviews","collections"],d=[];for(let t=0;t<4;t+=1)d[t]=create_each_block$e(get_each_context$e(e,u,t));const p=e=>transition_out(d[e],1,1,(()=>{d[e]=null}));return a=new FormStyledButton({props:{type:"button",value:"Remove all"}}),a.$on("click",e[14]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div");for(let e=0;e<4;e+=1)d[e].c();i=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,r);for(let e=0;e<4;e+=1)d[e]&&d[e].m(r,null);append(r,i),mount_component(a,r,null),s=!0},p(e,[t]){const o=265&t?get_spread_update(c,[256&t&&get_spread_object(e[8]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),135&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$e(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$e(o),d[n].c(),transition_in(d[n],1),d[n].m(r,i))}for(group_outros(),n=4;n<4;n+=1)p(n);check_outros()}},i(e){if(!s){transition_in(n.$$.fragment,e);for(let e=0;e<4;e+=1)transition_in(d[e]);transition_in(a.$$.fragment,e),s=!0}},o(e){transition_out(n.$$.fragment,e),d=d.filter(Boolean);for(let e=0;e<4;e+=1)transition_out(d[e]);transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_each(d,e),destroy_component(a)}}}function instance$17(e,t,n){let o,r,i;const a=["conidName","databaseName","schemaName","name"];let s,c,l,u=compute_rest_props(t,a),d=noop$3,p=noop$3;e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));let{conidName:m}=t,{databaseName:f}=t,{schemaName:h}=t,{name:g}=t;const{values:$,setFieldValue:b}=getFormContext();component_subscribe(e,$,(e=>n(1,s=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(8,u=compute_rest_props(t,a)),"conidName"in e&&n(9,m=e.conidName),"databaseName"in e&&n(10,f=e.databaseName),"schemaName"in e&&n(11,h=e.schemaName),"name"in e&&n(0,g=e.name)},e.$$.update=()=>{514&e.$$.dirty&&(n(5,o=useConnectionInfo({conid:s[m]})),p(),p=subscribe(o,(e=>n(12,l=e)))),7682&e.$$.dirty&&(n(4,r=useDatabaseInfo({conid:s[m],database:(null==l?void 0:l.useSeparateSchemas)?`${s[f]}::${s[h]}`:s[f]})),d(),d=subscribe(r,(e=>n(2,c=e)))),2054&e.$$.dirty&&n(3,i=_.compact([...(null==c?void 0:c.tables)||[],...(null==c?void 0:c.views)||[],...(null==c?void 0:c.matviews)||[],...(null==c?void 0:c.collections)||[]]).filter((e=>!s[h]||e.schemaName==s[h])).map((e=>({value:e.pureName,label:e.pureName}))))},[g,s,c,i,r,o,$,b,u,m,f,h,l,e=>b(g,_.compact(_.uniq([...s[g]||[],...c[e]?.map((e=>e.pureName))||[]]))),()=>b(g,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$19,safe_not_equal,{conidName:9,databaseName:10,schemaName:11,name:0})}}function create_if_block_13$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon import"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Source configuration"),attr(t,"class","title svelte-1xwk24g")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_12$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon export"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Target configuration"),attr(t,"class","title svelte-1xwk24g")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$2(e){let t,n;return t=new FormStyledButton({props:{value:"Current DB"}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$2(e){let t,n;return t=new FormStyledButton({props:{value:"New archive"}}),t.$on("click",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$2(e){let t,n,o,r;return t=new FormConnectionSelect({props:{name:e[2],label:"Server",direction:e[0]}}),o=new FormDatabaseSelect({props:{conidName:e[2],name:e[3],label:"Database"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};4&n&&(r.name=e[2]),1&n&&(r.direction=e[0]),t.$set(r);const i={};4&n&&(i.conidName=e[2]),8&n&&(i.name=e[3]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$2(e){let t,n,o,r;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let i=e[6]&&create_if_block_8$2(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,n){const r={};4&n&&(r.conidName=e[2]),8&n&&(r.databaseName=e[3]),32&n&&(r.name=e[5]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block_8$2(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function create_if_block_8$2(e){let t,n;return t=new FormTablesSelect({props:{conidName:e[2],schemaName:e[5],databaseName:e[3],name:e[6],label:"Tables / views / collections"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.conidName=e[2]),32&n&&(o.schemaName=e[5]),8&n&&(o.databaseName=e[3]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$4(e){let t,n,o,r,i,a;const s=[create_if_block_6$4,create_else_block$d],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return r=l(e),i=c[r]=s[r](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),i.c(),attr(t,"class","label svelte-1xwk24g"),attr(o,"class","sqlwrap svelte-1xwk24g")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),c[r].m(o,null),a=!0},p(e,t){let n=r;r=l(e),r===n?c[r].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),i=c[r],i?i.p(e,t):(i=c[r]=s[r](e),i.c()),transition_in(i,1),i.m(o,null))},i(e){a||(transition_in(i),a=!0)},o(e){transition_out(i),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[r].d()}}}function create_else_block$d(e){let t,n;return t=new SqlEditor({props:{value:e[11].sourceQuery,engine:e[7]}}),t.$on("input",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),128&n&&(o.engine=e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$4(e){let t,n;return t=new AceEditor({props:{value:e[11].sourceQuery,mode:"json"}}),t.$on("input",e[25]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$5(e){let t,n;return t=new FormArchiveFolderSelect({props:{label:"Archive folder",name:e[4],additionalFolders:_.compact([e[11][e[4]]])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.name=e[4]),2064&n&&(o.additionalFolders=_.compact([e[11][e[4]]])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$7(e){let t,n;return t=new FormArchiveFilesSelect({props:{label:"Source files",folderName:e[11][e[4]],name:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2064&n&&(o.folderName=e[11][e[4]]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$b(e){let t,n;return t=new FilesInput({props:{setPreviewSource:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.setPreviewSource=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$m(e){let t,n;return t=new FormArgumentList({props:{args:e[10].args.filter(e[27]),namePrefix:`${e[0]}_${e[10].storageType}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1025&n&&(o.args=e[10].args.filter(e[27])),1025&n&&(o.namePrefix=`${e[0]}_${e[10].storageType}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$x(e){let t,n;return t=new FormArgumentList({props:{args:e[12]?.importExportArgs.filter(e[28]),namePrefix:`${e[0]}_${e[12].engine}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4097&n&&(o.args=e[12]?.importExportArgs.filter(e[28])),4097&n&&(o.namePrefix=`${e[0]}_${e[12].engine}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$18(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b="source"==e[0]&&create_if_block_13$2(),v="target"==e[0]&&create_if_block_12$2(),y=e[15]&&create_if_block_11$2(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$2(e);l=new FormSelectField({props:{options:e[14].filter(e[24]),name:e[1],label:"Storage type"}});let w=("database"==e[9]||"query"==e[9])&&create_if_block_9$2(e),C="database"==e[9]&&create_if_block_7$2(e),k="query"==e[9]&&create_if_block_5$4(e),S="archive"==e[9]&&create_if_block_4$5(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$7(e),A=e[10]&&"source"==e[0]&&create_if_block_2$b(e),E=e[10]?.args&&create_if_block_1$m(e),O=e[12]?.importExportArgs&&create_if_block$x(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),r=element("div"),y&&y.c(),i=space(),create_component(a.$$.fragment),s=space(),x&&x.c(),c=space(),create_component(l.$$.fragment),u=space(),w&&w.c(),d=space(),C&&C.c(),p=space(),k&&k.c(),m=space(),S&&S.c(),f=space(),T&&T.c(),h=space(),A&&A.c(),g=space(),E&&E.c(),_=space(),O&&O.c(),attr(r,"class","buttons svelte-1xwk24g"),attr(t,"class","column svelte-1xwk24g")},m(e,I){insert(e,t,I),b&&b.m(t,null),append(t,n),v&&v.m(t,null),append(t,o),append(t,r),y&&y.m(r,null),append(r,i),mount_component(a,r,null),append(r,s),x&&x.m(r,null),append(t,c),mount_component(l,t,null),append(t,u),w&&w.m(t,null),append(t,d),C&&C.m(t,null),append(t,p),k&&k.m(t,null),append(t,m),S&&S.m(t,null),append(t,f),T&&T.m(t,null),append(t,h),A&&A.m(t,null),append(t,g),E&&E.m(t,null),append(t,_),O&&O.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$2(),b.c(),transition_in(b,1),b.m(t,n)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"target"==e[0]?v?1&a&&transition_in(v,1):(v=create_if_block_12$2(),v.c(),transition_in(v,1),v.m(t,o)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[15]?y?(y.p(e,a),32768&a&&transition_in(y,1)):(y=create_if_block_11$2(e),y.c(),transition_in(y,1),y.m(r,i)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),"target"==e[0]?x?(x.p(e,a),1&a&&transition_in(x,1)):(x=create_if_block_10$2(e),x.c(),transition_in(x,1),x.m(r,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros());const s={};16385&a&&(s.options=e[14].filter(e[24])),2&a&&(s.name=e[1]),l.$set(s),"database"==e[9]||"query"==e[9]?w?(w.p(e,a),512&a&&transition_in(w,1)):(w=create_if_block_9$2(e),w.c(),transition_in(w,1),w.m(t,d)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),"database"==e[9]?C?(C.p(e,a),512&a&&transition_in(C,1)):(C=create_if_block_7$2(e),C.c(),transition_in(C,1),C.m(t,p)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),"query"==e[9]?k?(k.p(e,a),512&a&&transition_in(k,1)):(k=create_if_block_5$4(e),k.c(),transition_in(k,1),k.m(t,m)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),"archive"==e[9]?S?(S.p(e,a),512&a&&transition_in(S,1)):(S=create_if_block_4$5(e),S.c(),transition_in(S,1),S.m(t,f)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),"archive"==e[9]&&"source"==e[0]?T?(T.p(e,a),513&a&&transition_in(T,1)):(T=create_if_block_3$7(e),T.c(),transition_in(T,1),T.m(t,h)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?A?(A.p(e,a),1025&a&&transition_in(A,1)):(A=create_if_block_2$b(e),A.c(),transition_in(A,1),A.m(t,g)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[10]?.args?E?(E.p(e,a),1024&a&&transition_in(E,1)):(E=create_if_block_1$m(e),E.c(),transition_in(E,1),E.m(t,_)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[12]?.importExportArgs?O?(O.p(e,a),4096&a&&transition_in(O,1)):(O=create_if_block$x(e),O.c(),transition_in(O,1),O.m(t,null)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros())},i(e){$||(transition_in(b),transition_in(v),transition_in(y),transition_in(a.$$.fragment,e),transition_in(x),transition_in(l.$$.fragment,e),transition_in(w),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(O),$=!0)},o(e){transition_out(b),transition_out(v),transition_out(y),transition_out(a.$$.fragment,e),transition_out(x),transition_out(l.$$.fragment,e),transition_out(w),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(O),$=!1},d(e){e&&detach(t),b&&b.d(),v&&v.d(),y&&y.d(),destroy_component(a),x&&x.d(),destroy_component(l),w&&w.d(),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d()}}}function instance$16(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,extensions,(e=>n(19,c=e))),component_subscribe(e,currentDatabase,(e=>n(15,d=e))),component_subscribe(e,currentArchive,(e=>n(16,p=e))),e.$$.on_destroy.push((()=>m()));let{direction:f}=t,{storageTypeField:h}=t,{connectionIdField:g}=t,{databaseNameField:_}=t,{archiveFolderField:$}=t,{schemaNameField:b}=t,{tablesField:v}=t,{engine:y}=t,{setPreviewSource:x}=t;const{values:w,setFieldValue:C}=getFormContext();component_subscribe(e,w,(e=>n(11,u=e)));return e.$$set=e=>{"direction"in e&&n(0,f=e.direction),"storageTypeField"in e&&n(1,h=e.storageTypeField),"connectionIdField"in e&&n(2,g=e.connectionIdField),"databaseNameField"in e&&n(3,_=e.databaseNameField),"archiveFolderField"in e&&n(4,$=e.archiveFolderField),"schemaNameField"in e&&n(5,b=e.schemaNameField),"tablesField"in e&&n(6,v=e.tablesField),"engine"in e&&n(7,y=e.engine),"setPreviewSource"in e&&n(8,x=e.setPreviewSource)},e.$$.update=()=>{526338&e.$$.dirty&&n(14,o="jsldata"==u[h]?[{value:"jsldata",label:"Query result data",directions:["source"]}]:[{value:"database",label:"Database",directions:["source","target"]},...c.fileFormats.map((e=>({value:e.storageType,label:`${e.name} files(s)`,directions:getFileFormatDirections(e)}))),{value:"query",label:"Query",directions:["source"]},{value:"archive",label:"Archive",directions:["source","target"]}]),2050&e.$$.dirty&&n(9,r=u[h]),524800&e.$$.dirty&&n(10,i=findFileFormat(c,r)),2052&e.$$.dirty&&(n(13,a=useConnectionInfo({conid:u[g]})),m(),m=subscribe(a,(e=>n(20,l=e)))),1572864&e.$$.dirty&&n(12,s=lib$5.findEngineDriver(l,c))},[f,h,g,_,$,b,v,y,x,r,i,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[h]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[h]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[h]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(f),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==f,e=>!e.direction||e.direction==f]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$16,create_fragment$18,safe_not_equal,{direction:0,storageTypeField:1,connectionIdField:2,databaseNameField:3,archiveFolderField:4,schemaNameField:5,tablesField:6,engine:7,setPreviewSource:8})}}function get_context(e){const t=(e[0][`columns_${e[31]}`]||[]).filter((e=>!e.skip)).length;e[32]=t}function create_if_block_1$l(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[31]}}),t.$on("change",(function(...t){return e[23](e[31],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o[0]|1&o[1]&&(r.checked=e[2]==e[31]),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot(e){let t,n,o=e[4]&&create_if_block_1$l(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[4]?o?(o.p(e,n),16&n[0]&&transition_in(o,1)):(o=create_if_block_1$l(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_if_block$w(e){let t,n;function o(){return e[22](e[31])}return t=new DropDownButton({props:{menu:o}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};2048&r[0]|1&r[1]&&(i.menu=o),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$2(e){let t,n,o,r;n=new TextField({props:{value:getTargetName(e[1],e[31],e[0])}}),n.$on("input",(function(...t){return e[21](e[31],...t)}));let i=e[11]&&create_if_block$w(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(o,r){e=o;const a={};3&r[0]|1&r[1]&&(a.value=getTargetName(e[1],e[31],e[0])),n.$set(a),e[11]?i?(i.p(e,r),2048&r[0]&&transition_in(i,1)):(i=create_if_block$w(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_default_slot$t(e){let t,n=e[32]>0?`(${e[32]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o[0]|1&o[1]&&n!==(n=e[32]>0?`(${e[32]} columns)`:"(copy from source)")&&set_data(t,n)},d(e){e&&detach(t)}}}function create__2_slot$2(e){let t,n;function o(){return e[20](e[31])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$t]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){get_context(e=n);const i={};3073&r[0]|1&r[1]&&(i.onClick=o),1&r[0]|5&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$17(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[5],setPreviewSource:e[14].set}}),a=new FontIcon({props:{icon:"icon arrow-right-bold"}}),c=new SourceTargetConfig({props:{direction:"target",storageTypeField:"targetStorageType",connectionIdField:"targetConnectionId",databaseNameField:"targetDatabaseName",archiveFolderField:"targetArchiveFolder",schemaNameField:"targetSchemaName"}}),p=new FontIcon({props:{icon:"icon tables"}}),h=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_3$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[24]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}],$$slots:{2:[create__2_slot$2,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]],1:[create__1_slot$2,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]],0:[create__0_slot,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),d=element("div"),create_component(p.$$.fragment),m=text$1(" Map source tables/files"),f=space(),create_component(h.$$.fragment),attr(i,"class","arrow svelte-tc4cku"),attr(n,"class","flex"),attr(d,"class","title svelte-tc4cku"),attr(u,"class","m-2"),attr(t,"class","flex1")},m(e,_){insert(e,t,_),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),mount_component(a,i,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),append(u,d),mount_component(p,d,null),append(d,m),append(u,f),mount_component(h,u,null),g=!0},p(e,t){const n={};32&t[0]&&(n.engine=e[5]),o.$set(n);const r={};1&t[0]&&(r.rows=e[0].sourceList||[]),64&t[0]&&(r.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_3$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[24]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),3095&t[0]|5&t[1]&&(r.$$scope={dirty:t,ctx:e}),h.$set(r)},i(e){g||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(h.$$.fragment,e),g=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(h.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(h)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function addFileToSourceListDefault({fileName:e,shortName:t,isDownload:n},o,r){return __awaiter$2(this,void 0,void 0,(function*(){const i=t;o.push(i),r[`sourceFile_${i}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,r=void 0,i=void 0){return __awaiter$2(this,void 0,void 0,(function*(){const a=[],s={},c=r||n.sourceStorageType;for(const n of getAsArray(t)){const t=findFileFormat(e,c);t&&(yield(t.addFileToSourceList||addFileToSourceListDefault)(n,a,s,apiCall))}s.sourceList=[...(n.sourceList||[]).filter((e=>!a.includes(e))),...a],r&&r!=n.sourceStorageType&&(s.sourceStorageType=r),o.set(Object.assign(Object.assign({},n),s)),i&&1==a.length&&i(a[0])}))}const func_3$2=e=>({name:e});function instance$15(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=noop$3,b=noop$3,v=noop$3,y=noop$3,x=noop$3;component_subscribe(e,extensions,(e=>n(1,p=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v())),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x()));var w=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{previewReaderStore:C}=t,{isTabActive:k}=t;const{values:S,setFieldValue:T}=getFormContext();component_subscribe(e,S,(e=>n(0,d=e)));const A=writable(null);component_subscribe(e,A,(e=>n(2,m=e)));function E(e){addFilesToSourceList(p,[{fileName:e.filePath,shortName:e.shortName}],d,S,c&&0!=c.length?null:e.storageType,A.set)}const O=createRef(null);return e.$$set=e=>{"previewReaderStore"in e&&n(15,C=e.previewReaderStore),"isTabActive"in e&&n(16,k=e.isTabActive)},e.$$.update=()=>{var t;1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:d.sourceConnectionId})),b(),b=subscribe(o,(e=>n(18,f=e)))),1&e.$$.dirty[0]&&(n(8,r=useConnectionInfo({conid:d.targetConnectionId})),v(),v=subscribe(r,(e=>n(19,h=e)))),262145&e.$$.dirty[0]&&(n(7,i=useDatabaseInfo({conid:d.sourceConnectionId,database:lib$5.compositeDbNameIfNeeded(f,d.sourceDatabaseName,d.sourceSchemaName)})),y(),y=subscribe(i,(e=>n(10,g=e)))),524289&e.$$.dirty[0]&&(n(6,a=useDatabaseInfo({conid:d.targetConnectionId,database:lib$5.compositeDbNameIfNeeded(h,d.targetDatabaseName,d.targetSchemaName)})),x(),x=subscribe(a,(e=>n(11,_=e)))),262144&e.$$.dirty[0]&&n(5,s=null==f?void 0:f.engine),1&e.$$.dirty[0]&&(c=d.sourceList),3&e.$$.dirty[0]&&n(4,l=!!findFileFormat(p,d.sourceStorageType)||"archive"==d.sourceStorageType),5&e.$$.dirty[0]&&(t=m,w(void 0,void 0,void 0,(function*(){if(t&&l){const e=yield createPreviewReader(p,d,t);C&&C.set(e)}else C&&C.set(null)}))),65536&e.$$.dirty[0]&&(n(3,u=useEffect((()=>k?(setUploadListener(E),()=>{setUploadListener(null)}):()=>{}))),$(),$=subscribe(u,(e=>n(26,e)))),1&e.$$.dirty[0]&&function(e,t){if(O.get()&&e.fixedTargetPureName){const n=e.sourceList.filter((e=>{var t;return!(null===(t=O.get())||void 0===t?void 0:t.includes(e))})),o={};for(const t of n)e.fixedTargetPureName&&(e[`targetName_${t}`]||(o[`targetName_${t}`]=e.fixedTargetPureName),e[`actionType_${t}`]||(o[`actionType_${t}`]="appendData"));t.set(Object.assign(Object.assign({},e),o))}O.set(e.sourceList)}(d,S)},[d,p,m,u,l,s,a,i,r,o,g,_,S,T,A,C,k,E,f,h,e=>{const t=(d[`targetName_${e}`]||e)?.toLowerCase();showModal(ColumnMapModal,{initialValue:d[`columns_${e}`],sourceTableInfo:g?.tables?.find((t=>t.pureName?.toLowerCase()==e?.toLowerCase())),targetTableInfo:_?.tables?.find((e=>e.pureName?.toLowerCase()==t)),onConfirm:t=>T(`columns_${e}`,t)})},(e,t)=>T(`targetName_${e}`,t.target.value),e=>_.tables.map((t=>({text:t.pureName,onClick:()=>T(`targetName_${e}`,t.pureName)}))),(e,t)=>{t.target.checked?set_store_value(A,m=e,m):set_store_value(A,m=null,m)},e=>({name:e,targetDbinfo:a})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$17,safe_not_equal,{previewReaderStore:15,isTabActive:16,addUploadedFile:17},null,[-1,-1])}get addUploadedFile(){return this.$$.ctx[17]}}class RowsArrayGrider extends Grider{constructor(e){super(),this.rows=e}getRowData(e){return this.rows[e]}get rowCount(){return this.rows.length}}function create_if_block_2$a(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DataGridCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=74&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),2&n&&{grider:e[1]},8&n&&{display:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$k(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$v(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$16(e){let t,n,o,r;const i=[create_if_block$v,create_if_block_1$k,create_if_block_2$a],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=i[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?~t&&a[t].p(e,r):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$14(e,t,n){let o,r,i;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{reader:s}=t,c=!1,l=null,u=null,d=null;const p=writable(lib$1.createGridConfig());component_subscribe(e,p,(e=>n(10,i=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,r=e)));return e.$$set=e=>{n(6,t=assign(assign({},t),exclude_internal_props(e))),"reader"in e&&n(7,s=e.reader)},e.$$.update=()=>{var t;128&e.$$.dirty&&(t=s,a(void 0,void 0,void 0,(function*(){try{if(!t)return n(8,l=null),void n(1,u=null);n(2,d=null),n(0,c=!0);const e=yield apiCall("runners/load-reader",t);if(e.errorMessage)return n(0,c=!1),void n(2,d=e.errorMessage);n(8,l=e),n(1,u=new RowsArrayGrider(e.rows)),n(0,c=!1)}catch(e){n(0,c=!1),n(2,d="Loading failed"),console.error(e.response)}}))),1792&e.$$.dirty&&n(3,o=new lib$1.FreeTableGridDisplay(l,i,p.update,r,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,r,i]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$16,safe_not_equal,{reader:7})}}function create_if_block_1$j(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Processing import/export ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$1(e){let t,n,o,r,i={previewReaderStore:e[8],isTabActive:e[0]==e[7]};n=new ImportExportConfigurator({props:i}),e[23](n);let a=e[2]&&create_if_block_1$j();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),a&&a.c(),attr(t,"class","content svelte-2uswg2"),attr(t,"slot","1")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),a&&a.m(t,null),r=!0},p(e,o){const r={};129&o[0]&&(r.isTabActive=e[0]==e[7]),n.$set(r),e[2]?a?4&o[0]&&transition_in(a,1):(a=create_if_block_1$j(),a.c(),transition_in(a,1),a.m(t,null)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a),r=!1},d(o){o&&detach(t),e[23](null),destroy_component(n),a&&a.d()}}}function create_default_slot_9(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[1],executeNumber:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n[0]&&(o.runnerId=e[1]),8&n[0]&&(o.executeNumber=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[1]?`runner-info-${e[1]}`:null,executeNumber:e[3],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n[0]&&(o.eventName=e[1]?`runner-info-${e[1]}`:null),8&n[0]&&(o.executeNumber=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$2(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n[0]&&(o.reader=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$2(e){let t,n,o,r;return t=new FormTextField({props:{label:"Schedule",name:"schedule"}}),o=new FormTextField({props:{label:"Start variable index",name:"startVariableIndex"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_5$3(e){let t,n,o,r,i,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),i=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[6],$$slots:{default:[create_default_slot_7$2]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const r={};10&n[0]|128&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};10&n[0]|128&n[1]&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};64&n[0]&&(c.skip=!e[6]),64&n[0]|128&n[1]&&(c.$$scope={dirty:n,ctx:e}),i.$set(c);const l={};128&n[1]&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot$1(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_5$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};74&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$3(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$1],1:[create__1_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$9(e){let t,n;return t=new FormProviderCore({props:{values:e[9],$$slots:{default:[create_default_slot_4$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$c(e){let t,n;return t=new ToolStripButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_2$k]},$$scope:{ctx:e}}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$u(e){let t,n;return t=new ToolStripButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_1$m]},$$scope:{ctx:e}}}),t.$on("click",e[13]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$k(e){let t;return{c(){t=text$1("Run")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$m(e){let t;return{c(){t=text$1("Stop")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$s(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_toolstrip_slot(e){let t,n,o,r,i,a,s;const c=[create_if_block$u,create_else_block$c],l=[];function u(e,t){return e[2]?0:1}return t=u(e),n=l[t]=c[t](e),r=new ToolStripButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot$s]},$$scope:{ctx:e}}}),r.$on("click",e[11]),a=new ToolStripSaveButton({props:{idPrefix:"job"}}),{c(){n.c(),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment)},m(e,n){l[t].m(e,n),insert(e,o,n),mount_component(r,e,n),insert(e,i,n),mount_component(a,e,n),s=!0},p(e,i){let a=t;t=u(e),t===a?l[t].p(e,i):(group_outros(),transition_out(l[a],1,1,(()=>{l[a]=null})),check_outros(),n=l[t],n?n.p(e,i):(n=l[t]=c[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o));const s={};128&i[1]&&(s.$$scope={dirty:i,ctx:e}),r.$set(s)},i(e){s||(transition_in(n),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){l[t].d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),destroy_component(a,e)}}}function create_fragment$15(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],default:[create_default_slot_3$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor=()=>getActiveComponent("ImportExportTab");function getSourceTargetTitle(e,t){var n;switch(t[`${e}StorageType`]){case"database":return t[`${e}DatabaseName`]||"DB";case"archive":return t[`${e}ArchiveFolder`]||"Archive";case"query":return"Query";default:return null===(n=t[`${e}StorageType`])||void 0===n?void 0:n.toUpperCase().replace(/@.*$/,"")}}function instance$13(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f=noop$3;component_subscribe(e,extensions,(e=>n(25,i=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(26,s=e))),component_subscribe(e,selectedWidget,(e=>n(27,c=e))),component_subscribe(e,currentArchive,(e=>n(28,l=e))),component_subscribe(e,currentDatabase,(e=>n(29,d=e))),component_subscribe(e,activeTabId,(e=>n(7,m=e))),e.$$.on_destroy.push((()=>f()));var h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let g=!1,$=0,b=null;const v=writable(null);component_subscribe(e,v,(e=>n(6,p=e)));let{tabid:y}=t,{uploadedFile:x}=t,{openedFile:w}=t,{importToCurrentTarget:C=!1}=t,{savedFile:k}=t,{savedFilePath:S}=t;const T=createRef(null),A=writable({});let E;component_subscribe(e,A,(e=>n(21,a=e)));const O=createActivator("ImportExportTab",!0),{editorState:I,editorValue:N,setEditorData:D}=useEditorData({tabid:y,onInitialData:e=>{set_store_value(A,a=Object.assign(Object.assign({sourceStorageType:"database",targetStorageType:getDefaultFileFormat(i).storageType,targetArchiveFolder:l,sourceArchiveFolder:l},function(){var e;if(!C)return{};if(d&&"archive"!=c)return{targetStorageType:"database",targetConnectionId:null===(e=null==d?void 0:d.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==d?void 0:d.name};return"default"==l?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:l}}()),e),a),x&&E.addUploadedFile(x),w&&E.addUploadedFile(w),changeTab(y,(e=>Object.assign(Object.assign({},e),{props:_.omit(e.props,["uploadedFile","openedFile","importToCurrentTarget"])})))}});component_subscribe(e,I,(e=>n(24,r=e)));const M=()=>{n(2,g=!1),T.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:T.get()}),set_store_value(currentArchive,l=T.get(),l),set_store_value(selectedWidget,c="archive",c),set_store_value(visibleWidgetSideBar,s=!0,s))};return e.$$set=e=>{"tabid"in e&&n(0,y=e.tabid),"uploadedFile"in e&&n(14,x=e.uploadedFile),"openedFile"in e&&n(15,w=e.openedFile),"importToCurrentTarget"in e&&n(16,C=e.importToCurrentTarget),"savedFile"in e&&n(17,k=e.savedFile),"savedFilePath"in e&&n(18,S=e.savedFilePath)},e.$$.update=()=>{var t;2097152&e.$$.dirty[0]&&D(a),2097152&e.$$.dirty[0]&&(t=a,k||S||changeTab(y,(e=>{var n;return Object.assign(Object.assign({},e),{title:`${getSourceTargetTitle("source",t)}->${getSourceTargetTitle("target",t)}(${(null===(n=t.sourceList)||void 0===n?void 0:n.length)||0})`})}))),2&e.$$.dirty[0]&&(n(5,o=useEffect((()=>{return(e=b)?(apiOn(`runner-done-${e}`,M),()=>{apiOff(`runner-done-${e}`,M)}):()=>{};var e}))),f(),f=subscribe(o,(e=>n(22,u=e)))),e.$$.dirty[0]},[y,b,g,$,E,o,p,m,v,A,I,e=>h(void 0,void 0,void 0,(function*(){const e=a;openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(i,e,void 0)})})),e=>h(void 0,void 0,void 0,(function*(){if(g)return;const e=a;n(2,g=!0);const t=yield createImpExpScript(i,e);n(3,$+=1);let o=b;o=(yield apiCall("runners/start",{script:t})).runid,n(1,b=o),"archive"==e.targetStorageType?T.set(e.targetArchiveFolder):T.set(null)})),()=>{apiCall("runners/cancel",{runid:b})},x,w,C,k,S,O,function(){return r.value||""},a,u,function(e){binding_callbacks[e?"unshift":"push"]((()=>{E=e,n(4,E)}))}]}registerFileCommands({idPrefix:"job",category:"Job",getCurrentEditor:getCurrentEditor,folder:"jobs",format:"json",fileExtension:"job"});class ImportExportTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$15,safe_not_equal,{tabid:0,uploadedFile:14,openedFile:15,importToCurrentTarget:16,savedFile:17,savedFilePath:18,activator:19,getData:20},null,[-1,-1])}get activator(){return this.$$.ctx[19]}get getData(){return this.$$.ctx[20]}}var ImportExportTab$1=Object.freeze({__proto__:null,default:ImportExportTab}),protabs={},tabs={TableDataTab:TableDataTab$1,CollectionDataTab:CollectionDataTab$1,ViewDataTab:ViewDataTab$1,TableStructureTab:TableStructureTab$1,QueryTab:QueryTab$1,ShellTab:ShellTab$1,ArchiveFileTab:ArchiveFileTab$1,PluginTab:PluginTab$1,ChartTab:ChartTab$1,MarkdownEditorTab:MarkdownEditorTab$1,MarkdownViewTab:MarkdownViewTab$1,MarkdownPreviewTab:MarkdownPreviewTab$1,FavoriteEditorTab:FavoriteEditorTab$1,QueryDesignTab:QueryDesignTab$1,CommandListTab:CommandListTab$1,YamlEditorTab:YamlEditorTab$1,JsonEditorTab:JsonEditorTab$1,JsonLinesEditorTab:JsonLinesEditorTab$1,CompareModelTab:CompareModelTab$1,JsonTab:JsonTab$1,ChangelogTab:ChangelogTab$1,DiagramTab:DiagramTab$1,DbKeyDetailTab:DbKeyDetailTab$1,QueryDataTab:QueryDataTab$1,ConnectionTab:ConnectionTab$1,MapTab:MapTab$1,PerspectiveTab:PerspectiveTab$1,ServerSummaryTab:ServerSummaryTab$1,ProfilerTab:ProfilerTab$1,DataDuplicatorTab:DataDuplicatorTab$1,ImportExportTab:ImportExportTab$1,...protabs};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t=void 0,n=void 0){return __awaiter$m(this,void 0,void 0,(function*(){const o=getOpenedTabs(),r=getActiveTab();let i=null;const{savedFile:a,savedFolder:s,savedFilePath:c}=e.props||{};(a||c)&&(i=o.find((t=>t.props&&t.tabComponent==e.tabComponent&&null==t.closedTime&&t.props.savedFile==a&&t.props.savedFolder==s&&t.props.savedFilePath==c)));const{forceNewTab:l}=n||{},u=tabs[e.tabComponent];if(!i&&!l&&u&&u.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},u.matchingProps));i=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},u.matchingProps))==t))}if(i)return void openedTabs.update((e=>setSelectedTabFunc(e,i.tabid)));if(e.title.endsWith("#")){const t=o.filter((t=>null==t.closedTime&&t.title&&t.title.startsWith(e.title))).map((t=>parseInt(t.title.substring(e.title.length))));e.title=`${e.title}${findFreeNumber(t)}`}const d=v1_1$6();if(t)for(const e of _.keys(t))"editor"==e||"rows"==e?yield localforage.setItem(`tabdata_${e}_${d}`,t[e]):localStorage.setItem(`tabdata_${e}_${d}`,JSON.stringify(t[e]));openedTabs.update((t=>{var n,o;const i=getTabDbKey(e),a=sortTabs(t.filter((e=>null==e.closedTime))),s=Object.assign(Object.assign({},e),{tabid:d});if(null!=i){const e=_.findLastIndex(a,(e=>getTabDbKey(e)==i));e>=0?a.splice(e+1,0,s):a.push(s)}else a.push(s);return[...(t||[]).map((e=>Object.assign(Object.assign({},e),{selected:!1,tabOrder:_.findIndex(a,(t=>t.tabid==e.tabid))}))),Object.assign(Object.assign({},e),{tabid:d,selected:!0,multiTabIndex:null!==(o=null!==(n=null==e?void 0:e.multiTabIndex)&&void 0!==n?n:null==r?void 0:r.multiTabIndex)&&void 0!==o?o:0,tabOrder:_.findIndex(a,(e=>e.tabid==d))})]}))}))}function duplicateTab(e){return __awaiter$m(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,r={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),i=n.match(o);i&&i[2]==e.tabid&&(r[i[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(r[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),r,{forceNewTab:!0})}))}function getTabDbKey(e){var t;return"ConnectionTab"==e.tabComponent?"connections.":(null===(t=e.tabComponent)||void 0===t?void 0:t.startsWith("Admin"))?"admin.":e.props&&e.props.conid&&e.props.database?`database://${e.props.database}-${e.props.conid}`:e.props&&e.props.conid?`server://${e.props.conid}`:e.props&&e.props.archiveFolder?`archive://${e.props.archiveFolder}`:null}function sortTabs(e){return _.sortBy(e,[e=>e.tabOrder||0,e=>getTabDbKey(e),"title","tabid"])}function groupTabs(e){const t=[];for(const n of sortTabs(e)){const e=t[t.length-1];e&&n.tabDbKey&&e.tabDbKey==n.tabDbKey?e.tabs.push(n):t.push({tabDbKey:n.tabDbKey,tabDbName:n.tabDbName,tabs:[n],grpid:n.tabid})}return t}function create_fragment$14(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getArchiveIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openArchive(e,t){openNewTab({title:e,icon:"img archive",tooltip:`${t}\n${e}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:t}})}function openTextFile$1(e,t,n,o,r){return __awaiter$1(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"archive:"+n,savedFormat:"text",archiveFolder:n},{})},{editor:a})}))}const extractKey$6=e=>e.fileName,createMatcher$3=({fileName:e})=>t=>lib$5.filterName(t,e),ARCHIVE_ICONS={"table.yaml":"img table","view.sql":"img view","proc.sql":"img procedure","func.sql":"img function","trigger.sql":"img sql-file","matview.sql":"img view"};function getArchiveIcon(e){return"jsonl"==e.fileType?"img archive":ARCHIVE_ICONS[e.fileType]}function instance$12(e,t,n){const o=["data"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t;const s=()=>{showModal(InputTextModal,{value:a.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("archive/rename-file",{file:a.fileName,folder:a.folderName,fileType:a.fileType,newFile:e})}})},c=()=>{showModal(ConfirmModal,{message:`Really delete file ${a.fileName}?`,onConfirm:()=>{apiCall("archive/delete-file",{file:a.fileName,folder:a.folderName,fileType:a.fileType})}})},l=()=>{openArchive(a.fileName,a.folderName)},u=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"QueryTab","img sql-file")},d=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"YamlEditorTab","img yaml")},p=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"JsonLinesEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,a=e.data)},[a,()=>{"jsonl"==a.fileType&&l(),a.fileType.endsWith(".sql")&&u(),a.fileType.endsWith(".yaml")&&d()},function(){return["jsonl"==a.fileType&&{text:"Open",onClick:l},"jsonl"==a.fileType&&{text:"Open in text editor",onClick:p},{text:"Delete",onClick:c},{text:"Rename",onClick:s},"jsonl"==a.fileType&&createQuickExportMenu((e=>()=>i(this,void 0,void 0,(function*(){exportQuickExportFile(a.fileName,{functionName:"archiveReader",props:{fileName:a.fileName,folderName:a.folderName}},e)}))),{text:"Export",onClick:()=>{openImportExportTab({sourceStorageType:"archive",sourceArchiveFolder:a.folderName,sourceList:[a.fileName]})}}),a.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:u},a.fileType.endsWith(".yaml")&&{text:"Open YAML",onClick:d},"jsonl"==a.fileType&&{text:"Open in profiler",submenu:getExtensions().drivers.filter((e=>e.profilerFormatterFunction)).map((e=>({text:e.title,onClick:()=>{openNewTab({title:"Profiler",icon:"img profiler",tabComponent:"ProfilerTab",props:{jslidLoad:`archive://${a.folderName}/${a.fileName}`,engine:e.engine}})}})))}]},r]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$14,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$j(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$l(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search archive files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[1]&&(f.filter=e[1]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected archive folder",$$slots:{default:[create_default_slot_2$j]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};8192&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$r(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:archiveFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$13(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$l]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8194&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8203&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const ARCHIVE_LABELS={jsonl:"JSON table data","table.yaml":"Tables","view.sql":"Views","proc.sql":"Procedures","func.sql":"Functions","trigger.sql":"Triggers","matview.sql":"Materialized views"};function instance$11(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(){showModal(InputTextModal,{value:"",label:"New file name",header:"Create new JSON lines",onConfirm:e=>c(this,void 0,void 0,(function*(){yield apiCall("archive/save-rows",{folder:i,file:e,rows:[{id:1,value:"val1"},{id:1,value:"val2"}]}),openNewTab({title:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:i}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useArchiveFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New NDJSON file",onClick:u}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>ARCHIVE_LABELS[e.fileType]||"Archive"]}class ArchiveFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$13,safe_not_equal,{})}}function create_fragment$12(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},{isBold:e[0].name==e[1]},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},1&n&&{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},3&n&&{isBold:e[0].name==e[1]},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$5.filterName(t,e.name);function instance$10(e,t,n){const o=["data"];let r,i,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,r=e))),component_subscribe(e,currentArchive,(e=>n(1,i=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:c}=t;const l=()=>{showModal(ConfirmModal,{message:c.name.endsWith(".link")?`Really delete link to folder ${c.name}? Folder content remains untouched.`:`Really delete folder ${c.name}?`,onConfirm:()=>{apiCall("archive/delete-folder",{folder:c.name})}})},u=()=>{const e=c.name.endsWith(".link"),t=e?c.name.slice(0,-5):c.name,n=e?".link":"";showModal(InputTextModal,{value:t,label:"New folder name",header:"Rename folder",onConfirm:e=>s(void 0,void 0,void 0,(function*(){yield apiCall("archive/rename-folder",{folder:c.name,newFolder:e+n}),i==c.name&&set_store_value(currentArchive,i=e+n,i)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$5.extractPackageName(r.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(r.connection,"_id","displayName")),{database:r.name}),modelFolder:`archive:${c.name}`},void 0,2)})`})},p=()=>s(void 0,void 0,void 0,(function*(){const e=yield apiCall("database-connections/generate-deploy-sql",{conid:r.connection._id,database:r.name,archiveFolder:c.name});e.errorMessage?showModal(ErrorMessageModal,{message:e.errorMessage}):newQuery({initialData:e.sql})})),m=()=>{var e;openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:"__model",sourceDatabase:`archive:${c.name}`,targetConid:null===(e=null==r?void 0:r.connection)||void 0===e?void 0:e._id,targetDatabase:null==r?void 0:r.name}})},f=()=>{var e;openNewTab({title:c.name,icon:"img duplicator",tabComponent:"DataDuplicatorTab",props:{conid:null===(e=null==r?void 0:r.connection)||void 0===e?void 0:e._id,database:null==r?void 0:r.name}},{editor:{archiveFolder:c.name}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,a=compute_rest_props(t,o)),"data"in e&&n(0,c=e.data)},[c,i,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&r&&[{text:"Data duplicator",onClick:f},{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&hasPermission("dbops/model/compare")&&_.get(r,"connection._id")&&{onClick:m,text:`Compare with ${_.get(r,"name")}`}]},a,()=>set_store_value(currentArchive,i=c.name,i)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$12,safe_not_equal,{data:0})}}var archiveFolderAppObject=Object.freeze({__proto__:null,default:ArchiveFolderAppObject,extractKey:extractKey$5,createMatcher:createMatcher$2});function create_default_slot_3$8(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$i(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$k(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search archive folders"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[0]&&(f.filter=e[0]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Add new archive folder",$$slots:{default:[create_default_slot_3$8]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh archive folder list",$$slots:{default:[create_default_slot_2$i]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$q(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:archiveFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$11(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$k]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$$(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useArchiveFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("archive/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.archiveFolder")]}class ArchiveFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$11,safe_not_equal,{})}}function create_default_slot_2$h(e){let t,n;return t=new ArchiveFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$j(e){let t,n;return t=new ArchiveFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$p(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$10(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$p]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class ArchiveWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$10,safe_not_equal,{})}}function create_fragment$$(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$5).map(e[6]),module:databaseAppObject,passProps:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};19&n&&(o.list=_.sortBy((e[4]||[]).filter(e[5]),func_1$5).map(e[6])),4&n&&(o.passProps=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func_1$5=e=>e.sortOrder??e.name;function instance$_(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let{filter:a}=t,{data:s}=t,{passProps:c}=t;return e.$$set=e=>{"filter"in e&&n(0,a=e.filter),"data"in e&&n(1,s=e.data),"passProps"in e&&n(2,c=e.passProps)},e.$$.update=()=>{2&e.$$.dirty&&(n(3,o=useDatabaseList({conid:s._id})),i(),i=subscribe(o,(e=>n(4,r=e))))},[a,s,c,o,r,e=>lib$5.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$_,create_fragment$$,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_2$9(e){let t,n,o,r;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_5$2]},$$scope:{ctx:e}}}),t.$on("click",e[23]),o=new InlineButton({props:{title:"Add new connection folder",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),o.$on("click",e[24]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};32&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};32&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_5$2(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$2(e){let t,n;return t=new FontIcon({props:{icon:"icon add-folder"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$g(e){let t,n,o,r,i,a,s,c,l;function u(t){e[21](t)}let d={placeholder:"Search connection or database"};function p(t){e[22](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind$2(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),r=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind$2(r,"filter",p)));let f=e[5]["new.connection"]?.enabled&&create_if_block_2$9(e);return c=new InlineButton({props:{title:"Refresh connection list",$$slots:{default:[create_default_slot_3$7]},$$scope:{ctx:e}}}),c.$on("click",e[12]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),f&&f.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),f&&f.m(e,n),insert(e,s,n),mount_component(c,e,n),l=!0},p(e,o){const a={};!n&&4&o[0]&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const l={};!i&&4&o[0]&&(i=!0,l.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(l),e[5]["new.connection"]?.enabled?f?(f.p(e,o),32&o[0]&&transition_in(f,1)):(f=create_if_block_2$9(e),f.c(),transition_in(f,1),f.m(s.parentNode,s)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros());const u={};32&o[1]&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(f),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(f),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),f&&f.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block_1$i(e){let t;return{c(){t=element("div"),attr(t,"class","br svelte-hcq8xe")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block$t(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),t.$on("click",e[33]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$i(e){let t;return{c(){t=text$1("Add new connection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$o(e){let t,n,o,r,i,a,s,c=e[1]&&!e[1].find(func$7)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$4);t=new AppObjectList({props:{list:_.sortBy(e[4],e[25]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[26],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[27],setIsExpanded:e[28],groupIconFunc:chevronExpandIcon,groupFunc:func_6,expandIconFunc:plusExpandIcon,onDropOnGroup:e[13],emptyGroupNames:e[8],sortGroups:!0,groupContextMenu:e[15],collapsedGroupNames:collapsedConnectionGroupNames}});let l=(e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0)&&create_if_block_1$i();r=new AppObjectList({props:{list:_.sortBy(e[3],e[29]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[30],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[31],setIsExpanded:e[32]}});let u=c&&create_if_block$t(e);return{c(){create_component(t.$$.fragment),n=space(),l&&l.c(),o=space(),create_component(r.$$.fragment),i=space(),u&&u.c(),a=empty()},m(e,c){mount_component(t,e,c),insert(e,n,c),l&&l.m(e,c),insert(e,o,c),mount_component(r,e,c),insert(e,i,c),u&&u.m(e,c),insert(e,a,c),s=!0},p(e,n){const i={};16&n[0]&&(i.list=_.sortBy(e[4],e[25])),1&n[0]&&(i.isExpandable=e[26]),4&n[0]&&(i.filter=e[2]),64&n[0]&&(i.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(i.getIsExpanded=e[27]),256&n[0]&&(i.emptyGroupNames=e[8]),t.$set(i),e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0?l||(l=create_if_block_1$i(),l.c(),l.m(o.parentNode,o)):l&&(l.d(1),l=null);const s={};8&n[0]&&(s.list=_.sortBy(e[3],e[29])),1&n[0]&&(s.isExpandable=e[30]),4&n[0]&&(s.filter=e[2]),64&n[0]&&(s.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(s.getIsExpanded=e[31]),r.$set(s),547&n[0]&&(c=e[1]&&!e[1].find(func$7)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$4)),c?u?(u.p(e,n),547&n[0]&&transition_in(u,1)):(u=create_if_block$t(e),u.c(),transition_in(u,1),u.m(a.parentNode,a)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(u),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(u),s=!1},d(e){destroy_component(t,e),e&&detach(n),l&&l.d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),u&&u.d(e),e&&detach(a)}}}function create_fragment$_(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$g]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),o.$on("drop",e[34]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};36&n[0]|32&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1023&n[0]|32&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$7=e=>!e.unsaved,func_1$4=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid,func_6=e=>e.parent;function instance$Z(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g;component_subscribe(e,openedConnections,(e=>n(0,s=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,c=e))),component_subscribe(e,volatileConnectionMapStore,(e=>n(19,u=e))),component_subscribe(e,commandsCustomized,(e=>n(5,p=e))),component_subscribe(e,expandedConnections,(e=>n(7,f=e))),component_subscribe(e,emptyConnectionGroupNames,(e=>n(8,h=e))),component_subscribe(e,openedTabs,(e=>n(9,g=e)));var $=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const b=useConnectionList();component_subscribe(e,b,(e=>n(1,l=e)));const v=useServerStatus();component_subscribe(e,v,(e=>n(20,d=e)));let y="";const x=(e,t)=>{const n=lib$5.safeJsonParse(e);(null==n?void 0:n._id)&&apiCall("connections/update",{_id:null==n?void 0:n._id,values:{parent:t}})},w=useConnectionColorFactory(3);component_subscribe(e,w,(e=>n(6,m=e)));return e.$$.update=()=>{1572866&e.$$.dirty[0]&&n(17,o=l&&d?l.map((e=>Object.assign(Object.assign({},e),{status:d[u[e._id]||e._id]}))):l),393217&e.$$.dirty[0]&&n(16,r=null==o?void 0:o.filter((e=>!e.unsaved||s.includes(e._id)||c.includes(e._id)))),65536&e.$$.dirty[0]&&n(4,i=r?null==r?void 0:r.filter((e=>void 0!==e.parent&&null!==e.parent&&0!==e.parent.length)):[]),65536&e.$$.dirty[0]&&n(3,a=r?null==r?void 0:r.filter((e=>void 0===e.parent||null===e.parent||0===e.parent.length)):[])},[s,l,y,a,i,p,m,f,h,g,b,v,()=>{for(const e of s)apiCall("server-connections/refresh",{conid:e})},x,w,function(e){return[{text:"Rename",onClick:()=>{showModal(InputTextModal,{value:e,label:"New folder name",header:"Rename folder",onConfirm:t=>$(this,void 0,void 0,(function*(){emptyConnectionGroupNames.update((n=>_.uniq(n.map((n=>n==e?t:n))))),apiCall("connections/batch-change-folder",{folder:e,newFolder:t})}))})}},{text:"Delete",onClick:()=>{showModal(ConfirmModal,{message:`Really delete folder ${e}? Connections in folder will be moved into root folder.`,onConfirm:()=>{emptyConnectionGroupNames.update((t=>t.filter((t=>t!=e)))),apiCall("connections/batch-change-folder",{folder:e,newFolder:""})}})}}]},r,o,c,u,d,function(e){y=e,n(2,y)},function(e){y=e,n(2,y)},()=>runCommand("new.connection"),()=>runCommand("new.connection.folder"),e=>(lib$5.getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>f.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},e=>(lib$5.getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>f.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},()=>runCommand("new.connection"),e=>{var t=e.dataTransfer.getData("app_object_drag_data");t&&x(t,"")}]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$_,safe_not_equal,{},null,[-1,-1])}}function create_if_block$s(e){let t,n,o,r;const i=[create_if_block_1$h,create_else_block$b],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block$b(e){let t,n;const o=[e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseAppObject({props:r}),t.$on("dragstart",e[8]),t.$on("dragenter",e[9]),t.$on("dragend",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$h(e){let t,n;const o=[e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseObjectAppObject({props:r}),t.$on("dragstart",e[5]),t.$on("dragenter",e[6]),t.$on("dragend",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Z(e){let t,n,o=e[0]&&create_if_block$s(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$s(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}const extractKey$4=e=>e.objectTypeField?`${e.objectTypeField}||${e.schemaName}||${e.pureName}`:e.connection._id;function dragExchange(e,t,n,o,r){if(!r(e,t)){const i=_.findIndex(n,(t=>r(t,e))),a=_.findIndex(n,(e=>r(e,t)));if(i>=0&&a>=0&&i!=a){const e=[...n],t=e[i];e[i]=e[a],e[a]=t,o(e)}}}function instance$Y(e,t,n){let o,r,i;component_subscribe(e,draggedPinnedObject,(e=>n(1,o=e))),component_subscribe(e,pinnedTables,(e=>n(2,r=e))),component_subscribe(e,pinnedDatabases,(e=>n(3,i=e)));let{data:a}=t;return e.$$set=e=>{n(4,t=assign(assign({},t),exclude_internal_props(e))),"data"in e&&n(0,a=e.data)},t=exclude_internal_props(t),[a,o,r,i,t,()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,r,(e=>set_store_value(pinnedTables,r=e,r)),((e,t)=>e?.pureName==t?.pureName&&e?.schemaName==t?.schemaName))},()=>{set_store_value(draggedPinnedObject,o=null,o)},()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,i,(e=>set_store_value(pinnedDatabases,i=e,i)),((e,t)=>e?.name==t?.name&&e?.connection?._id==t?.connection?._id))},()=>{set_store_value(draggedPinnedObject,o=null,o)}]}class PinnedAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$Y,create_fragment$Z,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$n(e){let t,n;return t=new AppObjectList({props:{list:[..._.compact(e[1]),..._.compact(e[0])],module:pinnedAppObject,passProps:{connectionColorFactory:e[2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};3&n&&(o.list=[..._.compact(e[1]),..._.compact(e[0])]),4&n&&(o.passProps={connectionColorFactory:e[2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Y(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};71&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$X(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(4,r=e))),component_subscribe(e,pinnedTables,(e=>n(5,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(1,a=e)));const c=useConnectionColorFactory(3);return component_subscribe(e,c,(e=>n(2,s=e))),e.$$.update=()=>{48&e.$$.dirty&&n(0,o=i.filter((e=>{var t;return(null==e?void 0:e.conid)==(null===(t=null==r?void 0:r.connection)||void 0===t?void 0:t._id)&&(null==e?void 0:e.database)==(null==r?void 0:r.name)})))},[o,a,s,c,r,i]}class PinnedObjectsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$Y,safe_not_equal,{})}}function create_fragment$X(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].columnName},2&n&&{extInfo:e[1]},1&n&&{icon:getColumnIcon(e[0],!0)},4&n&&{menu:e[2]},o[6]]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$3=({columnName:e})=>e;function instance$W(e,t,n){let o;const r=["data"];let i=compute_rest_props(t,r),{data:a}=t;function s(){renameDatabaseObjectDialog(a.conid,a.database,a.columnName,((e,t)=>{e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName)).columns.find((e=>e.columnName==a.columnName)).columnName=t}))}function c(){alterDatabaseDialog(a.conid,a.database,(e=>{const t=e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName));_.remove(t.columns,(e=>e.columnName==a.columnName))}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,r)),"data"in e&&n(0,a=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a.foreignKey?`${a.dataType} -> ${a.foreignKey.refTableName}`:a.dataType)},[a,o,function(){return[{text:"Rename column",onClick:s},{text:"Drop column",onClick:c},{text:"Copy name",onClick:()=>navigator.clipboard.writeText(a.columnName)}]},i]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$X,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$W(e){let t,n;return t=new AppObjectList({props:{list:(e[0].columns||[]).map(e[1]),module:columnAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.list=(e[0].columns||[]).map(e[1])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$V(e,t,n){let{data:o}=t;return e.$$set=e=>{"data"in e&&n(0,o=e.data)},[o,e=>({...o,...e,foreignKey:lib$5.findForeignKeyForColumn(o,e)})]}class SubColumnParamList extends SvelteComponent{constructor(e){super(),init(this,e,instance$V,create_fragment$W,safe_not_equal,{data:0})}}function create_if_block$r(e){let t,n,o,r,i,a,s,c,l,u;r=new SelectField({props:{isNative:!0,options:e[3]?.useSeparateSchemas?e[0]?.map(func$6)??[]:[{label:`All schemas (${e[1]?.length??0})`,value:""},...e[8].map(e[17])],value:e[5]??e[9]??"",selectClass:"schema-select"}}),r.$on("change",e[18]);let d=null!=e[5]&&create_if_block_1$g(e);return s=new InlineButton({props:{title:"Add new schema",square:!0,$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),s.$on("click",e[10]),l=new InlineButton({props:{title:"Delete schema",square:!0,disabled:!e[9],$$slots:{default:[create_default_slot$m]},$$scope:{ctx:e}}}),l.$on("click",e[11]),{c(){t=element("div"),n=element("div"),n.textContent="Schema:",o=space(),create_component(r.$$.fragment),i=space(),d&&d.c(),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),attr(n,"class","mr-1"),attr(t,"class","wrapper svelte-1bew19q"),toggle_class(t,"negativeMarginTop",e[4])},m(e,p){insert(e,t,p),append(t,n),append(t,o),mount_component(r,t,null),append(t,i),d&&d.m(t,null),append(t,a),mount_component(s,t,null),append(t,c),mount_component(l,t,null),u=!0},p(e,n){const o={};395&n&&(o.options=e[3]?.useSeparateSchemas?e[0]?.map(func$6)??[]:[{label:`All schemas (${e[1]?.length??0})`,value:""},...e[8].map(e[17])]),544&n&&(o.value=e[5]??e[9]??""),r.$set(o),null!=e[5]?d?(d.p(e,n),32&n&&transition_in(d,1)):(d=create_if_block_1$g(e),d.c(),transition_in(d,1),d.m(t,a)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros());const i={};2097152&n&&(i.$$scope={dirty:n,ctx:e}),s.$set(i);const c={};512&n&&(c.disabled=!e[9]),2097152&n&&(c.$$scope={dirty:n,ctx:e}),l.$set(c),(!u||16&n)&&toggle_class(t,"negativeMarginTop",e[4])},i(e){u||(transition_in(r.$$.fragment,e),transition_in(d),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(d),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(r),d&&d.d(),destroy_component(s),destroy_component(l)}}}function create_if_block_1$g(e){let t,n;return t=new InlineButton({props:{title:"Reset to default",$$slots:{default:[create_default_slot_2$f]},$$scope:{ctx:e}}}),t.$on("click",e[19]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2097152&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$f(e){let t,n;return t=new FontIcon({props:{icon:"icon close"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$h(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$m(e){let t,n;return t=new FontIcon({props:{icon:"icon minus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$V(e){let t,n,o=e[8].length>0&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[8].length>0?o?(o.p(e,n),256&n&&transition_in(o,1)):(o=create_if_block$r(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function computeCountBySchema(e){const t={};for(const n of e)n.schemaName&&(t[n.schemaName]||(t[n.schemaName]=0),t[n.schemaName]+=1);return t}const func$6=e=>({label:e.schemaName,value:e.schemaName});function instance$U(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(16,a=e))),component_subscribe(e,appliedCurrentSchema,(e=>n(9,s=e)));var c,l,u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{schemaList:d}=t,{objectList:p}=t,{conid:m}=t,{database:f}=t,{connection:h}=t,{negativeMarginTop:g=!1}=t,{driver:$}=t,b=null;return e.$$set=e=>{"schemaList"in e&&n(0,d=e.schemaList),"objectList"in e&&n(1,p=e.objectList),"conid"in e&&n(12,m=e.conid),"database"in e&&n(2,f=e.database),"connection"in e&&n(3,h=e.connection),"negativeMarginTop"in e&&n(4,g=e.negativeMarginTop),"driver"in e&&n(13,$=e.driver)},e.$$.update=()=>{if(4100&e.$$.dirty&&n(6,o=`selected-schema-${m}-${f}`),106569&e.$$.dirty&&((null==h?void 0:h.useSeparateSchemas)?n(5,b=null!==n(15,l=lib$5.extractSchemaNameFromComposite(null==a?void 0:a.name))&&void 0!==l?l:lib$5.findDefaultSchema(d,null==$?void 0:$.dialect)):n(5,b=localStorage.getItem(null!=o?o:""))),2&e.$$.dirty&&n(7,i=computeCountBySchema(null!=p?p:[])),8353&e.$$.dirty)if(null!=b)set_store_value(appliedCurrentSchema,s=b,s);else{const e=Object.keys(i),t=lib$5.findDefaultSchema(d,null==$?void 0:$.dialect);1==e.length&&e[0]==t?set_store_value(appliedCurrentSchema,s=e[0],s):set_store_value(appliedCurrentSchema,s=null,s)}16545&e.$$.dirty&&n(8,r=_.uniq(_.compact([b,...Object.keys(i),...null!==n(14,c=null==d?void 0:d.map((e=>e.schemaName)))&&void 0!==c?c:[]])))},[d,p,f,h,g,b,o,i,r,s,function(){showModal(InputTextModal,{header:"Create schema",value:"newschema",label:"Schema name",onConfirm:e=>u(this,void 0,void 0,(function*(){const t={conid:m,database:f};yield runOperationOnDatabase(t,{type:"createSchema",schemaName:e},"schema-list-changed"),b&&n(5,b=e)}))})},function(){showModal(ConfirmModal,{message:`Really drop schema ${s}?`,onConfirm:()=>u(this,void 0,void 0,(function*(){runOperationOnDatabase({conid:m,database:f},{type:"dropSchema",schemaName:s},"schema-list-changed"),n(5,b=null)}))})},m,$,c,l,a,e=>({label:`${e} (${i[e]??0})`,value:e}),e=>{h?.useSeparateSchemas?switchCurrentDatabase({connection:h,name:`${lib$5.extractDbNameFromComposite(f)}::${e.detail}`}):n(5,b=e.detail),localStorage.setItem(o,e.detail)},()=>{n(5,b=null),localStorage.removeItem(o)}]}class SchemaSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$U,create_fragment$V,safe_not_equal,{schemaList:0,objectList:1,conid:12,database:2,connection:3,negativeMarginTop:4,driver:13})}}function create_else_block$a(e){let t,n,o,r,i,a;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),o=new SchemaSelector({props:{schemaList:_.isArray(e[14])?e[14]:null,objectList:e[6],connection:e[5],conid:e[0],database:e[1],driver:e[7],negativeMarginTop:!0}}),i=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p(e,n){const r={};536870916&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};16384&n&&(a.schemaList=_.isArray(e[14])?e[14]:null),64&n&&(a.objectList=e[6]),32&n&&(a.connection=e[5]),1&n&&(a.conid=e[0]),2&n&&(a.database=e[1]),128&n&&(a.driver=e[7]),o.$set(a);const s={};536912063&n&&(s.$$scope={dirty:n,ctx:e}),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_if_block_1$f(e){let t,n,o,r;return t=new SchemaSelector({props:{schemaList:_.isArray(e[14])?e[14]:null,objectList:e[6],connection:e[5],conid:e[0],database:e[1],driver:e[7]}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16384&n&&(r.schemaList=_.isArray(e[14])?e[14]:null),64&n&&(r.objectList=e[6]),32&n&&(r.connection=e[5]),1&n&&(r.conid=e[0]),2&n&&(r.database=e[1]),128&n&&(r.driver=e[7]),t.$set(r);const i={};536871042&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block$q(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};536879104&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$1(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[24](t)}let p={placeholder:"Search in tables, objects, # prefix in columns"};function m(t){e[25](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[2]&&(f.filter=e[2]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[17]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",square:!0,$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[16]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&4&o&&(i=!0,s.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(s);const c={};536870912&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$2(e){let t,n;return t=new AppObjectList({props:{list:e[3].filter(e[26]).map(e[27]),module:databaseObjectAppObject,groupFunc:e[28],subItemsComponent:SubColumnParamList,isExpandable:func_3$1,expandIconFunc:chevronExpandIcon,filter:e[2],passProps:{showPinnedInsteadOfUnpin:!0,connection:e[5],hideSchemaName:!!e[15]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32779&n&&(o.list=e[3].filter(e[26]).map(e[27])),128&n&&(o.groupFunc=e[28]),4&n&&(o.filter=e[2]),32800&n&&(o.passProps={showPinnedInsteadOfUnpin:!0,connection:e[5],hideSchemaName:!!e[15]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$4(e){let t,n;return t=new LoadingInfo({props:{message:e[13]?.feedback?.analysingMessage||"Loading database structure"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n&&(o.message=e[13]?.feedback?.analysingMessage||"Loading database structure"),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$1(e){let t,n,o,r;const i=[create_if_block_4$4,create_else_block_1$2],a=[];function s(e,t){return e[13]&&("pending"==e[13].name||"checkStructure"==e[13].name||"loadStructure"==e[13].name)&&e[4]||!e[4]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot_5$1(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$6(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[22]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};536870912&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_4$1(e){let t;return{c(){t=text$1("New table")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$8(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[23]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};536871040&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t,n,o=(e[7]?.collectionSingularLabel??"collection/container")+"";return{c(){t=text$1("New "),n=text$1(o)},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,t){128&t&&o!==(o=(e[7]?.collectionSingularLabel??"collection/container")+"")&&set_data(n,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_default_slot_2$e(e){let t,n,o,r,i,a,s,c,l,u=e[7]?.databaseEngineTypes?.includes("sql"),d=e[7]?.databaseEngineTypes?.includes("document");t=new ErrorInfo({props:{message:`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`,icon:"img alert"}}),i=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),i.$on("click",e[16]);let p=u&&create_if_block_3$6(e),m=d&&create_if_block_2$8(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=space(),create_component(i.$$.fragment),a=space(),p&&p.c(),s=space(),m&&m.c(),c=empty(),attr(o,"class","m-1")},m(e,u){mount_component(t,e,u),insert(e,n,u),insert(e,o,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),p&&p.m(e,u),insert(e,s,u),m&&m.m(e,u),insert(e,c,u),l=!0},p(e,n){const o={};2&n&&(o.message=`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`),t.$set(o);const r={};536870912&n&&(r.$$scope={dirty:n,ctx:e}),i.$set(r),128&n&&(u=e[7]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),128&n&&transition_in(p,1)):(p=create_if_block_3$6(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),128&n&&(d=e[7]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),128&n&&transition_in(m,1)):(m=create_if_block_2$8(e),m.c(),transition_in(m,1),m.m(c.parentNode,c)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(r),destroy_component(i,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$g(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$l(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[13].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),o.$on("click",e[16]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};8192&n&&(r.message=e[13].message),t.$set(r);const i={};536870912&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$U(e){let t,n,o,r;const i=[create_if_block$q,create_if_block_1$f,create_else_block$a],a=[];function s(e,t){return e[13]&&"error"==e[13].name?0:0==e[3].length&&e[13]&&"pending"!=e[13].name&&"checkStructure"!=e[13].name&&"loadStructure"!=e[13].name&&e[4]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_3$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$T(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;component_subscribe(e,currentDatabase,(e=>n(20,f=e))),component_subscribe(e,extensions,(e=>n(21,h=e))),component_subscribe(e,appliedCurrentSchema,(e=>n(15,v=e))),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));let{conid:S}=t,{database:T}=t,A="";return e.$$set=e=>{"conid"in e&&n(0,S=e.conid),"database"in e&&n(1,T=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(12,o=useDatabaseInfo({conid:S,database:T})),y(),y=subscribe(o,(e=>n(4,p=e)))),3&e.$$.dirty&&(n(11,r=useDatabaseStatus({conid:S,database:T})),C(),C=subscribe(r,(e=>n(13,$=e)))),3&e.$$.dirty&&(n(10,i=useSchemaList({conid:S,database:T})),k(),k=subscribe(i,(e=>n(14,b=e)))),1&e.$$.dirty&&(n(9,a=useConnectionInfo({conid:S})),w(),w=subscribe(a,(e=>n(5,g=e)))),2097184&e.$$.dirty&&n(7,s=lib$5.findEngineDriver(g,h)),1572864&e.$$.dirty&&n(18,l=filterAppsForDatabase(null==f?void 0:f.connection,null==f?void 0:f.name,m||[])),262160&e.$$.dirty&&n(3,u=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((p||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...l.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))])),12&e.$$.dirty&&n(6,d=u.filter((e=>{const t=createMatcher$7(e);return!(t&&!t(A))})))},n(8,c=useUsedApps()),x(),x=subscribe(c,(e=>n(19,m=e))),[S,T,A,u,p,g,d,s,c,a,i,r,o,$,b,v,()=>{apiCall("database-connections/refresh",{conid:S,database:T}),apiCall("database-connections/dispatch-database-changed-event",{event:"schema-list-changed",conid:S,database:T})},function(){var e,t;const n=[];return(null===(e=null==s?void 0:s.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==s?void 0:s.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),s&&n.push(...s.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},l,m,f,h,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){A=e,n(2,A)},function(e){A=e,n(2,A)},e=>!v||e.schemaName==v,e=>({...e,conid:S,database:T}),e=>getObjectTypeFieldLabel(e.objectTypeField,s)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$U,safe_not_equal,{conid:0,database:1})}}function create_default_slot_3$5(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("change",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$d(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$5),value:e[3],isNative:!0}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.options=e[0].supportedKeyTypes.map(func$5)),8&n&&(o.value=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$f(e){let t,n,o,r,i,a,s,c,l;return n=new FormFieldTemplateLarge({props:{label:"Key",type:"text",noMargin:!0,$$slots:{default:[create_default_slot_3$5]},$$scope:{ctx:e}}}),a=new FormFieldTemplateLarge({props:{label:"Type",type:"combo",noMargin:!0,$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),c=new DbKeyItemDetail({props:{dbKeyFields:e[0].supportedKeyTypes.find(e[12]).dbKeyFields,item:e[1],onChangeItem:e[13]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","m-3"),attr(t,"class","container svelte-eg2ir1")},m(e,u){insert(e,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(t,i),mount_component(a,t,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){const o={};32772&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};32777&t&&(r.$$scope={dirty:t,ctx:e}),a.$set(r);const i={};9&t&&(i.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(i.item=e[1]),2&t&&(i.onChangeItem=e[13]),c.$set(i)},i(e){l||(transition_in(n.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(a),destroy_component(c)}}}function create_header_slot$1(e){let t;return{c(){t=text$1("Add key")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$k(e){let t,n;const o=[e[5]];let r={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$f]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$T(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};32815&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$5=e=>({value:e.name,label:e.label});function instance$S(e,t,n){const o=["conid","database","driver","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:a}=t,{database:s}=t,{driver:c}=t,{onConfirm:l}=t,u={},d="",p=c.supportedKeyTypes[0].name;const m=()=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),l(Object.assign({type:p,keyName:d},u))}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"conid"in e&&n(6,a=e.conid),"database"in e&&n(7,s=e.database),"driver"in e&&n(0,c=e.driver),"onConfirm"in e&&n(8,l=e.onConfirm)},[c,u,d,p,m,r,a,s,l,e=>m(),e=>{n(2,d=e.target.value)},e=>{n(3,p=e.detail)},e=>e.name==p,e=>{n(1,u=e)}]}class AddDbKeyModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$S,create_fragment$T,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$p(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:e[3].root,indentLevel:e[4]+1,reloadToken:e[7],connection:e[2],filter:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.root=e[3].root),16&n&&(o.indentLevel=e[4]+1),128&n&&(o.reloadToken=e[7]),4&n&&(o.connection=e[2]),32&n&&(o.filter=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$S(e){let t,n,o,r;t=new AppObjectCore({props:{icon:lib$5.getIconForRedisType(e[3].type),title:e[3].text,expandIcon:"dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box",extInfo:e[3].count?`(${e[3].count})`:null,indentLevel:e[4],menu:e[9]}}),t.$on("expand",e[12]),t.$on("click",e[13]);let i=e[6]&&create_if_block$p(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[n]){const r={};8&n&&(r.icon=lib$5.getIconForRedisType(e[3].type)),8&n&&(r.title=e[3].text),72&n&&(r.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(r.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(r.indentLevel=e[4]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block$p(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function instance$R(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,f=0;return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"connection"in e&&n(2,c=e.connection),"root"in e&&n(10,l=e.root),"item"in e&&n(3,u=e.item),"indentLevel"in e&&n(4,d=e.indentLevel),"filter"in e&&n(5,p=e.filter),"onRefreshParent"in e&&n(11,m=e.onRefreshParent)},[a,s,c,u,d,p,i,f,o,function(){return[null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete key",onClick:()=>{showModal(ConfirmModal,{message:`Really delete key ${u.key}?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"del",args:[u.key]}),m&&m()}))})}},null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Rename key",onClick:()=>{showModal(InputTextModal,{value:u.key,label:"New name",header:"Rename key",onConfirm:e=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"rename",args:[u.key,e]}),m&&m()}))})}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Reload",onClick:()=>{n(7,f+=1)}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete branch",onClick:()=>{const e=`${u.root}:*`;showModal(ConfirmModal,{message:`Really delete branch ${e} with all keys?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"mdel",args:[e]}),m&&m()}))})}},,{label:"Generate script",onClick:()=>r(this,void 0,void 0,(function*(){const e=yield apiCall("database-connections/export-keys",{conid:a,database:s,options:{keyPrefix:u.root||u.key}});e.errorMessage?showSnackbarError(e.errorMessage):newQuery({title:"Export #",initialData:e})}))}]},l,m,()=>{"dir"==u.type&&n(6,i=!i)},()=>{"dir"==u.type?n(6,i=!i):(openNewTab({tabComponent:"DbKeyDetailTab",title:u.text,icon:"img keydb",props:{isDefaultBrowser:!0,conid:a,database:s}}),set_store_value(activeDbKeysStore,o={...o,[`${a}:${s}`]:u.key},o))}]}class DbKeysTreeNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$S,safe_not_equal,{conid:0,database:1,connection:2,root:10,item:3,indentLevel:4,filter:5,onRefreshParent:11})}}function get_then_context(e){const t=_.sortBy(e[11]||[],"text");e[12]=t}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_catch_block(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block(e){let t,n,o;get_then_context(e);let r=e[12].slice(0,e[8]),i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block$d(get_each_context$d(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));let s=e[12].length>e[8]&&create_if_block$o(e);return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=space(),s&&s.c(),n=empty()},m(e,r){for(let t=0;t<i.length;t+=1)i[t]&&i[t].m(e,r);insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(r=e[12].slice(0,e[8]),n=0;n<r.length;n+=1){const a=get_each_context$d(e,r,n);i[n]?(i[n].p(a,o),transition_in(i[n],1)):(i[n]=create_each_block$d(a),i[n].c(),transition_in(i[n],1),i[n].m(t.parentNode,t))}for(group_outros(),n=r.length;n<i.length;n+=1)a(n);check_outros()}e[12].length>e[8]?s?(s.p(e,o),471&o&&transition_in(s,1)):(s=create_if_block$o(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);transition_in(s),o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);transition_out(s),o=!1},d(e){destroy_each(i,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$d(e){let t,n;return t=new DbKeysTreeNode({props:{conid:e[0],database:e[1],root:e[2],connection:e[5],item:e[13],filter:e[6],indentLevel:e[3],onRefreshParent:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),4&n&&(o.root=e[2]),32&n&&(o.connection=e[5]),471&n&&(o.item=e[13]),64&n&&(o.filter=e[6]),8&n&&(o.indentLevel=e[3]),128&n&&(o.onRefreshParent=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$o(e){let t,n;return t=new AppObjectCore({props:{indentLevel:e[3],title:"Show more...",icon:"icon dots-horizontal",expandIcon:"icon invisible-box"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.indentLevel=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key list",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$R(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block,then:create_then_block,catch:create_catch_block,value:11,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,215&o&&n!==(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const SHOW_INCREMENT=500;function instance$Q(e,t,n){let{conid:o}=t,{database:r}=t,{root:i}=t,{indentLevel:a=0}=t,{reloadToken:s=0}=t,{connection:c}=t,{filter:l}=t,u=0,d=SHOW_INCREMENT;return e.$$set=e=>{"conid"in e&&n(0,o=e.conid),"database"in e&&n(1,r=e.database),"root"in e&&n(2,i=e.root),"indentLevel"in e&&n(3,a=e.indentLevel),"reloadToken"in e&&n(4,s=e.reloadToken),"connection"in e&&n(5,c=e.connection),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,u,d,()=>{n(7,u+=1)},()=>{n(8,d+=SHOW_INCREMENT)}]}class DbKeysSubTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$Q,create_fragment$R,safe_not_equal,{conid:0,database:1,root:2,indentLevel:3,reloadToken:4,connection:5,filter:6})}}function create_default_slot_3$4(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$c(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$e(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search keys",isDebounced:!0};function m(t){e[8](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[2]&&(f.filter=e[2]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Add new key",$$slots:{default:[create_default_slot_3$4]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh key list",$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&4&o&&(i=!0,c.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(c);const u={};1024&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};1024&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$j(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:"",reloadToken:e[3],connection:e[4]?.connection,filter:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.reloadToken=e[3]),16&n&&(o.connection=e[4]?.connection),4&n&&(o.filter=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1028&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1055&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$P(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,c=0;function l(){n(3,c+=1)}return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},[a,s,i,c,o,l,function(){const e=null==o?void 0:o.connection,t=null==o?void 0:o.name,n=lib$5.findEngineDriver(e,getExtensions());showModal(AddDbKeyModal,{conid:e._id,database:t,driver:n,onConfirm:o=>r(this,void 0,void 0,(function*(){const r=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:r.addMethod,args:[o.keyName,...r.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){i=e,n(2,i)},function(e){i=e,n(2,i)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$P,create_fragment$Q,safe_not_equal,{conid:0,database:1})}}function create_default_slot_2$b(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$d(e){let t,n,o,r,i,a,s,c;function l(t){e[3](t)}let u={placeholder:"Search connection or database"};function d(t){e[4](t)}void 0!==e[1]&&(u.value=e[1]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind$2(t,"value",l)));let p={};return void 0!==e[1]&&(p.filter=e[1]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind$2(r,"filter",d))),s=new InlineButton({props:{title:"Refresh database list",$$slots:{default:[create_default_slot_2$b]},$$scope:{ctx:e}}}),s.$on("click",e[2]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&2&o&&(i=!0,c.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(c);const l={};32&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$i(e){let t,n;return t=new SubDatabaseList({props:{data:e[0],filter:e[1],passProps:{}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.data=e[0]),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$P(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$d]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};34&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};35&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$O(e,t,n){let{connection:o}=t,r="";return e.$$set=e=>{"connection"in e&&n(0,o=e.connection)},[o,r,()=>{apiCall("server-connections/refresh",{conid:o._id})},function(e){r=e,n(1,r)},function(e){r=e,n(1,r)}]}class SingleConnectionDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$O,create_fragment$P,safe_not_equal,{connection:0})}}function create_if_block_1$e(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Connections",name:"connections",height:"35%",storageName:"connectionsWidget",$$slots:{default:[create_default_slot_7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$n(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Databases",name:"databases",height:"35%",storageName:"databasesWidget",$$slots:{default:[create_default_slot_6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65792&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7(e){let t,n;return t=new ConnectionList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6(e){let t,n;return t=new SingleConnectionDatabaseList({props:{connection:e[8]?.singleConnection}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.connection=e[8]?.singleConnection),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5(e){let t,n;return t=new PinnedObjectsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4(e){let t,n;return t=new SqlObjectList({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$3(e){let t,n;return t=new DbKeysTree({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$a(e){let t,n;return t=new ErrorInfo({props:{message:"Database not selected",icon:"img alert"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$h(e){let t,n,o,r,i,a,s,c,l,u,d;const p=[create_if_block$n,create_if_block_1$e],m=[];function f(e,t){return e[8]?.singleConnection?0:e[8]?.singleDbConnection?-1:1}return~(t=f(e))&&(n=m[t]=p[t](e)),r=new WidgetColumnBarItem({props:{title:"Pinned",name:"pinned",height:"15%",storageName:"pinnedItemsWidget",skip:!_.compact(e[9]).length&&!e[10].some(e[15]),$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}}),a=new WidgetColumnBarItem({props:{title:e[6]?.databaseEngineTypes?.includes("document")?e[6]?.collectionPluralLabel??"Collections/containers":"Tables, views, functions",name:"dbObjects",storageName:"dbObjectsWidget",skip:!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document"))),$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),c=new WidgetColumnBarItem({props:{title:"Keys",name:"dbObjects",storageName:"dbObjectsWidget",skip:!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue")),$$slots:{default:[create_default_slot_3$3]},$$scope:{ctx:e}}}),u=new WidgetColumnBarItem({props:{title:"Database content",name:"dbObjects",storageName:"dbObjectsWidget",skip:e[1]&&(e[3]||e[4]),$$slots:{default:[create_default_slot_1$c]},$$scope:{ctx:e}}}),{c(){n&&n.c(),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment)},m(e,n){~t&&m[t].m(e,n),insert(e,o,n),mount_component(r,e,n),insert(e,i,n),mount_component(a,e,n),insert(e,s,n),mount_component(c,e,n),insert(e,l,n),mount_component(u,e,n),d=!0},p(e,i){let s=t;t=f(e),t===s?~t&&m[t].p(e,i):(n&&(group_outros(),transition_out(m[s],1,1,(()=>{m[s]=null})),check_outros()),~t?(n=m[t],n?n.p(e,i):(n=m[t]=p[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null);const l={};1542&i&&(l.skip=!_.compact(e[9]).length&&!e[10].some(e[15])),65536&i&&(l.$$scope={dirty:i,ctx:e}),r.$set(l);const d={};64&i&&(d.title=e[6]?.databaseEngineTypes?.includes("document")?e[6]?.collectionPluralLabel??"Collections/containers":"Tables, views, functions"),90&i&&(d.skip=!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document")))),65546&i&&(d.$$scope={dirty:i,ctx:e}),a.$set(d);const h={};90&i&&(h.skip=!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue"))),65546&i&&(h.$$scope={dirty:i,ctx:e}),c.$set(h);const g={};26&i&&(g.skip=e[1]&&(e[3]||e[4])),65536&i&&(g.$$scope={dirty:i,ctx:e}),u.$set(g)},i(e){d||(transition_in(n),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(n),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){~t&&m[t].d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),destroy_component(a,e),e&&detach(s),destroy_component(c,e),e&&detach(l),destroy_component(u,e)}}}function create_fragment$O(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.hidden=e[0]),67422&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$N(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h=noop$3,g=noop$3;var _,$;component_subscribe(e,currentDatabase,(e=>n(2,l=e))),component_subscribe(e,extensions,(e=>n(13,u=e))),component_subscribe(e,pinnedDatabases,(e=>n(9,m=e))),component_subscribe(e,pinnedTables,(e=>n(10,f=e))),e.$$.on_destroy.push((()=>h())),e.$$.on_destroy.push((()=>g()));let{hidden:b=!1}=t;return e.$$set=e=>{"hidden"in e&&n(0,b=e.hidden)},e.$$.update=()=>{2052&e.$$.dirty&&n(1,o=null===n(11,_=null==l?void 0:l.connection)||void 0===_?void 0:_._id),2&e.$$.dirty&&(n(7,r=useConnectionInfo({conid:o})),h(),h=subscribe(r,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,i=lib$5.findEngineDriver(d,u)),4100&e.$$.dirty&&n(4,s=null===n(12,$=null==l?void 0:l.connection)||void 0===$?void 0:$.singleDatabase),4&e.$$.dirty&&n(3,c=null==l?void 0:l.name)},n(5,a=useConfig()),g(),g=subscribe(a,(e=>n(8,p=e))),[b,o,l,c,s,a,i,r,p,m,f,_,$,u,d,e=>e&&e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$O,safe_not_equal,{hidden:0})}}function create_default_slot_2$9(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$b(e){let t,n,o,r,i,a,s,c;function l(t){e[21](t)}let u={placeholder:"Search saved files"};function d(t){e[22](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind$2(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind$2(r,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),s.$on("click",e[11]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const l={};16777216&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$g(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[23],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16777217&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2&n&&(i.list=e[1]),1&n&&(i.filter=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$N(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16777219&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$M(e,t,n){let o,r,i,a,s,c,l,u,d,p,m="";const f=useFiles({folder:"sql"});component_subscribe(e,f,(e=>n(20,p=e)));const h=useFiles({folder:"shell"});component_subscribe(e,h,(e=>n(19,d=e)));const g=useFiles({folder:"markdown"});component_subscribe(e,g,(e=>n(18,u=e)));const $=useFiles({folder:"charts"});component_subscribe(e,$,(e=>n(17,l=e)));const b=useFiles({folder:"query"});component_subscribe(e,b,(e=>n(16,c=e)));const v=useFiles({folder:"sqlite"});component_subscribe(e,v,(e=>n(15,s=e)));const y=useFiles({folder:"diagrams"});component_subscribe(e,y,(e=>n(14,a=e)));const x=useFiles({folder:"jobs"});component_subscribe(e,x,(e=>n(12,r=e)));const w=useFiles({folder:"perspectives"});component_subscribe(e,w,(e=>n(13,i=e)));return e.$$.update=()=>{2093056&e.$$.dirty&&n(1,o=[...p||[],...d||[],...u||[],...l||[],...c||[],...s||[],...a||[],...i||[],...r||[]])},[m,o,f,h,g,$,b,v,y,x,w,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams","perspectives","jobs"]})},r,i,a,s,c,l,u,d,p,function(e){m=e,n(0,m)},function(e){m=e,n(0,m)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$N,safe_not_equal,{})}}function create_if_block_1$d(e){let t,n,o,r,i,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","info svelte-xmmjcw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||1&t)&&a!==(a=e[0].props.database+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$m(e){let t,n,o=e[0].contentPreview+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","info svelte-xmmjcw")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[0].contentPreview+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_default_slot$f(e){let t,n,o,r=e[0].props&&e[0].props.database&&create_if_block_1$d(e),i=e[0].contentPreview&&create_if_block$m(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_1$d(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[0].contentPreview?i?i.p(e,o):(i=create_if_block$m(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_fragment$M(e){let t,n;const o=[e[3],{data:e[0]},{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},{icon:e[0].icon},{isBold:!!e[0].selected},{isBusy:e[0].busy},{menu:e[2]}];let r={$$slots:{default:[create_default_slot$f]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},1&n&&{icon:e[0].icon},1&n&&{isBold:!!e[0].selected},1&n&&{isBusy:e[0].busy},4&n&&{menu:e[2]}]):{};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$2=e=>e.tabid;function instance$L(e,t,n){const o=["data"];let r=compute_rest_props(t,o),{data:i}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=i.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=i.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==i.tabid?void 0:e.closedTime}))),i.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},r]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$M,safe_not_equal,{data:0})}}var closedTabAppObject=Object.freeze({__proto__:null,default:ClosedTabAppObject,extractKey:extractKey$2});function create_default_slot_3$2(e){let t,n;return t=new SavedFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$l(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$8(e){let t,n;return t=new AppObjectList({props:{list:e[1]||[],module:favoriteFileAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.list=e[1]||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$a(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$e(e){let t,n,o,r,i=hasPermission("files/favorites/read");t=new WidgetColumnBarItem({props:{title:"Saved files",name:"files",height:"70%",storageName:"savedFilesWidget",$$slots:{default:[create_default_slot_3$2]},$$scope:{ctx:e}}});let a=i&&create_if_block$l(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),i&&a.p(e,n)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$L(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$K(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useFavorites()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$L,safe_not_equal,{})}}function get_each_context$c(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$9(e){let t,n,o=e[3].version+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[3].version+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$k(e){let t;return{c(){t=element("div"),t.textContent="(builtin)",attr(t,"class","ml-1 builtin svelte-11a2g2s")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_each_block$c(e,t){let n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v=t[3].name+"",y=extractPluginDescription(t[3])+"",x=extractPluginAuthor(t[3])+"";function w(e,t){return e[3].isPackaged?create_if_block$k:create_else_block$9}let C=w(t),k=C(t);function S(){return t[2](t[3])}return{key:e,first:null,c(){n=element("div"),o=element("img"),i=space(),a=element("div"),s=element("div"),c=element("div"),l=text$1(v),u=space(),k.c(),d=space(),p=element("div"),m=text$1(y),f=space(),h=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,r=extractPluginIcon(t[3]))||attr(o,"src",r),attr(c,"class","bold"),attr(s,"class","flex"),attr(h,"class","bold"),attr(a,"class","ml-2"),attr(n,"class","wrapper svelte-11a2g2s"),this.first=n},m(e,t){insert(e,n,t),append(n,o),append(n,i),append(n,a),append(a,s),append(s,c),append(c,l),append(s,u),k.m(s,null),append(a,d),append(a,p),append(p,m),append(a,f),append(a,h),append(h,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,r=extractPluginIcon(t[3]))&&attr(o,"src",r),1&n&&v!==(v=t[3].name+"")&&set_data(l,v),C===(C=w(t))&&k?k.p(t,n):(k.d(1),k=C(t),k&&(k.c(),k.m(s,null))),1&n&&y!==(y=extractPluginDescription(t[3])+"")&&set_data(m,y),1&n&&x!==(x=extractPluginAuthor(t[3])+"")&&set_data(g,x)},d(e){e&&detach(n),k.d(),$=!1,b()}}}function create_fragment$K(e){let t,n=[],o=new Map,r=e[0]||[];const i=e=>e[3].name;for(let t=0;t<r.length;t+=1){let a=get_each_context$c(e,r,t),s=i(a);o.set(s,n[t]=create_each_block$c(s,a))}return{c(){for(let e=0;e<n.length;e+=1)n[e].c();t=empty()},m(e,o){for(let t=0;t<n.length;t+=1)n[t]&&n[t].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(r=e[0]||[],n=update_keyed_each(n,a,i,1,e,r,o,t.parentNode,destroy_block,create_each_block$c,t,get_each_context$c))},i:noop$3,o:noop$3,d(e){for(let t=0;t<n.length;t+=1)n[t].d(e);e&&detach(t)}}}function instance$J(e,t,n){let{plugins:o}=t;function r(e){openNewTab({title:e.name,icon:"icon plugin",tabComponent:"PluginTab",props:{packageName:e.name}})}return e.$$set=e=>{"plugins"in e&&n(0,o=e.plugins)},[o,r,e=>r(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$K,safe_not_equal,{plugins:0})}}function create_default_slot_1$9(e){let t,n,o;function r(t){e[4](t)}let i={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(i.value=e[0]),t=new SearchInput({props:i}),binding_callbacks.push((()=>bind$2(t,"value",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};1&o&&(r.filter=e[0]),!n&&1&o&&(n=!0,r.value=e[0],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_else_block$8(e){let t,n;return t=new PluginsList({props:{plugins:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.plugins=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$j(e){let t,n;return t=new ErrorInfo({props:{message:e[2]?.errorMessage}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]?.errorMessage),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$d(e){let t,n,o,r;const i=[create_if_block$j,create_else_block$8],a=[];function s(e,t){return e[2]?.errorMessage?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$J(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};68&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$I(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="",s="";const c=_.debounce((e=>n(3,s=e)),500);return e.$$.update=()=>{8&e.$$.dirty&&(n(1,o=useApiCall("plugins/search",{filter:s},[])),i(),i=subscribe(o,(e=>n(2,r=e)))),1&e.$$.dirty&&c(a)},[a,o,r,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$J,safe_not_equal,{})}}function create_default_slot$c(e){let t,n;return t=new PluginsList({props:{plugins:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.plugins=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$I(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$H(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useInstalledPlugins()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$I,safe_not_equal,{})}}function create_default_slot_2$7(e){let t,n;return t=new InstalledPluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$8(e){let t,n;return t=new AvailablePluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$b(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$H(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class PluginsWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$H,safe_not_equal,{})}}function create_fragment$G(e){let t,n,o=e[0].map(e[1]).join("\n")+"";return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(e,r){t.m(o,e,r),insert(e,n,r)},p(e,[n]){1&n&&o!==(o=e[0].map(e[1]).join("\n")+"")&&t.p(o)},i:noop$3,o:noop$3,d(e){e&&detach(n),e&&t.d()}}}function instance$G(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class HtmlCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$G,safe_not_equal,{selection:0})}}function create_else_block$7(e){let t,n,o,r;return o=new JSONTree({props:{value:e[0],expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-qjn8rh"),attr(t,"class","outer svelte-qjn8rh")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$i(e){let t,n;return t=new ErrorInfo({props:{message:"Error parsing JSON",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$F(e){let t,n,o,r;const i=[create_if_block$i,create_else_block$7],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$F(e,t,n){let{selection:o}=t,{showWholeRow:r=!1}=t,i=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,r=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(r)1==(null==o?void 0:o.length)?n(0,i=o[0].rowData):n(0,i=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,i=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[i,a,o,r]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$F,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$E(e){let t,n;return t=new JsonCellView({props:{selection:e[0],showWholeRow:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$E(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class JsonRowView extends SvelteComponent{constructor(e){super(),init(this,e,instance$E,create_fragment$E,safe_not_equal,{selection:0})}}function create_if_block$h(e){let t,n,o,r,i,a;return o=new SelectField({props:{isNative:!0,options:e[3].map(func$4),value:e[1]}}),o.$on("change",e[6]),i=new SelectField({props:{isNative:!0,options:e[3].map(func_1$3),value:e[2]}}),i.$on("change",e[7]),{c(){t=element("div"),n=text$1("Lat:\n "),create_component(o.$$.fragment),r=text$1("\n Lon:\n "),create_component(i.$$.fragment)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),mount_component(i,t,null),a=!0},p(e,t){const n={};8&t&&(n.options=e[3].map(func$4)),2&t&&(n.value=e[1]),o.$set(n);const r={};8&t&&(r.options=e[3].map(func_1$3)),4&t&&(r.value=e[2]),i.$set(r)},i(e){a||(transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(i)}}}function create_fragment$D(e){let t,n,o,r,i=e[3].length>=2&&create_if_block$h(e);return o=new SelectionMapView({props:{selection:e[0],latitudeField:e[1],longitudeField:e[2]}}),{c(){t=element("div"),i&&i.c(),n=space(),create_component(o.$$.fragment),attr(t,"class","container svelte-aetkv7")},m(e,a){insert(e,t,a),i&&i.m(t,null),append(t,n),mount_component(o,t,null),r=!0},p(e,[r]){e[3].length>=2?i?(i.p(e,r),8&r&&transition_in(i,1)):(i=create_if_block$h(e),i.c(),transition_in(i,1),i.m(t,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros());const a={};1&r&&(a.selection=e[0]),2&r&&(a.latitudeField=e[1]),4&r&&(a.longitudeField=e[2]),o.$set(a)},i(e){r||(transition_in(i),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(i),transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),i&&i.d(),destroy_component(o)}}}const func$4=e=>({label:e,value:e}),func_1$3=e=>({label:e,value:e});function instance$D(e,t,n){let o,r,i,{selection:a}=t,s="",c="";return e.$$set=e=>{"selection"in e&&n(0,a=e.selection)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=_.uniq(_.flatten(a.map((e=>findLatPaths(e.rowData)))))),1&e.$$.dirty&&n(4,r=_.uniq(_.flatten(a.map((e=>findLonPaths(e.rowData)))))),1&e.$$.dirty&&n(3,i=_.uniq(_.flatten(a.map((e=>findAllObjectPaths(e.rowData)))))),42&e.$$.dirty&&o.length>0&&!i.includes(s)&&n(1,s=o[0]),28&e.$$.dirty&&r.length>0&&!i.includes(c)&&n(2,c=r[0])},[a,s,c,i,r,o,e=>{n(1,s=e.detail)},e=>{n(2,c=e.detail)}]}class MapCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$D,safe_not_equal,{selection:0})}}function create_else_block$6(e){let t,n;return t=new ErrorInfo({props:{message:"Error showing picture",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$g(e){let t,n,o;return{c(){t=element("div"),n=element("img"),src_url_equal(n.src,o=e[0])||attr(n,"src",o),attr(t,"class","wrapper svelte-13i2vsu")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&!src_url_equal(n.src,o=e[0])&&attr(n,"src",o)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_fragment$C(e){let t,n,o,r;const i=[create_if_block$g,create_else_block$6],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$C(e,t,n){let o;var r;let{selection:i}=t;return e.$$set=e=>{"selection"in e&&n(1,i=e.selection)},e.$$.update=()=>{6&e.$$.dirty&&n(0,o=function(e){try{const t=e;return"Buffer"==(null==t?void 0:t.type)&&_.isArray(null==t?void 0:t.data)?"data:image/png;base64, "+btoa(String.fromCharCode.apply(null,null==t?void 0:t.data)):null}catch(e){return console.log("Error showing picture",e),null}}(null===n(2,r=i[0])||void 0===r?void 0:r.value))},[o,i,r]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$C,create_fragment$C,safe_not_equal,{selection:1})}}function create_fragment$B(e){let t,n;return{c(){t=element("textarea"),attr(t,"class","flex1"),attr(t,"wrap",e[1]),t.readOnly=!0,t.value=n=e[0].map(e[2]).join("\n")},m(e,n){insert(e,t,n)},p(e,[o]){2&o&&attr(t,"wrap",e[1]),1&o&&n!==(n=e[0].map(e[2]).join("\n"))&&(t.value=n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$B(e,t,n){let{selection:o}=t,{wrap:r}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,r=e.wrap)},[o,r,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class TextCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$B,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$A(e){let t,n;return t=new TextCellView({props:{wrap:"no",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$A(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewNoWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$A,safe_not_equal,{selection:0})}}function create_fragment$z(e){let t,n;return t=new TextCellView({props:{wrap:"hard",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$z(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$z,create_fragment$z,safe_not_equal,{selection:0})}}function create_default_slot$a(e){let t;return{c(){t=text$1("Cell data view")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$5(e){let t,n,o;var r=e[2]?.component;function i(e){return{props:{selection:e[0]}}}return r&&(t=construct_svelte_component(r,i(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),4&o&&r!==(r=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=construct_svelte_component(r,i(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&t.$set(a)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$7(e){let t,n;return t=new ErrorInfo({props:{message:"No data selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$c(e){let t,n;return t=new ErrorInfo({props:{message:"Format not selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$f(e){let t,n;return t=new ErrorInfo({props:{message:"Must be selected one cell",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$y(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$a]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$3)]}}),l.$on("change",e[7]);const h=[create_if_block$f,create_if_block_1$c,create_if_block_2$7,create_else_block$5],g=[];function _(e,t){return e[2].single&&1!=e[0]?.length?0:null==e[2]?1:e[0]&&0!=e[0].length?3:2}return p=_(e),m=g[p]=h[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=element("div"),a=text$1("Format:"),s=element("span"),s.textContent=" ",c=space(),create_component(l.$$.fragment),u=space(),d=element("div"),m.c(),attr(i,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(r,"class","main svelte-1lvmq5c"),attr(t,"class","wrapper svelte-1lvmq5c")},m(e,m){insert(e,t,m),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(i,a),append(i,s),append(i,c),mount_component(l,i,null),append(r,u),append(r,d),g[p].m(d,null),f=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};2&t&&(r.value=e[1]),8&t&&(r.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$3)]),l.$set(r);let i=p;p=_(e),p===i?g[p].p(e,t):(group_outros(),transition_out(g[i],1,1,(()=>{g[i]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=h[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){f||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),f=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),f=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(l),g[p].d()}}}const formats=[{type:"textWrap",title:"Text (wrap)",component:TextCellViewWrap,single:!1},{type:"text",title:"Text (no wrap)",component:TextCellViewNoWrap,single:!1},{type:"json",title:"Json",component:JsonCellView,single:!0},{type:"jsonRow",title:"Json - Row",component:JsonRowView,single:!1},{type:"picture",title:"Picture",component:PictureCellView,single:!0},{type:"html",title:"HTML",component:HtmlCellView,single:!1},{type:"map",title:"Map",component:MapCellView,single:!1}];function autodetect(e){var t,n,o;if(selectionCouldBeShownOnMap(e))return"map";if(null===(o=null===(n=null===(t=e[0])||void 0===t?void 0:t.engine)||void 0===n?void 0:n.databaseEngineTypes)||void 0===o?void 0:o.includes("document"))return"jsonRow";const r=1==e.length?e[0].value:null;return _.isString(r)&&(r.startsWith("[")||r.startsWith("{"))||_.isPlainObject(r)||_.isArray(r)?"json":"textWrap"}const func$3=e=>({label:e.title,value:e.type});function instance$y(e,t,n){let o,r,i,a,s;component_subscribe(e,selectedCellsCallback,(e=>n(6,s=e)));let c="autodetect",{selection:l}=t;return e.$$set=e=>{"selection"in e&&n(0,l=e.selection)},e.$$.update=()=>{64&e.$$.dirty&&n(0,l=s?s():[]),1&e.$$.dirty&&n(5,o=autodetect(l)),32&e.$$.dirty&&n(3,r=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,i="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==i)))},[l,c,a,r,i,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$y,create_fragment$y,safe_not_equal,{selection:0})}}function get_each_context$b(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$7(e){let t,n,o,r,i,a;function s(t){e[3](t)}let c={placeholder:"Search query history",filter:e[0]};function l(t){e[4](t)}void 0!==e[0]&&(c.value=e[0]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind$2(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind$2(r,"filter",l))),r.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};1&o&&(a.filter=e[0]),!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&1&o&&(i=!0,s.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_each_block$b(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g=e[10].sql+"",_=e[10].database+"";function $(){return e[6](e[10])}return o=new FontIcon({props:{icon:"icon sql-file"}}),c=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(g),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),u=text$1(_),d=space(),attr(n,"class","sql svelte-fyr7t5"),attr(s,"class","info svelte-fyr7t5"),attr(t,"class","wrapper svelte-fyr7t5"),attr(t,"title",p=e[10].sql)},m(e,p){insert(e,t,p),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,f||(h=listen(t,"click",$),f=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(i,g),(!m||4&o)&&_!==(_=e[10].database+"")&&set_data(u,_),(!m||4&o&&p!==(p=e[10].sql))&&attr(t,"title",p)},i(e){m||(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),f=!1,h()}}}function create_default_slot$9(e){let t,n,o=e[2],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$b(get_each_context$b(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(4&n){let a;for(o=e[2],a=0;a<o.length;a+=1){const i=get_each_context$b(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$b(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_fragment$x(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8195&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8196&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$x(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r="",i="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:i,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,i=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(r)},[r,i,a,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},()=>{n(1,i="")},e=>{openNewTab({title:"Query #",icon:"icon sql-file",tabComponent:"QueryTab",props:{conid:e.conid,database:e.database}},{editor:e.sql})}]}class QueryHistoryList extends SvelteComponent{constructor(e){super(),init(this,e,instance$x,create_fragment$x,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$2),func_1$2),module:closedTabAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.list=_.sortBy(e[0].filter(func$2),func_1$2)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$6(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_3$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$6(e){let t,n;return t=new QueryHistoryList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$8(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$6]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};5&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$w(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$2=e=>e.closedTime,func_1$2=e=>-e.closedTime;function instance$w(e,t,n){let o;return component_subscribe(e,openedTabs,(e=>n(0,o=e))),useFavorites(),[o]}class HistoryWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$w,safe_not_equal,{})}}function create_fragment$v(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getAppIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openTextFile(e,t,n,o,r){return __awaiter(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"app:"+n,savedFormat:"text",appFolder:n},{})},{editor:a})}))}const extractKey$1=e=>e.fileName,createMatcher$1=({fileName:e})=>t=>lib$5.filterName(t,e),APP_ICONS={"config.json":"img json","command.sql":"img app-command","query.sql":"img app-query"};function getAppIcon(e){return APP_ICONS[e.fileType]}function instance$v(e,t,n){const o=["data"];let r=compute_rest_props(t,o);this&&this.__awaiter;let{data:i}=t;const a=()=>{showModal(InputTextModal,{value:i.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${i.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType})}})},c=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{i.fileType.endsWith(".sql")&&c(),i.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},i.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},i.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},r]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$v,create_fragment$v,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$5(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$5(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search application files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[1]&&(f.filter=e[1]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected application",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16384&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$7(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:appFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$u(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$5]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};16386&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16395&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const APP_LABELS={"command.sql":"SQL commands","query.sql":"SQL queries"},COMMAND_TEMPLATE="-- Write SQL command here\n-- After save, you can execute it from database context menu, for all databases, which use this application\n",QUERY_TEMPLATE="-- Write SQL query here\n-- After save, you can view it in tables list, for all databases, which use this application\n";function instance$u(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(e,t,n){showModal(InputTextModal,{value:"",label:"New file name",header:t,onConfirm:t=>c(this,void 0,void 0,(function*(){newQuery({title:t,initialData:n,savedFile:t+"."+e,savedFolder:"app:"+i,savedFormat:"text",appFolder:i})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:i}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useAppFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("apps/refresh-files",{folder:o})},function(){return[{text:"New SQL command",onClick:()=>u("command.sql","Create new SQL command",COMMAND_TEMPLATE)},{text:"New SQL query",onClick:()=>u("query.sql","Create new SQL query",QUERY_TEMPLATE)},{text:"New virtual references file",onClick:()=>d("virtual-references.config.json",[])},{text:"New dictionary descriptions file",onClick:()=>d("dictionary-descriptions.config.json",[])}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>APP_LABELS[e.fileType]||"App config"]}class AppFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$u,create_fragment$u,safe_not_equal,{})}}function create_fragment$t(e){let t,n;const o=[e[7],{data:e[0]},{title:e[0].name},{icon:"img app"},{statusIcon:e[6](e[3],e[2])?"icon check":null},{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},{isBold:e[0].name==e[4]},{menu:e[5]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=253&n?get_spread_update(o,[128&n&&get_spread_object(e[7]),1&n&&{data:e[0]},1&n&&{title:e[0].name},o[3],76&n&&{statusIcon:e[6](e[3],e[2])?"icon check":null},9&n&&{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},17&n&&{isBold:e[0].name==e[4]},32&n&&{menu:e[5]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$5.filterName(t,e.name);function instance$t(e,t,n){let o;const r=["data"];let i,a,s,c=compute_rest_props(t,r),l=noop$3;component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,currentApplication,(e=>n(4,s=e))),e.$$.on_destroy.push((()=>l()));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:d}=t;const p=()=>{showModal(ConfirmModal,{message:`Really delete application ${d.name}?`,onConfirm:()=>{apiCall("apps/delete-folder",{folder:d.name})}})},m=()=>{const{name:e}=d;showModal(InputTextModal,{value:e,label:"New application name",header:"Rename application",onConfirm:e=>u(void 0,void 0,void 0,(function*(){yield apiCall("apps/rename-folder",{folder:d.name,newFolder:e}),s==d.name&&set_store_value(currentApplication,s=e,s)}))})};function f(e){var t;apiCall("connections/update-database",{conid:null===(t=null==a?void 0:a.connection)||void 0===t?void 0:t._id,database:null==a?void 0:a.name,values:{[`useApp:${d.name}`]:e}})}function h(e,t){var n;if(!e||!t)return!1;const o=t.find((t=>{var n;return t._id==(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)})),r=null===(n=null==o?void 0:o.databases)||void 0===n?void 0:n.find((t=>t.name==(null==e?void 0:e.name)));return r&&r[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,i=e))),[d,o,i,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!h(a,i)&&{text:"Enable on current database",onClick:()=>f(!0)},h(a,i)&&{text:"Disable on current database",onClick:()=>f(!1)}]]},h,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$t,safe_not_equal,{data:0})}}var appFolderAppObject=Object.freeze({__proto__:null,default:AppFolderAppObject,extractKey:extractKey,createMatcher:createMatcher});function create_default_slot_3(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$4(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$4(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search applications"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[0]&&(f.filter=e[0]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Create new application",$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh application list",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$6(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:appFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$s(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$s(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useAppFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("apps/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.application")]}class AppFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$s,create_fragment$s,safe_not_equal,{})}}function create_default_slot_2$3(e){let t,n;return t=new AppFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$3(e){let t,n;return t=new AppFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$5(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$3]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$r(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class AppWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$r,safe_not_equal,{})}}function create_fragment$q(e){let t;return{c(){t=text$1("Sorry, administration is not available")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}class AdminMenuWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$q,safe_not_equal,{})}}function create_if_block_6$3(e){let t,n;return t=new FilesWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$3(e){let t,n;return t=new HistoryWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$3(e){let t,n;return t=new ArchiveWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$5(e){let t,n;return t=new PluginsWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$6(e){let t,n;return t=new CellDataWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$b(e){let t,n;return t=new AppWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$e(e){let t,n;return t=new AdminMenuWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$p(e){let t,n,o,r,i,a,s,c,l,u;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let d="file"==e[0]&&create_if_block_6$3(),p="history"==e[0]&&create_if_block_5$3(),m="archive"==e[0]&&create_if_block_4$3(),f="plugins"==e[0]&&create_if_block_3$5(),h="cell-data"==e[0]&&create_if_block_2$6(),g="app"==e[0]&&create_if_block_1$b(),_="admin"==e[0]&&create_if_block$e();return{c(){create_component(t.$$.fragment),n=space(),d&&d.c(),o=space(),p&&p.c(),r=space(),m&&m.c(),i=space(),f&&f.c(),a=space(),h&&h.c(),s=space(),g&&g.c(),c=space(),_&&_.c(),l=empty()},m(e,$){mount_component(t,e,$),insert(e,n,$),d&&d.m(e,$),insert(e,o,$),p&&p.m(e,$),insert(e,r,$),m&&m.m(e,$),insert(e,i,$),f&&f.m(e,$),insert(e,a,$),h&&h.m(e,$),insert(e,s,$),g&&g.m(e,$),insert(e,c,$),_&&_.m(e,$),insert(e,l,$),u=!0},p(e,[n]){const u={};1&n&&(u.hidden="database"!=e[0]),t.$set(u),"file"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_6$3(),d.c(),transition_in(d,1),d.m(o.parentNode,o)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"history"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_5$3(),p.c(),transition_in(p,1),p.m(r.parentNode,r)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"archive"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_4$3(),m.c(),transition_in(m,1),m.m(i.parentNode,i)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"plugins"==e[0]?f?1&n&&transition_in(f,1):(f=create_if_block_3$5(),f.c(),transition_in(f,1),f.m(a.parentNode,a)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_2$6(),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),"app"==e[0]?g?1&n&&transition_in(g,1):(g=create_if_block_1$b(),g.c(),transition_in(g,1),g.m(c.parentNode,c)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),"admin"==e[0]?_?1&n&&transition_in(_,1):(_=create_if_block$e(),_.c(),transition_in(_,1),_.m(l.parentNode,l)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros())},i(e){u||(transition_in(t.$$.fragment,e),transition_in(d),transition_in(p),transition_in(m),transition_in(f),transition_in(h),transition_in(g),transition_in(_),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(d),transition_out(p),transition_out(m),transition_out(f),transition_out(h),transition_out(g),transition_out(_),u=!1},d(e){destroy_component(t,e),e&&detach(n),d&&d.d(e),e&&detach(o),p&&p.d(e),e&&detach(r),m&&m.d(e),e&&detach(i),f&&f.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),g&&g.d(e),e&&detach(c),_&&_.d(e),e&&detach(l)}}}function instance$r(e,t,n){let o;return component_subscribe(e,visibleSelectedWidget,(e=>n(0,o=e))),[o]}class WidgetContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$p,safe_not_equal,{})}}var mainMenuDefinition=({editMenu:e})=>[{label:"File",submenu:[{command:"new.connection",hideDisabled:!0},{command:"new.sqliteDatabase",hideDisabled:!0},{divider:!0},{command:"new.query",hideDisabled:!0},{command:"new.queryDesign",hideDisabled:!0},{command:"new.diagram",hideDisabled:!0},{command:"new.perspective",hideDisabled:!0},{command:"new.freetable",hideDisabled:!0},{command:"new.shell",hideDisabled:!0},{command:"new.jsonl",hideDisabled:!0},{divider:!0},{command:"file.open",hideDisabled:!0},{command:"file.openArchive",hideDisabled:!0},{divider:!0},{command:"group.save",hideDisabled:!0},{command:"group.saveAs",hideDisabled:!0},{divider:!0},{command:"file.exit",hideDisabled:!0},{command:"app.logout",hideDisabled:!0,skipInApp:!0},{command:"app.disconnect",hideDisabled:!0,skipInApp:!0}]},{label:"Window",submenu:[{command:"tabs.closeTab",hideDisabled:!1},{command:"tabs.closeAll",hideDisabled:!1},{command:"tabs.closeTabsWithCurrentDb",hideDisabled:!1},{command:"tabs.closeTabsButCurrentDb",hideDisabled:!1},{divider:!0},{command:"app.zoomIn",hideDisabled:!0},{command:"app.zoomOut",hideDisabled:!0},{command:"app.zoomReset",hideDisabled:!0}]},e?{label:"Edit",submenu:[{command:"edit.undo"},{command:"edit.redo"},{divider:!0},{command:"edit.cut"},{command:"edit.copy"},{command:"edit.paste"},{command:"edit.selectAll"}]}:null,{label:"View",submenu:[{command:"app.reload",hideDisabled:!0},{command:"app.toggleDevTools",hideDisabled:!0},{command:"app.toggleFullScreen",hideDisabled:!0},{command:"app.minimize",hideDisabled:!0},{command:"toggle.sidebar"},{divider:!0},{command:"theme.changeTheme",hideDisabled:!0},{command:"settings.show"}]},{label:"Tools",submenu:[{command:"database.search",hideDisabled:!0},{command:"commandPalette.show",hideDisabled:!0},{command:"database.switch",hideDisabled:!0},{divider:!0},{command:"sql.generator",hideDisabled:!0},{command:"file.import",hideDisabled:!0},{command:"new.modelCompare",hideDisabled:!0},{divider:!0},{command:"folder.showLogs",hideDisabled:!0},{command:"folder.showData",hideDisabled:!0},{command:"new.gist",hideDisabled:!0},{command:"app.resetSettings",hideDisabled:!0}]},{label:"Help",submenu:[{command:"app.openDocs",hideDisabled:!0},{command:"app.openWeb",hideDisabled:!0},{command:"app.openIssue",hideDisabled:!0},{command:"app.openSponsoring",hideDisabled:!0},{divider:!0},{command:"settings.commands",hideDisabled:!0},{command:"tabs.changelog",hideDisabled:!0},{command:"about.show",hideDisabled:!0},{divider:!0},{command:"file.checkForUpdates",hideDisabled:!0}]}];function get_each_context$a(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$d(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon menu"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper mb-3 svelte-1nclm36")},m(a,s){insert(a,t,s),mount_component(n,t,null),e[9](t),o=!0,r||(i=listen(t,"click",e[8]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(o){o&&detach(t),destroy_component(n),e[9](null),r=!1,i()}}}function create_each_block$a(e){let t,n,o,r,i;function a(){return e[11](e[16])}return n=new FontIcon({props:{icon:e[16].icon,title:e[16].title}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-1nclm36"),toggle_class(t,"selected",e[16].name==e[2])},m(e,s){insert(e,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",a),r=!0)},p(n,r){e=n,(!o||36&r)&&toggle_class(t,"selected",e[16].name==e[2])},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$o(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h=e[3]&&create_if_block$d(e),g=e[5].filter(e[10]),_=[];for(let t=0;t<g.length;t+=1)_[t]=create_each_block$a(get_each_context$a(e,g,t));const $=e=>transition_out(_[e],1,1,(()=>{_[e]=null}));return s=new FontIcon({props:{icon:e[4]?"icon locked-database-mode":"icon unlocked-database-mode"}}),d=new FontIcon({props:{icon:"icon settings"}}),{c(){t=element("div"),h&&h.c(),n=space();for(let e=0;e<_.length;e+=1)_[e].c();o=space(),r=element("div"),r.textContent=" ",i=space(),a=element("div"),create_component(s.$$.fragment),l=space(),u=element("div"),create_component(d.$$.fragment),attr(r,"class","flex1"),attr(a,"class","wrapper svelte-1nclm36"),attr(a,"title",c="Toggle whether tabs from all databases are visible. Currently - "+(e[4]?"NO":"YES")),attr(u,"class","wrapper svelte-1nclm36"),attr(t,"class","main svelte-1nclm36")},m(c,g){insert(c,t,g),h&&h.m(t,null),append(t,n);for(let e=0;e<_.length;e+=1)_[e]&&_[e].m(t,null);append(t,o),append(t,r),append(t,i),append(t,a),mount_component(s,a,null),append(t,l),append(t,u),mount_component(d,u,null),e[13](u),p=!0,m||(f=[listen(a,"click",e[12]),listen(u,"click",e[7])],m=!0)},p(e,[r]){if(e[3]?h?(h.p(e,r),8&r&&transition_in(h,1)):(h=create_if_block$d(e),h.c(),transition_in(h,1),h.m(t,n)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),100&r){let n;for(g=e[5].filter(e[10]),n=0;n<g.length;n+=1){const i=get_each_context$a(e,g,n);_[n]?(_[n].p(i,r),transition_in(_[n],1)):(_[n]=create_each_block$a(i),_[n].c(),transition_in(_[n],1),_[n].m(t,o))}for(group_outros(),n=g.length;n<_.length;n+=1)$(n);check_outros()}const i={};16&r&&(i.icon=e[4]?"icon locked-database-mode":"icon unlocked-database-mode"),s.$set(i),(!p||16&r&&c!==(c="Toggle whether tabs from all databases are visible. Currently - "+(e[4]?"NO":"YES")))&&attr(a,"title",c)},i(e){if(!p){transition_in(h);for(let e=0;e<g.length;e+=1)transition_in(_[e]);transition_in(s.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0}},o(e){transition_out(h),_=_.filter(Boolean);for(let e=0;e<_.length;e+=1)transition_out(_[e]);transition_out(s.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(n){n&&detach(t),h&&h.d(),destroy_each(_,n),destroy_component(s),destroy_component(d),e[13](null),m=!1,run_all(f)}}}function instance$q(e,t,n){let o,r,i,a,s,c,l;component_subscribe(e,visibleWidgetSideBar,(e=>n(14,o=e))),component_subscribe(e,selectedWidget,(e=>n(15,r=e))),component_subscribe(e,visibleSelectedWidget,(e=>n(2,i=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e)));const u=[getCurrentConfig().storageDatabase&&{icon:"icon admin",name:"admin",title:"Administration"},{icon:"icon database",name:"database",title:"Database connections"},{icon:"icon file",name:"file",title:"Favorites & Saved files"},{icon:"icon history",name:"history",title:"Query history & Closed tabs"},{icon:"icon archive",name:"archive",title:"Archive (saved tabular data)"},{icon:"icon plugin",name:"plugins",title:"Extensions & Plugins"},{icon:"icon cell-data",name:"cell-data",title:"Selected cell data detail view"},{icon:"icon app",name:"app",title:"Application layers"}];function d(e){i==e?set_store_value(visibleWidgetSideBar,o=!1,o):(set_store_value(selectedWidget,r=e,r),set_store_value(visibleWidgetSideBar,o=!0,o))}return[c,l,i,a,s,u,d,function(){const e=c.getBoundingClientRect(),t=e.right,n=e.bottom;currentDropDownMenu.set({left:t,top:n,items:[{command:"settings.show"},{command:"theme.changeTheme"},{command:"settings.commands"}]})},function(){const e=l.getBoundingClientRect(),t=e.right,n=e.top,o=mainMenuDefinition({editMenu:!1});currentDropDownMenu.set({left:t,top:n,items:o})},function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>e&&hasPermission(`widgets/${e.name}`),e=>d(e.name),()=>{set_store_value(lockedDatabaseMode,s=!s,s)},function(e){binding_callbacks[e?"unshift":"push"]((()=>{c=e,n(0,c)}))}]}class WidgetIconPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$q,create_fragment$o,safe_not_equal,{})}}function create_fragment$n(e){let t,n,o;const r=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var i=e[2];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(n=construct_svelte_component(i,a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,r){insert(e,t,r),n&&mount_component(n,t,null),o=!0},p(e,[s]){const c=11&s?get_spread_update(r,[8&s&&get_spread_object(e[3]),1&s&&{tabid:e[0]},2&s&&{tabVisible:e[1]}]):{};if(4&s&&i!==(i=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(n=construct_svelte_component(i,a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else i&&n.$set(c);(!o||2&s)&&toggle_class(t,"tabVisible",e[1])},i(e){o||(n&&transition_in(n.$$.fragment,e),o=!0)},o(e){n&&transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),n&&destroy_component(n)}}}function instance$p(e,t,n){const o=["tabid","tabVisible","tabComponent"];let r=compute_rest_props(t,o),{tabid:i}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",i),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"tabid"in e&&n(0,i=e.tabid),"tabVisible"in e&&n(1,a=e.tabVisible),"tabComponent"in e&&n(2,s=e.tabComponent)},e.$$.update=()=>{2&e.$$.dirty&&c.set(a)},[i,a,s,r]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$p,create_fragment$n,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$9(e,t,n){const o=e.slice();return o[6]=t[n],o}function create_each_block$9(e,t){let n,o,r;const i=[{tabComponent:t[1][t[6]]},t[2][t[6]]?.props,{tabid:t[6]},{unsaved:t[2][t[6]]?.unsaved},{tabVisible:t[6]==t[0]?.tabid}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new TabContent({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=7&n?get_spread_update(i,[2&n&&{tabComponent:t[1][t[6]]},6&n&&get_spread_object(t[2][t[6]]?.props),2&n&&{tabid:t[6]},6&n&&{unsaved:t[2][t[6]]?.unsaved},3&n&&{tabVisible:t[6]==t[0]?.tabid}]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$m(e){let t,n,o=[],r=new Map,i=_.keys(e[1]);const a=e=>e[6];for(let t=0;t<i.length;t+=1){let n=get_each_context$9(e,i,t),s=a(n);r.set(s,o[t]=create_each_block$9(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,r){for(let t=0;t<o.length;t+=1)o[t]&&o[t].m(e,r);insert(e,t,r),n=!0},p(e,[n]){7&n&&(i=_.keys(e[1]),group_outros(),o=update_keyed_each(o,n,a,1,e,i,r,t.parentNode,outro_and_destroy_block,create_each_block$9,t,get_each_context$9),check_outros())},i(e){if(!n){for(let e=0;e<i.length;e+=1)transition_in(o[e]);n=!0}},o(e){for(let e=0;e<o.length;e+=1)transition_out(o[e]);n=!1},d(e){for(let t=0;t<o.length;t+=1)o[t].d(e);e&&detach(t)}}}function instance$o(e,t,n){let o,r;var i;component_subscribe(e,openedTabs,(e=>n(5,r=e)));let{multiTabIndex:a}=t,{shownTab:s}=t,c={};return e.$$set=e=>{"multiTabIndex"in e&&n(3,a=e.multiTabIndex),"shownTab"in e&&n(0,s=e.shownTab)},e.$$.update=()=>{if(42&e.$$.dirty&&_.difference(_.keys(c),_.map(r.filter((e=>null==e.closedTime&&(e.multiTabIndex||0)==a)),"tabid")).length>0&&n(1,c=_.pickBy(c,((e,t)=>r.find((e=>e.tabid==t&&null==e.closedTime&&(e.multiTabIndex||0)==a))))),19&e.$$.dirty&&s){const{tabid:e}=s;if(e&&!c[e]){const t=null===n(4,i=tabs[s.tabComponent])||void 0===i?void 0:i.default;t&&n(1,c=Object.assign(Object.assign({},c),{[e]:t}))}}32&e.$$.dirty&&n(2,o=_.keyBy(r,(e=>e.tabid)))},[s,c,o,a,i,r]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$o,create_fragment$m,safe_not_equal,{multiTabIndex:3,shownTab:0})}}var fuzzy$1={exports:{}};!function(e,t){!function(){var t={};e.exports=t,t.simpleFilter=function(e,n){return n.filter((function(n){return t.test(e,n)}))},t.test=function(e,n){return null!==t.match(e,n)},t.match=function(e,t,n){n=n||{};var o,r=0,i=[],a=t.length,s=0,c=0,l=n.pre||"",u=n.post||"",d=n.caseSensitive&&t||t.toLowerCase();e=n.caseSensitive&&e||e.toLowerCase();for(var p=0;p<a;p++)o=t[p],d[p]===e[r]?(o=l+o+u,r+=1,c+=1+c):c=0,s+=c,i[i.length]=o;return r===e.length?(s=d===e?1/0:s,{rendered:i.join(""),score:s}):null},t.filter=function(e,n,o){return n&&0!==n.length?"string"!=typeof e?n:(o=o||{},n.reduce((function(n,r,i,a){var s=r;o.extract&&(s=o.extract(r));var c=t.match(e,s,o);return null!=c&&(n[n.length]={string:c.rendered,score:c.score,index:i,original:r}),n}),[]).sort((function(e,t){var n=t.score-e.score;return n||e.index-t.index}))):[]}}()}(fuzzy$1);var fuzzy=fuzzy$1.exports;function get_each_context$8(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$a(e){let t,n,o;return n=new FontIcon({props:{icon:e[25].icon}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};64&t&&(o.icon=e[25].icon),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$c(e){let t,n,o=formatKeyText(e[25].keyText)+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","shortcut svelte-1kyrubd")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){64&t&&o!==(o=formatKeyText(e[25].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_each_block$8(e){let t,n,o,r,i,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$a(e),m=e[25].keyText&&create_if_block$c(e);function f(){return e[22](e[25])}const h=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),r=new HtmlTag(!1),i=space(),m&&m.c(),a=space(),r.a=null,attr(t,"class","command svelte-1kyrubd"),toggle_class(t,"selected",e[27]==e[2])},m(e,d){insert(e,t,d),append(t,n),p&&p.m(n,null),append(n,o),r.m(u,n),append(t,i),m&&m.m(t,null),append(t,a),h(),s=!0,c||(l=listen(t,"click",f),c=!0)},p(i,c){(e=i)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$a(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||64&c)&&u!==(u=e[25].text+"")&&r.p(u),e[25].keyText?m?m.p(e,c):(m=create_if_block$c(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],h()),(!s||4&c)&&toggle_class(t,"selected",e[27]==e[2])},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),g(),c=!1,l()}}}function create_fragment$l(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b;r=new FontIcon({props:{icon:"icon menu"}}),c=new FontIcon({props:{icon:"icon database"}});let v=e[6],y=[];for(let t=0;t<v.length;t+=1)y[t]=create_each_block$8(get_each_context$8(e,v,t));const x=e=>transition_out(y[e],1,1,(()=>{y[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=text$1(" Commands"),a=space(),s=element("div"),create_component(c.$$.fragment),l=text$1(" Database"),u=space(),d=element("div"),p=element("div"),m=element("input"),h=space(),g=element("div");for(let e=0;e<y.length;e+=1)y[e].c();attr(o,"class","page svelte-1kyrubd"),toggle_class(o,"selected","menu"==e[4]),attr(s,"class","page svelte-1kyrubd"),toggle_class(s,"selected","database"==e[4]),attr(n,"class","pages svelte-1kyrubd"),attr(m,"type","text"),attr(m,"placeholder",f=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")),attr(m,"class","svelte-1kyrubd"),attr(p,"class","search svelte-1kyrubd"),attr(g,"class","content svelte-1kyrubd"),attr(d,"class","mainInner svelte-1kyrubd"),attr(t,"class","main svelte-1kyrubd")},m(f,v){insert(f,t,v),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(n,a),append(n,s),mount_component(c,s,null),append(s,l),append(t,u),append(t,d),append(d,p),append(p,m),e[20](m),set_input_value(m,e[0]),append(d,h),append(d,g);for(let e=0;e<y.length;e+=1)y[e]&&y[e].m(g,null);_=!0,$||(b=[listen(o,"click",e[18]),listen(s,"click",e[19]),listen(m,"input",e[21]),listen(m,"keydown",e[10]),action_destroyer(clickOutside.call(null,t)),listen(t,"clickOutside",e[24])],$=!0)},p(e,[t]){if((!_||16&t)&&toggle_class(o,"selected","menu"==e[4]),(!_||16&t)&&toggle_class(s,"selected","database"==e[4]),(!_||24&t&&f!==(f=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",f),1&t&&m.value!==e[0]&&set_input_value(m,e[0]),582&t){let n;for(v=e[6],n=0;n<v.length;n+=1){const o=get_each_context$8(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$8(o),y[n].c(),transition_in(y[n],1),y[n].m(g,null))}for(group_outros(),n=v.length;n<y.length;n+=1)x(n);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(c.$$.fragment,e);for(let e=0;e<v.length;e+=1)transition_in(y[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),y=y.filter(Boolean);for(let e=0;e<y.length;e+=1)transition_out(y[e]);_=!1},d(n){n&&detach(t),destroy_component(r),destroy_component(c),e[20](null),destroy_each(y,n),$=!1,run_all(b)}}}function extractDbItems(e,t,n){const o=_.flatten(["tables","collections","views","matviews","procedures","functions"].map((n=>_.sortBy(((e||{})[n]||[]).map((e=>({text:e.pureName,onClick:()=>handleDatabaseObjectClick({objectTypeField:n,...t,...e}),icon:databaseObjectIcons[n]}))),["text"])))),r=[];for(const e of n||[]){const t=e._id;if(e.singleDatabase)continue;if(getCurrentConfig()?.singleDbConnection)continue;const n=getLocalStorage(`database_list_${t}`)||[];for(const t of n)r.push({text:`${t.name} on ${lib$5.getConnectionLabel(e)}`,icon:"img database",onClick:()=>switchCurrentDatabase({connection:e,name:t.name})})}return[..._.sortBy(r,"text"),...o]}function instance$n(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,f=e))),component_subscribe(e,commandsCustomized,(e=>n(17,h=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b()));let v="";const y={};function x(e){e.getSubCommands?(set_store_value(visibleCommandPalette,d=e,d),g.focus(),n(0,v=""),n(2,o=0)):(set_store_value(visibleCommandPalette,d=null,d),e.onClick())}onMount((()=>{const e=document.activeElement;return g.focus(),()=>{e&&e.focus()}}));return e.$$.update=()=>{1&e.$$.dirty&&n(2,o=0),16&e.$$.dirty&&n(3,r=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,i=_.sortBy(Object.values(h).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(f,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(f,"name")),12288&e.$$.dirty&&(n(8,c=useDatabaseInfo({conid:a,database:s})),b(),b=subscribe(c,(e=>n(15,m=e)))),63513&e.$$.dirty&&n(6,u=fuzzy.filter(v,("database"==d?extractDbItems(m,{conid:a,database:s},p):r?r.getSubCommands():i).filter((e=>!e.isGroupCommand)),{extract:e=>e.text,pre:"<b>",post:"</b>"}).map((e=>({...e.original,text:e.string})))),6&e.$$.dirty&&y[o]&&y[o].scrollIntoView({block:"nearest",inline:"nearest"})},n(7,l=useConnectionList()),$(),$=subscribe(l,(e=>n(14,p=e))),[v,y,o,r,d,g,u,l,c,x,function(e){e.keyCode==keycodes.upArrow&&o>0&&n(2,o--,o),e.keyCode==keycodes.downArrow&&o<u.length-1&&n(2,o++,o),e.keyCode==keycodes.enter&&(e.preventDefault(),e.stopPropagation(),x(u[o])),e.keyCode==keycodes.escape&&set_store_value(visibleCommandPalette,d=null,d),e.keyCode==keycodes.pageDown&&n(2,o=Math.min(o+15,u.length-1)),e.keyCode==keycodes.pageUp&&n(2,o=Math.max(o-15,0))},i,s,a,p,m,f,h,()=>{set_store_value(visibleCommandPalette,d="menu",d),g.focus()},()=>{set_store_value(visibleCommandPalette,d="database",d),g.focus()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(5,g)}))},function(){v=this.value,n(0,v)},e=>x(e),function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{y[t]=e,n(1,y)}))},()=>{set_store_value(visibleCommandPalette,d=null,d)}]}registerCommand({id:"commandPalette.show",category:"Command palette",name:"Show",toolbarName:"Command palette",toolbarOrder:0,keyText:"F1",toolbar:!0,showDisabled:!0,icon:"icon menu",onClick:()=>visibleCommandPalette.set("menu"),testEnabled:()=>"menu"!=getVisibleCommandPalette()}),registerCommand({id:"database.search",category:"Database",toolbarName:"Database search",name:"Search",keyText:isElectronAvailable()?"CtrlOrCommand+P":"F3",onClick:()=>visibleCommandPalette.set("database"),testEnabled:()=>"database"!=getVisibleCommandPalette()});class CommandPalette extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$l,safe_not_equal,{})}}function get_each_context$7(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_1(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_2(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_1$9(e){let t,n;return t=new ToolbarButton({props:{externalImage:"logo192.png"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$2(e){let t,n=e[13].title+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4&o&&n!==(n=e[13].title+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block_2(e){let t,n;return t=new ToolbarButton({props:{icon:e[13].icon||"icon favorite",$$slots:{default:[create_default_slot_2$2]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o&&(r.icon=e[13].icon||"icon favorite"),65540&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$2(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block_1(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$b(e){let t,n,o,r,i,a,s,c=e[3].title+"";return o=new FontIcon({props:{icon:e[3].icon}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(c),a=text$1(":"),attr(n,"class","activeTabInner svelte-1qj7qwd"),attr(t,"class","activeTab svelte-1qj7qwd")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(n,a),s=!0},p(e,t){const n={};8&t&&(n.icon=e[3].icon),o.$set(n),(!s||8&t)&&c!==(c=e[3].title+"")&&set_data(i,c)},i(e){s||(transition_in(o.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot$4(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block$7(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$k(e){let t,n,o,r,i,a,s,c,l=e[3]&&e[0].filter(func$1).length>0,u=!e[4]&&create_if_block_1$9(e),d=(e[2]||[]).filter(func_1$1),p=[];for(let t=0;t<d.length;t+=1)p[t]=create_each_block_2(get_each_context_2(e,d,t));const m=e=>transition_out(p[e],1,1,(()=>{p[e]=null}));let f=e[0].filter(func_2$1),h=[];for(let t=0;t<f.length;t+=1)h[t]=create_each_block_1(get_each_context_1(e,f,t));const g=e=>transition_out(h[e],1,1,(()=>{h[e]=null}));let _=l&&create_if_block$b(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$7(get_each_context$7(e,$,t));const v=e=>transition_out(b[e],1,1,(()=>{b[e]=null}));return{c(){t=element("div"),n=element("div"),u&&u.c(),o=space();for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<h.length;e+=1)h[e].c();i=space(),a=element("div"),_&&_.c(),s=space();for(let e=0;e<b.length;e+=1)b[e].c();attr(n,"class","container svelte-1qj7qwd"),attr(a,"class","container svelte-1qj7qwd"),attr(t,"class","root svelte-1qj7qwd")},m(e,l){insert(e,t,l),append(t,n),u&&u.m(n,null),append(n,o);for(let e=0;e<p.length;e+=1)p[e]&&p[e].m(n,null);append(n,r);for(let e=0;e<h.length;e+=1)h[e]&&h[e].m(n,null);append(t,i),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)b[e]&&b[e].m(a,null);c=!0},p(e,[t]){if(e[4]||u.p(e,t),4&t){let o;for(d=(e[2]||[]).filter(func_1$1),o=0;o<d.length;o+=1){const i=get_each_context_2(e,d,o);p[o]?(p[o].p(i,t),transition_in(p[o],1)):(p[o]=create_each_block_2(i),p[o].c(),transition_in(p[o],1),p[o].m(n,r))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(f=e[0].filter(func_2$1),o=0;o<f.length;o+=1){const r=get_each_context_1(e,f,o);h[o]?(h[o].p(r,t),transition_in(h[o],1)):(h[o]=create_each_block_1(r),h[o].c(),transition_in(h[o],1),h[o].m(n,null))}for(group_outros(),o=f.length;o<h.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func$1).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$b(e),_.c(),transition_in(_,1),_.m(a,s)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),1&t){let n;for($=e[0].filter(func_3),n=0;n<$.length;n+=1){const o=get_each_context$7(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$7(o),b[n].c(),transition_in(b[n],1),b[n].m(a,null))}for(group_outros(),n=$.length;n<b.length;n+=1)v(n);check_outros()}},i(e){if(!c){transition_in(u);for(let e=0;e<d.length;e+=1)transition_in(p[e]);for(let e=0;e<f.length;e+=1)transition_in(h[e]);transition_in(_);for(let e=0;e<$.length;e+=1)transition_in(b[e]);c=!0}},o(e){transition_out(u),p=p.filter(Boolean);for(let e=0;e<p.length;e+=1)transition_out(p[e]);h=h.filter(Boolean);for(let e=0;e<h.length;e+=1)transition_out(h[e]);transition_out(_),b=b.filter(Boolean);for(let e=0;e<b.length;e+=1)transition_out(b[e]);c=!1},d(e){e&&detach(t),u&&u.d(),destroy_each(p,e),destroy_each(h,e),_&&_.d(),destroy_each(b,e)}}}function getCommandTitle(e){let t=e.text;return(e.keyText||e.keyTextFromGroup)&&(t+=` (${formatKeyText(e.keyText||e.keyTextFromGroup)})`),t}const func$1=e=>e.isRelatedToTab,func_1$1=e=>e.showInToolbar,func_2$1=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$m(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,i=e))),component_subscribe(e,activeTab,(e=>n(3,s=e))),e.$$.on_destroy.push((()=>c()));const l=getElectron();return e.$$.update=()=>{32&e.$$.dirty&&n(0,r=_.sortBy(Object.values(i).filter((e=>(e.enabled||e.showDisabled)&&e.toolbar&&e.onClick)),(e=>null==e.toolbarOrder?100:e.toolbarOrder)))},n(1,o=useFavorites()),c(),c=subscribe(o,(e=>n(2,a=e))),[r,o,a,s,l,i,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$k,safe_not_equal,{})}}function get_each_context$6(e,t,n){const o=e.slice();return o[23]=t[n],o}function create_else_block$4(e){let t,n,o,r,i,a,s,c,l,u=(e[23].text||e[23].label)+"",d=e[23].keyText&&create_if_block_3$4(e),p=e[23].submenu&&create_if_block_2$5();function m(...t){return e[15](e[23],...t)}function f(...t){return e[16](e[23],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),r=space(),d&&d.c(),i=space(),p&&p.c(),a=space(),attr(n,"class","svelte-3j24if"),toggle_class(n,"disabled",e[23].disabled)},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(n,r),d&&d.m(n,null),append(n,i),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",f)],c=!0)},p(t,r){e=t,(!s||256&r)&&u!==(u=(e[23].text||e[23].label)+"")&&set_data(o,u),e[23].keyText?d?d.p(e,r):(d=create_if_block_3$4(e),d.c(),d.m(n,i)):d&&(d.d(1),d=null),e[23].submenu?p?256&r&&transition_in(p,1):(p=create_if_block_2$5(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||256&r)&&toggle_class(n,"disabled",e[23].disabled)},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),c=!1,run_all(l)}}}function create_if_block_1$8(e){let t;return{c(){t=element("li"),attr(t,"class","divider svelte-3j24if")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$4(e){let t,n,o=formatKeyText(e[23].keyText)+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","keyText svelte-3j24if")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){256&t&&o!==(o=formatKeyText(e[23].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$5(e){let t,n,o;return n=new FontIcon({props:{icon:"icon menu-right"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","menu-right svelte-3j24if")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_each_block$6(e){let t,n,o,r;const i=[create_if_block_1$8,create_else_block$4],a=[];function s(e,t){return e[23].divider?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$a(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DropDownMenu({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=708&n?get_spread_update(o,[64&n&&{items:e[6]?.submenu},128&n&&get_spread_object(e[7]),516&n&&{onCloseParent:e[18]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$j(e){let t,n,o,r,i,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$6(get_each_context$6(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$a(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),r=empty(),attr(t,"class","dropDownMenuMarker svelte-3j24if"),attr(t,"style",n=`left: ${e[1]}px; top: ${e[0]}px`)},m(n,a){insert(n,t,a);for(let e=0;e<s.length;e+=1)s[e]&&s[e].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,r,a),i=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const r=get_each_context$6(e,a,n);s[n]?(s[n].p(r,o),transition_in(s[n],1)):(s[n]=create_each_block$6(r),s[n].c(),transition_in(s[n],1),s[n].m(t,null))}for(group_outros(),n=a.length;n<s.length;n+=1)c(n);check_outros()}(!i||3&o&&n!==(n=`left: ${e[1]}px; top: ${e[0]}px`))&&attr(t,"style",n),e[6]?.submenu?l?(l.p(e,o),64&o&&transition_in(l,1)):(l=create_if_block$a(e),l.c(),transition_in(l,1),l.m(r.parentNode,r)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),i=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(r)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),r=o.top+window.pageYOffset-n.clientTop,i=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:r,left:i+o.width}:{top:r,left:i}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),r=null,i=null;o.left+t>window.innerWidth&&(r=o.left-t,r<0&&(r=0)),o.top+n>window.innerHeight&&(i=o.top-n,i<0&&(i=0)),null!=r&&(e.style.left=`${r}px`),null!=i&&(e.style.top=`${i}px`)}function instance$l(e,t,n){let o,r;component_subscribe(e,commandsCustomized,(e=>n(14,r=e)));let i,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:f}=t;const h=createEventDispatcher();let g=[];function $(){h("close");for(const e of g)e();g=[]}function b(e){g.push(e)}function v(e,t){if(!t.disabled){if(t.submenu)return n(4,a=t),n(5,s=getElementOffset(e.target,"right")),n(6,c=t),void n(7,l=s);$(),m&&m(),t.onClick&&t.onClick()}}onMount((()=>{fixPopupPlacement(i)}));const y=_.throttle((()=>{n(6,c=a),n(7,l=s)}),500),x=e=>{e.target.closest("ul.dropDownMenuMarker")||$()};onMount((()=>(document.addEventListener("mousedown",x,!0),()=>{document.removeEventListener("mousedown",x,!0)})));return e.$$set=e=>{"items"in e&&n(12,u=e.items),"top"in e&&n(0,d=e.top),"left"in e&&n(1,p=e.left),"onCloseParent"in e&&n(2,m=e.onCloseParent),"targetElement"in e&&n(13,f=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:f,registerCloseHandler:b},r))},[d,p,m,i,a,s,c,l,o,$,v,y,u,f,r,(e,t)=>v(t,e),(e,t)=>{n(5,s=getElementOffset(t.target,"right")),n(4,a=e),y()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(3,i)}))},()=>{m&&m(),$()}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$l,create_fragment$j,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$9(e){let t,n;return t=new DropDownMenu({props:{left:e[0].left,top:e[0].top,items:e[0].items,targetElement:e[0].targetElement}}),t.$on("close",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.left=e[0].left),1&n&&(o.top=e[0].top),1&n&&(o.items=e[0].items),1&n&&(o.targetElement=e[0].targetElement),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$i(e){let t,n,o=e[0]&&create_if_block$9(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$9(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$k(e,t,n){let o;component_subscribe(e,currentDropDownMenu,(e=>n(0,o=e)));return[o,()=>set_store_value(currentDropDownMenu,o=null,o)]}class CurrentDropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$i,safe_not_equal,{})}}function create_default_slot$3(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[4]}}),r.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot(e){let t;return{c(){t=text$1(e[2])},m(e,n){insert(e,t,n)},p(e,n){4&n&&set_data(t,e[2])},d(e){e&&detach(t)}}}function create_fragment$h(e){let t,n;const o=[e[6]];let r={$$slots:{header:[create_header_slot],default:[create_default_slot$3]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$j(e,t,n){let o;const r=["conid","database","header","text"];let i,a=compute_rest_props(t,r),{conid:s}=t,{database:c}=t,{header:l}=t,{text:u}=t;const d=useConnectionColor({conid:s,database:c},null,null,!1,!1);component_subscribe(e,d,(e=>n(7,i=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,r)),"conid"in e&&n(0,s=e.conid),"database"in e&&n(1,c=e.database),"header"in e&&n(2,l=e.header),"text"in e&&n(3,u=e.text)},e.$$.update=()=>{128&e.$$.dirty&&n(4,o=i)},[s,c,l,u,o,d,a,i,e=>{n(4,o=e.detail),c?apiCall("connections/update-database",{conid:s,database:c,values:{connectionColor:e.detail}}):apiCall("connections/update",{_id:s,values:{connectionColor:e.detail}})}]}class ChooseConnectionColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$h,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$5(e,t,n){const o=e.slice();return o[28]=t[n],o}function create_if_block_15(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_17,create_else_block$3],u=[];function d(e,t){return e[1]?.isReadOnly?0:1}n=d(e),o=u[n]=l[n](e);let p=e[2]&&create_if_block_16(e);return{c(){t=element("div"),o.c(),r=space(),i=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-as4084")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),append(t,i),insert(e,a,o),p&&p.m(e,o),insert(e,s,o),c=!0},p(e,a){let m=n;n=d(e),n!==m&&(group_outros(),transition_out(u[m],1,1,(()=>{u[m]=null})),check_outros(),o=u[n],o||(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r)),(!c||1&a)&&set_data(i,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_16(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){c||(transition_in(o),transition_in(p),c=!0)},o(e){transition_out(o),transition_out(p),c=!1},d(e){e&&detach(t),u[n].d(),e&&detach(a),p&&p.d(e),e&&detach(s)}}}function create_else_block$3(e){let t,n;return t=new FontIcon({props:{icon:"icon database",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_17(e){let t,n;return t=new FontIcon({props:{icon:"icon lock",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_16(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[12]),attr(n,"class","colorbox svelte-as4084"),attr(t,"class","item clickable svelte-as4084"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[23]),i=!0)},p(e,t){(!r||4096&t)&&attr(n,"style",e[12])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_13$1(e){let t,n,o,r,i,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_14(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[7]),i=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-as4084")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),insert(e,i,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(r,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_14(e),c.c(),transition_in(c,1),c.m(a.parentNode,a)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros())},i(e){s||(transition_in(n.$$.fragment,e),transition_in(c),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c),s=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(i),c&&c.d(e),e&&detach(a)}}}function create_if_block_14(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[13]),attr(n,"class","colorbox svelte-as4084"),attr(t,"class","item clickable svelte-as4084"),attr(t,"title","Connection color. Can be overriden by database color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[24]),i=!0)},p(e,t){(!r||8192&t)&&attr(n,"style",e[13])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_12$1(e){let t,n,o,r,i,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-as4084")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||2&t)&&a!==(a=e[1].user+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_6$2(e){let t,n,o,r,i,a;const s=[create_if_block_7$1,create_if_block_8$1,create_if_block_9$1,create_if_block_10$1,create_if_block_11$1],c=[];function l(e,t){return"pending"==e[14].name?0:"checkStructure"==e[14].name?1:"loadStructure"==e[14].name?2:"ok"==e[14].name?3:"error"==e[14].name?4:-1}return~(n=l(e))&&(o=c[n]=s[n](e)),{c(){t=element("div"),o&&o.c(),attr(t,"class","item clickable svelte-as4084")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),r=!0,i||(a=listen(t,"click",e[25]),i=!0)},p(e,r){let i=n;n=l(e),n!==i&&(o&&(group_outros(),transition_out(c[i],1,1,(()=>{c[i]=null})),check_outros()),~n?(o=c[n],o||(o=c[n]=s[n](e),o.c()),transition_in(o,1),o.m(t,null)):o=null)},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),~n&&c[n].d(),i=!1,a()}}}function create_if_block_11$1(e){let t,n,o;return t=new FontIcon({props:{icon:"img error-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Error")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_10$1(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Connected")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_9$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_8$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Checking model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_7$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_5$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon disconnected",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Not connected"),attr(t,"class","item svelte-as4084")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$2(e){let t,n,o,r,i,a,s,c=(e[15].versionText||e[15].version)+"";return n=new FontIcon({props:{icon:"icon version",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(c),attr(r,"class","version svelte-as4084"),attr(t,"class","item flex svelte-as4084"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(i,c),(!s||32768&n&&a!==(a=e[15].version))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_3$3(e){let t,n,o,r,i,a,s,c,l,u=moment(e[14]?.analysedTime).fromNow()+(e[3],"");return n=new FontIcon({props:{icon:"icon history",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(u),attr(r,"class","version ml-1 svelte-as4084"),attr(t,"class","item flex clickable svelte-as4084"),attr(t,"title",a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`)},m(a,u){insert(a,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0,c||(l=listen(t,"click",e[19]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(i,u),(!s||16385&n&&a!==(a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),c=!1,l()}}}function create_if_block_2$4(e){let t,n,o,r,i,a,s;return n=new FontIcon({props:{icon:"icon archive",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[16]),attr(t,"class","item flex clickable svelte-as4084"),attr(t,"title","Current archive")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,r),i=!0,a||(s=listen(t,"click",e[26]),a=!0)},p(e,t){(!i||65536&t)&&set_data(r,e[16])},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function create_if_block_1$7(e){let t,n;return t=new FontIcon({props:{icon:e[28].icon,padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.icon=e[28].icon),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$5(e){let t,n,o,r,i,a,s=e[28].text+"",c=e[28].icon&&create_if_block_1$7(e);return{c(){t=element("div"),c&&c.c(),n=space(),o=text$1(s),attr(t,"class","item svelte-as4084"),toggle_class(t,"clickable",e[28].clickable)},m(s,l){insert(s,t,l),c&&c.m(t,null),append(t,n),append(t,o),r=!0,i||(a=listen(t,"click",(function(){is_function(e[28].onClick)&&e[28].onClick.apply(this,arguments)})),i=!0)},p(i,a){(e=i)[28].icon?c?(c.p(e,a),256&a&&transition_in(c,1)):(c=create_if_block_1$7(e),c.c(),transition_in(c,1),c.m(t,n)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros()),(!r||256&a)&&s!==(s=e[28].text+"")&&set_data(o,s),(!r||256&a)&&toggle_class(t,"clickable",e[28].clickable)},i(e){r||(transition_in(c),r=!0)},o(e){transition_out(c),r=!1},d(e){e&&detach(t),c&&c.d(),i=!1,a()}}}function create_if_block$8(e){let t,n,o,r,i,a=e[18].message+"";return n=new FontIcon({props:{icon:e[18].icon,padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-as4084")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){const o={};262144&t&&(o.icon=e[18].icon),n.$set(o),(!i||262144&t)&&a!==(a=e[18].message+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$g(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f=e[0]&&create_if_block_15(e),h=e[7]&&create_if_block_13$1(e),g=e[1]&&e[1].user&&create_if_block_12$1(e),_=e[1]&&e[14]&&create_if_block_6$2(e),$=!e[1]&&create_if_block_5$2(),b=e[15]&&create_if_block_4$2(e),v=e[14]?.analysedTime&&create_if_block_3$3(e),y=e[16]&&create_if_block_2$4(e),x=e[8]||[],w=[];for(let t=0;t<x.length;t+=1)w[t]=create_each_block$5(get_each_context$5(e,x,t));const C=e=>transition_out(w[e],1,1,(()=>{w[e]=null}));let k=e[18]&&create_if_block$8(e);return{c(){t=element("div"),n=element("div"),f&&f.c(),o=space(),h&&h.c(),r=space(),g&&g.c(),i=space(),_&&_.c(),a=space(),$&&$.c(),s=space(),b&&b.c(),c=space(),v&&v.c(),l=space(),y&&y.c(),u=space(),d=element("div");for(let e=0;e<w.length;e+=1)w[e].c();p=space(),k&&k.c(),attr(n,"class","container svelte-as4084"),attr(d,"class","container svelte-as4084"),attr(t,"class","main svelte-as4084"),attr(t,"style",e[11])},m(e,x){insert(e,t,x),append(t,n),f&&f.m(n,null),append(n,o),h&&h.m(n,null),append(n,r),g&&g.m(n,null),append(n,i),_&&_.m(n,null),append(n,a),$&&$.m(n,null),append(n,s),b&&b.m(n,null),append(n,c),v&&v.m(n,null),append(n,l),y&&y.m(n,null),append(t,u),append(t,d);for(let e=0;e<w.length;e+=1)w[e]&&w[e].m(d,null);append(d,p),k&&k.m(d,null),m=!0},p(e,[u]){if(e[0]?f?(f.p(e,u),1&u&&transition_in(f,1)):(f=create_if_block_15(e),f.c(),transition_in(f,1),f.m(n,o)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[7]?h?(h.p(e,u),128&u&&transition_in(h,1)):(h=create_if_block_13$1(e),h.c(),transition_in(h,1),h.m(n,r)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[1].user?g?(g.p(e,u),2&u&&transition_in(g,1)):(g=create_if_block_12$1(e),g.c(),transition_in(g,1),g.m(n,i)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),e[1]&&e[14]?_?(_.p(e,u),16386&u&&transition_in(_,1)):(_=create_if_block_6$2(e),_.c(),transition_in(_,1),_.m(n,a)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),e[1]?$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()):$?2&u&&transition_in($,1):($=create_if_block_5$2(),$.c(),transition_in($,1),$.m(n,s)),e[15]?b?(b.p(e,u),32768&u&&transition_in(b,1)):(b=create_if_block_4$2(e),b.c(),transition_in(b,1),b.m(n,c)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),e[14]?.analysedTime?v?(v.p(e,u),16384&u&&transition_in(v,1)):(v=create_if_block_3$3(e),v.c(),transition_in(v,1),v.m(n,l)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[16]?y?(y.p(e,u),65536&u&&transition_in(y,1)):(y=create_if_block_2$4(e),y.c(),transition_in(y,1),y.m(n,null)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),256&u){let t;for(x=e[8]||[],t=0;t<x.length;t+=1){const n=get_each_context$5(e,x,t);w[t]?(w[t].p(n,u),transition_in(w[t],1)):(w[t]=create_each_block$5(n),w[t].c(),transition_in(w[t],1),w[t].m(d,p))}for(group_outros(),t=x.length;t<w.length;t+=1)C(t);check_outros()}e[18]?k?(k.p(e,u),262144&u&&transition_in(k,1)):(k=create_if_block$8(e),k.c(),transition_in(k,1),k.m(d,null)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),(!m||2048&u)&&attr(t,"style",e[11])},i(e){if(!m){transition_in(f),transition_in(h),transition_in(g),transition_in(_),transition_in($),transition_in(b),transition_in(v),transition_in(y);for(let e=0;e<x.length;e+=1)transition_in(w[e]);transition_in(k),m=!0}},o(e){transition_out(f),transition_out(h),transition_out(g),transition_out(_),transition_out($),transition_out(b),transition_out(v),transition_out(y),w=w.filter(Boolean);for(let e=0;e<w.length;e+=1)transition_out(w[e]);transition_out(k),m=!1},d(e){e&&detach(t),f&&f.d(),h&&h.d(),g&&g.d(),_&&_.d(),$&&$.d(),b&&b.d(),v&&v.d(),y&&y.d(),destroy_each(w,e),k&&k.d()}}}function instance$i(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C=noop$3,k=noop$3,S=noop$3,T=noop$3,A=noop$3;component_subscribe(e,activeTabId,(e=>n(20,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(21,f=e))),component_subscribe(e,currentDatabase,(e=>n(22,h=e))),component_subscribe(e,currentArchive,(e=>n(16,y=e))),component_subscribe(e,selectedWidget,(e=>n(17,x=e))),component_subscribe(e,appUpdateStatus,(e=>n(18,w=e))),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S())),e.$$.on_destroy.push((()=>T())),e.$$.on_destroy.push((()=>A()));var E=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let O=1;setInterval((()=>{n(3,O++,O)}),1e4);return e.$$.update=()=>{4194304&e.$$.dirty&&n(0,o=h&&h.name),4194304&e.$$.dirty&&n(1,r=h&&h.connection),3&e.$$.dirty&&n(2,i=r?{conid:r._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(i||{})),T(),T=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(i||{})),A(),A=subscribe(s,(e=>n(15,v=e)))),3145728&e.$$.dirty&&n(8,c=f[m]),2&e.$$.dirty&&n(7,l=lib$5.getConnectionLabel(r,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(i,3,"dark",!0)),C(),C=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(i?{conid:i.conid}:null,6,"dark",!0)),S(),S=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(i,6,"dark",!0,!1)),k(),k=subscribe(p,(e=>n(12,_=e))))},[o,r,i,O,p,d,u,l,c,s,a,g,_,$,b,v,y,x,w,function(){return E(this,void 0,void 0,(function*(){r&&o&&(yield apiCall("database-connections/sync-model",{conid:r._id,database:o}))}))},m,f,h,()=>{showModal(ChooseConnectionColorModal,{...i,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:i.conid,header:"Choose connection color",text:"This color serves as default color for all databases in this connection."})},()=>visibleCommandPalette.set(findCommand("database.changeState")),()=>{set_store_value(selectedWidget,x="archive",x)}]}class StatusBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$i,create_fragment$g,safe_not_equal,{})}}function get_each_context$4(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_if_block_1$6(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-1bkmj6r")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[4]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block$7(e){let t,n,o=e[3],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$4(get_each_context$4(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","buttons svelte-1bkmj6r")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null);n=!0},p(e,n){if(24&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const i=get_each_context$4(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$4(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_each_block$4(e){let t,n,o,r;return n=new FormStyledButton({props:{value:e[8].label}}),n.$on("click",(function(){return e[7](e[8])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-1bkmj6r")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},p(t,o){e=t;const r={};8&o&&(r.value=e[8].label),n.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$f(e){let t,n,o,r,i,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$6(e),u=e[3]?.length>0&&create_if_block$7(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-1bkmj6r"),attr(t,"class","wrapper svelte-1bkmj6r")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const r={};2&n&&(r.icon=e[1]),o.$set(r),(!c||1&n)&&set_data(i,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$6(e),l.c(),transition_in(l,1),l.m(t,s)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[3]?.length>0?u?(u.p(e,n),8&n&&transition_in(u,1)):(u=create_if_block$7(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){c||(transition_in(o.$$.fragment,e),transition_in(l),transition_in(u),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(l),transition_out(u),c=!1},d(e){e&&detach(t),destroy_component(o),l&&l.d(),u&&u.d()}}}function instance$h(e,t,n){let{message:o}=t,{id:r}=t,{icon:i=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=r))))}onMount((()=>{a&&setTimeout(l,3e3)}));return e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,r=e.id),"icon"in e&&n(1,i=e.icon),"autoClose"in e&&n(6,a=e.autoClose),"allowClose"in e&&n(2,s=e.allowClose),"buttons"in e&&n(3,c=e.buttons)},[o,i,s,c,l,r,a,e=>{e.autoClose&&l(),e.onClick?.()}]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$h,create_fragment$f,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$3(e,t,n){const o=e.slice();return o[1]=t[n].component,o[2]=t[n].props,o[3]=t[n].modalId,o}function create_each_block$3(e){let t,n,o;const r=[{modalId:e[3]},e[2]];var i=e[1];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=1&o?get_spread_update(r,[{modalId:e[3]},get_spread_object(e[2])]):{};if(1&o&&i!==(i=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_fragment$e(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$3(get_each_context$3(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(1&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$3(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$3(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$g(e,t,n){let o;return component_subscribe(e,openedModals,(e=>n(0,o=e))),[o]}class ModalLayer extends SvelteComponent{constructor(e){super(),init(this,e,instance$g,create_fragment$e,safe_not_equal,{})}}function create_fragment$d(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=e[0].join(", ")+"";return r=new FontIcon({props:{icon:"icon cloud-upload"}}),m=new FontIcon({props:{icon:"icon close",padRight:!0}}),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=element("div"),a.textContent="Drop the files to upload to DbGate",s=space(),c=element("div"),l=text$1("Supported file types: "),u=text$1($),d=space(),p=element("div"),create_component(m.$$.fragment),f=text$1("\n Close"),attr(o,"class","icon svelte-1d5rlxt"),attr(a,"class","title svelte-1d5rlxt"),attr(c,"class","info svelte-1d5rlxt"),attr(p,"class","class-button svelte-1d5rlxt"),attr(t,"class","target svelte-1d5rlxt")},m($,b){insert($,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(n,i),append(n,a),append(n,s),append(n,c),append(c,l),append(c,u),append(n,d),append(n,p),mount_component(m,p,null),append(p,f),h=!0,g||(_=listen(p,"click",e[3]),g=!0)},p(e,[t]){(!h||1&t)&&$!==($=e[0].join(", ")+"")&&set_data(u,$)},i(e){h||(transition_in(r.$$.fragment,e),transition_in(m.$$.fragment,e),h=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(m.$$.fragment,e),h=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(m),g=!1,_()}}}function instance$f(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(2,r=e))),component_subscribe(e,isFileDragActive,(e=>n(1,i=e)));const a=getElectron();return e.$$.update=()=>{4&e.$$.dirty&&n(0,o=_.compact([...r.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),a?"SQL":null,a?"SQLite database":null]))},[o,i,r,()=>{set_store_value(isFileDragActive,i=!1,i)}]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$d,safe_not_equal,{})}}var COMMON_MIME_TYPES=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function toFileWithPath(e,t){var n=withMimeType(e);if("string"!=typeof n.path){var o=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"==typeof t?t:"string"==typeof o&&o.length>0?o:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function withMimeType(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),o=COMMON_MIME_TYPES.get(n);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var FILES_TO_IGNORE=[".DS_Store","Thumbs.db"];function fromEvent(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,isDragEvt(e)&&e.dataTransfer?getDataTransferFiles(e.dataTransfer,e.type):getInputFiles(e)]}))}))}function isDragEvt(e){return!!e.dataTransfer}function getInputFiles(e){return(isInput(e.target)&&e.target.files?fromList(e.target.files):[]).map((function(e){return toFileWithPath(e)}))}function isInput(e){return null!==e}function getDataTransferFiles(e,t){return __awaiter$m(this,void 0,void 0,(function(){var n;return __generator(this,(function(o){switch(o.label){case 0:return e.items?(n=fromList(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(toFilePromises))]):[3,2];case 1:return[2,noIgnoredFiles(flatten(o.sent()))];case 2:return[2,noIgnoredFiles(fromList(e.files).map((function(e){return toFileWithPath(e)})))]}}))}))}function noIgnoredFiles(e){return e.filter((function(e){return-1===FILES_TO_IGNORE.indexOf(e.name)}))}function fromList(e){for(var t=[],n=0;n<e.length;n++){var o=e[n];t.push(o)}return t}function toFilePromises(e){if("function"!=typeof e.webkitGetAsEntry)return fromDataTransferItem(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?fromDirEntry(t):fromDataTransferItem(e)}function flatten(e){return e.reduce((function(e,t){return __spread(e,Array.isArray(t)?flatten(t):[t])}),[])}function fromDataTransferItem(e){var t=e.getAsFile();if(!t)return Promise.reject(e+" is not a File");var n=toFileWithPath(t);return Promise.resolve(n)}function fromEntry(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,e.isDirectory?fromDirEntry(e):fromFileEntry(e)]}))}))}function fromDirEntry(e){var t=e.createReader();return new Promise((function(e,n){var o=[];!function r(){var i=this;t.readEntries((function(t){return __awaiter$m(i,void 0,void 0,(function(){var i,a,s;return __generator(this,(function(c){switch(c.label){case 0:if(t.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return i=c.sent(),e(i),[3,4];case 3:return a=c.sent(),n(a),[3,4];case 4:return[3,6];case 5:s=Promise.all(t.map(fromEntry)),o.push(s),r(),c.label=6;case 6:return[2]}}))}))}),(function(e){n(e)}))}()}))}function fromFileEntry(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,new Promise((function(t,n){e.file((function(n){var o=toFileWithPath(n,e.fullPath);t(o)}),(function(e){n(e)}))}))]}))}))}function isEvtWithFiles(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(e=>"Files"===e||"application/x-moz-file"===e)):!!e.target&&!!e.target.files}function dragDropFileTarget(e,t){let n=[];function o(e){return e.preventDefault(),e.stopPropagation(),n=[...n,e.target],isEvtWithFiles(e)&&isFileDragActive.set(!0),!1}function r(e){if(e.preventDefault(),e.stopPropagation(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}}function i(t){t.preventDefault(),t.stopPropagation();const o=n.filter((t=>e&&e.contains(t))),r=o.indexOf(t.target);-1!==r&&o.splice(r,1),n=o,o.length>0||isFileDragActive.set(!1)}function a(e){return __awaiter$m(this,void 0,void 0,(function*(){if(e.preventDefault(),e.stopPropagation(),isFileDragActive.set(!1),isEvtWithFiles(e)){uploadFiles(yield fromEvent(e))}}))}return e.addEventListener("dragenter",o),e.addEventListener("dragover",r),e.addEventListener("dragleave",i),e.addEventListener("drop",a),{destroy(){e.removeEventListener("dragenter",o),e.removeEventListener("dragover",r),e.removeEventListener("dragleave",i),e.removeEventListener("drop",a)}}}function get_each_context$2(e,t,n){const o=e.slice();return o[9]=t[n],o}function create_each_block$2(e){let t,n,o,r,i,a=(e[9].text||e[9].label)+"";function s(...t){return e[7](e[9],...t)}function c(...t){return e[8](e[9],...t)}return{c(){t=element("div"),n=text$1(a),o=space(),attr(t,"class","item svelte-1beafpb"),toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},m(e,a){insert(e,t,a),append(t,n),append(t,o),r||(i=[listen(t,"click",s),listen(t,"mousemove",c)],r=!0)},p(o,r){e=o,4&r&&a!==(a=(e[9].text||e[9].label)+"")&&set_data(n,a),6&r&&toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},d(e){e&&detach(t),r=!1,run_all(i)}}}function create_fragment$c(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$2(get_each_context$2(e,n,t));return{c(){t=element("div");for(let e=0;e<o.length;e+=1)o[e].c();attr(t,"class","container svelte-1beafpb")},m(e,n){insert(e,t,n);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(t,null)},p(e,[r]){if(15&r){let i;for(n=e[2],i=0;i<n.length;i+=1){const a=get_each_context$2(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$2(a),o[i].c(),o[i].m(t,null))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){e&&detach(t),destroy_each(o,e)}}}function instance$e(e,t,n){let o,r,i;component_subscribe(e,currentDropDownMenu,(e=>n(5,r=e))),component_subscribe(e,commandsCustomized,(e=>n(6,i=e)));let a,s,{items:c}=t;function l(e,t){const o=e.getBoundingClientRect(),i=o.left,c=o.bottom,l=t.submenu;set_store_value(currentDropDownMenu,r={left:i,top:c,items:l},r),n(0,a=!0),n(1,s=t.text||t.label)}return e.$$set=e=>{"items"in e&&n(4,c=e.items)},e.$$.update=()=>{80&e.$$.dirty&&n(2,o=prepareMenuItems(c,{},i)),32&e.$$.dirty&&(r||(n(0,a=!1),n(1,s=null)))},[a,s,o,l,c,r,i,(e,t)=>l(t.target,e),(e,t)=>{a&&l(t.target,e)}]}class HorizontalMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$e,create_fragment$c,safe_not_equal,{items:4})}}function create_if_block_1$5(e){let t,n,o,r,i;return r=new HorizontalMenu({props:{items:mainMenuDefinition({editMenu:!!e[2]})}}),{c(){t=element("div"),t.innerHTML='<img src="logo192.png" width="20" height="20"/>',n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","icon svelte-1sw5v4y"),attr(o,"class","menu svelte-1sw5v4y")},m(e,a){insert(e,t,a),insert(e,n,a),insert(e,o,a),mount_component(r,o,null),i=!0},p:noop$3,i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_if_block$6(e){let t,n,o,r,i,a,s,c,l,u,d,p;return o=new FontIcon({props:{icon:"icon window-minimize"}}),a=new FontIcon({props:{icon:"icon "+(e[0]?"window-restore":"window-maximize")}}),a.$on("click",e[6]),l=new FontIcon({props:{icon:"icon window-close"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),create_component(l.$$.fragment),attr(n,"class","button svelte-1sw5v4y"),attr(i,"class","button svelte-1sw5v4y"),attr(c,"class","button close-button svelte-1sw5v4y"),attr(t,"class","actions svelte-1sw5v4y")},m(m,f){insert(m,t,f),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),append(t,s),append(t,c),mount_component(l,c,null),u=!0,d||(p=[listen(n,"click",e[5]),listen(c,"click",e[7])],d=!0)},p(e,t){const n={};1&t&&(n.icon="icon "+(e[0]?"window-restore":"window-maximize")),a.$set(n)},i(e){u||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(l),d=!1,run_all(p)}}}function create_fragment$b(e){let t,n,o,r,i,a,s,c,l=!isMac(),u=!isMac(),d=l&&create_if_block_1$5(e),p=u&&create_if_block$6(e);return{c(){t=element("div"),d&&d.c(),n=space(),o=element("div"),r=text$1(e[1]),i=space(),p&&p.c(),attr(o,"class","title svelte-1sw5v4y"),attr(t,"class","container svelte-1sw5v4y")},m(l,u){insert(l,t,u),d&&d.m(t,null),append(t,n),append(t,o),append(o,r),append(t,i),p&&p.m(t,null),a=!0,s||(c=listen(t,"dblclick",stop_propagation(prevent_default(e[8]))),s=!0)},p(e,[t]){l&&d.p(e,t),(!a||2&t)&&set_data(r,e[1]),u&&p.p(e,t)},i(e){a||(transition_in(d),transition_in(p),a=!0)},o(e){transition_out(d),transition_out(p),a=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),s=!1,c()}}}function instance$d(e,t,n){let o,r,i;component_subscribe(e,currentDatabase,(e=>n(3,r=e))),component_subscribe(e,activeTab,(e=>n(4,i=e)));const a=getElectron();let s=!1;a&&apiOn("setIsMaximized",(e=>{n(0,s=e)}));return e.$$.update=()=>{24&e.$$.dirty&&n(1,o=_.compact([null==i?void 0:i.title,null==r?void 0:r.name,"DbGate"]).join(" - "))},[s,o,a,r,i,()=>a.send("window-action","minimize"),()=>a.send("window-action","maximize"),()=>a.send("window-action","close"),()=>a.send("window-action","maximize")]}class TitleBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$b,safe_not_equal,{})}}function create_fragment$a(e){let t,n,o,r,i,a;return n=new TabsPanel({props:{multiTabIndex:e[0],shownTab:e[1]}}),i=new TabRegister({props:{multiTabIndex:e[0],shownTab:e[1]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(t,"class","tabs svelte-685oc7"),attr(r,"class","content svelte-685oc7")},m(e,s){insert(e,t,s),mount_component(n,t,null),insert(e,o,s),insert(e,r,s),mount_component(i,r,null),a=!0},p(e,[t]){const o={};1&t&&(o.multiTabIndex=e[0]),2&t&&(o.shownTab=e[1]),n.$set(o);const r={};1&t&&(r.multiTabIndex=e[0]),2&t&&(r.shownTab=e[1]),i.$set(r)},i(e){a||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o),e&&detach(r),destroy_component(i)}}}function instance$c(e,t,n){let o,r,i,a;component_subscribe(e,currentDatabase,(e=>n(2,r=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(3,i=e))),component_subscribe(e,openedTabs,(e=>n(4,a=e)));let{multiTabIndex:s}=t;return e.$$set=e=>{"multiTabIndex"in e&&n(0,s=e.multiTabIndex)},e.$$.update=()=>{29&e.$$.dirty&&n(1,o=function(e,t,n,o){const r=e.find((e=>e.selected&&null==e.closedTime&&(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)));return r||e[_.findLastIndex(e,(e=>(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)))]}(a,s,i,r))},[s,o,r,i,a]}class TabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$a,safe_not_equal,{multiTabIndex:0})}}function create__1_slot(e){let t,n,o;return n=new TabsContainer({props:{multiTabIndex:0}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__2_slot(e){let t,n,o;return n=new TabsContainer({props:{multiTabIndex:1}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container"),attr(t,"slot","2")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$9(e){let t,n;return t=new HorizontalSplitter({props:{hideFirst:!e[1]&&e[0],isSplitter:e[0],allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot],1:[create__1_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};3&n&&(o.hideFirst=!e[1]&&e[0]),1&n&&(o.isSplitter=e[0]),64&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$b(e,t,n){let o,r,i,a,s,c;return component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e))),component_subscribe(e,openedTabs,(e=>n(5,c=e))),e.$$.update=()=>{56&e.$$.dirty&&n(2,o=c.filter((e=>shouldShowTab(e,s,a)))),4&e.$$.dirty&&n(1,r=!!o.find((e=>!e.multiTabIndex))),4&e.$$.dirty&&n(0,i=!!o.find((e=>1==e.multiTabIndex)))},[i,r,o,a,s,c]}class MultiTabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$b,create_fragment$9,safe_not_equal,{})}}function get_each_context$1(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_6$1(e){let t,n;return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(o,r){t.m(e[1],o,r),insert(o,n,r)},p(e,n){2&n&&t.p(e[1])},d(e){e&&detach(n),e&&t.d()}}}function create_if_block_5$1(e){let t,n,o;return n=new TitleBar({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","titlebar svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$1(e){let t,n,o;return n=new WidgetContainer({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","leftpanel svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_3$2(e){let t,n,o;return{c(){t=element("div"),attr(t,"class","horizontal-split-handle splitter svelte-1efqwi5")},m(r,i){insert(r,t,i),n||(o=[action_destroyer(splitterDrag.call(null,t,"clientX")),listen(t,"resizeSplitter",e[12])],n=!0)},p:noop$3,d(e){e&&detach(t),n=!1,run_all(o)}}}function create_if_block_2$3(e){let t,n,o;return n=new CommandPalette({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","commads svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1$4(e){let t,n,o;return n=new Toolbar({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","toolbar svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$5(e){let t,n;return t=new DragAndDropFileTarget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$1(e,t){let n,o,r;const i=[t[13]];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new Snackbar({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=1024&n?get_spread_update(i,[get_spread_object(t[13])]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$8(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A,E,O,I,N,D,M,R,L=[],F=new Map,P=e[0]?.themeCss&&create_if_block_6$1(e);i=new FontIcon({props:{icon:"img warn"}});let j=e[4]&&create_if_block_5$1();f=new WidgetIconPanel({}),_=new StatusBar({});let B=e[5]&&e[6]&&create_if_block_4$1();y=new MultiTabsContainer({});let q=e[5]&&e[6]&&create_if_block_3$2(e),W=e[7]&&create_if_block_2$3(),z=e[8]&&create_if_block_1$4();S=new CurrentDropDownMenu({}),A=new ModalLayer({});let H=e[9]&&create_if_block$5(),U=e[10];const V=e=>e[13].id;for(let t=0;t<U.length;t+=1){let n=get_each_context$1(e,U,t),o=V(n);F.set(o,L[t]=create_each_block$1(o,n))}return{c(){P&&P.c(),t=empty(),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),s.textContent="Sorry, DbGate is not supported on mobile devices.",c=space(),l=element("div"),l.innerHTML='Please visit <a href="https://dbgate.org">DbGate web</a> for more info.',u=space(),d=element("div"),j&&j.c(),p=space(),m=element("div"),create_component(f.$$.fragment),h=space(),g=element("div"),create_component(_.$$.fragment),$=space(),B&&B.c(),b=space(),v=element("div"),create_component(y.$$.fragment),x=space(),q&&q.c(),w=space(),W&&W.c(),C=space(),z&&z.c(),k=space(),create_component(S.$$.fragment),T=space(),create_component(A.$$.fragment),E=space(),H&&H.c(),O=space(),I=element("div");for(let e=0;e<L.length;e+=1)L[e].c();attr(r,"class","m-5 big-icon svelte-1efqwi5"),attr(s,"class","m-3"),attr(l,"class","m-3"),attr(o,"class","not-supported svelte-1efqwi5"),toggle_class(o,"isElectron",e[11]),attr(m,"class","iconbar svelte-1efqwi5"),attr(g,"class","statusbar svelte-1efqwi5"),attr(v,"class","tabs-container svelte-1efqwi5"),attr(I,"class","snackbar-container svelte-1efqwi5"),attr(d,"class",N=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"),toggle_class(d,"isElectron",e[11])},m(e,N){P&&P.m(document.head,null),append(document.head,t),insert(e,n,N),insert(e,o,N),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),append(o,c),append(o,l),insert(e,u,N),insert(e,d,N),j&&j.m(d,null),append(d,p),append(d,m),mount_component(f,m,null),append(d,h),append(d,g),mount_component(_,g,null),append(d,$),B&&B.m(d,null),append(d,b),append(d,v),mount_component(y,v,null),append(d,x),q&&q.m(d,null),append(d,w),W&&W.m(d,null),append(d,C),z&&z.m(d,null),append(d,k),mount_component(S,d,null),append(d,T),mount_component(A,d,null),append(d,E),H&&H.m(d,null),append(d,O),append(d,I);for(let e=0;e<L.length;e+=1)L[e]&&L[e].m(I,null);D=!0,M||(R=[action_destroyer(dragDropFileTarget.call(null,d)),listen(d,"contextmenu",contextmenu_handler)],M=!0)},p(e,[n]){e[0]?.themeCss?P?P.p(e,n):(P=create_if_block_6$1(e),P.c(),P.m(t.parentNode,t)):P&&(P.d(1),P=null),e[4]?j?16&n&&transition_in(j,1):(j=create_if_block_5$1(),j.c(),transition_in(j,1),j.m(d,p)):j&&(group_outros(),transition_out(j,1,1,(()=>{j=null})),check_outros()),e[5]&&e[6]?B?96&n&&transition_in(B,1):(B=create_if_block_4$1(),B.c(),transition_in(B,1),B.m(d,b)):B&&(group_outros(),transition_out(B,1,1,(()=>{B=null})),check_outros()),e[5]&&e[6]?q?q.p(e,n):(q=create_if_block_3$2(e),q.c(),q.m(d,w)):q&&(q.d(1),q=null),e[7]?W?128&n&&transition_in(W,1):(W=create_if_block_2$3(),W.c(),transition_in(W,1),W.m(d,C)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),e[8]?z?256&n&&transition_in(z,1):(z=create_if_block_1$4(),z.c(),transition_in(z,1),z.m(d,k)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),e[9]?H?512&n&&transition_in(H,1):(H=create_if_block$5(),H.c(),transition_in(H,1),H.m(d,O)):H&&(group_outros(),transition_out(H,1,1,(()=>{H=null})),check_outros()),1024&n&&(U=e[10],group_outros(),L=update_keyed_each(L,n,V,1,e,U,F,I,outro_and_destroy_block,create_each_block$1,null,get_each_context$1),check_outros()),(!D||12&n&&N!==(N=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"))&&attr(d,"class",N),(!D||2060&n)&&toggle_class(d,"isElectron",e[11])},i(e){if(!D){transition_in(i.$$.fragment,e),transition_in(j),transition_in(f.$$.fragment,e),transition_in(_.$$.fragment,e),transition_in(B),transition_in(y.$$.fragment,e),transition_in(W),transition_in(z),transition_in(S.$$.fragment,e),transition_in(A.$$.fragment,e),transition_in(H);for(let e=0;e<U.length;e+=1)transition_in(L[e]);D=!0}},o(e){transition_out(i.$$.fragment,e),transition_out(j),transition_out(f.$$.fragment,e),transition_out(_.$$.fragment,e),transition_out(B),transition_out(y.$$.fragment,e),transition_out(W),transition_out(z),transition_out(S.$$.fragment,e),transition_out(A.$$.fragment,e),transition_out(H);for(let e=0;e<L.length;e+=1)transition_out(L[e]);D=!1},d(e){P&&P.d(e),detach(t),e&&detach(n),e&&detach(o),destroy_component(i),e&&detach(u),e&&detach(d),j&&j.d(),destroy_component(f),destroy_component(_),B&&B.d(),destroy_component(y),q&&q.d(),W&&W.d(),z&&z.d(),destroy_component(S),destroy_component(A),H&&H.d();for(let e=0;e<L.length;e+=1)L[e].d();M=!1,run_all(R)}}}const contextmenu_handler=e=>e.preventDefault();function instance$a(e,t,n){let o,r,i,a,s,c,l,u,d,p,m;component_subscribe(e,currentThemeDefinition,(e=>n(0,i=e))),component_subscribe(e,currentTheme,(e=>n(3,a=e))),component_subscribe(e,visibleTitleBar,(e=>n(4,s=e))),component_subscribe(e,selectedWidget,(e=>n(5,c=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(6,l=e))),component_subscribe(e,visibleCommandPalette,(e=>n(7,u=e))),component_subscribe(e,visibleToolbar,(e=>n(8,d=e))),component_subscribe(e,isFileDragActive,(e=>n(9,p=e))),component_subscribe(e,openedSnackbars,(e=>n(10,m=e)));const f=!!getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(2,o="dark"==i?.themeType?"theme-type-dark":"theme-type-light"),1&e.$$.dirty&&n(1,r=`<style id="themePlugin">${i?.themeCss}</style>`)},[i,r,o,a,s,c,l,u,d,p,m,f,e=>leftPanelWidth.update((t=>t+e.detail))]}class Screen extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$8,safe_not_equal,{})}}let appIsLoaded=!1,onLoad=[];function setAppLoaded(){appIsLoaded=!0;for(const e of onLoad)e();onLoad=[]}function getAppLoaded(){return appIsLoaded}function callWhenAppLoaded(e){appIsLoaded?e():onLoad.push(e)}const{window:window_1}=globals;function create_fragment$7(e){let t,n;return{c:noop$3,m(o,r){t||(n=listen(window_1,"unhandledrejection",e[0]),t=!0)},p:noop$3,i:noop$3,o:noop$3,d(e){t=!1,n()}}}function instance$9(e,t,n){let o;var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i=0;return e.$$.update=()=>{2&e.$$.dirty&&(o=i)},[e=>r(void 0,void 0,void 0,(function*(){console.log("Unhandler error, checking whether crashed",e);const t=i;n(1,i++,i),window.setTimeout((()=>r(void 0,void 0,void 0,(function*(){var e,n;if(o<=t){console.log("CRASH DETECTED!!!");const t=localStorage.getItem("lastDbGateCrash"),o=t?JSON.parse(t):null;if(o&&(new Date).getTime()-o<3e4)if(window.confirm("Sorry, DbGate has crashed again.\nDo you want to close all tabs in order to avoid crashing after next reload?\nYou can reopen closed tabs in closed tabs history.")){try{let e=(yield localforage.getItem(getOpenedTabsStorageName()))||[];_.isArray(e)||(e=[]),e=e.map((e=>e.closedTime?e:Object.assign(Object.assign({},e),{closedTime:(new Date).getTime()}))).map((e=>Object.assign(Object.assign({},e),{selected:!1}))),yield localforage.setItem(getOpenedTabsStorageName(),e),yield localStorage.setItem("selectedWidget","history")}catch(e){localforage.removeItem(getOpenedTabsStorageName())}window.location.reload()}else null===(e=getElectron())||void 0===e||e.send("open-dev-tools");else window.confirm("Sorry, DbGate has crashed.\nPress OK for reload application\nPress Cancel and inspect Console in Developer tools for error details")?(localStorage.setItem("lastDbGateCrash",JSON.stringify((new Date).getTime())),window.location.reload()):null===(n=getElectron())||void 0===n||n.send("open-dev-tools")}}))),500)})),i]}class ErrorHandler extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$7,safe_not_equal,{})}}function instance$8(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,commandsCustomized,(e=>n(3,r=e))),component_subscribe(e,openedTabs,(e=>n(4,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l=!1;function u(e){var t;return c(this,void 0,void 0,(function*(){if(!e)return;if(l)return;l=!0;const{hash:n}=document.location,o=n&&n.startsWith("#favorite=")?n.substring(10):null,a=n&&n.startsWith("#tabdata=")?n.substring(9):null;if(o){const t=e.find((e=>e.urlPath==o));t&&(openFavorite(t),window.history.replaceState(null,null," "))}else if(a)try{openFavorite(JSON.parse(decodeURIComponent(a))),window.history.replaceState(null,null," ")}catch(e){showModal(ErrorMessageModal,{message:e.message})}else if(!i.find((e=>null==e.closedTime)))for(const t of e.filter((e=>e.openOnStartup)))openFavorite(t);i.find((e=>null==e.closedTime))||(yield getConnectionList()).find((e=>!e.unsaved))||!(null===(t=r["new.connection"])||void 0===t?void 0:t.enabled)||openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab"});const s=yield getConfig(),c=localStorage.getItem("appVersion");c&&c!=s.version&&(runCommand("tabs.changelog"),showSnackbarInfo(`DbGate upgraded from version ${c} to version ${s.version}`)),localStorage.setItem("appVersion",s.version)}))}return onMount((()=>{u(a)})),e.$$.update=()=>{2&e.$$.dirty&&u(a)},n(0,o=useFavorites()),s(),s=subscribe(o,(e=>n(1,a=e))),[o,a]}class OpenTabsOnStartup extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,null,safe_not_equal,{})}}function create_fragment$6(e){let t;return document.title=t=e[0],{c:noop$3,m:noop$3,p(e,[n]){1&n&&t!==(t=e[0])&&(document.title=t)},i:noop$3,o:noop$3,d:noop$3}}function instance$7(e,t,n){let o,r,i;return component_subscribe(e,currentDatabase,(e=>n(1,r=e))),component_subscribe(e,activeTab,(e=>n(2,i=e))),e.$$.update=()=>{if(6&e.$$.dirty&&n(0,o=_.compact([null==i?void 0:i.title,null==r?void 0:r.name,"DbGate"]).join(" - ")),1&e.$$.dirty){const e=getElectron();e&&e.send("set-title",o)}},[o,r,i]}class AppTitleProvider extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$6,safe_not_equal,{})}}function create_fragment$5(e){let t,n,o,r,i,a;return{c(){t=element("div"),n=element("div"),o=element("div"),o.innerHTML='<div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div>',r=space(),i=element("div"),a=text$1(e[0]),attr(o,"class","lds-ellipsis svelte-45vupj"),attr(n,"class","inner-flex svelte-45vupj"),attr(t,"class","starting-dbgate svelte-45vupj")},m(e,s){insert(e,t,s),append(t,n),append(n,o),append(n,r),append(n,i),append(i,a)},p(e,[t]){1&t&&set_data(a,e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$6(e,t,n){let{message:o}=t;return e.$$set=e=>{"message"in e&&n(0,o=e.message)},[o]}class AppStartInfo extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,create_fragment$5,safe_not_equal,{message:0})}}function instance$5(e,t,n){let o;const r=useSettings();return component_subscribe(e,r,(e=>n(1,o=e))),e.$$.update=()=>{2&e.$$.dirty&&(lib$5.SqlDumper.keywordsCase=(null==o?void 0:o["sqlEditor.sqlCommandsCase"])||"upperCase")},[r,o]}class SettingsListener extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,null,safe_not_equal,{})}}function initializeAppUpdates(){const e=getElectron();e&&(e.addEventListener("update-available",((t,n)=>{showSnackbar({message:`Update available: ${n}`,allowClose:!0,buttons:[{label:"Download",onClick:()=>{e.send("downloadUpdate")},autoClose:!0}]})})),e.addEventListener("app-update-status",((e,t)=>{appUpdateStatus.set(t)})),e.addEventListener("downloaded-new-version",((t,n)=>{showSnackbar({message:`New version ${n} downloaded. Update will be installed after app restart.`,allowClose:!0,buttons:[{label:"Restart DbGate",onClick:()=>{e.send("applyUpdate")},autoClose:!0}]})})),e.addEventListener("setAppUpdaterActive",((e,t)=>{appUpdaterActive.set(!0),invalidateCommands()})))}function create_else_block_1$1(e){let t,n;return t=new AppStartInfo({props:{message:"Starting DbGate"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$4(e){let t,n,o,r,i,a,s,c,l,u,d,p;t=new DataGridRowHeightMeter({}),o=new CommandListener({}),i=new PluginsProvider({}),s=new AppTitleProvider({});const m=[create_if_block_1$3,create_else_block$2],f=[];function h(e,t){return e[2]?0:1}return l=h(e),u=f[l]=m[l](e),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),u.c(),d=empty()},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),mount_component(s,e,u),insert(e,c,u),f[l].m(e,u),insert(e,d,u),p=!0},p(e,t){let n=l;l=h(e),l===n?f[l].p(e,t):(group_outros(),transition_out(f[n],1,1,(()=>{f[n]=null})),check_outros(),u=f[l],u?u.p(e,t):(u=f[l]=m[l](e),u.c()),transition_in(u,1),u.m(d.parentNode,d))},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(u),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(u),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),f[l].d(e),e&&detach(d)}}}function create_else_block$2(e){let t,n;return t=new AppStartInfo({props:{message:e[1].loadingPackageName?`Loading plugin ${e[1].loadingPackageName} ...`:"Preparing plugins ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.message=e[1].loadingPackageName?`Loading plugin ${e[1].loadingPackageName} ...`:"Preparing plugins ..."),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$3(e){let t,n,o,r,i,a;return t=new OpenTabsOnStartup({}),o=new SettingsListener({}),i=new Screen({}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$4(e){let t,n,o,r,i,a;t=new ErrorHandler({});const s=[create_if_block$4,create_else_block_1$1],c=[];function l(e,t){return e[0]?0:1}return o=l(e),r=c[o]=s[o](e),{c(){create_component(t.$$.fragment),n=space(),r.c(),i=empty()},m(e,r){mount_component(t,e,r),insert(e,n,r),c[o].m(e,r),insert(e,i,r),a=!0},p(e,[t]){let n=o;o=l(e),o===n?c[o].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),r=c[o],r?r.p(e,t):(r=c[o]=s[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i))},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),a=!1},d(e){destroy_component(t,e),e&&detach(n),c[o].d(e),e&&detach(i)}}}function instance$4(e,t,n){let o;component_subscribe(e,loadingPluginStore,(e=>n(1,o=e)));var r,i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{isAdminPage:a=!1}=t,s=!1,c=!1;return onMount((function e(){return i(this,void 0,void 0,(function*(){try{const t=yield getConfig();yield handleAuthOnStartup(t,a);const o=yield apiCall("connections/list"),r=yield getSettings(),i=yield getUsedApps(),c=!!(r&&o&&t&&i);c&&(subscribeApiDependendStores(),subscribeConnectionPingers(),subscribePermissionCompiler(),installNewVolatileConnectionListener(),initializeAppUpdates()),n(0,s=c),s||(console.log("API not initialized correctly, trying again in 1s"),setTimeout(e,1e3))}catch(t){console.log("Error calling API, trying again in 1s"),setTimeout(e,1e3)}}))})),onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()})),e.$$set=e=>{"isAdminPage"in e&&n(3,a=e.isAdminPage)},e.$$.update=()=>{19&e.$$.dirty&&s&&(null==o?void 0:o.loaded)&&(setAppLoaded(),n(2,c=!0),null===n(4,r=getElectron())||void 0===r||r.send("app-started"))},[s,o,c,a,r]}class App extends SvelteComponent{constructor(e){super(),init(this,e,instance$4,create_fragment$4,safe_not_equal,{isAdminPage:3})}}let lastCurrentTab=null;async function localStorageGarbageCollector(){let e=await localforage.getItem(getOpenedTabsStorageName())??[];const t=moment().add(-7,"day").valueOf();e=e.filter((e=>!e.closedTime||e.closedTime>t)),await localforage.setItem(getOpenedTabsStorageName(),e);const n=[];for(const t in localStorage)t.startsWith("tabdata_")&&(e.find((e=>t.endsWith("_"+e.tabid)))||n.push(t));for(const e of n)localStorage.removeItem(e);const o=await localforage.keys(),r=[];for(const t in o)t.startsWith("tabdata_")&&(e.find((e=>t.endsWith("_"+e.tabid)))||r.push(t));for(const e of r)await localforage.removeItem(e)}function get_each_context(e,t,n){const o=e.slice();return o[25]=t[n],o}function create_if_block_12(e){let t,n,o,r;const i=[create_if_block_13,create_else_block_2],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n||(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block_2(e){let t,n;return t=new Link$1({props:{internalRedirect:"/admin-login.html",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_13(e){let t,n;return t=new Link$1({props:{internalRedirect:"/login.html",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$1(e){let t;return{c(){t=text$1("Log In as Administrator")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$1(e){let t;return{c(){t=text$1("Log In as Regular User")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_11(e){let t,n;return t=new FormSelectField({props:{label:"Authentization method",name:"amoid",isNative:!0,options:e[2].map(func)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.options=e[2].map(func)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10(e){let t,n;return t=new FormSelectField({props:{label:"Database server",name:"databaseServer",isNative:!0,options:e[1].map(func_1)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.options=e[1].map(func_1)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block_1(e){let t,n,o,r=!e[0]&&"credentials"==e[6]&&create_if_block_9(),i="credentials"==e[6]&&create_if_block_8();return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0]||"credentials"!=e[6]?r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()):r?65&o&&transition_in(r,1):(r=create_if_block_9(),r.c(),transition_in(r,1),r.m(t.parentNode,t)),"credentials"==e[6]?i?64&o&&transition_in(i,1):(i=create_if_block_8(),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_if_block_5(e){let t,n,o,r="askUser"==e[7].passwordMode&&create_if_block_7(),i=("askUser"==e[7].passwordMode||"askPassword"==e[7].passwordMode)&&create_if_block_6();return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){"askUser"==e[7].passwordMode?r?128&o&&transition_in(r,1):(r=create_if_block_7(),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),"askUser"==e[7].passwordMode||"askPassword"==e[7].passwordMode?i?128&o&&transition_in(i,1):(i=create_if_block_6(),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_if_block_9(e){let t,n;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_8(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7(e){let t,n;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4(e){let t,n;return t=new ErrorInfo({props:{message:"Admin login is not configured. Please set ADMIN_PASSWORD environment variable"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection"),attr(t,"class","ml-5")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2$2(e){let t,n,o,r,i,a,s=e[5].error+"";return o=new FontIcon({props:{icon:"img error"}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(s),attr(t,"class","error-result ml-5")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||32&t)&&s!==(s=e[5].error+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_else_block$1(e){let t,n;return t=new FormSubmit({props:{value:e[0]?"Log In as Administrator":"redirect"==e[6]?"Redirect to login page":"Log In"}}),t.$on("click",e[20]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65&n&&(o.value=e[0]?"Log In as Administrator":"redirect"==e[6]?"Redirect to login page":"Log In"),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$2(e){let t,n;return t=new FormSubmit({props:{value:"Log In"}}),t.$on("click",e[19]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$3(e){let t,n;return t=new FormSubmit({props:{value:"Open database login page"}}),t.$on("click",e[18]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$2(e){let t,n,o,r,i,a,s,c,l,u,d,p,m=!e[0]&&e[2]?.length>=2&&create_if_block_11(e),f=!e[0]&&e[1]&&"database"==e[6]&&create_if_block_10(e);const h=[create_if_block_5,create_else_block_1],g=[];function _(e,t){return e[7]?0:1}o=_(e),r=g[o]=h[o](e);let $=e[0]&&e[8]&&!e[8].isAdminLoginForm&&create_if_block_4(),b=e[4]&&create_if_block_3$1(),v=!e[4]&&e[5]&&"error"==e[5].msgtype&&create_if_block_2$2(e);const y=[create_if_block$3,create_if_block_1$2,create_else_block$1],x=[];function w(e,t){return e[7]?.useRedirectDbLogin?0:e[7]?1:2}return u=w(e),d=x[u]=y[u](e),{c(){m&&m.c(),t=space(),f&&f.c(),n=space(),r.c(),i=space(),$&&$.c(),a=space(),b&&b.c(),s=space(),v&&v.c(),c=space(),l=element("div"),d.c(),attr(l,"class","submit svelte-1r6ubs4")},m(e,r){m&&m.m(e,r),insert(e,t,r),f&&f.m(e,r),insert(e,n,r),g[o].m(e,r),insert(e,i,r),$&&$.m(e,r),insert(e,a,r),b&&b.m(e,r),insert(e,s,r),v&&v.m(e,r),insert(e,c,r),insert(e,l,r),x[u].m(l,null),p=!0},p(e,p){!e[0]&&e[2]?.length>=2?m?(m.p(e,p),5&p&&transition_in(m,1)):(m=create_if_block_11(e),m.c(),transition_in(m,1),m.m(t.parentNode,t)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[0]&&e[1]&&"database"==e[6]?f?(f.p(e,p),67&p&&transition_in(f,1)):(f=create_if_block_10(e),f.c(),transition_in(f,1),f.m(n.parentNode,n)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros());let C=o;o=_(e),o===C?g[o].p(e,p):(group_outros(),transition_out(g[C],1,1,(()=>{g[C]=null})),check_outros(),r=g[o],r?r.p(e,p):(r=g[o]=h[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i)),e[0]&&e[8]&&!e[8].isAdminLoginForm?$?257&p&&transition_in($,1):($=create_if_block_4(),$.c(),transition_in($,1),$.m(a.parentNode,a)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[4]?b?16&p&&transition_in(b,1):(b=create_if_block_3$1(),b.c(),transition_in(b,1),b.m(s.parentNode,s)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),!e[4]&&e[5]&&"error"==e[5].msgtype?v?(v.p(e,p),48&p&&transition_in(v,1)):(v=create_if_block_2$2(e),v.c(),transition_in(v,1),v.m(c.parentNode,c)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros());let k=u;u=w(e),u===k?x[u].p(e,p):(group_outros(),transition_out(x[k],1,1,(()=>{x[k]=null})),check_outros(),d=x[u],d?d.p(e,p):(d=x[u]=y[u](e),d.c()),transition_in(d,1),d.m(l,null))},i(e){p||(transition_in(m),transition_in(f),transition_in(r),transition_in($),transition_in(b),transition_in(v),transition_in(d),p=!0)},o(e){transition_out(m),transition_out(f),transition_out(r),transition_out($),transition_out(b),transition_out(v),transition_out(d),p=!1},d(e){m&&m.d(e),e&&detach(t),f&&f.d(e),e&&detach(n),g[o].d(e),e&&detach(i),$&&$.d(e),e&&detach(a),b&&b.d(e),e&&detach(s),v&&v.d(e),e&&detach(c),e&&detach(l),x[u].d()}}}function create_each_block(e){let t,n,o,r,i,a=e[25].name+"";function s(){return e[21](e[25])}return{c(){t=element("div"),n=text$1(a),o=space(),attr(t,"class","loginButton svelte-1r6ubs4")},m(e,a){insert(e,t,a),append(t,n),append(t,o),r||(i=listen(t,"click",s),r=!0)},p(t,o){e=t,4&o&&a!==(a=e[25].name+"")&&set_data(n,a)},d(e){e&&detach(t),r=!1,i()}}}function create_fragment$3(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g=e[8]?.isAdminLoginForm&&create_if_block_12(e);p=new FormProviderCore({props:{values:e[11],$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}});let _=e[2].filter(func_2),$=[];for(let t=0;t<_.length;t+=1)$[t]=create_each_block(get_each_context(e,_,t));return{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1r6ubs4" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Log In",l=space(),u=element("div"),g&&g.c(),d=space(),create_component(p.$$.fragment),m=space(),f=element("div");for(let e=0;e<$.length;e+=1)$[e].c();attr(n,"class","text svelte-1r6ubs4"),attr(i,"class","logo svelte-1r6ubs4"),attr(c,"class","heading svelte-1r6ubs4"),attr(u,"class","login-link svelte-1r6ubs4"),attr(s,"class","box svelte-1r6ubs4"),attr(f,"class","loginButtonWrapper svelte-1r6ubs4"),attr(r,"class","wrap svelte-1r6ubs4"),attr(t,"class","root theme-light theme-type-light svelte-1r6ubs4")},m(e,_){insert(e,t,_),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),append(s,u),g&&g.m(u,null),append(s,d),mount_component(p,s,null),append(r,m),append(r,f);for(let e=0;e<$.length;e+=1)$[e]&&$[e].m(f,null);h=!0},p(e,[t]){e[8]?.isAdminLoginForm?g?(g.p(e,t),256&t&&transition_in(g,1)):(g=create_if_block_12(e),g.c(),transition_in(g,1),g.m(u,null)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros());const n={};if(268435967&t&&(n.$$scope={dirty:t,ctx:e}),p.$set(n),4100&t){let n;for(_=e[2].filter(func_2),n=0;n<_.length;n+=1){const o=get_each_context(e,_,n);$[n]?$[n].p(o,t):($[n]=create_each_block(o),$[n].c(),$[n].m(f,null))}for(;n<$.length;n+=1)$[n].d(1);$.length=_.length}},i(e){h||(transition_in(g),transition_in(p.$$.fragment,e),h=!0)},o(e){transition_out(g),transition_out(p.$$.fragment,e),h=!1},d(e){e&&detach(t),g&&g.d(),destroy_component(p),destroy_each($,e)}}}function extractRedirectUri(){const e=(location.origin+location.pathname).replace(/\/login.html$/,"/");return console.log("Using redirect URI:",e),e}openedTabs.subscribe((e=>{var t,n;const o=(e||[]).find((e=>e.selected));if(o==lastCurrentTab)return;if(getLockedDatabaseMode()&&getCurrentDatabase())return;const r=lastCurrentTab;if(lastCurrentTab=o,o){const{conid:e,database:i}=o.props||{};if(e&&i&&(e!=(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.conid)||i!=(null===(n=null==r?void 0:r.props)||void 0===n?void 0:n.database))){callWhenAppLoaded((()=>__awaiter$m(void 0,void 0,void 0,(function*(){switchCurrentDatabase({connection:yield getConnectionInfo({conid:e}),name:i})}))))}}})),currentDatabase.subscribe((e=>{getLockedDatabaseMode()&&(e||getAppLoaded())&&openedTabs.update((t=>{const n=t.map((t=>Object.assign(Object.assign({},t),{selected:t.selected&&shouldShowTab(t,!0,e)})));if(n.find((e=>e.selected)))return n;const o=_.findLastIndex(n,(e=>shouldShowTab(e)));return n.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==o})))}))}));const func=e=>({value:e.amoid,label:e.name}),func_1=e=>({value:e.conid,label:e.label}),func_2=e=>"anonymous"==e.workflowType||"redirect"==e.workflowType;function instance$3(e,t,n){let o,r,i,a,s;var c,l=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{isAdminPage:u}=t;const d=useConfig();component_subscribe(e,d,(e=>n(8,s=e)));let p=null,m=[],f=!1;const h=createRef(0);let g,_=null;const $=writable({amoid:null,databaseServer:null});function b(e){return l(this,void 0,void 0,(function*(){"redirect"==e.workflowType&&(yield v(e.amoid)),"anonymous"==e.workflowType&&y(e.amoid,{})}))}function v(e){return l(this,void 0,void 0,(function*(){const t=`dbg-oauth:${strmid}:${e}`;sessionStorage.setItem("oauthState",t),console.log("Redirecting to OAUTH provider");const n=yield apiCall("auth/redirect",{amoid:e,state:t,redirectUri:extractRedirectUri()}),{uri:o}=n;o&&location.replace(o)}))}function y(e,t){return l(this,void 0,void 0,(function*(){const n=yield apiCall("auth/login",Object.assign({amoid:e,isAdminPage:u},t));if(n.error)return void internalRedirectTo(`/not-logged.html?error=${encodeURIComponent(n.error)}&is-admin=${u?"true":""}`);const{accessToken:o}=n;if(o)return localStorage.setItem(u?"adminAccessToken":"accessToken",o),void internalRedirectTo(u?"/admin.html":"/");internalRedirectTo("/not-logged.html")}))}component_subscribe(e,$,(e=>n(3,a=e))),onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove(),u||function(){l(this,void 0,void 0,(function*(){const e=yield apiCall("auth/get-providers");n(2,m=e.providers),$.update((t=>Object.assign(Object.assign({},t),{amoid:e.default}))),1==m.length&&b(m[0])}))}()}));return e.$$set=e=>{"isAdminPage"in e&&n(0,u=e.isAdminPage)},e.$$.update=()=>{10&e.$$.dirty&&n(7,o=null==p?void 0:p.find((e=>e.conid==a.databaseServer))),12&e.$$.dirty&&n(17,r=null==m?void 0:m.find((e=>e.amoid==a.amoid))),163840&e.$$.dirty&&n(6,i=null!==n(15,c=null==r?void 0:r.workflowType)&&void 0!==c?c:"credentials"),65544&e.$$.dirty&&a.amoid!=_&&function(e){l(this,void 0,void 0,(function*(){e?(n(1,p=yield apiCall("storage/get-connections-for-login-page",{amoid:e})),(null==p?void 0:p.length)>0&&$.update((e=>Object.assign(Object.assign({},e),{databaseServer:p[0].conid}))),n(16,_=e)):n(1,p=null)}))}(a.amoid)},[u,p,m,a,f,g,i,o,s,d,h,$,b,v,y,c,_,r,async e=>{const t=`dbg-dblogin:${strmid}:${o?.conid}:${a.amoid}`;sessionStorage.setItem("dbloginAuthState",t),internalRedirectTo(`/connections/dblogin-web?conid=${o?.conid}&state=${encodeURIComponent(t)}&redirectUri=${extractRedirectUri()}`)},async e=>{if("askUser"==o.passwordMode||"askPassword"==o.passwordMode){enableApi(),n(4,f=!0),h.update((e=>e+1));const e=h.get(),t=await apiCall("connections/dblogin-auth",{amoid:a.amoid,conid:o.conid,user:a.login,password:a.password});if(h.get()!=e)return;n(4,f=!1),t.accessToken?(localStorage.setItem("accessToken",t.accessToken),internalRedirectTo("/")):n(5,g=t)}else{enableApi();const e=await apiCall("connections/dblogin-auth",{amoid:a.amoid,conid:o.conid});localStorage.setItem("accessToken",e.accessToken),internalRedirectTo("/")}},async e=>{enableApi(),u||"credentials"==i||"anonymous"==i?await y(a.amoid,e.detail):"redirect"==i&&await v(a.amoid)},e=>b(e)]}class LoginPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,create_fragment$3,safe_not_equal,{isAdminPage:0})}}function create_if_block$2(e){let t;return{c(){t=element("div"),t.textContent=`${e[0]}`,attr(t,"class","error svelte-11u34pp")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_fragment$2(e){let t,n,o,r,i,a,s,c,l,u=e[0]&&create_if_block$2(e);return a=new FormStyledButton({props:{value:"Log In"}}),a.$on("click",e[1]),c=new FormStyledButton({props:{value:"Log Out"}}),c.$on("click",doLogout),{c(){t=element("div"),n=element("div"),n.textContent="Sorry, you are not authorized to run DbGate",o=space(),u&&u.c(),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,"class","title svelte-11u34pp"),attr(i,"class","button svelte-11u34pp"),attr(t,"class","root theme-light theme-type-light svelte-11u34pp")},m(e,d){insert(e,t,d),append(t,n),append(t,o),u&&u.m(t,null),append(t,r),append(t,i),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p(e,[t]){e[0]&&u.p(e,t)},i(e){l||(transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),u&&u.d(),destroy_component(a),destroy_component(c)}}}function instance$2(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));const t=new URLSearchParams(location.search),n=t.get("error"),o="true"==t.get("is-admin");return[n,function(){o?redirectToAdminLogin():redirectToLogin(void 0,!0)}]}class NotLoggedPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{})}}function create_else_block(e){let t,n,o,r,i;return t=new ErrorInfo({props:{message:"No error found, try to open app again"}}),r=new Link$1({props:{onClick:e[3],$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),o=element("div"),create_component(r.$$.fragment),attr(o,"class","m-2")},m(e,a){mount_component(t,e,a),insert(e,n,a),insert(e,o,a),mount_component(r,o,null),i=!0},p(e,t){const n={};32&t&&(n.$$scope={dirty:t,ctx:e}),r.$set(n)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_if_block_2$1(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$1(e){let t,n;return t=new ErrorInfo({props:{message:e[0]?.configurationError}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.message=e[0]?.configurationError),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1(e){let t,n;return t=new ErrorInfo({props:{message:`Invalid license. Please contact sales@dbgate.eu for more details. ${e[0]?.checkedLicense?.error}`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.message=`Invalid license. Please contact sales@dbgate.eu for more details. ${e[0]?.checkedLicense?.error}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$1(e){let t;return{c(){t=text$1("Back to app")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1(e){let t,n,o,r,i,a,s,c,l,u,d,p;const m=[create_if_block$1,create_if_block_1$1,create_if_block_2$1,create_else_block],f=[];function h(e,t){return"error"==e[0]?.checkedLicense?.status?0:e[0]?.configurationError?1:e[2]?2:3}return u=h(e),d=f[u]=m[u](e),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1r8v0g" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Configuration error",l=space(),d.c(),attr(n,"class","text svelte-1r8v0g"),attr(i,"class","logo svelte-1r8v0g"),attr(c,"class","heading svelte-1r8v0g"),attr(s,"class","box svelte-1r8v0g"),attr(r,"class","wrap svelte-1r8v0g"),attr(t,"class","root theme-light theme-type-light svelte-1r8v0g")},m(e,d){insert(e,t,d),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),f[u].m(s,null),p=!0},p(e,[t]){let n=u;u=h(e),u===n?f[u].p(e,t):(group_outros(),transition_out(f[n],1,1,(()=>{f[n]=null})),check_outros(),d=f[u],d?d.p(e,t):(d=f[u]=m[u](e),d.c()),transition_in(d,1),d.m(s,null))},i(e){p||(transition_in(d),p=!0)},o(e){transition_out(d),p=!1},d(e){e&&detach(t),f[u].d()}}}function instance$1(e,t,n){let o;const r=useConfig();component_subscribe(e,r,(e=>n(0,o=e)));const i=new URLSearchParams(location.search).get("error");onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[o,r,i,()=>internalRedirectTo("/")]}class ErrorPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{})}}function create_if_block_3(e){let t,n,o;return n=new FormStyledButton({props:{value:"Start 30-day trial"}}),n.$on("click",e[8]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2(e){let t,n,o;return n=new FormStyledButton({props:{value:`Continue trial (${e[2]} days left)`}}),n.$on("click",e[9]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};4&t&&(o.value=`Continue trial (${e[2]} days left)`),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1(e){let t,n,o;return n=new FormStyledButton({props:{value:"Exit"}}),n.$on("click",e[11]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block(e){let t,n;return{c(){t=element("div"),n=text$1(e[1]),attr(t,"class","error svelte-1pvbop4")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&set_data(n,e[1])},d(e){e&&detach(t)}}}function create_default_slot_2(e){let t;return{c(){t=text$1("dbgate.eu")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1(e){let t;return{c(){t=text$1("sales@dbgate.eu")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A=getElectron();u=new FormTextAreaField({props:{label:"Enter your license key",name:"licenseKey",rows:5}}),m=new FormSubmit({props:{value:"Save license"}}),m.$on("click",e[7]);let E=!e[0]&&null==e[2]&&create_if_block_3(e),O=e[2]>0&&create_if_block_2(e);$=new FormStyledButton({props:{value:"Purchase DbGate Premium"}}),$.$on("click",e[10]);let I=A&&create_if_block_1(e),N=e[1]&&create_if_block(e);return C=new Link$1({props:{href:"https://dbgate.eu/",$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),S=new Link$1({props:{href:"mailto:sales@dbgate.eu",$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1pvbop4" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="License",l=space(),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),f=space(),E&&E.c(),h=space(),O&&O.c(),g=space(),_=element("div"),create_component($.$$.fragment),b=space(),I&&I.c(),v=space(),N&&N.c(),y=space(),x=element("div"),w=text$1("For more info about DbGate licensing, you could visit "),create_component(C.$$.fragment),k=text$1(" web or contact\n us at "),create_component(S.$$.fragment),attr(n,"class","text svelte-1pvbop4"),attr(i,"class","logo svelte-1pvbop4"),attr(c,"class","heading svelte-1pvbop4"),attr(p,"class","submit svelte-1pvbop4"),attr(_,"class","submit svelte-1pvbop4"),attr(x,"class","purchase-info svelte-1pvbop4"),attr(s,"class","box svelte-1pvbop4"),attr(r,"class","wrap svelte-1pvbop4"),attr(t,"class","root theme-light theme-type-light svelte-1pvbop4")},m(e,A){insert(e,t,A),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),mount_component(u,s,null),append(s,d),append(s,p),mount_component(m,p,null),append(s,f),E&&E.m(s,null),append(s,h),O&&O.m(s,null),append(s,g),append(s,_),mount_component($,_,null),append(s,b),I&&I.m(s,null),append(s,v),N&&N.m(s,null),append(s,y),append(s,x),append(x,w),mount_component(C,x,null),append(x,k),mount_component(S,x,null),T=!0},p(e,t){e[0]||null!=e[2]?E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()):E?(E.p(e,t),5&t&&transition_in(E,1)):(E=create_if_block_3(e),E.c(),transition_in(E,1),E.m(s,h)),e[2]>0?O?(O.p(e,t),4&t&&transition_in(O,1)):(O=create_if_block_2(e),O.c(),transition_in(O,1),O.m(s,g)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),A&&I.p(e,t),e[1]?N?N.p(e,t):(N=create_if_block(e),N.c(),N.m(s,y)):N&&(N.d(1),N=null);const n={};4096&t&&(n.$$scope={dirty:t,ctx:e}),C.$set(n);const o={};4096&t&&(o.$$scope={dirty:t,ctx:e}),S.$set(o)},i(e){T||(transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(E),transition_in(O),transition_in($.$$.fragment,e),transition_in(I),transition_in(C.$$.fragment,e),transition_in(S.$$.fragment,e),T=!0)},o(e){transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(E),transition_out(O),transition_out($.$$.fragment,e),transition_out(I),transition_out(C.$$.fragment,e),transition_out(S.$$.fragment,e),T=!1},d(e){e&&detach(t),destroy_component(u),destroy_component(m),E&&E.d(),O&&O.d(),destroy_component($),I&&I.d(),N&&N.d(),destroy_component(C),destroy_component(S)}}}function create_fragment(e){let t,n;return t=new FormProviderCore({props:{values:e[4],$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4103&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance(e,t,n){let o,r,i;const a=useConfig();component_subscribe(e,a,(e=>n(6,i=e)));const s=writable({amoid:null,databaseServer:null});let c="",l=!1;onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=null==i?void 0:i.isLicenseExpired),64&e.$$.dirty&&n(2,r=null==i?void 0:i.trialDaysLeft),33&e.$$.dirty&&o&&!l&&(n(1,c="Your license is expired"),n(5,l=!0))},[o,c,r,a,s,l,i,async e=>{sessionStorage.setItem("continueTrialConfirmed","1");const{licenseKey:t}=e.detail,o=await apiCall("config/save-license-key",{licenseKey:t});"ok"==o?.status?internalRedirectTo("/index.html"):n(1,c=o?.errorMessage||"Error saving license key")},async e=>{n(1,c="");const t=await apiCall("config/start-trial");"ok"==t?.status?(sessionStorage.setItem("continueTrialConfirmed","1"),internalRedirectTo("/index.html")):n(1,c=t?.errorMessage||"Error starting trial")},async e=>{sessionStorage.setItem("continueTrialConfirmed","1"),internalRedirectTo("/index.html")},async e=>{openWebLink(`https://auth.dbgate.eu/create-checkout-session-simple?source=trial-${o?"expired":r??"no"}`)},e=>{getElectron().send("quit-app")}]}class EnterLicensePage extends SvelteComponent{constructor(e){super(),init(this,e,instance,create_fragment,safe_not_equal,{})}}const isOauthCallback=handleOauthCallback();function createApp(){if(isOauthCallback)return null;switch(window.dbgate_page){case"login":return new LoginPage({target:document.body,props:{isAdminPage:!1}});case"error":return new ErrorPage({target:document.body,props:{}});case"license":return new EnterLicensePage({target:document.body,props:{}});case"admin-login":return new LoginPage({target:document.body,props:{isAdminPage:!0}});case"not-logged":return new NotLoggedPage({target:document.body,props:{}});case"admin":return new App({target:document.body,props:{isAdminPage:!0}})}return new App({target:document.body,props:{}})}localStorageGarbageCollector();const app=createApp();return app}();
99
+ */adapters._date.override("function"==typeof moment?{_id:"moment",formats:function(){return FORMATS},parse:function(e,t){return"string"==typeof e&&"string"==typeof t?e=moment(e,t):e instanceof moment||(e=moment(e)),e.isValid()?e.valueOf():null},format:function(e,t){return moment(e).format(t)},add:function(e,t,n){return moment(e).add(t,n).valueOf()},diff:function(e,t,n){return moment(e).diff(moment(t),n)},startOf:function(e,t,n){return e=moment(e),"isoWeek"===t?(n=Math.trunc(Math.min(Math.max(0,n),6)),e.isoWeekday(n).startOf("day").valueOf()):e.startOf(t).valueOf()},endOf:function(e,t){return moment(e).endOf(t).valueOf()}}:{}),Chart$1.register(...registerables);var Chart=Chart$1;function create_fragment$2i(e){let t,n,o,r=[e[2]],i={};for(let e=0;e<r.length;e+=1)i=assign(i,r[e]);return{c(){t=element("canvas"),set_attributes(t,i)},m(r,i){insert(r,t,i),e[9](t),n||(o=action_destroyer(contextMenu.call(null,t,e[1])),n=!0)},p(e,[n]){set_attributes(t,i=get_spread_update(r,[4&n&&e[2]]))},i:noop$3,o:noop$3,d(r){r&&detach(t),e[9](null),n=!1,o()}}}const getCurrentEditor$i=()=>getActiveComponent("ChartCore");function instance$2f(e,t,n){const o=["data","title","type","options","activator","exportChart"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t,{title:s}=t,{type:c="line"}=t,{options:l={}}=t;const u=createActivator("ChartCore",!0);let d,p=null;onMount((()=>{p=new Chart(d,{type:c,data:a,options:_.cloneDeep(l)})})),afterUpdate((()=>{p&&(p.data=a,p.type=c,p.options=_.cloneDeep(l),p.update())})),onDestroy((()=>{p=null})),registerMenu({command:"chart.export",tag:"export"});const m=getContextMenu();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"data"in e&&n(3,a=e.data),"title"in e&&n(4,s=e.title),"type"in e&&n(5,c=e.type),"options"in e&&n(6,l=e.options)},[d,m,r,a,s,c,l,u,function(){return i(this,void 0,void 0,(function*(){saveFileToDisk((e=>i(this,void 0,void 0,(function*(){yield apiCall("files/export-chart",{title:s,filePath:e,config:{type:c,data:a,options:l},image:d.toDataURL()})}))))}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{d=e,n(0,d)}))}]}registerCommand({id:"chart.export",category:"Chart",toolbarName:"Export",name:"Export chart",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$i().exportChart(),testEnabled:()=>null!=getCurrentEditor$i()}),Chart.register(plugin);class ChartCore extends SvelteComponent{constructor(e){super(),init(this,e,instance$2f,create_fragment$2i,safe_not_equal,{data:3,title:4,type:5,options:6,activator:7,exportChart:8})}get activator(){return this.$$.ctx[7]}get exportChart(){return this.$$.ctx[8]}}function create_if_block$1b(e){let t,n,o=`${e[0].chartType}|${e[1]}|${e[2]}`,r=create_key_block$5(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){7&n&&safe_not_equal(o,o=`${e[0].chartType}|${e[1]}|${e[2]}`)?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$5(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$5(e){let t,n;return t=new ChartCore({props:{width:e[1],height:e[2],data:e[3][0],type:e[0].chartType,title:e[0].chartTitle,options:{...e[3][1],plugins:e[3][2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.width=e[1]),4&n&&(o.height=e[2]),8&n&&(o.data=e[3][0]),1&n&&(o.type=e[0].chartType),1&n&&(o.title=e[0].chartTitle),8&n&&(o.options={...e[3][1],plugins:e[3][2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2h(e){let t,n,o,r=e[3]&&create_if_block$1b(e);return{c(){t=element("div"),r&&r.c(),attr(t,"class","wrapper svelte-3ovaru"),add_render_callback((()=>e[10].call(t)))},m(i,a){insert(i,t,a),r&&r.m(t,null),n=add_iframe_resize_listener(t,e[10].bind(t)),o=!0},p(e,[n]){e[3]?r?(r.p(e,n),8&n&&transition_in(r,1)):(r=create_if_block$1b(e),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){e&&detach(t),r&&r.d(),n()}}}function getTimeAxis(e){const t=[];for(const n of e){const e=moment(n);if(!e.isValid())return null;const o=e.toISOString();if(o<"1850-01-01T00:00:00"||o>"2150-01-01T00:00:00")return null;t.push(e)}return t}function getLabels(e,t,n){return t?"line"===n?t.map((e=>e.toDate())):t.map((e=>e.format("D. M. YYYY"))):e}function getOptions(e,t){const n={scales:{}};return e&&"line"===t&&(n.scales={x:{type:"time",distribution:"linear",time:{tooltipFormat:"D. M. YYYY HH:mm",displayFormats:{millisecond:"HH:mm:ss.SSS",second:"HH:mm:ss",minute:"HH:mm",hour:"D.M hA",day:"D. M.",week:"D. M. YYYY",month:"MM-YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}}}}),n}function getPlugins(e){const t={};return e&&(t.title={display:!0,text:e}),t.zoom={zoom:{wheel:{enabled:!0},pinch:{enabled:!0},drag:{enabled:!0,modifierKey:"shift"},mode:"x"},pan:{enabled:!0,mode:"x"}},t}function createChartData(e,t,n,o,r,i,a,s,c,l){if(!(e&&t&&n&&e.rows&&0!=n.length))return null;const u="dark"==(null==l?void 0:l.themeType)?presetDarkPalettes:presetPalettes,d=randomcolor({count:_.max([e.rows.length,n.length,1]),seed:o});let p=null,m=null;const f=e.rows.map((e=>e[t])),h=getTimeAxis(f),g={labels:getLabels(f,h,r),datasets:n.map(((t,n)=>{const o=c[t];if("line"==r||"bar"==r){const e=s[t];e?(p=u[e][4]+"80",m=u[e][7]):(p=d[n]+"80",m=d[n])}else p=d;return{label:o||t,data:e.rows.map((e=>e[t])),backgroundColor:p,borderColor:m,borderWidth:1,fill:0!=a}}))};return[g,getOptions(h,r),getPlugins(i)]}function instance$2e(e,t,n){let o,r,i,a,s,c;component_subscribe(e,currentThemeDefinition,(e=>n(9,s=e)));let{data:l}=t;const{values:u}=getFormContext();let d,p;return component_subscribe(e,u,(e=>n(0,c=e))),e.$$set=e=>{"data"in e&&n(5,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(8,o=extractDataColumns(c)),257&e.$$.dirty&&n(7,r=extractDataColumnColors(c,o)),257&e.$$.dirty&&n(6,i=extractDataColumnLabels(c,o)),993&e.$$.dirty&&n(3,a=createChartData(l,c.labelColumn,o,c.colorSeed||"5",c.chartType,c.chartTitle,c.fillLineChart,r,i,s))},[c,d,p,a,u,l,i,r,o,s,function(){d=this.clientWidth,p=this.clientHeight,n(1,d),n(2,p)}]}class DataChart extends SvelteComponent{constructor(e){super(),init(this,e,instance$2e,create_fragment$2h,safe_not_equal,{data:5})}}function get_each_context$r(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_each_block$r(e){let t,n,o,r,i,a,s;function c(){return e[6](e[7])}return n=new FontIcon({props:{icon:e[7]==e[0]?"icon check":"icon invisible-box"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"style",r=`background:${e[3](e[7],3,e[2])}`),attr(t,"class","item svelte-1vl91lb"),toggle_class(t,"disabled",e[1]),toggle_class(t,"selected",e[7]==e[0])},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!0,a||(s=listen(t,"click",c),a=!0)},p(o,a){e=o;const s={};1&a&&(s.icon=e[7]==e[0]?"icon check":"icon invisible-box"),n.$set(s),(!i||4&a&&r!==(r=`background:${e[3](e[7],3,e[2])}`))&&attr(t,"style",r),(!i||2&a)&&toggle_class(t,"disabled",e[1]),(!i||1&a)&&toggle_class(t,"selected",e[7]==e[0])},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function create_fragment$2g(e){let t,n,o,r,i,a,s;o=new FontIcon({props:{icon:e[0]?"icon palette":"icon no-color"}});let c=_.keys(presetPrimaryColors),l=[];for(let t=0;t<c.length;t+=1)l[t]=create_each_block$r(get_each_context$r(e,c,t));const u=e=>transition_out(l[e],1,1,(()=>{l[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space();for(let e=0;e<l.length;e+=1)l[e].c();attr(n,"class","item svelte-1vl91lb"),toggle_class(n,"disabled",e[1]),toggle_class(n,"selected",!e[0]),attr(t,"class","container svelte-1vl91lb")},m(c,u){insert(c,t,u),append(t,n),mount_component(o,n,null),append(t,r);for(let e=0;e<l.length;e+=1)l[e]&&l[e].m(t,null);i=!0,a||(s=listen(n,"click",e[5]),a=!0)},p(e,[r]){const a={};if(1&r&&(a.icon=e[0]?"icon palette":"icon no-color"),o.$set(a),(!i||2&r)&&toggle_class(n,"disabled",e[1]),(!i||1&r)&&toggle_class(n,"selected",!e[0]),31&r){let n;for(c=_.keys(presetPrimaryColors),n=0;n<c.length;n+=1){const o=get_each_context$r(e,c,n);l[n]?(l[n].p(o,r),transition_in(l[n],1)):(l[n]=create_each_block$r(o),l[n].c(),transition_in(l[n],1),l[n].m(t,null))}for(group_outros(),n=c.length;n<l.length;n+=1)u(n);check_outros()}},i(e){if(!i){transition_in(o.$$.fragment,e);for(let e=0;e<c.length;e+=1)transition_in(l[e]);i=!0}},o(e){transition_out(o.$$.fragment,e),l=l.filter(Boolean);for(let e=0;e<l.length;e+=1)transition_out(l[e]);i=!1},d(e){e&&detach(t),destroy_component(o),destroy_each(l,e),a=!1,s()}}}function instance$2d(e,t,n){let o;component_subscribe(e,currentThemeDefinition,(e=>n(2,o=e)));let{value:r}=t,{disabled:i=!1}=t;const a=createEventDispatcher();return e.$$set=e=>{"value"in e&&n(0,r=e.value),"disabled"in e&&n(1,i=e.disabled)},[r,i,o,function(e,t,n){return("dark"==(null==n?void 0:n.themeType)?presetDarkPalettes:presetPalettes)[e][t]},a,()=>{a("change",null)},e=>{i||a("change",e)}]}class ColorSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$2d,create_fragment$2g,safe_not_equal,{value:0,disabled:1})}}function create_else_block$w(e){let t,n;const o=[{isNative:!0},{disabled:e[5]},e[10],{label:e[3]},{name:e[4]},{options:[{value:"",label:e[0]},..._.keys(presetPrimaryColors).map(e[12])]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=1081&n?get_spread_update(o,[o[0],32&n&&{disabled:e[5]},1024&n&&get_spread_object(e[10]),8&n&&{label:e[3]},16&n&&{name:e[4]},1&n&&{options:[{value:"",label:e[0]},..._.keys(presetPrimaryColors).map(e[12])]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1a(e){let t,n,o;const r=[{type:"text"},{label:e[3]},e[2]];var i=e[7];function a(e){let t={$$slots:{default:[create_default_slot$T]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=12&o?get_spread_update(r,[r[0],8&o&&{label:e[3]},4&o&&get_spread_object(e[2])]):{};if(8304&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[7])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_default_slot$T(e){let t,n;return t=new ColorSelector({props:{value:e[6]&&e[6][e[4]],disabled:e[5]}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};80&n&&(o.value=e[6]&&e[6][e[4]]),32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2f(e){let t,n,o,r;const i=[create_if_block$1a,create_else_block$w],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$2c(e,t,n){const o=["emptyLabel","useSelector","templateProps","label","name","disabled"];let r,i=compute_rest_props(t,o),{emptyLabel:a}=t,{useSelector:s=!1}=t,{templateProps:c={}}=t,{label:l}=t,{name:u}=t,{disabled:d=!1}=t;const{template:p}=getFormContext(),{values:m,setFieldValue:f}=getFormContext();component_subscribe(e,m,(e=>n(6,r=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(10,i=compute_rest_props(t,o)),"emptyLabel"in e&&n(0,a=e.emptyLabel),"useSelector"in e&&n(1,s=e.useSelector),"templateProps"in e&&n(2,c=e.templateProps),"label"in e&&n(3,l=e.label),"name"in e&&n(4,u=e.name),"disabled"in e&&n(5,d=e.disabled)},[a,s,c,l,u,d,r,p,m,f,i,e=>{f(u,e.detail)},e=>({value:e,label:_.startCase(e)})]}class FormColorField extends SvelteComponent{constructor(e){super(),init(this,e,instance$2c,create_fragment$2f,safe_not_equal,{emptyLabel:0,useSelector:1,templateProps:2,label:3,name:4,disabled:5})}}function get_each_context$q(e,t,n){const o=e.slice();return o[18]=t[n],o}function create_if_block_4$e(e){let t,n;return t=new FormCheckboxField({props:{label:"Fill",name:"fillLineChart",defaultValue:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5$6(e){let t,n,o,r,i,a,s,c,l,u,d,p,m;t=new FormSelectField({props:{label:"Chart type",name:"chartType",isNative:!0,options:[{value:"bar",label:"Bar"},{value:"line",label:"Line"},{value:"pie",label:"Pie"},{value:"polarArea",label:"Polar area"}]}}),o=new FormTextField({props:{label:"Chart title",name:"chartTitle"}}),i=new FormSelectField({props:{label:"Truncate from",name:"truncateFrom",isNative:!0,options:[{value:"begin",label:"Begin"},{value:"end",label:"End (most recent data for datetime)"}]}}),s=new FormTextField({props:{label:"Truncate limit",name:"truncateLimit"}}),l=new FormCheckboxField({props:{label:"Show relative values",name:"showRelativeValues"}});let f="line"==e[3].chartType&&create_if_block_4$e();return p=new FormTextField({props:{label:"Color set",name:"colorSeed"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),f&&f.c(),d=space(),create_component(p.$$.fragment)},m(e,h){mount_component(t,e,h),insert(e,n,h),mount_component(o,e,h),insert(e,r,h),mount_component(i,e,h),insert(e,a,h),mount_component(s,e,h),insert(e,c,h),mount_component(l,e,h),insert(e,u,h),f&&f.m(e,h),insert(e,d,h),mount_component(p,e,h),m=!0},p(e,t){"line"==e[3].chartType?f?8&t&&transition_in(f,1):(f=create_if_block_4$e(),f.c(),transition_in(f,1),f.m(d.parentNode,d)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){m||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(f),transition_in(p.$$.fragment,e),m=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(f),transition_out(p.$$.fragment,e),m=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),f&&f.d(e),e&&detach(d),destroy_component(p,e)}}}function create_default_slot_4$6(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[8],$$slots:{default:[create_default_slot_5$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.width=e[8]),2097160&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$h(e){let t,n;return t=new FormSelectField({props:{label:"Label column",name:"labelColumn",isNative:!0,options:e[4].map(func$d)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.options=e[4].map(func$d)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$o(e){let t,n,o,r;return t=new FormColorField({props:{label:"Color",name:`dataColumnColor_${e[18]}`,emptyLabel:"Random"}}),o=new FormTextField({props:{label:"Label",name:`dataColumnLabel_${e[18]}`}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16&n&&(r.name=`dataColumnColor_${e[18]}`),t.$set(r);const i={};16&n&&(i.name=`dataColumnLabel_${e[18]}`),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_each_block$q(e,t){let n,o,r,i,a;o=new FormCheckboxField({props:{label:t[18],name:`dataColumn_${t[18]}`}});let s=t[2][`dataColumn_${t[18]}`]&&create_if_block_2$o(t);return{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),r=space(),s&&s.c(),i=empty(),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),insert(e,r,t),s&&s.m(e,t),insert(e,i,t),a=!0},p(e,n){t=e;const r={};16&n&&(r.label=t[18]),16&n&&(r.name=`dataColumn_${t[18]}`),o.$set(r),t[2][`dataColumn_${t[18]}`]?s?(s.p(t,n),20&n&&transition_in(s,1)):(s=create_if_block_2$o(t),s.c(),transition_in(s,1),s.m(i.parentNode,i)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){a||(transition_in(o.$$.fragment,e),transition_in(s),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s),a=!1},d(e){e&&detach(n),destroy_component(o,e),e&&detach(r),s&&s.d(e),e&&detach(i)}}}function create_default_slot_3$d(e){let t,n,o,r=[],i=new Map,a=e[4].length>0&&create_if_block_3$h(e),s=e[4];const c=e=>e[18];for(let t=0;t<s.length;t+=1){let n=get_each_context$q(e,s,t),o=c(n);i.set(o,r[t]=create_each_block$q(o,n))}return{c(){a&&a.c(),t=space();for(let e=0;e<r.length;e+=1)r[e].c();n=empty()},m(e,i){a&&a.m(e,i),insert(e,t,i);for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,i);insert(e,n,i),o=!0},p(e,o){e[4].length>0?a?(a.p(e,o),16&o&&transition_in(a,1)):(a=create_if_block_3$h(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros()),20&o&&(s=e[4],group_outros(),r=update_keyed_each(r,o,c,1,e,s,i,n.parentNode,outro_and_destroy_block,create_each_block$q,n,get_each_context$q),check_outros())},i(e){if(!o){transition_in(a);for(let e=0;e<s.length;e+=1)transition_in(r[e]);o=!0}},o(e){transition_out(a);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){a&&a.d(e),e&&detach(t);for(let t=0;t<r.length;t+=1)r[t].d(e);e&&detach(n)}}}function create_default_slot_2$q(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[8],$$slots:{default:[create_default_slot_3$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.width=e[8]),2097172&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$x(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Style",name:"style",height:"40%",$$slots:{default:[create_default_slot_4$6]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Data",name:"data",$$slots:{default:[create_default_slot_2$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};2097416&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2097428&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create__1_slot$e(e){let t,n,o;return n=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_1$x]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-1r4fguo"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2097436&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_else_block$v(e){let t,n;return t=new DataChart({props:{data:e[0]||e[7]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};129&n&&(o.data=e[0]||e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$H(e){let t,n;return t=new ErrorInfo({props:{message:e[6],alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n&&(o.message=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$19(e){let t,n;return t=new ErrorInfo({props:{message:e[5],alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.message=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$d(e){let t,n,o,r;const i=[create_if_block$19,create_if_block_1$H,create_else_block$v],a=[];function s(e,t){return e[5]?0:e[6]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$S(e){let t,n,o;function r(t){e[13](t)}let i={initialValue:"300px",$$slots:{2:[create__2_slot$d],1:[create__1_slot$e]},$$scope:{ctx:e}};return void 0!==e[8]&&(i.size=e[8]),t=new HorizontalSplitter({props:i}),binding_callbacks.push((()=>bind$2(t,"size",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};2097661&o&&(r.$$scope={dirty:o,ctx:e}),!n&&256&o&&(n=!0,r.size=e[8],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_fragment$2e(e){let t,n;return t=new FormProviderCore({props:{values:e[1],template:FormFieldTemplateTiny,$$slots:{default:[create_default_slot$S]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};2&n&&(o.values=e[1]),2097661&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$d=e=>({value:e,label:e});function instance$2b(e,t,n){let o,r,i,a=noop$3,s=()=>(a(),a=subscribe(u,(e=>n(3,i=e))),u);component_subscribe(e,extensions,(e=>n(12,r=e))),e.$$.on_destroy.push((()=>a()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:l}=t,{configStore:u}=t;s();let{conid:d}=t,{database:p}=t,{sql:m}=t,f=[],h=null,g=null,_=null;const $=()=>c(void 0,void 0,void 0,(function*(){const e=yield getConnectionInfo({conid:d});if(!e)return;return lib$5.findEngineDriver(e,r)}));let b;return e.$$set=e=>{"data"in e&&n(0,l=e.data),"configStore"in e&&s(n(1,u=e.configStore)),"conid"in e&&n(9,d=e.conid),"database"in e&&n(10,p=e.database),"sql"in e&&n(11,m=e.sql)},e.$$.update=()=>{8&e.$$.dirty&&n(2,o=i),7680&e.$$.dirty&&m&&d&&p&&c(void 0,void 0,void 0,(function*(){const e=yield $();if(e)try{n(5,h=null);const t=yield loadChartStructure(e,d,p,m);n(4,f=t)}catch(e){console.error(e),n(5,h=e.message)}})),1&e.$$.dirty&&l&&n(4,f=l.structure.columns.map((e=>e.columnName))),7684&e.$$.dirty&&o.labelColumn&&m&&d&&p&&c(void 0,void 0,void 0,(function*(){const e=yield $();if(e)try{n(6,g=null);const t=yield loadChartData(e,d,p,m,o);if(!t)return;const{columns:r,rows:i}=t;n(7,_={structure:r,rows:i})}catch(e){console.error(e),n(6,g=e.message)}}))},[l,u,o,i,f,h,g,_,b,d,p,m,r,function(e){b=e,n(8,b)}]}class ChartEditor extends SvelteComponent{constructor(e){super(),init(this,e,instance$2b,create_fragment$2e,safe_not_equal,{data:0,configStore:1,conid:9,database:10,sql:11})}}function create_else_block$u(e){let t,n;return t=new ChartEditor({props:{data:e[2].value&&e[2].value.data,configStore:e[6],sql:e[2].value&&e[2].value.sql,conid:e[0],database:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.data=e[2].value&&e[2].value.data),4&n&&(o.sql=e[2].value&&e[2].value.sql),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$G(e){let t,n;return t=new ErrorInfo({props:{message:e[3].errorMessage}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.message=e[3].errorMessage),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$18(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2d(e){let t,n,o,r;const i=[create_if_block$18,create_if_block_1$G,create_else_block$u],a=[];function s(e,t){return e[3].isLoading?0:e[3].errorMessage?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const getCurrentEditor$h=()=>getActiveComponent("ChartTab");function instance$2a(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t;const c=createActivator("ChartTab",!0);const{editorState:l,editorValue:u,setEditorData:d}=useEditorData({tabid:i,onInitialData:e=>{m({type:"reset",value:e})}});component_subscribe(e,l,(e=>n(3,r=e)));const[p,m]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,p,(e=>n(2,o=e)));const f=e=>m({type:"compute",compute:t=>Object.assign(Object.assign({},t),{config:_.isFunction(e)?e(t.config):e})}),h=derived(p,(e=>e.value&&e.value.config||{})),g=Object.assign(Object.assign({},h),{update:f,set:f});return registerMenu({command:"chart.save"},{command:"chart.saveAs"},{placeTag:"export"},{divider:!0},{command:"chart.undo"},{command:"chart.redo"}),e.$$set=e=>{"tabid"in e&&n(7,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},e.$$.update=()=>{4&e.$$.dirty&&d(o.value),4&e.$$.dirty&&invalidateCommands()},[a,s,o,r,l,p,g,i,c,function(){return r.value||""},function(){return o.canUndo},function(){m({type:"undo"})},function(){return o.canRedo},function(){m({type:"redo"})}]}registerFileCommands({idPrefix:"chart",category:"Chart",getCurrentEditor:getCurrentEditor$h,folder:"charts",format:"json",fileExtension:"chart",undoRedo:!0});class ChartTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$2a,create_fragment$2d,safe_not_equal,{tabid:7,conid:0,database:1,activator:8,getData:9,canUndo:10,undo:11,canRedo:12,redo:13})}get activator(){return this.$$.ctx[8]}get getData(){return this.$$.ctx[9]}get canUndo(){return this.$$.ctx[10]}get undo(){return this.$$.ctx[11]}get canRedo(){return this.$$.ctx[12]}get redo(){return this.$$.ctx[13]}}var ChartTab$1=Object.freeze({__proto__:null,default:ChartTab});function create_fragment$2c(e){let t,n,o={value:e[2].value||"",menu:createMenu$5(),mode:"markdown"};return t=new AceEditor({props:o}),e[15](t),t.$on("input",e[16]),t.$on("focus",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[15](null),destroy_component(t,n)}}}const getCurrentEditor$g=()=>getActiveComponent("MarkdownEditorTab");function createMenu$5(){return[{command:"markdown.preview"},{divider:!0},{command:"markdown.toggleComment"},{divider:!0},{command:"markdown.save"},{command:"markdown.saveAs"},{divider:!0},{command:"markdown.find"},{command:"markdown.replace"}]}function instance$29(e,t,n){let o,r,i;component_subscribe(e,openedTabs,(e=>n(18,o=e)));var a,s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:c}=t;const l=getContext("tabVisible");component_subscribe(e,l,(e=>n(14,i=e)));const u=createActivator("MarkdownEditorTab",!1);let d;const{editorState:p,editorValue:m,setEditorData:f,saveToStorage:h}=useEditorData({tabid:c});component_subscribe(e,p,(e=>n(2,r=e)));return e.$$set=e=>{"tabid"in e&&n(6,c=e.tabid)},e.$$.update=()=>{24578&e.$$.dirty&&i&&d&&(null===n(13,a=null==d?void 0:d.getEditor())||void 0===a||a.focus())},[u,d,r,l,p,f,c,function(){return r.value||""},function(){d.getEditor().execCommand("togglecomment")},function(){d.getEditor().execCommand("find")},function(){d.getEditor().execCommand("replace")},function(){return c},function(){return s(this,void 0,void 0,(function*(){yield h();const e=(o||[]).find((e=>e.props&&e.props.sourceTabId==c&&null==e.closedTime));if(e)setSelectedTab(e.tabid);else{openNewTab({title:(o||[]).find((e=>e.tabid==c)).title,icon:"img preview",tabComponent:"MarkdownPreviewTab",props:{sourceTabId:c}})}}))},a,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{d=e,n(1,d)}))},e=>f(e.detail),()=>{u.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"markdown",category:"Markdown",getCurrentEditor:getCurrentEditor$g,folder:"markdown",format:"text",fileExtension:"md",toggleComment:!0,findReplace:!0}),registerCommand({id:"markdown.preview",category:"Markdown",name:"Preview",icon:"icon run",toolbar:!0,isRelatedToTab:!0,keyText:"F5 | CtrlOrCommand+Enter",testEnabled:()=>null!=getCurrentEditor$g(),onClick:()=>getCurrentEditor$g().preview()});class MarkdownEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$29,create_fragment$2c,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11,preview:12})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}get preview(){return this.$$.ctx[12]}}var MarkdownEditorTab$1=Object.freeze({__proto__:null,default:MarkdownEditorTab});function create_else_block$t(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$17(e){let t,n;return t=new LoadingInfo({props:{message:"Loading markdown page"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2b(e){let t,n,o,r;const i=[create_if_block$17,create_else_block$t],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const allowAddToFavorites$2=e=>!0;function instance$28(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{savedFile:r}=t,i=!1,a=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,i=!0);const e=yield apiCall("files/load",{folder:"markdown",file:r,format:"text"});n(1,a=e),n(0,i=!1)}))})),e.$$set=e=>{"savedFile"in e&&n(2,r=e.savedFile)},[i,a,r]}class MarkdownViewTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$28,create_fragment$2b,safe_not_equal,{savedFile:2})}}var MarkdownViewTab$1=Object.freeze({__proto__:null,default:MarkdownViewTab,allowAddToFavorites:allowAddToFavorites$2});function create_else_block$s(e){let t,n,o=e[0],r=create_key_block$4(e);return{c(){t=element("div"),r.c(),attr(t,"class","svelte-skjeqm")},m(e,o){insert(e,t,o),r.m(t,null),n=!0},p(e,n){1&n&&safe_not_equal(o,o=e[0])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$4(e),r.c(),transition_in(r,1),r.m(t,null)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_if_block$16(e){let t,n,o;return n=new LoadingInfo({props:{message:"Loading markdown page"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_key_block$4(e){let t,n;return t=new Markdown({props:{source:e[0]||""}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.source=e[0]||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$2a(e){let t,n,o,r;const i=[create_if_block$16,create_else_block$s],a=[];function s(e,t){return e[1].isLoading?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$27(e,t,n){let o,r,{sourceTabId:i}=t;const a=getContext("tabVisible");component_subscribe(e,a,(e=>n(5,o=e)));let s=null;const{initialLoad:c,editorState:l}=useEditorData({tabid:i,onInitialData:e=>{console.log("onInitialData",e),n(0,s=e)}});return component_subscribe(e,l,(e=>n(1,r=e))),e.$$set=e=>{"sourceTabId"in e&&n(4,i=e.sourceTabId)},e.$$.update=()=>{32&e.$$.dirty&&o&&c()},[s,r,a,l,i,o]}class MarkdownPreviewTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$27,create_fragment$2a,safe_not_equal,{sourceTabId:4})}}var MarkdownPreviewTab$1=Object.freeze({__proto__:null,default:MarkdownPreviewTab});function create_fragment$29(e){let t,n;const o=[e[2],{data:e[0]},{icon:e[0].icon||"img favorite"},{title:e[0].title},{menu:e[1]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[3]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=7&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{data:e[0]},1&n&&{icon:e[0].icon||"img favorite"},1&n&&{title:e[0].title},2&n&&{menu:e[1]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$3=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const extractKey$7=e=>e.file;function openFavorite(e){return __awaiter$3(this,void 0,void 0,(function*(){const{icon:t,tabComponent:n,title:o,props:r,tabdata:i}=e;let a=i;if(r.savedFile){const e=yield apiCall("files/load",{folder:r.savedFolder,file:r.savedFile,format:r.savedFormat});a=Object.assign(Object.assign({},i),{editor:e})}openNewTab({title:o,icon:t||"img favorite",props:r,tabComponent:n},a)}))}function instance$26(e,t,n){const o=["data"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t;const s=getElectron(),c=()=>{showModal(FavoriteModal,{editingData:a})},l=()=>i(void 0,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:"favorites",file:a.file,format:"text"});openNewTab({icon:"icon favorite",title:a.title,tabComponent:"FavoriteEditorTab",props:{savedFile:a.file,savedFormat:"text",savedFolder:"favorites"}},{editor:JSON.stringify(JSON.parse(e),null,2)})})),u=()=>{copyTextToClipboard(`${document.location.origin}#favorite=${a.urlPath}`)},d=()=>{showModal(ConfirmModal,{message:`Really delete favorite ${a.title}?`,onConfirm:()=>{apiCall("files/delete",{file:a.file,folder:"favorites"})}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"data"in e&&n(0,a=e.data)},[a,function(){return[{text:"Delete",onClick:d},{text:"Edit",onClick:c},{text:"Edit JSON definition",onClick:l},!s&&a.urlPath&&{text:"Copy link",onClick:u}]},r,()=>openFavorite(a)]}class FavoriteFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$26,create_fragment$29,safe_not_equal,{data:0})}}var favoriteFileAppObject=Object.freeze({__proto__:null,default:FavoriteFileAppObject,extractKey:extractKey$7,openFavorite:openFavorite});function create_fragment$28(e){let t,n,o={value:e[2].value||"",menu:createMenu$4(),mode:"json"};return t=new AceEditor({props:o}),e[16](t),t.$on("input",e[17]),t.$on("focus",e[18]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[16](null),destroy_component(t,n)}}}const getCurrentEditor$f=()=>getActiveComponent("FavoriteEditorTab");function createMenu$4(){return[{command:"favoriteJsonEditor.save"},{command:"favoriteJsonEditor.preview"},{divider:!0},{command:"favoriteJsonEditor.find"},{command:"favoriteJsonEditor.replace"}]}function instance$25(e,t,n){let o,r;var i;let{tabid:a}=t,{savedFile:s}=t;const c=getContext("tabVisible");component_subscribe(e,c,(e=>n(15,r=e)));const l=createActivator("FavoriteEditorTab",!1);let u;function d(){return o.value||""}const{editorState:p,editorValue:m,setEditorData:f}=useEditorData({tabid:a});component_subscribe(e,p,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid),"savedFile"in e&&n(7,s=e.savedFile)},e.$$.update=()=>{49154&e.$$.dirty&&r&&u&&(null===n(14,i=null==u?void 0:u.getEditor())||void 0===i||i.focus())},[l,u,o,c,p,f,a,s,d,function(){u.getEditor().execCommand("find")},function(){u.getEditor().execCommand("replace")},function(){return a},function(){try{openFavorite(JSON.parse(d()))}catch(e){showModal(ErrorMessageModal,{message:e.message,title:"Error parsing JSON"})}},function(){try{const e=JSON.parse(d());apiCall("files/save",{file:s,folder:"favorites",format:"json",data:e})}catch(e){showModal(ErrorMessageModal,{message:e.message,title:"Error parsing JSON"})}},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{u=e,n(1,u)}))},e=>f(e.detail),()=>{l.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"favoriteJsonEditor",category:"Favorite JSON editor",getCurrentEditor:getCurrentEditor$f,folder:null,format:null,fileExtension:null,save:!1,findReplace:!0}),registerCommand({id:"favoriteJsonEditor.save",group:"save",name:"Save",category:"Favorite JSON editor",testEnabled:()=>null!=getCurrentEditor$f(),onClick:()=>getCurrentEditor$f().save()}),registerCommand({id:"favoriteJsonEditor.preview",name:"Preview",category:"Favorite JSON editor",keyText:"F5 | CtrlOrCommand+Enter",testEnabled:()=>null!=getCurrentEditor$f(),onClick:()=>getCurrentEditor$f().preview()});class FavoriteEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$25,create_fragment$28,safe_not_equal,{tabid:6,savedFile:7,activator:0,getData:8,find:9,replace:10,getTabId:11,preview:12,save:13})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}get preview(){return this.$$.ctx[12]}get save(){return this.$$.ctx[13]}}var FavoriteEditorTab$1=Object.freeze({__proto__:null,default:FavoriteEditorTab});function moveDrag(e,t){if(!t)return;const[n,o,r]=t;let i=null,a=null,s=null,c=null;const l=t=>{if(0!=t.button)return;const o=window.getComputedStyle(e).zoom,r=e.getBoundingClientRect();s=r.left*o,c=r.top*o,i=t.clientX,a=t.clientY,document.addEventListener("mousemove",u,!0),document.addEventListener("mouseup",d,!0),n(t.clientX-s,t.clientY-c)},u=t=>{window.getComputedStyle(e).zoom,t.preventDefault();const n=t.clientX-i;i=t.clientX;const r=t.clientY-a;a=t.clientY,o(n,r,t.clientX-s,t.clientY-c)},d=t=>{window.getComputedStyle(e).zoom,t.preventDefault(),i=null,a=null,document.removeEventListener("mousemove",u,!0),document.removeEventListener("mouseup",d,!0),r(t.clientX-s,t.clientY-c)};return e.addEventListener("mousedown",l),{destroy(){e.removeEventListener("mousedown",l),null==i&&null==a||(document.removeEventListener("mousemove",u,!0),document.removeEventListener("mouseup",d,!0))}}}function create_if_block_2$n(e){let t,n,o,r;n=new FontIcon({props:{icon:"img sort-asc"}});let i=e[1]>=0&&create_if_block_3$g(e);return{c(){t=element("span"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","icon")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,n){e[1]>=0?i?i.p(e,n):(i=create_if_block_3$g(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_if_block_3$g(e){let t,n,o=e[1]+1+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","color-icon-green order-index")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&o!==(o=e[1]+1+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$15(e){let t,n,o,r;n=new FontIcon({props:{icon:"img sort-desc"}});let i=e[1]>=0&&create_if_block_1$F(e);return{c(){t=element("span"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","icon")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,n){e[1]>=0?i?i.p(e,n):(i=create_if_block_1$F(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_if_block_1$F(e){let t,n,o=e[1]+1+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","color-icon-green order-index")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&o!==(o=e[1]+1+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_fragment$27(e){let t,n,o,r="ASC"==e[0]&&create_if_block_2$n(e),i="DESC"==e[0]&&create_if_block$15(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,[o]){"ASC"==e[0]?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_2$n(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),"DESC"==e[0]?i?(i.p(e,o),1&o&&transition_in(i,1)):(i=create_if_block$15(e),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function instance$24(e,t,n){let{order:o}=t,{orderIndex:r}=t;return e.$$set=e=>{"order"in e&&n(0,o=e.order),"orderIndex"in e&&n(1,r=e.orderIndex)},[o,r]}class SortOrderIcon extends SvelteComponent{constructor(e){super(),init(this,e,instance$24,create_fragment$27,safe_not_equal,{order:0,orderIndex:1})}}function create_if_block_11$4(e){let t,n,o,r;return n=new FontIcon({props:{icon:e[11]?plusExpandIcon(e[12]):"icon invisible-box"}}),n.$on("click",e[24]),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","expandColumnIcon"),attr(t,"style",o=`margin-right: ${5+10*e[13]}px`)},m(e,o){insert(e,t,o),mount_component(n,t,null),r=!0},p(e,i){const a={};6144&i[0]&&(a.icon=e[11]?plusExpandIcon(e[12]):"icon invisible-box"),n.$set(a),(!r||8192&i[0]&&o!==(o=`margin-right: ${5+10*e[13]}px`))&&attr(t,"style",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_10$4(e){let t,n;return t=new CheckboxField({props:{checked:e[9]?.isColumnChecked?e[9]?.isColumnChecked(e[3],e[1]):!!(e[2].columns||[]).find(e[25])}}),t.$on("change",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};526&n[0]&&(o.checked=e[9]?.isColumnChecked?e[9]?.isColumnChecked(e[3],e[1]):!!(e[2].columns||[]).find(e[25])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$4(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_8$4(e){let t,n;return t=new FontIcon({props:{icon:"img sort-asc"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$5(e){let t,n;return t=new FontIcon({props:{icon:"img sort-desc"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$9(e){let t,n;return t=new FontIcon({props:{icon:"img group"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$a(e){let t,n;const o=[e[16]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new SortOrderIcon({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=65536&n[0]?get_spread_update(o,[get_spread_object(e[16])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$d(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$E(e){let t,n,o,r,i=e[2]?.style?.showDataType&&e[1]?.dataType&&create_if_block_3$f(e),a=e[2]?.style?.showNullability&&create_if_block_2$m(e);return{c(){t=element("div"),n=space(),i&&i.c(),o=space(),a&&a.c(),r=empty(),attr(t,"class","space svelte-1s00ucb")},m(e,s){insert(e,t,s),insert(e,n,s),i&&i.m(e,s),insert(e,o,s),a&&a.m(e,s),insert(e,r,s)},p(e,t){e[2]?.style?.showDataType&&e[1]?.dataType?i?i.p(e,t):(i=create_if_block_3$f(e),i.c(),i.m(o.parentNode,o)):i&&(i.d(1),i=null),e[2]?.style?.showNullability?a?a.p(e,t):(a=create_if_block_2$m(e),a.c(),a.m(r.parentNode,r)):a&&(a.d(1),a=null)},d(e){e&&detach(t),e&&detach(n),i&&i.d(e),e&&detach(o),a&&a.d(e),e&&detach(r)}}}function create_if_block_3$f(e){let t,n,o=(e[1]?.displayedDataType||e[1]?.dataType).toLowerCase()+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-2")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t[0]&&o!==(o=(e[1]?.displayedDataType||e[1]?.dataType).toLowerCase()+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$m(e){let t,n,o=e[1]?.notNull?"NOT NULL":"NULL";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-2")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t[0]&&o!==(o=e[1]?.notNull?"NOT NULL":"NULL")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$14(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon arrow-right"}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","icon-button svelte-1s00ucb")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"mousedown",e[27]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$26(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=e[9]?.isColumnFiltered&&e[9]?.isColumnFiltered(e[3],e[1].columnName),b=e[17]&&e[9]?.addDesignerForeignKey&&e[9]?.canAddDesignerForeignKey&&e[9]?.canAddDesignerForeignKey(e[3],e[1].columnName),v=e[10]&&create_if_block_11$4(e),y=e[9]?.allowColumnOperations&&create_if_block_10$4(e);const x=[e[1],{columnName:e[9]?.getColumnDisplayName?e[9]?.getColumnDisplayName(e[1]):e[1].columnName},{foreignKey:e[17]},{forceIcon:!0},{iconOverride:e[15]}];let w={};for(let e=0;e<x.length;e+=1)w=assign(w,x[e]);r=new ColumnLabel({props:w});let C=e[18]?.filter&&create_if_block_9$4(),k=e[18]?.sortOrder>0&&create_if_block_8$4(),S=e[18]?.sortOrder<0&&create_if_block_7$5(),T=e[18]?.isGrouped&&create_if_block_6$9(),A=e[16]&&create_if_block_5$a(e),E=$&&create_if_block_4$d(),O=(e[2]?.style?.showNullability||e[2]?.style?.showDataType)&&create_if_block_1$E(e),I=b&&create_if_block$14(e);return{c(){t=element("div"),v&&v.c(),n=space(),y&&y.c(),o=space(),create_component(r.$$.fragment),i=space(),C&&C.c(),a=space(),k&&k.c(),s=space(),S&&S.c(),c=space(),T&&T.c(),l=space(),A&&A.c(),u=space(),E&&E.c(),d=space(),O&&O.c(),p=space(),I&&I.c(),attr(t,"class","line svelte-1s00ucb"),attr(t,"draggable",m=!!e[9]?.allowCreateRefByDrag),toggle_class(t,"canSelectColumns",e[9]?.canSelectColumns),toggle_class(t,"isDragSource",e[19]&&e[19].designerId==e[3]&&e[19].columnName==e[1].columnName),toggle_class(t,"isDragTarget",e[20]&&e[20].designerId==e[3]&&e[20].columnName==e[1].columnName)},m(m,$){insert(m,t,$),v&&v.m(t,null),append(t,n),y&&y.m(t,null),append(t,o),mount_component(r,t,null),append(t,i),C&&C.m(t,null),append(t,a),k&&k.m(t,null),append(t,s),S&&S.m(t,null),append(t,c),T&&T.m(t,null),append(t,l),A&&A.m(t,null),append(t,u),E&&E.m(t,null),append(t,d),O&&O.m(t,null),append(t,p),I&&I.m(t,null),e[28](t),h=!0,g||(_=[listen(t,"dragstart",e[29]),listen(t,"dragend",e[30]),listen(t,"dragover",e[31]),listen(t,"drop",e[32]),listen(t,"mousedown",e[33]),action_destroyer(f=contextMenu.call(null,t,e[9]?.canSelectColumns?e[21]:"__no_menu"))],g=!0)},p(e,i){e[10]?v?(v.p(e,i),1024&i[0]&&transition_in(v,1)):(v=create_if_block_11$4(e),v.c(),transition_in(v,1),v.m(t,n)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[9]?.allowColumnOperations?y?(y.p(e,i),512&i[0]&&transition_in(y,1)):(y=create_if_block_10$4(e),y.c(),transition_in(y,1),y.m(t,o)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros());const g=164354&i[0]?get_spread_update(x,[2&i[0]&&get_spread_object(e[1]),514&i[0]&&{columnName:e[9]?.getColumnDisplayName?e[9]?.getColumnDisplayName(e[1]):e[1].columnName},131072&i[0]&&{foreignKey:e[17]},x[3],32768&i[0]&&{iconOverride:e[15]}]):{};r.$set(g),e[18]?.filter?C?262144&i[0]&&transition_in(C,1):(C=create_if_block_9$4(),C.c(),transition_in(C,1),C.m(t,a)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),e[18]?.sortOrder>0?k?262144&i[0]&&transition_in(k,1):(k=create_if_block_8$4(),k.c(),transition_in(k,1),k.m(t,s)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),e[18]?.sortOrder<0?S?262144&i[0]&&transition_in(S,1):(S=create_if_block_7$5(),S.c(),transition_in(S,1),S.m(t,c)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),e[18]?.isGrouped?T?262144&i[0]&&transition_in(T,1):(T=create_if_block_6$9(),T.c(),transition_in(T,1),T.m(t,l)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[16]?A?(A.p(e,i),65536&i[0]&&transition_in(A,1)):(A=create_if_block_5$a(e),A.c(),transition_in(A,1),A.m(t,u)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),522&i[0]&&($=e[9]?.isColumnFiltered&&e[9]?.isColumnFiltered(e[3],e[1].columnName)),$?E?522&i[0]&&transition_in(E,1):(E=create_if_block_4$d(),E.c(),transition_in(E,1),E.m(t,d)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[2]?.style?.showNullability||e[2]?.style?.showDataType?O?O.p(e,i):(O=create_if_block_1$E(e),O.c(),O.m(t,p)):O&&(O.d(1),O=null),131594&i[0]&&(b=e[17]&&e[9]?.addDesignerForeignKey&&e[9]?.canAddDesignerForeignKey&&e[9]?.canAddDesignerForeignKey(e[3],e[1].columnName)),b?I?(I.p(e,i),131594&i[0]&&transition_in(I,1)):(I=create_if_block$14(e),I.c(),transition_in(I,1),I.m(t,null)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),(!h||512&i[0]&&m!==(m=!!e[9]?.allowCreateRefByDrag))&&attr(t,"draggable",m),f&&is_function(f.update)&&512&i[0]&&f.update.call(null,e[9]?.canSelectColumns?e[21]:"__no_menu"),(!h||512&i[0])&&toggle_class(t,"canSelectColumns",e[9]?.canSelectColumns),(!h||524298&i[0])&&toggle_class(t,"isDragSource",e[19]&&e[19].designerId==e[3]&&e[19].columnName==e[1].columnName),(!h||1048586&i[0])&&toggle_class(t,"isDragTarget",e[20]&&e[20].designerId==e[3]&&e[20].columnName==e[1].columnName)},i(e){h||(transition_in(v),transition_in(y),transition_in(r.$$.fragment,e),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(I),h=!0)},o(e){transition_out(v),transition_out(y),transition_out(r.$$.fragment,e),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(I),h=!1},d(n){n&&detach(t),v&&v.d(),y&&y.d(),destroy_component(r),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d(),I&&I.d(),e[28](null),g=!1,run_all(_)}}}function instance$23(e,t,n){let o,r,i,a,s,c,l=noop$3,u=()=>(l(),l=subscribe(b,(e=>n(19,s=e))),b),d=noop$3,p=()=>(d(),d=subscribe(v,(e=>n(20,c=e))),v);e.$$.on_destroy.push((()=>l())),e.$$.on_destroy.push((()=>d()));let{column:m}=t,{table:f}=t,{designer:h}=t,{designerId:g}=t,{onChangeColumn:_}=t,{domLine:$}=t,{sourceDragColumn$:b}=t;u();let{targetDragColumn$:v}=t;p();let{onCreateReference:y}=t,{onAddReferenceByColumn:x}=t,{onSelectColumn:w}=t,{settings:C}=t,{nestingSupported:k=null}=t,{isExpandable:S=!1}=t,{isExpanded:T=!1}=t,{expandLevel:A=0}=t,{toggleExpanded:E=null}=t;return e.$$set=e=>{"column"in e&&n(1,m=e.column),"table"in e&&n(22,f=e.table),"designer"in e&&n(2,h=e.designer),"designerId"in e&&n(3,g=e.designerId),"onChangeColumn"in e&&n(4,_=e.onChangeColumn),"domLine"in e&&n(0,$=e.domLine),"sourceDragColumn$"in e&&u(n(5,b=e.sourceDragColumn$)),"targetDragColumn$"in e&&p(n(6,v=e.targetDragColumn$)),"onCreateReference"in e&&n(7,y=e.onCreateReference),"onAddReferenceByColumn"in e&&n(23,x=e.onAddReferenceByColumn),"onSelectColumn"in e&&n(8,w=e.onSelectColumn),"settings"in e&&n(9,C=e.settings),"nestingSupported"in e&&n(10,k=e.nestingSupported),"isExpandable"in e&&n(11,S=e.isExpandable),"isExpanded"in e&&n(12,T=e.isExpanded),"expandLevel"in e&&n(13,A=e.expandLevel),"toggleExpanded"in e&&n(14,E=e.toggleExpanded)},e.$$.update=()=>{14&e.$$.dirty[0]&&n(18,o=(h.columns||[]).find((e=>e.designerId==g&&e.columnName==m.columnName))),4194306&e.$$.dirty[0]&&n(17,r=lib$5.findForeignKeyForColumn(f,m)),522&e.$$.dirty[0]&&n(16,i=(null==C?void 0:C.getSortOrderProps)?null==C?void 0:C.getSortOrderProps(g,m.columnName):null),522&e.$$.dirty[0]&&n(15,a=(null==C?void 0:C.getColumnIconOverride)?null==C?void 0:C.getColumnIconOverride(g,m.columnName):null)},[$,m,h,g,_,b,v,y,w,C,k,S,T,A,E,a,i,r,o,s,c,function(){if(null==C?void 0:C.columnMenu)return null==C?void 0:C.columnMenu({designer:h,designerId:g,column:m,foreignKey:r});const e=e=>{_(Object.assign(Object.assign({},m),{designerId:g}),(t=>Object.assign(Object.assign({},t),{sortOrder:e})))};return[(null==C?void 0:C.allowColumnOperations)&&[{text:"Sort ascending",onClick:()=>e(1)},{text:"Sort descending",onClick:()=>e(-1)},{text:"Unsort",onClick:()=>e(0)}],r&&{text:"Add reference",onClick:()=>{x(g,r)}}]},f,x,()=>{E(!T)},e=>e.designerId==g&&e.columnName==m.columnName&&e.isOutput,e=>{C?.setColumnChecked?C?.setColumnChecked(g,m,e.target.checked):e.target.checked?_({...m,designerId:g},(e=>({...e,isOutput:!0}))):_({...m,designerId:g},(e=>({...e,isOutput:!1})))},()=>C?.addDesignerForeignKey(g,m.columnName),function(e){binding_callbacks[e?"unshift":"push"]((()=>{$=e,n(0,$)}))},e=>{if(!C?.allowCreateRefByDrag)return;const t={...m,designerId:g};b.set(t),e.dataTransfer.setData("designer_column_drag_data",JSON.stringify(t))},e=>{b.set(null),v.set(null)},e=>{s&&(e.preventDefault(),v.set({...m,designerId:g}))},e=>{var t=e.dataTransfer.getData("designer_column_drag_data");e.preventDefault(),t&&(y(s,c),b.set(null),v.set(null))},e=>w({...m,designerId:g})]}class ColumnLine extends SvelteComponent{constructor(e){super(),init(this,e,instance$23,create_fragment$26,safe_not_equal,{column:1,table:22,designer:2,designerId:3,onChangeColumn:4,domLine:0,sourceDragColumn$:5,targetDragColumn$:6,onCreateReference:7,onAddReferenceByColumn:23,onSelectColumn:8,settings:9,nestingSupported:10,isExpandable:11,isExpanded:12,expandLevel:13,toggleExpanded:14},null,[-1,-1])}}class DomTableRef{constructor(e,t,n,o){this.domTable=t[""],this.domWrapper=n,this.table=e,this.designerId=e.designerId,this.domRefs=t,this.settings=o}getRect(){if(!this.domWrapper)return null;if(!this.domTable)return null;const e=this.domWrapper.getBoundingClientRect(),t=this.domTable.getBoundingClientRect();return{left:t.left-e.left,top:t.top-e.top,right:t.right-e.left,bottom:t.bottom-e.top}}getColumnY(e){var t,n,o;let r=this.domRefs[e];for(;null==r&&(null===(t=this.settings)||void 0===t?void 0:t.getParentColumnName)&&(null===(n=this.settings)||void 0===n?void 0:n.getParentColumnName(e));)e=null===(o=this.settings)||void 0===o?void 0:o.getParentColumnName(e),r=this.domRefs[e];const i=this.getRect();if(!r)return i.top+12;const a=r.getBoundingClientRect(),s=this.domWrapper.getBoundingClientRect();let c=(a.top+a.bottom)/2-s.top;return c<i.top&&(c=i.top),c>i.bottom&&(c=i.bottom),c}}function get_each_context$p(e,t,n){const o=e.slice();return o[66]=t[n],o[67]=t,o[68]=n,o}function create_if_block_6$8(e){let t,n;return t=new CheckboxField({props:{checked:!!e[12]?.isTableChecked&&e[12]?.isTableChecked(e[13])}}),t.$on("change",e[52]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};12288&n[0]&&(o.checked=!!e[12]?.isTableChecked&&e[12]?.isTableChecked(e[13])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$9(e){let t,n;return t=new FontIcon({props:{icon:e[25]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};33554432&n[0]&&(o.icon=e[25]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$c(e){let t,n;return t=new FontIcon({props:{icon:"icon database",title:e[24].database}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777216&n[0]&&(o.title=e[24].database),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$e(e){let t,n;return t=new FontIcon({props:{icon:"icon parent-filter",title:"Filter parent rows"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$l(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-w5ultk")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[53]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block_1$D(e){let t,n;return t=new DataFilterControl({props:{filterBehaviour:lib$5.stringFilterBehaviour,filter:e[12]?.getMutliColumnFilter(e[13]),setFilter:e[55],placeholder:"Data filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};12288&n[0]&&(o.filter=e[12]?.getMutliColumnFilter(e[13])),12288&n[0]&&(o.setFilter=e[55]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$p(e,t){let n,o,r,i;function a(...e){return t[57](t[66],...e)}function s(e){t[58](e,t[66])}let c={nestingSupported:!!t[12]?.isColumnExpandable&&t[14].find(t[56]),isExpandable:t[12]?.isColumnExpandable&&t[12]?.isColumnExpandable(t[66]),isExpanded:t[12]?.isColumnExpanded&&t[12]?.isColumnExpanded(t[66]),expandLevel:t[12]?.columnExpandLevel?t[12]?.columnExpandLevel(t[66]):0,toggleExpanded:a,column:t[66],table:t[0],designer:t[10],designerId:t[13],onChangeColumn:t[7],onSelectColumn:t[6],sourceDragColumn$:t[8],targetDragColumn$:t[9],onCreateReference:t[4],onAddReferenceByColumn:t[5],settings:t[12]};return void 0!==t[17][t[66].columnName]&&(c.domLine=t[17][t[66].columnName]),o=new ColumnLine({props:c}),binding_callbacks.push((()=>bind$2(o,"domLine",s))),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),i=!0},p(e,n){t=e;const i={};20480&n[0]&&(i.nestingSupported=!!t[12]?.isColumnExpandable&&t[14].find(t[56])),2101248&n[0]&&(i.isExpandable=t[12]?.isColumnExpandable&&t[12]?.isColumnExpandable(t[66])),2101248&n[0]&&(i.isExpanded=t[12]?.isColumnExpanded&&t[12]?.isColumnExpanded(t[66])),2101248&n[0]&&(i.expandLevel=t[12]?.columnExpandLevel?t[12]?.columnExpandLevel(t[66]):0),2101248&n[0]&&(i.toggleExpanded=a),2097152&n[0]&&(i.column=t[66]),1&n[0]&&(i.table=t[0]),1024&n[0]&&(i.designer=t[10]),8192&n[0]&&(i.designerId=t[13]),128&n[0]&&(i.onChangeColumn=t[7]),64&n[0]&&(i.onSelectColumn=t[6]),256&n[0]&&(i.sourceDragColumn$=t[8]),512&n[0]&&(i.targetDragColumn$=t[9]),16&n[0]&&(i.onCreateReference=t[4]),32&n[0]&&(i.onAddReferenceByColumn=t[5]),4096&n[0]&&(i.settings=t[12]),!r&&2228224&n[0]&&(r=!0,i.domLine=t[17][t[66].columnName],add_flush_callback((()=>r=!1))),o.$set(i)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_if_block$13(e){let t,n,o,r,i,a,s;return{c(){t=element("div"),n=space(),o=element("div"),r=space(),i=element("div"),a=space(),s=element("div"),attr(t,"class","selection-marker lt svelte-w5ultk"),attr(o,"class","selection-marker rt svelte-w5ultk"),attr(i,"class","selection-marker lb svelte-w5ultk"),attr(s,"class","selection-marker rb svelte-w5ultk")},m(e,c){insert(e,t,c),insert(e,n,c),insert(e,o,c),insert(e,r,c),insert(e,i,c),insert(e,a,c),insert(e,s,c)},d(e){e&&detach(t),e&&detach(n),e&&detach(o),e&&detach(r),e&&detach(i),e&&detach(a),e&&detach(s)}}}function create_fragment$25(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w=(e[18]||e[27])+"",C=[],k=new Map,S=e[12]?.canCheckTables&&create_if_block_6$8(e),T=e[25]&&create_if_block_5$9(e),A=e[24]&&create_if_block_4$c(e),E=e[23]&&create_if_block_3$e(),O=e[12]?.showTableCloseButton&&create_if_block_2$l(e),I=e[12]?.getMutliColumnFilter&&e[12]?.setMutliColumnFilter&&create_if_block_1$D(e),N=e[21]||[];const D=e=>e[66].columnName;for(let t=0;t<N.length;t+=1){let n=get_each_context$p(e,N,t),o=D(n);k.set(o,C[t]=create_each_block$p(o,n))}let M=e[0]?.isSelectedTable&&create_if_block$13();return{c(){t=element("div"),n=element("div"),o=element("div"),S&&S.c(),r=space(),T&&T.c(),i=space(),a=text$1(w),s=space(),A&&A.c(),c=space(),E&&E.c(),l=space(),O&&O.c(),m=space(),I&&I.c(),f=space(),h=element("div");for(let e=0;e<C.length;e+=1)C[e].c();g=space(),M&&M.c(),attr(n,"class","header svelte-w5ultk"),attr(n,"style",u=e[32](e[28],e[0])),toggle_class(n,"isGrayed",e[22]),toggle_class(n,"isTable","tables"==e[26]),toggle_class(n,"isView","views"==e[26]),toggle_class(n,"isCollection","collections"==e[26]),attr(h,"class","columns svelte-w5ultk"),toggle_class(h,"scroll",e[12]?.allowScrollColumns),attr(t,"class","wrapper svelte-w5ultk"),attr(t,"style",_=`left: ${e[15]?e[15].left:e[20]}px; top:${e[15]?e[15].top:e[19]}px`),toggle_class(t,"canSelectColumns",e[12]?.canSelectColumns),toggle_class(t,"isSelectedTable",e[0]?.isSelectedTable)},m(u,_){insert(u,t,_),append(t,n),append(n,o),S&&S.m(o,null),append(o,r),T&&T.m(o,null),append(o,i),append(o,a),append(o,s),A&&A.m(o,null),append(o,c),E&&E.m(o,null),append(n,l),O&&O.m(n,null),append(t,m),I&&I.m(t,null),append(t,f),append(t,h);for(let e=0;e<C.length;e+=1)C[e]&&C[e].m(h,null);append(t,g),M&&M.m(t,null),e[60](t),v=!0,y||(x=[action_destroyer(d=moveDrag.call(null,n,e[12]?.canSelectColumns?[e[29],e[30],e[31]]:null)),action_destroyer(p=contextMenu.call(null,n,e[12]?.canSelectColumns?e[33]:"__no_menu")),listen(n,"click",(function(){is_function(e[12]?.onClickTableHeader?e[54]:null)&&(e[12]?.onClickTableHeader?e[54]:null).apply(this,arguments)})),listen(h,"scroll",e[59]),listen(t,"mousedown",e[61]),action_destroyer($=contextMenu.call(null,t,e[12]?.canSelectColumns?"__no_menu":e[33])),action_destroyer(b=moveDrag.call(null,t,e[12]?.canSelectColumns?null:[e[29],e[30],e[31]]))],y=!0)},p(s,l){e=s,e[12]?.canCheckTables?S?(S.p(e,l),4096&l[0]&&transition_in(S,1)):(S=create_if_block_6$8(e),S.c(),transition_in(S,1),S.m(o,r)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),e[25]?T?(T.p(e,l),33554432&l[0]&&transition_in(T,1)):(T=create_if_block_5$9(e),T.c(),transition_in(T,1),T.m(o,i)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),(!v||134479872&l[0])&&w!==(w=(e[18]||e[27])+"")&&set_data(a,w),e[24]?A?(A.p(e,l),16777216&l[0]&&transition_in(A,1)):(A=create_if_block_4$c(e),A.c(),transition_in(A,1),A.m(o,c)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[23]?E?8388608&l[0]&&transition_in(E,1):(E=create_if_block_3$e(),E.c(),transition_in(E,1),E.m(o,null)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[12]?.showTableCloseButton?O?(O.p(e,l),4096&l[0]&&transition_in(O,1)):(O=create_if_block_2$l(e),O.c(),transition_in(O,1),O.m(n,null)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),(!v||268435457&l[0]&&u!==(u=e[32](e[28],e[0])))&&attr(n,"style",u),d&&is_function(d.update)&&4096&l[0]&&d.update.call(null,e[12]?.canSelectColumns?[e[29],e[30],e[31]]:null),p&&is_function(p.update)&&4096&l[0]&&p.update.call(null,e[12]?.canSelectColumns?e[33]:"__no_menu"),(!v||4194304&l[0])&&toggle_class(n,"isGrayed",e[22]),(!v||67108864&l[0])&&toggle_class(n,"isTable","tables"==e[26]),(!v||67108864&l[0])&&toggle_class(n,"isView","views"==e[26]),(!v||67108864&l[0])&&toggle_class(n,"isCollection","collections"==e[26]),e[12]?.getMutliColumnFilter&&e[12]?.setMutliColumnFilter?I?(I.p(e,l),4096&l[0]&&transition_in(I,1)):(I=create_if_block_1$D(e),I.c(),transition_in(I,1),I.m(t,f)):I&&(group_outros(),transition_out(I,1,1,(()=>{I=null})),check_outros()),2258929&l[0]&&(N=e[21]||[],group_outros(),C=update_keyed_each(C,l,D,1,e,N,k,h,outro_and_destroy_block,create_each_block$p,null,get_each_context$p),check_outros()),(!v||4096&l[0])&&toggle_class(h,"scroll",e[12]?.allowScrollColumns),e[0]?.isSelectedTable?M||(M=create_if_block$13(),M.c(),M.m(t,null)):M&&(M.d(1),M=null),(!v||1605632&l[0]&&_!==(_=`left: ${e[15]?e[15].left:e[20]}px; top:${e[15]?e[15].top:e[19]}px`))&&attr(t,"style",_),$&&is_function($.update)&&4096&l[0]&&$.update.call(null,e[12]?.canSelectColumns?"__no_menu":e[33]),b&&is_function(b.update)&&4096&l[0]&&b.update.call(null,e[12]?.canSelectColumns?null:[e[29],e[30],e[31]]),(!v||4096&l[0])&&toggle_class(t,"canSelectColumns",e[12]?.canSelectColumns),(!v||1&l[0])&&toggle_class(t,"isSelectedTable",e[0]?.isSelectedTable)},i(e){if(!v){transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(O),transition_in(I);for(let e=0;e<N.length;e+=1)transition_in(C[e]);v=!0}},o(e){transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(O),transition_out(I);for(let e=0;e<C.length;e+=1)transition_out(C[e]);v=!1},d(n){n&&detach(t),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d(),I&&I.d();for(let e=0;e<C.length;e+=1)C[e].d();M&&M.d(),e[60](null),y=!1,run_all(x)}}}function instance$22(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h;component_subscribe(e,currentThemeDefinition,(e=>n(28,h=e)));let g,{conid:_}=t,{database:$}=t,{table:b}=t,{zoomKoef:v}=t,{onChangeTable:y}=t,{onBringToFront:x}=t,{onSelectTable:w}=t,{onRemoveTable:C}=t,{onAddAllReferences:k}=t,{onCreateReference:S}=t,{onAddReferenceByColumn:T}=t,{onSelectColumn:A}=t,{onChangeColumn:E}=t,{onChangeTableColor:O}=t,{isMultipleTableSelection:I}=t,{onMoveStart:N}=t,{onMove:D}=t,{onMoveEnd:M}=t,{sourceDragColumn$:R}=t,{targetDragColumn$:L}=t,{domCanvas:F}=t,{designer:P}=t,{onMoveReferences:j}=t,{settings:B}=t,{columnFilter:q}=t,W=null;const z={};function H(e,t,n){if(!e)return[];const o=[];for(const r of e)if(lib$5.filterName(t,r.columnName))o.push(Object.assign(Object.assign({},r),{expandLevel:n})),r.isExpanded&&o.push(...H(r.getChildColumns?r.getChildColumns():null,t,n+1));else if(r.isExpanded){const e=H(r.getChildColumns?r.getChildColumns():null,t,n+1);e.length>0&&(o.push(Object.assign(Object.assign({},r),{expandLevel:n})),o.push(...e))}return o}function U(){n(15,W={left:c,top:l})}function V(e,t){n(15,W.left+=e/v,W),n(15,W.top+=t/v,W)}function G(){const e=W;return n(15,W=null),e}const Y=()=>{showModal(InputTextModal,{value:r||"",label:"New alias",header:"Set table alias",onConfirm:e=>{y(Object.assign(Object.assign({},b),{alias:e}))}})};return e.$$set=e=>{"conid"in e&&n(34,_=e.conid),"database"in e&&n(35,$=e.database),"table"in e&&n(0,b=e.table),"zoomKoef"in e&&n(36,v=e.zoomKoef),"onChangeTable"in e&&n(37,y=e.onChangeTable),"onBringToFront"in e&&n(1,x=e.onBringToFront),"onSelectTable"in e&&n(2,w=e.onSelectTable),"onRemoveTable"in e&&n(3,C=e.onRemoveTable),"onAddAllReferences"in e&&n(38,k=e.onAddAllReferences),"onCreateReference"in e&&n(4,S=e.onCreateReference),"onAddReferenceByColumn"in e&&n(5,T=e.onAddReferenceByColumn),"onSelectColumn"in e&&n(6,A=e.onSelectColumn),"onChangeColumn"in e&&n(7,E=e.onChangeColumn),"onChangeTableColor"in e&&n(39,O=e.onChangeTableColor),"isMultipleTableSelection"in e&&n(40,I=e.isMultipleTableSelection),"onMoveStart"in e&&n(41,N=e.onMoveStart),"onMove"in e&&n(42,D=e.onMove),"onMoveEnd"in e&&n(43,M=e.onMoveEnd),"sourceDragColumn$"in e&&n(8,R=e.sourceDragColumn$),"targetDragColumn$"in e&&n(9,L=e.targetDragColumn$),"domCanvas"in e&&n(44,F=e.domCanvas),"designer"in e&&n(10,P=e.designer),"onMoveReferences"in e&&n(11,j=e.onMoveReferences),"settings"in e&&n(12,B=e.settings),"columnFilter"in e&&n(45,q=e.columnFilter)},e.$$.update=()=>{1&e.$$.dirty[0]&&n(27,o=null==b?void 0:b.pureName),1&e.$$.dirty[0]&&n(18,r=null==b?void 0:b.alias),1025&e.$$.dirty[0]&&n(14,i=(null==b?void 0:b.columns).filter((e=>function(e,t,n){var o,r,i,a,s,c,l,u;if(!(null==B?void 0:B.customizeStyle))return!0;switch((null==n?void 0:n.filterColumns)||"all"){case"primaryKey":return null===(r=null===(o=null==e?void 0:e.primaryKey)||void 0===o?void 0:o.columns)||void 0===r?void 0:r.find((e=>e.columnName==(null==t?void 0:t.columnName)));case"allKeys":return(null===(a=null===(i=null==e?void 0:e.primaryKey)||void 0===i?void 0:i.columns)||void 0===a?void 0:a.find((e=>e.columnName==(null==t?void 0:t.columnName))))||(null===(s=null==e?void 0:e.foreignKeys)||void 0===s?void 0:s.find((e=>e.columns.find((e=>e.columnName==(null==t?void 0:t.columnName))))));case"keysAndNotNull":return(null==t?void 0:t.notNull)||(null===(l=null===(c=null==e?void 0:e.primaryKey)||void 0===c?void 0:c.columns)||void 0===l?void 0:l.find((e=>e.columnName==(null==t?void 0:t.columnName))))||(null===(u=null==e?void 0:e.foreignKeys)||void 0===u?void 0:u.find((e=>e.columns.find((e=>e.columnName==(null==t?void 0:t.columnName))))));case"notNull":return null==t?void 0:t.notNull}return!0}(b,e,null==P?void 0:P.style)))),1&e.$$.dirty[0]&&n(13,a=null==b?void 0:b.designerId),1&e.$$.dirty[0]&&n(26,s=null==b?void 0:b.objectTypeField),1&e.$$.dirty[0]&&n(20,c=null==b?void 0:b.left),1&e.$$.dirty[0]&&n(19,l=null==b?void 0:b.top),12288&e.$$.dirty[0]&&n(25,u=(null==B?void 0:B.getMainTableIcon)?null==B?void 0:B.getMainTableIcon(a):null),12288&e.$$.dirty[0]&&n(24,d=(null==B?void 0:B.tableSpecificDb)?null==B?void 0:B.tableSpecificDb(a):null),12288&e.$$.dirty[0]&&n(23,p=!!(null==B?void 0:B.hasFilterParentRowsFlag)&&(null==B?void 0:B.hasFilterParentRowsFlag(a))),12288&e.$$.dirty[0]&&n(22,m=!!(null==B?void 0:B.isGrayedTable)&&(null==B?void 0:B.isGrayedTable(a))),16384&e.$$.dirty[0]|16384&e.$$.dirty[1]&&n(21,f=H(i,q,0))},[b,x,w,C,S,T,A,E,R,L,P,j,B,a,i,W,g,z,r,l,c,f,m,p,d,u,s,o,h,function(){(null==B?void 0:B.canSelectTables)?N():U()},function(e,t){(null==B?void 0:B.canSelectTables)?D(e,t):(V(e,t),tick().then(j))},function(){if(null==B?void 0:B.canSelectTables)M();else{const e=G();y(Object.assign(Object.assign({},b),{left:e.left,top:e.top})),tick().then(j)}},function(e,t,n=3){if(!(null==t?void 0:t.tableColor))return null;const o=("dark"==(null==e?void 0:e.themeType)?presetDarkPalettes:presetPalettes)[null==t?void 0:t.tableColor];return o?`background: ${o[n]}`:null},function(){return(null==B?void 0:B.tableMenu)?null==B?void 0:B.tableMenu({designer:P,designerId:a,onRemoveTable:C}):[{text:"Remove",onClick:()=>C({designerId:a})},{divider:!0},(null==B?void 0:B.allowTableAlias)&&!I&&[{text:"Set table alias",onClick:Y},r&&{text:"Remove table alias",onClick:()=>y(Object.assign(Object.assign({},b),{alias:null}))}],(null==B?void 0:B.allowAddAllReferences)&&!I&&{text:"Add references",onClick:()=>k(b)},(null==B?void 0:B.allowChangeColor)&&{text:"Change color",onClick:()=>O(b)},(null==B?void 0:B.allowDefineVirtualReferences)&&!I&&{text:"Define virtual foreign key",onClick:()=>(e=>{showModal(VirtualForeignKeyEditorModal,{schemaName:e.schemaName,pureName:e.pureName,conid:_,database:$})})(b)},(null==B?void 0:B.appendTableSystemMenu)&&!I&&[{divider:!0},createDatabaseObjectMenu(Object.assign(Object.assign({},b),{conid:_,database:$}))]]},_,$,v,y,k,O,I,N,D,M,F,q,function(){return null==b?void 0:b.isSelectedTable},function(){return a},U,V,G,function(){const e=Object.assign({},z);return e[""]=g,new DomTableRef(b,e,F,B)},e=>{B?.setTableChecked&&B?.setTableChecked(a,e.target.checked)},()=>C(b),()=>B?.onClickTableHeader(a),e=>B?.setMutliColumnFilter(a,e),e=>B?.isColumnExpandable(e),(e,t)=>B?.toggleExpandedColumn(e,t),function(t,o){e.$$.not_equal(z[o.columnName],t)&&(z[o.columnName]=t,n(17,z))},()=>tick().then(j),function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(16,g)}))},e=>{0==e.button&&(e.stopPropagation(),x(b),B?.canSelectTables&&!b?.isSelectedTable&&w(b,isCtrlOrCommandKey(e)))}]}class DesignerTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$22,create_fragment$25,safe_not_equal,{conid:34,database:35,table:0,zoomKoef:36,onChangeTable:37,onBringToFront:1,onSelectTable:2,onRemoveTable:3,onAddAllReferences:38,onCreateReference:4,onAddReferenceByColumn:5,onSelectColumn:6,onChangeColumn:7,onChangeTableColor:39,isMultipleTableSelection:40,onMoveStart:41,onMove:42,onMoveEnd:43,sourceDragColumn$:8,targetDragColumn$:9,domCanvas:44,designer:10,onMoveReferences:11,settings:12,columnFilter:45,isSelected:46,getDesignerId:47,moveStart:48,move:49,moveEnd:50,getDomTable:51},null,[-1,-1,-1])}get isSelected(){return this.$$.ctx[46]}get getDesignerId(){return this.$$.ctx[47]}get moveStart(){return this.$$.ctx[48]}get move(){return this.$$.ctx[49]}get moveEnd(){return this.$$.ctx[50]}get getDomTable(){return this.$$.ctx[51]}}class DesignerComponent{constructor(){this.subComponents=[],this.tables=[],this.nonPrimaryReferences=[]}get primaryTable(){return this.tables[0]}get nonPrimaryTables(){return this.tables.slice(1)}get nonPrimaryTablesAndReferences(){return _.zip(this.nonPrimaryTables,this.nonPrimaryReferences)}get myAndParentTables(){return[...this.parentTables,...this.tables]}get parentTables(){return this.parentComponent?this.parentComponent.myAndParentTables:[]}get thisAndSubComponentsTables(){return[...this.tables,..._.flatten(this.subComponents.map((e=>e.thisAndSubComponentsTables)))]}}class DesignerComponentCreator{constructor(e){for(this.designer=e,this.components=[],this.toAdd=[...e.tables];this.toAdd.length>0;){const e=this.parseComponent(null);this.components.push(e)}}parseComponent(e){if(null==e&&(e=findPrimaryTable(this.toAdd)),!e)return null;_.remove(this.toAdd,(t=>t==e));const t=new DesignerComponent;for(t.tables.push(e);;){let e=!1;for(const n of this.toAdd){const o=findConnectingReference(this.designer,t.tables,[n],referenceIsJoin);if(o){t.tables.push(n),t.nonPrimaryReferences.push(o),_.remove(this.toAdd,(e=>e==n)),e=!0;break}}if(!e)break}for(;;){let e=!1;for(const n of this.toAdd){const o=findConnectingReference(this.designer,t.tables,[n],referenceIsExists);if(o){const r=this.parseComponent(n);t.subComponents.push(r),r.parentComponent=t,r.parentReference=o,e=!0;break}}if(!e)break}return t}}class DesignerQueryDumper{constructor(e,t){this.designer=e,this.components=t}get topLevelTables(){return _.flatten(this.components.map((e=>e.tables)))}dumpComponent(e){const t={commandType:"select",from:{name:e.primaryTable,alias:e.primaryTable.alias,relations:[]}};for(const[n,o]of e.nonPrimaryTablesAndReferences)t.from.relations.push({name:n,alias:n.alias,joinType:o.joinType,conditions:getReferenceConditions(o,this.designer)});for(const n of e.subComponents){const e=this.dumpComponent(n);e.selectAll=!0,t.where=lib$2.mergeConditions(t.where,{conditionType:"WHERE NOT EXISTS"==n.parentReference.joinType?"notExists":"exists",subQuery:e})}if(e.parentReference){t.where=lib$2.mergeConditions(t.where,{conditionType:"and",conditions:getReferenceConditions(e.parentReference,this.designer)});for(const n of this.designer.references||[])referenceIsCrossJoin(n)&&referenceIsConnecting(n,e.tables,e.myAndParentTables)&&(t.where=lib$2.mergeConditions(t.where,{conditionType:"and",conditions:getReferenceConditions(n,this.designer)}));this.addConditions(t,e.tables)}return t}buildConditionFromFilterField(e,t,n){const o=[];for(const r of this.designer.columns||[])if(r[t]){if(!r.isCustomExpression){const t=(this.designer.tables||[]).find((e=>e.designerId==r.designerId));if(!t)continue;if(!e.find((e=>e.designerId==t.designerId)))continue}try{const e=lib.parseFilter(r[t],findDesignerFilterBehaviour(r,this.designer));e&&o.push(_.cloneDeepWith(e,(e=>{if("placeholder"==e.exprType)return n?n(r):this.getColumnExpression(r)})))}catch(e){continue}}return 0==o.length?null:1==o.length?o[0]:{conditionType:"and",conditions:o}}addConditionsCore(e,t,n,o,r){const i=_.compact(n.map((e=>this.buildConditionFromFilterField(t,e,r))));0!=i.length&&(0!=i.length?e[o]=lib$2.mergeConditions(e[o],{conditionType:"or",conditions:i}):e[o]=lib$2.mergeConditions(e[o],i[0]))}addConditions(e,t){var n;const o=(null===(n=this.designer.settings)||void 0===n?void 0:n.additionalFilterCount)||0,r=["filter",..._.range(o).map((e=>`additionalFilter${e+1}`))];this.addConditionsCore(e,t,r,"where")}addGroupConditions(e,t,n){var o;const r=(null===(o=this.designer.settings)||void 0===o?void 0:o.additionalGroupFilterCount)||0,i=["groupFilter",..._.range(r).map((e=>`additionalGroupFilter${e+1}`))];this.addConditionsCore(e,t,i,"having",(e=>this.getColumnResultField(e,n)))}getColumnExpression(e){const t=findQuerySource(this.designer,e.designerId),{columnName:n,isCustomExpression:o,customExpression:r}=e;return o?{exprType:"raw",sql:r}:{exprType:"column",columnName:n,source:t}}getColumnResultField(e,t){const{columnName:n}=e;let{alias:o}=e;const r=this.getColumnExpression(e);if(t&&!e.isGrouped){const t=null==e.aggregate||"---"==e.aggregate?"MAX":e.aggregate;return o||(o=`${t}(${n})`),{exprType:"call",func:"COUNT DISTINCT"==t?"COUNT":t,argsPrefix:"COUNT DISTINCT"==t?"DISTINCT":null,alias:o,args:[r]}}return Object.assign(Object.assign({},r),{alias:o})}run(){let e=null;for(const t of this.components){const n=this.dumpComponent(t);e=null==e?n:mergeSelectsFromDesigner(e,n)}const t=this.topLevelTables;for(const n of this.designer.references||[])referenceIsCrossJoin(n)&&referenceIsConnecting(n,t,t)&&(e.where=lib$2.mergeConditions(e.where,{conditionType:"and",conditions:getReferenceConditions(n,this.designer)}));const n=(this.designer.columns||[]).filter((e=>t.find((t=>t.designerId==e.designerId))||e.isCustomExpression&&e.customExpression)),o=!!n.find((e=>e.isGrouped||e.aggregate&&"---"!=e.aggregate)),r=n.filter((e=>e.isOutput));0==r.length?e.selectAll=!0:e.columns=r.map((e=>this.getColumnResultField(e,o)));const i=n.filter((e=>e.isGrouped));i.length>0&&(e.groupBy=i.map((e=>this.getColumnExpression(e))));const a=_.sortBy(n.filter((e=>e.sortOrder)),(e=>Math.abs(e.sortOrder)));return a.length>0&&(e.orderBy=a.map((e=>Object.assign(Object.assign({},this.getColumnExpression(e)),{direction:e.sortOrder<0?"DESC":"ASC"})))),this.addConditions(e,t),this.addGroupConditions(e,t,o),e}}function referenceIsConnecting(e,t,n){return t.find((t=>t.designerId==e.sourceId))&&n.find((t=>t.designerId==e.targetId))||t.find((t=>t.designerId==e.targetId))&&n.find((t=>t.designerId==e.sourceId))}function referenceIsJoin(e){return["INNER JOIN","LEFT JOIN","RIGHT JOIN","FULL OUTER JOIN"].includes(e.joinType)}function referenceIsExists(e){return["WHERE EXISTS","WHERE NOT EXISTS"].includes(e.joinType)}function referenceIsCrossJoin(e){return!e.joinType||"CROSS JOIN"==e.joinType}function findConnectingReference(e,t,n,o){for(const r of e.references||[])if(o(r)&&referenceIsConnecting(r,t,n))return r;return null}function findQuerySource(e,t){const n=e.tables.find((e=>e.designerId==t));return n?{name:n,alias:n.alias}:null}function mergeSelectsFromDesigner(e,t){return{commandType:"select",from:Object.assign(Object.assign({},e.from),{relations:[...e.from.relations,{joinType:"CROSS JOIN",name:t.from.name,alias:t.from.alias},...t.from.relations]}),where:lib$2.mergeConditions(e.where,t.where)}}function findPrimaryTable(e){return _.minBy(e,(e=>e.top))}function getReferenceConditions(e,t){const n=t.tables.find((t=>t.designerId==e.sourceId)),o=t.tables.find((t=>t.designerId==e.targetId));return e.columns.map((e=>({conditionType:"binary",operator:"=",left:{exprType:"column",columnName:e.source,source:{name:n,alias:n.alias}},right:{exprType:"column",columnName:e.target,source:{name:o,alias:o.alias}}})))}function generateDesignedQuery(e,t){var n;if(!findPrimaryTable(e.tables))return"";const o=new DesignerComponentCreator(e),r=new DesignerQueryDumper(e,o.components).run();r.distinct=!!(null===(n=null==e?void 0:e.settings)||void 0===n?void 0:n.isDistinct);const i=t.createDumper();return lib$2.dumpSqlSelect(i,r),i.s}function isConnectedByReference(e,t,n,o){if(!e.references)return!1;const r=new DesignerComponentCreator(Object.assign(Object.assign({},e),{references:o?e.references.filter((e=>e.designerId!=o.designerId)):e.references})).components.map((e=>e.thisAndSubComponentsTables));return r.find((e=>e.find((e=>e.designerId==t.designerId))))==r.find((e=>e.find((e=>e.designerId==n.designerId))))}function findDesignerFilterBehaviour({designerId:e,columnName:t},n){const o=(n.tables||[]).find((t=>t.designerId==e));if(o){const e=(o.columns||[]).find((e=>e.columnName==t));if(e){const{dataType:t}=e;return lib$5.detectSqlFilterBehaviour(t)}}return"string"}function cleanupDesignColumns(e){return(e||[]).filter((e=>e.isOutput||e.isGrouped||e.alias||e.aggregate&&"---"!=e.aggregate||e.sortOrder||e.filter))}function sortByStart(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function sortByEnd(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function hasOverlap(e,t){return t[1]>e[0]&&t[0]<e[1]}function union(...e){if(!e.length)return[];e=e.sort(sortByStart);const t=[];let[n,o]=e[0];for(let r=1,i=e.length;r<i;r++){const[i,a]=e[r];o<i&&(t.push([n,o]),n=i),o<a&&(o=a)}return[...t,[n,o]]}function difference(e,t){return hasOverlap(e,t)?t[0]>e[0]&&t[1]<e[1]?[[e[0],t[0]],[t[1],e[1]]]:t[0]<=e[0]&&t[1]>=e[1]?null:t[0]>e[0]?[[e[0],t[0]]]:[[t[1],e[1]]]:[e]}function arrayDifference(e,t){const n=union(...e),o=union(...t);if(!n.length)return[];if(!o.length)return n;const r=[];for(let e=0,t=n.length;e<t;e++){let[t,i]=n[e],a=!0;for(let e=0,n=o.length;e<n;e++){const n=o[e];if(n[1]<=t)continue;if(n[0]>=i)break;const s=difference([t,i],n);if(!s){a=!1;break}[t,i]=s[s.length-1],s.length>1&&r.push(s[0])}a&&r.push([t,i])}return r}function intersection(...e){e.sort(sortByStart);const[t,n]=[e[e.length-1][0],e.sort(sortByEnd)[0][1]];for(let o=0,r=e.length;o<r-1;o++){const[r,i]=e[o+1];if(r>n||i<t)return null}return[t,n]}function intersectLineLine(e,t,n,o){const r=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===r)return null;const i=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/r,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/r;return i<0||i>1||a<0||a>1?null:{x:e.x+i*(t.x-e.x),y:e.y+i*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},r={x:n.right,y:n.top},i={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,r))&&s.push(c),(c=intersectLineLine(e,t,r,a))&&s.push(c),(c=intersectLineLine(e,t,a,i))&&s.push(c),(c=intersectLineLine(e,t,i,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let r=e-n,i=t-o;return Math.sqrt(r*r+i*i)}const o=e.left,r=e.top,i=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=i<s,m=u<r,f=a<c;return f&&d?n(o,a,l,c):d&&m?n(o,r,l,u):m&&p?n(i,r,s,u):p&&f?n(i,a,s,c):d?o-l:p?s-i:m?r-u:f?c-a:0}function rectanglesHaveIntersection(e,t){const n=intersection([e.left,e.right],[t.left,t.right]),o=intersection([e.top,e.bottom],[t.top,t.bottom]);return!!n&&!!o}class Vector2D{constructor(e,t){this.x=e,this.y=t}static random(){return new Vector2D(10*(Math.random()-.5),10*(Math.random()-.5))}add(e){return new Vector2D(this.x+e.x,this.y+e.y)}subtract(e){return new Vector2D(this.x-e.x,this.y-e.y)}multiply(e){return new Vector2D(this.x*e,this.y*e)}divide(e){return new Vector2D(this.x/e||0,this.y/e||0)}magnitude(){return Math.sqrt(this.x*this.x+this.y*this.y)}normal(e){return new Vector2D(-this.y,this.x)}normalise(){return this.divide(this.magnitude())}}function solveOverlapsInIntervalArray(e,t,n){const o=arrayDifference([[-1/0,1/0]],n),r=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)r.push(n[1]-t/2);else if(n[0]>e)r.push(n[0]+t/2);else{let o=e;o-t/2<n[0]&&(o=n[0]+t/2),o+t/2>n[1]&&(o=n[1]-t/2),r.push(o)}}return _.minBy(r,(t=>Math.abs(t-e)))}const MIN_NODE_DISTANCE=50,SPRING_LENGTH=100,SPRINGY_STEPS=50,GRAVITY_X=.005,GRAVITY_Y=.01,REPULSION=1e3,MAX_FORCE_SIZE=100,NODE_MARGIN=30,NODE_SPACE_TREE=60,GRAVITY_EXPONENT=1.05;class GraphNode{constructor(e,t,n,o,r){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=r,this.neightboors=[]}initialize(){this.radius=Math.sqrt(this.width*this.width/4+this.height*this.height/4)}}class GraphEdge{constructor(e,t,n){this.graph=e,this.source=t,this.target=n}}class GraphDefinition{constructor(){this.nodes={},this.edges=[]}addNode(e,t,n,o){this.nodes[e]=new GraphNode(this,e,t,n,o)}addEdge(e,t){const n=this.nodes[e],o=this.nodes[t];n&&o&&!this.edges.find((e=>e.source==n&&e.target==o||e.target==n&&e.source==o))&&this.edges.push(new GraphEdge(this,n,o))}initialize(){for(const e of Object.values(this.nodes)){for(const t of this.edges)t.source!=e||e.neightboors.includes(t.target)||e.neightboors.push(t.target),t.target!=e||e.neightboors.includes(t.source)||e.neightboors.push(t.source);e.initialize()}}detectCentreNode(){if(_.values(this.nodes).find((e=>e.fixedPosition)))return null;const e=[];for(const t of _.values(this.nodes)){let n=!0;for(const e of _.values(this.nodes))if(t!=e&&!t.neightboors.includes(e)){n=!1;break}n&&e.push(t)}return 1==e.length?e[0]:null}}class LayoutNode{constructor(e,t,n){this.node=e,this.x=t,this.y=n,this.left=t-e.width/2,this.top=n-e.height/2,this.right=t+e.width/2,this.bottom=n+e.height/2,this.position=new Vector2D(t,n),this.rangeXPadded=[this.left-NODE_MARGIN,this.right+NODE_MARGIN],this.rangeYPadded=[this.top-NODE_MARGIN,this.bottom+NODE_MARGIN]}translate(e,t,n=!1){return this.node.fixedPosition&&!n?this:new LayoutNode(this.node,this.x+e,this.y+t)}distanceTo(e){return rectangleDistance(this,e)}hasPaddedIntersect(e){const t=intersection(this.rangeXPadded,e.rangeXPadded),n=intersection(this.rangeYPadded,e.rangeYPadded);return t&&t[1]-t[0]>.1&&n&&n[1]-n[0]>.1}}class ForceAlgorithmStep{constructor(e){this.layout=e,this.nodeForces={}}applyForce(e,t){t.magnitude()>MAX_FORCE_SIZE&&(t=t.normalise().multiply(MAX_FORCE_SIZE)),e.node.designerId in this.nodeForces?this.nodeForces[e.node.designerId]=this.nodeForces[e.node.designerId].add(t):this.nodeForces[e.node.designerId]=t}applyCoulombsLaw(){for(const e of _.values(this.layout.nodes))for(const t of _.values(this.layout.nodes)){if(e.node.designerId==t.node.designerId)continue;const n=e.position.subtract(t.position).normalise(),o=e.distanceTo(t)+MIN_NODE_DISTANCE;this.applyForce(e,n.multiply(.5*REPULSION/(o*o))),this.applyForce(t,n.multiply(-.5*REPULSION/(o*o)))}}applyHooksLaw(){for(const t of this.layout.edges){const n=t.target.position.subtract(t.source.position),o=SPRING_LENGTH-t.length;var e=n.normalise();this.applyForce(t.source,e.multiply(-.5*o)),this.applyForce(t.target,e.multiply(.5*o))}}applyGravity(){for(const e of _.values(this.layout.nodes))this.applyForce(e,new Vector2D(-Math.pow(Math.abs(e.position.x),GRAVITY_EXPONENT)*Math.sign(e.position.x)*GRAVITY_X,-Math.pow(Math.abs(e.position.y),GRAVITY_EXPONENT)*Math.sign(e.position.y)*GRAVITY_Y))}moveNode(e){const t=this.nodeForces[e.node.designerId];return t?e.translate(t.x,t.y):e}}class LayoutEdge{}function addNodeNeighboors(e,t,n){const o=_.sortBy(e,[e=>e.neightboors.length,e=>e.height,e=>e.designerId]);for(const e of o)n.has(e.designerId)||(n.add(e.designerId),t.push(e),addNodeNeighboors(e.neightboors,t,n));return t}class GraphLayout{constructor(e){this.graph=e,this.nodes={},this.edges=[]}static createCircle(e,t={x:0,y:0}){const n=new GraphLayout(e);if(_.isEmpty(e.nodes))return n;const o=new Set,r=[],i=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=i&&!e.fixedPosition)),r,o);const a=_.max(r.map((e=>e.radius))),s=r.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/r.length;for(const e of r)n.nodes[e.designerId]=new LayoutNode(e,t.x+Math.sin(c)*s,t.y+Math.cos(c)*s),c+=l;for(const t of _.values(e.nodes).filter((e=>e.fixedPosition)))n.nodes[t.designerId]=new LayoutNode(t,t.fixedPosition.x,t.fixedPosition.y);return i&&(n.nodes[i.designerId]=new LayoutNode(i,t.x,t.y)),n.fillEdges(),n}static createTree(e,t){const n=new GraphLayout(e),o=e.nodes[t];if(!o)return n;const r=new LayoutNode(o,o.width/2+NODE_MARGIN,o.height/2+NODE_MARGIN);n.nodes[t]=r,n.createTreeLevel([o],r.right+NODE_SPACE_TREE);let i=_.max(_.values(n.nodes).map((e=>e.right)));const a=_.values(e.nodes).filter((e=>!n.nodes[e.designerId]));for(const e of a){i+=NODE_SPACE_TREE;const t=new LayoutNode(e,i+e.width/2,NODE_MARGIN+e.height/2);n.nodes[e.designerId]=t,i+=e.width}return n}createTreeLevel(e,t){let n=NODE_MARGIN,o=0;const r=[];for(const i of e)for(const e of i.neightboors){if(e.designerId in this.nodes)continue;r.push(e);const i=new LayoutNode(e,t+e.width/2,n+e.height/2);this.nodes[e.designerId]=i,n+=e.height+NODE_MARGIN,i.right>o&&(o=i.right)}r.length>0&&this.createTreeLevel(r,o+NODE_SPACE_TREE)}fillEdges(){this.edges=this.graph.edges.map((e=>{const t=new LayoutEdge;t.edge=e;const n=this.nodes[e.source.designerId],o=this.nodes[e.target.designerId];return t.length=n.distanceTo(o),t.source=n,t.target=o,t}))}changePositions(e,t=!0){const n=new GraphLayout(this.graph);return n.nodes=_.mapValues(this.nodes,e),t&&n.fillEdges(),n}fixViewBox(){const e=_.min(_.values(this.nodes).map((e=>e.left))),t=_.min(_.values(this.nodes).map((e=>e.top)));return this.changePositions((n=>n.translate(50-e,50-t,!0)))}springyStep(){const e=new ForceAlgorithmStep(this);return e.applyHooksLaw(),e.applyCoulombsLaw(),e.applyGravity(),this.changePositions((t=>e.moveNode(t)))}springyAlg(){let e=this;for(let t=0;t<SPRINGY_STEPS;t++)e=e.springyStep();return e}solveOverlaps(){const e=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),t=new GraphLayout(this.graph);for(const n of e){const e=_.values(t.nodes);if(e.find((e=>e.hasPaddedIntersect(n)))){const o=union(...e.filter((e=>intersection(e.rangeYPadded,n.rangeYPadded))).map((e=>e.rangeXPadded))),r=union(...e.filter((e=>intersection(e.rangeXPadded,n.rangeXPadded))).map((e=>e.rangeYPadded))),i=solveOverlapsInIntervalArray(n.x,n.node.width+2*NODE_MARGIN,o),a=solveOverlapsInIntervalArray(n.y,n.node.height+2*NODE_MARGIN,r),s=Math.abs(i-n.x)<Math.abs(a-n.y)?new LayoutNode(n.node,i,n.y):new LayoutNode(n.node,n.x,a);t.nodes[n.node.designerId]=s}else t.nodes[n.node.designerId]=n}return t.fillEdges(),t}print(){for(const e of _.values(this.nodes))console.log({designerId:e.node.designerId,left:e.left,top:e.top,right:e.right,bottom:e.bottom})}}function create_default_slot$R(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[3]}}),r.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot$6(e){let t;return{c(){t=text$1(e[0])},m(e,n){insert(e,t,n)},p(e,n){1&n&&set_data(t,e[0])},d(e){e&&detach(t)}}}function create_fragment$24(e){let t,n;const o=[e[4]];let r={$$slots:{header:[create_header_slot$6],default:[create_default_slot$R]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$21(e,t,n){let o;const r=["color","header","text","onChange"];let i=compute_rest_props(t,r),{color:a}=t,{header:s}=t,{text:c}=t,{onChange:l}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,r)),"color"in e&&n(5,a=e.color),"header"in e&&n(0,s=e.header),"text"in e&&n(1,c=e.text),"onChange"in e&&n(2,l=e.onChange)},e.$$.update=()=>{32&e.$$.dirty&&n(3,o=a)},[s,c,l,o,i,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$21,create_fragment$24,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function create_if_block$12(e){let t,n,o,r,i;function a(e,t){return e[3]?create_if_block_1$C:create_else_block$r}let s=a(e),c=s(e);return{c(){t=element("div"),c.c(),attr(t,"class","wrapper svelte-uqb2wg"),attr(t,"draggable",n=!!e[3]),attr(t,"title",o=e[3]?"Drag this column to other column for creating JOIN":"Drag column here for creating JOIN")},m(n,o){insert(n,t,o),c.m(t,null),r||(i=[listen(t,"dragstart",e[5]),listen(t,"dragend",e[6]),listen(t,"dragover",e[7]),listen(t,"drop",e[8])],r=!0)},p(e,r){s===(s=a(e))&&c?c.p(e,r):(c.d(1),c=s(e),c&&(c.c(),c.m(t,null))),8&r&&n!==(n=!!e[3])&&attr(t,"draggable",n),8&r&&o!==(o=e[3]?"Drag this column to other column for creating JOIN":"Drag column here for creating JOIN")&&attr(t,"title",o)},d(e){e&&detach(t),c.d(),r=!1,run_all(i)}}}function create_else_block$r(e){let t;return{c(){t=text$1("Drag & drop column here")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_if_block_1$C(e){let t,n=e[3].columnName+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){8&o&&n!==(n=e[3].columnName+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_fragment$23(e){let t,n=e[2]?.allowCreateRefByDrag&&create_if_block$12(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[2]?.allowCreateRefByDrag?n?n.p(e,o):(n=create_if_block$12(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}function instance$20(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(a,(e=>n(4,o=e))),a);e.$$.on_destroy.push((()=>r()));let{sourceDragColumn$:a}=t;i();let s,{targetDragColumn$:c}=t,{settings:l}=t;return e.$$set=e=>{"sourceDragColumn$"in e&&i(n(0,a=e.sourceDragColumn$)),"targetDragColumn$"in e&&n(1,c=e.targetDragColumn$),"settings"in e&&n(2,l=e.settings)},[a,c,l,s,o,e=>{if(!l?.allowCreateRefByDrag)return;if(!s)return;const t={...s};a.set(t),e.dataTransfer.setData("designer_column_drag_data",JSON.stringify(t))},e=>{a.set(null),c.set(null)},e=>{o&&e.preventDefault()},e=>{var t=e.dataTransfer.getData("designer_column_drag_data");e.preventDefault(),t&&(n(3,s=o),a.set(null),c.set(null))}]}class DragColumnMemory extends SvelteComponent{constructor(e){super(),init(this,e,instance$20,create_fragment$23,safe_not_equal,{sourceDragColumn$:0,targetDragColumn$:1,settings:2})}}function get_each_context$o(e,t,n){const o=e.slice();return o[73]=t[n],o[74]=t,o[75]=n,o}function get_each_context_1$3(e,t,n){const o=e.slice();return o[76]=t[n],o[77]=t,o[78]=n,o}function create_if_block_2$k(e){let t;return{c(){t=element("div"),t.textContent="Drag & drop tables or views from left panel here",attr(t,"class","empty svelte-1tqsb1")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_each_block_1$3(e,t){let n,o,r,i,a=t[76];const s=()=>t[56](o,a),c=()=>t[56](null,a);var l=t[4];function u(e){return{props:{domTables:e[7],reference:e[76],onChangeReference:e[27],onRemoveReference:e[28],designer:e[0],settings:e[3]}}}return l&&(o=construct_svelte_component(l,u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),r=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,r,t),i=!0},p(e,n){a!==(t=e)[76]&&(c(),a=t[76],s());const i={};if(128&n[0]&&(i.domTables=t[7]),262144&n[0]&&(i.reference=t[76]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),16&n[0]&&l!==(l=t[4])){if(o){group_outros();const e=o;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}l?(o=construct_svelte_component(l,u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,r.parentNode,r)):o=null}else l&&o.$set(i)},i(e){i||(o&&transition_in(o.$$.fragment,e),i=!0)},o(e){o&&transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(n),c(),e&&detach(r),o&&destroy_component(o,e)}}}function create_each_block$o(e,t){let n,o,r,i=t[73];const a=()=>t[57](o,i),s=()=>t[57](null,i);let c={onCreateReference:t[29],onSelectColumn:t[33],onChangeColumn:t[34],onAddReferenceByColumn:t[30],onAddAllReferences:t[31],onChangeTableColor:t[32],onMoveReferences:t[42],columnFilter:t[5],table:t[73],conid:t[1],database:t[2],zoomKoef:t[15],isMultipleTableSelection:t[16],onChangeTable:t[23],onBringToFront:t[24],onSelectTable:t[25],onRemoveTable:t[26],onMoveStart:t[36],onMove:t[37],onMoveEnd:t[38],domCanvas:t[9],designer:t[0],sourceDragColumn$:t[19],targetDragColumn$:t[20],settings:t[3]};return o=new DesignerTable({props:c}),a(),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){i!==(t=e)[73]&&(s(),i=t[73],a());const r={};32&n[0]&&(r.columnFilter=t[5]),256&n[0]&&(r.table=t[73]),2&n[0]&&(r.conid=t[1]),4&n[0]&&(r.database=t[2]),32768&n[0]&&(r.zoomKoef=t[15]),65536&n[0]&&(r.isMultipleTableSelection=t[16]),512&n[0]&&(r.domCanvas=t[9]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),s(),destroy_component(o,e)}}}function create_if_block_1$B(e){let t,n,o;return{c(){t=svg_element("svg"),n=svg_element("polyline"),attr(n,"points",o=`\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[13].y}\n ${e[13].x},${e[13].y}\n ${e[13].x},${e[12].y}\n ${e[12].x},${e[12].y}\n `),attr(n,"class","svelte-1tqsb1"),attr(t,"class","drag-rect svelte-1tqsb1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){12288&t[0]&&o!==(o=`\n ${e[12].x},${e[12].y}\n ${e[12].x},${e[13].y}\n ${e[13].x},${e[13].y}\n ${e[13].x},${e[12].y}\n ${e[12].x},${e[12].y}\n `)&&attr(n,"points",o)},d(e){e&&detach(t)}}}function create_if_block$11(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[60](t)}n=new DragColumnMemory({props:{settings:e[3],sourceDragColumn$:e[19],targetDragColumn$:e[20]}});let p={placeholder:"Filter columns"};function m(t){e[61](t)}void 0!==e[5]&&(p.value=e[5]),i=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(i,"value",d)));let f={};return void 0!==e[5]&&(f.filter=e[5]),c=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(c,"filter",m))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","searchbox svelte-1tqsb1"),attr(t,"class","panel svelte-1tqsb1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,s),mount_component(c,r,null),u=!0},p(e,t){const o={};8&t[0]&&(o.settings=e[3]),n.$set(o);const r={};!a&&32&t[0]&&(a=!0,r.value=e[5],add_flush_callback((()=>a=!1))),i.$set(r);const s={};!l&&32&t[0]&&(l=!0,s.filter=e[5],add_flush_callback((()=>l=!1))),c.$set(s)},i(e){u||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(c)}}}function create_fragment$22(e){let t,n,o,r,i,a,s,c,l,u,d,p=[],m=new Map,f=[],h=new Map,g=!(e[8]?.length>0)&&create_if_block_2$k(),_=e[18]||[];const $=e=>e[76].designerId;for(let t=0;t<_.length;t+=1){let n=get_each_context_1$3(e,_,t),o=$(n);m.set(o,p[t]=create_each_block_1$3(o,n))}let b=e[8]||[];const v=e=>e[73].designerId;for(let t=0;t<b.length;t+=1){let n=get_each_context$o(e,b,t),o=v(n);h.set(o,f[t]=create_each_block$o(o,n))}let y=e[12]&&e[13]&&create_if_block_1$B(e),x=e[8]?.length>0&&create_if_block$11(e);return{c(){t=element("div"),g&&g.c(),n=space(),o=element("div");for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<f.length;e+=1)f[e].c();i=space(),y&&y.c(),c=space(),x&&x.c(),attr(o,"class","canvas svelte-1tqsb1"),attr(o,"style",a=`width:${e[10]}px;height:${e[11]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `),attr(t,"class","wrapper noselect svelte-1tqsb1")},m(a,m){insert(a,t,m),g&&g.m(t,null),append(t,n),append(t,o);for(let e=0;e<p.length;e+=1)p[e]&&p[e].m(o,null);append(o,r);for(let e=0;e<f.length;e+=1)f[e]&&f[e].m(o,null);append(o,i),y&&y.m(o,null),e[58](o),append(t,c),x&&x.m(t,null),l=!0,u||(d=[listen(o,"dragover",dragover_handler),listen(o,"drop",e[35]),listen(o,"mousedown",e[59]),action_destroyer(s=moveDrag.call(null,o,e[3]?.canSelectTables?[e[39],e[40],e[41]]:null)),action_destroyer(contextMenu.call(null,t,e[43]))],u=!0)},p(e,c){e[8]?.length>0?g&&(g.d(1),g=null):g||(g=create_if_block_2$k(),g.c(),g.m(t,n)),402931865&c[0]&&(_=e[18]||[],group_outros(),p=update_keyed_each(p,c,$,1,e,_,m,o,outro_and_destroy_block,create_each_block_1$3,r,get_each_context_1$3),check_outros()),1738113903&c[0]|2287&c[1]&&(b=e[8]||[],group_outros(),f=update_keyed_each(f,c,v,1,e,b,h,o,outro_and_destroy_block,create_each_block$o,i,get_each_context$o),check_outros()),e[12]&&e[13]?y?y.p(e,c):(y=create_if_block_1$B(e),y.c(),y.m(o,null)):y&&(y.d(1),y=null),(!l||3081&c[0]&&a!==(a=`width:${e[10]}px;height:${e[11]}px;\n ${e[3]?.customizeStyle&&e[0]?.style?.zoomKoef?`zoom:${e[0]?.style?.zoomKoef};`:""}\n `))&&attr(o,"style",a),s&&is_function(s.update)&&8&c[0]&&s.update.call(null,e[3]?.canSelectTables?[e[39],e[40],e[41]]:null),e[8]?.length>0?x?(x.p(e,c),256&c[0]&&transition_in(x,1)):(x=create_if_block$11(e),x.c(),transition_in(x,1),x.m(t,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){if(!l){for(let e=0;e<_.length;e+=1)transition_in(p[e]);for(let e=0;e<b.length;e+=1)transition_in(f[e]);transition_in(x),l=!0}},o(e){for(let e=0;e<p.length;e+=1)transition_out(p[e]);for(let e=0;e<f.length;e+=1)transition_out(f[e]);transition_out(x),l=!1},d(n){n&&detach(t),g&&g.d();for(let e=0;e<p.length;e+=1)p[e].d();for(let e=0;e<f.length;e+=1)f[e].d();y&&y.d(),e[58](null),x&&x.d(),u=!1,run_all(d)}}}const getCurrentEditor$e=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$e())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$e().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$e().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$e())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1$(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,currentThemeDefinition,(e=>n(62,l=e))),e.$$.on_destroy.push((()=>p()));var m,f,h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{value:g}=t,{onChange:$}=t,{conid:b}=t,{database:v}=t,{menu:y}=t,{settings:x}=t,{referenceComponent:w}=t;const C=createActivator("Designer",!0);let k,S,T=3e3,A=3e3,E=null,O=null;const I=writable(null),N=writable(null),D=(null==x?void 0:x.updateFromDbInfo)?useDatabaseInfo({conid:b,database:v}):null;component_subscribe(e,D,(e=>n(55,d=e)));const M={},R={};let L;function F(){n(7,L=_.pickBy(_.mapValues(M,(e=>null==e?void 0:e.getDomTable()))))}function P(e){const t=_.min(e.map((e=>e.left))),n=_.min(e.map((e=>e.top)));if(t<0||n<0){const o=t<0?-t:0,r=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+r})))}return e}function j(e="auto"){"auto"==e&&D&&(e=o),(null==x?void 0:x.updateFromDbInfo)&&e&&$((t=>{let n=t.tables||[];for(const o of t.tables||[]){const t=(e.tables||[]).find((e=>e.pureName==o.pureName&&e.schemaName==o.schemaName));jsonStableStringify(_.pick(t,["columns","primaryKey","foreignKeys"]))!=jsonStableStringify(_.pick(o,["columns","primaryKey","foreignKeys"]))&&(n=n.map((e=>e==o?Object.assign(Object.assign({},o),_.pick(t,["columns","primaryKey","foreignKeys"])):e)))}let o=null==t?void 0:t.references;if(null==x?void 0:x.useDatabaseReferences){o=[];for(const e of n)for(const t of e.foreignKeys){const r=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));r&&o.push({designerId:v1_1$6(),sourceId:e.designerId,targetId:r.designerId,joinType:"",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))})}}return Object.assign(Object.assign({},t),{tables:n,references:o})}),!0)}function B(e,t=void 0,n=void 0){$(e,t,n),tick().then(H)}const q=(e,t,n)=>{var o;const r=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!r)return;const i=[];for(const t of r.foreignKeys||[]){if(![...n.tables,...i].find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName))){const n=e.tables.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));n&&i.push(n)}}for(const t of r.dependencies||[]){if(![...n.tables,...i].find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName))){const n=e.tables.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));n&&i.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...i.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$6()}`,needsArrange:!0})))]})},W=(e,t)=>{const n=(t||[]).map((e=>e.alias||e.pureName));if(!n.includes(e.pureName))return null;let o=2;for(;n.includes(`${e.pureName}${o}`);)o+=1;return`${e.pureName}${o}`};function z(e){for(const t of _.values(M)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function H(){for(const e of Object.values(R))e&&e.recomputePosition()}function U(e=!1,t=!0,n={x:0,y:0}){const o=new GraphDefinition;for(const e of(null==g?void 0:g.tables)||[]){const n=L[e.designerId];if(!n)continue;const r=n.getRect();o.addNode(e.designerId,r.right-r.left,r.bottom-r.top,t||e.needsArrange?null:{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2})}for(const e of(null==x?void 0:x.sortAutoLayoutReferences)?null==x?void 0:x.sortAutoLayoutReferences(null==g?void 0:g.references):null==g?void 0:g.references)o.addEdge(e.sourceId,e.targetId);let r;switch(o.initialize(),null==x?void 0:x.arrangeAlg){case"springy":r=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();break;case"tree":r=GraphLayout.createTree(o,null==g?void 0:g.rootDesignerId)}r&&B((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=r.nodes[e.designerId];return t?Object.assign(Object.assign({},e),{needsArrange:!1,left:t.left,top:t.top}):Object.assign(Object.assign({},e),{needsArrange:!1})}))})),e,{isCalledFromArrange:!0})}const V=(e,t)=>()=>{B((n=>Object.assign(Object.assign({},n),{style:Object.assign(Object.assign({},null==n?void 0:n.style),{[e]:t})})))};return e.$$set=e=>{"value"in e&&n(0,g=e.value),"onChange"in e&&n(44,$=e.onChange),"conid"in e&&n(1,b=e.conid),"database"in e&&n(2,v=e.database),"menu"in e&&n(45,y=e.menu),"settings"in e&&n(3,x=e.settings),"referenceComponent"in e&&n(4,w=e.referenceComponent)},e.$$.update=()=>{var t;25165824&e.$$.dirty[1]&&n(53,o=d?lib$5.extendDatabaseInfoFromApps(d,u):null),1&e.$$.dirty[0]&&n(8,r=null==g?void 0:g.tables),1&e.$$.dirty[0]&&n(18,i=null==g?void 0:g.references),9&e.$$.dirty[0]|3145728&e.$$.dirty[1]&&n(15,a=(null==x?void 0:x.customizeStyle)&&(null===n(51,m=null==g?void 0:g.style)||void 0===m?void 0:m.zoomKoef)?null===n(52,f=null==g?void 0:g.style)||void 0===f?void 0:f.zoomKoef:1),256&e.$$.dirty[0]&&n(16,c=r.filter((e=>e.isSelectedTable)).length>=2),64&e.$$.dirty[0]&&F(),4194304&e.$$.dirty[1]&&o&&j(o),384&e.$$.dirty[0]&&function(e,t){h(this,void 0,void 0,(function*(){yield tick();const e=_.values(t).map((e=>e.getRect())),o=e.length>0?_.max(e.map((e=>e.right))):0,r=e.length>0?_.max(e.map((e=>e.bottom))):0;n(10,T=Math.max(3e3,o+50)),n(11,A=Math.max(3e3,r+50))}))}(0,L),1&e.$$.dirty[0]|4194304&e.$$.dirty[1]&&o&&(null==g?void 0:g.autoLayout)&&(t=o,h(void 0,void 0,void 0,(function*(){t&&(B((e=>{for(const n of(null==e?void 0:e.tables)||[])n.autoAddReferences&&(e=q(t,n,e));return Object.assign(Object.assign({},e),{autoLayout:!1,tables:((null==e?void 0:e.tables)||[]).map((e=>Object.assign(Object.assign({},e),{autoAddReferences:!1})))})})),j(),yield tick(),U())}))),32&e.$$.dirty[0]&&tick().then((()=>{H(),F()}))},n(17,s=useUsedApps()),p(),p=subscribe(s,(e=>n(54,u=e))),[g,b,v,x,w,S,M,L,r,k,T,A,E,O,R,a,c,s,i,I,N,D,B,e=>{B((t=>Object.assign(Object.assign({},t),{tables:P((t.tables||[]).map((t=>t.designerId==e.designerId?e:t)))})))},e=>{B((t=>Object.assign(Object.assign({},t),{tables:[...(t.tables||[]).filter((t=>t.designerId!=e.designerId)),e]})),!0)},(e,t)=>{B((n=>Object.assign(Object.assign({},n),{tables:(n.tables||[]).map((n=>n.designerId==e.designerId?Object.assign(Object.assign({},n),{isSelectedTable:!0}):Object.assign(Object.assign({},n),{isSelectedTable:!!t&&n.isSelectedTable})))})),!0)},e=>{c&&(null==x?void 0:x.useDatabaseReferences)&&(null==x?void 0:x.canSelectTables)?(B((e=>Object.assign(Object.assign({},e),{tables:(e.tables||[]).filter((e=>!e.isSelectedTable))}))),j()):B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).filter((t=>t.designerId!=e.designerId)),references:(t.references||[]).filter((t=>t.sourceId!=e.designerId&&t.targetId!=e.designerId)),columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId))})),void 0,{removeTables:!0})},e=>{B((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).map((t=>t.designerId==e.designerId?e:t))})))},e=>{B((t=>Object.assign(Object.assign({},t),{references:(t.references||[]).filter((t=>t.designerId!=e.designerId))})))},(e,t)=>{B((n=>{const o=(n.references||[]).find((n=>n.sourceId==e.designerId&&n.targetId==t.designerId||n.sourceId==t.designerId&&n.targetId==e.designerId));return Object.assign(Object.assign({},n),{references:o?n.references.map((n=>n==o?Object.assign(Object.assign({},o),{columns:[...o.columns,o.sourceId==e.designerId?{source:e.columnName,target:t.columnName}:{source:t.columnName,target:e.columnName}]}):n)):[...n.references||[],{designerId:v1_1$6(),sourceId:e.designerId,targetId:t.designerId,joinType:isConnectedByReference(n,e,t,null)?"CROSS JOIN":"INNER JOIN",columns:[{source:e.columnName,target:t.columnName}]}]})}))},(e,t)=>h(void 0,void 0,void 0,(function*(){const n=yield getTableInfo({conid:b,database:v,pureName:t.refTableName,schemaName:t.refSchemaName}),o=`${n.pureName}-${v1_1$6()}`;B((r=>{const i=(r.tables||[]).find((t=>t.designerId==e));if(!i)return r;const a=W(n,r.tables);return a&&!(null==x?void 0:x.allowTableAlias)?r:Object.assign(Object.assign({},r),{tables:[...r.tables||[],Object.assign(Object.assign({},n),{left:i.left+300,top:i.top+50,designerId:o,alias:a})],references:(null==x?void 0:x.allowCreateRefByDrag)?[...r.references||[],{designerId:v1_1$6(),sourceId:i.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:r.references})})),j()})),e=>h(void 0,void 0,void 0,(function*(){var t;if(!o)return;const n=o;if(!n)return;B((t=>q(n,e,t))),j(),yield tick();const r=null===(t=L[e.designerId])||void 0===t?void 0:t.getRect();U(!0,!1,r?{x:(r.left+r.right)/2,y:(r.top+r.bottom)/2}:null)})),e=>{showModal(ChooseColorModal,{onChange:e=>{B((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>t.isSelectedTable?Object.assign(Object.assign({},t),{tableColor:e}):t))})))}})},e=>{B((t=>Object.assign(Object.assign({},t),{columns:(t.columns||[]).find((t=>t.designerId==e.designerId&&t.columnName==e.columnName))?t.columns:[...cleanupDesignColumns(t.columns),_.pick(e,["designerId","columnName"])]})),!0)},(e,t)=>{B((n=>{const o=(n||{}).columns||[],r=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return r?Object.assign(Object.assign({},n),{columns:o.map((e=>e==r?t(r):e))}):Object.assign(Object.assign({},n),{columns:[...cleanupDesignColumns(o),t(_.pick(e,["designerId","columnName"]))]})}))},e=>{var t=e.dataTransfer.getData("app_object_drag_data");if(e.preventDefault(),!t)return;const n=e.target.getBoundingClientRect();var o=JSON.parse(t);const{objectTypeField:r}=o;"tables"!=r&&"views"!=r&&"collections"!=r||(o.designerId=`${o.pureName}-${v1_1$6()}`,o.left=e.clientX-n.left,o.top=e.clientY-n.top,B((e=>{const t=(null==x?void 0:x.useDatabaseReferences)?[]:_.compact([...(o.foreignKeys||[]).map((t=>{const n=((e||{}).tables||[]).filter((e=>t.refTableName==e.pureName&&t.refSchemaName==e.schemaName));return 1==n.length?Object.assign(Object.assign({},t),{sourceId:o.designerId,targetId:n[0].designerId}):null})),..._.flatten(((e||{}).tables||[]).map((e=>(e.foreignKeys||[]).map((t=>t.refTableName==o.pureName&&t.refSchemaName==o.schemaName?Object.assign(Object.assign({},t),{sourceId:e.designerId,targetId:o.designerId}):null)))))]),n=W(o,null==e?void 0:e.tables);return n&&!(null==x?void 0:x.allowTableAlias)?e:Object.assign(Object.assign({},e),{tables:[...(e||{}).tables||[],Object.assign(Object.assign({},o),{alias:n})],references:1==t.length?[...(e||{}).references||[],{designerId:`${null==e?void 0:e.pureName}-${v1_1$6()}`,sourceId:t[0].sourceId,targetId:t[0].targetId,joinType:"INNER JOIN",columns:t[0].columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:(e||{}).references})})),j())},()=>{z((e=>e.moveStart()))},(e,t)=>{z((n=>n.move(e,t))),tick().then(H)},()=>{const e={};z((t=>{e[t.getDesignerId()]=t.moveEnd()})),B((t=>Object.assign(Object.assign({},t),{tables:((null==t?void 0:t.tables)||[]).map((t=>{const n=e[t.designerId];return n?Object.assign(Object.assign({},t),{left:n.left,top:n.top}):t}))}))),tick().then(H)},(e,t)=>{n(12,E={x:e/a,y:t/a})},(e,t,o,r)=>{n(13,O={x:o/a,y:r/a})},(e,t)=>{if(E&&O){const e={left:Math.min(E.x,O.x),right:Math.max(E.x,O.x),top:Math.min(E.y,O.y),bottom:Math.max(E.y,O.y)};B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=L[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(12,E=null),n(13,O=null)},H,function(){var e,t,n,o,r,i;return[y,(null==x?void 0:x.customizeStyle)&&[{divider:!0},{text:"Column properties",submenu:[{text:"Nullability: "+((null===(e=null==g?void 0:g.style)||void 0===e?void 0:e.showNullability)?"YES":"NO"),onClick:V("showNullability",!(null===(t=null==g?void 0:g.style)||void 0===t?void 0:t.showNullability))},{text:"Data type: "+((null===(n=null==g?void 0:g.style)||void 0===n?void 0:n.showDataType)?"YES":"NO"),onClick:V("showDataType",!(null===(o=null==g?void 0:g.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(r=null==g?void 0:g.style)||void 0===r?void 0:r.filterColumns)||"all")}`,submenu:[{text:"All",onClick:V("filterColumns",null)},{text:"Primary Key",onClick:V("filterColumns","primaryKey")},{text:"All Keys",onClick:V("filterColumns","allKeys")},{text:"Not Null",onClick:V("filterColumns","notNull")},{text:"Keys And Not Null",onClick:V("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(i=null==g?void 0:g.style)||void 0===i?void 0:i.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:V("zoomKoef",.1)},{text:"15 %",onClick:V("zoomKoef",.15)},{text:"20 %",onClick:V("zoomKoef",.2)},{text:"40 %",onClick:V("zoomKoef",.4)},{text:"60 %",onClick:V("zoomKoef",.6)},{text:"80 %",onClick:V("zoomKoef",.8)},{text:"100 %",onClick:V("zoomKoef",1)},{text:"120 %",onClick:V("zoomKoef",1.2)},{text:"140 %",onClick:V("zoomKoef",1.4)},{text:"160 %",onClick:V("zoomKoef",1.6)},{text:"180 %",onClick:V("zoomKoef",1.8)},{text:"200 %",onClick:V("zoomKoef",2)}]}]]},$,y,C,function(){return!!(null==x?void 0:x.arrangeAlg)},function(){return null==x?void 0:x.canExport},U,function(){return h(this,void 0,void 0,(function*(){const e=["global.css","build/bundle.css"];let t="";for(const n of e){const e=yield fetch(n),o=yield e.text();t&&(t+="\n"),t+=o}(null==l?void 0:l.themeCss)&&(t&&(t+="\n"),t+=null==l?void 0:l.themeCss),saveFileToDisk((e=>h(this,void 0,void 0,(function*(){yield apiCall("files/export-diagram",{filePath:e,html:k.outerHTML,css:t,themeType:null==l?void 0:l.themeType,themeClassName:null==l?void 0:l.themeClassName})}))))}))},m,f,o,u,d,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{R[t.designerId]=e,n(14,R)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{M[t.designerId]=e,n(6,M)}))},function(e){binding_callbacks[e?"unshift":"push"]((()=>{k=e,n(9,k)}))},e=>{0==e.button&&x?.canSelectTables&&B((e=>({...e,tables:(e.tables||[]).map((e=>({...e,isSelectedTable:!1})))})),!0)},function(e){S=e,n(5,S)},function(e){S=e,n(5,S)}]}class Designer extends SvelteComponent{constructor(e){super(),init(this,e,instance$1$,create_fragment$22,safe_not_equal,{value:0,onChange:44,conid:1,database:2,menu:45,settings:3,referenceComponent:4,activator:46,canArrange:47,canExport:48,arrange:49,exportDiagram:50},null,[-1,-1,-1])}get activator(){return this.$$.ctx[46]}get canArrange(){return this.$$.ctx[47]}get canExport(){return this.$$.ctx[48]}get arrange(){return this.$$.ctx[49]}get exportDiagram(){return this.$$.ctx[50]}}function get_each_context$n(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$10(e){let t,n,o,r,i,a,s,c,l,u,d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"",p=e[5],m=[];for(let t=0;t<p.length;t+=1)m[t]=create_each_block$n(get_each_context$n(e,p,t));return{c(){t=svg_element("svg"),n=svg_element("polyline");for(let e=0;e<m.length;e+=1)m[e].c();r=space(),i=element("div"),a=element("div"),s=text$1(d),attr(n,"points",o=`\n ${e[2].x},${e[2].y}\n ${e[2].x+e[7]*e[4].dirsrc},${e[2].y}\n ${e[3].x+e[7]*e[4].dirdst},${e[3].y}\n ${e[3].x},${e[3].y}\n `),attr(n,"class","svelte-1k22hy3"),attr(t,"class","svelte-1k22hy3"),attr(a,"class","text svelte-1k22hy3"),attr(i,"class","wrapper svelte-1k22hy3"),attr(i,"style",c=`left: ${(e[2].x+e[7]*e[4].dirsrc+e[3].x+e[7]*e[4].dirdst)/2-16}px;\n top: ${(e[2].y+e[3].y)/2-16}px`)},m(o,c){insert(o,t,c),append(t,n);for(let e=0;e<m.length;e+=1)m[e]&&m[e].m(t,null);insert(o,r,c),insert(o,i,c),append(i,a),append(a,s),l||(u=action_destroyer(contextMenu.call(null,i,e[8])),l=!0)},p(e,r){if(156&r&&o!==(o=`\n ${e[2].x},${e[2].y}\n ${e[2].x+e[7]*e[4].dirsrc},${e[2].y}\n ${e[3].x+e[7]*e[4].dirdst},${e[3].y}\n ${e[3].x},${e[3].y}\n `)&&attr(n,"points",o),124&r){let n;for(p=e[5],n=0;n<p.length;n+=1){const o=get_each_context$n(e,p,n);m[n]?m[n].p(o,r):(m[n]=create_each_block$n(o),m[n].c(),m[n].m(t,null))}for(;n<m.length;n+=1)m[n].d(1);m.length=p.length}3&r&&d!==(d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"")&&set_data(s,d),156&r&&c!==(c=`left: ${(e[2].x+e[7]*e[4].dirsrc+e[3].x+e[7]*e[4].dirdst)/2-16}px;\n top: ${(e[2].y+e[3].y)/2-16}px`)&&attr(i,"style",c)},d(e){e&&detach(t),destroy_each(m,e),e&&detach(r),e&&detach(i),l=!1,u()}}}function create_each_block$n(e){let t,n,o,r;return{c(){t=svg_element("polyline"),o=svg_element("polyline"),attr(t,"points",n=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[16][0]}\n ${e[2].x-e[6]*e[4].dirsrc},${e[16][0]}\n`),attr(t,"class","svelte-1k22hy3"),attr(o,"points",r=`\n ${e[3].x},${e[3].y}\n ${e[3].x},${e[16][1]}\n ${e[3].x-e[6]*e[4].dirdst},${e[16][1]}\n`),attr(o,"class","svelte-1k22hy3")},m(e,n){insert(e,t,n),insert(e,o,n)},p(e,i){116&i&&n!==(n=`\n ${e[2].x},${e[2].y}\n ${e[2].x},${e[16][0]}\n ${e[2].x-e[6]*e[4].dirsrc},${e[16][0]}\n`)&&attr(t,"points",n),120&i&&r!==(r=`\n ${e[3].x},${e[3].y}\n ${e[3].x},${e[16][1]}\n ${e[3].x-e[6]*e[4].dirdst},${e[16][1]}\n`)&&attr(o,"points",r)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$21(e){let t,n=e[2]&&e[3]&&e[4]&&create_if_block$10(e);return{c(){n&&n.c(),t=empty()},m(e,o){n&&n.m(e,o),insert(e,t,o)},p(e,[o]){e[2]&&e[3]&&e[4]?n?n.p(e,o):(n=create_if_block$10(e),n.c(),n.m(t.parentNode,t)):n&&(n.d(1),n=null)},i:noop$3,o:noop$3,d(e){n&&n.d(e),e&&detach(t)}}}const BUSWI=10,EXTWI=25;function instance$1_(e,t,n){let o,r;var i,a;let s,{reference:c}=t,{onRemoveReference:l}=t,{onChangeReference:u}=t,{designer:d}=t,{domTables:p}=t,{settings:m}=t,f=null,h=null,g=[];function $(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=c,l=p[t],u=p[r];if(!l||!u)return null;const d=l.getRect(),m=u.getRect();if(!d||!m)return null;const $=[];$.push({xsrc:d.left-o,dirsrc:-1,xdst:m.left-o,dirdst:-1}),$.push({xsrc:d.left-o,dirsrc:-1,xdst:m.right+o,dirdst:1}),$.push({xsrc:d.right+o,dirsrc:1,xdst:m.left-o,dirdst:-1}),$.push({xsrc:d.right+o,dirsrc:1,xdst:m.right+o,dirdst:1}),n(4,s=_.minBy($,(e=>Math.abs(e.xsrc-e.xdst))));let b=_.mean(i.map((e=>l.getColumnY(e.source)))),v=_.mean(i.map((e=>u.getColumnY(e.target))));0==i.length&&(b=l.getColumnY(""),v=u.getColumnY("")),n(2,f={x:s.xsrc,y:b}),n(3,h={x:s.xdst,y:v}),n(5,g=i.map(((e,t)=>[l.getColumnY(e.source),u.getColumnY(e.target)])))}return e.$$set=e=>{"reference"in e&&n(0,c=e.reference),"onRemoveReference"in e&&n(9,l=e.onRemoveReference),"onChangeReference"in e&&n(10,u=e.onChangeReference),"designer"in e&&n(11,d=e.designer),"domTables"in e&&n(12,p=e.domTables),"settings"in e&&n(1,m=e.settings)},e.$$.update=()=>{16386&e.$$.dirty&&n(6,o=(null===n(14,i=null==m?void 0:m.referencePaintSettings)||void 0===i?void 0:i.buswi)||BUSWI),32770&e.$$.dirty&&n(7,r=(null===n(15,a=null==m?void 0:m.referencePaintSettings)||void 0===a?void 0:a.extwi)||EXTWI),4096&e.$$.dirty&&$()},[c,m,f,h,s,g,o,r,function(){if(null==m?void 0:m.referenceMenu)return null==m?void 0:m.referenceMenu({designer:d,reference:c,onChangeReference:u,onRemoveReference:l})},l,u,d,p,$,i,a]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1_,create_fragment$21,safe_not_equal,{reference:0,onRemoveReference:9,onChangeReference:10,designer:11,domTables:12,settings:1,recomputePosition:13})}get recomputePosition(){return this.$$.ctx[13]}}function create_fragment$20(e){let t,n;const o=[e[0],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,allowScrollColumns:!0,canSelectColumns:!0,referenceMenu:e[1],createReferenceText:e[2]}},{referenceComponent:QueryDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),0,0]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1Z(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t),({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>{const r=isConnectedByReference(e,{designerId:t?.sourceId},{designerId:t?.targetId},t),i=e=>{n({...t,joinType:e})};return[{text:"Remove",onClick:()=>o(t)},!r&&[{divider:!0},{onClick:()=>i("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>i("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>i("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>i("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>i("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>i("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>i("WHERE NOT EXISTS"),text:"Set WHERE NOT EXISTS"}]]},e=>_.snakeCase(e?.joinType||"CROSS JOIN").replace("_"," ").replace("_"," ")]}class QueryDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Z,create_fragment$20,safe_not_equal,{})}}function create_else_block$q(e){let t,n=e[25].columnName+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){33554432&o&&n!==(n=e[25].columnName+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_4$b(e){let t,n;return t=new TextField({props:{style:"min-width:calc(100% - 9px)",value:e[25].customExpression}}),t.$on("input",(function(...t){return e[23](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].customExpression),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__8_slot(e){let t,n,o,r;const i=[create_if_block_4$b,create_else_block$q],a=[];function s(e,t){return e[25].isCustomExpression?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create__0_slot$2(e){let t,n;return t=new CheckboxField({props:{checked:e[25].isOutput}}),t.$on("change",(function(...t){return e[22](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.checked=e[25].isOutput),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$d(e){let t,n;return t=new TextField({props:{style:"min-width:calc(100% - 9px)",value:e[25].alias}}),t.$on("input",(function(...t){return e[21](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].alias),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$c(e){let t,n;return t=new CheckboxField({props:{checked:e[25].isGrouped}}),t.$on("change",(function(...t){return e[20](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.checked=e[25].isGrouped),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$d(e){let t,n;return t=new SelectField({props:{isNative:!0,style:"min-width:calc(100% - 9px)",value:e[25].aggregate,options:["---","MIN","MAX","COUNT","COUNT DISTINCT","SUM","AVG"].map(func_1$b)}}),t.$on("change",(function(...t){return e[19](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].aggregate),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$3(e){let t,n,o=!e[25].isGrouped&&create_if_block_3$d(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[25].isGrouped?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),33554432&n&&transition_in(o,1)):(o=create_if_block_3$d(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create__4_slot$2(e){let t,n;return t=new SelectField({props:{isNative:!0,style:"min-width:calc(100% - 9px)",value:e[25].sortOrder?.toString(),options:[{label:"---",value:"0"},{label:"1st, ascending",value:"1"},{label:"1st, descending",value:"-1"},{label:"2nd, ascending",value:"2"},{label:"2nd, descending",value:"-2"},{label:"3rd, ascending",value:"3"},{label:"3rd, descending",value:"-3"},{label:"4th, ascending",value:"4"},{label:"4th, descending",value:"-4"},{label:"5th, ascending",value:"5"},{label:"5th, descending",value:"-5"},{label:"6th, ascending",value:"6"},{label:"6th, descending",value:"-6"},{label:"7th, ascending",value:"7"},{label:"7th, descending",value:"-7"},{label:"8th, ascending",value:"8"},{label:"8th, descending",value:"-8"},{label:"9th, ascending",value:"9"},{label:"9th, descending",value:"-9"},{label:"10th, ascending",value:"10"},{label:"10th, descending",value:"-10"}]}}),t.$on("change",(function(...t){return e[18](e[25],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};33554432&o&&(r.value=e[25].sortOrder?.toString()),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__5_slot$1(e){let t,n;function o(...t){return e[17](e[25],e[26],...t)}return t=new DataFilterControl({props:{filterBehaviour:findDesignerFilterBehaviour(e[25],e[0]),filter:e[25][e[26]],setFilter:o}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};33554433&r&&(i.filterBehaviour=findDesignerFilterBehaviour(e[25],e[0])),100663296&r&&(i.filter=e[25][e[26]]),100663296&r&&(i.setFilter=o),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$p(e){let t,n;return t=new FontIcon({props:{icon:"icon delete"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$w(e){let t,n;return t=new FontIcon({props:{icon:"icon arrow-up"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$Q(e){let t,n;return t=new FontIcon({props:{icon:"icon arrow-down"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__7_slot(e){let t,n,o,r,i,a,s;return n=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_2$p]},$$scope:{ctx:e}}}),n.$on("click",(function(){return e[14](e[25])})),r=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_1$w]},$$scope:{ctx:e}}}),r.$on("click",(function(){return e[15](e[25])})),a=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot$Q]},$$scope:{ctx:e}}}),a.$on("click",(function(){return e[16](e[25])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),attr(t,"class","flex")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),mount_component(r,t,null),append(t,i),mount_component(a,t,null),s=!0},p(t,o){e=t;const i={};134217728&o&&(i.$$scope={dirty:o,ctx:e}),n.$set(i);const s={};134217728&o&&(s.$$scope={dirty:o,ctx:e}),r.$set(s);const c={};134217728&o&&(c.$$scope={dirty:o,ctx:e}),a.$set(c)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(a)}}}function create_if_block_2$j(e){let t,n;return t=new FormStyledButton({props:{value:"Remove OR condition",style:"width:200px"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$A(e){let t,n;return t=new FormStyledButton({props:{value:"Add group OR condition",style:"width:200px"}}),t.$on("click",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$$(e){let t,n;return t=new FormStyledButton({props:{value:"Remove group OR condition",style:"width:200px"}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1$(e){let t,n,o,r,i,a,s,c,l,u;n=new TableControl({props:{rows:e[1]||[],columns:[{fieldName:"columnName",slot:8,header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[24]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5,props:{filterField:"filter"}},..._.range(e[3]?.additionalFilterCount||0).map(func_3$6),e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:5,props:{filterField:"groupFilter"}},..._.range(e[2]&&e[3]?.additionalGroupFilterCount||0).map(func_4$1),{fieldName:"actions",header:"",slot:7}],$$slots:{7:[create__7_slot,({row:e})=>({25:e}),({row:e})=>e?33554432:0],5:[create__5_slot$1,({row:e,filterField:t})=>({25:e,26:t}),({row:e,filterField:t})=>(e?33554432:0)|(t?67108864:0)],4:[create__4_slot$2,({row:e})=>({25:e}),({row:e})=>e?33554432:0],3:[create__3_slot$3,({row:e})=>({25:e}),({row:e})=>e?33554432:0],2:[create__2_slot$c,({row:e})=>({25:e}),({row:e})=>e?33554432:0],1:[create__1_slot$d,({row:e})=>({25:e}),({row:e})=>e?33554432:0],0:[create__0_slot$2,({row:e})=>({25:e}),({row:e})=>e?33554432:0],8:[create__8_slot,({row:e})=>({25:e}),({row:e})=>e?33554432:0]},$$scope:{ctx:e}}}),r=new FormStyledButton({props:{value:"Add custom expression",style:"width:200px"}}),r.$on("click",e[8]),a=new FormStyledButton({props:{value:"Add OR condition",style:"width:200px"}}),a.$on("click",e[9]);let d=e[3]?.additionalFilterCount>0&&create_if_block_2$j(e),p=e[2]&&create_if_block_1$A(e),m=e[2]&&e[3]?.additionalGroupFilterCount>0&&create_if_block$$(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),s=space(),d&&d.c(),c=space(),p&&p.c(),l=space(),m&&m.c(),attr(t,"class","wrapper svelte-ch62af")},m(e,f){insert(e,t,f),mount_component(n,t,null),append(t,o),mount_component(r,t,null),append(t,i),mount_component(a,t,null),append(t,s),d&&d.m(t,null),append(t,c),p&&p.m(t,null),append(t,l),m&&m.m(t,null),u=!0},p(e,[o]){const r={};2&o&&(r.rows=e[1]||[]),28&o&&(r.columns=[{fieldName:"columnName",slot:8,header:"Column/Expression"},{fieldName:"tableDisplayName",header:"Table",formatter:e[24]},{fieldName:"isOutput",header:"Output",slot:0},{fieldName:"alias",header:"Alias",slot:1},{fieldName:"isGrouped",header:"Group by",slot:2},{fieldName:"aggregate",header:"Aggregate",slot:3},{fieldName:"sortOrder",header:"Sort order",slot:4},{fieldName:"filter",header:"Filter",slot:5,props:{filterField:"filter"}},..._.range(e[3]?.additionalFilterCount||0).map(func_3$6),e[2]&&{fieldName:"groupFilter",header:"Group filter",slot:5,props:{filterField:"groupFilter"}},..._.range(e[2]&&e[3]?.additionalGroupFilterCount||0).map(func_4$1),{fieldName:"actions",header:"",slot:7}]),234881025&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r),e[3]?.additionalFilterCount>0?d?(d.p(e,o),8&o&&transition_in(d,1)):(d=create_if_block_2$j(e),d.c(),transition_in(d,1),d.m(t,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),e[2]?p?(p.p(e,o),4&o&&transition_in(p,1)):(p=create_if_block_1$A(e),p.c(),transition_in(p,1),p.m(t,l)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),e[2]&&e[3]?.additionalGroupFilterCount>0?m?(m.p(e,o),12&o&&transition_in(m,1)):(m=create_if_block$$(e),m.c(),transition_in(m,1),m.m(t,null)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){u||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(d),transition_in(p),transition_in(m),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(d),transition_out(p),transition_out(m),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(a),d&&d.d(),p&&p.d(),m&&m.d()}}}function getTableDisplayName(e,t){const n=(t||[]).find((t=>t.designerId==e.designerId));return n?n.alias||n.pureName:""}const func_1$b=e=>({label:e,value:e}),func_3$6=e=>({fieldName:`additionalFilter${e+1}`,header:`OR Filter ${e+2}`,slot:5,props:{filterField:`additionalFilter${e+1}`}}),func_4$1=e=>({fieldName:`additionalGroupFilter${e+1}`,header:`OR group filter ${e+2}`,slot:5,props:{filterField:`additionalGroupFilter${e+1}`}});function instance$1Y(e,t,n){let o,r,i,a,{value:s}=t,{onChange:c}=t;const l=e=>{c((t=>({...t,columns:(t.columns||[]).map((t=>t.designerId==e.designerId&&t.columnName==e.columnName?e:t))})))},u=e=>{c((t=>({...t,columns:(t.columns||[]).filter((t=>t.designerId!=e.designerId||t.columnName!=e.columnName))})))},d=(e,t)=>{c((n=>{const o=_.findIndex(n.columns||[],(t=>e.designerId==t.designerId&&e.columnName==t.columnName));if(o>=0&&o+t>=0&&o+t<n.columns?.length){let e=[...n.columns];const r=e[o+t];return e[o+t]=e[o],e[o]=r,{...n,columns:e}}return n}))};return e.$$set=e=>{"value"in e&&n(0,s=e.value),"onChange"in e&&n(13,c=e.onChange)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=s?.columns),1&e.$$.dirty&&n(4,r=s?.tables),1&e.$$.dirty&&n(3,i=s?.settings),2&e.$$.dirty&&n(2,a=!!(o||[]).find((e=>e.isGrouped)))},[s,o,a,i,r,l,u,d,()=>{c((e=>({...e,columns:[...e.columns||[],{isCustomExpression:!0,isOutput:!0,designerId:v1_1$6()}]})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalFilterCount:(e?.settings?.additionalFilterCount??0)+1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalFilterCount:(e?.settings?.additionalFilterCount??1)-1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalGroupFilterCount:(e?.settings?.additionalGroupFilterCount??0)+1}})))},()=>{c((e=>({...e,settings:{...e?.settings,additionalGroupFilterCount:(e?.settings?.additionalGroupFilterCount??1)-1}})))},c,e=>u(e),e=>d(e,-1),e=>d(e,1),(e,t,n)=>{l({...e,[t]:n})},(e,t)=>{l({...e,sortOrder:parseInt(t.detail)})},(e,t)=>{l({...e,aggregate:t.detail})},(e,t)=>{t.target.checked?l({...e,isGrouped:!0}):l({...e,isGrouped:!1})},(e,t)=>{l({...e,alias:t.target.value})},(e,t)=>{t.target.checked?l({...e,isOutput:!0}):l({...e,isOutput:!1})},(e,t)=>{l({...e,customExpression:t.target.value})},e=>getTableDisplayName(e,r)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Y,create_fragment$1$,safe_not_equal,{value:0,onChange:13})}}function create__1_slot$c(e){let t,n;return t=new QueryDesigner({props:{value:e[3].value||{},conid:e[0],database:e[1],engine:e[4]&&e[4].engine,onChange:e[10],menu:e[13]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.value=e[3].value||{}),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.engine=e[4]&&e[4].engine),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`session-info-${e[2]}`:null,executeNumber:e[5],showProcedure:!0,showLine:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`session-info-${e[2]}`:null),32&n[0]&&(o.executeNumber=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$b(e){let t,n;return t=new ResultTabs({props:{tabs:[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}],sessionId:e[2],executeNumber:e[5],$$slots:{0:[create__0_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};216&n[0]&&(o.tabs=[{label:"Columns",component:QueryDesignColumns,props:{value:e[3].value||{},onChange:e[10]}},{label:"SQL",component:SqlEditor,props:{engine:e[4]&&e[4].engine,readOnly:!0,value:e[7]}},e[6]&&{label:"Messages",slot:0}]),4&n[0]&&(o.sessionId=e[2]),32&n[0]&&(o.executeNumber=e[5]),36&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$P(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$b],1:[create__1_slot$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$a(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),i=new ToolStripCommandButton({props:{command:"designer.openSql"}}),s=new ToolStripSaveButton({props:{idPrefix:"designer"}}),l=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[14],label:"Export result"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1_(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$a],default:[create_default_slot$P]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};255&n[0]|8192&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$d=()=>getActiveComponent("QueryDesignTab");function instance$1X(e,t,n){let o,r,i,a,s,c,l,u,d=noop$3,p=noop$3;component_subscribe(e,extensions,(e=>n(32,l=e))),e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:f}=t,{conid:h}=t,{database:g}=t,{initialArgs:$}=t;const b=useTimerLabel();let v=!1,y=0,x=!1,w=null,C="";const k=createActivator("QueryDesignTab",!0);let S;onMount((()=>{S=setInterval((()=>{w&&apiCall("sessions/ping",{sesid:w})}),15e3)})),onDestroy((()=>{clearInterval(S)}));const T=()=>{n(29,v=!1),b.stop()},A=()=>{n(2,w=null),T()},E=(e,t)=>M({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:O,editorValue:I,setEditorData:N}=useEditorData({tabid:f,onInitialData:e=>{M({type:"reset",value:e})}});component_subscribe(e,O,(e=>n(34,a=e)));const[D,M]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,D,(e=>n(3,s=e)));const R=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,f=e.tabid),"conid"in e&&n(0,h=e.conid),"database"in e&&n(1,g=e.database),"initialArgs"in e&&n(16,$=e.initialArgs)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:h})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,r=lib$5.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,i=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,T),apiOn(`session-closed-${e}`,A),()=>{apiOff(`session-done-${e}`,T),apiOff(`session-closed-${e}`,A)}):()=>{};var e}))),d(),d=subscribe(i,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(f,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&N(s.value),1073741832&e.$$.dirty[0]&&((e,t)=>{if(!t||!e)return;const o=generateDesignedQuery(e,t);n(7,C=sqlFormatter.format(o))})(s.value,r)},[h,g,w,s,u,y,x,C,i,o,E,O,D,function(){var e,t;return[{command:"designer.execute"},{command:"designer.kill"},{command:"designer.openSql"},{divider:!0},{command:"designer.save"},{command:"designer.saveAs"},{divider:!0},{command:"designer.undo"},{command:"designer.redo"},{divider:!0},{text:"Remove duplicates: "+((null===(t=null===(e=a.value)||void 0===e?void 0:e.settings)||void 0===t?void 0:t.isDistinct)?"YES":"NO"),onClick:()=>{var e,t,n;E(Object.assign(Object.assign({},a.value),{settings:Object.assign(Object.assign({},null===(e=a.value)||void 0===e?void 0:e.settings),{isDistinct:!(null===(n=null===(t=a.value)||void 0===t?void 0:t.settings)||void 0===n?void 0:n.isDistinct)})}),!1)}}]},R,f,$,k,function(){return!!w},function(){return v},function(){return f},function(){return m(this,void 0,void 0,(function*(){if(v)return;n(5,y++,y),n(6,x=!0);let e=w;if(!e){e=(yield apiCall("sessions/create",{conid:h,database:g})).sesid,n(2,w=e)}n(29,v=!0),b.start(),yield apiCall("sessions/execute-query",{sesid:e,sql:C})}))},function(){return m(this,void 0,void 0,(function*(){yield apiCall("sessions/kill",{sesid:w}),n(2,w=null),n(29,v=!1),b.stop()}))},function(){return a.value||""},function(){return s.canUndo},function(){M({type:"undo"})},function(){return s.canRedo},function(){M({type:"redo"})},function(){newQuery({initialData:C})},v,r,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$d(),onClick:()=>getCurrentEditor$d().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$d,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1X,create_fragment$1_,safe_not_equal,{tabid:15,conid:0,database:1,initialArgs:16,activator:17,canKill:18,isBusy:19,getTabId:20,execute:21,kill:22,getData:23,canUndo:24,undo:25,canRedo:26,redo:27,openSql:28},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get canKill(){return this.$$.ctx[18]}get isBusy(){return this.$$.ctx[19]}get getTabId(){return this.$$.ctx[20]}get execute(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}get getData(){return this.$$.ctx[23]}get canUndo(){return this.$$.ctx[24]}get undo(){return this.$$.ctx[25]}get canRedo(){return this.$$.ctx[26]}get redo(){return this.$$.ctx[27]}get openSql(){return this.$$.ctx[28]}}var QueryDesignTab$1=Object.freeze({__proto__:null,default:QueryDesignTab});function create_default_slot$O(e){let t,n,o,r,i,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),r=new TextField({props:c}),binding_callbacks.push((()=>bind$2(r,"value",s))),r.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),mount_component(r,o,null),a=!0},p(e,t){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),r.$set(n)},i(e){a||(transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_fragment$1Z(e){let t,n;const o=[e[2],{simple:!0}];let r={$$slots:{default:[create_default_slot$O]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1W(e,t,n){const o=["onChange"];let r,i=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,i=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[r,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&r)return a(r),void closeCurrentModal();let t="";e.ctrlKey&&(t+="Ctrl+"),e.shiftKey&&(t+="Shift+"),e.metaKey&&(t+="Command+"),e.altKey&&(t+="Alt+"),"Control"!=e.key&&"Alt"!=e.key&&"Shift"!=e.key&&"Meta"!=e.key&&(t+=_.upperFirst(e.key)),n(0,r=t)},i,a,function(e){r=e,n(0,r)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1W,create_fragment$1Z,safe_not_equal,{onChange:3})}}function create_default_slot_1$v(e){let t,n,o,r,i,a,s,c,l;return t=new FormTextField({props:{label:"Category",name:"category",disabled:!0}}),o=new FormTextField({props:{label:"Name",name:"name",disabled:!0}}),a=new FormTextField({props:{label:"Keyboard shortcut",name:"keyText",templateProps:{noMargin:!0},focused:!0}}),c=new FormStyledButton({props:{type:"button",value:"Keyboard"}}),c.$on("click",e[3]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),insert(e,i,u),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p:noop$3,i(e){l||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),e&&detach(i),destroy_component(a),destroy_component(c)}}}function create_header_slot$5(e){let t;return{c(){t=text$1("Configure commmand")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$4(e){let t,n,o,r,i,a;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[5]),o=new FormStyledButton({props:{type:"button",value:"Reset"}}),o.$on("click",e[6]),i=new FormStyledButton({props:{type:"button",value:"Close"}}),i.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot$N(e){let t,n;const o=[e[4]];let r={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$v]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1Y(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$slots:{default:[create_default_slot$N]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};147&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1V(e,t,n){const o=["command"];let r,i=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,r=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,i=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,r,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},i,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...r,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(r,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1V,create_fragment$1Y,safe_not_equal,{command:0})}}function create_fragment$1X(e){let t,n,o,r,i,a,s,c,l,u,d;function p(t){e[3](t)}let m={placeholder:"Search in commands (by category, name, shortcut or id)"};function f(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind$2(o,"value",p)));let h={showDisabled:!0};return void 0!==e[0]&&(h.filter=e[0]),a=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind$2(a,"filter",f))),u=new TableControl({props:{clickable:!0,rows:e[1].filter(e[5]),columns:[{header:"Category",fieldName:"category"},{header:"Name",fieldName:"name"},{header:"Keyboard shortcut",fieldName:"keyText",isHighlighted:func_1$a},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),create_component(a.$$.fragment),c=space(),l=element("div"),create_component(u.$$.fragment),attr(n,"class","flex"),attr(l,"class","table-wrapper svelte-1d8o0gh"),attr(t,"class","wrapper svelte-1d8o0gh")},m(e,r){insert(e,t,r),append(t,n),mount_component(o,n,null),append(n,i),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),o.$set(n);const i={};!s&&1&t&&(s=!0,i.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(i);const c={};3&t&&(c.rows=e[1].filter(e[5])),u.$set(c)},i(e){d||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(u)}}}const matchingProps$4=[],func_1$a=e=>e.customKeyboardShortcut;function instance$1U(e,t,n){let o,r,i;component_subscribe(e,commandsCustomized,(e=>n(2,r=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(r),["category","name"]))},[i,o,r,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},e=>lib$5.filterName(i,e.category,e.name,e.keyText,e.id),e=>showModal(CommandModal,{command:e.detail})]}class CommandListTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1U,create_fragment$1X,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1W(e){let t,n,o={value:e[2].value||"",menu:createMenu$3(),mode:"yaml"};return t=new AceEditor({props:o}),e[14](t),t.$on("input",e[15]),t.$on("focus",e[16]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.value=e[2].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[14](null),destroy_component(t,n)}}}const getCurrentEditor$c=()=>getActiveComponent("YamlEditorTab");function createMenu$3(){return[{command:"yaml.toggleComment"},{divider:!0},{command:"yaml.save"},{command:"yaml.saveAs"},{divider:!0},{command:"yaml.find"},{command:"yaml.replace"}]}function instance$1T(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,r=e)));const c=createActivator("YamlEditorTab",!1);let l;const{editorState:u,editorValue:d,setEditorData:p,saveToStorage:m}=useEditorData({tabid:a});component_subscribe(e,u,(e=>n(2,o=e)));return e.$$set=e=>{"tabid"in e&&n(6,a=e.tabid)},e.$$.update=()=>{12290&e.$$.dirty&&r&&l&&(null===n(12,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,o,s,u,p,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"yaml",category:"Yaml",getCurrentEditor:getCurrentEditor$c,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1T,create_fragment$1W,safe_not_equal,{tabid:6,activator:0,getData:7,toggleComment:8,find:9,replace:10,getTabId:11})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[7]}get toggleComment(){return this.$$.ctx[8]}get find(){return this.$$.ctx[9]}get replace(){return this.$$.ctx[10]}get getTabId(){return this.$$.ctx[11]}}var YamlEditorTab$1=Object.freeze({__proto__:null,default:YamlEditorTab});function create_default_slot$M(e){let t,n,o={value:e[3].value||"",menu:createMenu$2(),mode:"json"};return t=new AceEditor({props:o}),e[15](t),t.$on("input",e[16]),t.$on("focus",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.value=e[3].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[15](null),destroy_component(t,n)}}}function create_toolstrip_slot$9(e){let t,n;return t=new ToolStripSaveButton({props:{idPrefix:"json"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1V(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$9],default:[create_default_slot$M]},$$scope:{ctx:e}}}),e[18](t),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};2097166&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[18](null),destroy_component(t,n)}}}const getCurrentEditor$b=()=>getActiveComponent("JsonEditorTab");function createMenu$2(){return[{command:"json.toggleComment"},{divider:!0},{command:"json.save"},{command:"json.saveAs"},{divider:!0},{command:"json.find"},{command:"json.replace"}]}function instance$1S(e,t,n){let o,r;var i;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(14,r=e)));const c=createActivator("JsonEditorTab",!1);let l,u;const{editorState:d,editorValue:p,setEditorData:m,saveToStorage:f}=useEditorData({tabid:a});component_subscribe(e,d,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(7,a=e.tabid)},e.$$.update=()=>{24578&e.$$.dirty&&r&&l&&(null===n(13,i=null==l?void 0:l.getEditor())||void 0===i||i.focus())},[c,l,u,o,s,d,m,a,function(){return o.value||""},function(){l.getEditor().execCommand("togglecomment")},function(){l.getEditor().execCommand("find")},function(){l.getEditor().execCommand("replace")},function(){return a},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>m(e.detail),()=>{c.activate(),u?.activate(),invalidateCommands()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{u=e,n(2,u)}))}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$b,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1S,create_fragment$1V,safe_not_equal,{tabid:7,activator:0,getData:8,toggleComment:9,find:10,replace:11,getTabId:12})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[8]}get toggleComment(){return this.$$.ctx[9]}get find(){return this.$$.ctx[10]}get replace(){return this.$$.ctx[11]}get getTabId(){return this.$$.ctx[12]}}var JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$b(e){let t,n,o={value:e[4].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[22](t),t.$on("input",e[23]),t.$on("focus",e[24]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.value=e[4].value||""),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[22](null),destroy_component(t,n)}}}function create_if_block$_(e){let t,n,o=e[2],r=create_key_block$3(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){4&n&&safe_not_equal(o,o=e[2])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$3(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$3(e){let t,n;return t=new JslDataGrid({props:{jslid:e[2],supportsReload:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.jslid=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$a(e){let t,n,o=e[2]&&create_if_block$_(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$_(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot$L(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:e[2],$$slots:{2:[create__2_slot$a],1:[create__1_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.isSplitter=e[2]),1073741854&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$8(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),i=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1U(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$8],default:[create_default_slot$L]},$$scope:{ctx:e}}}),e[25](t),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1073741854&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(n){e[25](null),destroy_component(t,n)}}}const getCurrentEditor$a=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1R(e,t,n){let o,r;var i,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:s}=t,{archiveFolder:c}=t,{archiveFile:l}=t,u=null;const d=getContext("tabVisible");component_subscribe(e,d,(e=>n(21,r=e)));const p=createActivator("JsonLinesEditorTab",!1);let m,f;const h=(e,t)=>a(void 0,void 0,void 0,(function*(){yield apiCall("archive/save-text",{folder:e,file:t,text:o.value||""}),changeTab(s,(n=>Object.assign(Object.assign({},n),{title:t,props:{archiveFile:t,archiveFolder:e},archiveFile:t,archiveFolder:e}))),n(9,l=t),n(8,c=e)})),{editorState:g,editorValue:_,setEditorData:$,saveToStorage:b}=useEditorData({tabid:s});component_subscribe(e,g,(e=>n(4,o=e)));return e.$$set=e=>{"tabid"in e&&n(10,s=e.tabid),"archiveFolder"in e&&n(8,c=e.archiveFolder),"archiveFile"in e&&n(9,l=e.archiveFile)},e.$$.update=()=>{3145730&e.$$.dirty&&r&&m&&(null===n(20,i=null==m?void 0:m.getEditor())||void 0===i||i.focus())},[p,m,u,f,o,d,g,$,c,l,s,function(){return o.value||""},function(){m.getEditor().execCommand("find")},function(){m.getEditor().execCommand("replace")},function(){return s},function(){return!!u},function(){n(2,u=null)},function(){showModal(SaveArchiveModal,{folder:c,file:l,onSave:h})},function(){return a(this,void 0,void 0,(function*(){const e=v1_1$6();yield apiCall("jsldata/save-text",{jslid:e,text:o.value||""}),openNewTab({title:"Preview #",icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:e}},void 0,{forceNewTab:!0})}))},function(){return a(this,void 0,void 0,(function*(){n(2,u=v1_1$6()),yield apiCall("jsldata/save-text",{jslid:u,text:o.value||""})}))},i,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>$(e.detail),()=>{p.activate(),f?.activate(),invalidateCommands()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(3,f)}))}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$a,folder:null,format:"text",fileExtension:"jsonl",save:!1,findReplace:!0}),registerCommand({id:"jsonl.save",group:"save",category:"JSON Lines editor",name:"Save",toolbar:!0,isRelatedToTab:!0,icon:"icon save",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$a(),onClick:()=>getCurrentEditor$a().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$a())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$a().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1R,create_fragment$1U,safe_not_equal,{tabid:10,archiveFolder:8,archiveFile:9,activator:0,getData:11,find:12,replace:13,getTabId:14,isPreview:15,closePreview:16,save:17,previewMewTab:18,preview:19})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[11]}get find(){return this.$$.ctx[12]}get replace(){return this.$$.ctx[13]}get getTabId(){return this.$$.ctx[14]}get isPreview(){return this.$$.ctx[15]}get closePreview(){return this.$$.ctx[16]}get save(){return this.$$.ctx[17]}get previewMewTab(){return this.$$.ctx[18]}get preview(){return this.$$.ctx[19]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff$1(){}function buildValues$1(e,t,n,o,r){for(var i,a=[];t;)a.push(t),i=t.previousComponent,delete t.previousComponent,t=i;a.reverse();for(var s=0,c=a.length,l=0,u=0;s<c;s++){var d=a[s];if(d.removed){if(d.value=e.join(o.slice(u,u+d.count)),u+=d.count,s&&a[s-1].added){var p=a[s-1];a[s-1]=a[s],a[s]=p}}else{if(!d.added&&r){var m=n.slice(l,l+d.count);m=m.map((function(e,t){var n=o[u+t];return n.length>e.length?n:e})),d.value=e.join(m)}else d.value=e.join(n.slice(l,l+d.count));l+=d.count,d.added||(u+=d.count)}}var f=a[c-1];return c>1&&"string"==typeof f.value&&(f.added||f.removed)&&e.equals("",f.value)&&(a[c-2].value+=f.value,a.pop()),a}Diff$1.prototype={diff:function(e,t){var n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=o.callback;"function"==typeof o&&(r=o,o={}),this.options=o;var i=this;function a(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var s=(t=this.removeEmpty(this.tokenize(t))).length,c=e.length,l=1,u=s+c;o.maxEditLength&&(u=Math.min(u,o.maxEditLength));var d=null!==(n=o.timeout)&&void 0!==n?n:1/0,p=Date.now()+d,m=[{oldPos:-1,lastComponent:void 0}],f=this.extractCommon(m[0],t,e,0);if(m[0].oldPos+1>=c&&f+1>=s)return a([{value:this.join(t),count:t.length}]);var h=-1/0,g=1/0;function _(){for(var n=Math.max(h,-l);n<=Math.min(g,l);n+=2){var o=void 0,r=m[n-1],u=m[n+1];r&&(m[n-1]=void 0);var d=!1;if(u){var p=u.oldPos-n;d=u&&0<=p&&p<s}var _=r&&r.oldPos+1<c;if(d||_){if(o=!_||d&&r.oldPos+1<u.oldPos?i.addToPath(u,!0,void 0,0):i.addToPath(r,void 0,!0,1),f=i.extractCommon(o,t,e,n),o.oldPos+1>=c&&f+1>=s)return a(buildValues$1(i,o.lastComponent,t,e,i.useLongestToken));m[n]=o,o.oldPos+1>=c&&(g=Math.min(g,n-1)),f+1>=s&&(h=Math.max(h,n+1))}else m[n]=void 0}l++}if(r)!function e(){setTimeout((function(){if(l>u||Date.now()>p)return r();_()||e()}),0)}();else for(;l<=u&&Date.now()<=p;){var $=_();if($)return $}},addToPath:function(e,t,n,o){var r=e.lastComponent;return r&&r.added===t&&r.removed===n?{oldPos:e.oldPos+o,lastComponent:{count:r.count+1,added:t,removed:n,previousComponent:r.previousComponent}}:{oldPos:e.oldPos+o,lastComponent:{count:1,added:t,removed:n,previousComponent:r}}},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.oldPos,s=a-o,c=0;s+1<r&&a+1<i&&this.equals(t[s+1],n[a+1]);)s++,a++,c++;return c&&(e.lastComponent={count:c,previousComponent:e.lastComponent}),e.oldPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var extendedWordChars$1=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace$1=/\S/,wordDiff$1=new Diff$1;wordDiff$1.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace$1.test(e)&&!reWhitespace$1.test(t)},wordDiff$1.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars$1.test(t[n])&&extendedWordChars$1.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff$1=new Diff$1;function diffLines(e,t,n){return lineDiff$1.diff(e,t,n)}lineDiff$1.tokenize=function(e){this.options.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff$1=new Diff$1;sentenceDiff$1.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff$1=new Diff$1;function _typeof$1(e){return _typeof$1="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _iterableToArray(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,o=new Array(t);n<t;n++)o[n]=e[n];return o}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}cssDiff$1.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString$1=Object.prototype.toString,jsonDiff$1=new Diff$1;function canonicalize$1(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString$1.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize$1(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof$1(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize$1(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff$1.useLongestToken=!0,jsonDiff$1.tokenize=lineDiff$1.tokenize,jsonDiff$1.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize$1(e,null,null,r),r," ")},jsonDiff$1.equals=function(e,t){return Diff$1.prototype.equals.call(jsonDiff$1,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff$1=new Diff$1,LineType;function structuredPatch(e,t,n,o,r,i,a){a||(a={}),void 0===a.context&&(a.context=4);var s=diffLines(n,o,a);if(s){s.push({value:"",lines:[]});for(var c=[],l=0,u=0,d=[],p=1,m=1,f=function(e){var t=s[e],r=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=r,t.added||t.removed){var i;if(!l){var f=s[e-1];l=p,u=m,f&&(d=a.context>0?g(f.lines.slice(-a.context)):[],l-=d.length,u-=d.length)}(i=d).push.apply(i,_toConsumableArray(r.map((function(e){return(t.added?"+":"-")+e})))),t.added?m+=r.length:p+=r.length}else{if(l)if(r.length<=2*a.context&&e<s.length-2){var h;(h=d).push.apply(h,_toConsumableArray(g(r)))}else{var _,$=Math.min(r.length,a.context);(_=d).push.apply(_,_toConsumableArray(g(r.slice(0,$))));var b={oldStart:l,oldLines:p-l+$,newStart:u,newLines:m-u+$,lines:d};if(e>=s.length-2&&r.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==r.length&&d.length>b.oldLines;!v&&x&&n.length>0&&d.splice(b.oldLines,0,"\"),(v||x)&&y||d.push("\")}c.push(b),l=0,u=0,d=[]}p+=r.length,m+=r.length}},h=0;h<s.length;h++)f(h);return{oldFileName:e,newFileName:t,oldHeader:r,newHeader:i,hunks:c}}function g(e){return e.map((function(e){return" "+e}))}}function formatPatch(e){if(Array.isArray(e))return e.map(formatPatch).join("\n");var t=[];e.oldFileName==e.newFileName&&t.push("Index: "+e.oldFileName),t.push("==================================================================="),t.push("--- "+e.oldFileName+(void 0===e.oldHeader?"":"\t"+e.oldHeader)),t.push("+++ "+e.newFileName+(void 0===e.newHeader?"":"\t"+e.newHeader));for(var n=0;n<e.hunks.length;n++){var o=e.hunks[n];0===o.oldLines&&(o.oldStart-=1),0===o.newLines&&(o.newStart-=1),t.push("@@ -"+o.oldStart+","+o.oldLines+" +"+o.newStart+","+o.newLines+" @@"),t.push.apply(t,o.lines)}return t.join("\n")+"\n"}function createTwoFilesPatch(e,t,n,o,r,i,a){return formatPatch(structuredPatch(e,t,n,o,r,i,a))}arrayDiff$1.tokenize=function(e){return e.slice()},arrayDiff$1.join=arrayDiff$1.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));const OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"},DiffStyleType={WORD:"word",CHAR:"char"};var ColorSchemeType;!function(e){e.AUTO="auto",e.DARK="dark",e.LIGHT="light"}(ColorSchemeType||(ColorSchemeType={}));const specials=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],regex=RegExp("["+specials.join("\\")+"]","g");function escapeForRegExp(e){return e.replace(regex,"\\$&")}function unifyPath(e){return e?e.replace(/\\/g,"/"):e}function hashCode(e){let t,n,o,r=0;for(t=0,o=e.length;t<o;t++)n=e.charCodeAt(t),r=(r<<5)-r+n,r|=0;return r}function getExtension(e,t){const n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce(((t,n)=>t||e.startsWith(n)),!1)}const baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){const o=void 0!==n?[...baseDiffFilenamePrefixes,n]:baseDiffFilenamePrefixes,r=t?new RegExp(`^${escapeForRegExp(t)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,i=""]=r.exec(e)||[],a=o.find((e=>0===i.indexOf(e)));return(a?i.slice(a.length):i).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function getSrcFilename(e,t){return getFilename(e,"---",t)}function getDstFilename(e,t){return getFilename(e,"+++",t)}function parse$1(e,t={}){const n=[];let o=null,r=null,i=null,a=null,s=null,c=null,l=null;const u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,f=/^new mode (\d{6})/,h=/^deleted file mode (\d{6})/,g=/^new file mode (\d{6})/,_=/^copy from "?(.+)"?/,$=/^copy to "?(.+)"?/,b=/^rename from "?(.+)"?/,v=/^rename to "?(.+)"?/,y=/^similarity index (\d+)%/,x=/^dissimilarity index (\d+)%/,w=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,C=/^Binary files (.*) and (.*) differ/,k=/^GIT binary patch/,S=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,T=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,A=/^new file mode (\d{6})/,E=/^deleted file mode (\d{6}),(\d{6})/,O=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function I(){null!==r&&null!==o&&(o.blocks.push(r),r=null)}function N(){null!==o&&(o.oldName||null===c||(o.oldName=c),o.newName||null===l||(o.newName=l),o.newName&&(n.push(o),o=null)),c=null,l=null}function D(){I(),N(),o={blocks:[],deletedLines:0,addedLines:0}}function M(e){let t;I(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,i=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,i=parseInt(t[1],10),a=parseInt(t[2],10),s=parseInt(t[3],10)):(e.startsWith(p)&&console.error("Failed to parse lines, starting in 0!"),i=0,s=0,o.isCombined=!1)),r={lines:[],oldStartLine:i,oldStartLine2:a,newStartLine:s,header:e}}return O.forEach(((e,a)=>{if(!e||e.startsWith("*"))return;let I;const N=O[a-1],R=O[a+1],L=O[a+2];if(e.startsWith("diff --git")||e.startsWith("diff --combined")){D();if((I=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(e))&&(c=getFilename(I[1],void 0,t.dstPrefix),l=getFilename(I[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");return void(o.isGitDiff=!0)}if(e.startsWith("Binary files")&&!(null==o?void 0:o.isGitDiff)){D();if((I=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(e))&&(c=getFilename(I[1],void 0,t.dstPrefix),l=getFilename(I[2],void 0,t.srcPrefix)),null===o)throw new Error("Where is my file !!!");return void(o.isBinary=!0)}if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&R.startsWith(d)&&L.startsWith(p))&&D(),null==o?void 0:o.isTooBig)return;if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength)){o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],r=null;return void M("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed")}if(e.startsWith(u)&&R.startsWith(d)||e.startsWith(d)&&N.startsWith(u)){if(o&&!o.oldName&&e.startsWith("--- ")&&(I=getSrcFilename(e,t.srcPrefix)))return o.oldName=I,void(o.language=getExtension(o.oldName,o.language));if(o&&!o.newName&&e.startsWith("+++ ")&&(I=getDstFilename(e,t.dstPrefix)))return o.newName=I,void(o.language=getExtension(o.newName,o.language))}if(o&&(e.startsWith(p)||o.isGitDiff&&o.oldName&&o.newName&&!r))return void M(e);if(r&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))return void function(e){if(null===o||null===r||null===i||null===s)return;const t={content:e},n=o.isCombined?["+ "," +","++"]:["+"],a=o.isCombined?["- "," -","--"]:["-"];startsWithAny(e,n)?(o.addedLines++,t.type=LineType.INSERT,t.oldNumber=void 0,t.newNumber=s++):startsWithAny(e,a)?(o.deletedLines++,t.type=LineType.DELETE,t.oldNumber=i++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=i++,t.newNumber=s++),r.lines.push(t)}(e);const F=!function(e,t){let n=t;for(;n<O.length-3;){if(e.startsWith("diff"))return!1;if(O[n].startsWith(u)&&O[n+1].startsWith(d)&&O[n+2].startsWith(p))return!0;n++}return!1}(e,a);if(null===o)throw new Error("Where is my file !!!");(I=m.exec(e))?o.oldMode=I[1]:(I=f.exec(e))?o.newMode=I[1]:(I=h.exec(e))?(o.deletedFileMode=I[1],o.isDeleted=!0):(I=g.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=_.exec(e))?(F&&(o.oldName=I[1]),o.isCopy=!0):(I=$.exec(e))?(F&&(o.newName=I[1]),o.isCopy=!0):(I=b.exec(e))?(F&&(o.oldName=I[1]),o.isRename=!0):(I=v.exec(e))?(F&&(o.newName=I[1]),o.isRename=!0):(I=C.exec(e))?(o.isBinary=!0,o.oldName=getFilename(I[1],void 0,t.srcPrefix),o.newName=getFilename(I[2],void 0,t.dstPrefix),M("Binary file")):k.test(e)?(o.isBinary=!0,M(e)):(I=y.exec(e))?o.unchangedPercentage=parseInt(I[1],10):(I=x.exec(e))?o.changedPercentage=parseInt(I[1],10):(I=w.exec(e))?(o.checksumBefore=I[1],o.checksumAfter=I[2],I[3]&&(o.mode=I[3])):(I=S.exec(e))?(o.checksumBefore=[I[2],I[3]],o.checksumAfter=I[1]):(I=T.exec(e))?(o.oldMode=[I[2],I[3]],o.newMode=I[1]):(I=A.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=E.exec(e))&&(o.deletedFileMode=I[1],o.isDeleted=!0)})),I(),N(),n}function Diff(){}function buildValues(e,t,n,o,r){for(var i=0,a=t.length,s=0,c=0;i<a;i++){var l=t[i];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,i&&t[i-1].added){var u=t[i-1];t[i-1]=t[i],t[i]=u}}else{if(!l.added&&r){var d=n.slice(s,s+l.count);d=d.map((function(e,t){var n=o[c+t];return n.length>e.length?n:e})),l.value=e.join(d)}else l.value=e.join(n.slice(s,s+l.count));s+=l.count,l.added||(c+=l.count)}}var p=t[a-1];return a>1&&"string"==typeof p.value&&(p.added||p.removed)&&e.equals("",p.value)&&(t[a-2].value+=p.value,t.pop()),t}function clonePath(e){return{newPos:e.newPos,components:e.components.slice(0)}}Diff.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=n.callback;"function"==typeof n&&(o=n,n={}),this.options=n;var r=this;function i(e){return o?(setTimeout((function(){o(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,s=e.length,c=1,l=a+s;n.maxEditLength&&(l=Math.min(l,n.maxEditLength));var u=[{newPos:-1,components:[]}],d=this.extractCommon(u[0],t,e,0);if(u[0].newPos+1>=a&&d+1>=s)return i([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*c;n<=c;n+=2){var o=void 0,l=u[n-1],d=u[n+1],p=(d?d.newPos:0)-n;l&&(u[n-1]=void 0);var m=l&&l.newPos+1<a,f=d&&0<=p&&p<s;if(m||f){if(!m||f&&l.newPos<d.newPos?(o=clonePath(d),r.pushComponent(o.components,void 0,!0)):((o=l).newPos++,r.pushComponent(o.components,!0,void 0)),p=r.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return i(buildValues(r,o.components,t,e,r.useLongestToken));u[n]=o}else u[n]=void 0}c++}if(o)!function e(){setTimeout((function(){if(c>l)return o();p()||e()}),0)}();else for(;c<=l;){var m=p();if(m)return m}},pushComponent:function(e,t,n){var o=e[e.length-1];o&&o.added===t&&o.removed===n?e[e.length-1]={count:o.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,o){for(var r=t.length,i=n.length,a=e.newPos,s=a-o,c=0;a+1<r&&s+1<i&&this.equals(t[a+1],n[s+1]);)a++,s++,c++;return c&&e.components.push({count:c}),e.newPos=a,s},equals:function(e,t){return this.options.comparator?this.options.comparator(e,t):e===t||this.options.ignoreCase&&e.toLowerCase()===t.toLowerCase()},removeEmpty:function(e){for(var t=[],n=0;n<e.length;n++)e[n]&&t.push(e[n]);return t},castInput:function(e){return e},tokenize:function(e){return e.split("")},join:function(e){return e.join("")}};var characterDiff=new Diff;function diffChars(e,t,n){return characterDiff.diff(e,t,n)}var extendedWordChars=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,reWhitespace=/\S/,wordDiff=new Diff;function diffWordsWithSpace(e,t,n){return wordDiff.diff(e,t,n)}wordDiff.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!reWhitespace.test(e)&&!reWhitespace.test(t)},wordDiff.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),n=0;n<t.length-1;n++)!t[n+1]&&t[n+2]&&extendedWordChars.test(t[n])&&extendedWordChars.test(t[n+2])&&(t[n]+=t[n+2],t.splice(n+1,2),n--);return t};var lineDiff=new Diff;lineDiff.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var o=0;o<n.length;o++){var r=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=r:(this.options.ignoreWhitespace&&(r=r.trim()),t.push(r))}return t};var sentenceDiff=new Diff;sentenceDiff.tokenize=function(e){return e.split(/(\S.+?[.!?])(?=\s+|$)/)};var cssDiff=new Diff;function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}cssDiff.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,r){var i,a;for(t=t||[],n=n||[],o&&(e=o(r,e)),i=0;i<t.length;i+=1)if(t[i]===e)return n[i];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),i=0;i<e.length;i+=1)a[i]=canonicalize(e[i],t,n,o,r);return t.pop(),n.pop(),a}if(e&&e.toJSON&&(e=e.toJSON()),"object"===_typeof(e)&&null!==e){t.push(e),a={},n.push(a);var s,c=[];for(s in e)e.hasOwnProperty(s)&&c.push(s);for(c.sort(),i=0;i<c.length;i+=1)a[s=c[i]]=canonicalize(e[s],t,n,o,s);t.pop(),n.pop()}else a=e;return a}jsonDiff.useLongestToken=!0,jsonDiff.tokenize=lineDiff.tokenize,jsonDiff.castInput=function(e){var t=this.options,n=t.undefinedReplacement,o=t.stringifyReplacer,r=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,r),r," ")},jsonDiff.equals=function(e,t){return Diff.prototype.equals.call(jsonDiff,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};var arrayDiff=new Diff;function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;const n=[];let o,r;for(o=0;o<=t.length;o++)n[o]=[o];for(r=0;r<=e.length;r++)n[0][r]=r;for(o=1;o<=t.length;o++)for(r=1;r<=e.length;r++)t.charAt(o-1)===e.charAt(r-1)?n[o][r]=n[o-1][r-1]:n[o][r]=Math.min(n[o-1][r-1]+1,Math.min(n[o][r-1]+1,n[o-1][r]+1));return n[t.length][e.length]}function newDistanceFn(e){return(t,n)=>{const o=e(t).trim(),r=e(n).trim();return levenshtein(o,r)/(o.length+r.length)}}function newMatcherFn(e){return function t(n,o,r=0,i=new Map){const a=function(t,n,o=new Map){let r,i=1/0;for(let a=0;a<t.length;++a)for(let s=0;s<n.length;++s){const c=JSON.stringify([t[a],n[s]]);let l;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<i&&(i=l,r={indexA:a,indexB:s,score:i})}return r}(n,o,i);if(!a||n.length+o.length<3)return[[n,o]];const s=n.slice(0,a.indexA),c=o.slice(0,a.indexB),l=[n[a.indexA]],u=[o[a.indexB]],d=a.indexA+1,p=a.indexB+1,m=n.slice(d),f=o.slice(p),h=t(s,c,r+1,i),g=t(l,u,r+1,i),_=t(m,f,r+1,i);let $=g;return(a.indexA>0||a.indexB>0)&&($=h.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e};const CSSLineClass={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},defaultRenderConfig={matching:LineMatchingType.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:DiffStyleType.WORD,colorScheme:ColorSchemeType.LIGHT},separator="/",distance=newDistanceFn((e=>e.value)),matcher=newMatcherFn(distance);function isDevNullName(e){return-1!==e.indexOf("dev/null")}function removeInsElements(e){return e.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function removeDelElements(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function toCSSClass(e){switch(e){case LineType.CONTEXT:return CSSLineClass.CONTEXT;case LineType.INSERT:return CSSLineClass.INSERTS;case LineType.DELETE:return CSSLineClass.DELETES}}function colorSchemeToCss(e){switch(e){case ColorSchemeType.DARK:return"d2h-dark-color-scheme";case ColorSchemeType.AUTO:return"d2h-auto-color-scheme";case ColorSchemeType.LIGHT:default:return"d2h-light-color-scheme"}}function prefixLength(e){return e?2:1}function escapeForHtml(e){return e.slice(0).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;").replace(/\//g,"&#x2F;")}function deconstructLine(e,t,n=!0){const o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){const t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;{const e=[],o=[],r=t.split(separator),i=n.split(separator);let a=0,s=r.length-1,c=i.length-1;for(;a<s&&a<c&&r[a]===i[a];)e.push(i[a]),a+=1;for(;s>a&&c>a&&r[s]===i[c];)o.unshift(i[c]),s-=1,c-=1;const l=e.join(separator),u=o.join(separator),d=r.slice(a,s+1).join(separator),p=i.slice(a,c+1).join(separator);return l.length&&u.length?l+separator+"{"+d+" → "+p+"}"+separator+u:l.length?l+separator+"{"+d+" → "+p+"}":u.length?"{"+d+" → "+p+"}"+separator+u:t+" → "+n}}function getHtmlId(e){return`d2h-${hashCode(filenameDiff(e)).toString().slice(-6)}`}function getFileIcon(e){let t="file-changed";return e.isRename||e.isCopy?t="file-renamed":e.isNew?t="file-added":e.isDeleted?t="file-deleted":e.newName!==e.oldName&&(t="file-renamed"),t}function diffHighlight(e,t,n,o={}){const{matching:r,maxLineLengthHighlight:i,matchWordsThreshold:a,diffStyle:s}=Object.assign(Object.assign({},defaultRenderConfig),o),c=deconstructLine(e,n,!1),l=deconstructLine(t,n,!1);if(c.content.length>i||l.content.length>i)return{oldLine:{prefix:c.prefix,content:escapeForHtml(c.content)},newLine:{prefix:l.prefix,content:escapeForHtml(l.content)}};const u="char"===s?diffChars(c.content,l.content):diffWordsWithSpace(c.content,l.content),d=[];if("word"===s&&"words"===r){const e=u.filter((e=>e.removed)),t=u.filter((e=>e.added));matcher(t,e).forEach((e=>{if(1===e[0].length&&1===e[1].length){distance(e[0][0],e[1][0])<a&&(d.push(e[0][0]),d.push(e[1][0]))}}))}const p=u.reduce(((e,t)=>{const n=t.added?"ins":t.removed?"del":null,o=d.indexOf(t)>-1?' class="d2h-change"':"",r=escapeForHtml(t.value);return null!==n?`${e}<${n}${o}>${r}</${n}>`:`${e}${r}`}),"");return{oldLine:{prefix:c.prefix,content:removeInsElements(p)},newLine:{prefix:l.prefix,content:removeDelElements(p)}}}const baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon",defaultFileListRendererConfig={colorScheme:defaultRenderConfig.colorScheme};class FileListRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultFileListRendererConfig),t)}render(e){const t=e.map((e=>this.hoganUtils.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:this.hoganUtils.template(iconsBaseTemplatesPath$2,getFileIcon(e))}))).join("\n");return this.hoganUtils.render(baseTemplatesPath$2,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),filesNumber:e.length,files:t})}}const defaultLineByLineRendererConfig=Object.assign(Object.assign({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag";class LineByLineRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultLineByLineRendererConfig),t)}render(e){const t=e.map((e=>{let t;return t=e.blocks.length?this.generateFileHtml(e):this.generateEmptyDiff(),this.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";const n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})}generateEmptyDiff(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})}generateFileHtml(e){const t=newMatcherFn(newDistanceFn((t=>deconstructLine(t.content,e.isCombined).content)));return e.blocks.map((n=>{let o=this.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?n.header:escapeForHtml(n.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(n).forEach((([n,r,i])=>{if(r.length&&i.length&&!n.length)this.applyRematchMatching(r,i,t).map((([t,n])=>{const{left:r,right:i}=this.processChangedLines(e,e.isCombined,t,n);o+=r,o+=i}));else if(n.length)n.forEach((t=>{const{prefix:n,content:r}=deconstructLine(t.content,e.isCombined);o+=this.generateSingleLineHtml(e,{type:CSSLineClass.CONTEXT,prefix:n,content:r,oldNumber:t.oldNumber,newNumber:t.newNumber})}));else if(r.length||i.length){const{left:t,right:n}=this.processChangedLines(e,e.isCombined,r,i);o+=t,o+=n}else console.error("Unknown state reached while processing groups of lines",n,r,i)})),o})).join("\n")}applyLineGroupping(e){const t=[];let n=[],o=[];for(let r=0;r<e.lines.length;r++){const i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t}applyRematchMatching(e,t,n){const o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((e=>e.content.length))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]}processChangedLines(e,t,n,o){const r={right:"",left:""},i=Math.max(n.length,o.length);for(let a=0;a<i;a++){const i=n[a],s=o[a],c=void 0!==i&&void 0!==s?diffHighlight(i.content,s.content,t,this.config):void 0,l=void 0!==i&&void 0!==i.oldNumber?Object.assign(Object.assign({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:Object.assign(Object.assign({},deconstructLine(i.content,t)),{type:toCSSClass(i.type)})),{oldNumber:i.oldNumber,newNumber:i.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?Object.assign(Object.assign({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:Object.assign(Object.assign({},deconstructLine(s.content,t)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,{left:d,right:p}=this.generateLineHtml(e,l,u);r.left+=d,r.right+=p}return r}generateLineHtml(e,t,n){return{left:this.generateSingleLineHtml(e,t),right:this.generateSingleLineHtml(e,n)}}generateSingleLineHtml(e,t){if(void 0===t)return"";const n=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:t.oldNumber||"",newNumber:t.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:t.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===t.prefix?"&nbsp;":t.prefix,content:t.content,lineNumber:n,line:t,file:e})}}const defaultSideBySideRendererConfig=Object.assign(Object.assign({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag";class SideBySideRenderer{constructor(e,t={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},defaultSideBySideRendererConfig),t)}render(e){const t=e.map((e=>{let t;return t=e.blocks.length?this.generateFileHtml(e):this.generateEmptyDiff(),this.makeFileDiffHtml(e,t)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{colorScheme:colorSchemeToCss(this.config.colorScheme),content:t})}makeFileDiffHtml(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";const n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),r=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),i=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:r,fileTag:i})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}}generateFileHtml(e){const t=newMatcherFn(newDistanceFn((t=>deconstructLine(t.content,e.isCombined).content)));return e.blocks.map((n=>{const o={left:this.makeHeaderHtml(n.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(n).forEach((([n,r,i])=>{if(r.length&&i.length&&!n.length)this.applyRematchMatching(r,i,t).map((([t,n])=>{const{left:r,right:i}=this.processChangedLines(e.isCombined,t,n);o.left+=r,o.right+=i}));else if(n.length)n.forEach((t=>{const{prefix:n,content:r}=deconstructLine(t.content,e.isCombined),{left:i,right:a}=this.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:n,content:r,number:t.oldNumber},{type:CSSLineClass.CONTEXT,prefix:n,content:r,number:t.newNumber});o.left+=i,o.right+=a}));else if(r.length||i.length){const{left:t,right:n}=this.processChangedLines(e.isCombined,r,i);o.left+=t,o.right+=n}else console.error("Unknown state reached while processing groups of lines",n,r,i)})),o})).reduce(((e,t)=>({left:e.left+t.left,right:e.right+t.right})),{left:"",right:""})}applyLineGroupping(e){const t=[];let n=[],o=[];for(let r=0;r<e.lines.length;r++){const i=e.lines[r];(i.type!==LineType.INSERT&&o.length||i.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),i.type===LineType.CONTEXT?t.push([[i],[],[]]):i.type===LineType.INSERT&&0===n.length?t.push([[],[],[i]]):i.type===LineType.INSERT&&n.length>0?o.push(i):i.type===LineType.DELETE&&n.push(i)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t}applyRematchMatching(e,t,n){const o=e.length*t.length,r=Math.max.apply(null,[0].concat(e.concat(t).map((e=>e.content.length))));return o<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]}makeHeaderHtml(e,t){return this.hoganUtils.render(genericTemplatesPath,"block-header",{CSSLineClass:CSSLineClass,blockHeader:(null==t?void 0:t.isTooBig)?e:escapeForHtml(e),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})}processChangedLines(e,t,n){const o={right:"",left:""},r=Math.max(t.length,n.length);for(let i=0;i<r;i++){const r=t[i],a=n[i],s=void 0!==r&&void 0!==a?diffHighlight(r.content,a.content,e,this.config):void 0,c=void 0!==r&&void 0!==r.oldNumber?Object.assign(Object.assign({},void 0!==s?{prefix:s.oldLine.prefix,content:s.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:Object.assign(Object.assign({},deconstructLine(r.content,e)),{type:toCSSClass(r.type)})),{number:r.oldNumber}):void 0,l=void 0!==a&&void 0!==a.newNumber?Object.assign(Object.assign({},void 0!==s?{prefix:s.newLine.prefix,content:s.newLine.content,type:CSSLineClass.INSERT_CHANGES}:Object.assign(Object.assign({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.newNumber}):void 0,{left:u,right:d}=this.generateLineHtml(c,l);o.left+=u,o.right+=d}return o}generateLineHtml(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}}generateSingleHtml(e){const t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||`${CSSLineClass.CONTEXT} d2h-emptyplaceholder`,lineClass:void 0!==e?t:`${t} d2h-code-side-emptyplaceholder`,contentClass:void 0!==e?n:`${n} d2h-code-side-emptyplaceholder`,prefix:" "===(null==e?void 0:e.prefix)?"&nbsp;":null==e?void 0:e.prefix,content:null==e?void 0:e.content,lineNumber:null==e?void 0:e.number})}}var compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,r=/\r/g,i=/\\/g,a=/\u2028/,s=/\u2029/;function c(e){"}"===e.n.substr(e.n.length-1)&&(e.n=e.n.substring(0,e.n.length-1))}function l(e){return e.trim?e.trim():e.replace(/^\s*|\s*$/g,"")}function u(e,t,n){if(t.charAt(n)!=e.charAt(0))return!1;for(var o=1,r=e.length;o<r;o++)if(t.charAt(n+o)!=e.charAt(o))return!1;return!0}e.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},e.scan=function(n,o){var r=n.length,i=0,a=null,s=null,d="",p=[],m=!1,f=0,h=0,g="{{",_="}}";function $(){d.length>0&&(p.push({tag:"_t",text:new String(d)}),d="")}function b(n,o){if($(),n&&function(){for(var n=!0,o=h;o<p.length;o++)if(!(n=e.tags[p[o].tag]<e.tags._v||"_t"==p[o].tag&&null===p[o].text.match(t)))return!1;return n}())for(var r,i=h;i<p.length;i++)p[i].text&&((r=p[i+1])&&">"==r.tag&&(r.indent=p[i].text.toString()),p.splice(i,1));else o||p.push({tag:"\n"});m=!1,h=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),r=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=r[0],_=r[r.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),f=0;f<r;f++)0==i?u(g,n,f)?(--f,$(),i=1):"\n"==n.charAt(f)?b(m):d+=n.charAt(f):1==i?(f+=g.length-1,"="==(a=(s=e.tags[n.charAt(f+1)])?n.charAt(f+1):"_v")?(f=v(n,f),i=0):(s&&f++,i=2),m=f):u(_,n,f)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:f+_.length}),d="",f+=_.length-1,i=0,"{"==a&&("}}"==_?f++:c(p[p.length-1]))):d+=n.charAt(f);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,r){var i,a=[],s=null,c=null;for(i=o[o.length-1];t.length>0;){if(c=t.shift(),i&&"<"==i.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,r))o.push(c),c.nodes=p(t,c.tag,o,r);else{if("/"==c.tag){if(0===o.length)throw new Error("Closing tag without opener: /"+c.n);if(s=o.pop(),c.n!=s.n&&!f(c.n,s.n,r))throw new Error("Nesting error: "+s.n+" vs. "+c.n);return s.end=c.i,a}"\n"==c.tag&&(c.last=0==t.length||"\n"==t[0].tag)}a.push(c)}if(o.length>0)throw new Error("missing closing tag: "+o.pop().n);return a}function m(e,t){for(var n=0,o=t.length;n<o;n++)if(t[n].o==e.n)return e.tag="#",!0}function f(e,t,n){for(var o=0,r=n.length;o<r;o++)if(n[o].c==e&&n[o].o==t)return!0}function h(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+h(e.partials[n])+"}");return"partials: {"+t.join(",")+"}, subs: "+function(e){var t=[];for(var n in e)t.push('"'+_(n)+'": function(c,p,t,i) {'+e[n]+"}");return"{ "+t.join(",")+" }"}(e.subs)}e.stringify=function(t,n,o){return"{code: function (c,p,i) { "+e.wrapMain(t.code)+" },"+h(t)+"}"};var g=0;function _(e){return e.replace(i,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(r,"\\r").replace(a,"\\u2028").replace(s,"\\u2029")}function $(e){return~e.indexOf(".")?"d":"f"}function b(e,t){var n="<"+(t.prefix||"")+e.n+g++;return t.partials[n]={name:e.n,partials:{}},t.code+='t.b(t.rp("'+_(n)+'",c,p,"'+(e.indent||"")+'"));',n}function v(e,t){t.code+="t.b(t.t(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'}function y(e){return"t.b("+e+");"}e.generate=function(t,n,o){g=0;var r={code:"",subs:{},partials:{}};return e.walk(t,r),o.asString?this.stringify(r,n,o):this.makeTemplate(r,n,o)},e.wrapMain=function(e){return'var t=this;t.b(i=i||"");'+e+"return t.fl();"},e.template=e.Template,e.makeTemplate=function(e,t,n){var o=this.makePartials(e);return o.code=new Function("c","p","i",this.wrapMain(e.code)),new this.template(o,t,this,n)},e.makePartials=function(e){var t,n={subs:{},partials:e.partials,name:e.name};for(t in n.partials)n.partials[t]=this.makePartials(n.partials[t]);for(t in e.subs)n.subs[t]=new Function("c","p","t","i",e.subs[t]);return n},e.codegen={"#":function(t,n){n.code+="if(t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,0,'+t.i+","+t.end+',"'+t.otag+" "+t.ctag+'")){t.rs(c,p,function(c,p,t){',e.walk(t.nodes,n),n.code+="});c.pop();}"},"^":function(t,n){n.code+="if(!t.s(t."+$(t.n)+'("'+_(t.n)+'",c,p,1),c,p,1,0,0,"")){',e.walk(t.nodes,n),n.code+="};"},">":b,"<":function(t,n){var o={partials:{},code:"",subs:{},inPartial:!0};e.walk(t.nodes,o);var r=n.partials[b(t,n)];r.subs=o.subs,r.partials=o.partials},$:function(t,n){var o={subs:{},code:"",partials:n.partials,prefix:t.n};e.walk(t.nodes,o),n.subs[t.n]=o.code,n.inPartial||(n.code+='t.sub("'+_(t.n)+'",c,p,i);')},"\n":function(e,t){t.code+=y('"\\n"'+(e.last?"":" + i"))},_v:function(e,t){t.code+="t.b(t.v(t."+$(e.n)+'("'+_(e.n)+'",c,p,0)));'},_t:function(e,t){t.code+=y('"'+_(e.text)+'"')},"{":v,"&":v},e.walk=function(t,n){for(var o,r=0,i=t.length;r<i;r++)(o=e.codegen[t[r].tag])&&o(t[r],n);return n},e.parse=function(e,t,n){return p(e,0,[],(n=n||{}).sectionTags||[])},e.cache={},e.cacheKey=function(e,t){return[e,!!t.asString,!!t.disableLambda,t.delimiters,!!t.modelGet].join("||")},e.compile=function(t,n){n=n||{};var o=e.cacheKey(t,n),r=this.cache[o];if(r){var i=r.partials;for(var a in i)delete i[a].instance;return r}return r=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=r}}(e)}(compiler);var template={};!function(e){!function(e){function t(e,t,n){var o;return t&&"object"==typeof t&&(void 0!==t[e]?o=t[e]:n&&t.get&&"function"==typeof t.get&&(o=t.get(e))),o}e.Template=function(e,t,n,o){e=e||{},this.r=e.code||this.r,this.c=n,this.options=o||{},this.text=t||"",this.partials=e.partials||{},this.subs=e.subs||{},this.buf=""},e.Template.prototype={r:function(e,t,n){return""},v:function(e){return e=c(e),s.test(e)?e.replace(n,"&amp;").replace(o,"&lt;").replace(r,"&gt;").replace(i,"&#39;").replace(a,"&quot;"):e},t:c,render:function(e,t,n){return this.ri([e],t||{},n)},ri:function(e,t,n){return this.r(e,t,n)},ep:function(e,t){var n=this.partials[e],o=t[n.name];if(n.instance&&n.base==o)return n.instance;if("string"==typeof o){if(!this.c)throw new Error("No compiler available.");o=this.c.compile(o,this.options)}if(!o)return null;if(this.partials[e].base=o,n.subs){for(key in t.stackText||(t.stackText={}),n.subs)t.stackText[key]||(t.stackText[key]=void 0!==this.activeSub&&t.stackText[this.activeSub]?t.stackText[this.activeSub]:this.text);o=function(e,t,n,o,r,i){function a(){}function s(){}var c;a.prototype=e,s.prototype=e.subs;var l=new a;for(c in l.subs=new s,l.subsText={},l.buf="",o=o||{},l.stackSubs=o,l.subsText=i,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in r=r||{},l.stackPartials=r,n)r[c]||(r[c]=n[c]);for(c in r)l.partials[c]=r[c];return l}(o,n.subs,n.partials,this.stackSubs,this.stackPartials,t.stackText)}return this.partials[e].instance=o,o},rp:function(e,t,n,o){var r=this.ep(e,n);return r?r.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var r=0;r<o.length;r++)e.push(o[r]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,r,i,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,r,i,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,r){var i,a=e.split("."),s=this.f(a[0],n,o,r),c=this.options.modelGet,u=null;if("."===e&&l(n[n.length-2]))s=n[n.length-1];else for(var d=1;d<a.length;d++)void 0!==(i=t(a[d],s,c))?(u=s,s=i):s="";return!(r&&!s)&&(r||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,r){for(var i=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(i=t(e,n[c],s))){a=!0;break}return a?(r||"function"!=typeof i||(i=this.mv(i,n,o)),i):!r&&""},ls:function(e,t,n,o,r){var i=this.options.delimiters;return this.options.delimiters=r,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=i,!1},ct:function(e,t,n){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(e,this.options).render(t,n)},b:function(e){this.buf+=e},fl:function(){var e=this.buf;return this.buf="",e},ms:function(e,t,n,o,r,i,a){var s,c=t[t.length-1],l=e.call(c);return"function"==typeof l?!!o||(s=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(l,c,n,s.substring(r,i),a)):l},mv:function(e,t,n){var o=t[t.length-1],r=e.call(o);return"function"==typeof r?this.ct(c(r.call(o)),o,n):r},sub:function(e,t,n,o){var r=this.subs[e];r&&(this.activeSub=e,r(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,r=/>/g,i=/\'/g,a=/\"/g,s=/[&<>\"\']/;function c(e){return String(null==e?"":e)}var l=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)}}(e)}(template);var Hogan=compiler;Hogan.Template=template.Template,Hogan.template=Hogan.Template;var hogan=Hogan;const defaultTemplates={};defaultTemplates["file-summary-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<li class="d2h-file-list-line">'),o.b("\n"+n),o.b(' <span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <a href="#'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-name">'),o.b(o.v(o.f("fileName",e,t,0))),o.b("</a>"),o.b("\n"+n),o.b(' <span class="d2h-file-stats">'),o.b("\n"+n),o.b(' <span class="d2h-lines-added">'),o.b(o.v(o.f("addedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(' <span class="d2h-lines-deleted">'),o.b(o.v(o.f("deletedLines",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b(" </span>"),o.b("\n"+n),o.b("</li>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}}),defaultTemplates["file-summary-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-file-list-wrapper '),o.b(o.v(o.f("colorScheme",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-list-header">'),o.b("\n"+n),o.b(' <span class="d2h-file-list-title">Files changed ('),o.b(o.v(o.f("filesNumber",e,t,0))),o.b(")</span>"),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),o.b("\n"+n),o.b(' <a class="d2h-file-switch d2h-show">show</a>'),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <ol class="d2h-file-list">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("files",e,t,0))),o.b("\n"+n),o.b(" </ol>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-block-header"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('"></td>'),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.s(o.f("blockHeader",e,t,1),e,t,0,156,173,"{{ }}")&&(o.rs(e,t,(function(e,t,n){n.b(n.t(n.f("blockHeader",e,t,0)))})),e.pop()),o.s(o.f("blockHeader",e,t,1),e,t,1,0,0,"")||o.b("&nbsp;"),o.b("</div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-empty-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.d("CSSLineClass.INFO",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" File without changes"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-file-path"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-file-name-wrapper">'),o.b("\n"+n),o.b(o.rp("<fileIcon0",e,t," ")),o.b(' <span class="d2h-file-name">'),o.b(o.v(o.f("fileDiffName",e,t,0))),o.b("</span>"),o.b("\n"+n),o.b(o.rp("<fileTag1",e,t," ")),o.b("</span>"),o.b("\n"+n),o.b('<label class="d2h-file-collapse">'),o.b("\n"+n),o.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),o.b("\n"+n),o.b(" Viewed"),o.b("\n"+n),o.b("</label>"),o.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}}),defaultTemplates["generic-line"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b("<tr>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("lineClass",e,t,0))),o.b(" "),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("lineNumber",e,t,0))),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b(' <td class="'),o.b(o.v(o.f("type",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="'),o.b(o.v(o.f("contentClass",e,t,0))),o.b('">'),o.b("\n"+n),o.s(o.f("prefix",e,t,1),e,t,0,162,238,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-prefix">'),o.b(o.t(o.f("prefix",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("prefix",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-prefix">&nbsp;</span>'),o.b("\n"+n)),o.s(o.f("content",e,t,1),e,t,0,371,445,"{{ }}")&&(o.rs(e,t,(function(e,t,o){o.b(' <span class="d2h-code-line-ctn">'),o.b(o.t(o.f("content",e,t,0))),o.b("</span>"),o.b("\n"+n)})),e.pop()),o.s(o.f("content",e,t,1),e,t,1,0,0,"")||(o.b(' <span class="d2h-code-line-ctn"><br></span>'),o.b("\n"+n)),o.b(" </div>"),o.b("\n"+n),o.b(" </td>"),o.b("\n"+n),o.b("</tr>"),o.fl()},partials:{},subs:{}}),defaultTemplates["generic-wrapper"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="d2h-wrapper '),o.b(o.v(o.f("colorScheme",e,t,0))),o.b('">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("content",e,t,0))),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),o.b("\n"+n),o.b(' width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),o.b("\n"+n),o.b(' viewBox="0 0 14 16" width="14">'),o.b("\n"+n),o.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["icon-file"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),o.b("\n"+n),o.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),o.b("\n"+n),o.b("</svg>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("diffs",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["line-by-line-numbers"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div class="line-num1">'),o.b(o.v(o.f("oldNumber",e,t,0))),o.b("</div>"),o.b("\n"+n),o.b('<div class="line-num2">'),o.b(o.v(o.f("newNumber",e,t,0))),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["side-by-side-file-diff"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<div id="'),o.b(o.v(o.f("fileHtmlId",e,t,0))),o.b('" class="d2h-file-wrapper" data-lang="'),o.b(o.v(o.d("file.language",e,t,0))),o.b('">'),o.b("\n"+n),o.b(' <div class="d2h-file-header">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.f("filePath",e,t,0))),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-files-diff">'),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.left",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(' <div class="d2h-file-side-diff">'),o.b("\n"+n),o.b(' <div class="d2h-code-wrapper">'),o.b("\n"+n),o.b(' <table class="d2h-diff-table">'),o.b("\n"+n),o.b(' <tbody class="d2h-diff-tbody">'),o.b("\n"+n),o.b(" "),o.b(o.t(o.d("diffs.right",e,t,0))),o.b("\n"+n),o.b(" </tbody>"),o.b("\n"+n),o.b(" </table>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b(" </div>"),o.b("\n"+n),o.b("</div>"),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-added"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-changed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-deleted"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),o.fl()},partials:{},subs:{}}),defaultTemplates["tag-file-renamed"]=new hogan.Template({code:function(e,t,n){var o=this;return o.b(n=n||""),o.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),o.fl()},partials:{},subs:{}});class HoganJsUtils{constructor({compiledTemplates:e={},rawTemplates:t={}}){const n=Object.entries(t).reduce(((e,[t,n])=>{const o=hogan.compile(n,{asString:!1});return Object.assign(Object.assign({},e),{[t]:o})}),{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},defaultTemplates),e),n)}static compile(e){return hogan.compile(e,{asString:!1})}render(e,t,n,o,r){const i=this.templateKey(e,t);try{return this.preCompiledTemplates[i].render(n,o,r)}catch(e){throw new Error(`Could not find template to render '${i}'`)}}template(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]}templateKey(e,t){return`${e}-${t}`}}const defaultDiff2HtmlConfig=Object.assign(Object.assign(Object.assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t={}){return parse$1(e,Object.assign(Object.assign({},defaultDiff2HtmlConfig),t))}function html(e,t={}){const n=Object.assign(Object.assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,r=new HoganJsUtils(n),{colorScheme:i}=n,a={colorScheme:i};return(n.drawFileList?new FileListRenderer(r,a).render(o):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(r,n).render(o):new LineByLineRenderer(r,n).render(o))}function create_fragment$1T(e){let t;return{c(){t=element("div"),attr(t,"class","root svelte-ym7rtz")},m(n,o){insert(n,t,o),t.innerHTML=e[0]},p(e,[n]){1&n&&(t.innerHTML=e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$1Q(e,t,n){let o,r,i,{leftText:a}=t,{rightText:s}=t,{leftTitle:c}=t,{rightTitle:l}=t;return e.$$set=e=>{"leftText"in e&&n(1,a=e.leftText),"rightText"in e&&n(2,s=e.rightText),"leftTitle"in e&&n(3,c=e.leftTitle),"rightTitle"in e&&n(4,l=e.rightTitle)},e.$$.update=()=>{30&e.$$.dirty&&n(6,o=createTwoFilesPatch(c,l,a,s,"","")),64&e.$$.dirty&&n(5,r=parse(o)),32&e.$$.dirty&&n(0,i=html(r,{drawFileList:!1}))},[i,a,s,c,l,r,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Q,create_fragment$1T,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$Z(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$K]},$$scope:{ctx:e}}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};187&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$K(e){let t,n,o,r,i,a,s,c,l,u;return t=new FontIcon({props:{icon:e[0]}}),l=new FontIcon({props:{icon:e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"}}),{c(){create_component(t.$$.fragment),n=space(),o=element("span"),r=text$1(e[1]),i=text$1(" ("),a=text$1(e[4]),s=text$1(")"),c=space(),create_component(l.$$.fragment),attr(o,"class","switch svelte-1muj49d")},m(e,d){mount_component(t,e,d),insert(e,n,d),insert(e,o,d),append(o,r),append(o,i),append(o,a),append(o,s),insert(e,c,d),mount_component(l,e,d),u=!0},p(e,n){const o={};1&n&&(o.icon=e[0]),t.$set(o),(!u||2&n)&&set_data(r,e[1]),(!u||16&n)&&set_data(a,e[4]);const i={};40&n&&(i.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(i)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1S(e){let t,n,o=e[4]>0&&create_if_block$Z(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$Z(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1P(e,t,n){let o,r=noop$3,i=()=>(r(),r=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>r()));let{icon:a}=t,{label:s}=t,{values:c}=t;i();let{field:l}=t,{count:u}=t;return e.$$set=e=>{"icon"in e&&n(0,a=e.icon),"label"in e&&n(1,s=e.label),"values"in e&&i(n(2,c=e.values)),"field"in e&&n(3,l=e.field),"count"in e&&n(4,u=e.count)},[a,s,c,l,u,o,()=>{set_store_value(c,o={...o,[l]:!o[l]},o)}]}class RowsFilterSwitcher extends SvelteComponent{constructor(e){super(),init(this,e,instance$1P,create_fragment$1S,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function get_each_context$m(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$p(e){let t,n;return t=new FormDatabaseSelect({props:{conidName:"sourceConid",name:"sourceDatabase",label:"Source database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$Y(e){let t,n;return t=new FormSelectField({props:{name:"sourceDatabase",label:"Source DB model",templateProps:{noMargin:!0},isNative:!0,options:(e[13]||[]).map(func$c),notSelected:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n[0]&&(o.options=(e[13]||[]).map(func$c)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$c(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon arrow-right-bold"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Deploy (experimental)"),attr(t,"class","arrow svelte-lmwisg")},m(e,i){insert(e,t,i),mount_component(n,t,null),insert(e,o,i),r=!0},p:noop$3,i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o)}}}function create_each_block$m(e){let t,n;function o(...t){return e[36](e[46],...t)}return t=new RowsFilterSwitcher({props:{icon:lib$5.DbDiffCompareDefs[e[46]].icon,label:lib$5.DbDiffCompareDefs[e[46]].plural,values:e[15],field:"hide_"+e[46],count:filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};96&r[0]&&(i.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$o(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w,C,k,S,T,A,E,O,I;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const N=[create_if_block$Y,create_else_block$p],D=[];function M(e,t){return"__model"==e[6]?.sourceConid?0:1}function R(t){e[35](t)}a=M(e),s=D[a]=N[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$c]},$$scope:{ctx:e}}}),u.$on("click",e[0]),m=new FormConnectionSelect({props:{name:"targetConid",label:"Target server",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}}),g=new FormDatabaseSelect({props:{conidName:"targetConid",name:"targetDatabase",label:"Target database",templateProps:{noMargin:!0},isNative:!0,notSelected:!0}});let L={placeholder:"Search tables or objects"};void 0!==e[2]&&(L.value=e[2]),v=new SearchInput({props:L}),binding_callbacks.push((()=>bind$2(v,"value",R))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$9),e[6],"added").length}}),k=new RowsFilterSwitcher({props:{icon:"img minus",label:"Removed",values:e[15],field:"hideRemoved",count:filterDiffRowsByFlag(e[5].filter(func_2$3),e[6],"removed").length}}),T=new RowsFilterSwitcher({props:{icon:"img changed",label:"Changed",values:e[15],field:"hideChanged",count:filterDiffRowsByFlag(e[5].filter(func_3$5),e[6],"changed").length}}),E=new RowsFilterSwitcher({props:{icon:"img equal",label:"Equal",values:e[15],field:"hideEqual",count:filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length}});let F=_.keys(lib$5.DbDiffCompareDefs),P=[];for(let t=0;t<F.length;t+=1)P[t]=create_each_block$m(get_each_context$m(e,F,t));const j=e=>transition_out(P[e],1,1,(()=>{P[e]=null}));return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),f=space(),h=element("div"),create_component(g.$$.fragment),$=space(),b=element("div"),create_component(v.$$.fragment),x=space(),create_component(w.$$.fragment),C=space(),create_component(k.$$.fragment),S=space(),create_component(T.$$.fragment),A=space(),create_component(E.$$.fragment),O=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(i,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(h,"class","col-3"),attr(t,"class","topbar svelte-lmwisg"),attr(b,"class","filters svelte-lmwisg")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),D[a].m(i,null),append(t,c),append(t,l),mount_component(u,l,null),append(t,d),append(t,p),mount_component(m,p,null),append(t,f),append(t,h),mount_component(g,h,null),insert(e,$,s),insert(e,b,s),mount_component(v,b,null),append(b,x),mount_component(w,b,null),append(b,C),mount_component(k,b,null),append(b,S),mount_component(T,b,null),append(b,A),mount_component(E,b,null),append(b,O);for(let e=0;e<P.length;e+=1)P[e]&&P[e].m(b,null);I=!0},p(e,t){let n=a;a=M(e),a===n?D[a].p(e,t):(group_outros(),transition_out(D[n],1,1,(()=>{D[n]=null})),check_outros(),s=D[a],s?s.p(e,t):(s=D[a]=N[a](e),s.c()),transition_in(s,1),s.m(i,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const r={};!y&&4&t[0]&&(y=!0,r.value=e[2],add_flush_callback((()=>y=!1))),v.$set(r);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$9),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$3),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$5),e[6],"changed").length),T.$set(d);const p={};if(96&t[0]&&(p.count=filterDiffRowsByFlag(e[5].filter(func_4),e[6],"equal").length),E.$set(p),32864&t[0]){let n;for(F=_.keys(lib$5.DbDiffCompareDefs),n=0;n<F.length;n+=1){const o=get_each_context$m(e,F,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$m(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=F.length;n<P.length;n+=1)j(n);check_outros()}},i(e){if(!I){transition_in(o.$$.fragment,e),transition_in(s),transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(g.$$.fragment,e),transition_in(v.$$.fragment,e),transition_in(w.$$.fragment,e),transition_in(k.$$.fragment,e),transition_in(T.$$.fragment,e),transition_in(E.$$.fragment,e);for(let e=0;e<F.length;e+=1)transition_in(P[e]);I=!0}},o(e){transition_out(o.$$.fragment,e),transition_out(s),transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(g.$$.fragment,e),transition_out(v.$$.fragment,e),transition_out(w.$$.fragment,e),transition_out(k.$$.fragment,e),transition_out(T.$$.fragment,e),transition_out(E.$$.fragment,e),P=P.filter(Boolean);for(let e=0;e<P.length;e+=1)transition_out(P[e]);I=!1},d(e){e&&detach(t),destroy_component(o),D[a].d(),destroy_component(u),destroy_component(m),destroy_component(g),e&&detach($),e&&detach(b),destroy_component(v),destroy_component(w),destroy_component(k),destroy_component(T),destroy_component(E),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,r,i;function a(...t){return e[37](e[45],...t)}return{c(){t=element("input"),attr(t,"type","checkbox"),attr(t,"slot","1"),t.disabled=n="equal"==e[45].state,t.checked=o=!!e[6][`isChecked_${e[45].identifier}`]},m(e,n){insert(e,t,n),r||(i=listen(t,"change",a),r=!0)},p(r,i){e=r,16384&i[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&i[0]|16384&i[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),r=!1,i()}}}function create_default_slot_1$u(e){let t,n;return t=new FontIcon({props:{icon:"icon check-all"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_3(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot_1$u]},$$scope:{ctx:e}}}),t.$on("click",e[14]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot_1(e){let t,n,o,r,i=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!r||16384&n[1])&&i!==(i=e[45].typeName+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,r,i,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$o]},$$scope:{ctx:e}}});let l={rows:e[4],selectable:!0,disableFocusOutline:!0,columns:[{fieldName:"isChecked",header:"",width:"50px",slot:1,headerSlot:2},{fieldName:"type",header:"Type",width:"100px",slot:3},{fieldName:"sourceSchemaName",header:"Schema"},{fieldName:"sourcePureName",header:"Name"},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetSchemaName",header:"Schema"},{fieldName:"targetPureName",header:"Name"}],$$slots:{3:[create__3_slot_1,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],2:[create__2_slot_3],1:[create__1_slot_3,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}};return void 0!==e[1]&&(l.selectedIndex=e[1]),i=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind$2(i,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(r,"class","tableWrapper svelte-lmwisg"),attr(t,"slot","1"),attr(t,"class","flexcol svelte-lmwisg")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};16&t[0]&&(r.rows=e[4]),64&t[0]|278528&t[1]&&(r.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,r.selectedIndex=e[1],add_flush_callback((()=>a=!1))),i.$set(r)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function create__1_slot_1$2(e){let t,n;return t=new DiffView({props:{leftTitle:e[4][e[1]]?.target?.pureName,rightTitle:e[4][e[1]]?.source?.pureName,leftText:lib$5.getCreateObjectScript(e[4][e[1]]?.target,e[3]),rightText:lib$5.getCreateObjectScript(e[4][e[1]]?.source,e[3])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};18&n[0]&&(o.leftTitle=e[4][e[1]]?.target?.pureName),18&n[0]&&(o.rightTitle=e[4][e[1]]?.source?.pureName),26&n[0]&&(o.leftText=lib$5.getCreateObjectScript(e[4][e[1]]?.target,e[3])),26&n[0]&&(o.rightText=lib$5.getCreateObjectScript(e[4][e[1]]?.source,e[3])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_2(e){let t,n;return t=new SqlEditor({props:{readOnly:!0,value:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.value=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$a(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","1"),t.checked=n=!!e[45].sourceNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].sourceNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__2_slot_1$2(e){let t,n;return{c(){t=element("input"),attr(t,"type","checkbox"),t.disabled=!0,attr(t,"slot","2"),t.checked=n=!!e[45].targetNotNull},m(e,n){insert(e,t,n)},p(e,o){16384&o[1]&&n!==(n=!!e[45].targetNotNull)&&(t.checked=n)},d(e){e&&detach(t)}}}function create__3_slot$2(e){let t,n;return t=new ScrollableTableControl({props:{rows:e[9],disableFocusOutline:!0,columns:[{fieldName:"sourceColumnName",header:"Name",width:"100px"},{fieldName:"sourceDataType",header:"Type"},{fieldName:"sourceNotNull",header:"Not null",slot:1},{fieldName:"state",header:"Action",width:"100px"},{fieldName:"targetColumnName",header:"Schema"},{fieldName:"targetDataType",header:"Name"},{fieldName:"targetNotNull",header:"Not null",slot:2}],$$slots:{2:[create__2_slot_1$2,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]],1:[create__1_slot$a,({row:e})=>({45:e}),({row:e})=>[0,e?16384:0]]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n[0]&&(o.rows=e[9]),278528&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$9(e){let t,n;return t=new TabControl({props:{tabs:[{label:"DDL",slot:1},{label:"Synchronize script",slot:2},{label:"Columns",slot:3}],$$slots:{3:[create__3_slot$2],2:[create__2_slot_2],1:[create__1_slot_1$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};794&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$J(e){let t,n,o,r,i;return n=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$9],1:[create__1_slot_2]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-lmwisg")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=action_destroyer(contextMenu.call(null,t,e[16])),r=!0)},p(e,t){const o={};9086&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_toolstrip_slot$7(e){let t,n,o,r,i,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),i=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p:noop$3,i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1R(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$7],default:[create_default_slot$J]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9086&n[0]|262144&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$9=()=>getActiveComponent("CompareModelTab");function stateOrder(e){switch(e){case"added":return 1;case"changed":return 2;case"removed":return 3;case"equal":return 4}return 5}function getAlterObjectScript(e,t,n,o,r,i){if(!t&&!n||!i)return{sql:""};if("tables"==e)return lib$5.getAlterTableScript(t,n,o,r,r,i);const a=i.createDumper();return t&&a.dropSqlObject(t),n&&a.createSqlObject(n),{sql:a.s}}function filterDiffRowsByFlag(e,t,n=null){let o=e;"added"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideAdded)||"added"!=e.state))),"removed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideRemoved)||"removed"!=e.state))),"changed"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideChanged)||"changed"!=e.state))),"equal"!=n&&(o=o.filter((e=>!(null==t?void 0:t.hideEqual)||"equal"!=e.state)));for(const e of _.keys(lib$5.DbDiffCompareDefs))n!=e&&t&&t[`hide_${e}`]&&(o=o.filter((t=>t.objectTypeField!=e)));return o}function filterDiffRows(e,t,n){let o=e.filter((e=>lib$5.filterName(n,e.sourcePureName,e.targetPureName)));return o=filterDiffRowsByFlag(e,t),o}registerCommand({id:"compareModels.reportDiff",category:"Compare models",toolbarName:"Report",name:"Report diff",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().showReport(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().swap(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().deploy(),testEnabled:()=>null!=getCurrentEditor$9()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$9().refreshModels(),testEnabled:()=>null!=getCurrentEditor$9()});const func$c=e=>({label:e.name,value:`archive:${e.name}`}),func_1$9=e=>"added"==e.state,func_2$3=e=>"removed"==e.state,func_3$5=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1O(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3;component_subscribe(e,extensions,(e=>n(31,$=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S()));var T,A,E,O,I,N=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:D}=t,M=0,R="";const L=createActivator("CompareModelTab",!0);const{editorState:F,editorValue:P,setEditorData:j}=useEditorData({tabid:D}),B=Object.assign(Object.assign({},P),{update:j,set:j});component_subscribe(e,B,(e=>n(6,g=e))),registerMenu({command:"compareModels.deploy"},{divider:!0},{command:"compareModels.refresh"},{command:"compareModels.swap"},{divider:!0},{command:"compareModels.reportDiff"});const q=getContextMenu();return e.$$set=e=>{"tabid"in e&&n(17,D=e.tabid)},e.$$.update=()=>{64&e.$$.dirty[0]&&n(29,o="__model"==(null==g?void 0:g.sourceConid)?lib$5.modelCompareDbDiffOptions:{}),64&e.$$.dirty[0]&&(n(12,r=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(r,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,i=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(i,(e=>n(33,v=e)))),8&e.$$.dirty[1]&&n(27,a=lib$5.generateDbPairingId(y)),4&e.$$.dirty[1]&&n(28,s=lib$5.generateDbPairingId(v)),64&e.$$.dirty[0]&&(n(10,c=useConnectionInfo({conid:null==g?void 0:g.targetConid})),w(),w=subscribe(c,(e=>n(32,b=e)))),3&e.$$.dirty[1]&&n(3,l=lib$5.findEngineDriver(b,$)),939524096&e.$$.dirty[0]&&n(30,u=lib$5.matchPairedObjects(a,s,o)),1744830472&e.$$.dirty[0]&&n(5,d=_.sortBy(lib$5.computeDbDiffRows(a,u,o,l),(e=>stateOrder(e.state)))),100&e.$$.dirty[0]&&n(4,p=filterDiffRows(d,g,R)),549453850&e.$$.dirty[0]&&n(9,m=lib$5.computeTableDiffColumns(null===n(22,T=p[M])||void 0===T?void 0:T.source,null===n(23,A=p[M])||void 0===A?void 0:A.target,o,l)),922746906&e.$$.dirty[0]&&n(8,f=getAlterObjectScript(null===n(24,E=p[M])||void 0===E?void 0:E.objectTypeField,null===n(25,O=p[M])||void 0===O?void 0:O.target,null===n(26,I=p[M])||void 0===I?void 0:I.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(D,(e=>Object.assign(Object.assign({},e),{title:`${(null==g?void 0:g.sourceDatabase)||"???"}=>${(null==g?void 0:g.targetDatabase)||"???"}`,props:Object.assign(Object.assign({},e.props),{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})})))},n(7,h=useArchiveFolders()),S(),S=subscribe(h,(e=>n(13,x=e))),[function(){const e=function(){const e=lib$5.DatabaseAnalyser.createEmptyStructure(),t=lib$5.DatabaseAnalyser.createEmptyStructure();for(const n of p.filter((e=>g[`isChecked_${e.identifier}`])))n.source&&e[n.objectTypeField].push(n.source),n.target&&t[n.objectTypeField].push(n.target);return lib$5.getAlterDatabaseScript(t,e,o,s,a,l).sql}();showModal(ConfirmSqlModal,{sql:e,onConfirm:()=>{!function(e){N(this,void 0,void 0,(function*(){const t=null==g?void 0:g.targetConid,n=null==g?void 0:g.targetDatabase,o=yield apiCall("database-connections/run-script",{conid:t,database:n,sql:e,useTransaction:!0}),{errorMessage:r}=o||{};r?showModal(ErrorMessageModal,{title:"Error when saving",message:r}):(set_store_value(B,g=_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))),g),yield apiCall("database-connections/sync-model",{conid:t,database:n}),showSnackbarSuccess("Saved to database"))}))}(e)},engine:l.engine})},M,R,l,p,d,g,h,f,m,c,i,r,x,function(){const e=p.some((e=>g[`isChecked_${e.identifier}`]));set_store_value(B,g=e?_.omitBy(g,((e,t)=>t.startsWith("isChecked_"))):Object.assign(Object.assign({},g),_.fromPairs(p.filter((e=>"equal"!=e.state)).map((e=>[`isChecked_${e.identifier}`,!0])))),g)},B,q,D,L,function(){return N(this,void 0,void 0,(function*(){saveFileToDisk((e=>N(this,void 0,void 0,(function*(){yield apiCall("database-connections/generate-db-diff-report",{filePath:e,sourceConid:null==g?void 0:g.sourceConid,sourceDatabase:null==g?void 0:g.sourceDatabase,targetConid:null==g?void 0:g.targetConid,targetDatabase:null==g?void 0:g.targetDatabase})}))))}))},function(){set_store_value(B,g=Object.assign(Object.assign({},g),{sourceConid:null==g?void 0:g.targetConid,sourceDatabase:null==g?void 0:g.targetDatabase,targetConid:null==g?void 0:g.sourceConid,targetDatabase:null==g?void 0:g.sourceDatabase}),g)},function(){apiCall("database-connections/sync-model",{conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase}),apiCall("database-connections/sync-model",{conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})},T,A,E,O,I,a,s,o,u,$,b,v,y,function(e){R=e,n(2,R)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){M=e,n(1,M)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1O,create_fragment$1R,safe_not_equal,{tabid:17,activator:18,showReport:19,swap:20,refreshModels:21,deploy:0},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get showReport(){return this.$$.ctx[19]}get swap(){return this.$$.ctx[20]}get refreshModels(){return this.$$.ctx[21]}get deploy(){return this.$$.ctx[0]}}var CompareModelTab$1=Object.freeze({__proto__:null,default:CompareModelTab});function create_else_block$o(e){let t,n,o;return n=new Markdown({props:{source:e[1]||""}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","svelte-skjeqm")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2&t&&(o.source=e[1]||""),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$X(e){let t,n;return t=new LoadingInfo({props:{message:"Loading changelog"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1Q(e){let t,n,o,r;const i=[create_if_block$X,create_else_block$o],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1N(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r=!1,i=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,r=!0);const e=yield apiCall("config/changelog");n(1,i=e),n(0,r=!1)}))})),[r,i]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1N,create_fragment$1Q,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$z(e){let t,n;return{c(){t=svg_element("polyline"),attr(t,"points",n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `),attr(t,"class","svelte-j16aco")},m(e,n){insert(e,t,n)},p(e,o){3&o&&n!==(n=`\n ${e[0].x},${e[0].y}\n ${e[1].x},${e[1].y}\n `)&&attr(t,"points",n)},d(e){e&&detach(t)}}}function create_if_block$W(e){let t,n,o,r;return{c(){t=svg_element("g"),n=svg_element("polygon"),attr(n,"transform",o=`rotate(${180+180*e[3]/Math.PI})`),attr(n,"points",`\n 0,0\n ${arwi},${arhi/2}\n ${arwi},${-arhi/2}\n `),attr(n,"class","svelte-j16aco"),attr(t,"transform",r=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,i){8&i&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&i&&r!==(r=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",r)},d(e){e&&detach(t)}}}function create_fragment$1P(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$z(e),r=e[2]&&create_if_block$W(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),r&&r.c(),attr(t,"class","svelte-j16aco")},m(e,i){insert(e,t,i),o&&o.m(t,null),append(t,n),r&&r.m(t,null)},p(e,[i]){e[0]&&e[1]?o?o.p(e,i):(o=create_if_block_1$z(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?r?r.p(e,i):(r=create_if_block$W(e),r.c(),r.m(t,null)):r&&(r.d(1),r=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),r&&r.d()}}}const arwi=12,arhi=12;function instance$1M(e,t,n){let{reference:o}=t,{onRemoveReference:r}=t,{onChangeReference:i}=t,{designer:a}=t,{domTables:s}=t,{settings:c}=t,l=null,u=null,d=null,p=0;function m(){const{designerId:e,sourceId:t,targetId:r,columns:i,joinType:a}=o,c=s[t],m=s[r];if(!c||!m)return null;const f=c.getRect(),h=m.getRect();if(!f||!h)return null;n(0,l={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(1,u={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(2,d=intersectLineBox(l,u,h)[0]),n(3,p=Math.atan2(u.y-l.y,u.x-l.x))}return e.$$set=e=>{"reference"in e&&n(4,o=e.reference),"onRemoveReference"in e&&n(5,r=e.onRemoveReference),"onChangeReference"in e&&n(6,i=e.onChangeReference),"designer"in e&&n(7,a=e.designer),"domTables"in e&&n(8,s=e.domTables),"settings"in e&&n(9,c=e.settings)},e.$$.update=()=>{256&e.$$.dirty&&m()},[l,u,d,p,o,r,i,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1P,safe_not_equal,{reference:4,onRemoveReference:5,onChangeReference:6,designer:7,domTables:8,settings:9,recomputePosition:10})}get recomputePosition(){return this.$$.ctx[10]}}function create_fragment$1O(e){let t,n;const o=[e[0],{settings:{updateFromDbInfo:!0,useDatabaseReferences:!0,allowAddAllReferences:!0,canExport:!0,canSelectTables:!0,allowChangeColor:!0,appendTableSystemMenu:!0,customizeStyle:!0,allowDefineVirtualReferences:!0,arrangeAlg:"springy"}},{referenceComponent:DiagramDesignerReference}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1L(e,t,n){return e.$$set=e=>{n(0,t=assign(assign({},t),exclude_internal_props(e)))},[t=exclude_internal_props(t)]}class DiagramDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1O,safe_not_equal,{})}}function create__1_slot$9(e){let t,n;return t=new DiagramDesigner({props:{value:e[2].value||{},conid:e[0],database:e[1],onChange:e[3],menu:createMenu}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2].value||{}),1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$I(e){let t,n;return t=new VerticalSplitter({props:{isSplitter:!1,$$slots:{1:[create__1_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$6(e){let t,n,o,r,i,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),i=new ToolStripCommandButton({props:{command:"diagram.export"}}),s=new ToolStripCommandButton({props:{command:"diagram.undo"}}),l=new ToolStripCommandButton({props:{command:"diagram.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,d){mount_component(t,e,d),insert(e,n,d),mount_component(o,e,d),insert(e,r,d),mount_component(i,e,d),insert(e,a,d),mount_component(s,e,d),insert(e,c,d),mount_component(l,e,d),u=!0},p:noop$3,i(e){u||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1N(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$6],default:[create_default_slot$I]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524295&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$8=()=>getActiveComponent("DiagramTab");function createMenu(){return[{command:"diagram.save"},{command:"diagram.saveAs"},{command:"designer.arrange"},{command:"diagram.export"},{divider:!0},{command:"diagram.undo"},{command:"diagram.redo"}]}function instance$1K(e,t,n){let o,r,{tabid:i}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:i,onInitialData:e=>{f({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,r=e)));const[m,f]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,i=e.tabid),"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"initialArgs"in e&&n(7,c=e.initialArgs)},e.$$.update=()=>{4&e.$$.dirty&&p(o.value)},[a,s,o,(e,t)=>{f({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,i,c,l,function(){return i},function(){return r.value||""},function(){return o.canUndo},function(){f({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){f({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$8,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1N,safe_not_equal,{tabid:6,conid:0,database:1,initialArgs:7,activator:8,getTabId:9,getData:10,canUndo:11,undo:12,canRedo:13,redo:14})}get activator(){return this.$$.ctx[8]}get getTabId(){return this.$$.ctx[9]}get getData(){return this.$$.ctx[10]}get canUndo(){return this.$$.ctx[11]}get undo(){return this.$$.ctx[12]}get canRedo(){return this.$$.ctx[13]}get redo(){return this.$$.ctx[14]}}var DiagramTab$1=Object.freeze({__proto__:null,default:DiagramTab});function create_fragment$1M(e){let t,n,o;function r(t){e[8](t)}let i={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$b)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(i.selectedIndex=e[2]),t=new ScrollableTableControl({props:i}),binding_callbacks.push((()=>bind$2(t,"selectedIndex",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const r={};1&o&&(r.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$b)]),2&o&&(r.rows=e[1]),8&o&&(r.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,r.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const func$b=e=>({fieldName:e.name,header:e.name});function instance$1J(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r,{conid:i}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const f=createRef(null);function h(){return o(this,void 0,void 0,(function*(){if(!m)if(d)p=!0;else{d=!0;try{const e=yield apiCall("database-connections/load-key-table-range",{conid:i,database:a,key:s.key,cursor:u,count:10}),t=[...l];for(const n of e.items)s.keyColumn&&t.find((e=>e[s.keyColumn]==n[s.keyColumn]))||t.push(Object.assign({rowNumber:t.length+1},n));n(1,l=t),u=e.cursor,n(3,m=0==u)}finally{d=!1}p&&(p=!1,yield tick(),h())}}))}return onMount((()=>{h()})),e.$$set=e=>{"conid"in e&&n(5,i=e.conid),"database"in e&&n(6,a=e.database),"keyInfo"in e&&n(0,s=e.keyInfo),"onChangeSelected"in e&&n(7,c=e.onChangeSelected)},e.$$.update=()=>{134&e.$$.dirty&&c&&l[r]&&f.get()!=r&&(f.set(r),c(l[r])),e.$$.dirty},[s,l,r,m,h,i,a,c,function(e){r=e,n(2,r)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1M,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$y(e){let t,n;return t=new AceEditor({props:{readOnly:!e[2],value:e[1]&&e[1][e[0].name]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.readOnly=!e[2]),3&n&&(o.value=e[1]&&e[1][e[0].name]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$V(e){let t,n,o,r;return o=new JSONTree({props:{value:lib$5.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"},expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-ouq9eo"),attr(t,"class","outer svelte-ouq9eo")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};3&t&&(n.value=lib$5.safeJsonParse(e[1][e[0].name])||{error:"Not valid JSON"}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1L(e){let t,n,o,r,i,a,s,c,l,u=_.startCase(e[0].name)+"";i=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),i.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$y(e),p="json"==e[3]&&create_if_block$V(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),r=space(),create_component(i.$$.fragment),a=space(),s=element("div"),d&&d.c(),c=space(),p&&p.c(),attr(n,"class","colname svelte-ouq9eo"),attr(t,"class","colnamewrap svelte-ouq9eo"),attr(s,"class","colvalue svelte-ouq9eo")},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(t,r),mount_component(i,t,null),insert(e,a,u),insert(e,s,u),d&&d.m(s,null),append(s,c),p&&p.m(s,null),l=!0},p(e,[t]){(!l||1&t)&&u!==(u=_.startCase(e[0].name)+"")&&set_data(o,u);const n={};8&t&&(n.value=e[3]),i.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$y(e),d.c(),transition_in(d,1),d.m(s,c)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"json"==e[3]?p?(p.p(e,t),8&t&&transition_in(p,1)):(p=create_if_block$V(e),p.c(),transition_in(p,1),p.m(s,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(i.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(i),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1I(e,t,n){let o="text",{column:r}=t,{item:i}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,r=e.column),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[r,i,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...i,[r.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1L,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$l(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$l(e){let t,n;return t=new DbKeyValueDetail({props:{item:e[1],column:e[3],onChangeItem:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.item=e[1]),1&n&&(o.column=e[3]),4&n&&(o.onChangeItem=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1K(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$l(get_each_context$l(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null);n=!0},p(e,[n]){if(7&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$l(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$l(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function instance$1H(e,t,n){let{dbKeyFields:o}=t,{item:r}=t,{onChangeItem:i=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,i=e.onChangeItem)},[o,r,i]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1H,create_fragment$1K,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$t(e){let t,n,o;return n=new DbKeyItemDetail({props:{dbKeyFields:e[0].keyType.dbKeyFields,item:e[1],onChangeItem:e[7]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container svelte-tt47mf")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};1&t&&(o.dbKeyFields=e[0].keyType.dbKeyFields),2&t&&(o.item=e[1]),2&t&&(o.onChangeItem=e[7]),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_header_slot$4(e){let t;return{c(){t=text$1("Add item")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$3(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[6]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$H(e){let t,n;const o=[e[3]];let r={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$t]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1J(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$H]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};523&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1G(e,t,n){const o=["keyInfo","label","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{keyInfo:a}=t,{label:s}=t,{onConfirm:c}=t,l={};const u=()=>i(void 0,void 0,void 0,(function*(){(yield c(l))&&closeCurrentModal()}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"keyInfo"in e&&n(0,a=e.keyInfo),"label"in e&&n(4,s=e.label),"onConfirm"in e&&n(5,c=e.onConfirm)},[a,l,u,r,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1J,safe_not_equal,{keyInfo:0,label:4,onConfirm:5})}}function create_catch_block$2(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$2(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y=e[19].type+"";r=new FontIcon({props:{icon:lib$5.getIconForRedisType(e[19].type),padRight:!0}}),l=new TextField({props:{value:e[0],readOnly:!0}}),d=new FormStyledButton({props:{value:`TTL:${e[19].ttl}`}}),d.$on("click",(function(){return e[14](e[19])}));let x="string"==e[19].type&&create_if_block_2$i(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$x(e);h=new FormStyledButton({props:{value:"Refresh"}}),h.$on("click",e[7]);const C=[create_if_block$U,create_else_block$n],k=[];function S(e,t){return e[19].keyType?.dbKeyFields&&e[19].keyType?.showItemList?0:1}return $=S(e),b=k[$]=C[$](e),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=text$1(y),s=space(),c=element("div"),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment),p=space(),x&&x.c(),m=space(),w&&w.c(),f=space(),create_component(h.$$.fragment),g=space(),_=element("div"),b.c(),attr(o,"class","type svelte-1awjfxf"),attr(c,"class","key-name svelte-1awjfxf"),attr(n,"class","top-panel svelte-1awjfxf"),attr(_,"class","content svelte-1awjfxf"),attr(t,"class","container svelte-1awjfxf")},m(e,b){insert(e,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(o,a),append(n,s),append(n,c),mount_component(l,c,null),append(n,u),mount_component(d,n,null),append(n,p),x&&x.m(n,null),append(n,m),w&&w.m(n,null),append(n,f),mount_component(h,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const i={};23&o&&(i.icon=lib$5.getIconForRedisType(e[19].type)),r.$set(i),(!v||23&o)&&y!==(y=e[19].type+"")&&set_data(a,y);const s={};1&o&&(s.value=e[0]),l.$set(s);const c={};23&o&&(c.value=`TTL:${e[19].ttl}`),d.$set(c),"string"==e[19].type?x?(x.p(e,o),23&o&&transition_in(x,1)):(x=create_if_block_2$i(e),x.c(),transition_in(x,1),x.m(n,m)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros()),e[19].keyType?.addMethod&&e[19].keyType?.showItemList?w?(w.p(e,o),23&o&&transition_in(w,1)):(w=create_if_block_1$x(e),w.c(),transition_in(w,1),w.m(n,f)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros());let u=$;$=S(e),$===u?k[$].p(e,o):(group_outros(),transition_out(k[u],1,1,(()=>{k[u]=null})),check_outros(),b=k[$],b?b.p(e,o):(b=k[$]=C[$](e),b.c()),transition_in(b,1),b.m(_,null))},i(e){v||(transition_in(r.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(h.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(h.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(h),k[$].d()}}}function create_if_block_2$i(e){let t,n;return t=new FormStyledButton({props:{value:"Save",disabled:!e[5]}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=!e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$x(e){let t,n;return t=new FormStyledButton({props:{value:"Add item"}}),t.$on("click",(function(){return e[15](e[19])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$n(e){let t,n;return t=new AceEditor({props:{value:e[5]||e[19].value}}),t.$on("input",e[17]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};55&n&&(o.value=e[5]||e[19].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$U(e){let t,n;return t=new VerticalSplitter({props:{$$slots:{2:[create__2_slot$8],1:[create__1_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1048607&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$8(e){let t,n;return t=new DbKeyTableControl({props:{conid:e[1],database:e[2],keyInfo:e[19],onChangeSelected:e[16]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),4&n&&(o.database=e[2]),23&n&&(o.keyInfo=e[19]),8&n&&(o.onChangeSelected=e[16]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$8(e){let t,n;return t=new DbKeyItemDetail({props:{dbKeyFields:e[19].keyType.dbKeyFields,item:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};23&n&&(o.dbKeyFields=e[19].keyType.dbKeyFields),8&n&&(o.item=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block$2(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1I(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$2,then:create_then_block$2,catch:create_catch_block$2,value:19,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,23&o&&n!==(n=apiCall("database-connections/load-key-info",{conid:e[1],database:e[2],key:e[0],refreshToken:e[4]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const matchingProps$2=["conid","database","isDefaultBrowser"],allowAddToFavorites$1=e=>!1;function getKeyText(e){const t=e.split(":");return t.length>1?t[t.length-1]:e}function instance$1F(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{tabid:i}=t,{conid:a}=t,{database:s}=t,{key:c}=t,{isDefaultBrowser:l=!1}=t;const u=createActivator("DbKeyDetailTab",!0);let d,p=0,m=null;function f(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=parseInt(t);_.isNumber(n)&&(n<0?yield apiCall("database-connections/call-method",{conid:a,database:s,method:"persist",args:[e.key]}):yield apiCall("database-connections/call-method",{conid:a,database:s,method:"expire",args:[e.key,n]}),h())}))})}function h(){n(5,m=null),n(4,p+=1)}function g(e){return r(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>r(this,void 0,void 0,(function*(){const n=yield apiCall("database-connections/call-method",{conid:a,database:s,method:e.keyType.addMethod,args:[e.key,...e.keyType.dbKeyFields.map((e=>t[e.name]))]});return n.errorMessage?(showModal(ErrorMessageModal,{message:n.errorMessage}),!1):(h(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,i=e.tabid),"conid"in e&&n(1,a=e.conid),"database"in e&&n(2,s=e.database),"key"in e&&n(0,c=e.key),"isDefaultBrowser"in e&&n(11,l=e.isDefaultBrowser)},e.$$.update=()=>{8198&e.$$.dirty&&n(0,c=o[`${a}:${s}`]),1025&e.$$.dirty&&changeTab(i,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,f,h,function(){return r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),h()}))},g,i,l,u,o,e=>f(e),e=>g(e),e=>{n(3,d=e)},e=>{n(5,m=e.detail)}]}class DbKeyDetailTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1I,safe_not_equal,{tabid:10,conid:1,database:2,key:0,isDefaultBrowser:11,activator:12})}get activator(){return this.$$.ctx[12]}}var DbKeyDetailTab$1=Object.freeze({__proto__:null,default:DbKeyDetailTab,matchingProps:matchingProps$2,allowAddToFavorites:allowAddToFavorites$1});function create_else_block$m(e){let t,n;return t=new LoadingInfo({props:{message:"Loading data..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$T(e){let t,n;return t=new JslDataGrid({props:{jslid:e[0],listenInitializeFile:!0,onCustomGridRefresh:e[2],focusOnVisible:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.jslid=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$G(e){let t,n,o,r;const i=[create_if_block$T,create_else_block$m],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$5(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),i=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1H(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$G]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};262145&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps$1=["conid","database","pureName","sql"],getCurrentEditor$7=()=>getActiveComponent("QueryDataTab");function instance$1E(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const s=createActivator("QueryDataTab",!0);let c,{sql:l}=t,{pureName:u}=t,{schemaName:d}=t,{conid:p}=t,{database:m}=t,f=!1;function h(e,t,o){return a(this,void 0,void 0,(function*(){const r=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=r.jslid),f=!0}))}const g=createQuickExportHandlerRef();function _(){f=!1,invalidateCommands()}return onDestroy((()=>{c&&f&&apiCall("sessions/stop-loading-reader",{jslid:c})})),e.$$set=e=>{"sql"in e&&n(5,l=e.sql),"pureName"in e&&n(6,u=e.pureName),"schemaName"in e&&n(7,d=e.schemaName),"conid"in e&&n(8,p=e.conid),"database"in e&&n(9,m=e.database)},e.$$.update=()=>{800&e.$$.dirty&&h(p,m,l),1&e.$$.dirty&&(n(1,o=useEffect((()=>{return(e=c)?(apiOn(`session-jslid-done-${e}`,_),()=>{apiOff(`session-initialize-file-${e}`,_)}):()=>{};var e}))),i(),i=subscribe(o,(e=>n(12,r=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),h(p,m,l)},g,s,l,u,d,p,m,function(){return f},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),f=!1,invalidateCommands())},r]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$7())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor$7().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1H,safe_not_equal,{activator:4,sql:5,pureName:6,schemaName:7,conid:8,database:9,isLoading:10,stopLoading:11})}get activator(){return this.$$.ctx[4]}get isLoading(){return this.$$.ctx[10]}get stopLoading(){return this.$$.ctx[11]}}var QueryDataTab$1=Object.freeze({__proto__:null,default:QueryDataTab,matchingProps:matchingProps$1});function create_default_slot$F(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1G(e){let t,n,o,r,i;const a=[e[6],{value:e[3][e[0]]||e[2]},{readOnly:!0},{disabled:e[1]}];let s={};for(let e=0;e<a.length;e+=1)s=assign(s,a[e]);return n=new TextField({props:s}),n.$on("click",e[5]),r=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$F]},$$scope:{ctx:e}}}),r.$on("click",e[5]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,[t]){const o=79&t?get_spread_update(a,[64&t&&get_spread_object(e[6]),13&t&&{value:e[3][e[0]]||e[2]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const i={};2&t&&(i.disabled=e[1]),512&t&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function instance$1D(e,t,n){const o=["name","disabled","defaultFileName"];let r,i=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{name:s}=t,{disabled:c=!1}=t,{defaultFileName:l=""}=t;const{values:u,setFieldValue:d}=getFormContext();return component_subscribe(e,u,(e=>n(3,r=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,i=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled),"defaultFileName"in e&&n(2,l=e.defaultFileName)},[s,c,l,r,u,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:u[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&d(s,n)}))},i]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1G,safe_not_equal,{name:0,disabled:1,defaultFileName:2})}}function create_default_slot$E(e){let t,n;const o=[{name:e[1]},e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormElectronFileSelectorRaw({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1F(e){let t,n,o;const r=[{type:"select"},{label:e[0]},e[2]];var i=e[3];function a(e){let t={$$slots:{default:[create_default_slot$E]},$$scope:{ctx:e}};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,[o]){const s=5&o?get_spread_update(r,[r[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),i!==(i=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function instance$1C(e,t,n){const o=["label","name","templateProps"];let r=compute_rest_props(t,o),{label:i}=t,{name:a}=t,{templateProps:s={}}=t;const{template:c}=getFormContext();return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"label"in e&&n(0,i=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[i,a,s,c,r]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1F,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$k(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$k(e){let t,n,o,r,i,a,s,c,l,u,d,p,m=e[8].label+"";return{c(){t=element("div"),n=element("input"),a=space(),s=element("label"),c=text$1(m),u=space(),attr(n,"type","radio"),n.checked=o=e[1]?e[1](e[3][e[0]],e[8]):e[3][e[0]]==e[8].value,n.value=r=e[8].value,attr(n,"id",i=e[8].id),attr(s,"for",l=e[8].id)},m(o,r){insert(o,t,r),append(t,n),append(t,a),append(t,s),append(s,c),append(t,u),d||(p=listen(n,"change",e[5]),d=!0)},p(e,t){15&t&&o!==(o=e[1]?e[1](e[3][e[0]],e[8]):e[3][e[0]]==e[8].value)&&(n.checked=o),4&t&&r!==(r=e[8].value)&&(n.value=r),4&t&&i!==(i=e[8].id)&&attr(n,"id",i),4&t&&m!==(m=e[8].label+"")&&set_data(c,m),4&t&&l!==(l=e[8].id)&&attr(s,"for",l)},d(e){e&&detach(t),d=!1,p()}}}function create_fragment$1E(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$k(get_each_context$k(e,n,t));return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,n){for(let t=0;t<o.length;t+=1)o[t]&&o[t].m(e,n);insert(e,t,n)},p(e,[r]){if(47&r){let i;for(n=e[2],i=0;i<n.length;i+=1){const a=get_each_context$k(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$k(a),o[i].c(),o[i].m(t.parentNode,t))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1B(e,t,n){let o,r,{options:i=[]}=t,{name:a}=t,{matchValueToOption:s=null}=t;const{values:c,setFieldValue:l}=getFormContext();return component_subscribe(e,c,(e=>n(3,r=e))),e.$$set=e=>{"options"in e&&n(6,i=e.options),"name"in e&&n(0,a=e.name),"matchValueToOption"in e&&n(1,s=e.matchValueToOption)},e.$$.update=()=>{64&e.$$.dirty&&n(2,o=i.map((e=>Object.assign(Object.assign({},e),{id:v1_1$6()}))))},[a,s,o,r,c,function(e){l(a,e.currentTarget.value)},i]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1B,create_fragment$1E,safe_not_equal,{options:6,name:0,matchValueToOption:1})}}function create_if_block_28(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:e[5]||!e[14]||e[11].includes("databaseFile")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||!e[14]||e[11].includes("databaseFile")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_27(e){let t,n,o;return n=new FormRadioGroupField({props:{disabled:e[5]||e[11].includes("useDatabaseUrl"),name:"useDatabaseUrl",matchValueToOption:func_2$2,options:[{label:"Fill database connection details",value:"",default:!0},{label:"Use database URL",value:"1"}]}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","radio svelte-1toqt3y")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("useDatabaseUrl")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_26(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[1]?.databaseUrlPlaceholder,disabled:e[5]||e[11].includes("databaseUrl")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.placeholder=e[1]?.databaseUrlPlaceholder),2080&n&&(o.disabled=e[5]||e[11].includes("databaseUrl")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_25(e){let t,n,o=e[4],r=create_key_block$2(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){16&n&&safe_not_equal(o,o=e[4])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block$2(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_key_block$2(e){let t,n;return t=new FormSelectField({props:{label:e[1]?.authTypeLabel??"Authentication",name:"authType",isNative:!0,disabled:e[5],defaultValue:e[1]?.defaultAuthTypeName,options:e[4].map(func_3$4)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.label=e[1]?.authTypeLabel??"Authentication"),32&n&&(o.disabled=e[5]),2&n&&(o.defaultValue=e[1]?.defaultAuthTypeName),16&n&&(o.options=e[4].map(func_3$4)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_24(e){let t,n;return t=new FormTextField({props:{label:"Endpoint",name:"endpoint",disabled:e[5]||e[11].includes("endpoint")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("endpoint")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_23(e){let t,n;return t=new FormTextField({props:{label:"Key",name:"endpointKey",disabled:e[5]||e[11].includes("endpointKey")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("endpointKey")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_22(e){let t,n;return t=new FormTextField({props:{label:"Client library path",name:"clientLibraryPath",disabled:e[5]||e[11].includes("clientLibraryPath")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("clientLibraryPath")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_19(e){let t,n,o,r,i,a,s,c=e[1]?.showConnectionField("port",e[2],e[0]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[5]||e[11].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_21(e),d=l&&create_if_block_20();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),u&&u.c(),i=space(),d&&d.c(),a=empty(),attr(n,"class","col-9 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),u&&u.m(t,null),insert(e,i,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};2080&n&&(r.disabled=e[5]||e[11].includes("server")),o.$set(r),7&n&&(c=e[1]?.showConnectionField("port",e[2],e[0])),c?u?(u.p(e,n),7&n&&transition_in(u,1)):(u=create_if_block_21(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(o.$$.fragment,e),transition_in(u),transition_in(d),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u),transition_out(d),s=!1},d(e){e&&detach(t),destroy_component(o),u&&u.d(),e&&detach(i),d&&d.d(e),e&&detach(a)}}}function create_if_block_21(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[5]||e[11].includes("port"),templateProps:{noMargin:!0},placeholder:e[1]?.defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("port")),2&t&&(o.placeholder=e[1]?.defaultPort),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_20(e){let t,n,o,r;return n=new FontIcon({props:{icon:"img warn",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n Under docker, localhost and 127.0.0.1 will not work, use dockerhost instead"),attr(t,"class","row svelte-1toqt3y")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_18(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"sid"==e[2].serviceNameType?"SID":"Service name",name:"serviceName",disabled:e[5],templateProps:{noMargin:!0}}}),a=new FormSelectField({props:{label:"Choose type",isNative:!0,name:"serviceNameType",defaultValue:"serviceName",disabled:e[5],templateProps:{noMargin:!0},options:[{value:"serviceName",label:"Service name"},{value:"sid",label:"SID"}]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-9 mr-1"),attr(i,"class","col-3"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};4&t&&(n.label="sid"==e[2].serviceNameType?"SID":"Service name"),32&t&&(n.disabled=e[5]),o.$set(n);const r={};32&t&&(r.disabled=e[5]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_17$1(e){let t,n;return t=new FormTextField({props:{label:"Socket path",name:"socketPath",disabled:e[5]||e[11].includes("socketPath"),placeholder:e[1]?.defaultSocketPath}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("socketPath")),2&n&&(o.placeholder=e[1]?.defaultSocketPath),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_14$1(e){let t,n,o,r=e[8]&&create_if_block_16$1(e),i=e[7]&&create_if_block_15$1(e);return{c(){t=element("div"),r&&r.c(),n=space(),i&&i.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),i&&i.m(t,null),o=!0},p(e,o){e[8]?r?(r.p(e,o),256&o&&transition_in(r,1)):(r=create_if_block_16$1(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[7]?i?(i.p(e,o),128&o&&transition_in(i,1)):(i=create_if_block_15$1(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){e&&detach(t),r&&r.d(),i&&i.d()}}}function create_if_block_16$1(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[5]||e[11].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("user")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_15$1(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[5]||e[11].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("password")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_13$3(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[5]||e[11].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("user")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_12$3(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[5]||e[11].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2080&n&&(o.disabled=e[5]||e[11].includes("password")),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_11$3(e){let t,n;return t=new FormDropDownTextField({props:{label:"AWS Region",name:"awsRegion",menu:e[23]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.menu=e[23]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$3(e){let t,n,o;return n=new FormTextField({props:{label:"Access Key ID",name:"accessKeyId",disabled:e[5]||e[11].includes("accessKeyId"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("accessKeyId")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_9$3(e){let t,n,o;return n=new FormPasswordField({props:{label:"Secret access key",name:"secretAccessKey",disabled:e[5]||e[11].includes("secretAccessKey"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};2080&t&&(o.disabled=e[5]||e[11].includes("secretAccessKey")),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_8$3(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",disabled:e[5],options:[{value:"saveEncrypted",label:"Save and encrypt"},{value:"saveRaw",label:"Save raw (UNSAFE!!)"},{value:"askPassword",label:"Don't save, ask for password"},{value:"askUser",label:"Don't save, ask for login and password"}]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$4(e){let t,n;return t=new FormTextField({props:{label:"Key separator",name:"treeKeySeparator",disabled:e[5],placeholder:":"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$7(e){let t,n;return t=new FormTextField({props:{label:"Domain (specify to use NTLM authentication)",name:"windowsDomain",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$8(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$a(e){let t,n;return t=new FormCheckboxField({props:{label:"Trust server certificate",name:"trustServerCertificate",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$c(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$h(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[10]}`,name:"singleDatabase",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1024&n&&(o.label=`Use only database ${e[10]}`),32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$w(e){let t,n;return t=new FormCheckboxField({props:{label:"Use schemas separately (use this if you have many large schemas)",name:"useSeparateSchemas",disabled:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n&&(o.disabled=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$S(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0},disabled:e[5]}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0},disabled:e[5]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6 mr-1"),attr(t,"class","row svelte-1toqt3y")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};32&t&&(n.disabled=e[5]),o.$set(n);const r={};32&t&&(r.disabled=e[5]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_fragment$1D(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y,x,w,C,k,S,T,A,E,O,I=e[1]?.showConnectionField("databaseFile",e[2],e[0]),N=e[1]?.showConnectionField("useDatabaseUrl",e[2],e[0]),D=e[1]?.showConnectionField("databaseUrl",e[2],e[0]),M=e[4]&&e[1]?.showConnectionField("authType",e[2],e[0]),R=e[1]?.showConnectionField("endpoint",e[2],e[0]),L=e[1]?.showConnectionField("endpointKey",e[2],e[0]),F=e[1]?.showConnectionField("clientLibraryPath",e[2],e[0]),P=e[1]?.showConnectionField("server",e[2],e[0]),j=e[1]?.showConnectionField("serviceName",e[2],e[0]),B=e[1]?.showConnectionField("socketPath",e[2],e[0]),q=e[1]?.showConnectionField("awsRegion",e[2],e[0]),W=e[1]?.showConnectionField("accessKeyId",e[2],e[0]),z=e[1]?.showConnectionField("secretAccessKey",e[2],e[0]),H=!e[11].includes("password")&&e[6],U=e[1]?.showConnectionField("treeKeySeparator",e[2],e[0]),V=e[1]?.showConnectionField("windowsDomain",e[2],e[0]),G=e[1]?.showConnectionField("isReadOnly",e[2],e[0]),Y=e[1]?.showConnectionField("trustServerCertificate",e[2],e[0]),K=e[1]?.showConnectionField("defaultDatabase",e[2],e[0]),Q=e[10]&&e[1]?.showConnectionField("singleDatabase",e[2],e[0]),J=e[1]?.showConnectionField("useSeparateSchemas",e[2],e[0]);t=new FormSelectField({props:{label:"Connection type",name:"engine",isNative:!0,disabled:e[5],options:[{label:"(select connection type)",value:""},..._.sortBy(e[3].drivers.filter(e[22]).map(func_1$8),"label")]}});let Z=I&&create_if_block_28(e),X=N&&create_if_block_27(e),ee=D&&create_if_block_26(e),te=M&&create_if_block_25(e),ne=R&&create_if_block_24(e),oe=L&&create_if_block_23(e),re=F&&create_if_block_22(e),ie=P&&create_if_block_19(e),ae=j&&create_if_block_18(e),se=B&&create_if_block_17$1(e),ce=e[8]&&e[7]&&create_if_block_14$1(e),le=e[8]&&!e[7]&&create_if_block_13$3(e),ue=!e[8]&&e[7]&&create_if_block_12$3(e),de=q&&create_if_block_11$3(e),pe=W&&create_if_block_10$3(e),me=z&&create_if_block_9$3(e),fe=H&&create_if_block_8$3(e),he=U&&create_if_block_7$4(e),ge=V&&create_if_block_6$7(e),_e=G&&create_if_block_5$8(e),$e=Y&&create_if_block_4$a(e),be=K&&create_if_block_3$c(e),ve=Q&&create_if_block_2$h(e),ye=J&&create_if_block_1$w(e),xe=e[1]&&create_if_block$S(e);return{c(){create_component(t.$$.fragment),n=space(),Z&&Z.c(),o=space(),X&&X.c(),r=space(),ee&&ee.c(),i=space(),te&&te.c(),a=space(),ne&&ne.c(),s=space(),oe&&oe.c(),c=space(),re&&re.c(),l=space(),ie&&ie.c(),u=space(),ae&&ae.c(),d=space(),se&&se.c(),p=space(),ce&&ce.c(),m=space(),le&&le.c(),f=space(),ue&&ue.c(),h=space(),de&&de.c(),g=space(),$=element("div"),pe&&pe.c(),b=space(),me&&me.c(),v=space(),fe&&fe.c(),y=space(),he&&he.c(),x=space(),ge&&ge.c(),w=space(),_e&&_e.c(),C=space(),$e&&$e.c(),k=space(),be&&be.c(),S=space(),ve&&ve.c(),T=space(),ye&&ye.c(),A=space(),xe&&xe.c(),E=empty(),attr($,"class","row svelte-1toqt3y")},m(e,_){mount_component(t,e,_),insert(e,n,_),Z&&Z.m(e,_),insert(e,o,_),X&&X.m(e,_),insert(e,r,_),ee&&ee.m(e,_),insert(e,i,_),te&&te.m(e,_),insert(e,a,_),ne&&ne.m(e,_),insert(e,s,_),oe&&oe.m(e,_),insert(e,c,_),re&&re.m(e,_),insert(e,l,_),ie&&ie.m(e,_),insert(e,u,_),ae&&ae.m(e,_),insert(e,d,_),se&&se.m(e,_),insert(e,p,_),ce&&ce.m(e,_),insert(e,m,_),le&&le.m(e,_),insert(e,f,_),ue&&ue.m(e,_),insert(e,h,_),de&&de.m(e,_),insert(e,g,_),insert(e,$,_),pe&&pe.m($,null),append($,b),me&&me.m($,null),insert(e,v,_),fe&&fe.m(e,_),insert(e,y,_),he&&he.m(e,_),insert(e,x,_),ge&&ge.m(e,_),insert(e,w,_),_e&&_e.m(e,_),insert(e,C,_),$e&&$e.m(e,_),insert(e,k,_),be&&be.m(e,_),insert(e,S,_),ve&&ve.m(e,_),insert(e,T,_),ye&&ye.m(e,_),insert(e,A,_),xe&&xe.m(e,_),insert(e,E,_),O=!0},p(e,[n]){const v={};32&n&&(v.disabled=e[5]),8&n&&(v.options=[{label:"(select connection type)",value:""},..._.sortBy(e[3].drivers.filter(e[22]).map(func_1$8),"label")]),t.$set(v),7&n&&(I=e[1]?.showConnectionField("databaseFile",e[2],e[0])),I?Z?(Z.p(e,n),7&n&&transition_in(Z,1)):(Z=create_if_block_28(e),Z.c(),transition_in(Z,1),Z.m(o.parentNode,o)):Z&&(group_outros(),transition_out(Z,1,1,(()=>{Z=null})),check_outros()),7&n&&(N=e[1]?.showConnectionField("useDatabaseUrl",e[2],e[0])),N?X?(X.p(e,n),7&n&&transition_in(X,1)):(X=create_if_block_27(e),X.c(),transition_in(X,1),X.m(r.parentNode,r)):X&&(group_outros(),transition_out(X,1,1,(()=>{X=null})),check_outros()),7&n&&(D=e[1]?.showConnectionField("databaseUrl",e[2],e[0])),D?ee?(ee.p(e,n),7&n&&transition_in(ee,1)):(ee=create_if_block_26(e),ee.c(),transition_in(ee,1),ee.m(i.parentNode,i)):ee&&(group_outros(),transition_out(ee,1,1,(()=>{ee=null})),check_outros()),23&n&&(M=e[4]&&e[1]?.showConnectionField("authType",e[2],e[0])),M?te?(te.p(e,n),23&n&&transition_in(te,1)):(te=create_if_block_25(e),te.c(),transition_in(te,1),te.m(a.parentNode,a)):te&&(group_outros(),transition_out(te,1,1,(()=>{te=null})),check_outros()),7&n&&(R=e[1]?.showConnectionField("endpoint",e[2],e[0])),R?ne?(ne.p(e,n),7&n&&transition_in(ne,1)):(ne=create_if_block_24(e),ne.c(),transition_in(ne,1),ne.m(s.parentNode,s)):ne&&(group_outros(),transition_out(ne,1,1,(()=>{ne=null})),check_outros()),7&n&&(L=e[1]?.showConnectionField("endpointKey",e[2],e[0])),L?oe?(oe.p(e,n),7&n&&transition_in(oe,1)):(oe=create_if_block_23(e),oe.c(),transition_in(oe,1),oe.m(c.parentNode,c)):oe&&(group_outros(),transition_out(oe,1,1,(()=>{oe=null})),check_outros()),7&n&&(F=e[1]?.showConnectionField("clientLibraryPath",e[2],e[0])),F?re?(re.p(e,n),7&n&&transition_in(re,1)):(re=create_if_block_22(e),re.c(),transition_in(re,1),re.m(l.parentNode,l)):re&&(group_outros(),transition_out(re,1,1,(()=>{re=null})),check_outros()),7&n&&(P=e[1]?.showConnectionField("server",e[2],e[0])),P?ie?(ie.p(e,n),7&n&&transition_in(ie,1)):(ie=create_if_block_19(e),ie.c(),transition_in(ie,1),ie.m(u.parentNode,u)):ie&&(group_outros(),transition_out(ie,1,1,(()=>{ie=null})),check_outros()),7&n&&(j=e[1]?.showConnectionField("serviceName",e[2],e[0])),j?ae?(ae.p(e,n),7&n&&transition_in(ae,1)):(ae=create_if_block_18(e),ae.c(),transition_in(ae,1),ae.m(d.parentNode,d)):ae&&(group_outros(),transition_out(ae,1,1,(()=>{ae=null})),check_outros()),7&n&&(B=e[1]?.showConnectionField("socketPath",e[2],e[0])),B?se?(se.p(e,n),7&n&&transition_in(se,1)):(se=create_if_block_17$1(e),se.c(),transition_in(se,1),se.m(p.parentNode,p)):se&&(group_outros(),transition_out(se,1,1,(()=>{se=null})),check_outros()),e[8]&&e[7]?ce?(ce.p(e,n),384&n&&transition_in(ce,1)):(ce=create_if_block_14$1(e),ce.c(),transition_in(ce,1),ce.m(m.parentNode,m)):ce&&(group_outros(),transition_out(ce,1,1,(()=>{ce=null})),check_outros()),e[8]&&!e[7]?le?(le.p(e,n),384&n&&transition_in(le,1)):(le=create_if_block_13$3(e),le.c(),transition_in(le,1),le.m(f.parentNode,f)):le&&(group_outros(),transition_out(le,1,1,(()=>{le=null})),check_outros()),!e[8]&&e[7]?ue?(ue.p(e,n),384&n&&transition_in(ue,1)):(ue=create_if_block_12$3(e),ue.c(),transition_in(ue,1),ue.m(h.parentNode,h)):ue&&(group_outros(),transition_out(ue,1,1,(()=>{ue=null})),check_outros()),7&n&&(q=e[1]?.showConnectionField("awsRegion",e[2],e[0])),q?de?(de.p(e,n),7&n&&transition_in(de,1)):(de=create_if_block_11$3(e),de.c(),transition_in(de,1),de.m(g.parentNode,g)):de&&(group_outros(),transition_out(de,1,1,(()=>{de=null})),check_outros()),7&n&&(W=e[1]?.showConnectionField("accessKeyId",e[2],e[0])),W?pe?(pe.p(e,n),7&n&&transition_in(pe,1)):(pe=create_if_block_10$3(e),pe.c(),transition_in(pe,1),pe.m($,b)):pe&&(group_outros(),transition_out(pe,1,1,(()=>{pe=null})),check_outros()),7&n&&(z=e[1]?.showConnectionField("secretAccessKey",e[2],e[0])),z?me?(me.p(e,n),7&n&&transition_in(me,1)):(me=create_if_block_9$3(e),me.c(),transition_in(me,1),me.m($,null)):me&&(group_outros(),transition_out(me,1,1,(()=>{me=null})),check_outros()),2112&n&&(H=!e[11].includes("password")&&e[6]),H?fe?(fe.p(e,n),2112&n&&transition_in(fe,1)):(fe=create_if_block_8$3(e),fe.c(),transition_in(fe,1),fe.m(y.parentNode,y)):fe&&(group_outros(),transition_out(fe,1,1,(()=>{fe=null})),check_outros()),7&n&&(U=e[1]?.showConnectionField("treeKeySeparator",e[2],e[0])),U?he?(he.p(e,n),7&n&&transition_in(he,1)):(he=create_if_block_7$4(e),he.c(),transition_in(he,1),he.m(x.parentNode,x)):he&&(group_outros(),transition_out(he,1,1,(()=>{he=null})),check_outros()),7&n&&(V=e[1]?.showConnectionField("windowsDomain",e[2],e[0])),V?ge?(ge.p(e,n),7&n&&transition_in(ge,1)):(ge=create_if_block_6$7(e),ge.c(),transition_in(ge,1),ge.m(w.parentNode,w)):ge&&(group_outros(),transition_out(ge,1,1,(()=>{ge=null})),check_outros()),7&n&&(G=e[1]?.showConnectionField("isReadOnly",e[2],e[0])),G?_e?(_e.p(e,n),7&n&&transition_in(_e,1)):(_e=create_if_block_5$8(e),_e.c(),transition_in(_e,1),_e.m(C.parentNode,C)):_e&&(group_outros(),transition_out(_e,1,1,(()=>{_e=null})),check_outros()),7&n&&(Y=e[1]?.showConnectionField("trustServerCertificate",e[2],e[0])),Y?$e?($e.p(e,n),7&n&&transition_in($e,1)):($e=create_if_block_4$a(e),$e.c(),transition_in($e,1),$e.m(k.parentNode,k)):$e&&(group_outros(),transition_out($e,1,1,(()=>{$e=null})),check_outros()),7&n&&(K=e[1]?.showConnectionField("defaultDatabase",e[2],e[0])),K?be?(be.p(e,n),7&n&&transition_in(be,1)):(be=create_if_block_3$c(e),be.c(),transition_in(be,1),be.m(S.parentNode,S)):be&&(group_outros(),transition_out(be,1,1,(()=>{be=null})),check_outros()),1031&n&&(Q=e[10]&&e[1]?.showConnectionField("singleDatabase",e[2],e[0])),Q?ve?(ve.p(e,n),1031&n&&transition_in(ve,1)):(ve=create_if_block_2$h(e),ve.c(),transition_in(ve,1),ve.m(T.parentNode,T)):ve&&(group_outros(),transition_out(ve,1,1,(()=>{ve=null})),check_outros()),7&n&&(J=e[1]?.showConnectionField("useSeparateSchemas",e[2],e[0])),J?ye?(ye.p(e,n),7&n&&transition_in(ye,1)):(ye=create_if_block_1$w(e),ye.c(),transition_in(ye,1),ye.m(A.parentNode,A)):ye&&(group_outros(),transition_out(ye,1,1,(()=>{ye=null})),check_outros()),e[1]?xe?(xe.p(e,n),2&n&&transition_in(xe,1)):(xe=create_if_block$S(e),xe.c(),transition_in(xe,1),xe.m(E.parentNode,E)):xe&&(group_outros(),transition_out(xe,1,1,(()=>{xe=null})),check_outros())},i(e){O||(transition_in(t.$$.fragment,e),transition_in(Z),transition_in(X),transition_in(ee),transition_in(te),transition_in(ne),transition_in(oe),transition_in(re),transition_in(ie),transition_in(ae),transition_in(se),transition_in(ce),transition_in(le),transition_in(ue),transition_in(de),transition_in(pe),transition_in(me),transition_in(fe),transition_in(he),transition_in(ge),transition_in(_e),transition_in($e),transition_in(be),transition_in(ve),transition_in(ye),transition_in(xe),O=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(Z),transition_out(X),transition_out(ee),transition_out(te),transition_out(ne),transition_out(oe),transition_out(re),transition_out(ie),transition_out(ae),transition_out(se),transition_out(ce),transition_out(le),transition_out(ue),transition_out(de),transition_out(pe),transition_out(me),transition_out(fe),transition_out(he),transition_out(ge),transition_out(_e),transition_out($e),transition_out(be),transition_out(ve),transition_out(ye),transition_out(xe),O=!1},d(e){destroy_component(t,e),e&&detach(n),Z&&Z.d(e),e&&detach(o),X&&X.d(e),e&&detach(r),ee&&ee.d(e),e&&detach(i),te&&te.d(e),e&&detach(a),ne&&ne.d(e),e&&detach(s),oe&&oe.d(e),e&&detach(c),re&&re.d(e),e&&detach(l),ie&&ie.d(e),e&&detach(u),ae&&ae.d(e),e&&detach(d),se&&se.d(e),e&&detach(p),ce&&ce.d(e),e&&detach(m),le&&le.d(e),e&&detach(f),ue&&ue.d(e),e&&detach(h),de&&de.d(e),e&&detach(g),e&&detach($),pe&&pe.d(),me&&me.d(),e&&detach(v),fe&&fe.d(e),e&&detach(y),he&&he.d(e),e&&detach(x),ge&&ge.d(e),e&&detach(w),_e&&_e.d(e),e&&detach(C),$e&&$e.d(e),e&&detach(k),be&&be.d(e),e&&detach(S),ve&&ve.d(e),e&&detach(T),ye&&ye.d(e),e&&detach(A),xe&&xe.d(e),e&&detach(E)}}}const func_1$8=e=>({value:e.engine,label:e.title}),func_2$2=(e,t)=>!!t.value==!!e,func_3$4=e=>({value:e.name,label:e.title});function instance$1A(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x=noop$3,w=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(19,_=e))),component_subscribe(e,openedConnections,(e=>n(20,$=e))),component_subscribe(e,extensions,(e=>n(3,v=e))),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w()));const{values:C}=getFormContext();component_subscribe(e,C,(e=>n(2,g=e)));const k=getElectron(),S=["us-east-1","us-east-2","us-west-1","us-west-2","af-south-1","ap-east-1","ap-south-1","ap-northeast-1","ap-northeast-2","ap-northeast-3","ap-southeast-1","ap-southeast-2","ap-southeast-3","ca-central-1","cn-north-1","cn-northwest-1","eu-central-1","eu-west-1","eu-west-2","eu-west-3","eu-north-1","eu-south-1","eu-south-2","me-south-1","me-central-1","sa-east-1"];return e.$$.update=()=>{4&e.$$.dirty&&n(18,o=g.authType),4&e.$$.dirty&&n(16,r=g.engine),4&e.$$.dirty&&g.useDatabaseUrl,65536&e.$$.dirty&&(n(12,i=useAuthTypes({engine:r})),w(),w=subscribe(i,(e=>n(4,y=e)))),262160&e.$$.dirty&&n(17,a=y&&y.find((e=>e.name==o))),131072&e.$$.dirty&&n(11,s=(a?a.disabledFields:null)||[]),65544&e.$$.dirty&&n(1,c=v.drivers.find((e=>e.engine==r))),4&e.$$.dirty&&n(10,l=g.defaultDatabase),2097152&e.$$.dirty&&n(0,d={config:b}),7&e.$$.dirty&&n(8,p=(null==c?void 0:c.showConnectionField("user",g,d))&&"askUser"!=g.passwordMode),7&e.$$.dirty&&n(7,m=(null==c?void 0:c.showConnectionField("password",g,d))&&"askPassword"!=g.passwordMode&&"askUser"!=g.passwordMode),7&e.$$.dirty&&n(6,f=null==c?void 0:c.showConnectionField("password",g,d)),1572868&e.$$.dirty&&n(5,h=$.includes(g._id)||_.includes(g._id))},n(9,u=useConfig()),x(),x=subscribe(u,(e=>n(21,b=e))),[d,c,g,v,y,h,f,m,p,u,l,s,i,C,k,S,r,a,o,_,$,b,e=>!e.isElectronOnly||k,()=>S.map((e=>({text:e,onClick:()=>{set_store_value(C,g={...g,awsRegion:e},g)}})))]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1D,safe_not_equal,{})}}function create_if_block_5$7(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[1]||!e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$9(e){let t,n,o,r,i,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(i,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),s=!0},p(e,t){const n={};10&t&&(n.disabled=e[1]||!e[3]),o.$set(n);const r={};10&t&&(r.disabled=e[1]||!e[3]),a.$set(r)},i(e){s||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a)}}}function create_if_block_2$g(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_3$b,create_else_block_1$6],u=[];return o=function(e,t){return e[6]?0:1}(e),r=u[o]=l[o](e),s=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),r.c(),i=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-6 mr-1"),attr(a,"class","col-6"),attr(t,"class","row svelte-10d5vjg")},m(e,r){insert(e,t,r),append(t,n),u[o].m(n,null),append(t,i),append(t,a),mount_component(s,a,null),c=!0},p(e,t){r.p(e,t);const n={};10&t&&(n.disabled=e[1]||!e[3]),s.$set(n)},i(e){c||(transition_in(r),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(r),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[o].d(),destroy_component(s)}}}function create_else_block_1$6(e){let t,n;return t=new FormTextField({props:{label:"Private key file (path on server)",name:"sshKeyfile",disabled:e[1]||!e[3],templateProps:{noMargin:!0},placeholder:e[4]?.defaultKeyfile}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),16&n&&(o.placeholder=e[4]?.defaultKeyfile),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$b(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:e[1]||!e[3],templateProps:{noMargin:!0},defaultFileName:e[4]?.defaultKeyfile}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};10&n&&(o.disabled=e[1]||!e[3]),16&n&&(o.defaultFileName=e[4]?.defaultKeyfile),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$R(e){let t,n,o,r;const i=[create_if_block_1$v,create_else_block$l],a=[];function s(e,t){return e[4]&&e[4].sshAuthSock?0:1}return n=s(e),o=a[n]=i[n](e),{c(){t=element("div"),o.c(),attr(t,"class","ml-3 mb-3")},m(e,o){insert(e,t,o),a[n].m(t,null),r=!0},p(e,r){let c=n;n=s(e),n!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),o=a[n],o||(o=a[n]=i[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$l(e){let t,n,o;return t=new FontIcon({props:{icon:"img error"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent not found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_1$v(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok"}}),{c(){create_component(t.$$.fragment),n=text$1(" SSH Agent found")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_fragment$1C(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel",disabled:e[1]}}),i=new FormTextField({props:{label:"Host",name:"sshHost",disabled:e[1]||!e[3],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:e[1]||!e[3],templateProps:{noMargin:!0},placeholder:"22"}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:e[1]||!e[3]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,defaultSelectValue:"userPassword",disabled:e[1]||!e[3],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=(e[0].sshMode||"userPassword")&&create_if_block_5$7(e),v="userPassword"==(e[0].sshMode||"userPassword")&&create_if_block_4$9(e),y="keyFile"==e[0].sshMode&&create_if_block_2$g(e),x=e[3]&&"agent"==e[0].sshMode&&create_if_block$R(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment),d=space(),create_component(p.$$.fragment),m=space(),b&&b.c(),f=space(),v&&v.c(),h=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(r,"class","col-9 mr-1"),attr(s,"class","col-3"),attr(o,"class","row svelte-10d5vjg")},m(e,w){mount_component(t,e,w),insert(e,n,w),insert(e,o,w),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),mount_component(c,s,null),insert(e,l,w),mount_component(u,e,w),insert(e,d,w),mount_component(p,e,w),insert(e,m,w),b&&b.m(e,w),insert(e,f,w),v&&v.m(e,w),insert(e,h,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[n]){const o={};2&n&&(o.disabled=e[1]),t.$set(o);const r={};10&n&&(r.disabled=e[1]||!e[3]),i.$set(r);const a={};10&n&&(a.disabled=e[1]||!e[3]),c.$set(a);const s={};10&n&&(s.disabled=e[1]||!e[3]),u.$set(s);const l={};10&n&&(l.disabled=e[1]||!e[3]),p.$set(l),"userPassword"!=(e[0].sshMode||"userPassword")?b?(b.p(e,n),1&n&&transition_in(b,1)):(b=create_if_block_5$7(e),b.c(),transition_in(b,1),b.m(f.parentNode,f)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==(e[0].sshMode||"userPassword")?v?(v.p(e,n),1&n&&transition_in(v,1)):(v=create_if_block_4$9(e),v.c(),transition_in(v,1),v.m(h.parentNode,h)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),"keyFile"==e[0].sshMode?y?(y.p(e,n),1&n&&transition_in(y,1)):(y=create_if_block_2$g(e),y.c(),transition_in(y,1),y.m(g.parentNode,g)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),e[3]&&"agent"==e[0].sshMode?x?(x.p(e,n),9&n&&transition_in(x,1)):(x=create_if_block$R(e),x.c(),transition_in(x,1),x.m(_.parentNode,_)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros())},i(e){$||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(b),transition_in(v),transition_in(y),transition_in(x),$=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(b),transition_out(v),transition_out(y),transition_out(x),$=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(i),destroy_component(c),e&&detach(l),destroy_component(u,e),e&&detach(d),destroy_component(p,e),e&&detach(m),b&&b.d(e),e&&detach(f),v&&v.d(e),e&&detach(h),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1z(e,t,n){let o,r,i,a,s,c,l,u=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(7,s=e))),component_subscribe(e,openedConnections,(e=>n(8,c=e))),e.$$.on_destroy.push((()=>u()));const{values:d,setFieldValue:p}=getFormContext();component_subscribe(e,d,(e=>n(0,a=e)));const m=getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(3,o=a.useSshTunnel),385&e.$$.dirty&&n(1,i=c.includes(a._id)||s.includes(a._id))},n(2,r=usePlatformInfo()),u(),u=subscribe(r,(e=>n(4,l=e))),[a,i,r,o,l,d,m,s,c]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1C,safe_not_equal,{})}}function create_fragment$1B(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new FormCheckboxField({props:{label:"Use SSL",name:"useSsl",disabled:e[0]}}),o=new FormElectronFileSelector({props:{label:"CA Cert (optional)",name:"sslCaFile",disabled:e[0]||!e[1]||!e[3]}}),i=new FormElectronFileSelector({props:{label:"Certificate (optional)",name:"sslCertFile",disabled:e[0]||!e[1]||!e[3]}}),s=new FormPasswordField({props:{label:"Certificate key file password (optional)",name:"sslCertFilePassword",disabled:e[0]||!e[1]||!e[3]}}),l=new FormElectronFileSelector({props:{label:"Key file (optional)",name:"sslKeyFile",disabled:e[0]||!e[1]||!e[3]}}),d=new FormCheckboxField({props:{label:"Reject unauthorized",name:"sslRejectUnauthorized",disabled:e[0]||!e[1]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,[n]){const r={};1&n&&(r.disabled=e[0]),t.$set(r);const a={};3&n&&(a.disabled=e[0]||!e[1]||!e[3]),o.$set(a);const c={};3&n&&(c.disabled=e[0]||!e[1]||!e[3]),i.$set(c);const u={};3&n&&(u.disabled=e[0]||!e[1]||!e[3]),s.$set(u);const p={};3&n&&(p.disabled=e[0]||!e[1]||!e[3]),l.$set(p);const m={};3&n&&(m.disabled=e[0]||!e[1]),d.$set(m)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1y(e,t,n){let o,r,i,a,s;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(5,a=e))),component_subscribe(e,openedConnections,(e=>n(6,s=e)));const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(4,i=e)));const u=getElectron();return e.$$.update=()=>{16&e.$$.dirty&&n(1,o=i.useSsl),112&e.$$.dirty&&n(0,r=s.includes(i._id)||a.includes(i._id))},[r,o,c,u,i,a,s]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1B,safe_not_equal,{})}}function create_fragment$1A(e){let t,n,o,r;return t=new FormTextAreaField({props:{label:"Allowed databases, one per line",name:"allowedDatabases",disabled:e[0],rows:8}}),o=new FormTextField({props:{label:"Allowed databases regular expression",name:"allowedDatabasesRegex",disabled:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1&n&&(r.disabled=e[0]),t.$set(r);const i={};1&n&&(i.disabled=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$1x(e,t,n){let o,r,i,a;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(3,i=e))),component_subscribe(e,openedConnections,(e=>n(4,a=e)));const{values:s}=getFormContext();return component_subscribe(e,s,(e=>n(2,r=e))),e.$$.update=()=>{28&e.$$.dirty&&n(0,o=a.includes(r._id)||i.includes(r._id))},[o,s,r,i,a]}class ConnectionAdvancedDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1A,safe_not_equal,{})}}function create_if_block$Q(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block_4$8,create_if_block_6$6,create_else_block_1$5],d=[];function p(e,t){return e[0]?0:e[4]?1:2}o=p(e),r=d[o]=u[o](e);let m=!e[2]&&e[3]&&"connected"==e[3].msgtype&&create_if_block_3$a(e),f=!e[2]&&e[3]&&"error"==e[3].msgtype&&create_if_block_2$f(e),h=e[2]&&create_if_block_1$u();return{c(){t=element("div"),n=element("div"),r.c(),i=space(),a=element("div"),m&&m.c(),s=space(),f&&f.c(),c=space(),h&&h.c(),attr(n,"class","buttons svelte-1patgrk"),attr(a,"class","test-result svelte-1patgrk"),attr(t,"class","flex")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(t,i),append(t,a),m&&m.m(a,null),append(a,s),f&&f.m(a,null),append(a,c),h&&h.m(a,null),l=!0},p(e,t){let i=o;o=p(e),o===i?d[o].p(e,t):(group_outros(),transition_out(d[i],1,1,(()=>{d[i]=null})),check_outros(),r=d[o],r?r.p(e,t):(r=d[o]=u[o](e),r.c()),transition_in(r,1),r.m(n,null)),!e[2]&&e[3]&&"connected"==e[3].msgtype?m?(m.p(e,t),12&t&&transition_in(m,1)):(m=create_if_block_3$a(e),m.c(),transition_in(m,1),m.m(a,s)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[2]&&e[3]&&"error"==e[3].msgtype?f?(f.p(e,t),12&t&&transition_in(f,1)):(f=create_if_block_2$f(e),f.c(),transition_in(f,1),f.m(a,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[2]?h?4&t&&transition_in(h,1):(h=create_if_block_1$u(),h.c(),transition_in(h,1),h.m(a,null)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros())},i(e){l||(transition_in(r),transition_in(m),transition_in(f),transition_in(h),l=!0)},o(e){transition_out(r),transition_out(m),transition_out(f),transition_out(h),l=!1},d(e){e&&detach(t),d[o].d(),m&&m.d(),f&&f.d(),h&&h.d()}}}function create_else_block_1$5(e){let t,n,o,r,i,a,s;t=new FormButton({props:{value:"Connect"}}),t.$on("click",e[11]);const c=[create_if_block_7$3,create_else_block_2$1],l=[];function u(e,t){return e[2]?0:1}return o=u(e),r=l[o]=c[o](e),a=new FormButton({props:{value:"Save"}}),a.$on("click",e[10]),{c(){create_component(t.$$.fragment),n=space(),r.c(),i=space(),create_component(a.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),l[o].m(e,r),insert(e,i,r),mount_component(a,e,r),s=!0},p(e,t){let n=o;o=u(e),o===n?l[o].p(e,t):(group_outros(),transition_out(l[n],1,1,(()=>{l[n]=null})),check_outros(),r=l[o],r?r.p(e,t):(r=l[o]=c[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i))},i(e){s||(transition_in(t.$$.fragment,e),transition_in(r),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),l[o].d(e),e&&detach(i),destroy_component(a,e)}}}function create_if_block_6$6(e){let t,n;return t=new FormButton({props:{value:"Disconnect"}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$8(e){let t,n,o,r;const i=[create_if_block_5$6,create_else_block$k],a=[];function s(e,t){return e[2]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block_2$1(e){let t,n;return t=new FormButton({props:{value:"Test"}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7$3(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[9]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$k(e){let t,n;return t=new FormButton({props:{value:"Test connection"}}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$6(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[9]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$a(e){let t,n,o,r,i,a,s=e[3].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),r=space(),i=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||8&t)&&s!==(s=e[3].version+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block_2$f(e){let t,n,o,r,i,a,s,c,l=e[3].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[22],$$slots:{default:[create_default_slot_1$s]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","error-result svelte-1patgrk")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||8&t)&&l!==(l=e[3].error+"")&&set_data(i,l);const n={};8&t&&(n.onClick=e[22]),134217728&t&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_1$s(e){let t;return{c(){t=text$1("Show detail")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_1$u(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_default_slot$D(e){let t,n,o,r;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[5]?.showConnectionTab("sshTunnel",e[1])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[5]?.showConnectionTab("ssl",e[1])&&{label:"SSL",component:ConnectionSslFields},{label:"Advanced",component:ConnectionAdvancedDriverFields}]}});let i=e[5]&&create_if_block$Q(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","wrapper svelte-1patgrk")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(e,o){const r={};34&o&&(r.tabs=[{label:"General",component:ConnectionDriverFields},e[5]?.showConnectionTab("sshTunnel",e[1])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[5]?.showConnectionTab("ssl",e[1])&&{label:"SSL",component:ConnectionSslFields},{label:"Advanced",component:ConnectionAdvancedDriverFields}]),n.$set(r),e[5]?i?(i.p(e,o),32&o&&transition_in(i,1)):(i=create_if_block$Q(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_fragment$1z(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[7],$$slots:{default:[create_default_slot$D]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};134217791&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const matchingProps=["conid"];function instance$1w(e,t,n){let o,r,i,a,s,c,l,u,d,p=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(19,c=e))),component_subscribe(e,openedConnections,(e=>n(20,l=e))),component_subscribe(e,extensions,(e=>n(21,d=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let f,h,{connection:g}=t,{tabid:$}=t,{conid:b}=t,{connectionStore:v}=t,{onlyTestButton:y}=t;const x=v||writable(g||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,x,(e=>n(1,s=e)));const w=createRef(0);function C(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase","socketPath","serviceName"],t=e.filter((e=>null==r?void 0:r.showConnectionField(e,s,{config:u}))),n=_.difference(e,t);s.defaultDatabase||n.push("singleDatabase");let o=_.omit(s,n);return(null==r?void 0:r.beforeConnectionSave)&&(o=null==r?void 0:r.beforeConnectionSave(o)),(null==r?void 0:r.showConnectionTab("sshTunnel",s))?s.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==r?void 0:r.showConnectionTab("ssl",s))?s.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>m(void 0,void 0,void 0,(function*(){if(b){const e=yield apiCall("connections/get",{conid:b});e?set_store_value(x,s=e,s):showSnackbarError(`Connection not found: ${b}`)}}))));return e.$$set=e=>{"connection"in e&&n(13,g=e.connection),"tabid"in e&&n(14,$=e.tabid),"conid"in e&&n(15,b=e.conid),"connectionStore"in e&&n(16,v=e.connectionStore),"onlyTestButton"in e&&n(0,y=e.onlyTestButton)},e.$$.update=()=>{2&e.$$.dirty&&n(18,o=s.engine),2359296&e.$$.dirty&&n(5,r=d.drivers.find((e=>e.engine==o))),1572866&e.$$.dirty&&n(4,a=l.includes(s._id)||c.includes(s._id))},n(6,i=useConfig()),p(),p=subscribe(i,(e=>n(23,u=e))),[y,s,f,h,a,r,i,x,function(e){return m(this,void 0,void 0,(function*(){n(2,f=!0),w.update((e=>e+1));const t=w.get(),o=yield apiCall("connections/test",e.detail);w.get()==t&&(n(2,f=!1),n(3,h=o))}))},function(){w.update((e=>e+1)),n(2,f=!1)},function(){return m(this,void 0,void 0,(function*(){let e=C();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(x,s=Object.assign(Object.assign({},s),{_id:t._id,unsaved:!1}),s),changeTab($,(e=>Object.assign(Object.assign({},e),{title:lib$5.getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return m(this,void 0,void 0,(function*(){let e=C();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!0}));const t=yield apiCall("connections/save",e);set_store_value(x,s=Object.assign(Object.assign({},s),{unsaved:e.unsaved,_id:t._id}),s),openConnection(t)}))},function(){return m(this,void 0,void 0,(function*(){s.singleDatabase?disconnectDatabaseConnection(s._id,s.defaultDatabase):disconnectServerConnection(s._id)}))},g,$,b,v,function(e){return(null==r?void 0:r.beforeConnectionSave)?r.beforeConnectionSave(e):e},o,c,l,d,()=>showModal(ErrorMessageModal,{message:h.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1z,safe_not_equal,{connection:13,tabid:14,conid:15,connectionStore:16,onlyTestButton:0,changeConnectionBeforeSave:17})}get changeConnectionBeforeSave(){return this.$$.ctx[17]}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps});function create_if_block$P(e){let t,n;return t=new MapView({props:{geoJson:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.geoJson=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1y(e){let t,n,o=e[0]&&create_if_block$P(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$P(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$1v(e,t,n){let o,{tabid:r}=t;return useEditorData({tabid:r,onInitialData:e=>{n(0,o=e)}}),e.$$set=e=>{"tabid"in e&&n(1,r=e.tabid)},[o,r]}class MapTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1y,safe_not_equal,{tabid:1})}}var MapTab$1=Object.freeze({__proto__:null,default:MapTab});function get_each_context$j(e,t,n){const o=e.slice();return o[43]=t[n],o[45]=n,o}function create_key_block_1(e){let t,n;return t=new SelectField({props:{value:e[43].baseColumnName,isNative:!0,notSelected:!0,options:(e[12]?.columns||[]).map(func$a)}}),t.$on("change",(function(...t){return e[38](e[45],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};256&o[0]&&(r.value=e[43].baseColumnName),4096&o[0]&&(r.options=(e[12]?.columns||[]).map(func$a)),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_key_block$1(e){let t,n;return t=new SelectField({props:{value:e[43].refColumnName,isNative:!0,notSelected:!0,options:(e[20]?.columns||e[21]?.columns||[]).map(func_1$7)}}),t.$on("change",(function(...t){return e[39](e[45],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};256&o[0]&&(r.value=e[43].refColumnName),3145728&o[0]&&(r.options=(e[20]?.columns||e[21]?.columns||[]).map(func_1$7)),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$j(e){let t,n,o,r,i,a,s,c,l=e[43].baseColumnName,u=e[43].refColumnName,d=create_key_block_1(e),p=create_key_block$1(e);return s=new FormStyledButton({props:{value:"Delete"}}),s.$on("click",(function(...t){return e[40](e[45],...t)})),{c(){t=element("div"),n=element("div"),d.c(),o=space(),r=element("div"),p.c(),i=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-5 mr-1"),attr(r,"class","col-5 ml-1"),attr(a,"class","col-2 button svelte-1ecnyiy"),attr(t,"class","row svelte-1ecnyiy")},m(e,l){insert(e,t,l),append(t,n),d.m(n,null),append(t,o),append(t,r),p.m(r,null),append(t,i),append(t,a),mount_component(s,a,null),c=!0},p(t,o){e=t,256&o[0]&&safe_not_equal(l,l=e[43].baseColumnName)?(group_outros(),transition_out(d,1,1,noop$3),check_outros(),d=create_key_block_1(e),d.c(),transition_in(d,1),d.m(n,null)):d.p(e,o),256&o[0]&&safe_not_equal(u,u=e[43].refColumnName)?(group_outros(),transition_out(p,1,1,noop$3),check_outros(),p=create_key_block$1(e),p.c(),transition_in(p,1),p.m(r,null)):p.p(e,o)},i(e){c||(transition_in(d),transition_in(p),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(d),transition_out(p),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),d.d(e),p.d(e),destroy_component(s)}}}function create_default_slot_1$r(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A,E,O,I,N,D,M,R,L,F,P,j,B,q,W,z,H=e[12]?.pureName+"",U=(e[5]||"(table not set)")+"";a=new TextField({props:{value:e[9],options:e[11]}}),a.$on("change",e[33]),p=new SelectField({props:{value:e[4],isNative:!0,notSelected:!0,options:e[11]}}),p.$on("change",e[34]),$=new SelectField({props:{value:e[2],isNative:!0,options:e[15]}}),$.$on("change",e[35]),C=new SelectField({props:{value:e[3],isNative:!0,options:e[13]}}),C.$on("change",e[36]),O=new SelectField({props:{value:lib$5.fullNameToString({pureName:e[5],schemaName:e[6]}),isNative:!0,notSelected:!0,options:e[10]}}),O.$on("change",e[37]);let V=e[8],G=[];for(let t=0;t<V.length;t+=1)G[t]=create_each_block$j(get_each_context$j(e,V,t));const Y=e=>transition_out(G[e],1,1,(()=>{G[e]=null}));return W=new FormStyledButton({props:{type:"button",value:"Add column"}}),W.$on("click",e[41]),{c(){t=element("div"),n=element("div"),o=element("div"),o.textContent="Join name",r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),l=element("div"),l.textContent="Base table",u=space(),d=element("div"),create_component(p.$$.fragment),m=space(),f=element("div"),h=element("div"),h.textContent="Connection",g=space(),_=element("div"),create_component($.$$.fragment),b=space(),v=element("div"),y=element("div"),y.textContent="Database",x=space(),w=element("div"),create_component(C.$$.fragment),k=space(),S=element("div"),T=element("div"),T.textContent="Referenced table",A=space(),E=element("div"),create_component(O.$$.fragment),I=space(),N=element("div"),D=element("div"),M=text$1("Base column - "),R=text$1(H),L=space(),F=element("div"),P=text$1("Ref column - "),j=text$1(U),B=space();for(let e=0;e<G.length;e+=1)G[e].c();q=space(),create_component(W.$$.fragment),attr(o,"class","label col-3 svelte-1ecnyiy"),attr(i,"class","col-9"),attr(n,"class","row svelte-1ecnyiy"),attr(l,"class","label col-3 svelte-1ecnyiy"),attr(d,"class","col-9"),attr(c,"class","row svelte-1ecnyiy"),attr(h,"class","label col-3 svelte-1ecnyiy"),attr(_,"class","col-9"),attr(f,"class","row svelte-1ecnyiy"),attr(y,"class","label col-3 svelte-1ecnyiy"),attr(w,"class","col-9"),attr(v,"class","row svelte-1ecnyiy"),attr(T,"class","label col-3 svelte-1ecnyiy"),attr(E,"class","col-9"),attr(S,"class","row svelte-1ecnyiy"),attr(D,"class","col-5 mr-1"),attr(F,"class","col-5 ml-1"),attr(N,"class","row svelte-1ecnyiy"),attr(t,"class","largeFormMarker")},m(e,H){insert(e,t,H),append(t,n),append(n,o),append(n,r),append(n,i),mount_component(a,i,null),append(t,s),append(t,c),append(c,l),append(c,u),append(c,d),mount_component(p,d,null),append(t,m),append(t,f),append(f,h),append(f,g),append(f,_),mount_component($,_,null),append(t,b),append(t,v),append(v,y),append(v,x),append(v,w),mount_component(C,w,null),append(t,k),append(t,S),append(S,T),append(S,A),append(S,E),mount_component(O,E,null),append(t,I),append(t,N),append(N,D),append(D,M),append(D,R),append(N,L),append(N,F),append(F,P),append(F,j),append(t,B);for(let e=0;e<G.length;e+=1)G[e]&&G[e].m(t,null);append(t,q),mount_component(W,t,null),z=!0},p(e,n){const o={};512&n[0]&&(o.value=e[9]),2048&n[0]&&(o.options=e[11]),a.$set(o);const r={};16&n[0]&&(r.value=e[4]),2048&n[0]&&(r.options=e[11]),p.$set(r);const i={};4&n[0]&&(i.value=e[2]),32768&n[0]&&(i.options=e[15]),$.$set(i);const s={};8&n[0]&&(s.value=e[3]),8192&n[0]&&(s.options=e[13]),C.$set(s);const c={};if(96&n[0]&&(c.value=lib$5.fullNameToString({pureName:e[5],schemaName:e[6]})),1024&n[0]&&(c.options=e[10]),O.$set(c),(!z||4096&n[0])&&H!==(H=e[12]?.pureName+"")&&set_data(R,H),(!z||32&n[0])&&U!==(U=(e[5]||"(table not set)")+"")&&set_data(j,U),3150080&n[0]){let o;for(V=e[8],o=0;o<V.length;o+=1){const r=get_each_context$j(e,V,o);G[o]?(G[o].p(r,n),transition_in(G[o],1)):(G[o]=create_each_block$j(r),G[o].c(),transition_in(G[o],1),G[o].m(t,q))}for(group_outros(),o=V.length;o<G.length;o+=1)Y(o);check_outros()}},i(e){if(!z){transition_in(a.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in($.$$.fragment,e),transition_in(C.$$.fragment,e),transition_in(O.$$.fragment,e);for(let e=0;e<V.length;e+=1)transition_in(G[e]);transition_in(W.$$.fragment,e),z=!0}},o(e){transition_out(a.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out($.$$.fragment,e),transition_out(C.$$.fragment,e),transition_out(O.$$.fragment,e),G=G.filter(Boolean);for(let e=0;e<G.length;e+=1)transition_out(G[e]);transition_out(W.$$.fragment,e),z=!1},d(e){e&&detach(t),destroy_component(a),destroy_component(p),destroy_component($),destroy_component(C),destroy_component(O),destroy_each(G,e),destroy_component(W)}}}function create_header_slot$3(e){let t;return{c(){t=text$1("Define custom join")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$2(e){let t,n,o,r;return t=new FormSubmit({props:{value:"Save"}}),t.$on("click",e[32]),o=new FormStyledButton({props:{type:"button",value:"Close"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$C(e){let t,n;const o=[e[22]];let r={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$r]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=4194304&n[0]?get_spread_update(o,[get_spread_object(e[22])]):{};3194879&n[0]|32768&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1x(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};7389183&n[0]|32768&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$a=e=>({label:e.columnName,value:e.columnName}),func_1$7=e=>({label:e.columnName,value:e.columnName});function instance$1u(e,t,n){let o,r,i,a,s,c,l,u,d,p;const m=["conid","database","root","setConfig","config","editValue"];let f,h,g,$,b,v=compute_rest_props(t,m),y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));var S,T=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:A}=t,{database:E}=t,{root:O}=t,{setConfig:I}=t,{config:N}=t,{editValue:D=null}=t,M=(null==D?void 0:D.conid)||null,R=(null==D?void 0:D.database)||null,L=(null==D?void 0:D.columns)||[],F=(null==D?void 0:D.baseDesignerId)||O.designerId,P=(null==D?void 0:D.refTableName)||null,j=(null==D?void 0:D.refSchemaName)||null,B=(null==D?void 0:D.joinName)||"",q=[],W=[];return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(22,v=compute_rest_props(t,m)),"conid"in e&&n(23,A=e.conid),"database"in e&&n(24,E=e.database),"root"in e&&n(25,O=e.root),"setConfig"in e&&n(0,I=e.setConfig),"config"in e&&n(26,N=e.config),"editValue"in e&&n(1,D=e.editValue)},e.$$.update=()=>{25165836&e.$$.dirty[0]&&(n(19,o=useDatabaseInfo({conid:M||A,database:R||E})),w(),w=subscribe(o,(e=>n(7,g=e)))),25165932&e.$$.dirty[0]&&(n(18,r=useTableInfo({conid:M||A,database:R||E,schemaName:j,pureName:P})),C(),C=subscribe(r,(e=>n(20,$=e)))),25165932&e.$$.dirty[0]&&(n(17,i=useViewInfo({conid:M||A,database:R||E,schemaName:j,pureName:P})),k(),k=subscribe(i,(e=>n(21,b=e)))),128&e.$$.dirty[0]&&n(28,a=[..._.sortBy((null==g?void 0:g.tables)||[],["schemaName","pureName"]),..._.sortBy((null==g?void 0:g.views)||[],["schemaName","pureName"])]),1&e.$$.dirty[1]&&n(15,c=[{value:null,label:"The same as root"},..._.sortBy((h||[]).filter((e=>!e.unsaved)).map((e=>({value:e._id,label:lib$5.getConnectionLabel(e)}))),"label")]),8388612&e.$$.dirty[0]&&(n(14,l=useDatabaseList({conid:M||A})),y(),y=subscribe(l,(e=>n(30,f=e)))),1073741824&e.$$.dirty[0]&&n(13,u=[{value:null,label:"The same as root"},..._.sortBy((f||[]).map((e=>({value:e.name,label:e.name}))),"label")]),33554432&e.$$.dirty[0]&&n(29,d=O.getBaseTables()),671088656&e.$$.dirty[0]&&n(12,p=null===n(27,S=null==d?void 0:d.find((e=>e.node.designerId==F)))||void 0===S?void 0:S.table),805306368&e.$$.dirty[0]&&T(void 0,void 0,void 0,(function*(){yield tick(),n(11,W=d.map((e=>({label:lib$5.fullNameToLabel(e.table),value:e.node.designerId})))),n(10,q=a.map((e=>({label:lib$5.fullNameToLabel(e),value:lib$5.fullNameToString(e)}))))}))},n(16,s=useConnectionList()),x(),x=subscribe(s,(e=>n(31,h=e))),[I,D,M,R,F,P,j,g,L,B,q,W,p,u,l,c,s,i,r,o,$,b,v,A,E,O,N,S,a,d,f,h,()=>{I((e=>{const t=lib$1.createPerspectiveNodeConfig({pureName:P,schemaName:j});t.designerId=D?.refNodeDesignerId||v1_1$6(),t.conid=M,t.database=R,t.position=e.nodes.find((e=>e.designerId==D?.refNodeDesignerId))?.position,t.alias=B;const n={designerId:D?.referenceDesignerId||v1_1$6(),sourceId:F,targetId:t.designerId,columns:L.map((e=>({source:e.baseColumnName,target:e.refColumnName})))};return{...e,nodes:[...e.nodes.filter((e=>e.designerId!=D?.refNodeDesignerId)),t],references:[...e.references.filter((e=>e.designerId!=D?.referenceDesignerId)),n]}})),closeCurrentModal()},e=>{n(9,B=e.target.value)},e=>{e.detail&&n(4,F=e.detail)},e=>{n(2,M=e.detail)},e=>{n(3,R=e.detail)},e=>{if(e.detail){const t=lib$5.fullNameFromString(e.detail);n(5,P=t.pureName),n(6,j=t.schemaName);const o=g?.tables?.find((e=>e.pureName==P&&e.schemaName==j));n(8,L=o?.primaryKey?.columns?.map((e=>({refColumnName:e.columnName})))||[])}},(e,t)=>{t.detail&&n(8,L=L.map(((n,o)=>o==e?{...n,baseColumnName:t.detail}:n)))},(e,t)=>{t.detail&&n(8,L=L.map(((n,o)=>o==e?{...n,refColumnName:t.detail}:n)))},(e,t)=>{const o=[...L];o.splice(e,1),n(8,L=o)},()=>{n(8,L=[...L,{baseColumnName:"",refColumnName:""}])}]}class CustomJoinModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1x,safe_not_equal,{conid:23,database:24,root:25,setConfig:0,config:26,editValue:1},null,[-1,-1])}}function setPerspectiveSort(e,t,n,o){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[{columnName:n,order:o}]}):e))})}function addToPerspectiveSort(e,t,n,o){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[...(e.sort||[]).filter((e=>e.columnName!=n)),{columnName:n,order:o}]}):e))})}function clearPerspectiveSort(e,t){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{sort:[]}):e))})}function addToPerspectiveFilter(e,t,n,o=""){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{filters:Object.assign(Object.assign({},e.filters),{[n]:o})}):e))})}function setPerspectiveTableAlias(e,t,n){return Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==t?Object.assign(Object.assign({},e),{alias:n}):e))})}function getPerspectiveNodeMenu(e){var t,n,o,r;const{node:i,conid:a,database:s,root:c,config:l,setConfig:u,designerId:d}=e,p=null==i?void 0:i.customJoinConfig,m=null==i?void 0:i.filterInfo,f=(null===(t=null==i?void 0:i.parentNode)||void 0===t?void 0:t.designerId)||"",h=null==i?void 0:i.columnName,g=null===(o=null===(n=l.nodes)||void 0===n?void 0:n.find((e=>e.designerId==f)))||void 0===o?void 0:o.sort,$=null===(r=null==g?void 0:g.find((e=>e.columnName==h)))||void 0===r?void 0:r.order;(null==g?void 0:g.length)>1&&_.findIndex(g,(e=>e.columnName==h));const b=(null==g?void 0:g.length)>0,v=l.nodes.find((e=>e.designerId==d)),y=e=>{u((t=>setPerspectiveSort(t,f,h,e)),!0)},x=e=>{u((t=>addToPerspectiveSort(t,f,h,e)),!0)};return[(null==i?void 0:i.isSortable)&&{onClick:()=>y("ASC"),text:"Sort ascending"},(null==i?void 0:i.isSortable)&&{onClick:()=>y("DESC"),text:"Sort descending"},(null==i?void 0:i.isSortable)&&b&&!$&&{onClick:()=>x("ASC"),text:"Add to sort - ascending"},(null==i?void 0:i.isSortable)&&b&&!$&&{onClick:()=>x("DESC"),text:"Add to sort - descending"},(null==i?void 0:i.isSortable)&&$&&{onClick:()=>{u((e=>clearPerspectiveSort(e,f)),!0)},text:"Clear sort criteria"},{divider:!0},m&&{text:"Add to filter",onClick:()=>u((e=>addToPerspectiveFilter(e,f,h)))},p&&{text:"Remove custom join",onClick:()=>u((e=>Object.assign(Object.assign({},e),{nodes:(e.nodes||[]).filter((e=>e.designerId!=p.refNodeDesignerId)),references:(e.references||[]).filter((e=>e.designerId!=p.referenceDesignerId))})))},p&&{text:"Edit custom join",onClick:()=>showModal(CustomJoinModal,{config:l,setConfig:u,conid:a,database:s,root:c,editValue:p})},(null==i?void 0:i.supportsParentFilter)&&{text:i.isParentFilter?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{u((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==i?void 0:i.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!i.isParentFilter}):e))})),!0)}},v&&[{text:"Set alias",onClick:()=>{var e;showModal(InputTextModal,{value:(null===(e=null==i?void 0:i.nodeConfig)||void 0===e?void 0:e.alias)||"",label:"New alias",header:"Set alias",onConfirm:e=>{u((t=>setPerspectiveTableAlias(t,d,e)))}})}},(null==v?void 0:v.alias)&&{text:"Remove alias",onClick:()=>u((e=>setPerspectiveTableAlias(e,d,null)))}],v&&l.rootDesignerId!=d&&[{divider:!0},{text:"Set root",onClick:()=>__awaiter$m(this,void 0,void 0,(function*(){u((e=>Object.assign(Object.assign({},e),{rootDesignerId:d}))),yield tick(),l.isArranged&&runCommand("designer.arrange")}))}]]}function create_if_block_1$t(e){let t,n,o,r;return{c(){t=element("input"),attr(t,"type","checkbox"),t.checked=n=e[0].isSecondaryChecked},m(n,i){insert(n,t,i),o||(r=[listen(t,"click",click_handler_2),listen(t,"mousedown",mousedown_handler_1),listen(t,"change",e[10])],o=!0)},p(e,o){1&o&&n!==(n=e[0].isSecondaryChecked)&&(t.checked=n)},d(e){e&&detach(t),o=!1,run_all(r)}}}function create_if_block$O(e){let t,n;return t=new FontIcon({props:{icon:"img filter"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1w(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v=e[0].title+"",y=e[0].getFilter();o=new FontIcon({props:{icon:e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"}}),o.$on("click",e[8]);let x=e[0].secondaryCheckable&&create_if_block_1$t(e);u=new FontIcon({props:{icon:e[0].icon}}),h=new SortOrderIcon({props:{order:e[0].sortOrder,orderIndex:e[0].sortOrderIndex}});let w=y&&create_if_block$O();return{c(){t=element("div"),n=element("span"),create_component(o.$$.fragment),i=space(),a=element("input"),c=space(),x&&x.c(),l=space(),create_component(u.$$.fragment),d=space(),p=element("span"),m=text$1(v),f=space(),create_component(h.$$.fragment),g=space(),w&&w.c(),attr(n,"class","expandColumnIcon"),attr(n,"style",r=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`),attr(a,"type","checkbox"),a.checked=s=e[0].isChecked,attr(t,"class","row svelte-n2q9l8")},m(r,s){insert(r,t,s),append(t,n),mount_component(o,n,null),append(t,i),append(t,a),append(t,c),x&&x.m(t,null),append(t,l),mount_component(u,t,null),append(t,d),append(t,p),append(p,m),append(t,f),mount_component(h,t,null),append(t,g),w&&w.m(t,null),_=!0,$||(b=[listen(a,"click",click_handler_1),listen(a,"mousedown",mousedown_handler),listen(a,"change",e[9]),action_destroyer(contextMenu.call(null,t,e[2]))],$=!0)},p(e,[i]){const c={};1&i&&(c.icon=e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"),o.$set(c),(!_||3&i&&r!==(r=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`))&&attr(n,"style",r),(!_||1&i&&s!==(s=e[0].isChecked))&&(a.checked=s),e[0].secondaryCheckable?x?x.p(e,i):(x=create_if_block_1$t(e),x.c(),x.m(t,l)):x&&(x.d(1),x=null);const d={};1&i&&(d.icon=e[0].icon),u.$set(d),(!_||1&i)&&v!==(v=e[0].title+"")&&set_data(m,v);const p={};1&i&&(p.order=e[0].sortOrder),1&i&&(p.orderIndex=e[0].sortOrderIndex),h.$set(p),1&i&&(y=e[0].getFilter()),y?w?1&i&&transition_in(w,1):(w=create_if_block$O(),w.c(),transition_in(w,1),w.m(t,null)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros())},i(e){_||(transition_in(o.$$.fragment,e),transition_in(u.$$.fragment,e),transition_in(h.$$.fragment,e),transition_in(w),_=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(h.$$.fragment,e),transition_out(w),_=!1},d(e){e&&detach(t),destroy_component(o),x&&x.d(),destroy_component(u),destroy_component(h),w&&w.d(),$=!1,run_all(b)}}}const click_handler_1=e=>{e.stopPropagation()},mousedown_handler=e=>{e.stopPropagation()},click_handler_2=e=>{e.stopPropagation()},mousedown_handler_1=e=>{e.stopPropagation()};function instance$1t(e,t,n){let{conid:o}=t,{database:r}=t,{node:i}=t,{root:a}=t,{tempRoot:s}=t,{config:c}=t,{setConfig:l}=t;return e.$$set=e=>{"conid"in e&&n(3,o=e.conid),"database"in e&&n(4,r=e.database),"node"in e&&n(0,i=e.node),"root"in e&&n(5,a=e.root),"tempRoot"in e&&n(1,s=e.tempRoot),"config"in e&&n(6,c=e.config),"setConfig"in e&&n(7,l=e.setConfig)},[i,s,function(){return getPerspectiveNodeMenu({conid:o,database:r,node:i,root:a,config:c,setConfig:l,designerId:null==i?void 0:i.designerId})},o,r,a,c,l,()=>{i.toggleExpanded()},()=>{i.toggleChecked()},()=>{i.toggleSecondaryChecked()}]}class PerspectiveNodeRow extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1w,safe_not_equal,{conid:3,database:4,node:0,root:5,tempRoot:1,config:6,setConfig:7})}}function get_each_context$i(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$i(e){let t,n;return t=new PerspectiveNodeRow({props:{node:e[8],config:e[2],setConfig:e[3],root:e[0],tempRoot:e[1],conid:e[4],database:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};67&n&&(o.node=e[8]),4&n&&(o.config=e[2]),8&n&&(o.setConfig=e[3]),1&n&&(o.root=e[0]),2&n&&(o.tempRoot=e[1]),16&n&&(o.conid=e[4]),32&n&&(o.database=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1v(e){let t,n,o=e[7](e[1]??e[0],e[6]),r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$i(get_each_context$i(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(255&n){let a;for(o=e[7](e[1]??e[0],e[6]),a=0;a<o.length;a+=1){const i=get_each_context$i(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$i(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$1s(e,t,n){let{root:o}=t,{tempRoot:r}=t,{config:i}=t,{setConfig:a}=t,{conid:s}=t,{database:c}=t,{filter:l}=t;return e.$$set=e=>{"root"in e&&n(0,o=e.root),"tempRoot"in e&&n(1,r=e.tempRoot),"config"in e&&n(2,i=e.config),"setConfig"in e&&n(3,a=e.setConfig),"conid"in e&&n(4,s=e.conid),"database"in e&&n(5,c=e.database),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,function e(t,n){const o=[];for(const r of null==t?void 0:t.childNodes)if(lib$5.filterName(n,r.title))o.push(r),r.isExpanded&&o.push(...e(r,n));else if(r.isExpanded){const t=e(r,n);t.length>0&&(o.push(r),o.push(...t))}return o}]}class PerspectiveTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1v,safe_not_equal,{root:0,tempRoot:1,config:2,setConfig:3,conid:4,database:5,filter:6})}}function get_if_ctx(e){const t=e.slice(),n=lib$5.getAsImageSrc(t[0]);return t[6]=n,t}function create_if_block$N(e){let t,n,o,r,i;const a=[create_if_block_1$s,create_if_block_2$e,create_if_block_4$7,create_if_block_5$5,create_if_block_6$5,create_else_block_1$4],s=[];function c(e,n){return 1&n&&(t=null),"json"==e[4]?0:"image"==e[4]?1:"text"==e[4]?2:"forceText"==e[4]?3:(null==t&&(t=!(e[0]?.$oid||!_.isArray(e[0])&&!_.isPlainObject(e[0]))),t?4:5)}function l(e,t){return 1===t?get_if_ctx(e):e}return n=c(e,-1),o=s[n]=a[n](l(e,n)),{c(){o.c(),r=empty()},m(e,t){s[n].m(e,t),insert(e,r,t),i=!0},p(e,t){let i=n;n=c(e,t),n===i?s[n].p(l(e,n),t):(group_outros(),transition_out(s[i],1,1,(()=>{s[i]=null})),check_outros(),o=s[n],o?o.p(l(e,n),t):(o=s[n]=a[n](l(e,n)),o.c()),transition_in(o,1),o.m(r.parentNode,r))},i(e){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){s[n].d(e),e&&detach(r)}}}function create_else_block_1$4(e){let t,n;return t=new CellValue({props:{rowData:e[2],value:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.rowData=e[2]),1&n&&(o.value=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$5(e){let t,n;return t=new JSONTree({props:{value:e[0],slicedKeyCount:1,disableContextMenu:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.value=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$5(e){let t,n=e[5](e[0],!0)+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&n!==(n=e[5](e[0],!0)+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_4$7(e){let t,n=e[5](e[0],!1)+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&n!==(n=e[5](e[0],!1)+"")&&set_data(t,n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_2$e(e){let t;function n(e,t){return e[6]?create_if_block_3$9:create_else_block$j}let o=n(e),r=o(e);return{c(){r.c(),t=empty()},m(e,n){r.m(e,n),insert(e,t,n)},p(e,i){o===(o=n(e))&&r?r.p(e,i):(r.d(1),r=o(e),r&&(r.c(),r.m(t.parentNode,t)))},i:noop$3,o:noop$3,d(e){r.d(e),e&&detach(t)}}}function create_if_block_1$s(e){let t,n;return t=new JSONTree({props:{value:lib$5.safeJsonParse(e[0],e[0]?.toString()),slicedKeyCount:1,disableContextMenu:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.value=lib$5.safeJsonParse(e[0],e[0]?.toString())),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$j(e){let t;return{c(){t=element("span"),t.textContent="(no image)",attr(t,"class","null svelte-1tkw7jt")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$9(e){let t,n;return{c(){t=element("img"),src_url_equal(t.src,n=e[6])||attr(t,"src",n)},m(e,n){insert(e,t,n)},p(e,o){1&o&&!src_url_equal(t.src,n=e[6])&&attr(t,"src",n)},d(e){e&&detach(t)}}}function create_fragment$1u(e){let t,n,o=void 0!==e[0]&&create_if_block$N(e);return{c(){t=element("td"),o&&o.c(),attr(t,"rowspan",e[1]),attr(t,"data-column",e[3]),attr(t,"class","svelte-1tkw7jt"),toggle_class(t,"isEmpty",void 0===e[0])},m(e,r){insert(e,t,r),o&&o.m(t,null),n=!0},p(e,[r]){void 0!==e[0]?o?(o.p(e,r),1&r&&transition_in(o,1)):(o=create_if_block$N(e),o.c(),transition_in(o,1),o.m(t,null)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()),(!n||2&r)&&attr(t,"rowspan",e[1]),(!n||8&r)&&attr(t,"data-column",e[3]),(!n||1&r)&&toggle_class(t,"isEmpty",void 0===e[0])},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){e&&detach(t),o&&o.d()}}}function instance$1r(e,t,n){let{value:o}=t,{rowSpan:r}=t,{rowData:i}=t,{columnIndex:a}=t,{displayType:s}=t;return e.$$set=e=>{"value"in e&&n(0,o=e.value),"rowSpan"in e&&n(1,r=e.rowSpan),"rowData"in e&&n(2,i=e.rowData),"columnIndex"in e&&n(3,a=e.columnIndex),"displayType"in e&&n(4,s=e.displayType)},[o,r,i,a,s,function(e,t){return t&&"Buffer"==(null==e?void 0:e.type)&&_.isArray(e.data)?String.fromCharCode.apply(String,e.data):lib$5.stringifyCellValue(e,"gridCellIntent").value}]}class PerspectiveCell extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1u,safe_not_equal,{value:0,rowSpan:1,rowData:2,columnIndex:3,displayType:4})}}function create_fragment$1t(e){let t;return{c(){t=element("div"),t.innerHTML='<div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div> \n <div class="svelte-bxata"></div>',attr(t,"class","lds-spinner svelte-bxata")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}class PerspectiveLoadingIndicator extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$1t,safe_not_equal,{})}}function create_if_block_2$d(e){let t,n,o,r,i,a,s,c,l,u=e[0].title+"";return a=new SortOrderIcon({props:{order:e[3],orderIndex:e[2]}}),{c(){t=element("th"),n=element("div"),o=element("div"),r=text$1(u),i=space(),create_component(a.$$.fragment),attr(o,"class","label svelte-uz4mu9"),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"rowspan",s=e[0].rowSpan),attr(t,"class","columnHeader svelte-uz4mu9"),attr(t,"data-column",c=e[0].columnIndex)},m(e,s){insert(e,t,s),append(t,n),append(n,o),append(o,r),append(n,i),mount_component(a,n,null),l=!0},p(e,n){(!l||1&n)&&u!==(u=e[0].title+"")&&set_data(r,u);const o={};8&n&&(o.order=e[3]),4&n&&(o.orderIndex=e[2]),a.$set(o),(!l||1&n&&s!==(s=e[0].rowSpan))&&attr(t,"rowspan",s),(!l||1&n&&c!==(c=e[0].columnIndex))&&attr(t,"data-column",c)},i(e){l||(transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(a)}}}function create_if_block$M(e){let t,n,o,r,i,a,s,c=e[0].getParentName(e[1])+"",l=e[0].getParentNode(e[1])?.isParentFilter,u=l&&create_if_block_1$r();return{c(){t=element("th"),n=element("div"),o=text$1(c),r=space(),u&&u.c(),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"colspan",i=e[0].getColSpan(e[1])),attr(t,"class","tableHeader svelte-uz4mu9"),attr(t,"data-tablenodedesignerid",a=e[0].getParentTableDesignerId(e[1]))},m(e,i){insert(e,t,i),append(t,n),append(n,o),append(n,r),u&&u.m(n,null),s=!0},p(e,r){(!s||3&r)&&c!==(c=e[0].getParentName(e[1])+"")&&set_data(o,c),3&r&&(l=e[0].getParentNode(e[1])?.isParentFilter),l?u?3&r&&transition_in(u,1):(u=create_if_block_1$r(),u.c(),transition_in(u,1),u.m(n,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),(!s||3&r&&i!==(i=e[0].getColSpan(e[1])))&&attr(t,"colspan",i),(!s||3&r&&a!==(a=e[0].getParentTableDesignerId(e[1])))&&attr(t,"data-tablenodedesignerid",a)},i(e){s||(transition_in(u),s=!0)},o(e){transition_out(u),s=!1},d(e){e&&detach(t),u&&u.d()}}}function create_if_block_1$r(e){let t,n,o;return n=new FontIcon({props:{icon:"img parent-filter"}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","icon svelte-uz4mu9")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$1s(e){let t,n,o,r=e[0].isVisible(e[1]),i=e[0].showParent(e[1]),a=r&&create_if_block_2$d(e),s=i&&create_if_block$M(e);return{c(){a&&a.c(),t=space(),s&&s.c(),n=empty()},m(e,r){a&&a.m(e,r),insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,[o]){3&o&&(r=e[0].isVisible(e[1])),r?a?(a.p(e,o),3&o&&transition_in(a,1)):(a=create_if_block_2$d(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros()),3&o&&(i=e[0].showParent(e[1])),i?s?(s.p(e,o),3&o&&transition_in(s,1)):(s=create_if_block$M(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){o||(transition_in(a),transition_in(s),o=!0)},o(e){transition_out(a),transition_out(s),o=!1},d(e){a&&a.d(e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function instance$1q(e,t,n){let o,r;var i,a;let{column:s}=t,{columnLevel:c}=t,{config:l}=t,{setConfig:u}=t;return e.$$set=e=>{"column"in e&&n(0,s=e.column),"columnLevel"in e&&n(1,c=e.columnLevel),"config"in e&&n(4,l=e.config),"setConfig"in e&&n(5,u=e.setConfig)},e.$$.update=()=>{65&e.$$.dirty&&n(3,o=null===n(6,i=s.dataNode)||void 0===i?void 0:i.sortOrder),129&e.$$.dirty&&n(2,r=null===n(7,a=s.dataNode)||void 0===a?void 0:a.sortOrderIndex)},[s,c,r,o,l,u,i,a]}class PerspectiveHeaderControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{column:0,columnLevel:1,config:4,setConfig:5})}}function get_each_context$h(e,t,n){const o=e.slice();return o[31]=t[n],o[33]=n,o}function get_each_context_1$2(e,t,n){const o=e.slice();return o[34]=t[n],o}function get_each_context_2$1(e,t,n){const o=e.slice();return o[37]=t[n],o}function get_each_context_3(e,t,n){const o=e.slice();return o[34]=t[n],o}function create_if_block_3$8(e){let t,n,o,r,i,a=_.range(e[4].columnLevelCount),s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block_2$1(get_each_context_2$1(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[4].rows,u=[];for(let t=0;t<l.length;t+=1)u[t]=create_each_block$h(get_each_context$h(e,l,t));const d=e=>transition_out(u[e],1,1,(()=>{u[e]=null}));return{c(){t=element("table"),n=element("thead");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),r=element("tbody");for(let e=0;e<u.length;e+=1)u[e].c();attr(n,"class","svelte-msvx43"),attr(t,"class","svelte-msvx43")},m(a,c){insert(a,t,c),append(t,n);for(let e=0;e<s.length;e+=1)s[e]&&s[e].m(n,null);append(t,o),append(t,r);for(let e=0;e<u.length;e+=1)u[e]&&u[e].m(r,null);e[19](t),i=!0},p(e,t){if(28&t[0]){let o;for(a=_.range(e[4].columnLevelCount),o=0;o<a.length;o+=1){const r=get_each_context_2$1(e,a,o);s[o]?(s[o].p(r,t),transition_in(s[o],1)):(s[o]=create_each_block_2$1(r),s[o].c(),transition_in(s[o],1),s[o].m(n,null))}for(group_outros(),o=a.length;o<s.length;o+=1)c(o);check_outros()}if(16&t[0]){let n;for(l=e[4].rows,n=0;n<l.length;n+=1){const o=get_each_context$h(e,l,n);u[n]?(u[n].p(o,t),transition_in(u[n],1)):(u[n]=create_each_block$h(o),u[n].c(),transition_in(u[n],1),u[n].m(r,null))}for(group_outros(),n=l.length;n<u.length;n+=1)d(n);check_outros()}},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);for(let e=0;e<l.length;e+=1)transition_in(u[e]);i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);u=u.filter(Boolean);for(let e=0;e<u.length;e+=1)transition_out(u[e]);i=!1},d(n){n&&detach(t),destroy_each(s,n),destroy_each(u,n),e[19](null)}}}function create_each_block_3(e){let t,n;return t=new PerspectiveHeaderControl({props:{column:e[34],columnLevel:e[37],setConfig:e[3],config:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n[0]&&(o.column=e[34]),16&n[0]&&(o.columnLevel=e[37]),8&n[0]&&(o.setConfig=e[3]),4&n[0]&&(o.config=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_2$1(e){let t,n,o,r=e[4].columns,i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block_3(get_each_context_3(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("tr");for(let e=0;e<i.length;e+=1)i[e].c();n=space()},m(e,r){insert(e,t,r);for(let e=0;e<i.length;e+=1)i[e]&&i[e].m(t,null);append(t,n),o=!0},p(e,o){if(28&o[0]){let s;for(r=e[4].columns,s=0;s<r.length;s+=1){const a=get_each_context_3(e,r,s);i[s]?(i[s].p(a,o),transition_in(i[s],1)):(i[s]=create_each_block_3(a),i[s].c(),transition_in(i[s],1),i[s].m(t,n))}for(group_outros(),s=r.length;s<i.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);o=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_if_block_4$6(e){let t,n;return t=new PerspectiveCell({props:{columnIndex:e[34].columnIndex,value:e[31].rowData[e[34].columnIndex],rowSpan:e[31].rowSpans[e[34].columnIndex],rowData:e[31].rowData,displayType:e[34].displayType}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n[0]&&(o.columnIndex=e[34].columnIndex),16&n[0]&&(o.value=e[31].rowData[e[34].columnIndex]),16&n[0]&&(o.rowSpan=e[31].rowSpans[e[34].columnIndex]),16&n[0]&&(o.rowData=e[31].rowData),16&n[0]&&(o.displayType=e[34].displayType),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$2(e){let t,n,o=!e[31].rowCellSkips[e[34].columnIndex]&&create_if_block_4$6(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[31].rowCellSkips[e[34].columnIndex]?o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros()):o?(o.p(e,n),16&n[0]&&transition_in(o,1)):(o=create_if_block_4$6(e),o.c(),transition_in(o,1),o.m(t.parentNode,t))},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_each_block$h(e){let t,n,o,r=e[4].columns,i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block_1$2(get_each_context_1$2(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("tr");for(let e=0;e<i.length;e+=1)i[e].c();n=space(),attr(t,"data-rowindex",e[33])},m(e,r){insert(e,t,r);for(let e=0;e<i.length;e+=1)i[e]&&i[e].m(t,null);append(t,n),o=!0},p(e,o){if(16&o[0]){let s;for(r=e[4].columns,s=0;s<r.length;s+=1){const a=get_each_context_1$2(e,r,s);i[s]?(i[s].p(a,o),transition_in(i[s],1)):(i[s]=create_each_block_1$2(a),i[s].c(),transition_in(i[s],1),i[s].m(t,n))}for(group_outros(),s=r.length;s<i.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);o=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_if_block_2$c(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[7]}}),o=new FormStyledButton({props:{value:"Reset filter"}}),o.$on("click",e[20]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const o={};128&n[0]&&(o.message=e[7]),t.$set(o)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$q(e){let t,n,o;return n=new PerspectiveLoadingIndicator({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","loader svelte-msvx43")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$L(e){let t,n;return t=new StatusBarTabItem({props:{text:`${e[0]?.namedObject?.pureName} rows: ${e[8].toLocaleString()}`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};257&n[0]&&(o.text=`${e[0]?.namedObject?.pureName} rows: ${e[8].toLocaleString()}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1r(e){let t,n,o,r,i,a,s,c,l=e[4]&&create_if_block_3$8(e),u=e[7]&&create_if_block_2$c(e),d=e[9]&&create_if_block_1$q(),p=null!=e[8]&&create_if_block$L(e);return{c(){t=element("div"),l&&l.c(),n=space(),u&&u.c(),o=space(),d&&d.c(),r=space(),p&&p.c(),i=empty(),attr(t,"class","wrapper svelte-msvx43")},m(m,f){insert(m,t,f),l&&l.m(t,null),append(t,n),u&&u.m(t,null),append(t,o),d&&d.m(t,null),e[21](t),insert(m,r,f),p&&p.m(m,f),insert(m,i,f),a=!0,s||(c=[action_destroyer(resizeObserver.call(null,t,!0)),action_destroyer(contextMenu.call(null,t,e[10])),listen(t,"scroll",e[11])],s=!0)},p(e,r){e[4]?l?(l.p(e,r),16&r[0]&&transition_in(l,1)):(l=create_if_block_3$8(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[7]?u?(u.p(e,r),128&r[0]&&transition_in(u,1)):(u=create_if_block_2$c(e),u.c(),transition_in(u,1),u.m(t,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),e[9]?d?512&r[0]&&transition_in(d,1):(d=create_if_block_1$q(),d.c(),transition_in(d,1),d.m(t,null)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),null!=e[8]?p?(p.p(e,r),256&r[0]&&transition_in(p,1)):(p=create_if_block$L(e),p.c(),transition_in(p,1),p.m(i.parentNode,i)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){a||(transition_in(l),transition_in(u),transition_in(d),transition_in(p),a=!0)},o(e){transition_out(l),transition_out(u),transition_out(d),transition_out(p),a=!1},d(n){n&&detach(t),l&&l.d(),u&&u.d(),d&&d.d(),e[21](null),n&&detach(r),p&&p.d(n),n&&detach(i),s=!1,run_all(c)}}}const getCurrentEditor$6=()=>getActiveComponent("PerspectiveTable");function instance$1p(e,t,n){let o,r,i=noop$3,a=()=>(i(),i=subscribe(p,(e=>n(18,r=e))),p);e.$$.on_destroy.push((()=>i()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const c={tables:{text:"table",tabComponent:"TableDataTab",icon:"img table"},views:{text:"view",tabComponent:"ViewDataTab",icon:"img view"},collections:{text:"collection",tabComponent:"CollectionDataTab",icon:"img collection"}},l=debug("dbgate:PerspectiveTable"),u=createActivator("PerspectiveTable",!0,["Designer"]);let{root:d}=t,{loadedCounts:p}=t;a();let m,f,h,g,$,{config:b}=t,{setConfig:v}=t,{conid:y}=t,{database:x}=t,w=!1,C=!1;const k=createRef(0),S=createRef(!1);function T(e,t,n){return s(this,void 0,void 0,(function*(){l("load level data",n);const o=e.getNodeLoadProps(t);let{rows:r,incomplete:i}=yield e.dataProvider.loadData(Object.assign(Object.assign({},o),{topCount:n[e.designerId]||lib$1.PERSPECTIVE_PAGE_SIZE}));if(e.isRoot)t.push(...r),i&&t.push({incompleteRowsIndicator:[e.designerId]});else if(e.preloadedLevelData)r=_.compact(_.flatten(t.map((t=>t[e.fieldName]))));else{let n=null;for(const o of t){const t=r.filter((t=>e.matchChildRow(o,t)));o[e.fieldName]=t,t.length>0&&(n=o)}i&&n&&n[e.fieldName].push({incompleteRowsIndicator:[e.designerId]})}for(const t of e.childNodes)t.isExpandable&&(t.isCheckedNode||t.preloadedLevelData)&&(yield T(t,r,n))}))}function A(e,t){return s(this,void 0,void 0,(function*(){if(w)return void(C=!0);if(C=!1,!e)return;const o=[];n(9,w=!0);try{yield T(e,o,t),n(17,m=o),l("data rows",o),n(7,g=null),n(8,$=yield e.dataProvider.loadRowCount(d.getNodeLoadProps([])))}catch(e){console.error(e),n(7,g=e.message),n(17,m=null),n(8,$=null)}n(9,w=!1),C&&A(d,r)}))}function E(){return s(this,void 0,void 0,(function*(){if(!o)return;if(yield tick(),!h)return;if(!o)return;if(S.get())return;const e=function(){var e=h.querySelectorAll("tbody>tr");const t=f.getBoundingClientRect();function n(n){if(n<0||n>=e.length)return!1;const o=e[n].getBoundingClientRect();return n==e.length-1?t.bottom>=o.top:o.top<=t.bottom&&o.bottom>=t.bottom}const o=k.get();let r=0;for(;o-r>=0||o+r<e.length;){if(n(o-r))return k.set(o-r),o-r;if(n(o+r))return k.set(o+r),o+r;r+=1}return 0}(),t=_.keys(o.loadIndicatorsCounts).filter((t=>e+1>=o.loadIndicatorsCounts[t]));t.length>0&&(S.set(!0),l("load next",t),p.update((e=>{const n=Object.assign({},e);for(const e of t)n[e]=(n[e]||lib$1.PERSPECTIVE_PAGE_SIZE)+lib$1.PERSPECTIVE_PAGE_SIZE;return n})))}))}onMount((()=>{}));return e.$$set=e=>{"root"in e&&n(0,d=e.root),"loadedCounts"in e&&a(n(1,p=e.loadedCounts)),"config"in e&&n(2,b=e.config),"setConfig"in e&&n(3,v=e.setConfig),"conid"in e&&n(13,y=e.conid),"database"in e&&n(14,x=e.database)},e.$$.update=()=>{262145&e.$$.dirty[0]&&A(d,r),131073&e.$$.dirty[0]&&n(4,o=d&&m?new lib$1.PerspectiveDisplay(d,m):null),16&e.$$.dirty[0]&&(S.set(!1),E())},[d,p,b,v,o,f,h,g,$,w,function({targetElement:e,registerCloseHandler:t}){var n,r,i;const a=[],s=e.closest("td")||e.closest("th"),l=!!e.closest("th");if(s){const e=s.closest("tr"),u=s.getAttribute("data-column"),p=null===(n=null==o?void 0:o.columns)||void 0===n?void 0:n[u];p&&a.push(getPerspectiveNodeMenu({config:b,conid:y,database:x,node:p.dataNode,root:d,setConfig:v,designerId:null})),s.classList.add("highlight"),t((()=>{s.classList.remove("highlight")}));const m=s.getAttribute("data-tableNodeDesignerId"),f=null==d?void 0:d.findNodeByDesignerId(m);if(null==f?void 0:f.headerTableAttributes){const{pureName:e,schemaName:t,conid:n,database:o,objectTypeField:r}=null==f?void 0:f.headerTableAttributes;console.log("objectTypeField",r);const i=c[r];i&&a.push({text:`Open ${i.text} ${e}`,onClick:()=>{openNewTab({title:e,icon:i.icon,tabComponent:i.tabComponent,props:{schemaName:t,pureName:e,conid:n,database:o,objectTypeField:r}})}})}const h=e=>{v((t=>Object.assign(Object.assign({},t),{nodes:t.nodes.map((t=>{var n,o;return t.designerId==(null===(o=null===(n=null==p?void 0:p.dataNode)||void 0===n?void 0:n.parentNode)||void 0===o?void 0:o.designerId)?Object.assign(Object.assign({},t),{columnDisplays:Object.assign(Object.assign({},t.columnDisplays),{[p.dataNode.columnName]:e})}):t}))})))};if(l&&!(null==f?void 0:f.headerTableAttributes)&&a.push({text:`Change display (${_.startCase((null===(i=null===(r=b.nodes.find((e=>{var t,n;return e.designerId==(null===(n=null===(t=null==p?void 0:p.dataNode)||void 0===t?void 0:t.parentNode)||void 0===n?void 0:n.designerId)})))||void 0===r?void 0:r.columnDisplays)||void 0===i?void 0:i[p.dataNode.columnName])||"default")})`,submenu:[{text:"Default",onClick:()=>h("default")},{text:"JSON",onClick:()=>h("json")},{text:"Image",onClick:()=>h("image")},{text:"Text",onClick:()=>h("text")},{text:"Force Text",onClick:()=>h("forceText")}]}),null==f?void 0:f.supportsParentFilter){const e=null==f?void 0:f.isParentFilter;a.push({text:e?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{v((t=>Object.assign(Object.assign({},t),{nodes:t.nodes.map((t=>t.designerId==(null==f?void 0:f.designerId)?Object.assign(Object.assign({},t),{isParentFilter:!e}):t))})),!0)}})}const g=null==e?void 0:e.getAttribute("data-rowIndex");if(null!=g){const e=o.rows[g].rowData[u],{dataNode:t}=p;if(t.filterInfo&&(t instanceof lib$1.PerspectiveTableColumnNode||t instanceof lib$1.PerspectivePatternColumnNode)){const{table:n}=t,o=c[n.objectTypeField],r=lib.getFilterValueExpression(e,t instanceof lib$1.PerspectiveTableColumnNode?t.column.dataType:null);o&&a.push({text:"Open filtered grid",onClick:()=>{openNewTab({title:n.pureName,icon:o.icon,tabComponent:o.tabComponent,props:{schemaName:n.schemaName,pureName:n.pureName,conid:y,database:x,objectTypeField:n.objectTypeField}},{grid:{filters:{[t.columnName]:r}}},{forceNewTab:!0})}}),a.push({text:"Filter this value",onClick:()=>{v((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>{var n;return e.designerId==(null===(n=null==t?void 0:t.parentNode)||void 0===n?void 0:n.designerId)?Object.assign(Object.assign({},e),{filters:Object.assign(Object.assign({},e.filters),{[t.columnName]:r})}):e}))})))}})}}}return a.push([{divider:!0},{command:"perspective.refresh"},{command:"perspective.openJson"},{command:"perspective.customJoin"}]),a},E,u,y,x,function(){openJsonDocument(m)},function(){return null!=m},m,r,function(e){binding_callbacks[e?"unshift":"push"]((()=>{h=e,n(6,h)}))},()=>v((e=>({...e,filters:{},parentFilters:[]})),!0),function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(5,f)}))}]}registerCommand({id:"perspective.openJson",category:"Perspective",name:"Open JSON",isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$6())||void 0===e?void 0:e.openJsonEnabled()},onClick:()=>getCurrentEditor$6().openJson()});class PerspectiveTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,safe_not_equal,{activator:12,root:0,loadedCounts:1,config:2,setConfig:3,conid:13,database:14,openJson:15,openJsonEnabled:16},null,[-1,-1])}get activator(){return this.$$.ctx[12]}get openJson(){return this.$$.ctx[15]}get openJsonEnabled(){return this.$$.ctx[16]}}function create_default_slot$B(e){let t,n;return t=new FontIcon({props:{icon:"icon close"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1q(e){let t,n,o,r,i,a,s,c,l,u,d=e[0].columnName+"",p=e[0].pureName+"";return s=new InlineButton({props:{square:!0,narrow:!0,$$slots:{default:[create_default_slot$B]},$$scope:{ctx:e}}}),s.$on("click",(function(){is_function(e[3])&&e[3].apply(this,arguments)})),l=new DataFilterControl({props:{filterBehaviour:e[0].filterBehaviour,filter:e[1],setFilter:e[2],conid:e[4],database:e[5],driver:e[6],columnName:e[0].columnName,pureName:e[0].pureName,foreignKey:e[0].foreignKey,customCommandIcon:e[7],onCustomCommand:e[7]?e[8]:null,customCommandTooltip:"Filter parent rows"}}),{c(){t=element("div"),n=element("div"),o=text$1(d),r=text$1(" ("),i=text$1(p),a=text$1(")\n "),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),attr(n,"class","space-between"),attr(t,"class","m-1")},m(e,d){insert(e,t,d),append(t,n),append(n,o),append(n,r),append(n,i),append(n,a),mount_component(s,n,null),append(t,c),mount_component(l,t,null),u=!0},p(t,[n]){e=t,(!u||1&n)&&d!==(d=e[0].columnName+"")&&set_data(o,d),(!u||1&n)&&p!==(p=e[0].pureName+"")&&set_data(i,p);const r={};4096&n&&(r.$$scope={dirty:n,ctx:e}),s.$set(r);const a={};1&n&&(a.filterBehaviour=e[0].filterBehaviour),2&n&&(a.filter=e[1]),4&n&&(a.setFilter=e[2]),16&n&&(a.conid=e[4]),32&n&&(a.database=e[5]),64&n&&(a.driver=e[6]),1&n&&(a.columnName=e[0].columnName),1&n&&(a.pureName=e[0].pureName),1&n&&(a.foreignKey=e[0].foreignKey),128&n&&(a.customCommandIcon=e[7]),128&n&&(a.onCustomCommand=e[7]?e[8]:null),l.$set(a)},i(e){u||(transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(s),destroy_component(l)}}}function instance$1o(e,t,n){let o,{filterInfo:r}=t,{filter:i}=t,{onSetFilter:a}=t,{onRemoveFilter:s}=t,{conid:c}=t,{database:l}=t,{driver:u}=t,{config:d}=t,{setConfig:p}=t,{tableNode:m}=t;return e.$$set=e=>{"filterInfo"in e&&n(0,r=e.filterInfo),"filter"in e&&n(1,i=e.filter),"onSetFilter"in e&&n(2,a=e.onSetFilter),"onRemoveFilter"in e&&n(3,s=e.onRemoveFilter),"conid"in e&&n(4,c=e.conid),"database"in e&&n(5,l=e.database),"driver"in e&&n(6,u=e.driver),"config"in e&&n(9,d=e.config),"setConfig"in e&&n(10,p=e.setConfig),"tableNode"in e&&n(11,m=e.tableNode)},e.$$.update=()=>{2048&e.$$.dirty&&n(7,o=(null==m?void 0:m.supportsParentFilter)?(null==m?void 0:m.isParentFilter)?"icon parent-filter":"icon parent-filter-outline":null)},[r,i,a,s,c,l,u,o,function(){p((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==m?void 0:m.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!e.isParentFilter}):e))})),!0)},d,p,m]}class PerspectiveFiltersColumn extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{filterInfo:0,filter:1,onSetFilter:2,onRemoveFilter:3,conid:4,database:5,driver:6,config:9,setConfig:10,tableNode:11})}}function get_each_context$g(e,t,n){const o=e.slice();return o[11]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();o[14]=t[n];const r=o[3]?.findNodeByDesignerId(o[11].designerId);o[15]=r;const i=o[15]?.childNodes?.find((function(...t){return e[10](o[14],...t)}))?.filterInfo;return o[16]=i,o}function create_else_block$i(e){let t,n,o=e[1].nodes,r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$g(get_each_context$g(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=e[1].nodes,a=0;a<o.length;a+=1){const i=get_each_context$g(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$g(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_if_block$K(e){let t,n,o,r,i,a,s;return i=new FontIcon({props:{icon:"img info"}}),{c(){t=element("div"),n=element("div"),n.textContent="No Filters defined",o=space(),r=element("div"),create_component(i.$$.fragment),a=text$1(' Use context menu, command "Add to filter" in table or in tree'),attr(n,"class","mb-3 bold"),attr(t,"class","msg svelte-xvsamk")},m(e,c){insert(e,t,c),append(t,n),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),s=!0},p:noop$3,i(e){s||(transition_in(i.$$.fragment,e),s=!0)},o(e){transition_out(i.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(i)}}}function create_if_block_1$p(e){let t,n;function o(...t){return e[8](e[15],e[14],...t)}function r(...t){return e[9](e[15],e[14],...t)}return t=new PerspectiveFiltersColumn({props:{filterInfo:e[16],conid:e[4],database:e[5],driver:e[6],tableNode:e[15],config:e[1],setConfig:e[2],filter:e[11].filters[e[14]],onSetFilter:o,onRemoveFilter:r}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const a={};10&i&&(a.filterInfo=e[16]),16&i&&(a.conid=e[4]),32&i&&(a.database=e[5]),64&i&&(a.driver=e[6]),10&i&&(a.tableNode=e[15]),2&i&&(a.config=e[1]),4&i&&(a.setConfig=e[2]),2&i&&(a.filter=e[11].filters[e[14]]),14&i&&(a.onSetFilter=o),14&i&&(a.onRemoveFilter=r),t.$set(a)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block_1$1(e){let t,n,o=e[16]&&create_if_block_1$p(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[16]?o?(o.p(e,n),10&n&&transition_in(o,1)):(o=create_if_block_1$p(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_each_block$g(e){let t,n,o=_.keys(e[11].filters),r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block_1$1(get_each_context_1$1(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=_.keys(e[11].filters),a=0;a<o.length;a+=1){const i=get_each_context_1$1(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block_1$1(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_default_slot$A(e){let t,n,o,r;const i=[create_if_block$K,create_else_block$i],a=[];function s(e,t){return 0==e[7]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$1p(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[0],isFlex:0==e[7],$$slots:{default:[create_default_slot$A]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.width=e[0]),128&n&&(o.isFlex=0==e[7]),524542&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1n(e,t,n){let o,{managerSize:r}=t,{config:i}=t,{setConfig:a}=t,{root:s}=t,{conid:c}=t,{database:l}=t,{driver:u}=t;return e.$$set=e=>{"managerSize"in e&&n(0,r=e.managerSize),"config"in e&&n(1,i=e.config),"setConfig"in e&&n(2,a=e.setConfig),"root"in e&&n(3,s=e.root),"conid"in e&&n(4,c=e.conid),"database"in e&&n(5,l=e.database),"driver"in e&&n(6,u=e.driver)},e.$$.update=()=>{2&e.$$.dirty&&n(7,o=_.sum(i.nodes.map((e=>_.keys(e.filters).length))))},[r,i,a,s,c,l,u,o,(e,t,n)=>a((o=>({...o,nodes:o.nodes.map((o=>o.designerId==e.designerId?{...o,filters:{...o.filters,[t]:n}}:o))}))),(e,t,n)=>a((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e.designerId?{...n,filters:_.omit(n.filters,[t])}:n))}))),(e,t)=>t.columnName==e]}class PerspectiveFilters extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1p,safe_not_equal,{managerSize:0,config:1,setConfig:2,root:3,conid:4,database:5,driver:6})}}function useMultipleDatabaseInfo(e){return derived(e.map((e=>useDatabaseInfo(e))),(t=>{let n={};for(let o=0;o<e.length;o++){const{conid:r,database:i}=e[o],a=t[o];n=Object.assign(Object.assign({},n),{[r]:Object.assign(Object.assign({},n[r]),{[i]:a})})}return n}))}function create_fragment$1o(e){let t,n;const o=[e[10],{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowScrollColumns:!0,canSelectColumns:!0,canCheckTables:!0,allowTableAlias:!0,arrangeAlg:"tree",referenceMenu:func$9,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$3,isColumnChecked:e[13],setColumnChecked:e[14],isTableChecked:e[15],setTableChecked:e[16],getSortOrderProps:e[17],getColumnIconOverride:e[18],isColumnFiltered:e[19],getMainTableIcon:e[20],sortAutoLayoutReferences:e[21],referencePaintSettings:{buswi:10,extwi:10},canAddDesignerForeignKey:e[22],addDesignerForeignKey:e[23],tableSpecificDb:e[24],hasFilterParentRowsFlag:e[25],isGrayedTable:e[26],onClickTableHeader:e[7],isColumnExpandable:func_18,isColumnExpanded:func_19,columnExpandLevel:func_20,toggleExpandedColumn:func_21,getColumnDisplayName:func_22,getParentColumnName:lib$1.getPerspectiveParentColumnName,getMutliColumnFilter:e[27],setMutliColumnFilter:e[28]}},{referenceComponent:QueryDesignerReference},{value:e[8](e[0],e[1],e[2])},{onChange:e[9]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new Designer({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=2047&n[0]?get_spread_update(o,[1024&n[0]&&get_spread_object(e[10]),253&n[0]&&{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowScrollColumns:!0,canSelectColumns:!0,canCheckTables:!0,allowTableAlias:!0,arrangeAlg:"tree",referenceMenu:func$9,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$3,isColumnChecked:e[13],setColumnChecked:e[14],isTableChecked:e[15],setTableChecked:e[16],getSortOrderProps:e[17],getColumnIconOverride:e[18],isColumnFiltered:e[19],getMainTableIcon:e[20],sortAutoLayoutReferences:e[21],referencePaintSettings:{buswi:10,extwi:10},canAddDesignerForeignKey:e[22],addDesignerForeignKey:e[23],tableSpecificDb:e[24],hasFilterParentRowsFlag:e[25],isGrayedTable:e[26],onClickTableHeader:e[7],isColumnExpandable:func_18,isColumnExpanded:func_19,columnExpandLevel:func_20,toggleExpandedColumn:func_21,getColumnDisplayName:func_22,getParentColumnName:lib$1.getPerspectiveParentColumnName,getMutliColumnFilter:e[27],setMutliColumnFilter:e[28]}},0,263&n[0]&&{value:e[8](e[0],e[1],e[2])},512&n[0]&&{onChange:e[9]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$9=({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>[{text:"Remove",onClick:()=>o(t)}],func_3$3=e=>e.isAutoGenerated?"FK":"Custom",func_18=e=>!!e.getChildColumns,func_19=e=>e.isExpanded,func_20=e=>e.expandLevel,func_21=(e,t)=>e.toggleExpanded(t),func_22=e=>e.shortName||e.columnName;function instance$1m(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(29,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{config:i}=t,{dbInfos:a}=t,{dataPatterns:s}=t,{root:c}=t,{conid:l}=t,{database:u}=t,{setConfig:d}=t,{onClickTableHeader:p=null}=t;function m(e,t,n){var o;return{columnName:n+e.name,shortName:e.name,getChildColumns:(null===(o=e.columns)||void 0===o?void 0:o.length)>0?()=>e.columns.map((o=>m(o,t,n+e.name+"::"))):null,isExpanded:t.expandedColumns.includes(n+e.name),toggleExpanded:t=>d((o=>Object.assign(Object.assign({},o),{nodes:o.nodes.map((o=>Object.assign(Object.assign({},o),{expandedColumns:t?[...o.expandedColumns||[],n+e.name]:(o.expandedColumns||[]).filter((t=>t!=n+e.name))})))})))}}function f(e,t,n){return Object.assign(Object.assign({},e),{tables:_.compact(e.nodes.map((e=>{var o,r,i,a,s,c;const d=null===(o=null==t?void 0:t[e.conid||l])||void 0===o?void 0:o[e.database||u],p=null===(r=null==d?void 0:d.tables)||void 0===r?void 0:r.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName)),f=null===(i=null==d?void 0:d.views)||void 0===i?void 0:i.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));let h=null===(a=null==d?void 0:d.collections)||void 0===a?void 0:a.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));if(h){const t=null==n?void 0:n[e.designerId];if(!t)return null;h=Object.assign(Object.assign({},h),{columns:(null==t?void 0:t.columns.map((t=>m(t,e,""))))||[]})}if(!p&&!f&&!h)return null;const{designerId:g}=e;return Object.assign(Object.assign({},p||f||h),{left:(null===(s=null==e?void 0:e.position)||void 0===s?void 0:s.x)||0,top:(null===(c=null==e?void 0:e.position)||void 0===c?void 0:c.y)||0,alias:e.alias,designerId:g})})))})}return e.$$set=e=>{n(10,t=assign(assign({},t),exclude_internal_props(e))),"config"in e&&n(0,i=e.config),"dbInfos"in e&&n(1,a=e.dbInfos),"dataPatterns"in e&&n(2,s=e.dataPatterns),"root"in e&&n(3,c=e.root),"conid"in e&&n(4,l=e.conid),"database"in e&&n(5,u=e.database),"setConfig"in e&&n(6,d=e.setConfig),"onClickTableHeader"in e&&n(7,p=e.onClickTableHeader)},e.$$.update=()=>{15&e.$$.dirty[0]&&function(e,t,n,o){r(this,void 0,void 0,(function*(){o&&e.nodes.find((e=>!e.position))&&lib$1.perspectiveNodesHaveStructure(e,t,n,l,u)&&e.nodes.every((e=>null==o?void 0:o.findNodeByDesignerId(e.designerId)))&&(yield tick(),runCommand("designer.arrange"))}))}(i,a,s,c)},t=exclude_internal_props(t),[i,a,s,c,l,u,d,p,f,function(e,t,n){d((t=>{var r,i,c;const d=_.isFunction(e)?e(f(t,a,s)):e;let p=t.isArranged;(null==n?void 0:n.isCalledFromArrange)&&(p=!0);const m=Object.assign(Object.assign({},t),{references:d.references,nodes:_.compact(t.nodes.map((e=>{var t,o,r;const i=null===(t=d.tables)||void 0===t?void 0:t.find((t=>t.designerId==e.designerId)),a=Object.assign({},e);return(null==n?void 0:n.isCalledFromArrange)&&(a.position={x:(null==i?void 0:i.left)||0,y:(null==i?void 0:i.top)||0}),!i&&(null==n?void 0:n.removeTables)?null:(!i||i.left==(null===(o=e.position)||void 0===o?void 0:o.x)&&i.top==(null===(r=e.position)||void 0===r?void 0:r.y)||((null==n?void 0:n.isCalledFromArrange)||(p=!1),a.position={x:i.left,y:i.top}),a)})))});for(const e of d.tables){if(m.nodes.find((t=>t.designerId==e.designerId)))continue;const t=lib$1.createPerspectiveNodeConfig(e);t.designerId=e.designerId,t.position={x:e.left,y:e.top},(null==o?void 0:o.name)!=u&&(t.database=null==o?void 0:o.name),(null===(r=null==o?void 0:o.connection)||void 0===r?void 0:r._id)!=l&&(t.conid=null===(i=null==o?void 0:o.connection)||void 0===i?void 0:i._id),p=!1,m.nodes.push(t)}return m.isArranged=p,m.nodes.find((e=>e.designerId==m.rootDesignerId))||(m.rootDesignerId=null===(c=m.nodes[0])||void 0===c?void 0:c.designerId),m}))},t,({designer:e,designerId:t,column:n,foreignKey:o})=>{const r=c?.findNodeByDesignerId(t),a=r?.childNodes?.find((e=>e.columnName==n.columnName));return getPerspectiveNodeMenu({config:i,setConfig:d,conid:l,database:u,root:c,node:a,designerId:t})},({designer:e,designerId:t,onRemoveTable:n})=>{const o=c?.findNodeByDesignerId(t);return[{text:"Remove",onClick:()=>n({designerId:t})},getPerspectiveNodeMenu({config:i,setConfig:d,conid:l,database:u,root:c,node:o,designerId:t})]},(e,t)=>i.nodes.find((t=>t.designerId==e))?.checkedColumns?.includes(t.columnName),(e,t,n)=>{d((o=>({...o,nodes:o.nodes.map((o=>o.designerId==e?{...o,checkedColumns:n?[...o.checkedColumns||[],t.columnName]:(o.checkedColumns||[]).filter((e=>e!=t.columnName))}:o))})))},e=>i.nodes?.find((t=>t.designerId==e))?.isNodeChecked,(e,t)=>{d((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e?{...n,isNodeChecked:t}:n))})))},(e,t)=>{const n=i.nodes.find((t=>t.designerId==e))?.sort,o=n?.find((e=>e.columnName==t))?.order;if(!o)return null;return{order:o,orderIndex:n.length>1?_.findIndex(n,(e=>e.columnName==t)):-1}},(e,t)=>{const n=s?.[e],o=n?.columns.find((e=>e.name==t));return o?.types?.includes("json")?"img json":null},(e,t)=>!!i.nodes.find((t=>t.designerId==e))?.filters?.[t],e=>{const t=c?.findNodeByDesignerId(e);if(!t)return null;const n=t?.level+1;return 1==n?`icon num-${n}`:n<=9?`icon num-${n}-outline`:"icon num-9-plus"},e=>_.sortBy(e,(e=>{const t=c?.findNodeByDesignerId(e.sourceId),n=c?.findNodeByDesignerId(e.targetId);if(!t||!n)return 1e4;t.level>n.level&&(e=lib$1.switchPerspectiveReferenceDirection(e));return _.findIndex(t.childNodes,(t=>t.columnName==e.columns[0].source))})),(e,t)=>{const n=c?.findNodeByDesignerId(e),o=n?.childNodes?.find((e=>e.columnName==t));return o?.isExpandable&&!o?.designerId&&!o?.isCircular},(e,t)=>{const n=c?.findNodeByDesignerId(e),o=n?.childNodes?.find((e=>e.columnName==t));o?.toggleCheckedNode(!0)},e=>{const t=i.nodes.find((t=>t.designerId==e));if(t?.conid||t?.database)return{conid:t.conid,database:t.database}},e=>!!i.nodes.find((t=>t.designerId==e))?.isParentFilter,e=>{const t=c?.findNodeByDesignerId(e);return!t||!!t?.hasUncheckedNodeInPath},e=>i.nodes.find((t=>t.designerId==e)).multiColumnFilter,(e,t)=>{d((n=>({...n,nodes:n.nodes.map((n=>n.designerId==e?{...n,multiColumnFilter:t}:n))})))}]}class PerspectiveDesigner extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1o,safe_not_equal,{config:0,dbInfos:1,dataPatterns:2,root:3,conid:4,database:5,setConfig:6,onClickTableHeader:7},null,[-1,-1])}}function getPerspectiveDataPatternsFromCache(e,t,n,o){const r={};for(const o of t.nodes){const t=o.conid||e.conid,i=o.database||e.database,{schemaName:a,pureName:s}=o,c=n.dataPatterns.find((e=>e.conid==t&&e.database==i&&e.schemaName==a&&e.pureName==s));c&&(r[o.designerId]=c)}return r}function getPerspectiveDataPatterns(e,t,n,o,r){var i,a,s,c;return __awaiter$m(this,void 0,void 0,(function*(){const l={};for(const u of t.nodes){const t=u.conid||e.conid,d=u.database||e.database,{schemaName:p,pureName:m}=u,f=n.dataPatterns.find((e=>e.conid==t&&e.database==d&&e.schemaName==p&&e.pureName==m));if(f){l[u.designerId]=f;continue}const h=null===(i=null==o?void 0:o[t])||void 0===i?void 0:i[d];if(!h)continue;const g=null===(a=h.tables)||void 0===a?void 0:a.find((e=>e.pureName==m&&e.schemaName==p)),_=null===(s=h.views)||void 0===s?void 0:s.find((e=>e.pureName==m&&e.schemaName==p)),$=null===(c=h.collections)||void 0===c?void 0:c.find((e=>e.pureName==m&&e.schemaName==p));if(!g&&!_&&!$)continue;const b={databaseConfig:{conid:t,database:d},engineType:$?"docdb":"sqldb",schemaName:p,pureName:m,orderBy:(null==g?void 0:g.primaryKey)?null==g?void 0:g.primaryKey.columns.map((e=>({columnName:e.columnName,order:"ASC"}))):g||_?[{columnName:(g||_).columns[0].columnName,order:"ASC"}]:null,range:{offset:0,limit:10}},v=yield r.loadData(b);if(v.errorMessage){console.error("Error loading pattern for",m,":",v.errorMessage);continue}const y=lib$1.analyseDataPattern({conid:t,database:d,pureName:m,schemaName:p},v);n.dataPatterns.push(y),l[u.designerId]=y}return l}))}function usePerspectiveDataPatterns(e,t,n,o,r){const i=getPerspectiveDataPatternsFromCache(e,t,n),a=getPerspectiveDataPatterns(e,t,n,o,r),s=writable(i);return a.then((e=>s.set(e))),s}function create_if_block_1$o(e){let t,n,o,r,i,a,s,c,l=e[12].title+"";return o=new FontIcon({props:{icon:"img table"}}),s=new InlineButton({props:{$$slots:{default:[create_default_slot_5$5]},$$scope:{ctx:e}}}),s.$on("click",e[30]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(l),a=space(),create_component(s.$$.fragment),attr(t,"class","temp-root svelte-cmv30q")},m(e,l){insert(e,t,l),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4096&t[0])&&l!==(l=e[12].title+"")&&set_data(i,l);const n={};16&t[1]&&(n.$$scope={dirty:t,ctx:e}),s.$set(n)},i(e){c||(transition_in(o.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(s)}}}function create_default_slot_5$5(e){let t;return{c(){t=text$1("Go up")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_4$5(e){let t,n,o,r,i,a;function s(t){e[31](t)}let c={placeholder:"Search column or table"};function l(t){e[32](t)}void 0!==e[11]&&(c.value=e[11]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind$2(t,"value",s)));let u={};return void 0!==e[11]&&(u.filter=e[11]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind$2(r,"filter",l))),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};!n&&2048&o[0]&&(n=!0,a.value=e[11],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2048&o[0]&&(i=!0,s.filter=e[11],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_if_block$J(e){let t,n;return t=new PerspectiveTree({props:{root:e[8],tempRoot:e[12],config:e[3],setConfig:e[4],conid:e[0],database:e[1],filter:e[11]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.root=e[8]),4096&n[0]&&(o.tempRoot=e[12]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),2048&n[0]&&(o.filter=e[11]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$b(e){let t,n,o=e[8]&&create_if_block$J(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[8]?o?(o.p(e,n),256&n[0]&&transition_in(o,1)):(o=create_if_block$J(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot_2$n(e){let t,n,o,r,i,a=e[12]&&e[12]!=e[8]&&create_if_block_1$o(e);return n=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_4$5]},$$scope:{ctx:e}}}),r=new ManagerInnerContainer({props:{width:e[7],$$slots:{default:[create_default_slot_3$b]},$$scope:{ctx:e}}}),{c(){a&&a.c(),t=space(),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,s){a&&a.m(e,s),insert(e,t,s),mount_component(n,e,s),insert(e,o,s),mount_component(r,e,s),i=!0},p(e,o){e[12]&&e[12]!=e[8]?a?(a.p(e,o),4352&o[0]&&transition_in(a,1)):(a=create_if_block_1$o(e),a.c(),transition_in(a,1),a.m(t.parentNode,t)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros());const i={};2048&o[0]|16&o[1]&&(i.$$scope={dirty:o,ctx:e}),n.$set(i);const s={};128&o[0]&&(s.width=e[7]),6427&o[0]|16&o[1]&&(s.$$scope={dirty:o,ctx:e}),r.$set(s)},i(e){i||(transition_in(a),transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(a),transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){a&&a.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),destroy_component(r,e)}}}function create_default_slot_1$q(e){let t,n;return t=new PerspectiveFilters({props:{managerSize:e[7],config:e[3],setConfig:e[4],conid:e[0],database:e[1],driver:e[2],root:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[0]&&(o.managerSize=e[7]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),4&n[0]&&(o.driver=e[2]),256&n[0]&&(o.root=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$z(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Choose data",name:"perspectiveTree",height:"70%",$$slots:{default:[create_default_slot_2$n]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Filters",name:"tableFilters",$$slots:{default:[create_default_slot_1$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};6619&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};415&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create__1_slot_1$1(e){let t,n,o;return n=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$z]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-cmv30q"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};6623&t[0]|16&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__1_slot$7(e){let t,n;return t=new PerspectiveDesigner({props:{config:e[3],conid:e[0],database:e[1],setConfig:e[4],dbInfos:e[10],dataPatterns:e[9],root:e[8],onClickTableHeader:e[29]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n[0]&&(o.config=e[3]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),16&n[0]&&(o.setConfig=e[4]),1024&n[0]&&(o.dbInfos=e[10]),512&n[0]&&(o.dataPatterns=e[9]),256&n[0]&&(o.root=e[8]),64&n[0]&&(o.onClickTableHeader=e[29]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_1$1(e){let t,n;return t=new PerspectiveTable({props:{root:e[8],loadedCounts:e[5],config:e[3],setConfig:e[4],conid:e[0],database:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n[0]&&(o.root=e[8]),32&n[0]&&(o.loadedCounts=e[5]),8&n[0]&&(o.config=e[3]),16&n[0]&&(o.setConfig=e[4]),1&n[0]&&(o.conid=e[0]),2&n[0]&&(o.database=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$7(e){let t,n;return t=new VerticalSplitter({props:{allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot_1$1],1:[create__1_slot$7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1915&n[0]|16&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1n(e){let t,n,o;function r(t){e[33](t)}let i={initialValue:e[15](),allowCollapseChild1:!0,$$slots:{2:[create__2_slot$7],1:[create__1_slot_1$1]},$$scope:{ctx:e}};return void 0!==e[7]&&(i.size=e[7]),t=new HorizontalSplitter({props:i}),binding_callbacks.push((()=>bind$2(t,"size",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};8191&o[0]|16&o[1]&&(r.$$scope={dirty:o,ctx:e}),!n&&128&o[0]&&(n=!0,r.size=e[7],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$5=()=>getActiveComponent("PerspectiveView");function instance$1l(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g=noop$3,$=noop$3;var b,v;e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),debug("dbgate:PerspectiveView");let y,x,{conid:w}=t,{database:C}=t,{driver:k}=t,{config:S}=t,{setConfig:T}=t,A=null,{loadedCounts:E}=t,{cache:O}=t;const I=createActivator("PerspectiveView",!0);let N=lib$1.extractPerspectiveDatabases({conid:w,database:C},S);return e.$$set=e=>{"conid"in e&&n(0,w=e.conid),"database"in e&&n(1,C=e.database),"driver"in e&&n(2,k=e.driver),"config"in e&&n(3,S=e.config),"setConfig"in e&&n(4,T=e.setConfig),"loadedCounts"in e&&n(5,E=e.loadedCounts),"cache"in e&&n(16,O=e.cache)},e.$$.update=()=>{if(128&e.$$.dirty[0]&&y&&setLocalStorage("perspectiveManagerWidth",y),2097163&e.$$.dirty[0]){const e=lib$1.extractPerspectiveDatabases({conid:w,database:C},S);jsonStableStringify(e)!=jsonStableStringify(N)&&n(21,N=e)}2097152&e.$$.dirty[0]&&(n(14,o=useMultipleDatabaseInfo(N)),$(),$=subscribe(o,(e=>n(10,h=e)))),67175435&e.$$.dirty[0]&&(n(13,i=usePerspectiveDataPatterns({conid:w,database:C},S,O,h,r)),g(),g=subscribe(i,(e=>n(9,f=e)))),524296&e.$$.dirty[0]&&n(27,a=null===n(19,b=null==S?void 0:S.nodes)||void 0===b?void 0:b.find((e=>e.designerId==(null==S?void 0:S.rootDesignerId)))),135267331&e.$$.dirty[0]&&n(28,s=a?null===n(20,v=null==h?void 0:h[a.conid||w])||void 0===v?void 0:v[a.database||C]:null),402653184&e.$$.dirty[0]&&n(25,c=null==s?void 0:s.tables.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),402653184&e.$$.dirty[0]&&n(24,l=null==s?void 0:s.views.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),402653184&e.$$.dirty[0]&&n(23,u=null==s?void 0:s.collections.find((e=>e.pureName==(null==a?void 0:a.pureName)&&e.schemaName==(null==a?void 0:a.schemaName)))),67174912&e.$$.dirty[0]&&n(22,d=new lib$1.PerspectiveDataProvider(O,r,f)),62915611&e.$$.dirty[0]&&n(8,p=c||l||u?new lib$1.PerspectiveTableNode(c||l||u,h,S,T,d,{conid:w,database:C},null,S.rootDesignerId):null),320&e.$$.dirty[0]&&n(12,m=null==p?void 0:p.findNodeByDesignerId(A)),1563&e.$$.dirty[0]&&lib$1.shouldProcessPerspectiveDefaultColunns(S,h,f,w,C)&&T((e=>lib$1.processPerspectiveDefaultColunns(e,h,f,w,C)))},n(26,r=new lib$1.PerspectiveDataLoader(apiCall)),[w,C,k,S,T,E,A,y,p,f,h,x,m,i,o,function(){const e=getLocalStorage("perspectiveManagerWidth");return _.isNumber(e)&&e>30&&e<500?`${e}px`:"300px"},O,I,function(){p&&showModal(CustomJoinModal,{config:S,setConfig:T,conid:w,database:C,root:p})},b,v,N,d,u,l,c,r,a,s,e=>{sleep(100).then((()=>{n(6,A=e)}))},()=>{n(6,A=m?.parentNode?.designerId)},function(e){x=e,n(11,x)},function(e){x=e,n(11,x)},function(e){y=e,n(7,y)}]}registerCommand({id:"perspective.customJoin",category:"Perspective",name:"Custom join",keyText:"CtrlOrCommand+J",isRelatedToTab:!0,icon:"icon custom-join",testEnabled:()=>null!=getCurrentEditor$5(),onClick:()=>getCurrentEditor$5().defineCustomJoin()});class PerspectiveView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1l,create_fragment$1n,safe_not_equal,{conid:0,database:1,driver:2,config:3,setConfig:4,loadedCounts:5,cache:16,activator:17,defineCustomJoin:18},null,[-1,-1])}get activator(){return this.$$.ctx[17]}get defineCustomJoin(){return this.$$.ctx[18]}}function create_else_block$h(e){let t,n;return t=new PerspectiveView({props:{conid:e[0],database:e[1],driver:e[5],config:e[2].value,setConfig:e[24],cache:e[4],loadedCounts:e[10]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),32&n&&(o.driver=e[5]),4&n&&(o.config=e[2].value),16&n&&(o.setConfig=e[24]),16&n&&(o.cache=e[4]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$I(e){let t,n;return t=new ErrorInfo({props:{message:"Invalid perspective format, please create new perspective",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$y(e){let t,n,o,r;const i=[create_if_block$I,create_else_block$h],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$4(e){let t,n,o,r,i,a,s,c,l,u,d,p;return t=new ToolStripCommandButton({props:{command:"designer.arrange",buttonLabel:e[2].value?.isArranged?"(Arranged)":"Arrange"}}),o=new ToolStripCommandButton({props:{command:"perspective.refresh"}}),i=new ToolStripCommandButton({props:{command:"perspective.customJoin"}}),s=new ToolStripSaveButton({props:{idPrefix:"perspective"}}),l=new ToolStripCommandButton({props:{command:"perspective.undo"}}),d=new ToolStripCommandButton({props:{command:"perspective.redo"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),u=space(),create_component(d.$$.fragment)},m(e,m){mount_component(t,e,m),insert(e,n,m),mount_component(o,e,m),insert(e,r,m),mount_component(i,e,m),insert(e,a,m),mount_component(s,e,m),insert(e,c,m),mount_component(l,e,m),insert(e,u,m),mount_component(d,e,m),p=!0},p(e,n){const o={};4&n&&(o.buttonLabel=e[2].value?.isArranged?"(Arranged)":"Arrange"),t.$set(o)},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function create_fragment$1m(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],default:[create_default_slot$y]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};268435519&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$4=()=>getActiveComponent("PerspectiveTab");registerCommand({id:"perspective.refresh",category:"Perspective",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",testEnabled:()=>null!=getCurrentEditor$4(),onClick:()=>getCurrentEditor$4().refresh()}),registerFileCommands({idPrefix:"perspective",category:"Perspective",getCurrentEditor:getCurrentEditor$4,folder:"perspectives",format:"json",fileExtension:"perspective",undoRedo:!0});const allowAddToFavorites=e=>!0;function instance$1k(e,t,n){let o,r,i,a,s,c,l=noop$3;component_subscribe(e,extensions,(e=>n(22,s=e))),e.$$.on_destroy.push((()=>l()));let u,{tabid:d}=t,{conid:p}=t,{database:m}=t,{schemaName:f}=t,{pureName:h}=t;const g=createActivator("PerspectiveTab",!0);const{editorState:$,editorValue:b,setEditorData:v}=useEditorData({tabid:d,onInitialData:e=>{e.nodes?x({type:"reset",value:e}):n(3,u=!0),invalidateCommands()}});component_subscribe(e,$,(e=>n(25,a=e)));const[y,x]=createUndoReducer(lib$1.createPerspectiveConfig(h?{schemaName:f,pureName:h}:null));component_subscribe(e,y,(e=>n(2,i=e)));let w=new lib$1.PerspectiveCache;const C=writable({});return e.$$set=e=>{"tabid"in e&&n(11,d=e.tabid),"conid"in e&&n(0,p=e.conid),"database"in e&&n(1,m=e.database),"schemaName"in e&&n(12,f=e.schemaName),"pureName"in e&&n(13,h=e.pureName)},e.$$.update=()=>{1&e.$$.dirty&&(n(6,o=useConnectionInfo({conid:p})),l(),l=subscribe(o,(e=>n(23,c=e)))),12582912&e.$$.dirty&&n(5,r=lib$5.findEngineDriver(c,s)),4&e.$$.dirty&&v(i.value)},[p,m,i,u,w,r,o,$,y,x,C,d,f,h,g,function(){return d},function(){return a.value||""},function(){return i.canUndo},function(){x({type:"undo"}),invalidateCommands()},function(){return i.canRedo},function(){x({type:"redo"}),invalidateCommands()},function(){n(4,w=new lib$1.PerspectiveCache),C.set({})},s,c,(e,t)=>{t&&w.clear(),x({type:"compute",compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()}]}class PerspectiveTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1m,safe_not_equal,{tabid:11,conid:0,database:1,schemaName:12,pureName:13,activator:14,getTabId:15,getData:16,canUndo:17,undo:18,canRedo:19,redo:20,refresh:21})}get activator(){return this.$$.ctx[14]}get getTabId(){return this.$$.ctx[15]}get getData(){return this.$$.ctx[16]}get canUndo(){return this.$$.ctx[17]}get undo(){return this.$$.ctx[18]}get canRedo(){return this.$$.ctx[19]}get redo(){return this.$$.ctx[20]}get refresh(){return this.$$.ctx[21]}}var PerspectiveTab$1=Object.freeze({__proto__:null,default:PerspectiveTab,allowAddToFavorites:allowAddToFavorites});function get_each_context$f(e,t,n){const o=e.slice();return o[9]=t[n],o[11]=n,o}function create_catch_block$1(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block$1(e){let t,n,o;return n=new ObjectListControl({props:{collection:e[6].databases,hideDisplayName:!0,title:`Databases (${e[6].databases.length})`,emptyMessage:"No databases",columns:e[6].columns.map(func_1$6),$$slots:{2:[create__2_slot$6,({row:e,col:t})=>({7:e,8:t}),({row:e,col:t})=>(e?128:0)|(t?256:0)],1:[create__1_slot$6,({row:e,col:t})=>({7:e,8:t}),({row:e,col:t})=>(e?128:0)|(t?256:0)]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-yw1ll")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};3&t&&(o.collection=e[6].databases),3&t&&(o.title=`Databases (${e[6].databases.length})`),3&t&&(o.columns=e[6].columns.map(func_1$6)),4480&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__1_slot$6(e){let t,n=formatFileSize(e[7]?.[e[8].fieldName])+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){384&o&&n!==(n=formatFileSize(e[7]?.[e[8].fieldName])+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_if_block$H(e){let t;return{c(){t=element("span"),t.textContent="|",attr(t,"class","action-separator svelte-yw1ll")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$p(e){let t,n=e[9].header+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){256&o&&n!==(n=e[9].header+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block$f(e){let t,n,o,r=e[11]>0&&create_if_block$H();function i(){return e[5](e[9],e[7])}return n=new Link$1({props:{onClick:i,$$slots:{default:[create_default_slot_1$p]},$$scope:{ctx:e}}}),{c(){r&&r.c(),t=space(),create_component(n.$$.fragment)},m(e,i){r&&r.m(e,i),insert(e,t,i),mount_component(n,e,i),o=!0},p(t,o){e=t;const r={};384&o&&(r.onClick=i),4352&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){r&&r.d(e),e&&detach(t),destroy_component(n,e)}}}function create__2_slot$6(e){let t,n,o=e[8].actions,r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$f(get_each_context$f(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(388&n){let a;for(o=e[8].actions,a=0;a<o.length;a+=1){const i=get_each_context$f(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$f(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_pending_block$1(e){let t,n;return t=new LoadingInfo({props:{message:"Loading server details",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$x(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block$1,then:create_then_block$1,catch:create_catch_block$1,value:6,blocks:[,,,]};return handle_promise(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,o){e=t,r.ctx=e,3&o&&n!==(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}function create_toolstrip_slot$3(e){let t,n;return t=new ToolStripCommandButton({props:{command:"serverSummary.refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1l(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],default:[create_default_slot$x]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4099&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$3=()=>getActiveComponent("ServerSummaryTab");registerCommand({id:"serverSummary.refresh",category:"Server sumnmary",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",onClick:()=>getCurrentEditor$3().refresh(),testEnabled:()=>null!=getCurrentEditor$3()});const func_1$6=e=>({...e,slot:"bytes"==e.columnType?1:"actions"==e.columnType?2:null});function instance$1j(e,t,n){let{conid:o}=t,r=0;const i=createActivator("ServerSummaryTab",!0);function a(){n(1,r+=1)}async function s(e,t){const{command:n,openQuery:i,openTab:s,addDbProps:c}=e;if(n&&(await apiCall("server-connections/summary-command",{conid:o,refreshToken:r,command:n,row:t}),a()),i&&openNewTab({title:e.tabTitle||t.name,icon:"img query-data",tabComponent:"QueryDataTab",props:{conid:o,database:t.name,sql:i}}),s){const e={};c&&(e.conid=o,e.database=t.name),openNewTab({...s,props:{...s.props,...e}})}}return e.$$set=e=>{"conid"in e&&n(0,o=e.conid)},[o,r,s,i,a,(e,t)=>s(e,t)]}class ServerSummaryTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1j,create_fragment$1l,safe_not_equal,{conid:0,activator:3,refresh:4})}get activator(){return this.$$.ctx[3]}get refresh(){return this.$$.ctx[4]}}var ServerSummaryTab$1=Object.freeze({__proto__:null,default:ServerSummaryTab});function create_else_block_1$3(e){let t,n;return t=new ErrorInfo({props:{message:"Profiler not yet started",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$G(e){let t,n;return t=new VerticalSplitter({props:{allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot$5],1:[create__1_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777231&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_key_block(e){let t,n;return t=new JslDataGrid({props:{jslid:e[3],listenInitializeFile:!0,formatterFunction:e[0]?.profilerFormatterFunction}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.jslid=e[3]),1&n&&(o.formatterFunction=e[0]?.profilerFormatterFunction),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$5(e){let t,n,o=e[3],r=create_key_block(e);return{c(){r.c(),t=empty()},m(e,o){r.m(e,o),insert(e,t,o),n=!0},p(e,n){8&n&&safe_not_equal(o,o=e[3])?(group_outros(),transition_out(r,1,1,noop$3),check_outros(),r=create_key_block(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r.p(e,n)},i(e){n||(transition_in(r),n=!0)},o(e){transition_out(r),n=!1},d(e){e&&detach(t),r.d(e)}}}function create_else_block$g(e){let t,n;return t=new ChartCore({props:{title:"Profile data",data:e[2],options:{maintainAspectRatio:!1,scales:{x:{type:"time",distribution:"linear",time:{tooltipFormat:"D. M. YYYY HH:mm",displayFormats:{millisecond:"HH:mm:ss.SSS",second:"HH:mm:ss",minute:"HH:mm",hour:"D.M hA",day:"D. M.",week:"D. M. YYYY",month:"MM-YYYY",quarter:"[Q]Q - YYYY",year:"YYYY"}}}}}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.data=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$n(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading chart"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$5(e){let t,n,o,r;const i=[create_if_block_1$n,create_else_block$g],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$w(e){let t,n,o,r;const i=[create_if_block$G,create_else_block_1$3],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$2(e){let t,n,o,r,i,a;return t=new ToolStripCommandButton({props:{command:"profiler.start"}}),o=new ToolStripCommandButton({props:{command:"profiler.stop"}}),i=new ToolStripCommandButton({props:{command:"profiler.save"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$1k(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],default:[create_default_slot$w]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16777231&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$2=()=>getActiveComponent("ProfilerTab");function instance$1i(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,extensions,(e=>n(17,a=e))),e.$$.on_destroy.push((()=>c()));const l=createActivator("ProfilerTab",!0);let u,d,p,m,{conid:f}=t,{database:h}=t,{engine:g}=t,{jslidLoad:_}=t,$=!1,b=!1;async function v(){n(1,b=!0);const e=randomcolor({count:r.profilerChartMeasures.length,seed:5}),t=await apiCall("jsldata/extract-timeline-chart",{jslid:i,timestampFunction:r.profilerTimestampFunction,aggregateFunction:r.profilerChartAggregateFunction,measures:r.profilerChartMeasures});n(2,m={...t,labels:t.labels.map((e=>new Date(e))),datasets:t.datasets.map(((t,n)=>({...t,borderColor:e[n]})))}),n(1,b=!1)}async function y(e,t){await apiCall("archive/save-jsl-data",{folder:e,file:t,jslid:i}),currentArchive.set(e),selectedWidget.set("archive")}return onMount((()=>{p=setInterval((()=>{d&&apiCall("sessions/ping",{sesid:d})}),15e3)})),onDestroy((()=>{clearInterval(p)})),e.$$set=e=>{"conid"in e&&n(6,f=e.conid),"database"in e&&n(7,h=e.database),"engine"in e&&n(8,g=e.engine),"jslidLoad"in e&&n(9,_=e.jslidLoad)},e.$$.update=()=>{64&e.$$.dirty&&(n(4,o=useConnectionInfo({conid:f})),c(),c=subscribe(o,(e=>n(18,s=e)))),393472&e.$$.dirty&&n(0,r=lib$5.findEngineDriver(g||s,a)),66048&e.$$.dirty&&n(3,i=u||_),513&e.$$.dirty&&_&&r&&v()},[r,b,m,i,o,l,f,h,g,_,async function(){$=!0;let e=d;if(!e){e=(await apiCall("sessions/create",{conid:f,database:h})).sesid,d=e}const t=await apiCall("sessions/start-profiler",{sesid:e});n(16,u=t.jslid),invalidateCommands()},function(){return f&&h&&!$},async function(){$=!1,await apiCall("sessions/stop-profiler",{sesid:d}),await apiCall("sessions/kill",{sesid:d}),d=null,invalidateCommands(),v()},function(){return f&&h&&$},function(){return!!u},function(){showModal(SaveArchiveModal,{onSave:y})},u,a,s]}registerCommand({id:"profiler.start",category:"Profiler",name:"Start profiling",icon:"icon play",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.startProfilingEnabled()},onClick:()=>getCurrentEditor$2().startProfiling()}),registerCommand({id:"profiler.stop",category:"Profiler",name:"Stop profiling",icon:"icon play-stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.stopProfilingEnabled()},onClick:()=>getCurrentEditor$2().stopProfiling()}),registerCommand({id:"profiler.save",category:"Profiler",name:"Save",icon:"icon save",testEnabled:()=>{var e;return null===(e=getCurrentEditor$2())||void 0===e?void 0:e.saveEnabled()},onClick:()=>getCurrentEditor$2().save()});class ProfilerTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1k,safe_not_equal,{activator:5,conid:6,database:7,engine:8,jslidLoad:9,startProfiling:10,startProfilingEnabled:11,stopProfiling:12,stopProfilingEnabled:13,saveEnabled:14,save:15})}get activator(){return this.$$.ctx[5]}get startProfiling(){return this.$$.ctx[10]}get startProfilingEnabled(){return this.$$.ctx[11]}get stopProfiling(){return this.$$.ctx[12]}get stopProfilingEnabled(){return this.$$.ctx[13]}get saveEnabled(){return this.$$.ctx[14]}get save(){return this.$$.ctx[15]}}var ProfilerTab$1=Object.freeze({__proto__:null,default:ProfilerTab});function create_fragment$1j(e){let t,n,o,r,i,a,s;const c=e[2].default,l=create_slot(c,e,e[1],null);return{c(){t=element("div"),n=element("div"),o=element("span"),r=text$1(e[0]),i=space(),a=element("div"),l&&l.c(),attr(o,"class","title mr-1 svelte-1um34k6"),attr(n,"class","header svelte-1um34k6"),attr(a,"class","body svelte-1um34k6"),attr(t,"class","wrapper svelte-1um34k6")},m(e,c){insert(e,t,c),append(t,n),append(n,o),append(o,r),append(t,i),append(t,a),l&&l.m(a,null),s=!0},p(e,[t]){(!s||1&t)&&set_data(r,e[0]),l&&l.p&&(!s||2&t)&&update_slot_base(l,c,e,e[1],s?get_slot_changes(c,e[1],t,null):get_all_dirty_from_scope(e[1]),null)},i(e){s||(transition_in(l,e),s=!0)},o(e){transition_out(l,e),s=!1},d(e){e&&detach(t),l&&l.d(e)}}}function instance$1h(e,t,n){let{$$slots:o={},$$scope:r}=t,{title:i}=t;return e.$$set=e=>{"title"in e&&n(0,i=e.title),"$$scope"in e&&n(1,r=e.$$scope)},[i,r,o]}class ObjectConfigurationControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1h,create_fragment$1j,safe_not_equal,{title:0})}}function create_default_slot_9$1(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[5].value?.archiveFolder,options:e[12]?.map(func$8)||[]}}),t.$on("change",e[29]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.value=e[5].value?.archiveFolder),4096&n[0]&&(o.options=e[12]?.map(func$8)||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$2(e){let t,n;return t=new CheckboxField({props:{checked:e[5].value?.rollbackAfterFinish}}),t.$on("change",e[30]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.checked=e[5].value?.rollbackAfterFinish),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$3(e){let t,n;return t=new CheckboxField({props:{checked:e[5].value?.skipRowsWithUnresolvedRefs}}),t.$on("change",e[32]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[0]&&(o.checked=e[5].value?.skipRowsWithUnresolvedRefs),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$3(e){let t,n,o,r,i,a;return t=new FormFieldTemplateLarge({props:{label:"Source archive",type:"combo",$$slots:{default:[create_default_slot_9$1]},$$scope:{ctx:e}}}),o=new FormFieldTemplateLarge({props:{label:"Dry run - no changes (rollback when finished)",type:"checkbox",labelProps:{onClick:e[31]},$$slots:{default:[create_default_slot_8$2]},$$scope:{ctx:e}}}),i=new FormFieldTemplateLarge({props:{label:"Skip rows with unresolved mandatory references",type:"checkbox",labelProps:{onClick:e[33]},$$slots:{default:[create_default_slot_7$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p(e,n){const r={};4128&n[0]|131072&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};32&n[0]&&(a.labelProps={onClick:e[31]}),32&n[0]|131072&n[1]&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const s={};32&n[0]&&(s.labelProps={onClick:e[33]}),32&n[0]|131072&n[1]&&(s.$$scope={dirty:n,ctx:e}),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_default_slot_5$4(e){let t;return{c(){t=text$1("Check all")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_4$4(e){let t;return{c(){t=text$1("Uncheck all")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__1_slot_1(e){let t,n;return t=new CheckboxField({props:{checked:e[47].isChecked}}),t.$on("change",(function(...t){return e[39](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o[1]&&(r.checked=e[47].isChecked),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot_1(e){let t,n;return t=new SelectField({props:{isNative:!0,value:e[47].operation,disabled:!e[47].isChecked,options:[{label:"Copy row",value:"copy"},{label:"Lookup (find matching row)",value:"lookup"},{label:"Insert if not exists",value:"insertMissing"}]}}),t.$on("change",(function(...t){return e[38](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};65536&o[1]&&(r.value=e[47].operation),65536&o[1]&&(r.disabled=!e[47].isChecked),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$F(e){let t,n;function o(...t){return e[36](e[47],...t)}return t=new SelectField({props:{isNative:!0,value:e[47].matchColumn1,disabled:!e[47].isChecked,options:e[4]?.tables?.find(o)?.columns?.map(func_6$1)||[]}}),t.$on("change",(function(...t){return e[37](e[47],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};65536&r[1]&&(i.value=e[47].matchColumn1),65536&r[1]&&(i.disabled=!e[47].isChecked),16&r[0]|65536&r[1]&&(i.options=e[4]?.tables?.find(o)?.columns?.map(func_6$1)||[]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__3_slot$1(e){let t,n,o="copy"!=e[47].operation&&create_if_block$F(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){"copy"!=e[47].operation?o?(o.p(e,n),65536&n[1]&&transition_in(o,1)):(o=create_if_block$F(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_default_slot_3$a(e){let t,n,o,r,i=e[47].file+"";return t=new FontIcon({props:{icon:"img archive"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,t){(!r||65536&t[1])&&i!==(i=e[47].file+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__4_slot$1(e){let t,n;function o(){return e[35](e[47])}return t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};32&r[0]|65536&r[1]&&(i.onClick=o),196608&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$m(e){let t,n,o,r,i=e[47].table+"";return t=new FontIcon({props:{icon:"img table"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(i)},m(e,i){mount_component(t,e,i),insert(e,n,i),insert(e,o,i),r=!0},p(e,t){(!r||65536&t[1])&&i!==(i=e[47].table+"")&&set_data(o,i)},i(e){r||(transition_in(t.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__5_slot(e){let t,n;function o(){return e[34](e[47])}return t=new Link$1({props:{menu:appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]}),onClick:o,$$slots:{default:[create_default_slot_2$m]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};3&r[0]|65536&r[1]&&(i.menu=appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]})),3&r[0]|65536&r[1]&&(i.onClick=o),196608&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$o(e){let t,n,o,r,i,a,s;return n=new Link$1({props:{onClick:e[16](!0),$$slots:{default:[create_default_slot_5$4]},$$scope:{ctx:e}}}),r=new Link$1({props:{onClick:e[16](!1),$$slots:{default:[create_default_slot_4$4]},$$scope:{ctx:e}}}),a=new TableControl({props:{rows:e[3],columns:[{header:"",fieldName:"isChecked",slot:1},{header:"Source file",fieldName:"file",slot:4},{header:"Target table",fieldName:"table",slot:5},{header:"Operation",fieldName:"operation",slot:2},{header:"Match column",fieldName:"matchColumn1",slot:3}],$$slots:{5:[create__5_slot,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],4:[create__4_slot$1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],3:[create__3_slot$1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],2:[create__2_slot_1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],1:[create__1_slot_1,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1("\n |\n "),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),attr(t,"class","mb-2")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),mount_component(r,t,null),insert(e,i,c),mount_component(a,e,c),s=!0},p(e,t){const o={};131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};131072&t[1]&&(i.$$scope={dirty:t,ctx:e}),r.$set(i);const s={};8&t[0]&&(s.rows=e[3]),51&t[0]|196608&t[1]&&(s.$$scope={dirty:t,ctx:e}),a.$set(s)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),e&&detach(i),destroy_component(a,e)}}}function create__1_slot$4(e){let t,n,o,r,i;return n=new ObjectConfigurationControl({props:{title:"Configuration",$$slots:{default:[create_default_slot_6$3]},$$scope:{ctx:e}}}),r=new ObjectConfigurationControl({props:{title:"Imported files",$$slots:{default:[create_default_slot_1$o]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","wrapper svelte-1p2rqwm")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,t){const o={};4128&t[0]|131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};59&t[0]|131072&t[1]&&(i.$$scope={dirty:t,ctx:e}),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function create__2_slot$4(e){let t,n;return t=new SocketMessageView({props:{eventName:e[2]?`runner-info-${e[2]}`:null,executeNumber:e[6],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n[0]&&(o.eventName=e[2]?`runner-info-${e[2]}`:null),64&n[0]&&(o.executeNumber=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$v(e){let t,n;return t=new VerticalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$4],1:[create__1_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4223&n[0]|131072&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_toolstrip_slot$1(e){let t,n,o,r;return t=new ToolStripCommandButton({props:{command:"dataDuplicator.run"}}),o=new ToolStripCommandButton({props:{command:"dataDuplicator.kill"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$1i(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$v]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4223&n[0]|131072&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor$1=()=>getActiveComponent("DataDuplicatorTab");registerCommand({id:"dataDuplicator.run",category:"Data duplicator",name:"Import into DB",keyText:"F5 | CtrlOrCommand+Enter",toolbar:!0,isRelatedToTab:!0,icon:"icon run",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.canRun()},onClick:()=>getCurrentEditor$1().run()}),registerCommand({id:"dataDuplicator.kill",category:"Data duplicator",icon:"icon close",name:"Kill",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.canKill()},onClick:()=>getCurrentEditor$1().kill()});const func$8=e=>({label:e.name,value:e.name}),func_6$1=e=>({label:e.columnName,value:e.columnName});function instance$1g(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g=noop$3,$=noop$3,b=noop$3,v=noop$3,y=noop$3;e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v())),e.$$.on_destroy.push((()=>y()));var x,w,C=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:k}=t,{database:S}=t,{tabid:T}=t,A=!1,E=null,O=0;const I=createActivator("DataDuplicatorTab",!0),N=useTimerLabel(),{editorState:D,editorValue:M,setEditorData:R}=useEditorData({tabid:T,onInitialData:e=>{invalidateCommands()}});function L(e){R((t=>Object.assign(Object.assign({},t),{tables:Object.assign(Object.assign({},null==t?void 0:t.tables),{[e.name]:e})})))}component_subscribe(e,D,(e=>n(5,d=e)));const F=()=>{n(25,A=!1),N.stop()};return e.$$set=e=>{"conid"in e&&n(0,k=e.conid),"database"in e&&n(1,S=e.database),"tabid"in e&&n(17,T=e.tabid)},e.$$.update=()=>{1&e.$$.dirty[0]&&(n(11,o=useConnectionInfo({conid:k})),b(),b=subscribe(o,(e=>n(40,m=e)))),3&e.$$.dirty[0]&&(n(10,r=useDatabaseInfo({conid:k,database:S})),g(),g=subscribe(r,(e=>n(4,u=e)))),8388640&e.$$.dirty[0]&&(n(8,a=useArchiveFiles({folder:null===n(23,x=null==d?void 0:d.value)||void 0===x?void 0:x.archiveFolder})),v(),v=subscribe(a,(e=>n(28,f=e)))),285212688&e.$$.dirty[0]&&n(26,s=_.sortBy(_.intersectionBy(null===n(24,w=null==u?void 0:u.tables)||void 0===w?void 0:w.map((e=>e.pureName)),null==f?void 0:f.map((e=>e.name)),(e=>_.toUpper(e))))),33685504&e.$$.dirty[0]&&changeTab(T,(e=>Object.assign(Object.assign({},e),{busy:A}))),67108912&e.$$.dirty[0]&&n(3,l=s.map((e=>{var t,n,o,r,i,a,s,c,l,p,m,f;const h=null===(n=null===(t=null==d?void 0:d.value)||void 0===t?void 0:t.tables)||void 0===n?void 0:n[e],g=null===(o=null==h?void 0:h.isChecked)||void 0===o||o,_=null!==(r=null==h?void 0:h.operation)&&void 0!==r?r:"copy",$=null===(i=null==u?void 0:u.tables)||void 0===i?void 0:i.find((t=>{var n;return(null===(n=t.pureName)||void 0===n?void 0:n.toUpperCase())==e.toUpperCase()})),b=null!==(p=null!==(a=null==h?void 0:h.matchColumn1)&&void 0!==a?a:null===(l=null===(c=null===(s=null==$?void 0:$.primaryKey)||void 0===s?void 0:s.columns)||void 0===c?void 0:c[0])||void 0===l?void 0:l.columnName)&&void 0!==p?p:null===(f=null===(m=null==$?void 0:$.columns)||void 0===m?void 0:m[0])||void 0===f?void 0:f.columnName;return{name:e,isChecked:g,operation:_,matchColumn1:b,file:e,table:(null==$?void 0:$.schemaName)?`${null==$?void 0:$.schemaName}.${null==$?void 0:$.pureName}`:null==$?void 0:$.pureName,schemaName:null==$?void 0:$.schemaName,pureName:null==$?void 0:$.pureName,tableInfo:$}}))),33554444&e.$$.dirty[0]&&invalidateCommands(),4&e.$$.dirty[0]&&(n(7,c=useEffect((()=>{return(e=E)?(apiOn(`runner-done-${e}`,F),()=>{apiOff(`runner-done-${e}`,F)}):()=>{};var e}))),$(),$=subscribe(c,(e=>n(27,p=e)))),e.$$.dirty[0]},n(9,i=useArchiveFolders()),y(),y=subscribe(i,(e=>n(12,h=e))),[k,S,E,l,u,d,O,c,a,i,r,o,h,D,R,L,e=>()=>{R((t=>{var n;const o=Object.assign({},null==t?void 0:t.tables);for(const r of s)o[r]=Object.assign(Object.assign({},null===(n=null==t?void 0:t.tables)||void 0===n?void 0:n[r]),{isChecked:e});return Object.assign(Object.assign({},t),{tables:o})}))},T,I,function(){return!!l.find((e=>e.isChecked))&&!A},function(){return C(this,void 0,void 0,(function*(){if(A)return;n(6,O+=1),n(25,A=!0);const e=yield function(e=!1){var t,n;const o=getCurrentConfig().allowShellScripting||e?new lib$5.ScriptWriter:new lib$5.ScriptWriterJson;return o.dataDuplicator({connection:extractShellConnection(m,S),archive:d.value.archiveFolder,items:l.filter((e=>e.isChecked)).map((e=>({name:e.name,operation:e.operation,matchColumns:_.compact([e.matchColumn1])}))),options:{rollbackAfterFinish:!!(null===(t=d.value)||void 0===t?void 0:t.rollbackAfterFinish),skipRowsWithUnresolvedRefs:!!(null===(n=d.value)||void 0===n?void 0:n.skipRowsWithUnresolvedRefs)}}),o.getScript()}();let t=E;t=(yield apiCall("runners/start",{script:e})).runid,n(2,E=t),N.start()}))},function(){return A},function(){apiCall("runners/cancel",{runid:E}),N.stop()},x,w,A,s,p,f,e=>{R((t=>({...t,archiveFolder:e.detail})))},e=>{R((t=>({...t,rollbackAfterFinish:e.target.checked})))},()=>{R((e=>({...e,rollbackAfterFinish:!d.value?.rollbackAfterFinish})))},e=>{R((t=>({...t,skipRowsWithUnresolvedRefs:e.target.checked})))},()=>{R((e=>({...e,skipRowsWithUnresolvedRefs:!d.value?.skipRowsWithUnresolvedRefs})))},e=>{openNewTab({title:e.pureName,icon:"img table",tabComponent:"TableDataTab",props:{schemaName:e.schemaName,pureName:e.pureName,conid:k,database:S,objectTypeField:"tables"}})},e=>{openNewTab({title:e.file,icon:"img archive",tooltip:`${d.value?.archiveFolder}\n${e.file}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e.file,archiveFolder:d.value?.archiveFolder}})},(e,t)=>t.pureName?.toUpperCase()==e.name.toUpperCase(),(e,t)=>{L({...e,matchColumn1:t.detail})},(e,t)=>{L({...e,operation:t.detail})},(e,t)=>{L({...e,isChecked:t.target.checked})}]}class DataDuplicatorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1i,safe_not_equal,{conid:0,database:1,tabid:17,activator:18,canRun:19,run:20,canKill:21,kill:22},null,[-1,-1])}get activator(){return this.$$.ctx[18]}get canRun(){return this.$$.ctx[19]}get run(){return this.$$.ctx[20]}get canKill(){return this.$$.ctx[21]}get kill(){return this.$$.ctx[22]}}var DataDuplicatorTab$1=Object.freeze({__proto__:null,default:DataDuplicatorTab});function create_else_block$f(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("input",e[5]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$E(e){let t,n,o,r,i;return n=new TextField({props:{value:e[2]}}),n.$on("input",e[3]),r=new DropDownButton({props:{menu:e[4]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(r.$$.fragment),attr(t,"class","wrapper svelte-1tssh5w")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(r,t,null),i=!0},p(e,t){const o={};4&t&&(o.value=e[2]),n.$set(o);const i={};3&t&&(i.menu=e[4]),r.$set(i)},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}function create_fragment$1h(e){let t,n,o,r;const i=[create_if_block$E,create_else_block$f],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$1f(e,t,n){let{tableInfo:o}=t,{onChange:r}=t,{value:i}=t;return e.$$set=e=>{"tableInfo"in e&&n(0,o=e.tableInfo),"onChange"in e&&n(1,r=e.onChange),"value"in e&&n(2,i=e.value)},[o,r,i,e=>r(e.target.value),()=>o.columns.map((e=>({text:e.columnName,onClick:()=>r(e.columnName)}))),e=>r(e.target.value)]}class ColumnMapColumnDropdown extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1h,safe_not_equal,{tableInfo:0,onChange:1,value:2})}}function create_if_block$D(e){let t;return{c(){t=element("div"),t.textContent="When no columns are defined in this mapping, source row is copied to target without any modifications",attr(t,"class","m-3")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__4_slot(e){let t,n;return t=new CheckboxField({props:{checked:!e[18].skip}}),t.$on("change",(function(...t){return e[15](e[17],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};262144&o&&(r.checked=!e[18].skip),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$3(e){let t,n;function o(...t){return e[14](e[17],...t)}return t=new ColumnMapColumnDropdown({props:{value:e[18].src,onChange:o,tableInfo:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};262144&r&&(i.value=e[18].src),131088&r&&(i.onChange=o),4&r&&(i.tableInfo=e[2]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__2_slot$3(e){let t,n;function o(...t){return e[13](e[17],...t)}return t=new ColumnMapColumnDropdown({props:{value:e[18].dst,onChange:o,tableInfo:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};262144&r&&(i.value=e[18].dst),131088&r&&(i.onChange=o),8&r&&(i.tableInfo=e[3]),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$l(e){let t;return{c(){t=text$1("Remove")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create__3_slot(e){let t,n;function o(){return e[12](e[17])}return t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot_2$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};131088&r&&(i.onClick=o),524288&r&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$n(e){let t,n,o,r=0==e[6].length&&create_if_block$D();return n=new TableControl({props:{columns:[{fieldName:"use",header:"Use",slot:4},{fieldName:"src",header:"Source column",slot:1},{fieldName:"dst",header:"Target column",slot:2},{fieldName:"actions",header:"",slot:3}],rows:e[4]||[],emptyMessage:"No transform defined",$$slots:{3:[create__3_slot,({index:e})=>({17:e}),({index:e})=>e?131072:0],2:[create__2_slot$3,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)],1:[create__1_slot$3,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)],4:[create__4_slot,({row:e,index:t})=>({18:e,17:t}),({row:e,index:t})=>(e?262144:0)|(t?131072:0)]},$$scope:{ctx:e}}}),{c(){r&&r.c(),t=space(),create_component(n.$$.fragment)},m(e,i){r&&r.m(e,i),insert(e,t,i),mount_component(n,e,i),o=!0},p(e,t){const o={};16&t&&(o.rows=e[4]||[]),917532&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){r&&r.d(e),e&&detach(t),destroy_component(n,e)}}}function create_header_slot$2(e){let t,n;return{c(){t=element("div"),n=text$1(e[0]),attr(t,"slot","header")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&set_data(n,e[0])},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,r,i,a,s,c;return t=new FormSubmit({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Close"}}),o.$on("click",closeCurrentModal),i=new FormStyledButton({props:{type:"button",value:"Add column"}}),i.$on("click",e[10]),s=new FormStyledButton({props:{type:"button",value:"Reset",disabled:!e[5]}}),s.$on("click",e[11]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,t){const n={};32&t&&(n.disabled=!e[5]),s.$set(n)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$u(e){let t,n;const o=[e[7]];let r={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_1$n]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=128&n?get_spread_update(o,[get_spread_object(e[7])]):{};524351&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1g(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$u]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};524479&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function equalValues(e,t){if(!e||!t)return!1;if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n].src!=t[n].src||e[n].dst!=t[n].dst||!!e[n].skip!=!!t[n].skip)return!1;return!0}function instance$1e(e,t,n){let o;const r=["header","onConfirm","sourceTableInfo","targetTableInfo","initialValue"];let i=compute_rest_props(t,r),{header:a="Configure columns"}=t,{onConfirm:s}=t,{sourceTableInfo:c}=t,{targetTableInfo:l}=t,{initialValue:u}=t;const d=c&&!l?c.columns.map((e=>({src:e.columnName,dst:e.columnName,skip:!1}))):l&&!c?l.columns.map((e=>({src:e.columnName,dst:e.columnName,skip:!1}))):[];let p=(null==u?void 0:u.length)>0?u:d;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,i=compute_rest_props(t,r)),"header"in e&&n(0,a=e.header),"onConfirm"in e&&n(1,s=e.onConfirm),"sourceTableInfo"in e&&n(2,c=e.sourceTableInfo),"targetTableInfo"in e&&n(3,l=e.targetTableInfo),"initialValue"in e&&n(8,u=e.initialValue)},e.$$.update=()=>{16&e.$$.dirty&&n(5,o=!equalValues(p,d))},[a,s,c,l,p,o,d,i,u,()=>{closeCurrentModal(),s(p&&0!=p.length&&o?p:null)},()=>{n(4,p=[...p||[],{}])},()=>{n(4,p=d)},e=>{n(4,p=p.filter(((t,n)=>n!=e)))},(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,dst:t.target.value,ignore:!1}:n))),(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,src:t,ignore:!1}:n))),(e,t)=>n(4,p=(p||[]).map(((n,o)=>o==e?{...n,skip:!t.target.checked,ignore:!1}:n)))]}class ColumnMapModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1g,safe_not_equal,{header:0,onConfirm:1,sourceTableInfo:2,targetTableInfo:3,initialValue:8})}}function create_fragment$1f(e){let t,n;return t=new SelectField({props:{options:e[2],isNative:!0,value:e[1][`actionType_${e[0]}`]||e[2][0].value}}),t.$on("change",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4&n&&(o.options=e[2]),7&n&&(o.value=e[1][`actionType_${e[0]}`]||e[2][0].value),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$1d(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(6,i=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,r=e)));return e.$$set=e=>{"name"in e&&n(0,a=e.name),"targetDbinfo"in e&&n(5,s=e.targetDbinfo)},e.$$.update=()=>{99&e.$$.dirty&&n(2,o=getActionOptions(i,a,r))},[a,r,o,c,l,s,i,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1f,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$C(e){let t,n,o,r,i,a;return n=new FontIcon({props:{icon:"icon web"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","icon svelte-170ou0a"),attr(t,"title",o=e[1]&&e[1].fileName)},m(o,s){insert(o,t,s),mount_component(n,t,null),r=!0,i||(a=listen(t,"click",e[4]),i=!0)},p(e,n){(!r||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),i=!1,a()}}}function create_fragment$1e(e){let t,n,o,r,i,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$C(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),r=space(),i=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(i,"class","flex"),attr(t,"class","flex space-between")},m(m,f){insert(m,t,f),append(t,n),append(n,o),append(t,r),append(t,i),p&&p.m(i,null),append(i,a),append(i,s),mount_component(c,s,null),l=!0,u||(d=listen(s,"click",e[3]),u=!0)},p(e,[t]){(!l||1&t)&&set_data(o,e[0]),e[1]&&e[1].isDownload?p?(p.p(e,t),2&t&&transition_in(p,1)):(p=create_if_block$C(e),p.c(),transition_in(p,1),p.m(i,a)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){l||(transition_in(p),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(p),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),p&&p.d(),destroy_component(c),u=!1,d()}}}function instance$1c(e,t,n){let o,r,{name:i}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,r=e)));const c=e=>{s(`sourceFile_${i}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,i=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=r[`sourceFile_${i}`])},[i,o,a,()=>{s("sourceList",r.sourceList.filter((e=>e!=i)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},r]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1e,safe_not_equal,{name:0})}}function create_fragment$1d(e){let t,n,o,r,i,a,s,c;const l=[e[7],{options:e[2]},{isMulti:!0},{templateProps:{noMargin:!0}}];let u={};for(let e=0;e<l.length;e+=1)u=assign(u,l[e]);return n=new FormSelectField({props:u}),i=new FormStyledButton({props:{type:"button",value:"All files"}}),i.$on("click",e[9]),s=new FormStyledButton({props:{type:"button",value:"Remove all"}}),s.$on("click",e[10]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),mount_component(i,r,null),append(r,a),mount_component(s,r,null),c=!0},p(e,[t]){const o=132&t?get_spread_update(l,[128&t&&get_spread_object(e[7]),4&t&&{options:e[2]},l[2],l[3]]):{};n.$set(o)},i(e){c||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(s)}}}function instance$1b(e,t,n){let o,r,i,a,s=noop$3;e.$$.on_destroy.push((()=>s()));let{folderName:c}=t,{name:l}=t;const{setFieldValue:u,values:d}=getFormContext();component_subscribe(e,d,(e=>n(4,a=e)));return e.$$set=e=>{n(7,t=assign(assign({},t),exclude_internal_props(e))),"folderName"in e&&n(8,c=e.folderName),"name"in e&&n(0,l=e.name)},e.$$.update=()=>{256&e.$$.dirty&&(n(3,o=useArchiveFiles({folder:c})),s(),s=subscribe(o,(e=>n(1,i=e)))),2&e.$$.dirty&&n(2,r=(i||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,i,r,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...i&&i.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1d,safe_not_equal,{folderName:8,name:0})}}function create_if_block$B(e){let t,n;return t=new LoadingInfo({props:{message:"Anaysing input files"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1c(e){let t,n,o,r;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let i=e[0]&&create_if_block$B();return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[t]){e[0]?i?1&t&&transition_in(i,1):(i=create_if_block$B(),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function getFileFilters(e,t){const n=[],o=findFileFormat(e,t);return o&&n.push({name:o.name,extensions:[o.extension]}),n.push({name:"All Files",extensions:["*"]}),n}function instance$1a(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(4,r=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let a=!1;const{values:s}=getFormContext();component_subscribe(e,s,(e=>n(3,o=e)));return[a,s,()=>i(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(r,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(r,t.map((t=>({fileName:t,shortName:e.parse(t).name}))),o,s)}finally{n(0,a=!1)}}}))]}class ElectronFilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1c,safe_not_equal,{})}}function create_else_block$e(e){let t,n;return t=new UploadButton({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$A(e){let t,n;return t=new ElectronFilesInput({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1b(e){let t,n,o,r,i,a,s,c,l;const u=[create_if_block$A,create_else_block$e],d=[];return o=function(e,t){return e[0]?0:1}(e),r=d[o]=u[o](e),a=new FormStyledButton({props:{value:"Add web URL"}}),a.$on("click",e[2]),{c(){t=element("div"),n=element("div"),r.c(),i=space(),create_component(a.$$.fragment),s=space(),c=element("div"),c.textContent="Drag & drop imported files here",attr(n,"class","flex"),attr(c,"class","wrapper svelte-5j61hy"),attr(t,"class","main svelte-5j61hy")},m(e,r){insert(e,t,r),append(t,n),d[o].m(n,null),append(n,i),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(r),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(r),transition_out(a.$$.fragment,e),l=!1},d(e){e&&detach(t),d[o].d(),destroy_component(a)}}}function extractUrlName(e,t){const n=e.match(/\/([^/\?]+)($|\?)/);if(n){const e=n[1];return e.includes(".")?e.slice(0,e.indexOf(".")):e}return`url${t&&t.sourceList?t.sourceList.length+1:"1"}`}function instance$19(e,t,n){let o,r;component_subscribe(e,extensions,(e=>n(5,r=e)));let{setPreviewSource:i}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(r,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,i)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,i=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),i]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1b,safe_not_equal,{setPreviewSource:3})}}function create_if_block$z(e){let t,n;const o=[e[3],{options:e[0]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new FormSelectField({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$1a(e){let t,n,o=e[0].length>0&&create_if_block$z(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$z(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$18(e,t,n){let o,r;const i=["conidName","databaseName"];let a,s,c=compute_rest_props(t,i),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t;const{values:p}=getFormContext();return component_subscribe(e,p,(e=>n(7,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,i)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useSchemaList({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,r=(_.isArray(a)?a:[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[r,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$1a,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$e(e,t,n){const o=e.slice();return o[15]=t[n],o}function create_if_block$y(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[15]}`}}),t.$on("click",(function(){return e[13](e[15])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(t,n){e=t},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$e(e){let t,n,o=e[2]&&e[2][e[15]]?.length>0&&create_if_block$y(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[2]&&e[2][e[15]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$y(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_fragment$19(e){let t,n,o,r,i,a,s;const c=[e[8],{name:e[0]},{options:e[3]},{isMulti:!0},{templateProps:{noMargin:!0}}];let l={};for(let e=0;e<c.length;e+=1)l=assign(l,c[e]);n=new FormSelectField({props:l});let u=["tables","views","matviews","collections"],d=[];for(let t=0;t<4;t+=1)d[t]=create_each_block$e(get_each_context$e(e,u,t));const p=e=>transition_out(d[e],1,1,(()=>{d[e]=null}));return a=new FormStyledButton({props:{type:"button",value:"Remove all"}}),a.$on("click",e[14]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div");for(let e=0;e<4;e+=1)d[e].c();i=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-y6l14f")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,r);for(let e=0;e<4;e+=1)d[e]&&d[e].m(r,null);append(r,i),mount_component(a,r,null),s=!0},p(e,[t]){const o=265&t?get_spread_update(c,[256&t&&get_spread_object(e[8]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),135&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$e(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$e(o),d[n].c(),transition_in(d[n],1),d[n].m(r,i))}for(group_outros(),n=4;n<4;n+=1)p(n);check_outros()}},i(e){if(!s){transition_in(n.$$.fragment,e);for(let e=0;e<4;e+=1)transition_in(d[e]);transition_in(a.$$.fragment,e),s=!0}},o(e){transition_out(n.$$.fragment,e),d=d.filter(Boolean);for(let e=0;e<4;e+=1)transition_out(d[e]);transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_each(d,e),destroy_component(a)}}}function instance$17(e,t,n){let o,r,i;const a=["conidName","databaseName","schemaName","name"];let s,c,l,u=compute_rest_props(t,a),d=noop$3,p=noop$3;e.$$.on_destroy.push((()=>d())),e.$$.on_destroy.push((()=>p()));let{conidName:m}=t,{databaseName:f}=t,{schemaName:h}=t,{name:g}=t;const{values:$,setFieldValue:b}=getFormContext();component_subscribe(e,$,(e=>n(1,s=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(8,u=compute_rest_props(t,a)),"conidName"in e&&n(9,m=e.conidName),"databaseName"in e&&n(10,f=e.databaseName),"schemaName"in e&&n(11,h=e.schemaName),"name"in e&&n(0,g=e.name)},e.$$.update=()=>{514&e.$$.dirty&&(n(5,o=useConnectionInfo({conid:s[m]})),p(),p=subscribe(o,(e=>n(12,l=e)))),7682&e.$$.dirty&&(n(4,r=useDatabaseInfo({conid:s[m],database:(null==l?void 0:l.useSeparateSchemas)?`${s[f]}::${s[h]}`:s[f]})),d(),d=subscribe(r,(e=>n(2,c=e)))),2054&e.$$.dirty&&n(3,i=_.compact([...(null==c?void 0:c.tables)||[],...(null==c?void 0:c.views)||[],...(null==c?void 0:c.matviews)||[],...(null==c?void 0:c.collections)||[]]).filter((e=>!s[h]||e.schemaName==s[h])).map((e=>({value:e.pureName,label:e.pureName}))))},[g,s,c,i,r,o,$,b,u,m,f,h,l,e=>b(g,_.compact(_.uniq([...s[g]||[],...c[e]?.map((e=>e.pureName))||[]]))),()=>b(g,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$19,safe_not_equal,{conidName:9,databaseName:10,schemaName:11,name:0})}}function create_if_block_13$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon import"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Source configuration"),attr(t,"class","title svelte-1xwk24g")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_12$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon export"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Target configuration"),attr(t,"class","title svelte-1xwk24g")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_11$2(e){let t,n;return t=new FormStyledButton({props:{value:"Current DB"}}),t.$on("click",e[21]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10$2(e){let t,n;return t=new FormStyledButton({props:{value:"New archive"}}),t.$on("click",e[23]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_9$2(e){let t,n,o,r;return t=new FormConnectionSelect({props:{name:e[2],label:"Server",direction:e[0]}}),o=new FormDatabaseSelect({props:{conidName:e[2],name:e[3],label:"Database"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};4&n&&(r.name=e[2]),1&n&&(r.direction=e[0]),t.$set(r);const i={};4&n&&(i.conidName=e[2]),8&n&&(i.name=e[3]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$2(e){let t,n,o,r;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let i=e[6]&&create_if_block_8$2(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,n){const r={};4&n&&(r.conidName=e[2]),8&n&&(r.databaseName=e[3]),32&n&&(r.name=e[5]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block_8$2(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function create_if_block_8$2(e){let t,n;return t=new FormTablesSelect({props:{conidName:e[2],schemaName:e[5],databaseName:e[3],name:e[6],label:"Tables / views / collections"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.conidName=e[2]),32&n&&(o.schemaName=e[5]),8&n&&(o.databaseName=e[3]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$4(e){let t,n,o,r,i,a;const s=[create_if_block_6$4,create_else_block$d],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return r=l(e),i=c[r]=s[r](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),i.c(),attr(t,"class","label svelte-1xwk24g"),attr(o,"class","sqlwrap svelte-1xwk24g")},m(e,i){insert(e,t,i),insert(e,n,i),insert(e,o,i),c[r].m(o,null),a=!0},p(e,t){let n=r;r=l(e),r===n?c[r].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),i=c[r],i?i.p(e,t):(i=c[r]=s[r](e),i.c()),transition_in(i,1),i.m(o,null))},i(e){a||(transition_in(i),a=!0)},o(e){transition_out(i),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[r].d()}}}function create_else_block$d(e){let t,n;return t=new SqlEditor({props:{value:e[11].sourceQuery,engine:e[7]}}),t.$on("input",e[26]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),128&n&&(o.engine=e[7]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6$4(e){let t,n;return t=new AceEditor({props:{value:e[11].sourceQuery,mode:"json"}}),t.$on("input",e[25]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2048&n&&(o.value=e[11].sourceQuery),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$5(e){let t,n;return t=new FormArchiveFolderSelect({props:{label:"Archive folder",name:e[4],additionalFolders:_.compact([e[11][e[4]]])}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.name=e[4]),2064&n&&(o.additionalFolders=_.compact([e[11][e[4]]])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$7(e){let t,n;return t=new FormArchiveFilesSelect({props:{label:"Source files",folderName:e[11][e[4]],name:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2064&n&&(o.folderName=e[11][e[4]]),64&n&&(o.name=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$b(e){let t,n;return t=new FilesInput({props:{setPreviewSource:e[8]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.setPreviewSource=e[8]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$m(e){let t,n;return t=new FormArgumentList({props:{args:e[10].args.filter(e[27]),namePrefix:`${e[0]}_${e[10].storageType}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1025&n&&(o.args=e[10].args.filter(e[27])),1025&n&&(o.namePrefix=`${e[0]}_${e[10].storageType}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$x(e){let t,n;return t=new FormArgumentList({props:{args:e[12]?.importExportArgs.filter(e[28]),namePrefix:`${e[0]}_${e[12].engine}_`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4097&n&&(o.args=e[12]?.importExportArgs.filter(e[28])),4097&n&&(o.namePrefix=`${e[0]}_${e[12].engine}_`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$18(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b="source"==e[0]&&create_if_block_13$2(),v="target"==e[0]&&create_if_block_12$2(),y=e[15]&&create_if_block_11$2(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$2(e);l=new FormSelectField({props:{options:e[14].filter(e[24]),name:e[1],label:"Storage type"}});let w=("database"==e[9]||"query"==e[9])&&create_if_block_9$2(e),C="database"==e[9]&&create_if_block_7$2(e),k="query"==e[9]&&create_if_block_5$4(e),S="archive"==e[9]&&create_if_block_4$5(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$7(e),A=e[10]&&"source"==e[0]&&create_if_block_2$b(e),E=e[10]?.args&&create_if_block_1$m(e),O=e[12]?.importExportArgs&&create_if_block$x(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),r=element("div"),y&&y.c(),i=space(),create_component(a.$$.fragment),s=space(),x&&x.c(),c=space(),create_component(l.$$.fragment),u=space(),w&&w.c(),d=space(),C&&C.c(),p=space(),k&&k.c(),m=space(),S&&S.c(),f=space(),T&&T.c(),h=space(),A&&A.c(),g=space(),E&&E.c(),_=space(),O&&O.c(),attr(r,"class","buttons svelte-1xwk24g"),attr(t,"class","column svelte-1xwk24g")},m(e,I){insert(e,t,I),b&&b.m(t,null),append(t,n),v&&v.m(t,null),append(t,o),append(t,r),y&&y.m(r,null),append(r,i),mount_component(a,r,null),append(r,s),x&&x.m(r,null),append(t,c),mount_component(l,t,null),append(t,u),w&&w.m(t,null),append(t,d),C&&C.m(t,null),append(t,p),k&&k.m(t,null),append(t,m),S&&S.m(t,null),append(t,f),T&&T.m(t,null),append(t,h),A&&A.m(t,null),append(t,g),E&&E.m(t,null),append(t,_),O&&O.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$2(),b.c(),transition_in(b,1),b.m(t,n)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"target"==e[0]?v?1&a&&transition_in(v,1):(v=create_if_block_12$2(),v.c(),transition_in(v,1),v.m(t,o)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[15]?y?(y.p(e,a),32768&a&&transition_in(y,1)):(y=create_if_block_11$2(e),y.c(),transition_in(y,1),y.m(r,i)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),"target"==e[0]?x?(x.p(e,a),1&a&&transition_in(x,1)):(x=create_if_block_10$2(e),x.c(),transition_in(x,1),x.m(r,null)):x&&(group_outros(),transition_out(x,1,1,(()=>{x=null})),check_outros());const s={};16385&a&&(s.options=e[14].filter(e[24])),2&a&&(s.name=e[1]),l.$set(s),"database"==e[9]||"query"==e[9]?w?(w.p(e,a),512&a&&transition_in(w,1)):(w=create_if_block_9$2(e),w.c(),transition_in(w,1),w.m(t,d)):w&&(group_outros(),transition_out(w,1,1,(()=>{w=null})),check_outros()),"database"==e[9]?C?(C.p(e,a),512&a&&transition_in(C,1)):(C=create_if_block_7$2(e),C.c(),transition_in(C,1),C.m(t,p)):C&&(group_outros(),transition_out(C,1,1,(()=>{C=null})),check_outros()),"query"==e[9]?k?(k.p(e,a),512&a&&transition_in(k,1)):(k=create_if_block_5$4(e),k.c(),transition_in(k,1),k.m(t,m)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),"archive"==e[9]?S?(S.p(e,a),512&a&&transition_in(S,1)):(S=create_if_block_4$5(e),S.c(),transition_in(S,1),S.m(t,f)):S&&(group_outros(),transition_out(S,1,1,(()=>{S=null})),check_outros()),"archive"==e[9]&&"source"==e[0]?T?(T.p(e,a),513&a&&transition_in(T,1)):(T=create_if_block_3$7(e),T.c(),transition_in(T,1),T.m(t,h)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?A?(A.p(e,a),1025&a&&transition_in(A,1)):(A=create_if_block_2$b(e),A.c(),transition_in(A,1),A.m(t,g)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[10]?.args?E?(E.p(e,a),1024&a&&transition_in(E,1)):(E=create_if_block_1$m(e),E.c(),transition_in(E,1),E.m(t,_)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[12]?.importExportArgs?O?(O.p(e,a),4096&a&&transition_in(O,1)):(O=create_if_block$x(e),O.c(),transition_in(O,1),O.m(t,null)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros())},i(e){$||(transition_in(b),transition_in(v),transition_in(y),transition_in(a.$$.fragment,e),transition_in(x),transition_in(l.$$.fragment,e),transition_in(w),transition_in(C),transition_in(k),transition_in(S),transition_in(T),transition_in(A),transition_in(E),transition_in(O),$=!0)},o(e){transition_out(b),transition_out(v),transition_out(y),transition_out(a.$$.fragment,e),transition_out(x),transition_out(l.$$.fragment,e),transition_out(w),transition_out(C),transition_out(k),transition_out(S),transition_out(T),transition_out(A),transition_out(E),transition_out(O),$=!1},d(e){e&&detach(t),b&&b.d(),v&&v.d(),y&&y.d(),destroy_component(a),x&&x.d(),destroy_component(l),w&&w.d(),C&&C.d(),k&&k.d(),S&&S.d(),T&&T.d(),A&&A.d(),E&&E.d(),O&&O.d()}}}function instance$16(e,t,n){let o,r,i,a,s,c,l,u,d,p,m=noop$3;component_subscribe(e,extensions,(e=>n(19,c=e))),component_subscribe(e,currentDatabase,(e=>n(15,d=e))),component_subscribe(e,currentArchive,(e=>n(16,p=e))),e.$$.on_destroy.push((()=>m()));let{direction:f}=t,{storageTypeField:h}=t,{connectionIdField:g}=t,{databaseNameField:_}=t,{archiveFolderField:$}=t,{schemaNameField:b}=t,{tablesField:v}=t,{engine:y}=t,{setPreviewSource:x}=t;const{values:w,setFieldValue:C}=getFormContext();component_subscribe(e,w,(e=>n(11,u=e)));return e.$$set=e=>{"direction"in e&&n(0,f=e.direction),"storageTypeField"in e&&n(1,h=e.storageTypeField),"connectionIdField"in e&&n(2,g=e.connectionIdField),"databaseNameField"in e&&n(3,_=e.databaseNameField),"archiveFolderField"in e&&n(4,$=e.archiveFolderField),"schemaNameField"in e&&n(5,b=e.schemaNameField),"tablesField"in e&&n(6,v=e.tablesField),"engine"in e&&n(7,y=e.engine),"setPreviewSource"in e&&n(8,x=e.setPreviewSource)},e.$$.update=()=>{526338&e.$$.dirty&&n(14,o="jsldata"==u[h]?[{value:"jsldata",label:"Query result data",directions:["source"]}]:[{value:"database",label:"Database",directions:["source","target"]},...c.fileFormats.map((e=>({value:e.storageType,label:`${e.name} files(s)`,directions:getFileFormatDirections(e)}))),{value:"query",label:"Query",directions:["source"]},{value:"archive",label:"Archive",directions:["source","target"]}]),2050&e.$$.dirty&&n(9,r=u[h]),524800&e.$$.dirty&&n(10,i=findFileFormat(c,r)),2052&e.$$.dirty&&(n(13,a=useConnectionInfo({conid:u[g]})),m(),m=subscribe(a,(e=>n(20,l=e)))),1572864&e.$$.dirty&&n(12,s=lib$5.findEngineDriver(l,c))},[f,h,g,_,$,b,v,y,x,r,i,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[h]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[h]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[h]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(f),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==f,e=>!e.direction||e.direction==f]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$16,create_fragment$18,safe_not_equal,{direction:0,storageTypeField:1,connectionIdField:2,databaseNameField:3,archiveFolderField:4,schemaNameField:5,tablesField:6,engine:7,setPreviewSource:8})}}function get_context(e){const t=(e[0][`columns_${e[31]}`]||[]).filter((e=>!e.skip)).length;e[32]=t}function create_if_block_1$l(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[31]}}),t.$on("change",(function(...t){return e[23](e[31],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o[0]|1&o[1]&&(r.checked=e[2]==e[31]),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__0_slot(e){let t,n,o=e[4]&&create_if_block_1$l(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,n){e[4]?o?(o.p(e,n),16&n[0]&&transition_in(o,1)):(o=create_if_block_1$l(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function create_if_block$w(e){let t,n;function o(){return e[22](e[31])}return t=new DropDownButton({props:{menu:o}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const i={};2048&r[0]|1&r[1]&&(i.menu=o),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$2(e){let t,n,o,r;n=new TextField({props:{value:getTargetName(e[1],e[31],e[0])}}),n.$on("input",(function(...t){return e[21](e[31],...t)}));let i=e[11]&&create_if_block$w(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i&&i.c(),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),i&&i.m(t,null),r=!0},p(o,r){e=o;const a={};3&r[0]|1&r[1]&&(a.value=getTargetName(e[1],e[31],e[0])),n.$set(a),e[11]?i?(i.p(e,r),2048&r[0]&&transition_in(i,1)):(i=create_if_block$w(e),i.c(),transition_in(i,1),i.m(t,null)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i),r=!1},d(e){e&&detach(t),destroy_component(n),i&&i.d()}}}function create_default_slot$t(e){let t,n=e[32]>0?`(${e[32]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){1&o[0]|1&o[1]&&n!==(n=e[32]>0?`(${e[32]} columns)`:"(copy from source)")&&set_data(t,n)},d(e){e&&detach(t)}}}function create__2_slot$2(e){let t,n;function o(){return e[20](e[31])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$t]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){get_context(e=n);const i={};3073&r[0]|1&r[1]&&(i.onClick=o),1&r[0]|5&r[1]&&(i.$$scope={dirty:r,ctx:e}),t.$set(i)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$17(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[5],setPreviewSource:e[14].set}}),a=new FontIcon({props:{icon:"icon arrow-right-bold"}}),c=new SourceTargetConfig({props:{direction:"target",storageTypeField:"targetStorageType",connectionIdField:"targetConnectionId",databaseNameField:"targetDatabaseName",archiveFolderField:"targetArchiveFolder",schemaNameField:"targetSchemaName"}}),p=new FontIcon({props:{icon:"icon tables"}}),h=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_3$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[24]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}],$$slots:{2:[create__2_slot$2,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]],1:[create__1_slot$2,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]],0:[create__0_slot,({row:e})=>({31:e}),({row:e})=>[0,e?1:0]]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),u=element("div"),d=element("div"),create_component(p.$$.fragment),m=text$1(" Map source tables/files"),f=space(),create_component(h.$$.fragment),attr(i,"class","arrow svelte-tc4cku"),attr(n,"class","flex"),attr(d,"class","title svelte-tc4cku"),attr(u,"class","m-2"),attr(t,"class","flex1")},m(e,_){insert(e,t,_),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),mount_component(a,i,null),append(n,s),mount_component(c,n,null),append(t,l),append(t,u),append(u,d),mount_component(p,d,null),append(d,m),append(u,f),mount_component(h,u,null),g=!0},p(e,t){const n={};32&t[0]&&(n.engine=e[5]),o.$set(n);const r={};1&t[0]&&(r.rows=e[0].sourceList||[]),64&t[0]&&(r.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_3$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[24]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),3095&t[0]|5&t[1]&&(r.$$scope={dirty:t,ctx:e}),h.$set(r)},i(e){g||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in(h.$$.fragment,e),g=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out(h.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(h)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function addFileToSourceListDefault({fileName:e,shortName:t,isDownload:n},o,r){return __awaiter$2(this,void 0,void 0,(function*(){const i=t;o.push(i),r[`sourceFile_${i}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,r=void 0,i=void 0){return __awaiter$2(this,void 0,void 0,(function*(){const a=[],s={},c=r||n.sourceStorageType;for(const n of getAsArray(t)){const t=findFileFormat(e,c);t&&(yield(t.addFileToSourceList||addFileToSourceListDefault)(n,a,s,apiCall))}s.sourceList=[...(n.sourceList||[]).filter((e=>!a.includes(e))),...a],r&&r!=n.sourceStorageType&&(s.sourceStorageType=r),o.set(Object.assign(Object.assign({},n),s)),i&&1==a.length&&i(a[0])}))}const func_3$2=e=>({name:e});function instance$15(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=noop$3,b=noop$3,v=noop$3,y=noop$3,x=noop$3;component_subscribe(e,extensions,(e=>n(1,p=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v())),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x()));var w=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{previewReaderStore:C}=t,{isTabActive:k}=t;const{values:S,setFieldValue:T}=getFormContext();component_subscribe(e,S,(e=>n(0,d=e)));const A=writable(null);component_subscribe(e,A,(e=>n(2,m=e)));function E(e){addFilesToSourceList(p,[{fileName:e.filePath,shortName:e.shortName}],d,S,c&&0!=c.length?null:e.storageType,A.set)}const O=createRef(null);return e.$$set=e=>{"previewReaderStore"in e&&n(15,C=e.previewReaderStore),"isTabActive"in e&&n(16,k=e.isTabActive)},e.$$.update=()=>{var t;1&e.$$.dirty[0]&&(n(9,o=useConnectionInfo({conid:d.sourceConnectionId})),b(),b=subscribe(o,(e=>n(18,f=e)))),1&e.$$.dirty[0]&&(n(8,r=useConnectionInfo({conid:d.targetConnectionId})),v(),v=subscribe(r,(e=>n(19,h=e)))),262145&e.$$.dirty[0]&&(n(7,i=useDatabaseInfo({conid:d.sourceConnectionId,database:lib$5.compositeDbNameIfNeeded(f,d.sourceDatabaseName,d.sourceSchemaName)})),y(),y=subscribe(i,(e=>n(10,g=e)))),524289&e.$$.dirty[0]&&(n(6,a=useDatabaseInfo({conid:d.targetConnectionId,database:lib$5.compositeDbNameIfNeeded(h,d.targetDatabaseName,d.targetSchemaName)})),x(),x=subscribe(a,(e=>n(11,_=e)))),262144&e.$$.dirty[0]&&n(5,s=null==f?void 0:f.engine),1&e.$$.dirty[0]&&(c=d.sourceList),3&e.$$.dirty[0]&&n(4,l=!!findFileFormat(p,d.sourceStorageType)||"archive"==d.sourceStorageType),5&e.$$.dirty[0]&&(t=m,w(void 0,void 0,void 0,(function*(){if(t&&l){const e=yield createPreviewReader(p,d,t);C&&C.set(e)}else C&&C.set(null)}))),65536&e.$$.dirty[0]&&(n(3,u=useEffect((()=>k?(setUploadListener(E),()=>{setUploadListener(null)}):()=>{}))),$(),$=subscribe(u,(e=>n(26,e)))),1&e.$$.dirty[0]&&function(e,t){if(O.get()&&e.fixedTargetPureName){const n=e.sourceList.filter((e=>{var t;return!(null===(t=O.get())||void 0===t?void 0:t.includes(e))})),o={};for(const t of n)e.fixedTargetPureName&&(e[`targetName_${t}`]||(o[`targetName_${t}`]=e.fixedTargetPureName),e[`actionType_${t}`]||(o[`actionType_${t}`]="appendData"));t.set(Object.assign(Object.assign({},e),o))}O.set(e.sourceList)}(d,S)},[d,p,m,u,l,s,a,i,r,o,g,_,S,T,A,C,k,E,f,h,e=>{const t=(d[`targetName_${e}`]||e)?.toLowerCase();showModal(ColumnMapModal,{initialValue:d[`columns_${e}`],sourceTableInfo:g?.tables?.find((t=>t.pureName?.toLowerCase()==e?.toLowerCase())),targetTableInfo:_?.tables?.find((e=>e.pureName?.toLowerCase()==t)),onConfirm:t=>T(`columns_${e}`,t)})},(e,t)=>T(`targetName_${e}`,t.target.value),e=>_.tables.map((t=>({text:t.pureName,onClick:()=>T(`targetName_${e}`,t.pureName)}))),(e,t)=>{t.target.checked?set_store_value(A,m=e,m):set_store_value(A,m=null,m)},e=>({name:e,targetDbinfo:a})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$17,safe_not_equal,{previewReaderStore:15,isTabActive:16,addUploadedFile:17},null,[-1,-1])}get addUploadedFile(){return this.$$.ctx[17]}}class RowsArrayGrider extends Grider{constructor(e){super(),this.rows=e}getRowData(e){return this.rows[e]}get rowCount(){return this.rows.length}}function create_if_block_2$a(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DataGridCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=74&n?get_spread_update(o,[64&n&&get_spread_object(e[6]),2&n&&{grider:e[1]},8&n&&{display:e[3]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$k(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$v(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Loading data"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$16(e){let t,n,o,r;const i=[create_if_block$v,create_if_block_1$k,create_if_block_2$a],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=i[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?~t&&a[t].p(e,r):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$14(e,t,n){let o,r,i;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{reader:s}=t,c=!1,l=null,u=null,d=null;const p=writable(lib$1.createGridConfig());component_subscribe(e,p,(e=>n(10,i=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,r=e)));return e.$$set=e=>{n(6,t=assign(assign({},t),exclude_internal_props(e))),"reader"in e&&n(7,s=e.reader)},e.$$.update=()=>{var t;128&e.$$.dirty&&(t=s,a(void 0,void 0,void 0,(function*(){try{if(!t)return n(8,l=null),void n(1,u=null);n(2,d=null),n(0,c=!0);const e=yield apiCall("runners/load-reader",t);if(e.errorMessage)return n(0,c=!1),void n(2,d=e.errorMessage);n(8,l=e),n(1,u=new RowsArrayGrider(e.rows)),n(0,c=!1)}catch(e){n(0,c=!1),n(2,d="Loading failed"),console.error(e.response)}}))),1792&e.$$.dirty&&n(3,o=new lib$1.FreeTableGridDisplay(l,i,p.update,r,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,r,i]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$16,safe_not_equal,{reader:7})}}function create_if_block_1$j(e){let t,n;return t=new LoadingInfo({props:{wrapper:!0,message:"Processing import/export ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create__1_slot$1(e){let t,n,o,r,i={previewReaderStore:e[8],isTabActive:e[0]==e[7]};n=new ImportExportConfigurator({props:i}),e[23](n);let a=e[2]&&create_if_block_1$j();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),a&&a.c(),attr(t,"class","content svelte-2uswg2"),attr(t,"slot","1")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),a&&a.m(t,null),r=!0},p(e,o){const r={};129&o[0]&&(r.isTabActive=e[0]==e[7]),n.$set(r),e[2]?a?4&o[0]&&transition_in(a,1):(a=create_if_block_1$j(),a.c(),transition_in(a,1),a.m(t,null)):a&&(group_outros(),transition_out(a,1,1,(()=>{a=null})),check_outros())},i(e){r||(transition_in(n.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a),r=!1},d(o){o&&detach(t),e[23](null),destroy_component(n),a&&a.d()}}}function create_default_slot_9(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[1],executeNumber:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n[0]&&(o.runnerId=e[1]),8&n[0]&&(o.executeNumber=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8$1(e){let t,n;return t=new SocketMessageView({props:{eventName:e[1]?`runner-info-${e[1]}`:null,executeNumber:e[3],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n[0]&&(o.eventName=e[1]?`runner-info-${e[1]}`:null),8&n[0]&&(o.executeNumber=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$2(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[6]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};64&n[0]&&(o.reader=e[6]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$2(e){let t,n,o,r;return t=new FormTextField({props:{label:"Schedule",name:"schedule"}}),o=new FormTextField({props:{label:"Start variable index",name:"startVariableIndex"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_5$3(e){let t,n,o,r,i,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),i=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[6],$$slots:{default:[create_default_slot_7$2]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,l){mount_component(t,e,l),insert(e,n,l),mount_component(o,e,l),insert(e,r,l),mount_component(i,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const r={};10&n[0]|128&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};10&n[0]|128&n[1]&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};64&n[0]&&(c.skip=!e[6]),64&n[0]|128&n[1]&&(c.$$scope={dirty:n,ctx:e}),i.$set(c);const l={};128&n[1]&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot$1(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_5$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};74&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$3(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$1],1:[create__1_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$9(e){let t,n;return t=new FormProviderCore({props:{values:e[9],$$slots:{default:[create_default_slot_4$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block$c(e){let t,n;return t=new ToolStripButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_2$k]},$$scope:{ctx:e}}}),t.$on("click",e[12]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$u(e){let t,n;return t=new ToolStripButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_1$m]},$$scope:{ctx:e}}}),t.$on("click",e[13]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$k(e){let t;return{c(){t=text$1("Run")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$m(e){let t;return{c(){t=text$1("Stop")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$s(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_toolstrip_slot(e){let t,n,o,r,i,a,s;const c=[create_if_block$u,create_else_block$c],l=[];function u(e,t){return e[2]?0:1}return t=u(e),n=l[t]=c[t](e),r=new ToolStripButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot$s]},$$scope:{ctx:e}}}),r.$on("click",e[11]),a=new ToolStripSaveButton({props:{idPrefix:"job"}}),{c(){n.c(),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment)},m(e,n){l[t].m(e,n),insert(e,o,n),mount_component(r,e,n),insert(e,i,n),mount_component(a,e,n),s=!0},p(e,i){let a=t;t=u(e),t===a?l[t].p(e,i):(group_outros(),transition_out(l[a],1,1,(()=>{l[a]=null})),check_outros(),n=l[t],n?n.p(e,i):(n=l[t]=c[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o));const s={};128&i[1]&&(s.$$scope={dirty:i,ctx:e}),r.$set(s)},i(e){s||(transition_in(n),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){l[t].d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),destroy_component(a,e)}}}function create_fragment$15(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],default:[create_default_slot_3$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};223&n[0]|128&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const getCurrentEditor=()=>getActiveComponent("ImportExportTab");function getSourceTargetTitle(e,t){var n;switch(t[`${e}StorageType`]){case"database":return t[`${e}DatabaseName`]||"DB";case"archive":return t[`${e}ArchiveFolder`]||"Archive";case"query":return"Query";default:return null===(n=t[`${e}StorageType`])||void 0===n?void 0:n.toUpperCase().replace(/@.*$/,"")}}function instance$13(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f=noop$3;component_subscribe(e,extensions,(e=>n(25,i=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(26,s=e))),component_subscribe(e,selectedWidget,(e=>n(27,c=e))),component_subscribe(e,currentArchive,(e=>n(28,l=e))),component_subscribe(e,currentDatabase,(e=>n(29,d=e))),component_subscribe(e,activeTabId,(e=>n(7,m=e))),e.$$.on_destroy.push((()=>f()));var h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let g=!1,$=0,b=null;const v=writable(null);component_subscribe(e,v,(e=>n(6,p=e)));let{tabid:y}=t,{uploadedFile:x}=t,{openedFile:w}=t,{importToCurrentTarget:C=!1}=t,{savedFile:k}=t,{savedFilePath:S}=t;const T=createRef(null),A=writable({});let E;component_subscribe(e,A,(e=>n(21,a=e)));const O=createActivator("ImportExportTab",!0),{editorState:I,editorValue:N,setEditorData:D}=useEditorData({tabid:y,onInitialData:e=>{set_store_value(A,a=Object.assign(Object.assign({sourceStorageType:"database",targetStorageType:getDefaultFileFormat(i).storageType,targetArchiveFolder:l,sourceArchiveFolder:l},function(){var e;if(!C)return{};if(d&&"archive"!=c)return{targetStorageType:"database",targetConnectionId:null===(e=null==d?void 0:d.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==d?void 0:d.name};return"default"==l?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:l}}()),e),a),x&&E.addUploadedFile(x),w&&E.addUploadedFile(w),changeTab(y,(e=>Object.assign(Object.assign({},e),{props:_.omit(e.props,["uploadedFile","openedFile","importToCurrentTarget"])})))}});component_subscribe(e,I,(e=>n(24,r=e)));const M=()=>{n(2,g=!1),T.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:T.get()}),set_store_value(currentArchive,l=T.get(),l),set_store_value(selectedWidget,c="archive",c),set_store_value(visibleWidgetSideBar,s=!0,s))};return e.$$set=e=>{"tabid"in e&&n(0,y=e.tabid),"uploadedFile"in e&&n(14,x=e.uploadedFile),"openedFile"in e&&n(15,w=e.openedFile),"importToCurrentTarget"in e&&n(16,C=e.importToCurrentTarget),"savedFile"in e&&n(17,k=e.savedFile),"savedFilePath"in e&&n(18,S=e.savedFilePath)},e.$$.update=()=>{var t;2097152&e.$$.dirty[0]&&D(a),2097152&e.$$.dirty[0]&&(t=a,k||S||changeTab(y,(e=>{var n;return Object.assign(Object.assign({},e),{title:`${getSourceTargetTitle("source",t)}->${getSourceTargetTitle("target",t)}(${(null===(n=t.sourceList)||void 0===n?void 0:n.length)||0})`})}))),2&e.$$.dirty[0]&&(n(5,o=useEffect((()=>{return(e=b)?(apiOn(`runner-done-${e}`,M),()=>{apiOff(`runner-done-${e}`,M)}):()=>{};var e}))),f(),f=subscribe(o,(e=>n(22,u=e)))),e.$$.dirty[0]},[y,b,g,$,E,o,p,m,v,A,I,e=>h(void 0,void 0,void 0,(function*(){const e=a;openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(i,e,void 0)})})),e=>h(void 0,void 0,void 0,(function*(){if(g)return;const e=a;n(2,g=!0);const t=yield createImpExpScript(i,e);n(3,$+=1);let o=b;o=(yield apiCall("runners/start",{script:t})).runid,n(1,b=o),"archive"==e.targetStorageType?T.set(e.targetArchiveFolder):T.set(null)})),()=>{apiCall("runners/cancel",{runid:b})},x,w,C,k,S,O,function(){return r.value||""},a,u,function(e){binding_callbacks[e?"unshift":"push"]((()=>{E=e,n(4,E)}))}]}registerFileCommands({idPrefix:"job",category:"Job",getCurrentEditor:getCurrentEditor,folder:"jobs",format:"json",fileExtension:"job"});class ImportExportTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$15,safe_not_equal,{tabid:0,uploadedFile:14,openedFile:15,importToCurrentTarget:16,savedFile:17,savedFilePath:18,activator:19,getData:20},null,[-1,-1])}get activator(){return this.$$.ctx[19]}get getData(){return this.$$.ctx[20]}}var ImportExportTab$1=Object.freeze({__proto__:null,default:ImportExportTab}),protabs={},tabs={TableDataTab:TableDataTab$1,CollectionDataTab:CollectionDataTab$1,ViewDataTab:ViewDataTab$1,TableStructureTab:TableStructureTab$1,QueryTab:QueryTab$1,ShellTab:ShellTab$1,ArchiveFileTab:ArchiveFileTab$1,PluginTab:PluginTab$1,ChartTab:ChartTab$1,MarkdownEditorTab:MarkdownEditorTab$1,MarkdownViewTab:MarkdownViewTab$1,MarkdownPreviewTab:MarkdownPreviewTab$1,FavoriteEditorTab:FavoriteEditorTab$1,QueryDesignTab:QueryDesignTab$1,CommandListTab:CommandListTab$1,YamlEditorTab:YamlEditorTab$1,JsonEditorTab:JsonEditorTab$1,JsonLinesEditorTab:JsonLinesEditorTab$1,CompareModelTab:CompareModelTab$1,JsonTab:JsonTab$1,ChangelogTab:ChangelogTab$1,DiagramTab:DiagramTab$1,DbKeyDetailTab:DbKeyDetailTab$1,QueryDataTab:QueryDataTab$1,ConnectionTab:ConnectionTab$1,MapTab:MapTab$1,PerspectiveTab:PerspectiveTab$1,ServerSummaryTab:ServerSummaryTab$1,ProfilerTab:ProfilerTab$1,DataDuplicatorTab:DataDuplicatorTab$1,ImportExportTab:ImportExportTab$1,...protabs};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t=void 0,n=void 0){return __awaiter$m(this,void 0,void 0,(function*(){const o=getOpenedTabs(),r=getActiveTab();let i=null;const{savedFile:a,savedFolder:s,savedFilePath:c}=e.props||{};(a||c)&&(i=o.find((t=>t.props&&t.tabComponent==e.tabComponent&&null==t.closedTime&&t.props.savedFile==a&&t.props.savedFolder==s&&t.props.savedFilePath==c)));const{forceNewTab:l}=n||{},u=tabs[e.tabComponent];if(!i&&!l&&u&&u.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},u.matchingProps));i=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},u.matchingProps))==t))}if(i)return void openedTabs.update((e=>setSelectedTabFunc(e,i.tabid)));if(e.title.endsWith("#")){const t=o.filter((t=>null==t.closedTime&&t.title&&t.title.startsWith(e.title))).map((t=>parseInt(t.title.substring(e.title.length))));e.title=`${e.title}${findFreeNumber(t)}`}const d=v1_1$6();if(t)for(const e of _.keys(t))"editor"==e||"rows"==e?yield localforage.setItem(`tabdata_${e}_${d}`,t[e]):localStorage.setItem(`tabdata_${e}_${d}`,JSON.stringify(t[e]));openedTabs.update((t=>{var n,o;const i=getTabDbKey(e),a=sortTabs(t.filter((e=>null==e.closedTime))),s=Object.assign(Object.assign({},e),{tabid:d});if(null!=i){const e=_.findLastIndex(a,(e=>getTabDbKey(e)==i));e>=0?a.splice(e+1,0,s):a.push(s)}else a.push(s);return[...(t||[]).map((e=>Object.assign(Object.assign({},e),{selected:!1,tabOrder:_.findIndex(a,(t=>t.tabid==e.tabid))}))),Object.assign(Object.assign({},e),{tabid:d,selected:!0,multiTabIndex:null!==(o=null!==(n=null==e?void 0:e.multiTabIndex)&&void 0!==n?n:null==r?void 0:r.multiTabIndex)&&void 0!==o?o:0,tabOrder:_.findIndex(a,(e=>e.tabid==d))})]}))}))}function duplicateTab(e){return __awaiter$m(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,r={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),i=n.match(o);i&&i[2]==e.tabid&&(r[i[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(r[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),r,{forceNewTab:!0})}))}function getTabDbKey(e){var t;return"ConnectionTab"==e.tabComponent?"connections.":(null===(t=e.tabComponent)||void 0===t?void 0:t.startsWith("Admin"))?"admin.":e.props&&e.props.conid&&e.props.database?`database://${e.props.database}-${e.props.conid}`:e.props&&e.props.conid?`server://${e.props.conid}`:e.props&&e.props.archiveFolder?`archive://${e.props.archiveFolder}`:null}function sortTabs(e){return _.sortBy(e,[e=>e.tabOrder||0,e=>getTabDbKey(e),"title","tabid"])}function groupTabs(e){const t=[];for(const n of sortTabs(e)){const e=t[t.length-1];e&&n.tabDbKey&&e.tabDbKey==n.tabDbKey?e.tabs.push(n):t.push({tabDbKey:n.tabDbKey,tabDbName:n.tabDbName,tabs:[n],grpid:n.tabid})}return t}function create_fragment$14(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getArchiveIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openArchive(e,t){openNewTab({title:e,icon:"img archive",tooltip:`${t}\n${e}`,tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:t}})}function openTextFile$1(e,t,n,o,r){return __awaiter$1(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"archive:"+n,savedFormat:"text",archiveFolder:n},{})},{editor:a})}))}const extractKey$6=e=>e.fileName,createMatcher$3=({fileName:e})=>t=>lib$5.filterName(t,e),ARCHIVE_ICONS={"table.yaml":"img table","view.sql":"img view","proc.sql":"img procedure","func.sql":"img function","trigger.sql":"img sql-file","matview.sql":"img view"};function getArchiveIcon(e){return"jsonl"==e.fileType?"img archive":ARCHIVE_ICONS[e.fileType]}function instance$12(e,t,n){const o=["data"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:a}=t;const s=()=>{showModal(InputTextModal,{value:a.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("archive/rename-file",{file:a.fileName,folder:a.folderName,fileType:a.fileType,newFile:e})}})},c=()=>{showModal(ConfirmModal,{message:`Really delete file ${a.fileName}?`,onConfirm:()=>{apiCall("archive/delete-file",{file:a.fileName,folder:a.folderName,fileType:a.fileType})}})},l=()=>{openArchive(a.fileName,a.folderName)},u=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"QueryTab","img sql-file")},d=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"YamlEditorTab","img yaml")},p=()=>{openTextFile$1(a.fileName,a.fileType,a.folderName,"JsonLinesEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,a=e.data)},[a,()=>{"jsonl"==a.fileType&&l(),a.fileType.endsWith(".sql")&&u(),a.fileType.endsWith(".yaml")&&d()},function(){return["jsonl"==a.fileType&&{text:"Open",onClick:l},"jsonl"==a.fileType&&{text:"Open in text editor",onClick:p},{text:"Delete",onClick:c},{text:"Rename",onClick:s},"jsonl"==a.fileType&&createQuickExportMenu((e=>()=>i(this,void 0,void 0,(function*(){exportQuickExportFile(a.fileName,{functionName:"archiveReader",props:{fileName:a.fileName,folderName:a.folderName}},e)}))),{text:"Export",onClick:()=>{openImportExportTab({sourceStorageType:"archive",sourceArchiveFolder:a.folderName,sourceList:[a.fileName]})}}),a.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:u},a.fileType.endsWith(".yaml")&&{text:"Open YAML",onClick:d},"jsonl"==a.fileType&&{text:"Open in profiler",submenu:getExtensions().drivers.filter((e=>e.profilerFormatterFunction)).map((e=>({text:e.title,onClick:()=>{openNewTab({title:"Profiler",icon:"img profiler",tabComponent:"ProfilerTab",props:{jslidLoad:`archive://${a.folderName}/${a.fileName}`,engine:e.engine}})}})))}]},r]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$14,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$j(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$l(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search archive files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[1]&&(f.filter=e[1]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected archive folder",$$slots:{default:[create_default_slot_2$j]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};8192&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$r(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:archiveFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$13(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$l]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8194&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8203&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const ARCHIVE_LABELS={jsonl:"JSON table data","table.yaml":"Tables","view.sql":"Views","proc.sql":"Procedures","func.sql":"Functions","trigger.sql":"Triggers","matview.sql":"Materialized views"};function instance$11(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(){showModal(InputTextModal,{value:"",label:"New file name",header:"Create new JSON lines",onConfirm:e=>c(this,void 0,void 0,(function*(){yield apiCall("archive/save-rows",{folder:i,file:e,rows:[{id:1,value:"val1"},{id:1,value:"val2"}]}),openNewTab({title:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:i}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useArchiveFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New NDJSON file",onClick:u}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>ARCHIVE_LABELS[e.fileType]||"Archive"]}class ArchiveFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$13,safe_not_equal,{})}}function create_fragment$12(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},{isBold:e[0].name==e[1]},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].name.endsWith(".link")?e[0].name.slice(0,-5):e[0].name},1&n&&{icon:e[0].name.endsWith(".link")?"img link":"img archive-folder"},3&n&&{isBold:e[0].name==e[1]},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$5.filterName(t,e.name);function instance$10(e,t,n){const o=["data"];let r,i,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,r=e))),component_subscribe(e,currentArchive,(e=>n(1,i=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:c}=t;const l=()=>{showModal(ConfirmModal,{message:c.name.endsWith(".link")?`Really delete link to folder ${c.name}? Folder content remains untouched.`:`Really delete folder ${c.name}?`,onConfirm:()=>{apiCall("archive/delete-folder",{folder:c.name})}})},u=()=>{const e=c.name.endsWith(".link"),t=e?c.name.slice(0,-5):c.name,n=e?".link":"";showModal(InputTextModal,{value:t,label:"New folder name",header:"Rename folder",onConfirm:e=>s(void 0,void 0,void 0,(function*(){yield apiCall("archive/rename-folder",{folder:c.name,newFolder:e+n}),i==c.name&&set_store_value(currentArchive,i=e+n,i)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$5.extractPackageName(r.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(r.connection,"_id","displayName")),{database:r.name}),modelFolder:`archive:${c.name}`},void 0,2)})`})},p=()=>s(void 0,void 0,void 0,(function*(){const e=yield apiCall("database-connections/generate-deploy-sql",{conid:r.connection._id,database:r.name,archiveFolder:c.name});e.errorMessage?showModal(ErrorMessageModal,{message:e.errorMessage}):newQuery({initialData:e.sql})})),m=()=>{var e;openNewTab({title:"Compare",icon:"img compare",tabComponent:"CompareModelTab"},{editor:{sourceConid:"__model",sourceDatabase:`archive:${c.name}`,targetConid:null===(e=null==r?void 0:r.connection)||void 0===e?void 0:e._id,targetDatabase:null==r?void 0:r.name}})},f=()=>{var e;openNewTab({title:c.name,icon:"img duplicator",tabComponent:"DataDuplicatorTab",props:{conid:null===(e=null==r?void 0:r.connection)||void 0===e?void 0:e._id,database:null==r?void 0:r.name}},{editor:{archiveFolder:c.name}})};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,a=compute_rest_props(t,o)),"data"in e&&n(0,c=e.data)},[c,i,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&r&&[{text:"Data duplicator",onClick:f},{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&hasPermission("dbops/model/compare")&&_.get(r,"connection._id")&&{onClick:m,text:`Compare with ${_.get(r,"name")}`}]},a,()=>set_store_value(currentArchive,i=c.name,i)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$12,safe_not_equal,{data:0})}}var archiveFolderAppObject=Object.freeze({__proto__:null,default:ArchiveFolderAppObject,extractKey:extractKey$5,createMatcher:createMatcher$2});function create_default_slot_3$8(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$i(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$k(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search archive folders"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[0]&&(f.filter=e[0]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Add new archive folder",$$slots:{default:[create_default_slot_3$8]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh archive folder list",$$slots:{default:[create_default_slot_2$i]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$q(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:archiveFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$11(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$k]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$$(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useArchiveFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("archive/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.archiveFolder")]}class ArchiveFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$11,safe_not_equal,{})}}function create_default_slot_2$h(e){let t,n;return t=new ArchiveFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$j(e){let t,n;return t=new ArchiveFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$p(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$10(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$p]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class ArchiveWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$10,safe_not_equal,{})}}function create_fragment$$(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$5).map(e[6]),module:databaseAppObject,passProps:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};19&n&&(o.list=_.sortBy((e[4]||[]).filter(e[5]),func_1$5).map(e[6])),4&n&&(o.passProps=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func_1$5=e=>e.sortOrder??e.name;function instance$_(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let{filter:a}=t,{data:s}=t,{passProps:c}=t;return e.$$set=e=>{"filter"in e&&n(0,a=e.filter),"data"in e&&n(1,s=e.data),"passProps"in e&&n(2,c=e.passProps)},e.$$.update=()=>{2&e.$$.dirty&&(n(3,o=useDatabaseList({conid:s._id})),i(),i=subscribe(o,(e=>n(4,r=e))))},[a,s,c,o,r,e=>lib$5.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$_,create_fragment$$,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_2$9(e){let t,n,o,r;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_5$2]},$$scope:{ctx:e}}}),t.$on("click",e[23]),o=new InlineButton({props:{title:"Add new connection folder",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),o.$on("click",e[24]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};32&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};32&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_5$2(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4$2(e){let t,n;return t=new FontIcon({props:{icon:"icon add-folder"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$7(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$g(e){let t,n,o,r,i,a,s,c,l;function u(t){e[21](t)}let d={placeholder:"Search connection or database"};function p(t){e[22](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind$2(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),r=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind$2(r,"filter",p)));let f=e[5]["new.connection"]?.enabled&&create_if_block_2$9(e);return c=new InlineButton({props:{title:"Refresh connection list",$$slots:{default:[create_default_slot_3$7]},$$scope:{ctx:e}}}),c.$on("click",e[12]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),f&&f.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),f&&f.m(e,n),insert(e,s,n),mount_component(c,e,n),l=!0},p(e,o){const a={};!n&&4&o[0]&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const l={};!i&&4&o[0]&&(i=!0,l.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(l),e[5]["new.connection"]?.enabled?f?(f.p(e,o),32&o[0]&&transition_in(f,1)):(f=create_if_block_2$9(e),f.c(),transition_in(f,1),f.m(s.parentNode,s)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros());const u={};32&o[1]&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(f),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(f),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),f&&f.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block_1$i(e){let t;return{c(){t=element("div"),attr(t,"class","br svelte-hcq8xe")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block$t(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),t.$on("click",e[33]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32&n[1]&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$i(e){let t;return{c(){t=text$1("Add new connection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$o(e){let t,n,o,r,i,a,s,c=e[1]&&!e[1].find(func$7)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$4);t=new AppObjectList({props:{list:_.sortBy(e[4],e[25]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[26],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[27],setIsExpanded:e[28],groupIconFunc:chevronExpandIcon,groupFunc:func_6,expandIconFunc:plusExpandIcon,onDropOnGroup:e[13],emptyGroupNames:e[8],sortGroups:!0,groupContextMenu:e[15],collapsedGroupNames:collapsedConnectionGroupNames}});let l=(e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0)&&create_if_block_1$i();r=new AppObjectList({props:{list:_.sortBy(e[3],e[29]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[30],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[31],setIsExpanded:e[32]}});let u=c&&create_if_block$t(e);return{c(){create_component(t.$$.fragment),n=space(),l&&l.c(),o=space(),create_component(r.$$.fragment),i=space(),u&&u.c(),a=empty()},m(e,c){mount_component(t,e,c),insert(e,n,c),l&&l.m(e,c),insert(e,o,c),mount_component(r,e,c),insert(e,i,c),u&&u.m(e,c),insert(e,a,c),s=!0},p(e,n){const i={};16&n[0]&&(i.list=_.sortBy(e[4],e[25])),1&n[0]&&(i.isExpandable=e[26]),4&n[0]&&(i.filter=e[2]),64&n[0]&&(i.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(i.getIsExpanded=e[27]),256&n[0]&&(i.emptyGroupNames=e[8]),t.$set(i),e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0?l||(l=create_if_block_1$i(),l.c(),l.m(o.parentNode,o)):l&&(l.d(1),l=null);const s={};8&n[0]&&(s.list=_.sortBy(e[3],e[29])),1&n[0]&&(s.isExpandable=e[30]),4&n[0]&&(s.filter=e[2]),64&n[0]&&(s.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(s.getIsExpanded=e[31]),r.$set(s),547&n[0]&&(c=e[1]&&!e[1].find(func$7)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$4)),c?u?(u.p(e,n),547&n[0]&&transition_in(u,1)):(u=create_if_block$t(e),u.c(),transition_in(u,1),u.m(a.parentNode,a)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){s||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(u),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(u),s=!1},d(e){destroy_component(t,e),e&&detach(n),l&&l.d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),u&&u.d(e),e&&detach(a)}}}function create_fragment$_(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$g]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),o.$on("drop",e[34]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};36&n[0]|32&n[1]&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1023&n[0]|32&n[1]&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$7=e=>!e.unsaved,func_1$4=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid,func_6=e=>e.parent;function instance$Z(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g;component_subscribe(e,openedConnections,(e=>n(0,s=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,c=e))),component_subscribe(e,volatileConnectionMapStore,(e=>n(19,u=e))),component_subscribe(e,commandsCustomized,(e=>n(5,p=e))),component_subscribe(e,expandedConnections,(e=>n(7,f=e))),component_subscribe(e,emptyConnectionGroupNames,(e=>n(8,h=e))),component_subscribe(e,openedTabs,(e=>n(9,g=e)));var $=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};const b=useConnectionList();component_subscribe(e,b,(e=>n(1,l=e)));const v=useServerStatus();component_subscribe(e,v,(e=>n(20,d=e)));let y="";const x=(e,t)=>{const n=lib$5.safeJsonParse(e);(null==n?void 0:n._id)&&apiCall("connections/update",{_id:null==n?void 0:n._id,values:{parent:t}})},w=useConnectionColorFactory(3);component_subscribe(e,w,(e=>n(6,m=e)));return e.$$.update=()=>{1572866&e.$$.dirty[0]&&n(17,o=l&&d?l.map((e=>Object.assign(Object.assign({},e),{status:d[u[e._id]||e._id]}))):l),393217&e.$$.dirty[0]&&n(16,r=null==o?void 0:o.filter((e=>!e.unsaved||s.includes(e._id)||c.includes(e._id)))),65536&e.$$.dirty[0]&&n(4,i=r?null==r?void 0:r.filter((e=>void 0!==e.parent&&null!==e.parent&&0!==e.parent.length)):[]),65536&e.$$.dirty[0]&&n(3,a=r?null==r?void 0:r.filter((e=>void 0===e.parent||null===e.parent||0===e.parent.length)):[])},[s,l,y,a,i,p,m,f,h,g,b,v,()=>{for(const e of s)apiCall("server-connections/refresh",{conid:e})},x,w,function(e){return[{text:"Rename",onClick:()=>{showModal(InputTextModal,{value:e,label:"New folder name",header:"Rename folder",onConfirm:t=>$(this,void 0,void 0,(function*(){emptyConnectionGroupNames.update((n=>_.uniq(n.map((n=>n==e?t:n))))),apiCall("connections/batch-change-folder",{folder:e,newFolder:t})}))})}},{text:"Delete",onClick:()=>{showModal(ConfirmModal,{message:`Really delete folder ${e}? Connections in folder will be moved into root folder.`,onConfirm:()=>{emptyConnectionGroupNames.update((t=>t.filter((t=>t!=e)))),apiCall("connections/batch-change-folder",{folder:e,newFolder:""})}})}}]},r,o,c,u,d,function(e){y=e,n(2,y)},function(e){y=e,n(2,y)},()=>runCommand("new.connection"),()=>runCommand("new.connection.folder"),e=>(lib$5.getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>f.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},e=>(lib$5.getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>f.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},()=>runCommand("new.connection"),e=>{var t=e.dataTransfer.getData("app_object_drag_data");t&&x(t,"")}]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$_,safe_not_equal,{},null,[-1,-1])}}function create_if_block$s(e){let t,n,o,r;const i=[create_if_block_1$h,create_else_block$b],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block$b(e){let t,n;const o=[e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseAppObject({props:r}),t.$on("dragstart",e[8]),t.$on("dragenter",e[9]),t.$on("dragend",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$h(e){let t,n;const o=[e[4]];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DatabaseObjectAppObject({props:r}),t.$on("dragstart",e[5]),t.$on("dragenter",e[6]),t.$on("dragend",e[7]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Z(e){let t,n,o=e[0]&&create_if_block$s(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$s(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}const extractKey$4=e=>e.objectTypeField?`${e.objectTypeField}||${e.schemaName}||${e.pureName}`:e.connection._id;function dragExchange(e,t,n,o,r){if(!r(e,t)){const i=_.findIndex(n,(t=>r(t,e))),a=_.findIndex(n,(e=>r(e,t)));if(i>=0&&a>=0&&i!=a){const e=[...n],t=e[i];e[i]=e[a],e[a]=t,o(e)}}}function instance$Y(e,t,n){let o,r,i;component_subscribe(e,draggedPinnedObject,(e=>n(1,o=e))),component_subscribe(e,pinnedTables,(e=>n(2,r=e))),component_subscribe(e,pinnedDatabases,(e=>n(3,i=e)));let{data:a}=t;return e.$$set=e=>{n(4,t=assign(assign({},t),exclude_internal_props(e))),"data"in e&&n(0,a=e.data)},t=exclude_internal_props(t),[a,o,r,i,t,()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,r,(e=>set_store_value(pinnedTables,r=e,r)),((e,t)=>e?.pureName==t?.pureName&&e?.schemaName==t?.schemaName))},()=>{set_store_value(draggedPinnedObject,o=null,o)},()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,i,(e=>set_store_value(pinnedDatabases,i=e,i)),((e,t)=>e?.name==t?.name&&e?.connection?._id==t?.connection?._id))},()=>{set_store_value(draggedPinnedObject,o=null,o)}]}class PinnedAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$Y,create_fragment$Z,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$n(e){let t,n;return t=new AppObjectList({props:{list:[..._.compact(e[1]),..._.compact(e[0])],module:pinnedAppObject,passProps:{connectionColorFactory:e[2]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};3&n&&(o.list=[..._.compact(e[1]),..._.compact(e[0])]),4&n&&(o.passProps={connectionColorFactory:e[2]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Y(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};71&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$X(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(4,r=e))),component_subscribe(e,pinnedTables,(e=>n(5,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(1,a=e)));const c=useConnectionColorFactory(3);return component_subscribe(e,c,(e=>n(2,s=e))),e.$$.update=()=>{48&e.$$.dirty&&n(0,o=i.filter((e=>{var t;return(null==e?void 0:e.conid)==(null===(t=null==r?void 0:r.connection)||void 0===t?void 0:t._id)&&(null==e?void 0:e.database)==(null==r?void 0:r.name)})))},[o,a,s,c,r,i]}class PinnedObjectsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$Y,safe_not_equal,{})}}function create_fragment$X(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=15&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].columnName},2&n&&{extInfo:e[1]},1&n&&{icon:getColumnIcon(e[0],!0)},4&n&&{menu:e[2]},o[6]]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$3=({columnName:e})=>e;function instance$W(e,t,n){let o;const r=["data"];let i=compute_rest_props(t,r),{data:a}=t;function s(){renameDatabaseObjectDialog(a.conid,a.database,a.columnName,((e,t)=>{e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName)).columns.find((e=>e.columnName==a.columnName)).columnName=t}))}function c(){alterDatabaseDialog(a.conid,a.database,(e=>{const t=e.tables.find((e=>e.schemaName==a.schemaName&&e.pureName==a.pureName));_.remove(t.columns,(e=>e.columnName==a.columnName))}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,r)),"data"in e&&n(0,a=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(1,o=a.foreignKey?`${a.dataType} -> ${a.foreignKey.refTableName}`:a.dataType)},[a,o,function(){return[{text:"Rename column",onClick:s},{text:"Drop column",onClick:c},{text:"Copy name",onClick:()=>navigator.clipboard.writeText(a.columnName)}]},i]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$X,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$W(e){let t,n;return t=new AppObjectList({props:{list:(e[0].columns||[]).map(e[1]),module:columnAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.list=(e[0].columns||[]).map(e[1])),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$V(e,t,n){let{data:o}=t;return e.$$set=e=>{"data"in e&&n(0,o=e.data)},[o,e=>({...o,...e,foreignKey:lib$5.findForeignKeyForColumn(o,e)})]}class SubColumnParamList extends SvelteComponent{constructor(e){super(),init(this,e,instance$V,create_fragment$W,safe_not_equal,{data:0})}}function create_if_block$r(e){let t,n,o,r,i,a,s,c,l,u;r=new SelectField({props:{isNative:!0,options:e[3]?.useSeparateSchemas?e[0]?.map(func$6)??[]:[{label:`All schemas (${e[1]?.length??0})`,value:""},...e[8].map(e[17])],value:e[5]??e[9]??"",selectClass:"schema-select"}}),r.$on("change",e[18]);let d=null!=e[5]&&create_if_block_1$g(e);return s=new InlineButton({props:{title:"Add new schema",square:!0,$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),s.$on("click",e[10]),l=new InlineButton({props:{title:"Delete schema",square:!0,disabled:!e[9],$$slots:{default:[create_default_slot$m]},$$scope:{ctx:e}}}),l.$on("click",e[11]),{c(){t=element("div"),n=element("div"),n.textContent="Schema:",o=space(),create_component(r.$$.fragment),i=space(),d&&d.c(),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment),attr(n,"class","mr-1"),attr(t,"class","wrapper svelte-1bew19q"),toggle_class(t,"negativeMarginTop",e[4])},m(e,p){insert(e,t,p),append(t,n),append(t,o),mount_component(r,t,null),append(t,i),d&&d.m(t,null),append(t,a),mount_component(s,t,null),append(t,c),mount_component(l,t,null),u=!0},p(e,n){const o={};395&n&&(o.options=e[3]?.useSeparateSchemas?e[0]?.map(func$6)??[]:[{label:`All schemas (${e[1]?.length??0})`,value:""},...e[8].map(e[17])]),544&n&&(o.value=e[5]??e[9]??""),r.$set(o),null!=e[5]?d?(d.p(e,n),32&n&&transition_in(d,1)):(d=create_if_block_1$g(e),d.c(),transition_in(d,1),d.m(t,a)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros());const i={};2097152&n&&(i.$$scope={dirty:n,ctx:e}),s.$set(i);const c={};512&n&&(c.disabled=!e[9]),2097152&n&&(c.$$scope={dirty:n,ctx:e}),l.$set(c),(!u||16&n)&&toggle_class(t,"negativeMarginTop",e[4])},i(e){u||(transition_in(r.$$.fragment,e),transition_in(d),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(d),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(r),d&&d.d(),destroy_component(s),destroy_component(l)}}}function create_if_block_1$g(e){let t,n;return t=new InlineButton({props:{title:"Reset to default",$$slots:{default:[create_default_slot_2$f]},$$scope:{ctx:e}}}),t.$on("click",e[19]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2097152&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$f(e){let t,n;return t=new FontIcon({props:{icon:"icon close"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$h(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$m(e){let t,n;return t=new FontIcon({props:{icon:"icon minus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$V(e){let t,n,o=e[8].length>0&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[8].length>0?o?(o.p(e,n),256&n&&transition_in(o,1)):(o=create_if_block$r(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function computeCountBySchema(e){const t={};for(const n of e)n.schemaName&&(t[n.schemaName]||(t[n.schemaName]=0),t[n.schemaName]+=1);return t}const func$6=e=>({label:e.schemaName,value:e.schemaName});function instance$U(e,t,n){let o,r,i,a,s;component_subscribe(e,currentDatabase,(e=>n(16,a=e))),component_subscribe(e,appliedCurrentSchema,(e=>n(9,s=e)));var c,l,u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{schemaList:d}=t,{objectList:p}=t,{conid:m}=t,{database:f}=t,{connection:h}=t,{negativeMarginTop:g=!1}=t,{driver:$}=t,b=null;return e.$$set=e=>{"schemaList"in e&&n(0,d=e.schemaList),"objectList"in e&&n(1,p=e.objectList),"conid"in e&&n(12,m=e.conid),"database"in e&&n(2,f=e.database),"connection"in e&&n(3,h=e.connection),"negativeMarginTop"in e&&n(4,g=e.negativeMarginTop),"driver"in e&&n(13,$=e.driver)},e.$$.update=()=>{if(4100&e.$$.dirty&&n(6,o=`selected-schema-${m}-${f}`),106569&e.$$.dirty&&((null==h?void 0:h.useSeparateSchemas)?n(5,b=null!==n(15,l=lib$5.extractSchemaNameFromComposite(null==a?void 0:a.name))&&void 0!==l?l:lib$5.findDefaultSchema(d,null==$?void 0:$.dialect)):n(5,b=localStorage.getItem(null!=o?o:""))),2&e.$$.dirty&&n(7,i=computeCountBySchema(null!=p?p:[])),8353&e.$$.dirty)if(null!=b)set_store_value(appliedCurrentSchema,s=b,s);else{const e=Object.keys(i),t=lib$5.findDefaultSchema(d,null==$?void 0:$.dialect);1==e.length&&e[0]==t?set_store_value(appliedCurrentSchema,s=e[0],s):set_store_value(appliedCurrentSchema,s=null,s)}16545&e.$$.dirty&&n(8,r=_.uniq(_.compact([b,...Object.keys(i),...null!==n(14,c=null==d?void 0:d.map((e=>e.schemaName)))&&void 0!==c?c:[]])))},[d,p,f,h,g,b,o,i,r,s,function(){showModal(InputTextModal,{header:"Create schema",value:"newschema",label:"Schema name",onConfirm:e=>u(this,void 0,void 0,(function*(){const t={conid:m,database:f};yield runOperationOnDatabase(t,{type:"createSchema",schemaName:e},"schema-list-changed"),b&&n(5,b=e)}))})},function(){showModal(ConfirmModal,{message:`Really drop schema ${s}?`,onConfirm:()=>u(this,void 0,void 0,(function*(){runOperationOnDatabase({conid:m,database:f},{type:"dropSchema",schemaName:s},"schema-list-changed"),n(5,b=null)}))})},m,$,c,l,a,e=>({label:`${e} (${i[e]??0})`,value:e}),e=>{h?.useSeparateSchemas?switchCurrentDatabase({connection:h,name:`${lib$5.extractDbNameFromComposite(f)}::${e.detail}`}):n(5,b=e.detail),localStorage.setItem(o,e.detail)},()=>{n(5,b=null),localStorage.removeItem(o)}]}class SchemaSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$U,create_fragment$V,safe_not_equal,{schemaList:0,objectList:1,conid:12,database:2,connection:3,negativeMarginTop:4,driver:13})}}function create_else_block$a(e){let t,n,o,r,i,a;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),o=new SchemaSelector({props:{schemaList:_.isArray(e[14])?e[14]:null,objectList:e[6],connection:e[5],conid:e[0],database:e[1],driver:e[7],negativeMarginTop:!0}}),i=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p(e,n){const r={};536870916&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const a={};16384&n&&(a.schemaList=_.isArray(e[14])?e[14]:null),64&n&&(a.objectList=e[6]),32&n&&(a.connection=e[5]),1&n&&(a.conid=e[0]),2&n&&(a.database=e[1]),128&n&&(a.driver=e[7]),o.$set(a);const s={};536912063&n&&(s.$$scope={dirty:n,ctx:e}),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_if_block_1$f(e){let t,n,o,r;return t=new SchemaSelector({props:{schemaList:_.isArray(e[14])?e[14]:null,objectList:e[6],connection:e[5],conid:e[0],database:e[1],driver:e[7]}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16384&n&&(r.schemaList=_.isArray(e[14])?e[14]:null),64&n&&(r.objectList=e[6]),32&n&&(r.connection=e[5]),1&n&&(r.conid=e[0]),2&n&&(r.database=e[1]),128&n&&(r.driver=e[7]),t.$set(r);const i={};536871042&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block$q(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};536879104&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_8(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7$1(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[24](t)}let p={placeholder:"Search in tables, objects, # prefix in columns"};function m(t){e[25](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[2]&&(f.filter=e[2]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[17]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",square:!0,$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[16]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&4&o&&(i=!0,s.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(s);const c={};536870912&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$2(e){let t,n;return t=new AppObjectList({props:{list:e[3].filter(e[26]).map(e[27]),module:databaseObjectAppObject,groupFunc:e[28],subItemsComponent:SubColumnParamList,isExpandable:func_3$1,expandIconFunc:chevronExpandIcon,filter:e[2],passProps:{showPinnedInsteadOfUnpin:!0,connection:e[5],hideSchemaName:!!e[15]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};32779&n&&(o.list=e[3].filter(e[26]).map(e[27])),128&n&&(o.groupFunc=e[28]),4&n&&(o.filter=e[2]),32800&n&&(o.passProps={showPinnedInsteadOfUnpin:!0,connection:e[5],hideSchemaName:!!e[15]}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$4(e){let t,n;return t=new LoadingInfo({props:{message:e[13]?.feedback?.analysingMessage||"Loading database structure"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8192&n&&(o.message=e[13]?.feedback?.analysingMessage||"Loading database structure"),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6$1(e){let t,n,o,r;const i=[create_if_block_4$4,create_else_block_1$2],a=[];function s(e,t){return e[13]&&("pending"==e[13].name||"checkStructure"==e[13].name||"loadStructure"==e[13].name)&&e[4]||!e[4]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot_5$1(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_3$6(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[22]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};536870912&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_4$1(e){let t;return{c(){t=text$1("New table")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_2$8(e){let t,n,o,r;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[23]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,i){insert(e,t,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,t){const n={};536871040&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t,n,o=(e[7]?.collectionSingularLabel??"collection/container")+"";return{c(){t=text$1("New "),n=text$1(o)},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,t){128&t&&o!==(o=(e[7]?.collectionSingularLabel??"collection/container")+"")&&set_data(n,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_default_slot_2$e(e){let t,n,o,r,i,a,s,c,l,u=e[7]?.databaseEngineTypes?.includes("sql"),d=e[7]?.databaseEngineTypes?.includes("document");t=new ErrorInfo({props:{message:`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`,icon:"img alert"}}),i=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),i.$on("click",e[16]);let p=u&&create_if_block_3$6(e),m=d&&create_if_block_2$8(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),r=space(),create_component(i.$$.fragment),a=space(),p&&p.c(),s=space(),m&&m.c(),c=empty(),attr(o,"class","m-1")},m(e,u){mount_component(t,e,u),insert(e,n,u),insert(e,o,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),p&&p.m(e,u),insert(e,s,u),m&&m.m(e,u),insert(e,c,u),l=!0},p(e,n){const o={};2&n&&(o.message=`Database ${e[1]} is empty or structure is not loaded, press Refresh button to reload structure`),t.$set(o);const r={};536870912&n&&(r.$$scope={dirty:n,ctx:e}),i.$set(r),128&n&&(u=e[7]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),128&n&&transition_in(p,1)):(p=create_if_block_3$6(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),128&n&&(d=e[7]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),128&n&&transition_in(m,1)):(m=create_if_block_2$8(e),m.c(),transition_in(m,1),m.m(c.parentNode,c)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(r),destroy_component(i,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$g(e){let t;return{c(){t=text$1("Refresh")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot$l(e){let t,n,o,r;return t=new ErrorInfo({props:{message:e[13].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),o.$on("click",e[16]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};8192&n&&(r.message=e[13].message),t.$set(r);const i={};536870912&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$U(e){let t,n,o,r;const i=[create_if_block$q,create_if_block_1$f,create_else_block$a],a=[];function s(e,t){return e[13]&&"error"==e[13].name?0:0==e[3].length&&e[13]&&"pending"!=e[13].name&&"checkStructure"!=e[13].name&&"loadStructure"!=e[13].name&&e[4]?1:2}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_3$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$T(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$,b,v,y=noop$3,x=noop$3,w=noop$3,C=noop$3,k=noop$3;component_subscribe(e,currentDatabase,(e=>n(20,f=e))),component_subscribe(e,extensions,(e=>n(21,h=e))),component_subscribe(e,appliedCurrentSchema,(e=>n(15,v=e))),e.$$.on_destroy.push((()=>y())),e.$$.on_destroy.push((()=>x())),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k()));let{conid:S}=t,{database:T}=t,A="";return e.$$set=e=>{"conid"in e&&n(0,S=e.conid),"database"in e&&n(1,T=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(12,o=useDatabaseInfo({conid:S,database:T})),y(),y=subscribe(o,(e=>n(4,p=e)))),3&e.$$.dirty&&(n(11,r=useDatabaseStatus({conid:S,database:T})),C(),C=subscribe(r,(e=>n(13,$=e)))),3&e.$$.dirty&&(n(10,i=useSchemaList({conid:S,database:T})),k(),k=subscribe(i,(e=>n(14,b=e)))),1&e.$$.dirty&&(n(9,a=useConnectionInfo({conid:S})),w(),w=subscribe(a,(e=>n(5,g=e)))),2097184&e.$$.dirty&&n(7,s=lib$5.findEngineDriver(g,h)),1572864&e.$$.dirty&&n(18,l=filterAppsForDatabase(null==f?void 0:f.connection,null==f?void 0:f.name,m||[])),262160&e.$$.dirty&&n(3,u=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((p||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...l.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))])),12&e.$$.dirty&&n(6,d=u.filter((e=>{const t=createMatcher$7(e);return!(t&&!t(A))})))},n(8,c=useUsedApps()),x(),x=subscribe(c,(e=>n(19,m=e))),[S,T,A,u,p,g,d,s,c,a,i,r,o,$,b,v,()=>{apiCall("database-connections/refresh",{conid:S,database:T}),apiCall("database-connections/dispatch-database-changed-event",{event:"schema-list-changed",conid:S,database:T})},function(){var e,t;const n=[];return(null===(e=null==s?void 0:s.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==s?void 0:s.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),s&&n.push(...s.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},l,m,f,h,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){A=e,n(2,A)},function(e){A=e,n(2,A)},e=>!v||e.schemaName==v,e=>({...e,conid:S,database:T}),e=>getObjectTypeFieldLabel(e.objectTypeField,s)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$U,safe_not_equal,{conid:0,database:1})}}function create_default_slot_3$5(e){let t,n;return t=new TextField({props:{value:e[2]}}),t.$on("change",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.value=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$d(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$5),value:e[3],isNative:!0}}),t.$on("change",e[11]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.options=e[0].supportedKeyTypes.map(func$5)),8&n&&(o.value=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$f(e){let t,n,o,r,i,a,s,c,l;return n=new FormFieldTemplateLarge({props:{label:"Key",type:"text",noMargin:!0,$$slots:{default:[create_default_slot_3$5]},$$scope:{ctx:e}}}),a=new FormFieldTemplateLarge({props:{label:"Type",type:"combo",noMargin:!0,$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),c=new DbKeyItemDetail({props:{dbKeyFields:e[0].supportedKeyTypes.find(e[12]).dbKeyFields,item:e[1],onChangeItem:e[13]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","m-3"),attr(t,"class","container svelte-eg2ir1")},m(e,u){insert(e,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(t,i),mount_component(a,t,null),append(t,s),mount_component(c,t,null),l=!0},p(e,t){const o={};32772&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};32777&t&&(r.$$scope={dirty:t,ctx:e}),a.$set(r);const i={};9&t&&(i.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(i.item=e[1]),2&t&&(i.onChangeItem=e[13]),c.$set(i)},i(e){l||(transition_in(n.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(a),destroy_component(c)}}}function create_header_slot$1(e){let t;return{c(){t=text$1("Add key")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot(e){let t,n,o,r;return t=new FormStyledButton({props:{value:"OK"}}),t.$on("click",e[9]),o=new FormStyledButton({props:{type:"button",value:"Cancel"}}),o.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p:noop$3,i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$k(e){let t,n;const o=[e[5]];let r={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$f]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$T(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};32815&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$5=e=>({value:e.name,label:e.label});function instance$S(e,t,n){const o=["conid","database","driver","onConfirm"];let r=compute_rest_props(t,o);var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{conid:a}=t,{database:s}=t,{driver:c}=t,{onConfirm:l}=t,u={},d="",p=c.supportedKeyTypes[0].name;const m=()=>i(void 0,void 0,void 0,(function*(){closeCurrentModal(),l(Object.assign({type:p,keyName:d},u))}));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"conid"in e&&n(6,a=e.conid),"database"in e&&n(7,s=e.database),"driver"in e&&n(0,c=e.driver),"onConfirm"in e&&n(8,l=e.onConfirm)},[c,u,d,p,m,r,a,s,l,e=>m(),e=>{n(2,d=e.target.value)},e=>{n(3,p=e.detail)},e=>e.name==p,e=>{n(1,u=e)}]}class AddDbKeyModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$S,create_fragment$T,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$p(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:e[3].root,indentLevel:e[4]+1,reloadToken:e[7],connection:e[2],filter:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.root=e[3].root),16&n&&(o.indentLevel=e[4]+1),128&n&&(o.reloadToken=e[7]),4&n&&(o.connection=e[2]),32&n&&(o.filter=e[5]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$S(e){let t,n,o,r;t=new AppObjectCore({props:{icon:lib$5.getIconForRedisType(e[3].type),title:e[3].text,expandIcon:"dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box",extInfo:e[3].count?`(${e[3].count})`:null,indentLevel:e[4],menu:e[9]}}),t.$on("expand",e[12]),t.$on("click",e[13]);let i=e[6]&&create_if_block$p(e);return{c(){create_component(t.$$.fragment),n=space(),i&&i.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),i&&i.m(e,a),insert(e,o,a),r=!0},p(e,[n]){const r={};8&n&&(r.icon=lib$5.getIconForRedisType(e[3].type)),8&n&&(r.title=e[3].text),72&n&&(r.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(r.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(r.indentLevel=e[4]),t.$set(r),e[6]?i?(i.p(e,n),64&n&&transition_in(i,1)):(i=create_if_block$p(e),i.c(),transition_in(i,1),i.m(o.parentNode,o)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){r||(transition_in(t.$$.fragment,e),transition_in(i),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),r=!1},d(e){destroy_component(t,e),e&&detach(n),i&&i.d(e),e&&detach(o)}}}function instance$R(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,f=0;return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database),"connection"in e&&n(2,c=e.connection),"root"in e&&n(10,l=e.root),"item"in e&&n(3,u=e.item),"indentLevel"in e&&n(4,d=e.indentLevel),"filter"in e&&n(5,p=e.filter),"onRefreshParent"in e&&n(11,m=e.onRefreshParent)},[a,s,c,u,d,p,i,f,o,function(){return[null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete key",onClick:()=>{showModal(ConfirmModal,{message:`Really delete key ${u.key}?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"del",args:[u.key]}),m&&m()}))})}},null!=u.key&&!(null==c?void 0:c.isReadOnly)&&{label:"Rename key",onClick:()=>{showModal(InputTextModal,{value:u.key,label:"New name",header:"Rename key",onConfirm:e=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"rename",args:[u.key,e]}),m&&m()}))})}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Reload",onClick:()=>{n(7,f+=1)}},"dir"==u.type&&!(null==c?void 0:c.isReadOnly)&&{label:"Delete branch",onClick:()=>{const e=`${u.root}:*`;showModal(ConfirmModal,{message:`Really delete branch ${e} with all keys?`,onConfirm:()=>r(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"mdel",args:[e]}),m&&m()}))})}},,{label:"Generate script",onClick:()=>r(this,void 0,void 0,(function*(){const e=yield apiCall("database-connections/export-keys",{conid:a,database:s,options:{keyPrefix:u.root||u.key}});e.errorMessage?showSnackbarError(e.errorMessage):newQuery({title:"Export #",initialData:e})}))}]},l,m,()=>{"dir"==u.type&&n(6,i=!i)},()=>{"dir"==u.type?n(6,i=!i):(openNewTab({tabComponent:"DbKeyDetailTab",title:u.text,icon:"img keydb",props:{isDefaultBrowser:!0,conid:a,database:s}}),set_store_value(activeDbKeysStore,o={...o,[`${a}:${s}`]:u.key},o))}]}class DbKeysTreeNode extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$S,safe_not_equal,{conid:0,database:1,connection:2,root:10,item:3,indentLevel:4,filter:5,onRefreshParent:11})}}function get_then_context(e){const t=_.sortBy(e[11]||[],"text");e[12]=t}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_catch_block(e){return{c:noop$3,m:noop$3,p:noop$3,i:noop$3,o:noop$3,d:noop$3}}function create_then_block(e){let t,n,o;get_then_context(e);let r=e[12].slice(0,e[8]),i=[];for(let t=0;t<r.length;t+=1)i[t]=create_each_block$d(get_each_context$d(e,r,t));const a=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));let s=e[12].length>e[8]&&create_if_block$o(e);return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=space(),s&&s.c(),n=empty()},m(e,r){for(let t=0;t<i.length;t+=1)i[t]&&i[t].m(e,r);insert(e,t,r),s&&s.m(e,r),insert(e,n,r),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(r=e[12].slice(0,e[8]),n=0;n<r.length;n+=1){const a=get_each_context$d(e,r,n);i[n]?(i[n].p(a,o),transition_in(i[n],1)):(i[n]=create_each_block$d(a),i[n].c(),transition_in(i[n],1),i[n].m(t.parentNode,t))}for(group_outros(),n=r.length;n<i.length;n+=1)a(n);check_outros()}e[12].length>e[8]?s?(s.p(e,o),471&o&&transition_in(s,1)):(s=create_if_block$o(e),s.c(),transition_in(s,1),s.m(n.parentNode,n)):s&&(group_outros(),transition_out(s,1,1,(()=>{s=null})),check_outros())},i(e){if(!o){for(let e=0;e<r.length;e+=1)transition_in(i[e]);transition_in(s),o=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);transition_out(s),o=!1},d(e){destroy_each(i,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$d(e){let t,n;return t=new DbKeysTreeNode({props:{conid:e[0],database:e[1],root:e[2],connection:e[5],item:e[13],filter:e[6],indentLevel:e[3],onRefreshParent:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),4&n&&(o.root=e[2]),32&n&&(o.connection=e[5]),471&n&&(o.item=e[13]),64&n&&(o.filter=e[6]),8&n&&(o.indentLevel=e[3]),128&n&&(o.onRefreshParent=e[9]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$o(e){let t,n;return t=new AppObjectCore({props:{indentLevel:e[3],title:"Show more...",icon:"icon dots-horizontal",expandIcon:"icon invisible-box"}}),t.$on("click",e[10]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.indentLevel=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_pending_block(e){let t,n;return t=new LoadingInfo({props:{message:"Loading key list",wrapper:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$R(e){let t,n,o,r={ctx:e,current:null,token:null,hasCatch:!1,pending:create_pending_block,then:create_then_block,catch:create_catch_block,value:11,blocks:[,,,]};return handle_promise(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}),r),{c(){t=empty(),r.block.c()},m(e,n){insert(e,t,n),r.block.m(e,r.anchor=n),r.mount=()=>t.parentNode,r.anchor=t,o=!0},p(t,[o]){e=t,r.ctx=e,215&o&&n!==(n=apiCall("database-connections/load-keys",{conid:e[0],database:e[1],root:e[2],filter:e[6],reloadToken:e[4],reloadToken2:e[7]}))&&handle_promise(n,r)||update_await_block_branch(r,e,o)},i(e){o||(transition_in(r.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(r.blocks[e])}o=!1},d(e){e&&detach(t),r.block.d(e),r.token=null,r=null}}}const SHOW_INCREMENT=500;function instance$Q(e,t,n){let{conid:o}=t,{database:r}=t,{root:i}=t,{indentLevel:a=0}=t,{reloadToken:s=0}=t,{connection:c}=t,{filter:l}=t,u=0,d=SHOW_INCREMENT;return e.$$set=e=>{"conid"in e&&n(0,o=e.conid),"database"in e&&n(1,r=e.database),"root"in e&&n(2,i=e.root),"indentLevel"in e&&n(3,a=e.indentLevel),"reloadToken"in e&&n(4,s=e.reloadToken),"connection"in e&&n(5,c=e.connection),"filter"in e&&n(6,l=e.filter)},[o,r,i,a,s,c,l,u,d,()=>{n(7,u+=1)},()=>{n(8,d+=SHOW_INCREMENT)}]}class DbKeysSubTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$Q,create_fragment$R,safe_not_equal,{conid:0,database:1,root:2,indentLevel:3,reloadToken:4,connection:5,filter:6})}}function create_default_slot_3$4(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$c(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$e(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search keys",isDebounced:!0};function m(t){e[8](t)}void 0!==e[2]&&(p.value=e[2]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[2]&&(f.filter=e[2]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Add new key",$$slots:{default:[create_default_slot_3$4]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh key list",$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&4&o&&(n=!0,a.value=e[2],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&4&o&&(i=!0,c.filter=e[2],add_flush_callback((()=>i=!1))),r.$set(c);const u={};1024&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};1024&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$j(e){let t,n;return t=new DbKeysSubTree({props:{conid:e[0],database:e[1],root:"",reloadToken:e[3],connection:e[4]?.connection,filter:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.conid=e[0]),2&n&&(o.database=e[1]),8&n&&(o.reloadToken=e[3]),16&n&&(o.connection=e[4]?.connection),4&n&&(o.filter=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$Q(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};1028&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1055&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$P(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i,{conid:a}=t,{database:s}=t,c=0;function l(){n(3,c+=1)}return e.$$set=e=>{"conid"in e&&n(0,a=e.conid),"database"in e&&n(1,s=e.database)},[a,s,i,c,o,l,function(){const e=null==o?void 0:o.connection,t=null==o?void 0:o.name,n=lib$5.findEngineDriver(e,getExtensions());showModal(AddDbKeyModal,{conid:e._id,database:t,driver:n,onConfirm:o=>r(this,void 0,void 0,(function*(){const r=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:r.addMethod,args:[o.keyName,...r.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){i=e,n(2,i)},function(e){i=e,n(2,i)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$P,create_fragment$Q,safe_not_equal,{conid:0,database:1})}}function create_default_slot_2$b(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$d(e){let t,n,o,r,i,a,s,c;function l(t){e[3](t)}let u={placeholder:"Search connection or database"};function d(t){e[4](t)}void 0!==e[1]&&(u.value=e[1]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind$2(t,"value",l)));let p={};return void 0!==e[1]&&(p.filter=e[1]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind$2(r,"filter",d))),s=new InlineButton({props:{title:"Refresh database list",$$slots:{default:[create_default_slot_2$b]},$$scope:{ctx:e}}}),s.$on("click",e[2]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&2&o&&(i=!0,c.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(c);const l={};32&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$i(e){let t,n;return t=new SubDatabaseList({props:{data:e[0],filter:e[1],passProps:{}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.data=e[0]),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$P(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$d]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};34&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};35&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$O(e,t,n){let{connection:o}=t,r="";return e.$$set=e=>{"connection"in e&&n(0,o=e.connection)},[o,r,()=>{apiCall("server-connections/refresh",{conid:o._id})},function(e){r=e,n(1,r)},function(e){r=e,n(1,r)}]}class SingleConnectionDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$O,create_fragment$P,safe_not_equal,{connection:0})}}function create_if_block_1$e(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Connections",name:"connections",height:"35%",storageName:"connectionsWidget",$$slots:{default:[create_default_slot_7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$n(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Databases",name:"databases",height:"35%",storageName:"databasesWidget",$$slots:{default:[create_default_slot_6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65792&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_7(e){let t,n;return t=new ConnectionList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_6(e){let t,n;return t=new SingleConnectionDatabaseList({props:{connection:e[8]?.singleConnection}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.connection=e[8]?.singleConnection),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_5(e){let t,n;return t=new PinnedObjectsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_4(e){let t,n;return t=new SqlObjectList({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_3$3(e){let t,n;return t=new DbKeysTree({props:{conid:e[1],database:e[3]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.conid=e[1]),8&n&&(o.database=e[3]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$a(e){let t,n;return t=new ErrorInfo({props:{message:"Database not selected",icon:"img alert"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};65536&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$h(e){let t,n,o,r,i,a,s,c,l,u,d;const p=[create_if_block$n,create_if_block_1$e],m=[];function f(e,t){return e[8]?.singleConnection?0:e[8]?.singleDbConnection?-1:1}return~(t=f(e))&&(n=m[t]=p[t](e)),r=new WidgetColumnBarItem({props:{title:"Pinned",name:"pinned",height:"15%",storageName:"pinnedItemsWidget",skip:!_.compact(e[9]).length&&!e[10].some(e[15]),$$slots:{default:[create_default_slot_5]},$$scope:{ctx:e}}}),a=new WidgetColumnBarItem({props:{title:e[6]?.databaseEngineTypes?.includes("document")?e[6]?.collectionPluralLabel??"Collections/containers":"Tables, views, functions",name:"dbObjects",storageName:"dbObjectsWidget",skip:!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document"))),$$slots:{default:[create_default_slot_4]},$$scope:{ctx:e}}}),c=new WidgetColumnBarItem({props:{title:"Keys",name:"dbObjects",storageName:"dbObjectsWidget",skip:!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue")),$$slots:{default:[create_default_slot_3$3]},$$scope:{ctx:e}}}),u=new WidgetColumnBarItem({props:{title:"Database content",name:"dbObjects",storageName:"dbObjectsWidget",skip:e[1]&&(e[3]||e[4]),$$slots:{default:[create_default_slot_1$c]},$$scope:{ctx:e}}}),{c(){n&&n.c(),o=space(),create_component(r.$$.fragment),i=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),l=space(),create_component(u.$$.fragment)},m(e,n){~t&&m[t].m(e,n),insert(e,o,n),mount_component(r,e,n),insert(e,i,n),mount_component(a,e,n),insert(e,s,n),mount_component(c,e,n),insert(e,l,n),mount_component(u,e,n),d=!0},p(e,i){let s=t;t=f(e),t===s?~t&&m[t].p(e,i):(n&&(group_outros(),transition_out(m[s],1,1,(()=>{m[s]=null})),check_outros()),~t?(n=m[t],n?n.p(e,i):(n=m[t]=p[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null);const l={};1542&i&&(l.skip=!_.compact(e[9]).length&&!e[10].some(e[15])),65536&i&&(l.$$scope={dirty:i,ctx:e}),r.$set(l);const d={};64&i&&(d.title=e[6]?.databaseEngineTypes?.includes("document")?e[6]?.collectionPluralLabel??"Collections/containers":"Tables, views, functions"),90&i&&(d.skip=!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document")))),65546&i&&(d.$$scope={dirty:i,ctx:e}),a.$set(d);const h={};90&i&&(h.skip=!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue"))),65546&i&&(h.$$scope={dirty:i,ctx:e}),c.$set(h);const g={};26&i&&(g.skip=e[1]&&(e[3]||e[4])),65536&i&&(g.$$scope={dirty:i,ctx:e}),u.$set(g)},i(e){d||(transition_in(n),transition_in(r.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(n),transition_out(r.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),transition_out(u.$$.fragment,e),d=!1},d(e){~t&&m[t].d(e),e&&detach(o),destroy_component(r,e),e&&detach(i),destroy_component(a,e),e&&detach(s),destroy_component(c,e),e&&detach(l),destroy_component(u,e)}}}function create_fragment$O(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.hidden=e[0]),67422&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$N(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h=noop$3,g=noop$3;var _,$;component_subscribe(e,currentDatabase,(e=>n(2,l=e))),component_subscribe(e,extensions,(e=>n(13,u=e))),component_subscribe(e,pinnedDatabases,(e=>n(9,m=e))),component_subscribe(e,pinnedTables,(e=>n(10,f=e))),e.$$.on_destroy.push((()=>h())),e.$$.on_destroy.push((()=>g()));let{hidden:b=!1}=t;return e.$$set=e=>{"hidden"in e&&n(0,b=e.hidden)},e.$$.update=()=>{2052&e.$$.dirty&&n(1,o=null===n(11,_=null==l?void 0:l.connection)||void 0===_?void 0:_._id),2&e.$$.dirty&&(n(7,r=useConnectionInfo({conid:o})),h(),h=subscribe(r,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,i=lib$5.findEngineDriver(d,u)),4100&e.$$.dirty&&n(4,s=null===n(12,$=null==l?void 0:l.connection)||void 0===$?void 0:$.singleDatabase),4&e.$$.dirty&&n(3,c=null==l?void 0:l.name)},n(5,a=useConfig()),g(),g=subscribe(a,(e=>n(8,p=e))),[b,o,l,c,s,a,i,r,p,m,f,_,$,u,d,e=>e&&e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$O,safe_not_equal,{hidden:0})}}function create_default_slot_2$9(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$b(e){let t,n,o,r,i,a,s,c;function l(t){e[21](t)}let u={placeholder:"Search saved files"};function d(t){e[22](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind$2(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),r=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind$2(r,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),s.$on("click",e[11]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),c=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const l={};16777216&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$g(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[23],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};16777217&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};2&n&&(i.list=e[1]),1&n&&(i.filter=e[0]),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$N(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};16777219&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$M(e,t,n){let o,r,i,a,s,c,l,u,d,p,m="";const f=useFiles({folder:"sql"});component_subscribe(e,f,(e=>n(20,p=e)));const h=useFiles({folder:"shell"});component_subscribe(e,h,(e=>n(19,d=e)));const g=useFiles({folder:"markdown"});component_subscribe(e,g,(e=>n(18,u=e)));const $=useFiles({folder:"charts"});component_subscribe(e,$,(e=>n(17,l=e)));const b=useFiles({folder:"query"});component_subscribe(e,b,(e=>n(16,c=e)));const v=useFiles({folder:"sqlite"});component_subscribe(e,v,(e=>n(15,s=e)));const y=useFiles({folder:"diagrams"});component_subscribe(e,y,(e=>n(14,a=e)));const x=useFiles({folder:"jobs"});component_subscribe(e,x,(e=>n(12,r=e)));const w=useFiles({folder:"perspectives"});component_subscribe(e,w,(e=>n(13,i=e)));return e.$$.update=()=>{2093056&e.$$.dirty&&n(1,o=[...p||[],...d||[],...u||[],...l||[],...c||[],...s||[],...a||[],...i||[],...r||[]])},[m,o,f,h,g,$,b,v,y,x,w,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams","perspectives","jobs"]})},r,i,a,s,c,l,u,d,p,function(e){m=e,n(0,m)},function(e){m=e,n(0,m)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$N,safe_not_equal,{})}}function create_if_block_1$d(e){let t,n,o,r,i,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","info svelte-xmmjcw")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||1&t)&&a!==(a=e[0].props.database+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$m(e){let t,n,o=e[0].contentPreview+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","info svelte-xmmjcw")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[0].contentPreview+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_default_slot$f(e){let t,n,o,r=e[0].props&&e[0].props.database&&create_if_block_1$d(e),i=e[0].contentPreview&&create_if_block$m(e);return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?r?(r.p(e,o),1&o&&transition_in(r,1)):(r=create_if_block_1$d(e),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),e[0].contentPreview?i?i.p(e,o):(i=create_if_block$m(e),i.c(),i.m(n.parentNode,n)):i&&(i.d(1),i=null)},i(e){o||(transition_in(r),o=!0)},o(e){transition_out(r),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_fragment$M(e){let t,n;const o=[e[3],{data:e[0]},{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},{icon:e[0].icon},{isBold:!!e[0].selected},{isBusy:e[0].busy},{menu:e[2]}];let r={$$slots:{default:[create_default_slot$f]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:`${e[0].title} ${moment(e[0].closedTime).fromNow()}`},1&n&&{icon:e[0].icon},1&n&&{isBold:!!e[0].selected},1&n&&{isBusy:e[0].busy},4&n&&{menu:e[2]}]):{};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey$2=e=>e.tabid;function instance$L(e,t,n){const o=["data"];let r=compute_rest_props(t,o),{data:i}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=i.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=i.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==i.tabid?void 0:e.closedTime}))),i.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},r]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$M,safe_not_equal,{data:0})}}var closedTabAppObject=Object.freeze({__proto__:null,default:ClosedTabAppObject,extractKey:extractKey$2});function create_default_slot_3$2(e){let t,n;return t=new SavedFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$l(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$a]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$8(e){let t,n;return t=new AppObjectList({props:{list:e[1]||[],module:favoriteFileAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.list=e[1]||[]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$a(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$e(e){let t,n,o,r,i=hasPermission("files/favorites/read");t=new WidgetColumnBarItem({props:{title:"Saved files",name:"files",height:"70%",storageName:"savedFilesWidget",$$slots:{default:[create_default_slot_3$2]},$$scope:{ctx:e}}});let a=i&&create_if_block$l(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),a&&a.m(e,i),insert(e,o,i),r=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),i&&a.p(e,n)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(a),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),r=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$L(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$e]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$K(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useFavorites()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$L,safe_not_equal,{})}}function get_each_context$c(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$9(e){let t,n,o=e[3].version+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","ml-1")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&o!==(o=e[3].version+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block$k(e){let t;return{c(){t=element("div"),t.textContent="(builtin)",attr(t,"class","ml-1 builtin svelte-11a2g2s")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_each_block$c(e,t){let n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v=t[3].name+"",y=extractPluginDescription(t[3])+"",x=extractPluginAuthor(t[3])+"";function w(e,t){return e[3].isPackaged?create_if_block$k:create_else_block$9}let C=w(t),k=C(t);function S(){return t[2](t[3])}return{key:e,first:null,c(){n=element("div"),o=element("img"),i=space(),a=element("div"),s=element("div"),c=element("div"),l=text$1(v),u=space(),k.c(),d=space(),p=element("div"),m=text$1(y),f=space(),h=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,r=extractPluginIcon(t[3]))||attr(o,"src",r),attr(c,"class","bold"),attr(s,"class","flex"),attr(h,"class","bold"),attr(a,"class","ml-2"),attr(n,"class","wrapper svelte-11a2g2s"),this.first=n},m(e,t){insert(e,n,t),append(n,o),append(n,i),append(n,a),append(a,s),append(s,c),append(c,l),append(s,u),k.m(s,null),append(a,d),append(a,p),append(p,m),append(a,f),append(a,h),append(h,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,r=extractPluginIcon(t[3]))&&attr(o,"src",r),1&n&&v!==(v=t[3].name+"")&&set_data(l,v),C===(C=w(t))&&k?k.p(t,n):(k.d(1),k=C(t),k&&(k.c(),k.m(s,null))),1&n&&y!==(y=extractPluginDescription(t[3])+"")&&set_data(m,y),1&n&&x!==(x=extractPluginAuthor(t[3])+"")&&set_data(g,x)},d(e){e&&detach(n),k.d(),$=!1,b()}}}function create_fragment$K(e){let t,n=[],o=new Map,r=e[0]||[];const i=e=>e[3].name;for(let t=0;t<r.length;t+=1){let a=get_each_context$c(e,r,t),s=i(a);o.set(s,n[t]=create_each_block$c(s,a))}return{c(){for(let e=0;e<n.length;e+=1)n[e].c();t=empty()},m(e,o){for(let t=0;t<n.length;t+=1)n[t]&&n[t].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(r=e[0]||[],n=update_keyed_each(n,a,i,1,e,r,o,t.parentNode,destroy_block,create_each_block$c,t,get_each_context$c))},i:noop$3,o:noop$3,d(e){for(let t=0;t<n.length;t+=1)n[t].d(e);e&&detach(t)}}}function instance$J(e,t,n){let{plugins:o}=t;function r(e){openNewTab({title:e.name,icon:"icon plugin",tabComponent:"PluginTab",props:{packageName:e.name}})}return e.$$set=e=>{"plugins"in e&&n(0,o=e.plugins)},[o,r,e=>r(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$K,safe_not_equal,{plugins:0})}}function create_default_slot_1$9(e){let t,n,o;function r(t){e[4](t)}let i={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(i.value=e[0]),t=new SearchInput({props:i}),binding_callbacks.push((()=>bind$2(t,"value",r))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const r={};1&o&&(r.filter=e[0]),!n&&1&o&&(n=!0,r.value=e[0],add_flush_callback((()=>n=!1))),t.$set(r)},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e)}}}function create_else_block$8(e){let t,n;return t=new PluginsList({props:{plugins:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.plugins=e[2]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$j(e){let t,n;return t=new ErrorInfo({props:{message:e[2]?.errorMessage}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.message=e[2]?.errorMessage),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$d(e){let t,n,o,r;const i=[create_if_block$j,create_else_block$8],a=[];function s(e,t){return e[2]?.errorMessage?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$J(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};65&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};68&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$I(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="",s="";const c=_.debounce((e=>n(3,s=e)),500);return e.$$.update=()=>{8&e.$$.dirty&&(n(1,o=useApiCall("plugins/search",{filter:s},[])),i(),i=subscribe(o,(e=>n(2,r=e)))),1&e.$$.dirty&&c(a)},[a,o,r,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$J,safe_not_equal,{})}}function create_default_slot$c(e){let t,n;return t=new PluginsList({props:{plugins:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.plugins=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$I(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};6&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$H(e,t,n){let o,r,i=noop$3;return e.$$.on_destroy.push((()=>i())),n(0,o=useInstalledPlugins()),i(),i=subscribe(o,(e=>n(1,r=e))),[o,r]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$I,safe_not_equal,{})}}function create_default_slot_2$7(e){let t,n;return t=new InstalledPluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$8(e){let t,n;return t=new AvailablePluginsList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$b(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$H(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class PluginsWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$H,safe_not_equal,{})}}function create_fragment$G(e){let t,n,o=e[0].map(e[1]).join("\n")+"";return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(e,r){t.m(o,e,r),insert(e,n,r)},p(e,[n]){1&n&&o!==(o=e[0].map(e[1]).join("\n")+"")&&t.p(o)},i:noop$3,o:noop$3,d(e){e&&detach(n),e&&t.d()}}}function instance$G(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class HtmlCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$G,safe_not_equal,{selection:0})}}function create_else_block$7(e){let t,n,o,r;return o=new JSONTree({props:{value:e[0],expanded:!0}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"class","inner svelte-qjn8rh"),attr(t,"class","outer svelte-qjn8rh")},m(e,i){insert(e,t,i),append(t,n),mount_component(o,n,null),r=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$i(e){let t,n;return t=new ErrorInfo({props:{message:"Error parsing JSON",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$F(e){let t,n,o,r;const i=[create_if_block$i,create_else_block$7],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$F(e,t,n){let{selection:o}=t,{showWholeRow:r=!1}=t,i=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,r=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(r)1==(null==o?void 0:o.length)?n(0,i=o[0].rowData):n(0,i=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,i=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[i,a,o,r]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$F,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$E(e){let t,n;return t=new JsonCellView({props:{selection:e[0],showWholeRow:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$E(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class JsonRowView extends SvelteComponent{constructor(e){super(),init(this,e,instance$E,create_fragment$E,safe_not_equal,{selection:0})}}function create_if_block$h(e){let t,n,o,r,i,a;return o=new SelectField({props:{isNative:!0,options:e[3].map(func$4),value:e[1]}}),o.$on("change",e[6]),i=new SelectField({props:{isNative:!0,options:e[3].map(func_1$3),value:e[2]}}),i.$on("change",e[7]),{c(){t=element("div"),n=text$1("Lat:\n "),create_component(o.$$.fragment),r=text$1("\n Lon:\n "),create_component(i.$$.fragment)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),mount_component(i,t,null),a=!0},p(e,t){const n={};8&t&&(n.options=e[3].map(func$4)),2&t&&(n.value=e[1]),o.$set(n);const r={};8&t&&(r.options=e[3].map(func_1$3)),4&t&&(r.value=e[2]),i.$set(r)},i(e){a||(transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(i)}}}function create_fragment$D(e){let t,n,o,r,i=e[3].length>=2&&create_if_block$h(e);return o=new SelectionMapView({props:{selection:e[0],latitudeField:e[1],longitudeField:e[2]}}),{c(){t=element("div"),i&&i.c(),n=space(),create_component(o.$$.fragment),attr(t,"class","container svelte-aetkv7")},m(e,a){insert(e,t,a),i&&i.m(t,null),append(t,n),mount_component(o,t,null),r=!0},p(e,[r]){e[3].length>=2?i?(i.p(e,r),8&r&&transition_in(i,1)):(i=create_if_block$h(e),i.c(),transition_in(i,1),i.m(t,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros());const a={};1&r&&(a.selection=e[0]),2&r&&(a.latitudeField=e[1]),4&r&&(a.longitudeField=e[2]),o.$set(a)},i(e){r||(transition_in(i),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(i),transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),i&&i.d(),destroy_component(o)}}}const func$4=e=>({label:e,value:e}),func_1$3=e=>({label:e,value:e});function instance$D(e,t,n){let o,r,i,{selection:a}=t,s="",c="";return e.$$set=e=>{"selection"in e&&n(0,a=e.selection)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=_.uniq(_.flatten(a.map((e=>findLatPaths(e.rowData)))))),1&e.$$.dirty&&n(4,r=_.uniq(_.flatten(a.map((e=>findLonPaths(e.rowData)))))),1&e.$$.dirty&&n(3,i=_.uniq(_.flatten(a.map((e=>findAllObjectPaths(e.rowData)))))),42&e.$$.dirty&&o.length>0&&!i.includes(s)&&n(1,s=o[0]),28&e.$$.dirty&&r.length>0&&!i.includes(c)&&n(2,c=r[0])},[a,s,c,i,r,o,e=>{n(1,s=e.detail)},e=>{n(2,c=e.detail)}]}class MapCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$D,safe_not_equal,{selection:0})}}function create_else_block$6(e){let t,n;return t=new ErrorInfo({props:{message:"Error showing picture",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$g(e){let t,n,o;return{c(){t=element("div"),n=element("img"),src_url_equal(n.src,o=e[0])||attr(n,"src",o),attr(t,"class","wrapper svelte-13i2vsu")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){1&t&&!src_url_equal(n.src,o=e[0])&&attr(n,"src",o)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_fragment$C(e){let t,n,o,r;const i=[create_if_block$g,create_else_block$6],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,[r]){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$C(e,t,n){let o;var r;let{selection:i}=t;return e.$$set=e=>{"selection"in e&&n(1,i=e.selection)},e.$$.update=()=>{6&e.$$.dirty&&n(0,o=function(e){try{const t=e;return"Buffer"==(null==t?void 0:t.type)&&_.isArray(null==t?void 0:t.data)?"data:image/png;base64, "+btoa(String.fromCharCode.apply(null,null==t?void 0:t.data)):null}catch(e){return console.log("Error showing picture",e),null}}(null===n(2,r=i[0])||void 0===r?void 0:r.value))},[o,i,r]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$C,create_fragment$C,safe_not_equal,{selection:1})}}function create_fragment$B(e){let t,n;return{c(){t=element("textarea"),attr(t,"class","flex1"),attr(t,"wrap",e[1]),t.readOnly=!0,t.value=n=e[0].map(e[2]).join("\n")},m(e,n){insert(e,t,n)},p(e,[o]){2&o&&attr(t,"wrap",e[1]),1&o&&n!==(n=e[0].map(e[2]).join("\n"))&&(t.value=n)},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$B(e,t,n){let{selection:o}=t,{wrap:r}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,r=e.wrap)},[o,r,e=>{const{value:t}=e;return _.isPlainObject(t)||_.isArray(t)?JSON.stringify(t,void 0,2):e.value}]}class TextCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$B,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$A(e){let t,n;return t=new TextCellView({props:{wrap:"no",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$A(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewNoWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$A,safe_not_equal,{selection:0})}}function create_fragment$z(e){let t,n;return t=new TextCellView({props:{wrap:"hard",selection:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.selection=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$z(e,t,n){let{selection:o}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection)},[o]}class TextCellViewWrap extends SvelteComponent{constructor(e){super(),init(this,e,instance$z,create_fragment$z,safe_not_equal,{selection:0})}}function create_default_slot$a(e){let t;return{c(){t=text$1("Cell data view")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_else_block$5(e){let t,n,o;var r=e[2]?.component;function i(e){return{props:{selection:e[0]}}}return r&&(t=construct_svelte_component(r,i(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),4&o&&r!==(r=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=construct_svelte_component(r,i(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&t.$set(a)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_if_block_2$7(e){let t,n;return t=new ErrorInfo({props:{message:"No data selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$c(e){let t,n;return t=new ErrorInfo({props:{message:"Format not selected",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$f(e){let t,n;return t=new ErrorInfo({props:{message:"Must be selected one cell",alignTop:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$y(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$a]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$3)]}}),l.$on("change",e[7]);const h=[create_if_block$f,create_if_block_1$c,create_if_block_2$7,create_else_block$5],g=[];function _(e,t){return e[2].single&&1!=e[0]?.length?0:null==e[2]?1:e[0]&&0!=e[0].length?3:2}return p=_(e),m=g[p]=h[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=element("div"),a=text$1("Format:"),s=element("span"),s.textContent=" ",c=space(),create_component(l.$$.fragment),u=space(),d=element("div"),m.c(),attr(i,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(r,"class","main svelte-1lvmq5c"),attr(t,"class","wrapper svelte-1lvmq5c")},m(e,m){insert(e,t,m),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),append(i,a),append(i,s),append(i,c),mount_component(l,i,null),append(r,u),append(r,d),g[p].m(d,null),f=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};2&t&&(r.value=e[1]),8&t&&(r.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$3)]),l.$set(r);let i=p;p=_(e),p===i?g[p].p(e,t):(group_outros(),transition_out(g[i],1,1,(()=>{g[i]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=h[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){f||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),f=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),f=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(l),g[p].d()}}}const formats=[{type:"textWrap",title:"Text (wrap)",component:TextCellViewWrap,single:!1},{type:"text",title:"Text (no wrap)",component:TextCellViewNoWrap,single:!1},{type:"json",title:"Json",component:JsonCellView,single:!0},{type:"jsonRow",title:"Json - Row",component:JsonRowView,single:!1},{type:"picture",title:"Picture",component:PictureCellView,single:!0},{type:"html",title:"HTML",component:HtmlCellView,single:!1},{type:"map",title:"Map",component:MapCellView,single:!1}];function autodetect(e){var t,n,o;if(selectionCouldBeShownOnMap(e))return"map";if(null===(o=null===(n=null===(t=e[0])||void 0===t?void 0:t.engine)||void 0===n?void 0:n.databaseEngineTypes)||void 0===o?void 0:o.includes("document"))return"jsonRow";const r=1==e.length?e[0].value:null;return _.isString(r)&&(r.startsWith("[")||r.startsWith("{"))||_.isPlainObject(r)||_.isArray(r)?"json":"textWrap"}const func$3=e=>({label:e.title,value:e.type});function instance$y(e,t,n){let o,r,i,a,s;component_subscribe(e,selectedCellsCallback,(e=>n(6,s=e)));let c="autodetect",{selection:l}=t;return e.$$set=e=>{"selection"in e&&n(0,l=e.selection)},e.$$.update=()=>{64&e.$$.dirty&&n(0,l=s?s():[]),1&e.$$.dirty&&n(5,o=autodetect(l)),32&e.$$.dirty&&n(3,r=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,i="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==i)))},[l,c,a,r,i,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$y,create_fragment$y,safe_not_equal,{selection:0})}}function get_each_context$b(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$7(e){let t,n,o,r,i,a;function s(t){e[3](t)}let c={placeholder:"Search query history",filter:e[0]};function l(t){e[4](t)}void 0!==e[0]&&(c.value=e[0]),t=new SearchInput({props:c}),binding_callbacks.push((()=>bind$2(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),r=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind$2(r,"filter",l))),r.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),a=!0},p(e,o){const a={};1&o&&(a.filter=e[0]),!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&1&o&&(i=!0,s.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e)}}}function create_each_block$b(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g=e[10].sql+"",_=e[10].database+"";function $(){return e[6](e[10])}return o=new FontIcon({props:{icon:"icon sql-file"}}),c=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(g),a=space(),s=element("div"),create_component(c.$$.fragment),l=space(),u=text$1(_),d=space(),attr(n,"class","sql svelte-fyr7t5"),attr(s,"class","info svelte-fyr7t5"),attr(t,"class","wrapper svelte-fyr7t5"),attr(t,"title",p=e[10].sql)},m(e,p){insert(e,t,p),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,f||(h=listen(t,"click",$),f=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(i,g),(!m||4&o)&&_!==(_=e[10].database+"")&&set_data(u,_),(!m||4&o&&p!==(p=e[10].sql))&&attr(t,"title",p)},i(e){m||(transition_in(o.$$.fragment,e),transition_in(c.$$.fragment,e),m=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(c.$$.fragment,e),m=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(c),f=!1,h()}}}function create_default_slot$9(e){let t,n,o=e[2],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$b(get_each_context$b(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(4&n){let a;for(o=e[2],a=0;a<o.length;a+=1){const i=get_each_context$b(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$b(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function create_fragment$x(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$9]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};8195&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};8196&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$x(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let r="",i="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:i,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,i=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(r)},[r,i,a,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},()=>{n(1,i="")},e=>{openNewTab({title:"Query #",icon:"icon sql-file",tabComponent:"QueryTab",props:{conid:e.conid,database:e.database}},{editor:e.sql})}]}class QueryHistoryList extends SvelteComponent{constructor(e){super(),init(this,e,instance$x,create_fragment$x,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$2),func_1$2),module:closedTabAppObject}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.list=_.sortBy(e[0].filter(func$2),func_1$2)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$6(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_3$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$6(e){let t,n;return t=new QueryHistoryList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$8(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$6]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};5&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};4&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$w(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};5&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const func$2=e=>e.closedTime,func_1$2=e=>-e.closedTime;function instance$w(e,t,n){let o;return component_subscribe(e,openedTabs,(e=>n(0,o=e))),useFavorites(),[o]}class HistoryWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$w,safe_not_equal,{})}}function create_fragment$v(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=13&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{data:e[0]},1&n&&{title:e[0].fileLabel},1&n&&{icon:getAppIcon(e[0])},4&n&&{menu:e[2]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}var __awaiter=function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};function openTextFile(e,t,n,o,r){return __awaiter(this,void 0,void 0,(function*(){let i;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:r,tabComponent:o,tooltip:i,props:Object.assign({savedFile:e+"."+t,savedFolder:"app:"+n,savedFormat:"text",appFolder:n},{})},{editor:a})}))}const extractKey$1=e=>e.fileName,createMatcher$1=({fileName:e})=>t=>lib$5.filterName(t,e),APP_ICONS={"config.json":"img json","command.sql":"img app-command","query.sql":"img app-query"};function getAppIcon(e){return APP_ICONS[e.fileType]}function instance$v(e,t,n){const o=["data"];let r=compute_rest_props(t,o);this&&this.__awaiter;let{data:i}=t;const a=()=>{showModal(InputTextModal,{value:i.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${i.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:i.fileName,folder:i.folderName,fileType:i.fileType})}})},c=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(i.fileName,i.fileType,i.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"data"in e&&n(0,i=e.data)},[i,()=>{i.fileType.endsWith(".sql")&&c(),i.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},i.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},i.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},r]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$v,create_fragment$v,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$5(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$5(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[7](t)}let p={placeholder:"Search application files"};function m(t){e[8](t)}void 0!==e[1]&&(p.value=e[1]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[1]&&(f.filter=e[1]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[5]}}),l=new InlineButton({props:{title:"Refresh files of selected application",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&2&o&&(n=!0,a.value=e[1],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!i&&2&o&&(i=!0,s.filter=e[1],add_flush_callback((()=>i=!1))),r.$set(s);const c={};16384&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$7(e){let t,n;return t=new AppObjectList({props:{list:(e[3]||[]).map(e[9]),groupFunc:e[10],module:appFileAppObject,filter:e[1]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};9&n&&(o.list=(e[3]||[]).map(e[9])),2&n&&(o.filter=e[1]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$u(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$5]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$7]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};16386&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};16395&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const APP_LABELS={"command.sql":"SQL commands","query.sql":"SQL queries"},COMMAND_TEMPLATE="-- Write SQL command here\n-- After save, you can execute it from database context menu, for all databases, which use this application\n",QUERY_TEMPLATE="-- Write SQL query here\n-- After save, you can view it in tables list, for all databases, which use this application\n";function instance$u(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l="";function u(e,t,n){showModal(InputTextModal,{value:"",label:"New file name",header:t,onConfirm:t=>c(this,void 0,void 0,(function*(){newQuery({title:t,initialData:n,savedFile:t+"."+e,savedFolder:"app:"+i,savedFormat:"text",appFolder:i})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:i}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=i),1&e.$$.dirty&&(n(2,r=useAppFiles({folder:o})),s(),s=subscribe(r,(e=>n(3,a=e))))},[o,l,r,a,()=>{apiCall("apps/refresh-files",{folder:o})},function(){return[{text:"New SQL command",onClick:()=>u("command.sql","Create new SQL command",COMMAND_TEMPLATE)},{text:"New SQL query",onClick:()=>u("query.sql","Create new SQL query",QUERY_TEMPLATE)},{text:"New virtual references file",onClick:()=>d("virtual-references.config.json",[])},{text:"New dictionary descriptions file",onClick:()=>d("dictionary-descriptions.config.json",[])}]},i,function(e){l=e,n(1,l)},function(e){l=e,n(1,l)},e=>({fileName:e.name,folderName:o,fileType:e.type,fileLabel:e.label}),e=>APP_LABELS[e.fileType]||"App config"]}class AppFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$u,create_fragment$u,safe_not_equal,{})}}function create_fragment$t(e){let t,n;const o=[e[7],{data:e[0]},{title:e[0].name},{icon:"img app"},{statusIcon:e[6](e[3],e[2])?"icon check":null},{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},{isBold:e[0].name==e[4]},{menu:e[5]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new AppObjectCore({props:r}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=253&n?get_spread_update(o,[128&n&&get_spread_object(e[7]),1&n&&{data:e[0]},1&n&&{title:e[0].name},o[3],76&n&&{statusIcon:e[6](e[3],e[2])?"icon check":null},9&n&&{statusTitle:`Application ${e[0].name} is used for database ${e[3]?.name}`},17&n&&{isBold:e[0].name==e[4]},32&n&&{menu:e[5]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$5.filterName(t,e.name);function instance$t(e,t,n){let o;const r=["data"];let i,a,s,c=compute_rest_props(t,r),l=noop$3;component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,currentApplication,(e=>n(4,s=e))),e.$$.on_destroy.push((()=>l()));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{data:d}=t;const p=()=>{showModal(ConfirmModal,{message:`Really delete application ${d.name}?`,onConfirm:()=>{apiCall("apps/delete-folder",{folder:d.name})}})},m=()=>{const{name:e}=d;showModal(InputTextModal,{value:e,label:"New application name",header:"Rename application",onConfirm:e=>u(void 0,void 0,void 0,(function*(){yield apiCall("apps/rename-folder",{folder:d.name,newFolder:e}),s==d.name&&set_store_value(currentApplication,s=e,s)}))})};function f(e){var t;apiCall("connections/update-database",{conid:null===(t=null==a?void 0:a.connection)||void 0===t?void 0:t._id,database:null==a?void 0:a.name,values:{[`useApp:${d.name}`]:e}})}function h(e,t){var n;if(!e||!t)return!1;const o=t.find((t=>{var n;return t._id==(null===(n=null==e?void 0:e.connection)||void 0===n?void 0:n._id)})),r=null===(n=null==o?void 0:o.databases)||void 0===n?void 0:n.find((t=>t.name==(null==e?void 0:e.name)));return r&&r[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,i=e))),[d,o,i,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!h(a,i)&&{text:"Enable on current database",onClick:()=>f(!0)},h(a,i)&&{text:"Disable on current database",onClick:()=>f(!1)}]]},h,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$t,safe_not_equal,{data:0})}}var appFolderAppObject=Object.freeze({__proto__:null,default:AppFolderAppObject,extractKey:extractKey,createMatcher:createMatcher});function create_default_slot_3(e){let t,n;return t=new FontIcon({props:{icon:"icon plus-thick"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$4(e){let t,n;return t=new FontIcon({props:{icon:"icon refresh"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$4(e){let t,n,o,r,i,a,s,c,l,u;function d(t){e[4](t)}let p={placeholder:"Search applications"};function m(t){e[5](t)}void 0!==e[0]&&(p.value=e[0]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind$2(t,"value",d)));let f={};return void 0!==e[0]&&(f.filter=e[0]),r=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind$2(r,"filter",m))),s=new InlineButton({props:{title:"Create new application",$$slots:{default:[create_default_slot_3]},$$scope:{ctx:e}}}),s.$on("click",e[6]),l=new InlineButton({props:{title:"Refresh application list",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),create_component(l.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(r,e,n),insert(e,a,n),mount_component(s,e,n),insert(e,c,n),mount_component(l,e,n),u=!0},p(e,o){const a={};!n&&1&o&&(n=!0,a.value=e[0],add_flush_callback((()=>n=!1))),t.$set(a);const c={};!i&&1&o&&(i=!0,c.filter=e[0],add_flush_callback((()=>i=!1))),r.$set(c);const u={};128&o&&(u.$$scope={dirty:o,ctx:e}),s.$set(u);const d={};128&o&&(d.$$scope={dirty:o,ctx:e}),l.$set(d)},i(e){u||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$6(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[2],"name"),module:appFolderAppObject,filter:e[0]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.list=_.sortBy(e[2],"name")),1&n&&(o.filter=e[0]),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$s(e){let t,n,o,r;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,[n]){const r={};129&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};133&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$s(e,t,n){let o,r,i=noop$3;e.$$.on_destroy.push((()=>i()));let a="";return n(1,o=useAppFolders()),i(),i=subscribe(o,(e=>n(2,r=e))),[a,o,r,()=>{apiCall("apps/refresh-folders")},function(e){a=e,n(0,a)},function(e){a=e,n(0,a)},()=>runCommand("new.application")]}class AppFolderList extends SvelteComponent{constructor(e){super(),init(this,e,instance$s,create_fragment$s,safe_not_equal,{})}}function create_default_slot_2$3(e){let t,n;return t=new AppFolderList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$3(e){let t,n;return t=new AppFilesList({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$5(e){let t,n,o,r;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$3]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),mount_component(o,e,i),r=!0},p(e,n){const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r);const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),o.$set(i)},i(e){r||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),r=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$r(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};1&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}class AppWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$r,safe_not_equal,{})}}function create_fragment$q(e){let t;return{c(){t=text$1("Sorry, administration is not available")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}class AdminMenuWidget extends SvelteComponent{constructor(e){super(),init(this,e,null,create_fragment$q,safe_not_equal,{})}}function create_if_block_6$3(e){let t,n;return t=new FilesWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_5$3(e){let t,n;return t=new HistoryWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4$3(e){let t,n;return t=new ArchiveWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$5(e){let t,n;return t=new PluginsWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_2$6(e){let t,n;return t=new CellDataWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$b(e){let t,n;return t=new AppWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$e(e){let t,n;return t=new AdminMenuWidget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$p(e){let t,n,o,r,i,a,s,c,l,u;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let d="file"==e[0]&&create_if_block_6$3(),p="history"==e[0]&&create_if_block_5$3(),m="archive"==e[0]&&create_if_block_4$3(),f="plugins"==e[0]&&create_if_block_3$5(),h="cell-data"==e[0]&&create_if_block_2$6(),g="app"==e[0]&&create_if_block_1$b(),_="admin"==e[0]&&create_if_block$e();return{c(){create_component(t.$$.fragment),n=space(),d&&d.c(),o=space(),p&&p.c(),r=space(),m&&m.c(),i=space(),f&&f.c(),a=space(),h&&h.c(),s=space(),g&&g.c(),c=space(),_&&_.c(),l=empty()},m(e,$){mount_component(t,e,$),insert(e,n,$),d&&d.m(e,$),insert(e,o,$),p&&p.m(e,$),insert(e,r,$),m&&m.m(e,$),insert(e,i,$),f&&f.m(e,$),insert(e,a,$),h&&h.m(e,$),insert(e,s,$),g&&g.m(e,$),insert(e,c,$),_&&_.m(e,$),insert(e,l,$),u=!0},p(e,[n]){const u={};1&n&&(u.hidden="database"!=e[0]),t.$set(u),"file"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_6$3(),d.c(),transition_in(d,1),d.m(o.parentNode,o)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"history"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_5$3(),p.c(),transition_in(p,1),p.m(r.parentNode,r)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"archive"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_4$3(),m.c(),transition_in(m,1),m.m(i.parentNode,i)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"plugins"==e[0]?f?1&n&&transition_in(f,1):(f=create_if_block_3$5(),f.c(),transition_in(f,1),f.m(a.parentNode,a)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_2$6(),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),"app"==e[0]?g?1&n&&transition_in(g,1):(g=create_if_block_1$b(),g.c(),transition_in(g,1),g.m(c.parentNode,c)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),"admin"==e[0]?_?1&n&&transition_in(_,1):(_=create_if_block$e(),_.c(),transition_in(_,1),_.m(l.parentNode,l)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros())},i(e){u||(transition_in(t.$$.fragment,e),transition_in(d),transition_in(p),transition_in(m),transition_in(f),transition_in(h),transition_in(g),transition_in(_),u=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(d),transition_out(p),transition_out(m),transition_out(f),transition_out(h),transition_out(g),transition_out(_),u=!1},d(e){destroy_component(t,e),e&&detach(n),d&&d.d(e),e&&detach(o),p&&p.d(e),e&&detach(r),m&&m.d(e),e&&detach(i),f&&f.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),g&&g.d(e),e&&detach(c),_&&_.d(e),e&&detach(l)}}}function instance$r(e,t,n){let o;return component_subscribe(e,visibleSelectedWidget,(e=>n(0,o=e))),[o]}class WidgetContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$p,safe_not_equal,{})}}var mainMenuDefinition=({editMenu:e})=>[{label:"File",submenu:[{command:"new.connection",hideDisabled:!0},{command:"new.sqliteDatabase",hideDisabled:!0},{divider:!0},{command:"new.query",hideDisabled:!0},{command:"new.queryDesign",hideDisabled:!0},{command:"new.diagram",hideDisabled:!0},{command:"new.perspective",hideDisabled:!0},{command:"new.freetable",hideDisabled:!0},{command:"new.shell",hideDisabled:!0},{command:"new.jsonl",hideDisabled:!0},{divider:!0},{command:"file.open",hideDisabled:!0},{command:"file.openArchive",hideDisabled:!0},{divider:!0},{command:"group.save",hideDisabled:!0},{command:"group.saveAs",hideDisabled:!0},{divider:!0},{command:"file.exit",hideDisabled:!0},{command:"app.logout",hideDisabled:!0,skipInApp:!0},{command:"app.disconnect",hideDisabled:!0,skipInApp:!0}]},{label:"Window",submenu:[{command:"tabs.closeTab",hideDisabled:!1},{command:"tabs.closeAll",hideDisabled:!1},{command:"tabs.closeTabsWithCurrentDb",hideDisabled:!1},{command:"tabs.closeTabsButCurrentDb",hideDisabled:!1},{divider:!0},{command:"app.zoomIn",hideDisabled:!0},{command:"app.zoomOut",hideDisabled:!0},{command:"app.zoomReset",hideDisabled:!0}]},e?{label:"Edit",submenu:[{command:"edit.undo"},{command:"edit.redo"},{divider:!0},{command:"edit.cut"},{command:"edit.copy"},{command:"edit.paste"},{command:"edit.selectAll"}]}:null,{label:"View",submenu:[{command:"app.reload",hideDisabled:!0},{command:"app.toggleDevTools",hideDisabled:!0},{command:"app.toggleFullScreen",hideDisabled:!0},{command:"app.minimize",hideDisabled:!0},{command:"toggle.sidebar"},{divider:!0},{command:"theme.changeTheme",hideDisabled:!0},{command:"settings.show"}]},{label:"Tools",submenu:[{command:"database.search",hideDisabled:!0},{command:"commandPalette.show",hideDisabled:!0},{command:"database.switch",hideDisabled:!0},{divider:!0},{command:"sql.generator",hideDisabled:!0},{command:"file.import",hideDisabled:!0},{command:"new.modelCompare",hideDisabled:!0},{divider:!0},{command:"folder.showLogs",hideDisabled:!0},{command:"folder.showData",hideDisabled:!0},{command:"new.gist",hideDisabled:!0},{command:"app.resetSettings",hideDisabled:!0}]},{label:"Help",submenu:[{command:"app.openDocs",hideDisabled:!0},{command:"app.openWeb",hideDisabled:!0},{command:"app.openIssue",hideDisabled:!0},{command:"app.openSponsoring",hideDisabled:!0},{divider:!0},{command:"settings.commands",hideDisabled:!0},{command:"tabs.changelog",hideDisabled:!0},{command:"about.show",hideDisabled:!0},{divider:!0},{command:"file.checkForUpdates",hideDisabled:!0}]}];function get_each_context$a(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$d(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon menu"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper mb-3 svelte-1nclm36")},m(a,s){insert(a,t,s),mount_component(n,t,null),e[9](t),o=!0,r||(i=listen(t,"click",e[8]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(o){o&&detach(t),destroy_component(n),e[9](null),r=!1,i()}}}function create_each_block$a(e){let t,n,o,r,i;function a(){return e[11](e[16])}return n=new FontIcon({props:{icon:e[16].icon,title:e[16].title}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","wrapper svelte-1nclm36"),toggle_class(t,"selected",e[16].name==e[2])},m(e,s){insert(e,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",a),r=!0)},p(n,r){e=n,(!o||36&r)&&toggle_class(t,"selected",e[16].name==e[2])},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_fragment$o(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h=e[3]&&create_if_block$d(e),g=e[5].filter(e[10]),_=[];for(let t=0;t<g.length;t+=1)_[t]=create_each_block$a(get_each_context$a(e,g,t));const $=e=>transition_out(_[e],1,1,(()=>{_[e]=null}));return s=new FontIcon({props:{icon:e[4]?"icon locked-database-mode":"icon unlocked-database-mode"}}),d=new FontIcon({props:{icon:"icon settings"}}),{c(){t=element("div"),h&&h.c(),n=space();for(let e=0;e<_.length;e+=1)_[e].c();o=space(),r=element("div"),r.textContent=" ",i=space(),a=element("div"),create_component(s.$$.fragment),l=space(),u=element("div"),create_component(d.$$.fragment),attr(r,"class","flex1"),attr(a,"class","wrapper svelte-1nclm36"),attr(a,"title",c="Toggle whether tabs from all databases are visible. Currently - "+(e[4]?"NO":"YES")),attr(u,"class","wrapper svelte-1nclm36"),attr(t,"class","main svelte-1nclm36")},m(c,g){insert(c,t,g),h&&h.m(t,null),append(t,n);for(let e=0;e<_.length;e+=1)_[e]&&_[e].m(t,null);append(t,o),append(t,r),append(t,i),append(t,a),mount_component(s,a,null),append(t,l),append(t,u),mount_component(d,u,null),e[13](u),p=!0,m||(f=[listen(a,"click",e[12]),listen(u,"click",e[7])],m=!0)},p(e,[r]){if(e[3]?h?(h.p(e,r),8&r&&transition_in(h,1)):(h=create_if_block$d(e),h.c(),transition_in(h,1),h.m(t,n)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),100&r){let n;for(g=e[5].filter(e[10]),n=0;n<g.length;n+=1){const i=get_each_context$a(e,g,n);_[n]?(_[n].p(i,r),transition_in(_[n],1)):(_[n]=create_each_block$a(i),_[n].c(),transition_in(_[n],1),_[n].m(t,o))}for(group_outros(),n=g.length;n<_.length;n+=1)$(n);check_outros()}const i={};16&r&&(i.icon=e[4]?"icon locked-database-mode":"icon unlocked-database-mode"),s.$set(i),(!p||16&r&&c!==(c="Toggle whether tabs from all databases are visible. Currently - "+(e[4]?"NO":"YES")))&&attr(a,"title",c)},i(e){if(!p){transition_in(h);for(let e=0;e<g.length;e+=1)transition_in(_[e]);transition_in(s.$$.fragment,e),transition_in(d.$$.fragment,e),p=!0}},o(e){transition_out(h),_=_.filter(Boolean);for(let e=0;e<_.length;e+=1)transition_out(_[e]);transition_out(s.$$.fragment,e),transition_out(d.$$.fragment,e),p=!1},d(n){n&&detach(t),h&&h.d(),destroy_each(_,n),destroy_component(s),destroy_component(d),e[13](null),m=!1,run_all(f)}}}function instance$q(e,t,n){let o,r,i,a,s,c,l;component_subscribe(e,visibleWidgetSideBar,(e=>n(14,o=e))),component_subscribe(e,selectedWidget,(e=>n(15,r=e))),component_subscribe(e,visibleSelectedWidget,(e=>n(2,i=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e)));const u=[getCurrentConfig().storageDatabase&&{icon:"icon admin",name:"admin",title:"Administration"},{icon:"icon database",name:"database",title:"Database connections"},{icon:"icon file",name:"file",title:"Favorites & Saved files"},{icon:"icon history",name:"history",title:"Query history & Closed tabs"},{icon:"icon archive",name:"archive",title:"Archive (saved tabular data)"},{icon:"icon plugin",name:"plugins",title:"Extensions & Plugins"},{icon:"icon cell-data",name:"cell-data",title:"Selected cell data detail view"},{icon:"icon app",name:"app",title:"Application layers"}];function d(e){i==e?set_store_value(visibleWidgetSideBar,o=!1,o):(set_store_value(selectedWidget,r=e,r),set_store_value(visibleWidgetSideBar,o=!0,o))}return[c,l,i,a,s,u,d,function(){const e=c.getBoundingClientRect(),t=e.right,n=e.bottom;currentDropDownMenu.set({left:t,top:n,items:[{command:"settings.show"},{command:"theme.changeTheme"},{command:"settings.commands"}]})},function(){const e=l.getBoundingClientRect(),t=e.right,n=e.top,o=mainMenuDefinition({editMenu:!1});currentDropDownMenu.set({left:t,top:n,items:o})},function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>e&&hasPermission(`widgets/${e.name}`),e=>d(e.name),()=>{set_store_value(lockedDatabaseMode,s=!s,s)},function(e){binding_callbacks[e?"unshift":"push"]((()=>{c=e,n(0,c)}))}]}class WidgetIconPanel extends SvelteComponent{constructor(e){super(),init(this,e,instance$q,create_fragment$o,safe_not_equal,{})}}function create_fragment$n(e){let t,n,o;const r=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var i=e[2];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(n=construct_svelte_component(i,a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,r){insert(e,t,r),n&&mount_component(n,t,null),o=!0},p(e,[s]){const c=11&s?get_spread_update(r,[8&s&&get_spread_object(e[3]),1&s&&{tabid:e[0]},2&s&&{tabVisible:e[1]}]):{};if(4&s&&i!==(i=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(n=construct_svelte_component(i,a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else i&&n.$set(c);(!o||2&s)&&toggle_class(t,"tabVisible",e[1])},i(e){o||(n&&transition_in(n.$$.fragment,e),o=!0)},o(e){n&&transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),n&&destroy_component(n)}}}function instance$p(e,t,n){const o=["tabid","tabVisible","tabComponent"];let r=compute_rest_props(t,o),{tabid:i}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",i),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,r=compute_rest_props(t,o)),"tabid"in e&&n(0,i=e.tabid),"tabVisible"in e&&n(1,a=e.tabVisible),"tabComponent"in e&&n(2,s=e.tabComponent)},e.$$.update=()=>{2&e.$$.dirty&&c.set(a)},[i,a,s,r]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$p,create_fragment$n,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$9(e,t,n){const o=e.slice();return o[6]=t[n],o}function create_each_block$9(e,t){let n,o,r;const i=[{tabComponent:t[1][t[6]]},t[2][t[6]]?.props,{tabid:t[6]},{unsaved:t[2][t[6]]?.unsaved},{tabVisible:t[6]==t[0]?.tabid}];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new TabContent({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=7&n?get_spread_update(i,[2&n&&{tabComponent:t[1][t[6]]},6&n&&get_spread_object(t[2][t[6]]?.props),2&n&&{tabid:t[6]},6&n&&{unsaved:t[2][t[6]]?.unsaved},3&n&&{tabVisible:t[6]==t[0]?.tabid}]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$m(e){let t,n,o=[],r=new Map,i=_.keys(e[1]);const a=e=>e[6];for(let t=0;t<i.length;t+=1){let n=get_each_context$9(e,i,t),s=a(n);r.set(s,o[t]=create_each_block$9(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,r){for(let t=0;t<o.length;t+=1)o[t]&&o[t].m(e,r);insert(e,t,r),n=!0},p(e,[n]){7&n&&(i=_.keys(e[1]),group_outros(),o=update_keyed_each(o,n,a,1,e,i,r,t.parentNode,outro_and_destroy_block,create_each_block$9,t,get_each_context$9),check_outros())},i(e){if(!n){for(let e=0;e<i.length;e+=1)transition_in(o[e]);n=!0}},o(e){for(let e=0;e<o.length;e+=1)transition_out(o[e]);n=!1},d(e){for(let t=0;t<o.length;t+=1)o[t].d(e);e&&detach(t)}}}function instance$o(e,t,n){let o,r;var i;component_subscribe(e,openedTabs,(e=>n(5,r=e)));let{multiTabIndex:a}=t,{shownTab:s}=t,c={};return e.$$set=e=>{"multiTabIndex"in e&&n(3,a=e.multiTabIndex),"shownTab"in e&&n(0,s=e.shownTab)},e.$$.update=()=>{if(42&e.$$.dirty&&_.difference(_.keys(c),_.map(r.filter((e=>null==e.closedTime&&(e.multiTabIndex||0)==a)),"tabid")).length>0&&n(1,c=_.pickBy(c,((e,t)=>r.find((e=>e.tabid==t&&null==e.closedTime&&(e.multiTabIndex||0)==a))))),19&e.$$.dirty&&s){const{tabid:e}=s;if(e&&!c[e]){const t=null===n(4,i=tabs[s.tabComponent])||void 0===i?void 0:i.default;t&&n(1,c=Object.assign(Object.assign({},c),{[e]:t}))}}32&e.$$.dirty&&n(2,o=_.keyBy(r,(e=>e.tabid)))},[s,c,o,a,i,r]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$o,create_fragment$m,safe_not_equal,{multiTabIndex:3,shownTab:0})}}var fuzzy$1={exports:{}};!function(e,t){!function(){var t={};e.exports=t,t.simpleFilter=function(e,n){return n.filter((function(n){return t.test(e,n)}))},t.test=function(e,n){return null!==t.match(e,n)},t.match=function(e,t,n){n=n||{};var o,r=0,i=[],a=t.length,s=0,c=0,l=n.pre||"",u=n.post||"",d=n.caseSensitive&&t||t.toLowerCase();e=n.caseSensitive&&e||e.toLowerCase();for(var p=0;p<a;p++)o=t[p],d[p]===e[r]?(o=l+o+u,r+=1,c+=1+c):c=0,s+=c,i[i.length]=o;return r===e.length?(s=d===e?1/0:s,{rendered:i.join(""),score:s}):null},t.filter=function(e,n,o){return n&&0!==n.length?"string"!=typeof e?n:(o=o||{},n.reduce((function(n,r,i,a){var s=r;o.extract&&(s=o.extract(r));var c=t.match(e,s,o);return null!=c&&(n[n.length]={string:c.rendered,score:c.score,index:i,original:r}),n}),[]).sort((function(e,t){var n=t.score-e.score;return n||e.index-t.index}))):[]}}()}(fuzzy$1);var fuzzy=fuzzy$1.exports;function get_each_context$8(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$a(e){let t,n,o;return n=new FontIcon({props:{icon:e[25].icon}}),{c(){t=element("span"),create_component(n.$$.fragment),attr(t,"class","mr-1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};64&t&&(o.icon=e[25].icon),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$c(e){let t,n,o=formatKeyText(e[25].keyText)+"";return{c(){t=element("div"),n=text$1(o),attr(t,"class","shortcut svelte-1kyrubd")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){64&t&&o!==(o=formatKeyText(e[25].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_each_block$8(e){let t,n,o,r,i,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$a(e),m=e[25].keyText&&create_if_block$c(e);function f(){return e[22](e[25])}const h=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),r=new HtmlTag(!1),i=space(),m&&m.c(),a=space(),r.a=null,attr(t,"class","command svelte-1kyrubd"),toggle_class(t,"selected",e[27]==e[2])},m(e,d){insert(e,t,d),append(t,n),p&&p.m(n,null),append(n,o),r.m(u,n),append(t,i),m&&m.m(t,null),append(t,a),h(),s=!0,c||(l=listen(t,"click",f),c=!0)},p(i,c){(e=i)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$a(e),p.c(),transition_in(p,1),p.m(n,o)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||64&c)&&u!==(u=e[25].text+"")&&r.p(u),e[25].keyText?m?m.p(e,c):(m=create_if_block$c(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],h()),(!s||4&c)&&toggle_class(t,"selected",e[27]==e[2])},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),p&&p.d(),m&&m.d(),g(),c=!1,l()}}}function create_fragment$l(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b;r=new FontIcon({props:{icon:"icon menu"}}),c=new FontIcon({props:{icon:"icon database"}});let v=e[6],y=[];for(let t=0;t<v.length;t+=1)y[t]=create_each_block$8(get_each_context$8(e,v,t));const x=e=>transition_out(y[e],1,1,(()=>{y[e]=null}));return{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=text$1(" Commands"),a=space(),s=element("div"),create_component(c.$$.fragment),l=text$1(" Database"),u=space(),d=element("div"),p=element("div"),m=element("input"),h=space(),g=element("div");for(let e=0;e<y.length;e+=1)y[e].c();attr(o,"class","page svelte-1kyrubd"),toggle_class(o,"selected","menu"==e[4]),attr(s,"class","page svelte-1kyrubd"),toggle_class(s,"selected","database"==e[4]),attr(n,"class","pages svelte-1kyrubd"),attr(m,"type","text"),attr(m,"placeholder",f=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")),attr(m,"class","svelte-1kyrubd"),attr(p,"class","search svelte-1kyrubd"),attr(g,"class","content svelte-1kyrubd"),attr(d,"class","mainInner svelte-1kyrubd"),attr(t,"class","main svelte-1kyrubd")},m(f,v){insert(f,t,v),append(t,n),append(n,o),mount_component(r,o,null),append(o,i),append(n,a),append(n,s),mount_component(c,s,null),append(s,l),append(t,u),append(t,d),append(d,p),append(p,m),e[20](m),set_input_value(m,e[0]),append(d,h),append(d,g);for(let e=0;e<y.length;e+=1)y[e]&&y[e].m(g,null);_=!0,$||(b=[listen(o,"click",e[18]),listen(s,"click",e[19]),listen(m,"input",e[21]),listen(m,"keydown",e[10]),action_destroyer(clickOutside.call(null,t)),listen(t,"clickOutside",e[24])],$=!0)},p(e,[t]){if((!_||16&t)&&toggle_class(o,"selected","menu"==e[4]),(!_||16&t)&&toggle_class(s,"selected","database"==e[4]),(!_||24&t&&f!==(f=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",f),1&t&&m.value!==e[0]&&set_input_value(m,e[0]),582&t){let n;for(v=e[6],n=0;n<v.length;n+=1){const o=get_each_context$8(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$8(o),y[n].c(),transition_in(y[n],1),y[n].m(g,null))}for(group_outros(),n=v.length;n<y.length;n+=1)x(n);check_outros()}},i(e){if(!_){transition_in(r.$$.fragment,e),transition_in(c.$$.fragment,e);for(let e=0;e<v.length;e+=1)transition_in(y[e]);_=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),y=y.filter(Boolean);for(let e=0;e<y.length;e+=1)transition_out(y[e]);_=!1},d(n){n&&detach(t),destroy_component(r),destroy_component(c),e[20](null),destroy_each(y,n),$=!1,run_all(b)}}}function extractDbItems(e,t,n){const o=_.flatten(["tables","collections","views","matviews","procedures","functions"].map((n=>_.sortBy(((e||{})[n]||[]).map((e=>({text:e.pureName,onClick:()=>handleDatabaseObjectClick({objectTypeField:n,...t,...e}),icon:databaseObjectIcons[n]}))),["text"])))),r=[];for(const e of n||[]){const t=e._id;if(e.singleDatabase)continue;if(getCurrentConfig()?.singleDbConnection)continue;const n=getLocalStorage(`database_list_${t}`)||[];for(const t of n)r.push({text:`${t.name} on ${lib$5.getConnectionLabel(e)}`,icon:"img database",onClick:()=>switchCurrentDatabase({connection:e,name:t.name})})}return[..._.sortBy(r,"text"),...o]}function instance$n(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,f=e))),component_subscribe(e,commandsCustomized,(e=>n(17,h=e))),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b()));let v="";const y={};function x(e){e.getSubCommands?(set_store_value(visibleCommandPalette,d=e,d),g.focus(),n(0,v=""),n(2,o=0)):(set_store_value(visibleCommandPalette,d=null,d),e.onClick())}onMount((()=>{const e=document.activeElement;return g.focus(),()=>{e&&e.focus()}}));return e.$$.update=()=>{1&e.$$.dirty&&n(2,o=0),16&e.$$.dirty&&n(3,r=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,i=_.sortBy(Object.values(h).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(f,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(f,"name")),12288&e.$$.dirty&&(n(8,c=useDatabaseInfo({conid:a,database:s})),b(),b=subscribe(c,(e=>n(15,m=e)))),63513&e.$$.dirty&&n(6,u=fuzzy.filter(v,("database"==d?extractDbItems(m,{conid:a,database:s},p):r?r.getSubCommands():i).filter((e=>!e.isGroupCommand)),{extract:e=>e.text,pre:"<b>",post:"</b>"}).map((e=>({...e.original,text:e.string})))),6&e.$$.dirty&&y[o]&&y[o].scrollIntoView({block:"nearest",inline:"nearest"})},n(7,l=useConnectionList()),$(),$=subscribe(l,(e=>n(14,p=e))),[v,y,o,r,d,g,u,l,c,x,function(e){e.keyCode==keycodes.upArrow&&o>0&&n(2,o--,o),e.keyCode==keycodes.downArrow&&o<u.length-1&&n(2,o++,o),e.keyCode==keycodes.enter&&(e.preventDefault(),e.stopPropagation(),x(u[o])),e.keyCode==keycodes.escape&&set_store_value(visibleCommandPalette,d=null,d),e.keyCode==keycodes.pageDown&&n(2,o=Math.min(o+15,u.length-1)),e.keyCode==keycodes.pageUp&&n(2,o=Math.max(o-15,0))},i,s,a,p,m,f,h,()=>{set_store_value(visibleCommandPalette,d="menu",d),g.focus()},()=>{set_store_value(visibleCommandPalette,d="database",d),g.focus()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{g=e,n(5,g)}))},function(){v=this.value,n(0,v)},e=>x(e),function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{y[t]=e,n(1,y)}))},()=>{set_store_value(visibleCommandPalette,d=null,d)}]}registerCommand({id:"commandPalette.show",category:"Command palette",name:"Show",toolbarName:"Command palette",toolbarOrder:0,keyText:"F1",toolbar:!0,showDisabled:!0,icon:"icon menu",onClick:()=>visibleCommandPalette.set("menu"),testEnabled:()=>"menu"!=getVisibleCommandPalette()}),registerCommand({id:"database.search",category:"Database",toolbarName:"Database search",name:"Search",keyText:isElectronAvailable()?"CtrlOrCommand+P":"F3",onClick:()=>visibleCommandPalette.set("database"),testEnabled:()=>"database"!=getVisibleCommandPalette()});class CommandPalette extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$l,safe_not_equal,{})}}function get_each_context$7(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_1(e,t,n){const o=e.slice();return o[8]=t[n],o}function get_each_context_2(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_1$9(e){let t,n;return t=new ToolbarButton({props:{externalImage:"logo192.png"}}),t.$on("click",e[6]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$2(e){let t,n=e[13].title+"";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4&o&&n!==(n=e[13].title+"")&&set_data(t,n)},d(e){e&&detach(t)}}}function create_each_block_2(e){let t,n;return t=new ToolbarButton({props:{icon:e[13].icon||"icon favorite",$$slots:{default:[create_default_slot_2$2]},$$scope:{ctx:e}}}),t.$on("click",(function(){return e[7](e[13])})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};4&o&&(r.icon=e[13].icon||"icon favorite"),65540&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_1$2(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block_1(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$b(e){let t,n,o,r,i,a,s,c=e[3].title+"";return o=new FontIcon({props:{icon:e[3].icon}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(c),a=text$1(":"),attr(n,"class","activeTabInner svelte-1qj7qwd"),attr(t,"class","activeTab svelte-1qj7qwd")},m(e,c){insert(e,t,c),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(n,a),s=!0},p(e,t){const n={};8&t&&(n.icon=e[3].icon),o.$set(n),(!s||8&t)&&c!==(c=e[3].title+"")&&set_data(i,c)},i(e){s||(transition_in(o.$$.fragment,e),s=!0)},o(e){transition_out(o.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_default_slot$4(e){let t,n,o=(e[8].toolbarName||e[8].name)+"";return{c(){t=text$1(o),n=space()},m(e,o){insert(e,t,o),insert(e,n,o)},p(e,n){1&n&&o!==(o=(e[8].toolbarName||e[8].name)+"")&&set_data(t,o)},d(e){e&&detach(t),e&&detach(n)}}}function create_each_block$7(e){let t,n;return t=new ToolbarButton({props:{icon:e[8].icon,disabled:!e[8].enabled,title:getCommandTitle(e[8]),$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),t.$on("click",(function(){is_function(e[8].onClick)&&e[8].onClick.apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const r={};1&o&&(r.icon=e[8].icon),1&o&&(r.disabled=!e[8].enabled),1&o&&(r.title=getCommandTitle(e[8])),65537&o&&(r.$$scope={dirty:o,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$k(e){let t,n,o,r,i,a,s,c,l=e[3]&&e[0].filter(func$1).length>0,u=!e[4]&&create_if_block_1$9(e),d=(e[2]||[]).filter(func_1$1),p=[];for(let t=0;t<d.length;t+=1)p[t]=create_each_block_2(get_each_context_2(e,d,t));const m=e=>transition_out(p[e],1,1,(()=>{p[e]=null}));let f=e[0].filter(func_2$1),h=[];for(let t=0;t<f.length;t+=1)h[t]=create_each_block_1(get_each_context_1(e,f,t));const g=e=>transition_out(h[e],1,1,(()=>{h[e]=null}));let _=l&&create_if_block$b(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$7(get_each_context$7(e,$,t));const v=e=>transition_out(b[e],1,1,(()=>{b[e]=null}));return{c(){t=element("div"),n=element("div"),u&&u.c(),o=space();for(let e=0;e<p.length;e+=1)p[e].c();r=space();for(let e=0;e<h.length;e+=1)h[e].c();i=space(),a=element("div"),_&&_.c(),s=space();for(let e=0;e<b.length;e+=1)b[e].c();attr(n,"class","container svelte-1qj7qwd"),attr(a,"class","container svelte-1qj7qwd"),attr(t,"class","root svelte-1qj7qwd")},m(e,l){insert(e,t,l),append(t,n),u&&u.m(n,null),append(n,o);for(let e=0;e<p.length;e+=1)p[e]&&p[e].m(n,null);append(n,r);for(let e=0;e<h.length;e+=1)h[e]&&h[e].m(n,null);append(t,i),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)b[e]&&b[e].m(a,null);c=!0},p(e,[t]){if(e[4]||u.p(e,t),4&t){let o;for(d=(e[2]||[]).filter(func_1$1),o=0;o<d.length;o+=1){const i=get_each_context_2(e,d,o);p[o]?(p[o].p(i,t),transition_in(p[o],1)):(p[o]=create_each_block_2(i),p[o].c(),transition_in(p[o],1),p[o].m(n,r))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(f=e[0].filter(func_2$1),o=0;o<f.length;o+=1){const r=get_each_context_1(e,f,o);h[o]?(h[o].p(r,t),transition_in(h[o],1)):(h[o]=create_each_block_1(r),h[o].c(),transition_in(h[o],1),h[o].m(n,null))}for(group_outros(),o=f.length;o<h.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func$1).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$b(e),_.c(),transition_in(_,1),_.m(a,s)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),1&t){let n;for($=e[0].filter(func_3),n=0;n<$.length;n+=1){const o=get_each_context$7(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$7(o),b[n].c(),transition_in(b[n],1),b[n].m(a,null))}for(group_outros(),n=$.length;n<b.length;n+=1)v(n);check_outros()}},i(e){if(!c){transition_in(u);for(let e=0;e<d.length;e+=1)transition_in(p[e]);for(let e=0;e<f.length;e+=1)transition_in(h[e]);transition_in(_);for(let e=0;e<$.length;e+=1)transition_in(b[e]);c=!0}},o(e){transition_out(u),p=p.filter(Boolean);for(let e=0;e<p.length;e+=1)transition_out(p[e]);h=h.filter(Boolean);for(let e=0;e<h.length;e+=1)transition_out(h[e]);transition_out(_),b=b.filter(Boolean);for(let e=0;e<b.length;e+=1)transition_out(b[e]);c=!1},d(e){e&&detach(t),u&&u.d(),destroy_each(p,e),destroy_each(h,e),_&&_.d(),destroy_each(b,e)}}}function getCommandTitle(e){let t=e.text;return(e.keyText||e.keyTextFromGroup)&&(t+=` (${formatKeyText(e.keyText||e.keyTextFromGroup)})`),t}const func$1=e=>e.isRelatedToTab,func_1$1=e=>e.showInToolbar,func_2$1=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$m(e,t,n){let o,r,i,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,i=e))),component_subscribe(e,activeTab,(e=>n(3,s=e))),e.$$.on_destroy.push((()=>c()));const l=getElectron();return e.$$.update=()=>{32&e.$$.dirty&&n(0,r=_.sortBy(Object.values(i).filter((e=>(e.enabled||e.showDisabled)&&e.toolbar&&e.onClick)),(e=>null==e.toolbarOrder?100:e.toolbarOrder)))},n(1,o=useFavorites()),c(),c=subscribe(o,(e=>n(2,a=e))),[r,o,a,s,l,i,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$k,safe_not_equal,{})}}function get_each_context$6(e,t,n){const o=e.slice();return o[23]=t[n],o}function create_else_block$4(e){let t,n,o,r,i,a,s,c,l,u=(e[23].text||e[23].label)+"",d=e[23].keyText&&create_if_block_3$4(e),p=e[23].submenu&&create_if_block_2$5();function m(...t){return e[15](e[23],...t)}function f(...t){return e[16](e[23],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),r=space(),d&&d.c(),i=space(),p&&p.c(),a=space(),attr(n,"class","svelte-3j24if"),toggle_class(n,"disabled",e[23].disabled)},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(n,r),d&&d.m(n,null),append(n,i),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",f)],c=!0)},p(t,r){e=t,(!s||256&r)&&u!==(u=(e[23].text||e[23].label)+"")&&set_data(o,u),e[23].keyText?d?d.p(e,r):(d=create_if_block_3$4(e),d.c(),d.m(n,i)):d&&(d.d(1),d=null),e[23].submenu?p?256&r&&transition_in(p,1):(p=create_if_block_2$5(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),(!s||256&r)&&toggle_class(n,"disabled",e[23].disabled)},i(e){s||(transition_in(p),s=!0)},o(e){transition_out(p),s=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),c=!1,run_all(l)}}}function create_if_block_1$8(e){let t;return{c(){t=element("li"),attr(t,"class","divider svelte-3j24if")},m(e,n){insert(e,t,n)},p:noop$3,i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function create_if_block_3$4(e){let t,n,o=formatKeyText(e[23].keyText)+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","keyText svelte-3j24if")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){256&t&&o!==(o=formatKeyText(e[23].keyText)+"")&&set_data(n,o)},d(e){e&&detach(t)}}}function create_if_block_2$5(e){let t,n,o;return n=new FontIcon({props:{icon:"icon menu-right"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","menu-right svelte-3j24if")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_each_block$6(e){let t,n,o,r;const i=[create_if_block_1$8,create_else_block$4],a=[];function s(e,t){return e[23].divider?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t===c?a[t].p(e,r):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,r):(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$a(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let r={};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new DropDownMenu({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const r=708&n?get_spread_update(o,[64&n&&{items:e[6]?.submenu},128&n&&get_spread_object(e[7]),516&n&&{onCloseParent:e[18]}]):{};t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$j(e){let t,n,o,r,i,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$6(get_each_context$6(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$a(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),r=empty(),attr(t,"class","dropDownMenuMarker svelte-3j24if"),attr(t,"style",n=`left: ${e[1]}px; top: ${e[0]}px`)},m(n,a){insert(n,t,a);for(let e=0;e<s.length;e+=1)s[e]&&s[e].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,r,a),i=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const r=get_each_context$6(e,a,n);s[n]?(s[n].p(r,o),transition_in(s[n],1)):(s[n]=create_each_block$6(r),s[n].c(),transition_in(s[n],1),s[n].m(t,null))}for(group_outros(),n=a.length;n<s.length;n+=1)c(n);check_outros()}(!i||3&o&&n!==(n=`left: ${e[1]}px; top: ${e[0]}px`))&&attr(t,"style",n),e[6]?.submenu?l?(l.p(e,o),64&o&&transition_in(l,1)):(l=create_if_block$a(e),l.c(),transition_in(l,1),l.m(r.parentNode,r)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!i){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),i=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),i=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(r)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),r=o.top+window.pageYOffset-n.clientTop,i=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:r,left:i+o.width}:{top:r,left:i}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),r=null,i=null;o.left+t>window.innerWidth&&(r=o.left-t,r<0&&(r=0)),o.top+n>window.innerHeight&&(i=o.top-n,i<0&&(i=0)),null!=r&&(e.style.left=`${r}px`),null!=i&&(e.style.top=`${i}px`)}function instance$l(e,t,n){let o,r;component_subscribe(e,commandsCustomized,(e=>n(14,r=e)));let i,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:f}=t;const h=createEventDispatcher();let g=[];function $(){h("close");for(const e of g)e();g=[]}function b(e){g.push(e)}function v(e,t){if(!t.disabled){if(t.submenu)return n(4,a=t),n(5,s=getElementOffset(e.target,"right")),n(6,c=t),void n(7,l=s);$(),m&&m(),t.onClick&&t.onClick()}}onMount((()=>{fixPopupPlacement(i)}));const y=_.throttle((()=>{n(6,c=a),n(7,l=s)}),500),x=e=>{e.target.closest("ul.dropDownMenuMarker")||$()};onMount((()=>(document.addEventListener("mousedown",x,!0),()=>{document.removeEventListener("mousedown",x,!0)})));return e.$$set=e=>{"items"in e&&n(12,u=e.items),"top"in e&&n(0,d=e.top),"left"in e&&n(1,p=e.left),"onCloseParent"in e&&n(2,m=e.onCloseParent),"targetElement"in e&&n(13,f=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:f,registerCloseHandler:b},r))},[d,p,m,i,a,s,c,l,o,$,v,y,u,f,r,(e,t)=>v(t,e),(e,t)=>{n(5,s=getElementOffset(t.target,"right")),n(4,a=e),y()},function(e){binding_callbacks[e?"unshift":"push"]((()=>{i=e,n(3,i)}))},()=>{m&&m(),$()}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$l,create_fragment$j,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$9(e){let t,n;return t=new DropDownMenu({props:{left:e[0].left,top:e[0].top,items:e[0].items,targetElement:e[0].targetElement}}),t.$on("close",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.left=e[0].left),1&n&&(o.top=e[0].top),1&n&&(o.items=e[0].items),1&n&&(o.targetElement=e[0].targetElement),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_fragment$i(e){let t,n,o=e[0]&&create_if_block$9(e);return{c(){o&&o.c(),t=empty()},m(e,r){o&&o.m(e,r),insert(e,t,r),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$9(e),o.c(),transition_in(o,1),o.m(t.parentNode,t)):o&&(group_outros(),transition_out(o,1,1,(()=>{o=null})),check_outros())},i(e){n||(transition_in(o),n=!0)},o(e){transition_out(o),n=!1},d(e){o&&o.d(e),e&&detach(t)}}}function instance$k(e,t,n){let o;component_subscribe(e,currentDropDownMenu,(e=>n(0,o=e)));return[o,()=>set_store_value(currentDropDownMenu,o=null,o)]}class CurrentDropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$i,safe_not_equal,{})}}function create_default_slot$3(e){let t,n,o,r,i;return r=new ColorSelector({props:{value:e[4]}}),r.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(r.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(r,e,a),i=!0},p(e,t){(!i||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),r.$set(o)},i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(r,e)}}}function create_header_slot(e){let t;return{c(){t=text$1(e[2])},m(e,n){insert(e,t,n)},p(e,n){4&n&&set_data(t,e[2])},d(e){e&&detach(t)}}}function create_fragment$h(e){let t,n;const o=[e[6]];let r={$$slots:{header:[create_header_slot],default:[create_default_slot$3]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)r=assign(r,o[e]);return t=new ModalBase({props:r}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const r=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(r.$$scope={dirty:n,ctx:e}),t.$set(r)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$j(e,t,n){let o;const r=["conid","database","header","text"];let i,a=compute_rest_props(t,r),{conid:s}=t,{database:c}=t,{header:l}=t,{text:u}=t;const d=useConnectionColor({conid:s,database:c},null,null,!1,!1);component_subscribe(e,d,(e=>n(7,i=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,r)),"conid"in e&&n(0,s=e.conid),"database"in e&&n(1,c=e.database),"header"in e&&n(2,l=e.header),"text"in e&&n(3,u=e.text)},e.$$.update=()=>{128&e.$$.dirty&&n(4,o=i)},[s,c,l,u,o,d,a,i,e=>{n(4,o=e.detail),c?apiCall("connections/update-database",{conid:s,database:c,values:{connectionColor:e.detail}}):apiCall("connections/update",{_id:s,values:{connectionColor:e.detail}})}]}class ChooseConnectionColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$h,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$5(e,t,n){const o=e.slice();return o[28]=t[n],o}function create_if_block_15(e){let t,n,o,r,i,a,s,c;const l=[create_if_block_17,create_else_block$3],u=[];function d(e,t){return e[1]?.isReadOnly?0:1}n=d(e),o=u[n]=l[n](e);let p=e[2]&&create_if_block_16(e);return{c(){t=element("div"),o.c(),r=space(),i=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-as4084")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,r),append(t,i),insert(e,a,o),p&&p.m(e,o),insert(e,s,o),c=!0},p(e,a){let m=n;n=d(e),n!==m&&(group_outros(),transition_out(u[m],1,1,(()=>{u[m]=null})),check_outros(),o=u[n],o||(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,r)),(!c||1&a)&&set_data(i,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_16(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros())},i(e){c||(transition_in(o),transition_in(p),c=!0)},o(e){transition_out(o),transition_out(p),c=!1},d(e){e&&detach(t),u[n].d(),e&&detach(a),p&&p.d(e),e&&detach(s)}}}function create_else_block$3(e){let t,n;return t=new FontIcon({props:{icon:"icon database",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_17(e){let t,n;return t=new FontIcon({props:{icon:"icon lock",padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_16(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[12]),attr(n,"class","colorbox svelte-as4084"),attr(t,"class","item clickable svelte-as4084"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[23]),i=!0)},p(e,t){(!r||4096&t)&&attr(n,"style",e[12])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_13$1(e){let t,n,o,r,i,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_14(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[7]),i=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-as4084")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,r),insert(e,i,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(r,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_14(e),c.c(),transition_in(c,1),c.m(a.parentNode,a)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros())},i(e){s||(transition_in(n.$$.fragment,e),transition_in(c),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(c),s=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(i),c&&c.d(e),e&&detach(a)}}}function create_if_block_14(e){let t,n,o,r,i,a;return o=new FontIcon({props:{icon:"icon palette"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),attr(n,"style",e[13]),attr(n,"class","colorbox svelte-as4084"),attr(t,"class","item clickable svelte-as4084"),attr(t,"title","Connection color. Can be overriden by database color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),r=!0,i||(a=listen(t,"click",e[24]),i=!0)},p(e,t){(!r||8192&t)&&attr(n,"style",e[13])},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(o),i=!1,a()}}}function create_if_block_12$1(e){let t,n,o,r,i,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-as4084")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){(!i||2&t)&&a!==(a=e[1].user+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_6$2(e){let t,n,o,r,i,a;const s=[create_if_block_7$1,create_if_block_8$1,create_if_block_9$1,create_if_block_10$1,create_if_block_11$1],c=[];function l(e,t){return"pending"==e[14].name?0:"checkStructure"==e[14].name?1:"loadStructure"==e[14].name?2:"ok"==e[14].name?3:"error"==e[14].name?4:-1}return~(n=l(e))&&(o=c[n]=s[n](e)),{c(){t=element("div"),o&&o.c(),attr(t,"class","item clickable svelte-as4084")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),r=!0,i||(a=listen(t,"click",e[25]),i=!0)},p(e,r){let i=n;n=l(e),n!==i&&(o&&(group_outros(),transition_out(c[i],1,1,(()=>{c[i]=null})),check_outros()),~n?(o=c[n],o||(o=c[n]=s[n](e),o.c()),transition_in(o,1),o.m(t,null)):o=null)},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){e&&detach(t),~n&&c[n].d(),i=!1,a()}}}function create_if_block_11$1(e){let t,n,o;return t=new FontIcon({props:{icon:"img error-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Error")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_10$1(e){let t,n,o;return t=new FontIcon({props:{icon:"img ok-inv",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Connected")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_9$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_8$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Checking model")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_7$1(e){let t,n,o;return t=new FontIcon({props:{icon:"icon loading",padRight:!0}}),{c(){create_component(t.$$.fragment),n=text$1(" Loading")},m(e,r){mount_component(t,e,r),insert(e,n,r),o=!0},i(e){o||(transition_in(t.$$.fragment,e),o=!0)},o(e){transition_out(t.$$.fragment,e),o=!1},d(e){destroy_component(t,e),e&&detach(n)}}}function create_if_block_5$2(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon disconnected",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Not connected"),attr(t,"class","item svelte-as4084")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$2(e){let t,n,o,r,i,a,s,c=(e[15].versionText||e[15].version)+"";return n=new FontIcon({props:{icon:"icon version",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(c),attr(r,"class","version svelte-as4084"),attr(t,"class","item flex svelte-as4084"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(i,c),(!s||32768&n&&a!==(a=e[15].version))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_3$3(e){let t,n,o,r,i,a,s,c,l,u=moment(e[14]?.analysedTime).fromNow()+(e[3],"");return n=new FontIcon({props:{icon:"icon history",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),i=text$1(u),attr(r,"class","version ml-1 svelte-as4084"),attr(t,"class","item flex clickable svelte-as4084"),attr(t,"title",a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`)},m(a,u){insert(a,t,u),mount_component(n,t,null),append(t,o),append(t,r),append(r,i),s=!0,c||(l=listen(t,"click",e[19]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(i,u),(!s||16385&n&&a!==(a=`Last ${e[0]} model refresh: ${moment(e[14]?.analysedTime).format("HH:mm:ss")}\nClick for refresh DB model`))&&attr(t,"title",a)},i(e){s||(transition_in(n.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),c=!1,l()}}}function create_if_block_2$4(e){let t,n,o,r,i,a,s;return n=new FontIcon({props:{icon:"icon archive",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(e[16]),attr(t,"class","item flex clickable svelte-as4084"),attr(t,"title","Current archive")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,r),i=!0,a||(s=listen(t,"click",e[26]),a=!0)},p(e,t){(!i||65536&t)&&set_data(r,e[16])},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n),a=!1,s()}}}function create_if_block_1$7(e){let t,n;return t=new FontIcon({props:{icon:e[28].icon,padRight:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.icon=e[28].icon),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$5(e){let t,n,o,r,i,a,s=e[28].text+"",c=e[28].icon&&create_if_block_1$7(e);return{c(){t=element("div"),c&&c.c(),n=space(),o=text$1(s),attr(t,"class","item svelte-as4084"),toggle_class(t,"clickable",e[28].clickable)},m(s,l){insert(s,t,l),c&&c.m(t,null),append(t,n),append(t,o),r=!0,i||(a=listen(t,"click",(function(){is_function(e[28].onClick)&&e[28].onClick.apply(this,arguments)})),i=!0)},p(i,a){(e=i)[28].icon?c?(c.p(e,a),256&a&&transition_in(c,1)):(c=create_if_block_1$7(e),c.c(),transition_in(c,1),c.m(t,n)):c&&(group_outros(),transition_out(c,1,1,(()=>{c=null})),check_outros()),(!r||256&a)&&s!==(s=e[28].text+"")&&set_data(o,s),(!r||256&a)&&toggle_class(t,"clickable",e[28].clickable)},i(e){r||(transition_in(c),r=!0)},o(e){transition_out(c),r=!1},d(e){e&&detach(t),c&&c.d(),i=!1,a()}}}function create_if_block$8(e){let t,n,o,r,i,a=e[18].message+"";return n=new FontIcon({props:{icon:e[18].icon,padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=text$1(a),attr(t,"class","item svelte-as4084")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,r),i=!0},p(e,t){const o={};262144&t&&(o.icon=e[18].icon),n.$set(o),(!i||262144&t)&&a!==(a=e[18].message+"")&&set_data(r,a)},i(e){i||(transition_in(n.$$.fragment,e),i=!0)},o(e){transition_out(n.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$g(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f=e[0]&&create_if_block_15(e),h=e[7]&&create_if_block_13$1(e),g=e[1]&&e[1].user&&create_if_block_12$1(e),_=e[1]&&e[14]&&create_if_block_6$2(e),$=!e[1]&&create_if_block_5$2(),b=e[15]&&create_if_block_4$2(e),v=e[14]?.analysedTime&&create_if_block_3$3(e),y=e[16]&&create_if_block_2$4(e),x=e[8]||[],w=[];for(let t=0;t<x.length;t+=1)w[t]=create_each_block$5(get_each_context$5(e,x,t));const C=e=>transition_out(w[e],1,1,(()=>{w[e]=null}));let k=e[18]&&create_if_block$8(e);return{c(){t=element("div"),n=element("div"),f&&f.c(),o=space(),h&&h.c(),r=space(),g&&g.c(),i=space(),_&&_.c(),a=space(),$&&$.c(),s=space(),b&&b.c(),c=space(),v&&v.c(),l=space(),y&&y.c(),u=space(),d=element("div");for(let e=0;e<w.length;e+=1)w[e].c();p=space(),k&&k.c(),attr(n,"class","container svelte-as4084"),attr(d,"class","container svelte-as4084"),attr(t,"class","main svelte-as4084"),attr(t,"style",e[11])},m(e,x){insert(e,t,x),append(t,n),f&&f.m(n,null),append(n,o),h&&h.m(n,null),append(n,r),g&&g.m(n,null),append(n,i),_&&_.m(n,null),append(n,a),$&&$.m(n,null),append(n,s),b&&b.m(n,null),append(n,c),v&&v.m(n,null),append(n,l),y&&y.m(n,null),append(t,u),append(t,d);for(let e=0;e<w.length;e+=1)w[e]&&w[e].m(d,null);append(d,p),k&&k.m(d,null),m=!0},p(e,[u]){if(e[0]?f?(f.p(e,u),1&u&&transition_in(f,1)):(f=create_if_block_15(e),f.c(),transition_in(f,1),f.m(n,o)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[7]?h?(h.p(e,u),128&u&&transition_in(h,1)):(h=create_if_block_13$1(e),h.c(),transition_in(h,1),h.m(n,r)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[1].user?g?(g.p(e,u),2&u&&transition_in(g,1)):(g=create_if_block_12$1(e),g.c(),transition_in(g,1),g.m(n,i)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),e[1]&&e[14]?_?(_.p(e,u),16386&u&&transition_in(_,1)):(_=create_if_block_6$2(e),_.c(),transition_in(_,1),_.m(n,a)):_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()),e[1]?$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()):$?2&u&&transition_in($,1):($=create_if_block_5$2(),$.c(),transition_in($,1),$.m(n,s)),e[15]?b?(b.p(e,u),32768&u&&transition_in(b,1)):(b=create_if_block_4$2(e),b.c(),transition_in(b,1),b.m(n,c)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),e[14]?.analysedTime?v?(v.p(e,u),16384&u&&transition_in(v,1)):(v=create_if_block_3$3(e),v.c(),transition_in(v,1),v.m(n,l)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),e[16]?y?(y.p(e,u),65536&u&&transition_in(y,1)):(y=create_if_block_2$4(e),y.c(),transition_in(y,1),y.m(n,null)):y&&(group_outros(),transition_out(y,1,1,(()=>{y=null})),check_outros()),256&u){let t;for(x=e[8]||[],t=0;t<x.length;t+=1){const n=get_each_context$5(e,x,t);w[t]?(w[t].p(n,u),transition_in(w[t],1)):(w[t]=create_each_block$5(n),w[t].c(),transition_in(w[t],1),w[t].m(d,p))}for(group_outros(),t=x.length;t<w.length;t+=1)C(t);check_outros()}e[18]?k?(k.p(e,u),262144&u&&transition_in(k,1)):(k=create_if_block$8(e),k.c(),transition_in(k,1),k.m(d,null)):k&&(group_outros(),transition_out(k,1,1,(()=>{k=null})),check_outros()),(!m||2048&u)&&attr(t,"style",e[11])},i(e){if(!m){transition_in(f),transition_in(h),transition_in(g),transition_in(_),transition_in($),transition_in(b),transition_in(v),transition_in(y);for(let e=0;e<x.length;e+=1)transition_in(w[e]);transition_in(k),m=!0}},o(e){transition_out(f),transition_out(h),transition_out(g),transition_out(_),transition_out($),transition_out(b),transition_out(v),transition_out(y),w=w.filter(Boolean);for(let e=0;e<w.length;e+=1)transition_out(w[e]);transition_out(k),m=!1},d(e){e&&detach(t),f&&f.d(),h&&h.d(),g&&g.d(),_&&_.d(),$&&$.d(),b&&b.d(),v&&v.d(),y&&y.d(),destroy_each(w,e),k&&k.d()}}}function instance$i(e,t,n){let o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C=noop$3,k=noop$3,S=noop$3,T=noop$3,A=noop$3;component_subscribe(e,activeTabId,(e=>n(20,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(21,f=e))),component_subscribe(e,currentDatabase,(e=>n(22,h=e))),component_subscribe(e,currentArchive,(e=>n(16,y=e))),component_subscribe(e,selectedWidget,(e=>n(17,x=e))),component_subscribe(e,appUpdateStatus,(e=>n(18,w=e))),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S())),e.$$.on_destroy.push((()=>T())),e.$$.on_destroy.push((()=>A()));var E=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let O=1;setInterval((()=>{n(3,O++,O)}),1e4);return e.$$.update=()=>{4194304&e.$$.dirty&&n(0,o=h&&h.name),4194304&e.$$.dirty&&n(1,r=h&&h.connection),3&e.$$.dirty&&n(2,i=r?{conid:r._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(i||{})),T(),T=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(i||{})),A(),A=subscribe(s,(e=>n(15,v=e)))),3145728&e.$$.dirty&&n(8,c=f[m]),2&e.$$.dirty&&n(7,l=lib$5.getConnectionLabel(r,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(i,3,"dark",!0)),C(),C=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(i?{conid:i.conid}:null,6,"dark",!0)),S(),S=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(i,6,"dark",!0,!1)),k(),k=subscribe(p,(e=>n(12,_=e))))},[o,r,i,O,p,d,u,l,c,s,a,g,_,$,b,v,y,x,w,function(){return E(this,void 0,void 0,(function*(){r&&o&&(yield apiCall("database-connections/sync-model",{conid:r._id,database:o}))}))},m,f,h,()=>{showModal(ChooseConnectionColorModal,{...i,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:i.conid,header:"Choose connection color",text:"This color serves as default color for all databases in this connection."})},()=>visibleCommandPalette.set(findCommand("database.changeState")),()=>{set_store_value(selectedWidget,x="archive",x)}]}class StatusBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$i,create_fragment$g,safe_not_equal,{})}}function get_each_context$4(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_if_block_1$6(e){let t,n,o,r,i;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-1bkmj6r")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,r||(i=listen(t,"click",e[4]),r=!0)},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n),r=!1,i()}}}function create_if_block$7(e){let t,n,o=e[3],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$4(get_each_context$4(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("div");for(let e=0;e<r.length;e+=1)r[e].c();attr(t,"class","buttons svelte-1bkmj6r")},m(e,o){insert(e,t,o);for(let e=0;e<r.length;e+=1)r[e]&&r[e].m(t,null);n=!0},p(e,n){if(24&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const i=get_each_context$4(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$4(i),r[a].c(),transition_in(r[a],1),r[a].m(t,null))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_each_block$4(e){let t,n,o,r;return n=new FormStyledButton({props:{value:e[8].label}}),n.$on("click",(function(){return e[7](e[8])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-1bkmj6r")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},p(t,o){e=t;const r={};8&o&&(r.value=e[8].label),n.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$f(e){let t,n,o,r,i,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$6(e),u=e[3]?.length>0&&create_if_block$7(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-1bkmj6r"),attr(t,"class","wrapper svelte-1bkmj6r")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,r),append(n,i),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const r={};2&n&&(r.icon=e[1]),o.$set(r),(!c||1&n)&&set_data(i,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$6(e),l.c(),transition_in(l,1),l.m(t,s)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),e[3]?.length>0?u?(u.p(e,n),8&n&&transition_in(u,1)):(u=create_if_block$7(e),u.c(),transition_in(u,1),u.m(t,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros())},i(e){c||(transition_in(o.$$.fragment,e),transition_in(l),transition_in(u),c=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(l),transition_out(u),c=!1},d(e){e&&detach(t),destroy_component(o),l&&l.d(),u&&u.d()}}}function instance$h(e,t,n){let{message:o}=t,{id:r}=t,{icon:i=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=r))))}onMount((()=>{a&&setTimeout(l,3e3)}));return e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,r=e.id),"icon"in e&&n(1,i=e.icon),"autoClose"in e&&n(6,a=e.autoClose),"allowClose"in e&&n(2,s=e.allowClose),"buttons"in e&&n(3,c=e.buttons)},[o,i,s,c,l,r,a,e=>{e.autoClose&&l(),e.onClick?.()}]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$h,create_fragment$f,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$3(e,t,n){const o=e.slice();return o[1]=t[n].component,o[2]=t[n].props,o[3]=t[n].modalId,o}function create_each_block$3(e){let t,n,o;const r=[{modalId:e[3]},e[2]];var i=e[1];function a(e){let t={};for(let e=0;e<r.length;e+=1)t=assign(t,r[e]);return{props:t}}return i&&(t=construct_svelte_component(i,a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,r){t&&mount_component(t,e,r),insert(e,n,r),o=!0},p(e,o){const s=1&o?get_spread_update(r,[{modalId:e[3]},get_spread_object(e[2])]):{};if(1&o&&i!==(i=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=construct_svelte_component(i,a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&t.$set(s)},i(e){o||(t&&transition_in(t.$$.fragment,e),o=!0)},o(e){t&&transition_out(t.$$.fragment,e),o=!1},d(e){e&&detach(n),t&&destroy_component(t,e)}}}function create_fragment$e(e){let t,n,o=e[0],r=[];for(let t=0;t<o.length;t+=1)r[t]=create_each_block$3(get_each_context$3(e,o,t));const i=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=empty()},m(e,o){for(let t=0;t<r.length;t+=1)r[t]&&r[t].m(e,o);insert(e,t,o),n=!0},p(e,[n]){if(1&n){let a;for(o=e[0],a=0;a<o.length;a+=1){const i=get_each_context$3(e,o,a);r[a]?(r[a].p(i,n),transition_in(r[a],1)):(r[a]=create_each_block$3(i),r[a].c(),transition_in(r[a],1),r[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<r.length;a+=1)i(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(r[e]);n=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);n=!1},d(e){destroy_each(r,e),e&&detach(t)}}}function instance$g(e,t,n){let o;return component_subscribe(e,openedModals,(e=>n(0,o=e))),[o]}class ModalLayer extends SvelteComponent{constructor(e){super(),init(this,e,instance$g,create_fragment$e,safe_not_equal,{})}}function create_fragment$d(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$=e[0].join(", ")+"";return r=new FontIcon({props:{icon:"icon cloud-upload"}}),m=new FontIcon({props:{icon:"icon close",padRight:!0}}),{c(){t=element("div"),n=element("div"),o=element("div"),create_component(r.$$.fragment),i=space(),a=element("div"),a.textContent="Drop the files to upload to DbGate",s=space(),c=element("div"),l=text$1("Supported file types: "),u=text$1($),d=space(),p=element("div"),create_component(m.$$.fragment),f=text$1("\n Close"),attr(o,"class","icon svelte-1d5rlxt"),attr(a,"class","title svelte-1d5rlxt"),attr(c,"class","info svelte-1d5rlxt"),attr(p,"class","class-button svelte-1d5rlxt"),attr(t,"class","target svelte-1d5rlxt")},m($,b){insert($,t,b),append(t,n),append(n,o),mount_component(r,o,null),append(n,i),append(n,a),append(n,s),append(n,c),append(c,l),append(c,u),append(n,d),append(n,p),mount_component(m,p,null),append(p,f),h=!0,g||(_=listen(p,"click",e[3]),g=!0)},p(e,[t]){(!h||1&t)&&$!==($=e[0].join(", ")+"")&&set_data(u,$)},i(e){h||(transition_in(r.$$.fragment,e),transition_in(m.$$.fragment,e),h=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(m.$$.fragment,e),h=!1},d(e){e&&detach(t),destroy_component(r),destroy_component(m),g=!1,_()}}}function instance$f(e,t,n){let o,r,i;component_subscribe(e,extensions,(e=>n(2,r=e))),component_subscribe(e,isFileDragActive,(e=>n(1,i=e)));const a=getElectron();return e.$$.update=()=>{4&e.$$.dirty&&n(0,o=_.compact([...r.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),a?"SQL":null,a?"SQLite database":null]))},[o,i,r,()=>{set_store_value(isFileDragActive,i=!1,i)}]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$d,safe_not_equal,{})}}var COMMON_MIME_TYPES=new Map([["avi","video/avi"],["gif","image/gif"],["ico","image/x-icon"],["jpeg","image/jpeg"],["jpg","image/jpeg"],["mkv","video/x-matroska"],["mov","video/quicktime"],["mp4","video/mp4"],["pdf","application/pdf"],["png","image/png"],["zip","application/zip"],["doc","application/msword"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"]]);function toFileWithPath(e,t){var n=withMimeType(e);if("string"!=typeof n.path){var o=e.webkitRelativePath;Object.defineProperty(n,"path",{value:"string"==typeof t?t:"string"==typeof o&&o.length>0?o:e.name,writable:!1,configurable:!1,enumerable:!0})}return n}function withMimeType(e){var t=e.name;if(t&&-1!==t.lastIndexOf(".")&&!e.type){var n=t.split(".").pop().toLowerCase(),o=COMMON_MIME_TYPES.get(n);o&&Object.defineProperty(e,"type",{value:o,writable:!1,configurable:!1,enumerable:!0})}return e}var FILES_TO_IGNORE=[".DS_Store","Thumbs.db"];function fromEvent(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,isDragEvt(e)&&e.dataTransfer?getDataTransferFiles(e.dataTransfer,e.type):getInputFiles(e)]}))}))}function isDragEvt(e){return!!e.dataTransfer}function getInputFiles(e){return(isInput(e.target)&&e.target.files?fromList(e.target.files):[]).map((function(e){return toFileWithPath(e)}))}function isInput(e){return null!==e}function getDataTransferFiles(e,t){return __awaiter$m(this,void 0,void 0,(function(){var n;return __generator(this,(function(o){switch(o.label){case 0:return e.items?(n=fromList(e.items).filter((function(e){return"file"===e.kind})),"drop"!==t?[2,n]:[4,Promise.all(n.map(toFilePromises))]):[3,2];case 1:return[2,noIgnoredFiles(flatten(o.sent()))];case 2:return[2,noIgnoredFiles(fromList(e.files).map((function(e){return toFileWithPath(e)})))]}}))}))}function noIgnoredFiles(e){return e.filter((function(e){return-1===FILES_TO_IGNORE.indexOf(e.name)}))}function fromList(e){for(var t=[],n=0;n<e.length;n++){var o=e[n];t.push(o)}return t}function toFilePromises(e){if("function"!=typeof e.webkitGetAsEntry)return fromDataTransferItem(e);var t=e.webkitGetAsEntry();return t&&t.isDirectory?fromDirEntry(t):fromDataTransferItem(e)}function flatten(e){return e.reduce((function(e,t){return __spread(e,Array.isArray(t)?flatten(t):[t])}),[])}function fromDataTransferItem(e){var t=e.getAsFile();if(!t)return Promise.reject(e+" is not a File");var n=toFileWithPath(t);return Promise.resolve(n)}function fromEntry(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,e.isDirectory?fromDirEntry(e):fromFileEntry(e)]}))}))}function fromDirEntry(e){var t=e.createReader();return new Promise((function(e,n){var o=[];!function r(){var i=this;t.readEntries((function(t){return __awaiter$m(i,void 0,void 0,(function(){var i,a,s;return __generator(this,(function(c){switch(c.label){case 0:if(t.length)return[3,5];c.label=1;case 1:return c.trys.push([1,3,,4]),[4,Promise.all(o)];case 2:return i=c.sent(),e(i),[3,4];case 3:return a=c.sent(),n(a),[3,4];case 4:return[3,6];case 5:s=Promise.all(t.map(fromEntry)),o.push(s),r(),c.label=6;case 6:return[2]}}))}))}),(function(e){n(e)}))}()}))}function fromFileEntry(e){return __awaiter$m(this,void 0,void 0,(function(){return __generator(this,(function(t){return[2,new Promise((function(t,n){e.file((function(n){var o=toFileWithPath(n,e.fullPath);t(o)}),(function(e){n(e)}))}))]}))}))}function isEvtWithFiles(e){return e.dataTransfer?Array.prototype.some.call(e.dataTransfer.types,(e=>"Files"===e||"application/x-moz-file"===e)):!!e.target&&!!e.target.files}function dragDropFileTarget(e,t){let n=[];function o(e){return e.preventDefault(),e.stopPropagation(),n=[...n,e.target],isEvtWithFiles(e)&&isFileDragActive.set(!0),!1}function r(e){if(e.preventDefault(),e.stopPropagation(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}}function i(t){t.preventDefault(),t.stopPropagation();const o=n.filter((t=>e&&e.contains(t))),r=o.indexOf(t.target);-1!==r&&o.splice(r,1),n=o,o.length>0||isFileDragActive.set(!1)}function a(e){return __awaiter$m(this,void 0,void 0,(function*(){if(e.preventDefault(),e.stopPropagation(),isFileDragActive.set(!1),isEvtWithFiles(e)){uploadFiles(yield fromEvent(e))}}))}return e.addEventListener("dragenter",o),e.addEventListener("dragover",r),e.addEventListener("dragleave",i),e.addEventListener("drop",a),{destroy(){e.removeEventListener("dragenter",o),e.removeEventListener("dragover",r),e.removeEventListener("dragleave",i),e.removeEventListener("drop",a)}}}function get_each_context$2(e,t,n){const o=e.slice();return o[9]=t[n],o}function create_each_block$2(e){let t,n,o,r,i,a=(e[9].text||e[9].label)+"";function s(...t){return e[7](e[9],...t)}function c(...t){return e[8](e[9],...t)}return{c(){t=element("div"),n=text$1(a),o=space(),attr(t,"class","item svelte-1beafpb"),toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},m(e,a){insert(e,t,a),append(t,n),append(t,o),r||(i=[listen(t,"click",s),listen(t,"mousemove",c)],r=!0)},p(o,r){e=o,4&r&&a!==(a=(e[9].text||e[9].label)+"")&&set_data(n,a),6&r&&toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},d(e){e&&detach(t),r=!1,run_all(i)}}}function create_fragment$c(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$2(get_each_context$2(e,n,t));return{c(){t=element("div");for(let e=0;e<o.length;e+=1)o[e].c();attr(t,"class","container svelte-1beafpb")},m(e,n){insert(e,t,n);for(let e=0;e<o.length;e+=1)o[e]&&o[e].m(t,null)},p(e,[r]){if(15&r){let i;for(n=e[2],i=0;i<n.length;i+=1){const a=get_each_context$2(e,n,i);o[i]?o[i].p(a,r):(o[i]=create_each_block$2(a),o[i].c(),o[i].m(t,null))}for(;i<o.length;i+=1)o[i].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){e&&detach(t),destroy_each(o,e)}}}function instance$e(e,t,n){let o,r,i;component_subscribe(e,currentDropDownMenu,(e=>n(5,r=e))),component_subscribe(e,commandsCustomized,(e=>n(6,i=e)));let a,s,{items:c}=t;function l(e,t){const o=e.getBoundingClientRect(),i=o.left,c=o.bottom,l=t.submenu;set_store_value(currentDropDownMenu,r={left:i,top:c,items:l},r),n(0,a=!0),n(1,s=t.text||t.label)}return e.$$set=e=>{"items"in e&&n(4,c=e.items)},e.$$.update=()=>{80&e.$$.dirty&&n(2,o=prepareMenuItems(c,{},i)),32&e.$$.dirty&&(r||(n(0,a=!1),n(1,s=null)))},[a,s,o,l,c,r,i,(e,t)=>l(t.target,e),(e,t)=>{a&&l(t.target,e)}]}class HorizontalMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$e,create_fragment$c,safe_not_equal,{items:4})}}function create_if_block_1$5(e){let t,n,o,r,i;return r=new HorizontalMenu({props:{items:mainMenuDefinition({editMenu:!!e[2]})}}),{c(){t=element("div"),t.innerHTML='<img src="logo192.png" width="20" height="20"/>',n=space(),o=element("div"),create_component(r.$$.fragment),attr(t,"class","icon svelte-1sw5v4y"),attr(o,"class","menu svelte-1sw5v4y")},m(e,a){insert(e,t,a),insert(e,n,a),insert(e,o,a),mount_component(r,o,null),i=!0},p:noop$3,i(e){i||(transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(r.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_if_block$6(e){let t,n,o,r,i,a,s,c,l,u,d,p;return o=new FontIcon({props:{icon:"icon window-minimize"}}),a=new FontIcon({props:{icon:"icon "+(e[0]?"window-restore":"window-maximize")}}),a.$on("click",e[6]),l=new FontIcon({props:{icon:"icon window-close"}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),create_component(l.$$.fragment),attr(n,"class","button svelte-1sw5v4y"),attr(i,"class","button svelte-1sw5v4y"),attr(c,"class","button close-button svelte-1sw5v4y"),attr(t,"class","actions svelte-1sw5v4y")},m(m,f){insert(m,t,f),append(t,n),mount_component(o,n,null),append(t,r),append(t,i),mount_component(a,i,null),append(t,s),append(t,c),mount_component(l,c,null),u=!0,d||(p=[listen(n,"click",e[5]),listen(c,"click",e[7])],d=!0)},p(e,t){const n={};1&t&&(n.icon="icon "+(e[0]?"window-restore":"window-maximize")),a.$set(n)},i(e){u||(transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),transition_out(l.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(l),d=!1,run_all(p)}}}function create_fragment$b(e){let t,n,o,r,i,a,s,c,l=!isMac(),u=!isMac(),d=l&&create_if_block_1$5(e),p=u&&create_if_block$6(e);return{c(){t=element("div"),d&&d.c(),n=space(),o=element("div"),r=text$1(e[1]),i=space(),p&&p.c(),attr(o,"class","title svelte-1sw5v4y"),attr(t,"class","container svelte-1sw5v4y")},m(l,u){insert(l,t,u),d&&d.m(t,null),append(t,n),append(t,o),append(o,r),append(t,i),p&&p.m(t,null),a=!0,s||(c=listen(t,"dblclick",stop_propagation(prevent_default(e[8]))),s=!0)},p(e,[t]){l&&d.p(e,t),(!a||2&t)&&set_data(r,e[1]),u&&p.p(e,t)},i(e){a||(transition_in(d),transition_in(p),a=!0)},o(e){transition_out(d),transition_out(p),a=!1},d(e){e&&detach(t),d&&d.d(),p&&p.d(),s=!1,c()}}}function instance$d(e,t,n){let o,r,i;component_subscribe(e,currentDatabase,(e=>n(3,r=e))),component_subscribe(e,activeTab,(e=>n(4,i=e)));const a=getElectron();let s=!1;a&&apiOn("setIsMaximized",(e=>{n(0,s=e)}));return e.$$.update=()=>{24&e.$$.dirty&&n(1,o=_.compact([null==i?void 0:i.title,null==r?void 0:r.name,"DbGate"]).join(" - "))},[s,o,a,r,i,()=>a.send("window-action","minimize"),()=>a.send("window-action","maximize"),()=>a.send("window-action","close"),()=>a.send("window-action","maximize")]}class TitleBar extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$b,safe_not_equal,{})}}function create_fragment$a(e){let t,n,o,r,i,a;return n=new TabsPanel({props:{multiTabIndex:e[0],shownTab:e[1]}}),i=new TabRegister({props:{multiTabIndex:e[0],shownTab:e[1]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r=element("div"),create_component(i.$$.fragment),attr(t,"class","tabs svelte-685oc7"),attr(r,"class","content svelte-685oc7")},m(e,s){insert(e,t,s),mount_component(n,t,null),insert(e,o,s),insert(e,r,s),mount_component(i,r,null),a=!0},p(e,[t]){const o={};1&t&&(o.multiTabIndex=e[0]),2&t&&(o.shownTab=e[1]),n.$set(o);const r={};1&t&&(r.multiTabIndex=e[0]),2&t&&(r.shownTab=e[1]),i.$set(r)},i(e){a||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o),e&&detach(r),destroy_component(i)}}}function instance$c(e,t,n){let o,r,i,a;component_subscribe(e,currentDatabase,(e=>n(2,r=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(3,i=e))),component_subscribe(e,openedTabs,(e=>n(4,a=e)));let{multiTabIndex:s}=t;return e.$$set=e=>{"multiTabIndex"in e&&n(0,s=e.multiTabIndex)},e.$$.update=()=>{29&e.$$.dirty&&n(1,o=function(e,t,n,o){const r=e.find((e=>e.selected&&null==e.closedTime&&(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)));return r||e[_.findLastIndex(e,(e=>(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)))]}(a,s,i,r))},[s,o,r,i,a]}class TabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$a,safe_not_equal,{multiTabIndex:0})}}function create__1_slot(e){let t,n,o;return n=new TabsContainer({props:{multiTabIndex:0}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container"),attr(t,"slot","1")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create__2_slot(e){let t,n,o;return n=new TabsContainer({props:{multiTabIndex:1}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","container"),attr(t,"slot","2")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_fragment$9(e){let t,n;return t=new HorizontalSplitter({props:{hideFirst:!e[1]&&e[0],isSplitter:e[0],allowCollapseChild1:!0,allowCollapseChild2:!0,$$slots:{2:[create__2_slot],1:[create__1_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};3&n&&(o.hideFirst=!e[1]&&e[0]),1&n&&(o.isSplitter=e[0]),64&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance$b(e,t,n){let o,r,i,a,s,c;return component_subscribe(e,currentDatabase,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e))),component_subscribe(e,openedTabs,(e=>n(5,c=e))),e.$$.update=()=>{56&e.$$.dirty&&n(2,o=c.filter((e=>shouldShowTab(e,s,a)))),4&e.$$.dirty&&n(1,r=!!o.find((e=>!e.multiTabIndex))),4&e.$$.dirty&&n(0,i=!!o.find((e=>1==e.multiTabIndex)))},[i,r,o,a,s,c]}class MultiTabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$b,create_fragment$9,safe_not_equal,{})}}function get_each_context$1(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_6$1(e){let t,n;return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(o,r){t.m(e[1],o,r),insert(o,n,r)},p(e,n){2&n&&t.p(e[1])},d(e){e&&detach(n),e&&t.d()}}}function create_if_block_5$1(e){let t,n,o;return n=new TitleBar({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","titlebar svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_4$1(e){let t,n,o;return n=new WidgetContainer({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","leftpanel svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_3$2(e){let t,n,o;return{c(){t=element("div"),attr(t,"class","horizontal-split-handle splitter svelte-1efqwi5")},m(r,i){insert(r,t,i),n||(o=[action_destroyer(splitterDrag.call(null,t,"clientX")),listen(t,"resizeSplitter",e[12])],n=!0)},p:noop$3,d(e){e&&detach(t),n=!1,run_all(o)}}}function create_if_block_2$3(e){let t,n,o;return n=new CommandPalette({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","commads svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1$4(e){let t,n,o;return n=new Toolbar({}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","toolbar svelte-1efqwi5")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block$5(e){let t,n;return t=new DragAndDropFileTarget({}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_each_block$1(e,t){let n,o,r;const i=[t[13]];let a={};for(let e=0;e<i.length;e+=1)a=assign(a,i[e]);return o=new Snackbar({props:a}),{key:e,first:null,c(){n=empty(),create_component(o.$$.fragment),this.first=n},m(e,t){insert(e,n,t),mount_component(o,e,t),r=!0},p(e,n){t=e;const r=1024&n?get_spread_update(i,[get_spread_object(t[13])]):{};o.$set(r)},i(e){r||(transition_in(o.$$.fragment,e),r=!0)},o(e){transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),destroy_component(o,e)}}}function create_fragment$8(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A,E,O,I,N,D,M,R,L=[],F=new Map,P=e[0]?.themeCss&&create_if_block_6$1(e);i=new FontIcon({props:{icon:"img warn"}});let j=e[4]&&create_if_block_5$1();f=new WidgetIconPanel({}),_=new StatusBar({});let B=e[5]&&e[6]&&create_if_block_4$1();y=new MultiTabsContainer({});let q=e[5]&&e[6]&&create_if_block_3$2(e),W=e[7]&&create_if_block_2$3(),z=e[8]&&create_if_block_1$4();S=new CurrentDropDownMenu({}),A=new ModalLayer({});let H=e[9]&&create_if_block$5(),U=e[10];const V=e=>e[13].id;for(let t=0;t<U.length;t+=1){let n=get_each_context$1(e,U,t),o=V(n);F.set(o,L[t]=create_each_block$1(o,n))}return{c(){P&&P.c(),t=empty(),n=space(),o=element("div"),r=element("div"),create_component(i.$$.fragment),a=space(),s=element("div"),s.textContent="Sorry, DbGate is not supported on mobile devices.",c=space(),l=element("div"),l.innerHTML='Please visit <a href="https://dbgate.org">DbGate web</a> for more info.',u=space(),d=element("div"),j&&j.c(),p=space(),m=element("div"),create_component(f.$$.fragment),h=space(),g=element("div"),create_component(_.$$.fragment),$=space(),B&&B.c(),b=space(),v=element("div"),create_component(y.$$.fragment),x=space(),q&&q.c(),w=space(),W&&W.c(),C=space(),z&&z.c(),k=space(),create_component(S.$$.fragment),T=space(),create_component(A.$$.fragment),E=space(),H&&H.c(),O=space(),I=element("div");for(let e=0;e<L.length;e+=1)L[e].c();attr(r,"class","m-5 big-icon svelte-1efqwi5"),attr(s,"class","m-3"),attr(l,"class","m-3"),attr(o,"class","not-supported svelte-1efqwi5"),toggle_class(o,"isElectron",e[11]),attr(m,"class","iconbar svelte-1efqwi5"),attr(g,"class","statusbar svelte-1efqwi5"),attr(v,"class","tabs-container svelte-1efqwi5"),attr(I,"class","snackbar-container svelte-1efqwi5"),attr(d,"class",N=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"),toggle_class(d,"isElectron",e[11])},m(e,N){P&&P.m(document.head,null),append(document.head,t),insert(e,n,N),insert(e,o,N),append(o,r),mount_component(i,r,null),append(o,a),append(o,s),append(o,c),append(o,l),insert(e,u,N),insert(e,d,N),j&&j.m(d,null),append(d,p),append(d,m),mount_component(f,m,null),append(d,h),append(d,g),mount_component(_,g,null),append(d,$),B&&B.m(d,null),append(d,b),append(d,v),mount_component(y,v,null),append(d,x),q&&q.m(d,null),append(d,w),W&&W.m(d,null),append(d,C),z&&z.m(d,null),append(d,k),mount_component(S,d,null),append(d,T),mount_component(A,d,null),append(d,E),H&&H.m(d,null),append(d,O),append(d,I);for(let e=0;e<L.length;e+=1)L[e]&&L[e].m(I,null);D=!0,M||(R=[action_destroyer(dragDropFileTarget.call(null,d)),listen(d,"contextmenu",contextmenu_handler)],M=!0)},p(e,[n]){e[0]?.themeCss?P?P.p(e,n):(P=create_if_block_6$1(e),P.c(),P.m(t.parentNode,t)):P&&(P.d(1),P=null),e[4]?j?16&n&&transition_in(j,1):(j=create_if_block_5$1(),j.c(),transition_in(j,1),j.m(d,p)):j&&(group_outros(),transition_out(j,1,1,(()=>{j=null})),check_outros()),e[5]&&e[6]?B?96&n&&transition_in(B,1):(B=create_if_block_4$1(),B.c(),transition_in(B,1),B.m(d,b)):B&&(group_outros(),transition_out(B,1,1,(()=>{B=null})),check_outros()),e[5]&&e[6]?q?q.p(e,n):(q=create_if_block_3$2(e),q.c(),q.m(d,w)):q&&(q.d(1),q=null),e[7]?W?128&n&&transition_in(W,1):(W=create_if_block_2$3(),W.c(),transition_in(W,1),W.m(d,C)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),e[8]?z?256&n&&transition_in(z,1):(z=create_if_block_1$4(),z.c(),transition_in(z,1),z.m(d,k)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),e[9]?H?512&n&&transition_in(H,1):(H=create_if_block$5(),H.c(),transition_in(H,1),H.m(d,O)):H&&(group_outros(),transition_out(H,1,1,(()=>{H=null})),check_outros()),1024&n&&(U=e[10],group_outros(),L=update_keyed_each(L,n,V,1,e,U,F,I,outro_and_destroy_block,create_each_block$1,null,get_each_context$1),check_outros()),(!D||12&n&&N!==(N=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"))&&attr(d,"class",N),(!D||2060&n)&&toggle_class(d,"isElectron",e[11])},i(e){if(!D){transition_in(i.$$.fragment,e),transition_in(j),transition_in(f.$$.fragment,e),transition_in(_.$$.fragment,e),transition_in(B),transition_in(y.$$.fragment,e),transition_in(W),transition_in(z),transition_in(S.$$.fragment,e),transition_in(A.$$.fragment,e),transition_in(H);for(let e=0;e<U.length;e+=1)transition_in(L[e]);D=!0}},o(e){transition_out(i.$$.fragment,e),transition_out(j),transition_out(f.$$.fragment,e),transition_out(_.$$.fragment,e),transition_out(B),transition_out(y.$$.fragment,e),transition_out(W),transition_out(z),transition_out(S.$$.fragment,e),transition_out(A.$$.fragment,e),transition_out(H);for(let e=0;e<L.length;e+=1)transition_out(L[e]);D=!1},d(e){P&&P.d(e),detach(t),e&&detach(n),e&&detach(o),destroy_component(i),e&&detach(u),e&&detach(d),j&&j.d(),destroy_component(f),destroy_component(_),B&&B.d(),destroy_component(y),q&&q.d(),W&&W.d(),z&&z.d(),destroy_component(S),destroy_component(A),H&&H.d();for(let e=0;e<L.length;e+=1)L[e].d();M=!1,run_all(R)}}}const contextmenu_handler=e=>e.preventDefault();function instance$a(e,t,n){let o,r,i,a,s,c,l,u,d,p,m;component_subscribe(e,currentThemeDefinition,(e=>n(0,i=e))),component_subscribe(e,currentTheme,(e=>n(3,a=e))),component_subscribe(e,visibleTitleBar,(e=>n(4,s=e))),component_subscribe(e,selectedWidget,(e=>n(5,c=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(6,l=e))),component_subscribe(e,visibleCommandPalette,(e=>n(7,u=e))),component_subscribe(e,visibleToolbar,(e=>n(8,d=e))),component_subscribe(e,isFileDragActive,(e=>n(9,p=e))),component_subscribe(e,openedSnackbars,(e=>n(10,m=e)));const f=!!getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(2,o="dark"==i?.themeType?"theme-type-dark":"theme-type-light"),1&e.$$.dirty&&n(1,r=`<style id="themePlugin">${i?.themeCss}</style>`)},[i,r,o,a,s,c,l,u,d,p,m,f,e=>leftPanelWidth.update((t=>t+e.detail))]}class Screen extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$8,safe_not_equal,{})}}let appIsLoaded=!1,onLoad=[];function setAppLoaded(){appIsLoaded=!0;for(const e of onLoad)e();onLoad=[]}function getAppLoaded(){return appIsLoaded}function callWhenAppLoaded(e){appIsLoaded?e():onLoad.push(e)}const{window:window_1}=globals;function create_fragment$7(e){let t,n;return{c:noop$3,m(o,r){t||(n=listen(window_1,"unhandledrejection",e[0]),t=!0)},p:noop$3,i:noop$3,o:noop$3,d(e){t=!1,n()}}}function instance$9(e,t,n){let o;var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let i=0;return e.$$.update=()=>{2&e.$$.dirty&&(o=i)},[e=>r(void 0,void 0,void 0,(function*(){console.log("Unhandler error, checking whether crashed",e);const t=i;n(1,i++,i),window.setTimeout((()=>r(void 0,void 0,void 0,(function*(){var e,n;if(o<=t){console.log("CRASH DETECTED!!!");const t=localStorage.getItem("lastDbGateCrash"),o=t?JSON.parse(t):null;if(o&&(new Date).getTime()-o<3e4)if(window.confirm("Sorry, DbGate has crashed again.\nDo you want to close all tabs in order to avoid crashing after next reload?\nYou can reopen closed tabs in closed tabs history.")){try{let e=(yield localforage.getItem(getOpenedTabsStorageName()))||[];_.isArray(e)||(e=[]),e=e.map((e=>e.closedTime?e:Object.assign(Object.assign({},e),{closedTime:(new Date).getTime()}))).map((e=>Object.assign(Object.assign({},e),{selected:!1}))),yield localforage.setItem(getOpenedTabsStorageName(),e),yield localStorage.setItem("selectedWidget","history")}catch(e){localforage.removeItem(getOpenedTabsStorageName())}window.location.reload()}else null===(e=getElectron())||void 0===e||e.send("open-dev-tools");else window.confirm("Sorry, DbGate has crashed.\nPress OK for reload application\nPress Cancel and inspect Console in Developer tools for error details")?(localStorage.setItem("lastDbGateCrash",JSON.stringify((new Date).getTime())),window.location.reload()):null===(n=getElectron())||void 0===n||n.send("open-dev-tools")}}))),500)})),i]}class ErrorHandler extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$7,safe_not_equal,{})}}function instance$8(e,t,n){let o,r,i,a,s=noop$3;component_subscribe(e,commandsCustomized,(e=>n(3,r=e))),component_subscribe(e,openedTabs,(e=>n(4,i=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let l=!1;function u(e){var t;return c(this,void 0,void 0,(function*(){if(!e)return;if(l)return;l=!0;const{hash:n}=document.location,o=n&&n.startsWith("#favorite=")?n.substring(10):null,a=n&&n.startsWith("#tabdata=")?n.substring(9):null;if(o){const t=e.find((e=>e.urlPath==o));t&&(openFavorite(t),window.history.replaceState(null,null," "))}else if(a)try{openFavorite(JSON.parse(decodeURIComponent(a))),window.history.replaceState(null,null," ")}catch(e){showModal(ErrorMessageModal,{message:e.message})}else if(!i.find((e=>null==e.closedTime)))for(const t of e.filter((e=>e.openOnStartup)))openFavorite(t);i.find((e=>null==e.closedTime))||(yield getConnectionList()).find((e=>!e.unsaved))||!(null===(t=r["new.connection"])||void 0===t?void 0:t.enabled)||openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab"});const s=yield getConfig(),c=localStorage.getItem("appVersion");c&&c!=s.version&&(runCommand("tabs.changelog"),showSnackbarInfo(`DbGate upgraded from version ${c} to version ${s.version}`)),localStorage.setItem("appVersion",s.version)}))}return onMount((()=>{u(a)})),e.$$.update=()=>{2&e.$$.dirty&&u(a)},n(0,o=useFavorites()),s(),s=subscribe(o,(e=>n(1,a=e))),[o,a]}class OpenTabsOnStartup extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,null,safe_not_equal,{})}}function create_fragment$6(e){let t;return document.title=t=e[0],{c:noop$3,m:noop$3,p(e,[n]){1&n&&t!==(t=e[0])&&(document.title=t)},i:noop$3,o:noop$3,d:noop$3}}function instance$7(e,t,n){let o,r,i;return component_subscribe(e,currentDatabase,(e=>n(1,r=e))),component_subscribe(e,activeTab,(e=>n(2,i=e))),e.$$.update=()=>{if(6&e.$$.dirty&&n(0,o=_.compact([null==i?void 0:i.title,null==r?void 0:r.name,"DbGate"]).join(" - ")),1&e.$$.dirty){const e=getElectron();e&&e.send("set-title",o)}},[o,r,i]}class AppTitleProvider extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$6,safe_not_equal,{})}}function create_fragment$5(e){let t,n,o,r,i,a;return{c(){t=element("div"),n=element("div"),o=element("div"),o.innerHTML='<div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div> \n <div class="svelte-45vupj"></div>',r=space(),i=element("div"),a=text$1(e[0]),attr(o,"class","lds-ellipsis svelte-45vupj"),attr(n,"class","inner-flex svelte-45vupj"),attr(t,"class","starting-dbgate svelte-45vupj")},m(e,s){insert(e,t,s),append(t,n),append(n,o),append(n,r),append(n,i),append(i,a)},p(e,[t]){1&t&&set_data(a,e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$6(e,t,n){let{message:o}=t;return e.$$set=e=>{"message"in e&&n(0,o=e.message)},[o]}class AppStartInfo extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,create_fragment$5,safe_not_equal,{message:0})}}function instance$5(e,t,n){let o;const r=useSettings();return component_subscribe(e,r,(e=>n(1,o=e))),e.$$.update=()=>{2&e.$$.dirty&&(lib$5.SqlDumper.keywordsCase=(null==o?void 0:o["sqlEditor.sqlCommandsCase"])||"upperCase")},[r,o]}class SettingsListener extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,null,safe_not_equal,{})}}function initializeAppUpdates(){const e=getElectron();e&&(e.addEventListener("update-available",((t,n)=>{showSnackbar({message:`Update available: ${n}`,allowClose:!0,buttons:[{label:"Download",onClick:()=>{e.send("downloadUpdate")},autoClose:!0}]})})),e.addEventListener("app-update-status",((e,t)=>{appUpdateStatus.set(t)})),e.addEventListener("downloaded-new-version",((t,n)=>{showSnackbar({message:`New version ${n} downloaded. Update will be installed after app restart.`,allowClose:!0,buttons:[{label:"Restart DbGate",onClick:()=>{e.send("applyUpdate")},autoClose:!0}]})})),e.addEventListener("setAppUpdaterActive",((e,t)=>{appUpdaterActive.set(!0),invalidateCommands()})))}function create_else_block_1$1(e){let t,n;return t=new AppStartInfo({props:{message:"Starting DbGate"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$4(e){let t,n,o,r,i,a,s,c,l,u,d,p;t=new DataGridRowHeightMeter({}),o=new CommandListener({}),i=new PluginsProvider({}),s=new AppTitleProvider({});const m=[create_if_block_1$3,create_else_block$2],f=[];function h(e,t){return e[2]?0:1}return l=h(e),u=f[l]=m[l](e),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment),c=space(),u.c(),d=empty()},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,r,u),mount_component(i,e,u),insert(e,a,u),mount_component(s,e,u),insert(e,c,u),f[l].m(e,u),insert(e,d,u),p=!0},p(e,t){let n=l;l=h(e),l===n?f[l].p(e,t):(group_outros(),transition_out(f[n],1,1,(()=>{f[n]=null})),check_outros(),u=f[l],u?u.p(e,t):(u=f[l]=m[l](e),u.c()),transition_in(u,1),u.m(d.parentNode,d))},i(e){p||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(u),p=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),transition_out(u),p=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),f[l].d(e),e&&detach(d)}}}function create_else_block$2(e){let t,n;return t=new AppStartInfo({props:{message:e[1].loadingPackageName?`Loading plugin ${e[1].loadingPackageName} ...`:"Preparing plugins ..."}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.message=e[1].loadingPackageName?`Loading plugin ${e[1].loadingPackageName} ...`:"Preparing plugins ..."),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$3(e){let t,n,o,r,i,a;return t=new OpenTabsOnStartup({}),o=new SettingsListener({}),i=new Screen({}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),r=space(),create_component(i.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,r,s),mount_component(i,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(r),destroy_component(i,e)}}}function create_fragment$4(e){let t,n,o,r,i,a;t=new ErrorHandler({});const s=[create_if_block$4,create_else_block_1$1],c=[];function l(e,t){return e[0]?0:1}return o=l(e),r=c[o]=s[o](e),{c(){create_component(t.$$.fragment),n=space(),r.c(),i=empty()},m(e,r){mount_component(t,e,r),insert(e,n,r),c[o].m(e,r),insert(e,i,r),a=!0},p(e,[t]){let n=o;o=l(e),o===n?c[o].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),r=c[o],r?r.p(e,t):(r=c[o]=s[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i))},i(e){a||(transition_in(t.$$.fragment,e),transition_in(r),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),a=!1},d(e){destroy_component(t,e),e&&detach(n),c[o].d(e),e&&detach(i)}}}function instance$4(e,t,n){let o;component_subscribe(e,loadingPluginStore,(e=>n(1,o=e)));var r,i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{isAdminPage:a=!1}=t,s=!1,c=!1;return onMount((function e(){return i(this,void 0,void 0,(function*(){try{const t=yield getConfig();yield handleAuthOnStartup(t,a);const o=yield apiCall("connections/list"),r=yield getSettings(),i=yield getUsedApps(),c=!!(r&&o&&t&&i);c&&(subscribeApiDependendStores(),subscribeConnectionPingers(),subscribePermissionCompiler(),installNewVolatileConnectionListener(),initializeAppUpdates()),n(0,s=c),s||(console.log("API not initialized correctly, trying again in 1s"),setTimeout(e,1e3))}catch(t){console.log("Error calling API, trying again in 1s"),setTimeout(e,1e3)}}))})),onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()})),e.$$set=e=>{"isAdminPage"in e&&n(3,a=e.isAdminPage)},e.$$.update=()=>{19&e.$$.dirty&&s&&(null==o?void 0:o.loaded)&&(setAppLoaded(),n(2,c=!0),null===n(4,r=getElectron())||void 0===r||r.send("app-started"))},[s,o,c,a,r]}class App extends SvelteComponent{constructor(e){super(),init(this,e,instance$4,create_fragment$4,safe_not_equal,{isAdminPage:3})}}let lastCurrentTab=null;async function localStorageGarbageCollector(){let e=await localforage.getItem(getOpenedTabsStorageName())??[];const t=moment().add(-7,"day").valueOf();e=e.filter((e=>!e.closedTime||e.closedTime>t)),await localforage.setItem(getOpenedTabsStorageName(),e);const n=[];for(const t in localStorage)t.startsWith("tabdata_")&&(e.find((e=>t.endsWith("_"+e.tabid)))||n.push(t));for(const e of n)localStorage.removeItem(e);const o=await localforage.keys(),r=[];for(const t in o)t.startsWith("tabdata_")&&(e.find((e=>t.endsWith("_"+e.tabid)))||r.push(t));for(const e of r)await localforage.removeItem(e)}function get_each_context(e,t,n){const o=e.slice();return o[25]=t[n],o}function create_if_block_12(e){let t,n,o,r;const i=[create_if_block_13,create_else_block_2],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=i[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),r=!0},p(e,r){let c=t;t=s(e),t!==c&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n||(n=a[t]=i[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){r||(transition_in(n),r=!0)},o(e){transition_out(n),r=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block_2(e){let t,n;return t=new Link$1({props:{internalRedirect:"/admin-login.html",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_13(e){let t,n;return t=new Link$1({props:{internalRedirect:"/login.html",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot_2$1(e){let t;return{c(){t=text$1("Log In as Administrator")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$1(e){let t;return{c(){t=text$1("Log In as Regular User")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_if_block_11(e){let t,n;return t=new FormSelectField({props:{label:"Authentization method",name:"amoid",isNative:!0,options:e[2].map(func)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};4&n&&(o.options=e[2].map(func)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_10(e){let t,n;return t=new FormSelectField({props:{label:"Database server",name:"databaseServer",isNative:!0,options:e[1].map(func_1)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};2&n&&(o.options=e[1].map(func_1)),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_else_block_1(e){let t,n,o,r=!e[0]&&"credentials"==e[7]&&create_if_block_9(),i="credentials"==e[7]&&create_if_block_8();return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0]||"credentials"!=e[7]?r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()):r?129&o&&transition_in(r,1):(r=create_if_block_9(),r.c(),transition_in(r,1),r.m(t.parentNode,t)),"credentials"==e[7]?i?128&o&&transition_in(i,1):(i=create_if_block_8(),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_if_block_5(e){let t,n,o,r="askUser"==e[8].passwordMode&&create_if_block_7(),i=("askUser"==e[8].passwordMode||"askPassword"==e[8].passwordMode)&&create_if_block_6();return{c(){r&&r.c(),t=space(),i&&i.c(),n=empty()},m(e,a){r&&r.m(e,a),insert(e,t,a),i&&i.m(e,a),insert(e,n,a),o=!0},p(e,o){"askUser"==e[8].passwordMode?r?256&o&&transition_in(r,1):(r=create_if_block_7(),r.c(),transition_in(r,1),r.m(t.parentNode,t)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros()),"askUser"==e[8].passwordMode||"askPassword"==e[8].passwordMode?i?256&o&&transition_in(i,1):(i=create_if_block_6(),i.c(),transition_in(i,1),i.m(n.parentNode,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros())},i(e){o||(transition_in(r),transition_in(i),o=!0)},o(e){transition_out(r),transition_out(i),o=!1},d(e){r&&r.d(e),e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_if_block_9(e){let t,n;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_8(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_7(e){let t,n;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_6(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_4(e){let t,n;return t=new ErrorInfo({props:{message:"Admin login is not configured. Please set ADMIN_PASSWORD environment variable"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_3$1(e){let t,n,o,r;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection"),attr(t,"class","ml-5")},m(e,i){insert(e,t,i),mount_component(n,t,null),append(t,o),r=!0},i(e){r||(transition_in(n.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2$2(e){let t,n,o,r,i,a,s=e[6].error+"";return o=new FontIcon({props:{icon:"img error"}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),r=space(),i=text$1(s),attr(t,"class","error-result ml-5")},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,r),append(t,i),a=!0},p(e,t){(!a||64&t)&&s!==(s=e[6].error+"")&&set_data(i,s)},i(e){a||(transition_in(o.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_else_block$1(e){let t,n;return t=new FormSubmit({props:{value:e[0]?"Log In as Administrator":"redirect"==e[7]?"Redirect to login page":"Log In"}}),t.$on("click",e[20]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};129&n&&(o.value=e[0]?"Log In as Administrator":"redirect"==e[7]?"Redirect to login page":"Log In"),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$2(e){let t,n;return t=new FormSubmit({props:{value:"Log In"}}),t.$on("click",e[19]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$3(e){let t,n;return t=new FormSubmit({props:{value:"Open database login page"}}),t.$on("click",e[18]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$2(e){let t,n,o,r,i,a,s,c,l,u,d,p,m=!e[0]&&e[2]?.length>=2&&create_if_block_11(e),f=!e[0]&&e[1]&&"database"==e[7]&&create_if_block_10(e);const h=[create_if_block_5,create_else_block_1],g=[];function _(e,t){return e[8]?0:1}o=_(e),r=g[o]=h[o](e);let $=e[0]&&e[3]&&!e[3].isAdminLoginForm&&create_if_block_4(),b=e[5]&&create_if_block_3$1(),v=!e[5]&&e[6]&&"error"==e[6].msgtype&&create_if_block_2$2(e);const y=[create_if_block$3,create_if_block_1$2,create_else_block$1],x=[];function w(e,t){return e[8]?.useRedirectDbLogin?0:e[8]?1:2}return u=w(e),d=x[u]=y[u](e),{c(){m&&m.c(),t=space(),f&&f.c(),n=space(),r.c(),i=space(),$&&$.c(),a=space(),b&&b.c(),s=space(),v&&v.c(),c=space(),l=element("div"),d.c(),attr(l,"class","submit svelte-1r6ubs4")},m(e,r){m&&m.m(e,r),insert(e,t,r),f&&f.m(e,r),insert(e,n,r),g[o].m(e,r),insert(e,i,r),$&&$.m(e,r),insert(e,a,r),b&&b.m(e,r),insert(e,s,r),v&&v.m(e,r),insert(e,c,r),insert(e,l,r),x[u].m(l,null),p=!0},p(e,p){!e[0]&&e[2]?.length>=2?m?(m.p(e,p),5&p&&transition_in(m,1)):(m=create_if_block_11(e),m.c(),transition_in(m,1),m.m(t.parentNode,t)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[0]&&e[1]&&"database"==e[7]?f?(f.p(e,p),131&p&&transition_in(f,1)):(f=create_if_block_10(e),f.c(),transition_in(f,1),f.m(n.parentNode,n)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros());let C=o;o=_(e),o===C?g[o].p(e,p):(group_outros(),transition_out(g[C],1,1,(()=>{g[C]=null})),check_outros(),r=g[o],r?r.p(e,p):(r=g[o]=h[o](e),r.c()),transition_in(r,1),r.m(i.parentNode,i)),e[0]&&e[3]&&!e[3].isAdminLoginForm?$?9&p&&transition_in($,1):($=create_if_block_4(),$.c(),transition_in($,1),$.m(a.parentNode,a)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[5]?b?32&p&&transition_in(b,1):(b=create_if_block_3$1(),b.c(),transition_in(b,1),b.m(s.parentNode,s)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),!e[5]&&e[6]&&"error"==e[6].msgtype?v?(v.p(e,p),96&p&&transition_in(v,1)):(v=create_if_block_2$2(e),v.c(),transition_in(v,1),v.m(c.parentNode,c)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros());let k=u;u=w(e),u===k?x[u].p(e,p):(group_outros(),transition_out(x[k],1,1,(()=>{x[k]=null})),check_outros(),d=x[u],d?d.p(e,p):(d=x[u]=y[u](e),d.c()),transition_in(d,1),d.m(l,null))},i(e){p||(transition_in(m),transition_in(f),transition_in(r),transition_in($),transition_in(b),transition_in(v),transition_in(d),p=!0)},o(e){transition_out(m),transition_out(f),transition_out(r),transition_out($),transition_out(b),transition_out(v),transition_out(d),p=!1},d(e){m&&m.d(e),e&&detach(t),f&&f.d(e),e&&detach(n),g[o].d(e),e&&detach(i),$&&$.d(e),e&&detach(a),b&&b.d(e),e&&detach(s),v&&v.d(e),e&&detach(c),e&&detach(l),x[u].d()}}}function create_each_block(e){let t,n,o,r,i,a=e[25].name+"";function s(){return e[21](e[25])}return{c(){t=element("div"),n=text$1(a),o=space(),attr(t,"class","loginButton svelte-1r6ubs4")},m(e,a){insert(e,t,a),append(t,n),append(t,o),r||(i=listen(t,"click",s),r=!0)},p(t,o){e=t,4&o&&a!==(a=e[25].name+"")&&set_data(n,a)},d(e){e&&detach(t),r=!1,i()}}}function create_fragment$3(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g=e[3]?.isAdminLoginForm&&create_if_block_12(e);p=new FormProviderCore({props:{values:e[11],$$slots:{default:[create_default_slot$2]},$$scope:{ctx:e}}});let _=e[2].filter(func_2),$=[];for(let t=0;t<_.length;t+=1)$[t]=create_each_block(get_each_context(e,_,t));return{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1r6ubs4" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Log In",l=space(),u=element("div"),g&&g.c(),d=space(),create_component(p.$$.fragment),m=space(),f=element("div");for(let e=0;e<$.length;e+=1)$[e].c();attr(n,"class","text svelte-1r6ubs4"),attr(i,"class","logo svelte-1r6ubs4"),attr(c,"class","heading svelte-1r6ubs4"),attr(u,"class","login-link svelte-1r6ubs4"),attr(s,"class","box svelte-1r6ubs4"),attr(f,"class","loginButtonWrapper svelte-1r6ubs4"),attr(r,"class","wrap svelte-1r6ubs4"),attr(t,"class","root theme-light theme-type-light svelte-1r6ubs4")},m(e,_){insert(e,t,_),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),append(s,u),g&&g.m(u,null),append(s,d),mount_component(p,s,null),append(r,m),append(r,f);for(let e=0;e<$.length;e+=1)$[e]&&$[e].m(f,null);h=!0},p(e,[t]){e[3]?.isAdminLoginForm?g?(g.p(e,t),8&t&&transition_in(g,1)):(g=create_if_block_12(e),g.c(),transition_in(g,1),g.m(u,null)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros());const n={};if(268435967&t&&(n.$$scope={dirty:t,ctx:e}),p.$set(n),4100&t){let n;for(_=e[2].filter(func_2),n=0;n<_.length;n+=1){const o=get_each_context(e,_,n);$[n]?$[n].p(o,t):($[n]=create_each_block(o),$[n].c(),$[n].m(f,null))}for(;n<$.length;n+=1)$[n].d(1);$.length=_.length}},i(e){h||(transition_in(g),transition_in(p.$$.fragment,e),h=!0)},o(e){transition_out(g),transition_out(p.$$.fragment,e),h=!1},d(e){e&&detach(t),g&&g.d(),destroy_component(p),destroy_each($,e)}}}function extractRedirectUri(){const e=(location.origin+location.pathname).replace(/\/login.html$/,"/");return console.log("Using redirect URI:",e),e}openedTabs.subscribe((e=>{var t,n;const o=(e||[]).find((e=>e.selected));if(o==lastCurrentTab)return;if(getLockedDatabaseMode()&&getCurrentDatabase())return;const r=lastCurrentTab;if(lastCurrentTab=o,o){const{conid:e,database:i}=o.props||{};if(e&&i&&(e!=(null===(t=null==r?void 0:r.props)||void 0===t?void 0:t.conid)||i!=(null===(n=null==r?void 0:r.props)||void 0===n?void 0:n.database))){callWhenAppLoaded((()=>__awaiter$m(void 0,void 0,void 0,(function*(){switchCurrentDatabase({connection:yield getConnectionInfo({conid:e}),name:i})}))))}}})),currentDatabase.subscribe((e=>{getLockedDatabaseMode()&&(e||getAppLoaded())&&openedTabs.update((t=>{const n=t.map((t=>Object.assign(Object.assign({},t),{selected:t.selected&&shouldShowTab(t,!0,e)})));if(n.find((e=>e.selected)))return n;const o=_.findLastIndex(n,(e=>shouldShowTab(e)));return n.map(((e,t)=>Object.assign(Object.assign({},e),{selected:t==o})))}))}));const func=e=>({value:e.amoid,label:e.name}),func_1=e=>({value:e.conid,label:e.label}),func_2=e=>"anonymous"==e.workflowType||"redirect"==e.workflowType;function instance$3(e,t,n){let o,r,i,a,s;var c,l=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(r,i){function a(e){try{c(o.next(e))}catch(e){i(e)}}function s(e){try{c(o.throw(e))}catch(e){i(e)}}function c(e){e.done?r(e.value):function(e){return e instanceof n?e:new n((function(t){t(e)}))}(e.value).then(a,s)}c((o=o.apply(e,t||[])).next())}))};let{isAdminPage:u}=t;const d=useConfig();component_subscribe(e,d,(e=>n(3,a=e)));let p=null,m=[],f=!1;const h=createRef(0);let g,_=null;const $=writable({amoid:null,databaseServer:null});function b(e){return l(this,void 0,void 0,(function*(){"redirect"==e.workflowType&&(yield v(e.amoid)),"anonymous"==e.workflowType&&y(e.amoid,{})}))}function v(e){return l(this,void 0,void 0,(function*(){const t=`dbg-oauth:${strmid}:${e}`;sessionStorage.setItem("oauthState",t),console.log("Redirecting to OAUTH provider");const n=yield apiCall("auth/redirect",{amoid:e,state:t,redirectUri:extractRedirectUri()}),{uri:o}=n;o&&location.replace(o)}))}function y(e,t){return l(this,void 0,void 0,(function*(){const n=yield apiCall("auth/login",Object.assign({amoid:e,isAdminPage:u},t));if(n.error)return void internalRedirectTo(`/not-logged.html?error=${encodeURIComponent(n.error)}&is-admin=${u?"true":""}`);const{accessToken:o}=n;if(o)return localStorage.setItem(u?"adminAccessToken":"accessToken",o),void internalRedirectTo(u?"/admin.html":"/");internalRedirectTo("/not-logged.html")}))}component_subscribe(e,$,(e=>n(4,s=e))),onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove(),u||function(){l(this,void 0,void 0,(function*(){const e=yield apiCall("auth/get-providers");n(2,m=e.providers),$.update((t=>Object.assign(Object.assign({},t),{amoid:e.default}))),1==m.length&&b(m[0])}))}()}));return e.$$set=e=>{"isAdminPage"in e&&n(0,u=e.isAdminPage)},e.$$.update=()=>{18&e.$$.dirty&&n(8,o=null==p?void 0:p.find((e=>e.conid==s.databaseServer))),20&e.$$.dirty&&n(17,r=null==m?void 0:m.find((e=>e.amoid==s.amoid))),163840&e.$$.dirty&&n(7,i=null!==n(15,c=null==r?void 0:r.workflowType)&&void 0!==c?c:"credentials"),65552&e.$$.dirty&&s.amoid!=_&&function(e){l(this,void 0,void 0,(function*(){e?(n(1,p=yield apiCall("storage/get-connections-for-login-page",{amoid:e})),(null==p?void 0:p.length)>0&&$.update((e=>Object.assign(Object.assign({},e),{databaseServer:p[0].conid}))),n(16,_=e)):n(1,p=null)}))}(s.amoid),8&e.$$.dirty&&(null==a?void 0:a.configurationError)&&(console.log("Configuration error",a),internalRedirectTo("/error.html"))},[u,p,m,a,s,f,g,i,o,d,h,$,b,v,y,c,_,r,async e=>{const t=`dbg-dblogin:${strmid}:${o?.conid}:${s.amoid}`;sessionStorage.setItem("dbloginAuthState",t),internalRedirectTo(`/connections/dblogin-web?conid=${o?.conid}&state=${encodeURIComponent(t)}&redirectUri=${extractRedirectUri()}`)},async e=>{if("askUser"==o.passwordMode||"askPassword"==o.passwordMode){enableApi(),n(5,f=!0),h.update((e=>e+1));const e=h.get(),t=await apiCall("connections/dblogin-auth",{amoid:s.amoid,conid:o.conid,user:s.login,password:s.password});if(h.get()!=e)return;n(5,f=!1),t.accessToken?(localStorage.setItem("accessToken",t.accessToken),internalRedirectTo("/")):n(6,g=t)}else{enableApi();const e=await apiCall("connections/dblogin-auth",{amoid:s.amoid,conid:o.conid});localStorage.setItem("accessToken",e.accessToken),internalRedirectTo("/")}},async e=>{enableApi(),u||"credentials"==i||"anonymous"==i?await y(s.amoid,e.detail):"redirect"==i&&await v(s.amoid)},e=>b(e)]}class LoginPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,create_fragment$3,safe_not_equal,{isAdminPage:0})}}function create_if_block$2(e){let t;return{c(){t=element("div"),t.textContent=`${e[0]}`,attr(t,"class","error svelte-11u34pp")},m(e,n){insert(e,t,n)},p:noop$3,d(e){e&&detach(t)}}}function create_fragment$2(e){let t,n,o,r,i,a,s,c,l,u=e[0]&&create_if_block$2(e);return a=new FormStyledButton({props:{value:"Log In"}}),a.$on("click",e[1]),c=new FormStyledButton({props:{value:"Log Out"}}),c.$on("click",doLogout),{c(){t=element("div"),n=element("div"),n.textContent="Sorry, you are not authorized to run DbGate",o=space(),u&&u.c(),r=space(),i=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,"class","title svelte-11u34pp"),attr(i,"class","button svelte-11u34pp"),attr(t,"class","root theme-light theme-type-light svelte-11u34pp")},m(e,d){insert(e,t,d),append(t,n),append(t,o),u&&u.m(t,null),append(t,r),append(t,i),mount_component(a,i,null),append(i,s),mount_component(c,i,null),l=!0},p(e,[t]){e[0]&&u.p(e,t)},i(e){l||(transition_in(a.$$.fragment,e),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(a.$$.fragment,e),transition_out(c.$$.fragment,e),l=!1},d(e){e&&detach(t),u&&u.d(),destroy_component(a),destroy_component(c)}}}function instance$2(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));const t=new URLSearchParams(location.search),n=t.get("error"),o="true"==t.get("is-admin");return[n,function(){o?redirectToAdminLogin():redirectToLogin(void 0,!0)}]}class NotLoggedPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{})}}function create_else_block(e){let t,n,o,r,i;return t=new ErrorInfo({props:{message:"No error found, try to open app again"}}),r=new Link$1({props:{onClick:e[3],$$slots:{default:[create_default_slot$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),o=element("div"),create_component(r.$$.fragment),attr(o,"class","m-2")},m(e,a){mount_component(t,e,a),insert(e,n,a),insert(e,o,a),mount_component(r,o,null),i=!0},p(e,t){const n={};32&t&&(n.$$scope={dirty:t,ctx:e}),r.$set(n)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),destroy_component(r)}}}function create_if_block_2$1(e){let t,n;return t=new ErrorInfo({props:{message:e[2]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p:noop$3,i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block_1$1(e){let t,n;return t=new ErrorInfo({props:{message:e[0]?.configurationError}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.message=e[0]?.configurationError),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_if_block$1(e){let t,n;return t=new ErrorInfo({props:{message:`Invalid license. Please contact sales@dbgate.eu for more details. ${e[0]?.checkedLicense?.error}`}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.message=`Invalid license. Please contact sales@dbgate.eu for more details. ${e[0]?.checkedLicense?.error}`),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function create_default_slot$1(e){let t;return{c(){t=text$1("Back to app")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1(e){let t,n,o,r,i,a,s,c,l,u,d,p;const m=[create_if_block$1,create_if_block_1$1,create_if_block_2$1,create_else_block],f=[];function h(e,t){return"error"==e[0]?.checkedLicense?.status?0:e[0]?.configurationError?1:e[2]?2:3}return u=h(e),d=f[u]=m[u](e),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1r8v0g" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Configuration error",l=space(),d.c(),attr(n,"class","text svelte-1r8v0g"),attr(i,"class","logo svelte-1r8v0g"),attr(c,"class","heading svelte-1r8v0g"),attr(s,"class","box svelte-1r8v0g"),attr(r,"class","wrap svelte-1r8v0g"),attr(t,"class","root theme-light theme-type-light svelte-1r8v0g")},m(e,d){insert(e,t,d),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),f[u].m(s,null),p=!0},p(e,[t]){let n=u;u=h(e),u===n?f[u].p(e,t):(group_outros(),transition_out(f[n],1,1,(()=>{f[n]=null})),check_outros(),d=f[u],d?d.p(e,t):(d=f[u]=m[u](e),d.c()),transition_in(d,1),d.m(s,null))},i(e){p||(transition_in(d),p=!0)},o(e){transition_out(d),p=!1},d(e){e&&detach(t),f[u].d()}}}function instance$1(e,t,n){let o;const r=useConfig();component_subscribe(e,r,(e=>n(0,o=e)));const i=new URLSearchParams(location.search).get("error");onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[o,r,i,()=>internalRedirectTo("/")]}class ErrorPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{})}}function create_if_block_3(e){let t,n,o;return n=new FormStyledButton({props:{value:"Start 30-day trial"}}),n.$on("click",e[8]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_2(e){let t,n,o;return n=new FormStyledButton({props:{value:`Continue trial (${e[2]} days left)`}}),n.$on("click",e[9]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p(e,t){const o={};4&t&&(o.value=`Continue trial (${e[2]} days left)`),n.$set(o)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block_1(e){let t,n,o;return n=new FormStyledButton({props:{value:"Exit"}}),n.$on("click",e[11]),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","submit svelte-1pvbop4")},m(e,r){insert(e,t,r),mount_component(n,t,null),o=!0},p:noop$3,i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){e&&detach(t),destroy_component(n)}}}function create_if_block(e){let t,n;return{c(){t=element("div"),n=text$1(e[1]),attr(t,"class","error svelte-1pvbop4")},m(e,o){insert(e,t,o),append(t,n)},p(e,t){2&t&&set_data(n,e[1])},d(e){e&&detach(t)}}}function create_default_slot_2(e){let t;return{c(){t=text$1("dbgate.eu")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1(e){let t;return{c(){t=text$1("sales@dbgate.eu")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot(e){let t,n,o,r,i,a,s,c,l,u,d,p,m,f,h,g,_,$,b,v,y,x,w,C,k,S,T,A=getElectron();u=new FormTextAreaField({props:{label:"Enter your license key",name:"licenseKey",rows:5}}),m=new FormSubmit({props:{value:"Save license"}}),m.$on("click",e[7]);let E=!e[0]&&null==e[2]&&create_if_block_3(e),O=e[2]>0&&create_if_block_2(e);$=new FormStyledButton({props:{value:"Purchase DbGate Premium"}}),$.$on("click",e[10]);let I=A&&create_if_block_1(e),N=e[1]&&create_if_block(e);return C=new Link$1({props:{href:"https://dbgate.eu/",$$slots:{default:[create_default_slot_2]},$$scope:{ctx:e}}}),S=new Link$1({props:{href:"mailto:sales@dbgate.eu",$$slots:{default:[create_default_slot_1]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),r=element("div"),i=element("div"),i.innerHTML='<img class="img svelte-1pvbop4" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="License",l=space(),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),f=space(),E&&E.c(),h=space(),O&&O.c(),g=space(),_=element("div"),create_component($.$$.fragment),b=space(),I&&I.c(),v=space(),N&&N.c(),y=space(),x=element("div"),w=text$1("For more info about DbGate licensing, you could visit "),create_component(C.$$.fragment),k=text$1(" web or contact\n us at "),create_component(S.$$.fragment),attr(n,"class","text svelte-1pvbop4"),attr(i,"class","logo svelte-1pvbop4"),attr(c,"class","heading svelte-1pvbop4"),attr(p,"class","submit svelte-1pvbop4"),attr(_,"class","submit svelte-1pvbop4"),attr(x,"class","purchase-info svelte-1pvbop4"),attr(s,"class","box svelte-1pvbop4"),attr(r,"class","wrap svelte-1pvbop4"),attr(t,"class","root theme-light theme-type-light svelte-1pvbop4")},m(e,A){insert(e,t,A),append(t,n),append(t,o),append(t,r),append(r,i),append(r,a),append(r,s),append(s,c),append(s,l),mount_component(u,s,null),append(s,d),append(s,p),mount_component(m,p,null),append(s,f),E&&E.m(s,null),append(s,h),O&&O.m(s,null),append(s,g),append(s,_),mount_component($,_,null),append(s,b),I&&I.m(s,null),append(s,v),N&&N.m(s,null),append(s,y),append(s,x),append(x,w),mount_component(C,x,null),append(x,k),mount_component(S,x,null),T=!0},p(e,t){e[0]||null!=e[2]?E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()):E?(E.p(e,t),5&t&&transition_in(E,1)):(E=create_if_block_3(e),E.c(),transition_in(E,1),E.m(s,h)),e[2]>0?O?(O.p(e,t),4&t&&transition_in(O,1)):(O=create_if_block_2(e),O.c(),transition_in(O,1),O.m(s,g)):O&&(group_outros(),transition_out(O,1,1,(()=>{O=null})),check_outros()),A&&I.p(e,t),e[1]?N?N.p(e,t):(N=create_if_block(e),N.c(),N.m(s,y)):N&&(N.d(1),N=null);const n={};4096&t&&(n.$$scope={dirty:t,ctx:e}),C.$set(n);const o={};4096&t&&(o.$$scope={dirty:t,ctx:e}),S.$set(o)},i(e){T||(transition_in(u.$$.fragment,e),transition_in(m.$$.fragment,e),transition_in(E),transition_in(O),transition_in($.$$.fragment,e),transition_in(I),transition_in(C.$$.fragment,e),transition_in(S.$$.fragment,e),T=!0)},o(e){transition_out(u.$$.fragment,e),transition_out(m.$$.fragment,e),transition_out(E),transition_out(O),transition_out($.$$.fragment,e),transition_out(I),transition_out(C.$$.fragment,e),transition_out(S.$$.fragment,e),T=!1},d(e){e&&detach(t),destroy_component(u),destroy_component(m),E&&E.d(),O&&O.d(),destroy_component($),I&&I.d(),N&&N.d(),destroy_component(C),destroy_component(S)}}}function create_fragment(e){let t,n;return t=new FormProviderCore({props:{values:e[4],$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};4103&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o)},i(e){n||(transition_in(t.$$.fragment,e),n=!0)},o(e){transition_out(t.$$.fragment,e),n=!1},d(e){destroy_component(t,e)}}}function instance(e,t,n){let o,r,i;const a=useConfig();component_subscribe(e,a,(e=>n(6,i=e)));const s=writable({amoid:null,databaseServer:null});let c="",l=!1;onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=null==i?void 0:i.isLicenseExpired),64&e.$$.dirty&&n(2,r=null==i?void 0:i.trialDaysLeft),33&e.$$.dirty&&o&&!l&&(n(1,c="Your license is expired"),n(5,l=!0))},[o,c,r,a,s,l,i,async e=>{sessionStorage.setItem("continueTrialConfirmed","1");const{licenseKey:t}=e.detail,o=await apiCall("config/save-license-key",{licenseKey:t});"ok"==o?.status?internalRedirectTo("/index.html"):n(1,c=o?.errorMessage||"Error saving license key")},async e=>{n(1,c="");const t=await apiCall("config/start-trial");"ok"==t?.status?(sessionStorage.setItem("continueTrialConfirmed","1"),internalRedirectTo("/index.html")):n(1,c=t?.errorMessage||"Error starting trial")},async e=>{sessionStorage.setItem("continueTrialConfirmed","1"),internalRedirectTo("/index.html")},async e=>{openWebLink(`https://auth.dbgate.eu/create-checkout-session-simple?source=trial-${o?"expired":r??"no"}`)},e=>{getElectron().send("quit-app")}]}class EnterLicensePage extends SvelteComponent{constructor(e){super(),init(this,e,instance,create_fragment,safe_not_equal,{})}}const isOauthCallback=handleOauthCallback();function createApp(){if(isOauthCallback)return null;switch(window.dbgate_page){case"login":return new LoginPage({target:document.body,props:{isAdminPage:!1}});case"error":return new ErrorPage({target:document.body,props:{}});case"license":return new EnterLicensePage({target:document.body,props:{}});case"admin-login":return new LoginPage({target:document.body,props:{isAdminPage:!0}});case"not-logged":return new NotLoggedPage({target:document.body,props:{}});case"admin":return new App({target:document.body,props:{isAdminPage:!0}})}return new App({target:document.body,props:{}})}localStorageGarbageCollector();const app=createApp();return app}();
100
100
  //# sourceMappingURL=bundle.js.map