dbgate-web 5.2.6 → 5.2.7-alpha.1

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.
@@ -72,5 +72,5 @@ class Animator{constructor(){this._request=null,this._charts=new Map,this._runni
72
72
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
73
73
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
74
74
  PERFORMANCE OF THIS SOFTWARE.
75
- ***************************************************************************** */function r(e,t){for(var n=0,o=t.length,i=e.length;n<o;n++,i++)e[i]=t[n];return e}function n(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function t(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return[];for(var o=[],i=(e=e.sort(n))[0],a=i[0],s=i[1],c=1,l=e.length;c<l;c++){var u=e[c],d=u[0],p=u[1];s<d&&(o.push([a,s]),a=d),s<p&&(s=p)}return r(r([],o),[[a,s]])}function o(e,t){return function(e,t){return t[1]>e[0]&&t[0]<e[1]}(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 u(t,n){var i,r=e.apply(void 0,t),a=e.apply(void 0,n);if(!r.length)return[];if(!a.length)return r;for(var s=[],c=0,l=r.length;c<l;c++){for(var u=r[c],d=u[0],p=u[1],m=!0,h=0,f=a.length;h<f;h++){var g=a[h];if(!(g[1]<=d)){if(g[0]>=p)break;var _=o([d,p],g);if(!_){m=!1;break}d=(i=_[_.length-1])[0],p=i[1],_.length>1&&s.push(_[0])}}m&&s.push([d,p])}return s}function l(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];e.sort(n);for(var i=[e[e.length-1][0],e.sort(t)[0][1]],r=i[0],a=i[1],s=0,c=e.length;s<c-1;s++){var l=e[s+1],u=l[0],d=l[1];if(u>a||d<r)return null}return[r,a]}function intersectLineLine(e,t,n,o){const i=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===i)return null;const r=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/i,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/i;return r<0||r>1||a<0||a>1?null:{x:e.x+r*(t.x-e.x),y:e.y+r*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},i={x:n.right,y:n.top},r={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,i))&&s.push(c),(c=intersectLineLine(e,t,i,a))&&s.push(c),(c=intersectLineLine(e,t,a,r))&&s.push(c),(c=intersectLineLine(e,t,r,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let i=e-n,r=t-o;return Math.sqrt(i*i+r*r)}const o=e.left,i=e.top,r=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=r<s,m=u<i,h=a<c;return h&&d?n(o,a,l,c):d&&m?n(o,i,l,u):m&&p?n(r,i,s,u):p&&h?n(r,a,s,c):d?o-l:p?s-r:m?i-u:h?c-a:0}function rectanglesHaveIntersection(e,t){const n=l([e.left,e.right],[t.left,t.right]),o=l([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=u([[-1/0,1/0]],n),i=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)i.push(n[1]-t/2);else if(n[0]>e)i.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),i.push(o)}}return _.minBy(i,(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,i){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=i,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=l(this.rangeXPadded,e.rangeXPadded),n=l(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,i=[],r=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=r&&!e.fixedPosition)),i,o);const a=_.max(i.map((e=>e.radius))),s=i.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/i.length;for(const e of i)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 r&&(n.nodes[r.designerId]=new LayoutNode(r,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 i=new LayoutNode(o,o.width/2+NODE_MARGIN,o.height/2+NODE_MARGIN);n.nodes[t]=i,n.createTreeLevel([o],i.right+NODE_SPACE_TREE);let r=_.max(_.values(n.nodes).map((e=>e.right)));const a=_.values(e.nodes).filter((e=>!n.nodes[e.designerId]));for(const e of a){r+=NODE_SPACE_TREE;const t=new LayoutNode(e,r+e.width/2,NODE_MARGIN+e.height/2);n.nodes[e.designerId]=t,r+=e.width}return n}createTreeLevel(e,t){let n=NODE_MARGIN,o=0;const i=[];for(const r of e)for(const e of r.neightboors){if(e.designerId in this.nodes)continue;i.push(e);const r=new LayoutNode(e,t+e.width/2,n+e.height/2);this.nodes[e.designerId]=r,n+=e.height+NODE_MARGIN,r.right>o&&(o=r.right)}i.length>0&&this.createTreeLevel(i,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 t=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),n=new GraphLayout(this.graph);for(const o of t){const t=_.values(n.nodes);if(t.find((e=>e.hasPaddedIntersect(o)))){const i=e(...t.filter((e=>l(e.rangeYPadded,o.rangeYPadded))).map((e=>e.rangeXPadded))),r=e(...t.filter((e=>l(e.rangeXPadded,o.rangeXPadded))).map((e=>e.rangeYPadded))),a=solveOverlapsInIntervalArray(o.x,o.node.width+2*NODE_MARGIN,i),s=solveOverlapsInIntervalArray(o.y,o.node.height+2*NODE_MARGIN,r),c=Math.abs(a-o.x)<Math.abs(s-o.y)?new LayoutNode(o.node,a,o.y):new LayoutNode(o.node,o.x,s);n.nodes[o.node.designerId]=c}else n.nodes[o.node.designerId]=o}return n.fillEdges(),n}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$O(e){let t,n,o,i,r;return i=new ColorSelector({props:{value:e[3]}}),i.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(i.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(i,e,a),r=!0},p(e,t){(!r||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),i.$set(o)},i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(i,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$21(e){let t,n;const o=[e[4]];let i={$$slots:{header:[create_header_slot$6],default:[create_default_slot$O]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(i.$$scope={dirty:n,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 instance$1$(e,t,n){let o;const i=["color","header","text","onChange"];let r=compute_rest_props(t,i),{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,r=compute_rest_props(t,i)),"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,r,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1$,create_fragment$21,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function create_if_block$Z(e){let t,n,o,i,r;function a(e,t){return e[3]?create_if_block_1$x:create_else_block$o}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),i||(r=[listen(t,"dragstart",e[5]),listen(t,"dragend",e[6]),listen(t,"dragover",e[7]),listen(t,"drop",e[8])],i=!0)},p(e,i){s===(s=a(e))&&c?c.p(e,i):(c.d(1),c=s(e),c&&(c.c(),c.m(t,null))),8&i&&n!==(n=!!e[3])&&attr(t,"draggable",n),8&i&&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(),i=!1,run_all(r)}}}function create_else_block$o(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$x(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$20(e){let t,n=e[2]?.allowCreateRefByDrag&&create_if_block$Z(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$Z(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$1_(e,t,n){let o,i=noop$3,r=()=>(i(),i=subscribe(a,(e=>n(4,o=e))),a);e.$$.on_destroy.push((()=>i()));let{sourceDragColumn$:a}=t;r();let s,{targetDragColumn$:c}=t,{settings:l}=t;return e.$$set=e=>{"sourceDragColumn$"in e&&r(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$1_,create_fragment$20,safe_not_equal,{sourceDragColumn$:0,targetDragColumn$:1,settings:2})}}function get_each_context$n(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$i(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,i,r,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=new l(u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),i=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,i,t),r=!0},p(e,n){a!==(t=e)[76]&&(c(),a=t[76],s());const r={};if(128&n[0]&&(r.domTables=t[7]),262144&n[0]&&(r.reference=t[76]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),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=new l(u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,i.parentNode,i)):o=null}else l&&o.$set(r)},i(e){r||(o&&transition_in(o.$$.fragment,e),r=!0)},o(e){o&&transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),c(),e&&detach(i),o&&destroy_component(o,e)}}}function create_each_block$n(e,t){let n,o,i,r=t[73];const a=()=>t[57](o,r),s=()=>t[57](null,r);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),i=!0},p(e,n){r!==(t=e)[73]&&(s(),r=t[73],a());const i={};32&n[0]&&(i.columnFilter=t[5]),256&n[0]&&(i.table=t[73]),2&n[0]&&(i.conid=t[1]),4&n[0]&&(i.database=t[2]),32768&n[0]&&(i.zoomKoef=t[15]),65536&n[0]&&(i.isMultipleTableSelection=t[16]),512&n[0]&&(i.domCanvas=t[9]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),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),s(),destroy_component(o,e)}}}function create_if_block_1$w(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$Y(e){let t,n,o,i,r,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]),r=new SearchInput({props:p}),binding_callbacks.push((()=>bind(r,"value",d)));let h={};return void 0!==e[5]&&(h.filter=e[5]),c=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(c,"filter",m))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"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,i),mount_component(r,i,null),append(i,s),mount_component(c,i,null),u=!0},p(e,t){const o={};8&t[0]&&(o.settings=e[3]),n.$set(o);const i={};!a&&32&t[0]&&(a=!0,i.value=e[5],add_flush_callback((()=>a=!1))),r.$set(i);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(r.$$.fragment,e),transition_in(c.$$.fragment,e),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(c)}}}function create_fragment$1$(e){let t,n,o,i,r,a,s,c,l,u,d,p=[],m=new Map,h=[],f=new Map,g=!(e[8]?.length>0)&&create_if_block_2$i(),_=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$n(e,b,t),o=v(n);f.set(o,h[t]=create_each_block$n(o,n))}let y=e[12]&&e[13]&&create_if_block_1$w(e),x=e[8]?.length>0&&create_if_block$Y(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();i=space();for(let e=0;e<h.length;e+=1)h[e].c();r=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].m(o,null);append(o,i);for(let e=0;e<h.length;e+=1)h[e].m(o,null);append(o,r),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$i(),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,i,get_each_context_1$3),check_outros()),1738113903&c[0]|2287&c[1]&&(b=e[8]||[],group_outros(),h=update_keyed_each(h,c,v,1,e,b,f,o,outro_and_destroy_block,create_each_block$n,r,get_each_context$n),check_outros()),e[12]&&e[13]?y?y.p(e,c):(y=create_if_block_1$w(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$Y(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(h[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<h.length;e+=1)transition_out(h[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<h.length;e+=1)h[e].d();y&&y.d(),e[58](null),x&&x.d(),u=!1,run_all(d)}}}const getCurrentEditor$d=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$d())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$d().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$d().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$d())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1Z(e,t,n){let o,i,r,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,h,f=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,E=3e3,A=null,N=null;const I=writable(null),O=writable(null),R=(null==x?void 0:x.updateFromDbInfo)?useDatabaseInfo({conid:b,database:v}):null;component_subscribe(e,R,(e=>n(55,d=e)));const D={},L={};let F;function M(){n(7,F=_.pickBy(_.mapValues(D,(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,i=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+i})))}return e}function j(e="auto"){"auto"==e&&R&&(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 i=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));i&&o.push({designerId:v1_1$6(),sourceId:e.designerId,targetId:i.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,n){$(e,t,n),tick().then(W)}const q=(e,t,n)=>{var o;const i=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!i)return;const r=[];for(const t of i.foreignKeys||[]){if(![...n.tables,...r].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&&r.push(n)}}for(const t of i.dependencies||[]){if(![...n.tables,...r].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&&r.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...r.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$6()}`,needsArrange:!0})))]})},z=(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 U(e){for(const t of _.values(D)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function W(){for(const e of Object.values(L))e&&e.recomputePosition()}function V(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=F[e.designerId];if(!n)continue;const i=n.getRect();o.addNode(e.designerId,i.right-i.left,i.bottom-i.top,t||e.needsArrange?null:{x:(i.left+i.right)/2,y:(i.top+i.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 i;switch(o.initialize(),null==x?void 0:x.arrangeAlg){case"springy":i=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();break;case"tree":i=GraphLayout.createTree(o,null==g?void 0:g.rootDesignerId)}i&&B((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=i.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 H=(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,i=null==g?void 0:g.tables),1&e.$$.dirty[0]&&n(18,r=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,h=null==g?void 0:g.style)||void 0===h?void 0:h.zoomKoef:1),256&e.$$.dirty[0]&&n(16,c=i.filter((e=>e.isSelectedTable)).length>=2),64&e.$$.dirty[0]&&M(),4194304&e.$$.dirty[1]&&o&&j(o),384&e.$$.dirty[0]&&function(e,t){f(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,i=e.length>0?_.max(e.map((e=>e.bottom))):0;n(10,T=Math.max(3e3,o+50)),n(11,E=Math.max(3e3,i+50))}))}(0,F),1&e.$$.dirty[0]|4194304&e.$$.dirty[1]&&o&&(null==g?void 0:g.autoLayout)&&(t=o,f(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(),V())}))),32&e.$$.dirty[0]&&tick().then((()=>{W(),M()}))},n(17,s=useUsedApps()),p(),p=subscribe(s,(e=>n(54,u=e))),[g,b,v,x,w,S,D,F,i,k,T,E,A,N,L,a,c,s,r,I,O,R,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)=>f(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((i=>{const r=(i.tables||[]).find((t=>t.designerId==e));if(!r)return i;const a=z(n,i.tables);return a&&!(null==x?void 0:x.allowTableAlias)?i:Object.assign(Object.assign({},i),{tables:[...i.tables||[],Object.assign(Object.assign({},n),{left:r.left+300,top:r.top+50,designerId:o,alias:a})],references:(null==x?void 0:x.allowCreateRefByDrag)?[...i.references||[],{designerId:v1_1$6(),sourceId:r.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:i.references})})),j()})),e=>f(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 i=null===(t=F[e.designerId])||void 0===t?void 0:t.getRect();V(!0,!1,i?{x:(i.left+i.right)/2,y:(i.top+i.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||[],i=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return i?Object.assign(Object.assign({},n),{columns:o.map((e=>e==i?t(i):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:i}=o;"tables"!=i&&"views"!=i&&"collections"!=i||(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=z(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())},()=>{U((e=>e.moveStart()))},(e,t)=>{U((n=>n.move(e,t))),tick().then(W)},()=>{const e={};U((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(W)},(e,t)=>{n(12,A={x:e/a,y:t/a})},(e,t,o,i)=>{n(13,N={x:o/a,y:i/a})},(e,t)=>{if(A&&N){const e={left:Math.min(A.x,N.x),right:Math.max(A.x,N.x),top:Math.min(A.y,N.y),bottom:Math.max(A.y,N.y)};B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=F[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(12,A=null),n(13,N=null)},W,function(){var e,t,n,o,i,r;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:H("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:H("showDataType",!(null===(o=null==g?void 0:g.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(i=null==g?void 0:g.style)||void 0===i?void 0:i.filterColumns)||"all")}`,submenu:[{text:"All",onClick:H("filterColumns",null)},{text:"Primary Key",onClick:H("filterColumns","primaryKey")},{text:"All Keys",onClick:H("filterColumns","allKeys")},{text:"Not Null",onClick:H("filterColumns","notNull")},{text:"Keys And Not Null",onClick:H("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(r=null==g?void 0:g.style)||void 0===r?void 0:r.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:H("zoomKoef",.1)},{text:"15 %",onClick:H("zoomKoef",.15)},{text:"20 %",onClick:H("zoomKoef",.2)},{text:"40 %",onClick:H("zoomKoef",.4)},{text:"60 %",onClick:H("zoomKoef",.6)},{text:"80 %",onClick:H("zoomKoef",.8)},{text:"100 %",onClick:H("zoomKoef",1)},{text:"120 %",onClick:H("zoomKoef",1.2)},{text:"140 %",onClick:H("zoomKoef",1.4)},{text:"160 %",onClick:H("zoomKoef",1.6)},{text:"180 %",onClick:H("zoomKoef",1.8)},{text:"200 %",onClick:H("zoomKoef",2)}]}]]},$,y,C,function(){return!!(null==x?void 0:x.arrangeAlg)},function(){return null==x?void 0:x.canExport},V,function(){return f(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=>f(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,h,o,u,d,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{L[t.designerId]=e,n(14,L)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{D[t.designerId]=e,n(6,D)}))},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$1Z,create_fragment$1$,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$m(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$X(e){let t,n,o,i,r,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$m(get_each_context$m(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();i=space(),r=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(r,"class","wrapper svelte-1k22hy3"),attr(r,"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(t,null);insert(o,i,c),insert(o,r,c),append(r,a),append(a,s),l||(u=action_destroyer(contextMenu.call(null,r,e[8])),l=!0)},p(e,i){if(156&i&&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&i){let n;for(p=e[5],n=0;n<p.length;n+=1){const o=get_each_context$m(e,p,n);m[n]?m[n].p(o,i):(m[n]=create_each_block$m(o),m[n].c(),m[n].m(t,null))}for(;n<m.length;n+=1)m[n].d(1);m.length=p.length}3&i&&d!==(d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"")&&set_data(s,d),156&i&&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(r,"style",c)},d(e){e&&detach(t),destroy_each(m,e),e&&detach(i),e&&detach(r),l=!1,u()}}}function create_each_block$m(e){let t,n,o,i;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",i=`\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,r){116&r&&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&r&&i!==(i=`\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",i)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$1_(e){let t,n=e[2]&&e[3]&&e[4]&&create_if_block$X(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$X(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$1Y(e,t,n){let o,i;var r,a;let s,{reference:c}=t,{onRemoveReference:l}=t,{onChangeReference:u}=t,{designer:d}=t,{domTables:p}=t,{settings:m}=t,h=null,f=null,g=[];function $(){const{designerId:e,sourceId:t,targetId:i,columns:r,joinType:a}=c,l=p[t],u=p[i];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(r.map((e=>l.getColumnY(e.source)))),v=_.mean(r.map((e=>u.getColumnY(e.target))));0==r.length&&(b=l.getColumnY(""),v=u.getColumnY("")),n(2,h={x:s.xsrc,y:b}),n(3,f={x:s.xdst,y:v}),n(5,g=r.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,r=null==m?void 0:m.referencePaintSettings)||void 0===r?void 0:r.buswi)||BUSWI),32770&e.$$.dirty&&n(7,i=(null===n(15,a=null==m?void 0:m.referencePaintSettings)||void 0===a?void 0:a.extwi)||EXTWI),4096&e.$$.dirty&&$()},[c,m,h,f,s,g,o,i,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,$,r,a]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Y,create_fragment$1_,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$1Z(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),0&n&&{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,allowScrollColumns:!0,canSelectColumns:!0,referenceMenu:e[1],createReferenceText:e[2]}},0&n&&{referenceComponent:QueryDesignerReference}]):{};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 instance$1X(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 i=isConnectedByReference(e,{designerId:t?.sourceId},{designerId:t?.targetId},t),r=e=>{n({...t,joinType:e})};return[{text:"Remove",onClick:()=>o(t)},!i&&[{divider:!0},{onClick:()=>r("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>r("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>r("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>r("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>r("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>r("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>r("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$1X,create_fragment$1Z,safe_not_equal,{})}}function create_else_block$n(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$a(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 i={};33554432&o&&(i.value=e[25].customExpression),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__8_slot(e){let t,n,o,i;const r=[create_if_block_4$a,create_else_block$n],a=[];function s(e,t){return e[25].isCustomExpression?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!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 i={};33554432&o&&(i.checked=e[25].isOutput),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$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 i={};33554432&o&&(i.value=e[25].alias),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$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 i={};33554432&o&&(i.checked=e[25].isGrouped),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_if_block_3$b(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$a)}}),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 i={};33554432&o&&(i.value=e[25].aggregate),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$2(e){let t,n,o=!e[25].isGrouped&&create_if_block_3$b(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$b(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$1(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 i={};33554432&o&&(i.value=e[25].sortOrder?.toString()),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__5_slot$1(e){let t,n;function o(...t){return e[17](e[25],e[26],...t)}return t=new DataFilterControl({props:{filterType:findDesignerFilterType(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,i){e=n;const r={};33554433&i&&(r.filterType=findDesignerFilterType(e[25],e[0])),100663296&i&&(r.filter=e[25][e[26]]),100663296&i&&(r.setFilter=o),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_2$m(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$t(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$N(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,i,r,a,s;return n=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_2$m]},$$scope:{ctx:e}}}),n.$on("click",(function(){return e[14](e[25])})),i=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_1$t]},$$scope:{ctx:e}}}),i.$on("click",(function(){return e[15](e[25])})),a=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot$N]},$$scope:{ctx:e}}}),a.$on("click",(function(){return e[16](e[25])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),r=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(i,t,null),append(t,r),mount_component(a,t,null),s=!0},p(t,o){e=t;const r={};134217728&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r);const s={};134217728&o&&(s.$$scope={dirty:o,ctx:e}),i.$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(i.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(a)}}}function create_if_block_2$h(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$v(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$W(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$1Y(e){let t,n,o,i,r,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$3),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$1,({row:e})=>({25:e}),({row:e})=>e?33554432:0],3:[create__3_slot$2,({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}}}),i=new FormStyledButton({props:{value:"Add custom expression",style:"width:200px"}}),i.$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$h(e),p=e[2]&&create_if_block_1$v(e),m=e[2]&&e[3]?.additionalGroupFilterCount>0&&create_if_block$W(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),r=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,h){insert(e,t,h),mount_component(n,t,null),append(t,o),mount_component(i,t,null),append(t,r),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 i={};2&o&&(i.rows=e[1]||[]),28&o&&(i.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$3),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&&(i.$$scope={dirty:o,ctx:e}),n.$set(i),e[3]?.additionalFilterCount>0?d?(d.p(e,o),8&o&&transition_in(d,1)):(d=create_if_block_2$h(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$v(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$W(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(i.$$.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(i.$$.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(i),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$a=e=>({label:e,value:e}),func_3$3=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$1W(e,t,n){let o,i,r,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];return[e[o],e[o+t]]=[e[o+t],e[o]],{...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,i=s?.tables),1&e.$$.dirty&&n(3,r=s?.settings),2&e.$$.dirty&&n(2,a=!!(o||[]).find((e=>e.isGrouped)))},[s,o,a,r,i,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,i)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1W,create_fragment$1Y,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$M(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$9(e){let t,n,o,i,r,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),r=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),i=space(),create_component(r.$$.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,i,d),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1X(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$9],default:[create_default_slot$M]},$$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$c=()=>getActiveComponent("QueryDesignTab");function instance$1V(e,t,n){let o,i,r,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:h}=t,{conid:f}=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()},E=()=>{n(2,w=null),T()},A=(e,t)=>D({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:N,editorValue:I,setEditorData:O}=useEditorData({tabid:h,onInitialData:e=>{D({type:"reset",value:e})}});component_subscribe(e,N,(e=>n(34,a=e)));const[R,D]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,R,(e=>n(3,s=e)));const L=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,h=e.tabid),"conid"in e&&n(0,f=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:f})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,i=lib$5.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,r=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,T),apiOn(`session-closed-${e}`,E),()=>{apiOff(`session-done-${e}`,T),apiOff(`session-closed-${e}`,E)}):()=>{};var e}))),d(),d=subscribe(r,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(h,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&O(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,i)},[f,g,w,s,u,y,x,C,r,o,A,N,R,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;A(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)}}]},L,h,$,k,function(){return!!w},function(){return v},function(){return h},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:f,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(){D({type:"undo"})},function(){return s.canRedo},function(){D({type:"redo"})},function(){newQuery({initialData:C})},v,i,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$c(),onClick:()=>getCurrentEditor$c().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$c,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1V,create_fragment$1X,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$L(e){let t,n,o,i,r,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),i=new TextField({props:c}),binding_callbacks.push((()=>bind(i,"value",s))),i.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(i.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r),mount_component(i,o,null),a=!0},p(e,t){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),i.$set(n)},i(e){a||(transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(i)}}}function create_fragment$1W(e){let t,n;const o=[e[2],{simple:!0}];let i={$$slots:{default:[create_default_slot$L]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(i.$$scope={dirty:n,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 instance$1U(e,t,n){const o=["onChange"];let i,r=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[i,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&i)return a(i),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,i=t)},r,a,function(e){i=e,n(0,i)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1U,create_fragment$1W,safe_not_equal,{onChange:3})}}function create_default_slot_1$s(e){let t,n,o,i,r,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),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,i,u),insert(e,r,u),mount_component(a,r,null),append(r,s),mount_component(c,r,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(i),e&&detach(r),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,i,r,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]),r=new FormStyledButton({props:{type:"button",value:"Close"}}),r.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_default_slot$K(e){let t,n;const o=[e[4]];let i={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$s]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(i.$$scope={dirty:n,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$1V(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$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={};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$1T(e,t,n){const o=["command"];let i,r=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,i=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,i,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},r,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...i,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(i,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1T,create_fragment$1V,safe_not_equal,{command:0})}}function create_fragment$1U(e){let t,n,o,i,r,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 h(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind(o,"value",p)));let f={showDisabled:!0};return void 0!==e[0]&&(f.filter=e[0]),a=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind(a,"filter",h))),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$9},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=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,i){insert(e,t,i),append(t,n),mount_component(o,n,null),append(n,r),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),o.$set(n);const r={};!s&&1&t&&(s=!0,r.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(r);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$9=e=>e.customKeyboardShortcut;function instance$1S(e,t,n){let o,i,r;component_subscribe(e,commandsCustomized,(e=>n(2,i=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(i),["category","name"]))},[r,o,i,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},e=>lib$5.filterName(r,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$1S,create_fragment$1U,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1T(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$b=()=>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$1R(e,t,n){let o,i;var r;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,i=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&&i&&l&&(null===n(12,r=null==l?void 0:l.getEditor())||void 0===r||r.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},r,i,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$b,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1R,create_fragment$1T,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$J(e){let t,n,o={value:e[2].value||"",menu:createMenu$2(),mode:"json"};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)}}}function create_toolstrip_slot$8(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$1S(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$8],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={};524294&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$a=()=>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$1Q(e,t,n){let o,i;var r;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,i=e)));const c=createActivator("JsonEditorTab",!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&&i&&l&&(null===n(12,r=null==l?void 0:l.getEditor())||void 0===r||r.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},r,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$a,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Q,create_fragment$1S,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 JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$b(e){let t,n,o={value:e[3].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[21](t),t.$on("input",e[22]),t.$on("focus",e[23]),{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[21](null),destroy_component(t,n)}}}function create_if_block$V(e){let t,n,o=e[2],i=create_key_block$2(e);return{c(){i.c(),t=empty()},m(e,o){i.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(i,1,1,noop$3),check_outros(),i=create_key_block$2(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i.p(e,n)},i(e){n||(transition_in(i),n=!0)},o(e){transition_out(i),n=!1},d(e){e&&detach(t),i.d(e)}}}function create_key_block$2(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$V(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$V(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$I(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]),268435470&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$7(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),r=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1R(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$7],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={};268435470&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$9=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1P(e,t,n){let o,i;var r,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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(20,i=e)));const p=createActivator("JsonLinesEditorTab",!1);let m;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(8,l=t),n(7,c=e)})),{editorState:f,editorValue:g,setEditorData:_,saveToStorage:$}=useEditorData({tabid:s});component_subscribe(e,f,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(9,s=e.tabid),"archiveFolder"in e&&n(7,c=e.archiveFolder),"archiveFile"in e&&n(8,l=e.archiveFile)},e.$$.update=()=>{1572866&e.$$.dirty&&i&&m&&(null===n(19,r=null==m?void 0:m.getEditor())||void 0===r||r.focus())},[p,m,u,o,d,f,_,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||""})}))},r,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>_(e.detail),()=>{p.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$9,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$9(),onClick:()=>getCurrentEditor$9().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$9(),onClick:()=>getCurrentEditor$9().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$9(),onClick:()=>getCurrentEditor$9().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$9())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$9().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1P,create_fragment$1R,safe_not_equal,{tabid:9,archiveFolder:7,archiveFile:8,activator:0,getData:10,find:11,replace:12,getTabId:13,isPreview:14,closePreview:15,save:16,previewMewTab:17,preview:18})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[10]}get find(){return this.$$.ctx[11]}get replace(){return this.$$.ctx[12]}get getTabId(){return this.$$.ctx[13]}get isPreview(){return this.$$.ctx[14]}get closePreview(){return this.$$.ctx[15]}get save(){return this.$$.ctx[16]}get previewMewTab(){return this.$$.ctx[17]}get preview(){return this.$$.ctx[18]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff(){}function buildValues(e,t,n,o,i){for(var r=0,a=t.length,s=0,c=0;r<a;r++){var l=t[r];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,r&&t[r-1].added){var u=t[r-1];t[r-1]=t[r],t[r]=u}}else{if(!l.added&&i){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 i=this;function r(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 r([{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,h=d&&0<=p&&p<s;if(m||h){if(!m||h&&l.newPos<d.newPos?(o=clonePath(d),i.pushComponent(o.components,void 0,!0)):((o=l).newPos++,i.pushComponent(o.components,!0,void 0)),p=i.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return r(buildValues(i,o.components,t,e,i.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 i=t.length,r=n.length,a=e.newPos,s=a-o,c=0;a+1<i&&s+1<r&&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;function diffLines(e,t,n){return lineDiff.diff(e,t,n)}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 i=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}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)}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.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,i){var r,a;for(t=t||[],n=n||[],o&&(e=o(i,e)),r=0;r<t.length;r+=1)if(t[r]===e)return n[r];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),r=0;r<e.length;r+=1)a[r]=canonicalize(e[r],t,n,o,i);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(),r=0;r<c.length;r+=1)a[s=c[r]]=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,i=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,i),i," ")},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,LineType;function structuredPatch(e,t,n,o,i,r,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,h=function(e){var t=s[e],i=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=i,t.added||t.removed){var r;if(!l){var h=s[e-1];l=p,u=m,h&&(d=a.context>0?g(h.lines.slice(-a.context)):[],l-=d.length,u-=d.length)}(r=d).push.apply(r,_toConsumableArray(i.map((function(e){return(t.added?"+":"-")+e})))),t.added?m+=i.length:p+=i.length}else{if(l)if(i.length<=2*a.context&&e<s.length-2){var f;(f=d).push.apply(f,_toConsumableArray(g(i)))}else{var _,$=Math.min(i.length,a.context);(_=d).push.apply(_,_toConsumableArray(g(i.slice(0,$))));var b={oldStart:l,oldLines:p-l+$,newStart:u,newLines:m-u+$,lines:d};if(e>=s.length-2&&i.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==i.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+=i.length,m+=i.length}},f=0;f<s.length;f++)h(f);return{oldFileName:e,newFileName:t,oldHeader:i,newHeader:r,hunks:c}}function g(e){return e.map((function(e){return" "+e}))}}function formatPatch(e){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,i,r,a){return formatPatch(structuredPatch(e,t,n,o,i,r,a))}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));var 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"},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){var t,n,o=0;for(t=0,n=e.length;t<n;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o}var __spreadArray=function(e,t,n){if(n||2===arguments.length)for(var o,i=0,r=t.length;i<r;i++)!o&&i in t||(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return e.concat(o||Array.prototype.slice.call(t))};function getExtension(e,t){var n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce((function(t,n){return t||e.startsWith(n)}),!1)}var baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){var o=void 0!==n?__spreadArray(__spreadArray([],baseDiffFilenamePrefixes,!0),[n],!1):baseDiffFilenamePrefixes,i=((t?new RegExp("^".concat(escapeForRegExp(t),' "?(.+?)"?$')):new RegExp('^"?(.+?)"?$')).exec(e)||[])[1],r=void 0===i?"":i,a=o.find((function(e){return 0===r.indexOf(e)}));return(a?r.slice(a.length):r).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){void 0===t&&(t={});var n=[],o=null,i=null,r=null,a=null,s=null,c=null,l=null,u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,h=/^new mode (\d{6})/,f=/^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})/,E=/^new file mode (\d{6})/,A=/^deleted file mode (\d{6}),(\d{6})/,N=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function I(){null!==i&&null!==o&&(o.blocks.push(i),i=null)}function O(){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 R(){I(),O(),o={blocks:[],deletedLines:0,addedLines:0}}function D(e){var t;I(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,r=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,r=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!"),r=0,s=0,o.isCombined=!1)),i={lines:[],oldStartLine:r,oldStartLine2:a,newStartLine:s,header:e}}return N.forEach((function(e,a){if(e&&!e.startsWith("*")){var I,O=N[a-1],L=N[a+1],F=N[a+2];if(e.startsWith("diff")){R();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 !!!");o.isGitDiff=!0}else if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&L.startsWith(d)&&F.startsWith(p))&&R(),!(null==o?void 0:o.isTooBig)){if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength))return o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],i=null,void D("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed");if(e.startsWith(u)&&L.startsWith(d)||e.startsWith(d)&&O.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&&!i))D(e);else if(i&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))!function(e){if(null!==o&&null!==i&&null!==r&&null!==s){var 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=r++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=r++,t.newNumber=s++),i.lines.push(t)}}(e);else{var M=!function(e,t){for(var n=t;n<N.length-3;){if(e.startsWith("diff"))return!1;if(N[n].startsWith(u)&&N[n+1].startsWith(d)&&N[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=h.exec(e))?o.newMode=I[1]:(I=f.exec(e))?(o.deletedFileMode=I[1],o.isDeleted=!0):(I=g.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=_.exec(e))?(M&&(o.oldName=I[1]),o.isCopy=!0):(I=$.exec(e))?(M&&(o.newName=I[1]),o.isCopy=!0):(I=b.exec(e))?(M&&(o.oldName=I[1]),o.isRename=!0):(I=v.exec(e))?(M&&(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),D("Binary file")):k.test(e)?(o.isBinary=!0,D(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=E.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=A.exec(e))&&(o.deletedFileMode=I[1],o.isDeleted=!0)}}}})),I(),O(),n}function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;var n,o,i=[];for(n=0;n<=t.length;n++)i[n]=[n];for(o=0;o<=e.length;o++)i[0][o]=o;for(n=1;n<=t.length;n++)for(o=1;o<=e.length;o++)t.charAt(n-1)===e.charAt(o-1)?i[n][o]=i[n-1][o-1]:i[n][o]=Math.min(i[n-1][o-1]+1,Math.min(i[n][o-1]+1,i[n-1][o]+1));return i[t.length][e.length]}function newDistanceFn(e){return function(t,n){var o=e(t).trim(),i=e(n).trim();return levenshtein(o,i)/(o.length+i.length)}}function newMatcherFn(e){return function t(n,o,i,r){void 0===i&&(i=0),void 0===r&&(r=new Map);var a=function(t,n,o){void 0===o&&(o=new Map);for(var i,r=1/0,a=0;a<t.length;++a)for(var s=0;s<n.length;++s){var c=JSON.stringify([t[a],n[s]]),l=void 0;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<r&&(i={indexA:a,indexB:s,score:r=l})}return i}(n,o,r);if(!a||n.length+o.length<3)return[[n,o]];var 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),h=o.slice(p),f=t(s,c,i+1,r),g=t(l,u,i+1,r),_=t(m,h,i+1,r),$=g;return(a.indexA>0||a.indexB>0)&&($=f.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}var __assign$4=function(){return __assign$4=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$4.apply(this,arguments)},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},separator="/",distance=newDistanceFn((function(e){return 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 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){void 0===n&&(n=!0);var o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){var t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;for(var o=[],i=[],r=t.split(separator),a=n.split(separator),s=0,c=r.length-1,l=a.length-1;s<c&&s<l&&r[s]===a[s];)o.push(a[s]),s+=1;for(;c>s&&l>s&&r[c]===a[l];)i.unshift(a[l]),c-=1,l-=1;var u=o.join(separator),d=i.join(separator),p=r.slice(s,c+1).join(separator),m=a.slice(s,l+1).join(separator);return u.length&&d.length?u+separator+"{"+p+" → "+m+"}"+separator+d:u.length?u+separator+"{"+p+" → "+m+"}":d.length?"{"+p+" → "+m+"}"+separator+d:t+" → "+n}function getHtmlId(e){return"d2h-".concat(hashCode(filenameDiff(e)).toString().slice(-6))}function getFileIcon(e){var 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){void 0===o&&(o={});var i=__assign$4(__assign$4({},defaultRenderConfig),o),r=i.matching,a=i.maxLineLengthHighlight,s=i.matchWordsThreshold,c=i.diffStyle,l=deconstructLine(e,n,!1),u=deconstructLine(t,n,!1);if(l.content.length>a||u.content.length>a)return{oldLine:{prefix:l.prefix,content:escapeForHtml(l.content)},newLine:{prefix:u.prefix,content:escapeForHtml(u.content)}};var d="char"===c?diffChars(l.content,u.content):diffWordsWithSpace(l.content,u.content),p=[];if("word"===c&&"words"===r){var m=d.filter((function(e){return e.removed})),h=d.filter((function(e){return e.added}));matcher(h,m).forEach((function(e){1===e[0].length&&1===e[1].length&&(distance(e[0][0],e[1][0])<s&&(p.push(e[0][0]),p.push(e[1][0])))}))}var f=d.reduce((function(e,t){var n=t.added?"ins":t.removed?"del":null,o=p.indexOf(t)>-1?' class="d2h-change"':"",i=escapeForHtml(t.value);return null!==n?"".concat(e,"<").concat(n).concat(o,">").concat(i,"</").concat(n,">"):"".concat(e).concat(i)}),"");return{oldLine:{prefix:l.prefix,content:removeInsElements(f)},newLine:{prefix:u.prefix,content:removeDelElements(f)}}}var baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon";function render(e,t){var n=e.map((function(e){return t.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:t.template(iconsBaseTemplatesPath$2,getFileIcon(e))})})).join("\n");return t.render(baseTemplatesPath$2,"wrapper",{filesNumber:e.length,files:n})}var __assign$3=function(){return __assign$3=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$3.apply(this,arguments)},defaultLineByLineRendererConfig=__assign$3(__assign$3({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag",LineByLineRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$3(__assign$3({},defaultLineByLineRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),i=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),r=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:i,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var i=t.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?o.header:escapeForHtml(o.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return t.applyLineGroupping(o).forEach((function(o){var r=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!r.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],r=n[1],a=t.processChangedLines(e.isCombined,o,r),s=a.left,c=a.right;i+=s,i+=c}));else if(r.length)r.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),r=o.prefix,a=o.content;i+=t.generateSingleLineHtml({type:CSSLineClass.CONTEXT,prefix:r,content:a,oldNumber:n.oldNumber,newNumber:n.newNumber})}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;i+=l,i+=u}else console.error("Unknown state reached while processing groups of lines",r,a,s)})),i})).join("\n")},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],i=0;i<e.lines.length;i++){var r=e.lines[i];(r.type!==LineType.INSERT&&o.length||r.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),r.type===LineType.CONTEXT?t.push([[r],[],[]]):r.type===LineType.INSERT&&0===n.length?t.push([[],[],[r]]):r.type===LineType.INSERT&&n.length>0?o.push(r):r.type===LineType.DELETE&&n.push(r)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,i=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&i<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},i=Math.max(t.length,n.length),r=0;r<i;r++){var a=t[r],s=n[r],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$3(__assign$3({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{oldNumber:a.oldNumber,newNumber:a.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$3(__assign$3({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleLineHtml(e),right:this.generateSingleLineHtml(t)}},e.prototype.generateSingleLineHtml=function(e){if(void 0===e)return"";var t=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:e.oldNumber||"",newNumber:e.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:e.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===e.prefix?"&nbsp;":e.prefix,content:e.content,lineNumber:t})},e}(),__assign$2=function(){return __assign$2=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$2.apply(this,arguments)},defaultSideBySideRendererConfig=__assign$2(__assign$2({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag",SideBySideRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$2(__assign$2({},defaultSideBySideRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),i=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),r=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:i,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var i={left:t.makeHeaderHtml(o.header,e),right:t.makeHeaderHtml("")};return t.applyLineGroupping(o).forEach((function(o){var r=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!r.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],r=n[1],a=t.processChangedLines(e.isCombined,o,r),s=a.left,c=a.right;i.left+=s,i.right+=c}));else if(r.length)r.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),r=o.prefix,a=o.content,s=t.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:r,content:a,number:n.oldNumber},{type:CSSLineClass.CONTEXT,prefix:r,content:a,number:n.newNumber}),c=s.left,l=s.right;i.left+=c,i.right+=l}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;i.left+=l,i.right+=u}else console.error("Unknown state reached while processing groups of lines",r,a,s)})),i})).reduce((function(e,t){return{left:e.left+t.left,right:e.right+t.right}}),{left:"",right:""})},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],i=0;i<e.lines.length;i++){var r=e.lines[i];(r.type!==LineType.INSERT&&o.length||r.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),r.type===LineType.CONTEXT?t.push([[r],[],[]]):r.type===LineType.INSERT&&0===n.length?t.push([[],[],[r]]):r.type===LineType.INSERT&&n.length>0?o.push(r):r.type===LineType.DELETE&&n.push(r)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,i=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&i<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.makeHeaderHtml=function(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"})},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},i=Math.max(t.length,n.length),r=0;r<i;r++){var a=t[r],s=n[r],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$2(__assign$2({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.oldNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$2(__assign$2({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{number:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}},e.prototype.generateSingleHtml=function(e){var t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||"".concat(CSSLineClass.CONTEXT," d2h-emptyplaceholder"),lineClass:void 0!==e?t:"".concat(t," d2h-code-side-emptyplaceholder"),contentClass:void 0!==e?n:"".concat(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})},e}(),compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,i=/\r/g,r=/\\/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,i=e.length;o<i;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 i=n.length,r=0,a=null,s=null,d="",p=[],m=!1,h=0,f=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=f;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 i,r=f;r<p.length;r++)p[r].text&&((i=p[r+1])&&">"==i.tag&&(i.indent=p[r].text.toString()),p.splice(r,1));else o||p.push({tag:"\n"});m=!1,f=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),i=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=i[0],_=i[i.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),h=0;h<i;h++)0==r?u(g,n,h)?(--h,$(),r=1):"\n"==n.charAt(h)?b(m):d+=n.charAt(h):1==r?(h+=g.length-1,"="==(a=(s=e.tags[n.charAt(h+1)])?n.charAt(h+1):"_v")?(h=v(n,h),r=0):(s&&h++,r=2),m=h):u(_,n,h)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:h+_.length}),d="",h+=_.length-1,r=0,"{"==a&&("}}"==_?h++:c(p[p.length-1]))):d+=n.charAt(h);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,i){var r,a=[],s=null,c=null;for(r=o[o.length-1];t.length>0;){if(c=t.shift(),r&&"<"==r.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,i))o.push(c),c.nodes=p(t,c.tag,o,i);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&&!h(c.n,s.n,i))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 h(e,t,n){for(var o=0,i=n.length;o<i;o++)if(n[o].c==e&&n[o].o==t)return!0}function f(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+f(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)+" },"+f(t)+"}"};var g=0;function _(e){return e.replace(r,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(i,"\\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 i={code:"",subs:{},partials:{}};return e.walk(t,i),o.asString?this.stringify(i,n,o):this.makeTemplate(i,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 i=n.partials[b(t,n)];i.subs=o.subs,i.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,i=0,r=t.length;i<r;i++)(o=e.codegen[t[i].tag])&&o(t[i],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),i=this.cache[o];if(i){var r=i.partials;for(var a in r)delete r[a].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=i}}(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(i,"&gt;").replace(r,"&#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,i,r){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=r,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in i=i||{},l.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)l.partials[c]=i[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 i=this.ep(e,n);return i?i.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var i=0;i<o.length;i++)e.push(o[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,i,r,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,i,r,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,i){var r,a=e.split("."),s=this.f(a[0],n,o,i),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!==(r=t(a[d],s,c))?(u=s,s=r):s="";return!(i&&!s)&&(i||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,i){for(var r=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(r=t(e,n[c],s))){a=!0;break}return a?(i||"function"!=typeof r||(r=this.mv(r,n,o)),r):!i&&""},ls:function(e,t,n,o,i){var r=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=r,!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,i,r,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(i,r),a)):l},mv:function(e,t,n){var o=t[t.length-1],i=e.call(o);return"function"==typeof i?this.ct(c(i.call(o)),o,n):i},sub:function(e,t,n,o){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,i=/>/g,r=/\'/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,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("\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.b(o.t(o.f("blockHeader",e,t,0))),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("\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:{}});var __assign$1=function(){return __assign$1=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$1.apply(this,arguments)},HoganJsUtils=function(){function e(e){var t=e.compiledTemplates,n=void 0===t?{}:t,o=e.rawTemplates,i=void 0===o?{}:o,r=Object.entries(i).reduce((function(e,t){var n,o=t[0],i=t[1],r=hogan.compile(i,{asString:!1});return __assign$1(__assign$1({},e),((n={})[o]=r,n))}),{});this.preCompiledTemplates=__assign$1(__assign$1(__assign$1({},defaultTemplates),n),r)}return e.compile=function(e){return hogan.compile(e,{asString:!1})},e.prototype.render=function(e,t,n,o,i){var r=this.templateKey(e,t);try{return this.preCompiledTemplates[r].render(n,o,i)}catch(e){throw new Error("Could not find template to render '".concat(r,"'"))}},e.prototype.template=function(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]},e.prototype.templateKey=function(e,t){return"".concat(e,"-").concat(t)},e}(),__assign=function(){return __assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign.apply(this,arguments)},defaultDiff2HtmlConfig=__assign(__assign(__assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t){return void 0===t&&(t={}),parse$1(e,__assign(__assign({},defaultDiff2HtmlConfig),t))}function html(e,t){void 0===t&&(t={});var n=__assign(__assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,i=new HoganJsUtils(n);return(n.drawFileList?render(o,i):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(i,n).render(o):new LineByLineRenderer(i,n).render(o))}function create_fragment$1Q(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$1O(e,t,n){let o,i,r,{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,i=parse(o)),32&e.$$.dirty&&n(0,r=html(i,{drawFileList:!1}))},[r,a,s,c,l,i,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1O,create_fragment$1Q,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$U(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$H]},$$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$H(e){let t,n,o,i,r,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"),i=text$1(e[1]),r=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,i),append(o,r),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(i,e[1]),(!u||16&n)&&set_data(a,e[4]);const r={};40&n&&(r.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(r)},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$1P(e){let t,n,o=e[4]>0&&create_if_block$U(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$U(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$1N(e,t,n){let o,i=noop$3,r=()=>(i(),i=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>i()));let{icon:a}=t,{label:s}=t,{values:c}=t;r();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&&r(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$1N,create_fragment$1P,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function create_fragment$1O(e){let t,n;const o=[e[2],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=5&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{options:e[0]}]):{};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 instance$1M(e,t,n){let o,i;const r=["allowChooseModel","direction"];let a,s=compute_rest_props(t,r),c=noop$3;e.$$.on_destroy.push((()=>c()));let{allowChooseModel:l=!1}=t,{direction:u}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,s=compute_rest_props(t,r)),"allowChooseModel"in e&&n(3,l=e.allowChooseModel),"direction"in e&&n(4,u=e.direction)},e.$$.update=()=>{56&e.$$.dirty&&n(0,i=[...l?[{label:"(DB Model)",value:"__model"}]:[],..._.sortBy((a||[]).filter((e=>!(e.unsaved||"target"==u&&e.isReadOnly))).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")])},n(1,o=useConnectionList()),c(),c=subscribe(o,(e=>n(5,a=e))),[i,o,s,l,u,a]}class FormConnectionSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1O,safe_not_equal,{allowChooseModel:3,direction:4})}}function create_fragment$1N(e){let t,n;const o=[e[3],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};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 instance$1L(e,t,n){let o,i;const r=["conidName"];let a,s,c=compute_rest_props(t,r),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t;const{values:d}=getFormContext();return component_subscribe(e,d,(e=>n(6,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,r)),"conidName"in e&&n(4,u=e.conidName)},e.$$.update=()=>{80&e.$$.dirty&&(n(1,o=useDatabaseList({conid:s&&s[u]})),l(),l=subscribe(o,(e=>n(5,a=e)))),32&e.$$.dirty&&n(0,i=_.sortBy((a||[]).map((e=>({value:e.name,label:e.name}))),"label"))},[i,o,d,c,u,a,s]}class FormDatabaseSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1N,safe_not_equal,{conidName:4})}}function get_each_context$l(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$m(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$T(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$a),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$a)),t.$set(o)},i(e){n||(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$d(e){let t,n,o,i;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,r){insert(e,t,r),mount_component(n,t,null),insert(e,o,r),i=!0},p:noop$3,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),e&&detach(o)}}}function create_each_block$l(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,i){e=n;const r={};96&i[0]&&(r.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),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_2$l(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w,C,k,S,T,E,A,N,I;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const O=[create_if_block$T,create_else_block$m],R=[];function D(e,t){return"__model"==e[6]?.sourceConid?0:1}function L(t){e[35](t)}a=D(e),s=R[a]=O[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$d]},$$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 F={placeholder:"Search tables or objects"};void 0!==e[2]&&(F.value=e[2]),v=new SearchInput({props:F}),binding_callbacks.push((()=>bind(v,"value",L))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$8),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$4),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$2),e[6],"changed").length}}),A=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 M=_.keys(lib$5.DbDiffCompareDefs),P=[];for(let t=0;t<M.length;t+=1)P[t]=create_each_block$l(get_each_context$l(e,M,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),i=space(),r=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),h=space(),f=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),E=space(),create_component(A.$$.fragment),N=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(r,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(f,"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,i),append(t,r),R[a].m(r,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,h),append(t,f),mount_component(g,f,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,E),mount_component(A,b,null),append(b,N);for(let e=0;e<P.length;e+=1)P[e].m(b,null);I=!0},p(e,t){let n=a;a=D(e),a===n?R[a].p(e,t):(group_outros(),transition_out(R[n],1,1,(()=>{R[n]=null})),check_outros(),s=R[a],s?s.p(e,t):(s=R[a]=O[a](e),s.c()),transition_in(s,1),s.m(r,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const i={};!y&&4&t[0]&&(y=!0,i.value=e[2],add_flush_callback((()=>y=!1))),v.$set(i);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$8),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$2),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),A.$set(p),32864&t[0]){let n;for(M=_.keys(lib$5.DbDiffCompareDefs),n=0;n<M.length;n+=1){const o=get_each_context$l(e,M,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$l(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=M.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(A.$$.fragment,e);for(let e=0;e<M.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(A.$$.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),R[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(A),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,i,r;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),i||(r=listen(t,"change",a),i=!0)},p(i,r){e=i,16384&r[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&r[0]|16384&r[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),i=!1,r()}}}function create_default_slot_1$r(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$r]},$$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,i,r=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!i||16384&n[1])&&r!==(r=e[45].typeName+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,i,r,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$l]},$$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]),r=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind(r,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),attr(i,"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,i),mount_component(r,i,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};16&t[0]&&(i.rows=e[4]),64&t[0]|278528&t[1]&&(i.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,i.selectedIndex=e[1],add_flush_callback((()=>a=!1))),r.$set(i)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}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$1(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$1],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$G(e){let t,n,o,i,r;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,i||(r=action_destroyer(contextMenu.call(null,t,e[16])),i=!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),i=!1,r()}}}function create_toolstrip_slot$6(e){let t,n,o,i,r,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),r=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,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(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1M(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$6],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={};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$8=()=>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,i,r){if(!t&&!n||!r)return{sql:""};if("tables"==e)return lib$5.getAlterTableScript(t,n,o,i,i,r);const a=r.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$8().showReport(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().swap(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().deploy(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().refreshModels(),testEnabled:()=>null!=getCurrentEditor$8()});const func$a=e=>({label:e.name,value:`archive:${e.name}`}),func_1$8=e=>"added"==e.state,func_2$4=e=>"removed"==e.state,func_3$2=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1K(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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,E,A,N,I,O=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:R}=t,D=0,L="";const F=createActivator("CompareModelTab",!0);const{editorState:M,editorValue:P,setEditorData:j}=useEditorData({tabid:R}),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,R=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,i=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(i,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,r=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(r,(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,L)),549453850&e.$$.dirty[0]&&n(9,m=lib$5.computeTableDiffColumns(null===n(22,T=p[D])||void 0===T?void 0:T.source,null===n(23,E=p[D])||void 0===E?void 0:E.target,o,l)),922746906&e.$$.dirty[0]&&n(8,h=getAlterObjectScript(null===n(24,A=p[D])||void 0===A?void 0:A.objectTypeField,null===n(25,N=p[D])||void 0===N?void 0:N.target,null===n(26,I=p[D])||void 0===I?void 0:I.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(R,(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,f=useArchiveFolders()),S(),S=subscribe(f,(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){O(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:i}=o||{};i?showModal(ErrorMessageModal,{title:"Error when saving",message:i}):(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})},D,L,l,p,d,g,f,h,m,c,r,i,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,R,F,function(){return O(this,void 0,void 0,(function*(){saveFileToDisk((e=>O(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,E,A,N,I,a,s,o,u,$,b,v,y,function(e){L=e,n(2,L)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){D=e,n(1,D)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1M,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$l(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,i){insert(e,t,i),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$S(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$1L(e){let t,n,o,i;const r=[create_if_block$S,create_else_block$l],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1J(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=!1,r=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,i=!0);const e=yield apiCall("config/changelog");n(1,r=e),n(0,i=!1)}))})),[i,r]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1L,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$u(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$R(e){let t,n,o,i;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",i=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,r){8&r&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&r&&i!==(i=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",i)},d(e){e&&detach(t)}}}function create_fragment$1K(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$u(e),i=e[2]&&create_if_block$R(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),i&&i.c(),attr(t,"class","svelte-j16aco")},m(e,r){insert(e,t,r),o&&o.m(t,null),append(t,n),i&&i.m(t,null)},p(e,[r]){e[0]&&e[1]?o?o.p(e,r):(o=create_if_block_1$u(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?i?i.p(e,r):(i=create_if_block$R(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),i&&i.d()}}}const arwi=12,arhi=12;function instance$1I(e,t,n){let{reference:o}=t,{onRemoveReference:i}=t,{onChangeReference:r}=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:i,columns:r,joinType:a}=o,c=s[t],m=s[i];if(!c||!m)return null;const h=c.getRect(),f=m.getRect();if(!h||!f)return null;n(0,l={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(1,u={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(2,d=intersectLineBox(l,u,f)[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,i=e.onRemoveReference),"onChangeReference"in e&&n(6,r=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,i,r,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1K,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$1J(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:DiagramDesignerReference}]):{};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 instance$1H(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$1H,create_fragment$1J,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$F(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$5(e){let t,n,o,i,r,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),r=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),i=space(),create_component(r.$$.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,i,d),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1I(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$F]},$$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$7=()=>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$1G(e,t,n){let o,i,{tabid:r}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:r,onInitialData:e=>{h({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,i=e)));const[m,h]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,r=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)=>{h({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,r,c,l,function(){return r},function(){return i.value||""},function(){return o.canUndo},function(){h({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){h({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$7,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1I,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$1H(e){let t,n,o;function i(t){e[8](t)}let r={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$9)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(r.selectedIndex=e[2]),t=new ScrollableTableControl({props:r}),binding_callbacks.push((()=>bind(t,"selectedIndex",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const i={};1&o&&(i.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$9)]),2&o&&(i.rows=e[1]),8&o&&(i.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,i.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(i)},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$9=e=>({fieldName:e.name,header:e.name});function instance$1F(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const h=createRef(null);function f(){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:r,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(),f())}}))}return onMount((()=>{f()})),e.$$set=e=>{"conid"in e&&n(5,r=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[i]&&h.get()!=i&&(h.set(i),c(l[i])),e.$$.dirty},[s,l,i,m,f,r,a,c,function(e){i=e,n(2,i)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1H,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$t(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$Q(e){let t,n,o,i;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,r){insert(e,t,r),append(t,n),mount_component(o,n,null),i=!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){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1G(e){let t,n,o,i,r,a,s,c,l,u=_.startCase(e[0].name)+"";r=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),r.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$t(e),p="json"==e[3]&&create_if_block$Q(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),i=space(),create_component(r.$$.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,i),mount_component(r,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]),r.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$t(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$Q(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(r.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(r),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1E(e,t,n){let o="text",{column:i}=t,{item:r}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,i=e.column),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[i,r,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...r,[i.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1G,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$k(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$k(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$1F(e){let t,n,o=e[0],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$k(get_each_context$k(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("div");for(let e=0;e<i.length;e+=1)i[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<i.length;e+=1)i[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 r=get_each_context$k(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$k(r),i[a].c(),transition_in(i[a],1),i[a].m(t,null))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function instance$1D(e,t,n){let{dbKeyFields:o}=t,{item:i}=t,{onChangeItem:r=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,r=e.onChangeItem)},[o,i,r]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1F,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$q(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,i){insert(e,t,i),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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$E(e){let t,n;const o=[e[3]];let i={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$q]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(i.$$scope={dirty:n,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$1E(e){let t,n;return t=new FormProvider({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={};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$1C(e,t,n){const o=["keyInfo","label","onConfirm"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=()=>r(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,i=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,i,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1E,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,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[19].type+"";i=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$g(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$s(e);f=new FormStyledButton({props:{value:"Refresh"}}),f.$on("click",e[7]);const C=[create_if_block$P,create_else_block$k],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(i.$$.fragment),r=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(),h=space(),create_component(f.$$.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(i,o,null),append(o,r),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,h),mount_component(f,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const r={};23&o&&(r.icon=lib$5.getIconForRedisType(e[19].type)),i.$set(r),(!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$g(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$s(e),w.c(),transition_in(w,1),w.m(n,h)):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(i.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(f.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(f.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(i),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(f),k[$].d()}}}function create_if_block_2$g(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$s(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$k(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$P(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$1D(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,[o]){e=t,i.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,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=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$1B(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=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 h(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>i(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]}),f())}))})}function f(){n(5,m=null),n(4,p+=1)}function g(e){return i(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>i(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):(f(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,r=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(r,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,h,f,function(){return i(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),f()}))},g,r,l,u,o,e=>h(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$1B,create_fragment$1D,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$j(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$O(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$D(e){let t,n,o,i;const r=[create_if_block$O,create_else_block$j],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$4(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),r=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1C(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],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={};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$6=()=>getActiveComponent("QueryDataTab");function instance$1A(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,h=!1;function f(e,t,o){return a(this,void 0,void 0,(function*(){const i=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=i.jslid),h=!0}))}const g=createQuickExportHandlerRef();function _(){h=!1,invalidateCommands()}return onDestroy((()=>{c&&h&&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&&f(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}))),r(),r=subscribe(o,(e=>n(12,i=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),f(p,m,l)},g,s,l,u,d,p,m,function(){return h},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),h=!1,invalidateCommands())},i]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$6())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor$6().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1C,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$C(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1B(e){let t,n,o,i,r;const a=[e[5],{value:e[2][e[0]]},{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[4]),i=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),i.$on("click",e[4]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(i,t,null),r=!0},p(e,[t]){const o=39&t?get_spread_update(a,[32&t&&get_spread_object(e[5]),5&t&&{value:e[2][e[0]]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const r={};2&t&&(r.disabled=e[1]),256&t&&(r.$$scope={dirty:t,ctx:e}),i.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function instance$1z(e,t,n){const o=["name","disabled"];let i,r=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;const{values:l,setFieldValue:u}=getFormContext();return component_subscribe(e,l,(e=>n(2,i=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled)},[s,c,i,l,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:l[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&u(s,n)}))},r]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1B,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$B(e){let t,n;const o=[{name:e[1]},e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormElectronFileSelectorRaw({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};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$1A(e){let t,n,o;const i=[{type:"select"},{label:e[0]},e[2]];var r=e[3];function a(e){let t={$$slots:{default:[create_default_slot$B]},$$scope:{ctx:e}};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(t=new r(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,[o]){const s=5&o?get_spread_update(i,[i[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),r!==(r=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&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$1y(e,t,n){const o=["label","name","templateProps"];let i=compute_rest_props(t,o),{label:r}=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,i=compute_rest_props(t,o)),"label"in e&&n(0,r=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[r,a,s,c,i]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1A,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$j(e,t,n){const o=e.slice();return o[11]=t[n],o}function create_each_block$j(e){let t,n,o,i,r,a,s,c,l,u,d,p=e[11].label+"";return{c(){t=element("div"),n=element("input"),r=space(),a=element("label"),s=text$1(p),l=space(),attr(n,"type","radio"),n.__value=o=e[11].value,n.value=n.__value,attr(n,"id",i=e[11].id),e[6][0].push(n),attr(a,"for",c=e[11].id)},m(o,i){insert(o,t,i),append(t,n),n.checked=n.__value===e[0],append(t,r),append(t,a),append(a,s),append(t,l),u||(d=listen(n,"change",e[5]),u=!0)},p(e,t){2&t&&o!==(o=e[11].value)&&(n.__value=o,n.value=n.__value),2&t&&i!==(i=e[11].id)&&attr(n,"id",i),1&t&&(n.checked=n.__value===e[0]),2&t&&p!==(p=e[11].label+"")&&set_data(s,p),2&t&&c!==(c=e[11].id)&&attr(a,"for",c)},d(o){o&&detach(t),e[6][0].splice(e[6][0].indexOf(n),1),u=!1,d()}}}function create_fragment$1z(e){let t,n=e[1],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$j(get_each_context$j(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].m(e,n);insert(e,t,n)},p(e,[i]){if(3&i){let r;for(n=e[1],r=0;r<n.length;r+=1){const a=get_each_context$j(e,n,r);o[r]?o[r].p(a,i):(o[r]=create_each_block$j(a),o[r].c(),o[r].m(t.parentNode,t))}for(;r<o.length;r+=1)o[r].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1x(e,t,n){let o,i;var r,a;let{options:s=[]}=t,{name:c}=t;const{values:l,setFieldValue:u}=getFormContext();component_subscribe(e,l,(e=>n(9,i=e)));let d=null!==(r=i[c])&&void 0!==r?r:null===(a=s.find((e=>e.default)))||void 0===a?void 0:a.value;return e.$$set=e=>{"options"in e&&n(3,s=e.options),"name"in e&&n(4,c=e.name)},e.$$.update=()=>{17&e.$$.dirty&&u(c,d),8&e.$$.dirty&&n(1,o=s.map((e=>Object.assign(Object.assign({},e),{id:v1_1$6()}))))},[d,o,l,s,c,function(){d=this.__value,n(0,d)},[[]]]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1z,safe_not_equal,{options:3,name:4})}}function create_if_block_20(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:e[4]||!e[12]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.disabled=e[4]||!e[12]),t.$set(o)},i(e){n||(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;return n=new FormRadioGroupField({props:{disabled:e[4],name:"useDatabaseUrl",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,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};16&t&&(o.disabled=e[4]),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_18(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[0]?.databaseUrlPlaceholder,disabled:e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.placeholder=e[0]?.databaseUrlPlaceholder),16&n&&(o.disabled=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_17(e){let t,n;return t=new FormSelectField({props:{label:e[0]?.authTypeLabel??"Authentication",name:"authType",isNative:!0,disabled:e[4],defaultValue:e[0]?.defaultAuthTypeName,options:e[3].map(func_2$3)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.label=e[0]?.authTypeLabel??"Authentication"),16&n&&(o.disabled=e[4]),1&n&&(o.defaultValue=e[0]?.defaultAuthTypeName),8&n&&(o.options=e[3].map(func_2$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_14$1(e){let t,n,o,i,r,a,s,c=e[0]?.showConnectionField("port",e[1]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[4]||e[9].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_16$1(e),d=l&&create_if_block_15$1();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),u&&u.c(),r=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,i),u&&u.m(t,null),insert(e,r,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const i={};528&n&&(i.disabled=e[4]||e[9].includes("server")),o.$set(i),3&n&&(c=e[0]?.showConnectionField("port",e[1])),c?u?(u.p(e,n),3&n&&transition_in(u,1)):(u=create_if_block_16$1(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(r),d&&d.d(e),e&&detach(a)}}}function create_if_block_16$1(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[4]||e[9].includes("port"),templateProps:{noMargin:!0},placeholder:e[0]?.defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].includes("port")),1&t&&(o.placeholder=e[0]?.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_15$1(e){let t,n,o,i;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,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_13$2(e){let t,n;return t=new FormTextField({props:{label:"Socket path",name:"socketPath",disabled:e[4]||e[9].includes("socketPath"),placeholder:e[0]?.defaultSocketPath}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].includes("socketPath")),1&n&&(o.placeholder=e[0]?.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_10$2(e){let t,n,o,i=e[7]&&create_if_block_12$2(e),r=e[6]&&create_if_block_11$2(e);return{c(){t=element("div"),i&&i.c(),n=space(),r&&r.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),i&&i.m(t,null),append(t,n),r&&r.m(t,null),o=!0},p(e,o){e[7]?i?(i.p(e,o),128&o&&transition_in(i,1)):(i=create_if_block_12$2(e),i.c(),transition_in(i,1),i.m(t,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros()),e[6]?r?(r.p(e,o),64&o&&transition_in(r,1)):(r=create_if_block_11$2(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(i),transition_in(r),o=!0)},o(e){transition_out(i),transition_out(r),o=!1},d(e){e&&detach(t),i&&i.d(),r&&r.d()}}}function create_if_block_12$2(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[4]||e[9].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].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_11$2(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[4]||e[9].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].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_9$2(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[4]||e[9].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].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_8$2(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[4]||e[9].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].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_7$2(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",disabled:e[4],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={};16&n&&(o.disabled=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_6$4(e){let t,n;return t=new FormTextField({props:{label:"Key separator",name:"treeKeySeparator",disabled:e[4],placeholder:":"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.disabled=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_5$6(e){let t,n;return t=new FormTextField({props:{label:"Domain (specify to use NTLM authentication)",name:"windowsDomain",disabled: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.disabled=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_4$9(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly",disabled: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.disabled=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$a(e){let t,n;return t=new FormCheckboxField({props:{label:"Trust server certificate",name:"trustServerCertificate",disabled: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.disabled=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_2$f(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase",disabled: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.disabled=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_1$r(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[8]}`,name:"singleDatabase",disabled:e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.label=`Use only database ${e[8]}`),16&n&&(o.disabled=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$N(e){let t,n,o,i,r,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0},disabled:e[4]}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0},disabled:e[4]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};16&t&&(n.disabled=e[4]),o.$set(n);const i={};16&t&&(i.disabled=e[4]),a.$set(i)},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$1y(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[0]?.showConnectionField("databaseFile",e[1]),x=e[0]?.showConnectionField("useDatabaseUrl",e[1]),w=e[0]?.showConnectionField("databaseUrl",e[1]),C=e[3]&&e[0]?.showConnectionField("authType",e[1]),k=e[0]?.showConnectionField("server",e[1]),S=e[0]?.showConnectionField("socketPath",e[1]),T=!e[9].includes("password")&&e[5],E=e[0]?.showConnectionField("treeKeySeparator",e[1]),A=e[0]?.showConnectionField("windowsDomain",e[1]),N=e[0]?.showConnectionField("isReadOnly",e[1]),I=e[0]?.showConnectionField("trustServerCertificate",e[1]),O=e[0]?.showConnectionField("defaultDatabase",e[1]),R=e[8]&&e[0]?.showConnectionField("singleDatabase",e[1]);t=new FormSelectField({props:{label:"Connection type",name:"engine",isNative:!0,disabled:e[4],options:[{label:"(select connection type)",value:""},...e[2].drivers.filter(e[18]).map(func_1$7)]}});let D=y&&create_if_block_20(e),L=x&&create_if_block_19(e),F=w&&create_if_block_18(e),M=C&&create_if_block_17(e),P=k&&create_if_block_14$1(e),j=S&&create_if_block_13$2(e),B=e[7]&&e[6]&&create_if_block_10$2(e),q=e[7]&&!e[6]&&create_if_block_9$2(e),z=!e[7]&&e[6]&&create_if_block_8$2(e),U=T&&create_if_block_7$2(e),W=E&&create_if_block_6$4(e),V=A&&create_if_block_5$6(e),H=N&&create_if_block_4$9(e),G=I&&create_if_block_3$a(e),K=O&&create_if_block_2$f(e),Y=R&&create_if_block_1$r(e),J=e[0]&&create_if_block$N(e);return{c(){create_component(t.$$.fragment),n=space(),D&&D.c(),o=space(),L&&L.c(),i=space(),F&&F.c(),r=space(),M&&M.c(),a=space(),P&&P.c(),s=space(),j&&j.c(),c=space(),B&&B.c(),l=space(),q&&q.c(),u=space(),z&&z.c(),d=space(),U&&U.c(),p=space(),W&&W.c(),m=space(),V&&V.c(),h=space(),H&&H.c(),f=space(),G&&G.c(),g=space(),K&&K.c(),_=space(),Y&&Y.c(),$=space(),J&&J.c(),b=empty()},m(e,y){mount_component(t,e,y),insert(e,n,y),D&&D.m(e,y),insert(e,o,y),L&&L.m(e,y),insert(e,i,y),F&&F.m(e,y),insert(e,r,y),M&&M.m(e,y),insert(e,a,y),P&&P.m(e,y),insert(e,s,y),j&&j.m(e,y),insert(e,c,y),B&&B.m(e,y),insert(e,l,y),q&&q.m(e,y),insert(e,u,y),z&&z.m(e,y),insert(e,d,y),U&&U.m(e,y),insert(e,p,y),W&&W.m(e,y),insert(e,m,y),V&&V.m(e,y),insert(e,h,y),H&&H.m(e,y),insert(e,f,y),G&&G.m(e,y),insert(e,g,y),K&&K.m(e,y),insert(e,_,y),Y&&Y.m(e,y),insert(e,$,y),J&&J.m(e,y),insert(e,b,y),v=!0},p(e,[n]){const v={};16&n&&(v.disabled=e[4]),4&n&&(v.options=[{label:"(select connection type)",value:""},...e[2].drivers.filter(e[18]).map(func_1$7)]),t.$set(v),3&n&&(y=e[0]?.showConnectionField("databaseFile",e[1])),y?D?(D.p(e,n),3&n&&transition_in(D,1)):(D=create_if_block_20(e),D.c(),transition_in(D,1),D.m(o.parentNode,o)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros()),3&n&&(x=e[0]?.showConnectionField("useDatabaseUrl",e[1])),x?L?(L.p(e,n),3&n&&transition_in(L,1)):(L=create_if_block_19(e),L.c(),transition_in(L,1),L.m(i.parentNode,i)):L&&(group_outros(),transition_out(L,1,1,(()=>{L=null})),check_outros()),3&n&&(w=e[0]?.showConnectionField("databaseUrl",e[1])),w?F?(F.p(e,n),3&n&&transition_in(F,1)):(F=create_if_block_18(e),F.c(),transition_in(F,1),F.m(r.parentNode,r)):F&&(group_outros(),transition_out(F,1,1,(()=>{F=null})),check_outros()),11&n&&(C=e[3]&&e[0]?.showConnectionField("authType",e[1])),C?M?(M.p(e,n),11&n&&transition_in(M,1)):(M=create_if_block_17(e),M.c(),transition_in(M,1),M.m(a.parentNode,a)):M&&(group_outros(),transition_out(M,1,1,(()=>{M=null})),check_outros()),3&n&&(k=e[0]?.showConnectionField("server",e[1])),k?P?(P.p(e,n),3&n&&transition_in(P,1)):(P=create_if_block_14$1(e),P.c(),transition_in(P,1),P.m(s.parentNode,s)):P&&(group_outros(),transition_out(P,1,1,(()=>{P=null})),check_outros()),3&n&&(S=e[0]?.showConnectionField("socketPath",e[1])),S?j?(j.p(e,n),3&n&&transition_in(j,1)):(j=create_if_block_13$2(e),j.c(),transition_in(j,1),j.m(c.parentNode,c)):j&&(group_outros(),transition_out(j,1,1,(()=>{j=null})),check_outros()),e[7]&&e[6]?B?(B.p(e,n),192&n&&transition_in(B,1)):(B=create_if_block_10$2(e),B.c(),transition_in(B,1),B.m(l.parentNode,l)):B&&(group_outros(),transition_out(B,1,1,(()=>{B=null})),check_outros()),e[7]&&!e[6]?q?(q.p(e,n),192&n&&transition_in(q,1)):(q=create_if_block_9$2(e),q.c(),transition_in(q,1),q.m(u.parentNode,u)):q&&(group_outros(),transition_out(q,1,1,(()=>{q=null})),check_outros()),!e[7]&&e[6]?z?(z.p(e,n),192&n&&transition_in(z,1)):(z=create_if_block_8$2(e),z.c(),transition_in(z,1),z.m(d.parentNode,d)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),544&n&&(T=!e[9].includes("password")&&e[5]),T?U?(U.p(e,n),544&n&&transition_in(U,1)):(U=create_if_block_7$2(e),U.c(),transition_in(U,1),U.m(p.parentNode,p)):U&&(group_outros(),transition_out(U,1,1,(()=>{U=null})),check_outros()),3&n&&(E=e[0]?.showConnectionField("treeKeySeparator",e[1])),E?W?(W.p(e,n),3&n&&transition_in(W,1)):(W=create_if_block_6$4(e),W.c(),transition_in(W,1),W.m(m.parentNode,m)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),3&n&&(A=e[0]?.showConnectionField("windowsDomain",e[1])),A?V?(V.p(e,n),3&n&&transition_in(V,1)):(V=create_if_block_5$6(e),V.c(),transition_in(V,1),V.m(h.parentNode,h)):V&&(group_outros(),transition_out(V,1,1,(()=>{V=null})),check_outros()),3&n&&(N=e[0]?.showConnectionField("isReadOnly",e[1])),N?H?(H.p(e,n),3&n&&transition_in(H,1)):(H=create_if_block_4$9(e),H.c(),transition_in(H,1),H.m(f.parentNode,f)):H&&(group_outros(),transition_out(H,1,1,(()=>{H=null})),check_outros()),3&n&&(I=e[0]?.showConnectionField("trustServerCertificate",e[1])),I?G?(G.p(e,n),3&n&&transition_in(G,1)):(G=create_if_block_3$a(e),G.c(),transition_in(G,1),G.m(g.parentNode,g)):G&&(group_outros(),transition_out(G,1,1,(()=>{G=null})),check_outros()),3&n&&(O=e[0]?.showConnectionField("defaultDatabase",e[1])),O?K?(K.p(e,n),3&n&&transition_in(K,1)):(K=create_if_block_2$f(e),K.c(),transition_in(K,1),K.m(_.parentNode,_)):K&&(group_outros(),transition_out(K,1,1,(()=>{K=null})),check_outros()),259&n&&(R=e[8]&&e[0]?.showConnectionField("singleDatabase",e[1])),R?Y?(Y.p(e,n),259&n&&transition_in(Y,1)):(Y=create_if_block_1$r(e),Y.c(),transition_in(Y,1),Y.m($.parentNode,$)):Y&&(group_outros(),transition_out(Y,1,1,(()=>{Y=null})),check_outros()),e[0]?J?(J.p(e,n),1&n&&transition_in(J,1)):(J=create_if_block$N(e),J.c(),transition_in(J,1),J.m(b.parentNode,b)):J&&(group_outros(),transition_out(J,1,1,(()=>{J=null})),check_outros())},i(e){v||(transition_in(t.$$.fragment,e),transition_in(D),transition_in(L),transition_in(F),transition_in(M),transition_in(P),transition_in(j),transition_in(B),transition_in(q),transition_in(z),transition_in(U),transition_in(W),transition_in(V),transition_in(H),transition_in(G),transition_in(K),transition_in(Y),transition_in(J),v=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(D),transition_out(L),transition_out(F),transition_out(M),transition_out(P),transition_out(j),transition_out(B),transition_out(q),transition_out(z),transition_out(U),transition_out(W),transition_out(V),transition_out(H),transition_out(G),transition_out(K),transition_out(Y),transition_out(J),v=!1},d(e){destroy_component(t,e),e&&detach(n),D&&D.d(e),e&&detach(o),L&&L.d(e),e&&detach(i),F&&F.d(e),e&&detach(r),M&&M.d(e),e&&detach(a),P&&P.d(e),e&&detach(s),j&&j.d(e),e&&detach(c),B&&B.d(e),e&&detach(l),q&&q.d(e),e&&detach(u),z&&z.d(e),e&&detach(d),U&&U.d(e),e&&detach(p),W&&W.d(e),e&&detach(m),V&&V.d(e),e&&detach(h),H&&H.d(e),e&&detach(f),G&&G.d(e),e&&detach(g),K&&K.d(e),e&&detach(_),Y&&Y.d(e),e&&detach($),J&&J.d(e),e&&detach(b)}}}const func_1$7=e=>({value:e.engine,label:e.title}),func_2$3=e=>({value:e.name,label:e.title});function instance$1w(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(16,f=e))),component_subscribe(e,openedConnections,(e=>n(17,g=e))),component_subscribe(e,extensions,(e=>n(2,_=e))),e.$$.on_destroy.push((()=>b()));const{values:v}=getFormContext();component_subscribe(e,v,(e=>n(1,h=e)));const y=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(15,o=h.authType),2&e.$$.dirty&&n(13,i=h.engine),2&e.$$.dirty&&h.useDatabaseUrl,8192&e.$$.dirty&&(n(10,r=useAuthTypes({engine:i})),b(),b=subscribe(r,(e=>n(3,$=e)))),32776&e.$$.dirty&&n(14,a=$&&$.find((e=>e.name==o))),16384&e.$$.dirty&&n(9,s=(a?a.disabledFields:null)||[]),8196&e.$$.dirty&&n(0,c=_.drivers.find((e=>e.engine==i))),2&e.$$.dirty&&n(8,l=h.defaultDatabase),3&e.$$.dirty&&n(7,u=(null==c?void 0:c.showConnectionField("user",h))&&"askUser"!=h.passwordMode),3&e.$$.dirty&&n(6,d=(null==c?void 0:c.showConnectionField("password",h))&&"askPassword"!=h.passwordMode&&"askUser"!=h.passwordMode),3&e.$$.dirty&&n(5,p=null==c?void 0:c.showConnectionField("password",h)),196610&e.$$.dirty&&n(4,m=g.includes(h._id)||f.includes(h._id))},[c,h,_,$,m,p,d,u,l,s,r,v,y,i,a,o,f,g,e=>!e.isElectronOnly||y]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1y,safe_not_equal,{})}}function create_if_block_4$8(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[2]||!e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};20&n&&(o.disabled=e[2]||!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$9(e){let t,n,o,i,r,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};20&t&&(n.disabled=e[2]||!e[4]),o.$set(n);const i={};20&t&&(i.disabled=e[2]||!e[4]),a.$set(i)},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$e(e){let t,n,o,i,r,a,s;return o=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};20&t&&(n.disabled=e[2]||!e[4]),o.$set(n);const i={};20&t&&(i.disabled=e[2]||!e[4]),a.$set(i)},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$M(e){let t,n,o,i;const r=[create_if_block_1$q,create_else_block$i],a=[];function s(e,t){return e[1]&&e[1].sshAuthSock?0:1}return n=s(e),o=a[n]=r[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),i=!0},p(e,i){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]=r[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$i(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,i){mount_component(t,e,i),insert(e,n,i),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$q(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,i){mount_component(t,e,i),insert(e,n,i),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$1x(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel",disabled:e[2]}}),r=new FormTextField({props:{label:"Host",name:"sshHost",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:e[2]||!e[4],templateProps:{noMargin:!0},placeholder:"22"}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:e[2]||!e[4]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,disabled:e[2]||!e[4],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},e[6]&&{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=e[0].sshMode&&create_if_block_4$8(e),v="userPassword"==e[0].sshMode&&create_if_block_3$9(e),y="keyFile"==e[0].sshMode&&create_if_block_2$e(e),x=e[4]&&"agent"==e[0].sshMode&&create_if_block$M(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),i=element("div"),create_component(r.$$.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(),h=space(),v&&v.c(),f=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(i,"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,i),mount_component(r,i,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,h,w),v&&v.m(e,w),insert(e,f,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[n]){const o={};4&n&&(o.disabled=e[2]),t.$set(o);const i={};20&n&&(i.disabled=e[2]||!e[4]),r.$set(i);const a={};20&n&&(a.disabled=e[2]||!e[4]),c.$set(a);const s={};20&n&&(s.disabled=e[2]||!e[4]),u.$set(s);const l={};20&n&&(l.disabled=e[2]||!e[4]),p.$set(l),"userPassword"!=e[0].sshMode?b?(b.p(e,n),1&n&&transition_in(b,1)):(b=create_if_block_4$8(e),b.c(),transition_in(b,1),b.m(h.parentNode,h)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==e[0].sshMode?v?(v.p(e,n),1&n&&transition_in(v,1)):(v=create_if_block_3$9(e),v.c(),transition_in(v,1),v.m(f.parentNode,f)):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$e(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[4]&&"agent"==e[0].sshMode?x?(x.p(e,n),17&n&&transition_in(x,1)):(x=create_if_block$M(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(r.$$.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(r.$$.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(r),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(h),v&&v.d(e),e&&detach(f),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1v(e,t,n){let o,i,r,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(4,o=a.useSshTunnel),3&e.$$.dirty&&(a.sshMode||p("sshMode","userPassword"),!a.sshKeyfile&&l&&p("sshKeyfile",l.defaultKeyfile)),385&e.$$.dirty&&n(2,r=c.includes(a._id)||s.includes(a._id))},n(3,i=usePlatformInfo()),u(),u=subscribe(i,(e=>n(1,l=e))),[a,l,r,i,o,d,m,s,c]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1x,safe_not_equal,{})}}function create_fragment$1w(e){let t,n,o,i,r,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]}}),r=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),i=space(),create_component(r.$$.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,i,m),mount_component(r,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 i={};1&n&&(i.disabled=e[0]),t.$set(i);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]),r.$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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1u(e,t,n){let o,i,r,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,r=e)));const u=getElectron();return e.$$.update=()=>{16&e.$$.dirty&&n(1,o=r.useSsl),112&e.$$.dirty&&n(0,i=s.includes(r._id)||a.includes(r._id))},[i,o,c,u,r,a,s]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1w,safe_not_equal,{})}}function create_if_block$L(e){let t,n,o,i,r,a,s,c,l;const u=[create_if_block_4$7,create_else_block$h],d=[];function p(e,t){return e[3]?0:1}o=p(e),i=d[o]=u[o](e);let m=!e[1]&&e[2]&&"connected"==e[2].msgtype&&create_if_block_3$8(e),h=!e[1]&&e[2]&&"error"==e[2].msgtype&&create_if_block_2$d(e),f=e[1]&&create_if_block_1$p();return{c(){t=element("div"),n=element("div"),i.c(),r=space(),a=element("div"),m&&m.c(),s=space(),h&&h.c(),c=space(),f&&f.c(),attr(n,"class","buttons svelte-1patgrk"),attr(a,"class","test-result svelte-1patgrk"),attr(t,"class","flex")},m(e,i){insert(e,t,i),append(t,n),d[o].m(n,null),append(t,r),append(t,a),m&&m.m(a,null),append(a,s),h&&h.m(a,null),append(a,c),f&&f.m(a,null),l=!0},p(e,t){let r=o;o=p(e),o===r?d[o].p(e,t):(group_outros(),transition_out(d[r],1,1,(()=>{d[r]=null})),check_outros(),i=d[o],i?i.p(e,t):(i=d[o]=u[o](e),i.c()),transition_in(i,1),i.m(n,null)),!e[1]&&e[2]&&"connected"==e[2].msgtype?m?(m.p(e,t),6&t&&transition_in(m,1)):(m=create_if_block_3$8(e),m.c(),transition_in(m,1),m.m(a,s)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[1]&&e[2]&&"error"==e[2].msgtype?h?(h.p(e,t),6&t&&transition_in(h,1)):(h=create_if_block_2$d(e),h.c(),transition_in(h,1),h.m(a,c)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]?f?2&t&&transition_in(f,1):(f=create_if_block_1$p(),f.c(),transition_in(f,1),f.m(a,null)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(i),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(i),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){e&&detach(t),d[o].d(),m&&m.d(),h&&h.d(),f&&f.d()}}}function create_else_block$h(e){let t,n,o,i,r,a,s;t=new FormButton({props:{value:"Connect"}}),t.$on("click",e[9]);const c=[create_if_block_5$5,create_else_block_1$4],l=[];function u(e,t){return e[1]?0:1}return o=u(e),i=l[o]=c[o](e),a=new FormButton({props:{value:"Save"}}),a.$on("click",e[8]),{c(){create_component(t.$$.fragment),n=space(),i.c(),r=space(),create_component(a.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),l[o].m(e,i),insert(e,r,i),mount_component(a,e,i),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(),i=l[o],i?i.p(e,t):(i=l[o]=c[o](e),i.c()),transition_in(i,1),i.m(r.parentNode,r))},i(e){s||(transition_in(t.$$.fragment,e),transition_in(i),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),l[o].d(e),e&&detach(r),destroy_component(a,e)}}}function create_if_block_4$7(e){let t,n;return t=new FormButton({props:{value:"Disconnect"}}),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_else_block_1$4(e){let t,n;return t=new FormButton({props:{value:"Test"}}),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_if_block_5$5(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[7]),{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$8(e){let t,n,o,i,r,a,s=e[2].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),i=space(),r=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,i),append(t,r),a=!0},p(e,t){(!a||4&t)&&s!==(s=e[2].version+"")&&set_data(r,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$d(e){let t,n,o,i,r,a,s,c,l=e[2].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[18],$$slots:{default:[create_default_slot_1$p]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),i=space(),r=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,i),append(t,r),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4&t)&&l!==(l=e[2].error+"")&&set_data(r,l);const n={};4&t&&(n.onClick=e[18]),4194304&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$p(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$p(e){let t,n,o,i;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_default_slot$A(e){let t,n,o,i;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[4]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[4]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]}});let r=e[4]&&create_if_block$L(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","wrapper svelte-1patgrk")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};17&o&&(i.tabs=[{label:"General",component:ConnectionDriverFields},e[4]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[4]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]),n.$set(i),e[4]?r?(r.p(e,o),16&o&&transition_in(r,1)):(r=create_if_block$L(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){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_fragment$1v(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[5],$$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={};4194335&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$1t(e,t,n){let o,i,r,a,s,c,l;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(15,s=e))),component_subscribe(e,openedConnections,(e=>n(16,c=e))),component_subscribe(e,extensions,(e=>n(17,l=e)));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 d,p,{connection:m}=t,{tabid:h}=t,{conid:f}=t;const g=writable(m||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,g,(e=>n(0,a=e)));const $=createRef(0);function b(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase","socketPath"],t=e.filter((e=>null==i?void 0:i.showConnectionField(e,a))),n=_.difference(e,t);a.defaultDatabase||n.push("singleDatabase");let o=_.omit(a,n);return(null==i?void 0:i.beforeConnectionSave)&&(o=null==i?void 0:i.beforeConnectionSave(o)),(null==i?void 0:i.showConnectionTab("sshTunnel",a))?a.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==i?void 0:i.showConnectionTab("ssl",a))?a.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>u(void 0,void 0,void 0,(function*(){f&&set_store_value(g,a=yield apiCall("connections/get",{conid:f}),a)}))));return e.$$set=e=>{"connection"in e&&n(11,m=e.connection),"tabid"in e&&n(12,h=e.tabid),"conid"in e&&n(13,f=e.conid)},e.$$.update=()=>{1&e.$$.dirty&&n(14,o=a.engine),147456&e.$$.dirty&&n(4,i=l.drivers.find((e=>e.engine==o))),98305&e.$$.dirty&&n(3,r=c.includes(a._id)||s.includes(a._id))},[a,d,p,r,i,g,function(e){return u(this,void 0,void 0,(function*(){n(1,d=!0),$.update((e=>e+1));const t=$.get(),o=yield apiCall("connections/test",e.detail);$.get()==t&&(n(1,d=!1),n(2,p=o))}))},function(){$.update((e=>e+1)),n(1,d=!1)},function(){return u(this,void 0,void 0,(function*(){let e=b();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(g,a=Object.assign(Object.assign({},a),{_id:t._id,unsaved:!1}),a),changeTab(h,(e=>Object.assign(Object.assign({},e),{title:getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return u(this,void 0,void 0,(function*(){let e=b();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!0}));const t=yield apiCall("connections/save",e);set_store_value(g,a=Object.assign(Object.assign({},a),{unsaved:e.unsaved,_id:t._id}),a),openConnection(t)}))},function(){return u(this,void 0,void 0,(function*(){a.singleDatabase?disconnectDatabaseConnection(a._id,a.defaultDatabase):disconnectServerConnection(a._id)}))},m,h,f,o,s,c,l,()=>showModal(ErrorMessageModal,{message:p.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1v,safe_not_equal,{connection:11,tabid:12,conid:13})}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps});function create_if_block$K(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$1u(e){let t,n,o=e[0]&&create_if_block$K(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$K(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$1s(e,t,n){let o,{tabid:i}=t;return useEditorData({tabid:i,onInitialData:e=>{n(0,o=e)}}),e.$$set=e=>{"tabid"in e&&n(1,i=e.tabid)},[o,i]}class MapTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1u,safe_not_equal,{tabid:1})}}var MapTab$1=Object.freeze({__proto__:null,default:MapTab});function get_each_context$i(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$8)}}),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 i={};256&o[0]&&(i.value=e[43].baseColumnName),4096&o[0]&&(i.options=(e[12]?.columns||[]).map(func$8)),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_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$6)}}),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 i={};256&o[0]&&(i.value=e[43].refColumnName),3145728&o[0]&&(i.options=(e[20]?.columns||e[21]?.columns||[]).map(func_1$6)),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_each_block$i(e){let t,n,o,i,r,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(),i=element("div"),p.c(),r=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-5 mr-1"),attr(i,"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,i),p.m(i,null),append(t,r),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(i,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$o(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w,C,k,S,T,E,A,N,I,O,R,D,L,F,M,P,j,B,q,z,U,W=e[12]?.pureName+"",V=(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]),N=new SelectField({props:{value:lib$5.fullNameToString({pureName:e[5],schemaName:e[6]}),isNative:!0,notSelected:!0,options:e[10]}}),N.$on("change",e[37]);let H=e[8],G=[];for(let t=0;t<H.length;t+=1)G[t]=create_each_block$i(get_each_context$i(e,H,t));const K=e=>transition_out(G[e],1,1,(()=>{G[e]=null}));return z=new FormStyledButton({props:{type:"button",value:"Add column"}}),z.$on("click",e[41]),{c(){t=element("div"),n=element("div"),o=element("div"),o.textContent="Join name",i=space(),r=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(),h=element("div"),f=element("div"),f.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",E=space(),A=element("div"),create_component(N.$$.fragment),I=space(),O=element("div"),R=element("div"),D=text$1("Base column - "),L=text$1(W),F=space(),M=element("div"),P=text$1("Ref column - "),j=text$1(V),B=space();for(let e=0;e<G.length;e+=1)G[e].c();q=space(),create_component(z.$$.fragment),attr(o,"class","label col-3 svelte-1ecnyiy"),attr(r,"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(f,"class","label col-3 svelte-1ecnyiy"),attr(_,"class","col-9"),attr(h,"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(A,"class","col-9"),attr(S,"class","row svelte-1ecnyiy"),attr(R,"class","col-5 mr-1"),attr(M,"class","col-5 ml-1"),attr(O,"class","row svelte-1ecnyiy"),attr(t,"class","largeFormMarker")},m(e,W){insert(e,t,W),append(t,n),append(n,o),append(n,i),append(n,r),mount_component(a,r,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,h),append(h,f),append(h,g),append(h,_),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,E),append(S,A),mount_component(N,A,null),append(t,I),append(t,O),append(O,R),append(R,D),append(R,L),append(O,F),append(O,M),append(M,P),append(M,j),append(t,B);for(let e=0;e<G.length;e+=1)G[e].m(t,null);append(t,q),mount_component(z,t,null),U=!0},p(e,n){const o={};512&n[0]&&(o.value=e[9]),2048&n[0]&&(o.options=e[11]),a.$set(o);const i={};16&n[0]&&(i.value=e[4]),2048&n[0]&&(i.options=e[11]),p.$set(i);const r={};4&n[0]&&(r.value=e[2]),32768&n[0]&&(r.options=e[15]),$.$set(r);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]),N.$set(c),(!U||4096&n[0])&&W!==(W=e[12]?.pureName+"")&&set_data(L,W),(!U||32&n[0])&&V!==(V=(e[5]||"(table not set)")+"")&&set_data(j,V),3150080&n[0]){let o;for(H=e[8],o=0;o<H.length;o+=1){const i=get_each_context$i(e,H,o);G[o]?(G[o].p(i,n),transition_in(G[o],1)):(G[o]=create_each_block$i(i),G[o].c(),transition_in(G[o],1),G[o].m(t,q))}for(group_outros(),o=H.length;o<G.length;o+=1)K(o);check_outros()}},i(e){if(!U){transition_in(a.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in($.$$.fragment,e),transition_in(C.$$.fragment,e),transition_in(N.$$.fragment,e);for(let e=0;e<H.length;e+=1)transition_in(G[e]);transition_in(z.$$.fragment,e),U=!0}},o(e){transition_out(a.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out($.$$.fragment,e),transition_out(C.$$.fragment,e),transition_out(N.$$.fragment,e),G=G.filter(Boolean);for(let e=0;e<G.length;e+=1)transition_out(G[e]);transition_out(z.$$.fragment,e),U=!1},d(e){e&&detach(t),destroy_component(a),destroy_component(p),destroy_component($),destroy_component(C),destroy_component(N),destroy_each(G,e),destroy_component(z)}}}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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$z(e){let t,n;const o=[e[22]];let i={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$o]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=4194304&n[0]?get_spread_update(o,[get_spread_object(e[22])]):{};3194879&n[0]|32768&n[1]&&(i.$$scope={dirty:n,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$1t(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$z]},$$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$8=e=>({label:e.columnName,value:e.columnName}),func_1$6=e=>({label:e.columnName,value:e.columnName});function instance$1r(e,t,n){let o,i,r,a,s,c,l,u,d,p;const m=["conid","database","root","setConfig","config","editValue"];let h,f,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:E}=t,{database:A}=t,{root:N}=t,{setConfig:I}=t,{config:O}=t,{editValue:R=null}=t,D=(null==R?void 0:R.conid)||null,L=(null==R?void 0:R.database)||null,F=(null==R?void 0:R.columns)||[],M=(null==R?void 0:R.baseDesignerId)||N.designerId,P=(null==R?void 0:R.refTableName)||null,j=(null==R?void 0:R.refSchemaName)||null,B=(null==R?void 0:R.joinName)||"",q=[],z=[];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,E=e.conid),"database"in e&&n(24,A=e.database),"root"in e&&n(25,N=e.root),"setConfig"in e&&n(0,I=e.setConfig),"config"in e&&n(26,O=e.config),"editValue"in e&&n(1,R=e.editValue)},e.$$.update=()=>{25165836&e.$$.dirty[0]&&(n(19,o=useDatabaseInfo({conid:D||E,database:L||A})),w(),w=subscribe(o,(e=>n(7,g=e)))),25165932&e.$$.dirty[0]&&(n(18,i=useTableInfo({conid:D||E,database:L||A,schemaName:j,pureName:P})),C(),C=subscribe(i,(e=>n(20,$=e)))),25165932&e.$$.dirty[0]&&(n(17,r=useViewInfo({conid:D||E,database:L||A,schemaName:j,pureName:P})),k(),k=subscribe(r,(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((f||[]).filter((e=>!e.unsaved)).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")]),8388612&e.$$.dirty[0]&&(n(14,l=useDatabaseList({conid:D||E})),y(),y=subscribe(l,(e=>n(30,h=e)))),1073741824&e.$$.dirty[0]&&n(13,u=[{value:null,label:"The same as root"},..._.sortBy((h||[]).map((e=>({value:e.name,label:e.name}))),"label")]),33554432&e.$$.dirty[0]&&n(29,d=N.getBaseTables()),671088656&e.$$.dirty[0]&&n(12,p=null===n(27,S=null==d?void 0:d.find((e=>e.node.designerId==M)))||void 0===S?void 0:S.table),805306368&e.$$.dirty[0]&&T(void 0,void 0,void 0,(function*(){yield tick(),n(11,z=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,f=e))),[I,R,D,L,M,P,j,g,F,B,q,z,p,u,l,c,s,r,i,o,$,b,v,E,A,N,O,S,a,d,h,f,()=>{I((e=>{const t=lib$1.createPerspectiveNodeConfig({pureName:P,schemaName:j});t.designerId=R?.refNodeDesignerId||v1_1$6(),t.conid=D,t.database=L,t.position=e.nodes.find((e=>e.designerId==R?.refNodeDesignerId))?.position,t.alias=B;const n={designerId:R?.referenceDesignerId||v1_1$6(),sourceId:M,targetId:t.designerId,columns:F.map((e=>({source:e.baseColumnName,target:e.refColumnName})))};return{...e,nodes:[...e.nodes.filter((e=>e.designerId!=R?.refNodeDesignerId)),t],references:[...e.references.filter((e=>e.designerId!=R?.referenceDesignerId)),n]}})),closeCurrentModal()},e=>{n(9,B=e.target.value)},e=>{e.detail&&n(4,M=e.detail)},e=>{n(2,D=e.detail)},e=>{n(3,L=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,F=o?.primaryKey?.columns?.map((e=>({refColumnName:e.columnName})))||[])}},(e,t)=>{t.detail&&n(8,F=F.map(((n,o)=>o==e?{...n,baseColumnName:t.detail}:n)))},(e,t)=>{t.detail&&n(8,F=F.map(((n,o)=>o==e?{...n,refColumnName:t.detail}:n)))},(e,t)=>{const o=[...F];o.splice(e,1),n(8,F=o)},()=>{n(8,F=[...F,{baseColumnName:"",refColumnName:""}])}]}class CustomJoinModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1t,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,i;const{node:r,conid:a,database:s,root:c,config:l,setConfig:u,designerId:d}=e,p=null==r?void 0:r.customJoinConfig,m=null==r?void 0:r.filterInfo,h=(null===(t=null==r?void 0:r.parentNode)||void 0===t?void 0:t.designerId)||"",f=null==r?void 0:r.columnName,g=null===(o=null===(n=l.nodes)||void 0===n?void 0:n.find((e=>e.designerId==h)))||void 0===o?void 0:o.sort,$=null===(i=null==g?void 0:g.find((e=>e.columnName==f)))||void 0===i?void 0:i.order;(null==g?void 0:g.length)>1&&_.findIndex(g,(e=>e.columnName==f));const b=(null==g?void 0:g.length)>0,v=l.nodes.find((e=>e.designerId==d)),y=e=>{u((t=>setPerspectiveSort(t,h,f,e)),!0)},x=e=>{u((t=>addToPerspectiveSort(t,h,f,e)),!0)};return[(null==r?void 0:r.isSortable)&&{onClick:()=>y("ASC"),text:"Sort ascending"},(null==r?void 0:r.isSortable)&&{onClick:()=>y("DESC"),text:"Sort descending"},(null==r?void 0:r.isSortable)&&b&&!$&&{onClick:()=>x("ASC"),text:"Add to sort - ascending"},(null==r?void 0:r.isSortable)&&b&&!$&&{onClick:()=>x("DESC"),text:"Add to sort - descending"},(null==r?void 0:r.isSortable)&&$&&{onClick:()=>{u((e=>clearPerspectiveSort(e,h)),!0)},text:"Clear sort criteria"},{divider:!0},m&&{text:"Add to filter",onClick:()=>u((e=>addToPerspectiveFilter(e,h,f)))},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==r?void 0:r.supportsParentFilter)&&{text:r.isParentFilter?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{u((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==r?void 0:r.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!r.isParentFilter}):e))})),!0)}},v&&[{text:"Set alias",onClick:()=>{var e;showModal(InputTextModal,{value:(null===(e=null==r?void 0:r.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$l(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$o(e){let t,n,o,i;return{c(){t=element("input"),attr(t,"type","checkbox"),t.checked=n=e[0].isSecondaryChecked},m(n,r){insert(n,t,r),o||(i=[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(i)}}}function create_if_block$J(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$1s(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,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$o(e);u=new FontIcon({props:{icon:e[0].icon}}),f=new SortOrderIcon({props:{order:e[0].sortOrder,orderIndex:e[0].sortOrderIndex}});let w=y&&create_if_block$J();return{c(){t=element("div"),n=element("span"),create_component(o.$$.fragment),r=space(),a=element("input"),c=space(),x&&x.c(),l=space(),create_component(u.$$.fragment),d=space(),p=element("span"),m=text$1(v),h=space(),create_component(f.$$.fragment),g=space(),w&&w.c(),attr(n,"class","expandColumnIcon"),attr(n,"style",i=`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(i,s){insert(i,t,s),append(t,n),mount_component(o,n,null),append(t,r),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,h),mount_component(f,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,[r]){const c={};1&r&&(c.icon=e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"),o.$set(c),(!_||3&r&&i!==(i=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`))&&attr(n,"style",i),(!_||1&r&&s!==(s=e[0].isChecked))&&(a.checked=s),e[0].secondaryCheckable?x?x.p(e,r):(x=create_if_block_1$o(e),x.c(),x.m(t,l)):x&&(x.d(1),x=null);const d={};1&r&&(d.icon=e[0].icon),u.$set(d),(!_||1&r)&&v!==(v=e[0].title+"")&&set_data(m,v);const p={};1&r&&(p.order=e[0].sortOrder),1&r&&(p.orderIndex=e[0].sortOrderIndex),f.$set(p),1&r&&(y=e[0].getFilter()),y?w?1&r&&transition_in(w,1):(w=create_if_block$J(),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(f.$$.fragment,e),transition_in(w),_=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(f.$$.fragment,e),transition_out(w),_=!1},d(e){e&&detach(t),destroy_component(o),x&&x.d(),destroy_component(u),destroy_component(f),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$1q(e,t,n){let{conid:o}=t,{database:i}=t,{node:r}=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,i=e.database),"node"in e&&n(0,r=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)},[r,s,function(){return getPerspectiveNodeMenu({conid:o,database:i,node:r,root:a,config:c,setConfig:l,designerId:null==r?void 0:r.designerId})},o,i,a,c,l,()=>{r.toggleExpanded()},()=>{r.toggleChecked()},()=>{r.toggleSecondaryChecked()}]}class PerspectiveNodeRow extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{conid:3,database:4,node:0,root:5,tempRoot:1,config:6,setConfig:7})}}function get_each_context$h(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$h(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$1r(e){let t,n,o=e[7](e[1]??e[0],e[6]),i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$h(get_each_context$h(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$h(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$h(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function instance$1p(e,t,n){let{root:o}=t,{tempRoot:i}=t,{config:r}=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,i=e.tempRoot),"config"in e&&n(2,r=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,i,r,a,s,c,l,function e(t,n){const o=[];for(const i of null==t?void 0:t.childNodes)if(lib$5.filterName(n,i.title))o.push(i),i.isExpanded&&o.push(...e(i,n));else if(i.isExpanded){const t=e(i,n);t.length>0&&(o.push(i),o.push(...t))}return o}]}class PerspectiveTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,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$I(e){let t,n,o,i,r;const a=[create_if_block_1$n,create_if_block_2$c,create_if_block_4$6,create_if_block_5$4,create_if_block_6$3,create_else_block_1$3],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(),i=empty()},m(e,t){s[n].m(e,t),insert(e,i,t),r=!0},p(e,t){let r=n;n=c(e,t),n===r?s[n].p(l(e,n),t):(group_outros(),transition_out(s[r],1,1,(()=>{s[r]=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(i.parentNode,i))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){s[n].d(e),e&&detach(i)}}}function create_else_block_1$3(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$3(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$4(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$6(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$c(e){let t;function n(e,t){return e[6]?create_if_block_3$7:create_else_block$g}let o=n(e),i=o(e);return{c(){i.c(),t=empty()},m(e,n){i.m(e,n),insert(e,t,n)},p(e,r){o===(o=n(e))&&i?i.p(e,r):(i.d(1),i=o(e),i&&(i.c(),i.m(t.parentNode,t)))},i:noop$3,o:noop$3,d(e){i.d(e),e&&detach(t)}}}function create_if_block_1$n(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$g(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$7(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$1q(e){let t,n,o=void 0!==e[0]&&create_if_block$I(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,i){insert(e,t,i),o&&o.m(t,null),n=!0},p(e,[i]){void 0!==e[0]?o?(o.p(e,i),1&i&&transition_in(o,1)):(o=create_if_block$I(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&i)&&attr(t,"rowspan",e[1]),(!n||8&i)&&attr(t,"data-column",e[3]),1&i&&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$1o(e,t,n){let{value:o}=t,{rowSpan:i}=t,{rowData:r}=t,{columnIndex:a}=t,{displayType:s}=t;return e.$$set=e=>{"value"in e&&n(0,o=e.value),"rowSpan"in e&&n(1,i=e.rowSpan),"rowData"in e&&n(2,r=e.rowData),"columnIndex"in e&&n(3,a=e.columnIndex),"displayType"in e&&n(4,s=e.displayType)},[o,i,r,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)}]}class PerspectiveCell extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{value:0,rowSpan:1,rowData:2,columnIndex:3,displayType:4})}}function create_fragment$1p(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$1p,safe_not_equal,{})}}function create_if_block_2$b(e){let t,n,o,i,r,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"),i=text$1(u),r=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,i),append(n,r),mount_component(a,n,null),l=!0},p(e,n){(!l||1&n)&&u!==(u=e[0].title+"")&&set_data(i,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$H(e){let t,n,o,i,r,a,s,c=e[0].getParentName(e[1])+"",l=e[0].getParentNode(e[1])?.isParentFilter,u=l&&create_if_block_1$m();return{c(){t=element("th"),n=element("div"),o=text$1(c),i=space(),u&&u.c(),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"colspan",r=e[0].getColSpan(e[1])),attr(t,"class","tableHeader svelte-uz4mu9"),attr(t,"data-tablenodedesignerid",a=e[0].getParentTableDesignerId(e[1]))},m(e,r){insert(e,t,r),append(t,n),append(n,o),append(n,i),u&&u.m(n,null),s=!0},p(e,i){(!s||3&i)&&c!==(c=e[0].getParentName(e[1])+"")&&set_data(o,c),3&i&&(l=e[0].getParentNode(e[1])?.isParentFilter),l?u?3&i&&transition_in(u,1):(u=create_if_block_1$m(),u.c(),transition_in(u,1),u.m(n,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),(!s||3&i&&r!==(r=e[0].getColSpan(e[1])))&&attr(t,"colspan",r),(!s||3&i&&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$m(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,i){insert(e,t,i),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$1o(e){let t,n,o,i=e[0].isVisible(e[1]),r=e[0].showParent(e[1]),a=i&&create_if_block_2$b(e),s=r&&create_if_block$H(e);return{c(){a&&a.c(),t=space(),s&&s.c(),n=empty()},m(e,i){a&&a.m(e,i),insert(e,t,i),s&&s.m(e,i),insert(e,n,i),o=!0},p(e,[o]){3&o&&(i=e[0].isVisible(e[1])),i?a?(a.p(e,o),3&o&&transition_in(a,1)):(a=create_if_block_2$b(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&&(r=e[0].showParent(e[1])),r?s?(s.p(e,o),3&o&&transition_in(s,1)):(s=create_if_block$H(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$1n(e,t,n){let o,i;var r,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,r=s.dataNode)||void 0===r?void 0:r.sortOrder),129&e.$$.dirty&&n(2,i=null===n(7,a=s.dataNode)||void 0===a?void 0:a.sortOrderIndex)},[s,c,i,o,l,u,r,a]}class PerspectiveHeaderControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1o,safe_not_equal,{column:0,columnLevel:1,config:4,setConfig:5})}}function get_each_context$g(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$6(e){let t,n,o,i,r,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$g(get_each_context$g(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(),i=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].m(n,null);append(t,o),append(t,i);for(let e=0;e<u.length;e+=1)u[e].m(i,null);e[19](t),r=!0},p(e,t){if(28&t[0]){let o;for(a=_.range(e[4].columnLevelCount),o=0;o<a.length;o+=1){const i=get_each_context_2$1(e,a,o);s[o]?(s[o].p(i,t),transition_in(s[o],1)):(s[o]=create_each_block_2$1(i),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$g(e,l,n);u[n]?(u[n].p(o,t),transition_in(u[n],1)):(u[n]=create_each_block$g(o),u[n].c(),transition_in(u[n],1),u[n].m(i,null))}for(group_outros(),n=l.length;n<u.length;n+=1)d(n);check_outros()}},i(e){if(!r){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]);r=!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]);r=!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,i=e[4].columns,r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block_3(get_each_context_3(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("tr");for(let e=0;e<r.length;e+=1)r[e].c();n=space()},m(e,i){insert(e,t,i);for(let e=0;e<r.length;e+=1)r[e].m(t,null);append(t,n),o=!0},p(e,o){if(28&o[0]){let s;for(i=e[4].columns,s=0;s<i.length;s+=1){const a=get_each_context_3(e,i,s);r[s]?(r[s].p(a,o),transition_in(r[s],1)):(r[s]=create_each_block_3(a),r[s].c(),transition_in(r[s],1),r[s].m(t,n))}for(group_outros(),s=i.length;s<r.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<i.length;e+=1)transition_in(r[e]);o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_4$5(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$5(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$5(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$g(e){let t,n,o,i=e[4].columns,r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block_1$2(get_each_context_1$2(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("tr");for(let e=0;e<r.length;e+=1)r[e].c();n=space(),attr(t,"data-rowindex",e[33])},m(e,i){insert(e,t,i);for(let e=0;e<r.length;e+=1)r[e].m(t,null);append(t,n),o=!0},p(e,o){if(16&o[0]){let s;for(i=e[4].columns,s=0;s<i.length;s+=1){const a=get_each_context_1$2(e,i,s);r[s]?(r[s].p(a,o),transition_in(r[s],1)):(r[s]=create_each_block_1$2(a),r[s].c(),transition_in(r[s],1),r[s].m(t,n))}for(group_outros(),s=i.length;s<r.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<i.length;e+=1)transition_in(r[e]);o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_2$a(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const o={};128&n[0]&&(o.message=e[7]),t.$set(o)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$l(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,i){insert(e,t,i),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$G(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$1n(e){let t,n,o,i,r,a,s,c,l=e[4]&&create_if_block_3$6(e),u=e[7]&&create_if_block_2$a(e),d=e[9]&&create_if_block_1$l(),p=null!=e[8]&&create_if_block$G(e);return{c(){t=element("div"),l&&l.c(),n=space(),u&&u.c(),o=space(),d&&d.c(),i=space(),p&&p.c(),r=empty(),attr(t,"class","wrapper svelte-msvx43")},m(m,h){insert(m,t,h),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,i,h),p&&p.m(m,h),insert(m,r,h),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,i){e[4]?l?(l.p(e,i),16&i[0]&&transition_in(l,1)):(l=create_if_block_3$6(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,i),128&i[0]&&transition_in(u,1)):(u=create_if_block_2$a(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&i[0]&&transition_in(d,1):(d=create_if_block_1$l(),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,i),256&i[0]&&transition_in(p,1)):(p=create_if_block$G(e),p.c(),transition_in(p,1),p.m(r.parentNode,r)):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(i),p&&p.d(n),n&&detach(r),s=!1,run_all(c)}}}const getCurrentEditor$5=()=>getActiveComponent("PerspectiveTable");function instance$1m(e,t,n){let o,i,r=noop$3,a=()=>(r(),r=subscribe(p,(e=>n(18,i=e))),p);e.$$.on_destroy.push((()=>r()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,h,f,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:i,incomplete:r}=yield e.dataProvider.loadData(Object.assign(Object.assign({},o),{topCount:n[e.designerId]||lib$1.PERSPECTIVE_PAGE_SIZE}));if(e.isRoot)t.push(...i),r&&t.push({incompleteRowsIndicator:[e.designerId]});else if(e.preloadedLevelData)i=_.compact(_.flatten(t.map((t=>t[e.fieldName]))));else{let n=null;for(const o of t){const t=i.filter((t=>e.matchChildRow(o,t)));o[e.fieldName]=t,t.length>0&&(n=o)}r&&n&&n[e.fieldName].push({incompleteRowsIndicator:[e.designerId]})}for(const t of e.childNodes)t.isExpandable&&(t.isCheckedNode||t.preloadedLevelData)&&(yield T(t,i,n))}))}function E(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&&E(d,i)}))}function A(){return s(this,void 0,void 0,(function*(){if(!o)return;if(yield tick(),!f)return;if(!o)return;if(S.get())return;const e=function(){var e=f.querySelectorAll("tbody>tr");const t=h.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 i=0;for(;o-i>=0||o+i<e.length;){if(n(o-i))return k.set(o-i),o-i;if(n(o+i))return k.set(o+i),o+i;i+=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]&&E(d,i),131073&e.$$.dirty[0]&&n(4,o=d&&m?new lib$1.PerspectiveDisplay(d,m):null),16&e.$$.dirty[0]&&(S.set(!1),A())},[d,p,b,v,o,h,f,g,$,w,function({targetElement:e,registerCloseHandler:t}){var n,i,r;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"),h=null==d?void 0:d.findNodeByDesignerId(m);if(null==h?void 0:h.headerTableAttributes){const{pureName:e,schemaName:t,conid:n,database:o,objectTypeField:i}=null==h?void 0:h.headerTableAttributes;console.log("objectTypeField",i);const r=c[i];r&&a.push({text:`Open ${r.text} ${e}`,onClick:()=>{openNewTab({title:e,icon:r.icon,tabComponent:r.tabComponent,props:{schemaName:t,pureName:e,conid:n,database:o,objectTypeField:i}})}})}const f=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==h?void 0:h.headerTableAttributes)&&a.push({text:`Change display (${_.startCase((null===(r=null===(i=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===i?void 0:i.columnDisplays)||void 0===r?void 0:r[p.dataNode.columnName])||"default")})`,submenu:[{text:"Default",onClick:()=>f("default")},{text:"JSON",onClick:()=>f("json")},{text:"Image",onClick:()=>f("image")},{text:"Text",onClick:()=>f("text")},{text:"Force Text",onClick:()=>f("forceText")}]}),null==h?void 0:h.supportsParentFilter){const e=null==h?void 0:h.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==h?void 0:h.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],i=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]:i}}},{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]:i})}):e}))})))}})}}}return a.push([{divider:!0},{command:"perspective.refresh"},{command:"perspective.openJson"},{command:"perspective.customJoin"}]),a},A,u,y,x,function(){openJsonDocument(m)},function(){return null!=m},m,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(6,f)}))},()=>v((e=>({...e,filters:{},parentFilters:[]})),!0),function(e){binding_callbacks[e?"unshift":"push"]((()=>{h=e,n(5,h)}))}]}registerCommand({id:"perspective.openJson",category:"Perspective",name:"Open JSON",isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$5())||void 0===e?void 0:e.openJsonEnabled()},onClick:()=>getCurrentEditor$5().openJson()});class PerspectiveTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1n,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$y(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$1m(e){let t,n,o,i,r,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$y]},$$scope:{ctx:e}}}),s.$on("click",(function(){is_function(e[3])&&e[3].apply(this,arguments)})),l=new DataFilterControl({props:{filterType:e[0].filterType,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),i=text$1(" ("),r=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,i),append(n,r),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(r,p);const i={};4096&n&&(i.$$scope={dirty:n,ctx:e}),s.$set(i);const a={};1&n&&(a.filterType=e[0].filterType),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$1l(e,t,n){let o,{filterInfo:i}=t,{filter:r}=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,i=e.filterInfo),"filter"in e&&n(1,r=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)},[i,r,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$1l,create_fragment$1m,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$f(e,t,n){const o=e.slice();return o[10]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();o[13]=t[n];const i=o[3]?.findNodeByDesignerId(o[10].designerId);o[14]=i;const r=o[14]?.childNodes?.find((e=>e.columnName==o[13]))?.filterInfo;return o[15]=r,o}function create_else_block$f(e){let t,n,o=e[1].nodes,i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$f(get_each_context$f(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$f(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$f(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_if_block$F(e){let t,n,o,i,r,a,s;return r=new FontIcon({props:{icon:"img info"}}),{c(){t=element("div"),n=element("div"),n.textContent="No Filters defined",o=space(),i=element("div"),create_component(r.$$.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,i),mount_component(r,i,null),append(i,a),s=!0},p:noop$3,i(e){s||(transition_in(r.$$.fragment,e),s=!0)},o(e){transition_out(r.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(r)}}}function create_if_block_1$k(e){let t,n;function o(...t){return e[8](e[14],e[13],...t)}function i(...t){return e[9](e[14],e[13],...t)}return t=new PerspectiveFiltersColumn({props:{filterInfo:e[15],conid:e[4],database:e[5],driver:e[6],tableNode:e[14],config:e[1],setConfig:e[2],filter:e[10].filters[e[13]],onSetFilter:o,onRemoveFilter:i}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const a={};10&r&&(a.filterInfo=e[15]),16&r&&(a.conid=e[4]),32&r&&(a.database=e[5]),64&r&&(a.driver=e[6]),10&r&&(a.tableNode=e[14]),2&r&&(a.config=e[1]),4&r&&(a.setConfig=e[2]),2&r&&(a.filter=e[10].filters[e[13]]),14&r&&(a.onSetFilter=o),14&r&&(a.onRemoveFilter=i),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[15]&&create_if_block_1$k(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[15]?o?(o.p(e,n),10&n&&transition_in(o,1)):(o=create_if_block_1$k(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$f(e){let t,n,o=_.keys(e[10].filters),i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block_1$1(get_each_context_1$1(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=_.keys(e[10].filters),a=0;a<o.length;a+=1){const r=get_each_context_1$1(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block_1$1(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_default_slot$x(e){let t,n,o,i;const r=[create_if_block$F,create_else_block$f],a=[];function s(e,t){return 0==e[7]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$1l(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[0],isFlex:0==e[7],$$slots:{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={};1&n&&(o.width=e[0]),128&n&&(o.isFlex=0==e[7]),262398&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$1k(e,t,n){let o,{managerSize:i}=t,{config:r}=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,i=e.managerSize),"config"in e&&n(1,r=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(r.nodes.map((e=>_.keys(e.filters).length))))},[i,r,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))})))]}class PerspectiveFilters extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1l,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:i,database:r}=e[o],a=t[o];n=Object.assign(Object.assign({},n),{[i]:Object.assign(Object.assign({},n[i]),{[r]:a})})}return n}))}function create_fragment$1k(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$7,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$1,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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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$7,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$1,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&n&&{referenceComponent:QueryDesignerReference},263&n[0]&&{value:e[8](e[0],e[1],e[2])},512&n[0]&&{onChange:e[9]}]):{};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)}}}const func$7=({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>[{text:"Remove",onClick:()=>o(t)}],func_3$1=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$1j(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(29,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=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 h(e,t,n){return Object.assign(Object.assign({},e),{tables:_.compact(e.nodes.map((e=>{var o,i,r,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===(i=null==d?void 0:d.tables)||void 0===i?void 0:i.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName)),h=null===(r=null==d?void 0:d.views)||void 0===r?void 0:r.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));let f=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(f){const t=null==n?void 0:n[e.designerId];if(!t)return null;f=Object.assign(Object.assign({},f),{columns:(null==t?void 0:t.columns.map((t=>m(t,e,""))))||[]})}if(!p&&!h&&!f)return null;const{designerId:g}=e;return Object.assign(Object.assign({},p||h||f),{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,r=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){i(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"))}))}(r,a,s,c)},t=exclude_internal_props(t),[r,a,s,c,l,u,d,p,h,function(e,t,n){d((t=>{var i,r,c;const d=_.isFunction(e)?e(h(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,i;const r=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==r?void 0:r.left)||0,y:(null==r?void 0:r.top)||0}),!r&&(null==n?void 0:n.removeTables)?null:(!r||r.left==(null===(o=e.position)||void 0===o?void 0:o.x)&&r.top==(null===(i=e.position)||void 0===i?void 0:i.y)||((null==n?void 0:n.isCalledFromArrange)||(p=!1),a.position={x:r.left,y:r.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===(i=null==o?void 0:o.connection)||void 0===i?void 0:i._id)!=l&&(t.conid=null===(r=null==o?void 0:o.connection)||void 0===r?void 0:r._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 i=c?.findNodeByDesignerId(t),a=i?.childNodes?.find((e=>e.columnName==n.columnName));return getPerspectiveNodeMenu({config:r,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:r,setConfig:d,conid:l,database:u,root:c,node:o,designerId:t})]},(e,t)=>r.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=>r.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=r.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)=>!!r.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=r.nodes.find((t=>t.designerId==e));if(t?.conid||t?.database)return{conid:t.conid,database:t.database}},e=>!!r.nodes.find((t=>t.designerId==e))?.isParentFilter,e=>{const t=c?.findNodeByDesignerId(e);return!t||!!t?.hasUncheckedNodeInPath},e=>r.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$1j,create_fragment$1k,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 i={};for(const o of t.nodes){const t=o.conid||e.conid,r=o.database||e.database,{schemaName:a,pureName:s}=o,c=n.dataPatterns.find((e=>e.conid==t&&e.database==r&&e.schemaName==a&&e.pureName==s));c&&(i[o.designerId]=c)}return i}function getPerspectiveDataPatterns(e,t,n,o,i){var r,a,s,c;return __awaiter$l(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,h=n.dataPatterns.find((e=>e.conid==t&&e.database==d&&e.schemaName==p&&e.pureName==m));if(h){l[u.designerId]=h;continue}const f=null===(r=null==o?void 0:o[t])||void 0===r?void 0:r[d];if(!f)continue;const g=null===(a=f.tables)||void 0===a?void 0:a.find((e=>e.pureName==m&&e.schemaName==p)),_=null===(s=f.views)||void 0===s?void 0:s.find((e=>e.pureName==m&&e.schemaName==p)),$=null===(c=f.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 i.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,i){const r=getPerspectiveDataPatternsFromCache(e,t,n),a=getPerspectiveDataPatterns(e,t,n,o,i),s=writable(r);return a.then((e=>s.set(e))),s}function create_if_block_1$j(e){let t,n,o,i,r,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$6]},$$scope:{ctx:e}}}),s.$on("click",e[30]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=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,i),append(n,r),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4096&t[0])&&l!==(l=e[12].title+"")&&set_data(r,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$6(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$6(e){let t,n,o,i,r,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(t,"value",s)));let u={};return void 0!==e[11]&&(u.filter=e[11]),i=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(i,"filter",l))),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&2048&o[0]&&(r=!0,s.filter=e[11],add_flush_callback((()=>r=!1))),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e)}}}function create_if_block$E(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$c(e){let t,n,o=e[8]&&create_if_block$E(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[8]?o?(o.p(e,n),256&n[0]&&transition_in(o,1)):(o=create_if_block$E(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$k(e){let t,n,o,i,r,a=e[12]&&e[12]!=e[8]&&create_if_block_1$j(e);return n=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_4$6]},$$scope:{ctx:e}}}),i=new ManagerInnerContainer({props:{width:e[7],$$slots:{default:[create_default_slot_3$c]},$$scope:{ctx:e}}}),{c(){a&&a.c(),t=space(),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,s){a&&a.m(e,s),insert(e,t,s),mount_component(n,e,s),insert(e,o,s),mount_component(i,e,s),r=!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$j(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 r={};2048&o[0]|16&o[1]&&(r.$$scope={dirty:o,ctx:e}),n.$set(r);const s={};128&o[0]&&(s.width=e[7]),6427&o[0]|16&o[1]&&(s.$$scope={dirty:o,ctx:e}),i.$set(s)},i(e){r||(transition_in(a),transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(a),transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){a&&a.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),destroy_component(i,e)}}}function create_default_slot_1$n(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$w(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Choose data",name:"perspectiveTree",height:"70%",$$slots:{default:[create_default_slot_2$k]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Filters",name:"tableFilters",$$slots:{default:[create_default_slot_1$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};6619&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};415&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$w]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-cmv30q"),attr(t,"slot","1")},m(e,i){insert(e,t,i),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$1j(e){let t,n,o;function i(t){e[33](t)}let r={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]&&(r.size=e[7]),t=new HorizontalSplitter({props:r}),binding_callbacks.push((()=>bind(t,"size",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const i={};8191&o[0]|16&o[1]&&(i.$$scope={dirty:o,ctx:e}),!n&&128&o[0]&&(n=!0,i.size=e[7],add_flush_callback((()=>n=!1))),t.$set(i)},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$4=()=>getActiveComponent("PerspectiveView");function instance$1i(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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,E=null,{loadedCounts:A}=t,{cache:N}=t;const I=createActivator("PerspectiveView",!0);let O=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,A=e.loadedCounts),"cache"in e&&n(16,N=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(O)&&n(21,O=e)}2097152&e.$$.dirty[0]&&(n(14,o=useMultipleDatabaseInfo(O)),$(),$=subscribe(o,(e=>n(10,f=e)))),67175435&e.$$.dirty[0]&&(n(13,r=usePerspectiveDataPatterns({conid:w,database:C},S,N,f,i)),g(),g=subscribe(r,(e=>n(9,h=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==f?void 0:f[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(N,i,h)),62915611&e.$$.dirty[0]&&n(8,p=c||l||u?new lib$1.PerspectiveTableNode(c||l||u,f,S,T,d,{conid:w,database:C},null,S.rootDesignerId):null),320&e.$$.dirty[0]&&n(12,m=null==p?void 0:p.findNodeByDesignerId(E)),1563&e.$$.dirty[0]&&lib$1.shouldProcessPerspectiveDefaultColunns(S,f,h,w,C)&&T((e=>lib$1.processPerspectiveDefaultColunns(e,f,h,w,C)))},n(26,i=new lib$1.PerspectiveDataLoader(apiCall)),[w,C,k,S,T,A,E,y,p,h,f,x,m,r,o,function(){const e=getLocalStorage("perspectiveManagerWidth");return _.isNumber(e)&&e>30&&e<500?`${e}px`:"300px"},N,I,function(){p&&showModal(CustomJoinModal,{config:S,setConfig:T,conid:w,database:C,root:p})},b,v,O,d,u,l,c,i,a,s,e=>{sleep(100).then((()=>{n(6,E=e)}))},()=>{n(6,E=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$4(),onClick:()=>getCurrentEditor$4().defineCustomJoin()});class PerspectiveView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1j,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$e(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$D(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$v(e){let t,n,o,i;const r=[create_if_block$D,create_else_block$e],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$3(e){let t,n,o,i,r,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"}}),r=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),i=space(),create_component(r.$$.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,i,m),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,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$1i(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],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={};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$3=()=>getActiveComponent("PerspectiveTab");registerCommand({id:"perspective.refresh",category:"Perspective",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().refresh()}),registerFileCommands({idPrefix:"perspective",category:"Perspective",getCurrentEditor:getCurrentEditor$3,folder:"perspectives",format:"json",fileExtension:"perspective",undoRedo:!0});const allowAddToFavorites=e=>!0;function instance$1h(e,t,n){let o,i,r,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:h}=t,{pureName:f}=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(f?{schemaName:h,pureName:f}:null));component_subscribe(e,y,(e=>n(2,r=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,h=e.schemaName),"pureName"in e&&n(13,f=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,i=lib$5.findEngineDriver(c,s)),4&e.$$.dirty&&v(r.value)},[p,m,r,u,w,i,o,$,y,x,C,d,h,f,g,function(){return d},function(){return a.value||""},function(){return r.canUndo},function(){x({type:"undo"}),invalidateCommands()},function(){return r.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$1h,create_fragment$1i,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$e(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$5),$$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,i){insert(e,t,i),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$5)),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$C(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$m(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$e(e){let t,n,o,i=e[11]>0&&create_if_block$C();function r(){return e[5](e[9],e[7])}return n=new Link$1({props:{onClick:r,$$slots:{default:[create_default_slot_1$m]},$$scope:{ctx:e}}}),{c(){i&&i.c(),t=space(),create_component(n.$$.fragment)},m(e,r){i&&i.m(e,r),insert(e,t,r),mount_component(n,e,r),o=!0},p(t,o){e=t;const i={};384&o&&(i.onClick=r),4352&o&&(i.$$scope={dirty:o,ctx:e}),n.$set(i)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){i&&i.d(e),e&&detach(t),destroy_component(n,e)}}}function create__2_slot$6(e){let t,n,o=e[8].actions,i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$e(get_each_context$e(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$e(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$e(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,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$u(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,o){e=t,i.ctx=e,3&o&&n!==(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}))&&handle_promise(n,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=null}}}function create_toolstrip_slot$2(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$1h(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],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={};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$2=()=>getActiveComponent("ServerSummaryTab");registerCommand({id:"serverSummary.refresh",category:"Server sumnmary",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",onClick:()=>getCurrentEditor$2().refresh(),testEnabled:()=>null!=getCurrentEditor$2()});const func_1$5=e=>({...e,slot:"bytes"==e.columnType?1:"actions"==e.columnType?2:null});function instance$1g(e,t,n){let{conid:o}=t,i=0;const r=createActivator("ServerSummaryTab",!0);function a(){n(1,i+=1)}async function s(e,t){const{command:n,openQuery:r,openTab:s,addDbProps:c}=e;if(n&&(await apiCall("server-connections/summary-command",{conid:o,refreshToken:i,command:n,row:t}),a()),r&&openNewTab({title:e.tabTitle||t.name,icon:"img query-data",tabComponent:"QueryDataTab",props:{conid:o,database:t.name,sql:r}}),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,i,s,r,a,(e,t)=>s(e,t)]}class ServerSummaryTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1h,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$2(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$B(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],i=create_key_block(e);return{c(){i.c(),t=empty()},m(e,o){i.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(i,1,1,noop$3),check_outros(),i=create_key_block(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i.p(e,n)},i(e){n||(transition_in(i),n=!0)},o(e){transition_out(i),n=!1},d(e){e&&detach(t),i.d(e)}}}function create_else_block$d(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$i(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,i;const r=[create_if_block_1$i,create_else_block$d],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$t(e){let t,n,o,i;const r=[create_if_block$B,create_else_block_1$2],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$1(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"profiler.start"}}),o=new ToolStripCommandButton({props:{command:"profiler.stop"}}),r=new ToolStripCommandButton({props:{command:"profiler.save"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1g(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$t]},$$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$1=()=>getActiveComponent("ProfilerTab");function instance$1f(e,t,n){let o,i,r,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:h}=t,{database:f}=t,{engine:g}=t,{jslidLoad:_}=t,$=!1,b=!1;async function v(){n(1,b=!0);const e=randomcolor({count:i.profilerChartMeasures.length,seed:5}),t=await apiCall("jsldata/extract-timeline-chart",{jslid:r,timestampFunction:i.profilerTimestampFunction,aggregateFunction:i.profilerChartAggregateFunction,measures:i.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:r}),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,h=e.conid),"database"in e&&n(7,f=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:h})),c(),c=subscribe(o,(e=>n(18,s=e)))),393472&e.$$.dirty&&n(0,i=lib$5.findEngineDriver(g||s,a)),66048&e.$$.dirty&&n(3,r=u||_),513&e.$$.dirty&&_&&i&&v()},[i,b,m,r,o,l,h,f,g,_,async function(){$=!0;let e=d;if(!e){e=(await apiCall("sessions/create",{conid:h,database:f})).sesid,d=e}const t=await apiCall("sessions/start-profiler",{sesid:e});n(16,u=t.jslid),invalidateCommands()},function(){return h&&f&&!$},async function(){$=!1,await apiCall("sessions/stop-profiler",{sesid:d}),await apiCall("sessions/kill",{sesid:d}),d=null,invalidateCommands(),v()},function(){return h&&f&&$},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$1())||void 0===e?void 0:e.startProfilingEnabled()},onClick:()=>getCurrentEditor$1().startProfiling()}),registerCommand({id:"profiler.stop",category:"Profiler",name:"Stop profiling",icon:"icon play-stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.stopProfilingEnabled()},onClick:()=>getCurrentEditor$1().stopProfiling()}),registerCommand({id:"profiler.save",category:"Profiler",name:"Save",icon:"icon save",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.saveEnabled()},onClick:()=>getCurrentEditor$1().save()});class ProfilerTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1g,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$1f(e){let t,n,o,i,r,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"),i=text$1(e[0]),r=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,i),append(t,r),append(t,a),l&&l.m(a,null),s=!0},p(e,[t]){(!s||1&t)&&set_data(i,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$1e(e,t,n){let{$$slots:o={},$$scope:i}=t,{title:r}=t;return e.$$set=e=>{"title"in e&&n(0,r=e.title),"$$scope"in e&&n(1,i=e.$$scope)},[r,i,o]}class ObjectConfigurationControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1f,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$6)||[]}}),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$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_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,i,r,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}}}),r=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),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p(e,n){const i={};4128&n[0]|131072&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);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}),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_default_slot_5$5(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$5(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 i={};65536&o[1]&&(i.checked=e[47].isChecked),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_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 i={};65536&o[1]&&(i.value=e[47].operation),65536&o[1]&&(i.disabled=!e[47].isChecked),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_if_block$A(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,i){e=n;const r={};65536&i[1]&&(r.value=e[47].matchColumn1),65536&i[1]&&(r.disabled=!e[47].isChecked),16&i[0]|65536&i[1]&&(r.options=e[4]?.tables?.find(o)?.columns?.map(func_6$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)}}}function create__3_slot(e){let t,n,o="copy"!=e[47].operation&&create_if_block$A(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$A(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$b(e){let t,n,o,i,r=e[47].file+"";return t=new FontIcon({props:{icon:"img archive"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,t){(!i||65536&t[1])&&r!==(r=e[47].file+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__4_slot(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$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const r={};32&i[0]|65536&i[1]&&(r.onClick=o),196608&i[1]&&(r.$$scope={dirty:i,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_2$j(e){let t,n,o,i,r=e[47].table+"";return t=new FontIcon({props:{icon:"img table"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,t){(!i||65536&t[1])&&r!==(r=e[47].table+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!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$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const r={};3&i[0]|65536&i[1]&&(r.menu=appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]})),3&i[0]|65536&i[1]&&(r.onClick=o),196608&i[1]&&(r.$$scope={dirty:i,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$l(e){let t,n,o,i,r,a,s;return n=new Link$1({props:{onClick:e[16](!0),$$slots:{default:[create_default_slot_5$5]},$$scope:{ctx:e}}}),i=new Link$1({props:{onClick:e[16](!1),$$slots:{default:[create_default_slot_4$5]},$$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,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],3:[create__3_slot,({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(i.$$.fragment),r=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(i,t,null),insert(e,r,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 r={};131072&t[1]&&(r.$$scope={dirty:t,ctx:e}),i.$set(r);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(i.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),e&&detach(r),destroy_component(a,e)}}}function create__1_slot$4(e){let t,n,o,i,r;return n=new ObjectConfigurationControl({props:{title:"Configuration",$$slots:{default:[create_default_slot_6$3]},$$scope:{ctx:e}}}),i=new ObjectConfigurationControl({props:{title:"Imported files",$$slots:{default:[create_default_slot_1$l]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),attr(t,"class","wrapper svelte-1p2rqwm")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(i,t,null),r=!0},p(e,t){const o={};4128&t[0]|131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};59&t[0]|131072&t[1]&&(r.$$scope={dirty:t,ctx:e}),i.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}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$s(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(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$1e(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],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={};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=()=>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())||void 0===e?void 0:e.canRun()},onClick:()=>getCurrentEditor().run()}),registerCommand({id:"dataDuplicator.kill",category:"Data duplicator",icon:"icon close",name:"Kill",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor())||void 0===e?void 0:e.canKill()},onClick:()=>getCurrentEditor().kill()});const func$6=e=>({label:e.name,value:e.name}),func_6$1=e=>({label:e.columnName,value:e.columnName});function instance$1d(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,E=!1,A=null,N=0;const I=createActivator("DataDuplicatorTab",!0),O=useTimerLabel(),{editorState:R,editorValue:D,setEditorData:L}=useEditorData({tabid:T,onInitialData:e=>{invalidateCommands()}});function F(e){L((t=>Object.assign(Object.assign({},t),{tables:Object.assign(Object.assign({},null==t?void 0:t.tables),{[e.name]:e})})))}component_subscribe(e,R,(e=>n(5,d=e)));const M=()=>{n(25,E=!1),O.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,i=useDatabaseInfo({conid:k,database:S})),g(),g=subscribe(i,(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,h=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==h?void 0:h.map((e=>e.name)),(e=>_.toUpper(e))))),33685504&e.$$.dirty[0]&&changeTab(T,(e=>Object.assign(Object.assign({},e),{busy:E}))),67108912&e.$$.dirty[0]&&n(3,l=s.map((e=>{var t,n,o,i,r,a,s,c,l,p,m,h;const f=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==f?void 0:f.isChecked)||void 0===o||o,_=null!==(i=null==f?void 0:f.operation)&&void 0!==i?i:"copy",$=null===(r=null==u?void 0:u.tables)||void 0===r?void 0:r.find((t=>{var n;return(null===(n=t.pureName)||void 0===n?void 0:n.toUpperCase())==e.toUpperCase()})),b=null!==(p=null!==(a=null==f?void 0:f.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===(h=null===(m=null==$?void 0:$.columns)||void 0===m?void 0:m[0])||void 0===h?void 0:h.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=A)?(apiOn(`runner-done-${e}`,M),()=>{apiOff(`runner-done-${e}`,M)}):()=>{};var e}))),$(),$=subscribe(c,(e=>n(27,p=e)))),e.$$.dirty[0]},n(9,r=useArchiveFolders()),y(),y=subscribe(r,(e=>n(12,f=e))),[k,S,A,l,u,d,N,c,a,r,i,o,f,R,L,F,e=>()=>{L((t=>{var n;const o=Object.assign({},null==t?void 0:t.tables);for(const i of s)o[i]=Object.assign(Object.assign({},null===(n=null==t?void 0:t.tables)||void 0===n?void 0:n[i]),{isChecked:e});return Object.assign(Object.assign({},t),{tables:o})}))},T,I,function(){return!!l.find((e=>e.isChecked))&&!E},function(){return C(this,void 0,void 0,(function*(){if(E)return;n(6,N+=1),n(25,E=!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=A;t=(yield apiCall("runners/start",{script:e})).runid,n(2,A=t),O.start()}))},function(){return E},function(){apiCall("runners/cancel",{runid:A}),O.stop()},x,w,E,s,p,h,e=>{L((t=>({...t,archiveFolder:e.detail})))},e=>{L((t=>({...t,rollbackAfterFinish:e.target.checked})))},()=>{L((e=>({...e,rollbackAfterFinish:!d.value?.rollbackAfterFinish})))},e=>{L((t=>({...t,skipRowsWithUnresolvedRefs:e.target.checked})))},()=>{L((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)=>{F({...e,matchColumn1:t.detail})},(e,t)=>{F({...e,operation:t.detail})},(e,t)=>{F({...e,isChecked:t.target.checked})}]}class DataDuplicatorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1e,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_if_block_2$9(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DataGridCore({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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(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_if_block_1$h(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$z(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$1d(e){let t,n,o,i;const r=[create_if_block$z,create_if_block_1$h,create_if_block_2$9],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=r[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?~t&&a[t].p(e,i):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$1c(e,t,n){let o,i,r;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,r=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,i=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,r,p.update,i,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,i,r]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1d,safe_not_equal,{reader:7})}}function create_if_block$y(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$3(e){let t,n,o,i;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let r=e[4]&&create_if_block$y();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};2&o&&(i.uploadedFile=e[1]),4&o&&(i.openedFile=e[2]),n.$set(i),e[4]?r?16&o&&transition_in(r,1):(r=create_if_block$y(),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_default_slot_5$4(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(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_default_slot_4$4(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(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_default_slot_3$a(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=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_default_slot_2$i(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_1$k(e){let t,n,o,i,r,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_5$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_4$4]},$$scope:{ctx:e}}}),r=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_2$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const i={};268435496&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const a={};268435496&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),268435968&n&&(c.$$scope={dirty:n,ctx:e}),r.$set(c);const l={};268435456&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot$3(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_1$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};268436008&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$r(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$3],1:[create__1_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};268436030&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_fragment$1c(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),268436030&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$1b(e,t,n){let o,i,r,a,s,c,l,u,d=noop$3;component_subscribe(e,extensions,(e=>n(7,i=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(15,r=e))),component_subscribe(e,selectedWidget,(e=>n(16,a=e))),component_subscribe(e,currentArchive,(e=>n(8,s=e))),component_subscribe(e,currentDatabase,(e=>n(17,l=e))),e.$$.on_destroy.push((()=>d())),this&&this.__awaiter;let p=!1;const m=writable(null);component_subscribe(e,m,(e=>n(9,u=e)));let{tabid:h}=t,{initialValues:f}=t,{uploadedFile:g}=t,{openedFile:_}=t,{importToCurrentTarget:$=!1}=t;const b=createRef(null);useEditorData({tabid:h});const v=()=>{n(4,p=!1),b.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:b.get()}),set_store_value(currentArchive,s=b.get(),s),set_store_value(selectedWidget,a="archive",a),set_store_value(visibleWidgetSideBar,r=!0,r))};return e.$$set=e=>{"tabid"in e&&n(12,h=e.tabid),"initialValues"in e&&n(0,f=e.initialValues),"uploadedFile"in e&&n(1,g=e.uploadedFile),"openedFile"in e&&n(2,_=e.openedFile),"importToCurrentTarget"in e&&n(13,$=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=null)?(apiOn(`runner-done-${e}`,v),()=>{apiOff(`runner-done-${e}`,v)}):()=>{};var e}))),d(),d=subscribe(o,(e=>n(14,c=e)))),e.$$.dirty},[f,g,_,null,p,0,o,i,s,u,m,function(){var e;return $?l&&"archive"!=a?{targetStorageType:"database",targetConnectionId:null===(e=null==l?void 0:l.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==l?void 0:l.name}:"default"==s?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:s}:{}},h,$,c]}class ImportExportTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1c,safe_not_equal,{tabid:12,initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:13})}}var ImportExportTab$1=Object.freeze({__proto__:null,default:ImportExportTab}),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};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t,n){return __awaiter$l(this,void 0,void 0,(function*(){const o=getOpenedTabs(),i=getActiveTab();let r=null;const{savedFile:a,savedFolder:s,savedFilePath:c}=e.props||{};(a||c)&&(r=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(!r&&!l&&u&&u.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},u.matchingProps));r=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},u.matchingProps))==t))}if(r)return void openedTabs.update((e=>setSelectedTabFunc(e,r.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 r=getTabDbKey(e),a=sortTabs(t.filter((e=>null==e.closedTime))),s=Object.assign(Object.assign({},e),{tabid:d});if(null!=r){const e=_.findLastIndex(a,(e=>getTabDbKey(e)==r));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==i?void 0:i.multiTabIndex)&&void 0!==o?o:0,tabOrder:_.findIndex(a,(e=>e.tabid==d))})]}))}))}function duplicateTab(e){return __awaiter$l(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,i={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),r=n.match(o);r&&r[2]==e.tabid&&(i[r[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(i[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),i,{forceNewTab:!0})}))}function getTabDbKey(e){return"ConnectionTab"==e.tabComponent?"connections.":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 newQuery(e={}){var{tabComponent:t="QueryTab",icon:n="img sql-file",title:o,initialData:i,multiTabIndex:r}=e,a=__rest(e,["tabComponent","icon","title","initialData","multiTabIndex"]);const s=getCurrentDatabase(),c=(null==s?void 0:s.connection)||{},l=null==s?void 0:s.name;openNewTab({title:o||"Query #",icon:n,tooltip:`${getConnectionLabel(c)}\n${l}`,tabComponent:t,multiTabIndex:r,props:Object.assign(Object.assign({},a),{conid:c._id,database:l})},{editor:i})}function newQueryDesign(){return newQuery({tabComponent:"QueryDesignTab",icon:"img query-design"})}function newDiagram(){return newQuery({tabComponent:"DiagramTab",icon:"img diagram",title:"Diagram #"})}function newPerspective(){return newQuery({tabComponent:"PerspectiveTab",icon:"img perspective",title:"Perspective #"})}function create_fragment$1b(e){let t,n;const o=[e[4],{data:e[0]},{icon:e[1]?.icon},{title:e[0]?.file},{menu:e[2]()}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",(function(){is_function(e[1]?.tabComponent&&e[3])&&(e[1]?.tabComponent&&e[3]).apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,[i]){e=n;const r=23&i?get_spread_update(o,[16&i&&get_spread_object(e[4]),1&i&&{data:e[0]},2&i&&{icon:e[1]?.icon},1&i&&{title:e[0]?.file},4&i&&{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 sql={icon:"img sql-file",format:"text",tabComponent:"QueryTab",folder:"sql",currentConnection:!0},shell={icon:"img shell",format:"text",tabComponent:"ShellTab",folder:"shell",currentConnection:!1},markdown={icon:"img markdown",format:"text",tabComponent:"MarkdownEditorTab",folder:"markdown",currentConnection:!1},charts={icon:"img chart",format:"json",tabComponent:"ChartTab",folder:"charts",currentConnection:!0},query={icon:"img query-design",format:"json",tabComponent:"QueryDesignTab",folder:"query",currentConnection:!0},sqlite={icon:"img sqlite-database",format:"binary",tabComponent:null,folder:"sqlite",currentConnection:!0},diagrams={icon:"img diagram",format:"json",tabComponent:"DiagramTab",folder:"diagrams",currentConnection:!0},perspectives={icon:"img perspective",format:"json",tabComponent:"PerspectiveTab",folder:"pesrpectives",currentConnection:!0},SAVED_FILE_HANDLERS={sql:sql,shell:shell,markdown:markdown,charts:charts,query:query,sqlite:sqlite,diagrams:diagrams,perspectives:perspectives},extractKey$7=e=>e.file,createMatcher$4=({file:e})=>t=>lib$5.filterName(t,e);function instance$1a(e,t,n){let o,i;const r=["data"];let a,s=compute_rest_props(t,r);component_subscribe(e,currentDatabase,(e=>n(6,a=e)));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;const u=()=>{openNewTab({title:l.file,icon:"img markdown",tabComponent:"MarkdownViewTab",props:{savedFile:l.file,savedFolder:"markdown",savedFormat:"text"}})};const d=()=>{showModal(ConfirmModal,{message:`Really delete file ${l.file}?`,onConfirm:()=>{apiCall("files/delete",l)}})},p=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/rename",Object.assign(Object.assign({},l),{newFile:e}))}})},m=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/copy",Object.assign(Object.assign({},l),{newFile:e}))}})};function h(){return c(this,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:o,file:l.file,format:i.format}),t={};let n;if(i.currentConnection){const e=_.get(a,"connection")||{},o=_.get(a,"name");t.conid=e._id,t.database=o,n=`${getConnectionLabel(e)}\n${o}`}openNewTab({title:l.file,icon:i.icon,tabComponent:i.tabComponent,tooltip:n,props:Object.assign({savedFile:l.file,savedFolder:i.folder,savedFormat:i.format},t)},{editor:e})}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,s=compute_rest_props(t,r)),"data"in e&&n(0,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=null==l?void 0:l.folder),32&e.$$.dirty&&n(1,i=SAVED_FILE_HANDLERS[o])},[l,i,function(){return[(null==i?void 0:i.tabComponent)&&{text:"Open",onClick:h},hasPermission(`files/${l.folder}/write`)&&{text:"Rename",onClick:p},hasPermission(`files/${l.folder}/write`)&&{text:"Create copy",onClick:m},hasPermission(`files/${l.folder}/write`)&&{text:"Delete",onClick:d},"markdown"==o&&{text:"Show page",onClick:u}]},h,s,o]}class SavedFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1b,safe_not_equal,{data:0})}}var savedFileAppObject=Object.freeze({__proto__:null,default:SavedFileAppObject,SAVED_FILE_HANDLERS:SAVED_FILE_HANDLERS,extractKey:extractKey$7,createMatcher:createMatcher$4});function canOpenByElectron(e,t){var n;if(!e)return!1;const o=e.toLowerCase();if(o.endsWith(".sql"))return!0;if(o.endsWith(".diagram"))return!0;if(o.endsWith(".qdesign"))return!0;if(o.endsWith(".perspective"))return!0;if(o.endsWith(".json"))return!0;if(o.endsWith(".db")||o.endsWith(".sqlite")||o.endsWith(".sqlite3"))return!0;for(const e of t.fileFormats){if(o.endsWith(`.${e.extension}`))return!0;if(null===(n=e.extensions)||void 0===n?void 0:n.find((e=>o.endsWith(`.${e}`))))return!0}return!1}function openSqliteFile(e){return __awaiter$l(this,void 0,void 0,(function*(){const t=getDatabaseFileLabel(e),n=yield apiCall("connections/save",{_id:void 0,databaseFile:e,engine:"sqlite@dbgate-plugin-sqlite",singleDatabase:!0,defaultDatabase:t});currentDatabase.set({connection:n,name:getDatabaseFileLabel(e)})}))}function getFileEncoding(e,t){var n=Buffer.alloc(5),o=t.openSync(e,"r");t.readSync(o,n,0,5,0),t.closeSync(o);let i=null;return i||239!==n[0]||187!==n[1]||191!==n[2]||(i="utf8"),i||254!==n[0]||255!==n[1]||(i="utf16be"),i||255!==n[0]||254!==n[1]||(i="utf16le"),i||(i="ascii"),i}function openElectronJsonLinesFile(e,t){openNewTab({title:t.name,tooltip:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${e}`}})}function openSavedElectronFile(e,t,n){var o;return __awaiter$l(this,void 0,void 0,(function*(){const i=SAVED_FILE_HANDLERS[n],r=yield apiCall("files/load-from",{filePath:e,format:i.format}),a={};let s;const c=getCurrentDatabase();if(i.currentConnection){const e=(null==c?void 0:c.connection)||{},t=null==c?void 0:c.name;a.conid=null===(o=null==c?void 0:c.connection)||void 0===o?void 0:o._id,a.database=t,s=`${getConnectionLabel(e)}\n${t}`}openNewTab({title:t.name,icon:i.icon,tabComponent:i.tabComponent,tooltip:s,props:Object.assign({savedFile:null,savedFolder:null,savedFilePath:e,savedFormat:i.format},a)},{editor:r})}))}function openElectronFileCore(e,t){const n=e.toLowerCase(),o=window.require("path"),i=window.require("fs"),r=o.parse(e),a=getUploadListener();if(n.endsWith(".sql")){const t=getFileEncoding(e,i),n=i.readFileSync(e,{encoding:t});newQuery({title:r.name,initialData:n,savedFilePath:e,savedFormat:"text"})}else if(n.endsWith(".db")||n.endsWith(".sqlite")||n.endsWith(".sqlite"))openSqliteFile(e);else if(n.endsWith(".jsonl")||n.endsWith(".ndjson"))openElectronJsonLinesFile(e,r);else if(n.endsWith(".json"))i.readFile(e,{encoding:"utf-8"},((e,t)=>{if(e)showModal(ErrorMessageModal,{message:(null==e?void 0:e.message)||"File cannot be loaded"});else try{openJsonDocument(JSON.parse(t))}catch(e){showModal(ErrorMessageModal,{message:e.message})}}));else if(n.endsWith(".diagram"))openSavedElectronFile(e,r,"diagrams");else if(n.endsWith(".qdesign"))openSavedElectronFile(e,r,"query");else if(n.endsWith(".perspective"))openSavedElectronFile(e,r,"perspectives");else for(const o of t.fileFormats)n.endsWith(`.${o.extension}`)&&(a?a({filePath:e,storageType:o.storageType,shortName:r.name}):showModal(ImportExportModal$1,{openedFile:{filePath:e,storageType:o.storageType,shortName:r.name},importToCurrentTarget:!0,initialValues:{sourceStorageType:o.storageType}}))}function getFileFormatFilters(e){return e.fileFormats.filter((e=>e.readerFunc)).map((e=>({name:e.name,extensions:e.extensions||[e.extension]})))}function getFileFormatExtensions(e){return _.flatten(e.fileFormats.filter((e=>e.readerFunc)).map((e=>e.extensions||[e.extension])))}function openElectronFile(){return __awaiter$l(this,void 0,void 0,(function*(){const e=getElectron(),t=get_store_value(extensions),n=yield e.showOpenDialog({filters:[{name:"All supported files",extensions:["sql","sqlite","db","sqlite3","diagram","qdesign","perspective","json",...getFileFormatExtensions(t)]},{name:"SQL files",extensions:["sql"]},{name:"JSON files",extensions:["json"]},{name:"Diagram files",extensions:["diagram"]},{name:"Query designer files",extensions:["qdesign"]},{name:"Perspective files",extensions:["perspective"]},{name:"SQLite database",extensions:["sqlite","db","sqlite3"]},...getFileFormatFilters(t)],properties:["showHiddenFiles","openFile"]}),o=n&&n[0];canOpenByElectron(o,t)&&openElectronFileCore(o,t)}))}let uploadListener;function setUploadListener(e){uploadListener=e}function getUploadListener(){return uploadListener}function uploadFiles(e){const t=get_store_value(extensions),n=getElectron();e.forEach((e=>__awaiter$l(this,void 0,void 0,(function*(){if(n&&canOpenByElectron(e.path,t))return void openElectronFileCore(e.path,t);const o=33554432;if(parseInt(e.size,10)>=o)return void showModal(ErrorMessageModal,{title:"Upload error",message:`File is too big, current size is ${Math.round(e.size/1024).toLocaleString()} KB, max allowed size is ${Math.round(32768).toLocaleString()} KB`});const i=new FormData;i.append("data",e);const r={method:"POST",body:i},a=resolveApi(),s=yield fetch(`${a}/uploads/upload`,r),c=yield s.json();if(c.shortName=e.name,e.name.endsWith(".jsonl")||e.name.endsWith(".ndjson"))openNewTab({title:c.shortName,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${c.filePath}`}});else{for(const n of t.fileFormats)e.name.endsWith("."+n.extension)&&(c.shortName=e.name.slice(0,-n.extension.length-1),c.storageType=n.storageType);uploadListener?uploadListener(c):findFileFormat(t,c.storageType)&&showModal(ImportExportModal$1,{uploadedFile:c,importToCurrentTarget:!0,initialValues:{sourceStorageType:c.storageType}})}}))))}function create_fragment$1a(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$19(e,t,n){let o,i,r;component_subscribe(e,extensions,(e=>n(6,r=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,i=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(r,a,i))},[a,i,o,c,l,s,r,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1a,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$x(e){let t,n,o,i,r,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),i=!0,r||(a=listen(t,"click",e[4]),r=!0)},p(e,n){(!i||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},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),r=!1,a()}}}function create_fragment$19(e){let t,n,o,i,r,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$x(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),i=space(),r=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(r,"class","flex"),attr(t,"class","flex space-between")},m(m,h){insert(m,t,h),append(t,n),append(n,o),append(t,i),append(t,r),p&&p.m(r,null),append(r,a),append(r,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$x(e),p.c(),transition_in(p,1),p.m(r,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$18(e,t,n){let o,i,{name:r}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,i=e)));const c=e=>{s(`sourceFile_${r}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,r=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=i[`sourceFile_${r}`])},[r,o,a,()=>{s("sourceList",i.sourceList.filter((e=>e!=r)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},i]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$19,safe_not_equal,{name:0})}}function create_fragment$18(e){let t,n,o,i,r,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}),r=new FormStyledButton({props:{type:"button",value:"All files"}}),r.$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(),i=element("div"),create_component(r.$$.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,i),mount_component(r,i,null),append(i,a),mount_component(s,i,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(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(s)}}}function instance$17(e,t,n){let o,i,r,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,r=e)))),2&e.$$.dirty&&n(2,i=(r||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,r,i,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...r&&r.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$18,safe_not_equal,{folderName:8,name:0})}}function create_if_block$w(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$17(e){let t,n,o,i;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let r=e[0]&&create_if_block$w();return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,[t]){e[0]?r?1&t&&transition_in(r,1):(r=create_if_block$w(),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.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$16(e,t,n){let o,i;component_subscribe(e,extensions,(e=>n(4,i=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,()=>r(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(i,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(i,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$16,create_fragment$17,safe_not_equal,{})}}function create_else_block$c(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$v(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$16(e){let t,n,o,i,r,a,s,c,l;const u=[create_if_block$v,create_else_block$c],d=[];return o=function(e,t){return e[0]?0:1}(e),i=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"),i.c(),r=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,i){insert(e,t,i),append(t,n),d[o].m(n,null),append(n,r),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(i),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(i),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$15(e,t,n){let o,i;component_subscribe(e,extensions,(e=>n(5,i=e)));let{setPreviewSource:r}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(i,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,r)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,r=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),r]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$16,safe_not_equal,{setPreviewSource:3})}}function create_if_block$u(e){let t,n;const o=[e[3],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};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$15(e){let t,n,o=e[0].length>0&&create_if_block$u(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$u(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$14(e,t,n){let o,i;const r=["conidName","databaseName"];let a,s,c=compute_rest_props(t,r),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,r)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useDatabaseInfo({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,i=(a&&a.schemas||[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[i,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$15,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$t(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[13]}`}}),t.$on("click",(function(){return e[11](e[13])})),{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$d(e){let t,n,o=e[2]&&e[2][e[13]]?.length>0&&create_if_block$t(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[2]&&e[2][e[13]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$t(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$14(e){let t,n,o,i,r,a,s;const c=[e[7],{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$d(get_each_context$d(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[12]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div");for(let e=0;e<4;e+=1)d[e].c();r=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-1xz9rwb")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,i);for(let e=0;e<4;e+=1)d[e].m(i,null);append(i,r),mount_component(a,i,null),s=!0},p(e,[t]){const o=137&t?get_spread_update(c,[128&t&&get_spread_object(e[7]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),71&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$d(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$d(o),d[n].c(),transition_in(d[n],1),d[n].m(i,r))}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$13(e,t,n){let o,i;const r=["conidName","databaseName","schemaName","name"];let a,s,c=compute_rest_props(t,r),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t,{schemaName:p}=t,{name:m}=t;const{values:h,setFieldValue:f}=getFormContext();component_subscribe(e,h,(e=>n(1,a=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"conidName"in e&&n(8,u=e.conidName),"databaseName"in e&&n(9,d=e.databaseName),"schemaName"in e&&n(10,p=e.schemaName),"name"in e&&n(0,m=e.name)},e.$$.update=()=>{770&e.$$.dirty&&(n(4,o=useDatabaseInfo({conid:a[u],database:a[d]})),l(),l=subscribe(o,(e=>n(2,s=e)))),1030&e.$$.dirty&&n(3,i=_.compact([...(null==s?void 0:s.tables)||[],...(null==s?void 0:s.views)||[],...(null==s?void 0:s.matviews)||[],...(null==s?void 0:s.collections)||[]]).filter((e=>!a[p]||e.schemaName==a[p])).map((e=>({value:e.pureName,label:e.pureName}))))},[m,a,s,i,o,h,f,c,u,d,p,e=>f(m,_.compact(_.uniq([...a[m]||[],...s[e]?.map((e=>e.pureName))||[]]))),()=>f(m,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$14,safe_not_equal,{conidName:8,databaseName:9,schemaName:10,name:0})}}function create_if_block_13$1(e){let t,n,o,i;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-d1p00z")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_12$1(e){let t,n,o,i;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-d1p00z")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_11$1(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$1(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$1(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};4&n&&(i.name=e[2]),1&n&&(i.direction=e[0]),t.$set(i);const r={};4&n&&(r.conidName=e[2]),8&n&&(r.name=e[3]),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$1(e){let t,n,o,i;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let r=e[6]&&create_if_block_8$1(e);return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,n){const i={};4&n&&(i.conidName=e[2]),8&n&&(i.databaseName=e[3]),32&n&&(i.name=e[5]),t.$set(i),e[6]?r?(r.p(e,n),64&n&&transition_in(r,1)):(r=create_if_block_8$1(e),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.d(e),e&&detach(o)}}}function create_if_block_8$1(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$3(e){let t,n,o,i,r,a;const s=[create_if_block_6$2,create_else_block$b],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return i=l(e),r=c[i]=s[i](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),r.c(),attr(t,"class","label svelte-d1p00z"),attr(o,"class","sqlwrap svelte-d1p00z")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r),c[i].m(o,null),a=!0},p(e,t){let n=i;i=l(e),i===n?c[i].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),r=c[i],r?r.p(e,t):(r=c[i]=s[i](e),r.c()),transition_in(r,1),r.m(o,null))},i(e){a||(transition_in(r),a=!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[i].d()}}}function create_else_block$b(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$2(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$4(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$5(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$8(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$g(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$s(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$13(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b="source"==e[0]&&create_if_block_13$1(),v="target"==e[0]&&create_if_block_12$1(),y=e[15]&&create_if_block_11$1(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$1(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$1(e),C="database"==e[9]&&create_if_block_7$1(e),k="query"==e[9]&&create_if_block_5$3(e),S="archive"==e[9]&&create_if_block_4$4(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$5(e),E=e[10]&&"source"==e[0]&&create_if_block_2$8(e),A=e[10]?.args&&create_if_block_1$g(e),N=e[12]?.importExportArgs&&create_if_block$s(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),i=element("div"),y&&y.c(),r=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(),h=space(),T&&T.c(),f=space(),E&&E.c(),g=space(),A&&A.c(),_=space(),N&&N.c(),attr(i,"class","buttons svelte-d1p00z"),attr(t,"class","column svelte-d1p00z")},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,i),y&&y.m(i,null),append(i,r),mount_component(a,i,null),append(i,s),x&&x.m(i,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,h),T&&T.m(t,null),append(t,f),E&&E.m(t,null),append(t,g),A&&A.m(t,null),append(t,_),N&&N.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$1(),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$1(),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$1(e),y.c(),transition_in(y,1),y.m(i,r)):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$1(e),x.c(),transition_in(x,1),x.m(i,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$1(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$1(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$3(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$4(e),S.c(),transition_in(S,1),S.m(t,h)):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$5(e),T.c(),transition_in(T,1),T.m(t,f)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?E?(E.p(e,a),1025&a&&transition_in(E,1)):(E=create_if_block_2$8(e),E.c(),transition_in(E,1),E.m(t,g)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[10]?.args?A?(A.p(e,a),1024&a&&transition_in(A,1)):(A=create_if_block_1$g(e),A.c(),transition_in(A,1),A.m(t,_)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[12]?.importExportArgs?N?(N.p(e,a),4096&a&&transition_in(N,1)):(N=create_if_block$s(e),N.c(),transition_in(N,1),N.m(t,null)):N&&(group_outros(),transition_out(N,1,1,(()=>{N=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(E),transition_in(A),transition_in(N),$=!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(E),transition_out(A),transition_out(N),$=!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(),E&&E.d(),A&&A.d(),N&&N.d()}}}function instance$12(e,t,n){let o,i,r,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:h}=t,{storageTypeField:f}=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,h=e.direction),"storageTypeField"in e&&n(1,f=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[f]?[{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,i=u[f]),2060&e.$$.dirty&&useDatabaseInfo({conid:u[g],database:u[_]}),2064&e.$$.dirty&&useArchiveFiles({folder:u[$]}),524800&e.$$.dirty&&n(10,r=findFileFormat(c,i)),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))},[h,f,g,_,$,b,v,y,x,i,r,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[f]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(h),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==h,e=>!e.direction||e.direction==h]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$13,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[22]}`]||[]).filter((e=>!e.skip)).length;e[23]=t}function create_if_block$r(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[22]}}),t.$on("change",(function(...t){return e[16](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const i={};4194308&o&&(i.checked=e[2]==e[22]),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__0_slot(e){let t,n,o=e[3]&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[3]?o?(o.p(e,n),8&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 create__1_slot$2(e){let t,n;return t=new TextField({props:{value:getTargetName(e[1],e[22],e[0])}}),t.$on("input",(function(...t){return e[15](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const i={};4194307&o&&(i.value=getTargetName(e[1],e[22],e[0])),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$q(e){let t,n=e[23]>0?`(${e[23]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4194305&o&&n!==(n=e[23]>0?`(${e[23]} 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[14](e[22])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){get_context(e=n);const r={};4194305&i&&(r.onClick=o),20971521&i&&(r.$$scope={dirty:i,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$12(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[4],setPreviewSource:e[9].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"}}),f=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{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})=>({22:e}),({row:e})=>e?4194304:0],1:[create__1_slot$2,({row:e})=>({22:e}),({row:e})=>e?4194304:0],0:[create__0_slot,({row:e})=>({22:e}),({row:e})=>e?4194304:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=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"),h=space(),create_component(f.$$.fragment),attr(r,"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,i),append(n,r),mount_component(a,r,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,h),mount_component(f,u,null),g=!0},p(e,[t]){const n={};16&t&&(n.engine=e[4]),o.$set(n);const i={};1&t&&(i.rows=e[0].sourceList||[]),64&t&&(i.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),20971535&t&&(i.$$scope={dirty:t,ctx:e}),f.$set(i)},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(f.$$.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(f.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(f)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter$2(this,void 0,void 0,(function*(){const r=t;o.push(r),i[`sourceFile_${r}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,i,r){return __awaiter$2(this,void 0,void 0,(function*(){const a=[],s={},c=i||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],i&&i!=n.sourceStorageType&&(s.sourceStorageType=i);for(const e of a)n.fixedTargetPureName&&(n[`targetName_${e}`]=n.fixedTargetPureName,n[`actionType_${e}`]="appendData");o.set(Object.assign(Object.assign({},n),s)),r&&1==a.length&&r(a[0])}))}const func_2$2=e=>({name:e});function instance$11(e,t,n){let o,i,r,a,s,c,l,u,d,p=noop$3;component_subscribe(e,extensions,(e=>n(1,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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{uploadedFile:h}=t,{openedFile:f}=t,{previewReaderStore:g}=t;const{values:_,setFieldValue:$}=getFormContext();component_subscribe(e,_,(e=>n(0,c=e)));const b=writable(null);component_subscribe(e,b,(e=>n(2,u=e)));const v=e=>{addFilesToSourceList(l,[{fileName:e.filePath,shortName:e.shortName}],c,_,a&&0!=a.length?null:e.storageType,b.set)};onMount((()=>(setUploadListener(v),h&&v(h),f&&v(f),()=>{setUploadListener(null)})));return e.$$set=e=>{"uploadedFile"in e&&n(10,h=e.uploadedFile),"openedFile"in e&&n(11,f=e.openedFile),"previewReaderStore"in e&&n(12,g=e.previewReaderStore)},e.$$.update=()=>{var t;1&e.$$.dirty&&n(6,o=useDatabaseInfo({conid:c.targetConnectionId,database:c.targetDatabaseName})),1&e.$$.dirty&&(n(5,i=useConnectionInfo({conid:c.sourceConnectionId})),p(),p=subscribe(i,(e=>n(13,d=e)))),8192&e.$$.dirty&&n(4,r=null==d?void 0:d.engine),1&e.$$.dirty&&(a=c.sourceList),3&e.$$.dirty&&n(3,s=!!findFileFormat(l,c.sourceStorageType)||"archive"==c.sourceStorageType),5&e.$$.dirty&&(t=u,m(void 0,void 0,void 0,(function*(){if(t&&s){const e=yield createPreviewReader(l,c,t);g&&g.set(e)}else g&&g.set(null)})))},[c,l,u,s,r,i,o,_,$,b,h,f,g,d,e=>{showModal(ColumnMapModal,{value:c[`columns_${e}`],onConfirm:t=>$(`columns_${e}`,t)})},(e,t)=>$(`targetName_${e}`,t.target.value),(e,t)=>{t.target.checked?set_store_value(b,u=e,u):set_store_value(b,u=null,u)},e=>({name:e,targetDbinfo:o})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$12,safe_not_equal,{uploadedFile:10,openedFile:11,previewReaderStore:12})}}function create_if_block_2$7(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,i;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let r=e[4]&&create_if_block_2$7();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};2&o&&(i.uploadedFile=e[1]),4&o&&(i.openedFile=e[2]),n.$set(i),e[4]?r?16&o&&transition_in(r,1):(r=create_if_block_2$7(),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_default_slot_10(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(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_default_slot_9(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(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_default_slot_8$1(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=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_default_slot_7$2(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_6$2(e){let t,n,o,i,r,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_10]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),r=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_7$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const i={};33554472&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const a={};33554472&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),33554944&n&&(c.$$scope={dirty:n,ctx:e}),r.$set(c);const l={};33554432&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,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_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};33554984&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_5$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={};33555006&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_1$f(e){let t,n;return t=new FontIcon({props:{icon:"icon loading"}}),{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_header_slot$2(e){let t,n,o,i=e[4]&&create_if_block_1$f();return{c(){t=text$1("Import/Export\n "),i&&i.c(),n=empty()},m(e,r){insert(e,t,r),i&&i.m(e,r),insert(e,n,r),o=!0},p(e,t){e[4]?i?16&t&&transition_in(i,1):(i=create_if_block_1$f(),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(i),o=!0)},o(e){transition_out(i),o=!1},d(e){e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_else_block$a(e){let t,n;return t=new LargeFormButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_4$3]},$$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={};33554432&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$q(e){let t,n;return t=new LargeButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_3$9]},$$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={};33554432&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_4$3(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_3$9(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_2$h(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$j(e){let t;return{c(){t=text$1("Close")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,i,r,a,s,c;const l=[create_if_block$q,create_else_block$a],u=[];function d(e,t){return e[4]?0:1}return n=d(e),o=u[n]=l[n](e),r=new LargeFormButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}}),r.$on("click",e[12]),s=new LargeButton({props:{icon:"icon close",$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),s.$on("click",closeCurrentModal),{c(){t=element("div"),o.c(),i=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","flex m-2")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,i),mount_component(r,t,null),append(t,a),mount_component(s,t,null),c=!0},p(e,a){let c=n;n=d(e),n===c?u[n].p(e,a):(group_outros(),transition_out(u[c],1,1,(()=>{u[c]=null})),check_outros(),o=u[n],o?o.p(e,a):(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,i));const p={};33554432&a&&(p.$$scope={dirty:a,ctx:e}),r.$set(p);const m={};33554432&a&&(m.$$scope={dirty:a,ctx:e}),s.$set(m)},i(e){c||(transition_in(o),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[n].d(),destroy_component(r),destroy_component(s)}}}function create_default_slot$p(e){let t,n;const o=[e[15],{fullScreen:!0}];let i={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_5$3]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=32768&n?get_spread_update(o,[get_spread_object(e[15]),o[1]]):{};33555006&n&&(i.$$scope={dirty:n,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$11(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$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={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),33587774&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$10(e,t,n){let o;const i=["initialValues","uploadedFile","openedFile","importToCurrentTarget"];let r,a,s,c,l,u,d,p=compute_rest_props(t,i),m=noop$3;component_subscribe(e,extensions,(e=>n(7,r=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(18,a=e))),component_subscribe(e,selectedWidget,(e=>n(19,s=e))),component_subscribe(e,currentArchive,(e=>n(8,c=e))),component_subscribe(e,currentDatabase,(e=>n(20,u=e))),e.$$.on_destroy.push((()=>m()));var h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=!1,g=0,_=null;const $=writable(null);component_subscribe(e,$,(e=>n(9,d=e)));let{initialValues:b}=t,{uploadedFile:v}=t,{openedFile:y}=t,{importToCurrentTarget:x=!1}=t;const w=createRef(null);const C=()=>{n(4,f=!1),w.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:w.get()}),set_store_value(currentArchive,c=w.get(),c),set_store_value(selectedWidget,s="archive",s),set_store_value(visibleWidgetSideBar,a=!0,a))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(15,p=compute_rest_props(t,i)),"initialValues"in e&&n(0,b=e.initialValues),"uploadedFile"in e&&n(1,v=e.uploadedFile),"openedFile"in e&&n(2,y=e.openedFile),"importToCurrentTarget"in e&&n(16,x=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=_)?(apiOn(`runner-done-${e}`,C),()=>{apiOff(`runner-done-${e}`,C)}):()=>{};var e}))),m(),m=subscribe(o,(e=>n(17,l=e)))),e.$$.dirty},[b,v,y,_,f,g,o,r,c,d,$,function(){var e;return x?u&&"archive"!=s?{targetStorageType:"database",targetConnectionId:null===(e=null==u?void 0:u.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==u?void 0:u.name}:"default"==c?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:c}:{}},e=>h(void 0,void 0,void 0,(function*(){closeCurrentModal();openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(r,e.detail,void 0,!0)})})),e=>h(void 0,void 0,void 0,(function*(){if(f)return;const t=e.detail;n(4,f=!0);const o=yield createImpExpScript(r,t);n(5,g+=1);let i=_;i=(yield apiCall("runners/start",{script:o})).runid,n(3,_=i),"archive"==t.targetStorageType?w.set(t.targetArchiveFolder):w.set(null)})),()=>{apiCall("runners/cancel",{runid:_})},p,x,l]}class ImportExportModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$11,safe_not_equal,{initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:16})}}var ImportExportModal$1=ImportExportModal;function create_fragment$10(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[0])},{menu:e[2]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter$1(this,void 0,void 0,(function*(){let r;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:i,tabComponent:o,tooltip:r,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$$(e,t,n){const o=["data"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i=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=>()=>r(this,void 0,void 0,(function*(){exportQuickExportFile(a.fileName,{functionName:"archiveReader",props:{fileName:a.fileName,folderName:a.folderName}},e)}))),{text:"Export",onClick:()=>{showModal(ImportExportModal$1,{initialValues:{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}})}})))}]},i]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$10,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$g(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$i(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$g]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&2&o&&(r=!0,s.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$o(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$$(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};8194&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};8203&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$_(e,t,n){let o,i,r,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,r=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r,file:e,rows:[{id:1,value:"val1"},{id:1,value:"val2"}]}),openNewTab({title:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:r}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=r),1&e.$$.dirty&&(n(2,i=useArchiveFiles({folder:o})),s(),s=subscribe(i,(e=>n(3,a=e))))},[o,l,i,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New NDJSON file",onClick:u}]},r,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$_,create_fragment$$,safe_not_equal,{})}}function create_fragment$_(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$5.filterName(t,e.name);function instance$Z(e,t,n){const o=["data"];let i,r,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,i=e))),component_subscribe(e,currentArchive,(e=>n(1,r=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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}),r==c.name&&set_store_value(currentArchive,r=e+n,r)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$5.extractPackageName(i.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(i.connection,"_id","displayName")),{database:i.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:i.connection._id,database:i.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==i?void 0:i.connection)||void 0===e?void 0:e._id,targetDatabase:null==i?void 0:i.name}})},h=()=>{var e;openNewTab({title:c.name,icon:"img duplicator",tabComponent:"DataDuplicatorTab",props:{conid:null===(e=null==i?void 0:i.connection)||void 0===e?void 0:e._id,database:null==i?void 0:i.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,r,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&i&&[{text:"Data duplicator",onClick:h},{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&_.get(i,"connection._id")&&{onClick:m,text:`Compare with ${_.get(i,"name")}`}]},a,()=>set_store_value(currentArchive,r=c.name,r)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$_,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$f(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$h(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$f]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$n(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$Z(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};129&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};133&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$Y(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));let a="";return n(1,o=useArchiveFolders()),r(),r=subscribe(o,(e=>n(2,i=e))),[a,o,i,()=>{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$Y,create_fragment$Z,safe_not_equal,{})}}function create_default_slot_2$e(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$g(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$m(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$Y(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$m]},$$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$Y,safe_not_equal,{})}}function create_fragment$X(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$4).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$4).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$4=e=>e.sortOrder??e.name;function instance$X(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));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})),r(),r=subscribe(o,(e=>n(4,i=e))))},[a,s,c,o,i,e=>lib$5.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$X,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_2$6(e){let t,n,o,i;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_5$2]},$$scope:{ctx:e}}}),t.$on("click",e[22]),o=new InlineButton({props:{title:"Add new connection folder",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),o.$on("click",e[23]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$d(e){let t,n,o,i,r,a,s,c,l;function u(t){e[20](t)}let d={placeholder:"Search connection or database"};function p(t){e[21](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),i=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind(i,"filter",p)));let h=e[5]["new.connection"]?.enabled&&create_if_block_2$6(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(i.$$.fragment),a=space(),h&&h.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,e,n),insert(e,a,n),h&&h.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={};!r&&4&o[0]&&(r=!0,l.filter=e[2],add_flush_callback((()=>r=!1))),i.$set(l),e[5]["new.connection"]?.enabled?h?(h.p(e,o),32&o[0]&&transition_in(h,1)):(h=create_if_block_2$6(e),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros());const u={};16&o[1]&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(h),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(h),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),h&&h.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block_1$e(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$p(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$f]},$$scope:{ctx:e}}}),t.$on("click",e[32]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};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_default_slot_1$f(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$l(e){let t,n,o,i,r,a,s,c=e[1]&&!e[1].find(func$5)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$3);t=new AppObjectList({props:{list:_.sortBy(e[4],e[24]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[25],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[26],setIsExpanded:e[27],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$e();i=new AppObjectList({props:{list:_.sortBy(e[3],e[28]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[29],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[30],setIsExpanded:e[31]}});let u=c&&create_if_block$p(e);return{c(){create_component(t.$$.fragment),n=space(),l&&l.c(),o=space(),create_component(i.$$.fragment),r=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(i,e,c),insert(e,r,c),u&&u.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};16&n[0]&&(r.list=_.sortBy(e[4],e[24])),1&n[0]&&(r.isExpandable=e[25]),4&n[0]&&(r.filter=e[2]),64&n[0]&&(r.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(r.getIsExpanded=e[26]),256&n[0]&&(r.emptyGroupNames=e[8]),t.$set(r),e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0?l||(l=create_if_block_1$e(),l.c(),l.m(o.parentNode,o)):l&&(l.d(1),l=null);const s={};8&n[0]&&(s.list=_.sortBy(e[3],e[28])),1&n[0]&&(s.isExpandable=e[29]),4&n[0]&&(s.filter=e[2]),64&n[0]&&(s.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(s.getIsExpanded=e[30]),i.$set(s),547&n[0]&&(c=e[1]&&!e[1].find(func$5)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$3)),c?u?(u.p(e,n),547&n[0]&&transition_in(u,1)):(u=create_if_block$p(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(i.$$.fragment,e),transition_in(u),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.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(i,e),e&&detach(r),u&&u.d(e),e&&detach(a)}}}function create_fragment$W(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),o.$on("drop",e[33]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};36&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1023&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$5=e=>!e.unsaved,func_1$3=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid,func_6=e=>e.parent;function instance$W(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f;component_subscribe(e,openedConnections,(e=>n(0,s=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,c=e))),component_subscribe(e,commandsCustomized,(e=>n(5,d=e))),component_subscribe(e,expandedConnections,(e=>n(7,m=e))),component_subscribe(e,emptyConnectionGroupNames,(e=>n(8,h=e))),component_subscribe(e,openedTabs,(e=>n(9,f=e)));var g=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 $=useConnectionList();component_subscribe(e,$,(e=>n(1,l=e)));const b=useServerStatus();component_subscribe(e,b,(e=>n(19,u=e)));let v="";const y=(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}})},x=useConnectionColorFactory(3);component_subscribe(e,x,(e=>n(6,p=e)));return e.$$.update=()=>{524290&e.$$.dirty[0]&&n(17,o=l&&u?l.map((e=>Object.assign(Object.assign({},e),{status:u[getVolatileRemapping(e._id)]}))):l),393217&e.$$.dirty[0]&&n(16,i=null==o?void 0:o.filter((e=>!e.unsaved||s.includes(e._id)||c.includes(e._id)))),65536&e.$$.dirty[0]&&n(4,r=i?null==i?void 0:i.filter((e=>void 0!==e.parent&&null!==e.parent&&0!==e.parent.length)):[]),65536&e.$$.dirty[0]&&n(3,a=i?null==i?void 0:i.filter((e=>void 0===e.parent||null===e.parent||0===e.parent.length)):[])},[s,l,v,a,r,d,p,m,h,f,$,b,()=>{for(const e of s)apiCall("server-connections/refresh",{conid:e})},y,x,function(e){return[{text:"Rename",onClick:()=>{showModal(InputTextModal,{value:e,label:"New folder name",header:"Rename folder",onConfirm:t=>g(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:""})}})}}]},i,o,c,u,function(e){v=e,n(2,v)},function(e){v=e,n(2,v)},()=>runCommand("new.connection"),()=>runCommand("new.connection.folder"),e=>(getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>m.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},e=>(getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>m.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&&y(t,"")}]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$W,safe_not_equal,{},null,[-1,-1])}}function create_if_block$o(e){let t,n,o,i;const r=[create_if_block_1$d,create_else_block$9],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block$9(e){let t,n;const o=[e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DatabaseAppObject({props:i}),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 i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};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_if_block_1$d(e){let t,n;const o=[e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DatabaseObjectAppObject({props:i}),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 i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};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$V(e){let t,n,o=e[0]&&create_if_block$o(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$o(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,i){if(!i(e,t)){const r=_.findIndex(n,(t=>i(t,e))),a=_.findIndex(n,(e=>i(e,t)));if(r>=0&&a>=0&&r!=a){const e=[...n],t=e[r];e[r]=e[a],e[a]=t,o(e)}}}function instance$V(e,t,n){let o,i,r;component_subscribe(e,draggedPinnedObject,(e=>n(1,o=e))),component_subscribe(e,pinnedTables,(e=>n(2,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(3,r=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,i,r,t,()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,i,(e=>set_store_value(pinnedTables,i=e,i)),((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,r,(e=>set_store_value(pinnedDatabases,r=e,r)),((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$V,create_fragment$V,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$k(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$U(e){let t,n;return t=new WidgetsInnerContainer({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={};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$U(e,t,n){let o,i,r,a,s;component_subscribe(e,currentDatabase,(e=>n(4,i=e))),component_subscribe(e,pinnedTables,(e=>n(5,r=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=r.filter((e=>{var t;return(null==e?void 0:e.conid)==(null===(t=null==i?void 0:i.connection)||void 0===t?void 0:t._id)&&(null==e?void 0:e.database)==(null==i?void 0:i.name)})))},[o,a,s,c,i,r]}class PinnedObjectsList 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[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey$3=({columnName:e})=>e;function instance$T(e,t,n){let o;const i=["data"];let r=compute_rest_props(t,i),{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,r=compute_rest_props(t,i)),"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}]},r]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$T,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$S(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$S(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$S,create_fragment$S,safe_not_equal,{data:0})}}function create_else_block$8(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};16777232&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16779359&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777250&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 WidgetsInnerContainer({props:{$$slots:{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={};16779264&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,i,r,a,s,c,l,u;function d(t){e[20](t)}let p={placeholder:"Search in tables, objects, # prefix in columns"};function m(t){e[21](t)}void 0!==e[4]&&(p.value=e[4]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[4]&&(h.filter=e[4]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[13]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[12]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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&&16&o&&(n=!0,a.value=e[4],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!r&&16&o&&(r=!0,s.filter=e[4],add_flush_callback((()=>r=!1))),i.$set(s);const c={};16777216&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.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(i.$$.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(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$1(e){let t,n;return t=new AppObjectList({props:{list:e[6].map(e[22]),module:databaseObjectAppObject,groupFunc:e[23],subItemsComponent:SubColumnParamList,isExpandable:func_2$1,expandIconFunc:chevronExpandIcon,filter:e[4],passProps:{showPinnedInsteadOfUnpin:!0,connection:e[3]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};67&n&&(o.list=e[6].map(e[22])),16&n&&(o.filter=e[4]),8&n&&(o.passProps={showPinnedInsteadOfUnpin:!0,connection: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$3(e){let t,n;return t=new LoadingInfo({props:{message:e[11]?.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={};2048&n&&(o.message=e[11]?.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,i;const r=[create_if_block_4$3,create_else_block_1$1],a=[];function s(e,t){return e[11]&&("pending"==e[11].name||"checkStructure"==e[11].name||"loadStructure"==e[11].name)&&e[2]||!e[2]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!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$4(e){let t,n,o,i;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[18]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,r){insert(e,t,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!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$5(e){let t,n,o,i;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[19]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,r){insert(e,t,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t;return{c(){t=text$1("New collection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$c(e){let t,n,o,i,r,a,s,c,l,u=e[5]?.databaseEngineTypes?.includes("sql"),d=e[5]?.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"}}),r=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),r.$on("click",e[12]);let p=u&&create_if_block_3$4(e),m=d&&create_if_block_2$5(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),i=space(),create_component(r.$$.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,i,u),mount_component(r,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 i={};16777216&n&&(i.$$scope={dirty:n,ctx:e}),r.$set(i),32&n&&(u=e[5]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),32&n&&transition_in(p,1)):(p=create_if_block_3$4(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),32&n&&(d=e[5]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),32&n&&transition_in(m,1)):(m=create_if_block_2$5(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(r.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(i),destroy_component(r,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$e(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$j(e){let t,n,o,i;return t=new ErrorInfo({props:{message:e[11].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),o.$on("click",e[12]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};2048&n&&(i.message=e[11].message),t.$set(i);const r={};16777216&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$R(e){let t,n,o,i;const r=[create_if_block$n,create_if_block_1$c,create_else_block$8],a=[];function s(e,t){return e[11]&&"error"==e[11].name?0:0==e[6].length&&e[11]&&"pending"!=e[11].name&&"checkStructure"!=e[11].name&&"loadStructure"!=e[11].name&&e[2]?1:2}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_2$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$R(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g=noop$3,$=noop$3,b=noop$3,v=noop$3;component_subscribe(e,currentDatabase,(e=>n(16,p=e))),component_subscribe(e,extensions,(e=>n(17,m=e))),e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v()));let{conid:y}=t,{database:x}=t,w="";return e.$$set=e=>{"conid"in e&&n(0,y=e.conid),"database"in e&&n(1,x=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(10,o=useDatabaseInfo({conid:y,database:x})),g(),g=subscribe(o,(e=>n(2,u=e)))),3&e.$$.dirty&&(n(9,i=useDatabaseStatus({conid:y,database:x})),v(),v=subscribe(i,(e=>n(11,f=e)))),1&e.$$.dirty&&(n(8,r=useConnectionInfo({conid:y})),b(),b=subscribe(r,(e=>n(3,h=e)))),131080&e.$$.dirty&&n(5,a=lib$5.findEngineDriver(h,m)),98304&e.$$.dirty&&n(14,c=filterAppsForDatabase(null==p?void 0:p.connection,null==p?void 0:p.name,d||[])),16388&e.$$.dirty&&n(6,l=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((u||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...c.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))]))},n(7,s=useUsedApps()),$(),$=subscribe(s,(e=>n(15,d=e))),[y,x,u,h,w,a,l,s,r,i,o,f,()=>{apiCall("database-connections/refresh",{conid:y,database:x})},function(){var e,t;const n=[];return(null===(e=null==a?void 0:a.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==a?void 0:a.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),a&&n.push(...a.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},c,d,p,m,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){w=e,n(4,w)},function(e){w=e,n(4,w)},e=>({...e,conid:y,database:x}),e=>getObjectTypeFieldLabel(e.objectTypeField)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$R,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$b(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$4),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$4)),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$d(e){let t,n,o,i,r,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$b]},$$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(),i=element("div"),r=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"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,i),append(t,r),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 i={};32777&t&&(i.$$scope={dirty:t,ctx:e}),a.$set(i);const r={};9&t&&(r.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(r.item=e[1]),2&t&&(r.onChangeItem=e[13]),c.$set(r)},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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$i(e){let t,n;const o=[e[5]];let i={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$d]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(i.$$scope={dirty:n,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$Q(e){let t,n;return t=new FormProvider({props:{$$slots:{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={};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$4=e=>({value:e.name,label:e.label});function instance$Q(e,t,n){const o=["conid","database","driver","onConfirm"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=()=>r(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,i=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,i,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$Q,create_fragment$Q,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$m(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$P(e){let t,n,o,i;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 r=e[6]&&create_if_block$m(e);return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,[n]){const i={};8&n&&(i.icon=lib$5.getIconForRedisType(e[3].type)),8&n&&(i.title=e[3].text),72&n&&(i.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(i.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(i.indentLevel=e[4]),t.$set(i),e[6]?r?(r.p(e,n),64&n&&transition_in(r,1)):(r=create_if_block$m(e),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.d(e),e&&detach(o)}}}function instance$P(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,h=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,r,h,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:()=>i(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=>i(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,h+=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:()=>i(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:()=>i(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,r=!r)},()=>{"dir"==u.type?n(6,r=!r):(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$P,create_fragment$P,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$c(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 i=e[12].slice(0,e[8]),r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block$c(get_each_context$c(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));let s=e[12].length>e[8]&&create_if_block$l(e);return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=space(),s&&s.c(),n=empty()},m(e,i){for(let t=0;t<r.length;t+=1)r[t].m(e,i);insert(e,t,i),s&&s.m(e,i),insert(e,n,i),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(i=e[12].slice(0,e[8]),n=0;n<i.length;n+=1){const a=get_each_context$c(e,i,n);r[n]?(r[n].p(a,o),transition_in(r[n],1)):(r[n]=create_each_block$c(a),r[n].c(),transition_in(r[n],1),r[n].m(t.parentNode,t))}for(group_outros(),n=i.length;n<r.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$l(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<i.length;e+=1)transition_in(r[e]);transition_in(s),o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);transition_out(s),o=!1},d(e){destroy_each(r,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$c(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$l(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$O(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,[o]){e=t,i.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,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=null}}}const SHOW_INCREMENT=500;function instance$O(e,t,n){let{conid:o}=t,{database:i}=t,{root:r}=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,i=e.database),"root"in e&&n(2,r=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,i,r,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$O,create_fragment$O,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$a(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$c(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[2]&&(h.filter=e[2]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$a]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&4&o&&(r=!0,c.filter=e[2],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$h(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$N(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$c]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};1028&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1055&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$N(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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: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,r,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=>i(this,void 0,void 0,(function*(){const i=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:i.addMethod,args:[o.keyName,...i.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){r=e,n(2,r)},function(e){r=e,n(2,r)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$N,safe_not_equal,{conid:0,database:1})}}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,i,r,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(t,"value",l)));let p={};return void 0!==e[1]&&(p.filter=e[1]),i=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(i,"filter",d))),s=new InlineButton({props:{title:"Refresh database list",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),s.$on("click",e[2]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&2&o&&(r=!0,c.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$g(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$M(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};34&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};35&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$M(e,t,n){let{connection:o}=t,i="";return e.$$set=e=>{"connection"in e&&n(0,o=e.connection)},[o,i,()=>{apiCall("server-connections/refresh",{conid:o._id})},function(e){i=e,n(1,i)},function(e){i=e,n(1,i)}]}class SingleConnectionDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$M,safe_not_equal,{connection:0})}}function create_if_block_1$b(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$k(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$8(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$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={};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$f(e){let t,n,o,i,r,a,s,c,l,u,d;const p=[create_if_block$k,create_if_block_1$b],m=[];function h(e,t){return e[8]?.singleConnection?0:e[8]?.singleDbConnection?-1:1}return~(t=h(e))&&(n=m[t]=p[t](e)),i=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")?"Collections":"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$a]},$$scope:{ctx:e}}}),{c(){n&&n.c(),o=space(),create_component(i.$$.fragment),r=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(i,e,n),insert(e,r,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,r){let s=t;t=h(e),t===s?~t&&m[t].p(e,r):(n&&(group_outros(),transition_out(m[s],1,1,(()=>{m[s]=null})),check_outros()),~t?(n=m[t],n?n.p(e,r):(n=m[t]=p[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null);const l={};1542&r&&(l.skip=!_.compact(e[9]).length&&!e[10].some(e[15])),65536&r&&(l.$$scope={dirty:r,ctx:e}),i.$set(l);const d={};64&r&&(d.title=e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions"),90&r&&(d.skip=!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document")))),65546&r&&(d.$$scope={dirty:r,ctx:e}),a.$set(d);const f={};90&r&&(f.skip=!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue"))),65546&r&&(f.$$scope={dirty:r,ctx:e}),c.$set(f);const g={};26&r&&(g.skip=e[1]&&(e[3]||e[4])),65536&r&&(g.$$scope={dirty:r,ctx:e}),u.$set(g)},i(e){d||(transition_in(n),transition_in(i.$$.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(i.$$.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(i,e),e&&detach(r),destroy_component(a,e),e&&detach(s),destroy_component(c,e),e&&detach(l),destroy_component(u,e)}}}function create_fragment$L(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$f]},$$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$L(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f=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,h=e))),e.$$.on_destroy.push((()=>f())),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,i=useConnectionInfo({conid:o})),f(),f=subscribe(i,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,r=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,r,i,p,m,h,_,$,u,d,e=>e&&e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$L,safe_not_equal,{hidden:0})}}function create_default_slot_2$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_1$9(e){let t,n,o,i,r,a,s,c;function l(t){e[19](t)}let u={placeholder:"Search saved files"};function d(t){e[20](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),i=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(i,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),s.$on("click",e[10]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$set(c);const l={};4194304&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$e(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[21],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};4194305&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};2&n&&(r.list=e[1]),1&n&&(r.filter=e[0]),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$K(e){let t,n;return t=new WidgetsInnerContainer({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={};4194307&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,i,r,a,s,c,l,u,d,p="";const m=useFiles({folder:"sql"});component_subscribe(e,m,(e=>n(18,d=e)));const h=useFiles({folder:"shell"});component_subscribe(e,h,(e=>n(17,u=e)));const f=useFiles({folder:"markdown"});component_subscribe(e,f,(e=>n(16,l=e)));const g=useFiles({folder:"charts"});component_subscribe(e,g,(e=>n(15,c=e)));const $=useFiles({folder:"query"});component_subscribe(e,$,(e=>n(14,s=e)));const b=useFiles({folder:"sqlite"});component_subscribe(e,b,(e=>n(13,a=e)));const v=useFiles({folder:"diagrams"});component_subscribe(e,v,(e=>n(12,r=e)));const y=useFiles({folder:"perspectives"});component_subscribe(e,y,(e=>n(11,i=e)));return e.$$.update=()=>{522240&e.$$.dirty&&n(1,o=[...d||[],...u||[],...l||[],...c||[],...s||[],...a||[],...r||[],...i||[]])},[p,o,m,h,f,g,$,b,v,y,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams","perspectives"]})},i,r,a,s,c,l,u,d,function(e){p=e,n(0,p)},function(e){p=e,n(0,p)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$K,safe_not_equal,{})}}function create_if_block_1$a(e){let t,n,o,i,r,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=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,i),r=!0},p(e,t){(!r||1&t)&&a!==(a=e[0].props.database+"")&&set_data(i,a)},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$j(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$d(e){let t,n,o,i=e[0].props&&e[0].props.database&&create_if_block_1$a(e),r=e[0].contentPreview&&create_if_block$j(e);return{c(){i&&i.c(),t=space(),r&&r.c(),n=empty()},m(e,a){i&&i.m(e,a),insert(e,t,a),r&&r.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?i?(i.p(e,o),1&o&&transition_in(i,1)):(i=create_if_block_1$a(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros()),e[0].contentPreview?r?r.p(e,o):(r=create_if_block$j(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i(e){o||(transition_in(i),o=!0)},o(e){transition_out(i),o=!1},d(e){i&&i.d(e),e&&detach(t),r&&r.d(e),e&&detach(n)}}}function create_fragment$J(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 i={$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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&&(i.$$scope={dirty:n,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)}}}const extractKey$2=e=>e.tabid;function instance$J(e,t,n){const o=["data"];let i=compute_rest_props(t,o),{data:r}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=r.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=r.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"data"in e&&n(0,r=e.data)},[r,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==r.tabid?void 0:e.closedTime}))),r.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},i]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$J,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$i(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$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_2$6(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$8(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$6]},$$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$c(e){let t,n,o,i,r=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=r&&create_if_block$i(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,r){mount_component(t,e,r),insert(e,n,r),a&&a.m(e,r),insert(e,o,r),i=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),r&&a.p(e,n)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(a),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),i=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$I(e){let t,n;return t=new WidgetColumnBar({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$I(e,t,n){let o,i,r=noop$3;return e.$$.on_destroy.push((()=>r())),n(0,o=useFavorites()),r(),r=subscribe(o,(e=>n(1,i=e))),[o,i]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$I,safe_not_equal,{})}}function get_each_context$b(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$7(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$h(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$b(e,t){let n,o,i,r,a,s,c,l,u,d,p,m,h,f,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$h:create_else_block$7}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"),r=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),h=space(),f=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,i=extractPluginIcon(t[3]))||attr(o,"src",i),attr(c,"class","bold"),attr(s,"class","flex"),attr(f,"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,r),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,h),append(a,f),append(f,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,i=extractPluginIcon(t[3]))&&attr(o,"src",i),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$H(e){let t,n=[],o=new Map,i=e[0]||[];const r=e=>e[3].name;for(let t=0;t<i.length;t+=1){let a=get_each_context$b(e,i,t),s=r(a);o.set(s,n[t]=create_each_block$b(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].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(i=e[0]||[],n=update_keyed_each(n,a,r,1,e,i,o,t.parentNode,destroy_block,create_each_block$b,t,get_each_context$b))},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$H(e,t,n){let{plugins:o}=t;function i(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,i,e=>i(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$H,safe_not_equal,{plugins:0})}}function create_default_slot_1$7(e){let t,n,o;function i(t){e[4](t)}let r={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(r.value=e[0]),t=new SearchInput({props:r}),binding_callbacks.push((()=>bind(t,"value",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const i={};1&o&&(i.filter=e[0]),!n&&1&o&&(n=!0,i.value=e[0],add_flush_callback((()=>n=!1))),t.$set(i)},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$6(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$g(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$b(e){let t,n,o,i;const r=[create_if_block$g,create_else_block$6],a=[];function s(e,t){return e[2]?.errorMessage?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$G(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};65&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};68&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$G(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));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},[])),r(),r=subscribe(o,(e=>n(2,i=e)))),1&e.$$.dirty&&c(a)},[a,o,i,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$G,safe_not_equal,{})}}function create_default_slot$a(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$F(e){let t,n;return t=new WidgetsInnerContainer({props:{$$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={};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$F(e,t,n){let o,i,r=noop$3;return e.$$.on_destroy.push((()=>r())),n(0,o=useInstalledPlugins()),r(),r=subscribe(o,(e=>n(1,i=e))),[o,i]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$F,safe_not_equal,{})}}function create_default_slot_2$5(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$6(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$9(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$E(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_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={};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$E,safe_not_equal,{})}}function create_fragment$D(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,i){t.m(o,e,i),insert(e,n,i)},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$E(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$E,create_fragment$D,safe_not_equal,{selection:0})}}function create_else_block$5(e){let t,n,o,i;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,r){insert(e,t,r),append(t,n),mount_component(o,n,null),i=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$f(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$C(e){let t,n,o,i;const r=[create_if_block$f,create_else_block$5],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$D(e,t,n){let{selection:o}=t,{showWholeRow:i=!1}=t,r=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,i=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(i)1==(null==o?void 0:o.length)?n(0,r=o[0].rowData):n(0,r=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,r=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[r,a,o,i]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$C,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$B(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$C(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$C,create_fragment$B,safe_not_equal,{selection:0})}}function create_if_block$e(e){let t,n,o,i,r,a;return o=new SelectField({props:{isNative:!0,options:e[3].map(func$3),value:e[1]}}),o.$on("change",e[6]),r=new SelectField({props:{isNative:!0,options:e[3].map(func_1$2),value:e[2]}}),r.$on("change",e[7]),{c(){t=element("div"),n=text$1("Lat:\n "),create_component(o.$$.fragment),i=text$1("\n Lon:\n "),create_component(r.$$.fragment)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,i),mount_component(r,t,null),a=!0},p(e,t){const n={};8&t&&(n.options=e[3].map(func$3)),2&t&&(n.value=e[1]),o.$set(n);const i={};8&t&&(i.options=e[3].map(func_1$2)),4&t&&(i.value=e[2]),r.$set(i)},i(e){a||(transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(r)}}}function create_fragment$A(e){let t,n,o,i,r=e[3].length>=2&&create_if_block$e(e);return o=new SelectionMapView({props:{selection:e[0],latitudeField:e[1],longitudeField:e[2]}}),{c(){t=element("div"),r&&r.c(),n=space(),create_component(o.$$.fragment),attr(t,"class","container svelte-aetkv7")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),mount_component(o,t,null),i=!0},p(e,[i]){e[3].length>=2?r?(r.p(e,i),8&i&&transition_in(r,1)):(r=create_if_block$e(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros());const a={};1&i&&(a.selection=e[0]),2&i&&(a.latitudeField=e[1]),4&i&&(a.longitudeField=e[2]),o.$set(a)},i(e){i||(transition_in(r),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(r),transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),r&&r.d(),destroy_component(o)}}}const func$3=e=>({label:e,value:e}),func_1$2=e=>({label:e,value:e});function instance$B(e,t,n){let o,i,r,{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,i=_.uniq(_.flatten(a.map((e=>findLonPaths(e.rowData)))))),1&e.$$.dirty&&n(3,r=_.uniq(_.flatten(a.map((e=>findAllObjectPaths(e.rowData)))))),42&e.$$.dirty&&o.length>0&&!r.includes(s)&&n(1,s=o[0]),28&e.$$.dirty&&i.length>0&&!r.includes(c)&&n(2,c=i[0])},[a,s,c,r,i,o,e=>{n(1,s=e.detail)},e=>{n(2,c=e.detail)}]}class MapCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$A,safe_not_equal,{selection:0})}}function create_else_block$4(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$d(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$z(e){let t,n,o,i;const r=[create_if_block$d,create_else_block$4],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$A(e,t,n){let o;var i;let{selection:r}=t;return e.$$set=e=>{"selection"in e&&n(1,r=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,i=r[0])||void 0===i?void 0:i.value))},[o,r,i]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$z,safe_not_equal,{selection:1})}}function create_fragment$y(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$z(e,t,n){let{selection:o}=t,{wrap:i}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,i=e.wrap)},[o,i,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$z,create_fragment$y,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$x(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$y(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$y,create_fragment$x,safe_not_equal,{selection:0})}}function create_fragment$w(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$x(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$x,create_fragment$w,safe_not_equal,{selection:0})}}function create_default_slot$8(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$3(e){let t,n,o;var i=e[2]?.component;function r(e){return{props:{selection:e[0]}}}return i&&(t=new i(r(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),i!==(i=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(r(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&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$4(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$9(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$c(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$v(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]}}),l.$on("change",e[7]);const f=[create_if_block$c,create_if_block_1$9,create_if_block_2$4,create_else_block$3],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]=f[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),r=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(r,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(i,"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,i),append(i,r),append(r,a),append(r,s),append(r,c),mount_component(l,r,null),append(i,u),append(i,d),g[p].m(d,null),h=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};2&t&&(i.value=e[1]),8&t&&(i.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]),l.$set(i);let r=p;p=_(e),p===r?g[p].p(e,t):(group_outros(),transition_out(g[r],1,1,(()=>{g[r]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=f[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){h||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),h=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),h=!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 i=1==e.length?e[0].value:null;return _.isString(i)&&(i.startsWith("[")||i.startsWith("{"))||_.isPlainObject(i)||_.isArray(i)?"json":"textWrap"}const func$2=e=>({label:e.title,value:e.type});function instance$w(e,t,n){let o,i,r,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,i=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,r="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==r)))},[l,c,a,i,r,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$v,safe_not_equal,{selection:0})}}function get_each_context$a(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$5(e){let t,n,o,i,r,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(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),i=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(i,"filter",l))),i.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&1&o&&(r=!0,s.filter=e[0],add_flush_callback((()=>r=!1))),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e)}}}function create_each_block$a(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,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),i=space(),r=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,i),append(n,r),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,h||(f=listen(t,"click",$),h=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(r,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),h=!1,f()}}}function create_default_slot$7(e){let t,n,o=e[2],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$a(get_each_context$a(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$a(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$a(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_fragment$u(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};8195&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};8196&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$v(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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="",r="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:r,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,r=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(i)},[i,r,a,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},()=>{n(1,r="")},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$v,create_fragment$u,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$1),func_1$1),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$1),func_1$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_2$4(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$4(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$6(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};5&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};4&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$t(e){let t,n;return t=new WidgetColumnBar({props:{$$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={};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$1=e=>e.closedTime,func_1$1=e=>-e.closedTime;function instance$u(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$u,create_fragment$t,safe_not_equal,{})}}function create_fragment$s(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}var __awaiter=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter(this,void 0,void 0,(function*(){let r;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:i,tabComponent:o,tooltip:r,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$t(e,t,n){const o=["data"];let i=compute_rest_props(t,o);this&&this.__awaiter;let{data:r}=t;const a=()=>{showModal(InputTextModal,{value:r.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:r.fileName,folder:r.folderName,fileType:r.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${r.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:r.fileName,folder:r.folderName,fileType:r.fileType})}})},c=()=>{openTextFile(r.fileName,r.fileType,r.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(r.fileName,r.fileType,r.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"data"in e&&n(0,r=e.data)},[r,()=>{r.fileType.endsWith(".sql")&&c(),r.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},r.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},r.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},i]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$s,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$3(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$3(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$3]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&2&o&&(r=!0,s.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$5(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$r(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};16386&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16395&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$s(e,t,n){let o,i,r,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,r=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:"+r,savedFormat:"text",appFolder:r})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:r}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=r),1&e.$$.dirty&&(n(2,i=useAppFiles({folder:o})),s(),s=subscribe(i,(e=>n(3,a=e))))},[o,l,i,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",[])}]},r,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$s,create_fragment$r,safe_not_equal,{})}}function create_fragment$q(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$5.filterName(t,e.name);function instance$r(e,t,n){let o;const i=["data"];let r,a,s,c=compute_rest_props(t,i),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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 h(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 f(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)})),i=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 i&&i[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,i)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,r=e))),[d,o,r,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!f(a,r)&&{text:"Enable on current database",onClick:()=>h(!0)},f(a,r)&&{text:"Disable on current database",onClick:()=>h(!1)}]]},f,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$q,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$2(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$2(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$2]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$4(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$p(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};129&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};133&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$q(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));let a="";return n(1,o=useAppFolders()),r(),r=subscribe(o,(e=>n(2,i=e))),[a,o,i,()=>{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$q,create_fragment$p,safe_not_equal,{})}}function create_default_slot_2$1(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$1(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$3(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$o(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$3]},$$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$o,safe_not_equal,{})}}function create_if_block_5$2(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_4$2(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_3$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_2$3(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_1$8(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$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_fragment$n(e){let t,n,o,i,r,a,s,c,l;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let u="file"==e[0]&&create_if_block_5$2(),d="history"==e[0]&&create_if_block_4$2(),p="archive"==e[0]&&create_if_block_3$3(),m="plugins"==e[0]&&create_if_block_2$3(),h="cell-data"==e[0]&&create_if_block_1$8(),f="app"==e[0]&&create_if_block$b();return{c(){create_component(t.$$.fragment),n=space(),u&&u.c(),o=space(),d&&d.c(),i=space(),p&&p.c(),r=space(),m&&m.c(),a=space(),h&&h.c(),s=space(),f&&f.c(),c=empty()},m(e,g){mount_component(t,e,g),insert(e,n,g),u&&u.m(e,g),insert(e,o,g),d&&d.m(e,g),insert(e,i,g),p&&p.m(e,g),insert(e,r,g),m&&m.m(e,g),insert(e,a,g),h&&h.m(e,g),insert(e,s,g),f&&f.m(e,g),insert(e,c,g),l=!0},p(e,[n]){const l={};1&n&&(l.hidden="database"!=e[0]),t.$set(l),"file"==e[0]?u?1&n&&transition_in(u,1):(u=create_if_block_5$2(),u.c(),transition_in(u,1),u.m(o.parentNode,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),"history"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_4$2(),d.c(),transition_in(d,1),d.m(i.parentNode,i)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"archive"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_3$3(),p.c(),transition_in(p,1),p.m(r.parentNode,r)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"plugins"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_2$3(),m.c(),transition_in(m,1),m.m(a.parentNode,a)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_1$8(),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]?f?1&n&&transition_in(f,1):(f=create_if_block$b(),f.c(),transition_in(f,1),f.m(c.parentNode,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(u),transition_in(d),transition_in(p),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(u),transition_out(d),transition_out(p),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){destroy_component(t,e),e&&detach(n),u&&u.d(e),e&&detach(o),d&&d.d(e),e&&detach(i),p&&p.d(e),e&&detach(r),m&&m.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),f&&f.d(e),e&&detach(c)}}}function instance$p(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$p,create_fragment$n,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"}]}: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}]},{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}]}];function get_each_context$9(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$a(e){let t,n,o,i,r;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,i||(r=listen(t,"click",e[8]),i=!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),i=!1,r()}}}function create_each_block$9(e){let t,n,o,i,r;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,i||(r=listen(t,"click",a),i=!0)},p(n,o){e=n,36&o&&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),i=!1,r()}}}function create_fragment$m(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f=e[3]&&create_if_block$a(e),g=e[5].filter(e[10]),_=[];for(let t=0;t<g.length;t+=1)_[t]=create_each_block$9(get_each_context$9(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"),f&&f.c(),n=space();for(let e=0;e<_.length;e+=1)_[e].c();o=space(),i=element("div"),i.textContent=" ",r=space(),a=element("div"),create_component(s.$$.fragment),l=space(),u=element("div"),create_component(d.$$.fragment),attr(i,"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),f&&f.m(t,null),append(t,n);for(let e=0;e<_.length;e+=1)_[e].m(t,null);append(t,o),append(t,i),append(t,r),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||(h=[listen(a,"click",e[12]),listen(u,"click",e[7])],m=!0)},p(e,[i]){if(e[3]?f?(f.p(e,i),8&i&&transition_in(f,1)):(f=create_if_block$a(e),f.c(),transition_in(f,1),f.m(t,n)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),100&i){let n;for(g=e[5].filter(e[10]),n=0;n<g.length;n+=1){const r=get_each_context$9(e,g,n);_[n]?(_[n].p(r,i),transition_in(_[n],1)):(_[n]=create_each_block$9(r),_[n].c(),transition_in(_[n],1),_[n].m(t,o))}for(group_outros(),n=g.length;n<_.length;n+=1)$(n);check_outros()}const r={};16&i&&(r.icon=e[4]?"icon locked-database-mode":"icon unlocked-database-mode"),s.$set(r),(!p||16&i&&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(f);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(f),_=_.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),f&&f.d(),destroy_each(_,n),destroy_component(s),destroy_component(d),e[13](null),m=!1,run_all(h)}}}function instance$o(e,t,n){let o,i,r,a,s,c,l;component_subscribe(e,visibleWidgetSideBar,(e=>n(14,o=e))),component_subscribe(e,selectedWidget,(e=>n(15,i=e))),component_subscribe(e,visibleSelectedWidget,(e=>n(2,r=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e)));function u(e){r==e?set_store_value(visibleWidgetSideBar,o=!1,o):(set_store_value(selectedWidget,i=e,i),set_store_value(visibleWidgetSideBar,o=!0,o))}return[c,l,r,a,s,[{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"}],u,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=>hasPermission(`widgets/${e.name}`),e=>u(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$o,create_fragment$m,safe_not_equal,{})}}function create_fragment$l(e){let t,n,o;const i=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var r=e[2];function a(e){let t={};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(n=new r(a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,i){insert(e,t,i),n&&mount_component(n,t,null),o=!0},p(e,[o]){const s=11&o?get_spread_update(i,[8&o&&get_spread_object(e[3]),1&o&&{tabid:e[0]},2&o&&{tabVisible:e[1]}]):{};if(r!==(r=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(n=new r(a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else r&&n.$set(s);2&o&&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$n(e,t,n){const o=["tabid","tabVisible","tabComponent"];let i=compute_rest_props(t,o),{tabid:r}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",r),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"tabid"in e&&n(0,r=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)},[r,a,s,i]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$l,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$8(e,t,n){const o=e.slice();return o[6]=t[n],o}function create_each_block$8(e,t){let n,o,i;const r=[{tabComponent:t[1][t[6]]},t[2][t[6]]?.props,{tabid:t[6]},{tabVisible:t[6]==t[0]?.tabid}];let a={};for(let e=0;e<r.length;e+=1)a=assign(a,r[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),i=!0},p(e,n){t=e;const i=7&n?get_spread_update(r,[2&n&&{tabComponent:t[1][t[6]]},6&n&&get_spread_object(t[2][t[6]]?.props),2&n&&{tabid:t[6]},3&n&&{tabVisible:t[6]==t[0]?.tabid}]):{};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_fragment$k(e){let t,n,o=[],i=new Map,r=_.keys(e[1]);const a=e=>e[6];for(let t=0;t<r.length;t+=1){let n=get_each_context$8(e,r,t),s=a(n);i.set(s,o[t]=create_each_block$8(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,i){for(let t=0;t<o.length;t+=1)o[t].m(e,i);insert(e,t,i),n=!0},p(e,[n]){7&n&&(r=_.keys(e[1]),group_outros(),o=update_keyed_each(o,n,a,1,e,r,i,t.parentNode,outro_and_destroy_block,create_each_block$8,t,get_each_context$8),check_outros())},i(e){if(!n){for(let e=0;e<r.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$m(e,t,n){let o,i;var r;component_subscribe(e,openedTabs,(e=>n(5,i=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(i.filter((e=>null==e.closedTime&&(e.multiTabIndex||0)==a)),"tabid")).length>0&&n(1,c=_.pickBy(c,((e,t)=>i.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,r=tabs[s.tabComponent])||void 0===r?void 0:r.default;t&&n(1,c=Object.assign(Object.assign({},c),{[e]:t}))}}32&e.$$.dirty&&n(2,o=_.keyBy(i,(e=>e.tabid)))},[s,c,o,a,r,i]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$k,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,i=0,r=[],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[i]?(o=l+o+u,i+=1,c+=1+c):c=0,s+=c,r[r.length]=o;return i===e.length?(s=d===e?1/0:s,{rendered:r.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,i,r,a){var s=i;o.extract&&(s=o.extract(i));var c=t.match(e,s,o);return null!=c&&(n[n.length]={string:c.rendered,score:c.score,index:r,original:i}),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$7(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$7(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,i){insert(e,t,i),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$9(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$7(e){let t,n,o,i,r,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$7(e),m=e[25].keyText&&create_if_block$9(e);function h(){return e[22](e[25])}const f=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),i=new HtmlTag(!1),r=space(),m&&m.c(),a=space(),i.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),i.m(u,n),append(t,r),m&&m.m(t,null),append(t,a),f(),s=!0,c||(l=listen(t,"click",h),c=!0)},p(r,c){(e=r)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$7(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+"")&&i.p(u),e[25].keyText?m?m.p(e,c):(m=create_if_block$9(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],f()),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$j(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b;i=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$7(get_each_context$7(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(i.$$.fragment),r=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"),f=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",h=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(h,v){insert(h,t,v),append(t,n),append(n,o),mount_component(i,o,null),append(o,r),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,f),append(d,g);for(let e=0;e<y.length;e+=1)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&&h!==(h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",h),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$7(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$7(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(i.$$.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(i.$$.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(i),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"])))),i=[];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)i.push({text:`${t.name} on ${getConnectionLabel(e)}`,icon:"img database",onClick:()=>currentDatabase.set({connection:e,name:t.name})})}return[..._.sortBy(i,"text"),...o]}function instance$l(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,h=e))),component_subscribe(e,commandsCustomized,(e=>n(17,f=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,i=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,r=_.sortBy(Object.values(f).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(h,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(h,"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):i?i.getSubCommands():r).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,i,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))},r,s,a,p,m,h,f,()=>{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$l,create_fragment$j,safe_not_equal,{})}}function get_each_context$6(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$6(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(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]},$$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 i={};4&o&&(i.icon=e[13].icon||"icon favorite"),65540&o&&(i.$$scope={dirty:o,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(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]},$$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 i={};1&o&&(i.icon=e[8].icon),1&o&&(i.disabled=!e[8].enabled),1&o&&(i.title=getCommandTitle(e[8])),65537&o&&(i.$$scope={dirty:o,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_if_block$8(e){let t,n,o,i,r,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),i=space(),r=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,i),append(n,r),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(r,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$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$6(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$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 i={};1&o&&(i.icon=e[8].icon),1&o&&(i.disabled=!e[8].enabled),1&o&&(i.title=getCommandTitle(e[8])),65537&o&&(i.$$scope={dirty:o,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$i(e){let t,n,o,i,r,a,s,c,l=e[3]&&e[0].filter(func).length>0,u=!e[4]&&create_if_block_1$6(e),d=(e[2]||[]).filter(func_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 h=e[0].filter(func_2),f=[];for(let t=0;t<h.length;t+=1)f[t]=create_each_block_1(get_each_context_1(e,h,t));const g=e=>transition_out(f[e],1,1,(()=>{f[e]=null}));let _=l&&create_if_block$8(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$6(get_each_context$6(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();i=space();for(let e=0;e<f.length;e+=1)f[e].c();r=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].m(n,null);append(n,i);for(let e=0;e<f.length;e+=1)f[e].m(n,null);append(t,r),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)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),o=0;o<d.length;o+=1){const r=get_each_context_2(e,d,o);p[o]?(p[o].p(r,t),transition_in(p[o],1)):(p[o]=create_each_block_2(r),p[o].c(),transition_in(p[o],1),p[o].m(n,i))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(h=e[0].filter(func_2),o=0;o<h.length;o+=1){const i=get_each_context_1(e,h,o);f[o]?(f[o].p(i,t),transition_in(f[o],1)):(f[o]=create_each_block_1(i),f[o].c(),transition_in(f[o],1),f[o].m(n,null))}for(group_outros(),o=h.length;o<f.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$8(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$6(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$6(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<h.length;e+=1)transition_in(f[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]);f=f.filter(Boolean);for(let e=0;e<f.length;e+=1)transition_out(f[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(f,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=e=>e.isRelatedToTab,func_1=e=>e.showInToolbar,func_2=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$k(e,t,n){let o,i,r,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,r=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,i=_.sortBy(Object.values(r).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))),[i,o,a,s,l,r,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$i,safe_not_equal,{})}}function get_each_context$5(e,t,n){const o=e.slice();return o[23]=t[n],o}function create_else_block$2(e){let t,n,o,i,r,a,s,c,l,u=(e[23].text||e[23].label)+"",d=e[23].keyText&&create_if_block_3$2(e),p=e[23].submenu&&create_if_block_2$2();function m(...t){return e[15](e[23],...t)}function h(...t){return e[16](e[23],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),i=space(),d&&d.c(),r=space(),p&&p.c(),a=space(),attr(n,"class","svelte-1dx95r8"),toggle_class(n,"disabled",e[23].disabled)},m(e,u){insert(e,t,u),append(t,n),append(n,o),append(n,i),d&&d.m(n,null),append(n,r),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",h)],c=!0)},p(t,i){e=t,(!s||256&i)&&u!==(u=(e[23].text||e[23].label)+"")&&set_data(o,u),e[23].keyText?d?d.p(e,i):(d=create_if_block_3$2(e),d.c(),d.m(n,r)):d&&(d.d(1),d=null),e[23].submenu?p?256&i&&transition_in(p,1):(p=create_if_block_2$2(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),256&i&&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$5(e){let t;return{c(){t=element("li"),attr(t,"class","divider svelte-1dx95r8")},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$2(e){let t,n,o=formatKeyText(e[23].keyText)+"";return{c(){t=element("span"),n=text$1(o),attr(t,"class","keyText svelte-1dx95r8")},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$2(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-1dx95r8")},m(e,i){insert(e,t,i),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$5(e){let t,n,o,i;const r=[create_if_block_1$5,create_else_block$2],a=[];function s(e,t){return e[23].divider?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$7(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DropDownMenu({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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(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$h(e){let t,n,o,i,r,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$5(get_each_context$5(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$7(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),i=empty(),attr(t,"class","dropDownMenuMarker svelte-1dx95r8"),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].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,i,a),r=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const i=get_each_context$5(e,a,n);s[n]?(s[n].p(i,o),transition_in(s[n],1)):(s[n]=create_each_block$5(i),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()}(!r||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$7(e),l.c(),transition_in(l,1),l.m(i.parentNode,i)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),r=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),r=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(i)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),i=o.top+window.pageYOffset-n.clientTop,r=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:i,left:r+o.width}:{top:i,left:r}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),i=null,r=null;o.left+t>window.innerWidth&&(i=o.left-t,i<0&&(i=0)),o.top+n>window.innerHeight&&(r=o.top-n,r<0&&(r=0),r+n>window.innerHeight&&(e.style.height=window.innerHeight-r+"px")),null!=i&&(e.style.left=`${i}px`),null!=r&&(e.style.top=`${r}px`)}function instance$j(e,t,n){let o,i;component_subscribe(e,commandsCustomized,(e=>n(14,i=e)));let r,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:h}=t;const f=createEventDispatcher();let g=[];function $(){f("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(r)}));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,h=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:h,registerCloseHandler:b},i))},[d,p,m,r,a,s,c,l,o,$,v,y,u,h,i,(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"]((()=>{r=e,n(3,r)}))},()=>{m&&m(),$()}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$h,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$6(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$g(e){let t,n,o=e[0]&&create_if_block$6(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$6(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$i(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$i,create_fragment$g,safe_not_equal,{})}}function create_default_slot$1(e){let t,n,o,i,r;return i=new ColorSelector({props:{value:e[4]}}),i.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(i.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(i,e,a),r=!0},p(e,t){(!r||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),i.$set(o)},i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(i,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$f(e){let t,n;const o=[e[6]];let i={$$slots:{header:[create_header_slot],default:[create_default_slot$1]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(i.$$scope={dirty:n,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 instance$h(e,t,n){let o;const i=["conid","database","header","text"];let r,a=compute_rest_props(t,i),{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,r=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,i)),"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=r)},[s,c,l,u,o,d,a,r,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$h,create_fragment$f,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$4(e,t,n){const o=e.slice();return o[27]=t[n],o}function create_if_block_14(e){let t,n,o,i,r,a,s,c;const l=[create_if_block_16,create_else_block$1],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_15(e);return{c(){t=element("div"),o.c(),i=space(),r=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,i),append(t,r),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,i)),(!c||1&a)&&set_data(r,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_15(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$1(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_16(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_15(e){let t,n,o,i,r,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-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),i=!0,r||(a=listen(t,"click",e[22]),r=!0)},p(e,t){(!i||4096&t)&&attr(n,"style",e[12])},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o),r=!1,a()}}}function create_if_block_12(e){let t,n,o,i,r,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_13(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(e[7]),r=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,i),insert(e,r,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(i,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_13(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(r),c&&c.d(e),e&&detach(a)}}}function create_if_block_13(e){let t,n,o,i,r,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-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),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),i=!0,r||(a=listen(t,"click",e[23]),r=!0)},p(e,t){(!i||8192&t)&&attr(n,"style",e[13])},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o),r=!1,a()}}}function create_if_block_11(e){let t,n,o,i,r,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(a),attr(t,"class","item svelte-1yzh05e")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,i),r=!0},p(e,t){(!r||2&t)&&a!==(a=e[1].user+"")&&set_data(i,a)},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_5$1(e){let t,n,o,i,r,a;const s=[create_if_block_6$1,create_if_block_7,create_if_block_8,create_if_block_9,create_if_block_10],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-1yzh05e")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),i=!0,r||(a=listen(t,"click",e[24]),r=!0)},p(e,i){let r=n;n=l(e),n!==r&&(o&&(group_outros(),transition_out(c[r],1,1,(()=>{c[r]=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){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){e&&detach(t),~n&&c[n].d(),r=!1,a()}}}function create_if_block_10(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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_6$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,i){mount_component(t,e,i),insert(e,n,i),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_4$1(e){let t,n,o,i;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-1yzh05e")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_3$1(e){let t,n,o,i,r,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(),i=element("div"),r=text$1(c),attr(i,"class","version svelte-1yzh05e"),attr(t,"class","item flex svelte-1yzh05e"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,i),append(i,r),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(r,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_2$1(e){let t,n,o,i,r,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(),i=element("div"),r=text$1(u),attr(i,"class","version ml-1 svelte-1yzh05e"),attr(t,"class","item flex clickable svelte-1yzh05e"),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,i),append(i,r),s=!0,c||(l=listen(t,"click",e[18]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(r,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_1$4(e){let t,n,o,i,r,a,s;return n=new FontIcon({props:{icon:"icon archive",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(e[16]),attr(t,"class","item flex clickable svelte-1yzh05e"),attr(t,"title","Current archive")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,i),r=!0,a||(s=listen(t,"click",e[25]),a=!0)},p(e,t){(!r||65536&t)&&set_data(i,e[16])},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),a=!1,s()}}}function create_if_block$5(e){let t,n;return t=new FontIcon({props:{icon:e[27].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[27].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$4(e){let t,n,o,i,r,a,s,c=e[27].text+"",l=e[27].icon&&create_if_block$5(e);return{c(){t=element("div"),l&&l.c(),n=space(),o=text$1(c),i=space(),attr(t,"class","item svelte-1yzh05e"),toggle_class(t,"clickable",e[27].clickable)},m(c,u){insert(c,t,u),l&&l.m(t,null),append(t,n),append(t,o),append(t,i),r=!0,a||(s=listen(t,"click",(function(){is_function(e[27].onClick)&&e[27].onClick.apply(this,arguments)})),a=!0)},p(i,a){(e=i)[27].icon?l?(l.p(e,a),256&a&&transition_in(l,1)):(l=create_if_block$5(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),(!r||256&a)&&c!==(c=e[27].text+"")&&set_data(o,c),256&a&&toggle_class(t,"clickable",e[27].clickable)},i(e){r||(transition_in(l),r=!0)},o(e){transition_out(l),r=!1},d(e){e&&detach(t),l&&l.d(),a=!1,s()}}}function create_fragment$e(e){let t,n,o,i,r,a,s,c,l,u,d,p,m=e[0]&&create_if_block_14(e),h=e[7]&&create_if_block_12(e),f=e[1]&&e[1].user&&create_if_block_11(e),g=e[1]&&e[14]&&create_if_block_5$1(e),_=!e[1]&&create_if_block_4$1(),$=e[15]&&create_if_block_3$1(e),b=e[14]?.analysedTime&&create_if_block_2$1(e),v=e[16]&&create_if_block_1$4(e),y=e[8]||[],x=[];for(let t=0;t<y.length;t+=1)x[t]=create_each_block$4(get_each_context$4(e,y,t));const w=e=>transition_out(x[e],1,1,(()=>{x[e]=null}));return{c(){t=element("div"),n=element("div"),m&&m.c(),o=space(),h&&h.c(),i=space(),f&&f.c(),r=space(),g&&g.c(),a=space(),_&&_.c(),s=space(),$&&$.c(),c=space(),b&&b.c(),l=space(),v&&v.c(),u=space(),d=element("div");for(let e=0;e<x.length;e+=1)x[e].c();attr(n,"class","container svelte-1yzh05e"),attr(d,"class","container svelte-1yzh05e"),attr(t,"class","main svelte-1yzh05e"),attr(t,"style",e[11])},m(e,y){insert(e,t,y),append(t,n),m&&m.m(n,null),append(n,o),h&&h.m(n,null),append(n,i),f&&f.m(n,null),append(n,r),g&&g.m(n,null),append(n,a),_&&_.m(n,null),append(n,s),$&&$.m(n,null),append(n,c),b&&b.m(n,null),append(n,l),v&&v.m(n,null),append(t,u),append(t,d);for(let e=0;e<x.length;e+=1)x[e].m(d,null);p=!0},p(e,[u]){if(e[0]?m?(m.p(e,u),1&u&&transition_in(m,1)):(m=create_if_block_14(e),m.c(),transition_in(m,1),m.m(n,o)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),e[7]?h?(h.p(e,u),128&u&&transition_in(h,1)):(h=create_if_block_12(e),h.c(),transition_in(h,1),h.m(n,i)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[1].user?f?(f.p(e,u),2&u&&transition_in(f,1)):(f=create_if_block_11(e),f.c(),transition_in(f,1),f.m(n,r)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[1]&&e[14]?g?(g.p(e,u),16386&u&&transition_in(g,1)):(g=create_if_block_5$1(e),g.c(),transition_in(g,1),g.m(n,a)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),e[1]?_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()):_?2&u&&transition_in(_,1):(_=create_if_block_4$1(),_.c(),transition_in(_,1),_.m(n,s)),e[15]?$?($.p(e,u),32768&u&&transition_in($,1)):($=create_if_block_3$1(e),$.c(),transition_in($,1),$.m(n,c)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[14]?.analysedTime?b?(b.p(e,u),16384&u&&transition_in(b,1)):(b=create_if_block_2$1(e),b.c(),transition_in(b,1),b.m(n,l)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),e[16]?v?(v.p(e,u),65536&u&&transition_in(v,1)):(v=create_if_block_1$4(e),v.c(),transition_in(v,1),v.m(n,null)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),256&u){let t;for(y=e[8]||[],t=0;t<y.length;t+=1){const n=get_each_context$4(e,y,t);x[t]?(x[t].p(n,u),transition_in(x[t],1)):(x[t]=create_each_block$4(n),x[t].c(),transition_in(x[t],1),x[t].m(d,null))}for(group_outros(),t=y.length;t<x.length;t+=1)w(t);check_outros()}(!p||2048&u)&&attr(t,"style",e[11])},i(e){if(!p){transition_in(m),transition_in(h),transition_in(f),transition_in(g),transition_in(_),transition_in($),transition_in(b),transition_in(v);for(let e=0;e<y.length;e+=1)transition_in(x[e]);p=!0}},o(e){transition_out(m),transition_out(h),transition_out(f),transition_out(g),transition_out(_),transition_out($),transition_out(b),transition_out(v),x=x.filter(Boolean);for(let e=0;e<x.length;e+=1)transition_out(x[e]);p=!1},d(e){e&&detach(t),m&&m.d(),h&&h.d(),f&&f.d(),g&&g.d(),_&&_.d(),$&&$.d(),b&&b.d(),v&&v.d(),destroy_each(x,e)}}}function instance$g(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3,T=noop$3;component_subscribe(e,activeTabId,(e=>n(19,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(20,h=e))),component_subscribe(e,currentDatabase,(e=>n(21,f=e))),component_subscribe(e,currentArchive,(e=>n(16,y=e))),component_subscribe(e,selectedWidget,(e=>n(17,x=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S())),e.$$.on_destroy.push((()=>T()));var E=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;setInterval((()=>{n(3,A++,A)}),1e4);return e.$$.update=()=>{2097152&e.$$.dirty&&n(0,o=f&&f.name),2097152&e.$$.dirty&&n(1,i=f&&f.connection),3&e.$$.dirty&&n(2,r=i?{conid:i._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(r||{})),S(),S=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(r||{})),T(),T=subscribe(s,(e=>n(15,v=e)))),1572864&e.$$.dirty&&n(8,c=h[m]),2&e.$$.dirty&&n(7,l=getConnectionLabel(i,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(r,3,"dark",!0)),w(),w=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(r?{conid:r.conid}:null,6,"dark",!0)),k(),k=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(r,6,"dark",!0,!1)),C(),C=subscribe(p,(e=>n(12,_=e))))},[o,i,r,A,p,d,u,l,c,s,a,g,_,$,b,v,y,x,function(){return E(this,void 0,void 0,(function*(){i&&o&&(yield apiCall("database-connections/sync-model",{conid:i._id,database:o}))}))},m,h,f,()=>{showModal(ChooseConnectionColorModal,{...r,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:r.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$g,create_fragment$e,safe_not_equal,{})}}function get_each_context$3(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_if_block_1$3(e){let t,n,o,i,r;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-7p89xz")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,i||(r=listen(t,"click",e[4]),i=!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),i=!1,r()}}}function create_if_block$4(e){let t,n,o=e[3],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$3(get_each_context$3(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("div");for(let e=0;e<i.length;e+=1)i[e].c();attr(t,"class","buttons svelte-7p89xz")},m(e,o){insert(e,t,o);for(let e=0;e<i.length;e+=1)i[e].m(t,null);n=!0},p(e,n){if(8&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const r=get_each_context$3(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$3(r),i[a].c(),transition_in(i[a],1),i[a].m(t,null))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_each_block$3(e){let t,n,o,i;return n=new FormStyledButton({props:{value:e[7].label}}),n.$on("click",(function(){is_function(e[7].onClick)&&e[7].onClick.apply(this,arguments)})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-7p89xz")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!0},p(t,o){e=t;const i={};8&o&&(i.value=e[7].label),n.$set(i)},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$d(e){let t,n,o,i,r,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$3(e),u=e[3]?.length>0&&create_if_block$4(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-7p89xz"),attr(t,"class","wrapper svelte-7p89xz")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,i),append(n,r),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const i={};2&n&&(i.icon=e[1]),o.$set(i),(!c||1&n)&&set_data(r,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$3(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$4(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$f(e,t,n){let{message:o}=t,{id:i}=t,{icon:r=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=i))))}return onMount((()=>{a&&setTimeout(l,3e3)})),e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,i=e.id),"icon"in e&&n(1,r=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,r,s,c,l,i,a]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$d,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$2(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$2(e){let t,n,o;const i=[{modalId:e[3]},e[2]];var r=e[1];function a(e){let t={};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(t=new r(a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,o){const s=1&o?get_spread_update(i,[{modalId:e[3]},get_spread_object(e[2])]):{};if(r!==(r=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&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$c(e){let t,n,o=e[0],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$2(get_each_context$2(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$2(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$2(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function instance$e(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$e,create_fragment$c,safe_not_equal,{})}}function create_fragment$b(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$=e[0].join(", ")+"";return i=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(i.$$.fragment),r=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),h=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(i,o,null),append(n,r),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,h),f=!0,g||(_=listen(p,"click",e[3]),g=!0)},p(e,[t]){(!f||1&t)&&$!==($=e[0].join(", ")+"")&&set_data(u,$)},i(e){f||(transition_in(i.$$.fragment,e),transition_in(m.$$.fragment,e),f=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(m.$$.fragment,e),f=!1},d(e){e&&detach(t),destroy_component(i),destroy_component(m),g=!1,_()}}}function instance$d(e,t,n){let o,i,r;component_subscribe(e,extensions,(e=>n(2,i=e))),component_subscribe(e,isFileDragActive,(e=>n(1,r=e)));const a=getElectron();return e.$$.update=()=>{4&e.$$.dirty&&n(0,o=_.compact([...i.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),a?"SQL":null,a?"SQLite database":null]))},[o,r,i,()=>{set_store_value(isFileDragActive,r=!1,r)}]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$b,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$l(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$l(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$l(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 i(){var r=this;t.readEntries((function(t){return __awaiter$l(r,void 0,void 0,(function(){var r,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 r=c.sent(),e(r),[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),i(),c.label=6;case 6:return[2]}}))}))}),(function(e){n(e)}))}()}))}function fromFileEntry(e){return __awaiter$l(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 i(e){if(e.preventDefault(),e.stopPropagation(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}}function r(t){t.preventDefault(),t.stopPropagation();const o=n.filter((t=>e&&e.contains(t))),i=o.indexOf(t.target);-1!==i&&o.splice(i,1),n=o,o.length>0||isFileDragActive.set(!1)}function a(e){return __awaiter$l(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",i),e.addEventListener("dragleave",r),e.addEventListener("drop",a),{destroy(){e.removeEventListener("dragenter",o),e.removeEventListener("dragover",i),e.removeEventListener("dragleave",r),e.removeEventListener("drop",a)}}}function get_each_context$1(e,t,n){const o=e.slice();return o[9]=t[n],o}function create_each_block$1(e){let t,n,o,i,r,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),i||(r=[listen(t,"click",s),listen(t,"mousemove",c)],i=!0)},p(o,i){e=o,4&i&&a!==(a=(e[9].text||e[9].label)+"")&&set_data(n,a),6&i&&toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},d(e){e&&detach(t),i=!1,run_all(r)}}}function create_fragment$a(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$1(get_each_context$1(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].m(t,null)},p(e,[i]){if(15&i){let r;for(n=e[2],r=0;r<n.length;r+=1){const a=get_each_context$1(e,n,r);o[r]?o[r].p(a,i):(o[r]=create_each_block$1(a),o[r].c(),o[r].m(t,null))}for(;r<o.length;r+=1)o[r].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){e&&detach(t),destroy_each(o,e)}}}function instance$c(e,t,n){let o,i,r;component_subscribe(e,currentDropDownMenu,(e=>n(5,i=e))),component_subscribe(e,commandsCustomized,(e=>n(6,r=e)));let a,s,{items:c}=t;function l(e,t){const o=e.getBoundingClientRect(),r=o.left,c=o.bottom,l=t.submenu;set_store_value(currentDropDownMenu,i={left:r,top:c,items:l},i),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,{},r)),32&e.$$.dirty&&(i||(n(0,a=!1),n(1,s=null)))},[a,s,o,l,c,i,r,(e,t)=>l(t.target,e),(e,t)=>{a&&l(t.target,e)}]}class HorizontalMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$a,safe_not_equal,{items:4})}}function create_if_block_1$2(e){let t,n,o,i,r;return i=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(i.$$.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(i,o,null),r=!0},p:noop$3,i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(i)}}}function create_if_block$3(e){let t,n,o,i,r,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),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),create_component(l.$$.fragment),attr(n,"class","button svelte-1sw5v4y"),attr(r,"class","button svelte-1sw5v4y"),attr(c,"class","button close-button svelte-1sw5v4y"),attr(t,"class","actions svelte-1sw5v4y")},m(m,h){insert(m,t,h),append(t,n),mount_component(o,n,null),append(t,i),append(t,r),mount_component(a,r,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$9(e){let t,n,o,i,r,a,s,c,l=!isMac(),u=!isMac(),d=l&&create_if_block_1$2(e),p=u&&create_if_block$3(e);return{c(){t=element("div"),d&&d.c(),n=space(),o=element("div"),i=text$1(e[1]),r=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,i),append(t,r),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(i,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$b(e,t,n){let o,i,r;component_subscribe(e,currentDatabase,(e=>n(3,i=e))),component_subscribe(e,activeTab,(e=>n(4,r=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==r?void 0:r.title,null==i?void 0:i.name,"DbGate"]).join(" - "))},[s,o,a,i,r,()=>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$b,create_fragment$9,safe_not_equal,{})}}function create_fragment$8(e){let t,n,o,i,r,a;return n=new TabsPanel({props:{multiTabIndex:e[0],shownTab:e[1]}}),r=new TabRegister({props:{multiTabIndex:e[0],shownTab:e[1]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),attr(t,"class","tabs svelte-685oc7"),attr(i,"class","content svelte-685oc7")},m(e,s){insert(e,t,s),mount_component(n,t,null),insert(e,o,s),insert(e,i,s),mount_component(r,i,null),a=!0},p(e,[t]){const o={};1&t&&(o.multiTabIndex=e[0]),2&t&&(o.shownTab=e[1]),n.$set(o);const i={};1&t&&(i.multiTabIndex=e[0]),2&t&&(i.shownTab=e[1]),r.$set(i)},i(e){a||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o),e&&detach(i),destroy_component(r)}}}function instance$a(e,t,n){let o,i,r,a;component_subscribe(e,currentDatabase,(e=>n(2,i=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(3,r=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 i=e.find((e=>e.selected&&null==e.closedTime&&(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)));return i||e[_.findLastIndex(e,(e=>(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)))]}(a,s,r,i))},[s,o,i,r,a]}class TabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$8,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,i){insert(e,t,i),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,i){insert(e,t,i),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$7(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$9(e,t,n){let o,i,r,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,i=!!o.find((e=>!e.multiTabIndex))),4&e.$$.dirty&&n(0,r=!!o.find((e=>1==e.multiTabIndex)))},[r,i,o,a,s,c]}class MultiTabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$7,safe_not_equal,{})}}function get_each_context(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_6(e){let t,n;return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(o,i){t.m(e[1],o,i),insert(o,n,i)},p(e,n){2&n&&t.p(e[1])},d(e){e&&detach(n),e&&t.d()}}}function create_if_block_5(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,i){insert(e,t,i),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(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,i){insert(e,t,i),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(e){let t,n,o;return{c(){t=element("div"),attr(t,"class","horizontal-split-handle splitter svelte-1efqwi5")},m(i,r){insert(i,t,r),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(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,i){insert(e,t,i),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$1(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,i){insert(e,t,i),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$2(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(e,t){let n,o,i;const r=[t[13]];let a={};for(let e=0;e<r.length;e+=1)a=assign(a,r[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),i=!0},p(e,n){t=e;const i=1024&n?get_spread_update(r,[get_spread_object(t[13])]):{};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_fragment$6(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w,C,k,S,T,E,A,N,I,O,R,D,L,F=[],M=new Map,P=e[0]?.themeCss&&create_if_block_6(e);r=new FontIcon({props:{icon:"img warn"}});let j=e[4]&&create_if_block_5();h=new WidgetIconPanel({}),_=new StatusBar({});let B=e[5]&&e[6]&&create_if_block_4();y=new MultiTabsContainer({});let q=e[5]&&e[6]&&create_if_block_3(e),z=e[7]&&create_if_block_2(),U=e[8]&&create_if_block_1$1();S=new CurrentDropDownMenu({}),E=new ModalLayer({});let W=e[9]&&create_if_block$2(),V=e[10];const H=e=>e[13].id;for(let t=0;t<V.length;t+=1){let n=get_each_context(e,V,t),o=H(n);M.set(o,F[t]=create_each_block(o,n))}return{c(){P&&P.c(),t=empty(),n=space(),o=element("div"),i=element("div"),create_component(r.$$.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(h.$$.fragment),f=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(),z&&z.c(),C=space(),U&&U.c(),k=space(),create_component(S.$$.fragment),T=space(),create_component(E.$$.fragment),A=space(),W&&W.c(),N=space(),I=element("div");for(let e=0;e<F.length;e+=1)F[e].c();attr(i,"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",O=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"),toggle_class(d,"isElectron",e[11])},m(e,O){P&&P.m(document.head,null),append(document.head,t),insert(e,n,O),insert(e,o,O),append(o,i),mount_component(r,i,null),append(o,a),append(o,s),append(o,c),append(o,l),insert(e,u,O),insert(e,d,O),j&&j.m(d,null),append(d,p),append(d,m),mount_component(h,m,null),append(d,f),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),z&&z.m(d,null),append(d,C),U&&U.m(d,null),append(d,k),mount_component(S,d,null),append(d,T),mount_component(E,d,null),append(d,A),W&&W.m(d,null),append(d,N),append(d,I);for(let e=0;e<F.length;e+=1)F[e].m(I,null);R=!0,D||(L=[action_destroyer(dragDropFileTarget.call(null,d)),listen(d,"contextmenu",contextmenu_handler)],D=!0)},p(e,[n]){e[0]?.themeCss?P?P.p(e,n):(P=create_if_block_6(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(),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(),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(e),q.c(),q.m(d,w)):q&&(q.d(1),q=null),e[7]?z?128&n&&transition_in(z,1):(z=create_if_block_2(),z.c(),transition_in(z,1),z.m(d,C)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),e[8]?U?256&n&&transition_in(U,1):(U=create_if_block_1$1(),U.c(),transition_in(U,1),U.m(d,k)):U&&(group_outros(),transition_out(U,1,1,(()=>{U=null})),check_outros()),e[9]?W?512&n&&transition_in(W,1):(W=create_if_block$2(),W.c(),transition_in(W,1),W.m(d,N)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),1024&n&&(V=e[10],group_outros(),F=update_keyed_each(F,n,H,1,e,V,M,I,outro_and_destroy_block,create_each_block,null,get_each_context),check_outros()),(!R||12&n&&O!==(O=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"))&&attr(d,"class",O),2060&n&&toggle_class(d,"isElectron",e[11])},i(e){if(!R){transition_in(r.$$.fragment,e),transition_in(j),transition_in(h.$$.fragment,e),transition_in(_.$$.fragment,e),transition_in(B),transition_in(y.$$.fragment,e),transition_in(z),transition_in(U),transition_in(S.$$.fragment,e),transition_in(E.$$.fragment,e),transition_in(W);for(let e=0;e<V.length;e+=1)transition_in(F[e]);R=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(j),transition_out(h.$$.fragment,e),transition_out(_.$$.fragment,e),transition_out(B),transition_out(y.$$.fragment,e),transition_out(z),transition_out(U),transition_out(S.$$.fragment,e),transition_out(E.$$.fragment,e),transition_out(W);for(let e=0;e<F.length;e+=1)transition_out(F[e]);R=!1},d(e){P&&P.d(e),detach(t),e&&detach(n),e&&detach(o),destroy_component(r),e&&detach(u),e&&detach(d),j&&j.d(),destroy_component(h),destroy_component(_),B&&B.d(),destroy_component(y),q&&q.d(),z&&z.d(),U&&U.d(),destroy_component(S),destroy_component(E),W&&W.d();for(let e=0;e<F.length;e+=1)F[e].d();D=!1,run_all(L)}}}const contextmenu_handler=e=>e.preventDefault();function instance$8(e,t,n){let o,i,r,a,s,c,l,u,d,p,m;component_subscribe(e,currentThemeDefinition,(e=>n(0,r=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 h=!!getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(2,o="dark"==r?.themeType?"theme-type-dark":"theme-type-light"),1&e.$$.dirty&&n(1,i=`<style id="themePlugin">${r?.themeCss}</style>`)},[r,i,o,a,s,c,l,u,d,p,m,h,e=>leftPanelWidth.update((t=>t+e.detail))]}class Screen extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,create_fragment$6,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$5(e){let t,n;return{c:noop$3,m(o,i){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$7(e,t,n){let o;var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=0;return e.$$.update=()=>{2&e.$$.dirty&&(o=r)},[e=>i(void 0,void 0,void 0,(function*(){console.log("Unhandler error, checking whether crashed",e);const t=r;n(1,r++,r),window.setTimeout((()=>i(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("openedTabs"))||[];_.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("openedTabs",e),yield localStorage.setItem("selectedWidget","history")}catch(e){localforage.removeItem("openedTabs")}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)})),r]}class ErrorHandler extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$5,safe_not_equal,{})}}function instance$6(e,t,n){let o,i,r,a=noop$3;component_subscribe(e,openedTabs,(e=>n(3,i=e))),e.$$.on_destroy.push((()=>a()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 c=!1;function l(e){return s(this,void 0,void 0,(function*(){if(!e)return;if(c)return;c=!0;const{hash:t}=document.location,n=t&&t.startsWith("#favorite=")?t.substring("#favorite=".length):null,o=t&&t.startsWith("#tabdata=")?t.substring("#tabdata=".length):null;if(n){const t=e.find((e=>e.urlPath==n));t&&(openFavorite(t),window.history.replaceState(null,null," "))}else if(o)try{openFavorite(JSON.parse(decodeURIComponent(o))),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))||openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab"});const r=yield getConfig(),a=localStorage.getItem("appVersion");a&&a!=r.version&&(runCommand("tabs.changelog"),showSnackbarInfo(`DbGate upgraded from version ${a} to version ${r.version}`)),localStorage.setItem("appVersion",r.version)}))}return onMount((()=>{l(r)})),e.$$.update=()=>{2&e.$$.dirty&&l(r)},n(0,o=useFavorites()),a(),a=subscribe(o,(e=>n(1,r=e))),[o,r]}class OpenTabsOnStartup extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,null,safe_not_equal,{})}}const doServerPing=e=>{apiCall("server-connections/ping",{conidArray:e})},doDatabasePing=e=>{const t=_.get(e,"name"),n=_.get(e,"connection._id");n&&t&&apiCall("database-connections/ping",{conid:n,database:t})};let openedConnectionsHandle=null,currentDatabaseHandle=null;function subscribeConnectionPingers(){openedConnections.subscribe((e=>{doServerPing(e),openedConnectionsHandle&&window.clearInterval(openedConnectionsHandle),openedConnectionsHandle=window.setInterval((()=>doServerPing(e)),2e4)})),currentDatabase.subscribe((e=>{doDatabasePing(e),currentDatabaseHandle&&window.clearInterval(currentDatabaseHandle),currentDatabaseHandle=window.setInterval((()=>doDatabasePing(e)),2e4)}))}function create_fragment$4(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$5(e,t,n){let o,i,r;return component_subscribe(e,currentDatabase,(e=>n(1,i=e))),component_subscribe(e,activeTab,(e=>n(2,r=e))),e.$$.update=()=>{if(6&e.$$.dirty&&n(0,o=_.compact([null==r?void 0:r.title,null==i?void 0:i.name,"DbGate"]).join(" - ")),1&e.$$.dirty){const e=getElectron();e&&e.send("set-title",o)}},[o,i,r]}class AppTitleProvider extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,create_fragment$4,safe_not_equal,{})}}function create_fragment$3(e){let t,n,o,i,r,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>',i=space(),r=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,i),append(n,r),append(r,a)},p(e,[t]){1&t&&set_data(a,e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$4(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$4,create_fragment$3,safe_not_equal,{message:0})}}function instance$3(e,t,n){let o;const i=useSettings();return component_subscribe(e,i,(e=>n(1,o=e))),e.$$.update=()=>{2&e.$$.dirty&&(lib$5.SqlDumper.keywordsCase=(null==o?void 0:o["sqlEditor.sqlCommandsCase"])||"upperCase")},[i,o]}class SettingsListener extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,null,safe_not_equal,{})}}function create_else_block_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$1(e){let t,n,o,i,r,a,s,c,l,u,d,p;t=new DataGridRowHeightMeter({}),o=new CommandListener({}),r=new PluginsProvider({}),s=new AppTitleProvider({});const m=[create_if_block_1,create_else_block],h=[];function f(e,t){return e[2]?0:1}return l=f(e),u=h[l]=m[l](e),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,u),mount_component(r,e,u),insert(e,a,u),mount_component(s,e,u),insert(e,c,u),h[l].m(e,u),insert(e,d,u),p=!0},p(e,t){let n=l;l=f(e),l===n?h[l].p(e,t):(group_outros(),transition_out(h[n],1,1,(()=>{h[n]=null})),check_outros(),u=h[l],u?u.p(e,t):(u=h[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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),h[l].d(e),e&&detach(d)}}}function create_else_block(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(e){let t,n,o,i,r,a;return t=new OpenTabsOnStartup({}),o=new SettingsListener({}),r=new Screen({}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$2(e){let t,n,o,i,r,a;t=new ErrorHandler({});const s=[create_if_block$1,create_else_block_1],c=[];function l(e,t){return e[0]?0:1}return o=l(e),i=c[o]=s[o](e),{c(){create_component(t.$$.fragment),n=space(),i.c(),r=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),c[o].m(e,i),insert(e,r,i),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(),i=c[o],i?i.p(e,t):(i=c[o]=s[o](e),i.c()),transition_in(i,1),i.m(r.parentNode,r))},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),a=!1},d(e){destroy_component(t,e),e&&detach(n),c[o].d(e),e&&detach(r)}}}function instance$2(e,t,n){let o;component_subscribe(e,loadingPluginStore,(e=>n(1,o=e)));var i,r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,s=!1;return onMount((function e(){return r(this,void 0,void 0,(function*(){try{const t=yield getConfig();yield handleAuthOnStartup(t);const o=yield apiCall("connections/list"),i=yield getSettings(),r=yield getUsedApps();n(0,a=i&&o&&t&&r),a&&(subscribeApiDependendStores(),subscribeConnectionPingers(),subscribePermissionCompiler()),a||(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.$$.update=()=>{11&e.$$.dirty&&a&&(null==o?void 0:o.loaded)&&(setAppLoaded(),n(2,s=!0),null===n(3,i=getElectron())||void 0===i||i.send("app-started"))},[a,o,s,i]}class App extends SvelteComponent{constructor(e){super(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{})}}let lastCurrentTab=null;async function localStorageGarbageCollector(){const e=await localforage.getItem("openedTabs");let t=e?JSON.parse(e):[];const n=moment().add(-7,"day").valueOf();t=t.filter((e=>!e.closedTime||e.closedTime>n)),await localforage.setItem("openedTabs",JSON.stringify(t));const o=[];for(const e in localStorage)e.startsWith("tabdata_")&&(t.find((t=>e.endsWith("_"+t.tabid)))||o.push(e));for(const e of o)localStorage.removeItem(e);const i=await localforage.keys(),r=[];for(const e in i)e.startsWith("tabdata_")&&(t.find((t=>e.endsWith("_"+t.tabid)))||r.push(e));for(const e of r)await localforage.removeItem(e)}function create_default_slot(e){let t,n,o,i,r,a,s;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),o=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),a=new FormSubmit({props:{value:"Log In"}}),a.$on("click",e[0]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(r,"class","submit svelte-8utz2r")},m(e,c){mount_component(t,e,c),insert(e,n,c),mount_component(o,e,c),insert(e,i,c),insert(e,r,c),mount_component(a,r,null),s=!0},p:noop$3,i(e){s||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),e&&detach(r),destroy_component(a)}}}function create_fragment$1(e){let t,n,o,i,r,a,s,c,l,u,d;return u=new FormProvider({props:{$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),i=element("div"),r=element("div"),r.innerHTML='<img class="img svelte-8utz2r" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Log In",l=space(),create_component(u.$$.fragment),attr(n,"class","text svelte-8utz2r"),attr(r,"class","logo svelte-8utz2r"),attr(c,"class","heading svelte-8utz2r"),attr(s,"class","box svelte-8utz2r"),attr(i,"class","wrap svelte-8utz2r"),attr(t,"class","root theme-light theme-type-light svelte-8utz2r")},m(e,p){insert(e,t,p),append(t,n),append(t,o),append(t,i),append(i,r),append(i,a),append(i,s),append(s,c),append(s,l),mount_component(u,s,null),d=!0},p(e,[t]){const n={};2&t&&(n.$$scope={dirty:t,ctx:e}),u.$set(n)},i(e){d||(transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(u)}}}function instance$1(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[async e=>{enableApi();const t=await apiCall("auth/login",e.detail);if(t.error)return void internalRedirectTo(`/?page=not-logged&error=${encodeURIComponent(t.error)}`);const{accessToken:n}=t;if(n)return localStorage.setItem("accessToken",n),void internalRedirectTo("/");internalRedirectTo("/?page=not-logged")}]}openedTabs.subscribe((e=>{var t,n;const o=(e||[]).find((e=>e.selected));if(o==lastCurrentTab)return;if(getLockedDatabaseMode()&&getCurrentDatabase())return;const i=lastCurrentTab;if(lastCurrentTab=o,o){const{conid:e,database:r}=o.props||{};if(e&&r&&(e!=(null===(t=null==i?void 0:i.props)||void 0===t?void 0:t.conid)||r!=(null===(n=null==i?void 0:i.props)||void 0===n?void 0:n.database))){callWhenAppLoaded((()=>__awaiter$l(void 0,void 0,void 0,(function*(){const t=yield getConnectionInfo({conid:e});currentDatabase.set({connection:t,name:r})}))))}}})),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})))}))}));class LoginPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{})}}function create_if_block(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(e){let t,n,o,i,r,a,s,c,l,u=e[0]&&create_if_block(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(),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,"class","title svelte-11u34pp"),attr(r,"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,i),append(t,r),mount_component(a,r,null),append(r,s),mount_component(c,r,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(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[new URLSearchParams(location.search).get("error"),function(){redirectToLogin(void 0,!0)}]}class NotLoggedPage extends SvelteComponent{constructor(e){super(),init(this,e,instance,create_fragment,safe_not_equal,{})}}const isOauthCallback=handleOauthCallback(),params=new URLSearchParams(location.search),page=params.get("page");function createApp(){if(isOauthCallback)return null;switch(page){case"login":return new LoginPage({target:document.body,props:{}});case"not-logged":return new NotLoggedPage({target:document.body,props:{}})}return new App({target:document.body,props:{}})}localStorageGarbageCollector();const app=createApp();return app}();
75
+ ***************************************************************************** */function r(e,t){for(var n=0,o=t.length,i=e.length;n<o;n++,i++)e[i]=t[n];return e}function n(e,t){return e[0]<t[0]?-1:e[0]>t[0]?1:0}function t(e,t){return e[1]<t[1]?-1:e[1]>t[1]?1:0}function e(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];if(!e.length)return[];for(var o=[],i=(e=e.sort(n))[0],a=i[0],s=i[1],c=1,l=e.length;c<l;c++){var u=e[c],d=u[0],p=u[1];s<d&&(o.push([a,s]),a=d),s<p&&(s=p)}return r(r([],o),[[a,s]])}function o(e,t){return function(e,t){return t[1]>e[0]&&t[0]<e[1]}(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 u(t,n){var i,r=e.apply(void 0,t),a=e.apply(void 0,n);if(!r.length)return[];if(!a.length)return r;for(var s=[],c=0,l=r.length;c<l;c++){for(var u=r[c],d=u[0],p=u[1],m=!0,h=0,f=a.length;h<f;h++){var g=a[h];if(!(g[1]<=d)){if(g[0]>=p)break;var _=o([d,p],g);if(!_){m=!1;break}d=(i=_[_.length-1])[0],p=i[1],_.length>1&&s.push(_[0])}}m&&s.push([d,p])}return s}function l(){for(var e=[],o=0;o<arguments.length;o++)e[o]=arguments[o];e.sort(n);for(var i=[e[e.length-1][0],e.sort(t)[0][1]],r=i[0],a=i[1],s=0,c=e.length;s<c-1;s++){var l=e[s+1],u=l[0],d=l[1];if(u>a||d<r)return null}return[r,a]}function intersectLineLine(e,t,n,o){const i=(o.y-n.y)*(t.x-e.x)-(o.x-n.x)*(t.y-e.y);if(0===i)return null;const r=((o.x-n.x)*(e.y-n.y)-(o.y-n.y)*(e.x-n.x))/i,a=((t.x-e.x)*(e.y-n.y)-(t.y-e.y)*(e.x-n.x))/i;return r<0||r>1||a<0||a>1?null:{x:e.x+r*(t.x-e.x),y:e.y+r*(t.y-e.y)}}function intersectLineBox(e,t,n){const o={x:n.left,y:n.top},i={x:n.right,y:n.top},r={x:n.left,y:n.bottom},a={x:n.right,y:n.bottom},s=[];let c;return(c=intersectLineLine(e,t,o,i))&&s.push(c),(c=intersectLineLine(e,t,i,a))&&s.push(c),(c=intersectLineLine(e,t,a,r))&&s.push(c),(c=intersectLineLine(e,t,r,o))&&s.push(c),s}function rectangleDistance(e,t){function n(e,t,n,o){let i=e-n,r=t-o;return Math.sqrt(i*i+r*r)}const o=e.left,i=e.top,r=e.right,a=e.bottom,s=t.left,c=t.top,l=t.right,u=t.bottom,d=l<o,p=r<s,m=u<i,h=a<c;return h&&d?n(o,a,l,c):d&&m?n(o,i,l,u):m&&p?n(r,i,s,u):p&&h?n(r,a,s,c):d?o-l:p?s-r:m?i-u:h?c-a:0}function rectanglesHaveIntersection(e,t){const n=l([e.left,e.right],[t.left,t.right]),o=l([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=u([[-1/0,1/0]],n),i=[];for(const n of o){if(!(n[1]-n[0]<t))if(n[1]<e)i.push(n[1]-t/2);else if(n[0]>e)i.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),i.push(o)}}return _.minBy(i,(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,i){this.graph=e,this.designerId=t,this.width=n,this.height=o,this.fixedPosition=i,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=l(this.rangeXPadded,e.rangeXPadded),n=l(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,i=[],r=e.detectCentreNode();addNodeNeighboors(_.values(e.nodes).filter((e=>e!=r&&!e.fixedPosition)),i,o);const a=_.max(i.map((e=>e.radius))),s=i.length*a/(2*Math.PI)+a;let c=0;const l=2*Math.PI/i.length;for(const e of i)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 r&&(n.nodes[r.designerId]=new LayoutNode(r,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 i=new LayoutNode(o,o.width/2+NODE_MARGIN,o.height/2+NODE_MARGIN);n.nodes[t]=i,n.createTreeLevel([o],i.right+NODE_SPACE_TREE);let r=_.max(_.values(n.nodes).map((e=>e.right)));const a=_.values(e.nodes).filter((e=>!n.nodes[e.designerId]));for(const e of a){r+=NODE_SPACE_TREE;const t=new LayoutNode(e,r+e.width/2,NODE_MARGIN+e.height/2);n.nodes[e.designerId]=t,r+=e.width}return n}createTreeLevel(e,t){let n=NODE_MARGIN,o=0;const i=[];for(const r of e)for(const e of r.neightboors){if(e.designerId in this.nodes)continue;i.push(e);const r=new LayoutNode(e,t+e.width/2,n+e.height/2);this.nodes[e.designerId]=r,n+=e.height+NODE_MARGIN,r.right>o&&(o=r.right)}i.length>0&&this.createTreeLevel(i,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 t=_.sortBy(_.values(this.nodes),(e=>e.position.magnitude())),n=new GraphLayout(this.graph);for(const o of t){const t=_.values(n.nodes);if(t.find((e=>e.hasPaddedIntersect(o)))){const i=e(...t.filter((e=>l(e.rangeYPadded,o.rangeYPadded))).map((e=>e.rangeXPadded))),r=e(...t.filter((e=>l(e.rangeXPadded,o.rangeXPadded))).map((e=>e.rangeYPadded))),a=solveOverlapsInIntervalArray(o.x,o.node.width+2*NODE_MARGIN,i),s=solveOverlapsInIntervalArray(o.y,o.node.height+2*NODE_MARGIN,r),c=Math.abs(a-o.x)<Math.abs(s-o.y)?new LayoutNode(o.node,a,o.y):new LayoutNode(o.node,o.x,s);n.nodes[o.node.designerId]=c}else n.nodes[o.node.designerId]=o}return n.fillEdges(),n}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$O(e){let t,n,o,i,r;return i=new ColorSelector({props:{value:e[3]}}),i.$on("change",e[6]),{c(){t=element("div"),n=text$1(e[1]),o=space(),create_component(i.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(i,e,a),r=!0},p(e,t){(!r||2&t)&&set_data(n,e[1]);const o={};8&t&&(o.value=e[3]),i.$set(o)},i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(i,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$21(e){let t,n;const o=[e[4]];let i={$$slots:{header:[create_header_slot$6],default:[create_default_slot$O]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};143&n&&(i.$$scope={dirty:n,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 instance$1$(e,t,n){let o;const i=["color","header","text","onChange"];let r=compute_rest_props(t,i),{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,r=compute_rest_props(t,i)),"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,r,a,e=>{n(3,o=e.detail),l(o)}]}class ChooseColorModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1$,create_fragment$21,safe_not_equal,{color:5,header:0,text:1,onChange:2})}}function create_if_block$Z(e){let t,n,o,i,r;function a(e,t){return e[3]?create_if_block_1$x:create_else_block$o}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),i||(r=[listen(t,"dragstart",e[5]),listen(t,"dragend",e[6]),listen(t,"dragover",e[7]),listen(t,"drop",e[8])],i=!0)},p(e,i){s===(s=a(e))&&c?c.p(e,i):(c.d(1),c=s(e),c&&(c.c(),c.m(t,null))),8&i&&n!==(n=!!e[3])&&attr(t,"draggable",n),8&i&&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(),i=!1,run_all(r)}}}function create_else_block$o(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$x(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$20(e){let t,n=e[2]?.allowCreateRefByDrag&&create_if_block$Z(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$Z(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$1_(e,t,n){let o,i=noop$3,r=()=>(i(),i=subscribe(a,(e=>n(4,o=e))),a);e.$$.on_destroy.push((()=>i()));let{sourceDragColumn$:a}=t;r();let s,{targetDragColumn$:c}=t,{settings:l}=t;return e.$$set=e=>{"sourceDragColumn$"in e&&r(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$1_,create_fragment$20,safe_not_equal,{sourceDragColumn$:0,targetDragColumn$:1,settings:2})}}function get_each_context$n(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$i(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,i,r,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=new l(u(t)),s()),{key:e,first:null,c(){n=empty(),o&&create_component(o.$$.fragment),i=empty(),this.first=n},m(e,t){insert(e,n,t),o&&mount_component(o,e,t),insert(e,i,t),r=!0},p(e,n){a!==(t=e)[76]&&(c(),a=t[76],s());const r={};if(128&n[0]&&(r.domTables=t[7]),262144&n[0]&&(r.reference=t[76]),1&n[0]&&(r.designer=t[0]),8&n[0]&&(r.settings=t[3]),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=new l(u(t)),s(),create_component(o.$$.fragment),transition_in(o.$$.fragment,1),mount_component(o,i.parentNode,i)):o=null}else l&&o.$set(r)},i(e){r||(o&&transition_in(o.$$.fragment,e),r=!0)},o(e){o&&transition_out(o.$$.fragment,e),r=!1},d(e){e&&detach(n),c(),e&&detach(i),o&&destroy_component(o,e)}}}function create_each_block$n(e,t){let n,o,i,r=t[73];const a=()=>t[57](o,r),s=()=>t[57](null,r);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),i=!0},p(e,n){r!==(t=e)[73]&&(s(),r=t[73],a());const i={};32&n[0]&&(i.columnFilter=t[5]),256&n[0]&&(i.table=t[73]),2&n[0]&&(i.conid=t[1]),4&n[0]&&(i.database=t[2]),32768&n[0]&&(i.zoomKoef=t[15]),65536&n[0]&&(i.isMultipleTableSelection=t[16]),512&n[0]&&(i.domCanvas=t[9]),1&n[0]&&(i.designer=t[0]),8&n[0]&&(i.settings=t[3]),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),s(),destroy_component(o,e)}}}function create_if_block_1$w(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$Y(e){let t,n,o,i,r,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]),r=new SearchInput({props:p}),binding_callbacks.push((()=>bind(r,"value",d)));let h={};return void 0!==e[5]&&(h.filter=e[5]),c=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(c,"filter",m))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"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,i),mount_component(r,i,null),append(i,s),mount_component(c,i,null),u=!0},p(e,t){const o={};8&t[0]&&(o.settings=e[3]),n.$set(o);const i={};!a&&32&t[0]&&(a=!0,i.value=e[5],add_flush_callback((()=>a=!1))),r.$set(i);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(r.$$.fragment,e),transition_in(c.$$.fragment,e),u=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(c.$$.fragment,e),u=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(c)}}}function create_fragment$1$(e){let t,n,o,i,r,a,s,c,l,u,d,p=[],m=new Map,h=[],f=new Map,g=!(e[8]?.length>0)&&create_if_block_2$i(),_=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$n(e,b,t),o=v(n);f.set(o,h[t]=create_each_block$n(o,n))}let y=e[12]&&e[13]&&create_if_block_1$w(e),x=e[8]?.length>0&&create_if_block$Y(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();i=space();for(let e=0;e<h.length;e+=1)h[e].c();r=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].m(o,null);append(o,i);for(let e=0;e<h.length;e+=1)h[e].m(o,null);append(o,r),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$i(),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,i,get_each_context_1$3),check_outros()),1738113903&c[0]|2287&c[1]&&(b=e[8]||[],group_outros(),h=update_keyed_each(h,c,v,1,e,b,f,o,outro_and_destroy_block,create_each_block$n,r,get_each_context$n),check_outros()),e[12]&&e[13]?y?y.p(e,c):(y=create_if_block_1$w(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$Y(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(h[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<h.length;e+=1)transition_out(h[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<h.length;e+=1)h[e].d();y&&y.d(),e[58](null),x&&x.d(),u=!1,run_all(d)}}}const getCurrentEditor$d=()=>getActiveComponent("Designer");registerCommand({id:"designer.arrange",category:"Designer",icon:"icon arrange",name:"Arrange",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$d())||void 0===e?void 0:e.canArrange()},onClick:()=>getCurrentEditor$d().arrange()}),registerCommand({id:"diagram.export",category:"Designer",toolbarName:"Export diagram",name:"Export diagram",icon:"icon report",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$d().exportDiagram(),testEnabled:()=>{var e;return null===(e=getCurrentEditor$d())||void 0===e?void 0:e.canExport()}});const dragover_handler=e=>e.preventDefault();function instance$1Z(e,t,n){let o,i,r,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,h,f=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,E=3e3,A=null,N=null;const I=writable(null),O=writable(null),R=(null==x?void 0:x.updateFromDbInfo)?useDatabaseInfo({conid:b,database:v}):null;component_subscribe(e,R,(e=>n(55,d=e)));const D={},L={};let F;function M(){n(7,F=_.pickBy(_.mapValues(D,(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,i=n<0?-n:0;return e.map((e=>Object.assign(Object.assign({},e),{left:e.left+o,top:e.top+i})))}return e}function j(e="auto"){"auto"==e&&R&&(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 i=n.find((e=>e.pureName==t.refTableName&&e.schemaName==t.refSchemaName));i&&o.push({designerId:v1_1$6(),sourceId:e.designerId,targetId:i.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,n){$(e,t,n),tick().then(W)}const q=(e,t,n)=>{var o;const i=null===(o=e.tables)||void 0===o?void 0:o.find((e=>e.pureName==t.pureName&&e.schemaName==t.schemaName));if(!i)return;const r=[];for(const t of i.foreignKeys||[]){if(![...n.tables,...r].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&&r.push(n)}}for(const t of i.dependencies||[]){if(![...n.tables,...r].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&&r.push(n)}}return Object.assign(Object.assign({},n),{tables:[...n.tables,...r.map((e=>Object.assign(Object.assign({},e),{designerId:`${e.pureName}-${v1_1$6()}`,needsArrange:!0})))]})},z=(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 U(e){for(const t of _.values(D)){const n=t;(null==n?void 0:n.isSelected())&&e(n)}}function W(){for(const e of Object.values(L))e&&e.recomputePosition()}function V(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=F[e.designerId];if(!n)continue;const i=n.getRect();o.addNode(e.designerId,i.right-i.left,i.bottom-i.top,t||e.needsArrange?null:{x:(i.left+i.right)/2,y:(i.top+i.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 i;switch(o.initialize(),null==x?void 0:x.arrangeAlg){case"springy":i=GraphLayout.createCircle(o,n).springyAlg().solveOverlaps().fixViewBox();break;case"tree":i=GraphLayout.createTree(o,null==g?void 0:g.rootDesignerId)}i&&B((e=>Object.assign(Object.assign({},e),{tables:((null==e?void 0:e.tables)||[]).map((e=>{const t=i.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 H=(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,i=null==g?void 0:g.tables),1&e.$$.dirty[0]&&n(18,r=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,h=null==g?void 0:g.style)||void 0===h?void 0:h.zoomKoef:1),256&e.$$.dirty[0]&&n(16,c=i.filter((e=>e.isSelectedTable)).length>=2),64&e.$$.dirty[0]&&M(),4194304&e.$$.dirty[1]&&o&&j(o),384&e.$$.dirty[0]&&function(e,t){f(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,i=e.length>0?_.max(e.map((e=>e.bottom))):0;n(10,T=Math.max(3e3,o+50)),n(11,E=Math.max(3e3,i+50))}))}(0,F),1&e.$$.dirty[0]|4194304&e.$$.dirty[1]&&o&&(null==g?void 0:g.autoLayout)&&(t=o,f(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(),V())}))),32&e.$$.dirty[0]&&tick().then((()=>{W(),M()}))},n(17,s=useUsedApps()),p(),p=subscribe(s,(e=>n(54,u=e))),[g,b,v,x,w,S,D,F,i,k,T,E,A,N,L,a,c,s,r,I,O,R,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)=>f(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((i=>{const r=(i.tables||[]).find((t=>t.designerId==e));if(!r)return i;const a=z(n,i.tables);return a&&!(null==x?void 0:x.allowTableAlias)?i:Object.assign(Object.assign({},i),{tables:[...i.tables||[],Object.assign(Object.assign({},n),{left:r.left+300,top:r.top+50,designerId:o,alias:a})],references:(null==x?void 0:x.allowCreateRefByDrag)?[...i.references||[],{designerId:v1_1$6(),sourceId:r.designerId,targetId:o,joinType:"INNER JOIN",columns:t.columns.map((e=>({source:e.columnName,target:e.refColumnName})))}]:i.references})})),j()})),e=>f(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 i=null===(t=F[e.designerId])||void 0===t?void 0:t.getRect();V(!0,!1,i?{x:(i.left+i.right)/2,y:(i.top+i.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||[],i=o.find((t=>t.designerId==e.designerId&&t.columnName==e.columnName));return i?Object.assign(Object.assign({},n),{columns:o.map((e=>e==i?t(i):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:i}=o;"tables"!=i&&"views"!=i&&"collections"!=i||(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=z(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())},()=>{U((e=>e.moveStart()))},(e,t)=>{U((n=>n.move(e,t))),tick().then(W)},()=>{const e={};U((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(W)},(e,t)=>{n(12,A={x:e/a,y:t/a})},(e,t,o,i)=>{n(13,N={x:o/a,y:i/a})},(e,t)=>{if(A&&N){const e={left:Math.min(A.x,N.x),right:Math.max(A.x,N.x),top:Math.min(A.y,N.y),bottom:Math.max(A.y,N.y)};B((t=>Object.assign(Object.assign({},t),{tables:(t.tables||[]).map((t=>{const n=F[t.designerId].getRect();return Object.assign(Object.assign({},t),{isSelectedTable:rectanglesHaveIntersection(n,e)})}))})),!0)}n(12,A=null),n(13,N=null)},W,function(){var e,t,n,o,i,r;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:H("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:H("showDataType",!(null===(o=null==g?void 0:g.style)||void 0===o?void 0:o.showDataType))}]},{text:`Columns - ${_.startCase((null===(i=null==g?void 0:g.style)||void 0===i?void 0:i.filterColumns)||"all")}`,submenu:[{text:"All",onClick:H("filterColumns",null)},{text:"Primary Key",onClick:H("filterColumns","primaryKey")},{text:"All Keys",onClick:H("filterColumns","allKeys")},{text:"Not Null",onClick:H("filterColumns","notNull")},{text:"Keys And Not Null",onClick:H("filterColumns","keysAndNotNull")}]},{text:`Zoom - ${100*((null===(r=null==g?void 0:g.style)||void 0===r?void 0:r.zoomKoef)||1)}%`,submenu:[{text:"10 %",onClick:H("zoomKoef",.1)},{text:"15 %",onClick:H("zoomKoef",.15)},{text:"20 %",onClick:H("zoomKoef",.2)},{text:"40 %",onClick:H("zoomKoef",.4)},{text:"60 %",onClick:H("zoomKoef",.6)},{text:"80 %",onClick:H("zoomKoef",.8)},{text:"100 %",onClick:H("zoomKoef",1)},{text:"120 %",onClick:H("zoomKoef",1.2)},{text:"140 %",onClick:H("zoomKoef",1.4)},{text:"160 %",onClick:H("zoomKoef",1.6)},{text:"180 %",onClick:H("zoomKoef",1.8)},{text:"200 %",onClick:H("zoomKoef",2)}]}]]},$,y,C,function(){return!!(null==x?void 0:x.arrangeAlg)},function(){return null==x?void 0:x.canExport},V,function(){return f(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=>f(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,h,o,u,d,function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{L[t.designerId]=e,n(14,L)}))},function(e,t){binding_callbacks[e?"unshift":"push"]((()=>{D[t.designerId]=e,n(6,D)}))},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$1Z,create_fragment$1$,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$m(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$X(e){let t,n,o,i,r,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$m(get_each_context$m(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();i=space(),r=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(r,"class","wrapper svelte-1k22hy3"),attr(r,"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(t,null);insert(o,i,c),insert(o,r,c),append(r,a),append(a,s),l||(u=action_destroyer(contextMenu.call(null,r,e[8])),l=!0)},p(e,i){if(156&i&&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&i){let n;for(p=e[5],n=0;n<p.length;n+=1){const o=get_each_context$m(e,p,n);m[n]?m[n].p(o,i):(m[n]=create_each_block$m(o),m[n].c(),m[n].m(t,null))}for(;n<m.length;n+=1)m[n].d(1);m.length=p.length}3&i&&d!==(d=(e[1]?.createReferenceText?e[1]?.createReferenceText(e[0]):"")+"")&&set_data(s,d),156&i&&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(r,"style",c)},d(e){e&&detach(t),destroy_each(m,e),e&&detach(i),e&&detach(r),l=!1,u()}}}function create_each_block$m(e){let t,n,o,i;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",i=`\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,r){116&r&&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&r&&i!==(i=`\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",i)},d(e){e&&detach(t),e&&detach(o)}}}function create_fragment$1_(e){let t,n=e[2]&&e[3]&&e[4]&&create_if_block$X(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$X(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$1Y(e,t,n){let o,i;var r,a;let s,{reference:c}=t,{onRemoveReference:l}=t,{onChangeReference:u}=t,{designer:d}=t,{domTables:p}=t,{settings:m}=t,h=null,f=null,g=[];function $(){const{designerId:e,sourceId:t,targetId:i,columns:r,joinType:a}=c,l=p[t],u=p[i];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(r.map((e=>l.getColumnY(e.source)))),v=_.mean(r.map((e=>u.getColumnY(e.target))));0==r.length&&(b=l.getColumnY(""),v=u.getColumnY("")),n(2,h={x:s.xsrc,y:b}),n(3,f={x:s.xdst,y:v}),n(5,g=r.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,r=null==m?void 0:m.referencePaintSettings)||void 0===r?void 0:r.buswi)||BUSWI),32770&e.$$.dirty&&n(7,i=(null===n(15,a=null==m?void 0:m.referencePaintSettings)||void 0===a?void 0:a.extwi)||EXTWI),4096&e.$$.dirty&&$()},[c,m,h,f,s,g,o,i,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,$,r,a]}class QueryDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Y,create_fragment$1_,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$1Z(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),0&n&&{settings:{showTableCloseButton:!0,allowColumnOperations:!0,allowCreateRefByDrag:!0,allowTableAlias:!0,allowScrollColumns:!0,canSelectColumns:!0,referenceMenu:e[1],createReferenceText:e[2]}},0&n&&{referenceComponent:QueryDesignerReference}]):{};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 instance$1X(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 i=isConnectedByReference(e,{designerId:t?.sourceId},{designerId:t?.targetId},t),r=e=>{n({...t,joinType:e})};return[{text:"Remove",onClick:()=>o(t)},!i&&[{divider:!0},{onClick:()=>r("INNER JOIN"),text:"Set INNER JOIN"},{onClick:()=>r("LEFT JOIN"),text:"Set LEFT JOIN"},{onClick:()=>r("RIGHT JOIN"),text:"Set RIGHT JOIN"},{onClick:()=>r("FULL OUTER JOIN"),text:"Set FULL OUTER JOIN"},{onClick:()=>r("CROSS JOIN"),text:"Set CROSS JOIN"},{onClick:()=>r("WHERE EXISTS"),text:"Set WHERE EXISTS"},{onClick:()=>r("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$1X,create_fragment$1Z,safe_not_equal,{})}}function create_else_block$n(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$a(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 i={};33554432&o&&(i.value=e[25].customExpression),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__8_slot(e){let t,n,o,i;const r=[create_if_block_4$a,create_else_block$n],a=[];function s(e,t){return e[25].isCustomExpression?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!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 i={};33554432&o&&(i.checked=e[25].isOutput),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$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 i={};33554432&o&&(i.value=e[25].alias),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$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 i={};33554432&o&&(i.checked=e[25].isGrouped),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_if_block_3$b(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$a)}}),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 i={};33554432&o&&(i.value=e[25].aggregate),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$2(e){let t,n,o=!e[25].isGrouped&&create_if_block_3$b(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$b(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$1(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 i={};33554432&o&&(i.value=e[25].sortOrder?.toString()),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__5_slot$1(e){let t,n;function o(...t){return e[17](e[25],e[26],...t)}return t=new DataFilterControl({props:{filterType:findDesignerFilterType(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,i){e=n;const r={};33554433&i&&(r.filterType=findDesignerFilterType(e[25],e[0])),100663296&i&&(r.filter=e[25][e[26]]),100663296&i&&(r.setFilter=o),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_2$m(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$t(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$N(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,i,r,a,s;return n=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_2$m]},$$scope:{ctx:e}}}),n.$on("click",(function(){return e[14](e[25])})),i=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot_1$t]},$$scope:{ctx:e}}}),i.$on("click",(function(){return e[15](e[25])})),a=new InlineButton({props:{square:!0,$$slots:{default:[create_default_slot$N]},$$scope:{ctx:e}}}),a.$on("click",(function(){return e[16](e[25])})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),r=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(i,t,null),append(t,r),mount_component(a,t,null),s=!0},p(t,o){e=t;const r={};134217728&o&&(r.$$scope={dirty:o,ctx:e}),n.$set(r);const s={};134217728&o&&(s.$$scope={dirty:o,ctx:e}),i.$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(i.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),destroy_component(a)}}}function create_if_block_2$h(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$v(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$W(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$1Y(e){let t,n,o,i,r,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$3),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$1,({row:e})=>({25:e}),({row:e})=>e?33554432:0],3:[create__3_slot$2,({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}}}),i=new FormStyledButton({props:{value:"Add custom expression",style:"width:200px"}}),i.$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$h(e),p=e[2]&&create_if_block_1$v(e),m=e[2]&&e[3]?.additionalGroupFilterCount>0&&create_if_block$W(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),r=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,h){insert(e,t,h),mount_component(n,t,null),append(t,o),mount_component(i,t,null),append(t,r),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 i={};2&o&&(i.rows=e[1]||[]),28&o&&(i.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$3),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&&(i.$$scope={dirty:o,ctx:e}),n.$set(i),e[3]?.additionalFilterCount>0?d?(d.p(e,o),8&o&&transition_in(d,1)):(d=create_if_block_2$h(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$v(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$W(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(i.$$.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(i.$$.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(i),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$a=e=>({label:e,value:e}),func_3$3=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$1W(e,t,n){let o,i,r,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];return[e[o],e[o+t]]=[e[o+t],e[o]],{...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,i=s?.tables),1&e.$$.dirty&&n(3,r=s?.settings),2&e.$$.dirty&&n(2,a=!!(o||[]).find((e=>e.isGrouped)))},[s,o,a,r,i,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,i)]}class QueryDesignColumns extends SvelteComponent{constructor(e){super(),init(this,e,instance$1W,create_fragment$1Y,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$M(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$9(e){let t,n,o,i,r,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.execute"}}),o=new ToolStripCommandButton({props:{command:"designer.kill"}}),r=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),i=space(),create_component(r.$$.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,i,d),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1X(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$9],default:[create_default_slot$M]},$$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$c=()=>getActiveComponent("QueryDesignTab");function instance$1V(e,t,n){let o,i,r,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:h}=t,{conid:f}=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()},E=()=>{n(2,w=null),T()},A=(e,t)=>D({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),{editorState:N,editorValue:I,setEditorData:O}=useEditorData({tabid:h,onInitialData:e=>{D({type:"reset",value:e})}});component_subscribe(e,N,(e=>n(34,a=e)));const[R,D]=createUndoReducer({tables:[],references:[],columns:[]});component_subscribe(e,R,(e=>n(3,s=e)));const L=createQuickExportHandlerRef();return e.$$set=e=>{"tabid"in e&&n(15,h=e.tabid),"conid"in e&&n(0,f=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:f})),p(),p=subscribe(o,(e=>n(4,u=e)))),16&e.$$.dirty[0]|2&e.$$.dirty[1]&&n(30,i=lib$5.findEngineDriver(u,l)),4&e.$$.dirty[0]&&(n(8,r=useEffect((()=>{return(e=w)?(apiOn(`session-done-${e}`,T),apiOn(`session-closed-${e}`,E),()=>{apiOff(`session-done-${e}`,T),apiOff(`session-closed-${e}`,E)}):()=>{};var e}))),d(),d=subscribe(r,(e=>n(31,c=e)))),e.$$.dirty[1],536903680&e.$$.dirty[0]&&changeTab(h,(e=>Object.assign(Object.assign({},e),{busy:v}))),536870924&e.$$.dirty[0]&&invalidateCommands(),8&e.$$.dirty[0]&&O(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,i)},[f,g,w,s,u,y,x,C,r,o,A,N,R,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;A(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)}}]},L,h,$,k,function(){return!!w},function(){return v},function(){return h},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:f,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(){D({type:"undo"})},function(){return s.canRedo},function(){D({type:"redo"})},function(){newQuery({initialData:C})},v,i,c,l]}registerCommand({id:"designer.openSql",category:"Designer",icon:"icon sql-file",name:"Open SQL",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>null!=getCurrentEditor$c(),onClick:()=>getCurrentEditor$c().openSql()}),registerFileCommands({idPrefix:"designer",category:"Designer",getCurrentEditor:getCurrentEditor$c,folder:"query",format:"json",fileExtension:"qdesign",execute:!0,undoRedo:!0});class QueryDesignTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1V,create_fragment$1X,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$L(e){let t,n,o,i,r,a;function s(t){e[4](t)}let c={focused:!0};return void 0!==e[0]&&(c.value=e[0]),i=new TextField({props:c}),binding_callbacks.push((()=>bind(i,"value",s))),i.$on("keydown",e[1]),{c(){t=element("div"),t.textContent="Show desired key combination and press ENTER",n=space(),o=element("div"),create_component(i.$$.fragment),attr(t,"class","mb-2"),attr(o,"class","largeFormMarker")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r),mount_component(i,o,null),a=!0},p(e,t){const n={};!r&&1&t&&(r=!0,n.value=e[0],add_flush_callback((()=>r=!1))),i.$set(n)},i(e){a||(transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(i.$$.fragment,e),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(i)}}}function create_fragment$1W(e){let t,n;const o=[e[2],{simple:!0}];let i={$$slots:{default:[create_default_slot$L]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=4&n?get_spread_update(o,[get_spread_object(e[2]),o[1]]):{};33&n&&(i.$$scope={dirty:n,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 instance$1U(e,t,n){const o=["onChange"];let i,r=compute_rest_props(t,o),{onChange:a}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,r=compute_rest_props(t,o)),"onChange"in e&&n(3,a=e.onChange)},[i,function(e){if(e.preventDefault(),e.stopPropagation(),e.keyCode==keycodes.escape)return void closeCurrentModal();if(e.keyCode==keycodes.enter&&i)return a(i),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,i=t)},r,a,function(e){i=e,n(0,i)}]}class KeyboardModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1U,create_fragment$1W,safe_not_equal,{onChange:3})}}function create_default_slot_1$s(e){let t,n,o,i,r,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),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(r,"class","row svelte-1h6n7am")},m(e,u){mount_component(t,e,u),insert(e,n,u),mount_component(o,e,u),insert(e,i,u),insert(e,r,u),mount_component(a,r,null),append(r,s),mount_component(c,r,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(i),e&&detach(r),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,i,r,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]),r=new FormStyledButton({props:{type:"button",value:"Close"}}),r.$on("click",closeCurrentModal),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_default_slot$K(e){let t,n;const o=[e[4]];let i={$$slots:{footer:[create_footer_slot$4],header:[create_header_slot$5],default:[create_default_slot_1$s]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};131&n&&(i.$$scope={dirty:n,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$1V(e){let t,n;return t=new FormProviderCore({props:{values:e[2],$$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={};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$1T(e,t,n){const o=["command"];let i,r=compute_rest_props(t,o);component_subscribe(e,commandsSettings,(e=>n(1,i=e)));let{command:a}=t,s=writable(a);return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,r=compute_rest_props(t,o)),"command"in e&&n(0,a=e.command)},[a,i,s,function(){showModal(KeyboardModal,{onChange:e=>s.update((t=>Object.assign(Object.assign({},t),{keyText:e})))})},r,e=>{closeCurrentModal(),apiCall("config/update-settings",{commands:{...i,[a.id]:{keyText:e.detail.keyText,customKeyboardShortcut:!0}}})},()=>{closeCurrentModal(),apiCall("config/update-settings",{commands:_.omit(i,[a.id])})}]}class CommandModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1T,create_fragment$1V,safe_not_equal,{command:0})}}function create_fragment$1U(e){let t,n,o,i,r,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 h(t){e[4](t)}void 0!==e[0]&&(m.value=e[0]),o=new SearchInput({props:m}),binding_callbacks.push((()=>bind(o,"value",p)));let f={showDisabled:!0};return void 0!==e[0]&&(f.filter=e[0]),a=new CloseSearchButton({props:f}),binding_callbacks.push((()=>bind(a,"filter",h))),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$9},{header:"commandId",fieldName:"id"}]}}),u.$on("clickrow",e[6]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),r=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,i){insert(e,t,i),append(t,n),mount_component(o,n,null),append(n,r),mount_component(a,n,null),append(t,c),append(t,l),mount_component(u,l,null),d=!0},p(e,[t]){const n={};!i&&1&t&&(i=!0,n.value=e[0],add_flush_callback((()=>i=!1))),o.$set(n);const r={};!s&&1&t&&(s=!0,r.filter=e[0],add_flush_callback((()=>s=!1))),a.$set(r);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$9=e=>e.customKeyboardShortcut;function instance$1S(e,t,n){let o,i,r;component_subscribe(e,commandsCustomized,(e=>n(2,i=e)));return e.$$.update=()=>{4&e.$$.dirty&&n(1,o=_.sortBy(_.values(i),["category","name"]))},[r,o,i,function(e){r=e,n(0,r)},function(e){r=e,n(0,r)},e=>lib$5.filterName(r,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$1S,create_fragment$1U,safe_not_equal,{})}}var CommandListTab$1=Object.freeze({__proto__:null,default:CommandListTab,matchingProps:matchingProps$4});function create_fragment$1T(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$b=()=>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$1R(e,t,n){let o,i;var r;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,i=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&&i&&l&&(null===n(12,r=null==l?void 0:l.getEditor())||void 0===r||r.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},r,i,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$b,folder:"yaml",format:"text",fileExtension:"yaml",toggleComment:!0,findReplace:!0});class YamlEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1R,create_fragment$1T,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$J(e){let t,n,o={value:e[2].value||"",menu:createMenu$2(),mode:"json"};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)}}}function create_toolstrip_slot$8(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$1S(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$8],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={};524294&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$a=()=>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$1Q(e,t,n){let o,i;var r;let{tabid:a}=t;const s=getContext("tabVisible");component_subscribe(e,s,(e=>n(13,i=e)));const c=createActivator("JsonEditorTab",!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&&i&&l&&(null===n(12,r=null==l?void 0:l.getEditor())||void 0===r||r.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},r,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{l=e,n(1,l)}))},e=>p(e.detail),()=>{c.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"json",category:"Json",getCurrentEditor:getCurrentEditor$a,folder:"yaml",format:"text",fileExtension:"json",toggleComment:!0,findReplace:!0});class JsonEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1Q,create_fragment$1S,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 JsonEditorTab$1=Object.freeze({__proto__:null,default:JsonEditorTab});function create__1_slot$b(e){let t,n,o={value:e[3].value||"",menu:createMenu$1(),mode:"json"};return t=new AceEditor({props:o}),e[21](t),t.$on("input",e[22]),t.$on("focus",e[23]),{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[21](null),destroy_component(t,n)}}}function create_if_block$V(e){let t,n,o=e[2],i=create_key_block$2(e);return{c(){i.c(),t=empty()},m(e,o){i.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(i,1,1,noop$3),check_outros(),i=create_key_block$2(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i.p(e,n)},i(e){n||(transition_in(i),n=!0)},o(e){transition_out(i),n=!1},d(e){e&&detach(t),i.d(e)}}}function create_key_block$2(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$V(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[2]?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$V(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$I(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]),268435470&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$7(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"jsonl.save"}}),o=new ToolStripCommandSplitButton({props:{commands:["jsonl.preview","jsonl.previewNewTab"]}}),r=new ToolStripCommandButton({props:{command:"jsonl.closePreview"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1R(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$7],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={};268435470&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$9=()=>getActiveComponent("JsonLinesEditorTab");function createMenu$1(){return[{command:"jsonl.save"},{command:"jsonl.preview"},{divider:!0},{command:"jsonl.find"},{command:"jsonl.replace"}]}function instance$1P(e,t,n){let o,i;var r,a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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(20,i=e)));const p=createActivator("JsonLinesEditorTab",!1);let m;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(8,l=t),n(7,c=e)})),{editorState:f,editorValue:g,setEditorData:_,saveToStorage:$}=useEditorData({tabid:s});component_subscribe(e,f,(e=>n(3,o=e)));return e.$$set=e=>{"tabid"in e&&n(9,s=e.tabid),"archiveFolder"in e&&n(7,c=e.archiveFolder),"archiveFile"in e&&n(8,l=e.archiveFile)},e.$$.update=()=>{1572866&e.$$.dirty&&i&&m&&(null===n(19,r=null==m?void 0:m.getEditor())||void 0===r||r.focus())},[p,m,u,o,d,f,_,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||""})}))},r,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{m=e,n(1,m)}))},e=>_(e.detail),()=>{p.activate(),invalidateCommands()}]}registerFileCommands({idPrefix:"jsonl",category:"JSON Lines editor",getCurrentEditor:getCurrentEditor$9,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$9(),onClick:()=>getCurrentEditor$9().save()}),registerCommand({id:"jsonl.preview",category:"JSON Lines editor",name:"Preview",icon:"icon preview",keyText:"F5",testEnabled:()=>null!=getCurrentEditor$9(),onClick:()=>getCurrentEditor$9().preview()}),registerCommand({id:"jsonl.previewNewTab",category:"JSON Lines editor",name:"Preview in new tab",icon:"icon preview",testEnabled:()=>null!=getCurrentEditor$9(),onClick:()=>getCurrentEditor$9().previewMewTab()}),registerCommand({id:"jsonl.closePreview",category:"JSON Lines editor",name:"Close preview",icon:"icon close",testEnabled:()=>{var e;return null===(e=getCurrentEditor$9())||void 0===e?void 0:e.isPreview()},onClick:()=>getCurrentEditor$9().closePreview()});class JsonLinesEditorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1P,create_fragment$1R,safe_not_equal,{tabid:9,archiveFolder:7,archiveFile:8,activator:0,getData:10,find:11,replace:12,getTabId:13,isPreview:14,closePreview:15,save:16,previewMewTab:17,preview:18})}get activator(){return this.$$.ctx[0]}get getData(){return this.$$.ctx[10]}get find(){return this.$$.ctx[11]}get replace(){return this.$$.ctx[12]}get getTabId(){return this.$$.ctx[13]}get isPreview(){return this.$$.ctx[14]}get closePreview(){return this.$$.ctx[15]}get save(){return this.$$.ctx[16]}get previewMewTab(){return this.$$.ctx[17]}get preview(){return this.$$.ctx[18]}}var JsonLinesEditorTab$1=Object.freeze({__proto__:null,default:JsonLinesEditorTab});function Diff(){}function buildValues(e,t,n,o,i){for(var r=0,a=t.length,s=0,c=0;r<a;r++){var l=t[r];if(l.removed){if(l.value=e.join(o.slice(c,c+l.count)),c+=l.count,r&&t[r-1].added){var u=t[r-1];t[r-1]=t[r],t[r]=u}}else{if(!l.added&&i){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 i=this;function r(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 r([{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,h=d&&0<=p&&p<s;if(m||h){if(!m||h&&l.newPos<d.newPos?(o=clonePath(d),i.pushComponent(o.components,void 0,!0)):((o=l).newPos++,i.pushComponent(o.components,!0,void 0)),p=i.extractCommon(o,t,e,n),o.newPos+1>=a&&p+1>=s)return r(buildValues(i,o.components,t,e,i.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 i=t.length,r=n.length,a=e.newPos,s=a-o,c=0;a+1<i&&s+1<r&&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;function diffLines(e,t,n){return lineDiff.diff(e,t,n)}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 i=n[o];o%2&&!this.options.newlineIsToken?t[t.length-1]+=i:(this.options.ignoreWhitespace&&(i=i.trim()),t.push(i))}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)}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.tokenize=function(e){return e.split(/([{}:;,]|\s+)/)};var objectPrototypeToString=Object.prototype.toString,jsonDiff=new Diff;function canonicalize(e,t,n,o,i){var r,a;for(t=t||[],n=n||[],o&&(e=o(i,e)),r=0;r<t.length;r+=1)if(t[r]===e)return n[r];if("[object Array]"===objectPrototypeToString.call(e)){for(t.push(e),a=new Array(e.length),n.push(a),r=0;r<e.length;r+=1)a[r]=canonicalize(e[r],t,n,o,i);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(),r=0;r<c.length;r+=1)a[s=c[r]]=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,i=void 0===o?function(e,t){return void 0===t?n:t}:o;return"string"==typeof e?e:JSON.stringify(canonicalize(e,null,null,i),i," ")},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,LineType;function structuredPatch(e,t,n,o,i,r,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,h=function(e){var t=s[e],i=t.lines||t.value.replace(/\n$/,"").split("\n");if(t.lines=i,t.added||t.removed){var r;if(!l){var h=s[e-1];l=p,u=m,h&&(d=a.context>0?g(h.lines.slice(-a.context)):[],l-=d.length,u-=d.length)}(r=d).push.apply(r,_toConsumableArray(i.map((function(e){return(t.added?"+":"-")+e})))),t.added?m+=i.length:p+=i.length}else{if(l)if(i.length<=2*a.context&&e<s.length-2){var f;(f=d).push.apply(f,_toConsumableArray(g(i)))}else{var _,$=Math.min(i.length,a.context);(_=d).push.apply(_,_toConsumableArray(g(i.slice(0,$))));var b={oldStart:l,oldLines:p-l+$,newStart:u,newLines:m-u+$,lines:d};if(e>=s.length-2&&i.length<=a.context){var v=/\n$/.test(n),y=/\n$/.test(o),x=0==i.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+=i.length,m+=i.length}},f=0;f<s.length;f++)h(f);return{oldFileName:e,newFileName:t,oldHeader:i,newHeader:r,hunks:c}}function g(e){return e.map((function(e){return" "+e}))}}function formatPatch(e){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,i,r,a){return formatPatch(structuredPatch(e,t,n,o,i,r,a))}arrayDiff.tokenize=function(e){return e.slice()},arrayDiff.join=arrayDiff.removeEmpty=function(e){return e},function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"}(LineType||(LineType={}));var 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"},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){var t,n,o=0;for(t=0,n=e.length;t<n;t++)o=(o<<5)-o+e.charCodeAt(t),o|=0;return o}var __spreadArray=function(e,t,n){if(n||2===arguments.length)for(var o,i=0,r=t.length;i<r;i++)!o&&i in t||(o||(o=Array.prototype.slice.call(t,0,i)),o[i]=t[i]);return e.concat(o||Array.prototype.slice.call(t))};function getExtension(e,t){var n=e.split(".");return n.length>1?n[n.length-1]:t}function startsWithAny(e,t){return t.reduce((function(t,n){return t||e.startsWith(n)}),!1)}var baseDiffFilenamePrefixes=["a/","b/","i/","w/","c/","o/"];function getFilename(e,t,n){var o=void 0!==n?__spreadArray(__spreadArray([],baseDiffFilenamePrefixes,!0),[n],!1):baseDiffFilenamePrefixes,i=((t?new RegExp("^".concat(escapeForRegExp(t),' "?(.+?)"?$')):new RegExp('^"?(.+?)"?$')).exec(e)||[])[1],r=void 0===i?"":i,a=o.find((function(e){return 0===r.indexOf(e)}));return(a?r.slice(a.length):r).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){void 0===t&&(t={});var n=[],o=null,i=null,r=null,a=null,s=null,c=null,l=null,u="--- ",d="+++ ",p="@@",m=/^old mode (\d{6})/,h=/^new mode (\d{6})/,f=/^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})/,E=/^new file mode (\d{6})/,A=/^deleted file mode (\d{6}),(\d{6})/,N=e.replace(/\/g,"").replace(/\r\n?/g,"\n").split("\n");function I(){null!==i&&null!==o&&(o.blocks.push(i),i=null)}function O(){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 R(){I(),O(),o={blocks:[],deletedLines:0,addedLines:0}}function D(e){var t;I(),null!==o&&((t=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(e))?(o.isCombined=!1,r=parseInt(t[1],10),s=parseInt(t[2],10)):(t=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(e))?(o.isCombined=!0,r=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!"),r=0,s=0,o.isCombined=!1)),i={lines:[],oldStartLine:r,oldStartLine2:a,newStartLine:s,header:e}}return N.forEach((function(e,a){if(e&&!e.startsWith("*")){var I,O=N[a-1],L=N[a+1],F=N[a+2];if(e.startsWith("diff")){R();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 !!!");o.isGitDiff=!0}else if((!o||!o.isGitDiff&&o&&e.startsWith(u)&&L.startsWith(d)&&F.startsWith(p))&&R(),!(null==o?void 0:o.isTooBig)){if(o&&("number"==typeof t.diffMaxChanges&&o.addedLines+o.deletedLines>t.diffMaxChanges||"number"==typeof t.diffMaxLineLength&&e.length>t.diffMaxLineLength))return o.isTooBig=!0,o.addedLines=0,o.deletedLines=0,o.blocks=[],i=null,void D("function"==typeof t.diffTooBigMessage?t.diffTooBigMessage(n.length):"Diff too big to be displayed");if(e.startsWith(u)&&L.startsWith(d)||e.startsWith(d)&&O.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&&!i))D(e);else if(i&&(e.startsWith("+")||e.startsWith("-")||e.startsWith(" ")))!function(e){if(null!==o&&null!==i&&null!==r&&null!==s){var 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=r++,t.newNumber=void 0):(t.type=LineType.CONTEXT,t.oldNumber=r++,t.newNumber=s++),i.lines.push(t)}}(e);else{var M=!function(e,t){for(var n=t;n<N.length-3;){if(e.startsWith("diff"))return!1;if(N[n].startsWith(u)&&N[n+1].startsWith(d)&&N[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=h.exec(e))?o.newMode=I[1]:(I=f.exec(e))?(o.deletedFileMode=I[1],o.isDeleted=!0):(I=g.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=_.exec(e))?(M&&(o.oldName=I[1]),o.isCopy=!0):(I=$.exec(e))?(M&&(o.newName=I[1]),o.isCopy=!0):(I=b.exec(e))?(M&&(o.oldName=I[1]),o.isRename=!0):(I=v.exec(e))?(M&&(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),D("Binary file")):k.test(e)?(o.isBinary=!0,D(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=E.exec(e))?(o.newFileMode=I[1],o.isNew=!0):(I=A.exec(e))&&(o.deletedFileMode=I[1],o.isDeleted=!0)}}}})),I(),O(),n}function levenshtein(e,t){if(0===e.length)return t.length;if(0===t.length)return e.length;var n,o,i=[];for(n=0;n<=t.length;n++)i[n]=[n];for(o=0;o<=e.length;o++)i[0][o]=o;for(n=1;n<=t.length;n++)for(o=1;o<=e.length;o++)t.charAt(n-1)===e.charAt(o-1)?i[n][o]=i[n-1][o-1]:i[n][o]=Math.min(i[n-1][o-1]+1,Math.min(i[n][o-1]+1,i[n-1][o]+1));return i[t.length][e.length]}function newDistanceFn(e){return function(t,n){var o=e(t).trim(),i=e(n).trim();return levenshtein(o,i)/(o.length+i.length)}}function newMatcherFn(e){return function t(n,o,i,r){void 0===i&&(i=0),void 0===r&&(r=new Map);var a=function(t,n,o){void 0===o&&(o=new Map);for(var i,r=1/0,a=0;a<t.length;++a)for(var s=0;s<n.length;++s){var c=JSON.stringify([t[a],n[s]]),l=void 0;o.has(c)&&(l=o.get(c))||(l=e(t[a],n[s]),o.set(c,l)),l<r&&(i={indexA:a,indexB:s,score:r=l})}return i}(n,o,r);if(!a||n.length+o.length<3)return[[n,o]];var 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),h=o.slice(p),f=t(s,c,i+1,r),g=t(l,u,i+1,r),_=t(m,h,i+1,r),$=g;return(a.indexA>0||a.indexB>0)&&($=f.concat($)),(n.length>d||o.length>p)&&($=$.concat(_)),$}}var __assign$4=function(){return __assign$4=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$4.apply(this,arguments)},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},separator="/",distance=newDistanceFn((function(e){return 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 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){void 0===n&&(n=!0);var o=prefixLength(t);return{prefix:e.substring(0,o),content:n?escapeForHtml(e.substring(o)):e.substring(o)}}function filenameDiff(e){var t=unifyPath(e.oldName),n=unifyPath(e.newName);if(t===n||isDevNullName(t)||isDevNullName(n))return isDevNullName(n)?t:n;for(var o=[],i=[],r=t.split(separator),a=n.split(separator),s=0,c=r.length-1,l=a.length-1;s<c&&s<l&&r[s]===a[s];)o.push(a[s]),s+=1;for(;c>s&&l>s&&r[c]===a[l];)i.unshift(a[l]),c-=1,l-=1;var u=o.join(separator),d=i.join(separator),p=r.slice(s,c+1).join(separator),m=a.slice(s,l+1).join(separator);return u.length&&d.length?u+separator+"{"+p+" → "+m+"}"+separator+d:u.length?u+separator+"{"+p+" → "+m+"}":d.length?"{"+p+" → "+m+"}"+separator+d:t+" → "+n}function getHtmlId(e){return"d2h-".concat(hashCode(filenameDiff(e)).toString().slice(-6))}function getFileIcon(e){var 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){void 0===o&&(o={});var i=__assign$4(__assign$4({},defaultRenderConfig),o),r=i.matching,a=i.maxLineLengthHighlight,s=i.matchWordsThreshold,c=i.diffStyle,l=deconstructLine(e,n,!1),u=deconstructLine(t,n,!1);if(l.content.length>a||u.content.length>a)return{oldLine:{prefix:l.prefix,content:escapeForHtml(l.content)},newLine:{prefix:u.prefix,content:escapeForHtml(u.content)}};var d="char"===c?diffChars(l.content,u.content):diffWordsWithSpace(l.content,u.content),p=[];if("word"===c&&"words"===r){var m=d.filter((function(e){return e.removed})),h=d.filter((function(e){return e.added}));matcher(h,m).forEach((function(e){1===e[0].length&&1===e[1].length&&(distance(e[0][0],e[1][0])<s&&(p.push(e[0][0]),p.push(e[1][0])))}))}var f=d.reduce((function(e,t){var n=t.added?"ins":t.removed?"del":null,o=p.indexOf(t)>-1?' class="d2h-change"':"",i=escapeForHtml(t.value);return null!==n?"".concat(e,"<").concat(n).concat(o,">").concat(i,"</").concat(n,">"):"".concat(e).concat(i)}),"");return{oldLine:{prefix:l.prefix,content:removeInsElements(f)},newLine:{prefix:u.prefix,content:removeDelElements(f)}}}var baseTemplatesPath$2="file-summary",iconsBaseTemplatesPath$2="icon";function render(e,t){var n=e.map((function(e){return t.render(baseTemplatesPath$2,"line",{fileHtmlId:getHtmlId(e),oldName:e.oldName,newName:e.newName,fileName:filenameDiff(e),deletedLines:"-"+e.deletedLines,addedLines:"+"+e.addedLines},{fileIcon:t.template(iconsBaseTemplatesPath$2,getFileIcon(e))})})).join("\n");return t.render(baseTemplatesPath$2,"wrapper",{filesNumber:e.length,files:n})}var __assign$3=function(){return __assign$3=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$3.apply(this,arguments)},defaultLineByLineRendererConfig=__assign$3(__assign$3({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath$1="generic",baseTemplatesPath$1="line-by-line",iconsBaseTemplatesPath$1="icon",tagsBaseTemplatesPath$1="tag",LineByLineRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$3(__assign$3({},defaultLineByLineRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath$1,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath$1,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath$1,"file-path"),i=this.hoganUtils.template(iconsBaseTemplatesPath$1,"file"),r=this.hoganUtils.template(tagsBaseTemplatesPath$1,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:i,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return this.hoganUtils.render(genericTemplatesPath$1,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:CSSLineClass})},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var i=t.hoganUtils.render(genericTemplatesPath$1,"block-header",{CSSLineClass:CSSLineClass,blockHeader:e.isTooBig?o.header:escapeForHtml(o.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return t.applyLineGroupping(o).forEach((function(o){var r=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!r.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],r=n[1],a=t.processChangedLines(e.isCombined,o,r),s=a.left,c=a.right;i+=s,i+=c}));else if(r.length)r.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),r=o.prefix,a=o.content;i+=t.generateSingleLineHtml({type:CSSLineClass.CONTEXT,prefix:r,content:a,oldNumber:n.oldNumber,newNumber:n.newNumber})}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;i+=l,i+=u}else console.error("Unknown state reached while processing groups of lines",r,a,s)})),i})).join("\n")},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],i=0;i<e.lines.length;i++){var r=e.lines[i];(r.type!==LineType.INSERT&&o.length||r.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),r.type===LineType.CONTEXT?t.push([[r],[],[]]):r.type===LineType.INSERT&&0===n.length?t.push([[],[],[r]]):r.type===LineType.INSERT&&n.length>0?o.push(r):r.type===LineType.DELETE&&n.push(r)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,i=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&i<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},i=Math.max(t.length,n.length),r=0;r<i;r++){var a=t[r],s=n[r],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$3(__assign$3({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{oldNumber:a.oldNumber,newNumber:a.newNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$3(__assign$3({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$3(__assign$3({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleLineHtml(e),right:this.generateSingleLineHtml(t)}},e.prototype.generateSingleLineHtml=function(e){if(void 0===e)return"";var t=this.hoganUtils.render(baseTemplatesPath$1,"numbers",{oldNumber:e.oldNumber||"",newNumber:e.newNumber||""});return this.hoganUtils.render(genericTemplatesPath$1,"line",{type:e.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:" "===e.prefix?"&nbsp;":e.prefix,content:e.content,lineNumber:t})},e}(),__assign$2=function(){return __assign$2=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$2.apply(this,arguments)},defaultSideBySideRendererConfig=__assign$2(__assign$2({},defaultRenderConfig),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),genericTemplatesPath="generic",baseTemplatesPath="side-by-side",iconsBaseTemplatesPath="icon",tagsBaseTemplatesPath="tag",SideBySideRenderer=function(){function e(e,t){void 0===t&&(t={}),this.hoganUtils=e,this.config=__assign$2(__assign$2({},defaultSideBySideRendererConfig),t)}return e.prototype.render=function(e){var t=this,n=e.map((function(e){var n;return n=e.blocks.length?t.generateFileHtml(e):t.generateEmptyDiff(),t.makeFileDiffHtml(e,n)})).join("\n");return this.hoganUtils.render(genericTemplatesPath,"wrapper",{content:n})},e.prototype.makeFileDiffHtml=function(e,t){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&0===e.blocks.length)return"";var n=this.hoganUtils.template(baseTemplatesPath,"file-diff"),o=this.hoganUtils.template(genericTemplatesPath,"file-path"),i=this.hoganUtils.template(iconsBaseTemplatesPath,"file"),r=this.hoganUtils.template(tagsBaseTemplatesPath,getFileIcon(e));return n.render({file:e,fileHtmlId:getHtmlId(e),diffs:t,filePath:o.render({fileDiffName:filenameDiff(e)},{fileIcon:i,fileTag:r})})},e.prototype.generateEmptyDiff=function(){return{right:"",left:this.hoganUtils.render(genericTemplatesPath,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:CSSLineClass})}},e.prototype.generateFileHtml=function(e){var t=this,n=newMatcherFn(newDistanceFn((function(t){return deconstructLine(t.content,e.isCombined).content})));return e.blocks.map((function(o){var i={left:t.makeHeaderHtml(o.header,e),right:t.makeHeaderHtml("")};return t.applyLineGroupping(o).forEach((function(o){var r=o[0],a=o[1],s=o[2];if(a.length&&s.length&&!r.length)t.applyRematchMatching(a,s,n).map((function(n){var o=n[0],r=n[1],a=t.processChangedLines(e.isCombined,o,r),s=a.left,c=a.right;i.left+=s,i.right+=c}));else if(r.length)r.forEach((function(n){var o=deconstructLine(n.content,e.isCombined),r=o.prefix,a=o.content,s=t.generateLineHtml({type:CSSLineClass.CONTEXT,prefix:r,content:a,number:n.oldNumber},{type:CSSLineClass.CONTEXT,prefix:r,content:a,number:n.newNumber}),c=s.left,l=s.right;i.left+=c,i.right+=l}));else if(a.length||s.length){var c=t.processChangedLines(e.isCombined,a,s),l=c.left,u=c.right;i.left+=l,i.right+=u}else console.error("Unknown state reached while processing groups of lines",r,a,s)})),i})).reduce((function(e,t){return{left:e.left+t.left,right:e.right+t.right}}),{left:"",right:""})},e.prototype.applyLineGroupping=function(e){for(var t=[],n=[],o=[],i=0;i<e.lines.length;i++){var r=e.lines[i];(r.type!==LineType.INSERT&&o.length||r.type===LineType.CONTEXT&&n.length>0)&&(t.push([[],n,o]),n=[],o=[]),r.type===LineType.CONTEXT?t.push([[r],[],[]]):r.type===LineType.INSERT&&0===n.length?t.push([[],[],[r]]):r.type===LineType.INSERT&&n.length>0?o.push(r):r.type===LineType.DELETE&&n.push(r)}return(n.length||o.length)&&(t.push([[],n,o]),n=[],o=[]),t},e.prototype.applyRematchMatching=function(e,t,n){var o=e.length*t.length,i=Math.max.apply(null,[0].concat(e.concat(t).map((function(e){return e.content.length}))));return o<this.config.matchingMaxComparisons&&i<this.config.maxLineSizeInBlockForComparison&&("lines"===this.config.matching||"words"===this.config.matching)?n(e,t):[[e,t]]},e.prototype.makeHeaderHtml=function(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"})},e.prototype.processChangedLines=function(e,t,n){for(var o={right:"",left:""},i=Math.max(t.length,n.length),r=0;r<i;r++){var a=t[r],s=n[r],c=void 0!==a&&void 0!==s?diffHighlight(a.content,s.content,e,this.config):void 0,l=void 0!==a&&void 0!==a.oldNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.oldLine.prefix,content:c.oldLine.content,type:CSSLineClass.DELETE_CHANGES}:__assign$2(__assign$2({},deconstructLine(a.content,e)),{type:toCSSClass(a.type)})),{number:a.oldNumber}):void 0,u=void 0!==s&&void 0!==s.newNumber?__assign$2(__assign$2({},void 0!==c?{prefix:c.newLine.prefix,content:c.newLine.content,type:CSSLineClass.INSERT_CHANGES}:__assign$2(__assign$2({},deconstructLine(s.content,e)),{type:toCSSClass(s.type)})),{number:s.newNumber}):void 0,d=this.generateLineHtml(l,u),p=d.left,m=d.right;o.left+=p,o.right+=m}return o},e.prototype.generateLineHtml=function(e,t){return{left:this.generateSingleHtml(e),right:this.generateSingleHtml(t)}},e.prototype.generateSingleHtml=function(e){var t="d2h-code-side-linenumber",n="d2h-code-side-line";return this.hoganUtils.render(genericTemplatesPath,"line",{type:(null==e?void 0:e.type)||"".concat(CSSLineClass.CONTEXT," d2h-emptyplaceholder"),lineClass:void 0!==e?t:"".concat(t," d2h-code-side-emptyplaceholder"),contentClass:void 0!==e?n:"".concat(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})},e}(),compiler={};!function(e){!function(e){var t=/\S/,n=/\"/g,o=/\n/g,i=/\r/g,r=/\\/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,i=e.length;o<i;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 i=n.length,r=0,a=null,s=null,d="",p=[],m=!1,h=0,f=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=f;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 i,r=f;r<p.length;r++)p[r].text&&((i=p[r+1])&&">"==i.tag&&(i.indent=p[r].text.toString()),p.splice(r,1));else o||p.push({tag:"\n"});m=!1,f=p.length}function v(e,t){var n="="+_,o=e.indexOf(n,t),i=l(e.substring(e.indexOf("=",t)+1,o)).split(" ");return g=i[0],_=i[i.length-1],o+n.length-1}for(o&&(o=o.split(" "),g=o[0],_=o[1]),h=0;h<i;h++)0==r?u(g,n,h)?(--h,$(),r=1):"\n"==n.charAt(h)?b(m):d+=n.charAt(h):1==r?(h+=g.length-1,"="==(a=(s=e.tags[n.charAt(h+1)])?n.charAt(h+1):"_v")?(h=v(n,h),r=0):(s&&h++,r=2),m=h):u(_,n,h)?(p.push({tag:a,n:l(d),otag:g,ctag:_,i:"/"==a?m-g.length:h+_.length}),d="",h+=_.length-1,r=0,"{"==a&&("}}"==_?h++:c(p[p.length-1]))):d+=n.charAt(h);return b(m,!0),p};var d={_t:!0,"\n":!0,$:!0,"/":!0};function p(t,n,o,i){var r,a=[],s=null,c=null;for(r=o[o.length-1];t.length>0;){if(c=t.shift(),r&&"<"==r.tag&&!(c.tag in d))throw new Error("Illegal content in < super tag.");if(e.tags[c.tag]<=e.tags.$||m(c,i))o.push(c),c.nodes=p(t,c.tag,o,i);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&&!h(c.n,s.n,i))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 h(e,t,n){for(var o=0,i=n.length;o<i;o++)if(n[o].c==e&&n[o].o==t)return!0}function f(e){var t=[];for(var n in e.partials)t.push('"'+_(n)+'":{name:"'+_(e.partials[n].name)+'", '+f(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)+" },"+f(t)+"}"};var g=0;function _(e){return e.replace(r,"\\\\").replace(n,'\\"').replace(o,"\\n").replace(i,"\\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 i={code:"",subs:{},partials:{}};return e.walk(t,i),o.asString?this.stringify(i,n,o):this.makeTemplate(i,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 i=n.partials[b(t,n)];i.subs=o.subs,i.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,i=0,r=t.length;i<r;i++)(o=e.codegen[t[i].tag])&&o(t[i],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),i=this.cache[o];if(i){var r=i.partials;for(var a in r)delete r[a].instance;return i}return i=this.generate(this.parse(this.scan(t,n.delimiters),t,n),t,n),this.cache[o]=i}}(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(i,"&gt;").replace(r,"&#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,i,r){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=r,t)o[c]||(o[c]=t[c]);for(c in o)l.subs[c]=o[c];for(c in i=i||{},l.stackPartials=i,n)i[c]||(i[c]=n[c]);for(c in i)l.partials[c]=i[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 i=this.ep(e,n);return i?i.ri(t,n,o):""},rs:function(e,t,n){var o=e[e.length-1];if(l(o))for(var i=0;i<o.length;i++)e.push(o[i]),n(e,t,this),e.pop();else n(e,t,this)},s:function(e,t,n,o,i,r,a){var s;return(!l(e)||0!==e.length)&&("function"==typeof e&&(e=this.ms(e,t,n,o,i,r,a)),s=!!e,!o&&s&&t&&t.push("object"==typeof e?e:t[t.length-1]),s)},d:function(e,n,o,i){var r,a=e.split("."),s=this.f(a[0],n,o,i),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!==(r=t(a[d],s,c))?(u=s,s=r):s="";return!(i&&!s)&&(i||"function"!=typeof s||(n.push(u),s=this.mv(s,n,o),n.pop()),s)},f:function(e,n,o,i){for(var r=!1,a=!1,s=this.options.modelGet,c=n.length-1;c>=0;c--)if(void 0!==(r=t(e,n[c],s))){a=!0;break}return a?(i||"function"!=typeof r||(r=this.mv(r,n,o)),r):!i&&""},ls:function(e,t,n,o,i){var r=this.options.delimiters;return this.options.delimiters=i,this.b(this.ct(c(e.call(t,o)),t,n)),this.options.delimiters=r,!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,i,r,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(i,r),a)):l},mv:function(e,t,n){var o=t[t.length-1],i=e.call(o);return"function"==typeof i?this.ct(c(i.call(o)),o,n):i},sub:function(e,t,n,o){var i=this.subs[e];i&&(this.activeSub=e,i(t,n,this,o),this.activeSub=!1)}};var n=/&/g,o=/</g,i=/>/g,r=/\'/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,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("\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.b(o.t(o.f("blockHeader",e,t,0))),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("\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:{}});var __assign$1=function(){return __assign$1=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign$1.apply(this,arguments)},HoganJsUtils=function(){function e(e){var t=e.compiledTemplates,n=void 0===t?{}:t,o=e.rawTemplates,i=void 0===o?{}:o,r=Object.entries(i).reduce((function(e,t){var n,o=t[0],i=t[1],r=hogan.compile(i,{asString:!1});return __assign$1(__assign$1({},e),((n={})[o]=r,n))}),{});this.preCompiledTemplates=__assign$1(__assign$1(__assign$1({},defaultTemplates),n),r)}return e.compile=function(e){return hogan.compile(e,{asString:!1})},e.prototype.render=function(e,t,n,o,i){var r=this.templateKey(e,t);try{return this.preCompiledTemplates[r].render(n,o,i)}catch(e){throw new Error("Could not find template to render '".concat(r,"'"))}},e.prototype.template=function(e,t){return this.preCompiledTemplates[this.templateKey(e,t)]},e.prototype.templateKey=function(e,t){return"".concat(e,"-").concat(t)},e}(),__assign=function(){return __assign=Object.assign||function(e){for(var t,n=1,o=arguments.length;n<o;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign.apply(this,arguments)},defaultDiff2HtmlConfig=__assign(__assign(__assign({},defaultLineByLineRendererConfig),defaultSideBySideRendererConfig),{outputFormat:OutputFormatType.LINE_BY_LINE,drawFileList:!0});function parse(e,t){return void 0===t&&(t={}),parse$1(e,__assign(__assign({},defaultDiff2HtmlConfig),t))}function html(e,t){void 0===t&&(t={});var n=__assign(__assign({},defaultDiff2HtmlConfig),t),o="string"==typeof e?parse$1(e,n):e,i=new HoganJsUtils(n);return(n.drawFileList?render(o,i):"")+("side-by-side"===n.outputFormat?new SideBySideRenderer(i,n).render(o):new LineByLineRenderer(i,n).render(o))}function create_fragment$1Q(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$1O(e,t,n){let o,i,r,{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,i=parse(o)),32&e.$$.dirty&&n(0,r=html(i,{drawFileList:!1}))},[r,a,s,c,l,i,o]}class DiffView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1O,create_fragment$1Q,safe_not_equal,{leftText:1,rightText:2,leftTitle:3,rightTitle:4})}}function create_if_block$U(e){let t,n;return t=new InlineButton({props:{$$slots:{default:[create_default_slot$H]},$$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$H(e){let t,n,o,i,r,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"),i=text$1(e[1]),r=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,i),append(o,r),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(i,e[1]),(!u||16&n)&&set_data(a,e[4]);const r={};40&n&&(r.icon=e[5]&&!e[5][e[3]]?"icon checkbox-marked":"icon checkbox-blank"),l.$set(r)},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$1P(e){let t,n,o=e[4]>0&&create_if_block$U(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[4]>0?o?(o.p(e,n),16&n&&transition_in(o,1)):(o=create_if_block$U(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$1N(e,t,n){let o,i=noop$3,r=()=>(i(),i=subscribe(c,(e=>n(5,o=e))),c);e.$$.on_destroy.push((()=>i()));let{icon:a}=t,{label:s}=t,{values:c}=t;r();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&&r(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$1N,create_fragment$1P,safe_not_equal,{icon:0,label:1,values:2,field:3,count:4})}}function create_fragment$1O(e){let t,n;const o=[e[2],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=5&n?get_spread_update(o,[4&n&&get_spread_object(e[2]),1&n&&{options:e[0]}]):{};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 instance$1M(e,t,n){let o,i;const r=["allowChooseModel","direction"];let a,s=compute_rest_props(t,r),c=noop$3;e.$$.on_destroy.push((()=>c()));let{allowChooseModel:l=!1}=t,{direction:u}=t;return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(2,s=compute_rest_props(t,r)),"allowChooseModel"in e&&n(3,l=e.allowChooseModel),"direction"in e&&n(4,u=e.direction)},e.$$.update=()=>{56&e.$$.dirty&&n(0,i=[...l?[{label:"(DB Model)",value:"__model"}]:[],..._.sortBy((a||[]).filter((e=>!(e.unsaved||"target"==u&&e.isReadOnly))).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")])},n(1,o=useConnectionList()),c(),c=subscribe(o,(e=>n(5,a=e))),[i,o,s,l,u,a]}class FormConnectionSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1M,create_fragment$1O,safe_not_equal,{allowChooseModel:3,direction:4})}}function create_fragment$1N(e){let t,n;const o=[e[3],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};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 instance$1L(e,t,n){let o,i;const r=["conidName"];let a,s,c=compute_rest_props(t,r),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t;const{values:d}=getFormContext();return component_subscribe(e,d,(e=>n(6,s=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,c=compute_rest_props(t,r)),"conidName"in e&&n(4,u=e.conidName)},e.$$.update=()=>{80&e.$$.dirty&&(n(1,o=useDatabaseList({conid:s&&s[u]})),l(),l=subscribe(o,(e=>n(5,a=e)))),32&e.$$.dirty&&n(0,i=_.sortBy((a||[]).map((e=>({value:e.name,label:e.name}))),"label"))},[i,o,d,c,u,a,s]}class FormDatabaseSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$1L,create_fragment$1N,safe_not_equal,{conidName:4})}}function get_each_context$l(e,t,n){const o=e.slice();return o[46]=t[n],o}function create_else_block$m(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$T(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$a),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$a)),t.$set(o)},i(e){n||(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$d(e){let t,n,o,i;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,r){insert(e,t,r),mount_component(n,t,null),insert(e,o,r),i=!0},p:noop$3,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),e&&detach(o)}}}function create_each_block$l(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,i){e=n;const r={};96&i[0]&&(r.count=filterDiffRowsByFlag(e[5].filter(o),e[6],e[46]).length),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_2$l(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,$,b,v,y,x,w,C,k,S,T,E,A,N,I;o=new FormConnectionSelect({props:{name:"sourceConid",label:"Source server",templateProps:{noMargin:!0},isNative:!0,allowChooseModel:!0,notSelected:!0}});const O=[create_if_block$T,create_else_block$m],R=[];function D(e,t){return"__model"==e[6]?.sourceConid?0:1}function L(t){e[35](t)}a=D(e),s=R[a]=O[a](e),u=new InlineButton({props:{$$slots:{default:[create_default_slot_3$d]},$$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 F={placeholder:"Search tables or objects"};void 0!==e[2]&&(F.value=e[2]),v=new SearchInput({props:F}),binding_callbacks.push((()=>bind(v,"value",L))),w=new RowsFilterSwitcher({props:{icon:"img add",label:"Added",values:e[15],field:"hideAdded",count:filterDiffRowsByFlag(e[5].filter(func_1$8),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$4),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$2),e[6],"changed").length}}),A=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 M=_.keys(lib$5.DbDiffCompareDefs),P=[];for(let t=0;t<M.length;t+=1)P[t]=create_each_block$l(get_each_context$l(e,M,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),i=space(),r=element("div"),s.c(),c=space(),l=element("div"),create_component(u.$$.fragment),d=space(),p=element("div"),create_component(m.$$.fragment),h=space(),f=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),E=space(),create_component(A.$$.fragment),N=space();for(let e=0;e<P.length;e+=1)P[e].c();attr(n,"class","col-3"),attr(r,"class","col-3"),attr(l,"class","deployButton svelte-lmwisg"),attr(p,"class","col-3"),attr(f,"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,i),append(t,r),R[a].m(r,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,h),append(t,f),mount_component(g,f,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,E),mount_component(A,b,null),append(b,N);for(let e=0;e<P.length;e+=1)P[e].m(b,null);I=!0},p(e,t){let n=a;a=D(e),a===n?R[a].p(e,t):(group_outros(),transition_out(R[n],1,1,(()=>{R[n]=null})),check_outros(),s=R[a],s?s.p(e,t):(s=R[a]=O[a](e),s.c()),transition_in(s,1),s.m(r,null));const o={};262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),u.$set(o);const i={};!y&&4&t[0]&&(y=!0,i.value=e[2],add_flush_callback((()=>y=!1))),v.$set(i);const c={};96&t[0]&&(c.count=filterDiffRowsByFlag(e[5].filter(func_1$8),e[6],"added").length),w.$set(c);const l={};96&t[0]&&(l.count=filterDiffRowsByFlag(e[5].filter(func_2$4),e[6],"removed").length),k.$set(l);const d={};96&t[0]&&(d.count=filterDiffRowsByFlag(e[5].filter(func_3$2),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),A.$set(p),32864&t[0]){let n;for(M=_.keys(lib$5.DbDiffCompareDefs),n=0;n<M.length;n+=1){const o=get_each_context$l(e,M,n);P[n]?(P[n].p(o,t),transition_in(P[n],1)):(P[n]=create_each_block$l(o),P[n].c(),transition_in(P[n],1),P[n].m(b,null))}for(group_outros(),n=M.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(A.$$.fragment,e);for(let e=0;e<M.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(A.$$.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),R[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(A),destroy_each(P,e)}}}function create__1_slot_3(e){let t,n,o,i,r;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),i||(r=listen(t,"change",a),i=!0)},p(i,r){e=i,16384&r[1]&&n!==(n="equal"==e[45].state)&&(t.disabled=n),64&r[0]|16384&r[1]&&o!==(o=!!e[6][`isChecked_${e[45].identifier}`])&&(t.checked=o)},d(e){e&&detach(t),i=!1,r()}}}function create_default_slot_1$r(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$r]},$$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,i,r=e[45].typeName+"";return t=new FontIcon({props:{icon:e[45].typeIcon}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,n){const a={};16384&n[1]&&(a.icon=e[45].typeIcon),t.$set(a),(!i||16384&n[1])&&r!==(r=e[45].typeName+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__1_slot_2(e){let t,n,o,i,r,a,s;function c(t){e[38](t)}n=new FormProviderCore({props:{values:e[15],$$slots:{default:[create_default_slot_2$l]},$$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]),r=new ScrollableTableControl({props:l}),binding_callbacks.push((()=>bind(r,"selectedIndex",c))),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),attr(i,"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,i),mount_component(r,i,null),s=!0},p(e,t){const o={};8292&t[0]|262144&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};16&t[0]&&(i.rows=e[4]),64&t[0]|278528&t[1]&&(i.$$scope={dirty:t,ctx:e}),!a&&2&t[0]&&(a=!0,i.selectedIndex=e[1],add_flush_callback((()=>a=!1))),r.$set(i)},i(e){s||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r)}}}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$1(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$1],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$G(e){let t,n,o,i,r;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,i||(r=action_destroyer(contextMenu.call(null,t,e[16])),i=!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),i=!1,r()}}}function create_toolstrip_slot$6(e){let t,n,o,i,r,a,s,c;return t=new ToolStripCommandButton({props:{command:"compareModels.reportDiff"}}),o=new ToolStripCommandButton({props:{command:"compareModels.swap"}}),r=new ToolStripCommandButton({props:{command:"compareModels.deploy"}}),s=new ToolStripCommandButton({props:{command:"compareModels.refresh"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,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(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create_fragment$1M(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$6],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={};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$8=()=>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,i,r){if(!t&&!n||!r)return{sql:""};if("tables"==e)return lib$5.getAlterTableScript(t,n,o,i,i,r);const a=r.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$8().showReport(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.swap",category:"Compare models",toolbarName:"Swap",name:"Swap source & target",icon:"icon swap",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().swap(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.deploy",category:"Compare models",toolbarName:"Deploy",name:"Deploy",icon:"icon deploy",group:"save",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().deploy(),testEnabled:()=>null!=getCurrentEditor$8()}),registerCommand({id:"compareModels.refresh",category:"Compare models",toolbarName:"Refresh",name:"Refresh models",icon:"icon reload",toolbar:!0,isRelatedToTab:!0,onClick:()=>getCurrentEditor$8().refreshModels(),testEnabled:()=>null!=getCurrentEditor$8()});const func$a=e=>({label:e.name,value:`archive:${e.name}`}),func_1$8=e=>"added"==e.state,func_2$4=e=>"removed"==e.state,func_3$2=e=>"changed"==e.state,func_4=e=>"equal"==e.state;function instance$1K(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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,E,A,N,I,O=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:R}=t,D=0,L="";const F=createActivator("CompareModelTab",!0);const{editorState:M,editorValue:P,setEditorData:j}=useEditorData({tabid:R}),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,R=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,i=useDatabaseInfo({conid:null==g?void 0:g.sourceConid,database:null==g?void 0:g.sourceDatabase})),k(),k=subscribe(i,(e=>n(34,y=e)))),64&e.$$.dirty[0]&&(n(11,r=useDatabaseInfo({conid:null==g?void 0:g.targetConid,database:null==g?void 0:g.targetDatabase})),C(),C=subscribe(r,(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,L)),549453850&e.$$.dirty[0]&&n(9,m=lib$5.computeTableDiffColumns(null===n(22,T=p[D])||void 0===T?void 0:T.source,null===n(23,E=p[D])||void 0===E?void 0:E.target,o,l)),922746906&e.$$.dirty[0]&&n(8,h=getAlterObjectScript(null===n(24,A=p[D])||void 0===A?void 0:A.objectTypeField,null===n(25,N=p[D])||void 0===N?void 0:N.target,null===n(26,I=p[D])||void 0===I?void 0:I.source,o,s,l).sql),131136&e.$$.dirty[0]&&changeTab(R,(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,f=useArchiveFolders()),S(),S=subscribe(f,(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){O(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:i}=o||{};i?showModal(ErrorMessageModal,{title:"Error when saving",message:i}):(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})},D,L,l,p,d,g,f,h,m,c,r,i,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,R,F,function(){return O(this,void 0,void 0,(function*(){saveFileToDisk((e=>O(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,E,A,N,I,a,s,o,u,$,b,v,y,function(e){L=e,n(2,L)},(e,t)=>t.objectTypeField==e,(e,t)=>{set_store_value(B,g={...g,[`isChecked_${e.identifier}`]:t.target.checked},g)},function(e){D=e,n(1,D)}]}class CompareModelTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1K,create_fragment$1M,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$l(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,i){insert(e,t,i),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$S(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$1L(e){let t,n,o,i;const r=[create_if_block$S,create_else_block$l],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}const matchingProps$3=[];function instance$1J(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=!1,r=null;return onMount((()=>{o(void 0,void 0,void 0,(function*(){n(0,i=!0);const e=yield apiCall("config/changelog");n(1,r=e),n(0,i=!1)}))})),[i,r]}class ChangelogTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1J,create_fragment$1L,safe_not_equal,{})}}var ChangelogTab$1=Object.freeze({__proto__:null,default:ChangelogTab,matchingProps:matchingProps$3});function create_if_block_1$u(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$R(e){let t,n,o,i;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",i=`translate(${e[2].x} ${e[2].y})`)},m(e,o){insert(e,t,o),append(t,n)},p(e,r){8&r&&o!==(o=`rotate(${180+180*e[3]/Math.PI})`)&&attr(n,"transform",o),4&r&&i!==(i=`translate(${e[2].x} ${e[2].y})`)&&attr(t,"transform",i)},d(e){e&&detach(t)}}}function create_fragment$1K(e){let t,n,o=e[0]&&e[1]&&create_if_block_1$u(e),i=e[2]&&create_if_block$R(e);return{c(){t=svg_element("svg"),o&&o.c(),n=empty(),i&&i.c(),attr(t,"class","svelte-j16aco")},m(e,r){insert(e,t,r),o&&o.m(t,null),append(t,n),i&&i.m(t,null)},p(e,[r]){e[0]&&e[1]?o?o.p(e,r):(o=create_if_block_1$u(e),o.c(),o.m(t,n)):o&&(o.d(1),o=null),e[2]?i?i.p(e,r):(i=create_if_block$R(e),i.c(),i.m(t,null)):i&&(i.d(1),i=null)},i:noop$3,o:noop$3,d(e){e&&detach(t),o&&o.d(),i&&i.d()}}}const arwi=12,arhi=12;function instance$1I(e,t,n){let{reference:o}=t,{onRemoveReference:i}=t,{onChangeReference:r}=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:i,columns:r,joinType:a}=o,c=s[t],m=s[i];if(!c||!m)return null;const h=c.getRect(),f=m.getRect();if(!h||!f)return null;n(0,l={x:(h.left+h.right)/2,y:(h.top+h.bottom)/2}),n(1,u={x:(f.left+f.right)/2,y:(f.top+f.bottom)/2}),n(2,d=intersectLineBox(l,u,f)[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,i=e.onRemoveReference),"onChangeReference"in e&&n(6,r=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,i,r,a,s,c,m]}class DiagramDesignerReference extends SvelteComponent{constructor(e){super(),init(this,e,instance$1I,create_fragment$1K,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$1J(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=1&n?get_spread_update(o,[1&n&&get_spread_object(e[0]),o[1],0&n&&{referenceComponent:DiagramDesignerReference}]):{};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 instance$1H(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$1H,create_fragment$1J,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$F(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$5(e){let t,n,o,i,r,a,s,c,l,u;return t=new ToolStripCommandButton({props:{command:"designer.arrange"}}),o=new ToolStripSaveButton({props:{idPrefix:"diagram"}}),r=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),i=space(),create_component(r.$$.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,i,d),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_fragment$1I(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$5],default:[create_default_slot$F]},$$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$7=()=>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$1G(e,t,n){let o,i,{tabid:r}=t,{conid:a}=t,{database:s}=t,{initialArgs:c}=t;const l=createActivator("DiagramTab",!0);const{editorState:u,editorValue:d,setEditorData:p}=useEditorData({tabid:r,onInitialData:e=>{h({type:"reset",value:e}),invalidateCommands()}});component_subscribe(e,u,(e=>n(15,i=e)));const[m,h]=createUndoReducer({tables:[],references:[]});return component_subscribe(e,m,(e=>n(2,o=e))),e.$$set=e=>{"tabid"in e&&n(6,r=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)=>{h({type:"compute",useMerge:t,compute:t=>_.isFunction(e)?e(t):e}),invalidateCommands()},u,m,r,c,l,function(){return r},function(){return i.value||""},function(){return o.canUndo},function(){h({type:"undo"}),invalidateCommands()},function(){return o.canRedo},function(){h({type:"redo"}),invalidateCommands()}]}registerFileCommands({idPrefix:"diagram",category:"Diagram",getCurrentEditor:getCurrentEditor$7,folder:"diagrams",format:"json",fileExtension:"diagram",undoRedo:!0});class DiagramTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1G,create_fragment$1I,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$1H(e){let t,n,o;function i(t){e[8](t)}let r={columns:[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$9)],rows:e[1],onLoadNext:e[3]?null:e[4],selectable:!0,singleLineRow:!0};return void 0!==e[2]&&(r.selectedIndex=e[2]),t=new ScrollableTableControl({props:r}),binding_callbacks.push((()=>bind(t,"selectedIndex",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,[o]){const i={};1&o&&(i.columns=[{fieldName:"rowNumber",header:"num",width:"60px"},...e[0].keyType.dbKeyFields.map(func$9)]),2&o&&(i.rows=e[1]),8&o&&(i.onLoadNext=e[3]?null:e[4]),!n&&4&o&&(n=!0,i.selectedIndex=e[2],add_flush_callback((()=>n=!1))),t.$set(i)},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$9=e=>({fieldName:e.name,header:e.name});function instance$1F(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=t,{database:a}=t,{keyInfo:s}=t,{onChangeSelected:c}=t,l=[],u=0,d=!1,p=!1,m=!1;const h=createRef(null);function f(){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:r,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(),f())}}))}return onMount((()=>{f()})),e.$$set=e=>{"conid"in e&&n(5,r=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[i]&&h.get()!=i&&(h.set(i),c(l[i])),e.$$.dirty},[s,l,i,m,f,r,a,c,function(e){i=e,n(2,i)}]}class DbKeyTableControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1F,create_fragment$1H,safe_not_equal,{conid:5,database:6,keyInfo:0,onChangeSelected:7})}}function create_if_block_1$t(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$Q(e){let t,n,o,i;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,r){insert(e,t,r),append(t,n),mount_component(o,n,null),i=!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){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_fragment$1G(e){let t,n,o,i,r,a,s,c,l,u=_.startCase(e[0].name)+"";r=new SelectField({props:{isNative:!0,value:e[3],options:[{label:"Text",value:"text"},{label:"JSON view",value:"json"}]}}),r.$on("change",e[4]);let d="text"==e[3]&&create_if_block_1$t(e),p="json"==e[3]&&create_if_block$Q(e);return{c(){t=element("div"),n=element("div"),o=text$1(u),i=space(),create_component(r.$$.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,i),mount_component(r,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]),r.$set(n),"text"==e[3]?d?(d.p(e,t),8&t&&transition_in(d,1)):(d=create_if_block_1$t(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$Q(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(r.$$.fragment,e),transition_in(d),transition_in(p),l=!0)},o(e){transition_out(r.$$.fragment,e),transition_out(d),transition_out(p),l=!1},d(e){e&&detach(t),destroy_component(r),e&&detach(a),e&&detach(s),d&&d.d(),p&&p.d()}}}function instance$1E(e,t,n){let o="text",{column:i}=t,{item:r}=t,{onChangeItem:a=null}=t;return e.$$set=e=>{"column"in e&&n(0,i=e.column),"item"in e&&n(1,r=e.item),"onChangeItem"in e&&n(2,a=e.onChangeItem)},[i,r,a,o,e=>{n(3,o=e.detail)},e=>{a&&a({...r,[i.name]:e.detail})}]}class DbKeyValueDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1E,create_fragment$1G,safe_not_equal,{column:0,item:1,onChangeItem:2})}}function get_each_context$k(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_each_block$k(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$1F(e){let t,n,o=e[0],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$k(get_each_context$k(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("div");for(let e=0;e<i.length;e+=1)i[e].c();attr(t,"class","props svelte-1hio2dm")},m(e,o){insert(e,t,o);for(let e=0;e<i.length;e+=1)i[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 r=get_each_context$k(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$k(r),i[a].c(),transition_in(i[a],1),i[a].m(t,null))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function instance$1D(e,t,n){let{dbKeyFields:o}=t,{item:i}=t,{onChangeItem:r=null}=t;return e.$$set=e=>{"dbKeyFields"in e&&n(0,o=e.dbKeyFields),"item"in e&&n(1,i=e.item),"onChangeItem"in e&&n(2,r=e.onChangeItem)},[o,i,r]}class DbKeyItemDetail extends SvelteComponent{constructor(e){super(),init(this,e,instance$1D,create_fragment$1F,safe_not_equal,{dbKeyFields:0,item:1,onChangeItem:2})}}function create_default_slot_1$q(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,i){insert(e,t,i),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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$E(e){let t,n;const o=[e[3]];let i={$$slots:{footer:[create_footer_slot$3],header:[create_header_slot$4],default:[create_default_slot_1$q]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=8&n?get_spread_update(o,[get_spread_object(e[3])]):{};515&n&&(i.$$scope={dirty:n,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$1E(e){let t,n;return t=new FormProvider({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={};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$1C(e,t,n){const o=["keyInfo","label","onConfirm"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=()=>r(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,i=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,i,s,c,e=>u(),e=>{n(1,l=e)}]}class DbKeyAddItemModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1C,create_fragment$1E,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,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[19].type+"";i=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$g(e),w=e[19].keyType?.addMethod&&e[19].keyType?.showItemList&&create_if_block_1$s(e);f=new FormStyledButton({props:{value:"Refresh"}}),f.$on("click",e[7]);const C=[create_if_block$P,create_else_block$k],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(i.$$.fragment),r=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(),h=space(),create_component(f.$$.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(i,o,null),append(o,r),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,h),mount_component(f,n,null),append(t,g),append(t,_),k[$].m(_,null),v=!0},p(t,o){e=t;const r={};23&o&&(r.icon=lib$5.getIconForRedisType(e[19].type)),i.$set(r),(!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$g(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$s(e),w.c(),transition_in(w,1),w.m(n,h)):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(i.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(d.$$.fragment,e),transition_in(x),transition_in(w),transition_in(f.$$.fragment,e),transition_in(b),v=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(d.$$.fragment,e),transition_out(x),transition_out(w),transition_out(f.$$.fragment,e),transition_out(b),v=!1},d(e){e&&detach(t),destroy_component(i),destroy_component(l),destroy_component(d),x&&x.d(),w&&w.d(),destroy_component(f),k[$].d()}}}function create_if_block_2$g(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$s(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$k(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$P(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$1D(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,[o]){e=t,i.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,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=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$1B(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(13,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=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 h(e){showModal(InputTextModal,{value:e.ttl,label:"New TTL value (-1=key never expires)",header:`Set TTL for key ${e.key}`,onConfirm:t=>i(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]}),f())}))})}function f(){n(5,m=null),n(4,p+=1)}function g(e){return i(this,void 0,void 0,(function*(){showModal(DbKeyAddItemModal,{keyInfo:e,onConfirm:t=>i(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):(f(),!0)}))})}))}return e.$$set=e=>{"tabid"in e&&n(10,r=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(r,(e=>Object.assign(Object.assign({},e),{title:getKeyText(c)})))},[c,a,s,d,p,m,h,f,function(){return i(this,void 0,void 0,(function*(){yield apiCall("database-connections/call-method",{conid:a,database:s,method:"set",args:[c,m]}),f()}))},g,r,l,u,o,e=>h(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$1B,create_fragment$1D,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$j(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$O(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$D(e){let t,n,o,i;const r=[create_if_block$O,create_else_block$j],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$4(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"dataGrid.refresh"}}),o=new ToolStripCommandButton({props:{command:"queryData.stopLoading"}}),r=new ToolStripExportButton({props:{command:"jslTableGrid.export",quickExportHandlerRef:e[3]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1C(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$4],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={};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$6=()=>getActiveComponent("QueryDataTab");function instance$1A(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,h=!1;function f(e,t,o){return a(this,void 0,void 0,(function*(){const i=yield apiCall("sessions/execute-reader",{conid:e,database:t,sql:o,appFolder:d,queryName:u});n(0,c=i.jslid),h=!0}))}const g=createQuickExportHandlerRef();function _(){h=!1,invalidateCommands()}return onDestroy((()=>{c&&h&&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&&f(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}))),r(),r=subscribe(o,(e=>n(12,i=e)))),e.$$.dirty},[c,o,function(){n(0,c=null),f(p,m,l)},g,s,l,u,d,p,m,function(){return h},function(){c&&(apiCall("sessions/stop-loading-reader",{jslid:c}),h=!1,invalidateCommands())},i]}registerCommand({id:"queryData.stopLoading",category:"Query data",name:"Stop loading",icon:"icon stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$6())||void 0===e?void 0:e.isLoading()},onClick:()=>getCurrentEditor$6().stopLoading()});class QueryDataTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1A,create_fragment$1C,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$C(e){let t;return{c(){t=text$1("Browse")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_fragment$1B(e){let t,n,o,i,r;const a=[e[5],{value:e[2][e[0]]},{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[4]),i=new InlineButton({props:{disabled:e[1],$$slots:{default:[create_default_slot$C]},$$scope:{ctx:e}}}),i.$on("click",e[4]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),attr(t,"class","flex")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(i,t,null),r=!0},p(e,[t]){const o=39&t?get_spread_update(a,[32&t&&get_spread_object(e[5]),5&t&&{value:e[2][e[0]]},a[2],2&t&&{disabled:e[1]}]):{};n.$set(o);const r={};2&t&&(r.disabled=e[1]),256&t&&(r.$$scope={dirty:t,ctx:e}),i.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}function instance$1z(e,t,n){const o=["name","disabled"];let i,r=compute_rest_props(t,o);var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;const{values:l,setFieldValue:u}=getFormContext();return component_subscribe(e,l,(e=>n(2,i=e))),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(5,r=compute_rest_props(t,o)),"name"in e&&n(0,s=e.name),"disabled"in e&&n(1,c=e.disabled)},[s,c,i,l,function(){return a(this,void 0,void 0,(function*(){const e=getElectron();if(!e)return;const t=yield e.showOpenDialog({defaultPath:l[s],properties:["showHiddenFiles","openFile"],filters:[{name:"All Files",extensions:["*"]}]}),n=t&&t[0];n&&u(s,n)}))},r]}class FormElectronFileSelectorRaw extends SvelteComponent{constructor(e){super(),init(this,e,instance$1z,create_fragment$1B,safe_not_equal,{name:0,disabled:1})}}function create_default_slot$B(e){let t,n;const o=[{name:e[1]},e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormElectronFileSelectorRaw({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=18&n?get_spread_update(o,[2&n&&{name:e[1]},16&n&&get_spread_object(e[4])]):{};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$1A(e){let t,n,o;const i=[{type:"select"},{label:e[0]},e[2]];var r=e[3];function a(e){let t={$$slots:{default:[create_default_slot$B]},$$scope:{ctx:e}};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(t=new r(a(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,[o]){const s=5&o?get_spread_update(i,[i[0],1&o&&{label:e[0]},4&o&&get_spread_object(e[2])]):{};if(50&o&&(s.$$scope={dirty:o,ctx:e}),r!==(r=e[3])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(a(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&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$1y(e,t,n){const o=["label","name","templateProps"];let i=compute_rest_props(t,o),{label:r}=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,i=compute_rest_props(t,o)),"label"in e&&n(0,r=e.label),"name"in e&&n(1,a=e.name),"templateProps"in e&&n(2,s=e.templateProps)},[r,a,s,c,i]}class FormElectronFileSelector extends SvelteComponent{constructor(e){super(),init(this,e,instance$1y,create_fragment$1A,safe_not_equal,{label:0,name:1,templateProps:2})}}function get_each_context$j(e,t,n){const o=e.slice();return o[11]=t[n],o}function create_each_block$j(e){let t,n,o,i,r,a,s,c,l,u,d,p=e[11].label+"";return{c(){t=element("div"),n=element("input"),r=space(),a=element("label"),s=text$1(p),l=space(),attr(n,"type","radio"),n.__value=o=e[11].value,n.value=n.__value,attr(n,"id",i=e[11].id),e[6][0].push(n),attr(a,"for",c=e[11].id)},m(o,i){insert(o,t,i),append(t,n),n.checked=n.__value===e[0],append(t,r),append(t,a),append(a,s),append(t,l),u||(d=listen(n,"change",e[5]),u=!0)},p(e,t){2&t&&o!==(o=e[11].value)&&(n.__value=o,n.value=n.__value),2&t&&i!==(i=e[11].id)&&attr(n,"id",i),1&t&&(n.checked=n.__value===e[0]),2&t&&p!==(p=e[11].label+"")&&set_data(s,p),2&t&&c!==(c=e[11].id)&&attr(a,"for",c)},d(o){o&&detach(t),e[6][0].splice(e[6][0].indexOf(n),1),u=!1,d()}}}function create_fragment$1z(e){let t,n=e[1],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$j(get_each_context$j(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].m(e,n);insert(e,t,n)},p(e,[i]){if(3&i){let r;for(n=e[1],r=0;r<n.length;r+=1){const a=get_each_context$j(e,n,r);o[r]?o[r].p(a,i):(o[r]=create_each_block$j(a),o[r].c(),o[r].m(t.parentNode,t))}for(;r<o.length;r+=1)o[r].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){destroy_each(o,e),e&&detach(t)}}}function instance$1x(e,t,n){let o,i;var r,a;let{options:s=[]}=t,{name:c}=t;const{values:l,setFieldValue:u}=getFormContext();component_subscribe(e,l,(e=>n(9,i=e)));let d=null!==(r=i[c])&&void 0!==r?r:null===(a=s.find((e=>e.default)))||void 0===a?void 0:a.value;return e.$$set=e=>{"options"in e&&n(3,s=e.options),"name"in e&&n(4,c=e.name)},e.$$.update=()=>{17&e.$$.dirty&&u(c,d),8&e.$$.dirty&&n(1,o=s.map((e=>Object.assign(Object.assign({},e),{id:v1_1$6()}))))},[d,o,l,s,c,function(){d=this.__value,n(0,d)},[[]]]}class FormRadioGroupField extends SvelteComponent{constructor(e){super(),init(this,e,instance$1x,create_fragment$1z,safe_not_equal,{options:3,name:4})}}function create_if_block_20(e){let t,n;return t=new FormElectronFileSelector({props:{label:"Database file",name:"databaseFile",disabled:e[4]||!e[12]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.disabled=e[4]||!e[12]),t.$set(o)},i(e){n||(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;return n=new FormRadioGroupField({props:{disabled:e[4],name:"useDatabaseUrl",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,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};16&t&&(o.disabled=e[4]),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_18(e){let t,n;return t=new FormTextField({props:{label:"Database URL",name:"databaseUrl",placeholder:e[0]?.databaseUrlPlaceholder,disabled:e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.placeholder=e[0]?.databaseUrlPlaceholder),16&n&&(o.disabled=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_17(e){let t,n;return t=new FormSelectField({props:{label:e[0]?.authTypeLabel??"Authentication",name:"authType",isNative:!0,disabled:e[4],defaultValue:e[0]?.defaultAuthTypeName,options:e[3].map(func_2$3)}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};1&n&&(o.label=e[0]?.authTypeLabel??"Authentication"),16&n&&(o.disabled=e[4]),1&n&&(o.defaultValue=e[0]?.defaultAuthTypeName),8&n&&(o.options=e[3].map(func_2$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_14$1(e){let t,n,o,i,r,a,s,c=e[0]?.showConnectionField("port",e[1]),l=getCurrentConfig().isDocker;o=new FormTextField({props:{label:"Server",name:"server",disabled:e[4]||e[9].includes("server"),templateProps:{noMargin:!0}}});let u=c&&create_if_block_16$1(e),d=l&&create_if_block_15$1();return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),u&&u.c(),r=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,i),u&&u.m(t,null),insert(e,r,c),d&&d.m(e,c),insert(e,a,c),s=!0},p(e,n){const i={};528&n&&(i.disabled=e[4]||e[9].includes("server")),o.$set(i),3&n&&(c=e[0]?.showConnectionField("port",e[1])),c?u?(u.p(e,n),3&n&&transition_in(u,1)):(u=create_if_block_16$1(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(r),d&&d.d(e),e&&detach(a)}}}function create_if_block_16$1(e){let t,n,o;return n=new FormTextField({props:{label:"Port",name:"port",disabled:e[4]||e[9].includes("port"),templateProps:{noMargin:!0},placeholder:e[0]?.defaultPort}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-3 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].includes("port")),1&t&&(o.placeholder=e[0]?.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_15$1(e){let t,n,o,i;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,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_13$2(e){let t,n;return t=new FormTextField({props:{label:"Socket path",name:"socketPath",disabled:e[4]||e[9].includes("socketPath"),placeholder:e[0]?.defaultSocketPath}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].includes("socketPath")),1&n&&(o.placeholder=e[0]?.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_10$2(e){let t,n,o,i=e[7]&&create_if_block_12$2(e),r=e[6]&&create_if_block_11$2(e);return{c(){t=element("div"),i&&i.c(),n=space(),r&&r.c(),attr(t,"class","row svelte-1toqt3y")},m(e,a){insert(e,t,a),i&&i.m(t,null),append(t,n),r&&r.m(t,null),o=!0},p(e,o){e[7]?i?(i.p(e,o),128&o&&transition_in(i,1)):(i=create_if_block_12$2(e),i.c(),transition_in(i,1),i.m(t,n)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros()),e[6]?r?(r.p(e,o),64&o&&transition_in(r,1)):(r=create_if_block_11$2(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(i),transition_in(r),o=!0)},o(e){transition_out(i),transition_out(r),o=!1},d(e){e&&detach(t),i&&i.d(),r&&r.d()}}}function create_if_block_12$2(e){let t,n,o;return n=new FormTextField({props:{label:"User",name:"user",disabled:e[4]||e[9].includes("user"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].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_11$2(e){let t,n,o;return n=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[4]||e[9].includes("password"),templateProps:{noMargin:!0}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","col-6 mr-1")},m(e,i){insert(e,t,i),mount_component(n,t,null),o=!0},p(e,t){const o={};528&t&&(o.disabled=e[4]||e[9].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_9$2(e){let t,n;return t=new FormTextField({props:{label:"User",name:"user",disabled:e[4]||e[9].includes("user")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].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_8$2(e){let t,n;return t=new FormPasswordField({props:{label:"Password",name:"password",disabled:e[4]||e[9].includes("password")}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};528&n&&(o.disabled=e[4]||e[9].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_7$2(e){let t,n;return t=new FormSelectField({props:{label:"Password mode",isNative:!0,name:"passwordMode",defaultValue:"saveEncrypted",disabled:e[4],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={};16&n&&(o.disabled=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_6$4(e){let t,n;return t=new FormTextField({props:{label:"Key separator",name:"treeKeySeparator",disabled:e[4],placeholder:":"}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16&n&&(o.disabled=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_5$6(e){let t,n;return t=new FormTextField({props:{label:"Domain (specify to use NTLM authentication)",name:"windowsDomain",disabled: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.disabled=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_4$9(e){let t,n;return t=new FormCheckboxField({props:{label:"Is read only",name:"isReadOnly",disabled: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.disabled=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$a(e){let t,n;return t=new FormCheckboxField({props:{label:"Trust server certificate",name:"trustServerCertificate",disabled: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.disabled=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_2$f(e){let t,n;return t=new FormTextField({props:{label:"Default database",name:"defaultDatabase",disabled: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.disabled=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_1$r(e){let t,n;return t=new FormCheckboxField({props:{label:`Use only database ${e[8]}`,name:"singleDatabase",disabled:e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};256&n&&(o.label=`Use only database ${e[8]}`),16&n&&(o.disabled=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$N(e){let t,n,o,i,r,a,s;return o=new FormTextField({props:{label:"Display name",name:"displayName",templateProps:{noMargin:!0},disabled:e[4]}}),a=new FormColorField({props:{useSelector:!0,label:"Color",name:"connectionColor",emptyLabel:"(not selected)",templateProps:{noMargin:!0},disabled:e[4]}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};16&t&&(n.disabled=e[4]),o.$set(n);const i={};16&t&&(i.disabled=e[4]),a.$set(i)},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$1y(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y=e[0]?.showConnectionField("databaseFile",e[1]),x=e[0]?.showConnectionField("useDatabaseUrl",e[1]),w=e[0]?.showConnectionField("databaseUrl",e[1]),C=e[3]&&e[0]?.showConnectionField("authType",e[1]),k=e[0]?.showConnectionField("server",e[1]),S=e[0]?.showConnectionField("socketPath",e[1]),T=!e[9].includes("password")&&e[5],E=e[0]?.showConnectionField("treeKeySeparator",e[1]),A=e[0]?.showConnectionField("windowsDomain",e[1]),N=e[0]?.showConnectionField("isReadOnly",e[1]),I=e[0]?.showConnectionField("trustServerCertificate",e[1]),O=e[0]?.showConnectionField("defaultDatabase",e[1]),R=e[8]&&e[0]?.showConnectionField("singleDatabase",e[1]);t=new FormSelectField({props:{label:"Connection type",name:"engine",isNative:!0,disabled:e[4],options:[{label:"(select connection type)",value:""},...e[2].drivers.filter(e[18]).map(func_1$7)]}});let D=y&&create_if_block_20(e),L=x&&create_if_block_19(e),F=w&&create_if_block_18(e),M=C&&create_if_block_17(e),P=k&&create_if_block_14$1(e),j=S&&create_if_block_13$2(e),B=e[7]&&e[6]&&create_if_block_10$2(e),q=e[7]&&!e[6]&&create_if_block_9$2(e),z=!e[7]&&e[6]&&create_if_block_8$2(e),U=T&&create_if_block_7$2(e),W=E&&create_if_block_6$4(e),V=A&&create_if_block_5$6(e),H=N&&create_if_block_4$9(e),G=I&&create_if_block_3$a(e),K=O&&create_if_block_2$f(e),Y=R&&create_if_block_1$r(e),J=e[0]&&create_if_block$N(e);return{c(){create_component(t.$$.fragment),n=space(),D&&D.c(),o=space(),L&&L.c(),i=space(),F&&F.c(),r=space(),M&&M.c(),a=space(),P&&P.c(),s=space(),j&&j.c(),c=space(),B&&B.c(),l=space(),q&&q.c(),u=space(),z&&z.c(),d=space(),U&&U.c(),p=space(),W&&W.c(),m=space(),V&&V.c(),h=space(),H&&H.c(),f=space(),G&&G.c(),g=space(),K&&K.c(),_=space(),Y&&Y.c(),$=space(),J&&J.c(),b=empty()},m(e,y){mount_component(t,e,y),insert(e,n,y),D&&D.m(e,y),insert(e,o,y),L&&L.m(e,y),insert(e,i,y),F&&F.m(e,y),insert(e,r,y),M&&M.m(e,y),insert(e,a,y),P&&P.m(e,y),insert(e,s,y),j&&j.m(e,y),insert(e,c,y),B&&B.m(e,y),insert(e,l,y),q&&q.m(e,y),insert(e,u,y),z&&z.m(e,y),insert(e,d,y),U&&U.m(e,y),insert(e,p,y),W&&W.m(e,y),insert(e,m,y),V&&V.m(e,y),insert(e,h,y),H&&H.m(e,y),insert(e,f,y),G&&G.m(e,y),insert(e,g,y),K&&K.m(e,y),insert(e,_,y),Y&&Y.m(e,y),insert(e,$,y),J&&J.m(e,y),insert(e,b,y),v=!0},p(e,[n]){const v={};16&n&&(v.disabled=e[4]),4&n&&(v.options=[{label:"(select connection type)",value:""},...e[2].drivers.filter(e[18]).map(func_1$7)]),t.$set(v),3&n&&(y=e[0]?.showConnectionField("databaseFile",e[1])),y?D?(D.p(e,n),3&n&&transition_in(D,1)):(D=create_if_block_20(e),D.c(),transition_in(D,1),D.m(o.parentNode,o)):D&&(group_outros(),transition_out(D,1,1,(()=>{D=null})),check_outros()),3&n&&(x=e[0]?.showConnectionField("useDatabaseUrl",e[1])),x?L?(L.p(e,n),3&n&&transition_in(L,1)):(L=create_if_block_19(e),L.c(),transition_in(L,1),L.m(i.parentNode,i)):L&&(group_outros(),transition_out(L,1,1,(()=>{L=null})),check_outros()),3&n&&(w=e[0]?.showConnectionField("databaseUrl",e[1])),w?F?(F.p(e,n),3&n&&transition_in(F,1)):(F=create_if_block_18(e),F.c(),transition_in(F,1),F.m(r.parentNode,r)):F&&(group_outros(),transition_out(F,1,1,(()=>{F=null})),check_outros()),11&n&&(C=e[3]&&e[0]?.showConnectionField("authType",e[1])),C?M?(M.p(e,n),11&n&&transition_in(M,1)):(M=create_if_block_17(e),M.c(),transition_in(M,1),M.m(a.parentNode,a)):M&&(group_outros(),transition_out(M,1,1,(()=>{M=null})),check_outros()),3&n&&(k=e[0]?.showConnectionField("server",e[1])),k?P?(P.p(e,n),3&n&&transition_in(P,1)):(P=create_if_block_14$1(e),P.c(),transition_in(P,1),P.m(s.parentNode,s)):P&&(group_outros(),transition_out(P,1,1,(()=>{P=null})),check_outros()),3&n&&(S=e[0]?.showConnectionField("socketPath",e[1])),S?j?(j.p(e,n),3&n&&transition_in(j,1)):(j=create_if_block_13$2(e),j.c(),transition_in(j,1),j.m(c.parentNode,c)):j&&(group_outros(),transition_out(j,1,1,(()=>{j=null})),check_outros()),e[7]&&e[6]?B?(B.p(e,n),192&n&&transition_in(B,1)):(B=create_if_block_10$2(e),B.c(),transition_in(B,1),B.m(l.parentNode,l)):B&&(group_outros(),transition_out(B,1,1,(()=>{B=null})),check_outros()),e[7]&&!e[6]?q?(q.p(e,n),192&n&&transition_in(q,1)):(q=create_if_block_9$2(e),q.c(),transition_in(q,1),q.m(u.parentNode,u)):q&&(group_outros(),transition_out(q,1,1,(()=>{q=null})),check_outros()),!e[7]&&e[6]?z?(z.p(e,n),192&n&&transition_in(z,1)):(z=create_if_block_8$2(e),z.c(),transition_in(z,1),z.m(d.parentNode,d)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),544&n&&(T=!e[9].includes("password")&&e[5]),T?U?(U.p(e,n),544&n&&transition_in(U,1)):(U=create_if_block_7$2(e),U.c(),transition_in(U,1),U.m(p.parentNode,p)):U&&(group_outros(),transition_out(U,1,1,(()=>{U=null})),check_outros()),3&n&&(E=e[0]?.showConnectionField("treeKeySeparator",e[1])),E?W?(W.p(e,n),3&n&&transition_in(W,1)):(W=create_if_block_6$4(e),W.c(),transition_in(W,1),W.m(m.parentNode,m)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),3&n&&(A=e[0]?.showConnectionField("windowsDomain",e[1])),A?V?(V.p(e,n),3&n&&transition_in(V,1)):(V=create_if_block_5$6(e),V.c(),transition_in(V,1),V.m(h.parentNode,h)):V&&(group_outros(),transition_out(V,1,1,(()=>{V=null})),check_outros()),3&n&&(N=e[0]?.showConnectionField("isReadOnly",e[1])),N?H?(H.p(e,n),3&n&&transition_in(H,1)):(H=create_if_block_4$9(e),H.c(),transition_in(H,1),H.m(f.parentNode,f)):H&&(group_outros(),transition_out(H,1,1,(()=>{H=null})),check_outros()),3&n&&(I=e[0]?.showConnectionField("trustServerCertificate",e[1])),I?G?(G.p(e,n),3&n&&transition_in(G,1)):(G=create_if_block_3$a(e),G.c(),transition_in(G,1),G.m(g.parentNode,g)):G&&(group_outros(),transition_out(G,1,1,(()=>{G=null})),check_outros()),3&n&&(O=e[0]?.showConnectionField("defaultDatabase",e[1])),O?K?(K.p(e,n),3&n&&transition_in(K,1)):(K=create_if_block_2$f(e),K.c(),transition_in(K,1),K.m(_.parentNode,_)):K&&(group_outros(),transition_out(K,1,1,(()=>{K=null})),check_outros()),259&n&&(R=e[8]&&e[0]?.showConnectionField("singleDatabase",e[1])),R?Y?(Y.p(e,n),259&n&&transition_in(Y,1)):(Y=create_if_block_1$r(e),Y.c(),transition_in(Y,1),Y.m($.parentNode,$)):Y&&(group_outros(),transition_out(Y,1,1,(()=>{Y=null})),check_outros()),e[0]?J?(J.p(e,n),1&n&&transition_in(J,1)):(J=create_if_block$N(e),J.c(),transition_in(J,1),J.m(b.parentNode,b)):J&&(group_outros(),transition_out(J,1,1,(()=>{J=null})),check_outros())},i(e){v||(transition_in(t.$$.fragment,e),transition_in(D),transition_in(L),transition_in(F),transition_in(M),transition_in(P),transition_in(j),transition_in(B),transition_in(q),transition_in(z),transition_in(U),transition_in(W),transition_in(V),transition_in(H),transition_in(G),transition_in(K),transition_in(Y),transition_in(J),v=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(D),transition_out(L),transition_out(F),transition_out(M),transition_out(P),transition_out(j),transition_out(B),transition_out(q),transition_out(z),transition_out(U),transition_out(W),transition_out(V),transition_out(H),transition_out(G),transition_out(K),transition_out(Y),transition_out(J),v=!1},d(e){destroy_component(t,e),e&&detach(n),D&&D.d(e),e&&detach(o),L&&L.d(e),e&&detach(i),F&&F.d(e),e&&detach(r),M&&M.d(e),e&&detach(a),P&&P.d(e),e&&detach(s),j&&j.d(e),e&&detach(c),B&&B.d(e),e&&detach(l),q&&q.d(e),e&&detach(u),z&&z.d(e),e&&detach(d),U&&U.d(e),e&&detach(p),W&&W.d(e),e&&detach(m),V&&V.d(e),e&&detach(h),H&&H.d(e),e&&detach(f),G&&G.d(e),e&&detach(g),K&&K.d(e),e&&detach(_),Y&&Y.d(e),e&&detach($),J&&J.d(e),e&&detach(b)}}}const func_1$7=e=>({value:e.engine,label:e.title}),func_2$3=e=>({value:e.name,label:e.title});function instance$1w(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b=noop$3;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(16,f=e))),component_subscribe(e,openedConnections,(e=>n(17,g=e))),component_subscribe(e,extensions,(e=>n(2,_=e))),e.$$.on_destroy.push((()=>b()));const{values:v}=getFormContext();component_subscribe(e,v,(e=>n(1,h=e)));const y=getElectron();return e.$$.update=()=>{2&e.$$.dirty&&n(15,o=h.authType),2&e.$$.dirty&&n(13,i=h.engine),2&e.$$.dirty&&h.useDatabaseUrl,8192&e.$$.dirty&&(n(10,r=useAuthTypes({engine:i})),b(),b=subscribe(r,(e=>n(3,$=e)))),32776&e.$$.dirty&&n(14,a=$&&$.find((e=>e.name==o))),16384&e.$$.dirty&&n(9,s=(a?a.disabledFields:null)||[]),8196&e.$$.dirty&&n(0,c=_.drivers.find((e=>e.engine==i))),2&e.$$.dirty&&n(8,l=h.defaultDatabase),3&e.$$.dirty&&n(7,u=(null==c?void 0:c.showConnectionField("user",h))&&"askUser"!=h.passwordMode),3&e.$$.dirty&&n(6,d=(null==c?void 0:c.showConnectionField("password",h))&&"askPassword"!=h.passwordMode&&"askUser"!=h.passwordMode),3&e.$$.dirty&&n(5,p=null==c?void 0:c.showConnectionField("password",h)),196610&e.$$.dirty&&n(4,m=g.includes(h._id)||f.includes(h._id))},[c,h,_,$,m,p,d,u,l,s,r,v,y,i,a,o,f,g,e=>!e.isElectronOnly||y]}class ConnectionDriverFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1w,create_fragment$1y,safe_not_equal,{})}}function create_if_block_4$8(e){let t,n;return t=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[2]||!e[4]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};20&n&&(o.disabled=e[2]||!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$9(e){let t,n,o,i,r,a,s;return o=new FormTextField({props:{label:"Login",name:"sshLogin",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Password",name:"sshPassword",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};20&t&&(n.disabled=e[2]||!e[4]),o.$set(n);const i={};20&t&&(i.disabled=e[2]||!e[4]),a.$set(i)},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$e(e){let t,n,o,i,r,a,s;return o=new FormElectronFileSelector({props:{label:"Private key file",name:"sshKeyfile",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),a=new FormPasswordField({props:{label:"Key file passphrase",name:"sshKeyfilePassword",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(n,"class","col-6 mr-1"),attr(r,"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,i),append(t,r),mount_component(a,r,null),s=!0},p(e,t){const n={};20&t&&(n.disabled=e[2]||!e[4]),o.$set(n);const i={};20&t&&(i.disabled=e[2]||!e[4]),a.$set(i)},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$M(e){let t,n,o,i;const r=[create_if_block_1$q,create_else_block$i],a=[];function s(e,t){return e[1]&&e[1].sshAuthSock?0:1}return n=s(e),o=a[n]=r[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),i=!0},p(e,i){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]=r[n](e),o.c()),transition_in(o,1),o.m(t,null))},i(e){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){e&&detach(t),a[n].d()}}}function create_else_block$i(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,i){mount_component(t,e,i),insert(e,n,i),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$q(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,i){mount_component(t,e,i),insert(e,n,i),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$1x(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$;t=new FormCheckboxField({props:{label:"Use SSH tunnel",name:"useSshTunnel",disabled:e[2]}}),r=new FormTextField({props:{label:"Host",name:"sshHost",disabled:e[2]||!e[4],templateProps:{noMargin:!0}}}),c=new FormTextField({props:{label:"Port",name:"sshPort",disabled:e[2]||!e[4],templateProps:{noMargin:!0},placeholder:"22"}}),u=new FormTextField({props:{label:"Bastion host (Jump host)",name:"sshBastionHost",disabled:e[2]||!e[4]}}),p=new FormSelectField({props:{label:"SSH Authentication",name:"sshMode",isNative:!0,disabled:e[2]||!e[4],options:[{value:"userPassword",label:"Username & password"},{value:"agent",label:"SSH agent"},e[6]&&{value:"keyFile",label:"Key file"}]}});let b="userPassword"!=e[0].sshMode&&create_if_block_4$8(e),v="userPassword"==e[0].sshMode&&create_if_block_3$9(e),y="keyFile"==e[0].sshMode&&create_if_block_2$e(e),x=e[4]&&"agent"==e[0].sshMode&&create_if_block$M(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),i=element("div"),create_component(r.$$.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(),h=space(),v&&v.c(),f=space(),y&&y.c(),g=space(),x&&x.c(),_=empty(),attr(i,"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,i),mount_component(r,i,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,h,w),v&&v.m(e,w),insert(e,f,w),y&&y.m(e,w),insert(e,g,w),x&&x.m(e,w),insert(e,_,w),$=!0},p(e,[n]){const o={};4&n&&(o.disabled=e[2]),t.$set(o);const i={};20&n&&(i.disabled=e[2]||!e[4]),r.$set(i);const a={};20&n&&(a.disabled=e[2]||!e[4]),c.$set(a);const s={};20&n&&(s.disabled=e[2]||!e[4]),u.$set(s);const l={};20&n&&(l.disabled=e[2]||!e[4]),p.$set(l),"userPassword"!=e[0].sshMode?b?(b.p(e,n),1&n&&transition_in(b,1)):(b=create_if_block_4$8(e),b.c(),transition_in(b,1),b.m(h.parentNode,h)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),"userPassword"==e[0].sshMode?v?(v.p(e,n),1&n&&transition_in(v,1)):(v=create_if_block_3$9(e),v.c(),transition_in(v,1),v.m(f.parentNode,f)):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$e(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[4]&&"agent"==e[0].sshMode?x?(x.p(e,n),17&n&&transition_in(x,1)):(x=create_if_block$M(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(r.$$.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(r.$$.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(r),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(h),v&&v.d(e),e&&detach(f),y&&y.d(e),e&&detach(g),x&&x.d(e),e&&detach(_)}}}function instance$1v(e,t,n){let o,i,r,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(4,o=a.useSshTunnel),3&e.$$.dirty&&(a.sshMode||p("sshMode","userPassword"),!a.sshKeyfile&&l&&p("sshKeyfile",l.defaultKeyfile)),385&e.$$.dirty&&n(2,r=c.includes(a._id)||s.includes(a._id))},n(3,i=usePlatformInfo()),u(),u=subscribe(i,(e=>n(1,l=e))),[a,l,r,i,o,d,m,s,c]}class ConnectionSshTunnelFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1v,create_fragment$1x,safe_not_equal,{})}}function create_fragment$1w(e){let t,n,o,i,r,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]}}),r=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),i=space(),create_component(r.$$.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,i,m),mount_component(r,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 i={};1&n&&(i.disabled=e[0]),t.$set(i);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]),r.$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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e),e&&detach(u),destroy_component(d,e)}}}function instance$1u(e,t,n){let o,i,r,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,r=e)));const u=getElectron();return e.$$.update=()=>{16&e.$$.dirty&&n(1,o=r.useSsl),112&e.$$.dirty&&n(0,i=s.includes(r._id)||a.includes(r._id))},[i,o,c,u,r,a,s]}class ConnectionSslFields extends SvelteComponent{constructor(e){super(),init(this,e,instance$1u,create_fragment$1w,safe_not_equal,{})}}function create_if_block$L(e){let t,n,o,i,r,a,s,c,l;const u=[create_if_block_4$7,create_else_block$h],d=[];function p(e,t){return e[3]?0:1}o=p(e),i=d[o]=u[o](e);let m=!e[1]&&e[2]&&"connected"==e[2].msgtype&&create_if_block_3$8(e),h=!e[1]&&e[2]&&"error"==e[2].msgtype&&create_if_block_2$d(e),f=e[1]&&create_if_block_1$p();return{c(){t=element("div"),n=element("div"),i.c(),r=space(),a=element("div"),m&&m.c(),s=space(),h&&h.c(),c=space(),f&&f.c(),attr(n,"class","buttons svelte-1patgrk"),attr(a,"class","test-result svelte-1patgrk"),attr(t,"class","flex")},m(e,i){insert(e,t,i),append(t,n),d[o].m(n,null),append(t,r),append(t,a),m&&m.m(a,null),append(a,s),h&&h.m(a,null),append(a,c),f&&f.m(a,null),l=!0},p(e,t){let r=o;o=p(e),o===r?d[o].p(e,t):(group_outros(),transition_out(d[r],1,1,(()=>{d[r]=null})),check_outros(),i=d[o],i?i.p(e,t):(i=d[o]=u[o](e),i.c()),transition_in(i,1),i.m(n,null)),!e[1]&&e[2]&&"connected"==e[2].msgtype?m?(m.p(e,t),6&t&&transition_in(m,1)):(m=create_if_block_3$8(e),m.c(),transition_in(m,1),m.m(a,s)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),!e[1]&&e[2]&&"error"==e[2].msgtype?h?(h.p(e,t),6&t&&transition_in(h,1)):(h=create_if_block_2$d(e),h.c(),transition_in(h,1),h.m(a,c)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]?f?2&t&&transition_in(f,1):(f=create_if_block_1$p(),f.c(),transition_in(f,1),f.m(a,null)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(i),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(i),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){e&&detach(t),d[o].d(),m&&m.d(),h&&h.d(),f&&f.d()}}}function create_else_block$h(e){let t,n,o,i,r,a,s;t=new FormButton({props:{value:"Connect"}}),t.$on("click",e[9]);const c=[create_if_block_5$5,create_else_block_1$4],l=[];function u(e,t){return e[1]?0:1}return o=u(e),i=l[o]=c[o](e),a=new FormButton({props:{value:"Save"}}),a.$on("click",e[8]),{c(){create_component(t.$$.fragment),n=space(),i.c(),r=space(),create_component(a.$$.fragment)},m(e,i){mount_component(t,e,i),insert(e,n,i),l[o].m(e,i),insert(e,r,i),mount_component(a,e,i),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(),i=l[o],i?i.p(e,t):(i=l[o]=c[o](e),i.c()),transition_in(i,1),i.m(r.parentNode,r))},i(e){s||(transition_in(t.$$.fragment,e),transition_in(i),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),l[o].d(e),e&&detach(r),destroy_component(a,e)}}}function create_if_block_4$7(e){let t,n;return t=new FormButton({props:{value:"Disconnect"}}),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_else_block_1$4(e){let t,n;return t=new FormButton({props:{value:"Test"}}),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_if_block_5$5(e){let t,n;return t=new FormButton({props:{value:"Cancel test"}}),t.$on("click",e[7]),{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$8(e){let t,n,o,i,r,a,s=e[2].version+"";return o=new FontIcon({props:{icon:"img ok"}}),{c(){t=element("div"),n=text$1("Connected: "),create_component(o.$$.fragment),i=space(),r=text$1(s)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,i),append(t,r),a=!0},p(e,t){(!a||4&t)&&s!==(s=e[2].version+"")&&set_data(r,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$d(e){let t,n,o,i,r,a,s,c,l=e[2].error+"";return o=new FontIcon({props:{icon:"img error"}}),s=new Link$1({props:{onClick:e[18],$$slots:{default:[create_default_slot_1$p]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=text$1("Connect failed: "),create_component(o.$$.fragment),i=space(),r=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,i),append(t,r),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4&t)&&l!==(l=e[2].error+"")&&set_data(r,l);const n={};4&t&&(n.onClick=e[18]),4194304&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$p(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$p(e){let t,n,o,i;return n=new FontIcon({props:{icon:"icon loading"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=text$1(" Testing connection")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_default_slot$A(e){let t,n,o,i;n=new TabControl({props:{isInline:!0,containerMaxWidth:"800px",flex1:!1,tabs:[{label:"General",component:ConnectionDriverFields},e[4]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[4]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]}});let r=e[4]&&create_if_block$L(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","wrapper svelte-1patgrk")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};17&o&&(i.tabs=[{label:"General",component:ConnectionDriverFields},e[4]?.showConnectionTab("sshTunnel",e[0])&&{label:"SSH Tunnel",component:ConnectionSshTunnelFields},e[4]?.showConnectionTab("ssl",e[0])&&{label:"SSL",component:ConnectionSslFields}]),n.$set(i),e[4]?r?(r.p(e,o),16&o&&transition_in(r,1)):(r=create_if_block$L(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){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_fragment$1v(e){let t,n;return t=new FormProviderCore({props:{template:FormFieldTemplateLarge,values:e[5],$$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={};4194335&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$1t(e,t,n){let o,i,r,a,s,c,l;component_subscribe(e,openedSingleDatabaseConnections,(e=>n(15,s=e))),component_subscribe(e,openedConnections,(e=>n(16,c=e))),component_subscribe(e,extensions,(e=>n(17,l=e)));var u=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 d,p,{connection:m}=t,{tabid:h}=t,{conid:f}=t;const g=writable(m||{server:getCurrentConfig().isDocker?"dockerhost":"localhost",engine:""});component_subscribe(e,g,(e=>n(0,a=e)));const $=createRef(0);function b(){const e=["databaseFile","useDatabaseUrl","databaseUrl","authType","server","port","user","password","defaultDatabase","singleDatabase","socketPath"],t=e.filter((e=>null==i?void 0:i.showConnectionField(e,a))),n=_.difference(e,t);a.defaultDatabase||n.push("singleDatabase");let o=_.omit(a,n);return(null==i?void 0:i.beforeConnectionSave)&&(o=null==i?void 0:i.beforeConnectionSave(o)),(null==i?void 0:i.showConnectionTab("sshTunnel",a))?a.useSshTunnel||(o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))):(o=_.omit(o,["useSshTunnel"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssh")))),(null==i?void 0:i.showConnectionTab("ssl",a))?a.useSsl||(o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))):(o=_.omit(o,["useSsl"]),o=_.omitBy(o,((e,t)=>t.startsWith("ssl")))),o}onMount((()=>u(void 0,void 0,void 0,(function*(){f&&set_store_value(g,a=yield apiCall("connections/get",{conid:f}),a)}))));return e.$$set=e=>{"connection"in e&&n(11,m=e.connection),"tabid"in e&&n(12,h=e.tabid),"conid"in e&&n(13,f=e.conid)},e.$$.update=()=>{1&e.$$.dirty&&n(14,o=a.engine),147456&e.$$.dirty&&n(4,i=l.drivers.find((e=>e.engine==o))),98305&e.$$.dirty&&n(3,r=c.includes(a._id)||s.includes(a._id))},[a,d,p,r,i,g,function(e){return u(this,void 0,void 0,(function*(){n(1,d=!0),$.update((e=>e+1));const t=$.get(),o=yield apiCall("connections/test",e.detail);$.get()==t&&(n(1,d=!1),n(2,p=o))}))},function(){$.update((e=>e+1)),n(1,d=!1)},function(){return u(this,void 0,void 0,(function*(){let e=b();e=Object.assign(Object.assign({},e),{unsaved:!1});const t=yield apiCall("connections/save",e);set_store_value(g,a=Object.assign(Object.assign({},a),{_id:t._id,unsaved:!1}),a),changeTab(h,(e=>Object.assign(Object.assign({},e),{title:getConnectionLabel(t),props:Object.assign(Object.assign({},e.props),{conid:t._id})}))),showSnackbarSuccess("Connection saved")}))},function(){return u(this,void 0,void 0,(function*(){let e=b();e._id||(e=Object.assign(Object.assign({},e),{unsaved:!0}));const t=yield apiCall("connections/save",e);set_store_value(g,a=Object.assign(Object.assign({},a),{unsaved:e.unsaved,_id:t._id}),a),openConnection(t)}))},function(){return u(this,void 0,void 0,(function*(){a.singleDatabase?disconnectDatabaseConnection(a._id,a.defaultDatabase):disconnectServerConnection(a._id)}))},m,h,f,o,s,c,l,()=>showModal(ErrorMessageModal,{message:p.detail,showAsCode:!0,title:"Database connection error"})]}class ConnectionTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1t,create_fragment$1v,safe_not_equal,{connection:11,tabid:12,conid:13})}}var ConnectionTab$1=Object.freeze({__proto__:null,default:ConnectionTab,matchingProps:matchingProps});function create_if_block$K(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$1u(e){let t,n,o=e[0]&&create_if_block$K(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$K(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$1s(e,t,n){let o,{tabid:i}=t;return useEditorData({tabid:i,onInitialData:e=>{n(0,o=e)}}),e.$$set=e=>{"tabid"in e&&n(1,i=e.tabid)},[o,i]}class MapTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1s,create_fragment$1u,safe_not_equal,{tabid:1})}}var MapTab$1=Object.freeze({__proto__:null,default:MapTab});function get_each_context$i(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$8)}}),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 i={};256&o[0]&&(i.value=e[43].baseColumnName),4096&o[0]&&(i.options=(e[12]?.columns||[]).map(func$8)),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_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$6)}}),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 i={};256&o[0]&&(i.value=e[43].refColumnName),3145728&o[0]&&(i.options=(e[20]?.columns||e[21]?.columns||[]).map(func_1$6)),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_each_block$i(e){let t,n,o,i,r,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(),i=element("div"),p.c(),r=space(),a=element("div"),create_component(s.$$.fragment),attr(n,"class","col-5 mr-1"),attr(i,"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,i),p.m(i,null),append(t,r),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(i,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$o(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w,C,k,S,T,E,A,N,I,O,R,D,L,F,M,P,j,B,q,z,U,W=e[12]?.pureName+"",V=(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]),N=new SelectField({props:{value:lib$5.fullNameToString({pureName:e[5],schemaName:e[6]}),isNative:!0,notSelected:!0,options:e[10]}}),N.$on("change",e[37]);let H=e[8],G=[];for(let t=0;t<H.length;t+=1)G[t]=create_each_block$i(get_each_context$i(e,H,t));const K=e=>transition_out(G[e],1,1,(()=>{G[e]=null}));return z=new FormStyledButton({props:{type:"button",value:"Add column"}}),z.$on("click",e[41]),{c(){t=element("div"),n=element("div"),o=element("div"),o.textContent="Join name",i=space(),r=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(),h=element("div"),f=element("div"),f.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",E=space(),A=element("div"),create_component(N.$$.fragment),I=space(),O=element("div"),R=element("div"),D=text$1("Base column - "),L=text$1(W),F=space(),M=element("div"),P=text$1("Ref column - "),j=text$1(V),B=space();for(let e=0;e<G.length;e+=1)G[e].c();q=space(),create_component(z.$$.fragment),attr(o,"class","label col-3 svelte-1ecnyiy"),attr(r,"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(f,"class","label col-3 svelte-1ecnyiy"),attr(_,"class","col-9"),attr(h,"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(A,"class","col-9"),attr(S,"class","row svelte-1ecnyiy"),attr(R,"class","col-5 mr-1"),attr(M,"class","col-5 ml-1"),attr(O,"class","row svelte-1ecnyiy"),attr(t,"class","largeFormMarker")},m(e,W){insert(e,t,W),append(t,n),append(n,o),append(n,i),append(n,r),mount_component(a,r,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,h),append(h,f),append(h,g),append(h,_),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,E),append(S,A),mount_component(N,A,null),append(t,I),append(t,O),append(O,R),append(R,D),append(R,L),append(O,F),append(O,M),append(M,P),append(M,j),append(t,B);for(let e=0;e<G.length;e+=1)G[e].m(t,null);append(t,q),mount_component(z,t,null),U=!0},p(e,n){const o={};512&n[0]&&(o.value=e[9]),2048&n[0]&&(o.options=e[11]),a.$set(o);const i={};16&n[0]&&(i.value=e[4]),2048&n[0]&&(i.options=e[11]),p.$set(i);const r={};4&n[0]&&(r.value=e[2]),32768&n[0]&&(r.options=e[15]),$.$set(r);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]),N.$set(c),(!U||4096&n[0])&&W!==(W=e[12]?.pureName+"")&&set_data(L,W),(!U||32&n[0])&&V!==(V=(e[5]||"(table not set)")+"")&&set_data(j,V),3150080&n[0]){let o;for(H=e[8],o=0;o<H.length;o+=1){const i=get_each_context$i(e,H,o);G[o]?(G[o].p(i,n),transition_in(G[o],1)):(G[o]=create_each_block$i(i),G[o].c(),transition_in(G[o],1),G[o].m(t,q))}for(group_outros(),o=H.length;o<G.length;o+=1)K(o);check_outros()}},i(e){if(!U){transition_in(a.$$.fragment,e),transition_in(p.$$.fragment,e),transition_in($.$$.fragment,e),transition_in(C.$$.fragment,e),transition_in(N.$$.fragment,e);for(let e=0;e<H.length;e+=1)transition_in(G[e]);transition_in(z.$$.fragment,e),U=!0}},o(e){transition_out(a.$$.fragment,e),transition_out(p.$$.fragment,e),transition_out($.$$.fragment,e),transition_out(C.$$.fragment,e),transition_out(N.$$.fragment,e),G=G.filter(Boolean);for(let e=0;e<G.length;e+=1)transition_out(G[e]);transition_out(z.$$.fragment,e),U=!1},d(e){e&&detach(t),destroy_component(a),destroy_component(p),destroy_component($),destroy_component(C),destroy_component(N),destroy_each(G,e),destroy_component(z)}}}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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$z(e){let t,n;const o=[e[22]];let i={$$slots:{footer:[create_footer_slot$2],header:[create_header_slot$3],default:[create_default_slot_1$o]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=4194304&n[0]?get_spread_update(o,[get_spread_object(e[22])]):{};3194879&n[0]|32768&n[1]&&(i.$$scope={dirty:n,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$1t(e){let t,n;return t=new FormProvider({props:{$$slots:{default:[create_default_slot$z]},$$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$8=e=>({label:e.columnName,value:e.columnName}),func_1$6=e=>({label:e.columnName,value:e.columnName});function instance$1r(e,t,n){let o,i,r,a,s,c,l,u,d,p;const m=["conid","database","root","setConfig","config","editValue"];let h,f,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:E}=t,{database:A}=t,{root:N}=t,{setConfig:I}=t,{config:O}=t,{editValue:R=null}=t,D=(null==R?void 0:R.conid)||null,L=(null==R?void 0:R.database)||null,F=(null==R?void 0:R.columns)||[],M=(null==R?void 0:R.baseDesignerId)||N.designerId,P=(null==R?void 0:R.refTableName)||null,j=(null==R?void 0:R.refSchemaName)||null,B=(null==R?void 0:R.joinName)||"",q=[],z=[];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,E=e.conid),"database"in e&&n(24,A=e.database),"root"in e&&n(25,N=e.root),"setConfig"in e&&n(0,I=e.setConfig),"config"in e&&n(26,O=e.config),"editValue"in e&&n(1,R=e.editValue)},e.$$.update=()=>{25165836&e.$$.dirty[0]&&(n(19,o=useDatabaseInfo({conid:D||E,database:L||A})),w(),w=subscribe(o,(e=>n(7,g=e)))),25165932&e.$$.dirty[0]&&(n(18,i=useTableInfo({conid:D||E,database:L||A,schemaName:j,pureName:P})),C(),C=subscribe(i,(e=>n(20,$=e)))),25165932&e.$$.dirty[0]&&(n(17,r=useViewInfo({conid:D||E,database:L||A,schemaName:j,pureName:P})),k(),k=subscribe(r,(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((f||[]).filter((e=>!e.unsaved)).map((e=>({value:e._id,label:getConnectionLabel(e)}))),"label")]),8388612&e.$$.dirty[0]&&(n(14,l=useDatabaseList({conid:D||E})),y(),y=subscribe(l,(e=>n(30,h=e)))),1073741824&e.$$.dirty[0]&&n(13,u=[{value:null,label:"The same as root"},..._.sortBy((h||[]).map((e=>({value:e.name,label:e.name}))),"label")]),33554432&e.$$.dirty[0]&&n(29,d=N.getBaseTables()),671088656&e.$$.dirty[0]&&n(12,p=null===n(27,S=null==d?void 0:d.find((e=>e.node.designerId==M)))||void 0===S?void 0:S.table),805306368&e.$$.dirty[0]&&T(void 0,void 0,void 0,(function*(){yield tick(),n(11,z=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,f=e))),[I,R,D,L,M,P,j,g,F,B,q,z,p,u,l,c,s,r,i,o,$,b,v,E,A,N,O,S,a,d,h,f,()=>{I((e=>{const t=lib$1.createPerspectiveNodeConfig({pureName:P,schemaName:j});t.designerId=R?.refNodeDesignerId||v1_1$6(),t.conid=D,t.database=L,t.position=e.nodes.find((e=>e.designerId==R?.refNodeDesignerId))?.position,t.alias=B;const n={designerId:R?.referenceDesignerId||v1_1$6(),sourceId:M,targetId:t.designerId,columns:F.map((e=>({source:e.baseColumnName,target:e.refColumnName})))};return{...e,nodes:[...e.nodes.filter((e=>e.designerId!=R?.refNodeDesignerId)),t],references:[...e.references.filter((e=>e.designerId!=R?.referenceDesignerId)),n]}})),closeCurrentModal()},e=>{n(9,B=e.target.value)},e=>{e.detail&&n(4,M=e.detail)},e=>{n(2,D=e.detail)},e=>{n(3,L=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,F=o?.primaryKey?.columns?.map((e=>({refColumnName:e.columnName})))||[])}},(e,t)=>{t.detail&&n(8,F=F.map(((n,o)=>o==e?{...n,baseColumnName:t.detail}:n)))},(e,t)=>{t.detail&&n(8,F=F.map(((n,o)=>o==e?{...n,refColumnName:t.detail}:n)))},(e,t)=>{const o=[...F];o.splice(e,1),n(8,F=o)},()=>{n(8,F=[...F,{baseColumnName:"",refColumnName:""}])}]}class CustomJoinModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$1r,create_fragment$1t,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,i;const{node:r,conid:a,database:s,root:c,config:l,setConfig:u,designerId:d}=e,p=null==r?void 0:r.customJoinConfig,m=null==r?void 0:r.filterInfo,h=(null===(t=null==r?void 0:r.parentNode)||void 0===t?void 0:t.designerId)||"",f=null==r?void 0:r.columnName,g=null===(o=null===(n=l.nodes)||void 0===n?void 0:n.find((e=>e.designerId==h)))||void 0===o?void 0:o.sort,$=null===(i=null==g?void 0:g.find((e=>e.columnName==f)))||void 0===i?void 0:i.order;(null==g?void 0:g.length)>1&&_.findIndex(g,(e=>e.columnName==f));const b=(null==g?void 0:g.length)>0,v=l.nodes.find((e=>e.designerId==d)),y=e=>{u((t=>setPerspectiveSort(t,h,f,e)),!0)},x=e=>{u((t=>addToPerspectiveSort(t,h,f,e)),!0)};return[(null==r?void 0:r.isSortable)&&{onClick:()=>y("ASC"),text:"Sort ascending"},(null==r?void 0:r.isSortable)&&{onClick:()=>y("DESC"),text:"Sort descending"},(null==r?void 0:r.isSortable)&&b&&!$&&{onClick:()=>x("ASC"),text:"Add to sort - ascending"},(null==r?void 0:r.isSortable)&&b&&!$&&{onClick:()=>x("DESC"),text:"Add to sort - descending"},(null==r?void 0:r.isSortable)&&$&&{onClick:()=>{u((e=>clearPerspectiveSort(e,h)),!0)},text:"Clear sort criteria"},{divider:!0},m&&{text:"Add to filter",onClick:()=>u((e=>addToPerspectiveFilter(e,h,f)))},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==r?void 0:r.supportsParentFilter)&&{text:r.isParentFilter?"Cancel filter parent rows":"Filter parent rows",onClick:()=>{u((e=>Object.assign(Object.assign({},e),{nodes:e.nodes.map((e=>e.designerId==(null==r?void 0:r.designerId)?Object.assign(Object.assign({},e),{isParentFilter:!r.isParentFilter}):e))})),!0)}},v&&[{text:"Set alias",onClick:()=>{var e;showModal(InputTextModal,{value:(null===(e=null==r?void 0:r.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$l(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$o(e){let t,n,o,i;return{c(){t=element("input"),attr(t,"type","checkbox"),t.checked=n=e[0].isSecondaryChecked},m(n,r){insert(n,t,r),o||(i=[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(i)}}}function create_if_block$J(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$1s(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,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$o(e);u=new FontIcon({props:{icon:e[0].icon}}),f=new SortOrderIcon({props:{order:e[0].sortOrder,orderIndex:e[0].sortOrderIndex}});let w=y&&create_if_block$J();return{c(){t=element("div"),n=element("span"),create_component(o.$$.fragment),r=space(),a=element("input"),c=space(),x&&x.c(),l=space(),create_component(u.$$.fragment),d=space(),p=element("span"),m=text$1(v),h=space(),create_component(f.$$.fragment),g=space(),w&&w.c(),attr(n,"class","expandColumnIcon"),attr(n,"style",i=`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(i,s){insert(i,t,s),append(t,n),mount_component(o,n,null),append(t,r),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,h),mount_component(f,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,[r]){const c={};1&r&&(c.icon=e[0].isExpandable?plusExpandIcon(e[0].isExpanded):"icon invisible-box"),o.$set(c),(!_||3&r&&i!==(i=`margin-right: ${5+10*(e[0].level-(e[1]?.level??0))}px`))&&attr(n,"style",i),(!_||1&r&&s!==(s=e[0].isChecked))&&(a.checked=s),e[0].secondaryCheckable?x?x.p(e,r):(x=create_if_block_1$o(e),x.c(),x.m(t,l)):x&&(x.d(1),x=null);const d={};1&r&&(d.icon=e[0].icon),u.$set(d),(!_||1&r)&&v!==(v=e[0].title+"")&&set_data(m,v);const p={};1&r&&(p.order=e[0].sortOrder),1&r&&(p.orderIndex=e[0].sortOrderIndex),f.$set(p),1&r&&(y=e[0].getFilter()),y?w?1&r&&transition_in(w,1):(w=create_if_block$J(),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(f.$$.fragment,e),transition_in(w),_=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(u.$$.fragment,e),transition_out(f.$$.fragment,e),transition_out(w),_=!1},d(e){e&&detach(t),destroy_component(o),x&&x.d(),destroy_component(u),destroy_component(f),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$1q(e,t,n){let{conid:o}=t,{database:i}=t,{node:r}=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,i=e.database),"node"in e&&n(0,r=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)},[r,s,function(){return getPerspectiveNodeMenu({conid:o,database:i,node:r,root:a,config:c,setConfig:l,designerId:null==r?void 0:r.designerId})},o,i,a,c,l,()=>{r.toggleExpanded()},()=>{r.toggleChecked()},()=>{r.toggleSecondaryChecked()}]}class PerspectiveNodeRow extends SvelteComponent{constructor(e){super(),init(this,e,instance$1q,create_fragment$1s,safe_not_equal,{conid:3,database:4,node:0,root:5,tempRoot:1,config:6,setConfig:7})}}function get_each_context$h(e,t,n){const o=e.slice();return o[8]=t[n],o}function create_each_block$h(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$1r(e){let t,n,o=e[7](e[1]??e[0],e[6]),i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$h(get_each_context$h(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$h(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$h(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function instance$1p(e,t,n){let{root:o}=t,{tempRoot:i}=t,{config:r}=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,i=e.tempRoot),"config"in e&&n(2,r=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,i,r,a,s,c,l,function e(t,n){const o=[];for(const i of null==t?void 0:t.childNodes)if(lib$5.filterName(n,i.title))o.push(i),i.isExpanded&&o.push(...e(i,n));else if(i.isExpanded){const t=e(i,n);t.length>0&&(o.push(i),o.push(...t))}return o}]}class PerspectiveTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$1p,create_fragment$1r,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$I(e){let t,n,o,i,r;const a=[create_if_block_1$n,create_if_block_2$c,create_if_block_4$6,create_if_block_5$4,create_if_block_6$3,create_else_block_1$3],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(),i=empty()},m(e,t){s[n].m(e,t),insert(e,i,t),r=!0},p(e,t){let r=n;n=c(e,t),n===r?s[n].p(l(e,n),t):(group_outros(),transition_out(s[r],1,1,(()=>{s[r]=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(i.parentNode,i))},i(e){r||(transition_in(o),r=!0)},o(e){transition_out(o),r=!1},d(e){s[n].d(e),e&&detach(i)}}}function create_else_block_1$3(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$3(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$4(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$6(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$c(e){let t;function n(e,t){return e[6]?create_if_block_3$7:create_else_block$g}let o=n(e),i=o(e);return{c(){i.c(),t=empty()},m(e,n){i.m(e,n),insert(e,t,n)},p(e,r){o===(o=n(e))&&i?i.p(e,r):(i.d(1),i=o(e),i&&(i.c(),i.m(t.parentNode,t)))},i:noop$3,o:noop$3,d(e){i.d(e),e&&detach(t)}}}function create_if_block_1$n(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$g(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$7(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$1q(e){let t,n,o=void 0!==e[0]&&create_if_block$I(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,i){insert(e,t,i),o&&o.m(t,null),n=!0},p(e,[i]){void 0!==e[0]?o?(o.p(e,i),1&i&&transition_in(o,1)):(o=create_if_block$I(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&i)&&attr(t,"rowspan",e[1]),(!n||8&i)&&attr(t,"data-column",e[3]),1&i&&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$1o(e,t,n){let{value:o}=t,{rowSpan:i}=t,{rowData:r}=t,{columnIndex:a}=t,{displayType:s}=t;return e.$$set=e=>{"value"in e&&n(0,o=e.value),"rowSpan"in e&&n(1,i=e.rowSpan),"rowData"in e&&n(2,r=e.rowData),"columnIndex"in e&&n(3,a=e.columnIndex),"displayType"in e&&n(4,s=e.displayType)},[o,i,r,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)}]}class PerspectiveCell extends SvelteComponent{constructor(e){super(),init(this,e,instance$1o,create_fragment$1q,safe_not_equal,{value:0,rowSpan:1,rowData:2,columnIndex:3,displayType:4})}}function create_fragment$1p(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$1p,safe_not_equal,{})}}function create_if_block_2$b(e){let t,n,o,i,r,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"),i=text$1(u),r=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,i),append(n,r),mount_component(a,n,null),l=!0},p(e,n){(!l||1&n)&&u!==(u=e[0].title+"")&&set_data(i,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$H(e){let t,n,o,i,r,a,s,c=e[0].getParentName(e[1])+"",l=e[0].getParentNode(e[1])?.isParentFilter,u=l&&create_if_block_1$m();return{c(){t=element("th"),n=element("div"),o=text$1(c),i=space(),u&&u.c(),attr(n,"class","wrap svelte-uz4mu9"),attr(t,"colspan",r=e[0].getColSpan(e[1])),attr(t,"class","tableHeader svelte-uz4mu9"),attr(t,"data-tablenodedesignerid",a=e[0].getParentTableDesignerId(e[1]))},m(e,r){insert(e,t,r),append(t,n),append(n,o),append(n,i),u&&u.m(n,null),s=!0},p(e,i){(!s||3&i)&&c!==(c=e[0].getParentName(e[1])+"")&&set_data(o,c),3&i&&(l=e[0].getParentNode(e[1])?.isParentFilter),l?u?3&i&&transition_in(u,1):(u=create_if_block_1$m(),u.c(),transition_in(u,1),u.m(n,null)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),(!s||3&i&&r!==(r=e[0].getColSpan(e[1])))&&attr(t,"colspan",r),(!s||3&i&&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$m(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,i){insert(e,t,i),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$1o(e){let t,n,o,i=e[0].isVisible(e[1]),r=e[0].showParent(e[1]),a=i&&create_if_block_2$b(e),s=r&&create_if_block$H(e);return{c(){a&&a.c(),t=space(),s&&s.c(),n=empty()},m(e,i){a&&a.m(e,i),insert(e,t,i),s&&s.m(e,i),insert(e,n,i),o=!0},p(e,[o]){3&o&&(i=e[0].isVisible(e[1])),i?a?(a.p(e,o),3&o&&transition_in(a,1)):(a=create_if_block_2$b(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&&(r=e[0].showParent(e[1])),r?s?(s.p(e,o),3&o&&transition_in(s,1)):(s=create_if_block$H(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$1n(e,t,n){let o,i;var r,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,r=s.dataNode)||void 0===r?void 0:r.sortOrder),129&e.$$.dirty&&n(2,i=null===n(7,a=s.dataNode)||void 0===a?void 0:a.sortOrderIndex)},[s,c,i,o,l,u,r,a]}class PerspectiveHeaderControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1n,create_fragment$1o,safe_not_equal,{column:0,columnLevel:1,config:4,setConfig:5})}}function get_each_context$g(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$6(e){let t,n,o,i,r,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$g(get_each_context$g(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(),i=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].m(n,null);append(t,o),append(t,i);for(let e=0;e<u.length;e+=1)u[e].m(i,null);e[19](t),r=!0},p(e,t){if(28&t[0]){let o;for(a=_.range(e[4].columnLevelCount),o=0;o<a.length;o+=1){const i=get_each_context_2$1(e,a,o);s[o]?(s[o].p(i,t),transition_in(s[o],1)):(s[o]=create_each_block_2$1(i),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$g(e,l,n);u[n]?(u[n].p(o,t),transition_in(u[n],1)):(u[n]=create_each_block$g(o),u[n].c(),transition_in(u[n],1),u[n].m(i,null))}for(group_outros(),n=l.length;n<u.length;n+=1)d(n);check_outros()}},i(e){if(!r){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]);r=!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]);r=!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,i=e[4].columns,r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block_3(get_each_context_3(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("tr");for(let e=0;e<r.length;e+=1)r[e].c();n=space()},m(e,i){insert(e,t,i);for(let e=0;e<r.length;e+=1)r[e].m(t,null);append(t,n),o=!0},p(e,o){if(28&o[0]){let s;for(i=e[4].columns,s=0;s<i.length;s+=1){const a=get_each_context_3(e,i,s);r[s]?(r[s].p(a,o),transition_in(r[s],1)):(r[s]=create_each_block_3(a),r[s].c(),transition_in(r[s],1),r[s].m(t,n))}for(group_outros(),s=i.length;s<r.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<i.length;e+=1)transition_in(r[e]);o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_4$5(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$5(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$5(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$g(e){let t,n,o,i=e[4].columns,r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block_1$2(get_each_context_1$2(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));return{c(){t=element("tr");for(let e=0;e<r.length;e+=1)r[e].c();n=space(),attr(t,"data-rowindex",e[33])},m(e,i){insert(e,t,i);for(let e=0;e<r.length;e+=1)r[e].m(t,null);append(t,n),o=!0},p(e,o){if(16&o[0]){let s;for(i=e[4].columns,s=0;s<i.length;s+=1){const a=get_each_context_1$2(e,i,s);r[s]?(r[s].p(a,o),transition_in(r[s],1)):(r[s]=create_each_block_1$2(a),r[s].c(),transition_in(r[s],1),r[s].m(t,n))}for(group_outros(),s=i.length;s<r.length;s+=1)a(s);check_outros()}},i(e){if(!o){for(let e=0;e<i.length;e+=1)transition_in(r[e]);o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);o=!1},d(e){e&&detach(t),destroy_each(r,e)}}}function create_if_block_2$a(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const o={};128&n[0]&&(o.message=e[7]),t.$set(o)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$l(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,i){insert(e,t,i),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$G(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$1n(e){let t,n,o,i,r,a,s,c,l=e[4]&&create_if_block_3$6(e),u=e[7]&&create_if_block_2$a(e),d=e[9]&&create_if_block_1$l(),p=null!=e[8]&&create_if_block$G(e);return{c(){t=element("div"),l&&l.c(),n=space(),u&&u.c(),o=space(),d&&d.c(),i=space(),p&&p.c(),r=empty(),attr(t,"class","wrapper svelte-msvx43")},m(m,h){insert(m,t,h),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,i,h),p&&p.m(m,h),insert(m,r,h),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,i){e[4]?l?(l.p(e,i),16&i[0]&&transition_in(l,1)):(l=create_if_block_3$6(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,i),128&i[0]&&transition_in(u,1)):(u=create_if_block_2$a(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&i[0]&&transition_in(d,1):(d=create_if_block_1$l(),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,i),256&i[0]&&transition_in(p,1)):(p=create_if_block$G(e),p.c(),transition_in(p,1),p.m(r.parentNode,r)):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(i),p&&p.d(n),n&&detach(r),s=!1,run_all(c)}}}const getCurrentEditor$5=()=>getActiveComponent("PerspectiveTable");function instance$1m(e,t,n){let o,i,r=noop$3,a=()=>(r(),r=subscribe(p,(e=>n(18,i=e))),p);e.$$.on_destroy.push((()=>r()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,h,f,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:i,incomplete:r}=yield e.dataProvider.loadData(Object.assign(Object.assign({},o),{topCount:n[e.designerId]||lib$1.PERSPECTIVE_PAGE_SIZE}));if(e.isRoot)t.push(...i),r&&t.push({incompleteRowsIndicator:[e.designerId]});else if(e.preloadedLevelData)i=_.compact(_.flatten(t.map((t=>t[e.fieldName]))));else{let n=null;for(const o of t){const t=i.filter((t=>e.matchChildRow(o,t)));o[e.fieldName]=t,t.length>0&&(n=o)}r&&n&&n[e.fieldName].push({incompleteRowsIndicator:[e.designerId]})}for(const t of e.childNodes)t.isExpandable&&(t.isCheckedNode||t.preloadedLevelData)&&(yield T(t,i,n))}))}function E(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&&E(d,i)}))}function A(){return s(this,void 0,void 0,(function*(){if(!o)return;if(yield tick(),!f)return;if(!o)return;if(S.get())return;const e=function(){var e=f.querySelectorAll("tbody>tr");const t=h.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 i=0;for(;o-i>=0||o+i<e.length;){if(n(o-i))return k.set(o-i),o-i;if(n(o+i))return k.set(o+i),o+i;i+=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]&&E(d,i),131073&e.$$.dirty[0]&&n(4,o=d&&m?new lib$1.PerspectiveDisplay(d,m):null),16&e.$$.dirty[0]&&(S.set(!1),A())},[d,p,b,v,o,h,f,g,$,w,function({targetElement:e,registerCloseHandler:t}){var n,i,r;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"),h=null==d?void 0:d.findNodeByDesignerId(m);if(null==h?void 0:h.headerTableAttributes){const{pureName:e,schemaName:t,conid:n,database:o,objectTypeField:i}=null==h?void 0:h.headerTableAttributes;console.log("objectTypeField",i);const r=c[i];r&&a.push({text:`Open ${r.text} ${e}`,onClick:()=>{openNewTab({title:e,icon:r.icon,tabComponent:r.tabComponent,props:{schemaName:t,pureName:e,conid:n,database:o,objectTypeField:i}})}})}const f=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==h?void 0:h.headerTableAttributes)&&a.push({text:`Change display (${_.startCase((null===(r=null===(i=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===i?void 0:i.columnDisplays)||void 0===r?void 0:r[p.dataNode.columnName])||"default")})`,submenu:[{text:"Default",onClick:()=>f("default")},{text:"JSON",onClick:()=>f("json")},{text:"Image",onClick:()=>f("image")},{text:"Text",onClick:()=>f("text")},{text:"Force Text",onClick:()=>f("forceText")}]}),null==h?void 0:h.supportsParentFilter){const e=null==h?void 0:h.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==h?void 0:h.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],i=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]:i}}},{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]:i})}):e}))})))}})}}}return a.push([{divider:!0},{command:"perspective.refresh"},{command:"perspective.openJson"},{command:"perspective.customJoin"}]),a},A,u,y,x,function(){openJsonDocument(m)},function(){return null!=m},m,i,function(e){binding_callbacks[e?"unshift":"push"]((()=>{f=e,n(6,f)}))},()=>v((e=>({...e,filters:{},parentFilters:[]})),!0),function(e){binding_callbacks[e?"unshift":"push"]((()=>{h=e,n(5,h)}))}]}registerCommand({id:"perspective.openJson",category:"Perspective",name:"Open JSON",isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor$5())||void 0===e?void 0:e.openJsonEnabled()},onClick:()=>getCurrentEditor$5().openJson()});class PerspectiveTable extends SvelteComponent{constructor(e){super(),init(this,e,instance$1m,create_fragment$1n,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$y(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$1m(e){let t,n,o,i,r,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$y]},$$scope:{ctx:e}}}),s.$on("click",(function(){is_function(e[3])&&e[3].apply(this,arguments)})),l=new DataFilterControl({props:{filterType:e[0].filterType,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),i=text$1(" ("),r=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,i),append(n,r),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(r,p);const i={};4096&n&&(i.$$scope={dirty:n,ctx:e}),s.$set(i);const a={};1&n&&(a.filterType=e[0].filterType),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$1l(e,t,n){let o,{filterInfo:i}=t,{filter:r}=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,i=e.filterInfo),"filter"in e&&n(1,r=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)},[i,r,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$1l,create_fragment$1m,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$f(e,t,n){const o=e.slice();return o[10]=t[n],o}function get_each_context_1$1(e,t,n){const o=e.slice();o[13]=t[n];const i=o[3]?.findNodeByDesignerId(o[10].designerId);o[14]=i;const r=o[14]?.childNodes?.find((e=>e.columnName==o[13]))?.filterInfo;return o[15]=r,o}function create_else_block$f(e){let t,n,o=e[1].nodes,i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$f(get_each_context$f(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$f(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$f(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_if_block$F(e){let t,n,o,i,r,a,s;return r=new FontIcon({props:{icon:"img info"}}),{c(){t=element("div"),n=element("div"),n.textContent="No Filters defined",o=space(),i=element("div"),create_component(r.$$.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,i),mount_component(r,i,null),append(i,a),s=!0},p:noop$3,i(e){s||(transition_in(r.$$.fragment,e),s=!0)},o(e){transition_out(r.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(r)}}}function create_if_block_1$k(e){let t,n;function o(...t){return e[8](e[14],e[13],...t)}function i(...t){return e[9](e[14],e[13],...t)}return t=new PerspectiveFiltersColumn({props:{filterInfo:e[15],conid:e[4],database:e[5],driver:e[6],tableNode:e[14],config:e[1],setConfig:e[2],filter:e[10].filters[e[13]],onSetFilter:o,onRemoveFilter:i}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,r){e=n;const a={};10&r&&(a.filterInfo=e[15]),16&r&&(a.conid=e[4]),32&r&&(a.database=e[5]),64&r&&(a.driver=e[6]),10&r&&(a.tableNode=e[14]),2&r&&(a.config=e[1]),4&r&&(a.setConfig=e[2]),2&r&&(a.filter=e[10].filters[e[13]]),14&r&&(a.onSetFilter=o),14&r&&(a.onRemoveFilter=i),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[15]&&create_if_block_1$k(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[15]?o?(o.p(e,n),10&n&&transition_in(o,1)):(o=create_if_block_1$k(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$f(e){let t,n,o=_.keys(e[10].filters),i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block_1$1(get_each_context_1$1(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[t].m(e,o);insert(e,t,o),n=!0},p(e,n){if(126&n){let a;for(o=_.keys(e[10].filters),a=0;a<o.length;a+=1){const r=get_each_context_1$1(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block_1$1(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_default_slot$x(e){let t,n,o,i;const r=[create_if_block$F,create_else_block$f],a=[];function s(e,t){return 0==e[7]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$1l(e){let t,n;return t=new ManagerInnerContainer({props:{width:e[0],isFlex:0==e[7],$$slots:{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={};1&n&&(o.width=e[0]),128&n&&(o.isFlex=0==e[7]),262398&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$1k(e,t,n){let o,{managerSize:i}=t,{config:r}=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,i=e.managerSize),"config"in e&&n(1,r=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(r.nodes.map((e=>_.keys(e.filters).length))))},[i,r,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))})))]}class PerspectiveFilters extends SvelteComponent{constructor(e){super(),init(this,e,instance$1k,create_fragment$1l,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:i,database:r}=e[o],a=t[o];n=Object.assign(Object.assign({},n),{[i]:Object.assign(Object.assign({},n[i]),{[r]:a})})}return n}))}function create_fragment$1k(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$7,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$1,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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new Designer({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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$7,columnMenu:e[11],tableMenu:e[12],createReferenceText:func_3$1,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&n&&{referenceComponent:QueryDesignerReference},263&n[0]&&{value:e[8](e[0],e[1],e[2])},512&n[0]&&{onChange:e[9]}]):{};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)}}}const func$7=({designer:e,reference:t,onChangeReference:n,onRemoveReference:o})=>[{text:"Remove",onClick:()=>o(t)}],func_3$1=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$1j(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(29,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r}=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 h(e,t,n){return Object.assign(Object.assign({},e),{tables:_.compact(e.nodes.map((e=>{var o,i,r,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===(i=null==d?void 0:d.tables)||void 0===i?void 0:i.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName)),h=null===(r=null==d?void 0:d.views)||void 0===r?void 0:r.find((t=>t.pureName==e.pureName&&t.schemaName==e.schemaName));let f=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(f){const t=null==n?void 0:n[e.designerId];if(!t)return null;f=Object.assign(Object.assign({},f),{columns:(null==t?void 0:t.columns.map((t=>m(t,e,""))))||[]})}if(!p&&!h&&!f)return null;const{designerId:g}=e;return Object.assign(Object.assign({},p||h||f),{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,r=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){i(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"))}))}(r,a,s,c)},t=exclude_internal_props(t),[r,a,s,c,l,u,d,p,h,function(e,t,n){d((t=>{var i,r,c;const d=_.isFunction(e)?e(h(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,i;const r=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==r?void 0:r.left)||0,y:(null==r?void 0:r.top)||0}),!r&&(null==n?void 0:n.removeTables)?null:(!r||r.left==(null===(o=e.position)||void 0===o?void 0:o.x)&&r.top==(null===(i=e.position)||void 0===i?void 0:i.y)||((null==n?void 0:n.isCalledFromArrange)||(p=!1),a.position={x:r.left,y:r.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===(i=null==o?void 0:o.connection)||void 0===i?void 0:i._id)!=l&&(t.conid=null===(r=null==o?void 0:o.connection)||void 0===r?void 0:r._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 i=c?.findNodeByDesignerId(t),a=i?.childNodes?.find((e=>e.columnName==n.columnName));return getPerspectiveNodeMenu({config:r,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:r,setConfig:d,conid:l,database:u,root:c,node:o,designerId:t})]},(e,t)=>r.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=>r.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=r.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)=>!!r.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=r.nodes.find((t=>t.designerId==e));if(t?.conid||t?.database)return{conid:t.conid,database:t.database}},e=>!!r.nodes.find((t=>t.designerId==e))?.isParentFilter,e=>{const t=c?.findNodeByDesignerId(e);return!t||!!t?.hasUncheckedNodeInPath},e=>r.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$1j,create_fragment$1k,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 i={};for(const o of t.nodes){const t=o.conid||e.conid,r=o.database||e.database,{schemaName:a,pureName:s}=o,c=n.dataPatterns.find((e=>e.conid==t&&e.database==r&&e.schemaName==a&&e.pureName==s));c&&(i[o.designerId]=c)}return i}function getPerspectiveDataPatterns(e,t,n,o,i){var r,a,s,c;return __awaiter$l(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,h=n.dataPatterns.find((e=>e.conid==t&&e.database==d&&e.schemaName==p&&e.pureName==m));if(h){l[u.designerId]=h;continue}const f=null===(r=null==o?void 0:o[t])||void 0===r?void 0:r[d];if(!f)continue;const g=null===(a=f.tables)||void 0===a?void 0:a.find((e=>e.pureName==m&&e.schemaName==p)),_=null===(s=f.views)||void 0===s?void 0:s.find((e=>e.pureName==m&&e.schemaName==p)),$=null===(c=f.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 i.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,i){const r=getPerspectiveDataPatternsFromCache(e,t,n),a=getPerspectiveDataPatterns(e,t,n,o,i),s=writable(r);return a.then((e=>s.set(e))),s}function create_if_block_1$j(e){let t,n,o,i,r,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$6]},$$scope:{ctx:e}}}),s.$on("click",e[30]),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=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,i),append(n,r),append(t,a),mount_component(s,t,null),c=!0},p(e,t){(!c||4096&t[0])&&l!==(l=e[12].title+"")&&set_data(r,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$6(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$6(e){let t,n,o,i,r,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(t,"value",s)));let u={};return void 0!==e[11]&&(u.filter=e[11]),i=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(i,"filter",l))),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&2048&o[0]&&(r=!0,s.filter=e[11],add_flush_callback((()=>r=!1))),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e)}}}function create_if_block$E(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$c(e){let t,n,o=e[8]&&create_if_block$E(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[8]?o?(o.p(e,n),256&n[0]&&transition_in(o,1)):(o=create_if_block$E(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$k(e){let t,n,o,i,r,a=e[12]&&e[12]!=e[8]&&create_if_block_1$j(e);return n=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_4$6]},$$scope:{ctx:e}}}),i=new ManagerInnerContainer({props:{width:e[7],$$slots:{default:[create_default_slot_3$c]},$$scope:{ctx:e}}}),{c(){a&&a.c(),t=space(),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,s){a&&a.m(e,s),insert(e,t,s),mount_component(n,e,s),insert(e,o,s),mount_component(i,e,s),r=!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$j(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 r={};2048&o[0]|16&o[1]&&(r.$$scope={dirty:o,ctx:e}),n.$set(r);const s={};128&o[0]&&(s.width=e[7]),6427&o[0]|16&o[1]&&(s.$$scope={dirty:o,ctx:e}),i.$set(s)},i(e){r||(transition_in(a),transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(a),transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){a&&a.d(e),e&&detach(t),destroy_component(n,e),e&&detach(o),destroy_component(i,e)}}}function create_default_slot_1$n(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$w(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Choose data",name:"perspectiveTree",height:"70%",$$slots:{default:[create_default_slot_2$k]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Filters",name:"tableFilters",$$slots:{default:[create_default_slot_1$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};6619&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};415&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$w]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","left svelte-cmv30q"),attr(t,"slot","1")},m(e,i){insert(e,t,i),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$1j(e){let t,n,o;function i(t){e[33](t)}let r={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]&&(r.size=e[7]),t=new HorizontalSplitter({props:r}),binding_callbacks.push((()=>bind(t,"size",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const i={};8191&o[0]|16&o[1]&&(i.$$scope={dirty:o,ctx:e}),!n&&128&o[0]&&(n=!0,i.size=e[7],add_flush_callback((()=>n=!1))),t.$set(i)},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$4=()=>getActiveComponent("PerspectiveView");function instance$1i(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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,E=null,{loadedCounts:A}=t,{cache:N}=t;const I=createActivator("PerspectiveView",!0);let O=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,A=e.loadedCounts),"cache"in e&&n(16,N=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(O)&&n(21,O=e)}2097152&e.$$.dirty[0]&&(n(14,o=useMultipleDatabaseInfo(O)),$(),$=subscribe(o,(e=>n(10,f=e)))),67175435&e.$$.dirty[0]&&(n(13,r=usePerspectiveDataPatterns({conid:w,database:C},S,N,f,i)),g(),g=subscribe(r,(e=>n(9,h=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==f?void 0:f[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(N,i,h)),62915611&e.$$.dirty[0]&&n(8,p=c||l||u?new lib$1.PerspectiveTableNode(c||l||u,f,S,T,d,{conid:w,database:C},null,S.rootDesignerId):null),320&e.$$.dirty[0]&&n(12,m=null==p?void 0:p.findNodeByDesignerId(E)),1563&e.$$.dirty[0]&&lib$1.shouldProcessPerspectiveDefaultColunns(S,f,h,w,C)&&T((e=>lib$1.processPerspectiveDefaultColunns(e,f,h,w,C)))},n(26,i=new lib$1.PerspectiveDataLoader(apiCall)),[w,C,k,S,T,A,E,y,p,h,f,x,m,r,o,function(){const e=getLocalStorage("perspectiveManagerWidth");return _.isNumber(e)&&e>30&&e<500?`${e}px`:"300px"},N,I,function(){p&&showModal(CustomJoinModal,{config:S,setConfig:T,conid:w,database:C,root:p})},b,v,O,d,u,l,c,i,a,s,e=>{sleep(100).then((()=>{n(6,E=e)}))},()=>{n(6,E=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$4(),onClick:()=>getCurrentEditor$4().defineCustomJoin()});class PerspectiveView extends SvelteComponent{constructor(e){super(),init(this,e,instance$1i,create_fragment$1j,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$e(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$D(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$v(e){let t,n,o,i;const r=[create_if_block$D,create_else_block$e],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$3(e){let t,n,o,i,r,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"}}),r=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),i=space(),create_component(r.$$.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,i,m),mount_component(r,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(r.$$.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(r.$$.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(i),destroy_component(r,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$1i(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$3],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={};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$3=()=>getActiveComponent("PerspectiveTab");registerCommand({id:"perspective.refresh",category:"Perspective",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",testEnabled:()=>null!=getCurrentEditor$3(),onClick:()=>getCurrentEditor$3().refresh()}),registerFileCommands({idPrefix:"perspective",category:"Perspective",getCurrentEditor:getCurrentEditor$3,folder:"perspectives",format:"json",fileExtension:"perspective",undoRedo:!0});const allowAddToFavorites=e=>!0;function instance$1h(e,t,n){let o,i,r,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:h}=t,{pureName:f}=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(f?{schemaName:h,pureName:f}:null));component_subscribe(e,y,(e=>n(2,r=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,h=e.schemaName),"pureName"in e&&n(13,f=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,i=lib$5.findEngineDriver(c,s)),4&e.$$.dirty&&v(r.value)},[p,m,r,u,w,i,o,$,y,x,C,d,h,f,g,function(){return d},function(){return a.value||""},function(){return r.canUndo},function(){x({type:"undo"}),invalidateCommands()},function(){return r.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$1h,create_fragment$1i,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$e(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$5),$$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,i){insert(e,t,i),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$5)),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$C(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$m(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$e(e){let t,n,o,i=e[11]>0&&create_if_block$C();function r(){return e[5](e[9],e[7])}return n=new Link$1({props:{onClick:r,$$slots:{default:[create_default_slot_1$m]},$$scope:{ctx:e}}}),{c(){i&&i.c(),t=space(),create_component(n.$$.fragment)},m(e,r){i&&i.m(e,r),insert(e,t,r),mount_component(n,e,r),o=!0},p(t,o){e=t;const i={};384&o&&(i.onClick=r),4352&o&&(i.$$scope={dirty:o,ctx:e}),n.$set(i)},i(e){o||(transition_in(n.$$.fragment,e),o=!0)},o(e){transition_out(n.$$.fragment,e),o=!1},d(e){i&&i.d(e),e&&detach(t),destroy_component(n,e)}}}function create__2_slot$6(e){let t,n,o=e[8].actions,i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$e(get_each_context$e(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$e(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$e(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,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$u(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,o){e=t,i.ctx=e,3&o&&n!==(n=apiCall("server-connections/server-summary",{conid:e[0],refreshToken:e[1]}))&&handle_promise(n,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=null}}}function create_toolstrip_slot$2(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$1h(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$2],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={};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$2=()=>getActiveComponent("ServerSummaryTab");registerCommand({id:"serverSummary.refresh",category:"Server sumnmary",name:"Refresh",keyText:"F5 | CtrlOrCommand+R",toolbar:!0,isRelatedToTab:!0,icon:"icon reload",onClick:()=>getCurrentEditor$2().refresh(),testEnabled:()=>null!=getCurrentEditor$2()});const func_1$5=e=>({...e,slot:"bytes"==e.columnType?1:"actions"==e.columnType?2:null});function instance$1g(e,t,n){let{conid:o}=t,i=0;const r=createActivator("ServerSummaryTab",!0);function a(){n(1,i+=1)}async function s(e,t){const{command:n,openQuery:r,openTab:s,addDbProps:c}=e;if(n&&(await apiCall("server-connections/summary-command",{conid:o,refreshToken:i,command:n,row:t}),a()),r&&openNewTab({title:e.tabTitle||t.name,icon:"img query-data",tabComponent:"QueryDataTab",props:{conid:o,database:t.name,sql:r}}),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,i,s,r,a,(e,t)=>s(e,t)]}class ServerSummaryTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1g,create_fragment$1h,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$2(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$B(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],i=create_key_block(e);return{c(){i.c(),t=empty()},m(e,o){i.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(i,1,1,noop$3),check_outros(),i=create_key_block(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i.p(e,n)},i(e){n||(transition_in(i),n=!0)},o(e){transition_out(i),n=!1},d(e){e&&detach(t),i.d(e)}}}function create_else_block$d(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$i(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,i;const r=[create_if_block_1$i,create_else_block$d],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_default_slot$t(e){let t,n,o,i;const r=[create_if_block$B,create_else_block_1$2],a=[];function s(e,t){return e[3]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_toolstrip_slot$1(e){let t,n,o,i,r,a;return t=new ToolStripCommandButton({props:{command:"profiler.start"}}),o=new ToolStripCommandButton({props:{command:"profiler.stop"}}),r=new ToolStripCommandButton({props:{command:"profiler.save"}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$1g(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot$1],default:[create_default_slot$t]},$$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$1=()=>getActiveComponent("ProfilerTab");function instance$1f(e,t,n){let o,i,r,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:h}=t,{database:f}=t,{engine:g}=t,{jslidLoad:_}=t,$=!1,b=!1;async function v(){n(1,b=!0);const e=randomcolor({count:i.profilerChartMeasures.length,seed:5}),t=await apiCall("jsldata/extract-timeline-chart",{jslid:r,timestampFunction:i.profilerTimestampFunction,aggregateFunction:i.profilerChartAggregateFunction,measures:i.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:r}),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,h=e.conid),"database"in e&&n(7,f=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:h})),c(),c=subscribe(o,(e=>n(18,s=e)))),393472&e.$$.dirty&&n(0,i=lib$5.findEngineDriver(g||s,a)),66048&e.$$.dirty&&n(3,r=u||_),513&e.$$.dirty&&_&&i&&v()},[i,b,m,r,o,l,h,f,g,_,async function(){$=!0;let e=d;if(!e){e=(await apiCall("sessions/create",{conid:h,database:f})).sesid,d=e}const t=await apiCall("sessions/start-profiler",{sesid:e});n(16,u=t.jslid),invalidateCommands()},function(){return h&&f&&!$},async function(){$=!1,await apiCall("sessions/stop-profiler",{sesid:d}),await apiCall("sessions/kill",{sesid:d}),d=null,invalidateCommands(),v()},function(){return h&&f&&$},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$1())||void 0===e?void 0:e.startProfilingEnabled()},onClick:()=>getCurrentEditor$1().startProfiling()}),registerCommand({id:"profiler.stop",category:"Profiler",name:"Stop profiling",icon:"icon play-stop",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.stopProfilingEnabled()},onClick:()=>getCurrentEditor$1().stopProfiling()}),registerCommand({id:"profiler.save",category:"Profiler",name:"Save",icon:"icon save",testEnabled:()=>{var e;return null===(e=getCurrentEditor$1())||void 0===e?void 0:e.saveEnabled()},onClick:()=>getCurrentEditor$1().save()});class ProfilerTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1f,create_fragment$1g,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$1f(e){let t,n,o,i,r,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"),i=text$1(e[0]),r=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,i),append(t,r),append(t,a),l&&l.m(a,null),s=!0},p(e,[t]){(!s||1&t)&&set_data(i,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$1e(e,t,n){let{$$slots:o={},$$scope:i}=t,{title:r}=t;return e.$$set=e=>{"title"in e&&n(0,r=e.title),"$$scope"in e&&n(1,i=e.$$scope)},[r,i,o]}class ObjectConfigurationControl extends SvelteComponent{constructor(e){super(),init(this,e,instance$1e,create_fragment$1f,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$6)||[]}}),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$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_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,i,r,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}}}),r=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),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p(e,n){const i={};4128&n[0]|131072&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);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}),r.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_default_slot_5$5(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$5(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 i={};65536&o[1]&&(i.checked=e[47].isChecked),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_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 i={};65536&o[1]&&(i.value=e[47].operation),65536&o[1]&&(i.disabled=!e[47].isChecked),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_if_block$A(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,i){e=n;const r={};65536&i[1]&&(r.value=e[47].matchColumn1),65536&i[1]&&(r.disabled=!e[47].isChecked),16&i[0]|65536&i[1]&&(r.options=e[4]?.tables?.find(o)?.columns?.map(func_6$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)}}}function create__3_slot(e){let t,n,o="copy"!=e[47].operation&&create_if_block$A(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),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$A(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$b(e){let t,n,o,i,r=e[47].file+"";return t=new FontIcon({props:{icon:"img archive"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,t){(!i||65536&t[1])&&r!==(r=e[47].file+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o)}}}function create__4_slot(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$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const r={};32&i[0]|65536&i[1]&&(r.onClick=o),196608&i[1]&&(r.$$scope={dirty:i,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_2$j(e){let t,n,o,i,r=e[47].table+"";return t=new FontIcon({props:{icon:"img table"}}),{c(){create_component(t.$$.fragment),n=space(),o=text$1(r)},m(e,r){mount_component(t,e,r),insert(e,n,r),insert(e,o,r),i=!0},p(e,t){(!i||65536&t[1])&&r!==(r=e[47].table+"")&&set_data(o,r)},i(e){i||(transition_in(t.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),i=!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$j]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){e=n;const r={};3&i[0]|65536&i[1]&&(r.menu=appObjectTypes.DatabaseObjectAppObject.createAppObjectMenu({...e[47].tableInfo,conid:e[0],database:e[1]})),3&i[0]|65536&i[1]&&(r.onClick=o),196608&i[1]&&(r.$$scope={dirty:i,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$l(e){let t,n,o,i,r,a,s;return n=new Link$1({props:{onClick:e[16](!0),$$slots:{default:[create_default_slot_5$5]},$$scope:{ctx:e}}}),i=new Link$1({props:{onClick:e[16](!1),$$slots:{default:[create_default_slot_4$5]},$$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,({row:e})=>({47:e}),({row:e})=>[0,e?65536:0]],3:[create__3_slot,({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(i.$$.fragment),r=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(i,t,null),insert(e,r,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 r={};131072&t[1]&&(r.$$scope={dirty:t,ctx:e}),i.$set(r);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(i.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i),e&&detach(r),destroy_component(a,e)}}}function create__1_slot$4(e){let t,n,o,i,r;return n=new ObjectConfigurationControl({props:{title:"Configuration",$$slots:{default:[create_default_slot_6$3]},$$scope:{ctx:e}}}),i=new ObjectConfigurationControl({props:{title:"Imported files",$$slots:{default:[create_default_slot_1$l]},$$scope:{ctx:e}}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),create_component(i.$$.fragment),attr(t,"class","wrapper svelte-1p2rqwm")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),mount_component(i,t,null),r=!0},p(e,t){const o={};4128&t[0]|131072&t[1]&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const r={};59&t[0]|131072&t[1]&&(r.$$scope={dirty:t,ctx:e}),i.$set(r)},i(e){r||(transition_in(n.$$.fragment,e),transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(i)}}}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$s(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(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$1e(e){let t,n;return t=new ToolStripContainer({props:{$$slots:{toolstrip:[create_toolstrip_slot],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={};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=()=>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())||void 0===e?void 0:e.canRun()},onClick:()=>getCurrentEditor().run()}),registerCommand({id:"dataDuplicator.kill",category:"Data duplicator",icon:"icon close",name:"Kill",toolbar:!0,isRelatedToTab:!0,testEnabled:()=>{var e;return null===(e=getCurrentEditor())||void 0===e?void 0:e.canKill()},onClick:()=>getCurrentEditor().kill()});const func$6=e=>({label:e.name,value:e.name}),func_6$1=e=>({label:e.columnName,value:e.columnName});function instance$1d(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,E=!1,A=null,N=0;const I=createActivator("DataDuplicatorTab",!0),O=useTimerLabel(),{editorState:R,editorValue:D,setEditorData:L}=useEditorData({tabid:T,onInitialData:e=>{invalidateCommands()}});function F(e){L((t=>Object.assign(Object.assign({},t),{tables:Object.assign(Object.assign({},null==t?void 0:t.tables),{[e.name]:e})})))}component_subscribe(e,R,(e=>n(5,d=e)));const M=()=>{n(25,E=!1),O.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,i=useDatabaseInfo({conid:k,database:S})),g(),g=subscribe(i,(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,h=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==h?void 0:h.map((e=>e.name)),(e=>_.toUpper(e))))),33685504&e.$$.dirty[0]&&changeTab(T,(e=>Object.assign(Object.assign({},e),{busy:E}))),67108912&e.$$.dirty[0]&&n(3,l=s.map((e=>{var t,n,o,i,r,a,s,c,l,p,m,h;const f=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==f?void 0:f.isChecked)||void 0===o||o,_=null!==(i=null==f?void 0:f.operation)&&void 0!==i?i:"copy",$=null===(r=null==u?void 0:u.tables)||void 0===r?void 0:r.find((t=>{var n;return(null===(n=t.pureName)||void 0===n?void 0:n.toUpperCase())==e.toUpperCase()})),b=null!==(p=null!==(a=null==f?void 0:f.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===(h=null===(m=null==$?void 0:$.columns)||void 0===m?void 0:m[0])||void 0===h?void 0:h.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=A)?(apiOn(`runner-done-${e}`,M),()=>{apiOff(`runner-done-${e}`,M)}):()=>{};var e}))),$(),$=subscribe(c,(e=>n(27,p=e)))),e.$$.dirty[0]},n(9,r=useArchiveFolders()),y(),y=subscribe(r,(e=>n(12,f=e))),[k,S,A,l,u,d,N,c,a,r,i,o,f,R,L,F,e=>()=>{L((t=>{var n;const o=Object.assign({},null==t?void 0:t.tables);for(const i of s)o[i]=Object.assign(Object.assign({},null===(n=null==t?void 0:t.tables)||void 0===n?void 0:n[i]),{isChecked:e});return Object.assign(Object.assign({},t),{tables:o})}))},T,I,function(){return!!l.find((e=>e.isChecked))&&!E},function(){return C(this,void 0,void 0,(function*(){if(E)return;n(6,N+=1),n(25,E=!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=A;t=(yield apiCall("runners/start",{script:e})).runid,n(2,A=t),O.start()}))},function(){return E},function(){apiCall("runners/cancel",{runid:A}),O.stop()},x,w,E,s,p,h,e=>{L((t=>({...t,archiveFolder:e.detail})))},e=>{L((t=>({...t,rollbackAfterFinish:e.target.checked})))},()=>{L((e=>({...e,rollbackAfterFinish:!d.value?.rollbackAfterFinish})))},e=>{L((t=>({...t,skipRowsWithUnresolvedRefs:e.target.checked})))},()=>{L((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)=>{F({...e,matchColumn1:t.detail})},(e,t)=>{F({...e,operation:t.detail})},(e,t)=>{F({...e,isChecked:t.target.checked})}]}class DataDuplicatorTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1d,create_fragment$1e,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_if_block_2$9(e){let t,n;const o=[e[6],{grider:e[1]},{display:e[3]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DataGridCore({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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(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_if_block_1$h(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$z(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$1d(e){let t,n,o,i;const r=[create_if_block$z,create_if_block_1$h,create_if_block_2$9],a=[];function s(e,t){return e[0]?0:e[2]?1:e[1]?2:-1}return~(t=s(e))&&(n=a[t]=r[t](e)),{c(){n&&n.c(),o=empty()},m(e,n){~t&&a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?~t&&a[t].p(e,i):(n&&(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros()),~t?(n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null)},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){~t&&a[t].d(e),e&&detach(o)}}}function instance$1c(e,t,n){let o,i,r;var a=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,r=e)));const m=writable(lib$1.createGridCache());component_subscribe(e,m,(e=>n(9,i=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,r,p.update,i,m.update))},t=exclude_internal_props(t),[c,u,d,o,p,m,t,s,l,i,r]}class PreviewDataGrid extends SvelteComponent{constructor(e){super(),init(this,e,instance$1c,create_fragment$1d,safe_not_equal,{reader:7})}}function create_if_block$y(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$3(e){let t,n,o,i;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let r=e[4]&&create_if_block$y();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};2&o&&(i.uploadedFile=e[1]),4&o&&(i.openedFile=e[2]),n.$set(i),e[4]?r?16&o&&transition_in(r,1):(r=create_if_block$y(),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_default_slot_5$4(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(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_default_slot_4$4(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(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_default_slot_3$a(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=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_default_slot_2$i(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_1$k(e){let t,n,o,i,r,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_5$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_4$4]},$$scope:{ctx:e}}}),r=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_3$a]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_2$i]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const i={};268435496&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const a={};268435496&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),268435968&n&&(c.$$scope={dirty:n,ctx:e}),r.$set(c);const l={};268435456&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e)}}}function create__2_slot$3(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot_1$k]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};268436008&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$r(e){let t,n;return t=new HorizontalSplitter({props:{initialValue:"70%",$$slots:{2:[create__2_slot$3],1:[create__1_slot$3]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};268436030&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_fragment$1c(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$slots:{default:[create_default_slot$r]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const o={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),268436030&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$1b(e,t,n){let o,i,r,a,s,c,l,u,d=noop$3;component_subscribe(e,extensions,(e=>n(7,i=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(15,r=e))),component_subscribe(e,selectedWidget,(e=>n(16,a=e))),component_subscribe(e,currentArchive,(e=>n(8,s=e))),component_subscribe(e,currentDatabase,(e=>n(17,l=e))),e.$$.on_destroy.push((()=>d())),this&&this.__awaiter;let p=!1;const m=writable(null);component_subscribe(e,m,(e=>n(9,u=e)));let{tabid:h}=t,{initialValues:f}=t,{uploadedFile:g}=t,{openedFile:_}=t,{importToCurrentTarget:$=!1}=t;const b=createRef(null);useEditorData({tabid:h});const v=()=>{n(4,p=!1),b.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:b.get()}),set_store_value(currentArchive,s=b.get(),s),set_store_value(selectedWidget,a="archive",a),set_store_value(visibleWidgetSideBar,r=!0,r))};return e.$$set=e=>{"tabid"in e&&n(12,h=e.tabid),"initialValues"in e&&n(0,f=e.initialValues),"uploadedFile"in e&&n(1,g=e.uploadedFile),"openedFile"in e&&n(2,_=e.openedFile),"importToCurrentTarget"in e&&n(13,$=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=null)?(apiOn(`runner-done-${e}`,v),()=>{apiOff(`runner-done-${e}`,v)}):()=>{};var e}))),d(),d=subscribe(o,(e=>n(14,c=e)))),e.$$.dirty},[f,g,_,null,p,0,o,i,s,u,m,function(){var e;return $?l&&"archive"!=a?{targetStorageType:"database",targetConnectionId:null===(e=null==l?void 0:l.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==l?void 0:l.name}:"default"==s?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:s}:{}},h,$,c]}class ImportExportTab extends SvelteComponent{constructor(e){super(),init(this,e,instance$1b,create_fragment$1c,safe_not_equal,{tabid:12,initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:13})}}var ImportExportTab$1=Object.freeze({__proto__:null,default:ImportExportTab}),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};function findFreeNumber(e){return 0==e.length?1:_.max(e)+1}function openNewTab(e,t,n){return __awaiter$l(this,void 0,void 0,(function*(){const o=getOpenedTabs(),i=getActiveTab();let r=null;const{savedFile:a,savedFolder:s,savedFilePath:c}=e.props||{};(a||c)&&(r=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(!r&&!l&&u&&u.matchingProps){const t=jsonStableStringify(_.pick(e.props||{},u.matchingProps));r=o.find((n=>n.props&&n.tabComponent==e.tabComponent&&null==n.closedTime&&jsonStableStringify(_.pick(n.props||{},u.matchingProps))==t))}if(r)return void openedTabs.update((e=>setSelectedTabFunc(e,r.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 r=getTabDbKey(e),a=sortTabs(t.filter((e=>null==e.closedTime))),s=Object.assign(Object.assign({},e),{tabid:d});if(null!=r){const e=_.findLastIndex(a,(e=>getTabDbKey(e)==r));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==i?void 0:i.multiTabIndex)&&void 0!==o?o:0,tabOrder:_.findIndex(a,(e=>e.tabid==d))})]}))}))}function duplicateTab(e){return __awaiter$l(this,void 0,void 0,(function*(){yield saveAllPendingEditorData();let t=e.title;const n=t.match(/^(.*#)[\d]+$/);n&&(t=n[1]);const o=/^tabdata_([^_]+)_([^_]+)$/,i={};for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t),r=n.match(o);r&&r[2]==e.tabid&&(i[r[1]]=JSON.parse(localStorage.getItem(n)))}for(const t of yield localforage.keys()){const n=t.match(o);n&&n[2]==e.tabid&&(i[n[1]]=yield localforage.getItem(t))}openNewTab(Object.assign(Object.assign({},_.omit(e,["tabid"])),{title:t}),i,{forceNewTab:!0})}))}function getTabDbKey(e){return"ConnectionTab"==e.tabComponent?"connections.":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 newQuery(e={}){var{tabComponent:t="QueryTab",icon:n="img sql-file",title:o,initialData:i,multiTabIndex:r}=e,a=__rest(e,["tabComponent","icon","title","initialData","multiTabIndex"]);const s=getCurrentDatabase(),c=(null==s?void 0:s.connection)||{},l=null==s?void 0:s.name;openNewTab({title:o||"Query #",icon:n,tooltip:`${getConnectionLabel(c)}\n${l}`,tabComponent:t,multiTabIndex:r,props:Object.assign(Object.assign({},a),{conid:c._id,database:l})},{editor:i})}function newQueryDesign(){return newQuery({tabComponent:"QueryDesignTab",icon:"img query-design"})}function newDiagram(){return newQuery({tabComponent:"DiagramTab",icon:"img diagram",title:"Diagram #"})}function newPerspective(){return newQuery({tabComponent:"PerspectiveTab",icon:"img perspective",title:"Perspective #"})}function create_fragment$1b(e){let t,n;const o=[e[4],{data:e[0]},{icon:e[1]?.icon},{title:e[0]?.file},{menu:e[2]()}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",(function(){is_function(e[1]?.tabComponent&&e[3])&&(e[1]?.tabComponent&&e[3]).apply(this,arguments)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,[i]){e=n;const r=23&i?get_spread_update(o,[16&i&&get_spread_object(e[4]),1&i&&{data:e[0]},2&i&&{icon:e[1]?.icon},1&i&&{title:e[0]?.file},4&i&&{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 sql={icon:"img sql-file",format:"text",tabComponent:"QueryTab",folder:"sql",currentConnection:!0},shell={icon:"img shell",format:"text",tabComponent:"ShellTab",folder:"shell",currentConnection:!1},markdown={icon:"img markdown",format:"text",tabComponent:"MarkdownEditorTab",folder:"markdown",currentConnection:!1},charts={icon:"img chart",format:"json",tabComponent:"ChartTab",folder:"charts",currentConnection:!0},query={icon:"img query-design",format:"json",tabComponent:"QueryDesignTab",folder:"query",currentConnection:!0},sqlite={icon:"img sqlite-database",format:"binary",tabComponent:null,folder:"sqlite",currentConnection:!0},diagrams={icon:"img diagram",format:"json",tabComponent:"DiagramTab",folder:"diagrams",currentConnection:!0},perspectives={icon:"img perspective",format:"json",tabComponent:"PerspectiveTab",folder:"pesrpectives",currentConnection:!0},SAVED_FILE_HANDLERS={sql:sql,shell:shell,markdown:markdown,charts:charts,query:query,sqlite:sqlite,diagrams:diagrams,perspectives:perspectives},extractKey$7=e=>e.file,createMatcher$4=({file:e})=>t=>lib$5.filterName(t,e);function instance$1a(e,t,n){let o,i;const r=["data"];let a,s=compute_rest_props(t,r);component_subscribe(e,currentDatabase,(e=>n(6,a=e)));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;const u=()=>{openNewTab({title:l.file,icon:"img markdown",tabComponent:"MarkdownViewTab",props:{savedFile:l.file,savedFolder:"markdown",savedFormat:"text"}})};const d=()=>{showModal(ConfirmModal,{message:`Really delete file ${l.file}?`,onConfirm:()=>{apiCall("files/delete",l)}})},p=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/rename",Object.assign(Object.assign({},l),{newFile:e}))}})},m=()=>{showModal(InputTextModal,{value:l.file,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("files/copy",Object.assign(Object.assign({},l),{newFile:e}))}})};function h(){return c(this,void 0,void 0,(function*(){const e=yield apiCall("files/load",{folder:o,file:l.file,format:i.format}),t={};let n;if(i.currentConnection){const e=_.get(a,"connection")||{},o=_.get(a,"name");t.conid=e._id,t.database=o,n=`${getConnectionLabel(e)}\n${o}`}openNewTab({title:l.file,icon:i.icon,tabComponent:i.tabComponent,tooltip:n,props:Object.assign({savedFile:l.file,savedFolder:i.folder,savedFormat:i.format},t)},{editor:e})}))}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(4,s=compute_rest_props(t,r)),"data"in e&&n(0,l=e.data)},e.$$.update=()=>{1&e.$$.dirty&&n(5,o=null==l?void 0:l.folder),32&e.$$.dirty&&n(1,i=SAVED_FILE_HANDLERS[o])},[l,i,function(){return[(null==i?void 0:i.tabComponent)&&{text:"Open",onClick:h},hasPermission(`files/${l.folder}/write`)&&{text:"Rename",onClick:p},hasPermission(`files/${l.folder}/write`)&&{text:"Create copy",onClick:m},hasPermission(`files/${l.folder}/write`)&&{text:"Delete",onClick:d},"markdown"==o&&{text:"Show page",onClick:u}]},h,s,o]}class SavedFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$1a,create_fragment$1b,safe_not_equal,{data:0})}}var savedFileAppObject=Object.freeze({__proto__:null,default:SavedFileAppObject,SAVED_FILE_HANDLERS:SAVED_FILE_HANDLERS,extractKey:extractKey$7,createMatcher:createMatcher$4});function canOpenByElectron(e,t){var n;if(!e)return!1;const o=e.toLowerCase();if(o.endsWith(".sql"))return!0;if(o.endsWith(".diagram"))return!0;if(o.endsWith(".qdesign"))return!0;if(o.endsWith(".perspective"))return!0;if(o.endsWith(".json"))return!0;if(o.endsWith(".db")||o.endsWith(".sqlite")||o.endsWith(".sqlite3"))return!0;for(const e of t.fileFormats){if(o.endsWith(`.${e.extension}`))return!0;if(null===(n=e.extensions)||void 0===n?void 0:n.find((e=>o.endsWith(`.${e}`))))return!0}return!1}function openSqliteFile(e){return __awaiter$l(this,void 0,void 0,(function*(){const t=getDatabaseFileLabel(e),n=yield apiCall("connections/save",{_id:void 0,databaseFile:e,engine:"sqlite@dbgate-plugin-sqlite",singleDatabase:!0,defaultDatabase:t});currentDatabase.set({connection:n,name:getDatabaseFileLabel(e)})}))}function getFileEncoding(e,t){var n=Buffer.alloc(5),o=t.openSync(e,"r");t.readSync(o,n,0,5,0),t.closeSync(o);let i=null;return i||239!==n[0]||187!==n[1]||191!==n[2]||(i="utf8"),i||254!==n[0]||255!==n[1]||(i="utf16be"),i||255!==n[0]||254!==n[1]||(i="utf16le"),i||(i="ascii"),i}function openElectronJsonLinesFile(e,t){openNewTab({title:t.name,tooltip:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${e}`}})}function openSavedElectronFile(e,t,n){var o;return __awaiter$l(this,void 0,void 0,(function*(){const i=SAVED_FILE_HANDLERS[n],r=yield apiCall("files/load-from",{filePath:e,format:i.format}),a={};let s;const c=getCurrentDatabase();if(i.currentConnection){const e=(null==c?void 0:c.connection)||{},t=null==c?void 0:c.name;a.conid=null===(o=null==c?void 0:c.connection)||void 0===o?void 0:o._id,a.database=t,s=`${getConnectionLabel(e)}\n${t}`}openNewTab({title:t.name,icon:i.icon,tabComponent:i.tabComponent,tooltip:s,props:Object.assign({savedFile:null,savedFolder:null,savedFilePath:e,savedFormat:i.format},a)},{editor:r})}))}function openElectronFileCore(e,t){const n=e.toLowerCase(),o=window.require("path"),i=window.require("fs"),r=o.parse(e),a=getUploadListener();if(n.endsWith(".sql")){const t=getFileEncoding(e,i),n=i.readFileSync(e,{encoding:t});newQuery({title:r.name,initialData:n,savedFilePath:e,savedFormat:"text"})}else if(n.endsWith(".db")||n.endsWith(".sqlite")||n.endsWith(".sqlite"))openSqliteFile(e);else if(n.endsWith(".jsonl")||n.endsWith(".ndjson"))openElectronJsonLinesFile(e,r);else if(n.endsWith(".json"))i.readFile(e,{encoding:"utf-8"},((e,t)=>{if(e)showModal(ErrorMessageModal,{message:(null==e?void 0:e.message)||"File cannot be loaded"});else try{openJsonDocument(JSON.parse(t))}catch(e){showModal(ErrorMessageModal,{message:e.message})}}));else if(n.endsWith(".diagram"))openSavedElectronFile(e,r,"diagrams");else if(n.endsWith(".qdesign"))openSavedElectronFile(e,r,"query");else if(n.endsWith(".perspective"))openSavedElectronFile(e,r,"perspectives");else for(const o of t.fileFormats)n.endsWith(`.${o.extension}`)&&(a?a({filePath:e,storageType:o.storageType,shortName:r.name}):showModal(ImportExportModal$1,{openedFile:{filePath:e,storageType:o.storageType,shortName:r.name},importToCurrentTarget:!0,initialValues:{sourceStorageType:o.storageType}}))}function getFileFormatFilters(e){return e.fileFormats.filter((e=>e.readerFunc)).map((e=>({name:e.name,extensions:e.extensions||[e.extension]})))}function getFileFormatExtensions(e){return _.flatten(e.fileFormats.filter((e=>e.readerFunc)).map((e=>e.extensions||[e.extension])))}function openElectronFile(){return __awaiter$l(this,void 0,void 0,(function*(){const e=getElectron(),t=get_store_value(extensions),n=yield e.showOpenDialog({filters:[{name:"All supported files",extensions:["sql","sqlite","db","sqlite3","diagram","qdesign","perspective","json",...getFileFormatExtensions(t)]},{name:"SQL files",extensions:["sql"]},{name:"JSON files",extensions:["json"]},{name:"Diagram files",extensions:["diagram"]},{name:"Query designer files",extensions:["qdesign"]},{name:"Perspective files",extensions:["perspective"]},{name:"SQLite database",extensions:["sqlite","db","sqlite3"]},...getFileFormatFilters(t)],properties:["showHiddenFiles","openFile"]}),o=n&&n[0];canOpenByElectron(o,t)&&openElectronFileCore(o,t)}))}let uploadListener;function setUploadListener(e){uploadListener=e}function getUploadListener(){return uploadListener}function uploadFiles(e){const t=get_store_value(extensions),n=getElectron();e.forEach((e=>__awaiter$l(this,void 0,void 0,(function*(){if(n&&canOpenByElectron(e.path,t))return void openElectronFileCore(e.path,t);const o=33554432;if(parseInt(e.size,10)>=o)return void showModal(ErrorMessageModal,{title:"Upload error",message:`File is too big, current size is ${Math.round(e.size/1024).toLocaleString()} KB, max allowed size is ${Math.round(32768).toLocaleString()} KB`});const i=new FormData;i.append("data",e);const r={method:"POST",body:i,headers:resolveApiHeaders()},a=resolveApi(),s=yield fetch(`${a}/uploads/upload`,r),c=yield s.json();if(c.shortName=e.name,e.name.endsWith(".jsonl")||e.name.endsWith(".ndjson"))openNewTab({title:c.shortName,icon:"img archive",tabComponent:"ArchiveFileTab",props:{jslid:`file://${c.filePath}`}});else{for(const n of t.fileFormats)e.name.endsWith("."+n.extension)&&(c.shortName=e.name.slice(0,-n.extension.length-1),c.storageType=n.storageType);uploadListener?uploadListener(c):findFileFormat(t,c.storageType)&&showModal(ImportExportModal$1,{uploadedFile:c,importToCurrentTarget:!0,initialValues:{sourceStorageType:c.storageType}})}}))))}function create_fragment$1a(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$19(e,t,n){let o,i,r;component_subscribe(e,extensions,(e=>n(6,r=e)));let{name:a}=t,{targetDbinfo:s}=t;const{values:c,setFieldValue:l}=getFormContext();component_subscribe(e,c,(e=>n(1,i=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(r,a,i))},[a,i,o,c,l,s,r,e=>l(`actionType_${a}`,e.detail)]}class SourceAction extends SvelteComponent{constructor(e){super(),init(this,e,instance$19,create_fragment$1a,safe_not_equal,{name:0,targetDbinfo:5})}}function create_if_block$x(e){let t,n,o,i,r,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),i=!0,r||(a=listen(t,"click",e[4]),r=!0)},p(e,n){(!i||2&n&&o!==(o=e[1]&&e[1].fileName))&&attr(t,"title",o)},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),r=!1,a()}}}function create_fragment$19(e){let t,n,o,i,r,a,s,c,l,u,d,p=e[1]&&!!e[1].isDownload&&create_if_block$x(e);return c=new FontIcon({props:{icon:"icon delete"}}),{c(){t=element("div"),n=element("div"),o=text$1(e[0]),i=space(),r=element("div"),p&&p.c(),a=space(),s=element("div"),create_component(c.$$.fragment),attr(s,"class","icon svelte-170ou0a"),attr(r,"class","flex"),attr(t,"class","flex space-between")},m(m,h){insert(m,t,h),append(t,n),append(n,o),append(t,i),append(t,r),p&&p.m(r,null),append(r,a),append(r,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$x(e),p.c(),transition_in(p,1),p.m(r,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$18(e,t,n){let o,i,{name:r}=t;const{values:a,setFieldValue:s}=getFormContext();component_subscribe(e,a,(e=>n(5,i=e)));const c=e=>{s(`sourceFile_${r}`,{fileName:e,isDownload:!0})};return e.$$set=e=>{"name"in e&&n(0,r=e.name)},e.$$.update=()=>{33&e.$$.dirty&&n(1,o=i[`sourceFile_${r}`])},[r,o,a,()=>{s("sourceList",i.sourceList.filter((e=>e!=r)))},()=>{showModal(ChangeDownloadUrlModal,{url:o.fileName,onConfirm:c})},i]}class SourceName extends SvelteComponent{constructor(e){super(),init(this,e,instance$18,create_fragment$19,safe_not_equal,{name:0})}}function create_fragment$18(e){let t,n,o,i,r,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}),r=new FormStyledButton({props:{type:"button",value:"All files"}}),r.$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(),i=element("div"),create_component(r.$$.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,i),mount_component(r,i,null),append(i,a),mount_component(s,i,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(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),destroy_component(n),destroy_component(r),destroy_component(s)}}}function instance$17(e,t,n){let o,i,r,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,r=e)))),2&e.$$.dirty&&n(2,i=(r||[]).map((e=>({value:e.name,label:e.name}))))},t=exclude_internal_props(t),[l,r,i,o,a,u,d,t,c,()=>u(l,_.uniq([...a[l]||[],...r&&r.map((e=>e.name))])),()=>u(l,[])]}class FormArchiveFilesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$17,create_fragment$18,safe_not_equal,{folderName:8,name:0})}}function create_if_block$w(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$17(e){let t,n,o,i;t=new FormStyledButton({props:{type:"button",value:"Add file(s)"}}),t.$on("click",e[2]);let r=e[0]&&create_if_block$w();return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,[t]){e[0]?r?1&t&&transition_in(r,1):(r=create_if_block$w(),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.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$16(e,t,n){let o,i;component_subscribe(e,extensions,(e=>n(4,i=e)));var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,()=>r(void 0,void 0,void 0,(function*(){const e=getElectron(),t=yield e.showOpenDialog({properties:["openFile","multiSelections"],filters:getFileFilters(i,o.sourceStorageType)});if(t){const e=window.require("path");try{n(0,a=!0),yield addFilesToSourceList(i,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$16,create_fragment$17,safe_not_equal,{})}}function create_else_block$c(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$v(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$16(e){let t,n,o,i,r,a,s,c,l;const u=[create_if_block$v,create_else_block$c],d=[];return o=function(e,t){return e[0]?0:1}(e),i=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"),i.c(),r=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,i){insert(e,t,i),append(t,n),d[o].m(n,null),append(n,r),mount_component(a,n,null),append(t,s),append(t,c),l=!0},p:noop$3,i(e){l||(transition_in(i),transition_in(a.$$.fragment,e),l=!0)},o(e){transition_out(i),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$15(e,t,n){let o,i;component_subscribe(e,extensions,(e=>n(5,i=e)));let{setPreviewSource:r}=t;const a=getElectron(),{values:s}=getFormContext();component_subscribe(e,s,(e=>n(4,o=e)));const c=e=>{addFilesToSourceList(i,[{fileName:e,shortName:extractUrlName(e,o),isDownload:!0}],o,s,null,r)};return e.$$set=e=>{"setPreviewSource"in e&&n(3,r=e.setPreviewSource)},[a,s,()=>showModal(ChangeDownloadUrlModal,{onConfirm:c}),r]}class FilesInput extends SvelteComponent{constructor(e){super(),init(this,e,instance$15,create_fragment$16,safe_not_equal,{setPreviewSource:3})}}function create_if_block$u(e){let t,n;const o=[e[3],{options:e[0]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new FormSelectField({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=9&n?get_spread_update(o,[8&n&&get_spread_object(e[3]),1&n&&{options:e[0]}]):{};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$15(e){let t,n,o=e[0].length>0&&create_if_block$u(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0].length>0?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$u(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$14(e,t,n){let o,i;const r=["conidName","databaseName"];let a,s,c=compute_rest_props(t,r),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,r)),"conidName"in e&&n(4,u=e.conidName),"databaseName"in e&&n(5,d=e.databaseName)},e.$$.update=()=>{176&e.$$.dirty&&(n(1,o=useDatabaseInfo({conid:s[u],database:p[d]})),l(),l=subscribe(o,(e=>n(6,a=e)))),64&e.$$.dirty&&n(0,i=(a&&a.schemas||[]).map((e=>({value:e.schemaName,label:e.schemaName}))))},[i,o,p,c,u,d,a,s]}class FormSchemaSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$14,create_fragment$15,safe_not_equal,{conidName:4,databaseName:5})}}function get_each_context$d(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block$t(e){let t,n;return t=new FormStyledButton({props:{type:"button",value:`All ${e[13]}`}}),t.$on("click",(function(){return e[11](e[13])})),{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$d(e){let t,n,o=e[2]&&e[2][e[13]]?.length>0&&create_if_block$t(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[2]&&e[2][e[13]]?.length>0?o?(o.p(e,n),4&n&&transition_in(o,1)):(o=create_if_block$t(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$14(e){let t,n,o,i,r,a,s;const c=[e[7],{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$d(get_each_context$d(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[12]),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div");for(let e=0;e<4;e+=1)d[e].c();r=space(),create_component(a.$$.fragment),attr(t,"class","wrapper svelte-1xz9rwb")},m(e,c){insert(e,t,c),mount_component(n,t,null),append(t,o),append(t,i);for(let e=0;e<4;e+=1)d[e].m(i,null);append(i,r),mount_component(a,i,null),s=!0},p(e,[t]){const o=137&t?get_spread_update(c,[128&t&&get_spread_object(e[7]),1&t&&{name:e[0]},8&t&&{options:e[3]},c[3],c[4]]):{};if(n.$set(o),71&t){let n;for(u=["tables","views","matviews","collections"],n=0;n<4;n+=1){const o=get_each_context$d(e,u,n);d[n]?(d[n].p(o,t),transition_in(d[n],1)):(d[n]=create_each_block$d(o),d[n].c(),transition_in(d[n],1),d[n].m(i,r))}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$13(e,t,n){let o,i;const r=["conidName","databaseName","schemaName","name"];let a,s,c=compute_rest_props(t,r),l=noop$3;e.$$.on_destroy.push((()=>l()));let{conidName:u}=t,{databaseName:d}=t,{schemaName:p}=t,{name:m}=t;const{values:h,setFieldValue:f}=getFormContext();component_subscribe(e,h,(e=>n(1,a=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,r)),"conidName"in e&&n(8,u=e.conidName),"databaseName"in e&&n(9,d=e.databaseName),"schemaName"in e&&n(10,p=e.schemaName),"name"in e&&n(0,m=e.name)},e.$$.update=()=>{770&e.$$.dirty&&(n(4,o=useDatabaseInfo({conid:a[u],database:a[d]})),l(),l=subscribe(o,(e=>n(2,s=e)))),1030&e.$$.dirty&&n(3,i=_.compact([...(null==s?void 0:s.tables)||[],...(null==s?void 0:s.views)||[],...(null==s?void 0:s.matviews)||[],...(null==s?void 0:s.collections)||[]]).filter((e=>!a[p]||e.schemaName==a[p])).map((e=>({value:e.pureName,label:e.pureName}))))},[m,a,s,i,o,h,f,c,u,d,p,e=>f(m,_.compact(_.uniq([...a[m]||[],...s[e]?.map((e=>e.pureName))||[]]))),()=>f(m,[])]}class FormTablesSelect extends SvelteComponent{constructor(e){super(),init(this,e,instance$13,create_fragment$14,safe_not_equal,{conidName:8,databaseName:9,schemaName:10,name:0})}}function create_if_block_13$1(e){let t,n,o,i;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-d1p00z")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_12$1(e){let t,n,o,i;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-d1p00z")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_11$1(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$1(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$1(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};4&n&&(i.name=e[2]),1&n&&(i.direction=e[0]),t.$set(i);const r={};4&n&&(r.conidName=e[2]),8&n&&(r.name=e[3]),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_7$1(e){let t,n,o,i;t=new FormSchemaSelect({props:{conidName:e[2],databaseName:e[3],name:e[5],label:"Schema"}});let r=e[6]&&create_if_block_8$1(e);return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,n){const i={};4&n&&(i.conidName=e[2]),8&n&&(i.databaseName=e[3]),32&n&&(i.name=e[5]),t.$set(i),e[6]?r?(r.p(e,n),64&n&&transition_in(r,1)):(r=create_if_block_8$1(e),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.d(e),e&&detach(o)}}}function create_if_block_8$1(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$3(e){let t,n,o,i,r,a;const s=[create_if_block_6$2,create_else_block$b],c=[];function l(e,t){return"json"==e[11].sourceQueryType?0:1}return i=l(e),r=c[i]=s[i](e),{c(){t=element("div"),t.textContent="Query",n=space(),o=element("div"),r.c(),attr(t,"class","label svelte-d1p00z"),attr(o,"class","sqlwrap svelte-d1p00z")},m(e,r){insert(e,t,r),insert(e,n,r),insert(e,o,r),c[i].m(o,null),a=!0},p(e,t){let n=i;i=l(e),i===n?c[i].p(e,t):(group_outros(),transition_out(c[n],1,1,(()=>{c[n]=null})),check_outros(),r=c[i],r?r.p(e,t):(r=c[i]=s[i](e),r.c()),transition_in(r,1),r.m(o,null))},i(e){a||(transition_in(r),a=!0)},o(e){transition_out(r),a=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),c[i].d()}}}function create_else_block$b(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$2(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$4(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$5(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$8(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$g(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$s(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$13(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b="source"==e[0]&&create_if_block_13$1(),v="target"==e[0]&&create_if_block_12$1(),y=e[15]&&create_if_block_11$1(e);a=new FormStyledButton({props:{value:"Current archive"}}),a.$on("click",e[22]);let x="target"==e[0]&&create_if_block_10$1(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$1(e),C="database"==e[9]&&create_if_block_7$1(e),k="query"==e[9]&&create_if_block_5$3(e),S="archive"==e[9]&&create_if_block_4$4(e),T="archive"==e[9]&&"source"==e[0]&&create_if_block_3$5(e),E=e[10]&&"source"==e[0]&&create_if_block_2$8(e),A=e[10]?.args&&create_if_block_1$g(e),N=e[12]?.importExportArgs&&create_if_block$s(e);return{c(){t=element("div"),b&&b.c(),n=space(),v&&v.c(),o=space(),i=element("div"),y&&y.c(),r=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(),h=space(),T&&T.c(),f=space(),E&&E.c(),g=space(),A&&A.c(),_=space(),N&&N.c(),attr(i,"class","buttons svelte-d1p00z"),attr(t,"class","column svelte-d1p00z")},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,i),y&&y.m(i,null),append(i,r),mount_component(a,i,null),append(i,s),x&&x.m(i,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,h),T&&T.m(t,null),append(t,f),E&&E.m(t,null),append(t,g),A&&A.m(t,null),append(t,_),N&&N.m(t,null),$=!0},p(e,[a]){"source"==e[0]?b?1&a&&transition_in(b,1):(b=create_if_block_13$1(),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$1(),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$1(e),y.c(),transition_in(y,1),y.m(i,r)):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$1(e),x.c(),transition_in(x,1),x.m(i,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$1(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$1(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$3(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$4(e),S.c(),transition_in(S,1),S.m(t,h)):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$5(e),T.c(),transition_in(T,1),T.m(t,f)):T&&(group_outros(),transition_out(T,1,1,(()=>{T=null})),check_outros()),e[10]&&"source"==e[0]?E?(E.p(e,a),1025&a&&transition_in(E,1)):(E=create_if_block_2$8(e),E.c(),transition_in(E,1),E.m(t,g)):E&&(group_outros(),transition_out(E,1,1,(()=>{E=null})),check_outros()),e[10]?.args?A?(A.p(e,a),1024&a&&transition_in(A,1)):(A=create_if_block_1$g(e),A.c(),transition_in(A,1),A.m(t,_)):A&&(group_outros(),transition_out(A,1,1,(()=>{A=null})),check_outros()),e[12]?.importExportArgs?N?(N.p(e,a),4096&a&&transition_in(N,1)):(N=create_if_block$s(e),N.c(),transition_in(N,1),N.m(t,null)):N&&(group_outros(),transition_out(N,1,1,(()=>{N=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(E),transition_in(A),transition_in(N),$=!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(E),transition_out(A),transition_out(N),$=!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(),E&&E.d(),A&&A.d(),N&&N.d()}}}function instance$12(e,t,n){let o,i,r,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:h}=t,{storageTypeField:f}=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,h=e.direction),"storageTypeField"in e&&n(1,f=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[f]?[{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,i=u[f]),2060&e.$$.dirty&&useDatabaseInfo({conid:u[g],database:u[_]}),2064&e.$$.dirty&&useArchiveFiles({folder:u[$]}),524800&e.$$.dirty&&n(10,r=findFileFormat(c,i)),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))},[h,f,g,_,$,b,v,y,x,i,r,u,s,a,o,d,p,w,C,c,l,()=>{w.update((e=>({...e,[f]:"database",[g]:d?.connection?._id,[_]:d?.name})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:p})))},()=>{w.update((e=>({...e,[f]:"archive",[$]:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`})))},e=>e.directions.includes(h),e=>C("sourceQuery",e.detail),e=>C("sourceQuery",e.detail),e=>!e.direction||e.direction==h,e=>!e.direction||e.direction==h]}class SourceTargetConfig extends SvelteComponent{constructor(e){super(),init(this,e,instance$12,create_fragment$13,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[22]}`]||[]).filter((e=>!e.skip)).length;e[23]=t}function create_if_block$r(e){let t,n;return t=new CheckboxField({props:{checked:e[2]==e[22]}}),t.$on("change",(function(...t){return e[16](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const i={};4194308&o&&(i.checked=e[2]==e[22]),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__0_slot(e){let t,n,o=e[3]&&create_if_block$r(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,n){e[3]?o?(o.p(e,n),8&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 create__1_slot$2(e){let t,n;return t=new TextField({props:{value:getTargetName(e[1],e[22],e[0])}}),t.$on("input",(function(...t){return e[15](e[22],...t)})),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,o){e=n;const i={};4194307&o&&(i.value=getTargetName(e[1],e[22],e[0])),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$q(e){let t,n=e[23]>0?`(${e[23]} columns)`:"(copy from source)";return{c(){t=text$1(n)},m(e,n){insert(e,t,n)},p(e,o){4194305&o&&n!==(n=e[23]>0?`(${e[23]} 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[14](e[22])}return get_context(e),t=new Link$1({props:{onClick:o,$$slots:{default:[create_default_slot$q]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(n,i){get_context(e=n);const r={};4194305&i&&(r.onClick=o),20971521&i&&(r.$$scope={dirty:i,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$12(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g;return o=new SourceTargetConfig({props:{direction:"source",storageTypeField:"sourceStorageType",connectionIdField:"sourceConnectionId",databaseNameField:"sourceDatabaseName",archiveFolderField:"sourceArchiveFolder",schemaNameField:"sourceSchemaName",tablesField:"sourceList",engine:e[4],setPreviewSource:e[9].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"}}),f=new TableControl({props:{rows:e[0].sourceList||[],columns:[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{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})=>({22:e}),({row:e})=>e?4194304:0],1:[create__1_slot$2,({row:e})=>({22:e}),({row:e})=>e?4194304:0],0:[create__0_slot,({row:e})=>({22:e}),({row:e})=>e?4194304:0]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=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"),h=space(),create_component(f.$$.fragment),attr(r,"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,i),append(n,r),mount_component(a,r,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,h),mount_component(f,u,null),g=!0},p(e,[t]){const n={};16&t&&(n.engine=e[4]),o.$set(n);const i={};1&t&&(i.rows=e[0].sourceList||[]),64&t&&(i.columns=[{fieldName:"source",header:"Source",component:SourceName,getProps:func_2$2},{fieldName:"action",header:"Action",component:SourceAction,getProps:e[17]},{fieldName:"target",header:"Target",slot:1},{fieldName:"preview",header:"Preview",slot:0},{fieldName:"columns",header:"Columns",slot:2}]),20971535&t&&(i.$$scope={dirty:t,ctx:e}),f.$set(i)},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(f.$$.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(f.$$.fragment,e),g=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(a),destroy_component(c),destroy_component(p),destroy_component(f)}}}var __awaiter$2=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter$2(this,void 0,void 0,(function*(){const r=t;o.push(r),i[`sourceFile_${r}`]={fileName:e,isDownload:n}}))}function addFilesToSourceList(e,t,n,o,i,r){return __awaiter$2(this,void 0,void 0,(function*(){const a=[],s={},c=i||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],i&&i!=n.sourceStorageType&&(s.sourceStorageType=i);for(const e of a)n.fixedTargetPureName&&(n[`targetName_${e}`]=n.fixedTargetPureName,n[`actionType_${e}`]="appendData");o.set(Object.assign(Object.assign({},n),s)),r&&1==a.length&&r(a[0])}))}const func_2$2=e=>({name:e});function instance$11(e,t,n){let o,i,r,a,s,c,l,u,d,p=noop$3;component_subscribe(e,extensions,(e=>n(1,l=e))),e.$$.on_destroy.push((()=>p()));var m=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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{uploadedFile:h}=t,{openedFile:f}=t,{previewReaderStore:g}=t;const{values:_,setFieldValue:$}=getFormContext();component_subscribe(e,_,(e=>n(0,c=e)));const b=writable(null);component_subscribe(e,b,(e=>n(2,u=e)));const v=e=>{addFilesToSourceList(l,[{fileName:e.filePath,shortName:e.shortName}],c,_,a&&0!=a.length?null:e.storageType,b.set)};onMount((()=>(setUploadListener(v),h&&v(h),f&&v(f),()=>{setUploadListener(null)})));return e.$$set=e=>{"uploadedFile"in e&&n(10,h=e.uploadedFile),"openedFile"in e&&n(11,f=e.openedFile),"previewReaderStore"in e&&n(12,g=e.previewReaderStore)},e.$$.update=()=>{var t;1&e.$$.dirty&&n(6,o=useDatabaseInfo({conid:c.targetConnectionId,database:c.targetDatabaseName})),1&e.$$.dirty&&(n(5,i=useConnectionInfo({conid:c.sourceConnectionId})),p(),p=subscribe(i,(e=>n(13,d=e)))),8192&e.$$.dirty&&n(4,r=null==d?void 0:d.engine),1&e.$$.dirty&&(a=c.sourceList),3&e.$$.dirty&&n(3,s=!!findFileFormat(l,c.sourceStorageType)||"archive"==c.sourceStorageType),5&e.$$.dirty&&(t=u,m(void 0,void 0,void 0,(function*(){if(t&&s){const e=yield createPreviewReader(l,c,t);g&&g.set(e)}else g&&g.set(null)})))},[c,l,u,s,r,i,o,_,$,b,h,f,g,d,e=>{showModal(ColumnMapModal,{value:c[`columns_${e}`],onConfirm:t=>$(`columns_${e}`,t)})},(e,t)=>$(`targetName_${e}`,t.target.value),(e,t)=>{t.target.checked?set_store_value(b,u=e,u):set_store_value(b,u=null,u)},e=>({name:e,targetDbinfo:o})]}class ImportExportConfigurator extends SvelteComponent{constructor(e){super(),init(this,e,instance$11,create_fragment$12,safe_not_equal,{uploadedFile:10,openedFile:11,previewReaderStore:12})}}function create_if_block_2$7(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,i;n=new ImportExportConfigurator({props:{uploadedFile:e[1],openedFile:e[2],previewReaderStore:e[10]}});let r=e[4]&&create_if_block_2$7();return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),r&&r.c(),attr(t,"class","content svelte-nk47x3"),attr(t,"slot","1")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),r&&r.m(t,null),i=!0},p(e,o){const i={};2&o&&(i.uploadedFile=e[1]),4&o&&(i.openedFile=e[2]),n.$set(i),e[4]?r?16&o&&transition_in(r,1):(r=create_if_block_2$7(),r.c(),transition_in(r,1),r.m(t,null)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(n.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r),i=!1},d(e){e&&detach(t),destroy_component(n),r&&r.d()}}}function create_default_slot_10(e){let t,n;return t=new RunnerOutputFiles({props:{runnerId:e[3],executeNumber:e[5]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.runnerId=e[3]),32&n&&(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_default_slot_9(e){let t,n;return t=new SocketMessageView({props:{eventName:e[3]?`runner-info-${e[3]}`:null,executeNumber:e[5],showNoMessagesAlert:!0}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};8&n&&(o.eventName=e[3]?`runner-info-${e[3]}`:null),32&n&&(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_default_slot_8$1(e){let t,n;return t=new PreviewDataGrid({props:{reader:e[9]}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};512&n&&(o.reader=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_default_slot_7$2(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_6$2(e){let t,n,o,i,r,a,s,c;return t=new WidgetColumnBarItem({props:{title:"Output files",name:"output",height:"20%",$$slots:{default:[create_default_slot_10]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Messages",name:"messages",$$slots:{default:[create_default_slot_9]},$$scope:{ctx:e}}}),r=new WidgetColumnBarItem({props:{title:"Preview",name:"preview",skip:!e[9],$$slots:{default:[create_default_slot_8$1]},$$scope:{ctx:e}}}),s=new WidgetColumnBarItem({props:{title:"Advanced configuration",name:"config",collapsed:!0,$$slots:{default:[create_default_slot_7$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,l),mount_component(r,e,l),insert(e,a,l),mount_component(s,e,l),c=!0},p(e,n){const i={};33554472&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const a={};33554472&n&&(a.$$scope={dirty:n,ctx:e}),o.$set(a);const c={};512&n&&(c.skip=!e[9]),33554944&n&&(c.$$scope={dirty:n,ctx:e}),r.$set(c);const l={};33554432&n&&(l.$$scope={dirty:n,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,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_6$2]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};33554984&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_5$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={};33555006&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_1$f(e){let t,n;return t=new FontIcon({props:{icon:"icon loading"}}),{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_header_slot$2(e){let t,n,o,i=e[4]&&create_if_block_1$f();return{c(){t=text$1("Import/Export\n "),i&&i.c(),n=empty()},m(e,r){insert(e,t,r),i&&i.m(e,r),insert(e,n,r),o=!0},p(e,t){e[4]?i?16&t&&transition_in(i,1):(i=create_if_block_1$f(),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(i),o=!0)},o(e){transition_out(i),o=!1},d(e){e&&detach(t),i&&i.d(e),e&&detach(n)}}}function create_else_block$a(e){let t,n;return t=new LargeFormButton({props:{icon:"icon run",$$slots:{default:[create_default_slot_4$3]},$$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={};33554432&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$q(e){let t,n;return t=new LargeButton({props:{icon:"icon stop",$$slots:{default:[create_default_slot_3$9]},$$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={};33554432&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_4$3(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_3$9(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_2$h(e){let t;return{c(){t=text$1("Generate script")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_1$j(e){let t;return{c(){t=text$1("Close")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_footer_slot$1(e){let t,n,o,i,r,a,s,c;const l=[create_if_block$q,create_else_block$a],u=[];function d(e,t){return e[4]?0:1}return n=d(e),o=u[n]=l[n](e),r=new LargeFormButton({props:{icon:"img sql-file",$$slots:{default:[create_default_slot_2$h]},$$scope:{ctx:e}}}),r.$on("click",e[12]),s=new LargeButton({props:{icon:"icon close",$$slots:{default:[create_default_slot_1$j]},$$scope:{ctx:e}}}),s.$on("click",closeCurrentModal),{c(){t=element("div"),o.c(),i=space(),create_component(r.$$.fragment),a=space(),create_component(s.$$.fragment),attr(t,"class","flex m-2")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,i),mount_component(r,t,null),append(t,a),mount_component(s,t,null),c=!0},p(e,a){let c=n;n=d(e),n===c?u[n].p(e,a):(group_outros(),transition_out(u[c],1,1,(()=>{u[c]=null})),check_outros(),o=u[n],o?o.p(e,a):(o=u[n]=l[n](e),o.c()),transition_in(o,1),o.m(t,i));const p={};33554432&a&&(p.$$scope={dirty:a,ctx:e}),r.$set(p);const m={};33554432&a&&(m.$$scope={dirty:a,ctx:e}),s.$set(m)},i(e){c||(transition_in(o),transition_in(r.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(o),transition_out(r.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){e&&detach(t),u[n].d(),destroy_component(r),destroy_component(s)}}}function create_default_slot$p(e){let t,n;const o=[e[15],{fullScreen:!0}];let i={$$slots:{footer:[create_footer_slot$1],header:[create_header_slot$2],default:[create_default_slot_5$3]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=32768&n?get_spread_update(o,[get_spread_object(e[15]),o[1]]):{};33555006&n&&(i.$$scope={dirty:n,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$11(e){let t,n;return t=new FormProvider({props:{initialValues:{sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]},$$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={};385&n&&(o.initialValues={sourceStorageType:"database",targetStorageType:getDefaultFileFormat(e[7]).storageType,targetArchiveFolder:e[8],sourceArchiveFolder:e[8],...e[11](),...e[0]}),33587774&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$10(e,t,n){let o;const i=["initialValues","uploadedFile","openedFile","importToCurrentTarget"];let r,a,s,c,l,u,d,p=compute_rest_props(t,i),m=noop$3;component_subscribe(e,extensions,(e=>n(7,r=e))),component_subscribe(e,visibleWidgetSideBar,(e=>n(18,a=e))),component_subscribe(e,selectedWidget,(e=>n(19,s=e))),component_subscribe(e,currentArchive,(e=>n(8,c=e))),component_subscribe(e,currentDatabase,(e=>n(20,u=e))),e.$$.on_destroy.push((()=>m()));var h=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=!1,g=0,_=null;const $=writable(null);component_subscribe(e,$,(e=>n(9,d=e)));let{initialValues:b}=t,{uploadedFile:v}=t,{openedFile:y}=t,{importToCurrentTarget:x=!1}=t;const w=createRef(null);const C=()=>{n(4,f=!1),w.get()&&(apiCall("archive/refresh-folders",{}),apiCall("archive/refresh-files",{folder:w.get()}),set_store_value(currentArchive,c=w.get(),c),set_store_value(selectedWidget,s="archive",s),set_store_value(visibleWidgetSideBar,a=!0,a))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(15,p=compute_rest_props(t,i)),"initialValues"in e&&n(0,b=e.initialValues),"uploadedFile"in e&&n(1,v=e.uploadedFile),"openedFile"in e&&n(2,y=e.openedFile),"importToCurrentTarget"in e&&n(16,x=e.importToCurrentTarget)},e.$$.update=()=>{8&e.$$.dirty&&(n(6,o=useEffect((()=>{return(e=_)?(apiOn(`runner-done-${e}`,C),()=>{apiOff(`runner-done-${e}`,C)}):()=>{};var e}))),m(),m=subscribe(o,(e=>n(17,l=e)))),e.$$.dirty},[b,v,y,_,f,g,o,r,c,d,$,function(){var e;return x?u&&"archive"!=s?{targetStorageType:"database",targetConnectionId:null===(e=null==u?void 0:u.connection)||void 0===e?void 0:e._id,targetDatabaseName:null==u?void 0:u.name}:"default"==c?{targetStorageType:"archive",targetArchiveFolder:`import-${moment().format("YYYY-MM-DD-hh-mm-ss")}`}:{targetStorageType:"archive",targetArchiveFolder:c}:{}},e=>h(void 0,void 0,void 0,(function*(){closeCurrentModal();openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:yield createImpExpScript(r,e.detail,void 0,!0)})})),e=>h(void 0,void 0,void 0,(function*(){if(f)return;const t=e.detail;n(4,f=!0);const o=yield createImpExpScript(r,t);n(5,g+=1);let i=_;i=(yield apiCall("runners/start",{script:o})).runid,n(3,_=i),"archive"==t.targetStorageType?w.set(t.targetArchiveFolder):w.set(null)})),()=>{apiCall("runners/cancel",{runid:_})},p,x,l]}class ImportExportModal extends SvelteComponent{constructor(e){super(),init(this,e,instance$10,create_fragment$11,safe_not_equal,{initialValues:0,uploadedFile:1,openedFile:2,importToCurrentTarget:16})}}var ImportExportModal$1=ImportExportModal;function create_fragment$10(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getArchiveIcon(e[0])},{menu:e[2]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}var __awaiter$1=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter$1(this,void 0,void 0,(function*(){let r;const a=yield apiCall("files/load",{folder:"archive:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:i,tabComponent:o,tooltip:r,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$$(e,t,n){const o=["data"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i=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=>()=>r(this,void 0,void 0,(function*(){exportQuickExportFile(a.fileName,{functionName:"archiveReader",props:{fileName:a.fileName,folderName:a.folderName}},e)}))),{text:"Export",onClick:()=>{showModal(ImportExportModal$1,{initialValues:{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}})}})))}]},i]}class ArchiveFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$$,create_fragment$10,safe_not_equal,{data:0})}}var archiveFileAppObject=Object.freeze({__proto__:null,default:ArchiveFileAppObject,extractKey:extractKey$6,createMatcher:createMatcher$3});function create_default_slot_2$g(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$i(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$g]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&2&o&&(r=!0,s.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$o(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$$(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$i]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$o]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};8194&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};8203&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$_(e,t,n){let o,i,r,a,s=noop$3;component_subscribe(e,currentArchive,(e=>n(6,r=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:r,file:e,rows:[{id:1,value:"val1"},{id:1,value:"val2"}]}),openNewTab({title:e,icon:"img archive",tabComponent:"ArchiveFileTab",props:{archiveFile:e,archiveFolder:r}})}))})}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=r),1&e.$$.dirty&&(n(2,i=useArchiveFiles({folder:o})),s(),s=subscribe(i,(e=>n(3,a=e))))},[o,l,i,a,()=>{apiCall("archive/refresh-files",{folder:o})},function(){return[{text:"New NDJSON file",onClick:u}]},r,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$_,create_fragment$$,safe_not_equal,{})}}function create_fragment$_(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[4]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey$5=e=>e.name,createMatcher$2=e=>t=>lib$5.filterName(t,e.name);function instance$Z(e,t,n){const o=["data"];let i,r,a=compute_rest_props(t,o);component_subscribe(e,currentDatabase,(e=>n(5,i=e))),component_subscribe(e,currentArchive,(e=>n(1,r=e)));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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}),r==c.name&&set_store_value(currentArchive,r=e+n,r)}))})},d=()=>{openNewTab({title:"Shell #",icon:"img shell",tabComponent:"ShellTab"},{editor:`// @require ${lib$5.extractPackageName(i.connection.engine)}\n \nawait dbgateApi.deployDb(${JSON.stringify({connection:Object.assign(Object.assign({},_.omit(i.connection,"_id","displayName")),{database:i.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:i.connection._id,database:i.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==i?void 0:i.connection)||void 0===e?void 0:e._id,targetDatabase:null==i?void 0:i.name}})},h=()=>{var e;openNewTab({title:c.name,icon:"img duplicator",tabComponent:"DataDuplicatorTab",props:{conid:null===(e=null==i?void 0:i.connection)||void 0===e?void 0:e._id,database:null==i?void 0:i.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,r,function(){return["default"!=c.name&&{text:"Delete",onClick:l},"default"!=c.name&&{text:"Rename",onClick:u},"default"!=c.name&&i&&[{text:"Data duplicator",onClick:h},{text:"Generate deploy DB SQL - experimental",onClick:p},{text:"Shell: Deploy DB - experimental",onClick:d}],"default"!=c.name&&_.get(i,"connection._id")&&{onClick:m,text:`Compare with ${_.get(i,"name")}`}]},a,()=>set_store_value(currentArchive,r=c.name,r)]}class ArchiveFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$Z,create_fragment$_,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$f(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$h(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$f]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$n(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$Z(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$h]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$n]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};129&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};133&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$Y(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));let a="";return n(1,o=useArchiveFolders()),r(),r=subscribe(o,(e=>n(2,i=e))),[a,o,i,()=>{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$Y,create_fragment$Z,safe_not_equal,{})}}function create_default_slot_2$e(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$g(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$m(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Archive folders, DB models",name:"folders",height:"50%",storageName:"archiveFoldersWidget",$$slots:{default:[create_default_slot_2$e]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Files, Tables, Views, Functions",name:"files",storageName:"archiveFilesWidget",$$slots:{default:[create_default_slot_1$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$Y(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$m]},$$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$Y,safe_not_equal,{})}}function create_fragment$X(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy((e[4]||[]).filter(e[5]),func_1$4).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$4).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$4=e=>e.sortOrder??e.name;function instance$X(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));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})),r(),r=subscribe(o,(e=>n(4,i=e))))},[a,s,c,o,i,e=>lib$5.filterName(a,e.name),e=>({...e,connection:s})]}class SubDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$X,create_fragment$X,safe_not_equal,{filter:0,data:1,passProps:2})}}function create_if_block_2$6(e){let t,n,o,i;return t=new InlineButton({props:{title:"Add new connection",$$slots:{default:[create_default_slot_5$2]},$$scope:{ctx:e}}}),t.$on("click",e[22]),o=new InlineButton({props:{title:"Add new connection folder",$$slots:{default:[create_default_slot_4$2]},$$scope:{ctx:e}}}),o.$on("click",e[23]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$d(e){let t,n,o,i,r,a,s,c,l;function u(t){e[20](t)}let d={placeholder:"Search connection or database"};function p(t){e[21](t)}void 0!==e[2]&&(d.value=e[2]),t=new SearchInput({props:d}),binding_callbacks.push((()=>bind(t,"value",u)));let m={};void 0!==e[2]&&(m.filter=e[2]),i=new CloseSearchButton({props:m}),binding_callbacks.push((()=>bind(i,"filter",p)));let h=e[5]["new.connection"]?.enabled&&create_if_block_2$6(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(i.$$.fragment),a=space(),h&&h.c(),s=space(),create_component(c.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,e,n),insert(e,a,n),h&&h.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={};!r&&4&o[0]&&(r=!0,l.filter=e[2],add_flush_callback((()=>r=!1))),i.$set(l),e[5]["new.connection"]?.enabled?h?(h.p(e,o),32&o[0]&&transition_in(h,1)):(h=create_if_block_2$6(e),h.c(),transition_in(h,1),h.m(s.parentNode,s)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros());const u={};16&o[1]&&(u.$$scope={dirty:o,ctx:e}),c.$set(u)},i(e){l||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(h),transition_in(c.$$.fragment,e),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(h),transition_out(c.$$.fragment,e),l=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),h&&h.d(e),e&&detach(s),destroy_component(c,e)}}}function create_if_block_1$e(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$p(e){let t,n;return t=new LargeButton({props:{icon:"icon new-connection",fillHorizontal:!0,$$slots:{default:[create_default_slot_1$f]},$$scope:{ctx:e}}}),t.$on("click",e[32]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};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_default_slot_1$f(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$l(e){let t,n,o,i,r,a,s,c=e[1]&&!e[1].find(func$5)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$3);t=new AppObjectList({props:{list:_.sortBy(e[4],e[24]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[25],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[26],setIsExpanded:e[27],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$e();i=new AppObjectList({props:{list:_.sortBy(e[3],e[28]),module:connectionAppObject,subItemsComponent:SubDatabaseList,expandOnClick:!0,isExpandable:e[29],filter:e[2],passProps:{connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0},getIsExpanded:e[30],setIsExpanded:e[31]}});let u=c&&create_if_block$p(e);return{c(){create_component(t.$$.fragment),n=space(),l&&l.c(),o=space(),create_component(i.$$.fragment),r=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(i,e,c),insert(e,r,c),u&&u.m(e,c),insert(e,a,c),s=!0},p(e,n){const r={};16&n[0]&&(r.list=_.sortBy(e[4],e[24])),1&n[0]&&(r.isExpandable=e[25]),4&n[0]&&(r.filter=e[2]),64&n[0]&&(r.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(r.getIsExpanded=e[26]),256&n[0]&&(r.emptyGroupNames=e[8]),t.$set(r),e[4]?.length>0&&e[3]?.length>0||e[8].length>0&&e[3]?.length>0?l||(l=create_if_block_1$e(),l.c(),l.m(o.parentNode,o)):l&&(l.d(1),l=null);const s={};8&n[0]&&(s.list=_.sortBy(e[3],e[28])),1&n[0]&&(s.isExpandable=e[29]),4&n[0]&&(s.filter=e[2]),64&n[0]&&(s.passProps={connectionColorFactory:e[6],showPinnedInsteadOfUnpin:!0}),128&n[0]&&(s.getIsExpanded=e[30]),i.$set(s),547&n[0]&&(c=e[1]&&!e[1].find(func$5)&&0==e[0].length&&e[5]["new.connection"]?.enabled&&!e[9].find(func_1$3)),c?u?(u.p(e,n),547&n[0]&&transition_in(u,1)):(u=create_if_block$p(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(i.$$.fragment,e),transition_in(u),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.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(i,e),e&&detach(r),u&&u.d(e),e&&detach(a)}}}function create_fragment$W(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_2$d]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$l]},$$scope:{ctx:e}}}),o.$on("drop",e[33]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};36&n[0]|16&n[1]&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1023&n[0]|16&n[1]&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}const func$5=e=>!e.unsaved,func_1$3=e=>!e.closedTime&&"ConnectionTab"==e.tabComponent&&!e.props?.conid,func_6=e=>e.parent;function instance$W(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f;component_subscribe(e,openedConnections,(e=>n(0,s=e))),component_subscribe(e,openedSingleDatabaseConnections,(e=>n(18,c=e))),component_subscribe(e,commandsCustomized,(e=>n(5,d=e))),component_subscribe(e,expandedConnections,(e=>n(7,m=e))),component_subscribe(e,emptyConnectionGroupNames,(e=>n(8,h=e))),component_subscribe(e,openedTabs,(e=>n(9,f=e)));var g=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 $=useConnectionList();component_subscribe(e,$,(e=>n(1,l=e)));const b=useServerStatus();component_subscribe(e,b,(e=>n(19,u=e)));let v="";const y=(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}})},x=useConnectionColorFactory(3);component_subscribe(e,x,(e=>n(6,p=e)));return e.$$.update=()=>{524290&e.$$.dirty[0]&&n(17,o=l&&u?l.map((e=>Object.assign(Object.assign({},e),{status:u[getVolatileRemapping(e._id)]}))):l),393217&e.$$.dirty[0]&&n(16,i=null==o?void 0:o.filter((e=>!e.unsaved||s.includes(e._id)||c.includes(e._id)))),65536&e.$$.dirty[0]&&n(4,r=i?null==i?void 0:i.filter((e=>void 0!==e.parent&&null!==e.parent&&0!==e.parent.length)):[]),65536&e.$$.dirty[0]&&n(3,a=i?null==i?void 0:i.filter((e=>void 0===e.parent||null===e.parent||0===e.parent.length)):[])},[s,l,v,a,r,d,p,m,h,f,$,b,()=>{for(const e of s)apiCall("server-connections/refresh",{conid:e})},y,x,function(e){return[{text:"Rename",onClick:()=>{showModal(InputTextModal,{value:e,label:"New folder name",header:"Rename folder",onConfirm:t=>g(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:""})}})}}]},i,o,c,u,function(e){v=e,n(2,v)},function(e){v=e,n(2,v)},()=>runCommand("new.connection"),()=>runCommand("new.connection.folder"),e=>(getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>m.includes(e._id)&&!e.singleDatabase,(e,t)=>{expandedConnections.update((n=>t?[...n,e._id]:n.filter((t=>t!=e._id))))},e=>(getConnectionLabel(e)||"").toUpperCase(),e=>s.includes(e._id)&&!e.singleDatabase,e=>m.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&&y(t,"")}]}class ConnectionList extends SvelteComponent{constructor(e){super(),init(this,e,instance$W,create_fragment$W,safe_not_equal,{},null,[-1,-1])}}function create_if_block$o(e){let t,n,o,i;const r=[create_if_block_1$d,create_else_block$9],a=[];function s(e,t){return e[0].objectTypeField?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_else_block$9(e){let t,n;const o=[e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DatabaseAppObject({props:i}),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 i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};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_if_block_1$d(e){let t,n;const o=[e[4]];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DatabaseObjectAppObject({props:i}),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 i=16&n?get_spread_update(o,[get_spread_object(e[4])]):{};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$V(e){let t,n,o=e[0]&&create_if_block$o(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$o(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,i){if(!i(e,t)){const r=_.findIndex(n,(t=>i(t,e))),a=_.findIndex(n,(e=>i(e,t)));if(r>=0&&a>=0&&r!=a){const e=[...n],t=e[r];e[r]=e[a],e[a]=t,o(e)}}}function instance$V(e,t,n){let o,i,r;component_subscribe(e,draggedPinnedObject,(e=>n(1,o=e))),component_subscribe(e,pinnedTables,(e=>n(2,i=e))),component_subscribe(e,pinnedDatabases,(e=>n(3,r=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,i,r,t,()=>{set_store_value(draggedPinnedObject,o=a,o)},e=>{dragExchange(o,a,i,(e=>set_store_value(pinnedTables,i=e,i)),((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,r,(e=>set_store_value(pinnedDatabases,r=e,r)),((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$V,create_fragment$V,safe_not_equal,{data:0})}}var pinnedAppObject=Object.freeze({__proto__:null,default:PinnedAppObject,extractKey:extractKey$4});function create_default_slot$k(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$U(e){let t,n;return t=new WidgetsInnerContainer({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={};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$U(e,t,n){let o,i,r,a,s;component_subscribe(e,currentDatabase,(e=>n(4,i=e))),component_subscribe(e,pinnedTables,(e=>n(5,r=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=r.filter((e=>{var t;return(null==e?void 0:e.conid)==(null===(t=null==i?void 0:i.connection)||void 0===t?void 0:t._id)&&(null==e?void 0:e.database)==(null==i?void 0:i.name)})))},[o,a,s,c,i,r]}class PinnedObjectsList 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[3],{data:e[0]},{title:e[0].columnName},{extInfo:e[1]},{icon:getColumnIcon(e[0],!0)},{menu:e[2]},{disableHover:!0}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey$3=({columnName:e})=>e;function instance$T(e,t,n){let o;const i=["data"];let r=compute_rest_props(t,i),{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,r=compute_rest_props(t,i)),"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}]},r]}class ColumnAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$T,create_fragment$T,safe_not_equal,{data:0})}}var columnAppObject=Object.freeze({__proto__:null,default:ColumnAppObject,extractKey:extractKey$3});function create_fragment$S(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$S(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$S,create_fragment$S,safe_not_equal,{data:0})}}function create_else_block$8(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_7$1]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_6$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};16777232&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16779359&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_if_block_1$c(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$c]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};16777250&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 WidgetsInnerContainer({props:{$$slots:{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={};16779264&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,i,r,a,s,c,l,u;function d(t){e[20](t)}let p={placeholder:"Search in tables, objects, # prefix in columns"};function m(t){e[21](t)}void 0!==e[4]&&(p.value=e[4]),t=new SearchInput({props:p}),binding_callbacks.push((()=>bind(t,"value",d)));let h={};return void 0!==e[4]&&(h.filter=e[4]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"filter",m))),s=new DropDownButton({props:{icon:"icon plus-thick",menu:e[13]}}),l=new InlineButton({props:{title:"Refresh database connection and object list",$$slots:{default:[create_default_slot_8]},$$scope:{ctx:e}}}),l.$on("click",e[12]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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&&16&o&&(n=!0,a.value=e[4],add_flush_callback((()=>n=!1))),t.$set(a);const s={};!r&&16&o&&(r=!0,s.filter=e[4],add_flush_callback((()=>r=!1))),i.$set(s);const c={};16777216&o&&(c.$$scope={dirty:o,ctx:e}),l.$set(c)},i(e){u||(transition_in(t.$$.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(i.$$.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(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_else_block_1$1(e){let t,n;return t=new AppObjectList({props:{list:e[6].map(e[22]),module:databaseObjectAppObject,groupFunc:e[23],subItemsComponent:SubColumnParamList,isExpandable:func_2$1,expandIconFunc:chevronExpandIcon,filter:e[4],passProps:{showPinnedInsteadOfUnpin:!0,connection:e[3]}}}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const o={};67&n&&(o.list=e[6].map(e[22])),16&n&&(o.filter=e[4]),8&n&&(o.passProps={showPinnedInsteadOfUnpin:!0,connection: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$3(e){let t,n;return t=new LoadingInfo({props:{message:e[11]?.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={};2048&n&&(o.message=e[11]?.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,i;const r=[create_if_block_4$3,create_else_block_1$1],a=[];function s(e,t){return e[11]&&("pending"==e[11].name||"checkStructure"==e[11].name||"loadStructure"==e[11].name)&&e[2]||!e[2]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!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$4(e){let t,n,o,i;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_4$1]},$$scope:{ctx:e}}}),o.$on("click",e[18]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,r){insert(e,t,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!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$5(e){let t,n,o,i;return o=new InlineButton({props:{$$slots:{default:[create_default_slot_3$6]},$$scope:{ctx:e}}}),o.$on("click",e[19]),{c(){t=element("div"),n=space(),create_component(o.$$.fragment),attr(t,"class","m-1")},m(e,r){insert(e,t,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,t){const n={};16777216&t&&(n.$$scope={dirty:t,ctx:e}),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),e&&detach(n),destroy_component(o,e)}}}function create_default_slot_3$6(e){let t;return{c(){t=text$1("New collection")},m(e,n){insert(e,t,n)},d(e){e&&detach(t)}}}function create_default_slot_2$c(e){let t,n,o,i,r,a,s,c,l,u=e[5]?.databaseEngineTypes?.includes("sql"),d=e[5]?.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"}}),r=new InlineButton({props:{$$slots:{default:[create_default_slot_5$1]},$$scope:{ctx:e}}}),r.$on("click",e[12]);let p=u&&create_if_block_3$4(e),m=d&&create_if_block_2$5(e);return{c(){create_component(t.$$.fragment),n=space(),o=element("div"),i=space(),create_component(r.$$.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,i,u),mount_component(r,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 i={};16777216&n&&(i.$$scope={dirty:n,ctx:e}),r.$set(i),32&n&&(u=e[5]?.databaseEngineTypes?.includes("sql")),u?p?(p.p(e,n),32&n&&transition_in(p,1)):(p=create_if_block_3$4(e),p.c(),transition_in(p,1),p.m(s.parentNode,s)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),32&n&&(d=e[5]?.databaseEngineTypes?.includes("document")),d?m?(m.p(e,n),32&n&&transition_in(m,1)):(m=create_if_block_2$5(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(r.$$.fragment,e),transition_in(p),transition_in(m),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r.$$.fragment,e),transition_out(p),transition_out(m),l=!1},d(e){destroy_component(t,e),e&&detach(n),e&&detach(o),e&&detach(i),destroy_component(r,e),e&&detach(a),p&&p.d(e),e&&detach(s),m&&m.d(e),e&&detach(c)}}}function create_default_slot_1$e(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$j(e){let t,n,o,i;return t=new ErrorInfo({props:{message:e[11].message,icon:"img error"}}),o=new InlineButton({props:{$$slots:{default:[create_default_slot_1$e]},$$scope:{ctx:e}}}),o.$on("click",e[12]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};2048&n&&(i.message=e[11].message),t.$set(i);const r={};16777216&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$R(e){let t,n,o,i;const r=[create_if_block$n,create_if_block_1$c,create_else_block$8],a=[];function s(e,t){return e[11]&&"error"==e[11].name?0:0==e[6].length&&e[11]&&"pending"!=e[11].name&&"checkStructure"!=e[11].name&&"loadStructure"!=e[11].name&&e[2]?1:2}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}const func_2$1=e=>"tables"==e.objectTypeField||"views"==e.objectTypeField||"matviews"==e.objectTypeField;function instance$R(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g=noop$3,$=noop$3,b=noop$3,v=noop$3;component_subscribe(e,currentDatabase,(e=>n(16,p=e))),component_subscribe(e,extensions,(e=>n(17,m=e))),e.$$.on_destroy.push((()=>g())),e.$$.on_destroy.push((()=>$())),e.$$.on_destroy.push((()=>b())),e.$$.on_destroy.push((()=>v()));let{conid:y}=t,{database:x}=t,w="";return e.$$set=e=>{"conid"in e&&n(0,y=e.conid),"database"in e&&n(1,x=e.database)},e.$$.update=()=>{3&e.$$.dirty&&(n(10,o=useDatabaseInfo({conid:y,database:x})),g(),g=subscribe(o,(e=>n(2,u=e)))),3&e.$$.dirty&&(n(9,i=useDatabaseStatus({conid:y,database:x})),v(),v=subscribe(i,(e=>n(11,f=e)))),1&e.$$.dirty&&(n(8,r=useConnectionInfo({conid:y})),b(),b=subscribe(r,(e=>n(3,h=e)))),131080&e.$$.dirty&&n(5,a=lib$5.findEngineDriver(h,m)),98304&e.$$.dirty&&n(14,c=filterAppsForDatabase(null==p?void 0:p.connection,null==p?void 0:p.name,d||[])),16388&e.$$.dirty&&n(6,l=_.flatten([...["tables","collections","views","matviews","procedures","functions"].map((e=>_.sortBy(((u||{})[e]||[]).map((t=>Object.assign(Object.assign({},t),{objectTypeField:e}))),["schemaName","pureName"]))),...c.map((e=>e.queries.map((t=>({objectTypeField:"queries",pureName:t.name,schemaName:e.name,sql:t.sql})))))]))},n(7,s=useUsedApps()),$(),$=subscribe(s,(e=>n(15,d=e))),[y,x,u,h,w,a,l,s,r,i,o,f,()=>{apiCall("database-connections/refresh",{conid:y,database:x})},function(){var e,t;const n=[];return(null===(e=null==a?void 0:a.databaseEngineTypes)||void 0===e?void 0:e.includes("document"))&&n.push({command:"new.collection"}),(null===(t=null==a?void 0:a.databaseEngineTypes)||void 0===t?void 0:t.includes("sql"))&&n.push({command:"new.table"}),a&&n.push(...a.getNewObjectTemplates().map((e=>({text:e.label,onClick:()=>{newQuery({initialData:e.sql})}})))),n},c,d,p,m,()=>runCommand("new.table"),()=>runCommand("new.collection"),function(e){w=e,n(4,w)},function(e){w=e,n(4,w)},e=>({...e,conid:y,database:x}),e=>getObjectTypeFieldLabel(e.objectTypeField)]}class SqlObjectList extends SvelteComponent{constructor(e){super(),init(this,e,instance$R,create_fragment$R,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$b(e){let t,n;return t=new SelectField({props:{options:e[0].supportedKeyTypes.map(func$4),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$4)),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$d(e){let t,n,o,i,r,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$b]},$$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(),i=element("div"),r=space(),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(i,"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,i),append(t,r),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 i={};32777&t&&(i.$$scope={dirty:t,ctx:e}),a.$set(i);const r={};9&t&&(r.dbKeyFields=e[0].supportedKeyTypes.find(e[12]).dbKeyFields),2&t&&(r.item=e[1]),2&t&&(r.onChangeItem=e[13]),c.$set(r)},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,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p:noop$3,i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_default_slot$i(e){let t,n;const o=[e[5]];let i={$$slots:{footer:[create_footer_slot],header:[create_header_slot$1],default:[create_default_slot_1$d]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=32&n?get_spread_update(o,[get_spread_object(e[5])]):{};32783&n&&(i.$$scope={dirty:n,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$Q(e){let t,n;return t=new FormProvider({props:{$$slots:{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={};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$4=e=>({value:e.name,label:e.label});function instance$Q(e,t,n){const o=["conid","database","driver","onConfirm"];let i=compute_rest_props(t,o);var r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=()=>r(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,i=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,i,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$Q,create_fragment$Q,safe_not_equal,{conid:6,database:7,driver:0,onConfirm:8})}}function create_if_block$m(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$P(e){let t,n,o,i;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 r=e[6]&&create_if_block$m(e);return{c(){create_component(t.$$.fragment),n=space(),r&&r.c(),o=empty()},m(e,a){mount_component(t,e,a),insert(e,n,a),r&&r.m(e,a),insert(e,o,a),i=!0},p(e,[n]){const i={};8&n&&(i.icon=lib$5.getIconForRedisType(e[3].type)),8&n&&(i.title=e[3].text),72&n&&(i.expandIcon="dir"==e[3].type?plusExpandIcon(e[6]):"icon invisible-box"),8&n&&(i.extInfo=e[3].count?`(${e[3].count})`:null),16&n&&(i.indentLevel=e[4]),t.$set(i),e[6]?r?(r.p(e,n),64&n&&transition_in(r,1)):(r=create_if_block$m(e),r.c(),transition_in(r,1),r.m(o.parentNode,o)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros())},i(e){i||(transition_in(t.$$.fragment,e),transition_in(r),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(r),i=!1},d(e){destroy_component(t,e),e&&detach(n),r&&r.d(e),e&&detach(o)}}}function instance$P(e,t,n){let o;component_subscribe(e,activeDbKeysStore,(e=>n(8,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:a}=t,{database:s}=t,{connection:c}=t,{root:l}=t,{item:u}=t,{indentLevel:d=0}=t,{filter:p}=t,{onRefreshParent:m}=t,h=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,r,h,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:()=>i(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=>i(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,h+=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:()=>i(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:()=>i(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,r=!r)},()=>{"dir"==u.type?n(6,r=!r):(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$P,create_fragment$P,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$c(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 i=e[12].slice(0,e[8]),r=[];for(let t=0;t<i.length;t+=1)r[t]=create_each_block$c(get_each_context$c(e,i,t));const a=e=>transition_out(r[e],1,1,(()=>{r[e]=null}));let s=e[12].length>e[8]&&create_if_block$l(e);return{c(){for(let e=0;e<r.length;e+=1)r[e].c();t=space(),s&&s.c(),n=empty()},m(e,i){for(let t=0;t<r.length;t+=1)r[t].m(e,i);insert(e,t,i),s&&s.m(e,i),insert(e,n,i),o=!0},p(e,o){if(get_then_context(e),511&o){let n;for(i=e[12].slice(0,e[8]),n=0;n<i.length;n+=1){const a=get_each_context$c(e,i,n);r[n]?(r[n].p(a,o),transition_in(r[n],1)):(r[n]=create_each_block$c(a),r[n].c(),transition_in(r[n],1),r[n].m(t.parentNode,t))}for(group_outros(),n=i.length;n<r.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$l(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<i.length;e+=1)transition_in(r[e]);transition_in(s),o=!0}},o(e){r=r.filter(Boolean);for(let e=0;e<r.length;e+=1)transition_out(r[e]);transition_out(s),o=!1},d(e){destroy_each(r,e),e&&detach(t),s&&s.d(e),e&&detach(n)}}}function create_each_block$c(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$l(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$O(e){let t,n,o,i={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]}),i),{c(){t=empty(),i.block.c()},m(e,n){insert(e,t,n),i.block.m(e,i.anchor=n),i.mount=()=>t.parentNode,i.anchor=t,o=!0},p(t,[o]){e=t,i.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,i)||update_await_block_branch(i,e,o)},i(e){o||(transition_in(i.block),o=!0)},o(e){for(let e=0;e<3;e+=1){transition_out(i.blocks[e])}o=!1},d(e){e&&detach(t),i.block.d(e),i.token=null,i=null}}}const SHOW_INCREMENT=500;function instance$O(e,t,n){let{conid:o}=t,{database:i}=t,{root:r}=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,i=e.database),"root"in e&&n(2,r=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,i,r,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$O,create_fragment$O,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$a(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$c(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[2]&&(h.filter=e[2]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$a]},$$scope:{ctx:e}}}),l.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&4&o&&(r=!0,c.filter=e[2],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$h(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$N(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$c]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$h]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};1028&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1055&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$N(e,t,n){let o;component_subscribe(e,currentDatabase,(e=>n(4,o=e)));var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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: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,r,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=>i(this,void 0,void 0,(function*(){const i=n.supportedKeyTypes.find((e=>e.name==o.type));yield apiCall("database-connections/call-method",{conid:e._id,database:t,method:i.addMethod,args:[o.keyName,...i.dbKeyFields.map((e=>o[e.name]))]}),l()}))})},function(e){r=e,n(2,r)},function(e){r=e,n(2,r)}]}class DbKeysTree extends SvelteComponent{constructor(e){super(),init(this,e,instance$N,create_fragment$N,safe_not_equal,{conid:0,database:1})}}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,i,r,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(t,"value",l)));let p={};return void 0!==e[1]&&(p.filter=e[1]),i=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(i,"filter",d))),s=new InlineButton({props:{title:"Refresh database list",$$slots:{default:[create_default_slot_2$9]},$$scope:{ctx:e}}}),s.$on("click",e[2]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&2&o&&(r=!0,c.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$g(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$M(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$b]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$g]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};34&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};35&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$M(e,t,n){let{connection:o}=t,i="";return e.$$set=e=>{"connection"in e&&n(0,o=e.connection)},[o,i,()=>{apiCall("server-connections/refresh",{conid:o._id})},function(e){i=e,n(1,i)},function(e){i=e,n(1,i)}]}class SingleConnectionDatabaseList extends SvelteComponent{constructor(e){super(),init(this,e,instance$M,create_fragment$M,safe_not_equal,{connection:0})}}function create_if_block_1$b(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$k(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$8(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$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={};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$f(e){let t,n,o,i,r,a,s,c,l,u,d;const p=[create_if_block$k,create_if_block_1$b],m=[];function h(e,t){return e[8]?.singleConnection?0:e[8]?.singleDbConnection?-1:1}return~(t=h(e))&&(n=m[t]=p[t](e)),i=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")?"Collections":"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$a]},$$scope:{ctx:e}}}),{c(){n&&n.c(),o=space(),create_component(i.$$.fragment),r=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(i,e,n),insert(e,r,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,r){let s=t;t=h(e),t===s?~t&&m[t].p(e,r):(n&&(group_outros(),transition_out(m[s],1,1,(()=>{m[s]=null})),check_outros()),~t?(n=m[t],n?n.p(e,r):(n=m[t]=p[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o)):n=null);const l={};1542&r&&(l.skip=!_.compact(e[9]).length&&!e[10].some(e[15])),65536&r&&(l.$$scope={dirty:r,ctx:e}),i.$set(l);const d={};64&r&&(d.title=e[6]?.databaseEngineTypes?.includes("document")?"Collections":"Tables, views, functions"),90&r&&(d.skip=!(e[1]&&(e[3]||e[4])&&(e[6]?.databaseEngineTypes?.includes("sql")||e[6]?.databaseEngineTypes?.includes("document")))),65546&r&&(d.$$scope={dirty:r,ctx:e}),a.$set(d);const f={};90&r&&(f.skip=!(e[1]&&(e[3]||e[4])&&e[6]?.databaseEngineTypes?.includes("keyvalue"))),65546&r&&(f.$$scope={dirty:r,ctx:e}),c.$set(f);const g={};26&r&&(g.skip=e[1]&&(e[3]||e[4])),65536&r&&(g.$$scope={dirty:r,ctx:e}),u.$set(g)},i(e){d||(transition_in(n),transition_in(i.$$.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(i.$$.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(i,e),e&&detach(r),destroy_component(a,e),e&&detach(s),destroy_component(c,e),e&&detach(l),destroy_component(u,e)}}}function create_fragment$L(e){let t,n;return t=new WidgetColumnBar({props:{hidden:e[0],$$slots:{default:[create_default_slot$f]},$$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$L(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f=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,h=e))),e.$$.on_destroy.push((()=>f())),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,i=useConnectionInfo({conid:o})),f(),f=subscribe(i,(e=>n(14,d=e)))),24576&e.$$.dirty&&n(6,r=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,r,i,p,m,h,_,$,u,d,e=>e&&e.conid==o&&e.database==l?.name]}class DatabaseWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$L,create_fragment$L,safe_not_equal,{hidden:0})}}function create_default_slot_2$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_1$9(e){let t,n,o,i,r,a,s,c;function l(t){e[19](t)}let u={placeholder:"Search saved files"};function d(t){e[20](t)}void 0!==e[0]&&(u.value=e[0]),t=new SearchInput({props:u}),binding_callbacks.push((()=>bind(t,"value",l)));let p={};return void 0!==e[0]&&(p.filter=e[0]),i=new CloseSearchButton({props:p}),binding_callbacks.push((()=>bind(i,"filter",d))),s=new InlineButton({props:{title:"Refresh files",$$slots:{default:[create_default_slot_2$7]},$$scope:{ctx:e}}}),s.$on("click",e[10]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment),a=space(),create_component(s.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$set(c);const l={};4194304&o&&(l.$$scope={dirty:o,ctx:e}),s.$set(l)},i(e){c||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),transition_in(s.$$.fragment,e),c=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),transition_out(s.$$.fragment,e),c=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e)}}}function create_default_slot$e(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$9]},$$scope:{ctx:e}}}),o=new AppObjectList({props:{list:e[1],module:savedFileAppObject,groupFunc:e[21],filter:e[0]}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};4194305&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};2&n&&(r.list=e[1]),1&n&&(r.filter=e[0]),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$K(e){let t,n;return t=new WidgetsInnerContainer({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={};4194307&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,i,r,a,s,c,l,u,d,p="";const m=useFiles({folder:"sql"});component_subscribe(e,m,(e=>n(18,d=e)));const h=useFiles({folder:"shell"});component_subscribe(e,h,(e=>n(17,u=e)));const f=useFiles({folder:"markdown"});component_subscribe(e,f,(e=>n(16,l=e)));const g=useFiles({folder:"charts"});component_subscribe(e,g,(e=>n(15,c=e)));const $=useFiles({folder:"query"});component_subscribe(e,$,(e=>n(14,s=e)));const b=useFiles({folder:"sqlite"});component_subscribe(e,b,(e=>n(13,a=e)));const v=useFiles({folder:"diagrams"});component_subscribe(e,v,(e=>n(12,r=e)));const y=useFiles({folder:"perspectives"});component_subscribe(e,y,(e=>n(11,i=e)));return e.$$.update=()=>{522240&e.$$.dirty&&n(1,o=[...d||[],...u||[],...l||[],...c||[],...s||[],...a||[],...r||[],...i||[]])},[p,o,m,h,f,g,$,b,v,y,function(){apiCall("files/refresh",{folders:["sql","shell","markdown","charts","query","sqlite","diagrams","perspectives"]})},i,r,a,s,c,l,u,d,function(e){p=e,n(0,p)},function(e){p=e,n(0,p)},e=>_.startCase(e.folder)]}class SavedFilesList extends SvelteComponent{constructor(e){super(),init(this,e,instance$K,create_fragment$K,safe_not_equal,{})}}function create_if_block_1$a(e){let t,n,o,i,r,a=e[0].props.database+"";return n=new FontIcon({props:{icon:"icon database"}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=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,i),r=!0},p(e,t){(!r||1&t)&&a!==(a=e[0].props.database+"")&&set_data(i,a)},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$j(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$d(e){let t,n,o,i=e[0].props&&e[0].props.database&&create_if_block_1$a(e),r=e[0].contentPreview&&create_if_block$j(e);return{c(){i&&i.c(),t=space(),r&&r.c(),n=empty()},m(e,a){i&&i.m(e,a),insert(e,t,a),r&&r.m(e,a),insert(e,n,a),o=!0},p(e,o){e[0].props&&e[0].props.database?i?(i.p(e,o),1&o&&transition_in(i,1)):(i=create_if_block_1$a(e),i.c(),transition_in(i,1),i.m(t.parentNode,t)):i&&(group_outros(),transition_out(i,1,1,(()=>{i=null})),check_outros()),e[0].contentPreview?r?r.p(e,o):(r=create_if_block$j(e),r.c(),r.m(n.parentNode,n)):r&&(r.d(1),r=null)},i(e){o||(transition_in(i),o=!0)},o(e){transition_out(i),o=!1},d(e){i&&i.d(e),e&&detach(t),r&&r.d(e),e&&detach(n)}}}function create_fragment$J(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 i={$$slots:{default:[create_default_slot$d]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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&&(i.$$scope={dirty:n,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)}}}const extractKey$2=e=>e.tabid;function instance$J(e,t,n){const o=["data"];let i=compute_rest_props(t,o),{data:r}=t;const a=()=>{openedTabs.update((e=>e.filter((e=>e.tabid!=r.tabid))))},s=()=>{openedTabs.update((e=>e.filter((e=>!e.closedTime||e.closedTime>=r.closedTime))))};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"data"in e&&n(0,r=e.data)},[r,()=>{openedTabs.update((e=>setSelectedTabFunc(e.map((e=>Object.assign(Object.assign({},e),{closedTime:e.tabid==r.tabid?void 0:e.closedTime}))),r.tabid)))},function(){return[{text:"Delete",onClick:a},{text:"Delete older",onClick:s}]},i]}class ClosedTabAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$J,create_fragment$J,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$i(e){let t,n;return t=new WidgetColumnBarItem({props:{title:"Favorites",name:"favorites",storageName:"favoritesWidget",$$slots:{default:[create_default_slot_1$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_2$6(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$8(e){let t,n;return t=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot_2$6]},$$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$c(e){let t,n,o,i,r=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=r&&create_if_block$i(e);return{c(){create_component(t.$$.fragment),n=space(),a&&a.c(),o=empty()},m(e,r){mount_component(t,e,r),insert(e,n,r),a&&a.m(e,r),insert(e,o,r),i=!0},p(e,n){const o={};4&n&&(o.$$scope={dirty:n,ctx:e}),t.$set(o),r&&a.p(e,n)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(a),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(a),i=!1},d(e){destroy_component(t,e),e&&detach(n),a&&a.d(e),e&&detach(o)}}}function create_fragment$I(e){let t,n;return t=new WidgetColumnBar({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$I(e,t,n){let o,i,r=noop$3;return e.$$.on_destroy.push((()=>r())),n(0,o=useFavorites()),r(),r=subscribe(o,(e=>n(1,i=e))),[o,i]}class FilesWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$I,create_fragment$I,safe_not_equal,{})}}function get_each_context$b(e,t,n){const o=e.slice();return o[3]=t[n],o}function create_else_block$7(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$h(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$b(e,t){let n,o,i,r,a,s,c,l,u,d,p,m,h,f,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$h:create_else_block$7}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"),r=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),h=space(),f=element("div"),g=text$1(x),_=space(),attr(o,"class","icon svelte-11a2g2s"),src_url_equal(o.src,i=extractPluginIcon(t[3]))||attr(o,"src",i),attr(c,"class","bold"),attr(s,"class","flex"),attr(f,"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,r),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,h),append(a,f),append(f,g),append(n,_),$||(b=listen(n,"click",S),$=!0)},p(e,n){t=e,1&n&&!src_url_equal(o.src,i=extractPluginIcon(t[3]))&&attr(o,"src",i),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$H(e){let t,n=[],o=new Map,i=e[0]||[];const r=e=>e[3].name;for(let t=0;t<i.length;t+=1){let a=get_each_context$b(e,i,t),s=r(a);o.set(s,n[t]=create_each_block$b(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].m(e,o);insert(e,t,o)},p(e,[a]){3&a&&(i=e[0]||[],n=update_keyed_each(n,a,r,1,e,i,o,t.parentNode,destroy_block,create_each_block$b,t,get_each_context$b))},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$H(e,t,n){let{plugins:o}=t;function i(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,i,e=>i(e)]}class PluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$H,create_fragment$H,safe_not_equal,{plugins:0})}}function create_default_slot_1$7(e){let t,n,o;function i(t){e[4](t)}let r={placeholder:"Search extensions on web",filter:e[0]};return void 0!==e[0]&&(r.value=e[0]),t=new SearchInput({props:r}),binding_callbacks.push((()=>bind(t,"value",i))),{c(){create_component(t.$$.fragment)},m(e,n){mount_component(t,e,n),o=!0},p(e,o){const i={};1&o&&(i.filter=e[0]),!n&&1&o&&(n=!0,i.value=e[0],add_flush_callback((()=>n=!1))),t.$set(i)},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$6(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$g(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$b(e){let t,n,o,i;const r=[create_if_block$g,create_else_block$6],a=[];function s(e,t){return e[2]?.errorMessage?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_fragment$G(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$7]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$b]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};65&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};68&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$G(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));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},[])),r(),r=subscribe(o,(e=>n(2,i=e)))),1&e.$$.dirty&&c(a)},[a,o,i,s,function(e){a=e,n(0,a)}]}class AvailablePluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$G,create_fragment$G,safe_not_equal,{})}}function create_default_slot$a(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$F(e){let t,n;return t=new WidgetsInnerContainer({props:{$$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={};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$F(e,t,n){let o,i,r=noop$3;return e.$$.on_destroy.push((()=>r())),n(0,o=useInstalledPlugins()),r(),r=subscribe(o,(e=>n(1,i=e))),[o,i]}class InstalledPluginsList extends SvelteComponent{constructor(e){super(),init(this,e,instance$F,create_fragment$F,safe_not_equal,{})}}function create_default_slot_2$5(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$6(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$9(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Installed extensions",name:"installed",height:"50%",storageName:"installedPluginsWidget",$$slots:{default:[create_default_slot_2$5]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Available extensions",name:"all",storageName:"allPluginsWidget",$$slots:{default:[create_default_slot_1$6]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$E(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_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={};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$E,safe_not_equal,{})}}function create_fragment$D(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,i){t.m(o,e,i),insert(e,n,i)},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$E(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$E,create_fragment$D,safe_not_equal,{selection:0})}}function create_else_block$5(e){let t,n,o,i;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,r){insert(e,t,r),append(t,n),mount_component(o,n,null),i=!0},p(e,t){const n={};1&t&&(n.value=e[0]),o.$set(n)},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o)}}}function create_if_block$f(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$C(e){let t,n,o,i;const r=[create_if_block$f,create_else_block$5],a=[];function s(e,t){return e[1]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$D(e,t,n){let{selection:o}=t,{showWholeRow:i=!1}=t,r=null,a=null;return e.$$set=e=>{"selection"in e&&n(2,o=e.selection),"showWholeRow"in e&&n(3,i=e.showWholeRow)},e.$$.update=()=>{if(12&e.$$.dirty)try{if(i)1==(null==o?void 0:o.length)?n(0,r=o[0].rowData):n(0,r=o.map((e=>e.rowData)));else{const e=o[0].value;n(0,r=_.isPlainObject(e)||_.isArray(e)?e:JSON.parse(e))}n(1,a=null)}catch(e){n(1,a=e.message)}},[r,a,o,i]}class JsonCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$D,create_fragment$C,safe_not_equal,{selection:2,showWholeRow:3})}}function create_fragment$B(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$C(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$C,create_fragment$B,safe_not_equal,{selection:0})}}function create_if_block$e(e){let t,n,o,i,r,a;return o=new SelectField({props:{isNative:!0,options:e[3].map(func$3),value:e[1]}}),o.$on("change",e[6]),r=new SelectField({props:{isNative:!0,options:e[3].map(func_1$2),value:e[2]}}),r.$on("change",e[7]),{c(){t=element("div"),n=text$1("Lat:\n "),create_component(o.$$.fragment),i=text$1("\n Lon:\n "),create_component(r.$$.fragment)},m(e,s){insert(e,t,s),append(t,n),mount_component(o,t,null),append(t,i),mount_component(r,t,null),a=!0},p(e,t){const n={};8&t&&(n.options=e[3].map(func$3)),2&t&&(n.value=e[1]),o.$set(n);const i={};8&t&&(i.options=e[3].map(func_1$2)),4&t&&(i.value=e[2]),r.$set(i)},i(e){a||(transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(o),destroy_component(r)}}}function create_fragment$A(e){let t,n,o,i,r=e[3].length>=2&&create_if_block$e(e);return o=new SelectionMapView({props:{selection:e[0],latitudeField:e[1],longitudeField:e[2]}}),{c(){t=element("div"),r&&r.c(),n=space(),create_component(o.$$.fragment),attr(t,"class","container svelte-aetkv7")},m(e,a){insert(e,t,a),r&&r.m(t,null),append(t,n),mount_component(o,t,null),i=!0},p(e,[i]){e[3].length>=2?r?(r.p(e,i),8&i&&transition_in(r,1)):(r=create_if_block$e(e),r.c(),transition_in(r,1),r.m(t,n)):r&&(group_outros(),transition_out(r,1,1,(()=>{r=null})),check_outros());const a={};1&i&&(a.selection=e[0]),2&i&&(a.latitudeField=e[1]),4&i&&(a.longitudeField=e[2]),o.$set(a)},i(e){i||(transition_in(r),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(r),transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),r&&r.d(),destroy_component(o)}}}const func$3=e=>({label:e,value:e}),func_1$2=e=>({label:e,value:e});function instance$B(e,t,n){let o,i,r,{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,i=_.uniq(_.flatten(a.map((e=>findLonPaths(e.rowData)))))),1&e.$$.dirty&&n(3,r=_.uniq(_.flatten(a.map((e=>findAllObjectPaths(e.rowData)))))),42&e.$$.dirty&&o.length>0&&!r.includes(s)&&n(1,s=o[0]),28&e.$$.dirty&&i.length>0&&!r.includes(c)&&n(2,c=i[0])},[a,s,c,r,i,o,e=>{n(1,s=e.detail)},e=>{n(2,c=e.detail)}]}class MapCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$B,create_fragment$A,safe_not_equal,{selection:0})}}function create_else_block$4(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$d(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$z(e){let t,n,o,i;const r=[create_if_block$d,create_else_block$4],a=[];function s(e,t){return e[0]?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,[i]){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function instance$A(e,t,n){let o;var i;let{selection:r}=t;return e.$$set=e=>{"selection"in e&&n(1,r=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,i=r[0])||void 0===i?void 0:i.value))},[o,r,i]}class PictureCellView extends SvelteComponent{constructor(e){super(),init(this,e,instance$A,create_fragment$z,safe_not_equal,{selection:1})}}function create_fragment$y(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$z(e,t,n){let{selection:o}=t,{wrap:i}=t;return e.$$set=e=>{"selection"in e&&n(0,o=e.selection),"wrap"in e&&n(1,i=e.wrap)},[o,i,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$z,create_fragment$y,safe_not_equal,{selection:0,wrap:1})}}function create_fragment$x(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$y(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$y,create_fragment$x,safe_not_equal,{selection:0})}}function create_fragment$w(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$x(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$x,create_fragment$w,safe_not_equal,{selection:0})}}function create_default_slot$8(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$3(e){let t,n,o;var i=e[2]?.component;function r(e){return{props:{selection:e[0]}}}return i&&(t=new i(r(e))),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,o){const a={};if(1&o&&(a.selection=e[0]),i!==(i=e[2]?.component)){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}i?(t=new i(r(e)),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else i&&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$4(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$9(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$c(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$v(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h;n=new WidgetTitle({props:{$$slots:{default:[create_default_slot$8]},$$scope:{ctx:e}}}),l=new SelectField({props:{isNative:!0,value:e[1],options:[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]}}),l.$on("change",e[7]);const f=[create_if_block$c,create_if_block_1$9,create_if_block_2$4,create_else_block$3],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]=f[p](e),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),r=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(r,"class","toolbar svelte-1lvmq5c"),attr(d,"class","data svelte-1lvmq5c"),attr(i,"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,i),append(i,r),append(r,a),append(r,s),append(r,c),mount_component(l,r,null),append(i,u),append(i,d),g[p].m(d,null),h=!0},p(e,[t]){const o={};256&t&&(o.$$scope={dirty:t,ctx:e}),n.$set(o);const i={};2&t&&(i.value=e[1]),8&t&&(i.options=[{value:"autodetect",label:`Autodetect - ${e[3].title}`},...formats.map(func$2)]),l.$set(i);let r=p;p=_(e),p===r?g[p].p(e,t):(group_outros(),transition_out(g[r],1,1,(()=>{g[r]=null})),check_outros(),m=g[p],m?m.p(e,t):(m=g[p]=f[p](e),m.c()),transition_in(m,1),m.m(d,null))},i(e){h||(transition_in(n.$$.fragment,e),transition_in(l.$$.fragment,e),transition_in(m),h=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(l.$$.fragment,e),transition_out(m),h=!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 i=1==e.length?e[0].value:null;return _.isString(i)&&(i.startsWith("[")||i.startsWith("{"))||_.isPlainObject(i)||_.isArray(i)?"json":"textWrap"}const func$2=e=>({label:e.title,value:e.type});function instance$w(e,t,n){let o,i,r,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,i=formats.find((e=>e.type==o))),34&e.$$.dirty&&n(4,r="autodetect"==c?o:c),16&e.$$.dirty&&n(2,a=formats.find((e=>e.type==r)))},[l,c,a,i,r,o,s,e=>n(1,c=e.detail)]}class CellDataWidget extends SvelteComponent{constructor(e){super(),init(this,e,instance$w,create_fragment$v,safe_not_equal,{selection:0})}}function get_each_context$a(e,t,n){const o=e.slice();return o[10]=t[n],o}function create_default_slot_1$5(e){let t,n,o,i,r,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(t,"value",s)));let u={};return void 0!==e[0]&&(u.filter=e[0]),i=new CloseSearchButton({props:u}),binding_callbacks.push((()=>bind(i,"filter",l))),i.$on("click",e[5]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.fragment)},m(e,n){mount_component(t,e,n),insert(e,o,n),mount_component(i,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={};!r&&1&o&&(r=!0,s.filter=e[0],add_flush_callback((()=>r=!1))),i.$set(s)},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(o),destroy_component(i,e)}}}function create_each_block$a(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,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),i=space(),r=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,i),append(n,r),append(t,a),append(t,s),mount_component(c,s,null),append(s,l),append(s,u),append(t,d),m=!0,h||(f=listen(t,"click",$),h=!0)},p(n,o){e=n,(!m||4&o)&&g!==(g=e[10].sql+"")&&set_data(r,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),h=!1,f()}}}function create_default_slot$7(e){let t,n,o=e[2],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$a(get_each_context$a(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$a(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$a(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function create_fragment$u(e){let t,n,o,i;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,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};8195&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};8196&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$v(e,t,n){var o=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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="",r="",a=[];function s(){return o(this,void 0,void 0,(function*(){const e=yield apiCall("query-history/read",{filter:r,limit:100});n(2,a=e)}))}const c=_.debounce((e=>n(1,r=e)),500);onMount((()=>(apiOn("query-history-changed",s),()=>{apiOff("query-history-changed",s)})));return e.$$.update=()=>{2&e.$$.dirty&&s(),1&e.$$.dirty&&c(i)},[i,r,a,function(e){i=e,n(0,i)},function(e){i=e,n(0,i)},()=>{n(1,r="")},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$v,create_fragment$u,safe_not_equal,{})}}function create_default_slot_3$1(e){let t,n;return t=new AppObjectList({props:{list:_.sortBy(e[0].filter(func$1),func_1$1),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$1),func_1$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_2$4(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$4(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$6(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Recently closed tabs",name:"closedTabs",storageName:"closedTabsWidget",$$slots:{default:[create_default_slot_2$4]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Query history",name:"queryHistory",storageName:"queryHistoryWidget",$$slots:{default:[create_default_slot_1$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};5&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};4&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$t(e){let t,n;return t=new WidgetColumnBar({props:{$$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={};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$1=e=>e.closedTime,func_1$1=e=>-e.closedTime;function instance$u(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$u,create_fragment$t,safe_not_equal,{})}}function create_fragment$s(e){let t,n;const o=[e[3],{data:e[0]},{title:e[0].fileLabel},{icon:getAppIcon(e[0])},{menu:e[2]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[1]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}var __awaiter=function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,i){return __awaiter(this,void 0,void 0,(function*(){let r;const a=yield apiCall("files/load",{folder:"app:"+n,file:e+"."+t,format:"text"});openNewTab({title:e,icon:i,tabComponent:o,tooltip:r,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$t(e,t,n){const o=["data"];let i=compute_rest_props(t,o);this&&this.__awaiter;let{data:r}=t;const a=()=>{showModal(InputTextModal,{value:r.fileName,label:"New file name",header:"Rename file",onConfirm:e=>{apiCall("apps/rename-file",{file:r.fileName,folder:r.folderName,fileType:r.fileType,newFile:e})}})},s=()=>{showModal(ConfirmModal,{message:`Really delete file ${r.fileName}?`,onConfirm:()=>{apiCall("apps/delete-file",{file:r.fileName,folder:r.folderName,fileType:r.fileType})}})},c=()=>{openTextFile(r.fileName,r.fileType,r.folderName,"QueryTab","img sql-file")},l=()=>{openTextFile(r.fileName,r.fileType,r.folderName,"JsonEditorTab","img json")};return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"data"in e&&n(0,r=e.data)},[r,()=>{r.fileType.endsWith(".sql")&&c(),r.fileType.endsWith(".json")&&l()},function(){return[{text:"Delete",onClick:s},{text:"Rename",onClick:a},r.fileType.endsWith(".sql")&&{text:"Open SQL",onClick:c},r.fileType.endsWith(".json")&&{text:"Open JSON",onClick:l}]},i]}class AppFileAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$t,create_fragment$s,safe_not_equal,{data:0})}}var appFileAppObject=Object.freeze({__proto__:null,default:AppFileAppObject,extractKey:extractKey$1,createMatcher:createMatcher$1});function create_default_slot_2$3(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$3(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[1]&&(h.filter=e[1]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$3]},$$scope:{ctx:e}}}),l.$on("click",e[4]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&2&o&&(r=!0,s.filter=e[1],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$5(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$r(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$3]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$5]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};16386&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};16395&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!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$s(e,t,n){let o,i,r,a,s=noop$3;component_subscribe(e,currentApplication,(e=>n(6,r=e))),e.$$.on_destroy.push((()=>s()));var c=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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:"+r,savedFormat:"text",appFolder:r})}))})}function d(e,t){return c(this,void 0,void 0,(function*(){(yield apiCall("apps/create-config-file",{fileName:e,content:t,appFolder:r}))||showSnackbarError("File not created, probably already exists")}))}return e.$$.update=()=>{64&e.$$.dirty&&n(0,o=r),1&e.$$.dirty&&(n(2,i=useAppFiles({folder:o})),s(),s=subscribe(i,(e=>n(3,a=e))))},[o,l,i,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",[])}]},r,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$s,create_fragment$r,safe_not_equal,{})}}function create_fragment$q(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 i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new AppObjectCore({props:i}),t.$on("click",e[8]),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=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(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)}}}const extractKey=e=>e.name,createMatcher=e=>t=>lib$5.filterName(t,e.name);function instance$r(e,t,n){let o;const i=["data"];let r,a,s,c=compute_rest_props(t,i),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(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 h(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 f(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)})),i=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 i&&i[`useApp:${d.name}`]}return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(7,c=compute_rest_props(t,i)),"data"in e&&n(0,d=e.data)},n(1,o=useConnectionList()),l(),l=subscribe(o,(e=>n(2,r=e))),[d,o,r,a,s,function(){return[{text:"Delete",onClick:p},{text:"Rename",onClick:m},a&&[!f(a,r)&&{text:"Enable on current database",onClick:()=>h(!0)},f(a,r)&&{text:"Disable on current database",onClick:()=>h(!1)}]]},f,c,()=>set_store_value(currentApplication,s=d.name,s)]}class AppFolderAppObject extends SvelteComponent{constructor(e){super(),init(this,e,instance$r,create_fragment$q,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$2(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$2(e){let t,n,o,i,r,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(t,"value",d)));let h={};return void 0!==e[0]&&(h.filter=e[0]),i=new CloseSearchButton({props:h}),binding_callbacks.push((()=>bind(i,"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$2]},$$scope:{ctx:e}}}),l.$on("click",e[3]),{c(){create_component(t.$$.fragment),o=space(),create_component(i.$$.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(i,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={};!r&&1&o&&(r=!0,c.filter=e[0],add_flush_callback((()=>r=!1))),i.$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(i.$$.fragment,e),transition_in(s.$$.fragment,e),transition_in(l.$$.fragment,e),u=!0)},o(e){transition_out(t.$$.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(o),destroy_component(i,e),e&&detach(a),destroy_component(s,e),e&&detach(c),destroy_component(l,e)}}}function create_default_slot$4(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$p(e){let t,n,o,i;return t=new SearchBoxWrapper({props:{$$slots:{default:[create_default_slot_1$2]},$$scope:{ctx:e}}}),o=new WidgetsInnerContainer({props:{$$slots:{default:[create_default_slot$4]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,[n]){const i={};129&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};133&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function instance$q(e,t,n){let o,i,r=noop$3;e.$$.on_destroy.push((()=>r()));let a="";return n(1,o=useAppFolders()),r(),r=subscribe(o,(e=>n(2,i=e))),[a,o,i,()=>{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$q,create_fragment$p,safe_not_equal,{})}}function create_default_slot_2$1(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$1(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$3(e){let t,n,o,i;return t=new WidgetColumnBarItem({props:{title:"Applications",name:"apps",height:"30%",storageName:"appsWidget",$$slots:{default:[create_default_slot_2$1]},$$scope:{ctx:e}}}),o=new WidgetColumnBarItem({props:{title:"Application files",name:"files",storageName:"appFilesWidget",$$slots:{default:[create_default_slot_1$1]},$$scope:{ctx:e}}}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment)},m(e,r){mount_component(t,e,r),insert(e,n,r),mount_component(o,e,r),i=!0},p(e,n){const i={};1&n&&(i.$$scope={dirty:n,ctx:e}),t.$set(i);const r={};1&n&&(r.$$scope={dirty:n,ctx:e}),o.$set(r)},i(e){i||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),i=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e)}}}function create_fragment$o(e){let t,n;return t=new WidgetColumnBar({props:{$$slots:{default:[create_default_slot$3]},$$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$o,safe_not_equal,{})}}function create_if_block_5$2(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_4$2(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_3$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_2$3(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_1$8(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$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_fragment$n(e){let t,n,o,i,r,a,s,c,l;t=new DatabaseWidget({props:{hidden:"database"!=e[0]}});let u="file"==e[0]&&create_if_block_5$2(),d="history"==e[0]&&create_if_block_4$2(),p="archive"==e[0]&&create_if_block_3$3(),m="plugins"==e[0]&&create_if_block_2$3(),h="cell-data"==e[0]&&create_if_block_1$8(),f="app"==e[0]&&create_if_block$b();return{c(){create_component(t.$$.fragment),n=space(),u&&u.c(),o=space(),d&&d.c(),i=space(),p&&p.c(),r=space(),m&&m.c(),a=space(),h&&h.c(),s=space(),f&&f.c(),c=empty()},m(e,g){mount_component(t,e,g),insert(e,n,g),u&&u.m(e,g),insert(e,o,g),d&&d.m(e,g),insert(e,i,g),p&&p.m(e,g),insert(e,r,g),m&&m.m(e,g),insert(e,a,g),h&&h.m(e,g),insert(e,s,g),f&&f.m(e,g),insert(e,c,g),l=!0},p(e,[n]){const l={};1&n&&(l.hidden="database"!=e[0]),t.$set(l),"file"==e[0]?u?1&n&&transition_in(u,1):(u=create_if_block_5$2(),u.c(),transition_in(u,1),u.m(o.parentNode,o)):u&&(group_outros(),transition_out(u,1,1,(()=>{u=null})),check_outros()),"history"==e[0]?d?1&n&&transition_in(d,1):(d=create_if_block_4$2(),d.c(),transition_in(d,1),d.m(i.parentNode,i)):d&&(group_outros(),transition_out(d,1,1,(()=>{d=null})),check_outros()),"archive"==e[0]?p?1&n&&transition_in(p,1):(p=create_if_block_3$3(),p.c(),transition_in(p,1),p.m(r.parentNode,r)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),"plugins"==e[0]?m?1&n&&transition_in(m,1):(m=create_if_block_2$3(),m.c(),transition_in(m,1),m.m(a.parentNode,a)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),"cell-data"==e[0]?h?1&n&&transition_in(h,1):(h=create_if_block_1$8(),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]?f?1&n&&transition_in(f,1):(f=create_if_block$b(),f.c(),transition_in(f,1),f.m(c.parentNode,c)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros())},i(e){l||(transition_in(t.$$.fragment,e),transition_in(u),transition_in(d),transition_in(p),transition_in(m),transition_in(h),transition_in(f),l=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(u),transition_out(d),transition_out(p),transition_out(m),transition_out(h),transition_out(f),l=!1},d(e){destroy_component(t,e),e&&detach(n),u&&u.d(e),e&&detach(o),d&&d.d(e),e&&detach(i),p&&p.d(e),e&&detach(r),m&&m.d(e),e&&detach(a),h&&h.d(e),e&&detach(s),f&&f.d(e),e&&detach(c)}}}function instance$p(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$p,create_fragment$n,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"}]}: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}]},{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}]}];function get_each_context$9(e,t,n){const o=e.slice();return o[16]=t[n],o}function create_if_block$a(e){let t,n,o,i,r;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,i||(r=listen(t,"click",e[8]),i=!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),i=!1,r()}}}function create_each_block$9(e){let t,n,o,i,r;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,i||(r=listen(t,"click",a),i=!0)},p(n,o){e=n,36&o&&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),i=!1,r()}}}function create_fragment$m(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f=e[3]&&create_if_block$a(e),g=e[5].filter(e[10]),_=[];for(let t=0;t<g.length;t+=1)_[t]=create_each_block$9(get_each_context$9(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"),f&&f.c(),n=space();for(let e=0;e<_.length;e+=1)_[e].c();o=space(),i=element("div"),i.textContent=" ",r=space(),a=element("div"),create_component(s.$$.fragment),l=space(),u=element("div"),create_component(d.$$.fragment),attr(i,"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),f&&f.m(t,null),append(t,n);for(let e=0;e<_.length;e+=1)_[e].m(t,null);append(t,o),append(t,i),append(t,r),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||(h=[listen(a,"click",e[12]),listen(u,"click",e[7])],m=!0)},p(e,[i]){if(e[3]?f?(f.p(e,i),8&i&&transition_in(f,1)):(f=create_if_block$a(e),f.c(),transition_in(f,1),f.m(t,n)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),100&i){let n;for(g=e[5].filter(e[10]),n=0;n<g.length;n+=1){const r=get_each_context$9(e,g,n);_[n]?(_[n].p(r,i),transition_in(_[n],1)):(_[n]=create_each_block$9(r),_[n].c(),transition_in(_[n],1),_[n].m(t,o))}for(group_outros(),n=g.length;n<_.length;n+=1)$(n);check_outros()}const r={};16&i&&(r.icon=e[4]?"icon locked-database-mode":"icon unlocked-database-mode"),s.$set(r),(!p||16&i&&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(f);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(f),_=_.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),f&&f.d(),destroy_each(_,n),destroy_component(s),destroy_component(d),e[13](null),m=!1,run_all(h)}}}function instance$o(e,t,n){let o,i,r,a,s,c,l;component_subscribe(e,visibleWidgetSideBar,(e=>n(14,o=e))),component_subscribe(e,selectedWidget,(e=>n(15,i=e))),component_subscribe(e,visibleSelectedWidget,(e=>n(2,r=e))),component_subscribe(e,visibleHamburgerMenuWidget,(e=>n(3,a=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(4,s=e)));function u(e){r==e?set_store_value(visibleWidgetSideBar,o=!1,o):(set_store_value(selectedWidget,i=e,i),set_store_value(visibleWidgetSideBar,o=!0,o))}return[c,l,r,a,s,[{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"}],u,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=>hasPermission(`widgets/${e.name}`),e=>u(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$o,create_fragment$m,safe_not_equal,{})}}function create_fragment$l(e){let t,n,o;const i=[e[3],{tabid:e[0]},{tabVisible:e[1]}];var r=e[2];function a(e){let t={};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(n=new r(a())),{c(){t=element("div"),n&&create_component(n.$$.fragment),attr(t,"class","svelte-3h7mlk"),toggle_class(t,"tabVisible",e[1])},m(e,i){insert(e,t,i),n&&mount_component(n,t,null),o=!0},p(e,[o]){const s=11&o?get_spread_update(i,[8&o&&get_spread_object(e[3]),1&o&&{tabid:e[0]},2&o&&{tabVisible:e[1]}]):{};if(r!==(r=e[2])){if(n){group_outros();const e=n;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(n=new r(a()),create_component(n.$$.fragment),transition_in(n.$$.fragment,1),mount_component(n,t,null)):n=null}else r&&n.$set(s);2&o&&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$n(e,t,n){const o=["tabid","tabVisible","tabComponent"];let i=compute_rest_props(t,o),{tabid:r}=t,{tabVisible:a}=t,{tabComponent:s}=t;const c=writable(a);return setContext("tabid",r),setContext("tabVisible",c),e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(3,i=compute_rest_props(t,o)),"tabid"in e&&n(0,r=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)},[r,a,s,i]}class TabContent extends SvelteComponent{constructor(e){super(),init(this,e,instance$n,create_fragment$l,safe_not_equal,{tabid:0,tabVisible:1,tabComponent:2})}}function get_each_context$8(e,t,n){const o=e.slice();return o[6]=t[n],o}function create_each_block$8(e,t){let n,o,i;const r=[{tabComponent:t[1][t[6]]},t[2][t[6]]?.props,{tabid:t[6]},{tabVisible:t[6]==t[0]?.tabid}];let a={};for(let e=0;e<r.length;e+=1)a=assign(a,r[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),i=!0},p(e,n){t=e;const i=7&n?get_spread_update(r,[2&n&&{tabComponent:t[1][t[6]]},6&n&&get_spread_object(t[2][t[6]]?.props),2&n&&{tabid:t[6]},3&n&&{tabVisible:t[6]==t[0]?.tabid}]):{};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_fragment$k(e){let t,n,o=[],i=new Map,r=_.keys(e[1]);const a=e=>e[6];for(let t=0;t<r.length;t+=1){let n=get_each_context$8(e,r,t),s=a(n);i.set(s,o[t]=create_each_block$8(s,n))}return{c(){for(let e=0;e<o.length;e+=1)o[e].c();t=empty()},m(e,i){for(let t=0;t<o.length;t+=1)o[t].m(e,i);insert(e,t,i),n=!0},p(e,[n]){7&n&&(r=_.keys(e[1]),group_outros(),o=update_keyed_each(o,n,a,1,e,r,i,t.parentNode,outro_and_destroy_block,create_each_block$8,t,get_each_context$8),check_outros())},i(e){if(!n){for(let e=0;e<r.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$m(e,t,n){let o,i;var r;component_subscribe(e,openedTabs,(e=>n(5,i=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(i.filter((e=>null==e.closedTime&&(e.multiTabIndex||0)==a)),"tabid")).length>0&&n(1,c=_.pickBy(c,((e,t)=>i.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,r=tabs[s.tabComponent])||void 0===r?void 0:r.default;t&&n(1,c=Object.assign(Object.assign({},c),{[e]:t}))}}32&e.$$.dirty&&n(2,o=_.keyBy(i,(e=>e.tabid)))},[s,c,o,a,r,i]}class TabRegister extends SvelteComponent{constructor(e){super(),init(this,e,instance$m,create_fragment$k,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,i=0,r=[],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[i]?(o=l+o+u,i+=1,c+=1+c):c=0,s+=c,r[r.length]=o;return i===e.length?(s=d===e?1/0:s,{rendered:r.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,i,r,a){var s=i;o.extract&&(s=o.extract(i));var c=t.match(e,s,o);return null!=c&&(n[n.length]={string:c.rendered,score:c.score,index:r,original:i}),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$7(e,t,n){const o=e.slice();return o[25]=t[n],o[26]=t,o[27]=n,o}function create_if_block_1$7(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,i){insert(e,t,i),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$9(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$7(e){let t,n,o,i,r,a,s,c,l,u=e[25].text+"",d=e[27],p=e[25].icon&&create_if_block_1$7(e),m=e[25].keyText&&create_if_block$9(e);function h(){return e[22](e[25])}const f=()=>e[23](t,d),g=()=>e[23](null,d);return{c(){t=element("div"),n=element("div"),p&&p.c(),o=space(),i=new HtmlTag(!1),r=space(),m&&m.c(),a=space(),i.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),i.m(u,n),append(t,r),m&&m.m(t,null),append(t,a),f(),s=!0,c||(l=listen(t,"click",h),c=!0)},p(r,c){(e=r)[25].icon?p?(p.p(e,c),64&c&&transition_in(p,1)):(p=create_if_block_1$7(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+"")&&i.p(u),e[25].keyText?m?m.p(e,c):(m=create_if_block$9(e),m.c(),m.m(t,a)):m&&(m.d(1),m=null),d!==e[27]&&(g(),d=e[27],f()),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$j(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b;i=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$7(get_each_context$7(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(i.$$.fragment),r=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"),f=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",h=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(h,v){insert(h,t,v),append(t,n),append(n,o),mount_component(i,o,null),append(o,r),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,f),append(d,g);for(let e=0;e<y.length;e+=1)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&&h!==(h=e[3]?.text||("database"==e[4]?"Search in database":"Search in commands")))&&attr(m,"placeholder",h),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$7(e,v,n);y[n]?(y[n].p(o,t),transition_in(y[n],1)):(y[n]=create_each_block$7(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(i.$$.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(i.$$.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(i),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"])))),i=[];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)i.push({text:`${t.name} on ${getConnectionLabel(e)}`,icon:"img database",onClick:()=>currentDatabase.set({connection:e,name:t.name})})}return[..._.sortBy(i,"text"),...o]}function instance$l(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,$=noop$3,b=noop$3;component_subscribe(e,visibleCommandPalette,(e=>n(4,d=e))),component_subscribe(e,currentDatabase,(e=>n(16,h=e))),component_subscribe(e,commandsCustomized,(e=>n(17,f=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,i=_.isPlainObject(d)?d:null),131072&e.$$.dirty&&n(11,r=_.sortBy(Object.values(f).filter((e=>e.enabled)),"text")),65536&e.$$.dirty&&n(13,a=_.get(h,"connection._id")),65536&e.$$.dirty&&n(12,s=_.get(h,"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):i?i.getSubCommands():r).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,i,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))},r,s,a,p,m,h,f,()=>{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$l,create_fragment$j,safe_not_equal,{})}}function get_each_context$6(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$6(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(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]},$$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 i={};4&o&&(i.icon=e[13].icon||"icon favorite"),65540&o&&(i.$$scope={dirty:o,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(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]},$$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 i={};1&o&&(i.icon=e[8].icon),1&o&&(i.disabled=!e[8].enabled),1&o&&(i.title=getCommandTitle(e[8])),65537&o&&(i.$$scope={dirty:o,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_if_block$8(e){let t,n,o,i,r,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),i=space(),r=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,i),append(n,r),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(r,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$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$6(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$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 i={};1&o&&(i.icon=e[8].icon),1&o&&(i.disabled=!e[8].enabled),1&o&&(i.title=getCommandTitle(e[8])),65537&o&&(i.$$scope={dirty:o,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$i(e){let t,n,o,i,r,a,s,c,l=e[3]&&e[0].filter(func).length>0,u=!e[4]&&create_if_block_1$6(e),d=(e[2]||[]).filter(func_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 h=e[0].filter(func_2),f=[];for(let t=0;t<h.length;t+=1)f[t]=create_each_block_1(get_each_context_1(e,h,t));const g=e=>transition_out(f[e],1,1,(()=>{f[e]=null}));let _=l&&create_if_block$8(e),$=e[0].filter(func_3),b=[];for(let t=0;t<$.length;t+=1)b[t]=create_each_block$6(get_each_context$6(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();i=space();for(let e=0;e<f.length;e+=1)f[e].c();r=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].m(n,null);append(n,i);for(let e=0;e<f.length;e+=1)f[e].m(n,null);append(t,r),append(t,a),_&&_.m(a,null),append(a,s);for(let e=0;e<b.length;e+=1)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),o=0;o<d.length;o+=1){const r=get_each_context_2(e,d,o);p[o]?(p[o].p(r,t),transition_in(p[o],1)):(p[o]=create_each_block_2(r),p[o].c(),transition_in(p[o],1),p[o].m(n,i))}for(group_outros(),o=d.length;o<p.length;o+=1)m(o);check_outros()}if(1&t){let o;for(h=e[0].filter(func_2),o=0;o<h.length;o+=1){const i=get_each_context_1(e,h,o);f[o]?(f[o].p(i,t),transition_in(f[o],1)):(f[o]=create_each_block_1(i),f[o].c(),transition_in(f[o],1),f[o].m(n,null))}for(group_outros(),o=h.length;o<f.length;o+=1)g(o);check_outros()}if(9&t&&(l=e[3]&&e[0].filter(func).length>0),l?_?(_.p(e,t),9&t&&transition_in(_,1)):(_=create_if_block$8(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$6(e,$,n);b[n]?(b[n].p(o,t),transition_in(b[n],1)):(b[n]=create_each_block$6(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<h.length;e+=1)transition_in(f[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]);f=f.filter(Boolean);for(let e=0;e<f.length;e+=1)transition_out(f[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(f,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=e=>e.isRelatedToTab,func_1=e=>e.showInToolbar,func_2=e=>!e.isRelatedToTab,func_3=e=>e.isRelatedToTab;function instance$k(e,t,n){let o,i,r,a,s,c=noop$3;component_subscribe(e,commandsCustomized,(e=>n(5,r=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,i=_.sortBy(Object.values(r).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))),[i,o,a,s,l,r,()=>runCommand("about.show"),e=>openFavorite(e)]}class Toolbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$k,create_fragment$i,safe_not_equal,{})}}function get_each_context$5(e,t,n){const o=e.slice();return o[23]=t[n],o}function create_else_block$2(e){let t,n,o,i,r,a,s,c,l,u=(e[23].text||e[23].label)+"",d=e[23].keyText&&create_if_block_3$2(e),p=e[23].submenu&&create_if_block_2$2();function m(...t){return e[15](e[23],...t)}function h(...t){return e[16](e[23],...t)}return{c(){t=element("li"),n=element("a"),o=text$1(u),i=space(),d&&d.c(),r=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,i),d&&d.m(n,null),append(n,r),p&&p.m(n,null),append(t,a),s=!0,c||(l=[listen(n,"click",m),listen(t,"mouseenter",h)],c=!0)},p(t,i){e=t,(!s||256&i)&&u!==(u=(e[23].text||e[23].label)+"")&&set_data(o,u),e[23].keyText?d?d.p(e,i):(d=create_if_block_3$2(e),d.c(),d.m(n,r)):d&&(d.d(1),d=null),e[23].submenu?p?256&i&&transition_in(p,1):(p=create_if_block_2$2(),p.c(),transition_in(p,1),p.m(n,null)):p&&(group_outros(),transition_out(p,1,1,(()=>{p=null})),check_outros()),256&i&&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$5(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$2(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$2(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,i){insert(e,t,i),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$5(e){let t,n,o,i;const r=[create_if_block_1$5,create_else_block$2],a=[];function s(e,t){return e[23].divider?0:1}return t=s(e),n=a[t]=r[t](e),{c(){n.c(),o=empty()},m(e,n){a[t].m(e,n),insert(e,o,n),i=!0},p(e,i){let c=t;t=s(e),t===c?a[t].p(e,i):(group_outros(),transition_out(a[c],1,1,(()=>{a[c]=null})),check_outros(),n=a[t],n?n.p(e,i):(n=a[t]=r[t](e),n.c()),transition_in(n,1),n.m(o.parentNode,o))},i(e){i||(transition_in(n),i=!0)},o(e){transition_out(n),i=!1},d(e){a[t].d(e),e&&detach(o)}}}function create_if_block$7(e){let t,n;const o=[{items:e[6]?.submenu},e[7],{onCloseParent:e[18]}];let i={};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new DropDownMenu({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,n){const i=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(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$h(e){let t,n,o,i,r,a=e[8],s=[];for(let t=0;t<a.length;t+=1)s[t]=create_each_block$5(get_each_context$5(e,a,t));const c=e=>transition_out(s[e],1,1,(()=>{s[e]=null}));let l=e[6]?.submenu&&create_if_block$7(e);return{c(){t=element("ul");for(let e=0;e<s.length;e+=1)s[e].c();o=space(),l&&l.c(),i=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].m(t,null);e[17](t),insert(n,o,a),l&&l.m(n,a),insert(n,i,a),r=!0},p(e,[o]){if(3376&o){let n;for(a=e[8],n=0;n<a.length;n+=1){const i=get_each_context$5(e,a,n);s[n]?(s[n].p(i,o),transition_in(s[n],1)):(s[n]=create_each_block$5(i),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()}(!r||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$7(e),l.c(),transition_in(l,1),l.m(i.parentNode,i)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros())},i(e){if(!r){for(let e=0;e<a.length;e+=1)transition_in(s[e]);transition_in(l),r=!0}},o(e){s=s.filter(Boolean);for(let e=0;e<s.length;e+=1)transition_out(s[e]);transition_out(l),r=!1},d(n){n&&detach(t),destroy_each(s,n),e[17](null),n&&detach(o),l&&l.d(n),n&&detach(i)}}}function getElementOffset(e,t=null){var n=document.documentElement,o=e.getBoundingClientRect(),i=o.top+window.pageYOffset-n.clientTop,r=o.left+window.pageXOffset-n.clientLeft;return"right"==t?{top:i,left:r+o.width}:{top:i,left:r}}function fixPopupPlacement(e){const{width:t,height:n}=e.getBoundingClientRect();let o=getElementOffset(e),i=null,r=null;o.left+t>window.innerWidth&&(i=o.left-t,i<0&&(i=0)),o.top+n>window.innerHeight&&(r=o.top-n,r<0&&(r=0)),null!=i&&(e.style.left=`${i}px`),null!=r&&(e.style.top=`${r}px`)}function instance$j(e,t,n){let o,i;component_subscribe(e,commandsCustomized,(e=>n(14,i=e)));let r,a,s,c,l,{items:u}=t,{top:d}=t,{left:p}=t,{onCloseParent:m}=t,{targetElement:h}=t;const f=createEventDispatcher();let g=[];function $(){f("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(r)}));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,h=e.targetElement)},e.$$.update=()=>{28672&e.$$.dirty&&n(8,o=prepareMenuItems(u,{targetElement:h,registerCloseHandler:b},i))},[d,p,m,r,a,s,c,l,o,$,v,y,u,h,i,(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"]((()=>{r=e,n(3,r)}))},()=>{m&&m(),$()}]}class DropDownMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$j,create_fragment$h,safe_not_equal,{items:12,top:0,left:1,onCloseParent:2,targetElement:13})}}function create_if_block$6(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$g(e){let t,n,o=e[0]&&create_if_block$6(e);return{c(){o&&o.c(),t=empty()},m(e,i){o&&o.m(e,i),insert(e,t,i),n=!0},p(e,[n]){e[0]?o?(o.p(e,n),1&n&&transition_in(o,1)):(o=create_if_block$6(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$i(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$i,create_fragment$g,safe_not_equal,{})}}function create_default_slot$1(e){let t,n,o,i,r;return i=new ColorSelector({props:{value:e[4]}}),i.$on("change",e[8]),{c(){t=element("div"),n=text$1(e[3]),o=space(),create_component(i.$$.fragment),attr(t,"class","m-2")},m(e,a){insert(e,t,a),append(t,n),insert(e,o,a),mount_component(i,e,a),r=!0},p(e,t){(!r||8&t)&&set_data(n,e[3]);const o={};16&t&&(o.value=e[4]),i.$set(o)},i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(o),destroy_component(i,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$f(e){let t,n;const o=[e[6]];let i={$$slots:{header:[create_header_slot],default:[create_default_slot$1]},$$scope:{ctx:e}};for(let e=0;e<o.length;e+=1)i=assign(i,o[e]);return t=new ModalBase({props:i}),{c(){create_component(t.$$.fragment)},m(e,o){mount_component(t,e,o),n=!0},p(e,[n]){const i=64&n?get_spread_update(o,[get_spread_object(e[6])]):{};543&n&&(i.$$scope={dirty:n,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 instance$h(e,t,n){let o;const i=["conid","database","header","text"];let r,a=compute_rest_props(t,i),{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,r=e)));return e.$$set=e=>{t=assign(assign({},t),exclude_internal_props(e)),n(6,a=compute_rest_props(t,i)),"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=r)},[s,c,l,u,o,d,a,r,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$h,create_fragment$f,safe_not_equal,{conid:0,database:1,header:2,text:3})}}function get_each_context$4(e,t,n){const o=e.slice();return o[27]=t[n],o}function create_if_block_14(e){let t,n,o,i,r,a,s,c;const l=[create_if_block_16,create_else_block$1],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_15(e);return{c(){t=element("div"),o.c(),i=space(),r=text$1(e[0]),a=space(),p&&p.c(),s=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,o){insert(e,t,o),u[n].m(t,null),append(t,i),append(t,r),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,i)),(!c||1&a)&&set_data(r,e[0]),e[2]?p?(p.p(e,a),4&a&&transition_in(p,1)):(p=create_if_block_15(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$1(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_16(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_15(e){let t,n,o,i,r,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-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),attr(t,"title","Database color. Overrides connection color")},m(s,c){insert(s,t,c),append(t,n),mount_component(o,n,null),i=!0,r||(a=listen(t,"click",e[22]),r=!0)},p(e,t){(!i||4096&t)&&attr(n,"style",e[12])},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o),r=!1,a()}}}function create_if_block_12(e){let t,n,o,i,r,a,s;n=new FontIcon({props:{icon:"icon server",padRight:!0}});let c=e[2]&&create_if_block_13(e);return{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(e[7]),r=space(),c&&c.c(),a=empty(),attr(t,"class","item svelte-1yzh05e")},m(e,l){insert(e,t,l),mount_component(n,t,null),append(t,o),append(t,i),insert(e,r,l),c&&c.m(e,l),insert(e,a,l),s=!0},p(e,t){(!s||128&t)&&set_data(i,e[7]),e[2]?c?(c.p(e,t),4&t&&transition_in(c,1)):(c=create_if_block_13(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(r),c&&c.d(e),e&&detach(a)}}}function create_if_block_13(e){let t,n,o,i,r,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-1yzh05e"),attr(t,"class","item clickable svelte-1yzh05e"),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),i=!0,r||(a=listen(t,"click",e[23]),r=!0)},p(e,t){(!i||8192&t)&&attr(n,"style",e[13])},i(e){i||(transition_in(o.$$.fragment,e),i=!0)},o(e){transition_out(o.$$.fragment,e),i=!1},d(e){e&&detach(t),destroy_component(o),r=!1,a()}}}function create_if_block_11(e){let t,n,o,i,r,a=e[1].user+"";return n=new FontIcon({props:{icon:"icon account",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(a),attr(t,"class","item svelte-1yzh05e")},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,i),r=!0},p(e,t){(!r||2&t)&&a!==(a=e[1].user+"")&&set_data(i,a)},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_5$1(e){let t,n,o,i,r,a;const s=[create_if_block_6$1,create_if_block_7,create_if_block_8,create_if_block_9,create_if_block_10],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-1yzh05e")},m(o,s){insert(o,t,s),~n&&c[n].m(t,null),i=!0,r||(a=listen(t,"click",e[24]),r=!0)},p(e,i){let r=n;n=l(e),n!==r&&(o&&(group_outros(),transition_out(c[r],1,1,(()=>{c[r]=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){i||(transition_in(o),i=!0)},o(e){transition_out(o),i=!1},d(e){e&&detach(t),~n&&c[n].d(),r=!1,a()}}}function create_if_block_10(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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(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,i){mount_component(t,e,i),insert(e,n,i),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_6$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,i){mount_component(t,e,i),insert(e,n,i),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_4$1(e){let t,n,o,i;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-1yzh05e")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!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)}}}function create_if_block_3$1(e){let t,n,o,i,r,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(),i=element("div"),r=text$1(c),attr(i,"class","version svelte-1yzh05e"),attr(t,"class","item flex svelte-1yzh05e"),attr(t,"title",a=e[15].version)},m(e,a){insert(e,t,a),mount_component(n,t,null),append(t,o),append(t,i),append(i,r),s=!0},p(e,n){(!s||32768&n)&&c!==(c=(e[15].versionText||e[15].version)+"")&&set_data(r,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_2$1(e){let t,n,o,i,r,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(),i=element("div"),r=text$1(u),attr(i,"class","version ml-1 svelte-1yzh05e"),attr(t,"class","item flex clickable svelte-1yzh05e"),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,i),append(i,r),s=!0,c||(l=listen(t,"click",e[18]),c=!0)},p(e,n){(!s||16392&n)&&u!==(u=moment(e[14]?.analysedTime).fromNow()+(e[3],""))&&set_data(r,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_1$4(e){let t,n,o,i,r,a,s;return n=new FontIcon({props:{icon:"icon archive",padRight:!0}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=text$1(e[16]),attr(t,"class","item flex clickable svelte-1yzh05e"),attr(t,"title","Current archive")},m(c,l){insert(c,t,l),mount_component(n,t,null),append(t,o),append(t,i),r=!0,a||(s=listen(t,"click",e[25]),a=!0)},p(e,t){(!r||65536&t)&&set_data(i,e[16])},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),a=!1,s()}}}function create_if_block$5(e){let t,n;return t=new FontIcon({props:{icon:e[27].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[27].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$4(e){let t,n,o,i,r,a,s,c=e[27].text+"",l=e[27].icon&&create_if_block$5(e);return{c(){t=element("div"),l&&l.c(),n=space(),o=text$1(c),i=space(),attr(t,"class","item svelte-1yzh05e"),toggle_class(t,"clickable",e[27].clickable)},m(c,u){insert(c,t,u),l&&l.m(t,null),append(t,n),append(t,o),append(t,i),r=!0,a||(s=listen(t,"click",(function(){is_function(e[27].onClick)&&e[27].onClick.apply(this,arguments)})),a=!0)},p(i,a){(e=i)[27].icon?l?(l.p(e,a),256&a&&transition_in(l,1)):(l=create_if_block$5(e),l.c(),transition_in(l,1),l.m(t,n)):l&&(group_outros(),transition_out(l,1,1,(()=>{l=null})),check_outros()),(!r||256&a)&&c!==(c=e[27].text+"")&&set_data(o,c),256&a&&toggle_class(t,"clickable",e[27].clickable)},i(e){r||(transition_in(l),r=!0)},o(e){transition_out(l),r=!1},d(e){e&&detach(t),l&&l.d(),a=!1,s()}}}function create_fragment$e(e){let t,n,o,i,r,a,s,c,l,u,d,p,m=e[0]&&create_if_block_14(e),h=e[7]&&create_if_block_12(e),f=e[1]&&e[1].user&&create_if_block_11(e),g=e[1]&&e[14]&&create_if_block_5$1(e),_=!e[1]&&create_if_block_4$1(),$=e[15]&&create_if_block_3$1(e),b=e[14]?.analysedTime&&create_if_block_2$1(e),v=e[16]&&create_if_block_1$4(e),y=e[8]||[],x=[];for(let t=0;t<y.length;t+=1)x[t]=create_each_block$4(get_each_context$4(e,y,t));const w=e=>transition_out(x[e],1,1,(()=>{x[e]=null}));return{c(){t=element("div"),n=element("div"),m&&m.c(),o=space(),h&&h.c(),i=space(),f&&f.c(),r=space(),g&&g.c(),a=space(),_&&_.c(),s=space(),$&&$.c(),c=space(),b&&b.c(),l=space(),v&&v.c(),u=space(),d=element("div");for(let e=0;e<x.length;e+=1)x[e].c();attr(n,"class","container svelte-1yzh05e"),attr(d,"class","container svelte-1yzh05e"),attr(t,"class","main svelte-1yzh05e"),attr(t,"style",e[11])},m(e,y){insert(e,t,y),append(t,n),m&&m.m(n,null),append(n,o),h&&h.m(n,null),append(n,i),f&&f.m(n,null),append(n,r),g&&g.m(n,null),append(n,a),_&&_.m(n,null),append(n,s),$&&$.m(n,null),append(n,c),b&&b.m(n,null),append(n,l),v&&v.m(n,null),append(t,u),append(t,d);for(let e=0;e<x.length;e+=1)x[e].m(d,null);p=!0},p(e,[u]){if(e[0]?m?(m.p(e,u),1&u&&transition_in(m,1)):(m=create_if_block_14(e),m.c(),transition_in(m,1),m.m(n,o)):m&&(group_outros(),transition_out(m,1,1,(()=>{m=null})),check_outros()),e[7]?h?(h.p(e,u),128&u&&transition_in(h,1)):(h=create_if_block_12(e),h.c(),transition_in(h,1),h.m(n,i)):h&&(group_outros(),transition_out(h,1,1,(()=>{h=null})),check_outros()),e[1]&&e[1].user?f?(f.p(e,u),2&u&&transition_in(f,1)):(f=create_if_block_11(e),f.c(),transition_in(f,1),f.m(n,r)):f&&(group_outros(),transition_out(f,1,1,(()=>{f=null})),check_outros()),e[1]&&e[14]?g?(g.p(e,u),16386&u&&transition_in(g,1)):(g=create_if_block_5$1(e),g.c(),transition_in(g,1),g.m(n,a)):g&&(group_outros(),transition_out(g,1,1,(()=>{g=null})),check_outros()),e[1]?_&&(group_outros(),transition_out(_,1,1,(()=>{_=null})),check_outros()):_?2&u&&transition_in(_,1):(_=create_if_block_4$1(),_.c(),transition_in(_,1),_.m(n,s)),e[15]?$?($.p(e,u),32768&u&&transition_in($,1)):($=create_if_block_3$1(e),$.c(),transition_in($,1),$.m(n,c)):$&&(group_outros(),transition_out($,1,1,(()=>{$=null})),check_outros()),e[14]?.analysedTime?b?(b.p(e,u),16384&u&&transition_in(b,1)):(b=create_if_block_2$1(e),b.c(),transition_in(b,1),b.m(n,l)):b&&(group_outros(),transition_out(b,1,1,(()=>{b=null})),check_outros()),e[16]?v?(v.p(e,u),65536&u&&transition_in(v,1)):(v=create_if_block_1$4(e),v.c(),transition_in(v,1),v.m(n,null)):v&&(group_outros(),transition_out(v,1,1,(()=>{v=null})),check_outros()),256&u){let t;for(y=e[8]||[],t=0;t<y.length;t+=1){const n=get_each_context$4(e,y,t);x[t]?(x[t].p(n,u),transition_in(x[t],1)):(x[t]=create_each_block$4(n),x[t].c(),transition_in(x[t],1),x[t].m(d,null))}for(group_outros(),t=y.length;t<x.length;t+=1)w(t);check_outros()}(!p||2048&u)&&attr(t,"style",e[11])},i(e){if(!p){transition_in(m),transition_in(h),transition_in(f),transition_in(g),transition_in(_),transition_in($),transition_in(b),transition_in(v);for(let e=0;e<y.length;e+=1)transition_in(x[e]);p=!0}},o(e){transition_out(m),transition_out(h),transition_out(f),transition_out(g),transition_out(_),transition_out($),transition_out(b),transition_out(v),x=x.filter(Boolean);for(let e=0;e<x.length;e+=1)transition_out(x[e]);p=!1},d(e){e&&detach(t),m&&m.d(),h&&h.d(),f&&f.d(),g&&g.d(),_&&_.d(),$&&$.d(),b&&b.d(),v&&v.d(),destroy_each(x,e)}}}function instance$g(e,t,n){let o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w=noop$3,C=noop$3,k=noop$3,S=noop$3,T=noop$3;component_subscribe(e,activeTabId,(e=>n(19,m=e))),component_subscribe(e,statusBarTabInfo,(e=>n(20,h=e))),component_subscribe(e,currentDatabase,(e=>n(21,f=e))),component_subscribe(e,currentArchive,(e=>n(16,y=e))),component_subscribe(e,selectedWidget,(e=>n(17,x=e))),e.$$.on_destroy.push((()=>w())),e.$$.on_destroy.push((()=>C())),e.$$.on_destroy.push((()=>k())),e.$$.on_destroy.push((()=>S())),e.$$.on_destroy.push((()=>T()));var E=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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;setInterval((()=>{n(3,A++,A)}),1e4);return e.$$.update=()=>{2097152&e.$$.dirty&&n(0,o=f&&f.name),2097152&e.$$.dirty&&n(1,i=f&&f.connection),3&e.$$.dirty&&n(2,r=i?{conid:i._id,database:o}:null),4&e.$$.dirty&&(n(10,a=useDatabaseStatus(r||{})),S(),S=subscribe(a,(e=>n(14,b=e)))),4&e.$$.dirty&&(n(9,s=useDatabaseServerVersion(r||{})),T(),T=subscribe(s,(e=>n(15,v=e)))),1572864&e.$$.dirty&&n(8,c=h[m]),2&e.$$.dirty&&n(7,l=getConnectionLabel(i,{allowExplicitDatabase:!1})),4&e.$$.dirty&&(n(6,u=useConnectionColor(r,3,"dark",!0)),w(),w=subscribe(u,(e=>n(11,g=e)))),4&e.$$.dirty&&(n(5,d=useConnectionColor(r?{conid:r.conid}:null,6,"dark",!0)),k(),k=subscribe(d,(e=>n(13,$=e)))),4&e.$$.dirty&&(n(4,p=useConnectionColor(r,6,"dark",!0,!1)),C(),C=subscribe(p,(e=>n(12,_=e))))},[o,i,r,A,p,d,u,l,c,s,a,g,_,$,b,v,y,x,function(){return E(this,void 0,void 0,(function*(){i&&o&&(yield apiCall("database-connections/sync-model",{conid:i._id,database:o}))}))},m,h,f,()=>{showModal(ChooseConnectionColorModal,{...r,header:"Choose database color",text:"This color override connection color for specific database."})},()=>{showModal(ChooseConnectionColorModal,{conid:r.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$g,create_fragment$e,safe_not_equal,{})}}function get_each_context$3(e,t,n){const o=e.slice();return o[7]=t[n],o}function create_if_block_1$3(e){let t,n,o,i,r;return n=new FontIcon({props:{icon:"icon close"}}),{c(){t=element("div"),create_component(n.$$.fragment),attr(t,"class","close svelte-7p89xz")},m(a,s){insert(a,t,s),mount_component(n,t,null),o=!0,i||(r=listen(t,"click",e[4]),i=!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),i=!1,r()}}}function create_if_block$4(e){let t,n,o=e[3],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$3(get_each_context$3(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){t=element("div");for(let e=0;e<i.length;e+=1)i[e].c();attr(t,"class","buttons svelte-7p89xz")},m(e,o){insert(e,t,o);for(let e=0;e<i.length;e+=1)i[e].m(t,null);n=!0},p(e,n){if(8&n){let a;for(o=e[3],a=0;a<o.length;a+=1){const r=get_each_context$3(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$3(r),i[a].c(),transition_in(i[a],1),i[a].m(t,null))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){e&&detach(t),destroy_each(i,e)}}}function create_each_block$3(e){let t,n,o,i;return n=new FormStyledButton({props:{value:e[7].label}}),n.$on("click",(function(){is_function(e[7].onClick)&&e[7].onClick.apply(this,arguments)})),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),attr(t,"class","button svelte-7p89xz")},m(e,r){insert(e,t,r),mount_component(n,t,null),append(t,o),i=!0},p(t,o){e=t;const i={};8&o&&(i.value=e[7].label),n.$set(i)},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$d(e){let t,n,o,i,r,a,s,c;o=new FontIcon({props:{icon:e[1]}});let l=e[2]&&create_if_block_1$3(e),u=e[3]?.length>0&&create_if_block$4(e);return{c(){t=element("div"),n=element("div"),create_component(o.$$.fragment),i=space(),r=text$1(e[0]),a=space(),l&&l.c(),s=space(),u&&u.c(),attr(n,"class","message svelte-7p89xz"),attr(t,"class","wrapper svelte-7p89xz")},m(e,d){insert(e,t,d),append(t,n),mount_component(o,n,null),append(n,i),append(n,r),append(t,a),l&&l.m(t,null),append(t,s),u&&u.m(t,null),c=!0},p(e,[n]){const i={};2&n&&(i.icon=e[1]),o.$set(i),(!c||1&n)&&set_data(r,e[0]),e[2]?l?(l.p(e,n),4&n&&transition_in(l,1)):(l=create_if_block_1$3(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$4(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$f(e,t,n){let{message:o}=t,{id:i}=t,{icon:r=null}=t,{autoClose:a=!1}=t,{allowClose:s=!1}=t,{buttons:c=[]}=t;function l(){openedSnackbars.update((e=>e.filter((e=>e.id!=i))))}return onMount((()=>{a&&setTimeout(l,3e3)})),e.$$set=e=>{"message"in e&&n(0,o=e.message),"id"in e&&n(5,i=e.id),"icon"in e&&n(1,r=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,r,s,c,l,i,a]}class Snackbar extends SvelteComponent{constructor(e){super(),init(this,e,instance$f,create_fragment$d,safe_not_equal,{message:0,id:5,icon:1,autoClose:6,allowClose:2,buttons:3})}}function get_each_context$2(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$2(e){let t,n,o;const i=[{modalId:e[3]},e[2]];var r=e[1];function a(e){let t={};for(let e=0;e<i.length;e+=1)t=assign(t,i[e]);return{props:t}}return r&&(t=new r(a())),{c(){t&&create_component(t.$$.fragment),n=empty()},m(e,i){t&&mount_component(t,e,i),insert(e,n,i),o=!0},p(e,o){const s=1&o?get_spread_update(i,[{modalId:e[3]},get_spread_object(e[2])]):{};if(r!==(r=e[1])){if(t){group_outros();const e=t;transition_out(e.$$.fragment,1,0,(()=>{destroy_component(e,1)})),check_outros()}r?(t=new r(a()),create_component(t.$$.fragment),transition_in(t.$$.fragment,1),mount_component(t,n.parentNode,n)):t=null}else r&&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$c(e){let t,n,o=e[0],i=[];for(let t=0;t<o.length;t+=1)i[t]=create_each_block$2(get_each_context$2(e,o,t));const r=e=>transition_out(i[e],1,1,(()=>{i[e]=null}));return{c(){for(let e=0;e<i.length;e+=1)i[e].c();t=empty()},m(e,o){for(let t=0;t<i.length;t+=1)i[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 r=get_each_context$2(e,o,a);i[a]?(i[a].p(r,n),transition_in(i[a],1)):(i[a]=create_each_block$2(r),i[a].c(),transition_in(i[a],1),i[a].m(t.parentNode,t))}for(group_outros(),a=o.length;a<i.length;a+=1)r(a);check_outros()}},i(e){if(!n){for(let e=0;e<o.length;e+=1)transition_in(i[e]);n=!0}},o(e){i=i.filter(Boolean);for(let e=0;e<i.length;e+=1)transition_out(i[e]);n=!1},d(e){destroy_each(i,e),e&&detach(t)}}}function instance$e(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$e,create_fragment$c,safe_not_equal,{})}}function create_fragment$b(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$=e[0].join(", ")+"";return i=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(i.$$.fragment),r=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),h=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(i,o,null),append(n,r),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,h),f=!0,g||(_=listen(p,"click",e[3]),g=!0)},p(e,[t]){(!f||1&t)&&$!==($=e[0].join(", ")+"")&&set_data(u,$)},i(e){f||(transition_in(i.$$.fragment,e),transition_in(m.$$.fragment,e),f=!0)},o(e){transition_out(i.$$.fragment,e),transition_out(m.$$.fragment,e),f=!1},d(e){e&&detach(t),destroy_component(i),destroy_component(m),g=!1,_()}}}function instance$d(e,t,n){let o,i,r;component_subscribe(e,extensions,(e=>n(2,i=e))),component_subscribe(e,isFileDragActive,(e=>n(1,r=e)));const a=getElectron();return e.$$.update=()=>{4&e.$$.dirty&&n(0,o=_.compact([...i.fileFormats.filter((e=>e.readerFunc)).map((e=>e.name)),a?"SQL":null,a?"SQLite database":null]))},[o,r,i,()=>{set_store_value(isFileDragActive,r=!1,r)}]}class DragAndDropFileTarget extends SvelteComponent{constructor(e){super(),init(this,e,instance$d,create_fragment$b,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$l(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$l(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$l(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 i(){var r=this;t.readEntries((function(t){return __awaiter$l(r,void 0,void 0,(function(){var r,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 r=c.sent(),e(r),[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),i(),c.label=6;case 6:return[2]}}))}))}),(function(e){n(e)}))}()}))}function fromFileEntry(e){return __awaiter$l(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 i(e){if(e.preventDefault(),e.stopPropagation(),e.dataTransfer)try{e.dataTransfer.dropEffect="copy"}catch(e){}}function r(t){t.preventDefault(),t.stopPropagation();const o=n.filter((t=>e&&e.contains(t))),i=o.indexOf(t.target);-1!==i&&o.splice(i,1),n=o,o.length>0||isFileDragActive.set(!1)}function a(e){return __awaiter$l(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",i),e.addEventListener("dragleave",r),e.addEventListener("drop",a),{destroy(){e.removeEventListener("dragenter",o),e.removeEventListener("dragover",i),e.removeEventListener("dragleave",r),e.removeEventListener("drop",a)}}}function get_each_context$1(e,t,n){const o=e.slice();return o[9]=t[n],o}function create_each_block$1(e){let t,n,o,i,r,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),i||(r=[listen(t,"click",s),listen(t,"mousemove",c)],i=!0)},p(o,i){e=o,4&i&&a!==(a=(e[9].text||e[9].label)+"")&&set_data(n,a),6&i&&toggle_class(t,"opened",e[1]==(e[9].text||e[9].label))},d(e){e&&detach(t),i=!1,run_all(r)}}}function create_fragment$a(e){let t,n=e[2],o=[];for(let t=0;t<n.length;t+=1)o[t]=create_each_block$1(get_each_context$1(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].m(t,null)},p(e,[i]){if(15&i){let r;for(n=e[2],r=0;r<n.length;r+=1){const a=get_each_context$1(e,n,r);o[r]?o[r].p(a,i):(o[r]=create_each_block$1(a),o[r].c(),o[r].m(t,null))}for(;r<o.length;r+=1)o[r].d(1);o.length=n.length}},i:noop$3,o:noop$3,d(e){e&&detach(t),destroy_each(o,e)}}}function instance$c(e,t,n){let o,i,r;component_subscribe(e,currentDropDownMenu,(e=>n(5,i=e))),component_subscribe(e,commandsCustomized,(e=>n(6,r=e)));let a,s,{items:c}=t;function l(e,t){const o=e.getBoundingClientRect(),r=o.left,c=o.bottom,l=t.submenu;set_store_value(currentDropDownMenu,i={left:r,top:c,items:l},i),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,{},r)),32&e.$$.dirty&&(i||(n(0,a=!1),n(1,s=null)))},[a,s,o,l,c,i,r,(e,t)=>l(t.target,e),(e,t)=>{a&&l(t.target,e)}]}class HorizontalMenu extends SvelteComponent{constructor(e){super(),init(this,e,instance$c,create_fragment$a,safe_not_equal,{items:4})}}function create_if_block_1$2(e){let t,n,o,i,r;return i=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(i.$$.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(i,o,null),r=!0},p:noop$3,i(e){r||(transition_in(i.$$.fragment,e),r=!0)},o(e){transition_out(i.$$.fragment,e),r=!1},d(e){e&&detach(t),e&&detach(n),e&&detach(o),destroy_component(i)}}}function create_if_block$3(e){let t,n,o,i,r,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),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),c=element("div"),create_component(l.$$.fragment),attr(n,"class","button svelte-1sw5v4y"),attr(r,"class","button svelte-1sw5v4y"),attr(c,"class","button close-button svelte-1sw5v4y"),attr(t,"class","actions svelte-1sw5v4y")},m(m,h){insert(m,t,h),append(t,n),mount_component(o,n,null),append(t,i),append(t,r),mount_component(a,r,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$9(e){let t,n,o,i,r,a,s,c,l=!isMac(),u=!isMac(),d=l&&create_if_block_1$2(e),p=u&&create_if_block$3(e);return{c(){t=element("div"),d&&d.c(),n=space(),o=element("div"),i=text$1(e[1]),r=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,i),append(t,r),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(i,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$b(e,t,n){let o,i,r;component_subscribe(e,currentDatabase,(e=>n(3,i=e))),component_subscribe(e,activeTab,(e=>n(4,r=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==r?void 0:r.title,null==i?void 0:i.name,"DbGate"]).join(" - "))},[s,o,a,i,r,()=>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$b,create_fragment$9,safe_not_equal,{})}}function create_fragment$8(e){let t,n,o,i,r,a;return n=new TabsPanel({props:{multiTabIndex:e[0],shownTab:e[1]}}),r=new TabRegister({props:{multiTabIndex:e[0],shownTab:e[1]}}),{c(){t=element("div"),create_component(n.$$.fragment),o=space(),i=element("div"),create_component(r.$$.fragment),attr(t,"class","tabs svelte-685oc7"),attr(i,"class","content svelte-685oc7")},m(e,s){insert(e,t,s),mount_component(n,t,null),insert(e,o,s),insert(e,i,s),mount_component(r,i,null),a=!0},p(e,[t]){const o={};1&t&&(o.multiTabIndex=e[0]),2&t&&(o.shownTab=e[1]),n.$set(o);const i={};1&t&&(i.multiTabIndex=e[0]),2&t&&(i.shownTab=e[1]),r.$set(i)},i(e){a||(transition_in(n.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(n.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){e&&detach(t),destroy_component(n),e&&detach(o),e&&detach(i),destroy_component(r)}}}function instance$a(e,t,n){let o,i,r,a;component_subscribe(e,currentDatabase,(e=>n(2,i=e))),component_subscribe(e,lockedDatabaseMode,(e=>n(3,r=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 i=e.find((e=>e.selected&&null==e.closedTime&&(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)));return i||e[_.findLastIndex(e,(e=>(e.multiTabIndex||0)==t&&shouldShowTab(e,n,o)))]}(a,s,r,i))},[s,o,i,r,a]}class TabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$a,create_fragment$8,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,i){insert(e,t,i),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,i){insert(e,t,i),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$7(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$9(e,t,n){let o,i,r,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,i=!!o.find((e=>!e.multiTabIndex))),4&e.$$.dirty&&n(0,r=!!o.find((e=>1==e.multiTabIndex)))},[r,i,o,a,s,c]}class MultiTabsContainer extends SvelteComponent{constructor(e){super(),init(this,e,instance$9,create_fragment$7,safe_not_equal,{})}}function get_each_context(e,t,n){const o=e.slice();return o[13]=t[n],o}function create_if_block_6(e){let t,n;return{c(){t=new HtmlTag(!1),n=empty(),t.a=n},m(o,i){t.m(e[1],o,i),insert(o,n,i)},p(e,n){2&n&&t.p(e[1])},d(e){e&&detach(n),e&&t.d()}}}function create_if_block_5(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,i){insert(e,t,i),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(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,i){insert(e,t,i),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(e){let t,n,o;return{c(){t=element("div"),attr(t,"class","horizontal-split-handle splitter svelte-1efqwi5")},m(i,r){insert(i,t,r),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(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,i){insert(e,t,i),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$1(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,i){insert(e,t,i),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$2(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(e,t){let n,o,i;const r=[t[13]];let a={};for(let e=0;e<r.length;e+=1)a=assign(a,r[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),i=!0},p(e,n){t=e;const i=1024&n?get_spread_update(r,[get_spread_object(t[13])]):{};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_fragment$6(e){let t,n,o,i,r,a,s,c,l,u,d,p,m,h,f,g,_,$,b,v,y,x,w,C,k,S,T,E,A,N,I,O,R,D,L,F=[],M=new Map,P=e[0]?.themeCss&&create_if_block_6(e);r=new FontIcon({props:{icon:"img warn"}});let j=e[4]&&create_if_block_5();h=new WidgetIconPanel({}),_=new StatusBar({});let B=e[5]&&e[6]&&create_if_block_4();y=new MultiTabsContainer({});let q=e[5]&&e[6]&&create_if_block_3(e),z=e[7]&&create_if_block_2(),U=e[8]&&create_if_block_1$1();S=new CurrentDropDownMenu({}),E=new ModalLayer({});let W=e[9]&&create_if_block$2(),V=e[10];const H=e=>e[13].id;for(let t=0;t<V.length;t+=1){let n=get_each_context(e,V,t),o=H(n);M.set(o,F[t]=create_each_block(o,n))}return{c(){P&&P.c(),t=empty(),n=space(),o=element("div"),i=element("div"),create_component(r.$$.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(h.$$.fragment),f=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(),z&&z.c(),C=space(),U&&U.c(),k=space(),create_component(S.$$.fragment),T=space(),create_component(E.$$.fragment),A=space(),W&&W.c(),N=space(),I=element("div");for(let e=0;e<F.length;e+=1)F[e].c();attr(i,"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",O=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"),toggle_class(d,"isElectron",e[11])},m(e,O){P&&P.m(document.head,null),append(document.head,t),insert(e,n,O),insert(e,o,O),append(o,i),mount_component(r,i,null),append(o,a),append(o,s),append(o,c),append(o,l),insert(e,u,O),insert(e,d,O),j&&j.m(d,null),append(d,p),append(d,m),mount_component(h,m,null),append(d,f),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),z&&z.m(d,null),append(d,C),U&&U.m(d,null),append(d,k),mount_component(S,d,null),append(d,T),mount_component(E,d,null),append(d,A),W&&W.m(d,null),append(d,N),append(d,I);for(let e=0;e<F.length;e+=1)F[e].m(I,null);R=!0,D||(L=[action_destroyer(dragDropFileTarget.call(null,d)),listen(d,"contextmenu",contextmenu_handler)],D=!0)},p(e,[n]){e[0]?.themeCss?P?P.p(e,n):(P=create_if_block_6(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(),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(),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(e),q.c(),q.m(d,w)):q&&(q.d(1),q=null),e[7]?z?128&n&&transition_in(z,1):(z=create_if_block_2(),z.c(),transition_in(z,1),z.m(d,C)):z&&(group_outros(),transition_out(z,1,1,(()=>{z=null})),check_outros()),e[8]?U?256&n&&transition_in(U,1):(U=create_if_block_1$1(),U.c(),transition_in(U,1),U.m(d,k)):U&&(group_outros(),transition_out(U,1,1,(()=>{U=null})),check_outros()),e[9]?W?512&n&&transition_in(W,1):(W=create_if_block$2(),W.c(),transition_in(W,1),W.m(d,N)):W&&(group_outros(),transition_out(W,1,1,(()=>{W=null})),check_outros()),1024&n&&(V=e[10],group_outros(),F=update_keyed_each(F,n,H,1,e,V,M,I,outro_and_destroy_block,create_each_block,null,get_each_context),check_outros()),(!R||12&n&&O!==(O=null_to_empty(`${e[3]} ${e[2]} root dbgate-screen`)+" svelte-1efqwi5"))&&attr(d,"class",O),2060&n&&toggle_class(d,"isElectron",e[11])},i(e){if(!R){transition_in(r.$$.fragment,e),transition_in(j),transition_in(h.$$.fragment,e),transition_in(_.$$.fragment,e),transition_in(B),transition_in(y.$$.fragment,e),transition_in(z),transition_in(U),transition_in(S.$$.fragment,e),transition_in(E.$$.fragment,e),transition_in(W);for(let e=0;e<V.length;e+=1)transition_in(F[e]);R=!0}},o(e){transition_out(r.$$.fragment,e),transition_out(j),transition_out(h.$$.fragment,e),transition_out(_.$$.fragment,e),transition_out(B),transition_out(y.$$.fragment,e),transition_out(z),transition_out(U),transition_out(S.$$.fragment,e),transition_out(E.$$.fragment,e),transition_out(W);for(let e=0;e<F.length;e+=1)transition_out(F[e]);R=!1},d(e){P&&P.d(e),detach(t),e&&detach(n),e&&detach(o),destroy_component(r),e&&detach(u),e&&detach(d),j&&j.d(),destroy_component(h),destroy_component(_),B&&B.d(),destroy_component(y),q&&q.d(),z&&z.d(),U&&U.d(),destroy_component(S),destroy_component(E),W&&W.d();for(let e=0;e<F.length;e+=1)F[e].d();D=!1,run_all(L)}}}const contextmenu_handler=e=>e.preventDefault();function instance$8(e,t,n){let o,i,r,a,s,c,l,u,d,p,m;component_subscribe(e,currentThemeDefinition,(e=>n(0,r=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 h=!!getElectron();return e.$$.update=()=>{1&e.$$.dirty&&n(2,o="dark"==r?.themeType?"theme-type-dark":"theme-type-light"),1&e.$$.dirty&&n(1,i=`<style id="themePlugin">${r?.themeCss}</style>`)},[r,i,o,a,s,c,l,u,d,p,m,h,e=>leftPanelWidth.update((t=>t+e.detail))]}class Screen extends SvelteComponent{constructor(e){super(),init(this,e,instance$8,create_fragment$6,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$5(e){let t,n;return{c:noop$3,m(o,i){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$7(e,t,n){let o;var i=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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=0;return e.$$.update=()=>{2&e.$$.dirty&&(o=r)},[e=>i(void 0,void 0,void 0,(function*(){console.log("Unhandler error, checking whether crashed",e);const t=r;n(1,r++,r),window.setTimeout((()=>i(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("openedTabs"))||[];_.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("openedTabs",e),yield localStorage.setItem("selectedWidget","history")}catch(e){localforage.removeItem("openedTabs")}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)})),r]}class ErrorHandler extends SvelteComponent{constructor(e){super(),init(this,e,instance$7,create_fragment$5,safe_not_equal,{})}}function instance$6(e,t,n){let o,i,r,a=noop$3;component_subscribe(e,openedTabs,(e=>n(3,i=e))),e.$$.on_destroy.push((()=>a()));var s=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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 c=!1;function l(e){return s(this,void 0,void 0,(function*(){if(!e)return;if(c)return;c=!0;const{hash:t}=document.location,n=t&&t.startsWith("#favorite=")?t.substring("#favorite=".length):null,o=t&&t.startsWith("#tabdata=")?t.substring("#tabdata=".length):null;if(n){const t=e.find((e=>e.urlPath==n));t&&(openFavorite(t),window.history.replaceState(null,null," "))}else if(o)try{openFavorite(JSON.parse(decodeURIComponent(o))),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))||openNewTab({title:"New Connection",icon:"img connection",tabComponent:"ConnectionTab"});const r=yield getConfig(),a=localStorage.getItem("appVersion");a&&a!=r.version&&(runCommand("tabs.changelog"),showSnackbarInfo(`DbGate upgraded from version ${a} to version ${r.version}`)),localStorage.setItem("appVersion",r.version)}))}return onMount((()=>{l(r)})),e.$$.update=()=>{2&e.$$.dirty&&l(r)},n(0,o=useFavorites()),a(),a=subscribe(o,(e=>n(1,r=e))),[o,r]}class OpenTabsOnStartup extends SvelteComponent{constructor(e){super(),init(this,e,instance$6,null,safe_not_equal,{})}}const doServerPing=e=>{apiCall("server-connections/ping",{conidArray:e})},doDatabasePing=e=>{const t=_.get(e,"name"),n=_.get(e,"connection._id");n&&t&&apiCall("database-connections/ping",{conid:n,database:t})};let openedConnectionsHandle=null,currentDatabaseHandle=null;function subscribeConnectionPingers(){openedConnections.subscribe((e=>{doServerPing(e),openedConnectionsHandle&&window.clearInterval(openedConnectionsHandle),openedConnectionsHandle=window.setInterval((()=>doServerPing(e)),2e4)})),currentDatabase.subscribe((e=>{doDatabasePing(e),currentDatabaseHandle&&window.clearInterval(currentDatabaseHandle),currentDatabaseHandle=window.setInterval((()=>doDatabasePing(e)),2e4)}))}function create_fragment$4(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$5(e,t,n){let o,i,r;return component_subscribe(e,currentDatabase,(e=>n(1,i=e))),component_subscribe(e,activeTab,(e=>n(2,r=e))),e.$$.update=()=>{if(6&e.$$.dirty&&n(0,o=_.compact([null==r?void 0:r.title,null==i?void 0:i.name,"DbGate"]).join(" - ")),1&e.$$.dirty){const e=getElectron();e&&e.send("set-title",o)}},[o,i,r]}class AppTitleProvider extends SvelteComponent{constructor(e){super(),init(this,e,instance$5,create_fragment$4,safe_not_equal,{})}}function create_fragment$3(e){let t,n,o,i,r,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>',i=space(),r=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,i),append(n,r),append(r,a)},p(e,[t]){1&t&&set_data(a,e[0])},i:noop$3,o:noop$3,d(e){e&&detach(t)}}}function instance$4(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$4,create_fragment$3,safe_not_equal,{message:0})}}function instance$3(e,t,n){let o;const i=useSettings();return component_subscribe(e,i,(e=>n(1,o=e))),e.$$.update=()=>{2&e.$$.dirty&&(lib$5.SqlDumper.keywordsCase=(null==o?void 0:o["sqlEditor.sqlCommandsCase"])||"upperCase")},[i,o]}class SettingsListener extends SvelteComponent{constructor(e){super(),init(this,e,instance$3,null,safe_not_equal,{})}}function create_else_block_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$1(e){let t,n,o,i,r,a,s,c,l,u,d,p;t=new DataGridRowHeightMeter({}),o=new CommandListener({}),r=new PluginsProvider({}),s=new AppTitleProvider({});const m=[create_if_block_1,create_else_block],h=[];function f(e,t){return e[2]?0:1}return l=f(e),u=h[l]=m[l](e),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.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,i,u),mount_component(r,e,u),insert(e,a,u),mount_component(s,e,u),insert(e,c,u),h[l].m(e,u),insert(e,d,u),p=!0},p(e,t){let n=l;l=f(e),l===n?h[l].p(e,t):(group_outros(),transition_out(h[n],1,1,(()=>{h[n]=null})),check_outros(),u=h[l],u?u.p(e,t):(u=h[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(r.$$.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(r.$$.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(i),destroy_component(r,e),e&&detach(a),destroy_component(s,e),e&&detach(c),h[l].d(e),e&&detach(d)}}}function create_else_block(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(e){let t,n,o,i,r,a;return t=new OpenTabsOnStartup({}),o=new SettingsListener({}),r=new Screen({}),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),create_component(r.$$.fragment)},m(e,s){mount_component(t,e,s),insert(e,n,s),mount_component(o,e,s),insert(e,i,s),mount_component(r,e,s),a=!0},p:noop$3,i(e){a||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(r.$$.fragment,e),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(r.$$.fragment,e),a=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),destroy_component(r,e)}}}function create_fragment$2(e){let t,n,o,i,r,a;t=new ErrorHandler({});const s=[create_if_block$1,create_else_block_1],c=[];function l(e,t){return e[0]?0:1}return o=l(e),i=c[o]=s[o](e),{c(){create_component(t.$$.fragment),n=space(),i.c(),r=empty()},m(e,i){mount_component(t,e,i),insert(e,n,i),c[o].m(e,i),insert(e,r,i),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(),i=c[o],i?i.p(e,t):(i=c[o]=s[o](e),i.c()),transition_in(i,1),i.m(r.parentNode,r))},i(e){a||(transition_in(t.$$.fragment,e),transition_in(i),a=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(i),a=!1},d(e){destroy_component(t,e),e&&detach(n),c[o].d(e),e&&detach(r)}}}function instance$2(e,t,n){let o;component_subscribe(e,loadingPluginStore,(e=>n(1,o=e)));var i,r=this&&this.__awaiter||function(e,t,n,o){return new(n||(n=Promise))((function(i,r){function a(e){try{c(o.next(e))}catch(e){r(e)}}function s(e){try{c(o.throw(e))}catch(e){r(e)}}function c(e){e.done?i(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,s=!1;return onMount((function e(){return r(this,void 0,void 0,(function*(){try{const t=yield getConfig();yield handleAuthOnStartup(t);const o=yield apiCall("connections/list"),i=yield getSettings(),r=yield getUsedApps();n(0,a=i&&o&&t&&r),a&&(subscribeApiDependendStores(),subscribeConnectionPingers(),subscribePermissionCompiler()),a||(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.$$.update=()=>{11&e.$$.dirty&&a&&(null==o?void 0:o.loaded)&&(setAppLoaded(),n(2,s=!0),null===n(3,i=getElectron())||void 0===i||i.send("app-started"))},[a,o,s,i]}class App extends SvelteComponent{constructor(e){super(),init(this,e,instance$2,create_fragment$2,safe_not_equal,{})}}let lastCurrentTab=null;async function localStorageGarbageCollector(){const e=await localforage.getItem("openedTabs");let t=e?JSON.parse(e):[];const n=moment().add(-7,"day").valueOf();t=t.filter((e=>!e.closedTime||e.closedTime>n)),await localforage.setItem("openedTabs",JSON.stringify(t));const o=[];for(const e in localStorage)e.startsWith("tabdata_")&&(t.find((t=>e.endsWith("_"+t.tabid)))||o.push(e));for(const e of o)localStorage.removeItem(e);const i=await localforage.keys(),r=[];for(const e in i)e.startsWith("tabdata_")&&(t.find((t=>e.endsWith("_"+t.tabid)))||r.push(e));for(const e of r)await localforage.removeItem(e)}function create_default_slot(e){let t,n,o,i,r,a,s;return t=new FormTextField({props:{label:"Username",name:"login",autocomplete:"username",saveOnInput:!0}}),o=new FormPasswordField({props:{label:"Password",name:"password",autocomplete:"current-password",saveOnInput:!0}}),a=new FormSubmit({props:{value:"Log In"}}),a.$on("click",e[0]),{c(){create_component(t.$$.fragment),n=space(),create_component(o.$$.fragment),i=space(),r=element("div"),create_component(a.$$.fragment),attr(r,"class","submit svelte-8utz2r")},m(e,c){mount_component(t,e,c),insert(e,n,c),mount_component(o,e,c),insert(e,i,c),insert(e,r,c),mount_component(a,r,null),s=!0},p:noop$3,i(e){s||(transition_in(t.$$.fragment,e),transition_in(o.$$.fragment,e),transition_in(a.$$.fragment,e),s=!0)},o(e){transition_out(t.$$.fragment,e),transition_out(o.$$.fragment,e),transition_out(a.$$.fragment,e),s=!1},d(e){destroy_component(t,e),e&&detach(n),destroy_component(o,e),e&&detach(i),e&&detach(r),destroy_component(a)}}}function create_fragment$1(e){let t,n,o,i,r,a,s,c,l,u,d;return u=new FormProvider({props:{$$slots:{default:[create_default_slot]},$$scope:{ctx:e}}}),{c(){t=element("div"),n=element("div"),n.textContent="DbGate",o=space(),i=element("div"),r=element("div"),r.innerHTML='<img class="img svelte-8utz2r" src="logo192.png"/>',a=space(),s=element("div"),c=element("div"),c.textContent="Log In",l=space(),create_component(u.$$.fragment),attr(n,"class","text svelte-8utz2r"),attr(r,"class","logo svelte-8utz2r"),attr(c,"class","heading svelte-8utz2r"),attr(s,"class","box svelte-8utz2r"),attr(i,"class","wrap svelte-8utz2r"),attr(t,"class","root theme-light theme-type-light svelte-8utz2r")},m(e,p){insert(e,t,p),append(t,n),append(t,o),append(t,i),append(i,r),append(i,a),append(i,s),append(s,c),append(s,l),mount_component(u,s,null),d=!0},p(e,[t]){const n={};2&t&&(n.$$scope={dirty:t,ctx:e}),u.$set(n)},i(e){d||(transition_in(u.$$.fragment,e),d=!0)},o(e){transition_out(u.$$.fragment,e),d=!1},d(e){e&&detach(t),destroy_component(u)}}}function instance$1(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[async e=>{enableApi();const t=await apiCall("auth/login",e.detail);if(t.error)return void internalRedirectTo(`/?page=not-logged&error=${encodeURIComponent(t.error)}`);const{accessToken:n}=t;if(n)return localStorage.setItem("accessToken",n),void internalRedirectTo("/");internalRedirectTo("/?page=not-logged")}]}openedTabs.subscribe((e=>{var t,n;const o=(e||[]).find((e=>e.selected));if(o==lastCurrentTab)return;if(getLockedDatabaseMode()&&getCurrentDatabase())return;const i=lastCurrentTab;if(lastCurrentTab=o,o){const{conid:e,database:r}=o.props||{};if(e&&r&&(e!=(null===(t=null==i?void 0:i.props)||void 0===t?void 0:t.conid)||r!=(null===(n=null==i?void 0:i.props)||void 0===n?void 0:n.database))){callWhenAppLoaded((()=>__awaiter$l(void 0,void 0,void 0,(function*(){const t=yield getConnectionInfo({conid:e});currentDatabase.set({connection:t,name:r})}))))}}})),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})))}))}));class LoginPage extends SvelteComponent{constructor(e){super(),init(this,e,instance$1,create_fragment$1,safe_not_equal,{})}}function create_if_block(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(e){let t,n,o,i,r,a,s,c,l,u=e[0]&&create_if_block(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(),i=space(),r=element("div"),create_component(a.$$.fragment),s=space(),create_component(c.$$.fragment),attr(n,"class","title svelte-11u34pp"),attr(r,"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,i),append(t,r),mount_component(a,r,null),append(r,s),mount_component(c,r,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(e){onMount((()=>{const e=document.getElementById("starting_dbgate_zero");e&&e.remove()}));return[new URLSearchParams(location.search).get("error"),function(){redirectToLogin(void 0,!0)}]}class NotLoggedPage extends SvelteComponent{constructor(e){super(),init(this,e,instance,create_fragment,safe_not_equal,{})}}const isOauthCallback=handleOauthCallback(),params=new URLSearchParams(location.search),page=params.get("page");function createApp(){if(isOauthCallback)return null;switch(page){case"login":return new LoginPage({target:document.body,props:{}});case"not-logged":return new NotLoggedPage({target:document.body,props:{}})}return new App({target:document.body,props:{}})}localStorageGarbageCollector();const app=createApp();return app}();
76
76
  //# sourceMappingURL=bundle.js.map