@autocode-cli/autocode 0.24.2 → 0.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{vfCqvZ7p.js → 4_elwE_e.js} +1 -1
  3. package/.output/public/_nuxt/{CG6fFX4R.js → 86nT5DaM.js} +1 -1
  4. package/.output/public/_nuxt/{D3gHSFO1.js → B9ujsiLr.js} +1 -1
  5. package/.output/public/_nuxt/{CQWl6TIZ.js → BFqW8Kf_.js} +1 -1
  6. package/.output/public/_nuxt/{DPY45j3g.js → Bf1ocEu6.js} +1 -1
  7. package/.output/public/_nuxt/{Cu-0JJ8B.js → BmzUVSgE.js} +1 -1
  8. package/.output/public/_nuxt/{C5qkUISE.js → C2mu5j0V.js} +1 -1
  9. package/.output/public/_nuxt/{D44BzzMg.js → C5ytdoAl.js} +1 -1
  10. package/.output/public/_nuxt/{Bu1-IDNY.js → CAp6p9dY.js} +1 -1
  11. package/.output/public/_nuxt/{C9Z_Mjdv.js → CAz8NsVG.js} +1 -1
  12. package/.output/public/_nuxt/{Bz9WwRWr.js → CGP_mwJK.js} +1 -1
  13. package/.output/public/_nuxt/{DZQLsTee.js → CJ1p1ppq.js} +1 -1
  14. package/.output/public/_nuxt/{C2zPiS0N.js → CU99pbyc.js} +1 -1
  15. package/.output/public/_nuxt/{jYOQFUDH.js → CWlxiWg5.js} +1 -1
  16. package/.output/public/_nuxt/{aL-hwrDv.js → CgJk7mfe.js} +1 -1
  17. package/.output/public/_nuxt/{aMXqd-8n.js → ChEVWHQt.js} +1 -1
  18. package/.output/public/_nuxt/{BhrZFGnk.js → CoH6AHzq.js} +1 -1
  19. package/.output/public/_nuxt/{p0o0xQ7S.js → CrRHcnKi.js} +1 -1
  20. package/.output/public/_nuxt/{BarhsfnG.js → D7nf-00m.js} +1 -1
  21. package/.output/public/_nuxt/{CxCUB-jw.js → DN7f1abK.js} +1 -1
  22. package/.output/public/_nuxt/{CP8dHttY.js → DRUbQSkU.js} +1 -1
  23. package/.output/public/_nuxt/{BfvaD8zq.js → DSCi2X5i.js} +3 -3
  24. package/.output/public/_nuxt/{DABo4_10.js → DZrnlmz3.js} +1 -1
  25. package/.output/public/_nuxt/{BbEo0CFB.js → D_y6EjZi.js} +1 -1
  26. package/.output/public/_nuxt/{8PJti6tf.js → IvWgEuRk.js} +1 -1
  27. package/.output/public/_nuxt/{BB7mNyvB.js → NUjrRkWT.js} +1 -1
  28. package/.output/public/_nuxt/{DerTgqhZ.js → Zm_G5zFc.js} +1 -1
  29. package/.output/public/_nuxt/{BcQFK3DA.js → _ezvsEEN.js} +1 -1
  30. package/.output/public/_nuxt/{BMvB5hkX.js → bjB7AWxd.js} +1 -1
  31. package/.output/public/_nuxt/builds/latest.json +1 -1
  32. package/.output/public/_nuxt/builds/meta/bd0344c0-8dae-4d94-bdab-994f482d9624.json +1 -0
  33. package/.output/public/_nuxt/{CeVGNobe.js → lWH5TUE4.js} +1 -1
  34. package/.output/public/_nuxt/{DrnWNKxr.js → yrliX9Qm.js} +1 -1
  35. package/.output/public/_payload.json +1 -1
  36. package/.output/public/index.html +1 -1
  37. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  38. package/.output/server/chunks/build/server.mjs +2 -2
  39. package/.output/server/chunks/build/styles.mjs +8 -8
  40. package/.output/server/chunks/nitro/nitro.mjs +242 -230
  41. package/.output/server/package.json +1 -1
  42. package/package.json +3 -3
  43. package/templates/prompts/_transition-decision.en.md +2 -1
  44. package/templates/prompts/_transition-decision.fr.md +18 -18
  45. package/templates/prompts/retest-cypress.en.md +15 -0
  46. package/templates/prompts/retest-cypress.fr.md +15 -0
  47. package/templates/prompts/testing-cypress.en.md +15 -0
  48. package/templates/prompts/testing-cypress.fr.md +15 -0
  49. package/.output/public/_nuxt/builds/meta/fda5642b-b71a-476c-9e0f-eb15a462e2fe.json +0 -1
  50. /package/.output/public/_i18n/{fC3ee0mv → 5YauuaBb}/en/messages.json +0 -0
  51. /package/.output/public/_i18n/{fC3ee0mv → 5YauuaBb}/fr/messages.json +0 -0
@@ -1 +1 @@
1
- import{_ as d}from"./BhrZFGnk.js";import{u}from"./p0o0xQ7S.js";import{d as m,u as f,v as g,o as v,K as x,s as h,c as i,j as y,h as e,t as p,e as C,f as w,w as k,b as c,g as N,_ as V}from"./BfvaD8zq.js";const b={class:"pipeline-page"},B={key:0,class:"loading card"},I={key:1,class:"empty-state card"},$=m({__name:"index",async setup(A){let t,_;const{t:a}=f(),{data:n,pending:l}=([t,_]=g(()=>u("/api/pipelines","$p7t_x6yV7n")),t=await t,_(),t);return v(()=>{if(n.value?.length){const s=n.value.find(o=>o.active)||n.value[0];s&&x(`/settings/pipeline/${encodeURIComponent(s.name)}`,{replace:!0})}}),h({title:"Pipeline Configuration - AutoCode"}),(r,s)=>{const o=d;return c(),i("div",b,[e(l)?(c(),i("div",B,p(e(a)("app.loading")),1)):e(n)?.length?y("",!0):(c(),i("div",I,[C("p",null,p(e(a)("pipeline.noColumns")),1),w(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:k(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),E=V($,[["__scopeId","data-v-9f6aa041"]]);export{E as default};
1
+ import{_ as d}from"./CoH6AHzq.js";import{u}from"./CrRHcnKi.js";import{d as m,u as f,v as g,o as v,K as x,s as h,c as i,j as y,h as e,t as p,e as C,f as w,w as k,b as c,g as N,_ as V}from"./DSCi2X5i.js";const b={class:"pipeline-page"},B={key:0,class:"loading card"},I={key:1,class:"empty-state card"},$=m({__name:"index",async setup(A){let t,_;const{t:a}=f(),{data:n,pending:l}=([t,_]=g(()=>u("/api/pipelines","$p7t_x6yV7n")),t=await t,_(),t);return v(()=>{if(n.value?.length){const s=n.value.find(o=>o.active)||n.value[0];s&&x(`/settings/pipeline/${encodeURIComponent(s.name)}`,{replace:!0})}}),h({title:"Pipeline Configuration - AutoCode"}),(r,s)=>{const o=d;return c(),i("div",b,[e(l)?(c(),i("div",B,p(e(a)("app.loading")),1)):e(n)?.length?y("",!0):(c(),i("div",I,[C("p",null,p(e(a)("pipeline.noColumns")),1),w(o,{to:"/settings/pipeline/new",class:"btn btn-primary"},{default:k(()=>[N(" + "+p(e(a)("pipeline.new")),1)]),_:1})]))])}}}),E=V($,[["__scopeId","data-v-9f6aa041"]]);export{E as default};
@@ -1 +1 @@
1
- import{d as fe,x as he,r as Vt,v as pe,o as de,y as _n,a as _e,m as ge,s as me,c as nt,e as j,j as gn,t as U,h as K,n as ye,q as we,b as et,_ as xe}from"./BfvaD8zq.js";import{u as ve}from"./p0o0xQ7S.js";var be={value:()=>{}};function an(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Mt(e)}function Mt(t){this._=t}function $e(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Mt.prototype=an.prototype={constructor:Mt,on:function(t,n){var e=this._,r=$e(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(t=r[o]).type)&&(i=ke(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<s;)if(i=(t=r[o]).type)e[i]=mn(e[i],t.name,n);else if(n==null)for(i in e)e[i]=mn(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mt(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function ke(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function mn(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=be,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var Wt="http://www.w3.org/1999/xhtml";const yn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xt(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),yn.hasOwnProperty(n)?{space:yn[n],local:t}:t}function Ae(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Wt&&n.documentElement.namespaceURI===Wt?n.createElement(t):n.createElementNS(e,t)}}function ze(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Bn(t){var n=Xt(t);return(n.local?ze:Ae)(n)}function Me(){}function un(t){return t==null?Me:function(){return this.querySelector(t)}}function Ne(t){typeof t!="function"&&(t=un(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=new Array(s),l,a,c=0;c<s;++c)(l=o[c])&&(a=t.call(l,l.__data__,c,o))&&("__data__"in l&&(a.__data__=l.__data__),u[c]=a);return new B(r,this._parents)}function Ee(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Se(){return[]}function Pn(t){return t==null?Se:function(){return this.querySelectorAll(t)}}function Te(t){return function(){return Ee(t.apply(this,arguments))}}function Ce(t){typeof t=="function"?t=Te(t):t=Pn(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var s=n[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&(r.push(t.call(l,l.__data__,a,s)),i.push(l));return new B(r,i)}function qn(t){return function(){return this.matches(t)}}function Xn(t){return function(n){return n.matches(t)}}var Re=Array.prototype.find;function Ie(t){return function(){return Re.call(this.children,t)}}function De(){return this.firstElementChild}function Be(t){return this.select(t==null?De:Ie(typeof t=="function"?t:Xn(t)))}var Pe=Array.prototype.filter;function qe(){return Array.from(this.children)}function Xe(t){return function(){return Pe.call(this.children,t)}}function He(t){return this.selectAll(t==null?qe:Xe(typeof t=="function"?t:Xn(t)))}function Fe(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new B(r,this._parents)}function Hn(t){return new Array(t.length)}function Le(){return new B(this._enter||this._groups.map(Hn),this._parents)}function Ct(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}Ct.prototype={constructor:Ct,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Ve(t){return function(){return t}}function Ye(t,n,e,r,i,o){for(var s=0,u,l=n.length,a=o.length;s<a;++s)(u=n[s])?(u.__data__=o[s],r[s]=u):e[s]=new Ct(t,o[s]);for(;s<l;++s)(u=n[s])&&(i[s]=u)}function Oe(t,n,e,r,i,o,s){var u,l,a=new Map,c=n.length,p=o.length,h=new Array(c),_;for(u=0;u<c;++u)(l=n[u])&&(h[u]=_=s.call(l,l.__data__,u,n)+"",a.has(_)?i[u]=l:a.set(_,l));for(u=0;u<p;++u)_=s.call(t,o[u],u,o)+"",(l=a.get(_))?(r[u]=l,l.__data__=o[u],a.delete(_)):e[u]=new Ct(t,o[u]);for(u=0;u<c;++u)(l=n[u])&&a.get(h[u])===l&&(i[u]=l)}function Ge(t){return t.__data__}function Ue(t,n){if(!arguments.length)return Array.from(this,Ge);var e=n?Oe:Ye,r=this._parents,i=this._groups;typeof t!="function"&&(t=Ve(t));for(var o=i.length,s=new Array(o),u=new Array(o),l=new Array(o),a=0;a<o;++a){var c=r[a],p=i[a],h=p.length,_=Ke(t.call(c,c&&c.__data__,a,r)),w=_.length,x=u[a]=new Array(w),b=s[a]=new Array(w),g=l[a]=new Array(h);e(c,p,x,b,g,_,n);for(var $=0,N=0,E,C;$<w;++$)if(E=x[$]){for($>=N&&(N=$+1);!(C=b[N])&&++N<w;);E._next=C||null}}return s=new B(s,r),s._enter=u,s._exit=l,s}function Ke(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function We(){return new B(this._exit||this._groups.map(Hn),this._parents)}function Ze(t,n,e){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?o.remove():e(o),r&&i?r.merge(i).order():i}function Qe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,s=Math.min(i,o),u=new Array(i),l=0;l<s;++l)for(var a=e[l],c=r[l],p=a.length,h=u[l]=new Array(p),_,w=0;w<p;++w)(_=a[w]||c[w])&&(h[w]=_);for(;l<i;++l)u[l]=e[l];return new B(u,this._parents)}function Je(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function je(t){t||(t=tr);function n(p,h){return p&&h?t(p.__data__,h.__data__):!p-!h}for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var s=e[o],u=s.length,l=i[o]=new Array(u),a,c=0;c<u;++c)(a=s[c])&&(l[c]=a);l.sort(n)}return new B(i,this._parents).order()}function tr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function nr(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function er(){return Array.from(this)}function rr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function ir(){let t=0;for(const n of this)++t;return t}function or(){return!this.node()}function sr(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],o=0,s=i.length,u;o<s;++o)(u=i[o])&&t.call(u,u.__data__,o,i);return this}function ar(t){return function(){this.removeAttribute(t)}}function ur(t){return function(){this.removeAttributeNS(t.space,t.local)}}function lr(t,n){return function(){this.setAttribute(t,n)}}function cr(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function fr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function hr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function pr(t,n){var e=Xt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?ur:ar:typeof n=="function"?e.local?hr:fr:e.local?cr:lr)(e,n))}function Fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dr(t){return function(){this.style.removeProperty(t)}}function _r(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gr(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function mr(t,n,e){return arguments.length>1?this.each((n==null?dr:typeof n=="function"?gr:_r)(t,n,e??"")):ct(this.node(),t)}function ct(t,n){return t.style.getPropertyValue(n)||Fn(t).getComputedStyle(t,null).getPropertyValue(n)}function yr(t){return function(){delete this[t]}}function wr(t,n){return function(){this[t]=n}}function xr(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function vr(t,n){return arguments.length>1?this.each((n==null?yr:typeof n=="function"?xr:wr)(t,n)):this.node()[t]}function Ln(t){return t.trim().split(/^|\s+/)}function ln(t){return t.classList||new Vn(t)}function Vn(t){this._node=t,this._names=Ln(t.getAttribute("class")||"")}Vn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Yn(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function On(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function br(t){return function(){Yn(this,t)}}function $r(t){return function(){On(this,t)}}function kr(t,n){return function(){(n.apply(this,arguments)?Yn:On)(this,t)}}function Ar(t,n){var e=Ln(t+"");if(arguments.length<2){for(var r=ln(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?kr:n?br:$r)(e,n))}function zr(){this.textContent=""}function Mr(t){return function(){this.textContent=t}}function Nr(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function Er(t){return arguments.length?this.each(t==null?zr:(typeof t=="function"?Nr:Mr)(t)):this.node().textContent}function Sr(){this.innerHTML=""}function Tr(t){return function(){this.innerHTML=t}}function Cr(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Rr(t){return arguments.length?this.each(t==null?Sr:(typeof t=="function"?Cr:Tr)(t)):this.node().innerHTML}function Ir(){this.nextSibling&&this.parentNode.appendChild(this)}function Dr(){return this.each(Ir)}function Br(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pr(){return this.each(Br)}function qr(t){var n=typeof t=="function"?t:Bn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Xr(){return null}function Hr(t,n){var e=typeof t=="function"?t:Bn(t),r=n==null?Xr:typeof n=="function"?n:un(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function Fr(){var t=this.parentNode;t&&t.removeChild(this)}function Lr(){return this.each(Fr)}function Vr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Yr(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Or(t){return this.select(t?Yr:Vr)}function Gr(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ur(t){return function(n){t.call(this,n,this.__data__)}}function Kr(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function Wr(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,o;e<i;++e)o=n[e],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):n[++r]=o;++r?n.length=r:delete this.__on}}}function Zr(t,n,e){return function(){var r=this.__on,i,o=Ur(n);if(r){for(var s=0,u=r.length;s<u;++s)if((i=r[s]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=e),i.value=n;return}}this.addEventListener(t.type,o,e),i={type:t.type,name:t.name,value:n,listener:o,options:e},r?r.push(i):this.__on=[i]}}function Qr(t,n,e){var r=Kr(t+""),i,o=r.length,s;if(arguments.length<2){var u=this.node().__on;if(u){for(var l=0,a=u.length,c;l<a;++l)for(i=0,c=u[l];i<o;++i)if((s=r[i]).type===c.type&&s.name===c.name)return c.value}return}for(u=n?Zr:Wr,i=0;i<o;++i)this.each(u(r[i],n,e));return this}function Gn(t,n,e){var r=Fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Jr(t,n){return function(){return Gn(this,t,n)}}function jr(t,n){return function(){return Gn(this,t,n.apply(this,arguments))}}function ti(t,n){return this.each((typeof n=="function"?jr:Jr)(t,n))}function*ni(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var Un=[null];function B(t,n){this._groups=t,this._parents=n}function vt(){return new B([[document.documentElement]],Un)}function ei(){return this}B.prototype=vt.prototype={constructor:B,select:Ne,selectAll:Ce,selectChild:Be,selectChildren:He,filter:Fe,data:Ue,enter:Le,exit:We,join:Ze,merge:Qe,selection:ei,order:Je,sort:je,call:nr,nodes:er,node:rr,size:ir,empty:or,each:sr,attr:pr,style:mr,property:vr,classed:Ar,text:Er,html:Rr,raise:Dr,lower:Pr,append:qr,insert:Hr,remove:Lr,clone:Or,datum:Gr,on:Qr,dispatch:ti,[Symbol.iterator]:ni};function Z(t){return typeof t=="string"?new B([[document.querySelector(t)]],[document.documentElement]):new B([[t]],Un)}function ri(t){let n;for(;n=t.sourceEvent;)t=n;return t}function rt(t,n){if(t=ri(t),n===void 0&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}const Zt={capture:!0,passive:!1};function Qt(t){t.preventDefault(),t.stopImmediatePropagation()}function ii(t){var n=t.document.documentElement,e=Z(t).on("dragstart.drag",Qt,Zt);"onselectstart"in n?e.on("selectstart.drag",Qt,Zt):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function oi(t,n){var e=t.document.documentElement,r=Z(t).on("dragstart.drag",null);n&&(r.on("click.drag",Qt,Zt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function cn(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Kn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function bt(){}var gt=.7,Rt=1/gt,lt="\\s*([+-]?\\d+)\\s*",mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",V="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",si=/^#([0-9a-f]{3,8})$/,ai=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),ui=new RegExp(`^rgb\\(${V},${V},${V}\\)$`),li=new RegExp(`^rgba\\(${lt},${lt},${lt},${mt}\\)$`),ci=new RegExp(`^rgba\\(${V},${V},${V},${mt}\\)$`),fi=new RegExp(`^hsl\\(${mt},${V},${V}\\)$`),hi=new RegExp(`^hsla\\(${mt},${V},${V},${mt}\\)$`),wn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cn(bt,yt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xn,formatHex:xn,formatHex8:pi,formatHsl:di,formatRgb:vn,toString:vn});function xn(){return this.rgb().formatHex()}function pi(){return this.rgb().formatHex8()}function di(){return Wn(this).formatHsl()}function vn(){return this.rgb().formatRgb()}function yt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=si.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?bn(n):e===3?new I(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?$t(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?$t(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=ai.exec(t))?new I(n[1],n[2],n[3],1):(n=ui.exec(t))?new I(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=li.exec(t))?$t(n[1],n[2],n[3],n[4]):(n=ci.exec(t))?$t(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=fi.exec(t))?An(n[1],n[2]/100,n[3]/100,1):(n=hi.exec(t))?An(n[1],n[2]/100,n[3]/100,n[4]):wn.hasOwnProperty(t)?bn(wn[t]):t==="transparent"?new I(NaN,NaN,NaN,0):null}function bn(t){return new I(t>>16&255,t>>8&255,t&255,1)}function $t(t,n,e,r){return r<=0&&(t=n=e=NaN),new I(t,n,e,r)}function _i(t){return t instanceof bt||(t=yt(t)),t?(t=t.rgb(),new I(t.r,t.g,t.b,t.opacity)):new I}function Jt(t,n,e,r){return arguments.length===1?_i(t):new I(t,n,e,r??1)}function I(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}cn(I,Jt,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new I(st(this.r),st(this.g),st(this.b),It(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$n,formatHex:$n,formatHex8:gi,formatRgb:kn,toString:kn}));function $n(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}`}function gi(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}${ot((isNaN(this.opacity)?1:this.opacity)*255)}`}function kn(){const t=It(this.opacity);return`${t===1?"rgb(":"rgba("}${st(this.r)}, ${st(this.g)}, ${st(this.b)}${t===1?")":`, ${t})`}`}function It(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function st(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ot(t){return t=st(t),(t<16?"0":"")+t.toString(16)}function An(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new H(t,n,e,r)}function Wn(t){if(t instanceof H)return new H(t.h,t.s,t.l,t.opacity);if(t instanceof bt||(t=yt(t)),!t)return new H;if(t instanceof H)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),s=NaN,u=o-i,l=(o+i)/2;return u?(n===o?s=(e-r)/u+(e<r)*6:e===o?s=(r-n)/u+2:s=(n-e)/u+4,u/=l<.5?o+i:2-o-i,s*=60):u=l>0&&l<1?0:s,new H(s,u,l,t.opacity)}function mi(t,n,e,r){return arguments.length===1?Wn(t):new H(t,n,e,r??1)}function H(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}cn(H,mi,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new H(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new H(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new I(Yt(t>=240?t-240:t+120,i,r),Yt(t,i,r),Yt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new H(zn(this.h),kt(this.s),kt(this.l),It(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=It(this.opacity);return`${t===1?"hsl(":"hsla("}${zn(this.h)}, ${kt(this.s)*100}%, ${kt(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zn(t){return t=(t||0)%360,t<0?t+360:t}function kt(t){return Math.max(0,Math.min(1,t||0))}function Yt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const Zn=t=>()=>t;function yi(t,n){return function(e){return t+e*n}}function wi(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function xi(t){return(t=+t)==1?Qn:function(n,e){return e-n?wi(n,e,t):Zn(isNaN(n)?e:n)}}function Qn(t,n){var e=n-t;return e?yi(t,e):Zn(isNaN(t)?n:t)}const Mn=(function t(n){var e=xi(n);function r(i,o){var s=e((i=Jt(i)).r,(o=Jt(o)).r),u=e(i.g,o.g),l=e(i.b,o.b),a=Qn(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=u(c),i.b=l(c),i.opacity=a(c),i+""}}return r.gamma=t,r})(1);function tt(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ot=new RegExp(jt.source,"g");function vi(t){return function(){return t}}function bi(t){return function(n){return t(n)+""}}function $i(t,n){var e=jt.lastIndex=Ot.lastIndex=0,r,i,o,s=-1,u=[],l=[];for(t=t+"",n=n+"";(r=jt.exec(t))&&(i=Ot.exec(n));)(o=i.index)>e&&(o=n.slice(e,o),u[s]?u[s]+=o:u[++s]=o),(r=r[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,l.push({i:s,x:tt(r,i)})),e=Ot.lastIndex;return e<n.length&&(o=n.slice(e),u[s]?u[s]+=o:u[++s]=o),u.length<2?l[0]?bi(l[0].x):vi(n):(n=l.length,function(a){for(var c=0,p;c<n;++c)u[(p=l[c]).i]=p.x(a);return u.join("")})}var Nn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Jn(t,n,e,r,i,o){var s,u,l;return(s=Math.sqrt(t*t+n*n))&&(t/=s,n/=s),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Nn,skewX:Math.atan(l)*Nn,scaleX:s,scaleY:u}}var At;function ki(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?tn:Jn(n.a,n.b,n.c,n.d,n.e,n.f)}function Ai(t){return t==null||(At||(At=document.createElementNS("http://www.w3.org/2000/svg","g")),At.setAttribute("transform",t),!(t=At.transform.baseVal.consolidate()))?tn:(t=t.matrix,Jn(t.a,t.b,t.c,t.d,t.e,t.f))}function jn(t,n,e,r){function i(a){return a.length?a.pop()+" ":""}function o(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push("translate(",null,n,null,e);w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p||h)&&_.push("translate("+p+n+h+e)}function s(a,c,p,h){a!==c?(a-c>180?c+=360:c-a>180&&(a+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:tt(a,c)})):c&&p.push(i(p)+"rotate("+c+r)}function u(a,c,p,h){a!==c?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:tt(a,c)}):c&&p.push(i(p)+"skewX("+c+r)}function l(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push(i(_)+"scale(",null,",",null,")");w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p!==1||h!==1)&&_.push(i(_)+"scale("+p+","+h+")")}return function(a,c){var p=[],h=[];return a=t(a),c=t(c),o(a.translateX,a.translateY,c.translateX,c.translateY,p,h),s(a.rotate,c.rotate,p,h),u(a.skewX,c.skewX,p,h),l(a.scaleX,a.scaleY,c.scaleX,c.scaleY,p,h),a=c=null,function(_){for(var w=-1,x=h.length,b;++w<x;)p[(b=h[w]).i]=b.x(_);return p.join("")}}}var zi=jn(ki,"px, ","px)","deg)"),Mi=jn(Ai,", ",")",")"),Ni=1e-12;function En(t){return((t=Math.exp(t))+1/t)/2}function Ei(t){return((t=Math.exp(t))-1/t)/2}function Si(t){return((t=Math.exp(2*t))-1)/(t+1)}const Ti=(function t(n,e,r){function i(o,s){var u=o[0],l=o[1],a=o[2],c=s[0],p=s[1],h=s[2],_=c-u,w=p-l,x=_*_+w*w,b,g;if(x<Ni)g=Math.log(h/a)/n,b=function(P){return[u+P*_,l+P*w,a*Math.exp(n*P*g)]};else{var $=Math.sqrt(x),N=(h*h-a*a+r*x)/(2*a*e*$),E=(h*h-a*a-r*x)/(2*h*e*$),C=Math.log(Math.sqrt(N*N+1)-N),R=Math.log(Math.sqrt(E*E+1)-E);g=(R-C)/n,b=function(P){var ut=P*g,z=En(C),D=a/(e*$)*(z*Si(n*ut+C)-Ei(C));return[u+D*_,l+D*w,a*z/En(n*ut+C)]}}return b.duration=g*1e3*n/Math.SQRT2,b}return i.rho=function(o){var s=Math.max(.001,+o),u=s*s,l=u*u;return t(s,u,l)},i})(Math.SQRT2,2,4);var ft=0,dt=0,ht=0,te=1e3,Dt,_t,Bt=0,at=0,Ht=0,wt=typeof performance=="object"&&performance.now?performance:Date,ne=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fn(){return at||(ne(Ci),at=wt.now()+Ht)}function Ci(){at=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=ee.prototype={constructor:Pt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?fn():+e)+(n==null?0:+n),!this._next&&_t!==this&&(_t?_t._next=this:Dt=this,_t=this),this._call=t,this._time=e,nn()},stop:function(){this._call&&(this._call=null,this._time=1/0,nn())}};function ee(t,n,e){var r=new Pt;return r.restart(t,n,e),r}function Ri(){fn(),++ft;for(var t=Dt,n;t;)(n=at-t._time)>=0&&t._call.call(void 0,n),t=t._next;--ft}function Sn(){at=(Bt=wt.now())+Ht,ft=dt=0;try{Ri()}finally{ft=0,Di(),at=0}}function Ii(){var t=wt.now(),n=t-Bt;n>te&&(Ht-=n,Bt=t)}function Di(){for(var t,n=Dt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);_t=t,nn(r)}function nn(t){if(!ft){dt&&(dt=clearTimeout(dt));var n=t-at;n>24?(t<1/0&&(dt=setTimeout(Sn,t-wt.now()-Ht)),ht&&(ht=clearInterval(ht))):(ht||(Bt=wt.now(),ht=setInterval(Ii,te)),ft=1,ne(Sn))}}function Tn(t,n,e){var r=new Pt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Bi=an("start","end","cancel","interrupt"),Pi=[],re=0,Cn=1,en=2,Nt=3,Rn=4,rn=5,Et=6;function Ft(t,n,e,r,i,o){var s=t.__transition;if(!s)t.__transition={};else if(e in s)return;qi(t,e,{name:n,index:r,group:i,on:Bi,tween:Pi,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:re})}function hn(t,n){var e=F(t,n);if(e.state>re)throw new Error("too late; already scheduled");return e}function Y(t,n){var e=F(t,n);if(e.state>Nt)throw new Error("too late; already running");return e}function F(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function qi(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=ee(o,0,e.time);function o(a){e.state=Cn,e.timer.restart(s,e.delay,e.time),e.delay<=a&&s(a-e.delay)}function s(a){var c,p,h,_;if(e.state!==Cn)return l();for(c in r)if(_=r[c],_.name===e.name){if(_.state===Nt)return Tn(s);_.state===Rn?(_.state=Et,_.timer.stop(),_.on.call("interrupt",t,t.__data__,_.index,_.group),delete r[c]):+c<n&&(_.state=Et,_.timer.stop(),_.on.call("cancel",t,t.__data__,_.index,_.group),delete r[c])}if(Tn(function(){e.state===Nt&&(e.state=Rn,e.timer.restart(u,e.delay,e.time),u(a))}),e.state=en,e.on.call("start",t,t.__data__,e.index,e.group),e.state===en){for(e.state=Nt,i=new Array(h=e.tween.length),c=0,p=-1;c<h;++c)(_=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=_);i.length=p+1}}function u(a){for(var c=a<e.duration?e.ease.call(null,a/e.duration):(e.timer.restart(l),e.state=rn,1),p=-1,h=i.length;++p<h;)i[p].call(t,c);e.state===rn&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){e.state=Et,e.timer.stop(),delete r[n];for(var a in r)return;delete t.__transition}}function St(t,n){var e=t.__transition,r,i,o=!0,s;if(e){n=n==null?null:n+"";for(s in e){if((r=e[s]).name!==n){o=!1;continue}i=r.state>en&&r.state<rn,r.state=Et,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[s]}o&&delete t.__transition}}function Xi(t){return this.each(function(){St(this,t)})}function Hi(t,n){var e,r;return function(){var i=Y(this,t),o=i.tween;if(o!==e){r=e=o;for(var s=0,u=r.length;s<u;++s)if(r[s].name===n){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function Fi(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var o=Y(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var u={name:n,value:e},l=0,a=i.length;l<a;++l)if(i[l].name===n){i[l]=u;break}l===a&&i.push(u)}o.tween=i}}function Li(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=F(this.node(),e).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===t)return s.value;return null}return this.each((n==null?Hi:Fi)(e,t,n))}function pn(t,n,e){var r=t._id;return t.each(function(){var i=Y(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return F(i,r).value[n]}}function ie(t,n){var e;return(typeof n=="number"?tt:n instanceof yt?Mn:(e=yt(n))?(n=e,Mn):$i)(t,n)}function Vi(t){return function(){this.removeAttribute(t)}}function Yi(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Oi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttribute(t);return s===i?null:s===r?o:o=n(r=s,e)}}function Gi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===r?o:o=n(r=s,e)}}function Ui(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Ki(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Wi(t,n){var e=Xt(t),r=e==="transform"?Mi:ie;return this.attrTween(t,typeof n=="function"?(e.local?Ki:Ui)(e,r,pn(this,"attr."+t,n)):n==null?(e.local?Yi:Vi)(e):(e.local?Gi:Oi)(e,r,n))}function Zi(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Qi(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Qi(t,o)),e}return i._value=n,i}function ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Zi(t,o)),e}return i._value=n,i}function to(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=Xt(t);return this.tween(e,(r.local?Ji:ji)(r,n))}function no(t,n){return function(){hn(this,t).delay=+n.apply(this,arguments)}}function eo(t,n){return n=+n,function(){hn(this,t).delay=n}}function ro(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?no:eo)(n,t)):F(this.node(),n).delay}function io(t,n){return function(){Y(this,t).duration=+n.apply(this,arguments)}}function oo(t,n){return n=+n,function(){Y(this,t).duration=n}}function so(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?io:oo)(n,t)):F(this.node(),n).duration}function ao(t,n){if(typeof n!="function")throw new Error;return function(){Y(this,t).ease=n}}function uo(t){var n=this._id;return arguments.length?this.each(ao(n,t)):F(this.node(),n).ease}function lo(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;Y(this,t).ease=e}}function co(t){if(typeof t!="function")throw new Error;return this.each(lo(this._id,t))}function fo(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new J(r,this._parents,this._name,this._id)}function ho(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),s=new Array(r),u=0;u<o;++u)for(var l=n[u],a=e[u],c=l.length,p=s[u]=new Array(c),h,_=0;_<c;++_)(h=l[_]||a[_])&&(p[_]=h);for(;u<r;++u)s[u]=n[u];return new J(s,this._parents,this._name,this._id)}function po(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function _o(t,n,e){var r,i,o=po(n)?hn:Y;return function(){var s=o(this,t),u=s.on;u!==r&&(i=(r=u).copy()).on(n,e),s.on=i}}function go(t,n){var e=this._id;return arguments.length<2?F(this.node(),e).on.on(t):this.each(_o(e,t,n))}function mo(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function yo(){return this.on("end.remove",mo(this._id))}function wo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=un(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var u=r[s],l=u.length,a=o[s]=new Array(l),c,p,h=0;h<l;++h)(c=u[h])&&(p=t.call(c,c.__data__,h,u))&&("__data__"in c&&(p.__data__=c.__data__),a[h]=p,Ft(a[h],n,e,h,a,F(c,e)));return new J(o,this._parents,n,e)}function xo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=Pn(t));for(var r=this._groups,i=r.length,o=[],s=[],u=0;u<i;++u)for(var l=r[u],a=l.length,c,p=0;p<a;++p)if(c=l[p]){for(var h=t.call(c,c.__data__,p,l),_,w=F(c,e),x=0,b=h.length;x<b;++x)(_=h[x])&&Ft(_,n,e,x,h,w);o.push(h),s.push(c)}return new J(o,s,n,e)}var vo=vt.prototype.constructor;function bo(){return new vo(this._groups,this._parents)}function $o(t,n){var e,r,i;return function(){var o=ct(this,t),s=(this.style.removeProperty(t),ct(this,t));return o===s?null:o===e&&s===r?i:i=n(e=o,r=s)}}function oe(t){return function(){this.style.removeProperty(t)}}function ko(t,n,e){var r,i=e+"",o;return function(){var s=ct(this,t);return s===i?null:s===r?o:o=n(r=s,e)}}function Ao(t,n,e){var r,i,o;return function(){var s=ct(this,t),u=e(this),l=u+"";return u==null&&(l=u=(this.style.removeProperty(t),ct(this,t))),s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u))}}function zo(t,n){var e,r,i,o="style."+n,s="end."+o,u;return function(){var l=Y(this,t),a=l.on,c=l.value[o]==null?u||(u=oe(n)):void 0;(a!==e||i!==c)&&(r=(e=a).copy()).on(s,i=c),l.on=r}}function Mo(t,n,e){var r=(t+="")=="transform"?zi:ie;return n==null?this.styleTween(t,$o(t,r)).on("end.style."+t,oe(t)):typeof n=="function"?this.styleTween(t,Ao(t,r,pn(this,"style."+t,n))).each(zo(this._id,t)):this.styleTween(t,ko(t,r,n),e).on("end.style."+t,null)}function No(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Eo(t,n,e){var r,i;function o(){var s=n.apply(this,arguments);return s!==i&&(r=(i=s)&&No(t,s,e)),r}return o._value=n,o}function So(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Eo(t,n,e??""))}function To(t){return function(){this.textContent=t}}function Co(t){return function(){var n=t(this);this.textContent=n??""}}function Ro(t){return this.tween("text",typeof t=="function"?Co(pn(this,"text",t)):To(t==null?"":t+""))}function Io(t){return function(n){this.textContent=t.call(this,n)}}function Do(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Io(i)),n}return r._value=t,r}function Bo(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Do(t))}function Po(){for(var t=this._name,n=this._id,e=se(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)if(l=s[a]){var c=F(l,n);Ft(l,t,e,a,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new J(r,this._parents,t,e)}function qo(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,s){var u={value:s},l={value:function(){--i===0&&o()}};e.each(function(){var a=Y(this,r),c=a.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),a.on=n}),i===0&&o()})}var Xo=0;function J(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function se(){return++Xo}var W=vt.prototype;J.prototype={constructor:J,select:wo,selectAll:xo,selectChild:W.selectChild,selectChildren:W.selectChildren,filter:fo,merge:ho,selection:bo,transition:Po,call:W.call,nodes:W.nodes,node:W.node,size:W.size,empty:W.empty,each:W.each,on:go,attr:Wi,attrTween:to,style:Mo,styleTween:So,text:Ro,textTween:Bo,remove:yo,tween:Li,delay:ro,duration:so,ease:uo,easeVarying:co,end:qo,[Symbol.iterator]:W[Symbol.iterator]};function Ho(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Fo={time:null,delay:0,duration:250,ease:Ho};function Lo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Vo(t){var n,e;t instanceof J?(n=t._id,t=t._name):(n=se(),(e=Fo).time=fn(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&Ft(l,t,n,a,s,e||Lo(l,n));return new J(r,this._parents,t,n)}vt.prototype.interrupt=Xi;vt.prototype.transition=Vo;const on=Math.PI,sn=2*on,it=1e-6,Yo=sn-it;function ae(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Oo(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return ae;const e=10**n;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*e)/e+r[i]}}class Go{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?ae:Oo(n)}moveTo(n,e){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,e){this._append`L${this._x1=+n},${this._y1=+e}`}quadraticCurveTo(n,e,r,i){this._append`Q${+n},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(n,e,r,i,o,s){this._append`C${+n},${+e},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(n,e,r,i,o){if(n=+n,e=+e,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,u=this._y1,l=r-n,a=i-e,c=s-n,p=u-e,h=c*c+p*p;if(this._x1===null)this._append`M${this._x1=n},${this._y1=e}`;else if(h>it)if(!(Math.abs(p*l-a*c)>it)||!o)this._append`L${this._x1=n},${this._y1=e}`;else{let _=r-s,w=i-u,x=l*l+a*a,b=_*_+w*w,g=Math.sqrt(x),$=Math.sqrt(h),N=o*Math.tan((on-Math.acos((x+h-b)/(2*g*$)))/2),E=N/$,C=N/g;Math.abs(E-1)>it&&this._append`L${n+E*c},${e+E*p}`,this._append`A${o},${o},0,0,${+(p*_>c*w)},${this._x1=n+C*l},${this._y1=e+C*a}`}}arc(n,e,r,i,o,s){if(n=+n,e=+e,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),l=r*Math.sin(i),a=n+u,c=e+l,p=1^s,h=s?i-o:o-i;this._x1===null?this._append`M${a},${c}`:(Math.abs(this._x1-a)>it||Math.abs(this._y1-c)>it)&&this._append`L${a},${c}`,r&&(h<0&&(h=h%sn+sn),h>Yo?this._append`A${r},${r},0,1,${p},${n-u},${e-l}A${r},${r},0,1,${p},${this._x1=a},${this._y1=c}`:h>it&&this._append`A${r},${r},0,${+(h>=on)},${p},${this._x1=n+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(n,e,r,i){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function Uo(t){var n=0,e=t.children,r=e&&e.length;if(!r)n=1;else for(;--r>=0;)n+=e[r].value;t.value=n}function Ko(){return this.eachAfter(Uo)}function Wo(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this}function Zo(t,n){for(var e=this,r=[e],i,o,s=-1;e=r.pop();)if(t.call(n,e,++s,this),i=e.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Qo(t,n){for(var e=this,r=[e],i=[],o,s,u,l=-1;e=r.pop();)if(i.push(e),o=e.children)for(s=0,u=o.length;s<u;++s)r.push(o[s]);for(;e=i.pop();)t.call(n,e,++l,this);return this}function Jo(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r}function jo(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})}function ts(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function ns(t){for(var n=this,e=es(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r}function es(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function rs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function is(){return Array.from(this)}function os(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function ss(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function*as(){var t=this,n,e=[t],r,i,o;do for(n=e.reverse(),e=[];t=n.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)e.push(r[i]);while(e.length)}function dn(t,n){t instanceof Map?(t=[void 0,t],n===void 0&&(n=cs)):n===void 0&&(n=ls);for(var e=new xt(t),r,i=[e],o,s,u,l;r=i.pop();)if((s=n(r.data))&&(l=(s=Array.from(s)).length))for(r.children=s,u=l-1;u>=0;--u)i.push(o=s[u]=new xt(s[u])),o.parent=r,o.depth=r.depth+1;return e.eachBefore(hs)}function us(){return dn(this).eachBefore(fs)}function ls(t){return t.children}function cs(t){return Array.isArray(t)?t[1]:null}function fs(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function xt(t){this.data=t,this.depth=this.height=0,this.parent=null}xt.prototype=dn.prototype={constructor:xt,count:Ko,each:Wo,eachAfter:Qo,eachBefore:Zo,find:Jo,sum:jo,sort:ts,path:ns,ancestors:rs,descendants:is,leaves:os,links:ss,copy:us,[Symbol.iterator]:as};function ps(t,n){return t.parent===n.parent?1:2}function Gt(t){var n=t.children;return n?n[0]:t.t}function Ut(t){var n=t.children;return n?n[n.length-1]:t.t}function ds(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function _s(t){for(var n=0,e=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=n,o.m+=n,n+=o.s+(e+=o.c)}function gs(t,n,e){return t.a.parent===n.parent?t.a:e}function Tt(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Tt.prototype=Object.create(xt.prototype);function ms(t){for(var n=new Tt(t,0),e,r=[n],i,o,s,u;e=r.pop();)if(o=e._.children)for(e.children=new Array(u=o.length),s=u-1;s>=0;--s)r.push(i=e.children[s]=new Tt(o[s],s)),i.parent=e;return(n.parent=new Tt(null,0)).children=[n],n}function ys(){var t=ps,n=1,e=1,r=null;function i(a){var c=ms(a);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)a.eachBefore(l);else{var p=a,h=a,_=a;a.eachBefore(function($){$.x<p.x&&(p=$),$.x>h.x&&(h=$),$.depth>_.depth&&(_=$)});var w=p===h?1:t(p,h)/2,x=w-p.x,b=n/(h.x+w+x),g=e/(_.depth||1);a.eachBefore(function($){$.x=($.x+x)*b,$.y=$.depth*g})}return a}function o(a){var c=a.children,p=a.parent.children,h=a.i?p[a.i-1]:null;if(c){_s(a);var _=(c[0].z+c[c.length-1].z)/2;h?(a.z=h.z+t(a._,h._),a.m=a.z-_):a.z=_}else h&&(a.z=h.z+t(a._,h._));a.parent.A=u(a,h,a.parent.A||p[0])}function s(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function u(a,c,p){if(c){for(var h=a,_=a,w=c,x=h.parent.children[0],b=h.m,g=_.m,$=w.m,N=x.m,E;w=Ut(w),h=Gt(h),w&&h;)x=Gt(x),_=Ut(_),_.a=a,E=w.z+$-h.z-b+t(w._,h._),E>0&&(ds(gs(w,a,p),a,E),b+=E,g+=E),$+=w.m,b+=h.m,N+=x.m,g+=_.m;w&&!Ut(_)&&(_.t=w,_.m+=$-g),h&&!Gt(x)&&(x.t=h,x.m+=b-N,p=a)}return p}function l(a){a.x*=n,a.y=a.depth*e}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}function In(t){return function(){return t}}function ws(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);n=r}return t},()=>new Go(n)}var xs=Array.prototype.slice;function vs(t){return t[0]}function bs(t){return t[1]}class $s{constructor(n,e){this._context=n,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,e){switch(n=+n,e=+e,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,e):this._context.moveTo(n,e);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,e,n,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,n,this._y0,n,e);break}}this._x0=n,this._y0=e}}function ks(t){return new $s(t,!0)}function As(t){return t.source}function zs(t){return t.target}function Ms(t){let n=As,e=zs,r=vs,i=bs,o=null,s=null,u=ws(l);function l(){let a;const c=xs.call(arguments),p=n.apply(this,c),h=e.apply(this,c);if(o==null&&(s=t(a=u())),s.lineStart(),c[0]=p,s.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,s.point(+r.apply(this,c),+i.apply(this,c)),s.lineEnd(),a)return s=null,a+""||null}return l.source=function(a){return arguments.length?(n=a,l):n},l.target=function(a){return arguments.length?(e=a,l):e},l.x=function(a){return arguments.length?(r=typeof a=="function"?a:In(+a),l):r},l.y=function(a){return arguments.length?(i=typeof a=="function"?a:In(+a),l):i},l.context=function(a){return arguments.length?(a==null?o=s=null:s=t(o=a),l):o},l}function Ns(){return Ms(ks)}const zt=t=>()=>t;function Es(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qt=new Q(1,0,0);Q.prototype;function Kt(t){t.stopImmediatePropagation()}function pt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ss(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Ts(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Dn(){return this.__zoom||qt}function Cs(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Rs(){return navigator.maxTouchPoints||"ontouchstart"in this}function Is(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],s=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Ds(){var t=Ss,n=Ts,e=Is,r=Cs,i=Rs,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,l=Ti,a=an("start","zoom","end"),c,p,h,_=500,w=150,x=0,b=10;function g(f){f.property("__zoom",Dn).on("wheel.zoom",ut,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",D).filter(i).on("touchstart.zoom",ue).on("touchmove.zoom",le).on("touchend.zoom touchcancel.zoom",ce).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(f,m,d,y){var v=f.selection?f.selection():f;v.property("__zoom",Dn),f!==v?C(f,m,d,y):v.interrupt().each(function(){R(this,arguments).event(y).start().zoom(null,typeof m=="function"?m.apply(this,arguments):m).end()})},g.scaleBy=function(f,m,d,y){g.scaleTo(f,function(){var v=this.__zoom.k,k=typeof m=="function"?m.apply(this,arguments):m;return v*k},d,y)},g.scaleTo=function(f,m,d,y){g.transform(f,function(){var v=n.apply(this,arguments),k=this.__zoom,A=d==null?E(v):typeof d=="function"?d.apply(this,arguments):d,M=k.invert(A),S=typeof m=="function"?m.apply(this,arguments):m;return e(N($(k,S),A,M),v,s)},d,y)},g.translateBy=function(f,m,d,y){g.transform(f,function(){return e(this.__zoom.translate(typeof m=="function"?m.apply(this,arguments):m,typeof d=="function"?d.apply(this,arguments):d),n.apply(this,arguments),s)},null,y)},g.translateTo=function(f,m,d,y,v){g.transform(f,function(){var k=n.apply(this,arguments),A=this.__zoom,M=y==null?E(k):typeof y=="function"?y.apply(this,arguments):y;return e(qt.translate(M[0],M[1]).scale(A.k).translate(typeof m=="function"?-m.apply(this,arguments):-m,typeof d=="function"?-d.apply(this,arguments):-d),k,s)},y,v)};function $(f,m){return m=Math.max(o[0],Math.min(o[1],m)),m===f.k?f:new Q(m,f.x,f.y)}function N(f,m,d){var y=m[0]-d[0]*f.k,v=m[1]-d[1]*f.k;return y===f.x&&v===f.y?f:new Q(f.k,y,v)}function E(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function C(f,m,d,y){f.on("start.zoom",function(){R(this,arguments).event(y).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(y).end()}).tween("zoom",function(){var v=this,k=arguments,A=R(v,k).event(y),M=n.apply(v,k),S=d==null?E(M):typeof d=="function"?d.apply(v,k):d,L=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),T=v.__zoom,q=typeof m=="function"?m.apply(v,k):m,O=l(T.invert(S).concat(L/T.k),q.invert(S).concat(L/q.k));return function(X){if(X===1)X=q;else{var G=O(X),Lt=L/G[2];X=new Q(Lt,S[0]-G[0]*Lt,S[1]-G[1]*Lt)}A.zoom(null,X)}})}function R(f,m,d){return!d&&f.__zooming||new P(f,m)}function P(f,m){this.that=f,this.args=m,this.active=0,this.sourceEvent=null,this.extent=n.apply(f,m),this.taps=0}P.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,m){return this.mouse&&f!=="mouse"&&(this.mouse[1]=m.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=m.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=m.invert(this.touch1[0])),this.that.__zoom=m,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var m=Z(this.that).datum();a.call(f,this.that,new Es(f,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:a}),m)}};function ut(f,...m){if(!t.apply(this,arguments))return;var d=R(this,m).event(f),y=this.__zoom,v=Math.max(o[0],Math.min(o[1],y.k*Math.pow(2,r.apply(this,arguments)))),k=rt(f);if(d.wheel)(d.mouse[0][0]!==k[0]||d.mouse[0][1]!==k[1])&&(d.mouse[1]=y.invert(d.mouse[0]=k)),clearTimeout(d.wheel);else{if(y.k===v)return;d.mouse=[k,y.invert(k)],St(this),d.start()}pt(f),d.wheel=setTimeout(A,w),d.zoom("mouse",e(N($(y,v),d.mouse[0],d.mouse[1]),d.extent,s));function A(){d.wheel=null,d.end()}}function z(f,...m){if(h||!t.apply(this,arguments))return;var d=f.currentTarget,y=R(this,m,!0).event(f),v=Z(f.view).on("mousemove.zoom",S,!0).on("mouseup.zoom",L,!0),k=rt(f,d),A=f.clientX,M=f.clientY;ii(f.view),Kt(f),y.mouse=[k,this.__zoom.invert(k)],St(this),y.start();function S(T){if(pt(T),!y.moved){var q=T.clientX-A,O=T.clientY-M;y.moved=q*q+O*O>x}y.event(T).zoom("mouse",e(N(y.that.__zoom,y.mouse[0]=rt(T,d),y.mouse[1]),y.extent,s))}function L(T){v.on("mousemove.zoom mouseup.zoom",null),oi(T.view,y.moved),pt(T),y.event(T).end()}}function D(f,...m){if(t.apply(this,arguments)){var d=this.__zoom,y=rt(f.changedTouches?f.changedTouches[0]:f,this),v=d.invert(y),k=d.k*(f.shiftKey?.5:2),A=e(N($(d,k),y,v),n.apply(this,m),s);pt(f),u>0?Z(this).transition().duration(u).call(C,A,y,f):Z(this).call(g.transform,A,y,f)}}function ue(f,...m){if(t.apply(this,arguments)){var d=f.touches,y=d.length,v=R(this,m,f.changedTouches.length===y).event(f),k,A,M,S;for(Kt(f),A=0;A<y;++A)M=d[A],S=rt(M,this),S=[S,this.__zoom.invert(S),M.identifier],v.touch0?!v.touch1&&v.touch0[2]!==S[2]&&(v.touch1=S,v.taps=0):(v.touch0=S,k=!0,v.taps=1+!!c);c&&(c=clearTimeout(c)),k&&(v.taps<2&&(p=S[0],c=setTimeout(function(){c=null},_)),St(this),v.start())}}function le(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A,M,S;for(pt(f),k=0;k<v;++k)A=y[k],M=rt(A,this),d.touch0&&d.touch0[2]===A.identifier?d.touch0[0]=M:d.touch1&&d.touch1[2]===A.identifier&&(d.touch1[0]=M);if(A=d.that.__zoom,d.touch1){var L=d.touch0[0],T=d.touch0[1],q=d.touch1[0],O=d.touch1[1],X=(X=q[0]-L[0])*X+(X=q[1]-L[1])*X,G=(G=O[0]-T[0])*G+(G=O[1]-T[1])*G;A=$(A,Math.sqrt(X/G)),M=[(L[0]+q[0])/2,(L[1]+q[1])/2],S=[(T[0]+O[0])/2,(T[1]+O[1])/2]}else if(d.touch0)M=d.touch0[0],S=d.touch0[1];else return;d.zoom("touch",e(N(A,M,S),d.extent,s))}}function ce(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A;for(Kt(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},_),k=0;k<v;++k)A=y[k],d.touch0&&d.touch0[2]===A.identifier?delete d.touch0:d.touch1&&d.touch1[2]===A.identifier&&delete d.touch1;if(d.touch1&&!d.touch0&&(d.touch0=d.touch1,delete d.touch1),d.touch0)d.touch0[1]=this.__zoom.invert(d.touch0[0]);else if(d.end(),d.taps===2&&(A=rt(A,this),Math.hypot(p[0]-A[0],p[1]-A[1])<b)){var M=Z(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return g.wheelDelta=function(f){return arguments.length?(r=typeof f=="function"?f:zt(+f),g):r},g.filter=function(f){return arguments.length?(t=typeof f=="function"?f:zt(!!f),g):t},g.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:zt(!!f),g):i},g.extent=function(f){return arguments.length?(n=typeof f=="function"?f:zt([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),g):n},g.scaleExtent=function(f){return arguments.length?(o[0]=+f[0],o[1]=+f[1],g):[o[0],o[1]]},g.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(f){return arguments.length?(e=f,g):e},g.duration=function(f){return arguments.length?(u=+f,g):u},g.interpolate=function(f){return arguments.length?(l=f,g):l},g.on=function(){var f=a.on.apply(a,arguments);return f===a?g:f},g.clickDistance=function(f){return arguments.length?(x=(f=+f)*f,g):Math.sqrt(x)},g.tapDistance=function(f){return arguments.length?(b=+f,g):b},g}const Bs={class:"issue-graph-page"},Ps={class:"page-header"},qs={class:"graph-controls"},Xs={key:0,class:"loading card"},Hs={key:1,class:"empty card"},Fs={key:2,class:"graph-container card"},Ls=fe({__name:"graph",async setup(t){let n,e;const r=he(),i=Vt(null),o=Vt(null),s=Vt({left:"0px",top:"0px"});let u=null,l=null;const{data:a,status:c}=([n,e]=pe(()=>ve("/api/issues/graph","$5ObCgmYhuY")),n=await n,e(),n),p=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,1.3)},h=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,.7)},_=()=>{l&&u&&l.transition().duration(300).call(u.transform,qt)},w=b=>{switch(b){case"critical":return"#ef4444";case"high":return"#f59e0b";case"medium":return"#3b82f6";case"low":return"#22c55e";default:return"#94a3b8"}},x=()=>{if(!i.value||!a.value)return;const b=i.value.parentElement;if(!b)return;const g=b.clientWidth,$=b.clientHeight||600;Z(i.value).selectAll("*").remove(),l=Z(i.value).attr("width",g).attr("height",$);const N=l.append("g");u=Ds().scaleExtent([.1,4]).on("zoom",z=>{N.attr("transform",z.transform.toString())}),l.call(u);const E=dn(a.value),R=ys().size([$-100,g-200]).separation((z,D)=>z.parent===D.parent?1:1.5)(E);N.selectAll(".link").data(R.links()).enter().append("path").attr("class","link").attr("d",Ns().x(z=>z.y+100).y(z=>z.x+50)).attr("fill","none").attr("stroke","#cbd5e1").attr("stroke-width",2);const P=N.selectAll(".node").data(R.descendants()).enter().append("g").attr("class","node").attr("transform",z=>`translate(${(z.y??0)+100}, ${(z.x??0)+50})`).style("cursor","pointer").on("click",(z,D)=>{D.data.id&&D.data.id!=="root"&&r.push(`/issue/${D.data.id}`)}).on("mouseenter",(z,D)=>{D.data.id!=="root"&&(o.value=D.data,s.value={left:`${z.pageX+10}px`,top:`${z.pageY+10}px`})}).on("mouseleave",()=>{o.value=null});P.append("circle").attr("r",z=>z.data.id==="root"?12:8).attr("fill",z=>z.data.id==="root"?"#64748b":w(z.data.priority)).attr("stroke","#fff").attr("stroke-width",2),P.append("text").attr("dy",-15).attr("text-anchor","middle").attr("font-size","11px").attr("fill","#64748b").text(z=>z.data.id==="root"?"":z.data.id);const ut=qt.translate(50,$/2-(R.x||0)-50);l.call(u.transform,ut)};return de(()=>{_n(()=>{x()}),window.addEventListener("resize",x)}),_e(()=>{window.removeEventListener("resize",x)}),ge(a,()=>{_n(()=>{x()})}),me({title:"Issue Graph - AutoCode"}),(b,g)=>(et(),nt("div",Bs,[j("header",Ps,[j("h1",null,U(b.$t("graph.title")),1),j("div",qs,[j("button",{class:"btn btn-secondary btn-sm",onClick:p},"+ "+U(b.$t("graph.zoomIn")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:h}," − "+U(b.$t("graph.zoomOut")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:_},U(b.$t("graph.reset")),1)])]),K(c)==="pending"?(et(),nt("div",Xs,U(b.$t("app.loading")),1)):K(a)?.children?.length?(et(),nt("div",Fs,[(et(),nt("svg",{ref_key:"svgRef",ref:i,class:"graph-svg"},null,512))])):(et(),nt("div",Hs,U(b.$t("graph.noIssues")),1)),K(o)?(et(),nt("div",{key:3,class:"issue-tooltip",style:ye(K(s))},[j("strong",null,U(K(o).id),1),j("p",null,U(K(o).title),1),K(o).priority?(et(),nt("span",{key:0,class:we(["badge",`badge-${K(o).priority}`])},U(K(o).priority),3)):gn("",!0)],4)):gn("",!0)]))}}),Os=xe(Ls,[["__scopeId","data-v-63d9891e"]]);export{Os as default};
1
+ import{d as fe,x as he,r as Vt,v as pe,o as de,y as _n,a as _e,m as ge,s as me,c as nt,e as j,j as gn,t as U,h as K,n as ye,q as we,b as et,_ as xe}from"./DSCi2X5i.js";import{u as ve}from"./CrRHcnKi.js";var be={value:()=>{}};function an(){for(var t=0,n=arguments.length,e={},r;t<n;++t){if(!(r=arguments[t]+"")||r in e||/[\s.]/.test(r))throw new Error("illegal type: "+r);e[r]=[]}return new Mt(e)}function Mt(t){this._=t}function $e(t,n){return t.trim().split(/^|\s+/).map(function(e){var r="",i=e.indexOf(".");if(i>=0&&(r=e.slice(i+1),e=e.slice(0,i)),e&&!n.hasOwnProperty(e))throw new Error("unknown type: "+e);return{type:e,name:r}})}Mt.prototype=an.prototype={constructor:Mt,on:function(t,n){var e=this._,r=$e(t+"",e),i,o=-1,s=r.length;if(arguments.length<2){for(;++o<s;)if((i=(t=r[o]).type)&&(i=ke(e[i],t.name)))return i;return}if(n!=null&&typeof n!="function")throw new Error("invalid callback: "+n);for(;++o<s;)if(i=(t=r[o]).type)e[i]=mn(e[i],t.name,n);else if(n==null)for(i in e)e[i]=mn(e[i],t.name,null);return this},copy:function(){var t={},n=this._;for(var e in n)t[e]=n[e].slice();return new Mt(t)},call:function(t,n){if((i=arguments.length-2)>0)for(var e=new Array(i),r=0,i,o;r<i;++r)e[r]=arguments[r+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(o=this._[t],r=0,i=o.length;r<i;++r)o[r].value.apply(n,e)},apply:function(t,n,e){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var r=this._[t],i=0,o=r.length;i<o;++i)r[i].value.apply(n,e)}};function ke(t,n){for(var e=0,r=t.length,i;e<r;++e)if((i=t[e]).name===n)return i.value}function mn(t,n,e){for(var r=0,i=t.length;r<i;++r)if(t[r].name===n){t[r]=be,t=t.slice(0,r).concat(t.slice(r+1));break}return e!=null&&t.push({name:n,value:e}),t}var Wt="http://www.w3.org/1999/xhtml";const yn={svg:"http://www.w3.org/2000/svg",xhtml:Wt,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Xt(t){var n=t+="",e=n.indexOf(":");return e>=0&&(n=t.slice(0,e))!=="xmlns"&&(t=t.slice(e+1)),yn.hasOwnProperty(n)?{space:yn[n],local:t}:t}function Ae(t){return function(){var n=this.ownerDocument,e=this.namespaceURI;return e===Wt&&n.documentElement.namespaceURI===Wt?n.createElement(t):n.createElementNS(e,t)}}function ze(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Bn(t){var n=Xt(t);return(n.local?ze:Ae)(n)}function Me(){}function un(t){return t==null?Me:function(){return this.querySelector(t)}}function Ne(t){typeof t!="function"&&(t=un(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=new Array(s),l,a,c=0;c<s;++c)(l=o[c])&&(a=t.call(l,l.__data__,c,o))&&("__data__"in l&&(a.__data__=l.__data__),u[c]=a);return new B(r,this._parents)}function Ee(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Se(){return[]}function Pn(t){return t==null?Se:function(){return this.querySelectorAll(t)}}function Te(t){return function(){return Ee(t.apply(this,arguments))}}function Ce(t){typeof t=="function"?t=Te(t):t=Pn(t);for(var n=this._groups,e=n.length,r=[],i=[],o=0;o<e;++o)for(var s=n[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&(r.push(t.call(l,l.__data__,a,s)),i.push(l));return new B(r,i)}function qn(t){return function(){return this.matches(t)}}function Xn(t){return function(n){return n.matches(t)}}var Re=Array.prototype.find;function Ie(t){return function(){return Re.call(this.children,t)}}function De(){return this.firstElementChild}function Be(t){return this.select(t==null?De:Ie(typeof t=="function"?t:Xn(t)))}var Pe=Array.prototype.filter;function qe(){return Array.from(this.children)}function Xe(t){return function(){return Pe.call(this.children,t)}}function He(t){return this.selectAll(t==null?qe:Xe(typeof t=="function"?t:Xn(t)))}function Fe(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new B(r,this._parents)}function Hn(t){return new Array(t.length)}function Le(){return new B(this._enter||this._groups.map(Hn),this._parents)}function Ct(t,n){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=n}Ct.prototype={constructor:Ct,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,n){return this._parent.insertBefore(t,n)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function Ve(t){return function(){return t}}function Ye(t,n,e,r,i,o){for(var s=0,u,l=n.length,a=o.length;s<a;++s)(u=n[s])?(u.__data__=o[s],r[s]=u):e[s]=new Ct(t,o[s]);for(;s<l;++s)(u=n[s])&&(i[s]=u)}function Oe(t,n,e,r,i,o,s){var u,l,a=new Map,c=n.length,p=o.length,h=new Array(c),_;for(u=0;u<c;++u)(l=n[u])&&(h[u]=_=s.call(l,l.__data__,u,n)+"",a.has(_)?i[u]=l:a.set(_,l));for(u=0;u<p;++u)_=s.call(t,o[u],u,o)+"",(l=a.get(_))?(r[u]=l,l.__data__=o[u],a.delete(_)):e[u]=new Ct(t,o[u]);for(u=0;u<c;++u)(l=n[u])&&a.get(h[u])===l&&(i[u]=l)}function Ge(t){return t.__data__}function Ue(t,n){if(!arguments.length)return Array.from(this,Ge);var e=n?Oe:Ye,r=this._parents,i=this._groups;typeof t!="function"&&(t=Ve(t));for(var o=i.length,s=new Array(o),u=new Array(o),l=new Array(o),a=0;a<o;++a){var c=r[a],p=i[a],h=p.length,_=Ke(t.call(c,c&&c.__data__,a,r)),w=_.length,x=u[a]=new Array(w),b=s[a]=new Array(w),g=l[a]=new Array(h);e(c,p,x,b,g,_,n);for(var $=0,N=0,E,C;$<w;++$)if(E=x[$]){for($>=N&&(N=$+1);!(C=b[N])&&++N<w;);E._next=C||null}}return s=new B(s,r),s._enter=u,s._exit=l,s}function Ke(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function We(){return new B(this._exit||this._groups.map(Hn),this._parents)}function Ze(t,n,e){var r=this.enter(),i=this,o=this.exit();return typeof t=="function"?(r=t(r),r&&(r=r.selection())):r=r.append(t+""),n!=null&&(i=n(i),i&&(i=i.selection())),e==null?o.remove():e(o),r&&i?r.merge(i).order():i}function Qe(t){for(var n=t.selection?t.selection():t,e=this._groups,r=n._groups,i=e.length,o=r.length,s=Math.min(i,o),u=new Array(i),l=0;l<s;++l)for(var a=e[l],c=r[l],p=a.length,h=u[l]=new Array(p),_,w=0;w<p;++w)(_=a[w]||c[w])&&(h[w]=_);for(;l<i;++l)u[l]=e[l];return new B(u,this._parents)}function Je(){for(var t=this._groups,n=-1,e=t.length;++n<e;)for(var r=t[n],i=r.length-1,o=r[i],s;--i>=0;)(s=r[i])&&(o&&s.compareDocumentPosition(o)^4&&o.parentNode.insertBefore(s,o),o=s);return this}function je(t){t||(t=tr);function n(p,h){return p&&h?t(p.__data__,h.__data__):!p-!h}for(var e=this._groups,r=e.length,i=new Array(r),o=0;o<r;++o){for(var s=e[o],u=s.length,l=i[o]=new Array(u),a,c=0;c<u;++c)(a=s[c])&&(l[c]=a);l.sort(n)}return new B(i,this._parents).order()}function tr(t,n){return t<n?-1:t>n?1:t>=n?0:NaN}function nr(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function er(){return Array.from(this)}function rr(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length;i<o;++i){var s=r[i];if(s)return s}return null}function ir(){let t=0;for(const n of this)++t;return t}function or(){return!this.node()}function sr(t){for(var n=this._groups,e=0,r=n.length;e<r;++e)for(var i=n[e],o=0,s=i.length,u;o<s;++o)(u=i[o])&&t.call(u,u.__data__,o,i);return this}function ar(t){return function(){this.removeAttribute(t)}}function ur(t){return function(){this.removeAttributeNS(t.space,t.local)}}function lr(t,n){return function(){this.setAttribute(t,n)}}function cr(t,n){return function(){this.setAttributeNS(t.space,t.local,n)}}function fr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttribute(t):this.setAttribute(t,e)}}function hr(t,n){return function(){var e=n.apply(this,arguments);e==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,e)}}function pr(t,n){var e=Xt(t);if(arguments.length<2){var r=this.node();return e.local?r.getAttributeNS(e.space,e.local):r.getAttribute(e)}return this.each((n==null?e.local?ur:ar:typeof n=="function"?e.local?hr:fr:e.local?cr:lr)(e,n))}function Fn(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function dr(t){return function(){this.style.removeProperty(t)}}function _r(t,n,e){return function(){this.style.setProperty(t,n,e)}}function gr(t,n,e){return function(){var r=n.apply(this,arguments);r==null?this.style.removeProperty(t):this.style.setProperty(t,r,e)}}function mr(t,n,e){return arguments.length>1?this.each((n==null?dr:typeof n=="function"?gr:_r)(t,n,e??"")):ct(this.node(),t)}function ct(t,n){return t.style.getPropertyValue(n)||Fn(t).getComputedStyle(t,null).getPropertyValue(n)}function yr(t){return function(){delete this[t]}}function wr(t,n){return function(){this[t]=n}}function xr(t,n){return function(){var e=n.apply(this,arguments);e==null?delete this[t]:this[t]=e}}function vr(t,n){return arguments.length>1?this.each((n==null?yr:typeof n=="function"?xr:wr)(t,n)):this.node()[t]}function Ln(t){return t.trim().split(/^|\s+/)}function ln(t){return t.classList||new Vn(t)}function Vn(t){this._node=t,this._names=Ln(t.getAttribute("class")||"")}Vn.prototype={add:function(t){var n=this._names.indexOf(t);n<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var n=this._names.indexOf(t);n>=0&&(this._names.splice(n,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Yn(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.add(n[r])}function On(t,n){for(var e=ln(t),r=-1,i=n.length;++r<i;)e.remove(n[r])}function br(t){return function(){Yn(this,t)}}function $r(t){return function(){On(this,t)}}function kr(t,n){return function(){(n.apply(this,arguments)?Yn:On)(this,t)}}function Ar(t,n){var e=Ln(t+"");if(arguments.length<2){for(var r=ln(this.node()),i=-1,o=e.length;++i<o;)if(!r.contains(e[i]))return!1;return!0}return this.each((typeof n=="function"?kr:n?br:$r)(e,n))}function zr(){this.textContent=""}function Mr(t){return function(){this.textContent=t}}function Nr(t){return function(){var n=t.apply(this,arguments);this.textContent=n??""}}function Er(t){return arguments.length?this.each(t==null?zr:(typeof t=="function"?Nr:Mr)(t)):this.node().textContent}function Sr(){this.innerHTML=""}function Tr(t){return function(){this.innerHTML=t}}function Cr(t){return function(){var n=t.apply(this,arguments);this.innerHTML=n??""}}function Rr(t){return arguments.length?this.each(t==null?Sr:(typeof t=="function"?Cr:Tr)(t)):this.node().innerHTML}function Ir(){this.nextSibling&&this.parentNode.appendChild(this)}function Dr(){return this.each(Ir)}function Br(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Pr(){return this.each(Br)}function qr(t){var n=typeof t=="function"?t:Bn(t);return this.select(function(){return this.appendChild(n.apply(this,arguments))})}function Xr(){return null}function Hr(t,n){var e=typeof t=="function"?t:Bn(t),r=n==null?Xr:typeof n=="function"?n:un(n);return this.select(function(){return this.insertBefore(e.apply(this,arguments),r.apply(this,arguments)||null)})}function Fr(){var t=this.parentNode;t&&t.removeChild(this)}function Lr(){return this.each(Fr)}function Vr(){var t=this.cloneNode(!1),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Yr(){var t=this.cloneNode(!0),n=this.parentNode;return n?n.insertBefore(t,this.nextSibling):t}function Or(t){return this.select(t?Yr:Vr)}function Gr(t){return arguments.length?this.property("__data__",t):this.node().__data__}function Ur(t){return function(n){t.call(this,n,this.__data__)}}function Kr(t){return t.trim().split(/^|\s+/).map(function(n){var e="",r=n.indexOf(".");return r>=0&&(e=n.slice(r+1),n=n.slice(0,r)),{type:n,name:e}})}function Wr(t){return function(){var n=this.__on;if(n){for(var e=0,r=-1,i=n.length,o;e<i;++e)o=n[e],(!t.type||o.type===t.type)&&o.name===t.name?this.removeEventListener(o.type,o.listener,o.options):n[++r]=o;++r?n.length=r:delete this.__on}}}function Zr(t,n,e){return function(){var r=this.__on,i,o=Ur(n);if(r){for(var s=0,u=r.length;s<u;++s)if((i=r[s]).type===t.type&&i.name===t.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=o,i.options=e),i.value=n;return}}this.addEventListener(t.type,o,e),i={type:t.type,name:t.name,value:n,listener:o,options:e},r?r.push(i):this.__on=[i]}}function Qr(t,n,e){var r=Kr(t+""),i,o=r.length,s;if(arguments.length<2){var u=this.node().__on;if(u){for(var l=0,a=u.length,c;l<a;++l)for(i=0,c=u[l];i<o;++i)if((s=r[i]).type===c.type&&s.name===c.name)return c.value}return}for(u=n?Zr:Wr,i=0;i<o;++i)this.each(u(r[i],n,e));return this}function Gn(t,n,e){var r=Fn(t),i=r.CustomEvent;typeof i=="function"?i=new i(n,e):(i=r.document.createEvent("Event"),e?(i.initEvent(n,e.bubbles,e.cancelable),i.detail=e.detail):i.initEvent(n,!1,!1)),t.dispatchEvent(i)}function Jr(t,n){return function(){return Gn(this,t,n)}}function jr(t,n){return function(){return Gn(this,t,n.apply(this,arguments))}}function ti(t,n){return this.each((typeof n=="function"?jr:Jr)(t,n))}function*ni(){for(var t=this._groups,n=0,e=t.length;n<e;++n)for(var r=t[n],i=0,o=r.length,s;i<o;++i)(s=r[i])&&(yield s)}var Un=[null];function B(t,n){this._groups=t,this._parents=n}function vt(){return new B([[document.documentElement]],Un)}function ei(){return this}B.prototype=vt.prototype={constructor:B,select:Ne,selectAll:Ce,selectChild:Be,selectChildren:He,filter:Fe,data:Ue,enter:Le,exit:We,join:Ze,merge:Qe,selection:ei,order:Je,sort:je,call:nr,nodes:er,node:rr,size:ir,empty:or,each:sr,attr:pr,style:mr,property:vr,classed:Ar,text:Er,html:Rr,raise:Dr,lower:Pr,append:qr,insert:Hr,remove:Lr,clone:Or,datum:Gr,on:Qr,dispatch:ti,[Symbol.iterator]:ni};function Z(t){return typeof t=="string"?new B([[document.querySelector(t)]],[document.documentElement]):new B([[t]],Un)}function ri(t){let n;for(;n=t.sourceEvent;)t=n;return t}function rt(t,n){if(t=ri(t),n===void 0&&(n=t.currentTarget),n){var e=n.ownerSVGElement||n;if(e.createSVGPoint){var r=e.createSVGPoint();return r.x=t.clientX,r.y=t.clientY,r=r.matrixTransform(n.getScreenCTM().inverse()),[r.x,r.y]}if(n.getBoundingClientRect){var i=n.getBoundingClientRect();return[t.clientX-i.left-n.clientLeft,t.clientY-i.top-n.clientTop]}}return[t.pageX,t.pageY]}const Zt={capture:!0,passive:!1};function Qt(t){t.preventDefault(),t.stopImmediatePropagation()}function ii(t){var n=t.document.documentElement,e=Z(t).on("dragstart.drag",Qt,Zt);"onselectstart"in n?e.on("selectstart.drag",Qt,Zt):(n.__noselect=n.style.MozUserSelect,n.style.MozUserSelect="none")}function oi(t,n){var e=t.document.documentElement,r=Z(t).on("dragstart.drag",null);n&&(r.on("click.drag",Qt,Zt),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in e?r.on("selectstart.drag",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}function cn(t,n,e){t.prototype=n.prototype=e,e.constructor=t}function Kn(t,n){var e=Object.create(t.prototype);for(var r in n)e[r]=n[r];return e}function bt(){}var gt=.7,Rt=1/gt,lt="\\s*([+-]?\\d+)\\s*",mt="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",V="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",si=/^#([0-9a-f]{3,8})$/,ai=new RegExp(`^rgb\\(${lt},${lt},${lt}\\)$`),ui=new RegExp(`^rgb\\(${V},${V},${V}\\)$`),li=new RegExp(`^rgba\\(${lt},${lt},${lt},${mt}\\)$`),ci=new RegExp(`^rgba\\(${V},${V},${V},${mt}\\)$`),fi=new RegExp(`^hsl\\(${mt},${V},${V}\\)$`),hi=new RegExp(`^hsla\\(${mt},${V},${V},${mt}\\)$`),wn={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};cn(bt,yt,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:xn,formatHex:xn,formatHex8:pi,formatHsl:di,formatRgb:vn,toString:vn});function xn(){return this.rgb().formatHex()}function pi(){return this.rgb().formatHex8()}function di(){return Wn(this).formatHsl()}function vn(){return this.rgb().formatRgb()}function yt(t){var n,e;return t=(t+"").trim().toLowerCase(),(n=si.exec(t))?(e=n[1].length,n=parseInt(n[1],16),e===6?bn(n):e===3?new I(n>>8&15|n>>4&240,n>>4&15|n&240,(n&15)<<4|n&15,1):e===8?$t(n>>24&255,n>>16&255,n>>8&255,(n&255)/255):e===4?$t(n>>12&15|n>>8&240,n>>8&15|n>>4&240,n>>4&15|n&240,((n&15)<<4|n&15)/255):null):(n=ai.exec(t))?new I(n[1],n[2],n[3],1):(n=ui.exec(t))?new I(n[1]*255/100,n[2]*255/100,n[3]*255/100,1):(n=li.exec(t))?$t(n[1],n[2],n[3],n[4]):(n=ci.exec(t))?$t(n[1]*255/100,n[2]*255/100,n[3]*255/100,n[4]):(n=fi.exec(t))?An(n[1],n[2]/100,n[3]/100,1):(n=hi.exec(t))?An(n[1],n[2]/100,n[3]/100,n[4]):wn.hasOwnProperty(t)?bn(wn[t]):t==="transparent"?new I(NaN,NaN,NaN,0):null}function bn(t){return new I(t>>16&255,t>>8&255,t&255,1)}function $t(t,n,e,r){return r<=0&&(t=n=e=NaN),new I(t,n,e,r)}function _i(t){return t instanceof bt||(t=yt(t)),t?(t=t.rgb(),new I(t.r,t.g,t.b,t.opacity)):new I}function Jt(t,n,e,r){return arguments.length===1?_i(t):new I(t,n,e,r??1)}function I(t,n,e,r){this.r=+t,this.g=+n,this.b=+e,this.opacity=+r}cn(I,Jt,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new I(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new I(st(this.r),st(this.g),st(this.b),It(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:$n,formatHex:$n,formatHex8:gi,formatRgb:kn,toString:kn}));function $n(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}`}function gi(){return`#${ot(this.r)}${ot(this.g)}${ot(this.b)}${ot((isNaN(this.opacity)?1:this.opacity)*255)}`}function kn(){const t=It(this.opacity);return`${t===1?"rgb(":"rgba("}${st(this.r)}, ${st(this.g)}, ${st(this.b)}${t===1?")":`, ${t})`}`}function It(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function st(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function ot(t){return t=st(t),(t<16?"0":"")+t.toString(16)}function An(t,n,e,r){return r<=0?t=n=e=NaN:e<=0||e>=1?t=n=NaN:n<=0&&(t=NaN),new H(t,n,e,r)}function Wn(t){if(t instanceof H)return new H(t.h,t.s,t.l,t.opacity);if(t instanceof bt||(t=yt(t)),!t)return new H;if(t instanceof H)return t;t=t.rgb();var n=t.r/255,e=t.g/255,r=t.b/255,i=Math.min(n,e,r),o=Math.max(n,e,r),s=NaN,u=o-i,l=(o+i)/2;return u?(n===o?s=(e-r)/u+(e<r)*6:e===o?s=(r-n)/u+2:s=(n-e)/u+4,u/=l<.5?o+i:2-o-i,s*=60):u=l>0&&l<1?0:s,new H(s,u,l,t.opacity)}function mi(t,n,e,r){return arguments.length===1?Wn(t):new H(t,n,e,r??1)}function H(t,n,e,r){this.h=+t,this.s=+n,this.l=+e,this.opacity=+r}cn(H,mi,Kn(bt,{brighter(t){return t=t==null?Rt:Math.pow(Rt,t),new H(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?gt:Math.pow(gt,t),new H(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,n=isNaN(t)||isNaN(this.s)?0:this.s,e=this.l,r=e+(e<.5?e:1-e)*n,i=2*e-r;return new I(Yt(t>=240?t-240:t+120,i,r),Yt(t,i,r),Yt(t<120?t+240:t-120,i,r),this.opacity)},clamp(){return new H(zn(this.h),kt(this.s),kt(this.l),It(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=It(this.opacity);return`${t===1?"hsl(":"hsla("}${zn(this.h)}, ${kt(this.s)*100}%, ${kt(this.l)*100}%${t===1?")":`, ${t})`}`}}));function zn(t){return t=(t||0)%360,t<0?t+360:t}function kt(t){return Math.max(0,Math.min(1,t||0))}function Yt(t,n,e){return(t<60?n+(e-n)*t/60:t<180?e:t<240?n+(e-n)*(240-t)/60:n)*255}const Zn=t=>()=>t;function yi(t,n){return function(e){return t+e*n}}function wi(t,n,e){return t=Math.pow(t,e),n=Math.pow(n,e)-t,e=1/e,function(r){return Math.pow(t+r*n,e)}}function xi(t){return(t=+t)==1?Qn:function(n,e){return e-n?wi(n,e,t):Zn(isNaN(n)?e:n)}}function Qn(t,n){var e=n-t;return e?yi(t,e):Zn(isNaN(t)?n:t)}const Mn=(function t(n){var e=xi(n);function r(i,o){var s=e((i=Jt(i)).r,(o=Jt(o)).r),u=e(i.g,o.g),l=e(i.b,o.b),a=Qn(i.opacity,o.opacity);return function(c){return i.r=s(c),i.g=u(c),i.b=l(c),i.opacity=a(c),i+""}}return r.gamma=t,r})(1);function tt(t,n){return t=+t,n=+n,function(e){return t*(1-e)+n*e}}var jt=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Ot=new RegExp(jt.source,"g");function vi(t){return function(){return t}}function bi(t){return function(n){return t(n)+""}}function $i(t,n){var e=jt.lastIndex=Ot.lastIndex=0,r,i,o,s=-1,u=[],l=[];for(t=t+"",n=n+"";(r=jt.exec(t))&&(i=Ot.exec(n));)(o=i.index)>e&&(o=n.slice(e,o),u[s]?u[s]+=o:u[++s]=o),(r=r[0])===(i=i[0])?u[s]?u[s]+=i:u[++s]=i:(u[++s]=null,l.push({i:s,x:tt(r,i)})),e=Ot.lastIndex;return e<n.length&&(o=n.slice(e),u[s]?u[s]+=o:u[++s]=o),u.length<2?l[0]?bi(l[0].x):vi(n):(n=l.length,function(a){for(var c=0,p;c<n;++c)u[(p=l[c]).i]=p.x(a);return u.join("")})}var Nn=180/Math.PI,tn={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Jn(t,n,e,r,i,o){var s,u,l;return(s=Math.sqrt(t*t+n*n))&&(t/=s,n/=s),(l=t*e+n*r)&&(e-=t*l,r-=n*l),(u=Math.sqrt(e*e+r*r))&&(e/=u,r/=u,l/=u),t*r<n*e&&(t=-t,n=-n,l=-l,s=-s),{translateX:i,translateY:o,rotate:Math.atan2(n,t)*Nn,skewX:Math.atan(l)*Nn,scaleX:s,scaleY:u}}var At;function ki(t){const n=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return n.isIdentity?tn:Jn(n.a,n.b,n.c,n.d,n.e,n.f)}function Ai(t){return t==null||(At||(At=document.createElementNS("http://www.w3.org/2000/svg","g")),At.setAttribute("transform",t),!(t=At.transform.baseVal.consolidate()))?tn:(t=t.matrix,Jn(t.a,t.b,t.c,t.d,t.e,t.f))}function jn(t,n,e,r){function i(a){return a.length?a.pop()+" ":""}function o(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push("translate(",null,n,null,e);w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p||h)&&_.push("translate("+p+n+h+e)}function s(a,c,p,h){a!==c?(a-c>180?c+=360:c-a>180&&(a+=360),h.push({i:p.push(i(p)+"rotate(",null,r)-2,x:tt(a,c)})):c&&p.push(i(p)+"rotate("+c+r)}function u(a,c,p,h){a!==c?h.push({i:p.push(i(p)+"skewX(",null,r)-2,x:tt(a,c)}):c&&p.push(i(p)+"skewX("+c+r)}function l(a,c,p,h,_,w){if(a!==p||c!==h){var x=_.push(i(_)+"scale(",null,",",null,")");w.push({i:x-4,x:tt(a,p)},{i:x-2,x:tt(c,h)})}else(p!==1||h!==1)&&_.push(i(_)+"scale("+p+","+h+")")}return function(a,c){var p=[],h=[];return a=t(a),c=t(c),o(a.translateX,a.translateY,c.translateX,c.translateY,p,h),s(a.rotate,c.rotate,p,h),u(a.skewX,c.skewX,p,h),l(a.scaleX,a.scaleY,c.scaleX,c.scaleY,p,h),a=c=null,function(_){for(var w=-1,x=h.length,b;++w<x;)p[(b=h[w]).i]=b.x(_);return p.join("")}}}var zi=jn(ki,"px, ","px)","deg)"),Mi=jn(Ai,", ",")",")"),Ni=1e-12;function En(t){return((t=Math.exp(t))+1/t)/2}function Ei(t){return((t=Math.exp(t))-1/t)/2}function Si(t){return((t=Math.exp(2*t))-1)/(t+1)}const Ti=(function t(n,e,r){function i(o,s){var u=o[0],l=o[1],a=o[2],c=s[0],p=s[1],h=s[2],_=c-u,w=p-l,x=_*_+w*w,b,g;if(x<Ni)g=Math.log(h/a)/n,b=function(P){return[u+P*_,l+P*w,a*Math.exp(n*P*g)]};else{var $=Math.sqrt(x),N=(h*h-a*a+r*x)/(2*a*e*$),E=(h*h-a*a-r*x)/(2*h*e*$),C=Math.log(Math.sqrt(N*N+1)-N),R=Math.log(Math.sqrt(E*E+1)-E);g=(R-C)/n,b=function(P){var ut=P*g,z=En(C),D=a/(e*$)*(z*Si(n*ut+C)-Ei(C));return[u+D*_,l+D*w,a*z/En(n*ut+C)]}}return b.duration=g*1e3*n/Math.SQRT2,b}return i.rho=function(o){var s=Math.max(.001,+o),u=s*s,l=u*u;return t(s,u,l)},i})(Math.SQRT2,2,4);var ft=0,dt=0,ht=0,te=1e3,Dt,_t,Bt=0,at=0,Ht=0,wt=typeof performance=="object"&&performance.now?performance:Date,ne=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function fn(){return at||(ne(Ci),at=wt.now()+Ht)}function Ci(){at=0}function Pt(){this._call=this._time=this._next=null}Pt.prototype=ee.prototype={constructor:Pt,restart:function(t,n,e){if(typeof t!="function")throw new TypeError("callback is not a function");e=(e==null?fn():+e)+(n==null?0:+n),!this._next&&_t!==this&&(_t?_t._next=this:Dt=this,_t=this),this._call=t,this._time=e,nn()},stop:function(){this._call&&(this._call=null,this._time=1/0,nn())}};function ee(t,n,e){var r=new Pt;return r.restart(t,n,e),r}function Ri(){fn(),++ft;for(var t=Dt,n;t;)(n=at-t._time)>=0&&t._call.call(void 0,n),t=t._next;--ft}function Sn(){at=(Bt=wt.now())+Ht,ft=dt=0;try{Ri()}finally{ft=0,Di(),at=0}}function Ii(){var t=wt.now(),n=t-Bt;n>te&&(Ht-=n,Bt=t)}function Di(){for(var t,n=Dt,e,r=1/0;n;)n._call?(r>n._time&&(r=n._time),t=n,n=n._next):(e=n._next,n._next=null,n=t?t._next=e:Dt=e);_t=t,nn(r)}function nn(t){if(!ft){dt&&(dt=clearTimeout(dt));var n=t-at;n>24?(t<1/0&&(dt=setTimeout(Sn,t-wt.now()-Ht)),ht&&(ht=clearInterval(ht))):(ht||(Bt=wt.now(),ht=setInterval(Ii,te)),ft=1,ne(Sn))}}function Tn(t,n,e){var r=new Pt;return n=n==null?0:+n,r.restart(i=>{r.stop(),t(i+n)},n,e),r}var Bi=an("start","end","cancel","interrupt"),Pi=[],re=0,Cn=1,en=2,Nt=3,Rn=4,rn=5,Et=6;function Ft(t,n,e,r,i,o){var s=t.__transition;if(!s)t.__transition={};else if(e in s)return;qi(t,e,{name:n,index:r,group:i,on:Bi,tween:Pi,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:re})}function hn(t,n){var e=F(t,n);if(e.state>re)throw new Error("too late; already scheduled");return e}function Y(t,n){var e=F(t,n);if(e.state>Nt)throw new Error("too late; already running");return e}function F(t,n){var e=t.__transition;if(!e||!(e=e[n]))throw new Error("transition not found");return e}function qi(t,n,e){var r=t.__transition,i;r[n]=e,e.timer=ee(o,0,e.time);function o(a){e.state=Cn,e.timer.restart(s,e.delay,e.time),e.delay<=a&&s(a-e.delay)}function s(a){var c,p,h,_;if(e.state!==Cn)return l();for(c in r)if(_=r[c],_.name===e.name){if(_.state===Nt)return Tn(s);_.state===Rn?(_.state=Et,_.timer.stop(),_.on.call("interrupt",t,t.__data__,_.index,_.group),delete r[c]):+c<n&&(_.state=Et,_.timer.stop(),_.on.call("cancel",t,t.__data__,_.index,_.group),delete r[c])}if(Tn(function(){e.state===Nt&&(e.state=Rn,e.timer.restart(u,e.delay,e.time),u(a))}),e.state=en,e.on.call("start",t,t.__data__,e.index,e.group),e.state===en){for(e.state=Nt,i=new Array(h=e.tween.length),c=0,p=-1;c<h;++c)(_=e.tween[c].value.call(t,t.__data__,e.index,e.group))&&(i[++p]=_);i.length=p+1}}function u(a){for(var c=a<e.duration?e.ease.call(null,a/e.duration):(e.timer.restart(l),e.state=rn,1),p=-1,h=i.length;++p<h;)i[p].call(t,c);e.state===rn&&(e.on.call("end",t,t.__data__,e.index,e.group),l())}function l(){e.state=Et,e.timer.stop(),delete r[n];for(var a in r)return;delete t.__transition}}function St(t,n){var e=t.__transition,r,i,o=!0,s;if(e){n=n==null?null:n+"";for(s in e){if((r=e[s]).name!==n){o=!1;continue}i=r.state>en&&r.state<rn,r.state=Et,r.timer.stop(),r.on.call(i?"interrupt":"cancel",t,t.__data__,r.index,r.group),delete e[s]}o&&delete t.__transition}}function Xi(t){return this.each(function(){St(this,t)})}function Hi(t,n){var e,r;return function(){var i=Y(this,t),o=i.tween;if(o!==e){r=e=o;for(var s=0,u=r.length;s<u;++s)if(r[s].name===n){r=r.slice(),r.splice(s,1);break}}i.tween=r}}function Fi(t,n,e){var r,i;if(typeof e!="function")throw new Error;return function(){var o=Y(this,t),s=o.tween;if(s!==r){i=(r=s).slice();for(var u={name:n,value:e},l=0,a=i.length;l<a;++l)if(i[l].name===n){i[l]=u;break}l===a&&i.push(u)}o.tween=i}}function Li(t,n){var e=this._id;if(t+="",arguments.length<2){for(var r=F(this.node(),e).tween,i=0,o=r.length,s;i<o;++i)if((s=r[i]).name===t)return s.value;return null}return this.each((n==null?Hi:Fi)(e,t,n))}function pn(t,n,e){var r=t._id;return t.each(function(){var i=Y(this,r);(i.value||(i.value={}))[n]=e.apply(this,arguments)}),function(i){return F(i,r).value[n]}}function ie(t,n){var e;return(typeof n=="number"?tt:n instanceof yt?Mn:(e=yt(n))?(n=e,Mn):$i)(t,n)}function Vi(t){return function(){this.removeAttribute(t)}}function Yi(t){return function(){this.removeAttributeNS(t.space,t.local)}}function Oi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttribute(t);return s===i?null:s===r?o:o=n(r=s,e)}}function Gi(t,n,e){var r,i=e+"",o;return function(){var s=this.getAttributeNS(t.space,t.local);return s===i?null:s===r?o:o=n(r=s,e)}}function Ui(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Ki(t,n,e){var r,i,o;return function(){var s,u=e(this),l;return u==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=u+"",s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u)))}}function Wi(t,n){var e=Xt(t),r=e==="transform"?Mi:ie;return this.attrTween(t,typeof n=="function"?(e.local?Ki:Ui)(e,r,pn(this,"attr."+t,n)):n==null?(e.local?Yi:Vi)(e):(e.local?Gi:Oi)(e,r,n))}function Zi(t,n){return function(e){this.setAttribute(t,n.call(this,e))}}function Qi(t,n){return function(e){this.setAttributeNS(t.space,t.local,n.call(this,e))}}function Ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Qi(t,o)),e}return i._value=n,i}function ji(t,n){var e,r;function i(){var o=n.apply(this,arguments);return o!==r&&(e=(r=o)&&Zi(t,o)),e}return i._value=n,i}function to(t,n){var e="attr."+t;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(n==null)return this.tween(e,null);if(typeof n!="function")throw new Error;var r=Xt(t);return this.tween(e,(r.local?Ji:ji)(r,n))}function no(t,n){return function(){hn(this,t).delay=+n.apply(this,arguments)}}function eo(t,n){return n=+n,function(){hn(this,t).delay=n}}function ro(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?no:eo)(n,t)):F(this.node(),n).delay}function io(t,n){return function(){Y(this,t).duration=+n.apply(this,arguments)}}function oo(t,n){return n=+n,function(){Y(this,t).duration=n}}function so(t){var n=this._id;return arguments.length?this.each((typeof t=="function"?io:oo)(n,t)):F(this.node(),n).duration}function ao(t,n){if(typeof n!="function")throw new Error;return function(){Y(this,t).ease=n}}function uo(t){var n=this._id;return arguments.length?this.each(ao(n,t)):F(this.node(),n).ease}function lo(t,n){return function(){var e=n.apply(this,arguments);if(typeof e!="function")throw new Error;Y(this,t).ease=e}}function co(t){if(typeof t!="function")throw new Error;return this.each(lo(this._id,t))}function fo(t){typeof t!="function"&&(t=qn(t));for(var n=this._groups,e=n.length,r=new Array(e),i=0;i<e;++i)for(var o=n[i],s=o.length,u=r[i]=[],l,a=0;a<s;++a)(l=o[a])&&t.call(l,l.__data__,a,o)&&u.push(l);return new J(r,this._parents,this._name,this._id)}function ho(t){if(t._id!==this._id)throw new Error;for(var n=this._groups,e=t._groups,r=n.length,i=e.length,o=Math.min(r,i),s=new Array(r),u=0;u<o;++u)for(var l=n[u],a=e[u],c=l.length,p=s[u]=new Array(c),h,_=0;_<c;++_)(h=l[_]||a[_])&&(p[_]=h);for(;u<r;++u)s[u]=n[u];return new J(s,this._parents,this._name,this._id)}function po(t){return(t+"").trim().split(/^|\s+/).every(function(n){var e=n.indexOf(".");return e>=0&&(n=n.slice(0,e)),!n||n==="start"})}function _o(t,n,e){var r,i,o=po(n)?hn:Y;return function(){var s=o(this,t),u=s.on;u!==r&&(i=(r=u).copy()).on(n,e),s.on=i}}function go(t,n){var e=this._id;return arguments.length<2?F(this.node(),e).on.on(t):this.each(_o(e,t,n))}function mo(t){return function(){var n=this.parentNode;for(var e in this.__transition)if(+e!==t)return;n&&n.removeChild(this)}}function yo(){return this.on("end.remove",mo(this._id))}function wo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=un(t));for(var r=this._groups,i=r.length,o=new Array(i),s=0;s<i;++s)for(var u=r[s],l=u.length,a=o[s]=new Array(l),c,p,h=0;h<l;++h)(c=u[h])&&(p=t.call(c,c.__data__,h,u))&&("__data__"in c&&(p.__data__=c.__data__),a[h]=p,Ft(a[h],n,e,h,a,F(c,e)));return new J(o,this._parents,n,e)}function xo(t){var n=this._name,e=this._id;typeof t!="function"&&(t=Pn(t));for(var r=this._groups,i=r.length,o=[],s=[],u=0;u<i;++u)for(var l=r[u],a=l.length,c,p=0;p<a;++p)if(c=l[p]){for(var h=t.call(c,c.__data__,p,l),_,w=F(c,e),x=0,b=h.length;x<b;++x)(_=h[x])&&Ft(_,n,e,x,h,w);o.push(h),s.push(c)}return new J(o,s,n,e)}var vo=vt.prototype.constructor;function bo(){return new vo(this._groups,this._parents)}function $o(t,n){var e,r,i;return function(){var o=ct(this,t),s=(this.style.removeProperty(t),ct(this,t));return o===s?null:o===e&&s===r?i:i=n(e=o,r=s)}}function oe(t){return function(){this.style.removeProperty(t)}}function ko(t,n,e){var r,i=e+"",o;return function(){var s=ct(this,t);return s===i?null:s===r?o:o=n(r=s,e)}}function Ao(t,n,e){var r,i,o;return function(){var s=ct(this,t),u=e(this),l=u+"";return u==null&&(l=u=(this.style.removeProperty(t),ct(this,t))),s===l?null:s===r&&l===i?o:(i=l,o=n(r=s,u))}}function zo(t,n){var e,r,i,o="style."+n,s="end."+o,u;return function(){var l=Y(this,t),a=l.on,c=l.value[o]==null?u||(u=oe(n)):void 0;(a!==e||i!==c)&&(r=(e=a).copy()).on(s,i=c),l.on=r}}function Mo(t,n,e){var r=(t+="")=="transform"?zi:ie;return n==null?this.styleTween(t,$o(t,r)).on("end.style."+t,oe(t)):typeof n=="function"?this.styleTween(t,Ao(t,r,pn(this,"style."+t,n))).each(zo(this._id,t)):this.styleTween(t,ko(t,r,n),e).on("end.style."+t,null)}function No(t,n,e){return function(r){this.style.setProperty(t,n.call(this,r),e)}}function Eo(t,n,e){var r,i;function o(){var s=n.apply(this,arguments);return s!==i&&(r=(i=s)&&No(t,s,e)),r}return o._value=n,o}function So(t,n,e){var r="style."+(t+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(n==null)return this.tween(r,null);if(typeof n!="function")throw new Error;return this.tween(r,Eo(t,n,e??""))}function To(t){return function(){this.textContent=t}}function Co(t){return function(){var n=t(this);this.textContent=n??""}}function Ro(t){return this.tween("text",typeof t=="function"?Co(pn(this,"text",t)):To(t==null?"":t+""))}function Io(t){return function(n){this.textContent=t.call(this,n)}}function Do(t){var n,e;function r(){var i=t.apply(this,arguments);return i!==e&&(n=(e=i)&&Io(i)),n}return r._value=t,r}function Bo(t){var n="text";if(arguments.length<1)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;return this.tween(n,Do(t))}function Po(){for(var t=this._name,n=this._id,e=se(),r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)if(l=s[a]){var c=F(l,n);Ft(l,t,e,a,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new J(r,this._parents,t,e)}function qo(){var t,n,e=this,r=e._id,i=e.size();return new Promise(function(o,s){var u={value:s},l={value:function(){--i===0&&o()}};e.each(function(){var a=Y(this,r),c=a.on;c!==t&&(n=(t=c).copy(),n._.cancel.push(u),n._.interrupt.push(u),n._.end.push(l)),a.on=n}),i===0&&o()})}var Xo=0;function J(t,n,e,r){this._groups=t,this._parents=n,this._name=e,this._id=r}function se(){return++Xo}var W=vt.prototype;J.prototype={constructor:J,select:wo,selectAll:xo,selectChild:W.selectChild,selectChildren:W.selectChildren,filter:fo,merge:ho,selection:bo,transition:Po,call:W.call,nodes:W.nodes,node:W.node,size:W.size,empty:W.empty,each:W.each,on:go,attr:Wi,attrTween:to,style:Mo,styleTween:So,text:Ro,textTween:Bo,remove:yo,tween:Li,delay:ro,duration:so,ease:uo,easeVarying:co,end:qo,[Symbol.iterator]:W[Symbol.iterator]};function Ho(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var Fo={time:null,delay:0,duration:250,ease:Ho};function Lo(t,n){for(var e;!(e=t.__transition)||!(e=e[n]);)if(!(t=t.parentNode))throw new Error(`transition ${n} not found`);return e}function Vo(t){var n,e;t instanceof J?(n=t._id,t=t._name):(n=se(),(e=Fo).time=fn(),t=t==null?null:t+"");for(var r=this._groups,i=r.length,o=0;o<i;++o)for(var s=r[o],u=s.length,l,a=0;a<u;++a)(l=s[a])&&Ft(l,t,n,a,s,e||Lo(l,n));return new J(r,this._parents,t,n)}vt.prototype.interrupt=Xi;vt.prototype.transition=Vo;const on=Math.PI,sn=2*on,it=1e-6,Yo=sn-it;function ae(t){this._+=t[0];for(let n=1,e=t.length;n<e;++n)this._+=arguments[n]+t[n]}function Oo(t){let n=Math.floor(t);if(!(n>=0))throw new Error(`invalid digits: ${t}`);if(n>15)return ae;const e=10**n;return function(r){this._+=r[0];for(let i=1,o=r.length;i<o;++i)this._+=Math.round(arguments[i]*e)/e+r[i]}}class Go{constructor(n){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=n==null?ae:Oo(n)}moveTo(n,e){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(n,e){this._append`L${this._x1=+n},${this._y1=+e}`}quadraticCurveTo(n,e,r,i){this._append`Q${+n},${+e},${this._x1=+r},${this._y1=+i}`}bezierCurveTo(n,e,r,i,o,s){this._append`C${+n},${+e},${+r},${+i},${this._x1=+o},${this._y1=+s}`}arcTo(n,e,r,i,o){if(n=+n,e=+e,r=+r,i=+i,o=+o,o<0)throw new Error(`negative radius: ${o}`);let s=this._x1,u=this._y1,l=r-n,a=i-e,c=s-n,p=u-e,h=c*c+p*p;if(this._x1===null)this._append`M${this._x1=n},${this._y1=e}`;else if(h>it)if(!(Math.abs(p*l-a*c)>it)||!o)this._append`L${this._x1=n},${this._y1=e}`;else{let _=r-s,w=i-u,x=l*l+a*a,b=_*_+w*w,g=Math.sqrt(x),$=Math.sqrt(h),N=o*Math.tan((on-Math.acos((x+h-b)/(2*g*$)))/2),E=N/$,C=N/g;Math.abs(E-1)>it&&this._append`L${n+E*c},${e+E*p}`,this._append`A${o},${o},0,0,${+(p*_>c*w)},${this._x1=n+C*l},${this._y1=e+C*a}`}}arc(n,e,r,i,o,s){if(n=+n,e=+e,r=+r,s=!!s,r<0)throw new Error(`negative radius: ${r}`);let u=r*Math.cos(i),l=r*Math.sin(i),a=n+u,c=e+l,p=1^s,h=s?i-o:o-i;this._x1===null?this._append`M${a},${c}`:(Math.abs(this._x1-a)>it||Math.abs(this._y1-c)>it)&&this._append`L${a},${c}`,r&&(h<0&&(h=h%sn+sn),h>Yo?this._append`A${r},${r},0,1,${p},${n-u},${e-l}A${r},${r},0,1,${p},${this._x1=a},${this._y1=c}`:h>it&&this._append`A${r},${r},0,${+(h>=on)},${p},${this._x1=n+r*Math.cos(o)},${this._y1=e+r*Math.sin(o)}`)}rect(n,e,r,i){this._append`M${this._x0=this._x1=+n},${this._y0=this._y1=+e}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}}function Uo(t){var n=0,e=t.children,r=e&&e.length;if(!r)n=1;else for(;--r>=0;)n+=e[r].value;t.value=n}function Ko(){return this.eachAfter(Uo)}function Wo(t,n){let e=-1;for(const r of this)t.call(n,r,++e,this);return this}function Zo(t,n){for(var e=this,r=[e],i,o,s=-1;e=r.pop();)if(t.call(n,e,++s,this),i=e.children)for(o=i.length-1;o>=0;--o)r.push(i[o]);return this}function Qo(t,n){for(var e=this,r=[e],i=[],o,s,u,l=-1;e=r.pop();)if(i.push(e),o=e.children)for(s=0,u=o.length;s<u;++s)r.push(o[s]);for(;e=i.pop();)t.call(n,e,++l,this);return this}function Jo(t,n){let e=-1;for(const r of this)if(t.call(n,r,++e,this))return r}function jo(t){return this.eachAfter(function(n){for(var e=+t(n.data)||0,r=n.children,i=r&&r.length;--i>=0;)e+=r[i].value;n.value=e})}function ts(t){return this.eachBefore(function(n){n.children&&n.children.sort(t)})}function ns(t){for(var n=this,e=es(n,t),r=[n];n!==e;)n=n.parent,r.push(n);for(var i=r.length;t!==e;)r.splice(i,0,t),t=t.parent;return r}function es(t,n){if(t===n)return t;var e=t.ancestors(),r=n.ancestors(),i=null;for(t=e.pop(),n=r.pop();t===n;)i=t,t=e.pop(),n=r.pop();return i}function rs(){for(var t=this,n=[t];t=t.parent;)n.push(t);return n}function is(){return Array.from(this)}function os(){var t=[];return this.eachBefore(function(n){n.children||t.push(n)}),t}function ss(){var t=this,n=[];return t.each(function(e){e!==t&&n.push({source:e.parent,target:e})}),n}function*as(){var t=this,n,e=[t],r,i,o;do for(n=e.reverse(),e=[];t=n.pop();)if(yield t,r=t.children)for(i=0,o=r.length;i<o;++i)e.push(r[i]);while(e.length)}function dn(t,n){t instanceof Map?(t=[void 0,t],n===void 0&&(n=cs)):n===void 0&&(n=ls);for(var e=new xt(t),r,i=[e],o,s,u,l;r=i.pop();)if((s=n(r.data))&&(l=(s=Array.from(s)).length))for(r.children=s,u=l-1;u>=0;--u)i.push(o=s[u]=new xt(s[u])),o.parent=r,o.depth=r.depth+1;return e.eachBefore(hs)}function us(){return dn(this).eachBefore(fs)}function ls(t){return t.children}function cs(t){return Array.isArray(t)?t[1]:null}function fs(t){t.data.value!==void 0&&(t.value=t.data.value),t.data=t.data.data}function hs(t){var n=0;do t.height=n;while((t=t.parent)&&t.height<++n)}function xt(t){this.data=t,this.depth=this.height=0,this.parent=null}xt.prototype=dn.prototype={constructor:xt,count:Ko,each:Wo,eachAfter:Qo,eachBefore:Zo,find:Jo,sum:jo,sort:ts,path:ns,ancestors:rs,descendants:is,leaves:os,links:ss,copy:us,[Symbol.iterator]:as};function ps(t,n){return t.parent===n.parent?1:2}function Gt(t){var n=t.children;return n?n[0]:t.t}function Ut(t){var n=t.children;return n?n[n.length-1]:t.t}function ds(t,n,e){var r=e/(n.i-t.i);n.c-=r,n.s+=e,t.c+=r,n.z+=e,n.m+=e}function _s(t){for(var n=0,e=0,r=t.children,i=r.length,o;--i>=0;)o=r[i],o.z+=n,o.m+=n,n+=o.s+(e+=o.c)}function gs(t,n,e){return t.a.parent===n.parent?t.a:e}function Tt(t,n){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=n}Tt.prototype=Object.create(xt.prototype);function ms(t){for(var n=new Tt(t,0),e,r=[n],i,o,s,u;e=r.pop();)if(o=e._.children)for(e.children=new Array(u=o.length),s=u-1;s>=0;--s)r.push(i=e.children[s]=new Tt(o[s],s)),i.parent=e;return(n.parent=new Tt(null,0)).children=[n],n}function ys(){var t=ps,n=1,e=1,r=null;function i(a){var c=ms(a);if(c.eachAfter(o),c.parent.m=-c.z,c.eachBefore(s),r)a.eachBefore(l);else{var p=a,h=a,_=a;a.eachBefore(function($){$.x<p.x&&(p=$),$.x>h.x&&(h=$),$.depth>_.depth&&(_=$)});var w=p===h?1:t(p,h)/2,x=w-p.x,b=n/(h.x+w+x),g=e/(_.depth||1);a.eachBefore(function($){$.x=($.x+x)*b,$.y=$.depth*g})}return a}function o(a){var c=a.children,p=a.parent.children,h=a.i?p[a.i-1]:null;if(c){_s(a);var _=(c[0].z+c[c.length-1].z)/2;h?(a.z=h.z+t(a._,h._),a.m=a.z-_):a.z=_}else h&&(a.z=h.z+t(a._,h._));a.parent.A=u(a,h,a.parent.A||p[0])}function s(a){a._.x=a.z+a.parent.m,a.m+=a.parent.m}function u(a,c,p){if(c){for(var h=a,_=a,w=c,x=h.parent.children[0],b=h.m,g=_.m,$=w.m,N=x.m,E;w=Ut(w),h=Gt(h),w&&h;)x=Gt(x),_=Ut(_),_.a=a,E=w.z+$-h.z-b+t(w._,h._),E>0&&(ds(gs(w,a,p),a,E),b+=E,g+=E),$+=w.m,b+=h.m,N+=x.m,g+=_.m;w&&!Ut(_)&&(_.t=w,_.m+=$-g),h&&!Gt(x)&&(x.t=h,x.m+=b-N,p=a)}return p}function l(a){a.x*=n,a.y=a.depth*e}return i.separation=function(a){return arguments.length?(t=a,i):t},i.size=function(a){return arguments.length?(r=!1,n=+a[0],e=+a[1],i):r?null:[n,e]},i.nodeSize=function(a){return arguments.length?(r=!0,n=+a[0],e=+a[1],i):r?[n,e]:null},i}function In(t){return function(){return t}}function ws(t){let n=3;return t.digits=function(e){if(!arguments.length)return n;if(e==null)n=null;else{const r=Math.floor(e);if(!(r>=0))throw new RangeError(`invalid digits: ${e}`);n=r}return t},()=>new Go(n)}var xs=Array.prototype.slice;function vs(t){return t[0]}function bs(t){return t[1]}class $s{constructor(n,e){this._context=n,this._x=e}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(n,e){switch(n=+n,e=+e,this._point){case 0:{this._point=1,this._line?this._context.lineTo(n,e):this._context.moveTo(n,e);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+n)/2,this._y0,this._x0,e,n,e):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+e)/2,n,this._y0,n,e);break}}this._x0=n,this._y0=e}}function ks(t){return new $s(t,!0)}function As(t){return t.source}function zs(t){return t.target}function Ms(t){let n=As,e=zs,r=vs,i=bs,o=null,s=null,u=ws(l);function l(){let a;const c=xs.call(arguments),p=n.apply(this,c),h=e.apply(this,c);if(o==null&&(s=t(a=u())),s.lineStart(),c[0]=p,s.point(+r.apply(this,c),+i.apply(this,c)),c[0]=h,s.point(+r.apply(this,c),+i.apply(this,c)),s.lineEnd(),a)return s=null,a+""||null}return l.source=function(a){return arguments.length?(n=a,l):n},l.target=function(a){return arguments.length?(e=a,l):e},l.x=function(a){return arguments.length?(r=typeof a=="function"?a:In(+a),l):r},l.y=function(a){return arguments.length?(i=typeof a=="function"?a:In(+a),l):i},l.context=function(a){return arguments.length?(a==null?o=s=null:s=t(o=a),l):o},l}function Ns(){return Ms(ks)}const zt=t=>()=>t;function Es(t,{sourceEvent:n,target:e,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:n,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function Q(t,n,e){this.k=t,this.x=n,this.y=e}Q.prototype={constructor:Q,scale:function(t){return t===1?this:new Q(this.k*t,this.x,this.y)},translate:function(t,n){return t===0&n===0?this:new Q(this.k,this.x+this.k*t,this.y+this.k*n)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var qt=new Q(1,0,0);Q.prototype;function Kt(t){t.stopImmediatePropagation()}function pt(t){t.preventDefault(),t.stopImmediatePropagation()}function Ss(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function Ts(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Dn(){return this.__zoom||qt}function Cs(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function Rs(){return navigator.maxTouchPoints||"ontouchstart"in this}function Is(t,n,e){var r=t.invertX(n[0][0])-e[0][0],i=t.invertX(n[1][0])-e[1][0],o=t.invertY(n[0][1])-e[0][1],s=t.invertY(n[1][1])-e[1][1];return t.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),s>o?(o+s)/2:Math.min(0,o)||Math.max(0,s))}function Ds(){var t=Ss,n=Ts,e=Is,r=Cs,i=Rs,o=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],u=250,l=Ti,a=an("start","zoom","end"),c,p,h,_=500,w=150,x=0,b=10;function g(f){f.property("__zoom",Dn).on("wheel.zoom",ut,{passive:!1}).on("mousedown.zoom",z).on("dblclick.zoom",D).filter(i).on("touchstart.zoom",ue).on("touchmove.zoom",le).on("touchend.zoom touchcancel.zoom",ce).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}g.transform=function(f,m,d,y){var v=f.selection?f.selection():f;v.property("__zoom",Dn),f!==v?C(f,m,d,y):v.interrupt().each(function(){R(this,arguments).event(y).start().zoom(null,typeof m=="function"?m.apply(this,arguments):m).end()})},g.scaleBy=function(f,m,d,y){g.scaleTo(f,function(){var v=this.__zoom.k,k=typeof m=="function"?m.apply(this,arguments):m;return v*k},d,y)},g.scaleTo=function(f,m,d,y){g.transform(f,function(){var v=n.apply(this,arguments),k=this.__zoom,A=d==null?E(v):typeof d=="function"?d.apply(this,arguments):d,M=k.invert(A),S=typeof m=="function"?m.apply(this,arguments):m;return e(N($(k,S),A,M),v,s)},d,y)},g.translateBy=function(f,m,d,y){g.transform(f,function(){return e(this.__zoom.translate(typeof m=="function"?m.apply(this,arguments):m,typeof d=="function"?d.apply(this,arguments):d),n.apply(this,arguments),s)},null,y)},g.translateTo=function(f,m,d,y,v){g.transform(f,function(){var k=n.apply(this,arguments),A=this.__zoom,M=y==null?E(k):typeof y=="function"?y.apply(this,arguments):y;return e(qt.translate(M[0],M[1]).scale(A.k).translate(typeof m=="function"?-m.apply(this,arguments):-m,typeof d=="function"?-d.apply(this,arguments):-d),k,s)},y,v)};function $(f,m){return m=Math.max(o[0],Math.min(o[1],m)),m===f.k?f:new Q(m,f.x,f.y)}function N(f,m,d){var y=m[0]-d[0]*f.k,v=m[1]-d[1]*f.k;return y===f.x&&v===f.y?f:new Q(f.k,y,v)}function E(f){return[(+f[0][0]+ +f[1][0])/2,(+f[0][1]+ +f[1][1])/2]}function C(f,m,d,y){f.on("start.zoom",function(){R(this,arguments).event(y).start()}).on("interrupt.zoom end.zoom",function(){R(this,arguments).event(y).end()}).tween("zoom",function(){var v=this,k=arguments,A=R(v,k).event(y),M=n.apply(v,k),S=d==null?E(M):typeof d=="function"?d.apply(v,k):d,L=Math.max(M[1][0]-M[0][0],M[1][1]-M[0][1]),T=v.__zoom,q=typeof m=="function"?m.apply(v,k):m,O=l(T.invert(S).concat(L/T.k),q.invert(S).concat(L/q.k));return function(X){if(X===1)X=q;else{var G=O(X),Lt=L/G[2];X=new Q(Lt,S[0]-G[0]*Lt,S[1]-G[1]*Lt)}A.zoom(null,X)}})}function R(f,m,d){return!d&&f.__zooming||new P(f,m)}function P(f,m){this.that=f,this.args=m,this.active=0,this.sourceEvent=null,this.extent=n.apply(f,m),this.taps=0}P.prototype={event:function(f){return f&&(this.sourceEvent=f),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(f,m){return this.mouse&&f!=="mouse"&&(this.mouse[1]=m.invert(this.mouse[0])),this.touch0&&f!=="touch"&&(this.touch0[1]=m.invert(this.touch0[0])),this.touch1&&f!=="touch"&&(this.touch1[1]=m.invert(this.touch1[0])),this.that.__zoom=m,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(f){var m=Z(this.that).datum();a.call(f,this.that,new Es(f,{sourceEvent:this.sourceEvent,target:g,transform:this.that.__zoom,dispatch:a}),m)}};function ut(f,...m){if(!t.apply(this,arguments))return;var d=R(this,m).event(f),y=this.__zoom,v=Math.max(o[0],Math.min(o[1],y.k*Math.pow(2,r.apply(this,arguments)))),k=rt(f);if(d.wheel)(d.mouse[0][0]!==k[0]||d.mouse[0][1]!==k[1])&&(d.mouse[1]=y.invert(d.mouse[0]=k)),clearTimeout(d.wheel);else{if(y.k===v)return;d.mouse=[k,y.invert(k)],St(this),d.start()}pt(f),d.wheel=setTimeout(A,w),d.zoom("mouse",e(N($(y,v),d.mouse[0],d.mouse[1]),d.extent,s));function A(){d.wheel=null,d.end()}}function z(f,...m){if(h||!t.apply(this,arguments))return;var d=f.currentTarget,y=R(this,m,!0).event(f),v=Z(f.view).on("mousemove.zoom",S,!0).on("mouseup.zoom",L,!0),k=rt(f,d),A=f.clientX,M=f.clientY;ii(f.view),Kt(f),y.mouse=[k,this.__zoom.invert(k)],St(this),y.start();function S(T){if(pt(T),!y.moved){var q=T.clientX-A,O=T.clientY-M;y.moved=q*q+O*O>x}y.event(T).zoom("mouse",e(N(y.that.__zoom,y.mouse[0]=rt(T,d),y.mouse[1]),y.extent,s))}function L(T){v.on("mousemove.zoom mouseup.zoom",null),oi(T.view,y.moved),pt(T),y.event(T).end()}}function D(f,...m){if(t.apply(this,arguments)){var d=this.__zoom,y=rt(f.changedTouches?f.changedTouches[0]:f,this),v=d.invert(y),k=d.k*(f.shiftKey?.5:2),A=e(N($(d,k),y,v),n.apply(this,m),s);pt(f),u>0?Z(this).transition().duration(u).call(C,A,y,f):Z(this).call(g.transform,A,y,f)}}function ue(f,...m){if(t.apply(this,arguments)){var d=f.touches,y=d.length,v=R(this,m,f.changedTouches.length===y).event(f),k,A,M,S;for(Kt(f),A=0;A<y;++A)M=d[A],S=rt(M,this),S=[S,this.__zoom.invert(S),M.identifier],v.touch0?!v.touch1&&v.touch0[2]!==S[2]&&(v.touch1=S,v.taps=0):(v.touch0=S,k=!0,v.taps=1+!!c);c&&(c=clearTimeout(c)),k&&(v.taps<2&&(p=S[0],c=setTimeout(function(){c=null},_)),St(this),v.start())}}function le(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A,M,S;for(pt(f),k=0;k<v;++k)A=y[k],M=rt(A,this),d.touch0&&d.touch0[2]===A.identifier?d.touch0[0]=M:d.touch1&&d.touch1[2]===A.identifier&&(d.touch1[0]=M);if(A=d.that.__zoom,d.touch1){var L=d.touch0[0],T=d.touch0[1],q=d.touch1[0],O=d.touch1[1],X=(X=q[0]-L[0])*X+(X=q[1]-L[1])*X,G=(G=O[0]-T[0])*G+(G=O[1]-T[1])*G;A=$(A,Math.sqrt(X/G)),M=[(L[0]+q[0])/2,(L[1]+q[1])/2],S=[(T[0]+O[0])/2,(T[1]+O[1])/2]}else if(d.touch0)M=d.touch0[0],S=d.touch0[1];else return;d.zoom("touch",e(N(A,M,S),d.extent,s))}}function ce(f,...m){if(this.__zooming){var d=R(this,m).event(f),y=f.changedTouches,v=y.length,k,A;for(Kt(f),h&&clearTimeout(h),h=setTimeout(function(){h=null},_),k=0;k<v;++k)A=y[k],d.touch0&&d.touch0[2]===A.identifier?delete d.touch0:d.touch1&&d.touch1[2]===A.identifier&&delete d.touch1;if(d.touch1&&!d.touch0&&(d.touch0=d.touch1,delete d.touch1),d.touch0)d.touch0[1]=this.__zoom.invert(d.touch0[0]);else if(d.end(),d.taps===2&&(A=rt(A,this),Math.hypot(p[0]-A[0],p[1]-A[1])<b)){var M=Z(this).on("dblclick.zoom");M&&M.apply(this,arguments)}}}return g.wheelDelta=function(f){return arguments.length?(r=typeof f=="function"?f:zt(+f),g):r},g.filter=function(f){return arguments.length?(t=typeof f=="function"?f:zt(!!f),g):t},g.touchable=function(f){return arguments.length?(i=typeof f=="function"?f:zt(!!f),g):i},g.extent=function(f){return arguments.length?(n=typeof f=="function"?f:zt([[+f[0][0],+f[0][1]],[+f[1][0],+f[1][1]]]),g):n},g.scaleExtent=function(f){return arguments.length?(o[0]=+f[0],o[1]=+f[1],g):[o[0],o[1]]},g.translateExtent=function(f){return arguments.length?(s[0][0]=+f[0][0],s[1][0]=+f[1][0],s[0][1]=+f[0][1],s[1][1]=+f[1][1],g):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},g.constrain=function(f){return arguments.length?(e=f,g):e},g.duration=function(f){return arguments.length?(u=+f,g):u},g.interpolate=function(f){return arguments.length?(l=f,g):l},g.on=function(){var f=a.on.apply(a,arguments);return f===a?g:f},g.clickDistance=function(f){return arguments.length?(x=(f=+f)*f,g):Math.sqrt(x)},g.tapDistance=function(f){return arguments.length?(b=+f,g):b},g}const Bs={class:"issue-graph-page"},Ps={class:"page-header"},qs={class:"graph-controls"},Xs={key:0,class:"loading card"},Hs={key:1,class:"empty card"},Fs={key:2,class:"graph-container card"},Ls=fe({__name:"graph",async setup(t){let n,e;const r=he(),i=Vt(null),o=Vt(null),s=Vt({left:"0px",top:"0px"});let u=null,l=null;const{data:a,status:c}=([n,e]=pe(()=>ve("/api/issues/graph","$5ObCgmYhuY")),n=await n,e(),n),p=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,1.3)},h=()=>{l&&u&&l.transition().duration(300).call(u.scaleBy,.7)},_=()=>{l&&u&&l.transition().duration(300).call(u.transform,qt)},w=b=>{switch(b){case"critical":return"#ef4444";case"high":return"#f59e0b";case"medium":return"#3b82f6";case"low":return"#22c55e";default:return"#94a3b8"}},x=()=>{if(!i.value||!a.value)return;const b=i.value.parentElement;if(!b)return;const g=b.clientWidth,$=b.clientHeight||600;Z(i.value).selectAll("*").remove(),l=Z(i.value).attr("width",g).attr("height",$);const N=l.append("g");u=Ds().scaleExtent([.1,4]).on("zoom",z=>{N.attr("transform",z.transform.toString())}),l.call(u);const E=dn(a.value),R=ys().size([$-100,g-200]).separation((z,D)=>z.parent===D.parent?1:1.5)(E);N.selectAll(".link").data(R.links()).enter().append("path").attr("class","link").attr("d",Ns().x(z=>z.y+100).y(z=>z.x+50)).attr("fill","none").attr("stroke","#cbd5e1").attr("stroke-width",2);const P=N.selectAll(".node").data(R.descendants()).enter().append("g").attr("class","node").attr("transform",z=>`translate(${(z.y??0)+100}, ${(z.x??0)+50})`).style("cursor","pointer").on("click",(z,D)=>{D.data.id&&D.data.id!=="root"&&r.push(`/issue/${D.data.id}`)}).on("mouseenter",(z,D)=>{D.data.id!=="root"&&(o.value=D.data,s.value={left:`${z.pageX+10}px`,top:`${z.pageY+10}px`})}).on("mouseleave",()=>{o.value=null});P.append("circle").attr("r",z=>z.data.id==="root"?12:8).attr("fill",z=>z.data.id==="root"?"#64748b":w(z.data.priority)).attr("stroke","#fff").attr("stroke-width",2),P.append("text").attr("dy",-15).attr("text-anchor","middle").attr("font-size","11px").attr("fill","#64748b").text(z=>z.data.id==="root"?"":z.data.id);const ut=qt.translate(50,$/2-(R.x||0)-50);l.call(u.transform,ut)};return de(()=>{_n(()=>{x()}),window.addEventListener("resize",x)}),_e(()=>{window.removeEventListener("resize",x)}),ge(a,()=>{_n(()=>{x()})}),me({title:"Issue Graph - AutoCode"}),(b,g)=>(et(),nt("div",Bs,[j("header",Ps,[j("h1",null,U(b.$t("graph.title")),1),j("div",qs,[j("button",{class:"btn btn-secondary btn-sm",onClick:p},"+ "+U(b.$t("graph.zoomIn")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:h}," − "+U(b.$t("graph.zoomOut")),1),j("button",{class:"btn btn-secondary btn-sm",onClick:_},U(b.$t("graph.reset")),1)])]),K(c)==="pending"?(et(),nt("div",Xs,U(b.$t("app.loading")),1)):K(a)?.children?.length?(et(),nt("div",Fs,[(et(),nt("svg",{ref_key:"svgRef",ref:i,class:"graph-svg"},null,512))])):(et(),nt("div",Hs,U(b.$t("graph.noIssues")),1)),K(o)?(et(),nt("div",{key:3,class:"issue-tooltip",style:ye(K(s))},[j("strong",null,U(K(o).id),1),j("p",null,U(K(o).title),1),K(o).priority?(et(),nt("span",{key:0,class:we(["badge",`badge-${K(o).priority}`])},U(K(o).priority),3)):gn("",!0)],4)):gn("",!0)]))}}),Os=xe(Ls,[["__scopeId","data-v-63d9891e"]]);export{Os as default};
@@ -1 +1 @@
1
- import{_ as _e}from"./jYOQFUDH.js";import{_ as he}from"./BhrZFGnk.js";import{d as fe,G as ye,x as ge,u as be,r as v,v as R,l as S,m as $e,s as ke,c as n,f as K,e as t,j as C,h as s,C as T,D as O,H as A,g as Q,t as a,E as W,F as L,p as H,q as Y,w as Ce,z as we,b as r,_ as Ee}from"./BfvaD8zq.js";import{d as De}from"./C0Rlrcoy.js";import{u as Me}from"./BarhsfnG.js";import{u as Pe}from"./Bz9WwRWr.js";import{u as q}from"./p0o0xQ7S.js";const Se={class:"issue-view-page"},Te={class:"issue-content"},Ve={class:"main-section"},Ne={class:"card title-card"},Ae={class:"title-row"},Le=["placeholder"],He=["disabled","title"],Ue={key:0,class:"spinner"},Oe={key:1,class:"sparkle"},Fe={class:"card"},Ie={class:"form-row"},Be={class:"form-group"},Je={class:"form-label",for:"edit-priority"},Re={value:""},qe={value:"low"},ze={value:"medium"},Xe={value:"high"},je={value:"critical"},Ge={class:"form-group"},Ke={class:"form-label",for:"edit-parent"},Qe=["placeholder"],We={id:"parent-suggestions"},Ye=["value"],Ze={class:"meta-badges"},xe={class:"meta-badge column-badge"},et={key:0,class:"meta-badge semver-badge"},tt={key:0,class:"card"},st={class:"labels-list"},at={class:"card"},it={class:"section-header"},ot=["innerHTML"],lt=["placeholder"],nt={class:"card"},rt={class:"section-header"},ct={key:0,class:"criteria-list"},ut={key:1,class:"empty-criteria"},dt={key:2,class:"criteria-edit"},vt=["onUpdate:modelValue","placeholder"],pt=["onClick"],mt={class:"actions-bar"},_t=["disabled"],ht=["disabled"],ft={key:2,class:"done-badge"},yt={class:"sidebar"},gt={class:"card"},bt={class:"action-buttons"},$t={class:"card"},kt={class:"metadata-list"},Ct={class:"metadata-item"},wt={class:"metadata-item"},Et={class:"metadata-item"},Dt={key:0,class:"card"},Mt={class:"modal"},Pt={class:"modal-header"},St={class:"modal-title"},Tt={class:"modal-body"},Vt=["value"],Nt={class:"modal-footer"},At=fe({__name:"index",async setup(Lt){let d,w;const Z=ye(),x=ge(),{t:_,locale:ee}=be(),{success:V,error:E}=Me(),{getErrorMessage:N}=Pe(),g=Z.params.id,D=v(!1),M=v(""),F=v(!1),U=v(!1),P=v(!1),h=v(!1),u=v(!1),c=v([]),{data:i,refresh:I}=([d,w]=R(()=>q(`/api/issues/${g}`,"$IXIJsCSqf0")),d=await d,w(),d),{data:b}=([d,w]=R(()=>q("/api/columns","$xdX8vE_27c")),d=await d,w(),d),{data:te}=([d,w]=R(()=>q("/api/issues","$81nxEVnLdN")),d=await d,w(),d),se=S(()=>(te.value||[]).filter(e=>e.key!==g).slice(0,10)),p=v(i.value?.title||""),f=v(i.value?.description||""),y=v(i.value?.priority||""),$=v(i.value?.parent_key||"");$e(i,e=>{e&&(p.value=e.title,f.value=e.description||"",y.value=e.priority||"",$.value=e.parent_key||"")});const z=S(()=>!i.value||!b.value?i.value?.column_slug||"":b.value.find(o=>o.slug===i.value?.column_slug)?.name||i.value.column_slug),B=S(()=>{if(!i.value||!b.value||b.value.length===0)return!1;const e=b.value[b.value.length-1];return i.value.column_slug===e?.slug}),ae=S(()=>{if(!i.value)return null;const e={id:i.value.key,title:p.value,column:i.value.column_slug};return i.value.priority&&(e.priority=i.value.priority),e}),X=S(()=>{if(!i.value)return!1;const e=p.value!==i.value.title,o=f.value!==(i.value.description||""),k=y.value!==(i.value.priority||""),J=$.value!==(i.value.parent_key||""),l=u.value&&JSON.stringify(c.value.filter(m=>m.trim()))!==JSON.stringify(i.value.acceptance_criteria||[]);return e||o||k||J||l}),ie=S(()=>{const e=h.value?f.value:i.value?.description||"";return e?De(e):`<span style="color: var(--text-muted)">${_("issue.noDescription")}</span>`}),j=e=>e?new Date(e).toLocaleDateString():"-",oe=()=>{h.value=!h.value},le=()=>{u.value||(c.value=[...i.value?.acceptance_criteria||[]],c.value.length===0&&(c.value=[""])),u.value=!u.value},ne=()=>{c.value.push("")},re=e=>{c.value.splice(e,1),c.value.length===0&&(c.value=[""])},ce=async()=>{if(!(!p.value.trim()||P.value)){P.value=!0;try{const e=u.value?c.value.filter(k=>k.trim()):i.value?.acceptance_criteria||[],o=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:p.value,lang:ee.value,description:f.value||void 0,priority:y.value||void 0,acceptance_criteria:e.length>0?e:void 0,parent_key:$.value||void 0}});if(o.description&&(f.value=o.description,h.value=!0),o.priority){const k={P0:"critical",P1:"high",P2:"medium",P3:"low"};y.value=k[o.priority]||o.priority}o.acceptance_criteria&&Array.isArray(o.acceptance_criteria)&&(c.value=o.acceptance_criteria.length>0?o.acceptance_criteria:[""],u.value=!0),V(_("autocomplete.rememberSave"))}catch(e){E(N(e,_("autocomplete.error")))}finally{P.value=!1}}},ue=async()=>{if(X.value){U.value=!0;try{const e={title:p.value,description:f.value,priority:y.value||void 0,parent_key:$.value||void 0};u.value&&(e.acceptance_criteria=c.value.filter(o=>o.trim())),await $fetch(`/api/issues/${g}`,{method:"PATCH",body:e}),V(_("notify.issueSaved")),h.value&&(h.value=!1),u.value&&(u.value=!1),I()}catch(e){E(N(e))}finally{U.value=!1}}},de=async()=>{F.value=!0;try{await $fetch(`/api/issues/${g}/next`,{method:"POST"}),V(_("notify.issueAdvanced")),I()}catch(e){E(N(e))}finally{F.value=!1}},ve=()=>{M.value=i.value?.column_slug||"",D.value=!0},pe=async()=>{if(!M.value){E(_("notify.error"));return}try{await $fetch(`/api/issues/${g}/move`,{method:"POST",body:{column:M.value,force:!0}}),V(_("notify.issueMoved")),D.value=!1,I()}catch(e){E(N(e))}},me=async()=>{if(confirm(_("issue.confirmArchive")))try{await $fetch(`/api/issues/${g}/archive`,{method:"DELETE"}),V(_("notify.issueArchived")),x.push("/")}catch(e){E(N(e))}};return ke({title:`${g} - AutoCode`}),(e,o)=>{const k=_e,J=he;return r(),n("div",Se,[K(k,{issue:s(ae),"active-tab":"details"},null,8,["issue"]),t("div",Te,[t("div",Ve,[t("div",Ne,[t("div",Ae,[T(t("input",{"onUpdate:modelValue":o[0]||(o[0]=l=>A(p)?p.value=l:null),type:"text",class:"title-input",placeholder:e.$t("issue.title")},null,8,Le),[[O,s(p)]]),t("button",{type:"button",class:"btn-autocomplete",disabled:s(P)||!s(p).trim(),title:e.$t("autocomplete.tooltip"),onClick:ce},[s(P)?(r(),n("span",Ue)):(r(),n("span",Oe,"✨")),Q(" "+a(s(P)?e.$t("autocomplete.loading"):e.$t("autocomplete.button")),1)],8,He)])]),t("div",Fe,[t("h2",null,a(e.$t("issue.metadata")),1),t("div",Ie,[t("div",Be,[t("label",Je,a(e.$t("issue.priority")),1),T(t("select",{id:"edit-priority","onUpdate:modelValue":o[1]||(o[1]=l=>A(y)?y.value=l:null),class:"form-input"},[t("option",Re,a(e.$t("form.select")),1),t("option",qe,a(e.$t("priority.low")),1),t("option",ze,a(e.$t("priority.medium")),1),t("option",Xe,a(e.$t("priority.high")),1),t("option",je,a(e.$t("priority.critical")),1)],512),[[W,s(y)]])]),t("div",Ge,[t("label",Ke,a(e.$t("issue.parent")),1),T(t("input",{id:"edit-parent","onUpdate:modelValue":o[2]||(o[2]=l=>A($)?$.value=l:null),type:"text",class:"form-input",placeholder:e.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Qe),[[O,s($)]]),t("datalist",We,[(r(!0),n(L,null,H(s(se),l=>(r(),n("option",{key:l.key,value:l.key},a(l.title),9,Ye))),128))])])]),t("div",Ze,[t("span",xe,a(s(z)),1),s(i)?.semver?(r(),n("span",et,a(s(i).semver),1)):C("",!0)])]),s(i)?.labels?.length?(r(),n("div",tt,[t("h2",null,a(e.$t("issue.labels")),1),t("div",st,[(r(!0),n(L,null,H(s(i).labels,(l,m)=>(r(),n("span",{key:m,class:"label-tag"},a(l),1))),128))])])):C("",!0),t("div",at,[t("div",it,[t("h2",null,a(e.$t("issue.description")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(h)}]),onClick:oe},a(s(h)?"✓":"✏️"),3)]),s(h)?T((r(),n("textarea",{key:1,"onUpdate:modelValue":o[3]||(o[3]=l=>A(f)?f.value=l:null),class:"description-edit",placeholder:e.$t("issue.description"),rows:"10"},null,8,lt)),[[O,s(f)]]):(r(),n("div",{key:0,class:"description",innerHTML:s(ie)},null,8,ot))]),t("div",nt,[t("div",rt,[t("h2",null,a(e.$t("issue.acceptanceCriteria")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(u)}]),onClick:le},a(s(u)?"✓":"✏️"),3)]),!s(u)&&s(i)?.acceptance_criteria?.length?(r(),n("ul",ct,[(r(!0),n(L,null,H(s(i).acceptance_criteria,(l,m)=>(r(),n("li",{key:m,class:"criteria-item"},a(l),1))),128))])):s(u)?(r(),n("div",dt,[(r(!0),n(L,null,H(s(c),(l,m)=>(r(),n("div",{key:m,class:"criteria-input-row"},[T(t("input",{"onUpdate:modelValue":G=>s(c)[m]=G,type:"text",class:"form-input",placeholder:e.$t("form.criteriaPlaceholder")},null,8,vt),[[O,s(c)[m]]]),t("button",{class:"btn-icon",type:"button",onClick:G=>re(m)},"×",8,pt)]))),128)),t("button",{class:"btn btn-secondary btn-sm",type:"button",onClick:ne}," + "+a(e.$t("form.addCriteria")),1)])):(r(),n("p",ut,a(e.$t("issue.noCriteria")),1))]),t("div",mt,[t("button",{class:"btn btn-primary",disabled:s(U)||!s(X),onClick:ue},a(s(U)?e.$t("form.saving"):e.$t("form.save")),9,_t),s(B)?C("",!0):(r(),n("button",{key:0,class:"btn btn-secondary",disabled:s(F),onClick:de},a(e.$t("issue.next"))+" → ",9,ht)),s(B)?C("",!0):(r(),n("button",{key:1,class:"btn btn-danger",onClick:me},a(e.$t("issue.archive")),1)),s(B)?(r(),n("span",ft," ✓ "+a(e.$t("issue.done")),1)):C("",!0)])]),t("aside",yt,[t("div",gt,[t("h3",null,a(e.$t("issue.actions")),1),t("div",bt,[t("button",{class:"btn btn-secondary",onClick:ve},a(e.$t("issue.move")),1)])]),t("div",$t,[t("h3",null,a(e.$t("issue.details")),1),t("dl",kt,[t("div",Ct,[t("dt",null,a(e.$t("issue.status")),1),t("dd",null,a(s(z)),1)]),t("div",wt,[t("dt",null,a(e.$t("issue.created")),1),t("dd",null,a(j(s(i)?.created_at)),1)]),t("div",Et,[t("dt",null,a(e.$t("issue.updated")),1),t("dd",null,a(j(s(i)?.updated_at)),1)])])]),s(i)?.parent_key?(r(),n("div",Dt,[t("h3",null,a(e.$t("issue.parent")),1),K(J,{to:`/issue/${s(i).parent_key}`,class:"parent-link"},{default:Ce(()=>[Q(a(s(i).parent_key),1)]),_:1},8,["to"])])):C("",!0)])]),s(D)?(r(),n("div",{key:0,class:"modal-overlay active",onClick:o[7]||(o[7]=we(l=>D.value=!1,["self"]))},[t("div",Mt,[t("div",Pt,[t("h3",St,a(e.$t("issue.move")),1),t("button",{class:"modal-close",onClick:o[4]||(o[4]=l=>D.value=!1)},"×")]),t("div",Tt,[T(t("select",{"onUpdate:modelValue":o[5]||(o[5]=l=>A(M)?M.value=l:null),class:"form-input"},[(r(!0),n(L,null,H(s(b),l=>(r(),n("option",{key:l.slug,value:l.slug},a(l.name),9,Vt))),128))],512),[[W,s(M)]])]),t("div",Nt,[t("button",{class:"btn btn-secondary",onClick:o[6]||(o[6]=l=>D.value=!1)},a(e.$t("modal.cancel")),1),t("button",{class:"btn btn-primary",onClick:pe},a(e.$t("modal.confirm")),1)])])])):C("",!0)])}}}),Rt=Ee(At,[["__scopeId","data-v-07b1c9a3"]]);export{Rt as default};
1
+ import{_ as _e}from"./CWlxiWg5.js";import{_ as he}from"./CoH6AHzq.js";import{d as fe,G as ye,x as ge,u as be,r as v,v as R,l as S,m as $e,s as ke,c as n,f as K,e as t,j as C,h as s,C as T,D as O,H as A,g as Q,t as a,E as W,F as L,p as H,q as Y,w as Ce,z as we,b as r,_ as Ee}from"./DSCi2X5i.js";import{d as De}from"./C0Rlrcoy.js";import{u as Me}from"./D7nf-00m.js";import{u as Pe}from"./CGP_mwJK.js";import{u as q}from"./CrRHcnKi.js";const Se={class:"issue-view-page"},Te={class:"issue-content"},Ve={class:"main-section"},Ne={class:"card title-card"},Ae={class:"title-row"},Le=["placeholder"],He=["disabled","title"],Ue={key:0,class:"spinner"},Oe={key:1,class:"sparkle"},Fe={class:"card"},Ie={class:"form-row"},Be={class:"form-group"},Je={class:"form-label",for:"edit-priority"},Re={value:""},qe={value:"low"},ze={value:"medium"},Xe={value:"high"},je={value:"critical"},Ge={class:"form-group"},Ke={class:"form-label",for:"edit-parent"},Qe=["placeholder"],We={id:"parent-suggestions"},Ye=["value"],Ze={class:"meta-badges"},xe={class:"meta-badge column-badge"},et={key:0,class:"meta-badge semver-badge"},tt={key:0,class:"card"},st={class:"labels-list"},at={class:"card"},it={class:"section-header"},ot=["innerHTML"],lt=["placeholder"],nt={class:"card"},rt={class:"section-header"},ct={key:0,class:"criteria-list"},ut={key:1,class:"empty-criteria"},dt={key:2,class:"criteria-edit"},vt=["onUpdate:modelValue","placeholder"],pt=["onClick"],mt={class:"actions-bar"},_t=["disabled"],ht=["disabled"],ft={key:2,class:"done-badge"},yt={class:"sidebar"},gt={class:"card"},bt={class:"action-buttons"},$t={class:"card"},kt={class:"metadata-list"},Ct={class:"metadata-item"},wt={class:"metadata-item"},Et={class:"metadata-item"},Dt={key:0,class:"card"},Mt={class:"modal"},Pt={class:"modal-header"},St={class:"modal-title"},Tt={class:"modal-body"},Vt=["value"],Nt={class:"modal-footer"},At=fe({__name:"index",async setup(Lt){let d,w;const Z=ye(),x=ge(),{t:_,locale:ee}=be(),{success:V,error:E}=Me(),{getErrorMessage:N}=Pe(),g=Z.params.id,D=v(!1),M=v(""),F=v(!1),U=v(!1),P=v(!1),h=v(!1),u=v(!1),c=v([]),{data:i,refresh:I}=([d,w]=R(()=>q(`/api/issues/${g}`,"$IXIJsCSqf0")),d=await d,w(),d),{data:b}=([d,w]=R(()=>q("/api/columns","$xdX8vE_27c")),d=await d,w(),d),{data:te}=([d,w]=R(()=>q("/api/issues","$81nxEVnLdN")),d=await d,w(),d),se=S(()=>(te.value||[]).filter(e=>e.key!==g).slice(0,10)),p=v(i.value?.title||""),f=v(i.value?.description||""),y=v(i.value?.priority||""),$=v(i.value?.parent_key||"");$e(i,e=>{e&&(p.value=e.title,f.value=e.description||"",y.value=e.priority||"",$.value=e.parent_key||"")});const z=S(()=>!i.value||!b.value?i.value?.column_slug||"":b.value.find(o=>o.slug===i.value?.column_slug)?.name||i.value.column_slug),B=S(()=>{if(!i.value||!b.value||b.value.length===0)return!1;const e=b.value[b.value.length-1];return i.value.column_slug===e?.slug}),ae=S(()=>{if(!i.value)return null;const e={id:i.value.key,title:p.value,column:i.value.column_slug};return i.value.priority&&(e.priority=i.value.priority),e}),X=S(()=>{if(!i.value)return!1;const e=p.value!==i.value.title,o=f.value!==(i.value.description||""),k=y.value!==(i.value.priority||""),J=$.value!==(i.value.parent_key||""),l=u.value&&JSON.stringify(c.value.filter(m=>m.trim()))!==JSON.stringify(i.value.acceptance_criteria||[]);return e||o||k||J||l}),ie=S(()=>{const e=h.value?f.value:i.value?.description||"";return e?De(e):`<span style="color: var(--text-muted)">${_("issue.noDescription")}</span>`}),j=e=>e?new Date(e).toLocaleDateString():"-",oe=()=>{h.value=!h.value},le=()=>{u.value||(c.value=[...i.value?.acceptance_criteria||[]],c.value.length===0&&(c.value=[""])),u.value=!u.value},ne=()=>{c.value.push("")},re=e=>{c.value.splice(e,1),c.value.length===0&&(c.value=[""])},ce=async()=>{if(!(!p.value.trim()||P.value)){P.value=!0;try{const e=u.value?c.value.filter(k=>k.trim()):i.value?.acceptance_criteria||[],o=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:p.value,lang:ee.value,description:f.value||void 0,priority:y.value||void 0,acceptance_criteria:e.length>0?e:void 0,parent_key:$.value||void 0}});if(o.description&&(f.value=o.description,h.value=!0),o.priority){const k={P0:"critical",P1:"high",P2:"medium",P3:"low"};y.value=k[o.priority]||o.priority}o.acceptance_criteria&&Array.isArray(o.acceptance_criteria)&&(c.value=o.acceptance_criteria.length>0?o.acceptance_criteria:[""],u.value=!0),V(_("autocomplete.rememberSave"))}catch(e){E(N(e,_("autocomplete.error")))}finally{P.value=!1}}},ue=async()=>{if(X.value){U.value=!0;try{const e={title:p.value,description:f.value,priority:y.value||void 0,parent_key:$.value||void 0};u.value&&(e.acceptance_criteria=c.value.filter(o=>o.trim())),await $fetch(`/api/issues/${g}`,{method:"PATCH",body:e}),V(_("notify.issueSaved")),h.value&&(h.value=!1),u.value&&(u.value=!1),I()}catch(e){E(N(e))}finally{U.value=!1}}},de=async()=>{F.value=!0;try{await $fetch(`/api/issues/${g}/next`,{method:"POST"}),V(_("notify.issueAdvanced")),I()}catch(e){E(N(e))}finally{F.value=!1}},ve=()=>{M.value=i.value?.column_slug||"",D.value=!0},pe=async()=>{if(!M.value){E(_("notify.error"));return}try{await $fetch(`/api/issues/${g}/move`,{method:"POST",body:{column:M.value,force:!0}}),V(_("notify.issueMoved")),D.value=!1,I()}catch(e){E(N(e))}},me=async()=>{if(confirm(_("issue.confirmArchive")))try{await $fetch(`/api/issues/${g}/archive`,{method:"DELETE"}),V(_("notify.issueArchived")),x.push("/")}catch(e){E(N(e))}};return ke({title:`${g} - AutoCode`}),(e,o)=>{const k=_e,J=he;return r(),n("div",Se,[K(k,{issue:s(ae),"active-tab":"details"},null,8,["issue"]),t("div",Te,[t("div",Ve,[t("div",Ne,[t("div",Ae,[T(t("input",{"onUpdate:modelValue":o[0]||(o[0]=l=>A(p)?p.value=l:null),type:"text",class:"title-input",placeholder:e.$t("issue.title")},null,8,Le),[[O,s(p)]]),t("button",{type:"button",class:"btn-autocomplete",disabled:s(P)||!s(p).trim(),title:e.$t("autocomplete.tooltip"),onClick:ce},[s(P)?(r(),n("span",Ue)):(r(),n("span",Oe,"✨")),Q(" "+a(s(P)?e.$t("autocomplete.loading"):e.$t("autocomplete.button")),1)],8,He)])]),t("div",Fe,[t("h2",null,a(e.$t("issue.metadata")),1),t("div",Ie,[t("div",Be,[t("label",Je,a(e.$t("issue.priority")),1),T(t("select",{id:"edit-priority","onUpdate:modelValue":o[1]||(o[1]=l=>A(y)?y.value=l:null),class:"form-input"},[t("option",Re,a(e.$t("form.select")),1),t("option",qe,a(e.$t("priority.low")),1),t("option",ze,a(e.$t("priority.medium")),1),t("option",Xe,a(e.$t("priority.high")),1),t("option",je,a(e.$t("priority.critical")),1)],512),[[W,s(y)]])]),t("div",Ge,[t("label",Ke,a(e.$t("issue.parent")),1),T(t("input",{id:"edit-parent","onUpdate:modelValue":o[2]||(o[2]=l=>A($)?$.value=l:null),type:"text",class:"form-input",placeholder:e.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Qe),[[O,s($)]]),t("datalist",We,[(r(!0),n(L,null,H(s(se),l=>(r(),n("option",{key:l.key,value:l.key},a(l.title),9,Ye))),128))])])]),t("div",Ze,[t("span",xe,a(s(z)),1),s(i)?.semver?(r(),n("span",et,a(s(i).semver),1)):C("",!0)])]),s(i)?.labels?.length?(r(),n("div",tt,[t("h2",null,a(e.$t("issue.labels")),1),t("div",st,[(r(!0),n(L,null,H(s(i).labels,(l,m)=>(r(),n("span",{key:m,class:"label-tag"},a(l),1))),128))])])):C("",!0),t("div",at,[t("div",it,[t("h2",null,a(e.$t("issue.description")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(h)}]),onClick:oe},a(s(h)?"✓":"✏️"),3)]),s(h)?T((r(),n("textarea",{key:1,"onUpdate:modelValue":o[3]||(o[3]=l=>A(f)?f.value=l:null),class:"description-edit",placeholder:e.$t("issue.description"),rows:"10"},null,8,lt)),[[O,s(f)]]):(r(),n("div",{key:0,class:"description",innerHTML:s(ie)},null,8,ot))]),t("div",nt,[t("div",rt,[t("h2",null,a(e.$t("issue.acceptanceCriteria")),1),t("button",{class:Y(["btn-edit-toggle",{active:s(u)}]),onClick:le},a(s(u)?"✓":"✏️"),3)]),!s(u)&&s(i)?.acceptance_criteria?.length?(r(),n("ul",ct,[(r(!0),n(L,null,H(s(i).acceptance_criteria,(l,m)=>(r(),n("li",{key:m,class:"criteria-item"},a(l),1))),128))])):s(u)?(r(),n("div",dt,[(r(!0),n(L,null,H(s(c),(l,m)=>(r(),n("div",{key:m,class:"criteria-input-row"},[T(t("input",{"onUpdate:modelValue":G=>s(c)[m]=G,type:"text",class:"form-input",placeholder:e.$t("form.criteriaPlaceholder")},null,8,vt),[[O,s(c)[m]]]),t("button",{class:"btn-icon",type:"button",onClick:G=>re(m)},"×",8,pt)]))),128)),t("button",{class:"btn btn-secondary btn-sm",type:"button",onClick:ne}," + "+a(e.$t("form.addCriteria")),1)])):(r(),n("p",ut,a(e.$t("issue.noCriteria")),1))]),t("div",mt,[t("button",{class:"btn btn-primary",disabled:s(U)||!s(X),onClick:ue},a(s(U)?e.$t("form.saving"):e.$t("form.save")),9,_t),s(B)?C("",!0):(r(),n("button",{key:0,class:"btn btn-secondary",disabled:s(F),onClick:de},a(e.$t("issue.next"))+" → ",9,ht)),s(B)?C("",!0):(r(),n("button",{key:1,class:"btn btn-danger",onClick:me},a(e.$t("issue.archive")),1)),s(B)?(r(),n("span",ft," ✓ "+a(e.$t("issue.done")),1)):C("",!0)])]),t("aside",yt,[t("div",gt,[t("h3",null,a(e.$t("issue.actions")),1),t("div",bt,[t("button",{class:"btn btn-secondary",onClick:ve},a(e.$t("issue.move")),1)])]),t("div",$t,[t("h3",null,a(e.$t("issue.details")),1),t("dl",kt,[t("div",Ct,[t("dt",null,a(e.$t("issue.status")),1),t("dd",null,a(s(z)),1)]),t("div",wt,[t("dt",null,a(e.$t("issue.created")),1),t("dd",null,a(j(s(i)?.created_at)),1)]),t("div",Et,[t("dt",null,a(e.$t("issue.updated")),1),t("dd",null,a(j(s(i)?.updated_at)),1)])])]),s(i)?.parent_key?(r(),n("div",Dt,[t("h3",null,a(e.$t("issue.parent")),1),K(J,{to:`/issue/${s(i).parent_key}`,class:"parent-link"},{default:Ce(()=>[Q(a(s(i).parent_key),1)]),_:1},8,["to"])])):C("",!0)])]),s(D)?(r(),n("div",{key:0,class:"modal-overlay active",onClick:o[7]||(o[7]=we(l=>D.value=!1,["self"]))},[t("div",Mt,[t("div",Pt,[t("h3",St,a(e.$t("issue.move")),1),t("button",{class:"modal-close",onClick:o[4]||(o[4]=l=>D.value=!1)},"×")]),t("div",Tt,[T(t("select",{"onUpdate:modelValue":o[5]||(o[5]=l=>A(M)?M.value=l:null),class:"form-input"},[(r(!0),n(L,null,H(s(b),l=>(r(),n("option",{key:l.slug,value:l.slug},a(l.name),9,Vt))),128))],512),[[W,s(M)]])]),t("div",Nt,[t("button",{class:"btn btn-secondary",onClick:o[6]||(o[6]=l=>D.value=!1)},a(e.$t("modal.cancel")),1),t("button",{class:"btn btn-primary",onClick:pe},a(e.$t("modal.confirm")),1)])])])):C("",!0)])}}}),Rt=Ee(At,[["__scopeId","data-v-07b1c9a3"]]);export{Rt as default};
@@ -1 +1 @@
1
- import{u as V}from"./p0o0xQ7S.js";import{r as y,o as T,A as N,d as B,u as H,v as j,l as b,s as P,c as e,e as s,t as n,j as _,h as l,g as v,F as f,p as S,b as a,_ as R}from"./BfvaD8zq.js";const L={CHANGELOG_LAST_SEEN:"autocode-changelog-lastSeen"};function U(){const u=y(null),c=y(!1);T(()=>{const o=localStorage.getItem(L.CHANGELOG_LAST_SEEN);o&&(u.value=o)});const i=o=>{u.value=o,localStorage.setItem(L.CHANGELOG_LAST_SEEN,o),c.value=!1},d=o=>u.value?u.value!==o?(c.value=!0,!0):!1:(i(o),!1);return{lastSeenVersion:N(u),hasNewChanges:N(c),markAsSeen:i,checkForUpdates:d}}const q={class:"changelog-page"},K={class:"page-header"},M={class:"summary-section"},Y={key:1,class:"summary-loading"},x={key:2,class:"summary-banner"},z={class:"summary-text"},J={key:0,class:"loading"},Q={key:1,class:"error-message"},W={key:2,class:"empty"},X={key:3,class:"changelog-list"},Z={class:"entry-header"},ee={class:"entry-version"},ae={key:0,class:"badge badge-success"},se={class:"entry-date"},te={class:"entry-content"},ne=B({__name:"changelog",async setup(u){let c,i;const{locale:d}=H(),{data:o,status:w,error:k}=([c,i]=j(()=>V("/api/changelog",{query:{lang:d.value}},"$j1EO-12DBP")),c=await c,i(),c),C=b(()=>o.value?.data?.entries||[]),E=b(()=>o.value?.data?.topTag||""),{lastSeenVersion:A,markAsSeen:$}=U(),h=y(null),g=y(!1);async function G(){g.value=!0;const t=localStorage.getItem("autocode-changelog-seen");try{const r=await $fetch("/api/changelog/summary",{method:"POST",body:{lang:d.value,lastSeenTag:t}});r?.data?.summary&&(h.value=r.data.summary)}catch{}finally{g.value=!1}}const O=t=>A.value?t>A.value:!1;T(()=>{E.value&&$(E.value)});const D=t=>new Date(t).toLocaleDateString(d.value==="fr"?"fr-FR":"en-US",{year:"numeric",month:"long",day:"numeric"});return P({title:"Changelog - AutoCode"}),(t,r)=>(a(),e("div",q,[s("header",K,[s("h1",null,n(t.$t("changelog.title")),1)]),s("div",M,[!l(h)&&!l(g)?(a(),e("button",{key:0,class:"btn btn-secondary summary-btn",onClick:G},[r[0]||(r[0]=s("span",{class:"btn-icon"},"✨",-1)),v(" "+n(t.$t("changelog.generateSummary")),1)])):_("",!0),l(g)?(a(),e("div",Y,[r[1]||(r[1]=s("span",{class:"spinner"},null,-1)),v(" "+n(t.$t("changelog.generatingSummary")),1)])):_("",!0),l(h)&&!l(g)?(a(),e("div",x,[r[2]||(r[2]=s("div",{class:"summary-icon"},[s("span",{class:"icon"},"✨")],-1)),s("p",z,n(l(h)),1)])):_("",!0)]),l(w)==="pending"?(a(),e("div",J,n(t.$t("app.loading")),1)):l(k)?(a(),e("div",Q,n(l(k).message),1)):l(C)?.length?(a(),e("div",X,[(a(!0),e(f,null,S(l(C),m=>(a(),e("article",{key:m.tag,class:"changelog-entry card"},[s("header",Z,[s("h2",ee,[v(n(m.tag)+" ",1),O(m.tag)?(a(),e("span",ae,n(t.$t("changelog.new")),1)):_("",!0)]),s("time",se,n(D(m.date)),1)]),s("div",te,[(a(!0),e(f,null,S(m.sections,p=>(a(),e("div",{key:p.title,class:"entry-section"},[s("h3",null,n(p.title),1),s("ul",null,[(a(!0),e(f,null,S(p.items,(F,I)=>(a(),e("li",{key:I},n(F),1))),128))])]))),128))])]))),128))])):(a(),e("div",W,n(t.$t("changelog.noChanges")),1))]))}}),re=R(ne,[["__scopeId","data-v-03a0ef3e"]]);export{re as default};
1
+ import{u as V}from"./CrRHcnKi.js";import{r as y,o as T,A as N,d as B,u as H,v as j,l as b,s as P,c as e,e as s,t as n,j as _,h as l,g as v,F as f,p as S,b as a,_ as R}from"./DSCi2X5i.js";const L={CHANGELOG_LAST_SEEN:"autocode-changelog-lastSeen"};function U(){const u=y(null),c=y(!1);T(()=>{const o=localStorage.getItem(L.CHANGELOG_LAST_SEEN);o&&(u.value=o)});const i=o=>{u.value=o,localStorage.setItem(L.CHANGELOG_LAST_SEEN,o),c.value=!1},d=o=>u.value?u.value!==o?(c.value=!0,!0):!1:(i(o),!1);return{lastSeenVersion:N(u),hasNewChanges:N(c),markAsSeen:i,checkForUpdates:d}}const q={class:"changelog-page"},K={class:"page-header"},M={class:"summary-section"},Y={key:1,class:"summary-loading"},x={key:2,class:"summary-banner"},z={class:"summary-text"},J={key:0,class:"loading"},Q={key:1,class:"error-message"},W={key:2,class:"empty"},X={key:3,class:"changelog-list"},Z={class:"entry-header"},ee={class:"entry-version"},ae={key:0,class:"badge badge-success"},se={class:"entry-date"},te={class:"entry-content"},ne=B({__name:"changelog",async setup(u){let c,i;const{locale:d}=H(),{data:o,status:w,error:k}=([c,i]=j(()=>V("/api/changelog",{query:{lang:d.value}},"$j1EO-12DBP")),c=await c,i(),c),C=b(()=>o.value?.data?.entries||[]),E=b(()=>o.value?.data?.topTag||""),{lastSeenVersion:A,markAsSeen:$}=U(),h=y(null),g=y(!1);async function G(){g.value=!0;const t=localStorage.getItem("autocode-changelog-seen");try{const r=await $fetch("/api/changelog/summary",{method:"POST",body:{lang:d.value,lastSeenTag:t}});r?.data?.summary&&(h.value=r.data.summary)}catch{}finally{g.value=!1}}const O=t=>A.value?t>A.value:!1;T(()=>{E.value&&$(E.value)});const D=t=>new Date(t).toLocaleDateString(d.value==="fr"?"fr-FR":"en-US",{year:"numeric",month:"long",day:"numeric"});return P({title:"Changelog - AutoCode"}),(t,r)=>(a(),e("div",q,[s("header",K,[s("h1",null,n(t.$t("changelog.title")),1)]),s("div",M,[!l(h)&&!l(g)?(a(),e("button",{key:0,class:"btn btn-secondary summary-btn",onClick:G},[r[0]||(r[0]=s("span",{class:"btn-icon"},"✨",-1)),v(" "+n(t.$t("changelog.generateSummary")),1)])):_("",!0),l(g)?(a(),e("div",Y,[r[1]||(r[1]=s("span",{class:"spinner"},null,-1)),v(" "+n(t.$t("changelog.generatingSummary")),1)])):_("",!0),l(h)&&!l(g)?(a(),e("div",x,[r[2]||(r[2]=s("div",{class:"summary-icon"},[s("span",{class:"icon"},"✨")],-1)),s("p",z,n(l(h)),1)])):_("",!0)]),l(w)==="pending"?(a(),e("div",J,n(t.$t("app.loading")),1)):l(k)?(a(),e("div",Q,n(l(k).message),1)):l(C)?.length?(a(),e("div",X,[(a(!0),e(f,null,S(l(C),m=>(a(),e("article",{key:m.tag,class:"changelog-entry card"},[s("header",Z,[s("h2",ee,[v(n(m.tag)+" ",1),O(m.tag)?(a(),e("span",ae,n(t.$t("changelog.new")),1)):_("",!0)]),s("time",se,n(D(m.date)),1)]),s("div",te,[(a(!0),e(f,null,S(m.sections,p=>(a(),e("div",{key:p.title,class:"entry-section"},[s("h3",null,n(p.title),1),s("ul",null,[(a(!0),e(f,null,S(p.items,(F,I)=>(a(),e("li",{key:I},n(F),1))),128))])]))),128))])]))),128))])):(a(),e("div",W,n(t.$t("changelog.noChanges")),1))]))}}),re=R(ne,[["__scopeId","data-v-03a0ef3e"]]);export{re as default};
@@ -1 +1 @@
1
- import{_ as C}from"./jYOQFUDH.js";import{_ as T}from"./BhrZFGnk.js";import{d as x,G as F,v as h,l as I,s as L,c as a,f as v,e as n,h as e,j as V,t,F as D,p as B,w as H,b as i,q as S,g as X,_ as A}from"./BfvaD8zq.js";import{u as y}from"./p0o0xQ7S.js";const E={class:"terminal-page"},R={class:"card"},j={class:"section-header"},q={class:"session-badge"},z={key:0,class:"column-badge"},G={key:0,class:"loading"},J={key:1,class:"error-message"},O={key:2,class:"empty"},W={key:3,class:"terminal-content"},Y={class:"log-time"},K={class:"log-level"},M={class:"log-message"},P={class:"actions"},Q=x({__name:"terminal",async setup(U){let o,c;const p=F(),l=p.params.id,u=p.params.sessionId,{data:r}=([o,c]=h(()=>y(`/api/issues/${l}`,"$WXwXsy2rDm")),o=await o,c(),o),f=I(()=>{if(!r.value)return null;const s={id:r.value.key,title:r.value.title,column:r.value.column_slug};return r.value.priority&&(s.priority=r.value.priority),s}),{data:d,status:$,error:g}=([o,c]=h(()=>y(`/api/issues/${l}/history/${u}/log`,"$7VJyO-YXL0")),o=await o,c(),o),k=s=>{const m=new Date(s);return isNaN(m.getTime())?s:m.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",second:"2-digit"})};return L({title:`Terminal ${u} - ${l} - AutoCode`}),(s,m)=>{const w=C,b=T;return i(),a("div",E,[v(w,{issue:e(f),"active-tab":"history"},null,8,["issue"]),n("div",R,[n("div",j,[n("h2",null,t(s.$t("history.viewTerminal")),1),n("span",q,t(e(u)),1),e(d)?.column?(i(),a("span",z,t(e(d).column),1)):V("",!0)]),e($)==="pending"?(i(),a("div",G,t(s.$t("app.loading")),1)):e(g)?(i(),a("div",J,t(e(g).message),1)):e(d)?.logs?.length?(i(),a("div",W,[(i(!0),a(D,null,B(e(d).logs,(_,N)=>(i(),a("div",{key:N,class:S(["log-entry",`log-${_.level}`])},[n("span",Y,t(k(_.timestamp)),1),n("span",K,t(_.level),1),n("span",M,t(_.message),1)],2))),128))])):(i(),a("div",O,t(s.$t("terminal.noLogs")),1))]),n("div",P,[v(b,{to:`/issue/${e(l)}/history`,class:"btn-secondary"},{default:H(()=>[X(t(s.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),os=A(Q,[["__scopeId","data-v-608b488c"]]);export{os as default};
1
+ import{_ as C}from"./CWlxiWg5.js";import{_ as T}from"./CoH6AHzq.js";import{d as x,G as F,v as h,l as I,s as L,c as a,f as v,e as n,h as e,j as V,t,F as D,p as B,w as H,b as i,q as S,g as X,_ as A}from"./DSCi2X5i.js";import{u as y}from"./CrRHcnKi.js";const E={class:"terminal-page"},R={class:"card"},j={class:"section-header"},q={class:"session-badge"},z={key:0,class:"column-badge"},G={key:0,class:"loading"},J={key:1,class:"error-message"},O={key:2,class:"empty"},W={key:3,class:"terminal-content"},Y={class:"log-time"},K={class:"log-level"},M={class:"log-message"},P={class:"actions"},Q=x({__name:"terminal",async setup(U){let o,c;const p=F(),l=p.params.id,u=p.params.sessionId,{data:r}=([o,c]=h(()=>y(`/api/issues/${l}`,"$WXwXsy2rDm")),o=await o,c(),o),f=I(()=>{if(!r.value)return null;const s={id:r.value.key,title:r.value.title,column:r.value.column_slug};return r.value.priority&&(s.priority=r.value.priority),s}),{data:d,status:$,error:g}=([o,c]=h(()=>y(`/api/issues/${l}/history/${u}/log`,"$7VJyO-YXL0")),o=await o,c(),o),k=s=>{const m=new Date(s);return isNaN(m.getTime())?s:m.toLocaleTimeString("fr-FR",{hour:"2-digit",minute:"2-digit",second:"2-digit"})};return L({title:`Terminal ${u} - ${l} - AutoCode`}),(s,m)=>{const w=C,b=T;return i(),a("div",E,[v(w,{issue:e(f),"active-tab":"history"},null,8,["issue"]),n("div",R,[n("div",j,[n("h2",null,t(s.$t("history.viewTerminal")),1),n("span",q,t(e(u)),1),e(d)?.column?(i(),a("span",z,t(e(d).column),1)):V("",!0)]),e($)==="pending"?(i(),a("div",G,t(s.$t("app.loading")),1)):e(g)?(i(),a("div",J,t(e(g).message),1)):e(d)?.logs?.length?(i(),a("div",W,[(i(!0),a(D,null,B(e(d).logs,(_,N)=>(i(),a("div",{key:N,class:S(["log-entry",`log-${_.level}`])},[n("span",Y,t(k(_.timestamp)),1),n("span",K,t(_.level),1),n("span",M,t(_.message),1)],2))),128))])):(i(),a("div",O,t(s.$t("terminal.noLogs")),1))]),n("div",P,[v(b,{to:`/issue/${e(l)}/history`,class:"btn-secondary"},{default:H(()=>[X(t(s.$t("nav.back")),1)]),_:1},8,["to"])])])}}}),os=A(Q,[["__scopeId","data-v-608b488c"]]);export{os as default};
@@ -1 +1 @@
1
- import{_ as it}from"./BhrZFGnk.js";import{d as st,x as ot,r as g,u as rt,B as N,v as at,l as U,s as nt,c as l,e,f as X,w as E,t as r,j as $,g as h,C as v,D as k,h as o,q as V,E as lt,F as D,p as S,z as T,b as c,_ as ct}from"./BfvaD8zq.js";import{u as pt}from"./BarhsfnG.js";import{u as dt}from"./Bz9WwRWr.js";import{u as ut}from"./p0o0xQ7S.js";const mt=()=>({validateTitle:p=>p.trim()?p.length>200?"Title too long (max 200 characters)":null:"Title is required",validateDescription:p=>p.trim()?null:"Description is required",validateKey:p=>/^AC-\d{6}$/.test(p)?null:"Invalid issue key format (AC-XXXXXX)",validateFile:p=>{const F=["image/png","image/jpeg","image/gif","image/webp","application/pdf","text/plain","text/markdown","application/json","application/xml"];return p.size>10485760?"File too large (max 10MB)":F.includes(p.type)?null:"File type not allowed"}}),ft={class:"new-issue-page"},ht={class:"page-header"},vt={class:"form-group"},_t={class:"form-label",for:"title"},yt={class:"title-row"},bt=["disabled","title"],gt={key:0,class:"spinner"},$t={key:1,class:"sparkle"},kt={key:0,class:"error-text"},Ct={class:"form-group"},wt={class:"form-label",for:"description"},Ft={class:"form-hint"},It={key:0,class:"error-text"},Vt={class:"form-row"},Dt={class:"form-group"},St={class:"form-label",for:"priority"},Tt={value:""},At={value:"low"},Bt={value:"medium"},zt={value:"high"},Pt={value:"critical"},qt={class:"form-group"},Mt={class:"form-label",for:"parent"},Nt=["placeholder"],Ut={id:"parent-suggestions"},Xt=["value"],Et={class:"form-group"},jt={class:"form-label"},Kt={class:"criteria-list"},Lt=["onUpdate:modelValue","placeholder"],Ot=["onClick"],Rt={class:"form-group"},Ht={class:"form-label"},Gt={key:0,class:"attachments-list"},Jt={class:"file-name"},Qt={class:"file-size"},Wt=["onClick"],Yt={key:1,class:"error-text"},Zt={class:"form-actions"},xt=["disabled"],te=st({__name:"new",async setup(j){let f,C;const A=ot(),{success:p,error:w}=pt(),{validateTitle:F,validateDescription:K,validateFile:L}=mt(),{getErrorMessage:B}=dt(),z=g(null),_=g(!1),y=g(!1),m=g(!1),{locale:O,t:P}=rt(),s=N({title:"",description:"",priority:"",parent:"",acceptanceCriteria:[""],attachments:[]}),n=N({title:"",description:"",attachments:""}),{data:R}=([f,C]=at(()=>ut("/api/issues","$PR1V20I2qI")),f=await f,C(),f),H=U(()=>(R.value||[]).slice(0,10)),q=U(()=>s.title.trim()&&s.description.trim()&&!n.attachments),b=t=>{t==="title"?n.title=F(s.title)||"":t==="description"&&(n.description=K(s.description)||"")},G=async()=>{if(!(!s.title.trim()||m.value)){m.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:s.title,lang:O.value,description:s.description||void 0,priority:s.priority||void 0,acceptance_criteria:t.length>0?t:void 0,parent_key:s.parent||void 0}});if(i.description&&(s.description=i.description),i.priority){const d={P0:"critical",P1:"high",P2:"medium",P3:"low"};s.priority=d[i.priority]||i.priority}i.acceptance_criteria&&Array.isArray(i.acceptance_criteria)&&(s.acceptanceCriteria=i.acceptance_criteria.length>0?i.acceptance_criteria:[""]),p(P("autocomplete.rememberSave"))}catch(t){w(B(t,P("autocomplete.error")))}finally{m.value=!1}}},J=()=>{s.acceptanceCriteria.push("")},Q=t=>{s.acceptanceCriteria.splice(t,1)},W=()=>{z.value?.click()},Y=t=>{const i=t.target;i.files&&M(Array.from(i.files))},Z=t=>{_.value=!1,t.dataTransfer?.files&&M(Array.from(t.dataTransfer.files))},M=t=>{n.attachments="";for(const i of t){const d=L(i);if(d){n.attachments=d;return}s.attachments.push(i)}},x=t=>{s.attachments.splice(t,1),n.attachments=""},tt=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,et=async()=>{if(q.value&&(b("title"),b("description"),!(n.title||n.description))){y.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues",{method:"POST",body:{title:s.title,description:s.description,priority:s.priority||void 0,parent_key:s.parent||void 0,acceptance_criteria:t.length>0?t:void 0}});p("Issue created"),A.push(`/issue/${i.key}`)}catch(t){w(B(t,"Failed to create issue"))}finally{y.value=!1}}};return nt({title:"New Issue - AutoCode"}),(t,i)=>{const d=it;return c(),l("div",ft,[e("header",ht,[X(d,{to:"/kanban",class:"back-link"},{default:E(()=>[h(" ← "+r(t.$t("nav.kanban")),1)]),_:1}),e("h1",null,r(t.$t("nav.newIssue")),1)]),e("form",{class:"issue-form card",onSubmit:T(et,["prevent"])},[e("div",vt,[e("label",_t,[h(r(t.$t("issue.title"))+" ",1),i[8]||(i[8]=e("span",{class:"required"},"*",-1))]),e("div",yt,[v(e("input",{id:"title","onUpdate:modelValue":i[0]||(i[0]=a=>o(s).title=a),type:"text",class:V(["form-input",{"has-error":o(n).title}]),required:"",onBlur:i[1]||(i[1]=a=>b("title"))},null,34),[[k,o(s).title]]),e("button",{type:"button",class:"btn-autocomplete",disabled:o(m)||!o(s).title.trim(),title:t.$t("autocomplete.tooltip"),onClick:G},[o(m)?(c(),l("span",gt)):(c(),l("span",$t,"✨")),h(" "+r(o(m)?t.$t("autocomplete.loading"):t.$t("autocomplete.button")),1)],8,bt)]),o(n).title?(c(),l("span",kt,r(o(n).title),1)):$("",!0)]),e("div",Ct,[e("label",wt,[h(r(t.$t("issue.description"))+" ",1),i[9]||(i[9]=e("span",{class:"required"},"*",-1))]),v(e("textarea",{id:"description","onUpdate:modelValue":i[2]||(i[2]=a=>o(s).description=a),class:V(["form-input",{"has-error":o(n).description}]),rows:"8",required:"",onBlur:i[3]||(i[3]=a=>b("description"))},null,34),[[k,o(s).description]]),e("p",Ft,r(t.$t("form.markdownSupported")),1),o(n).description?(c(),l("span",It,r(o(n).description),1)):$("",!0)]),e("div",Vt,[e("div",Dt,[e("label",St,r(t.$t("issue.priority")),1),v(e("select",{id:"priority","onUpdate:modelValue":i[4]||(i[4]=a=>o(s).priority=a),class:"form-input"},[e("option",Tt,r(t.$t("form.select")),1),e("option",At,r(t.$t("priority.low")),1),e("option",Bt,r(t.$t("priority.medium")),1),e("option",zt,r(t.$t("priority.high")),1),e("option",Pt,r(t.$t("priority.critical")),1)],512),[[lt,o(s).priority]])]),e("div",qt,[e("label",Mt,r(t.$t("issue.parent")),1),v(e("input",{id:"parent","onUpdate:modelValue":i[5]||(i[5]=a=>o(s).parent=a),type:"text",class:"form-input",placeholder:t.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Nt),[[k,o(s).parent]]),e("datalist",Ut,[(c(!0),l(D,null,S(o(H),a=>(c(),l("option",{key:a.key,value:a.key},r(a.title),9,Xt))),128))])])]),e("div",Et,[e("label",jt,r(t.$t("issue.acceptanceCriteria")),1),e("div",Kt,[(c(!0),l(D,null,S(o(s).acceptanceCriteria,(a,u)=>(c(),l("div",{key:u,class:"criteria-item"},[v(e("input",{"onUpdate:modelValue":I=>o(s).acceptanceCriteria[u]=I,type:"text",class:"form-input",placeholder:t.$t("form.criteriaPlaceholder")},null,8,Lt),[[k,o(s).acceptanceCriteria[u]]]),e("button",{type:"button",class:"btn-icon",onClick:I=>Q(u)},"×",8,Ot)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:J}," + "+r(t.$t("form.addCriteria")),1)])]),e("div",Rt,[e("label",Ht,r(t.$t("issue.attachments")),1),e("div",{class:V(["dropzone",{dragover:o(_)}]),onDragover:i[6]||(i[6]=T(a=>_.value=!0,["prevent"])),onDragleave:i[7]||(i[7]=a=>_.value=!1),onDrop:T(Z,["prevent"])},[e("input",{ref_key:"fileInput",ref:z,type:"file",multiple:"",class:"file-input",onChange:Y},null,544),e("p",null,r(t.$t("form.dropFiles")),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:W},r(t.$t("form.browse")),1)],34),o(s).attachments.length?(c(),l("ul",Gt,[(c(!0),l(D,null,S(o(s).attachments,(a,u)=>(c(),l("li",{key:u},[e("span",Jt,r(a.name),1),e("span",Qt,r(tt(a.size)),1),e("button",{type:"button",class:"btn-icon",onClick:I=>x(u)},"×",8,Wt)]))),128))])):$("",!0),o(n).attachments?(c(),l("span",Yt,r(o(n).attachments),1)):$("",!0)]),e("div",Zt,[X(d,{to:"/kanban",class:"btn btn-secondary"},{default:E(()=>[h(r(t.$t("form.cancel")),1)]),_:1}),e("button",{type:"submit",class:"btn btn-primary",disabled:o(y)||!o(q)},r(o(y)?t.$t("form.creating"):t.$t("form.create")),9,xt)])],32)])}}}),ae=ct(te,[["__scopeId","data-v-78563ddb"]]);export{ae as default};
1
+ import{_ as it}from"./CoH6AHzq.js";import{d as st,x as ot,r as g,u as rt,B as N,v as at,l as U,s as nt,c as l,e,f as X,w as E,t as r,j as $,g as h,C as v,D as k,h as o,q as V,E as lt,F as D,p as S,z as T,b as c,_ as ct}from"./DSCi2X5i.js";import{u as pt}from"./D7nf-00m.js";import{u as dt}from"./CGP_mwJK.js";import{u as ut}from"./CrRHcnKi.js";const mt=()=>({validateTitle:p=>p.trim()?p.length>200?"Title too long (max 200 characters)":null:"Title is required",validateDescription:p=>p.trim()?null:"Description is required",validateKey:p=>/^AC-\d{6}$/.test(p)?null:"Invalid issue key format (AC-XXXXXX)",validateFile:p=>{const F=["image/png","image/jpeg","image/gif","image/webp","application/pdf","text/plain","text/markdown","application/json","application/xml"];return p.size>10485760?"File too large (max 10MB)":F.includes(p.type)?null:"File type not allowed"}}),ft={class:"new-issue-page"},ht={class:"page-header"},vt={class:"form-group"},_t={class:"form-label",for:"title"},yt={class:"title-row"},bt=["disabled","title"],gt={key:0,class:"spinner"},$t={key:1,class:"sparkle"},kt={key:0,class:"error-text"},Ct={class:"form-group"},wt={class:"form-label",for:"description"},Ft={class:"form-hint"},It={key:0,class:"error-text"},Vt={class:"form-row"},Dt={class:"form-group"},St={class:"form-label",for:"priority"},Tt={value:""},At={value:"low"},Bt={value:"medium"},zt={value:"high"},Pt={value:"critical"},qt={class:"form-group"},Mt={class:"form-label",for:"parent"},Nt=["placeholder"],Ut={id:"parent-suggestions"},Xt=["value"],Et={class:"form-group"},jt={class:"form-label"},Kt={class:"criteria-list"},Lt=["onUpdate:modelValue","placeholder"],Ot=["onClick"],Rt={class:"form-group"},Ht={class:"form-label"},Gt={key:0,class:"attachments-list"},Jt={class:"file-name"},Qt={class:"file-size"},Wt=["onClick"],Yt={key:1,class:"error-text"},Zt={class:"form-actions"},xt=["disabled"],te=st({__name:"new",async setup(j){let f,C;const A=ot(),{success:p,error:w}=pt(),{validateTitle:F,validateDescription:K,validateFile:L}=mt(),{getErrorMessage:B}=dt(),z=g(null),_=g(!1),y=g(!1),m=g(!1),{locale:O,t:P}=rt(),s=N({title:"",description:"",priority:"",parent:"",acceptanceCriteria:[""],attachments:[]}),n=N({title:"",description:"",attachments:""}),{data:R}=([f,C]=at(()=>ut("/api/issues","$PR1V20I2qI")),f=await f,C(),f),H=U(()=>(R.value||[]).slice(0,10)),q=U(()=>s.title.trim()&&s.description.trim()&&!n.attachments),b=t=>{t==="title"?n.title=F(s.title)||"":t==="description"&&(n.description=K(s.description)||"")},G=async()=>{if(!(!s.title.trim()||m.value)){m.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues/autocomplete",{method:"POST",body:{title:s.title,lang:O.value,description:s.description||void 0,priority:s.priority||void 0,acceptance_criteria:t.length>0?t:void 0,parent_key:s.parent||void 0}});if(i.description&&(s.description=i.description),i.priority){const d={P0:"critical",P1:"high",P2:"medium",P3:"low"};s.priority=d[i.priority]||i.priority}i.acceptance_criteria&&Array.isArray(i.acceptance_criteria)&&(s.acceptanceCriteria=i.acceptance_criteria.length>0?i.acceptance_criteria:[""]),p(P("autocomplete.rememberSave"))}catch(t){w(B(t,P("autocomplete.error")))}finally{m.value=!1}}},J=()=>{s.acceptanceCriteria.push("")},Q=t=>{s.acceptanceCriteria.splice(t,1)},W=()=>{z.value?.click()},Y=t=>{const i=t.target;i.files&&M(Array.from(i.files))},Z=t=>{_.value=!1,t.dataTransfer?.files&&M(Array.from(t.dataTransfer.files))},M=t=>{n.attachments="";for(const i of t){const d=L(i);if(d){n.attachments=d;return}s.attachments.push(i)}},x=t=>{s.attachments.splice(t,1),n.attachments=""},tt=t=>t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`,et=async()=>{if(q.value&&(b("title"),b("description"),!(n.title||n.description))){y.value=!0;try{const t=s.acceptanceCriteria.filter(d=>d.trim()),i=await $fetch("/api/issues",{method:"POST",body:{title:s.title,description:s.description,priority:s.priority||void 0,parent_key:s.parent||void 0,acceptance_criteria:t.length>0?t:void 0}});p("Issue created"),A.push(`/issue/${i.key}`)}catch(t){w(B(t,"Failed to create issue"))}finally{y.value=!1}}};return nt({title:"New Issue - AutoCode"}),(t,i)=>{const d=it;return c(),l("div",ft,[e("header",ht,[X(d,{to:"/kanban",class:"back-link"},{default:E(()=>[h(" ← "+r(t.$t("nav.kanban")),1)]),_:1}),e("h1",null,r(t.$t("nav.newIssue")),1)]),e("form",{class:"issue-form card",onSubmit:T(et,["prevent"])},[e("div",vt,[e("label",_t,[h(r(t.$t("issue.title"))+" ",1),i[8]||(i[8]=e("span",{class:"required"},"*",-1))]),e("div",yt,[v(e("input",{id:"title","onUpdate:modelValue":i[0]||(i[0]=a=>o(s).title=a),type:"text",class:V(["form-input",{"has-error":o(n).title}]),required:"",onBlur:i[1]||(i[1]=a=>b("title"))},null,34),[[k,o(s).title]]),e("button",{type:"button",class:"btn-autocomplete",disabled:o(m)||!o(s).title.trim(),title:t.$t("autocomplete.tooltip"),onClick:G},[o(m)?(c(),l("span",gt)):(c(),l("span",$t,"✨")),h(" "+r(o(m)?t.$t("autocomplete.loading"):t.$t("autocomplete.button")),1)],8,bt)]),o(n).title?(c(),l("span",kt,r(o(n).title),1)):$("",!0)]),e("div",Ct,[e("label",wt,[h(r(t.$t("issue.description"))+" ",1),i[9]||(i[9]=e("span",{class:"required"},"*",-1))]),v(e("textarea",{id:"description","onUpdate:modelValue":i[2]||(i[2]=a=>o(s).description=a),class:V(["form-input",{"has-error":o(n).description}]),rows:"8",required:"",onBlur:i[3]||(i[3]=a=>b("description"))},null,34),[[k,o(s).description]]),e("p",Ft,r(t.$t("form.markdownSupported")),1),o(n).description?(c(),l("span",It,r(o(n).description),1)):$("",!0)]),e("div",Vt,[e("div",Dt,[e("label",St,r(t.$t("issue.priority")),1),v(e("select",{id:"priority","onUpdate:modelValue":i[4]||(i[4]=a=>o(s).priority=a),class:"form-input"},[e("option",Tt,r(t.$t("form.select")),1),e("option",At,r(t.$t("priority.low")),1),e("option",Bt,r(t.$t("priority.medium")),1),e("option",zt,r(t.$t("priority.high")),1),e("option",Pt,r(t.$t("priority.critical")),1)],512),[[lt,o(s).priority]])]),e("div",qt,[e("label",Mt,r(t.$t("issue.parent")),1),v(e("input",{id:"parent","onUpdate:modelValue":i[5]||(i[5]=a=>o(s).parent=a),type:"text",class:"form-input",placeholder:t.$t("form.parentPlaceholder"),list:"parent-suggestions"},null,8,Nt),[[k,o(s).parent]]),e("datalist",Ut,[(c(!0),l(D,null,S(o(H),a=>(c(),l("option",{key:a.key,value:a.key},r(a.title),9,Xt))),128))])])]),e("div",Et,[e("label",jt,r(t.$t("issue.acceptanceCriteria")),1),e("div",Kt,[(c(!0),l(D,null,S(o(s).acceptanceCriteria,(a,u)=>(c(),l("div",{key:u,class:"criteria-item"},[v(e("input",{"onUpdate:modelValue":I=>o(s).acceptanceCriteria[u]=I,type:"text",class:"form-input",placeholder:t.$t("form.criteriaPlaceholder")},null,8,Lt),[[k,o(s).acceptanceCriteria[u]]]),e("button",{type:"button",class:"btn-icon",onClick:I=>Q(u)},"×",8,Ot)]))),128)),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:J}," + "+r(t.$t("form.addCriteria")),1)])]),e("div",Rt,[e("label",Ht,r(t.$t("issue.attachments")),1),e("div",{class:V(["dropzone",{dragover:o(_)}]),onDragover:i[6]||(i[6]=T(a=>_.value=!0,["prevent"])),onDragleave:i[7]||(i[7]=a=>_.value=!1),onDrop:T(Z,["prevent"])},[e("input",{ref_key:"fileInput",ref:z,type:"file",multiple:"",class:"file-input",onChange:Y},null,544),e("p",null,r(t.$t("form.dropFiles")),1),e("button",{type:"button",class:"btn btn-secondary btn-sm",onClick:W},r(t.$t("form.browse")),1)],34),o(s).attachments.length?(c(),l("ul",Gt,[(c(!0),l(D,null,S(o(s).attachments,(a,u)=>(c(),l("li",{key:u},[e("span",Jt,r(a.name),1),e("span",Qt,r(tt(a.size)),1),e("button",{type:"button",class:"btn-icon",onClick:I=>x(u)},"×",8,Wt)]))),128))])):$("",!0),o(n).attachments?(c(),l("span",Yt,r(o(n).attachments),1)):$("",!0)]),e("div",Zt,[X(d,{to:"/kanban",class:"btn btn-secondary"},{default:E(()=>[h(r(t.$t("form.cancel")),1)]),_:1}),e("button",{type:"submit",class:"btn btn-primary",disabled:o(y)||!o(q)},r(o(y)?t.$t("form.creating"):t.$t("form.create")),9,xt)])],32)])}}}),ae=ct(te,[["__scopeId","data-v-78563ddb"]]);export{ae as default};
@@ -1 +1 @@
1
- import{_ as z}from"./jYOQFUDH.js";import{d as B,G as D,r as g,v as b,l as I,m as L,o as M,y as k,s as N,c as n,f as O,e as s,h as c,t,j as $,F as v,p as C,b as r,q as P,_ as j}from"./BfvaD8zq.js";import{u as S}from"./p0o0xQ7S.js";import{u as q}from"./vfCqvZ7p.js";import"./BhrZFGnk.js";const E={class:"issue-terminal-page"},G={class:"terminal-content card"},W={class:"terminal-header"},X={class:"terminal-actions"},J={key:0,class:"terminal-empty"},K={class:"section-header"},Q={class:"section-icon"},U={class:"section-column"},Y={class:"section-session"},Z={key:0,class:"log-time"},x={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>S(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),H=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>S(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=q();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),A=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const F=z;return r(),n("div",E,[O(F,{issue:c(H),"active-tab":"terminal"},null,8,["issue"]),s("div",G,[s("div",W,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",X,[s("button",{class:"btn btn-secondary btn-sm",onClick:A},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",J,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",K,[s("span",Q,t(V(p)),1),s("span",U,t(_.column),1),s("span",Y,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,R)=>(r(),n("div",{key:`${p}-${R}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Z,t(w(d.timestamp)),1)):$("",!0),s("span",x,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=j(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};
1
+ import{_ as z}from"./CWlxiWg5.js";import{d as B,G as D,r as g,v as b,l as I,m as L,o as M,y as k,s as N,c as n,f as O,e as s,h as c,t,j as $,F as v,p as C,b as r,q as P,_ as j}from"./DSCi2X5i.js";import{u as S}from"./CrRHcnKi.js";import{u as q}from"./4_elwE_e.js";import"./CoH6AHzq.js";const E={class:"issue-terminal-page"},G={class:"terminal-content card"},W={class:"terminal-header"},X={class:"terminal-actions"},J={key:0,class:"terminal-empty"},K={class:"section-header"},Q={class:"section-icon"},U={class:"section-column"},Y={class:"section-session"},Z={key:0,class:"log-time"},x={class:"log-message"},ee=B({__name:"terminal",async setup(se){let a,u;const m=D().params.id,o=g(null),i=g(!0),{data:l}=([a,u]=b(()=>S(`/api/issues/${m}`,"$s3Vbd9k-VO")),a=await a,u(),a),H=I(()=>{if(!l.value)return null;const e={id:l.value.key,title:l.value.title,column:l.value.column_slug};return l.value.priority&&(e.priority=l.value.priority),e}),{data:f,refresh:h}=([a,u]=b(()=>S(`/api/issues/${m}/full-terminal`,"$XMztO43Pyz")),a=await a,u(),a),{lastMessage:T}=q();L(T,e=>{e?.type==="claude_end"&&e.issue===m&&h(),i.value&&k(()=>{o.value&&(o.value.scrollTop=o.value.scrollHeight)})}),M(()=>{k(()=>{o.value&&i.value&&(o.value.scrollTop=o.value.scrollHeight)})});const w=e=>{if(!e)return"";try{return new Date(e).toLocaleTimeString()}catch{return e}},V=e=>e===0?"1":String(e+1),A=()=>{i.value=!i.value};return N({title:`Terminal - ${m} - AutoCode`}),(e,y)=>{const F=z;return r(),n("div",E,[O(F,{issue:c(H),"active-tab":"terminal"},null,8,["issue"]),s("div",G,[s("div",W,[s("h2",null,t(e.$t("issue.terminal"))+" ("+t(e.$t("terminal.fullHistory"))+")",1),s("div",X,[s("button",{class:"btn btn-secondary btn-sm",onClick:A},t(c(i)?"Pause":"Resume")+" Auto-scroll ",1),s("button",{class:"btn btn-secondary btn-sm",onClick:y[0]||(y[0]=()=>c(h)())},t(e.$t("btn.refresh")),1)])]),s("div",{ref_key:"terminalRef",ref:o,class:"terminal-output"},[c(f)?.logFiles?.length?$("",!0):(r(),n("div",J,t(e.$t("terminal.noLogs")),1)),(r(!0),n(v,null,C(c(f)?.logFiles,(_,p)=>(r(),n(v,{key:p},[s("div",K,[s("span",Q,t(V(p)),1),s("span",U,t(_.column),1),s("span",Y,t(_.sessionId),1)]),(r(!0),n(v,null,C(_.logs,(d,R)=>(r(),n("div",{key:`${p}-${R}`,class:P(["log-line",`log-${d.level}`])},[d.timestamp?(r(),n("span",Z,t(w(d.timestamp)),1)):$("",!0),s("span",x,t(d.message),1)],2))),128))],64))),128))],512)])])}}}),ie=j(ee,[["__scopeId","data-v-3b499d2c"]]);export{ie as default};
@@ -1 +1 @@
1
- {"id":"fda5642b-b71a-476c-9e0f-eb15a462e2fe","timestamp":1767720235481}
1
+ {"id":"bd0344c0-8dae-4d94-bdab-994f482d9624","timestamp":1767735438320}
@@ -0,0 +1 @@
1
+ {"id":"bd0344c0-8dae-4d94-bdab-994f482d9624","timestamp":1767735438320,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":["/"]}